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