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 a4f404d0a5bdb7ce2c403ab65b208703985c4280 (commit) via 0c5f78478ee6005f84c53ef7df3182fa208222f8 (commit) via 9649c91f830a6fad5c2f84b90f34af10c2edfa15 (commit) via 20e9151e6cf47299bb99d85446beb5dc656dba7e (commit) via 67200c37b0a124534b3fa74bea9ed057d864ce1e (commit) via e6e189e02bb6e3efafc5d635edf5eb9688291e71 (commit) via f695b6b3bb0347ec47e6457d330237920d6e7cf7 (commit) via 5117389931e1c845d81a9b50382d42e0cfb46bdc (commit) from c5bec56611d6f7534670676a81cfc9d9b920afc4 (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=a4f404d0a5bdb7ce2c403ab65b208703985c4280 commit a4f404d0a5bdb7ce2c403ab65b208703985c4280 Merge: 0c5f784 f695b6b Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Oct 2 07:52:16 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Wed Oct 2 07:52:16 2019 -0400 Merge branch 'release-3.15' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0c5f78478ee6005f84c53ef7df3182fa208222f8 commit 0c5f78478ee6005f84c53ef7df3182fa208222f8 Merge: 9649c91 67200c3 Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Oct 2 11:50:57 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Oct 2 07:51:06 2019 -0400 Merge topic 'xcode-debug-document-versioning' 67200c37b0 xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING property Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3876 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9649c91f830a6fad5c2f84b90f34af10c2edfa15 commit 9649c91f830a6fad5c2f84b90f34af10c2edfa15 Merge: 20e9151 e6e189e Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Oct 2 11:48:45 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Oct 2 07:48:55 2019 -0400 Merge topic 'pch-compile-pdb' e6e189e02b PCH: Report error when setting COMPILE_PDB_NAME property Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3864 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=20e9151e6cf47299bb99d85446beb5dc656dba7e commit 20e9151e6cf47299bb99d85446beb5dc656dba7e Merge: c5bec56 5117389 Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Oct 2 11:47:16 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Oct 2 07:47:25 2019 -0400 Merge topic 'vs-v142-version' 5117389931 VS: Fix support for v142 toolset minor versions Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3874 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=67200c37b0a124534b3fa74bea9ed057d864ce1e commit 67200c37b0a124534b3fa74bea9ed057d864ce1e Author: Gregor Jasny <gja...@googlemail.com> AuthorDate: Tue Oct 1 20:53:06 2019 +0200 Commit: Gregor Jasny <gja...@googlemail.com> CommitDate: Tue Oct 1 23:02:35 2019 +0200 xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING property diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst index 8f8cb33..3fe609b 100644 --- a/Help/manual/cmake-properties.7.rst +++ b/Help/manual/cmake-properties.7.rst @@ -375,6 +375,7 @@ Properties on Targets /prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN /prop_tgt/XCODE_SCHEME_ARGUMENTS /prop_tgt/XCODE_SCHEME_DEBUG_AS_ROOT + /prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING /prop_tgt/XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER /prop_tgt/XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS /prop_tgt/XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index def63e4..0442d89 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -234,6 +234,7 @@ Variables that Change Behavior /variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY /variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER /variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN + /variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING /variable/CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER /variable/CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS /variable/CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE diff --git a/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst b/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst index 0adb5db..0e182cf 100644 --- a/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst +++ b/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst @@ -31,9 +31,10 @@ at target creation time. - :prop_tgt:`XCODE_SCHEME_ZOMBIE_OBJECTS` The following target properties will be applied on the -"Info" and "Arguments" tab: +"Info", "Arguments", and "Options" tab: - :prop_tgt:`XCODE_SCHEME_ARGUMENTS` - :prop_tgt:`XCODE_SCHEME_DEBUG_AS_ROOT` +- :prop_tgt:`XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING` - :prop_tgt:`XCODE_SCHEME_ENVIRONMENT` - :prop_tgt:`XCODE_SCHEME_EXECUTABLE` diff --git a/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst b/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst new file mode 100644 index 0000000..9afeedd --- /dev/null +++ b/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst @@ -0,0 +1,13 @@ +XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING +-------------------------------------- + +Whether to enable +``Allow debugging when using document Versions Browser`` +in the Options section of the generated Xcode scheme. + +This property is initialized by the value of the variable +:variable:`CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING` +if it is set when a target is created. + +Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property +documentation to see all Xcode schema related properties. diff --git a/Help/release/dev/xcode-debug-document-versioning.rst b/Help/release/dev/xcode-debug-document-versioning.rst new file mode 100644 index 0000000..15aed4f --- /dev/null +++ b/Help/release/dev/xcode-debug-document-versioning.rst @@ -0,0 +1,7 @@ +xcode-debug-document-versioning +------------------------------- + +* The Xcode generator learnt to set the value of the + ``Allow debugging when using document Versions Browser`` schema + option with the :prop_tgt:`XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING` + target property. diff --git a/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst b/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst new file mode 100644 index 0000000..a264d36 --- /dev/null +++ b/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst @@ -0,0 +1,13 @@ +CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING +-------------------------------------------- + +Whether to enable +``Allow debugging when using document Versions Browser`` +in the Options section of the generated Xcode scheme. + +This variable initializes the +:prop_tgt:`XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING` +property on all targets. + +Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property +documentation to see all Xcode schema related properties. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index ae77d9e..7a2ecc2 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -360,6 +360,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type, initProp("XCODE_GENERATE_SCHEME"); initProp("XCODE_SCHEME_ADDRESS_SANITIZER"); initProp("XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN"); + initProp("XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING"); initProp("XCODE_SCHEME_THREAD_SANITIZER"); initProp("XCODE_SCHEME_THREAD_SANITIZER_STOP"); initProp("XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER"); diff --git a/Source/cmXCodeScheme.cxx b/Source/cmXCodeScheme.cxx index a1c64ed..afc95f5 100644 --- a/Source/cmXCodeScheme.cxx +++ b/Source/cmXCodeScheme.cxx @@ -137,7 +137,9 @@ void cmXCodeScheme::WriteLaunchAction(cmXMLWriter& xout, xout.Attribute("launchStyle", "0"); xout.Attribute("useCustomWorkingDirectory", "NO"); xout.Attribute("ignoresPersistentStateOnLaunch", "NO"); - xout.Attribute("debugDocumentVersioning", "YES"); + WriteLaunchActionBooleanAttribute(xout, "debugDocumentVersioning", + "XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING", + true); xout.Attribute("debugServiceExtension", "internal"); xout.Attribute("allowLocationSimulation", "YES"); @@ -311,6 +313,21 @@ bool cmXCodeScheme::WriteLaunchActionAttribute(cmXMLWriter& xout, return false; } +bool cmXCodeScheme::WriteLaunchActionBooleanAttribute( + cmXMLWriter& xout, const std::string& attrName, const std::string& varName, + bool defaultValue) +{ + auto property = Target->GetTarget()->GetProperty(varName); + bool isOn = (property == nullptr && defaultValue) || cmIsOn(property); + + if (isOn) { + xout.Attribute(attrName.c_str(), "YES"); + } else { + xout.Attribute(attrName.c_str(), "NO"); + } + return isOn; +} + bool cmXCodeScheme::WriteLaunchActionAdditionalOption( cmXMLWriter& xout, const std::string& key, const std::string& value, const std::string& varName) @@ -339,7 +356,9 @@ void cmXCodeScheme::WriteProfileAction(cmXMLWriter& xout, xout.Attribute("shouldUseLaunchSchemeArgsEnv", "YES"); xout.Attribute("savedToolIdentifier", ""); xout.Attribute("useCustomWorkingDirectory", "NO"); - xout.Attribute("debugDocumentVersioning", "YES"); + WriteLaunchActionBooleanAttribute(xout, "debugDocumentVersioning", + "XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING", + true); xout.EndElement(); } diff --git a/Source/cmXCodeScheme.h b/Source/cmXCodeScheme.h index 1cc5324..dff5e35 100644 --- a/Source/cmXCodeScheme.h +++ b/Source/cmXCodeScheme.h @@ -46,6 +46,11 @@ private: const std::string& attrName, const std::string& varName); + bool WriteLaunchActionBooleanAttribute(cmXMLWriter& xout, + const std::string& attrName, + const std::string& varName, + bool defaultValue); + bool WriteLaunchActionAdditionalOption(cmXMLWriter& xout, const std::string& attrName, const std::string& value, https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e6e189e02bb6e3efafc5d635edf5eb9688291e71 commit e6e189e02bb6e3efafc5d635edf5eb9688291e71 Author: Cristian Adam <cristian.a...@gmail.com> AuthorDate: Wed Sep 25 00:08:15 2019 +0200 Commit: Cristian Adam <cristian.a...@gmail.com> CommitDate: Tue Oct 1 18:33:40 2019 +0200 PCH: Report error when setting COMPILE_PDB_NAME property Reusable precompile headers require specific COMPILE_PDB_NAME property values. Report error if the user tries to set a different value. diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index a75e2ed..abe483a9 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -355,6 +355,42 @@ bool cmGlobalGenerator::CheckTargetsForType() const return failed; } +bool cmGlobalGenerator::CheckTargetsForPchCompilePdb() const +{ + if (!this->GetLanguageEnabled("C") && !this->GetLanguageEnabled("CXX")) { + return false; + } + bool failed = false; + for (cmLocalGenerator* generator : this->LocalGenerators) { + for (cmGeneratorTarget* target : generator->GetGeneratorTargets()) { + if (target->GetType() == cmStateEnums::TargetType::GLOBAL_TARGET || + target->GetType() == cmStateEnums::TargetType::INTERFACE_LIBRARY || + target->GetType() == cmStateEnums::TargetType::UTILITY || + cmIsOn(target->GetProperty("ghs_integrity_app"))) { + continue; + } + + const std::string reuseFrom = + target->GetSafeProperty("PRECOMPILE_HEADERS_REUSE_FROM"); + const std::string compilePdb = + target->GetSafeProperty("COMPILE_PDB_NAME"); + + if (!reuseFrom.empty() && reuseFrom != compilePdb) { + const std::string e = cmStrCat( + "PRECOMPILE_HEADERS_REUSE_FROM property is set on target (\"", + target->GetName(), + "\"). Reusable precompile headers requires the COMPILE_PDB_NAME" + " property to have the value \"", + reuseFrom, "\"\n"); + this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR, e, + target->GetBacktrace()); + failed = true; + } + } + } + return failed; +} + bool cmGlobalGenerator::IsExportedTargetsFile( const std::string& filename) const { @@ -1398,6 +1434,10 @@ bool cmGlobalGenerator::Compute() return false; } + if (this->CheckTargetsForPchCompilePdb()) { + return false; + } + for (cmLocalGenerator* localGen : this->LocalGenerators) { localGen->ComputeHomeRelativeOutputPath(); } diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index cf9c951..eb5ee27 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -610,6 +610,7 @@ private: bool CheckTargetsForMissingSources() const; bool CheckTargetsForType() const; + bool CheckTargetsForPchCompilePdb() const; void CreateLocalGenerators(); diff --git a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake index dcdd177..44ccd6b 100644 --- a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake +++ b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake @@ -26,6 +26,7 @@ run_cmake(VsPackageReferences) run_cmake(VsDpiAware) run_cmake(VsDpiAwareBadParam) run_cmake(VsPrecompileHeaders) +run_cmake(VsPrecompileHeadersReuseFromCompilePDBName) if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.05) run_cmake(VsJustMyCode) diff --git a/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-result.txt b/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-stderr.txt b/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-stderr.txt new file mode 100644 index 0000000..2ff57cd --- /dev/null +++ b/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-stderr.txt @@ -0,0 +1,7 @@ +CMake Error at VsPrecompileHeadersReuseFromCompilePDBName.cmake:6 \(add_library\): + PRECOMPILE_HEADERS_REUSE_FROM property is set on target \("b"\). Reusable + precompile headers requires the COMPILE_PDB_NAME property to have the value + "a" + +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName.cmake b/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName.cmake new file mode 100644 index 0000000..ec11008 --- /dev/null +++ b/Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName.cmake @@ -0,0 +1,9 @@ +project(VsPrecompileHeadersReuseFromCompilePDBName CXX) + +add_library(a SHARED empty.cxx) +target_precompile_headers(a PRIVATE <windows.h>) + +add_library(b SHARED empty.cxx) +target_precompile_headers(b REUSE_FROM a) + +set_target_properties(b PROPERTIES COMPILE_PDB_NAME b) ----------------------------------------------------------------------- Summary of changes: Help/manual/cmake-properties.7.rst | 1 + Help/manual/cmake-variables.7.rst | 1 + Help/prop_tgt/XCODE_GENERATE_SCHEME.rst | 3 +- .../XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst | 13 +++++++ .../dev/xcode-debug-document-versioning.rst | 7 ++++ ...MAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst | 13 +++++++ Modules/CMakeDetermineCompilerId.cmake | 8 ++++- Source/cmGlobalGenerator.cxx | 40 ++++++++++++++++++++++ Source/cmGlobalGenerator.h | 1 + Source/cmGlobalVisualStudioVersionedGenerator.cxx | 4 ++- Source/cmTarget.cxx | 1 + Source/cmXCodeScheme.cxx | 23 +++++++++++-- Source/cmXCodeScheme.h | 5 +++ Tests/RunCMake/VS10Project/RunCMakeTest.cmake | 1 + ...mpileHeadersReuseFromCompilePDBName-result.txt} | 0 ...ompileHeadersReuseFromCompilePDBName-stderr.txt | 7 ++++ ...sPrecompileHeadersReuseFromCompilePDBName.cmake | 9 +++++ 17 files changed, 132 insertions(+), 5 deletions(-) create mode 100644 Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst create mode 100644 Help/release/dev/xcode-debug-document-versioning.rst create mode 100644 Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst copy Tests/RunCMake/{while/MissingArgument-result.txt => VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-result.txt} (100%) create mode 100644 Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName-stderr.txt create mode 100644 Tests/RunCMake/VS10Project/VsPrecompileHeadersReuseFromCompilePDBName.cmake hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits