Fix the clang-wpa example.
[clang.git] / test / CMakeLists.txt
blobda9ca218cd5f71d1080c3c0233fc47f45839c399
1 set(CLANG_TEST_DIRECTORIES
2   "Analysis"
3   "CodeCompletion"
4   "CodeGen"
5   "CodeGenCXX"
6   "CodeGenObjC"
7   "CodeGenOpenCL"
8   "Coverage"
9   "CXX"
10   "Driver"
11   "FixIt"
12   "Frontend"
13   "Headers"
14   "Index"
15   "Lexer"
16   "Misc"
17   "PCH"
18   "Parser"
19   "Preprocessor"
20   "Rewriter"
21   "Sema"
22   "SemaCUDA"
23   "SemaCXX"
24   "SemaObjC"
25   "SemaObjCXX"
26   "SemaTemplate")
28 set(LLVM_SOURCE_DIR "${LLVM_MAIN_SRC_DIR}")
29 set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}")
30 set(LLVM_BUILD_MODE "%(build_mode)s")
31 set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
32 set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/%(build_config)s")
33 set(CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
34 set(CLANG_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
35 if(BUILD_SHARED_LIBS)
36   set(ENABLE_SHARED 1)
37 else()
38   set(ENABLE_SHARED 0)
39 endif(BUILD_SHARED_LIBS)
41 configure_file(
42   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
43   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
45 configure_file(
46   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
47   ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
48   @ONLY)
50 include(FindPythonInterp)
51 if(PYTHONINTERP_FOUND)
52   if( LLVM_MAIN_SRC_DIR )
53     set(LIT "${LLVM_SOURCE_DIR}/utils/lit/lit.py")
54   else()
55     set(LIT "${PATH_TO_LLVM_BUILD}/bin/${CMAKE_CFG_INTDIR}/llvm-lit")
56   endif()
58   if( PATH_TO_LLVM_BUILD )
59     set(CLANG_TEST_EXTRA_ARGS "--path=${CLANG_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}")
60   endif()
62   option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
63   if(CLANG_TEST_USE_VG)
64     set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
65   endif ()
67   set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}")
68   separate_arguments(LIT_ARGS)
70   add_custom_target(clang-test.deps)
72   foreach(testdir ${CLANG_TEST_DIRECTORIES})
73     add_custom_target(clang-test-${testdir}
74       COMMAND ${PYTHON_EXECUTABLE}
75                   ${LIT}
76                   --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
77                   --param build_config=${CMAKE_CFG_INTDIR}
78                   ${LIT_ARGS}
79                   ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
80                   DEPENDS clang c-index-test FileCheck not count
81                   COMMENT "Running Clang regression tests in ${testdir}")
82   endforeach()
84   add_custom_target(clang-test
85     COMMAND ${PYTHON_EXECUTABLE}
86                 ${LIT}
87                 --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
88                 --param clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
89                 --param build_config=${CMAKE_CFG_INTDIR}
90                 --param build_mode=${RUNTIME_BUILD_MODE}
91                 ${LIT_ARGS}
92                 ${CMAKE_CURRENT_BINARY_DIR}
93                 COMMENT "Running Clang regression tests")
95   add_custom_target(clang-c++tests
96     COMMAND ${PYTHON_EXECUTABLE}
97                 ${LIT}
98                 --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
99                 --param build_config=${CMAKE_CFG_INTDIR}
100                 ${LIT_ARGS}
101                 ${CMAKE_CURRENT_SOURCE_DIR}/../utils/C++Tests
102                 DEPENDS clang c-index-test FileCheck not count
103                 COMMENT "Running Clang regression tests")
105   if( NOT CLANG_BUILT_STANDALONE )
106      add_custom_target(check-all
107       COMMAND ${PYTHON_EXECUTABLE}
108                 ${LIT}
109                 --param build_config=${CMAKE_CFG_INTDIR}
110                 --param build_mode=${RUNTIME_BUILD_MODE}
111                 ${LIT_ARGS}
112                 ${LLVM_BINARY_DIR}/test
113                 ${CMAKE_CURRENT_BINARY_DIR}
114                 COMMENT "Running Clang and LLVM regression tests")
115     add_dependencies(check-all check.deps clang-test.deps)
116     add_dependencies(clang-test.deps ClangUnitTests)
117  endif()
119   add_dependencies(clang-test clang-test.deps)
120   add_dependencies(clang-test.deps
121                  clang clang-headers c-index-test
122                  llvm-dis opt
123                  FileCheck count not)
125 endif()