[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