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 и Visual Studio 9 2008.
Подробные сведения о реализациях выбранного компоновщика будут предоставлены переменной 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/v3.29/prop_tgt/LINKER_TYPE.html