blob: 1c9567f8bd61acf176e93c11577126f98a0d02a7 [file] [log] [blame]
Douglas Gregor30018a62009-06-05 23:57:17 +00001set(CLANG_TEST_DIRECTORIES
2 "Analysis"
Douglas Gregor2436e712009-09-17 21:32:03 +00003 "CodeCompletion"
Douglas Gregor30018a62009-06-05 23:57:17 +00004 "CodeGen"
5 "CodeGenCXX"
6 "CodeGenObjC"
7 "Coverage"
Douglas Gregor274a6b42009-06-16 20:13:51 +00008 "CXX"
Douglas Gregor30018a62009-06-05 23:57:17 +00009 "Driver"
10 "FixIt"
11 "Frontend"
Douglas Gregorc6d5edd2009-07-02 17:08:52 +000012 "Index"
Douglas Gregor30018a62009-06-05 23:57:17 +000013 "Lexer"
14 "Misc"
15 "PCH"
16 "Parser"
17 "Preprocessor"
18 "Rewriter"
19 "Sema"
20 "SemaCXX"
21 "SemaObjC"
22 "SemaObjCXX"
23 "SemaTemplate")
Douglas Gregor07705322009-06-05 16:00:31 +000024
Douglas Gregor30018a62009-06-05 23:57:17 +000025include(FindPythonInterp)
26if(PYTHONINTERP_FOUND)
27 get_target_property(LLVM_TOOLS_PATH clang RUNTIME_OUTPUT_DIRECTORY)
Douglas Gregor274a6b42009-06-16 20:13:51 +000028 set(CLANG_TEST_EXTRA_ARGS)
29 if (MSVC OR XCODE)
30 set(CLANG_TEST_EXTRA_ARGS "--no-progress-bar")
31 endif()
Douglas Gregor30018a62009-06-05 23:57:17 +000032
Daniel Dunbarecac0a42009-09-17 19:55:53 +000033 foreach(testdir ${CLANG_TEST_DIRECTORIES})
34 add_custom_target(clang-test-${testdir}
35 COMMAND sed -e "s#\@CLANG_SOURCE_DIR\@#${CMAKE_CURRENT_SOURCE_DIR}/..#"
36 -e "s#\@CLANG_BINARY_DIR\@#${CMAKE_CURRENT_BINARY_DIR}/..#"
37 -e "s#\@LLVM_TOOLS_DIR\@#${LLVM_TOOLS_PATH}/${CMAKE_CFG_INTDIR}#"
38 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in >
39 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
40 COMMAND ${PYTHON_EXECUTABLE}
41 ${LLVM_SOURCE_DIR}/utils/lit/lit.py
42 -s ${CLANG_TEST_EXTRA_ARGS}
43 ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
44 DEPENDS clang clang-cc index-test
45 COMMENT "Running Clang regression tests in ${testdir}")
Douglas Gregorfa934802009-06-05 16:26:18 +000046 endforeach()
Douglas Gregor07705322009-06-05 16:00:31 +000047
Douglas Gregor30018a62009-06-05 23:57:17 +000048 add_custom_target(clang-test
Daniel Dunbarecac0a42009-09-17 19:55:53 +000049 COMMAND sed -e "s#\@CLANG_SOURCE_DIR\@#${CMAKE_CURRENT_SOURCE_DIR}/..#"
50 -e "s#\@CLANG_BINARY_DIR\@#${CMAKE_CURRENT_BINARY_DIR}/..#"
51 -e "s#\@LLVM_TOOLS_DIR\@#${LLVM_TOOLS_PATH}/${CMAKE_CFG_INTDIR}#"
52 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in >
53 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
54 COMMAND ${PYTHON_EXECUTABLE}
55 ${LLVM_SOURCE_DIR}/utils/lit/lit.py
56 -s ${CLANG_TEST_EXTRA_ARGS}
57 ${CMAKE_CURRENT_BINARY_DIR}
58 DEPENDS clang clang-cc index-test
59 COMMENT "Running Clang regression tests")
Douglas Gregor30018a62009-06-05 23:57:17 +000060endif()