diff options
author | Brad King <brad.king@kitware.com> | 2013-01-29 19:52:34 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-01-29 19:52:34 (GMT) |
commit | 2eb7cee1170b3a663cda11f63309d5d19652ec42 (patch) | |
tree | 58126113bea9f631e7161978694ca818bb94683c | |
parent | 7931d3519360fa8cf2224468ea74c68d617e59da (diff) | |
parent | 5daaa5c48dc6066b5bb145aff30286cc63c12e81 (diff) | |
download | CMake-2eb7cee1170b3a663cda11f63309d5d19652ec42.zip CMake-2eb7cee1170b3a663cda11f63309d5d19652ec42.tar.gz CMake-2eb7cee1170b3a663cda11f63309d5d19652ec42.tar.bz2 |
Merge topic 'fix-TARGET_PROPERTY-extraction'
5daaa5c Fix TARGET_PROPERTY target extractions.
-rw-r--r-- | Source/cmExportFileGenerator.cxx | 14 | ||||
-rw-r--r-- | Tests/ExportImport/Export/CMakeLists.txt | 2 |
2 files changed, 5 insertions, 11 deletions
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index 2ae7138..dbe64e9 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -367,7 +367,6 @@ cmExportFileGenerator::ResolveTargetsInGeneratorExpression( std::string::size_type lastPos = pos; cmMakefile *mf = target->GetMakefile(); - std::string errorString; while((pos = input.find("$<TARGET_PROPERTY:", lastPos)) != input.npos) { @@ -388,21 +387,14 @@ cmExportFileGenerator::ResolveTargetsInGeneratorExpression( std::string targetName = input.substr(nameStartPos, commaPos - nameStartPos); - if (!this->AddTargetNamespace(targetName, target, missingTargets)) + if (this->AddTargetNamespace(targetName, target, missingTargets)) { - errorString = "$<TARGET_PROPERTY:" + targetName + ",prop> requires " - "its first parameter to be a reachable target."; - break; + input.replace(nameStartPos, commaPos - nameStartPos, targetName); } - input.replace(nameStartPos, commaPos - nameStartPos, targetName); lastPos = pos + targetName.size(); } - if (!errorString.empty()) - { - mf->IssueMessage(cmake::FATAL_ERROR, errorString); - return; - } + std::string errorString; pos = 0; lastPos = pos; while((pos = input.find("$<TARGET_NAME:", lastPos)) != input.npos) diff --git a/Tests/ExportImport/Export/CMakeLists.txt b/Tests/ExportImport/Export/CMakeLists.txt index cfcd9fa..47521d8 100644 --- a/Tests/ExportImport/Export/CMakeLists.txt +++ b/Tests/ExportImport/Export/CMakeLists.txt @@ -164,6 +164,8 @@ set_property(TARGET testLibRequired APPEND PROPERTY $<BUILD_INTERFACE:$<TARGET_PROPERTY:testLibIncludeRequired4,INTERFACE_INCLUDE_DIRECTORIES>> $<BUILD_INTERFACE:$<TARGET_PROPERTY:testLibIncludeRequired5,INTERFACE_INCLUDE_DIRECTORIES>> $<INSTALL_INTERFACE:$<TARGET_PROPERTY:testLibIncludeRequired6,INTERFACE_INCLUDE_DIRECTORIES>> + # Test that the below is non-fatal + $<$<TARGET_DEFINED:not_a_target>:$<TARGET_PROPERTY:not_a_target,INTERFACE_INCLUDE_DIRECTORIES>> ) set_property(TARGET testLibRequired APPEND PROPERTY |