Douglas Gregor | eb357b6 | 2009-06-05 16:00:31 +0000 | [diff] [blame^] | 1 | find_file(CLANG_TEST_RUNNER TestRunner.sh PATHS ${CMAKE_CURRENT_SOURCE_DIR} |
| 2 | DOC "Clang's regression testing script") |
| 3 | mark_as_advanced(CLANG_TEST_RUNNER) |
| 4 | |
| 5 | get_target_property(LLVM_TOOLS_PATH clang RUNTIME_OUTPUT_DIRECTORY) |
| 6 | |
| 7 | add_custom_target(clang-test COMMENT "Running Clang regression tests") |
| 8 | |
| 9 | macro(add_clang_test_suite language target extension) |
| 10 | add_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}) |
| 27 | endmacro(add_clang_test_suite) |
| 28 | |
| 29 | add_clang_test_suite(C clang-test-c c) |
| 30 | add_clang_test_suite(Objective-C clang-test-objc m) |
| 31 | add_clang_test_suite(C++ clang-test-cxx cpp) |
| 32 | add_clang_test_suite(Objective-C++ clang-test-objcxx mm) |
| 33 | add_clang_test_suite(Assembler clang-test-asm S) |