# CMP0048

The `project()` command manages `VERSION` variables.

CMake version 3.0 introduced the `VERSION` option of the `project()` command to specify a project version as well as the name. In order to keep `PROJECT_VERSION` and related variables consistent with variable `PROJECT_NAME` it is necessary to set the `VERSION` variables to the empty string when no `VERSION` is given to `project()`. However, this can change behavior for existing projects that set `VERSION` variables themselves since `project()` may now clear them. This policy controls the behavior for compatibility with such projects.

The `OLD` behavior for this policy is to leave `VERSION` variables untouched. The `NEW` behavior for this policy is to set `VERSION` as documented by the `project()` command.

This policy was introduced in CMake version 3.0. CMake version 3.28.3 warns when the policy is not set and uses `OLD` behavior. Use the `cmake_policy()` command to set it to `OLD` or `NEW` explicitly.

Note

The `OLD` behavior of a policy is `deprecated by definition` and may be removed in a future version of CMake.