[Cmake-commits] CMake branch, master, updated. v3.12.1-432-g6b10893
Kitware Robot
kwrobot at kitware.com
Fri Aug 17 20:55:04 EDT 2018
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 6b1089399a54269b8e12830a655dc9f0ae18995a (commit)
via dbd3e2c53d2fb0c19a08a0fe8780df5eb4f89476 (commit)
via b88bf6796e72691d4e7b5e5f0659734fc9f9089a (commit)
from 43027ce56dfc8b11519a4ef1a11f5543d8568e03 (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=6b1089399a54269b8e12830a655dc9f0ae18995a
commit 6b1089399a54269b8e12830a655dc9f0ae18995a
Merge: 43027ce dbd3e2c
Author: Craig Scott <craig.scott at crascit.com>
AuthorDate: Sat Aug 18 00:51:06 2018 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Fri Aug 17 20:51:17 2018 -0400
Merge topic 'export-properties-undefined'
dbd3e2c53d EXPORT_PROPERTIES: Prevent null dereference for undefined property
b88bf6796e EXPORT_PROPERTIES: Add test for an undefined property
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !2294
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dbd3e2c53d2fb0c19a08a0fe8780df5eb4f89476
commit dbd3e2c53d2fb0c19a08a0fe8780df5eb4f89476
Author: Craig Scott <craig.scott at crascit.com>
AuthorDate: Thu Aug 16 22:22:13 2018 +1000
Commit: Craig Scott <craig.scott at crascit.com>
CommitDate: Thu Aug 16 22:22:13 2018 +1000
EXPORT_PROPERTIES: Prevent null dereference for undefined property
Fixes: #18260
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 5f61571..9e6560f 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -1143,6 +1143,11 @@ bool cmExportFileGenerator::PopulateExportProperties(
return false;
}
auto propertyValue = targetProperties.GetPropertyValue(prop);
+ if (propertyValue == nullptr) {
+ // Asked to export a property that isn't defined on the target. Do not
+ // consider this an error, there's just nothing to export.
+ continue;
+ }
std::string evaluatedValue = cmGeneratorExpression::Preprocess(
propertyValue, cmGeneratorExpression::StripAllGeneratorExpressions);
if (evaluatedValue != propertyValue) {
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b88bf6796e72691d4e7b5e5f0659734fc9f9089a
commit b88bf6796e72691d4e7b5e5f0659734fc9f9089a
Author: Craig Scott <craig.scott at crascit.com>
AuthorDate: Thu Aug 16 22:21:25 2018 +1000
Commit: Craig Scott <craig.scott at crascit.com>
CommitDate: Thu Aug 16 22:21:25 2018 +1000
EXPORT_PROPERTIES: Add test for an undefined property
The added test verifies that a property listed in EXPORT_PROPERTIES
can be undefined. It confirms the crash recorded in issue #18260.
diff --git a/Tests/RunCMake/export/ExportPropertiesUndefined.cmake b/Tests/RunCMake/export/ExportPropertiesUndefined.cmake
new file mode 100644
index 0000000..aa529f2
--- /dev/null
+++ b/Tests/RunCMake/export/ExportPropertiesUndefined.cmake
@@ -0,0 +1,11 @@
+enable_language(CXX)
+add_library(foo empty.cpp)
+set_target_properties(foo PROPERTIES
+ EXPORT_PROPERTIES "NotDefinedProp"
+)
+export(TARGETS foo FILE "${CMAKE_CURRENT_BINARY_DIR}/foo.cmake")
+install(TARGETS foo EXPORT fooExport
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
diff --git a/Tests/RunCMake/export/RunCMakeTest.cmake b/Tests/RunCMake/export/RunCMakeTest.cmake
index 10ced90..46bb1fc 100644
--- a/Tests/RunCMake/export/RunCMakeTest.cmake
+++ b/Tests/RunCMake/export/RunCMakeTest.cmake
@@ -8,3 +8,4 @@ run_cmake(NoExportSet)
run_cmake(ForbiddenToExportInterfaceProperties)
run_cmake(ForbiddenToExportImportedProperties)
run_cmake(ForbiddenToExportPropertyWithGenExp)
+run_cmake(ExportPropertiesUndefined)
-----------------------------------------------------------------------
Summary of changes:
Source/cmExportFileGenerator.cxx | 5 +++++
...portInterfaceProperties.cmake => ExportPropertiesUndefined.cmake} | 3 +--
Tests/RunCMake/export/RunCMakeTest.cmake | 1 +
3 files changed, 7 insertions(+), 2 deletions(-)
copy Tests/RunCMake/export/{ForbiddenToExportInterfaceProperties.cmake => ExportPropertiesUndefined.cmake} (78%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list