| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- include(RunCMake)
- function(run_cmp0116 status warn)
- if(warn)
- set(name CMP0116-${status}-WARN)
- else()
- set(name CMP0116-${status}-NOWARN)
- endif()
- set(RunCMake_TEST_OPTIONS
- -DCMAKE_POLICY_WARNING_CMP0116:BOOL=${warn}
- )
- if(NOT status STREQUAL "WARN")
- list(APPEND RunCMake_TEST_OPTIONS
- -DCMAKE_POLICY_DEFAULT_CMP0116:STRING=${status}
- )
- endif()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
- run_cmake(${name})
- unset(RunCMake_TEST_OPTIONS)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake-check-file check.cmake)
- file(TOUCH "${RunCMake_TEST_BINARY_DIR}/topdep.txt")
- file(TOUCH "${RunCMake_TEST_BINARY_DIR}/Subdirectory/subdep.txt")
- set(cmp0116_step 1)
- run_cmake_command(${name}-build1 ${CMAKE_COMMAND} --build . --config Debug)
- file(REMOVE "${RunCMake_TEST_BINARY_DIR}/topstamp.txt")
- file(REMOVE "${RunCMake_TEST_BINARY_DIR}/Subdirectory/substamp.txt")
- execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1.25)
- file(TOUCH "${RunCMake_TEST_BINARY_DIR}/topdep.txt")
- file(TOUCH "${RunCMake_TEST_BINARY_DIR}/Subdirectory/subdep.txt")
- set(cmp0116_step 2)
- run_cmake_command(${name}-build2 ${CMAKE_COMMAND} --build . --config Debug)
- file(REMOVE "${RunCMake_TEST_BINARY_DIR}/topstamp.txt")
- file(REMOVE "${RunCMake_TEST_BINARY_DIR}/Subdirectory/substamp.txt")
- execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1.25)
- set(cmp0116_step 3)
- run_cmake_command(${name}-build3 ${CMAKE_COMMAND} --build . --config Debug)
- endfunction()
- run_cmp0116(WARN OFF)
- run_cmp0116(OLD OFF)
- run_cmp0116(NEW OFF)
- run_cmp0116(WARN ON)
- run_cmp0116(OLD ON)
- run_cmp0116(NEW ON)
|