| Douglas Gregor | 0770532 | 2009-06-05 16:00:31 +0000 | [diff] [blame] | 1 | |
| Daniel Dunbar | 0669670 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 2 | set(LLVM_SOURCE_DIR "${LLVM_MAIN_SRC_DIR}") |
| 3 | set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}") |
| Andrew Trick | 72d91dd | 2011-06-23 18:00:48 +0000 | [diff] [blame] | 4 | set(LLVM_BUILD_MODE "%(build_mode)s") |
| Daniel Dunbar | 3b339a3 | 2009-11-08 09:46:39 +0000 | [diff] [blame] | 5 | set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s") |
| 6 | set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/%(build_config)s") |
| Daniel Dunbar | 0669670 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 7 | set(CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..") |
| 8 | set(CLANG_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..") |
| NAKAMURA Takumi | 22ec660 | 2011-02-03 09:01:12 +0000 | [diff] [blame] | 9 | if(BUILD_SHARED_LIBS) |
| 10 | set(ENABLE_SHARED 1) |
| 11 | else() |
| 12 | set(ENABLE_SHARED 0) |
| 13 | endif(BUILD_SHARED_LIBS) |
| Daniel Dunbar | 0669670 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 14 | |
| 15 | configure_file( |
| 16 | ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in |
| 17 | ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg) |
| 18 | |
| NAKAMURA Takumi | 22ec660 | 2011-02-03 09:01:12 +0000 | [diff] [blame] | 19 | configure_file( |
| 20 | ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in |
| 21 | ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg |
| 22 | @ONLY) |
| 23 | |
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 24 | include(FindPythonInterp) |
| 25 | if(PYTHONINTERP_FOUND) |
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 26 | if( LLVM_MAIN_SRC_DIR ) |
| 27 | set(LIT "${LLVM_SOURCE_DIR}/utils/lit/lit.py") |
| 28 | else() |
| Oscar Fuentes | 82a0d26 | 2011-02-05 21:37:51 +0000 | [diff] [blame] | 29 | set(LIT "${PATH_TO_LLVM_BUILD}/bin/${CMAKE_CFG_INTDIR}/llvm-lit") |
| NAKAMURA Takumi | ff75d8d | 2011-02-23 12:07:49 +0000 | [diff] [blame] | 30 | # Installed LLVM does not contain ${CMAKE_CFG_INTDIR} in paths. |
| 31 | if( NOT EXISTS ${LIT} ) |
| 32 | set(LIT "${PATH_TO_LLVM_BUILD}/bin/llvm-lit") |
| 33 | endif() |
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 34 | endif() |
| 35 | |
| Oscar Fuentes | 82a0d26 | 2011-02-05 21:37:51 +0000 | [diff] [blame] | 36 | if( PATH_TO_LLVM_BUILD ) |
| 37 | set(CLANG_TEST_EXTRA_ARGS "--path=${CLANG_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}") |
| 38 | endif() |
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 39 | |
| Daniel Dunbar | 7b8fcad | 2009-11-22 21:55:22 +0000 | [diff] [blame] | 40 | option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF) |
| 41 | if(CLANG_TEST_USE_VG) |
| 42 | set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg") |
| 43 | endif () |
| 44 | |
| NAKAMURA Takumi | 78e3fdb | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 45 | set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}") |
| 46 | separate_arguments(LIT_ARGS) |
| 47 | |
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 48 | add_custom_target(clang-test.deps) |
| Oscar Fuentes | 15fe190 | 2011-02-20 22:06:44 +0000 | [diff] [blame] | 49 | set_target_properties(clang-test.deps PROPERTIES FOLDER "Clang tests") |
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 50 | |
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 51 | add_custom_target(clang-test |
| Daniel Dunbar | a3b52d7 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 52 | COMMAND ${PYTHON_EXECUTABLE} |
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 53 | ${LIT} |
| Daniel Dunbar | d3f630f | 2009-11-05 16:36:19 +0000 | [diff] [blame] | 54 | --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg |
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 55 | --param clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg |
| Daniel Dunbar | 0669670 | 2009-11-07 23:53:32 +0000 | [diff] [blame] | 56 | --param build_config=${CMAKE_CFG_INTDIR} |
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 57 | --param build_mode=${RUNTIME_BUILD_MODE} |
| NAKAMURA Takumi | 78e3fdb | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 58 | ${LIT_ARGS} |
| Daniel Dunbar | ecac0a4 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 59 | ${CMAKE_CURRENT_BINARY_DIR} |
| Daniel Dunbar | ecac0a4 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 60 | COMMENT "Running Clang regression tests") |
| Daniel Dunbar | 3967fca | 2009-09-22 10:07:55 +0000 | [diff] [blame] | 61 | |
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 62 | if( NOT CLANG_BUILT_STANDALONE ) |
| NAKAMURA Takumi | 6657e97 | 2011-07-20 16:35:49 +0000 | [diff] [blame] | 63 | add_custom_target(check-all |
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 64 | COMMAND ${PYTHON_EXECUTABLE} |
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 65 | ${LIT} |
| NAKAMURA Takumi | c66906a | 2010-11-29 01:18:56 +0000 | [diff] [blame] | 66 | --param build_config=${CMAKE_CFG_INTDIR} |
| 67 | --param build_mode=${RUNTIME_BUILD_MODE} |
| 68 | ${LIT_ARGS} |
| 69 | ${LLVM_BINARY_DIR}/test |
| 70 | ${CMAKE_CURRENT_BINARY_DIR} |
| 71 | COMMENT "Running Clang and LLVM regression tests") |
| Douglas Gregor | 653b51a | 2011-07-15 21:03:20 +0000 | [diff] [blame] | 72 | add_dependencies(check-all clang-test.deps) |
| Douglas Gregor | 61e58ae | 2011-02-25 00:43:05 +0000 | [diff] [blame] | 73 | if ( LLVM_INCLUDE_TESTS ) |
| NAKAMURA Takumi | f665ce6 | 2011-08-16 03:45:31 +0000 | [diff] [blame] | 74 | add_dependencies(clang-test.deps ClangUnitTests) |
| Chandler Carruth | c0674c1 | 2012-06-27 09:49:07 +0000 | [diff] [blame] | 75 | add_dependencies(check-all check-llvm.deps) |
| Douglas Gregor | 61e58ae | 2011-02-25 00:43:05 +0000 | [diff] [blame] | 76 | endif ( LLVM_INCLUDE_TESTS ) |
| NAKAMURA Takumi | 84f2500 | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 77 | add_dependencies(clang-test.deps |
| NAKAMURA Takumi | 6657e97 | 2011-07-20 16:35:49 +0000 | [diff] [blame] | 78 | llvm-dis llc opt |
| NAKAMURA Takumi | 84f2500 | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 79 | FileCheck count not |
| 80 | ) |
| NAKAMURA Takumi | 6657e97 | 2011-07-20 16:35:49 +0000 | [diff] [blame] | 81 | endif() |
| NAKAMURA Takumi | b761ee6 | 2010-12-10 02:58:03 +0000 | [diff] [blame] | 82 | |
| 83 | add_dependencies(clang-test clang-test.deps) |
| 84 | add_dependencies(clang-test.deps |
| Ted Kremenek | 228b5fe | 2011-08-11 22:06:55 +0000 | [diff] [blame] | 85 | clang clang-headers c-index-test diagtool arcmt-test c-arcmt-test |
| Manuel Klimek | 750caac | 2012-04-04 12:18:22 +0000 | [diff] [blame] | 86 | clang-check |
| NAKAMURA Takumi | 84f2500 | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 87 | ) |
| NAKAMURA Takumi | b761ee6 | 2010-12-10 02:58:03 +0000 | [diff] [blame] | 88 | |
| Daniel Dunbar | a3b52d7 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 89 | endif() |