StmtPrinter: factor out arg printing code to PrintCallArgs
[clang.git] / test / CMakeLists.txt
blob4c15e8f5f8624c61518e69f7b22b8f31777c7531
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}/..")
33 if(BUILD_SHARED_LIBS)
34   set(ENABLE_SHARED 1)
35 else()
36   set(ENABLE_SHARED 0)
37 endif(BUILD_SHARED_LIBS)
39 configure_file(
40   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
41   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
43 configure_file(
44   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
45   ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
46   @ONLY)
48 include(FindPythonInterp)
49 if(PYTHONINTERP_FOUND)
50   if( LLVM_MAIN_SRC_DIR )
51     set(LIT "${LLVM_SOURCE_DIR}/utils/lit/lit.py")
52   else()
53     set(LIT "${PATH_TO_LLVM_BUILD}/bin/${CMAKE_CFG_INTDIR}/llvm-lit")
54   endif()
56   if( PATH_TO_LLVM_BUILD )
57     set(CLANG_TEST_EXTRA_ARGS "--path=${CLANG_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}")
58   endif()
60   option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
61   if(CLANG_TEST_USE_VG)
62     set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
63   endif ()
65   set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}")
66   separate_arguments(LIT_ARGS)
68   foreach(testdir ${CLANG_TEST_DIRECTORIES})
69     add_custom_target(clang-test-${testdir}
70       COMMAND ${PYTHON_EXECUTABLE}
71                   ${LIT}
72                   --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
73                   --param build_config=${CMAKE_CFG_INTDIR}
74                   ${LIT_ARGS}
75                   ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
76                   DEPENDS clang c-index-test FileCheck not count
77                   COMMENT "Running Clang regression tests in ${testdir}")
78   endforeach()
80   add_custom_target(clang-test
81     COMMAND ${PYTHON_EXECUTABLE}
82                 ${LIT}
83                 --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
84                 --param build_config=${CMAKE_CFG_INTDIR}
85                 ${LIT_ARGS}
86                 ${CMAKE_CURRENT_BINARY_DIR}
87                 COMMENT "Running Clang regression tests")
89   add_custom_target(clang-c++tests
90     COMMAND ${PYTHON_EXECUTABLE}
91                 ${LIT}
92                 --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
93                 --param build_config=${CMAKE_CFG_INTDIR}
94                 ${LIT_ARGS}
95                 ${CMAKE_CURRENT_SOURCE_DIR}/../utils/C++Tests
96                 DEPENDS clang c-index-test FileCheck not count
97                 COMMENT "Running Clang regression tests")
99   add_custom_target(check-all
100     COMMAND ${PYTHON_EXECUTABLE}
101                 ${LIT}
102                 --param build_config=${CMAKE_CFG_INTDIR}
103                 --param build_mode=${RUNTIME_BUILD_MODE}
104                 ${LIT_ARGS}
105                 ${LLVM_BINARY_DIR}/test
106                 ${CMAKE_CURRENT_BINARY_DIR}
107                 COMMENT "Running Clang and LLVM regression tests")
109   add_custom_target(clang-test.deps)
111   add_dependencies(clang-test clang-test.deps)
112   add_dependencies(clang-test.deps
113                  clang clang-headers c-index-test
114                  llvm-dis opt
115                  FileCheck count not)
117   add_dependencies(check-all check.deps clang-test.deps)
119 endif()