IMPORTED_GLOBAL

在版本 3.11 中添加。

指示 IMPORTED targets 是否全局可见。

对于使用 IMPORTED GLOBAL 选项创建的 target,此属性的布尔值为 True,它们是 add_executable()add_library()。对于在项目中构建的 target,始终为 False。

对于使用 IMPORTED 选项创建的 target,它是 add_executable()add_library(),但没有使用额外的选项 GLOBAL,这也为 False,但是,将这种局部 IMPORTED target 的此属性设置为 True,可以将该 target 提升为全局作用域。这种提升只能在创建该 IMPORTED target 的目录中执行。

注意

导入的 target 一旦变为全局,则无法再变为非全局。因此,如果项目设置了此属性,那么只可以提供 True 值。如果项目尝试将属性设置成非 True 值,即时该值之前为 False,CMake 会发出错误。

注意

在将 IMPORTED targetLOCAL 提升为 GLOBAL 之前创建的局部 ALIAS targets 保持其初始作用域(参见 ALIAS_GLOBAL target 属性)。