| 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_target_cmp0142old_LIBRARY_SEARCH_PATHS 0) | |
| set(found_target_cmp0142new_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 = \("(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathCMP0142OLD/\$\(CONFIGURATION\)\$\(EFFECTIVE_PLATFORM_NAME\)(\\")?","(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathCMP0142OLD(\\")?","\$\(inherited\)"\);]]) | |
| set(found_target_cmp0142old_LIBRARY_SEARCH_PATHS 1) | |
| endif() | |
| if(line MATCHES [[LIBRARY_SEARCH_PATHS = \("(\\")?[^"]*/Tests/RunCMake/XcodeProject/SearchPaths-build/TargetSearchPathCMP0142NEW(\\")?","\$\(inherited\)"\);]]) | |
| set(found_target_cmp0142new_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(NOT found_target_cmp0142old_LIBRARY_SEARCH_PATHS) | |
| string(APPEND RunCMake_TEST_FAILED "Did not find expected LIBRARY_SEARCH_PATHS for target 'cmp0142old' in\n ${xcProjectFile}\n") | |
| endif() | |
| if(NOT found_target_cmp0142new_LIBRARY_SEARCH_PATHS) | |
| string(APPEND RunCMake_TEST_FAILED "Did not find expected LIBRARY_SEARCH_PATHS for target 'cmp0142new' 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() |