Spec-Zone.ru › CMake

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API