mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
Extend CMAKE_<LANG>_LINK_MODE support
* Add CMAKE_Swift_LINK_MODE * Ensure correct definition for various clang usages on Windows
This commit is contained in:
@@ -20,7 +20,6 @@ if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
|
||||
OR "x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC"
|
||||
OR "x${CMAKE_Fortran_SIMULATE_ID}" STREQUAL "xMSVC")
|
||||
macro(__compiler_clang lang)
|
||||
set(CMAKE_${lang}_LINK_MODE LINKER)
|
||||
endmacro()
|
||||
else()
|
||||
include(Compiler/GNU)
|
||||
|
||||
@@ -15,3 +15,5 @@ else()
|
||||
set(CMAKE_SHARED_MODULE_LOADER_Swift_FLAG "-Xclang-linker -Wl,-bundle_loader,")
|
||||
set(CMAKE_SHARED_MODULE_CREATE_Swift_FLAGS "-Xlinker -bundle")
|
||||
endif()
|
||||
|
||||
set(CMAKE_Swift_LINK_MODE DRIVER)
|
||||
|
||||
@@ -5,3 +5,5 @@ set(CMAKE_EXE_EXPORTS_Swift_FLAG "-Xclang-linker -Wl,--export-dynamic")
|
||||
set(CMAKE_Swift_USING_LINKER_SYSTEM "")
|
||||
set(CMAKE_Swift_USING_LINKER_GOLD "-use-ld=gold")
|
||||
set(CMAKE_Swift_USING_LINKER_LLD "-use-ld=lld")
|
||||
|
||||
set(CMAKE_Swift_LINK_MODE DRIVER)
|
||||
|
||||
@@ -6,3 +6,5 @@ set(CMAKE_Swift_FLAGS_RELWITHDEBINFO_LINKER_FLAGS "-Xlinker -debug")
|
||||
set(CMAKE_Swift_USING_LINKER_SYSTEM "-use-ld=link")
|
||||
set(CMAKE_Swift_USING_LINKER_LLD "-use-ld=lld")
|
||||
set(CMAKE_Swift_USING_LINKER_MSVC "-use-ld=link")
|
||||
|
||||
set(CMAKE_Swift_LINK_MODE DRIVER)
|
||||
|
||||
@@ -38,6 +38,8 @@ macro(__windows_compiler_clang_gnu lang)
|
||||
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "-Xlinker" " ")
|
||||
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG_SEP)
|
||||
|
||||
set(CMAKE_${lang}_LINK_MODE DRIVER)
|
||||
|
||||
set(CMAKE_${lang}_LINKER_MANIFEST_FLAG " -Xlinker /MANIFESTINPUT:")
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_WARNING_AS_ERROR "-Werror")
|
||||
|
||||
@@ -217,7 +219,9 @@ if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
|
||||
unset(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_EditAndContinue) # -ZI not supported by Clang
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_WARNING_AS_ERROR "-WX")
|
||||
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-imsvc")
|
||||
endmacro()
|
||||
|
||||
set(CMAKE_${lang}_LINK_MODE LINKER)
|
||||
endmacro()
|
||||
else()
|
||||
cmake_policy(GET CMP0091 __WINDOWS_CLANG_CMP0091)
|
||||
if(__WINDOWS_CLANG_CMP0091 STREQUAL "NEW")
|
||||
@@ -248,6 +252,8 @@ else()
|
||||
__enable_llvm_rc_preprocessing("" "-x c")
|
||||
macro(__windows_compiler_clang_base lang)
|
||||
__windows_compiler_gnu(${lang})
|
||||
|
||||
set(CMAKE_${lang}_LINK_MODE DRIVER)
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user