CMP0090¶
版本 3.15 新增。
export(PACKAGE)
默认不填充包注册表。
在 CMake 3.14 及更早版本中,export(PACKAGE)
命令默认会填充用户包注册表,用户需要设置 CMAKE_EXPORT_NO_PACKAGE_REGISTRY
来禁用它,例如在自动化构建和打包环境中。由于用户包注册表存储在构建树之外,因此默认不应启用此副作用。因此,CMake 3.15 及更高版本更倾向于 export(PACKAGE)
不执行任何操作,除非显式设置 CMAKE_EXPORT_PACKAGE_REGISTRY
变量来启用它。此策略提供了与尚未更新的项目兼容性。
此策略的 OLD
行为是,除非启用 CMAKE_EXPORT_NO_PACKAGE_REGISTRY
,否则 export(PACKAGE)
命令会填充用户包注册表。NEW
行为是,除非启用 CMAKE_EXPORT_PACKAGE_REGISTRY
,否则 export(PACKAGE)
命令不执行任何操作。
此策略在 CMake 3.15 版本中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 不会 发出警告,并使用 OLD
行为。
注意
策略的 OLD
行为根据定义已被弃用
,并可能在未来版本的 CMake 中移除。