CMAKE_LINKER_TYPE¶
Added in version 3.29.
Specify which linker will be used for the link step.
This variable is used to initialize the LINKER_TYPE
property
on each target created by a call to add_library()
or
add_executable()
. It is meaningful only for targets having a
link step. If set, its value is also used by the try_compile()
command.
注釈
It is assumed that the linker specified is fully compatible with the default one the compiler would normally invoke. CMake will not do any option translation.
Linker types are case-sensitive and may only contain letters, numbers and underscores. Linker types defined in all uppercase are reserved for CMake's own built-in types. The pre-defined linker types are:
DEFAULT
This type corresponds to standard linking, essentially equivalent to the
LINKER_TYPE
target property not being set at all.SYSTEM
Use the standard linker provided by the platform or toolchain. For example, this implies the Microsoft linker for all MSVC-compatible compilers. This type is supported for the following platform-compiler combinations:
Linux:
GNU
,Clang
,LLVMFlang
,NVIDIA
, andSwift
compilers.Apple platforms:
AppleClang
,Clang
,GNU
, andSwift
compilers.Windows:
MSVC
,GNU
,Clang
,NVIDIA
, andSwift
compilers.
LLD
Use the
LLVM
linker. This type is supported for the following platform-compiler combinations:Linux:
GNU
,Clang
,LLVMFlang
,NVIDIA
, andSwift
compilers.Apple platforms:
Clang
,AppleClang
, andSwift
compilers.Windows:
GNU
,Clang
with MSVC-like front-end,Clang
with GNU-like front-end,MSVC
,NVIDIA
with MSVC-like front-end, andSwift
.
BFD
Use the
GNU
linker. This type is supported for the following platform-compiler combinations:Linux:
GNU
,Clang
,LLVMFlang
, andNVIDIA
compilers.Windows:
GNU
,Clang
with GNU-like front-end.
GOLD
Supported on Linux platform with
GNU
,Clang
,LLVMFlang
,NVIDIA
, andSwift
compilers.MOLD
Use the mold linker. This type is supported on the following platform-compiler combinations:
Linux:
GNU
,Clang
,LLVMFlang
, andNVIDIA
compilers.Apple platforms:
Clang
andAppleClang
compilers (acts as an alias to the sold linker).
SOLD
Use the sold linker. This type is only supported on Apple platforms with
Clang
andAppleClang
compilers.APPLE_CLASSIC
Use the Apple linker in the classic behavior (i.e. before
Xcode 15.0
). This type is only supported on Apple platforms withGNU
,Clang
,AppleClang
, andSwift
compilers.MSVC
Use the Microsoft linker. This type is only supported on the Windows platform with
MSVC
,Clang
with MSVC-like front-end, andSwift
compilers.