mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
Fix compiler command line used by lit.py when working with NMake
generators. It may improve robustness when testing from VS too. Based on a patch by David Neto! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129398 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -37,14 +37,32 @@ if(PYTHONINTERP_FOUND)
|
|||||||
foreach(INC_DIR ${INC_DIRS})
|
foreach(INC_DIR ${INC_DIRS})
|
||||||
set(IDIRS "${IDIRS} -I${INC_DIR}")
|
set(IDIRS "${IDIRS} -I${INC_DIR}")
|
||||||
endforeach()
|
endforeach()
|
||||||
string(REPLACE "<CMAKE_CXX_COMPILER>" "${CMAKE_CXX_COMPILER}" TEST_COMPILE_CXX_CMD ${CMAKE_CXX_COMPILE_OBJECT})
|
|
||||||
|
if( MSVC )
|
||||||
|
# The compiler's path may contain white space. Wrap it:
|
||||||
|
string(REPLACE "<CMAKE_CXX_COMPILER>" "\\\"${CMAKE_CXX_COMPILER}\\\"" TEST_COMPILE_CXX_CMD ${CMAKE_CXX_COMPILE_OBJECT})
|
||||||
|
# Eliminate continuation lines from NMake flow. PR9680
|
||||||
|
string(REPLACE "@<<\n" " " TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
|
string(REPLACE "\n<<" " " TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
|
else()
|
||||||
|
string(REPLACE "<CMAKE_CXX_COMPILER>" "${CMAKE_CXX_COMPILER}" TEST_COMPILE_CXX_CMD ${CMAKE_CXX_COMPILE_OBJECT})
|
||||||
|
endif()
|
||||||
|
|
||||||
string(REPLACE "<DEFINES>" "${DEFS}" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
string(REPLACE "<DEFINES>" "${DEFS}" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
string(REPLACE "<FLAGS>" "${CMAKE_CXX_FLAGS}" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
string(REPLACE "<FLAGS>" "${CMAKE_CXX_FLAGS}" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
string(REPLACE "-o" "" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
if (MSVC) # PR9680
|
||||||
|
# Eliminate MSVC equivalent of -o
|
||||||
|
string(REPLACE "/Fo<OBJECT>" "" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
|
# Eliminate "how to rename program database" argument
|
||||||
|
string(REPLACE "/Fd<TARGET_PDB>" "" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
|
else()
|
||||||
|
string(REPLACE "-o" "" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
|
endif(MSVC)
|
||||||
string(REGEX REPLACE "<[^>]+>" "" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
string(REGEX REPLACE "<[^>]+>" "" TEST_COMPILE_CXX_CMD ${TEST_COMPILE_CXX_CMD})
|
||||||
set(TEST_COMPILE_CXX_CMD "${TEST_COMPILE_CXX_CMD} ${IDIRS}")
|
set(TEST_COMPILE_CXX_CMD "${TEST_COMPILE_CXX_CMD} ${IDIRS}")
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
set(TEST_COMPILE_CXX_CMD "${TEST_COMPILE_CXX_CMD} -x c++")
|
set(TEST_COMPILE_CXX_CMD "${TEST_COMPILE_CXX_CMD} -x c++")
|
||||||
|
# MSVC already has /TP to indicate a C++ source file
|
||||||
endif()
|
endif()
|
||||||
configure_file(
|
configure_file(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/site.exp.in
|
${CMAKE_CURRENT_SOURCE_DIR}/site.exp.in
|
||||||
|
Reference in New Issue
Block a user