diff options
author | Brad King <brad.king@kitware.com> | 2013-07-29 13:59:29 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-07-29 13:59:29 (GMT) |
commit | c18117a1291743e94b878a13c8bb845fbb8d71df (patch) | |
tree | bb31ebdcd13343105e9dc7ebb70f5c5e381d874e | |
parent | 7c3494e9ae0466aed15a9e18ea2db96bd58be60f (diff) | |
parent | f868e47236f8872a1edc84ae084f49609def06ad (diff) | |
download | CMake-c18117a1291743e94b878a13c8bb845fbb8d71df.zip CMake-c18117a1291743e94b878a13c8bb845fbb8d71df.tar.gz CMake-c18117a1291743e94b878a13c8bb845fbb8d71df.tar.bz2 |
Merge topic 'fix-export-includes-crash'
f868e47 Fix crash on export of target with empty INTERFACE_INCLUDE_DIRECTORIES.
-rw-r--r-- | Source/cmExportFileGenerator.cxx | 2 | ||||
-rw-r--r-- | Tests/ExportImport/Export/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/ExportImport/Export/empty.cpp | 4 |
3 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index d4437a8..5b351bc 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; } |