XCODE_LINK_BUILD_PHASE_MODE¶
3.19 版本新增。
当使用 Xcode 生成器时,要链接的库将使用“链接二进制文件与库”(Link Binary With Libraries)构建阶段或直接作为链接器标志在 Xcode 项目文件中指定。前者允许 Xcode 管理构建路径,这在创建 Xcode 归档时可能很有用,因为它可能使用与常规构建不同的构建路径。
此属性控制是否为应用程序包、可执行文件、共享库、共享框架或模块库类型的目标使用“链接二进制文件与库”构建阶段。
可能的值为
NONE库将通过直接指定链接器标志来链接。BUILT_ONLY在以下条件下,将使用“链接二进制文件与库”构建阶段链接到另一个目标:要链接到的目标是一个常规的、非导入的、非接口的库目标。
正在构建的目标的输出目录未从其默认值更改(请参阅
RUNTIME_OUTPUT_DIRECTORY和LIBRARY_OUTPUT_DIRECTORY)。
KNOWN_LOCATION在与BUILT_ONLY相同的条件下,将使用“链接二进制文件与库”构建阶段链接到另一个目标,并且还包括:导入的库目标,但类型为
UNKNOWN的除外。通过路径直接指定的任何非目标库。
对于所有其他情况,库将通过直接指定链接器标志来链接。
警告
使用“链接二进制文件与库”链接的库将在通过常规链接器标志链接的库之后进行链接。当不同的静态库包含同名符号时,应考虑此顺序,因为前者将优先于后者。
警告
如果两个或多个目录包含文件名相同的库,并且其中一些库是从这些目录链接的,那么库搜索路径查找最终将链接来自第一个目录的库。这是 Xcode 的一个已知限制。
当创建目标时,如果 CMAKE_XCODE_LINK_BUILD_PHASE_MODE 变量被设置,此属性将由该变量的值初始化。