mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-19 04:32:19 +00:00
CMake: lit(check.vcproj) can run with multiple configurations on Visual Studio.
Unittests need LLVM_BUILD_MODE to pick up each test. Confirmed on CentOS5, Mingw, MSYS, and with possible configurations on VS8 and VS10. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120212 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3946e3b476
commit
d420e7b76c
@ -27,6 +27,20 @@ This process created the file `CMakeCache.txt' and the directory `CMakeFiles'.
|
|||||||
Please delete them.")
|
Please delete them.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Run-time build mode; It is used for unittests.
|
||||||
|
if(MSVC_IDE)
|
||||||
|
# Expect "$(Configuration)", "$(OutDir)", etc.
|
||||||
|
# It is expanded by msbuild or similar.
|
||||||
|
set(RUNTIME_BUILD_MODE "${CMAKE_CFG_INTDIR}")
|
||||||
|
elseif(NOT CMAKE_BUILD_TYPE STREQUAL "")
|
||||||
|
# Expect "Release" "Debug", etc.
|
||||||
|
# Or unittests could not run.
|
||||||
|
set(RUNTIME_BUILD_MODE ${CMAKE_BUILD_TYPE})
|
||||||
|
else()
|
||||||
|
# It might be "."
|
||||||
|
set(RUNTIME_BUILD_MODE "${CMAKE_CFG_INTDIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
|
||||||
|
|
||||||
set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
@ -50,20 +50,14 @@ if(PYTHONINTERP_FOUND)
|
|||||||
|
|
||||||
MAKE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR}/Unit)
|
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_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
|
||||||
set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR})
|
set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR})
|
||||||
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
|
||||||
set(LLVMGCCDIR "")
|
set(LLVMGCCDIR "")
|
||||||
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||||
if (CMAKE_CONFIGURATION_TYPES)
|
|
||||||
# FIXME: We have no idea. It could be any of them... So just output all of
|
|
||||||
# them.
|
|
||||||
set(LLVM_BUILD_MODE "${CMAKE_CONFIGURATION_TYPES}")
|
|
||||||
elseif (CMAKE_BUILD_TYPE)
|
|
||||||
set(LLVM_BUILD_MODE "${CMAKE_BUILD_TYPE}")
|
|
||||||
else()
|
|
||||||
set(LLVM_BUILD_MODE "None")
|
|
||||||
endif()
|
|
||||||
set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
|
set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
|
||||||
set(SHLIBPATH_VAR ${SHLIBPATH_VAR})
|
set(SHLIBPATH_VAR ${SHLIBPATH_VAR})
|
||||||
|
|
||||||
@ -81,6 +75,8 @@ if(PYTHONINTERP_FOUND)
|
|||||||
${LLVM_SOURCE_DIR}/utils/lit/lit.py
|
${LLVM_SOURCE_DIR}/utils/lit/lit.py
|
||||||
--param llvm_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
|
--param llvm_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
|
||||||
--param llvm_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
|
--param llvm_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
|
||||||
|
--param build_config=${CMAKE_CFG_INTDIR}
|
||||||
|
--param build_mode=${RUNTIME_BUILD_MODE}
|
||||||
${LIT_ARGS}
|
${LIT_ARGS}
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
DEPENDS
|
DEPENDS
|
||||||
|
@ -8,5 +8,14 @@ config.llvm_build_mode = "@LLVM_BUILD_MODE@"
|
|||||||
config.enable_shared = @ENABLE_SHARED@
|
config.enable_shared = @ENABLE_SHARED@
|
||||||
config.shlibpath_var = "@SHLIBPATH_VAR@"
|
config.shlibpath_var = "@SHLIBPATH_VAR@"
|
||||||
|
|
||||||
|
# Support substitution of the tools_dir and build_mode with user parameters.
|
||||||
|
# This is used when we can't determine the tool dir at configuration time.
|
||||||
|
try:
|
||||||
|
config.llvm_tools_dir = config.llvm_tools_dir % lit.params
|
||||||
|
config.llvm_build_mode = config.llvm_build_mode % lit.params
|
||||||
|
except KeyError,e:
|
||||||
|
key, = e.args
|
||||||
|
lit.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
||||||
|
|
||||||
# Let the main config do the real work.
|
# Let the main config do the real work.
|
||||||
lit.load_config(config, "@LLVM_SOURCE_DIR@/test/Unit/lit.cfg")
|
lit.load_config(config, "@LLVM_SOURCE_DIR@/test/Unit/lit.cfg")
|
||||||
|
@ -6,5 +6,13 @@ config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
|||||||
config.llvmgcc_dir = "@LLVMGCCDIR@"
|
config.llvmgcc_dir = "@LLVMGCCDIR@"
|
||||||
config.python_executable = "@PYTHON_EXECUTABLE@"
|
config.python_executable = "@PYTHON_EXECUTABLE@"
|
||||||
|
|
||||||
|
# Support substitution of the tools_dir with user parameters. This is
|
||||||
|
# used when we can't determine the tool dir at configuration time.
|
||||||
|
try:
|
||||||
|
config.llvm_tools_dir = config.llvm_tools_dir % lit.params
|
||||||
|
except KeyError,e:
|
||||||
|
key, = e.args
|
||||||
|
lit.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
||||||
|
|
||||||
# Let the main config do the real work.
|
# Let the main config do the real work.
|
||||||
lit.load_config(config, "@LLVM_SOURCE_DIR@/test/lit.cfg")
|
lit.load_config(config, "@LLVM_SOURCE_DIR@/test/lit.cfg")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user