Files
CMake/Tests/RunCMake/XcodeProject/XcodeIOSInstallCombinedPrune-install-check.cmake
Brad King 75901f0472 Tests: Fix RunCMake.XcodeProject XcodeIOSInstallCombined cases for Xcode 13.0
The output of `otool -vf` now contains additional content that happens
to be matched by our architectures regex.  Make the regex more strict.
2021-10-05 09:13:23 -04:00

27 lines
834 B
CMake

function(verify_architectures file)
execute_process(
COMMAND xcrun otool -vf ${RunCMake_TEST_BINARY_DIR}/_install/${file}
OUTPUT_VARIABLE otool_out
ERROR_VARIABLE otool_err
RESULT_VARIABLE otool_result)
if(NOT otool_result EQUAL "0")
message(SEND_ERROR "Could not retrieve fat headers: ${otool_err}")
return()
endif()
string(REGEX MATCHALL "\narchitecture [^ \n\t()]+" architectures ${otool_out})
string(REPLACE "\narchitecture " "" actual "${architectures}")
list(SORT actual)
set(expected armv7 x86_64)
if(NOT actual STREQUAL expected)
message(SEND_ERROR
"The actual library contains the architectures:\n ${actual} \n"
"which do not match expected ones:\n ${expected} \n"
"otool output:\n${otool_out}")
endif()
endfunction()
verify_architectures(lib/libfoo.dylib)