diff --git a/utils/llvm-lit/CMakeLists.txt b/utils/llvm-lit/CMakeLists.txt index 585753427ac..4b10354cfde 100644 --- a/utils/llvm-lit/CMakeLists.txt +++ b/utils/llvm-lit/CMakeLists.txt @@ -2,8 +2,20 @@ if (WIN32 AND NOT CYGWIN) # llvm-lit needs suffix.py for multiprocess to find a main module. set(suffix .py) endif () +set(llvm_lit_path ${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-lit${suffix}) -configure_file( - llvm-lit.in - ${LLVM_TOOLS_BINARY_DIR}/llvm-lit${suffix} - ) +if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".") + foreach(BUILD_MODE ${CMAKE_CONFIGURATION_TYPES}) + string(REPLACE ${CMAKE_CFG_INTDIR} ${BUILD_MODE} bi ${llvm_lit_path}) + configure_file( + llvm-lit.in + ${bi} + ) + endforeach() +else() + set(BUILD_MODE .) + configure_file( + llvm-lit.in + ${llvm_lit_path} + ) +endif() diff --git a/utils/llvm-lit/llvm-lit.in b/utils/llvm-lit/llvm-lit.in index 4c836c88d93..6ee12185a3b 100755 --- a/utils/llvm-lit/llvm-lit.in +++ b/utils/llvm-lit/llvm-lit.in @@ -13,7 +13,7 @@ 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' : "@CMAKE_CFG_INTDIR@", + 'build_mode' : "@BUILD_MODE@", 'llvm_site_config' : os.path.join(llvm_obj_root, 'test', 'lit.site.cfg'), 'llvm_unit_site_config' : os.path.join(llvm_obj_root, 'test', 'Unit', 'lit.site.cfg')