浏览代码

Merge topic 'fix-per-config-tll-include-dirs'

88308bc Test that linking using the debug keyword to tll works.
20104ab Test transitive includes from setting the LINK_LIBRARIES property.
Brad King 12 年之前
父节点
当前提交
b547b99a70

+ 8 - 0
Tests/CMakeCommands/target_link_libraries/CMakeLists.txt

@@ -114,3 +114,11 @@ endif()
 # shortcutting of the evaluation by returning an empty string.
 set(_exe_test $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
 target_link_libraries(targetC $<$<AND:${_exe_test},${_exe_test}>:depG>)
+
+add_library(libConsumer empty.cpp)
+# This line causes $<$<CONFIG:Debug>:depA> to be used when
+# determining the include directories for libConsumer based on the
+# interface properties of its LINK_LIBRARIES. Because the above expression
+# evaluates to the empty string in non-Debug cases, ensure that that causes
+# no problems.
+target_link_libraries(libConsumer debug depA)

+ 9 - 0
Tests/RunCMake/include_directories/DebugIncludes-stderr.txt

@@ -42,3 +42,12 @@ CMake Debug Log at DebugIncludes.cmake:30 \(target_link_libraries\):
 
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
++
+CMake Debug Log at DebugIncludes.cmake:55 \(set_property\):
+  Used includes for target lll:
+
+   \* .*/Tests/RunCMake/include_directories/nine
+   \* .*/Tests/RunCMake/include_directories/ten
+
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 8 - 0
Tests/RunCMake/include_directories/DebugIncludes.cmake

@@ -45,3 +45,11 @@ function(some_function)
 endfunction()
 
 some_function()
+
+add_library(bar "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp")
+target_include_directories(bar
+  INTERFACE
+    "${CMAKE_CURRENT_SOURCE_DIR}/nine"
+    "${CMAKE_CURRENT_SOURCE_DIR}/ten"
+)
+set_property(TARGET lll APPEND PROPERTY LINK_LIBRARIES bar)