RunCMakeTest.cmake 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. include(RunCMake)
  2. function(run_build name)
  3. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
  4. run_cmake(${name})
  5. set(RunCMake_TEST_NO_CLEAN 1)
  6. run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --config Debug)
  7. endfunction()
  8. run_cmake(unitybuild_c)
  9. run_cmake(unitybuild_c_batch)
  10. run_cmake(unitybuild_c_group)
  11. run_cmake(unitybuild_cxx)
  12. run_cmake(unitybuild_cxx_group)
  13. run_cmake(unitybuild_c_and_cxx)
  14. run_cmake(unitybuild_c_and_cxx_group)
  15. if(CMake_TEST_OBJC)
  16. run_cmake(unitybuild_objc)
  17. run_cmake(unitybuild_objc_group)
  18. run_cmake(unitybuild_objcxx)
  19. run_cmake(unitybuild_objcxx_group)
  20. run_cmake(unitybuild_c_and_cxx_and_objc_and_objcxx)
  21. endif()
  22. if(CMake_TEST_CUDA)
  23. run_cmake(unitybuild_cuda)
  24. run_cmake(unitybuild_cuda_group)
  25. run_cmake(unitybuild_cxx_and_cuda)
  26. endif()
  27. run_cmake(unitybuild_batchsize)
  28. run_cmake(unitybuild_default_batchsize)
  29. run_cmake(unitybuild_skip)
  30. run_cmake(unitybuild_code_before_and_after_include)
  31. run_cmake(unitybuild_c_no_unity_build)
  32. run_cmake(unitybuild_c_no_unity_build_group)
  33. run_cmake(unitybuild_order)
  34. run_cmake(unitybuild_invalid_mode)
  35. run_build(unitybuild_anon_ns)
  36. run_build(unitybuild_anon_ns_no_unity_build)
  37. run_build(unitybuild_anon_ns_group_mode)
  38. function(run_per_config name)
  39. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
  40. run_cmake(${name})
  41. set(RunCMake_TEST_NO_CLEAN 1)
  42. if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
  43. run_cmake_command(${name}-build-debug ${CMAKE_COMMAND} --build . --config Debug)
  44. run_cmake_command(${name}-build-release ${CMAKE_COMMAND} --build . --config Release)
  45. else()
  46. run_cmake_command(${name}-build ${CMAKE_COMMAND} --build .)
  47. endif()
  48. endfunction()
  49. if(NOT RunCMake_GENERATOR STREQUAL "Xcode")
  50. run_per_config(per_config_c)
  51. endif()
  52. function(run_test name)
  53. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
  54. run_cmake(${name})
  55. set(RunCMake_TEST_NO_CLEAN 1)
  56. run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --config Debug)
  57. run_cmake_command(${name}-test ${CMAKE_CTEST_COMMAND} -C Debug)
  58. endfunction()
  59. run_test(unitybuild_runtest)
  60. run_test(unitybuild_object_library)