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 параметра — deprecated by definition и может быть удалено в будущей версии CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0165.html