CMP0165
Добавлено в версии 3.30.
enable_language() нельзя вызывать до project().
В CMake 3.29 и более ранних версиях, если проект вызывал enable_language() до первого вызова project(), язык включался, но, возможно, с использованием не заданных параметров, которые должны были быть установлены. В CMake 3.30 и более поздних версиях enable_language() предпочитает отклонять такой случай и вместо этого завершать работу с фатальной ошибкой, если обнаруживает, что project() ещё не вызывался. Эта политика обеспечивает совместимость с проектами, которые работали при вызове enable_language() до project() и не были обновлены для вызова этих команд в требуемом порядке.
Поведение OLD для этой политики разрешает вызывать enable_language() до project(). Поведение NEW для этой политики приводит к завершению работы с фатальной ошибкой в таких случаях.
Эта политика появилась в версии CMake 3.30. Её можно задать с помощью cmake_policy() или cmake_minimum_required(). Если политика не задана, CMake выводит предупреждение и использует поведение OLD.
Примечание
Поведение OLD политики по определению считается устаревшим и может быть удалено в будущей версии CMake.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0165.html