CMP0165ΒΆ
New in version 3.30.
enable_language() must not be called before project().
In CMake 3.29 and below, if a project called enable_language()
before the first call to project(), the language would be enabled
but possibly using unset details that were expected to be set.
In CMake 3.30 and above, enable_language() prefers to reject this
case and stop with a fatal error instead if it detects that project()
has not yet been called. This policy provides compatibility for projects that
happened to work when enable_language() was called before
project() and have not been updated to call these commands in the
required order.
The OLD behavior for this policy is to allow enable_language()
to be called before project(). The NEW behavior for this policy
is to fail with a fatal error in such cases.
This policy was introduced in CMake version 3.30.
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.