Home | History | Annotate | Download | only in test
      1 llvm_canonicalize_cmake_booleans(
      2   LLVM_TOOL_LTO_BUILD
      3   HAVE_OCAMLOPT
      4   HAVE_OCAML_OUNIT
      5   LLVM_INCLUDE_GO_TESTS
      6   LLVM_USE_INTEL_JITEVENTS
      7   HAVE_LIBZ
      8   HAVE_LIBXAR
      9   LLVM_ENABLE_DIA_SDK
     10   LLVM_ENABLE_FFI
     11   BUILD_SHARED_LIBS
     12   LLVM_LINK_LLVM_DYLIB
     13   )
     14 
     15 configure_lit_site_cfg(
     16   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
     17   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
     18   MAIN_CONFIG
     19   ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
     20   )
     21 configure_lit_site_cfg(
     22   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in
     23   ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py
     24   MAIN_CONFIG
     25   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
     26   )
     27 
     28 # Don't include check-llvm into check-all without LLVM_BUILD_TOOLS.
     29 if(NOT LLVM_BUILD_TOOLS)
     30   set(EXCLUDE_FROM_ALL ON)
     31 endif()
     32 
     33 # Set the depends list as a variable so that it can grow conditionally.
     34 # NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
     35 set(LLVM_TEST_DEPENDS
     36           BugpointPasses
     37           FileCheck
     38           LLVMHello
     39           UnitTests
     40           bugpoint
     41           count
     42           llc
     43           lli
     44           lli-child-target
     45           llvm-ar
     46           llvm-as
     47           llvm-bcanalyzer
     48           llvm-c-test
     49           llvm-cat
     50           llvm-cfi-verify
     51           llvm-config
     52           llvm-cov
     53           llvm-cvtres
     54           llvm-cxxdump
     55           llvm-cxxfilt
     56           llvm-diff
     57           llvm-dis
     58           llvm-dlltool
     59           dsymutil
     60           llvm-dwarfdump
     61           llvm-dwp
     62           llvm-extract
     63           llvm-isel-fuzzer
     64           llvm-lib
     65           llvm-link
     66           llvm-lto2
     67           llvm-mc
     68           llvm-mca
     69           llvm-modextract
     70           llvm-mt
     71           llvm-nm
     72           llvm-objcopy
     73           llvm-objdump
     74           llvm-opt-fuzzer
     75           llvm-opt-report
     76           llvm-pdbutil
     77           llvm-profdata
     78           llvm-ranlib
     79           llvm-rc
     80           llvm-readobj
     81           llvm-readelf
     82           llvm-rtdyld
     83           llvm-size
     84           llvm-split
     85           llvm-strings
     86           llvm-strip
     87           llvm-symbolizer
     88           llvm-tblgen
     89           llvm-undname
     90           llvm-xray
     91           not
     92           obj2yaml
     93           opt
     94           sancov
     95           sanstats
     96           verify-uselistorder
     97           yaml-bench
     98           yaml2obj
     99         )
    100 
    101 if(TARGET llvm-lto)
    102   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto)
    103 endif()
    104 
    105 # If Intel JIT events are supported, depend on a tool that tests the listener.
    106 if( LLVM_USE_INTEL_JITEVENTS )
    107   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)
    108 endif( LLVM_USE_INTEL_JITEVENTS )
    109 
    110 if(TARGET LLVMgold)
    111   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)
    112 endif()
    113 
    114 if(TARGET llvm-go)
    115   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-go)
    116 endif()
    117 
    118 if(TARGET LTO)
    119   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO)
    120 endif()
    121 
    122 if(LLVM_BUILD_EXAMPLES)
    123   list(APPEND LLVM_TEST_DEPENDS
    124     Kaleidoscope-Ch3
    125     Kaleidoscope-Ch4
    126     Kaleidoscope-Ch5
    127     Kaleidoscope-Ch6
    128     Kaleidoscope-Ch7
    129     )
    130 endif()
    131 
    132 if(TARGET ocaml_llvm)
    133   # Clear all non-OCaml cross-target dependencies when building out-of-tree.
    134   if(LLVM_OCAML_OUT_OF_TREE)
    135     set(LLVM_TEST_DEPENDS)
    136   endif()
    137 
    138   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}
    139           ocaml_llvm
    140           ocaml_llvm_all_backends
    141           ocaml_llvm_analysis
    142           ocaml_llvm_bitreader
    143           ocaml_llvm_bitwriter
    144           ocaml_llvm_executionengine
    145           ocaml_llvm_irreader
    146           ocaml_llvm_linker
    147           ocaml_llvm_target
    148           ocaml_llvm_ipo
    149           ocaml_llvm_passmgr_builder
    150           ocaml_llvm_scalar_opts
    151           ocaml_llvm_transform_utils
    152           ocaml_llvm_vectorize
    153         )
    154 endif()
    155 
    156 add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS})
    157 set_target_properties(llvm-test-depends PROPERTIES FOLDER "Tests")
    158 
    159 add_lit_testsuite(check-llvm "Running the LLVM regression tests"
    160   ${CMAKE_CURRENT_BINARY_DIR}
    161   DEPENDS ${LLVM_TEST_DEPENDS}
    162   )
    163 set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
    164 
    165 add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}
    166   DEPENDS ${LLVM_TEST_DEPENDS}
    167   )
    168 
    169 # Setup a legacy alias for 'check-llvm'. This will likely change to be an
    170 # alias for 'check-all' at some point in the future.
    171 add_custom_target(check)
    172 add_dependencies(check check-llvm)
    173 set_target_properties(check PROPERTIES FOLDER "Tests")
    174