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_REGISTRY 被启用。NEW 行为是 export(PACKAGE) 命令没有任何作用,除非 CMAKE_EXPORT_PACKAGE_REGISTRY 被启用。

在 CMake 3.15 中引入了此策略。它可以通过 cmake_policy() 或者 cmake_minimum_required() 来设置。如果没有设置它,CMake 不警告,并且使用 OLD 行为。

注意

策略的 OLD 行为 ,可能会在未来版本的 CMake 中移除。