CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #
  2. # Helper macro
  3. #
  4. macro(add_cmakescript_test testname script)
  5. add_test(cmake_${testname} ${CMAKE_COMMAND}
  6. -DTEST_${testname}:BOOL=ON
  7. -P ${CMAKE_SOURCE_DIR}/CMake/${script}.cmake)
  8. set_tests_properties(cmake_${testname} PROPERTIES
  9. LABELS CMake
  10. PASS_REGULAR_EXPRESSION "SUCCESS")
  11. endmacro()
  12. set(CMAKE_TEST_GENERATOR "${CMAKE_GENERATOR}")
  13. set(CMAKE_TEST_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}")
  14. set(CMAKE_TEST_MAKEPROGRAM "${CMAKE_MAKE_PROGRAM}")
  15. set(build_generator_args
  16. --build-generator ${CMAKE_TEST_GENERATOR}
  17. --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
  18. )
  19. if(CMAKE_TEST_GENERATOR_TOOLSET)
  20. list(APPEND build_generator_args
  21. --build-generator-toolset ${CMAKE_TEST_GENERATOR_TOOLSET}
  22. )
  23. endif()
  24. #
  25. # Add 'CMake script' Tests
  26. #
  27. add_cmakescript_test(ctk_list_to_string_test ctkListToString)
  28. add_cmakescript_test(_sb_cmakevar_to_cmakearg_test ctkMacroCheckExternalProjectDependencyTest)
  29. add_cmakescript_test(_sb_extract_varname_and_vartype_test ctkMacroCheckExternalProjectDependencyTest)
  30. add_test(cmake_superbuild_test ${CMAKE_CTEST_COMMAND}
  31. --build-and-test
  32. "${CMAKE_SOURCE_DIR}/CMake/Testing/SuperBuildTest"
  33. "${CMAKE_BINARY_DIR}/CMake/Testing/SuperBuildTest"
  34. ${build_generator_args}
  35. --build-project SuperBuildTest
  36. --build-exe-dir "${CMAKE_BINARY_DIR}/CMake/Testing/SuperBuildTest"
  37. --force-new-ctest-process
  38. --test-command ${CMAKE_CTEST_COMMAND} -V
  39. )
  40. set_tests_properties(cmake_superbuild_test PROPERTIES LABELS CMake)