CMP0074 — CMake 4.3.1 Documentation

# CMP0074

Added in version 3.12.

`find_package()` uses `<PackageName>_ROOT` variables.

In CMake 3.12 and above the `find_package(<PackageName>)` command now searches prefixes specified by the `<PackageName>_ROOT` CMake variable and the `<PackageName>_ROOT` environment variable. Package roots are maintained as a stack so nested calls to all `find_*` commands inside find modules and config packages also search the roots as prefixes. 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. The `NEW` behavior for this policy is to use `<PackageName>_ROOT` variables.

This policy was introduced in CMake version 3.12. 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.