Detect the correct target architecture for clang compilers.
During compiler identification, if CMAKE_{C,CXX}_COMPILER_TARGET is defined, the corresponding clang target flag is used to guaranty proper target architecture detection.
This commit is contained in:
parent
e4e899056e
commit
270e0d9c4d
@ -87,7 +87,9 @@ else()
|
||||
"--target=arm-arm-none-eabi -mcpu=cortex-m3"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_TARGET)
|
||||
list(PREPEND CMAKE_C_COMPILER_ID_TEST_FLAGS "-c --target=${CMAKE_C_COMPILER_TARGET}")
|
||||
endif()
|
||||
# Build a small source file to identify the compiler.
|
||||
if(NOT CMAKE_C_COMPILER_ID_RUN)
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
|
@ -83,6 +83,10 @@ else()
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_TARGET)
|
||||
list(PREPEND CMAKE_CXX_COPMILER_ID_TEST_FLAGS "-c --target=${CMAKE_CXX_COMPILER_TARGET}")
|
||||
endif()
|
||||
|
||||
# Build a small source file to identify the compiler.
|
||||
if(NOT CMAKE_CXX_COMPILER_ID_RUN)
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
|
@ -356,6 +356,11 @@ macro(__windows_compiler_msvc lang)
|
||||
set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
|
||||
set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
|
||||
|
||||
if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4.0)
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-target ")
|
||||
else()
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "--target=")
|
||||
endif()
|
||||
# '-flto=thin' available since Clang 3.9 and Xcode 8
|
||||
# * http://clang.llvm.org/docs/ThinLTO.html#clang-llvm
|
||||
# * https://trac.macports.org/wiki/XcodeVersionInfo
|
||||
|
Loading…
Reference in New Issue
Block a user