diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/CPack/cmCPackGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/CPack/cmCPackGenerator.h | 12 | ||||
-rw-r--r-- | Source/CPack/cpack.cxx | 24 | ||||
-rw-r--r-- | Source/CursesDialog/ccmake.cxx | 1 | ||||
-rw-r--r-- | Source/QtDialog/CMakeSetup.cxx | 1 | ||||
-rw-r--r-- | Source/cmSystemTools.cxx | 17 | ||||
-rw-r--r-- | Source/cmSystemTools.h | 4 | ||||
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/cmakemain.cxx | 17 | ||||
-rw-r--r-- | Source/ctest.cxx | 1 |
11 files changed, 63 insertions, 20 deletions
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 2bd81d1..bab642b 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 10) -set(CMake_VERSION_PATCH 20180123) +set(CMake_VERSION_PATCH 20180124) #set(CMake_VERSION_RC 1) diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index ea0e899..69e53e1 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -637,6 +637,8 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cm.GetCurrentSnapshot().SetDefaultDefinitions(); cm.AddCMakePaths(); cm.SetProgressCallback(cmCPackGeneratorProgress, this); + cm.SetTrace(this->Trace); + cm.SetTraceExpand(this->TraceExpand); cmGlobalGenerator gg(&cm); cmMakefile mf(&gg, cm.GetCurrentSnapshot()); if (!installSubDirectory.empty() && installSubDirectory != "/" && diff --git a/Source/CPack/cmCPackGenerator.h b/Source/CPack/cmCPackGenerator.h index 8100b66..c22f36b 100644 --- a/Source/CPack/cmCPackGenerator.h +++ b/Source/CPack/cmCPackGenerator.h @@ -36,6 +36,16 @@ public: } /** + * Put underlying cmake scripts in trace mode. + */ + void SetTrace(bool val) { this->Trace = val; } + + /** + * Put underlying cmake scripts in expanded trace mode. + */ + void SetTraceExpand(bool val) { this->TraceExpand = val; } + + /** * Returns true if the generator may work on this system. * Rational: * Some CPack generator may run on some host and may not on others @@ -295,6 +305,8 @@ protected: ComponentPackageMethod componentPackageMethod; cmCPackLog* Logger; + bool Trace; + bool TraceExpand; private: cmMakefile* MakefileMap; diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index addb54e..2b2152c 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -43,6 +43,8 @@ static const char* cmDocumentationOptions[][2] = { { "-D <var>=<value>", "Set a CPack variable." }, { "--config <config file>", "Specify the config file." }, { "--verbose,-V", "enable verbose output" }, + { "--trace", "Put underlying cmake scripts in trace mode." }, + { "--trace-expand", "Put underlying cmake scripts in expanded trace mode." }, { "--debug", "enable debug output (for CPack developers)" }, { "-P <package name>", "override/define CPACK_PACKAGE_NAME" }, { "-R <package version>", "override/define CPACK_PACKAGE_VERSION" }, @@ -98,6 +100,8 @@ int main(int argc, char const* const* argv) argc = args.argc(); argv = args.argv(); + cmSystemTools::EnableMSVCDebugHook(); + cmSystemTools::InitializeLibUV(); cmSystemTools::FindCMakeResources(argv[0]); cmCPackLog log; @@ -106,8 +110,6 @@ int main(int argc, char const* const* argv) log.SetOutputPrefix("CPack: "); log.SetVerbosePrefix("CPack Verbose: "); - cmSystemTools::EnableMSVCDebugHook(); - if (cmSystemTools::GetCurrentWorkingDirectory().empty()) { cmCPack_Log(&log, cmCPackLog::LOG_ERROR, "Current working directory cannot be established." @@ -119,6 +121,8 @@ int main(int argc, char const* const* argv) bool help = false; bool helpVersion = false; bool verbose = false; + bool trace = false; + bool traceExpand = false; bool debug = false; std::string helpFull; std::string helpMAN; @@ -154,6 +158,10 @@ int main(int argc, char const* const* argv) arg.AddArgument("--debug", argT::NO_ARGUMENT, &debug, "-V"); arg.AddArgument("--config", argT::SPACE_ARGUMENT, &cpackConfigFile, "CPack configuration file"); + arg.AddArgument("--trace", argT::NO_ARGUMENT, &trace, + "Put underlying cmake scripts in trace mode."); + arg.AddArgument("--trace-expand", argT::NO_ARGUMENT, &traceExpand, + "Put underlying cmake scripts in expanded trace mode."); arg.AddArgument("-C", argT::SPACE_ARGUMENT, &cpackBuildConfig, "CPack build configuration"); arg.AddArgument("-G", argT::SPACE_ARGUMENT, &generator, "CPack generator"); @@ -197,6 +205,14 @@ int main(int argc, char const* const* argv) globalMF.AddDefinition("CMAKE_LEGACY_CYGWIN_WIN32", "0"); #endif + if (trace) { + cminst.SetTrace(true); + } + if (traceExpand) { + cminst.SetTrace(true); + cminst.SetTraceExpand(true); + } + bool cpackConfigFileSpecified = true; if (cpackConfigFile.empty()) { cpackConfigFile = cmSystemTools::GetCurrentWorkingDirectory(); @@ -340,6 +356,10 @@ int main(int argc, char const* const* argv) << std::endl); parsed = 0; } + + cpackGenerator->SetTrace(trace); + cpackGenerator->SetTraceExpand(traceExpand); + if (parsed && !cpackGenerator->Initialize(gen, mf)) { cmCPack_Log(&log, cmCPackLog::LOG_ERROR, "Cannot initialize the generator " << gen diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx index 97d5579..17cf628 100644 --- a/Source/CursesDialog/ccmake.cxx +++ b/Source/CursesDialog/ccmake.cxx @@ -75,6 +75,7 @@ int main(int argc, char const* const* argv) argc = encoding_args.argc(); argv = encoding_args.argv(); + cmSystemTools::InitializeLibUV(); cmSystemTools::FindCMakeResources(argv[0]); cmDocumentation doc; doc.addCMakeStandardDocSections(); diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx index bfd43cf..193f4d3 100644 --- a/Source/QtDialog/CMakeSetup.cxx +++ b/Source/QtDialog/CMakeSetup.cxx @@ -55,6 +55,7 @@ int main(int argc, char** argv) int argc2 = encoding_args.argc(); char const* const* argv2 = encoding_args.argv(); + cmSystemTools::InitializeLibUV(); cmSystemTools::FindCMakeResources(argv2[0]); // check docs first so that X is not need to get docs // do docs, if args were given diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index c321236..06b0b3c 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -51,6 +51,8 @@ // include wincrypt.h after windows.h #include <wincrypt.h> +#include <fcntl.h> /* _O_TEXT */ + #include "cm_uv.h" #else #include <sys/time.h> @@ -980,6 +982,21 @@ std::string cmSystemTools::GetRealPath(const std::string& path, } #endif +void cmSystemTools::InitializeLibUV() +{ +#if defined(_WIN32) + // Perform libuv one-time initialization now, and then un-do its + // global _fmode setting so that using libuv does not change the + // default file text/binary mode. See libuv issue 840. + uv_loop_close(uv_default_loop()); +#ifdef _MSC_VER + _set_fmode(_O_TEXT); +#else + _fmode = _O_TEXT; +#endif +#endif +} + bool cmSystemTools::RenameFile(const char* oldname, const char* newname) { #ifdef _WIN32 diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index d29ba56..25df1f1 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -503,6 +503,10 @@ public: static std::string GetRealPath(const std::string& path, std::string* errorMessage = 0); #endif + + /** Perform one-time initialization of libuv. */ + static void InitializeLibUV(); + private: static bool s_ForceUnixPaths; static bool s_RunCommandHideConsole; diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 1b09600..a511337 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -1992,7 +1992,7 @@ void cmVisualStudio10TargetGenerator::WriteAllSources() if (si.Kind == cmGeneratorTarget::SourceKindObjectSource) { // FIXME: refactor generation to avoid tracking XML syntax state. - this->WriteSource(tool, si.Source, " "); + this->WriteSource(tool, si.Source, ""); bool have_nested = this->OutputSourceSpecificFlags(si.Source); if (!exclude_configs.empty()) { if (!have_nested) { diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 59b908a..b185a1b 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -16,10 +16,6 @@ #include "cmDynamicLoader.h" #endif -#ifdef _WIN32 -#include <fcntl.h> /* _O_TEXT */ -#include <stdlib.h> /* _set_fmode, _fmode */ -#endif #include "cm_uv.h" #include "cmsys/Encoding.hxx" @@ -170,19 +166,8 @@ int main(int ac, char const* const* av) ac = args.argc(); av = args.argv(); -#if defined(_WIN32) - // Perform libuv one-time initialization now, and then un-do its - // global _fmode setting so that using libuv does not change the - // default file text/binary mode. See libuv issue 840. - uv_loop_close(uv_default_loop()); -#ifdef _MSC_VER - _set_fmode(_O_TEXT); -#else - _fmode = _O_TEXT; -#endif -#endif - cmSystemTools::EnableMSVCDebugHook(); + cmSystemTools::InitializeLibUV(); cmSystemTools::FindCMakeResources(av[0]); if (ac > 1) { if (strcmp(av[1], "--build") == 0) { diff --git a/Source/ctest.cxx b/Source/ctest.cxx index ad5fec0..0a6d1d2 100644 --- a/Source/ctest.cxx +++ b/Source/ctest.cxx @@ -137,6 +137,7 @@ int main(int argc, char const* const* argv) cmSystemTools::DoNotInheritStdPipes(); cmSystemTools::EnableMSVCDebugHook(); + cmSystemTools::InitializeLibUV(); cmSystemTools::FindCMakeResources(argv[0]); // Dispatch 'ctest --launch' mode directly. |