LINKER_TYPE
Добавлен в версии 3.29.
Укажите, какой компоновщик будет использоваться для шага компоновки. Значение свойства может использовать generator expressions.
Примечание
Предполагается, что указанный компоновщик полностью совместим с используемым по умолчанию компилятором. CMake не будет выполнять преобразование параметров.
Типы компоновщиков чувствительны к регистру и могут содержать только буквы, цифры и символы подчеркивания. Типы компоновщиков, определенные в верхнем регистре, зарезервированы для собственных встроенных типов CMake. Предварительно определенные типы компоновщиков:
-
DEFAULT -
Этот тип соответствует стандартной компоновке, по сути, эквивалентен тому, что свойство целевого объекта
LINKER_TYPEне задано вообще. -
SYSTEM -
Используйте стандартный компоновщик, предоставляемый платформой или инструментом построения. Например, это подразумевает использование компоновщика Microsoft для всех совместимых с MSVC компиляторов. Этот тип поддерживается для следующих комбинаций платформа-компилятор:
- Linux:
GNU,Clang,LLVMFlang,NVIDIA, иSwiftкомпиляторы. - Платформы Apple:
AppleClang,Clang,GNU, иSwiftкомпиляторы. - Windows:
MSVC,GNU,Clang,NVIDIA, иSwiftкомпиляторы.
- Linux:
-
LLD -
Используйте компоновщик
LLVM. Этот тип поддерживается для следующих комбинаций платформа-компилятор:- Linux:
GNU,Clang,LLVMFlang,NVIDIA, иSwiftкомпиляторы. - Платформы Apple:
Clang,AppleClang, иSwiftкомпиляторы. - Windows:
GNU,Clangс фронт-эндом, похожим на MSVC,Clangс фронт-эндом, похожим на GNU,MSVC,NVIDIAс фронт-эндом, похожим на MSVC, иSwift.
- Linux:
-
BFD -
Используйте компоновщик
GNU. Этот тип поддерживается для следующих комбинаций платформа-компилятор:- Linux:
GNU,Clang,LLVMFlang, иNVIDIAкомпиляторы. - Windows:
GNU,Clangс фронт-эндом, похожим на GNU.
- Linux:
-
GOLD -
Поддерживается на платформе Linux с
GNU,Clang,LLVMFlang,NVIDIA, иSwiftкомпиляторами. -
MOLD -
Используйте компоновщик mold. Этот тип поддерживается для следующих комбинаций платформа-компилятор:
- Linux:
GNU,Clang,LLVMFlang, иNVIDIAкомпиляторы. - Платформы Apple:
ClangиAppleClangкомпиляторы (действует как псевдоним для sold компоновщика).
- Linux:
-
SOLD -
Используйте компоновщик sold. Этот тип поддерживается только на платформах Apple с
ClangиAppleClangкомпиляторами. -
APPLE_CLASSIC -
Используйте компоновщик Apple в классическом поведении (т.е. до
Xcode 15.0). Этот тип поддерживается только на платформах Apple сGNU,Clang,AppleClang, иSwiftкомпиляторами. -
MSVC -
Используйте компоновщик Microsoft. Этот тип поддерживается только на платформе Windows с
MSVC,Clangс фронт-эндом, похожим на MSVC, иSwiftкомпиляторами.
Это свойство не поддерживается генератором Green Hills MULTI.
Подробные сведения о выбранном компоновщике будут предоставлены переменной CMAKE_<LANG>_USING_LINKER_<TYPE>. Например:
add_library(lib1 SHARED ...) set_property(TARGET lib1 PROPERTY LINKER_TYPE LLD)
Это указывает, что lib1 должен использовать тип компоновщика LLD для шага компоновки. Параметры командной строки, которые будут переданы инструменту построения, будут предоставлены переменной CMAKE_<LANG>_USING_LINKER_LLD.
Обратите внимание, что компоновщик обычно устанавливается с помощью CMAKE_LINKER_TYPE для всего процесса построения, а не путем установки свойства LINKER_TYPE для отдельных целевых объектов.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/LINKER_TYPE.html