This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, master has been updated via 5651568d14ee227bcc8edfa3801e1847ff89a23e (commit) via d9ddb30e92ce1c9c98ce6603660b631cd42bfed0 (commit) via bcd99fac60ee3ad9a3c61d88a545d1800e605b10 (commit) via f87e724e8c193df3b9b30ddd0b9d2ec7c6ac2ba7 (commit) from 56c2eab1e23fa92594bf0696ea351d77ae3aebe8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5651568d14ee227bcc8edfa3801e1847ff89a23e commit 5651568d14ee227bcc8edfa3801e1847ff89a23e Merge: d9ddb30 bcd99fa Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Feb 11 12:45:05 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Mon Feb 11 07:45:23 2019 -0500 Merge topic 'ghs-updates' bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !2943 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9ddb30e92ce1c9c98ce6603660b631cd42bfed0 commit d9ddb30e92ce1c9c98ce6603660b631cd42bfed0 Merge: 56c2eab f87e724 Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Feb 11 12:44:31 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Mon Feb 11 07:44:40 2019 -0500 Merge topic 'fix-exclude-dir-with-iface' f87e724e8c Fix EXCLUDE_FROM_ALL on directory with an interface library Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !2937 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bcd99fac60ee3ad9a3c61d88a545d1800e605b10 commit bcd99fac60ee3ad9a3c61d88a545d1800e605b10 Author: Fred Baksik <froda...@gmail.com> AuthorDate: Fri Feb 8 11:09:33 2019 -0500 Commit: Fred Baksik <froda...@gmail.com> CommitDate: Fri Feb 8 13:07:00 2019 -0500 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE -- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE diff --git a/Help/generator/Green Hills MULTI.rst b/Help/generator/Green Hills MULTI.rst index bfe671f..e474682 100644 --- a/Help/generator/Green Hills MULTI.rst +++ b/Help/generator/Green Hills MULTI.rst @@ -59,6 +59,7 @@ Customizations are available through the following cache variables: The following properties are available: * :prop_tgt:`GHS_INTEGRITY_APP` +* :prop_tgt:`GHS_NO_SOURCE_GROUP_FILE` .. note:: This generator is deemed experimental as of CMake |release| diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst index e1de134..4366c0d 100644 --- a/Help/manual/cmake-properties.7.rst +++ b/Help/manual/cmake-properties.7.rst @@ -195,6 +195,7 @@ Properties on Targets /prop_tgt/FRAMEWORK_VERSION /prop_tgt/GENERATOR_FILE_NAME /prop_tgt/GHS_INTEGRITY_APP + /prop_tgt/GHS_NO_SOURCE_GROUP_FILE /prop_tgt/GNUtoMS /prop_tgt/HAS_CXX /prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 1698734..83c88a5 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -345,6 +345,7 @@ Variables that Control the Build /variable/CMAKE_FOLDER /variable/CMAKE_Fortran_FORMAT /variable/CMAKE_Fortran_MODULE_DIRECTORY + /variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE /variable/CMAKE_GLOBAL_AUTOGEN_TARGET /variable/CMAKE_GLOBAL_AUTOGEN_TARGET_NAME /variable/CMAKE_GLOBAL_AUTORCC_TARGET diff --git a/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst b/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst new file mode 100644 index 0000000..11ce0b22 --- /dev/null +++ b/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst @@ -0,0 +1,13 @@ +GHS_NO_SOURCE_GROUP_FILE +------------------------ + +``ON`` / ``OFF`` boolean to control if the project file for a target should +be one single file or multiple files. + +The default behavior or when the property is ``OFF`` is to generate a project +file for the target and then a sub-project file for each source group. + +When this property is ``ON`` or if :variable:`CMAKE_GHS_NO_SOURCE_GROUP_FILE` +is ``ON`` then only a single project file is generated for the target. + +Supported on :generator:`Green Hills MULTI`. diff --git a/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst b/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst new file mode 100644 index 0000000..b6768a1 --- /dev/null +++ b/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst @@ -0,0 +1,6 @@ +CMAKE_GHS_NO_SOURCE_GROUP_FILE +------------------------------ + +``ON`` / ``OFF`` boolean to control if the project file for a target should +be one single file or multiple files. Refer to +:prop_tgt:`GHS_NO_SOURCE_GROUP_FILE` for further details. diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx index 04a8b3c..5fe350c 100644 --- a/Source/cmGhsMultiTargetGenerator.cxx +++ b/Source/cmGhsMultiTargetGenerator.cxx @@ -454,7 +454,7 @@ void cmGhsMultiTargetGenerator::WriteSources(std::ostream& fout_proj) cmSystemTools::IsOn( this->GeneratorTarget->GetProperty("GHS_NO_SOURCE_GROUP_FILE")) || cmSystemTools::IsOn( - this->Makefile->GetDefinition("GHS_NO_SOURCE_GROUP_FILE")); + this->Makefile->GetDefinition("CMAKE_GHS_NO_SOURCE_GROUP_FILE")); if (useProjectFile || sg.empty()) { fout = &fout_proj; } else { diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index ed98d97..6c888cc 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -2368,7 +2368,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_test_GhsMulti_rename_install(EXEC_AND_LIB) add_test_GhsMulti(multiple_source_groups GhsMultiSrcGroups Default "") add_test_GhsMulti(multiple_source_groups_folders GhsMultiSrcGroups PropFolders "-DTEST_PROP=ON") - add_test_GhsMulti(multiple_source_groups_all_folders GhsMultiSrcGroups AllFolders "-DGHS_NO_SOURCE_GROUP_FILE=ON") + add_test_GhsMulti(multiple_source_groups_all_folders GhsMultiSrcGroups AllFolders "-DCMAKE_GHS_NO_SOURCE_GROUP_FILE=ON") add_test_GhsMulti(unsupported_targets GhsMultiUnsupportedTargets "" "") add_test_GhsMulti(object_library GhsMultiObjectLibrary "" "") add_test_GhsMulti(exclude GhsMultiExclude "" "" https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f87e724e8c193df3b9b30ddd0b9d2ec7c6ac2ba7 commit f87e724e8c193df3b9b30ddd0b9d2ec7c6ac2ba7 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Feb 8 08:13:23 2019 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Feb 8 08:17:48 2019 -0500 Fix EXCLUDE_FROM_ALL on directory with an interface library Since commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) we automatically forward the `EXCLUDE_FROM_ALL` to targets as they are created. This regressed support for interface libraries on which the property is not allowed. Skip forwarding the `EXCLUDE_FROM_ALL` property for interface libraries. It is not needed on them because they do not participate in the generated build system anyway. Fixes: #18896 diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index ab139c0..7e33bda 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1985,7 +1985,9 @@ cmTarget* cmMakefile::AddLibrary(const std::string& lname, // over changes in CMakeLists.txt, making the information stale and // hence useless. target->ClearDependencyInformation(*this); - if (excludeFromAll || this->GetPropertyAsBool("EXCLUDE_FROM_ALL")) { + if (excludeFromAll || + (type != cmStateEnums::INTERFACE_LIBRARY && + this->GetPropertyAsBool("EXCLUDE_FROM_ALL"))) { target->SetProperty("EXCLUDE_FROM_ALL", "TRUE"); } target->AddSources(srcs); diff --git a/Tests/InterfaceLibrary/CMakeLists.txt b/Tests/InterfaceLibrary/CMakeLists.txt index 6aae09a..954c02d 100644 --- a/Tests/InterfaceLibrary/CMakeLists.txt +++ b/Tests/InterfaceLibrary/CMakeLists.txt @@ -47,6 +47,7 @@ target_link_libraries(InterfaceLibrary add_dependencies(InterfaceLibrary item_fake_tgt) add_subdirectory(libsdir) +add_subdirectory(excluded EXCLUDE_FROM_ALL) add_executable(sharedlibtestexe sharedlibtestexe.cpp) target_link_libraries(sharedlibtestexe shared_iface imported::iface) diff --git a/Tests/InterfaceLibrary/excluded/CMakeLists.txt b/Tests/InterfaceLibrary/excluded/CMakeLists.txt new file mode 100644 index 0000000..69a6807 --- /dev/null +++ b/Tests/InterfaceLibrary/excluded/CMakeLists.txt @@ -0,0 +1 @@ +add_library(excluded_iface INTERFACE) ----------------------------------------------------------------------- Summary of changes: Help/generator/Green Hills MULTI.rst | 1 + Help/manual/cmake-properties.7.rst | 1 + Help/manual/cmake-variables.7.rst | 1 + Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst | 13 +++++++++++++ Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst | 6 ++++++ Source/cmGhsMultiTargetGenerator.cxx | 2 +- Source/cmMakefile.cxx | 4 +++- Tests/CMakeLists.txt | 2 +- Tests/InterfaceLibrary/CMakeLists.txt | 1 + Tests/InterfaceLibrary/excluded/CMakeLists.txt | 1 + 10 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst create mode 100644 Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst create mode 100644 Tests/InterfaceLibrary/excluded/CMakeLists.txt hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits