forked from OSchip/llvm-project
Move the setup for variables that are expanded in the lit.site.cfg into
a dedicated helper function. This will enable re-using the same logic for Clang's lit setup, etc. llvm-svn: 159333
This commit is contained in:
parent
918ca2b8b7
commit
3511dd30c8
|
@ -197,3 +197,54 @@ function(add_unittest test_suite test_name)
|
|||
endif ()
|
||||
set_property(TARGET ${test_name} PROPERTY COMPILE_FLAGS "${target_compile_flags}")
|
||||
endfunction()
|
||||
|
||||
# This function provides an automatic way to 'configure'-like generate a file
|
||||
# based on a set of common and custom variables, specifically targetting the
|
||||
# variables needed for the 'lit.site.cfg' files. This function bundles the
|
||||
# common variables that any Lit instance is likely to need, and custom
|
||||
# variables can be passed in.
|
||||
function(configure_lit_site_cfg input output)
|
||||
foreach(c ${LLVM_TARGETS_TO_BUILD})
|
||||
set(TARGETS_BUILT "${TARGETS_BUILT} ${c}")
|
||||
endforeach(c)
|
||||
set(TARGETS_TO_BUILD ${TARGETS_BUILT})
|
||||
|
||||
set(SHLIBEXT "${LTDL_SHLIB_EXT}")
|
||||
set(SHLIBDIR "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}")
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(LLVM_SHARED_LIBS_ENABLED "1")
|
||||
else()
|
||||
set(LLVM_SHARED_LIBS_ENABLED "0")
|
||||
endif(BUILD_SHARED_LIBS)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set(SHLIBPATH_VAR "DYLD_LIBRARY_PATH")
|
||||
else() # Default for all other unix like systems.
|
||||
# CMake hardcodes the library locaction using rpath.
|
||||
# Therefore LD_LIBRARY_PATH is not required to run binaries in the
|
||||
# build dir. We pass it anyways.
|
||||
set(SHLIBPATH_VAR "LD_LIBRARY_PATH")
|
||||
endif()
|
||||
|
||||
# Configuration-time: See Unit/lit.site.cfg.in
|
||||
set(LLVM_BUILD_MODE "%(build_mode)s")
|
||||
|
||||
set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
|
||||
set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR})
|
||||
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
|
||||
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||
set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
|
||||
set(SHLIBPATH_VAR ${SHLIBPATH_VAR})
|
||||
|
||||
if(LLVM_ENABLE_ASSERTIONS AND NOT MSVC_IDE)
|
||||
set(ENABLE_ASSERTIONS "1")
|
||||
else()
|
||||
set(ENABLE_ASSERTIONS "0")
|
||||
endif()
|
||||
|
||||
set(HOST_OS ${CMAKE_HOST_SYSTEM_NAME})
|
||||
set(HOST_ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||||
|
||||
configure_file(${input} ${output} @ONLY)
|
||||
endfunction()
|
||||
|
|
|
@ -1,61 +1,16 @@
|
|||
foreach(c ${LLVM_TARGETS_TO_BUILD})
|
||||
set(TARGETS_BUILT "${TARGETS_BUILT} ${c}")
|
||||
endforeach(c)
|
||||
set(TARGETS_TO_BUILD ${TARGETS_BUILT})
|
||||
|
||||
# FIXME: This won't work for project files, we need to use a --param.
|
||||
set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}")
|
||||
set(SHLIBEXT "${LTDL_SHLIB_EXT}")
|
||||
|
||||
set(SHLIBDIR "${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}")
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(LLVM_SHARED_LIBS_ENABLED "1")
|
||||
else()
|
||||
set(LLVM_SHARED_LIBS_ENABLED "0")
|
||||
endif(BUILD_SHARED_LIBS)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set(SHLIBPATH_VAR "DYLD_LIBRARY_PATH")
|
||||
else() # Default for all other unix like systems.
|
||||
# CMake hardcodes the library locaction using rpath.
|
||||
# Therefore LD_LIBRARY_PATH is not required to run binaries in the
|
||||
# build dir. We pass it anyways.
|
||||
set(SHLIBPATH_VAR "LD_LIBRARY_PATH")
|
||||
endif()
|
||||
|
||||
set(LIT_ARGS "${LLVM_LIT_ARGS}")
|
||||
separate_arguments(LIT_ARGS)
|
||||
|
||||
MAKE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR}/Unit)
|
||||
|
||||
# Configuration-time: See Unit/lit.site.cfg.in
|
||||
set(LLVM_BUILD_MODE "%(build_mode)s")
|
||||
|
||||
set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
|
||||
set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR})
|
||||
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
|
||||
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||
set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
|
||||
set(SHLIBPATH_VAR ${SHLIBPATH_VAR})
|
||||
|
||||
if(LLVM_ENABLE_ASSERTIONS AND NOT MSVC_IDE)
|
||||
set(ENABLE_ASSERTIONS "1")
|
||||
else()
|
||||
set(ENABLE_ASSERTIONS "0")
|
||||
endif()
|
||||
|
||||
set(HOST_OS ${CMAKE_HOST_SYSTEM_NAME})
|
||||
set(HOST_ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||||
|
||||
configure_file(
|
||||
configure_lit_site_cfg(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
|
||||
@ONLY)
|
||||
configure_file(
|
||||
)
|
||||
configure_lit_site_cfg(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
|
||||
@ONLY)
|
||||
)
|
||||
|
||||
# Setup the basic dependencies for running LLVM's regression and unit test
|
||||
# suites.
|
||||
|
|
Loading…
Reference in New Issue