CMakeLists.txt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. configure_lit_site_cfg(
  2. ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
  3. ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
  4. )
  5. configure_lit_site_cfg(
  6. ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
  7. ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
  8. )
  9. # Don't include check-llvm into check-all without LLVM_BUILD_TOOLS.
  10. if(NOT LLVM_BUILD_TOOLS)
  11. set(EXCLUDE_FROM_ALL ON)
  12. endif()
  13. # Set the depends list as a variable so that it can grow conditionally.
  14. # NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
  15. set(LLVM_TEST_DEPENDS
  16. llvm-config
  17. UnitTests
  18. BugpointPasses
  19. LLVMHello
  20. bugpoint
  21. llc
  22. lli
  23. lli-child-target
  24. llvm-ar
  25. llvm-as
  26. llvm-bcanalyzer
  27. llvm-c-test
  28. llvm-cov
  29. llvm-cxxdump
  30. llvm-diff
  31. llvm-dis
  32. llvm-dsymutil
  33. llvm-dwarfdump
  34. llvm-extract
  35. llvm-lib
  36. llvm-link
  37. llvm-lto
  38. llvm-mc
  39. llvm-mcmarkup
  40. llvm-nm
  41. llvm-objdump
  42. llvm-profdata
  43. llvm-ranlib
  44. llvm-readobj
  45. llvm-rtdyld
  46. llvm-size
  47. llvm-symbolizer
  48. llvm-tblgen
  49. macho-dump
  50. opt
  51. FileCheck
  52. count
  53. not
  54. yaml-bench
  55. yaml2obj
  56. obj2yaml
  57. verify-uselistorder
  58. )
  59. # If Intel JIT events are supported, depend on a tool that tests the listener.
  60. if( LLVM_USE_INTEL_JITEVENTS )
  61. set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)
  62. endif( LLVM_USE_INTEL_JITEVENTS )
  63. if(TARGET LLVMgold)
  64. set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)
  65. endif()
  66. if(TARGET llvm-go)
  67. set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-go)
  68. endif()
  69. if(APPLE)
  70. set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO)
  71. endif()
  72. if(TARGET ocaml_llvm)
  73. set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}
  74. ocaml_llvm
  75. ocaml_llvm_all_backends
  76. ocaml_llvm_analysis
  77. ocaml_llvm_bitreader
  78. ocaml_llvm_bitwriter
  79. ocaml_llvm_executionengine
  80. ocaml_llvm_irreader
  81. ocaml_llvm_linker
  82. ocaml_llvm_target
  83. ocaml_llvm_ipo
  84. ocaml_llvm_passmgr_builder
  85. ocaml_llvm_scalar_opts
  86. ocaml_llvm_transform_utils
  87. ocaml_llvm_vectorize
  88. )
  89. endif()
  90. add_lit_testsuite(check-llvm "Running the LLVM regression tests"
  91. ${CMAKE_CURRENT_BINARY_DIR}
  92. PARAMS llvm_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
  93. llvm_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
  94. DEPENDS ${LLVM_TEST_DEPENDS}
  95. )
  96. set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
  97. add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}
  98. PARAMS llvm_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
  99. llvm_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
  100. DEPENDS ${LLVM_TEST_DEPENDS}
  101. )
  102. # Setup a legacy alias for 'check-llvm'. This will likely change to be an
  103. # alias for 'check-all' at some point in the future.
  104. add_custom_target(check)
  105. add_dependencies(check check-llvm)
  106. set_target_properties(check PROPERTIES FOLDER "Tests")