CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # Test runner infrastructure for Clang. This configures the Clang test trees
  2. # for use by Lit, and delegates to LLVM's lit test handlers.
  3. if (CMAKE_CFG_INTDIR STREQUAL ".")
  4. set(LLVM_BUILD_MODE ".")
  5. else ()
  6. set(LLVM_BUILD_MODE "%(build_mode)s")
  7. endif ()
  8. string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
  9. configure_lit_site_cfg(
  10. ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
  11. ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
  12. )
  13. configure_lit_site_cfg(
  14. ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
  15. ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
  16. )
  17. option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
  18. if(CLANG_TEST_USE_VG)
  19. set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
  20. endif ()
  21. list(APPEND CLANG_TEST_DEPS
  22. clang clang-headers
  23. clang-check clang-format
  24. c-index-test diagtool
  25. clang-tblgen
  26. )
  27. if (CLANG_ENABLE_ARCMT)
  28. list(APPEND CLANG_TEST_DEPS
  29. arcmt-test
  30. c-arcmt-test
  31. )
  32. endif ()
  33. if (ENABLE_CLANG_EXAMPLES)
  34. list(APPEND CLANG_TEST_DEPS
  35. clang-interpreter
  36. PrintFunctionNames
  37. )
  38. endif ()
  39. if (ENABLE_CLANG_STATIC_ANALYZER AND ENABLE_CLANG_EXAMPLES)
  40. list(APPEND CLANG_TEST_DEPS
  41. SampleAnalyzerPlugin
  42. )
  43. endif ()
  44. set(CLANG_TEST_PARAMS
  45. clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
  46. )
  47. if( NOT CLANG_BUILT_STANDALONE )
  48. list(APPEND CLANG_TEST_DEPS
  49. llvm-config
  50. llc opt FileCheck count not llvm-symbolizer llvm-profdata llvm-objdump
  51. )
  52. endif()
  53. add_lit_testsuite(check-clang "Running the Clang regression tests"
  54. ${CMAKE_CURRENT_BINARY_DIR}
  55. #LIT ${LLVM_LIT}
  56. PARAMS ${CLANG_TEST_PARAMS}
  57. DEPENDS ${CLANG_TEST_DEPS}
  58. ARGS ${CLANG_TEST_EXTRA_ARGS}
  59. )
  60. set_target_properties(check-clang PROPERTIES FOLDER "Clang tests")
  61. # Add a legacy target spelling: clang-test
  62. add_custom_target(clang-test)
  63. add_dependencies(clang-test check-clang)
  64. set_target_properties(clang-test PROPERTIES FOLDER "Clang tests")