diff options
author | Dennis Klein <d.klein@gsi.de> | 2019-06-13 14:40:01 (GMT) |
---|---|---|
committer | Dennis Klein <d.klein@gsi.de> | 2019-06-13 14:41:11 (GMT) |
commit | 4caefbb42369cf652df920edd07ee9e81eb95577 (patch) | |
tree | 4ebb103777b4c69889c25c3c55f7ee3ad571a9c6 /Tests/RunCMake/install/TARGETS-FILE_RPATH_CHANGE-check-common.cmake | |
parent | 749ce48eb5b2876b347115a857839fdf9c24a221 (diff) | |
download | CMake-4caefbb42369cf652df920edd07ee9e81eb95577.zip CMake-4caefbb42369cf652df920edd07ee9e81eb95577.tar.gz CMake-4caefbb42369cf652df920edd07ee9e81eb95577.tar.bz2 |
cmInstallTargetGenerator: Add tests for the RPATH_CHANGE rule
Diffstat (limited to 'Tests/RunCMake/install/TARGETS-FILE_RPATH_CHANGE-check-common.cmake')
-rw-r--r-- | Tests/RunCMake/install/TARGETS-FILE_RPATH_CHANGE-check-common.cmake | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Tests/RunCMake/install/TARGETS-FILE_RPATH_CHANGE-check-common.cmake b/Tests/RunCMake/install/TARGETS-FILE_RPATH_CHANGE-check-common.cmake new file mode 100644 index 0000000..673fdde --- /dev/null +++ b/Tests/RunCMake/install/TARGETS-FILE_RPATH_CHANGE-check-common.cmake @@ -0,0 +1,30 @@ +file(READ ${RunCMake_TEST_BINARY_DIR}/cmake_install.cmake install_script) +#message(STATUS ${install_script}) + +set(wsnl " *[\n\r]+ *") # whitespace + single newline + whitespace +set(wssl " *[\n\r]+[^\n\r]*[\n\r]+ *") # ws nl skipline nl ws +string(CONCAT prefix [[file\(RPATH_CHANGE]]) +set(_msg "cmake_install.cmake does not match ") + +macro(check) + if(NOT install_script MATCHES "${regex}") + message(STATUS "${test} - check \"${target}\" - FAILED:") + string(CONCAT RunCMake_TEST_FAILED "${_msg}" ">>>${regex}<<<") + return() + else() + message(STATUS "${test} - check \"${target}\" - PASSED") + endif() +endmacro() + +macro(skip_without_rpath_change_rule) +# Not all platforms generate a file(RPATH_CHANGE) rule + if(NOT install_script MATCHES [[file\(RPATH_CHANGE]]) + # Sanity check against a platform known to generate a file(RPATH_CHANGE) rule + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + message(FATAL_ERROR "Expected generated file(RPATH_CHANGE) rule on platform Linux.") + else() + message(STATUS "${test} - All checks skipped. No file(RPATH_CHANGE) rule found on this platform.") + return() + endif() + endif() +endmacro() |