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