summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-07-09 17:11:38 (GMT)
committerBrad King <brad.king@kitware.com>2014-07-14 13:09:32 (GMT)
commitaffe9d56a2e17683dc87c457c27cad7f39b0ad56 (patch)
tree47df80de0c25aa6e4d7e79ee503100a52dcb32d1 /Tests/RunCMake
parent55d3e88fb7eb5cfdb58c5617133dfaf70d3b0547 (diff)
downloadCMake-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.txt14
-rw-r--r--Tests/RunCMake/TargetObjects/BadContext.cmake3
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)