RunCMakeTest.cmake 957 B

123456789101112131415161718192021222324252627282930313233
  1. include(RunCMake)
  2. macro(run_cmake_target test subtest target)
  3. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build)
  4. set(RunCMake_TEST_NO_CLEAN 1)
  5. run_cmake_command(${test}-${subtest} ${CMAKE_COMMAND} --build . --target ${target} ${ARGN})
  6. unset(RunCMake_TEST_BINARY_DIR)
  7. unset(RunCMake_TEST_NO_CLEAN)
  8. endmacro()
  9. run_cmake(empty_keyword_args)
  10. if(RunCMake_GENERATOR MATCHES "(Ninja|Makefiles)" AND
  11. NOT RunCMake_GENERATOR MATCHES "(NMake|Borland)")
  12. set(RunCMake_TEST_OUTPUT_MERGE TRUE)
  13. if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
  14. set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Release)
  15. endif()
  16. if (RunCMake_GENERATOR MATCHES "Ninja")
  17. set(VERBOSE -- -v)
  18. endif()
  19. run_cmake(CMP0099-NEW)
  20. run_cmake_target(CMP0099-NEW basic LinkDirs_exe ${VERBOSE})
  21. run_cmake(CMP0099-OLD)
  22. run_cmake_target(CMP0099-OLD basic LinkDirs_exe ${VERBOSE})
  23. unset(RunCMake_TEST_OPTIONS)
  24. unset(RunCMake_TEST_OUTPUT_MERGE)
  25. endif()