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 行为是 export(PACKAGE) 命令填充用户包注册表,除非启用了 CMAKE_EXPORT_NO_PACKAGE_REGISTRYNEW 行为是 export(PACKAGE) 命令不执行任何操作,除非启用了 CMAKE_EXPORT_PACKAGE_REGISTRY

此策略在 CMake 3.15 版本中引入。它可以通过 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 不会发出警告,并使用 OLD 行为。

注意

策略的 OLD 行为按照 定义已弃用,并可能在 CMake 的未来版本中移除。