diff options
-rw-r--r-- | Help/release/dev/0-sample-topic.rst | 7 | ||||
-rw-r--r-- | Help/release/index.rst | 2 | ||||
-rw-r--r-- | Help/variable/CMAKE_NETRC.rst | 2 | ||||
-rw-r--r-- | Help/variable/CMAKE_NETRC_FILE.rst | 2 | ||||
-rw-r--r-- | Modules/Compiler/TI-CXX.cmake | 2 | ||||
-rw-r--r-- | Modules/FindImageMagick.cmake | 4 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 6 | ||||
-rw-r--r-- | Source/cmExportBuildAndroidMKGenerator.cxx | 28 | ||||
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 1 | ||||
-rw-r--r-- | Source/cmQtAutoGenInitializer.cxx | 46 | ||||
-rw-r--r-- | Tests/RunCMake/AndroidMK/AndroidMK.cmake | 2 | ||||
-rw-r--r-- | Utilities/Release/upload_release.cmake | 2 |
12 files changed, 39 insertions, 65 deletions
diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst deleted file mode 100644 index e4cc01e..0000000 --- a/Help/release/dev/0-sample-topic.rst +++ /dev/null @@ -1,7 +0,0 @@ -0-sample-topic --------------- - -* This is a sample release note for the change in a topic. - Developers should add similar notes for each topic branch - making a noteworthy change. Each document should be named - and titled to match the topic name to avoid merge conflicts. diff --git a/Help/release/index.rst b/Help/release/index.rst index 552922e..7375faf 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -7,8 +7,6 @@ CMake Release Notes This file should include the adjacent "dev.txt" file in development versions but not in release versions. -.. include:: dev.txt - Releases ======== diff --git a/Help/variable/CMAKE_NETRC.rst b/Help/variable/CMAKE_NETRC.rst index 52f857e..903ec31 100644 --- a/Help/variable/CMAKE_NETRC.rst +++ b/Help/variable/CMAKE_NETRC.rst @@ -2,7 +2,7 @@ CMAKE_NETRC ----------- This variable is used to initialize the ``NETRC`` option for -:command:`file(DOWNLOAD)` and :command:`file(DOWNLOAD)` commands and the +:command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands and the module :module:`ExternalProject`. See those commands for additional information. diff --git a/Help/variable/CMAKE_NETRC_FILE.rst b/Help/variable/CMAKE_NETRC_FILE.rst index 1508f1e..0f09afe 100644 --- a/Help/variable/CMAKE_NETRC_FILE.rst +++ b/Help/variable/CMAKE_NETRC_FILE.rst @@ -2,7 +2,7 @@ CMAKE_NETRC_FILE ---------------- This variable is used to initialize the ``NETRC_FILE`` option for -:command:`file(DOWNLOAD)` and :command:`file(DOWNLOAD)` commands and the +:command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands and the module :module:`ExternalProject`. See those commands for additional information. diff --git a/Modules/Compiler/TI-CXX.cmake b/Modules/Compiler/TI-CXX.cmake index 8b0069b..4c6af06 100644 --- a/Modules/Compiler/TI-CXX.cmake +++ b/Modules/Compiler/TI-CXX.cmake @@ -2,7 +2,7 @@ set(CMAKE_LIBRARY_PATH_FLAG "--search_path=") set(CMAKE_LINK_LIBRARY_FLAG "--library=") set(CMAKE_INCLUDE_FLAG_CXX "--include_path=") -set(CMAKE_DEPFILE_FLAGS_CCX "--preproc_with_compile --preproc_dependency=<DEPFILE>") +set(CMAKE_DEPFILE_FLAGS_CXX "--preproc_with_compile --preproc_dependency=<DEPFILE>") set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> --compile_only --skip_assembler --cpp_file=<SOURCE> <DEFINES> <INCLUDES> <FLAGS> --output_file=<ASSEMBLY_SOURCE>") set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> --preproc_only --cpp_file=<SOURCE> <DEFINES> <INCLUDES> <FLAGS> --output_file=<PREPROCESSED_SOURCE>") diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake index c16bbf2..881bff1 100644 --- a/Modules/FindImageMagick.cmake +++ b/Modules/FindImageMagick.cmake @@ -206,7 +206,7 @@ foreach(component ${ImageMagick_FIND_COMPONENTS} list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY) elseif(component STREQUAL "MagickWand") FIND_IMAGEMAGICK_API(MagickWand "wand/MagickWand.h;MagickWand/MagickWand.h" - Wand MagickWand CORE_RL_wand_ + Wand MagickWand CORE_RL_wand_ CORE_RL_MagickWand_ MagickWand-6 MagickWand-7 MagickWand-Q16 MagickWand-Q8 MagickWand-Q16HDRI MagickWand-Q8HDRI MagickWand-6.Q64 MagickWand-6.Q32 MagickWand-6.Q64HDRI MagickWand-6.Q32HDRI @@ -217,7 +217,7 @@ foreach(component ${ImageMagick_FIND_COMPONENTS} list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY) elseif(component STREQUAL "MagickCore") FIND_IMAGEMAGICK_API(MagickCore "magick/MagickCore.h;MagickCore/MagickCore.h" - Magick MagickCore CORE_RL_magick_ + Magick MagickCore CORE_RL_magick_ CORE_RL_MagickCore_ MagickCore-6 MagickCore-7 MagickCore-Q16 MagickCore-Q8 MagickCore-Q16HDRI MagickCore-Q8HDRI MagickCore-6.Q64 MagickCore-6.Q32 MagickCore-6.Q64HDRI MagickCore-6.Q32HDRI diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index a6e8503..8fd129a 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 20180205) -#set(CMake_VERSION_RC 1) +set(CMake_VERSION_MINOR 11) +set(CMake_VERSION_PATCH 0) +set(CMake_VERSION_RC 1) diff --git a/Source/cmExportBuildAndroidMKGenerator.cxx b/Source/cmExportBuildAndroidMKGenerator.cxx index 6f31a2d..817b5d9 100644 --- a/Source/cmExportBuildAndroidMKGenerator.cxx +++ b/Source/cmExportBuildAndroidMKGenerator.cxx @@ -8,6 +8,7 @@ #include <utility> #include "cmGeneratorExpression.h" +#include "cmGeneratorExpressionDAGChecker.h" #include "cmGeneratorTarget.h" #include "cmLinkItem.h" #include "cmLocalGenerator.h" @@ -101,12 +102,21 @@ void cmExportBuildAndroidMKGenerator::GenerateInterfaceProperties( os << "LOCAL_CPP_FEATURES += "; os << (property.second) << "\n"; } else if (property.first == "INTERFACE_LINK_LIBRARIES") { + // evaluate any generator expressions with the current + // build type of the makefile + cmGeneratorExpression ge; + cmGeneratorExpressionDAGChecker dagChecker( + target->GetName(), "INTERFACE_LINK_LIBRARIES", nullptr, nullptr); + std::unique_ptr<cmCompiledGeneratorExpression> cge = + ge.Parse(property.second); + std::string evaluated = cge->Evaluate( + target->GetLocalGenerator(), config, false, target, &dagChecker); // need to look at list in pi->second and see if static or shared // FindTargetToLink // target->GetLocalGenerator()->FindGeneratorTargetToUse() // then add to LOCAL_CPPFLAGS std::vector<std::string> libraries; - cmSystemTools::ExpandListArgument(property.second, libraries); + cmSystemTools::ExpandListArgument(evaluated, libraries); std::string staticLibs; std::string sharedLibs; std::string ldlibs; @@ -122,12 +132,6 @@ void cmExportBuildAndroidMKGenerator::GenerateInterfaceProperties( staticLibs += " " + lib; } } else { - // evaluate any generator expressions with the current - // build type of the makefile - cmGeneratorExpression ge; - std::unique_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(lib); - std::string evaluated = - cge->Evaluate(target->GetLocalGenerator(), config); bool relpath = false; if (type == cmExportBuildAndroidMKGenerator::INSTALL) { relpath = lib.substr(0, 3) == "../"; @@ -135,12 +139,12 @@ void cmExportBuildAndroidMKGenerator::GenerateInterfaceProperties( // check for full path or if it already has a -l, or // in the case of an install check for relative paths // if it is full or a link library then use string directly - if (cmSystemTools::FileIsFullPath(evaluated) || - evaluated.substr(0, 2) == "-l" || relpath) { - ldlibs += " " + evaluated; + if (cmSystemTools::FileIsFullPath(lib) || + lib.substr(0, 2) == "-l" || relpath) { + ldlibs += " " + lib; // if it is not a path and does not have a -l then add -l - } else if (!evaluated.empty()) { - ldlibs += " -l" + evaluated; + } else if (!lib.empty()) { + ldlibs += " -l" + lib; } } } diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index b1afdc9..2a38599 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -542,6 +542,7 @@ void cmGlobalXCodeGenerator::CreateReRunCMakeFile( makefileStream.SetCopyIfDifferent(true); makefileStream << "# Generated by CMake, DO NOT EDIT\n\n"; + makefileStream << "TARGETS:= \n"; makefileStream << "empty:= \n"; makefileStream << "space:= $(empty) $(empty)\n"; makefileStream << "spaceplus:= $(empty)\\ $(empty)\n\n"; diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx index 41142e5..93c78b5 100644 --- a/Source/cmQtAutoGenInitializer.cxx +++ b/Source/cmQtAutoGenInitializer.cxx @@ -8,6 +8,7 @@ #include "cmCustomCommandLines.h" #include "cmDuration.h" #include "cmFilePathChecksum.h" +#include "cmGeneratedFileStream.h" #include "cmGeneratorTarget.h" #include "cmGlobalGenerator.h" #include "cmLinkItem.h" @@ -22,7 +23,6 @@ #include "cmStateTypes.h" #include "cmSystemTools.h" #include "cmTarget.h" -#include "cm_sys_stat.h" #include "cmake.h" #include "cmsys/FStream.hxx" #include "cmsys/SystemInformation.hxx" @@ -867,34 +867,6 @@ void cmQtAutoGenInitializer::SetupCustomTargets() dir += cfg; } - auto OpenInfoFile = [](cmsys::ofstream& ofs, - std::string const& fileName) -> bool { - // Ensure we have write permission - if (cmSystemTools::FileExists(fileName)) { - mode_t perm = 0; -#if defined(_WIN32) && !defined(__CYGWIN__) - mode_t mode_write = S_IWRITE; -#else - mode_t mode_write = S_IWUSR; -#endif - cmSystemTools::GetPermissions(fileName, perm); - if (!(perm & mode_write)) { - cmSystemTools::SetPermissions(fileName, perm | mode_write); - } - } - - ofs.open(fileName.c_str(), - (std::ios::out | std::ios::binary | std::ios::trunc)); - if (!ofs) { - // File open error - std::string error = "Internal CMake error when trying to open file: "; - error += Quoted(fileName); - error += " for writing."; - cmSystemTools::Error(error.c_str()); - } - return static_cast<bool>(ofs); - }; - // Generate autogen target info file if (this->MocEnabled || this->UicEnabled) { if (this->MocEnabled) { @@ -911,8 +883,10 @@ void cmQtAutoGenInitializer::SetupCustomTargets() this->Parallel = std::to_string(GetParallelCPUCount()); } - cmsys::ofstream ofs; - if (OpenInfoFile(ofs, this->AutogenInfoFile)) { + cmGeneratedFileStream ofs; + ofs.SetCopyIfDifferent(true); + ofs.Open(this->AutogenInfoFile.c_str(), false, true); + if (ofs) { // Utility lambdas auto CWrite = [&ofs](const char* key, std::string const& value) { ofs << "set(" << key << " " << cmOutputConverter::EscapeForCMake(value) @@ -1012,14 +986,18 @@ void cmQtAutoGenInitializer::SetupCustomTargets() CWriteNestedLists("AM_UIC_OPTIONS_OPTIONS", this->UicFileOptions); CWriteList("AM_UIC_SEARCH_PATHS", this->UicSearchPaths); } + } else { + return; } } // Generate auto RCC info files if (this->RccEnabled) { for (Qrc const& qrc : this->Qrcs) { - cmsys::ofstream ofs; - if (OpenInfoFile(ofs, qrc.InfoFile)) { + cmGeneratedFileStream ofs; + ofs.SetCopyIfDifferent(true); + ofs.Open(qrc.InfoFile.c_str(), false, true); + if (ofs) { // Utility lambdas auto CWrite = [&ofs](const char* key, std::string const& value) { ofs << "set(" << key << " " @@ -1069,7 +1047,7 @@ void cmQtAutoGenInitializer::SetupCustomTargets() CWrite("ARCC_OPTIONS", cmJoin(qrc.Options, ";")); CWrite("ARCC_INPUTS", cmJoin(qrc.Resources, ";")); } else { - break; + return; } } } diff --git a/Tests/RunCMake/AndroidMK/AndroidMK.cmake b/Tests/RunCMake/AndroidMK/AndroidMK.cmake index 2596e8c..3fbb2cf 100644 --- a/Tests/RunCMake/AndroidMK/AndroidMK.cmake +++ b/Tests/RunCMake/AndroidMK/AndroidMK.cmake @@ -4,7 +4,7 @@ add_library(foo foo.cxx) add_library(car foo.cxx) add_library(bar bar.c) add_library(dog foo.cxx) -target_link_libraries(foo car bar dog debug -lm) +target_link_libraries(foo PRIVATE car bar dog debug -lm) export(TARGETS bar dog car foo ANDROID_MK ${build_BINARY_DIR}/Android.mk) install(TARGETS bar dog car foo DESTINATION lib EXPORT myexp) diff --git a/Utilities/Release/upload_release.cmake b/Utilities/Release/upload_release.cmake index 3c83957..f627966 100644 --- a/Utilities/Release/upload_release.cmake +++ b/Utilities/Release/upload_release.cmake @@ -1,6 +1,6 @@ set(CTEST_RUN_CURRENT_SCRIPT 0) if(NOT VERSION) - set(VERSION 3.10) + set(VERSION 3.11) endif() if(NOT DEFINED PROJECT_PREFIX) set(PROJECT_PREFIX cmake-${VERSION}) |