cmake:Properties on Targets

1059 篇文章 286 订阅

ADDITIONAL_CLEAN_FILES

3.15新版功能。

将作为全局clean目标的一部分被删除的文件或目录列表。它可以用来指定作为构建目标的一部分生成的文件和目录,或者以某种方式与目标直接关联的文件和目录(例如,作为运行目标的结果创建的文件和目录)。

对于自定义目标,如果这类文件可以作为输出或副产品捕获,那么应该优先将它们添加到此属性。如果一个额外的干净文件被多个目标使用,或者不是特定于目标的,那么ADDITIONAL_CLEAN_FILES目录属性可能是更适合使用的属性。

相对路径是允许的,并且是相对于当前二进制目录来解释的。

ADDITIONAL_CLEAN_FILES的内容可以使用生成器表达式。

这个属性只适用于Ninja和Makefile生成器。其他生成器会忽略它

AIX_EXPORT_ALL_SYMBOLS

3.17新版功能。

在AIX上,CMake使用ENABLE_EXPORTS目标属性集从共享库和可执行文件中自动导出所有符号。显式禁用此布尔属性以禁用该行为,默认情况下不导出任何符号。在这种情况下,预计项目将使用其他方法导出一些符号。

如果在创建目标时设置了CMAKE_AIX_EXPORT_ALL_SYMBOLS变量,则该属性由该变量的值初始化。

ALIAS_GLOBAL

3.18新版功能。

只读属性,指示ALIAS目标是否全局可见。

对于使用add_executable()或add_library()全局选项创建的导入目标的别名,此属性的布尔值为TRUE,否则为FALSE。对于在项目中构建的目标,它是未定义的。

注意通过改变值或IMPORTED_GLOBAL目标属性将导入的目标从LOCAL作用域提升到GLOBAL作用域不会改变本地别名的作用域。

ALIASED_TARGET

以此目标为别名的目标名称。

如果这是别名目标,则此属性包含别名目标的名称。

ARCHIVE_OUTPUT_DIRECTORY

要在其中构建ARCHIVE目标文件的输出目录。

此属性指定应该在其中构建存档目标文件的目录。属性值可以使用生成器表达式。多配置生成器(Visual Studio, Xcode, Ninja Multi-Config)在指定的目录下附加每个配置的子目录,除非使用了一个生成器表达式。

如果在创建目标时设置了CMAKE_ARCHIVE_OUTPUT_DIRECTORY变量,则该属性由该变量的值初始化。

参见ARCHIVE_OUTPUT_DIRECTORY_< CONFIG >目标属性。

ARCHIVE_OUTPUT_DIRECTORY_< CONFIG >

ARCHIVE目标文件的每个配置输出目录。

这是ARCHIVE_OUTPUT_DIRECTORY目标属性的按配置版本,但是多配置生成器(VS, Xcode)不会将按配置的子目录附加到指定的目录。如果在创建目标时设置了CMAKE_ARCHIVE_OUTPUT_DIRECTORY_< CONFIG >变量的值,则该属性被初始化。

ARCHIVE_OUTPUT_DIRECTORY_< CONFIG >的内容可以使用生成器表达式。

ARCHIVE_OUTPUT_NAME

ARCHIVE目标文件的输出名称。

此属性指定归档目标文件的基本名称。它覆盖OUTPUT_NAME和OUTPUT_NAME_< CONFIG >属性。

参见ARCHIVE_OUTPUT_NAME_< CONFIG >目标属性。

ARCHIVE_OUTPUT_NAME_< CONFIG>

ARCHIVE目标文件的每个配置输出名称。

这是ARCHIVE_OUTPUT_NAME目标属性的特定配置版本

BINARY_DIR

3.4新版功能。

这个只读属性报告定义目标的目录中CMAKE_CURRENT_BINARY_DIR变量的值。

BUILD_RPATH

3.8新版功能。

分号分隔的列表,指定要添加到构建树中链接的二进制文件中的运行时路径(RPATH)项(用于支持它的平台)。这些条目将不会用于安装树中的二进制文件。请参见INSTALL_RPATH目标属性。

如果在创建目标时设置了该属性,则该属性由变量CMAKE_BUILD_RPATH的值初始化。

此属性支持生成器表达式。

BUILD_RPATH_USE_ORIGIN

3.14新版功能。

是否为构建RPATH使用相对路径。

这个属性由变量CMAKE_BUILD_RPATH_USE_ORIGIN的值初始化。

在使用$ORIGIN令牌支持运行时路径(RPATH)的平台上,将此属性设置为TRUE将启用构建RPATH中指向同一构建树中的共享库的可执行程序和共享库的相对路径。

通常,二进制文件的构建RPATH包含它所链接到的每个共享库目录的绝对路径。构建树中包含的目录的RPATH条目可以是相对的,以支持可重定位的构建,并通过从构建环境中省略构建目录来帮助实现可重复的构建。

对于RPATH中不支持$ORIGIN令牌的平台或设置了CMAKE_SKIP_RPATH变量的平台,此属性没有影响。通过BUILD_RPATH目标属性设置的运行时路径也不受此属性的影响。

BUILD_WITH_INSTALL_NAME_DIR

3.9新版功能。

BUILD_WITH_INSTALL_NAME_DIR是一个布尔值,指定构建树中目标的macOS install_name是否使用INSTALL_NAME_DIR给出的目录。此设置仅适用于macOS上的目标。

如果在创建目标时设置了该属性,则该属性由变量CMAKE_BUILD_WITH_INSTALL_NAME_DIR的值初始化。

如果未设置此属性,且策略CMP0068不是NEW,则使用BUILD_WITH_INSTALL_RPATH的值代替。

BUILD_WITH_INSTALL_RPATH

BUILD_WITH_INSTALL_RPATH是一个布尔值,指定是否将构建树中的目标与INSTALL_RPATH链接起来。这优先于SKIP_BUILD_RPATH,并避免了在安装之前重新链接的需要。

如果在创建目标时设置了CMAKE_BUILD_WITH_INSTALL_RPATH变量,则该属性由它的值初始化。

如果策略CMP0068不是NEW,这个属性还控制在macOS的构建树中INSTALL_NAME_DIR的使用。无论哪种方式,BUILD_WITH_INSTALL_NAME_DIR目标属性优先。

BUNDLE

这个目标是macOS上的一个CFBundle。

如果一个模块库目标将此属性设置为true,那么当在mac上构建时,它将被构建为CFBundle。它将具有CFBundle所需的目录结构,并且将适合用于创建浏览器插件或其他应用程序资源。

BUNDLE_EXTENSION

用于命名macOS和iOS上的BUNDLE、框架或MACOSX_BUNDLE目标的文件扩展名。

对于各自的目标类型,默认值是bundle、framework或app。

C_EXTENSIONS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值