|
|
@@ -206,7 +206,7 @@ if(WINCE)
|
|
|
|
|
|
set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
|
|
|
foreach(t EXE SHARED MODULE)
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_Wl}/NODEFAULTLIB:libc.lib ${_Wl}/NODEFAULTLIB:oldnames.lib")
|
|
|
endforeach()
|
|
|
|
|
|
if (MSVC_VERSION LESS 1600)
|
|
|
@@ -230,7 +230,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsKernelModeDriver")
|
|
|
set(_FLAGS_C " -kernel")
|
|
|
set(_FLAGS_CXX " -kernel")
|
|
|
foreach(t EXE SHARED MODULE)
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " -NODEFAULTLIB")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_Wl}-NODEFAULTLIB")
|
|
|
endforeach()
|
|
|
if((_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "x64") OR (_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "x64"))
|
|
|
set(_PLATFORM_DEFINES "${_PLATFORM_DEFINES} -D_AMD64_ -DAMD64")
|
|
|
@@ -279,30 +279,30 @@ set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
|
|
|
# set the machine type
|
|
|
if(MSVC_C_ARCHITECTURE_ID)
|
|
|
if(MSVC_C_ARCHITECTURE_ID MATCHES "^ARMV.I")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:THUMB")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:THUMB")
|
|
|
elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:ARM64")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:ARM64")
|
|
|
elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64EC")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:ARM64EC")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:ARM64EC")
|
|
|
elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:ARM")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:ARM")
|
|
|
else()
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:${MSVC_C_ARCHITECTURE_ID}")
|
|
|
endif()
|
|
|
elseif(MSVC_CXX_ARCHITECTURE_ID)
|
|
|
if(MSVC_CXX_ARCHITECTURE_ID MATCHES "^ARMV.I")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:THUMB")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:THUMB")
|
|
|
elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM64")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:ARM64")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:ARM64")
|
|
|
elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM64EC")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:ARM64EC")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:ARM64EC")
|
|
|
elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:ARM")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:ARM")
|
|
|
else()
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:${MSVC_CXX_ARCHITECTURE_ID}")
|
|
|
endif()
|
|
|
elseif(MSVC_Fortran_ARCHITECTURE_ID)
|
|
|
- set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
|
|
|
+ set(_MACHINE_ARCH_FLAG "${_Wl}/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
|
|
|
endif()
|
|
|
|
|
|
# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
|
|
|
@@ -310,28 +310,28 @@ endif()
|
|
|
set( MSVC_INCREMENTAL_YES_FLAG "")
|
|
|
if(NOT WINDOWS_PHONE AND NOT WINDOWS_STORE AND NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsKernelModeDriver")
|
|
|
if(NOT MSVC_INCREMENTAL_DEFAULT)
|
|
|
- set( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:YES")
|
|
|
+ set(MSVC_INCREMENTAL_YES_FLAG "${_Wl}/INCREMENTAL:YES")
|
|
|
else()
|
|
|
- set( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL" )
|
|
|
+ set(MSVC_INCREMENTAL_YES_FLAG "${_Wl}/INCREMENTAL" )
|
|
|
endif()
|
|
|
endif()
|
|
|
|
|
|
foreach(t EXE SHARED MODULE)
|
|
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_MACHINE_ARCH_FLAG}")
|
|
|
if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " /debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " /debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " ${_Wl}/debug ${_Wl}/pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " ${_Wl}/debug ${_Wl}/pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
else ()
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " /debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " /debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " ${_Wl}/debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " ${_Wl}/debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
|
|
endif ()
|
|
|
# for release and minsize release default to no incremental linking
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_MINSIZEREL_INIT " /INCREMENTAL:NO")
|
|
|
- string(APPEND CMAKE_${t}_LINKER_FLAGS_RELEASE_INIT " /INCREMENTAL:NO")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_MINSIZEREL_INIT " ${_Wl}/INCREMENTAL:NO")
|
|
|
+ string(APPEND CMAKE_${t}_LINKER_FLAGS_RELEASE_INIT " ${_Wl}/INCREMENTAL:NO")
|
|
|
endforeach()
|
|
|
|
|
|
if((_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64EC") OR (_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM64EC"))
|
|
|
- string(APPEND CMAKE_STATIC_LINKER_FLAGS_INIT " /machine:ARM64X")
|
|
|
+ string(APPEND CMAKE_STATIC_LINKER_FLAGS_INIT " ${_Wl}/machine:ARM64X")
|
|
|
else()
|
|
|
string(APPEND CMAKE_STATIC_LINKER_FLAGS_INIT " ${_MACHINE_ARCH_FLAG}")
|
|
|
endif()
|