Merge topic 'toolchain-flag-init'
8a98cf64
Honor CMAKE_*_LINKER_FLAGS[_<CONFIG>]_INIT set in toolchain files37d15c39
MSVC: Set all CMAKE_*_LINKER_FLAGS_INIT directly55c884ed
Embarcadero: Set all CMAKE_*_LINKER_FLAGS_INIT directlyaec3c79a
Strip CMAKE_*_LINKER_FLAGS[_<CONFIG>] initializer whitespace
This commit is contained in:
commit
c8e59d2dfa
|
@ -253,7 +253,9 @@ Variables that Control the Build
|
||||||
/variable/CMAKE_DEBUG_POSTFIX
|
/variable/CMAKE_DEBUG_POSTFIX
|
||||||
/variable/CMAKE_ENABLE_EXPORTS
|
/variable/CMAKE_ENABLE_EXPORTS
|
||||||
/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG
|
/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG
|
||||||
|
/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT
|
||||||
/variable/CMAKE_EXE_LINKER_FLAGS
|
/variable/CMAKE_EXE_LINKER_FLAGS
|
||||||
|
/variable/CMAKE_EXE_LINKER_FLAGS_INIT
|
||||||
/variable/CMAKE_Fortran_FORMAT
|
/variable/CMAKE_Fortran_FORMAT
|
||||||
/variable/CMAKE_Fortran_MODULE_DIRECTORY
|
/variable/CMAKE_Fortran_MODULE_DIRECTORY
|
||||||
/variable/CMAKE_GNUtoMS
|
/variable/CMAKE_GNUtoMS
|
||||||
|
@ -280,7 +282,9 @@ Variables that Control the Build
|
||||||
/variable/CMAKE_MACOSX_RPATH
|
/variable/CMAKE_MACOSX_RPATH
|
||||||
/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
|
/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
|
||||||
/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
|
/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
|
||||||
|
/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT
|
||||||
/variable/CMAKE_MODULE_LINKER_FLAGS
|
/variable/CMAKE_MODULE_LINKER_FLAGS
|
||||||
|
/variable/CMAKE_MODULE_LINKER_FLAGS_INIT
|
||||||
/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX
|
/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX
|
||||||
/variable/CMAKE_NO_BUILTIN_CHRPATH
|
/variable/CMAKE_NO_BUILTIN_CHRPATH
|
||||||
/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
|
/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
|
||||||
|
@ -293,11 +297,15 @@ Variables that Control the Build
|
||||||
/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY
|
/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY
|
||||||
/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG
|
/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG
|
||||||
/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG
|
/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG
|
||||||
|
/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT
|
||||||
/variable/CMAKE_SHARED_LINKER_FLAGS
|
/variable/CMAKE_SHARED_LINKER_FLAGS
|
||||||
|
/variable/CMAKE_SHARED_LINKER_FLAGS_INIT
|
||||||
/variable/CMAKE_SKIP_BUILD_RPATH
|
/variable/CMAKE_SKIP_BUILD_RPATH
|
||||||
/variable/CMAKE_SKIP_INSTALL_RPATH
|
/variable/CMAKE_SKIP_INSTALL_RPATH
|
||||||
/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG
|
/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG
|
||||||
|
/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT
|
||||||
/variable/CMAKE_STATIC_LINKER_FLAGS
|
/variable/CMAKE_STATIC_LINKER_FLAGS
|
||||||
|
/variable/CMAKE_STATIC_LINKER_FLAGS_INIT
|
||||||
/variable/CMAKE_TRY_COMPILE_CONFIGURATION
|
/variable/CMAKE_TRY_COMPILE_CONFIGURATION
|
||||||
/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
||||||
/variable/CMAKE_TRY_COMPILE_TARGET_TYPE
|
/variable/CMAKE_TRY_COMPILE_TARGET_TYPE
|
||||||
|
|
|
@ -5,3 +5,12 @@ toolchain-flag-init
|
||||||
:variable:`CMAKE_<LANG>_FLAGS_INIT` variable to initialize the
|
:variable:`CMAKE_<LANG>_FLAGS_INIT` variable to initialize the
|
||||||
:variable:`CMAKE_<LANG>_FLAGS` cache entry the first time a language is
|
:variable:`CMAKE_<LANG>_FLAGS` cache entry the first time a language is
|
||||||
enabled in a build tree.
|
enabled in a build tree.
|
||||||
|
|
||||||
|
* :variable:`Toolchain files <CMAKE_TOOLCHAIN_FILE>` may now set
|
||||||
|
:variable:`CMAKE_EXE_LINKER_FLAGS_INIT`,
|
||||||
|
:variable:`CMAKE_SHARED_LINKER_FLAGS_INIT`, and
|
||||||
|
:variable:`CMAKE_MODULE_LINKER_FLAGS_INIT` variables to initialize the
|
||||||
|
:variable:`CMAKE_EXE_LINKER_FLAGS`,
|
||||||
|
:variable:`CMAKE_SHARED_LINKER_FLAGS`, and
|
||||||
|
:variable:`CMAKE_MODULE_LINKER_FLAGS` cache entries the first time
|
||||||
|
a language is enabled in a build tree.
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_<CONFIG>_INIT
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_EXE_LINKER_FLAGS_<CONFIG>`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also :variable:`CMAKE_EXE_LINKER_FLAGS_INIT`.
|
|
@ -0,0 +1,11 @@
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_INIT
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_EXE_LINKER_FLAGS`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also the configuration-specific variable
|
||||||
|
:variable:`CMAKE_EXE_LINKER_FLAGS_<CONFIG>_INIT`.
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_<CONFIG>_INIT
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_MODULE_LINKER_FLAGS_<CONFIG>`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also :variable:`CMAKE_MODULE_LINKER_FLAGS_INIT`.
|
|
@ -0,0 +1,11 @@
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_INIT
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_MODULE_LINKER_FLAGS`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also the configuration-specific variable
|
||||||
|
:variable:`CMAKE_MODULE_LINKER_FLAGS_<CONFIG>_INIT`.
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_<CONFIG>_INIT
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_SHARED_LINKER_FLAGS_<CONFIG>`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also :variable:`CMAKE_SHARED_LINKER_FLAGS_INIT`.
|
|
@ -0,0 +1,11 @@
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_INIT
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_SHARED_LINKER_FLAGS`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also the configuration-specific variable
|
||||||
|
:variable:`CMAKE_SHARED_LINKER_FLAGS_<CONFIG>_INIT`.
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_<CONFIG>_INIT
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_STATIC_LINKER_FLAGS_<CONFIG>`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also :variable:`CMAKE_STATIC_LINKER_FLAGS_INIT`.
|
|
@ -0,0 +1,11 @@
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_INIT
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Value used to initialize the :variable:`CMAKE_STATIC_LINKER_FLAGS`
|
||||||
|
cache entry the first time a build tree is configured.
|
||||||
|
This variable is meant to be set by a :variable:`toolchain file
|
||||||
|
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||||
|
the value based on the environment and target platform.
|
||||||
|
|
||||||
|
See also the configuration-specific variable
|
||||||
|
:variable:`CMAKE_STATIC_LINKER_FLAGS_<CONFIG>_INIT`.
|
|
@ -16,11 +16,15 @@
|
||||||
# cache values that can be initialized in the platform-compiler.cmake file
|
# cache values that can be initialized in the platform-compiler.cmake file
|
||||||
# it may be included by more than one language.
|
# it may be included by more than one language.
|
||||||
|
|
||||||
if(NOT "x$ENV{LDFLAGS}" STREQUAL "x")
|
set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
|
set(CMAKE_SHARED_LINKER_FLAGS_INIT "${CMAKE_SHARED_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_INIT "${CMAKE_SHARED_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
|
set(CMAKE_MODULE_LINKER_FLAGS_INIT "${CMAKE_MODULE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_INIT "${CMAKE_MODULE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
|
|
||||||
endif()
|
foreach(t EXE SHARED MODULE STATIC)
|
||||||
|
foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
|
||||||
|
string(STRIP "${CMAKE_${t}_LINKER_FLAGS${c}_INIT}" CMAKE_${t}_LINKER_FLAGS${c}_INIT)
|
||||||
|
endforeach()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
|
if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
|
||||||
# default build type is none
|
# default build type is none
|
||||||
|
|
|
@ -21,9 +21,9 @@ set(__AIX_COMPILER_GNU 1)
|
||||||
#
|
#
|
||||||
# By default, runtime linking is enabled. All shared objects specified on the command line
|
# By default, runtime linking is enabled. All shared objects specified on the command line
|
||||||
# will be listed, even if there are no symbols referenced, in the output file.
|
# will be listed, even if there are no symbols referenced, in the output file.
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,-brtl")
|
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " -Wl,-brtl")
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,-brtl")
|
string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " -Wl,-brtl")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-brtl")
|
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,-brtl")
|
||||||
|
|
||||||
|
|
||||||
macro(__aix_compiler_gnu lang)
|
macro(__aix_compiler_gnu lang)
|
||||||
|
|
|
@ -21,9 +21,9 @@ set(__AIX_COMPILER_XL 1)
|
||||||
#
|
#
|
||||||
# By default, runtime linking is enabled. All shared objects specified on the command line
|
# By default, runtime linking is enabled. All shared objects specified on the command line
|
||||||
# will be listed, even if there are no symbols referenced, in the output file.
|
# will be listed, even if there are no symbols referenced, in the output file.
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,-brtl")
|
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " -Wl,-brtl")
|
||||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,-brtl")
|
string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " -Wl,-brtl")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-brtl")
|
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,-brtl")
|
||||||
|
|
||||||
|
|
||||||
macro(__aix_compiler_xl lang)
|
macro(__aix_compiler_xl lang)
|
||||||
|
|
|
@ -19,7 +19,7 @@ endif()
|
||||||
set(__CYGWIN_COMPILER_GNU 1)
|
set(__CYGWIN_COMPILER_GNU 1)
|
||||||
|
|
||||||
# TODO: Is -Wl,--enable-auto-import now always default?
|
# TODO: Is -Wl,--enable-auto-import now always default?
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--enable-auto-import")
|
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,--enable-auto-import")
|
||||||
set(CMAKE_CREATE_WIN32_EXE "-mwindows")
|
set(CMAKE_CREATE_WIN32_EXE "-mwindows")
|
||||||
|
|
||||||
set(CMAKE_GNULD_IMAGE_VERSION
|
set(CMAKE_GNULD_IMAGE_VERSION
|
||||||
|
|
|
@ -64,15 +64,11 @@ set(CMAKE_CREATE_CONSOLE_EXE "${_tC}" )
|
||||||
set (CMAKE_BUILD_TYPE Debug CACHE STRING
|
set (CMAKE_BUILD_TYPE Debug CACHE STRING
|
||||||
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
|
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
|
||||||
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_INIT "${_tM} -lS:1048576 -lSc:4098 -lH:1048576 -lHc:8192 ")
|
foreach(t EXE SHARED MODULE)
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-v")
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_tM} -lS:1048576 -lSc:4098 -lH:1048576 -lHc:8192 ")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-v")
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " -v")
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " -v")
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
|
endforeach()
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
|
|
||||||
|
|
||||||
# The Borland link tool does not support multiple concurrent
|
# The Borland link tool does not support multiple concurrent
|
||||||
# invocations within a single working directory.
|
# invocations within a single working directory.
|
||||||
|
|
|
@ -166,7 +166,9 @@ if(WINCE)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
|
set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
|
foreach(t EXE SHARED MODULE)
|
||||||
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
if (MSVC_VERSION LESS 1600)
|
if (MSVC_VERSION LESS 1600)
|
||||||
set(CMAKE_C_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT} corelibc.lib")
|
set(CMAKE_C_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT} corelibc.lib")
|
||||||
|
@ -235,9 +237,6 @@ elseif(MSVC_CXX_ARCHITECTURE_ID)
|
||||||
elseif(MSVC_Fortran_ARCHITECTURE_ID)
|
elseif(MSVC_Fortran_ARCHITECTURE_ID)
|
||||||
set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
|
set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} ${_MACHINE_ARCH_FLAG}")
|
|
||||||
set(CMAKE_STATIC_LINKER_FLAGS_INIT "${CMAKE_STATIC_LINKER_FLAGS_INIT} ${_MACHINE_ARCH_FLAG}")
|
|
||||||
unset(_MACHINE_ARCH_FLAG)
|
|
||||||
|
|
||||||
# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
|
# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
|
||||||
# on versions that support it
|
# on versions that support it
|
||||||
|
@ -250,30 +249,22 @@ if(NOT WINDOWS_PHONE AND NOT WINDOWS_STORE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
|
foreach(t EXE SHARED MODULE)
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_MACHINE_ARCH_FLAG}")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
|
||||||
else ()
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " /debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " /debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
else ()
|
||||||
endif ()
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " /debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
||||||
# for release and minsize release default to no incremental linking
|
string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " /debug ${MSVC_INCREMENTAL_YES_FLAG}")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT "/INCREMENTAL:NO")
|
endif ()
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "/INCREMENTAL:NO")
|
# 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")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
# copy the EXE_LINKER flags to SHARED and MODULE linker flags
|
string(APPEND CMAKE_STATIC_LINKER_FLAGS_INIT " ${_MACHINE_ARCH_FLAG}")
|
||||||
# shared linker flags
|
unset(_MACHINE_ARCH_FLAG)
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
|
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
|
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
|
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
|
|
||||||
set (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
|
|
||||||
# module linker flags
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
|
|
||||||
set (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
|
|
||||||
|
|
||||||
macro(__windows_compiler_msvc lang)
|
macro(__windows_compiler_msvc lang)
|
||||||
if(NOT MSVC_VERSION LESS 1400)
|
if(NOT MSVC_VERSION LESS 1400)
|
||||||
|
|
|
@ -32,14 +32,14 @@ else()
|
||||||
set(CMAKE_LIB_QUIET "-q")
|
set(CMAKE_LIB_QUIET "-q")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_INIT)
|
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ")
|
||||||
set(CMAKE_CREATE_WIN32_EXE "system nt_win" )
|
set(CMAKE_CREATE_WIN32_EXE "system nt_win" )
|
||||||
set(CMAKE_CREATE_CONSOLE_EXE "system nt" )
|
set(CMAKE_CREATE_CONSOLE_EXE "system nt" )
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "system nt_dll")
|
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " system nt_dll")
|
||||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "system nt_dll")
|
string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " system nt_dll")
|
||||||
foreach(type SHARED MODULE EXE)
|
foreach(type SHARED MODULE EXE)
|
||||||
set(CMAKE_${type}_LINKER_FLAGS_DEBUG_INIT "debug all opt map")
|
string(APPEND CMAKE_${type}_LINKER_FLAGS_DEBUG_INIT " debug all opt map")
|
||||||
set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO_INIT "debug all opt map")
|
string(APPEND CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO_INIT " debug all opt map")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
set(CMAKE_C_COMPILE_OPTIONS_DLL "-bd") # Note: This variable is a ';' separated list
|
set(CMAKE_C_COMPILE_OPTIONS_DLL "-bd") # Note: This variable is a ';' separated list
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
-- CMAKE_EXE_LINKER_FLAGS='[^
|
||||||
|
]*MY_EXE_FLAGS_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_EXE_LINKER_FLAGS_DEBUG='[^
|
||||||
|
]*MY_EXE_FLAGS_DEBUG_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_EXE_LINKER_FLAGS_RELEASE='[^
|
||||||
|
]*MY_EXE_FLAGS_RELEASE_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_EXE_LINKER_FLAGS_MINSIZEREL='[^
|
||||||
|
]*MY_EXE_FLAGS_MINSIZEREL_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO='[^
|
||||||
|
]*MY_EXE_FLAGS_RELWITHDEBINFO_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_SHARED_LINKER_FLAGS='[^
|
||||||
|
]*MY_SHARED_FLAGS_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_SHARED_LINKER_FLAGS_DEBUG='[^
|
||||||
|
]*MY_SHARED_FLAGS_DEBUG_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_SHARED_LINKER_FLAGS_RELEASE='[^
|
||||||
|
]*MY_SHARED_FLAGS_RELEASE_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL='[^
|
||||||
|
]*MY_SHARED_FLAGS_MINSIZEREL_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO='[^
|
||||||
|
]*MY_SHARED_FLAGS_RELWITHDEBINFO_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_MODULE_LINKER_FLAGS='[^
|
||||||
|
]*MY_MODULE_FLAGS_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_MODULE_LINKER_FLAGS_DEBUG='[^
|
||||||
|
]*MY_MODULE_FLAGS_DEBUG_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_MODULE_LINKER_FLAGS_RELEASE='[^
|
||||||
|
]*MY_MODULE_FLAGS_RELEASE_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL='[^
|
||||||
|
]*MY_MODULE_FLAGS_MINSIZEREL_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO='[^
|
||||||
|
]*MY_MODULE_FLAGS_RELWITHDEBINFO_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_STATIC_LINKER_FLAGS='[^
|
||||||
|
]*MY_STATIC_FLAGS_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_STATIC_LINKER_FLAGS_DEBUG='[^
|
||||||
|
]*MY_STATIC_FLAGS_DEBUG_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_STATIC_LINKER_FLAGS_RELEASE='[^
|
||||||
|
]*MY_STATIC_FLAGS_RELEASE_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL='[^
|
||||||
|
]*MY_STATIC_FLAGS_MINSIZEREL_INIT[^
|
||||||
|
]*'
|
||||||
|
-- CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO='[^
|
||||||
|
]*MY_STATIC_FLAGS_RELWITHDEBINFO_INIT[^
|
||||||
|
]*'
|
|
@ -0,0 +1,5 @@
|
||||||
|
foreach(t EXE SHARED MODULE STATIC)
|
||||||
|
foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
|
||||||
|
set(CMAKE_${t}_LINKER_FLAGS${c}_INIT MY_${t}_FLAGS${c}_INIT)
|
||||||
|
endforeach()
|
||||||
|
endforeach()
|
|
@ -0,0 +1,7 @@
|
||||||
|
set(CMAKE_C_COMPILER_FORCED 1) # skip compiler test so we can check cached values
|
||||||
|
enable_language(C)
|
||||||
|
foreach(t EXE SHARED MODULE STATIC)
|
||||||
|
foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
|
||||||
|
message(STATUS "CMAKE_${t}_LINKER_FLAGS${c}='${CMAKE_${t}_LINKER_FLAGS${c}}'")
|
||||||
|
endforeach()
|
||||||
|
endforeach()
|
|
@ -8,3 +8,4 @@ endfunction()
|
||||||
run_cmake_toolchain(CallEnableLanguage)
|
run_cmake_toolchain(CallEnableLanguage)
|
||||||
run_cmake_toolchain(CallProject)
|
run_cmake_toolchain(CallProject)
|
||||||
run_cmake_toolchain(FlagsInit)
|
run_cmake_toolchain(FlagsInit)
|
||||||
|
run_cmake_toolchain(LinkFlagsInit)
|
||||||
|
|
Loading…
Reference in New Issue