[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3475-gfe2fff1

Stephen Kelly steveire at gmail.com
Mon Jul 29 09:54:21 EDT 2013


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, next has been updated
       via  fe2fff15262aed3f0f6eed529775d161f946bfa5 (commit)
       via  f868e47236f8872a1edc84ae084f49609def06ad (commit)
      from  3add5f00551ade0b599e775bcc5da217cc6fb0a0 (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fe2fff15262aed3f0f6eed529775d161f946bfa5
commit fe2fff15262aed3f0f6eed529775d161f946bfa5
Merge: 3add5f0 f868e47
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Jul 29 09:54:14 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jul 29 09:54:14 2013 -0400

    Merge topic 'fix-export-includes-crash' into next
    
    f868e47 Fix crash on export of target with empty INTERFACE_INCLUDE_DIRECTORIES.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f868e47236f8872a1edc84ae084f49609def06ad
commit f868e47236f8872a1edc84ae084f49609def06ad
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 27 11:14:56 2013 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Jul 29 15:50:24 2013 +0200

    Fix crash on export of target with empty INTERFACE_INCLUDE_DIRECTORIES.
    
    The new feature of install(TARGETS ... INCLUDES DESTINATION) introduced
    in commit 650e61f8 (Add a convenient way to add the includes install
    dir to the INTERFACE., 2013-01-05) introduced this crash. If the
    new feature is used with a target which has no
    INTERFACE_INCLUDE_DIRECTORIES, a segfault occurred.

diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 36802b5..084829d 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -291,7 +291,7 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
     {
     return;
     }
-  if (!*input && tei->InterfaceIncludeDirectories.empty())
+  if ((input && !*input) && tei->InterfaceIncludeDirectories.empty())
     {
     // Set to empty
     properties[propName] = "";
diff --git a/Tests/ExportImport/Export/CMakeLists.txt b/Tests/ExportImport/Export/CMakeLists.txt
index 49f1c58..1910f8c 100644
--- a/Tests/ExportImport/Export/CMakeLists.txt
+++ b/Tests/ExportImport/Export/CMakeLists.txt
@@ -270,6 +270,8 @@ set_property(TARGET cmp0022NEW APPEND PROPERTY INTERFACE_LINK_LIBRARIES testLib2
 set_property(TARGET cmp0022OLD APPEND PROPERTY INTERFACE_LINK_LIBRARIES testLib2)
 set_property(TARGET cmp0022OLD APPEND PROPERTY LINK_INTERFACE_LIBRARIES testLib3)
 
+add_library(noIncludesInterface empty.cpp)
+
 install(TARGETS testLibRequired
                 testLibIncludeRequired1
                 testLibIncludeRequired2
@@ -278,6 +280,7 @@ install(TARGETS testLibRequired
                 testLibIncludeRequired5
                 testLibIncludeRequired6
                 testSharedLibRequired
+                noIncludesInterface
         EXPORT RequiredExp DESTINATION lib
         INCLUDES DESTINATION
           installIncludesTest
diff --git a/Tests/ExportImport/Export/empty.cpp b/Tests/ExportImport/Export/empty.cpp
new file mode 100644
index 0000000..1787013
--- /dev/null
+++ b/Tests/ExportImport/Export/empty.cpp
@@ -0,0 +1,4 @@
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int empty() { return 0; }

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list