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 05f3537f1b4ae9c1f2008c6e9d412990f2b48ae0 (commit) via 6ad2b22a5508af5f4aa8c82d3677cf19a7f59027 (commit) from d34ceba47d9bf6b39ea9c8ed2dfabd9f2b5cb8c9 (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=05f3537f1b4ae9c1f2008c6e9d412990f2b48ae0 commit 05f3537f1b4ae9c1f2008c6e9d412990f2b48ae0 Merge: d34ceba 6ad2b22 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Wed Feb 20 07:31:12 2013 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Feb 20 07:31:12 2013 -0500 Merge topic 'interface-property-external-read' into next 6ad2b22 Fix the GeneratorExpression test reading INCLUDE_DIRECTORIES. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6ad2b22a5508af5f4aa8c82d3677cf19a7f59027 commit 6ad2b22a5508af5f4aa8c82d3677cf19a7f59027 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Wed Feb 20 13:26:12 2013 +0100 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Wed Feb 20 13:26:12 2013 +0100 Fix the GeneratorExpression test reading INCLUDE_DIRECTORIES. The test was incorrectly expecting only the direct includes, instead of expecting the includes to be evaluated transitively via the link interface. diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index b6a2c63..c294425 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -476,8 +476,22 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode std::string linkedTargetsContent; + std::string interfacePropertyName; + if (propertyName == "INTERFACE_INCLUDE_DIRECTORIES" - || propertyName == "INTERFACE_COMPILE_DEFINITIONS") + || propertyName == "INCLUDE_DIRECTORIES") + { + interfacePropertyName = "INTERFACE_INCLUDE_DIRECTORIES"; + } + else if (propertyName == "INTERFACE_COMPILE_DEFINITIONS" + || propertyName == "COMPILE_DEFINITIONS" + || strncmp(propertyName.c_str(), "COMPILE_DEFINITIONS_", 20) == 0) + { + interfacePropertyName = "INTERFACE_COMPILE_DEFINITIONS"; + } + + if (interfacePropertyName == "INTERFACE_INCLUDE_DIRECTORIES" + || interfacePropertyName == "INTERFACE_COMPILE_DEFINITIONS") { const cmTarget::LinkInterface *iface = target->GetLinkInterface( context->Config, @@ -495,7 +509,8 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode if (context->Makefile->FindTargetToUse(it->c_str())) { depString += - sep + "$<TARGET_PROPERTY:" + *it + "," + propertyName + ">"; + sep + "$<TARGET_PROPERTY:" + *it + "," + + interfacePropertyName + ">"; sep = ";"; } } @@ -550,7 +565,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode sizeof(*targetPropertyTransitiveWhitelist)); ++i) { - if (targetPropertyTransitiveWhitelist[i] == propertyName) + if (targetPropertyTransitiveWhitelist[i] == interfacePropertyName) { cmGeneratorExpression ge(context->Backtrace); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(prop); diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt index 75bf21a..8a64dc2 100644 --- a/Tests/GeneratorExpression/CMakeLists.txt +++ b/Tests/GeneratorExpression/CMakeLists.txt @@ -80,6 +80,9 @@ target_link_libraries(empty1 LINK_PUBLIC empty2) target_link_libraries(empty2 LINK_PUBLIC empty3 empty4) target_link_libraries(empty3 LINK_PUBLIC empty2 empty4) +add_library(empty5 empty.cpp) +target_include_directories(empty5 PRIVATE /empty5/private) + add_custom_target(check-part2 ALL COMMAND ${CMAKE_COMMAND} -Dtest_incomplete_1=$< @@ -114,6 +117,7 @@ add_custom_target(check-part2 ALL -Dtest_target_includes5=$<TARGET_PROPERTY:empty2,INCLUDE_DIRECTORIES> -Dtest_target_includes6=$<TARGET_PROPERTY:empty3,INCLUDE_DIRECTORIES> -Dtest_target_includes7=$<TARGET_PROPERTY:empty1,INTERFACE_INCLUDE_DIRECTORIES> + -Dtest_target_includes8=$<TARGET_PROPERTY:empty5,INCLUDE_DIRECTORIES> -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part2.cmake COMMAND ${CMAKE_COMMAND} -E echo "check done (part 2 of 2)" VERBATIM diff --git a/Tests/GeneratorExpression/check-part2.cmake b/Tests/GeneratorExpression/check-part2.cmake index 2a5c9a1..177bace 100644 --- a/Tests/GeneratorExpression/check-part2.cmake +++ b/Tests/GeneratorExpression/check-part2.cmake @@ -29,7 +29,8 @@ check(test_target_name_2 "tgt:ok") check(test_target_includes1 "/empty1/public;/empty2/public;/empty3/public;/empty4/public") check(test_target_includes2 "/empty2/public;/empty3/public;/empty4/public") check(test_target_includes3 "/empty3/public;/empty2/public;/empty4/public") -check(test_target_includes4 "/empty1/public;/empty1/private") -check(test_target_includes5 "/empty2/public") -check(test_target_includes6 "/empty3/public;/empty3/private") +check(test_target_includes4 "/empty1/public;/empty1/private;/empty2/public;/empty3/public;/empty4/public") +check(test_target_includes5 "/empty2/public;/empty3/public;/empty2/public;/empty4/public") +check(test_target_includes6 "/empty3/public;/empty3/private;/empty2/public;/empty3/public;/empty4/public") check(test_target_includes7 "/empty1/public;/empty2/public;/empty3/public;/empty4/public") +check(test_target_includes8 "/empty5/private") ----------------------------------------------------------------------- Summary of changes: Source/cmGeneratorExpressionEvaluator.cxx | 21 ++++++++++++++++++--- Tests/GeneratorExpression/CMakeLists.txt | 4 ++++ Tests/GeneratorExpression/check-part2.cmake | 7 ++++--- 3 files changed, 26 insertions(+), 6 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits