IMPORTED_GLOBAL

3.11 版本新增。

指示一个导入的目标是否全局可见。

此属性的布尔值为 True,表示使用 add_executable()add_library()IMPORTED GLOBAL 选项创建的目标。对于在项目内部构建的目标,此值始终为 False。

对于使用 add_executable()add_library()IMPORTED 选项创建但未附加 GLOBAL 选项的目标,此属性也为 False。但是,为此类本地 IMPORTED 目标设置此属性为 True 会将其提升到全局作用域。此提升只能在创建该 IMPORTED 目标的原目录中进行。

注意

一旦导入的目标被设为全局,就不能再改回非全局。因此,如果项目设置此属性,它只能提供 True 值。如果项目尝试将属性设置为非 True 值(即使该值之前已经是 False),CMake 也会发出错误。

注意

在将导入的目标从 LOCAL 提升为 GLOBAL 之前创建的本地别名目标,会保留其初始作用域(请参阅 ALIAS_GLOBAL 目标属性)。