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.
This commit is contained in:
Brad King 2013-05-16 14:37:55 -04:00 committed by CMake Topic Stage
commit b547b99a70
3 changed files with 25 additions and 0 deletions

View File

@ -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)

View File

@ -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\)

View File

@ -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)