[Cmake-commits] CMake branch, master, updated. v3.15.4-1275-ga4f404d
Kitware Robot
kwrobot at kitware.com
Wed Oct 2 07:53:07 EDT 2019
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.king at kitware.com>
AuthorDate: Wed Oct 2 07:52:16 2019 -0400
Commit: Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Wed Oct 2 11:50:57 2019 +0000
Commit: Kitware Robot <kwrobot at 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 <kwrobot at 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.king at kitware.com>
AuthorDate: Wed Oct 2 11:48:45 2019 +0000
Commit: Kitware Robot <kwrobot at 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 <kwrobot at 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.king at kitware.com>
AuthorDate: Wed Oct 2 11:47:16 2019 +0000
Commit: Kitware Robot <kwrobot at 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 <kwrobot at kitware.com>
Merge-request: !3874
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=67200c37b0a124534b3fa74bea9ed057d864ce1e
commit 67200c37b0a124534b3fa74bea9ed057d864ce1e
Author: Gregor Jasny <gjasny at googlemail.com>
AuthorDate: Tue Oct 1 20:53:06 2019 +0200
Commit: Gregor Jasny <gjasny at 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.adam at gmail.com>
AuthorDate: Wed Sep 25 00:08:15 2019 +0200
Commit: Cristian Adam <cristian.adam at 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
More information about the Cmake-commits
mailing list