| Daniel Dunbar | 28830b3 | 2009-09-22 07:38:44 +0000 | [diff] [blame] | 1 | foreach(c ${LLVM_TARGETS_TO_BUILD}) | 
|  | 2 | set(TARGETS_BUILT "${TARGETS_BUILT} ${c}") | 
|  | 3 | endforeach(c) | 
|  | 4 | set(TARGETS_TO_BUILD ${TARGETS_BUILT}) | 
|  | 5 |  | 
| Daniel Dunbar | e9bbafe | 2009-11-08 09:29:52 +0000 | [diff] [blame] | 6 | # FIXME: This won't work for project files, we need to use a --param. | 
|  | 7 | set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}") | 
|  | 8 | set(SHLIBEXT "${LTDL_SHLIB_EXT}") | 
|  | 9 |  | 
| NAKAMURA Takumi | 4fc56f0 | 2010-11-29 00:20:21 +0000 | [diff] [blame^] | 10 | set(SHLIBDIR "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}") | 
|  | 11 |  | 
| Tobias Grosser | ab19e1e | 2010-03-10 18:41:59 +0000 | [diff] [blame] | 12 | if(BUILD_SHARED_LIBS) | 
|  | 13 | set(LLVM_SHARED_LIBS_ENABLED "1") | 
|  | 14 | else() | 
|  | 15 | set(LLVM_SHARED_LIBS_ENABLED "0") | 
|  | 16 | endif(BUILD_SHARED_LIBS) | 
|  | 17 |  | 
|  | 18 | if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | 
|  | 19 | set(SHLIBPATH_VAR "DYLD_LIBRARY_PATH") | 
|  | 20 | else() # Default for all other unix like systems. | 
|  | 21 | # CMake hardcodes the library locaction using rpath. | 
|  | 22 | # Therefore LD_LIBRARY_PATH is not required to run binaries in the | 
| Michael J. Spencer | 1444f47 | 2010-09-24 09:00:56 +0000 | [diff] [blame] | 23 | # build dir. We pass it anyways. | 
| Tobias Grosser | ab19e1e | 2010-03-10 18:41:59 +0000 | [diff] [blame] | 24 | set(SHLIBPATH_VAR "LD_LIBRARY_PATH") | 
|  | 25 | endif() | 
|  | 26 |  | 
| Daniel Dunbar | 28830b3 | 2009-09-22 07:38:44 +0000 | [diff] [blame] | 27 | include(FindPythonInterp) | 
|  | 28 | if(PYTHONINTERP_FOUND) | 
| NAKAMURA Takumi | f791007 | 2010-11-11 04:09:35 +0000 | [diff] [blame] | 29 | set(LIT_ARGS "${LLVM_LIT_ARGS}") | 
|  | 30 | separate_arguments(LIT_ARGS) | 
|  | 31 |  | 
| Michael J. Spencer | 41c1885 | 2010-08-30 14:49:00 +0000 | [diff] [blame] | 32 | get_directory_property(DEFINITIONS COMPILE_DEFINITIONS) | 
|  | 33 | foreach(DEF ${DEFINITIONS}) | 
|  | 34 | set(DEFS "${DEFS} -D${DEF}") | 
|  | 35 | endforeach() | 
|  | 36 | get_directory_property(INC_DIRS INCLUDE_DIRECTORIES) | 
|  | 37 | foreach(INC_DIR ${INC_DIRS}) | 
|  | 38 | set(IDIRS "${IDIRS} -I${INC_DIR}") | 
|  | 39 | endforeach() | 
|  | 40 | string(REPLACE "<CMAKE_CXX_COMPILER>" "${CMAKE_CXX_COMPILER}" TEST_COMPILE_CXX_CMD ${CMAKE_CXX_COMPILE_OBJECT}) | 
|  | 41 | string(REPLACE "<DEFINES>"            "${DEFS}"               TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD}) | 
|  | 42 | string(REPLACE "<FLAGS>"              "${CMAKE_CXX_FLAGS}"    TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD}) | 
|  | 43 | string(REPLACE "-o"                   ""                      TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD}) | 
|  | 44 | string(REGEX REPLACE "<[^>]+>"        ""                      TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD}) | 
|  | 45 | set(TEST_COMPILE_CXX_CMD "${TEST_COMPILE_CXX_CMD} ${IDIRS}") | 
|  | 46 | if(NOT MSVC) | 
|  | 47 | set(TEST_COMPILE_CXX_CMD "${TEST_COMPILE_CXX_CMD} -x c++") | 
|  | 48 | endif() | 
| Daniel Dunbar | 28830b3 | 2009-09-22 07:38:44 +0000 | [diff] [blame] | 49 | configure_file( | 
|  | 50 | ${CMAKE_CURRENT_SOURCE_DIR}/site.exp.in | 
|  | 51 | ${CMAKE_CURRENT_BINARY_DIR}/site.exp) | 
|  | 52 |  | 
| Daniel Dunbar | 84bc8c3 | 2009-11-08 09:08:00 +0000 | [diff] [blame] | 53 | MAKE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR}/Unit) | 
|  | 54 |  | 
| NAKAMURA Takumi | f80507c | 2010-11-27 13:10:11 +0000 | [diff] [blame] | 55 | # Configuration-time: See Unit/lit.site.cfg.in | 
|  | 56 | set(LLVM_BUILD_MODE "%(build_mode)s") | 
|  | 57 |  | 
| Oscar Fuentes | d890a54 | 2010-09-17 03:22:21 +0000 | [diff] [blame] | 58 | set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR}) | 
|  | 59 | set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR}) | 
| NAKAMURA Takumi | f80507c | 2010-11-27 13:10:11 +0000 | [diff] [blame] | 60 | set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s") | 
| Oscar Fuentes | d890a54 | 2010-09-17 03:22:21 +0000 | [diff] [blame] | 61 | set(LLVMGCCDIR "") | 
|  | 62 | set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE}) | 
| Oscar Fuentes | d890a54 | 2010-09-17 03:22:21 +0000 | [diff] [blame] | 63 | set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED}) | 
|  | 64 | set(SHLIBPATH_VAR ${SHLIBPATH_VAR}) | 
|  | 65 |  | 
|  | 66 | configure_file( | 
|  | 67 | ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in | 
|  | 68 | ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg | 
|  | 69 | @ONLY) | 
|  | 70 | configure_file( | 
|  | 71 | ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in | 
|  | 72 | ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg | 
|  | 73 | @ONLY) | 
|  | 74 |  | 
| Daniel Dunbar | 84bc8c3 | 2009-11-08 09:08:00 +0000 | [diff] [blame] | 75 | add_custom_target(check | 
| Daniel Dunbar | 84bc8c3 | 2009-11-08 09:08:00 +0000 | [diff] [blame] | 76 | COMMAND ${PYTHON_EXECUTABLE} | 
| Daniel Dunbar | 28830b3 | 2009-09-22 07:38:44 +0000 | [diff] [blame] | 77 | ${LLVM_SOURCE_DIR}/utils/lit/lit.py | 
| Daniel Dunbar | 0f620b8 | 2009-12-08 19:47:36 +0000 | [diff] [blame] | 78 | --param llvm_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg | 
|  | 79 | --param llvm_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg | 
| NAKAMURA Takumi | f80507c | 2010-11-27 13:10:11 +0000 | [diff] [blame] | 80 | --param build_config=${CMAKE_CFG_INTDIR} | 
|  | 81 | --param build_mode=${RUNTIME_BUILD_MODE} | 
| NAKAMURA Takumi | f791007 | 2010-11-11 04:09:35 +0000 | [diff] [blame] | 82 | ${LIT_ARGS} | 
| Daniel Dunbar | 28830b3 | 2009-09-22 07:38:44 +0000 | [diff] [blame] | 83 | ${CMAKE_CURRENT_BINARY_DIR} | 
|  | 84 | DEPENDS | 
|  | 85 | COMMENT "Running LLVM regression tests") | 
|  | 86 |  | 
| Daniel Dunbar | 84bc8c3 | 2009-11-08 09:08:00 +0000 | [diff] [blame] | 87 | endif() |