CMP0160

在版本 3.29 中添加。

现在,更多只读目标属性在尝试设置它们时会报错。

set_target_properties()set_property() 命令旨在对所有只读属性报错。然而,CMake 3.28 及更早版本仅对以下属性执行此操作:

此策略强制执行以下目标属性的只读特性:

此策略的 OLD 行为是仅对 MANUALLY_ADDED_DEPENDENCIESNAMETYPE 属性报错。此策略的 NEW 行为是对于所有文档中说明为只读的目标属性都报错。

此策略引入于 CMake 版本 3.29。它可以由 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。

注意

根据定义,策略的 OLD 行为是 不推荐 的,并可能在未来版本的 CMake 中被移除。