diff options
-rw-r--r-- | Help/manual/cmake-qt.7.rst | 9 | ||||
-rw-r--r-- | Help/prop_tgt/AUTOMOC.rst | 7 | ||||
-rw-r--r-- | Help/prop_tgt/AUTOUIC.rst | 3 | ||||
-rw-r--r-- | Help/release/3.9.rst | 5 | ||||
-rw-r--r-- | Help/release/dev/0-sample-topic.rst | 7 | ||||
-rw-r--r-- | Help/release/index.rst | 2 | ||||
-rw-r--r-- | Modules/FindDoxygen.cmake | 42 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 6 | ||||
-rw-r--r-- | Source/Checks/cm_cxx_features.cmake | 4 | ||||
-rw-r--r-- | Source/cmQtAutoGeneratorInitializer.cxx | 4 | ||||
-rw-r--r-- | Utilities/Release/upload_release.cmake | 2 |
11 files changed, 41 insertions, 50 deletions
diff --git a/Help/manual/cmake-qt.7.rst b/Help/manual/cmake-qt.7.rst index 9f3968c..00d6e6e 100644 --- a/Help/manual/cmake-qt.7.rst +++ b/Help/manual/cmake-qt.7.rst @@ -72,9 +72,6 @@ Included ``moc_*.cpp`` and ``*.moc`` files will be generated in the automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`. (This differs from CMake 3.7 and below; see their documentation for details.) -* For multi configuration generators, except Xcode, the include directory is - ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``. - * See :prop_tgt:`AUTOGEN_BUILD_DIR`. Not included ``moc_<basename>.cpp`` files will be generated in custom @@ -82,9 +79,6 @@ folders to avoid name collisions and included in a separate ``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file which is compiled into the target. -* For multi configuration generators, except Xcode, the file is - ``<AUTOGEN_BUILD_DIR>/mocs_compilation_<CONFIG>.cpp``. - * See :prop_tgt:`AUTOGEN_BUILD_DIR`. The ``moc`` command line will consume the :prop_tgt:`COMPILE_DEFINITIONS` and @@ -123,9 +117,6 @@ The generated generated ``ui_*.h`` files are placed in the automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`. (This differs from CMake 3.7 and below; see their documentation for details.) -* For multi configuration generators, except Xcode, the include directory is - ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``. - * See :prop_tgt:`AUTOGEN_BUILD_DIR`. The :prop_tgt:`AUTOUIC` target property may be pre-set for all following diff --git a/Help/prop_tgt/AUTOMOC.rst b/Help/prop_tgt/AUTOMOC.rst index 81eff82..0171d20 100644 --- a/Help/prop_tgt/AUTOMOC.rst +++ b/Help/prop_tgt/AUTOMOC.rst @@ -20,9 +20,6 @@ source files at build time and invoke moc accordingly. This allows the compiler to find the included ``moc_<basename>.cpp`` file regardless of the location the original source. - * For multi configuration generators, except Xcode, the include directory is - ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``. - * See :prop_tgt:`AUTOGEN_BUILD_DIR`. * If an ``#include`` statement like ``#include "<basename>.moc"`` is found, @@ -36,10 +33,6 @@ source files at build time and invoke moc accordingly. ``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file, which is compiled as part of the target. - * For multi configuration generators, except Xcode, the file names are - ``moc_<basename>_<CONFIG>.cpp`` and - ``<AUTOGEN_BUILD_DIR>/mocs_compilation_<CONFIG>.cpp``. - * The custom directories with checksum based names help to avoid name collisions for moc files with the same ``<basename>``. diff --git a/Help/prop_tgt/AUTOUIC.rst b/Help/prop_tgt/AUTOUIC.rst index 4a08072..6493bbc 100644 --- a/Help/prop_tgt/AUTOUIC.rst +++ b/Help/prop_tgt/AUTOUIC.rst @@ -17,9 +17,6 @@ optional :prop_tgt:`AUTOUIC_SEARCH_PATHS` of the target. ``<AUTOGEN_BUILD_DIR>/include``, which is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`. -* For multi configuration generators, except Xcode, the include directory is - ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``. - * See :prop_tgt:`AUTOGEN_BUILD_DIR`. This property is initialized by the value of the :variable:`CMAKE_AUTOUIC` diff --git a/Help/release/3.9.rst b/Help/release/3.9.rst index 5169aa4..65bcd2e 100644 --- a/Help/release/3.9.rst +++ b/Help/release/3.9.rst @@ -141,6 +141,11 @@ Modules check whether interprocedural optimization (IPO) is supported by the current toolchain and CMake version. +* The :module:`CMakeFindDependencyMacro` module ``find_dependency`` macro + now forwards all arguments to the underlying :command:`find_package` + call. Existing uses will continue to function as before, but callers can + now access the full suite of arguments that ``find_package`` accepts. + * The :module:`FeatureSummary` module :command:`feature_summary` command now accepts the new ``DEFAULT_DESCRIPTION`` option that will print the default title for the selected package type. 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 7f481a3..8222d0c 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -5,8 +5,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/Modules/FindDoxygen.cmake b/Modules/FindDoxygen.cmake index 76456a0..0d9e161 100644 --- a/Modules/FindDoxygen.cmake +++ b/Modules/FindDoxygen.cmake @@ -396,10 +396,12 @@ macro(_Doxygen_find_doxygen) endif() # Create an imported target for Doxygen - add_executable(Doxygen::doxygen IMPORTED GLOBAL) - set_target_properties(Doxygen::doxygen PROPERTIES - IMPORTED_LOCATION "${DOXYGEN_EXECUTABLE}" - ) + if(NOT TARGET Doxygen::doxygen) + add_executable(Doxygen::doxygen IMPORTED GLOBAL) + set_target_properties(Doxygen::doxygen PROPERTIES + IMPORTED_LOCATION "${DOXYGEN_EXECUTABLE}" + ) + endif() endif() endmacro() @@ -429,10 +431,12 @@ macro(_Doxygen_find_dia) endif() # Create an imported target for component - add_executable(Doxygen::dia IMPORTED GLOBAL) - set_target_properties(Doxygen::dia PROPERTIES - IMPORTED_LOCATION "${DOXYGEN_DIA_EXECUTABLE}" - ) + if(NOT TARGET Doxygen::dia) + add_executable(Doxygen::dia IMPORTED GLOBAL) + set_target_properties(Doxygen::dia PROPERTIES + IMPORTED_LOCATION "${DOXYGEN_DIA_EXECUTABLE}" + ) + endif() endif() unset(_x86) @@ -474,10 +478,12 @@ macro(_Doxygen_find_dot) endif() # Create an imported target for component - add_executable(Doxygen::dot IMPORTED GLOBAL) - set_target_properties(Doxygen::dot PROPERTIES - IMPORTED_LOCATION "${DOXYGEN_DOT_EXECUTABLE}" - ) + if(NOT TARGET Doxygen::dot) + add_executable(Doxygen::dot IMPORTED GLOBAL) + set_target_properties(Doxygen::dot PROPERTIES + IMPORTED_LOCATION "${DOXYGEN_DOT_EXECUTABLE}" + ) + endif() endif() unset(_Doxygen_GRAPHVIZ_BIN_DIRS) @@ -510,10 +516,12 @@ macro(_Doxygen_find_mscgen) endif() # Create an imported target for component - add_executable(Doxygen::mscgen IMPORTED GLOBAL) - set_target_properties(Doxygen::mscgen PROPERTIES - IMPORTED_LOCATION "${DOXYGEN_MSCGEN_EXECUTABLE}" - ) + if(NOT TARGET Doxygen::mscgen) + add_executable(Doxygen::mscgen IMPORTED GLOBAL) + set_target_properties(Doxygen::mscgen PROPERTIES + IMPORTED_LOCATION "${DOXYGEN_MSCGEN_EXECUTABLE}" + ) + endif() endif() unset(_x86) @@ -586,7 +594,7 @@ else() set(DOXYGEN_FOUND "NO") endif() if(_Doxygen_keep_backward_compat) - if(DOXYGEN_DOT_FOUND) + if(Doxygen_dot_FOUND) set(DOXYGEN_DOT_FOUND "YES") else() set(DOXYGEN_DOT_FOUND "NO") diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 8983057..7165003 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 8) -set(CMake_VERSION_PATCH 20170605) -#set(CMake_VERSION_RC 1) +set(CMake_VERSION_MINOR 9) +set(CMake_VERSION_PATCH 0) +set(CMake_VERSION_RC 2) diff --git a/Source/Checks/cm_cxx_features.cmake b/Source/Checks/cm_cxx_features.cmake index c3835c3..3b08025 100644 --- a/Source/Checks/cm_cxx_features.cmake +++ b/Source/Checks/cm_cxx_features.cmake @@ -14,8 +14,10 @@ function(cm_check_cxx_feature name) CMAKE_FLAGS ${maybe_cxx_standard} OUTPUT_VARIABLE OUTPUT ) + # Filter out MSBuild output that looks like a warning. + string(REGEX REPLACE " +0 Warning\\(s\\)" "" check_output "${OUTPUT}") # If using the feature causes warnings, treat it as broken/unavailable. - if(OUTPUT MATCHES "[Ww]arning") + if(check_output MATCHES "[Ww]arning") set(CMake_HAVE_CXX_${FEATURE} OFF CACHE INTERNAL "TRY_COMPILE" FORCE) endif() if(CMake_HAVE_CXX_${FEATURE}) diff --git a/Source/cmQtAutoGeneratorInitializer.cxx b/Source/cmQtAutoGeneratorInitializer.cxx index a39c10b..6924ba2 100644 --- a/Source/cmQtAutoGeneratorInitializer.cxx +++ b/Source/cmQtAutoGeneratorInitializer.cxx @@ -162,6 +162,10 @@ static bool IsMultiConfig(cmGlobalGenerator* globalGen) if (globalGen->GetName().find("Xcode") != std::string::npos) { return false; } + // FIXME: Visual Studio does not fully support per-config sources yet. + if (globalGen->GetName().find("Visual Studio") != std::string::npos) { + return false; + } return globalGen->IsMultiConfig(); } diff --git a/Utilities/Release/upload_release.cmake b/Utilities/Release/upload_release.cmake index c49cb4f..5b2cc57 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.8) + set(VERSION 3.9) endif() if(NOT DEFINED PROJECT_PREFIX) set(PROJECT_PREFIX cmake-${VERSION}) |