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