forked from OSchip/llvm-project
[clangd] Restore conventional names for lit configs, and .in/.py split. Fix build_mode indirection.
llvm-svn: 359763
This commit is contained in:
parent
cfc4519ef3
commit
c9f5220af9
|
@ -1,3 +1,13 @@
|
|||
# Set CLANG_TOOLS_DIR to buildtree/bin, or buildtree/%(build_mode)s/bin if the
|
||||
# location is dynamic. The latter must be interpolated by lit configs.
|
||||
# FIXME: this is duplicated in many places.
|
||||
if (CMAKE_CFG_INTDIR STREQUAL ".")
|
||||
set(LLVM_BUILD_MODE ".")
|
||||
else ()
|
||||
set(LLVM_BUILD_MODE "%(build_mode)s")
|
||||
endif ()
|
||||
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
|
||||
|
||||
set(CLANGD_TEST_DEPS
|
||||
clangd
|
||||
ClangdTests
|
||||
|
@ -18,8 +28,8 @@ foreach(dep FileCheck count not)
|
|||
endforeach()
|
||||
|
||||
configure_lit_site_cfg(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lit.cfg)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py)
|
||||
|
||||
add_lit_testsuite(check-clangd "Running the Clangd regression tests"
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../unittests;${CMAKE_CURRENT_BINARY_DIR}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
@LIT_SITE_CFG_IN_HEADER@
|
||||
|
||||
import lit.llvm
|
||||
import lit.formats
|
||||
|
||||
# Reuse clang configuration (PATH setup, etc).
|
||||
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
||||
config.clang_tools_dir = "@CLANG_TOOLS_DIR@"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
config.clang_libs_dir = "@CLANG_LIBS_DIR@"
|
||||
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||
lit.llvm.initialize(lit_config, config)
|
||||
lit.llvm.llvm_config.use_clang()
|
||||
|
||||
config.name = 'Clangd'
|
||||
config.suffixes = ['.test']
|
||||
config.excludes = ['Inputs']
|
||||
config.test_format = lit.formats.ShTest(not lit.llvm.llvm_config.use_lit_shell)
|
||||
config.test_source_root = "@CMAKE_CURRENT_SOURCE_DIR@"
|
||||
config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@"
|
||||
|
||||
# Clangd-specific lit environment.
|
||||
config.substitutions.append(('%clangd-benchmark-dir',
|
||||
"@CMAKE_CURRENT_BINARY_DIR@/../benchmarks"))
|
||||
|
||||
if @CLANGD_BUILD_XPC@:
|
||||
config.available_features.add('clangd-xpc-support')
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
import lit.llvm
|
||||
|
||||
lit.llvm.initialize(lit_config, config)
|
||||
lit.llvm.llvm_config.use_clang()
|
||||
|
||||
config.name = 'Clangd'
|
||||
config.suffixes = ['.test']
|
||||
config.excludes = ['Inputs']
|
||||
config.test_format = lit.formats.ShTest(not lit.llvm.llvm_config.use_lit_shell)
|
||||
config.test_source_root = config.clangd_source_dir + "/test"
|
||||
config.test_exec_root = config.clangd_binary_dir + "/test"
|
||||
|
||||
# Clangd-specific lit environment.
|
||||
config.substitutions.append(('%clangd-benchmark-dir',
|
||||
config.clangd_binary_dir + "/benchmarks"))
|
||||
|
||||
if config.clangd_build_xpc:
|
||||
config.available_features.add('clangd-xpc-support')
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
@LIT_SITE_CFG_IN_HEADER@
|
||||
|
||||
# Variables needed for common clang config.
|
||||
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
||||
config.clang_tools_dir = "@CLANG_TOOLS_DIR@"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
config.clang_libs_dir = "@CLANG_LIBS_DIR@"
|
||||
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||
|
||||
# Support substitution of the tools and libs dirs with user parameters. This is
|
||||
# used when we can't determine the tool dir at configuration time.
|
||||
try:
|
||||
config.clang_tools_dir = config.clang_tools_dir % lit_config.params
|
||||
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
||||
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
|
||||
except KeyError:
|
||||
e = sys.exc_info()[1]
|
||||
key, = e.args
|
||||
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
||||
|
||||
config.clangd_source_dir = "@CMAKE_CURRENT_SOURCE_DIR@/.."
|
||||
config.clangd_binary_dir = "@CMAKE_CURRENT_BINARY_DIR@/.."
|
||||
config.clangd_build_xpc = @CLANGD_BUILD_XPC@
|
||||
|
||||
# Delegate logic to lit.cfg.py.
|
||||
lit_config.load_config(config, "@CMAKE_CURRENT_SOURCE_DIR@/lit.cfg.py")
|
|
@ -93,5 +93,5 @@ if (CLANGD_BUILD_XPC)
|
|||
endif ()
|
||||
|
||||
configure_lit_site_cfg(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lit.cfg)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py)
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
@LIT_SITE_CFG_IN_HEADER@
|
||||
# This is a shim to run the gtest unittests in ../unittests using lit.
|
||||
|
||||
import lit.formats
|
||||
config.name = "Clangd Unit Tests"
|
||||
config.test_format = lit.formats.GoogleTest('.', 'Tests')
|
||||
config.test_source_root = "@CMAKE_CURRENT_BINARY_DIR@"
|
||||
config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@"
|
||||
config.test_source_root = config.clangd_binary_dir + "/unittests"
|
||||
config.test_exec_root = config.clangd_binary_dir + "/unittests"
|
||||
|
||||
# Point the dynamic loader at dynamic libraries in 'lib'.
|
||||
# XXX: it seems every project has a copy of this logic. Move it somewhere.
|
||||
# FIXME: it seems every project has a copy of this logic. Move it somewhere.
|
||||
import platform
|
||||
if platform.system() == 'Darwin':
|
||||
shlibpath_var = 'DYLD_LIBRARY_PATH'
|
||||
|
@ -21,3 +18,4 @@ config.environment[shlibpath_var] = os.path.pathsep.join((
|
|||
config.environment.get(shlibpath_var,'')))
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
@LIT_SITE_CFG_IN_HEADER@
|
||||
# This is a shim to run the gtest unittests in ../unittests using lit.
|
||||
|
||||
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
||||
config.shlibdir = "@SHLIBDIR@"
|
||||
|
||||
config.clangd_source_dir = "@CMAKE_CURRENT_SOURCE_DIR@/.."
|
||||
config.clangd_binary_dir = "@CMAKE_CURRENT_BINARY_DIR@/.."
|
||||
|
||||
# Delegate logic to lit.cfg.py.
|
||||
lit_config.load_config(config, "@CMAKE_CURRENT_SOURCE_DIR@/lit.cfg.py")
|
Loading…
Reference in New Issue