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