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 中被移除。