# The user can still choose to have the check targets *use* a different lit
# by specifying -DLLVM_EXTERNAL_LIT, but we generate it regardless.
if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/llvm-lit)
+ # Needed for lit support in standalone builds.
+ include(AddLLVM)
add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit ${CMAKE_CURRENT_BINARY_DIR}/llvm-lit)
elseif(NOT EXISTS ${LLVM_EXTERNAL_LIT})
message(WARNING "Could not find LLVM source directory and LLVM_EXTERNAL_LIT does not"
get_llvm_lit_path(LIT_BASE_DIR LIT_FILE_NAME)
+set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
+
# LLVM_LIT_CONFIG_FILES contains interleaved main config (in the source tree)
# and site config (in the build tree) pairs. Make them relative to
# llvm-lit and then convert them to map_config() calls.
if("${CMAKE_CFG_INTDIR}" STREQUAL ".")
make_paths_relative(
- LLVM_LIT_CONFIG_FILES "${LIT_BASE_DIR}" "${LLVM_LIT_CONFIG_FILES}")
+ LLVM_LIT_CONFIG_FILES "${LIT_BASE_DIR}" "${LLVM_LIT_CONFIG_FILES}")
+ make_paths_relative(
+ LLVM_SOURCE_DIR "${LIT_BASE_DIR}" "${LLVM_SOURCE_DIR}")
endif()
set(LLVM_LIT_CONFIG_MAP "${LLVM_LIT_PATH_FUNCTION}\n")
endforeach()
endif()
-set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
-
if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
foreach(BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})
string(REPLACE ${CMAKE_CFG_INTDIR} ${BUILD_MODE} bi ${LIT_BASE_DIR})
site_config = os.path.normpath(site_config)
config_map[source_dir] = site_config
-# Variables configured at build time.
-llvm_source_root = "@LLVM_SOURCE_DIR@"
-
-# Make sure we can find the lit package.
-sys.path.insert(0, os.path.join(llvm_source_root, 'utils', 'lit'))
-
# Set up some builtin parameters, so that by default the LLVM test suite
# configuration file knows how to find the object tree.
builtin_parameters = { 'build_mode' : "@BUILD_MODE@" }
builtin_parameters['config_map'] = config_map
+# Make sure we can find the lit package.
+llvm_source_root = path("@LLVM_SOURCE_DIR@")
+sys.path.insert(0, os.path.join(llvm_source_root, 'utils', 'lit'))
+
if __name__=='__main__':
from lit.main import main
main(builtin_parameters)