blob: c64ca896a146793a3a23a18b0e3da6bd61d3fc11 [file] [log] [blame]
Douglas Gregoreb357b62009-06-05 16:00:31 +00001find_file(CLANG_TEST_RUNNER TestRunner.sh PATHS ${CMAKE_CURRENT_SOURCE_DIR}
2 DOC "Clang's regression testing script")
3mark_as_advanced(CLANG_TEST_RUNNER)
4
5get_target_property(LLVM_TOOLS_PATH clang RUNTIME_OUTPUT_DIRECTORY)
6
7add_custom_target(clang-test COMMENT "Running Clang regression tests")
8
9macro(add_clang_test_suite language target extension)
10add_custom_target(${target}
11 ${CMAKE_CTEST_COMMAND}
12 --build-and-test
13 ${LLVM_SOURCE_DIR}/tools/clang/CMake/RunTests
14 ${CMAKE_CURRENT_BINARY_DIR}/${target}
15 --build-generator ${CMAKE_GENERATOR}
16 --build-makeprogram ${CMAKE_MAKE_PROGRAM}
17 --build-project ClangTest
18 --build-target test
19 --build-options
20 "-DCLANG_TEST_RUNNER=${CLANG_TEST_RUNNER}"
21 "-DCLANG_TEST_GLOB_PATTERN=${CMAKE_CURRENT_SOURCE_DIR}/*.${extension}"
22 "-DLLVM_TOOLS_PATH=${LLVM_TOOLS_PATH}"
23 "-DLLVM_SCRIPTS_PATH=${LLVM_SOURCE_DIR}/test/Scripts"
24 COMMENT "Running Clang ${language} regression tests")
25
26 add_dependencies(clang-test ${target})
27endmacro(add_clang_test_suite)
28
29add_clang_test_suite(C clang-test-c c)
30add_clang_test_suite(Objective-C clang-test-objc m)
31add_clang_test_suite(C++ clang-test-cxx cpp)
32add_clang_test_suite(Objective-C++ clang-test-objcxx mm)
33add_clang_test_suite(Assembler clang-test-asm S)