CMP0144 — CMake 4.3.0 Documentation

# CMP0144

Added in version 3.27.

`find_package()` uses upper-case `<PACKAGENAME>_ROOT` variables.

In CMake 3.27 and above the `find_package(<PackageName>)` command now searches prefixes specified by the upper-case `<PACKAGENAME>_ROOT` CMake variable and the `<PACKAGENAME>_ROOT` environment variable in addition to the case-preserved `<PackageName>_ROOT` and `<PackageName>_ROOT` variables used since policy `CMP0074`. This policy provides compatibility with projects that have not been updated to avoid using `<PACKAGENAME>_ROOT` variables for other purposes.

The `OLD` behavior for this policy is to ignore `<PACKAGENAME>_ROOT` variables if the original `<PackageName>` has lower-case characters. The `NEW` behavior for this policy is to use `<PACKAGENAME>_ROOT` variables.

This policy was introduced in CMake version 3.27. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake warns, and uses `OLD` behavior.

Note

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