RunCMakeTest.cmake 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. include(RunCMake)
  2. run_cmake(empty_keyword_args)
  3. if (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
  4. macro(run_cmake_target test subtest target)
  5. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build)
  6. set(RunCMake_TEST_OUTPUT_MERGE 1)
  7. set(RunCMake_TEST_NO_CLEAN 1)
  8. run_cmake_command(${test}-${subtest} ${CMAKE_COMMAND} --build . --target ${target} ${ARGN})
  9. unset(RunCMake_TEST_BINARY_DIR)
  10. unset(RunCMake_TEST_OUTPUT_MERGE)
  11. unset(RunCMake_TEST_NO_CLEAN)
  12. endmacro()
  13. run_cmake(CMP0101-BEFORE_keyword)
  14. run_cmake_target(CMP0101-BEFORE_keyword OLD CMP0101_OLD)
  15. run_cmake_target(CMP0101-BEFORE_keyword NEW CMP0101_NEW)
  16. endif()
  17. function(run_Order)
  18. run_cmake_with_options(Order)
  19. set(RunCMake_TEST_NO_CLEAN 1)
  20. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Order-build)
  21. set(RunCMake_TEST_OUTPUT_MERGE 1)
  22. run_cmake_command(Order-build ${CMAKE_COMMAND} --build . --verbose --config Custom)
  23. endfunction()
  24. if(RunCMake_GENERATOR MATCHES "Ninja|Make" AND
  25. CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang)$" AND
  26. NOT CMAKE_C_SIMULATE_ID STREQUAL "MSVC")
  27. run_Order()
  28. endif()