Files
CMake/Tests/RunCMake/AndroidMK/AndroidMK-check.cmake
Ben Boeckel c5b56b35c2 cmInstallExportGenerator: expose the temporary directory
This needs to be known so that C++ module properties for the install can
be staged beside the other files.

Always perform the MD5 transformation (in non-bootstrap builds) so that
the path can be computed prior to generation (where it used the longest
configuration name to detect too-long paths). Update tests to expect the
always-present MD5 value. Note that this improves robustness of the test
suite as testing in a too-long path may have triggered the MD5
conversion anyways.
2022-04-28 09:13:48 -04:00

31 lines
1.2 KiB
CMake

# 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/c8a72b7cccded047a31c221a6b84dd48/Android.mk"
"${RunCMake_TEST_SOURCE_DIR}/expectedInstallAndroidMK.txt")