New 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.


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