1
0

RunCMakeTest.cmake 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. include(RunCMake)
  2. if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
  3. set(RunCMake_TEST_OPTIONS -DCMAKE_CONFIGURATION_TYPES=Debug)
  4. else()
  5. set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
  6. endif()
  7. run_cmake(ConfigCase)
  8. unset(RunCMake_TEST_OPTIONS)
  9. run_cmake(CMP0023-WARN)
  10. run_cmake(CMP0023-NEW)
  11. run_cmake(CMP0023-WARN-2)
  12. run_cmake(CMP0023-NEW-2)
  13. run_cmake(CMP0079-iface-WARN)
  14. run_cmake(CMP0079-iface-OLD)
  15. run_cmake(CMP0079-iface-NEW)
  16. run_cmake(CMP0079-link-WARN)
  17. run_cmake(CMP0079-link-OLD)
  18. run_cmake(CMP0079-link-NEW)
  19. run_cmake(CMP0079-link-NEW-bogus)
  20. run_cmake(ImportedTarget)
  21. run_cmake(ImportedTargetFailure)
  22. run_cmake(MixedSignature)
  23. run_cmake(Separate-PRIVATE-LINK_PRIVATE-uses)
  24. run_cmake(SharedDepNotTarget)
  25. run_cmake(StaticPrivateDepNotExported)
  26. run_cmake(StaticPrivateDepNotTarget)
  27. run_cmake(UNKNOWN-IMPORTED-GLOBAL)
  28. run_cmake(empty_keyword_args)
  29. run_cmake(genex_LINK_LANGUAGE-bad-usage)
  30. if (RunCMake_GENERATOR MATCHES "Makefiles|Ninja|Visual Studio|Xcode|Watcom WMake")
  31. run_cmake(genex_LINK_LANGUAGE-bad-mix-lang)
  32. run_cmake(genex_LINK_LANG_AND_ID-bad-mix-lang)
  33. macro(run_cmake_target test subtest target)
  34. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build)
  35. set(RunCMake_TEST_NO_CLEAN 1)
  36. run_cmake_command(${test}-${subtest} ${CMAKE_COMMAND} --build . --target ${target} ${ARGN})
  37. unset(RunCMake_TEST_BINARY_DIR)
  38. unset(RunCMake_TEST_NO_CLEAN)
  39. endmacro()
  40. set(RunCMake_TEST_OUTPUT_MERGE TRUE)
  41. if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
  42. set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Release)
  43. endif()
  44. run_cmake(genex_LINK_LANGUAGE)
  45. run_cmake_target(genex_LINK_LANGUAGE lib LinkLibraries_lib --config Release)
  46. run_cmake_target(genex_LINK_LANGUAGE lib2 LinkLibraries_lib2 --config Release)
  47. run_cmake_target(genex_LINK_LANGUAGE lib3 LinkLibraries_lib3 --config Release)
  48. run_cmake_target(genex_LINK_LANGUAGE exe LinkLibraries_exe --config Release)
  49. run_cmake_target(genex_LINK_LANGUAGE C_import LinkLibraries_C_import --config Release)
  50. run_cmake_target(genex_LINK_LANGUAGE CXX_import LinkLibraries_CXX_import --config Release)
  51. run_cmake_target(genex_LINK_LANGUAGE C_interface LinkLibraries_C_interface --config Release)
  52. run_cmake_target(genex_LINK_LANGUAGE CXX_interface LinkLibraries_CXX_interface --config Release)
  53. run_cmake_target(genex_LINK_LANGUAGE C_interface2 LinkLibraries_C_interface2 --config Release)
  54. run_cmake_target(genex_LINK_LANGUAGE CXX_interface2 LinkLibraries_CXX_interface2 --config Release)
  55. run_cmake_target(genex_LINK_LANGUAGE C_static LinkLibraries_C_static --config Release)
  56. run_cmake_target(genex_LINK_LANGUAGE CXX_static LinkLibraries_CXX_static --config Release)
  57. run_cmake(genex_LINK_LANG_AND_ID)
  58. run_cmake_target(genex_LINK_LANG_AND_ID lib LinkLibraries_lib --config Release)
  59. run_cmake_target(genex_LINK_LANG_AND_ID lib2 LinkLibraries_lib2 --config Release)
  60. run_cmake_target(genex_LINK_LANG_AND_ID lib3 LinkLibraries_lib3 --config Release)
  61. run_cmake_target(genex_LINK_LANG_AND_ID exe LinkLibraries_exe --config Release)
  62. run_cmake_target(genex_LINK_LANG_AND_ID C_import LinkLibraries_C_import --config Release)
  63. run_cmake_target(genex_LINK_LANG_AND_ID CXX_import LinkLibraries_CXX_import --config Release)
  64. run_cmake_target(genex_LINK_LANG_AND_ID C_interface LinkLibraries_C_interface --config Release)
  65. run_cmake_target(genex_LINK_LANG_AND_ID CXX_interface LinkLibraries_CXX_interface --config Release)
  66. run_cmake_target(genex_LINK_LANG_AND_ID C_interface2 LinkLibraries_C_interface2 --config Release)
  67. run_cmake_target(genex_LINK_LANG_AND_ID CXX_interface2 LinkLibraries_CXX_interface2 --config Release)
  68. run_cmake_target(genex_LINK_LANG_AND_ID CXX_static LinkLibraries_CXX_static --config Release)
  69. unset(RunCMake_TEST_OPTIONS)
  70. unset(RunCMake_TEST_OUTPUT_MERGE)
  71. endif()