summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/GenEx-LINK_GROUP
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/GenEx-LINK_GROUP')
-rw-r--r--Tests/RunCMake/GenEx-LINK_GROUP/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-result.txt1
-rw-r--r--Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-stderr.txt5
-rw-r--r--Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions.cmake12
4 files changed, 19 insertions, 0 deletions
diff --git a/Tests/RunCMake/GenEx-LINK_GROUP/RunCMakeTest.cmake b/Tests/RunCMake/GenEx-LINK_GROUP/RunCMakeTest.cmake
index 98eef35..f20d225 100644
--- a/Tests/RunCMake/GenEx-LINK_GROUP/RunCMakeTest.cmake
+++ b/Tests/RunCMake/GenEx-LINK_GROUP/RunCMakeTest.cmake
@@ -11,6 +11,7 @@ run_cmake(empty-arguments)
run_cmake(forbidden-arguments)
run_cmake(nested-incompatible-genex)
run_cmake(invalid-feature)
+run_cmake(multiple-definitions)
run_cmake(bad-feature1)
run_cmake(bad-feature2)
run_cmake(bad-feature3)
diff --git a/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-result.txt b/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-stderr.txt b/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-stderr.txt
new file mode 100644
index 0000000..995f363
--- /dev/null
+++ b/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at multiple-definitions.cmake:[0-9]+ \(add_library\):
+ Feature 'feat', specified through generator-expression '\$<LINK_GROUP>' to
+ link target 'lib', is not supported for the 'C' link language.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions.cmake b/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions.cmake
new file mode 100644
index 0000000..a021d44
--- /dev/null
+++ b/Tests/RunCMake/GenEx-LINK_GROUP/multiple-definitions.cmake
@@ -0,0 +1,12 @@
+enable_language(C)
+
+# Language specific definition takes precedence over more generic one
+set(CMAKE_C_LINK_GROUP_USING_feat "-BEFORE" "-AFTER")
+set(CMAKE_C_LINK_GROUP_USING_feat_SUPPORTED FALSE)
+set(CMAKE_LINK_GROUP_USING_feat "-BEFORE" "-AFTER")
+set(CMAKE_LINK_GROUP_USING_feat_SUPPORTED TRUE)
+
+add_library(dep SHARED empty.c)
+
+add_library(lib SHARED empty.c)
+target_link_libraries(lib PRIVATE "$<LINK_GROUP:feat,dep>")