| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 1 | set(CLANG_TEST_DIRECTORIES | 
|  | 2 | "Analysis" | 
| Douglas Gregor | 2436e71 | 2009-09-17 21:32:03 +0000 | [diff] [blame] | 3 | "CodeCompletion" | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 4 | "CodeGen" | 
|  | 5 | "CodeGenCXX" | 
|  | 6 | "CodeGenObjC" | 
| Peter Collingbourne | 7ce13fc | 2011-02-14 01:42:53 +0000 | [diff] [blame] | 7 | "CodeGenOpenCL" | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 8 | "Coverage" | 
| Douglas Gregor | 274a6b4 | 2009-06-16 20:13:51 +0000 | [diff] [blame] | 9 | "CXX" | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 10 | "Driver" | 
|  | 11 | "FixIt" | 
|  | 12 | "Frontend" | 
| Ted Kremenek | 8590544 | 2010-03-08 23:38:27 +0000 | [diff] [blame] | 13 | "Headers" | 
| Douglas Gregor | c6d5edd | 2009-07-02 17:08:52 +0000 | [diff] [blame] | 14 | "Index" | 
| Douglas Gregor | 30018a6 | 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 | 6ab610c | 2010-12-01 03:15:31 +0000 | [diff] [blame] | 22 | "SemaCUDA" | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 23 | "SemaCXX" | 
|  | 24 | "SemaObjC" | 
|  | 25 | "SemaObjCXX" | 
| Peter Collingbourne | e87167b | 2011-02-15 19:46:23 +0000 | [diff] [blame] | 26 | "SemaOpenCL" | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 27 | "SemaTemplate") | 
| Douglas Gregor | 0770532 | 2009-06-05 16:00:31 +0000 | [diff] [blame] | 28 |  | 
| Daniel Dunbar | 0669670 | 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}") | 
| Andrew Trick | 72d91dd | 2011-06-23 18:00:48 +0000 | [diff] [blame] | 31 | set(LLVM_BUILD_MODE "%(build_mode)s") | 
| Daniel Dunbar | 3b339a3 | 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 | 0669670 | 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 | 22ec660 | 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 | 0669670 | 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 | 22ec660 | 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 | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 51 | include(FindPythonInterp) | 
|  | 52 | if(PYTHONINTERP_FOUND) | 
| Oscar Fuentes | 84cb394 | 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 | 82a0d26 | 2011-02-05 21:37:51 +0000 | [diff] [blame] | 56 | set(LIT "${PATH_TO_LLVM_BUILD}/bin/${CMAKE_CFG_INTDIR}/llvm-lit") | 
| NAKAMURA Takumi | ff75d8d | 2011-02-23 12:07:49 +0000 | [diff] [blame] | 57 | # Installed LLVM does not contain ${CMAKE_CFG_INTDIR} in paths. | 
|  | 58 | if( NOT EXISTS ${LIT} ) | 
|  | 59 | set(LIT "${PATH_TO_LLVM_BUILD}/bin/llvm-lit") | 
|  | 60 | endif() | 
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 61 | endif() | 
|  | 62 |  | 
| Oscar Fuentes | 82a0d26 | 2011-02-05 21:37:51 +0000 | [diff] [blame] | 63 | if( PATH_TO_LLVM_BUILD ) | 
|  | 64 | set(CLANG_TEST_EXTRA_ARGS "--path=${CLANG_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}") | 
|  | 65 | endif() | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 66 |  | 
| Daniel Dunbar | 7b8fcad | 2009-11-22 21:55:22 +0000 | [diff] [blame] | 67 | option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF) | 
|  | 68 | if(CLANG_TEST_USE_VG) | 
|  | 69 | set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg") | 
|  | 70 | endif () | 
|  | 71 |  | 
| NAKAMURA Takumi | 78e3fdb | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 72 | set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}") | 
|  | 73 | separate_arguments(LIT_ARGS) | 
|  | 74 |  | 
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 75 | add_custom_target(clang-test.deps) | 
| Oscar Fuentes | 15fe190 | 2011-02-20 22:06:44 +0000 | [diff] [blame] | 76 | set_target_properties(clang-test.deps PROPERTIES FOLDER "Clang tests") | 
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 77 |  | 
| Douglas Gregor | 30018a6 | 2009-06-05 23:57:17 +0000 | [diff] [blame] | 78 | add_custom_target(clang-test | 
| Daniel Dunbar | a3b52d7 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 79 | COMMAND ${PYTHON_EXECUTABLE} | 
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 80 | ${LIT} | 
| Daniel Dunbar | d3f630f | 2009-11-05 16:36:19 +0000 | [diff] [blame] | 81 | --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg | 
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 82 | --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] | 83 | --param build_config=${CMAKE_CFG_INTDIR} | 
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 84 | --param build_mode=${RUNTIME_BUILD_MODE} | 
| NAKAMURA Takumi | 78e3fdb | 2010-11-11 04:09:51 +0000 | [diff] [blame] | 85 | ${LIT_ARGS} | 
| Daniel Dunbar | ecac0a4 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 86 | ${CMAKE_CURRENT_BINARY_DIR} | 
| Daniel Dunbar | ecac0a4 | 2009-09-17 19:55:53 +0000 | [diff] [blame] | 87 | COMMENT "Running Clang regression tests") | 
| Oscar Fuentes | 15fe190 | 2011-02-20 22:06:44 +0000 | [diff] [blame] | 88 | set_target_properties(clang-test PROPERTIES FOLDER "Clang tests") | 
| Daniel Dunbar | 3967fca | 2009-09-22 10:07:55 +0000 | [diff] [blame] | 89 |  | 
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 90 | if( NOT CLANG_BUILT_STANDALONE ) | 
| NAKAMURA Takumi | 6657e97 | 2011-07-20 16:35:49 +0000 | [diff] [blame^] | 91 | add_custom_target(check-all | 
| Jeffrey Yasskin | cd3858b | 2011-02-15 07:54:28 +0000 | [diff] [blame] | 92 | COMMAND ${PYTHON_EXECUTABLE} | 
| Oscar Fuentes | 84cb394 | 2011-02-05 19:08:56 +0000 | [diff] [blame] | 93 | ${LIT} | 
| NAKAMURA Takumi | c66906a | 2010-11-29 01:18:56 +0000 | [diff] [blame] | 94 | --param build_config=${CMAKE_CFG_INTDIR} | 
|  | 95 | --param build_mode=${RUNTIME_BUILD_MODE} | 
|  | 96 | ${LIT_ARGS} | 
|  | 97 | ${LLVM_BINARY_DIR}/test | 
|  | 98 | ${CMAKE_CURRENT_BINARY_DIR} | 
|  | 99 | COMMENT "Running Clang and LLVM regression tests") | 
| Douglas Gregor | 653b51a | 2011-07-15 21:03:20 +0000 | [diff] [blame] | 100 | add_dependencies(check-all clang-test.deps) | 
| Douglas Gregor | 61e58ae | 2011-02-25 00:43:05 +0000 | [diff] [blame] | 101 | if ( LLVM_INCLUDE_TESTS ) | 
| Douglas Gregor | 653b51a | 2011-07-15 21:03:20 +0000 | [diff] [blame] | 102 | add_dependencies(clang-test.deps check.deps ClangUnitTests) | 
| Douglas Gregor | 61e58ae | 2011-02-25 00:43:05 +0000 | [diff] [blame] | 103 | endif ( LLVM_INCLUDE_TESTS ) | 
| NAKAMURA Takumi | 84f2500 | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 104 | add_dependencies(clang-test.deps | 
| NAKAMURA Takumi | 6657e97 | 2011-07-20 16:35:49 +0000 | [diff] [blame^] | 105 | llvm-dis llc opt | 
| NAKAMURA Takumi | 84f2500 | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 106 | FileCheck count not | 
|  | 107 | ) | 
| NAKAMURA Takumi | 6657e97 | 2011-07-20 16:35:49 +0000 | [diff] [blame^] | 108 | set_target_properties(check-all PROPERTIES FOLDER "Clang tests") | 
|  | 109 | endif() | 
| NAKAMURA Takumi | b761ee6 | 2010-12-10 02:58:03 +0000 | [diff] [blame] | 110 |  | 
|  | 111 | add_dependencies(clang-test clang-test.deps) | 
|  | 112 | add_dependencies(clang-test.deps | 
| NAKAMURA Takumi | ad43b8f | 2011-07-09 23:36:37 +0000 | [diff] [blame] | 113 | clang clang-headers c-index-test arcmt-test c-arcmt-test | 
| NAKAMURA Takumi | 84f2500 | 2011-02-16 03:07:10 +0000 | [diff] [blame] | 114 | ) | 
| NAKAMURA Takumi | b761ee6 | 2010-12-10 02:58:03 +0000 | [diff] [blame] | 115 |  | 
| Daniel Dunbar | a3b52d7 | 2009-11-03 07:25:53 +0000 | [diff] [blame] | 116 | endif() |