Update analyzer build.
[clang.git] / test / CMakeLists.txt
blob09f69720e0ec9145f56506f659032bd92ee00250
1 set(CLANG_TEST_DIRECTORIES
2   "Analysis"
3   "CodeCompletion"
4   "CodeGen"
5   "CodeGenCXX"
6   "CodeGenObjC"
7   "Coverage"
8   "CXX"
9   "Driver"
10   "FixIt"
11   "Frontend"
12   "Headers"
13   "Index"
14   "Lexer"
15   "Misc"
16   "PCH"
17   "Parser"
18   "Preprocessor"
19   "Rewriter"
20   "Sema"
21   "SemaCUDA"
22   "SemaCXX"
23   "SemaObjC"
24   "SemaObjCXX"
25   "SemaTemplate")
27 set(LLVM_SOURCE_DIR "${LLVM_MAIN_SRC_DIR}")
28 set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}")
29 set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
30 set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/%(build_config)s")
31 set(CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
32 set(CLANG_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
34 configure_file(
35   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
36   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
38 include(FindPythonInterp)
39 if(PYTHONINTERP_FOUND)
40   set(CLANG_TEST_EXTRA_ARGS)
42   option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
43   if(CLANG_TEST_USE_VG)
44     set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
45   endif ()
47   set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}")
48   separate_arguments(LIT_ARGS)
50   foreach(testdir ${CLANG_TEST_DIRECTORIES})
51     add_custom_target(clang-test-${testdir}
52       COMMAND ${PYTHON_EXECUTABLE}
53                   ${LLVM_SOURCE_DIR}/utils/lit/lit.py
54                   --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
55                   --param build_config=${CMAKE_CFG_INTDIR}
56                   ${LIT_ARGS}
57                   ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
58                   DEPENDS clang c-index-test FileCheck not count
59                   COMMENT "Running Clang regression tests in ${testdir}")
60   endforeach()
62   add_custom_target(clang-test
63     COMMAND ${PYTHON_EXECUTABLE}
64                 ${LLVM_SOURCE_DIR}/utils/lit/lit.py
65                 --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
66                 --param build_config=${CMAKE_CFG_INTDIR}
67                 ${LIT_ARGS}
68                 ${CMAKE_CURRENT_BINARY_DIR}
69                 DEPENDS clang c-index-test FileCheck not count
70                 COMMENT "Running Clang regression tests")
72   add_custom_target(clang-c++tests
73     COMMAND ${PYTHON_EXECUTABLE}
74                 ${LLVM_SOURCE_DIR}/utils/lit/lit.py
75                 --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
76                 --param build_config=${CMAKE_CFG_INTDIR}
77                 ${LIT_ARGS}
78                 ${CMAKE_CURRENT_SOURCE_DIR}/../utils/C++Tests
79                 DEPENDS clang c-index-test FileCheck not count
80                 COMMENT "Running Clang regression tests")
82   add_custom_target(check-all
83     COMMAND ${PYTHON_EXECUTABLE}
84                 ${LLVM_SOURCE_DIR}/utils/lit/lit.py
85                 --param build_config=${CMAKE_CFG_INTDIR}
86                 --param build_mode=${RUNTIME_BUILD_MODE}
87                 ${LIT_ARGS}
88                 ${LLVM_BINARY_DIR}/test
89                 ${CMAKE_CURRENT_BINARY_DIR}
90                 COMMENT "Running Clang and LLVM regression tests")
91 endif()