CMP0096¶
3.16 版新增。
project()
命令会保留版本组件中的前导零。
当向 project()
命令提供 VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
参数时,它会在 PROJECT_VERSION
变量中存储版本字符串,并在 PROJECT_VERSION_{MAJOR,MINOR,PATCH,TWEAK}
变量中存储各个整数版本组件(请参阅策略 CMP0048
)。CMake 3.15 及更早版本会丢弃每个组件的前导零。CMake 3.16 及更高版本倾向于保留前导零。此策略为未更新以期望新行为的项目提供了兼容性。
此策略的 OLD
行为会丢弃所有组件中的前导零,例如,版本 1.07.06
会变为 1.7.6
。此策略的 NEW
行为会保留所有组件中的前导零,使版本 1.07.06
保持不变。
此策略在 CMake 版本 3.16 中引入。它可以由 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 不会发出警告,并使用 OLD
行为。
注意
根据定义,策略的 OLD
行为是已弃用
,并可能在未来的 CMake 版本中移除。