diff options
author | Brad King <brad.king@kitware.com> | 2014-07-09 17:11:38 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-07-14 13:09:32 (GMT) |
commit | affe9d56a2e17683dc87c457c27cad7f39b0ad56 (patch) | |
tree | 47df80de0c25aa6e4d7e79ee503100a52dcb32d1 /Tests/RunCMake | |
parent | 55d3e88fb7eb5cfdb58c5617133dfaf70d3b0547 (diff) | |
download | CMake-affe9d56a2e17683dc87c457c27cad7f39b0ad56.zip CMake-affe9d56a2e17683dc87c457c27cad7f39b0ad56.tar.gz CMake-affe9d56a2e17683dc87c457c27cad7f39b0ad56.tar.bz2 |
Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
Fix cmTarget::GetSourceFiles to set EvaluateForBuildsystem on the
$<TARGET_PROPERTY:...,INTERFACE_SOURCES> generator expression so that
the $<TARGET_OBJECTS> generator expression is allowed within an
INTERFACE_SOURCES value.
Extend the InterfaceLibrary test to cover this case. Extend the
RunCMake.TargetObjects test to cover failure of $<TARGET_OBJECTS>
when used through $<TARGET_PROPERTY:...,INTERFACE_SOURCES> in a
non-buildsystem context.
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r-- | Tests/RunCMake/TargetObjects/BadContext-stderr.txt | 14 | ||||
-rw-r--r-- | Tests/RunCMake/TargetObjects/BadContext.cmake | 3 |
2 files changed, 15 insertions, 2 deletions
diff --git a/Tests/RunCMake/TargetObjects/BadContext-stderr.txt b/Tests/RunCMake/TargetObjects/BadContext-stderr.txt index 92f2c91..b78189e 100644 --- a/Tests/RunCMake/TargetObjects/BadContext-stderr.txt +++ b/Tests/RunCMake/TargetObjects/BadContext-stderr.txt @@ -1,4 +1,4 @@ -CMake Error at BadContext.cmake:2 \(file\): +(CMake Error at BadContext.cmake:4 \(file\): Error evaluating generator expression: \$<TARGET_OBJECTS:NoTarget> @@ -7,7 +7,17 @@ CMake Error at BadContext.cmake:2 \(file\): for consumption by CMake. It is not suitable for writing out elsewhere. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) -+ +*)+ +(CMake Error at BadContext.cmake:5 \(file\): + Error evaluating generator expression: + + \$<TARGET_OBJECTS:NoTarget> + + The evaluation of the TARGET_OBJECTS generator expression is only suitable + for consumption by CMake. It is not suitable for writing out elsewhere. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) +*)+ CMake Error: Error evaluating generator expression: diff --git a/Tests/RunCMake/TargetObjects/BadContext.cmake b/Tests/RunCMake/TargetObjects/BadContext.cmake index 67962a4..5d7e33e 100644 --- a/Tests/RunCMake/TargetObjects/BadContext.cmake +++ b/Tests/RunCMake/TargetObjects/BadContext.cmake @@ -1,4 +1,7 @@ +add_library(iface INTERFACE) +target_sources(iface INTERFACE $<TARGET_OBJECTS:NoTarget>) file(GENERATE OUTPUT test_output CONTENT $<TARGET_OBJECTS:NoTarget>) +file(GENERATE OUTPUT test_output2 CONTENT $<TARGET_PROPERTY:iface,INTERFACE_SOURCES>) install(FILES $<TARGET_OBJECTS:NoTarget> DESTINATION objects) |