summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2016-01-03 10:55:50 (GMT)
committerGregor Jasny <gjasny@googlemail.com>2016-01-03 21:31:12 (GMT)
commitd8bc26a065f1999698c9b499ca793f9adf740a9d (patch)
treef168d6d19a004affab6540549b809067cf8a4521 /Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake
parentdc0ddb9e34f885d32f0fa3bb25072ec77e4a79bb (diff)
downloadCMake-d8bc26a065f1999698c9b499ca793f9adf740a9d.zip
CMake-d8bc26a065f1999698c9b499ca793f9adf740a9d.tar.gz
CMake-d8bc26a065f1999698c9b499ca793f9adf740a9d.tar.bz2
Xcode: Parse variant and genex for CMAKE_XCODE_ATTRIBUTE (#14947)
Diffstat (limited to 'Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake')
-rw-r--r--Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake48
1 files changed, 48 insertions, 0 deletions
diff --git a/Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake b/Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake
index 637df0f..8a39506 100644
--- a/Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake
+++ b/Tests/RunCMake/XcodeProject/XcodeAttributeGenex-check.cmake
@@ -1,3 +1,5 @@
+# per target attribute with genex
+
set(expect "TEST_HOST = \"[^;\"]*Tests/RunCMake/XcodeProject/XcodeAttributeGenex-build/[^;\"/]*/some\"")
file(STRINGS ${RunCMake_TEST_BINARY_DIR}/XcodeAttributeGenex.xcodeproj/project.pbxproj actual
REGEX "TEST_HOST = .*;" LIMIT_COUNT 1)
@@ -5,3 +7,49 @@ if(NOT "${actual}" MATCHES "${expect}")
message(SEND_ERROR "The actual project contains the line:\n ${actual}\n"
"which does not match expected regex:\n ${expect}\n")
endif()
+
+# per target attribute with variant
+
+file(STRINGS ${RunCMake_TEST_BINARY_DIR}/XcodeAttributeGenex.xcodeproj/project.pbxproj actual
+ REGEX "CONFIG_SPECIFIC = .*;")
+list(REMOVE_DUPLICATES actual)
+
+set(expect "CONFIG_SPECIFIC = general")
+if(NOT "${actual}" MATCHES "${expect}")
+ message(SEND_ERROR "The actual project contains the line:\n ${actual}\n"
+ "which does not match expected regex:\n ${expect}\n")
+endif()
+
+set(expect "CONFIG_SPECIFIC = release")
+if(NOT "${actual}" MATCHES "${expect}")
+ message(SEND_ERROR "The actual project contains the line:\n ${actual}\n"
+ "which does not match expected regex:\n ${expect}\n")
+endif()
+
+# global attribute with genex
+
+set(expect "ANOTHER_GLOBAL = \"[^;\"]*Tests/RunCMake/XcodeProject/XcodeAttributeGenex-build/[^;\"/]*/another\"")
+file(STRINGS ${RunCMake_TEST_BINARY_DIR}/XcodeAttributeGenex.xcodeproj/project.pbxproj actual
+ REGEX "ANOTHER_GLOBAL = .*;" LIMIT_COUNT 1)
+if(NOT "${actual}" MATCHES "${expect}")
+ message(SEND_ERROR "The actual project contains the line:\n ${actual}\n"
+ "which does not match expected regex:\n ${expect}\n")
+endif()
+
+# global attribute with variant
+
+file(STRINGS ${RunCMake_TEST_BINARY_DIR}/XcodeAttributeGenex.xcodeproj/project.pbxproj actual
+ REGEX "ANOTHER_CONFIG = .*;" LIMIT_COUNT 4)
+list(REMOVE_DUPLICATES actual)
+
+set(expect "ANOTHER_CONFIG = general")
+if(NOT "${actual}" MATCHES "${expect}")
+ message(SEND_ERROR "The actual project contains the line:\n ${actual}\n"
+ "which does not match expected regex:\n ${expect}\n")
+endif()
+
+set(expect "ANOTHER_CONFIG = debug")
+if(NOT "${actual}" MATCHES "${expect}")
+ message(SEND_ERROR "The actual project contains the line:\n ${actual}\n"
+ "which does not match expected regex:\n ${expect}\n")
+endif()