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.
Note
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.