summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/XcodeProject/SearchPaths-check.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/XcodeProject/SearchPaths-check.cmake')
-rw-r--r--Tests/RunCMake/XcodeProject/SearchPaths-check.cmake76
1 files changed, 76 insertions, 0 deletions
diff --git a/Tests/RunCMake/XcodeProject/SearchPaths-check.cmake b/Tests/RunCMake/XcodeProject/SearchPaths-check.cmake
new file mode 100644
index 0000000..71b7d8f
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/SearchPaths-check.cmake
@@ -0,0 +1,76 @@
+set(xcProjectFile "${RunCMake_TEST_BINARY_DIR}/SearchPaths.xcodeproj/project.pbxproj")
+if(NOT EXISTS "${xcProjectFile}")
+ set(RunCMake_TEST_FAILED "Project file ${xcProjectFile} does not exist.")
+ return()
+endif()
+
+set(relevant_lines "")
+set(found_project_FRAMEWORK_SEARCH_PATHS 0)
+set(found_target_both_FRAMEWORK_SEARCH_PATHS 0)
+set(found_target_include_FRAMEWORK_SEARCH_PATHS 0)
+set(found_target_library_FRAMEWORK_SEARCH_PATHS 0)
+set(found_inherited_FRAMEWORK_SEARCH_PATHS 0)
+set(found_project_LIBRARY_SEARCH_PATHS 0)
+set(found_target_library_LIBRARY_SEARCH_PATHS 0)
+set(found_inherited_LIBRARY_SEARCH_PATHS 0)
+file(STRINGS "${xcProjectFile}" lines)
+foreach(line IN LISTS lines)
+ if(line MATCHES [[FRAMEWORK_SEARCH_PATHS]])
+ string(APPEND relevant_lines " ${line}\n")
+ if(line MATCHES [[FRAMEWORK_SEARCH_PATHS = "[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/ProjectSearchPath";]])
+ set(found_project_FRAMEWORK_SEARCH_PATHS 1)
+ endif()
+ if(line MATCHES [[FRAMEWORK_SEARCH_PATHS = \("(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathInc(\\")?","(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathLib(\\")?","\$\(inherited\)"\);]])
+ set(found_target_both_FRAMEWORK_SEARCH_PATHS 1)
+ endif()
+ if(line MATCHES [[FRAMEWORK_SEARCH_PATHS = \("(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathInc(\\")?","\$\(inherited\)"\);]])
+ set(found_target_include_FRAMEWORK_SEARCH_PATHS 1)
+ endif()
+ if(line MATCHES [[FRAMEWORK_SEARCH_PATHS = \("(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathLib(\\")?","\$\(inherited\)"\);]])
+ set(found_target_library_FRAMEWORK_SEARCH_PATHS 1)
+ endif()
+ if(line MATCHES [[FRAMEWORK_SEARCH_PATHS = \("\$\(inherited\)"\);]])
+ set(found_inherited_FRAMEWORK_SEARCH_PATHS 1)
+ endif()
+ endif()
+
+ if(line MATCHES [[LIBRARY_SEARCH_PATHS]])
+ string(APPEND relevant_lines " ${line}\n")
+ if(line MATCHES [[LIBRARY_SEARCH_PATHS = "[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/ProjectSearchPath";]])
+ set(found_project_LIBRARY_SEARCH_PATHS 1)
+ endif()
+ if(line MATCHES [[LIBRARY_SEARCH_PATHS = \("(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathLib/\$\(CONFIGURATION\)\$\(EFFECTIVE_PLATFORM_NAME\)(\\")?","(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathLib(\\")?","\$\(inherited\)"\);]])
+ set(found_target_library_LIBRARY_SEARCH_PATHS 1)
+ endif()
+ if(line MATCHES [[LIBRARY_SEARCH_PATHS = \("\$\(inherited\)"\);]])
+ set(found_inherited_LIBRARY_SEARCH_PATHS 1)
+ endif()
+ endif()
+endforeach()
+if(NOT found_project_FRAMEWORK_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Did not find expected FRAMEWORK_SEARCH_PATHS for project in\n ${xcProjectFile}\n")
+endif()
+if(NOT found_target_both_FRAMEWORK_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Did not find expected FRAMEWORK_SEARCH_PATHS for target 'both' in\n ${xcProjectFile}\n")
+endif()
+if(NOT found_target_include_FRAMEWORK_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Did not find expected LIBRARY_SEARCH_PATHS for target 'include' in\n ${xcProjectFile}\n")
+endif()
+if(NOT found_target_library_FRAMEWORK_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Did not find expected LIBRARY_SEARCH_PATHS for target 'library' in\n ${xcProjectFile}\n")
+endif()
+if(found_inherited_FRAMEWORK_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Found unexpected LIBRARY_SEARCH_PATHS inherited-only value in\n ${xcProjectFile}\n")
+endif()
+if(NOT found_project_LIBRARY_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Did not find expected LIBRARY_SEARCH_PATHS for project in\n ${xcProjectFile}\n")
+endif()
+if(NOT found_target_library_LIBRARY_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Did not find expected LIBRARY_SEARCH_PATHS for target 'library' in\n ${xcProjectFile}\n")
+endif()
+if(found_inherited_LIBRARY_SEARCH_PATHS)
+ string(APPEND RunCMake_TEST_FAILED "Found unexpected LIBRARY_SEARCH_PATHS inherited-only value in\n ${xcProjectFile}\n")
+endif()
+if(RunCMake_TEST_FAILED)
+ string(APPEND RunCMake_TEST_FAILED "Relevant lines include\n${relevant_lines}")
+endif()