CMake/Tests/RunCMake/AndroidMK/AndroidMK-check.cmake

31 lines
1.2 KiB
CMake
Raw Normal View History

# This file does a regex file compare on the generated
# Android.mk files from the AndroidMK test
macro(compare_file_to_expected file expected_file)
file(READ "${file}" ANDROID_MK)
# clean up new lines
string(REGEX REPLACE "\r\n" "\n" ANDROID_MK "${ANDROID_MK}")
string(REGEX REPLACE "\n+$" "" ANDROID_MK "${ANDROID_MK}")
# read in the expected regex file
file(READ "${expected_file}" expected)
# clean up new lines
string(REGEX REPLACE "\r\n" "\n" expected "${expected}")
string(REGEX REPLACE "\n+$" "" expected "${expected}")
# compare the file to the expected regex and if there is not a match
# put an error message in RunCMake_TEST_FAILED
if(NOT "${ANDROID_MK}" MATCHES "${expected}")
set(RunCMake_TEST_FAILED
"${file} does not match ${expected_file}:
Android.mk contents = [\n${ANDROID_MK}\n]
Expected = [\n${expected}\n]")
endif()
endmacro()
compare_file_to_expected(
"${RunCMake_BINARY_DIR}/AndroidMK-build/Android.mk"
"${RunCMake_TEST_SOURCE_DIR}/expectedBuildAndroidMK.txt")
compare_file_to_expected(
"${RunCMake_BINARY_DIR}/AndroidMK-build/CMakeFiles/Export/share/ndk-modules/Android.mk"
"${RunCMake_TEST_SOURCE_DIR}/expectedInstallAndroidMK.txt")