Spec-Zone.ru › CMake

CMP0176

Добавлено в версии 3.31.

execute_process() ENCODING по умолчанию — UTF-8.

Параметр ENCODING имеет смысл только в Windows. Он задаёт кодировку символов, ожидаемую в выводе процесса в стандартный поток вывода и стандартный поток ошибок. В CMake 3.14 и более ранних версиях кодировкой по умолчанию была NONE, которая соответствует внутренней кодировке CMake UTF-8. В CMake 3.15–3.30 кодировка по умолчанию была случайно изменена на AUTO, однако это изменение осталось незамеченным и не было задокументировано.

В CMake 3.31 и более поздних версиях предпочтительным значением по умолчанию для ENCODING является UTF-8. Эта политика обеспечивает совместимость с проектами, которые могли полагаться на то, что значением по умолчанию является AUTO.

Поведение политики OLD заключается в том, что execute_process() по умолчанию использует AUTO, если ENCODING не указан. Поведение политики NEW заключается в использовании UTF-8 в качестве значения ENCODING по умолчанию.

Эта политика была введена в версии CMake 3.31. Её можно установить с помощью 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/CMP0176.html

Spec-Zone.ru

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