Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 1 | set(CLANG_TEST_DIRECTORIES |
| 2 | "Analysis" |
Douglas Gregor | 81b747b | 2009-09-17 21:32:03 +0000 | [diff] [blame] | 3 | "CodeCompletion" |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 4 | "CodeGen" |
| 5 | "CodeGenCXX" |
| 6 | "CodeGenObjC" |
Peter Collingbourne | f315fa8 | 2011-02-14 01:42:53 +0000 | [diff] [blame] | 7 | "CodeGenOpenCL" |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 8 | "Coverage" |
Douglas Gregor | ebfc180 | 2009-06-16 20:13:51 +0000 | [diff] [blame] | 9 | "CXX" |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 10 | "Driver" |
| 11 | "FixIt" |
| 12 | "Frontend" |
Ted Kremenek | f7507f2 | 2010-03-08 23:38:27 +0000 | [diff] [blame] | 13 | "Headers" |
Douglas Gregor | 2e22253 | 2009-07-02 17:08:52 +0000 | [diff] [blame] | 14 | "Index" |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 15 | "Lexer" |
| 16 | "Misc" |
| 17 | "PCH" |
| 18 | "Parser" |
| 19 | "Preprocessor" |
| 20 | "Rewriter" |
| 21 | "Sema" |
Peter Collingbourne | ced7671 | 2010-12-01 03:15:31 +0000 | [diff] [blame] | 22 | "SemaCUDA" |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 23 | "SemaCXX" |
| 24 | "SemaObjC" |
| 25 | "SemaObjCXX" |
Peter Collingbourne | 39d3e7a | 2011-02-15 19:46:23 +0000 | [diff] [blame] | 26 | "SemaOpenCL" |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 27 | "SemaTemplate") |
Douglas Gregor | eb357b6 | 2009-06-05 16:00:31 +0000 | [diff] [blame] | 28 | |
Daniel Dunbar | 1e63492 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 29 | set(LLVM_SOURCE_DIR "${LLVM_MAIN_SRC_DIR}") |
| 30 | set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}") |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 31 | set(LLVM_BUILD_MODE "%(build_mode)s") |
Daniel Dunbar | 30eb055 | 2009-11-08 09:46:39 +0000 | [diff] [blame] | 32 | set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s") |
| 33 | set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/%(build_config)s") |
Daniel Dunbar | 1e63492 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 34 | set(CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..") |
| 35 | set(CLANG_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..") |
NAKAMURA Takumi | c3189e9 | 2011-02-03 09:01:12 +0000 | [diff] [blame] | 36 | if(BUILD_SHARED_LIBS) |
| 37 | set(ENABLE_SHARED 1) |
| 38 | else() |
| 39 | set(ENABLE_SHARED 0) |
| 40 | endif(BUILD_SHARED_LIBS) |
Daniel Dunbar | 1e63492 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 41 | |
| 42 | configure_file( |
| 43 | ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in |
| 44 | ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg) |
| 45 | |
NAKAMURA Takumi | c3189e9 | 2011-02-03 09:01:12 +0000 | [diff] [blame] | 46 | configure_file( |
| 47 | ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in |
| 48 | ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg |
| 49 | @ONLY) |
| 50 | |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 51 | include(FindPythonInterp) |
| 52 | if(PYTHONINTERP_FOUND) |
Oscar Fuentes | 57ca32b | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 53 | if( LLVM_MAIN_SRC_DIR ) |
| 54 | set(LIT "${LLVM_SOURCE_DIR}/utils/lit/lit.py") |
| 55 | else() |
Oscar Fuentes | ba43a4d | 2011-02-05 21:37:51 +0000 | [diff] [blame] | 56 | set(LIT "${PATH_TO_LLVM_BUILD}/bin/${CMAKE_CFG_INTDIR}/llvm-lit") |
Oscar Fuentes | 57ca32b | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 57 | endif() |
| 58 | |
Oscar Fuentes | ba43a4d | 2011-02-05 21:37:51 +0000 | [diff] [blame] | 59 | if( PATH_TO_LLVM_BUILD ) |
| 60 | set(CLANG_TEST_EXTRA_ARGS "--path=${CLANG_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}") |
| 61 | endif() |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 62 | |
Daniel Dunbar | e33f82f | 2009-11-22 21:55:22 +0000 | [diff] [blame] | 63 | option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF) |
| 64 | if(CLANG_TEST_USE_VG) |
| 65 | set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg") |
| 66 | endif () |
| 67 | |
NAKAMURA Takumi | c84aca4 | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 68 | set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}") |
| 69 | separate_arguments(LIT_ARGS) |
| 70 | |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 71 | add_custom_target(clang-test.deps) |
Oscar Fuentes | a3f787c | 2011-02-20 22:06:44 +0000 | [diff] [blame^] | 72 | set_target_properties(clang-test.deps PROPERTIES FOLDER "Clang tests") |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 73 | |
Daniel Dunbar | 7af18d3 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 74 | foreach(testdir ${CLANG_TEST_DIRECTORIES}) |
Daniel Dunbar | e9a7323 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 75 | add_custom_target(clang-test-${testdir} |
Daniel Dunbar | e9a7323 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 76 | COMMAND ${PYTHON_EXECUTABLE} |
Oscar Fuentes | 57ca32b | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 77 | ${LIT} |
Daniel Dunbar | b258d8f | 2009-11-05 16:36:19 +0000 | [diff] [blame] | 78 | --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg |
Daniel Dunbar | 1e63492 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 79 | --param build_config=${CMAKE_CFG_INTDIR} |
NAKAMURA Takumi | c84aca4 | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 80 | ${LIT_ARGS} |
Daniel Dunbar | 7af18d3 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 81 | ${CMAKE_CURRENT_BINARY_DIR}/${testdir} |
Daniel Dunbar | 2b1acd4 | 2010-07-29 22:57:17 +0000 | [diff] [blame] | 82 | DEPENDS clang c-index-test FileCheck not count |
Daniel Dunbar | 7af18d3 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 83 | COMMENT "Running Clang regression tests in ${testdir}") |
Oscar Fuentes | a3f787c | 2011-02-20 22:06:44 +0000 | [diff] [blame^] | 84 | set_target_properties(clang-test-${testdir} PROPERTIES FOLDER "Clang tests") |
Douglas Gregor | f5dba38 | 2009-06-05 16:26:18 +0000 | [diff] [blame] | 85 | endforeach() |
Douglas Gregor | eb357b6 | 2009-06-05 16:00:31 +0000 | [diff] [blame] | 86 | |
Douglas Gregor | 7986519 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 87 | add_custom_target(clang-test |
Daniel Dunbar | e9a7323 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 88 | COMMAND ${PYTHON_EXECUTABLE} |
Oscar Fuentes | 57ca32b | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 89 | ${LIT} |
Daniel Dunbar | b258d8f | 2009-11-05 16:36:19 +0000 | [diff] [blame] | 90 | --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 91 | --param clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg |
Daniel Dunbar | 1e63492 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 92 | --param build_config=${CMAKE_CFG_INTDIR} |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 93 | --param build_mode=${RUNTIME_BUILD_MODE} |
NAKAMURA Takumi | c84aca4 | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 94 | ${LIT_ARGS} |
Daniel Dunbar | 7af18d3 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 95 | ${CMAKE_CURRENT_BINARY_DIR} |
Daniel Dunbar | 7af18d3 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 96 | COMMENT "Running Clang regression tests") |
Oscar Fuentes | a3f787c | 2011-02-20 22:06:44 +0000 | [diff] [blame^] | 97 | set_target_properties(clang-test PROPERTIES FOLDER "Clang tests") |
Daniel Dunbar | cceef8b | 2009-09-22 10:07:55 +0000 | [diff] [blame] | 98 | |
| 99 | add_custom_target(clang-c++tests |
Daniel Dunbar | e9a7323 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 100 | COMMAND ${PYTHON_EXECUTABLE} |
Oscar Fuentes | 57ca32b | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 101 | ${LIT} |
Daniel Dunbar | b258d8f | 2009-11-05 16:36:19 +0000 | [diff] [blame] | 102 | --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg |
Daniel Dunbar | 1e63492 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 103 | --param build_config=${CMAKE_CFG_INTDIR} |
NAKAMURA Takumi | c84aca4 | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 104 | ${LIT_ARGS} |
Daniel Dunbar | cceef8b | 2009-09-22 10:07:55 +0000 | [diff] [blame] | 105 | ${CMAKE_CURRENT_SOURCE_DIR}/../utils/C++Tests |
Daniel Dunbar | 2b1acd4 | 2010-07-29 22:57:17 +0000 | [diff] [blame] | 106 | DEPENDS clang c-index-test FileCheck not count |
Daniel Dunbar | cceef8b | 2009-09-22 10:07:55 +0000 | [diff] [blame] | 107 | COMMENT "Running Clang regression tests") |
Oscar Fuentes | a3f787c | 2011-02-20 22:06:44 +0000 | [diff] [blame^] | 108 | set_target_properties(clang-c++tests PROPERTIES FOLDER "Clang tests") |
NAKAMURA Takumi | 3aa8c64 | 2010-11-29 01:18:56 +0000 | [diff] [blame] | 109 | |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 110 | if( NOT CLANG_BUILT_STANDALONE ) |
| 111 | add_custom_target(check-all |
| 112 | COMMAND ${PYTHON_EXECUTABLE} |
Oscar Fuentes | 57ca32b | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 113 | ${LIT} |
NAKAMURA Takumi | 3aa8c64 | 2010-11-29 01:18:56 +0000 | [diff] [blame] | 114 | --param build_config=${CMAKE_CFG_INTDIR} |
| 115 | --param build_mode=${RUNTIME_BUILD_MODE} |
| 116 | ${LIT_ARGS} |
| 117 | ${LLVM_BINARY_DIR}/test |
| 118 | ${CMAKE_CURRENT_BINARY_DIR} |
| 119 | COMMENT "Running Clang and LLVM regression tests") |
Daniel Dunbar | 299696c | 2011-02-18 22:55:32 +0000 | [diff] [blame] | 120 | add_dependencies(check-all check.deps clang-test.deps) |
NAKAMURA Takumi | 652f1ef | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 121 | add_dependencies(clang-test.deps |
| 122 | ClangUnitTests |
| 123 | llvm-dis opt |
| 124 | FileCheck count not |
| 125 | ) |
Oscar Fuentes | a3f787c | 2011-02-20 22:06:44 +0000 | [diff] [blame^] | 126 | set_target_properties(check-all PROPERTIES FOLDER "Clang tests") |
Jeffrey Yasskin | 718b01d | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 127 | endif() |
NAKAMURA Takumi | f0d9d8b | 2010-12-10 02:58:03 +0000 | [diff] [blame] | 128 | |
| 129 | add_dependencies(clang-test clang-test.deps) |
| 130 | add_dependencies(clang-test.deps |
| 131 | clang clang-headers c-index-test |
NAKAMURA Takumi | 652f1ef | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 132 | ) |
NAKAMURA Takumi | f0d9d8b | 2010-12-10 02:58:03 +0000 | [diff] [blame] | 133 | |
Daniel Dunbar | e9a7323 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 134 | endif() |