CMP0176.rst 1.1 KB

123456789101112131415161718192021222324252627
  1. CMP0176
  2. -------
  3. .. versionadded:: 3.31
  4. :command:`execute_process` ``ENCODING`` is ``UTF-8`` by default.
  5. The ``ENCODING`` option is meaningful only on Windows. It specifies the
  6. character encoding expected in the process's output on stdout and stderr.
  7. In CMake 3.14 and below the default encoding was ``NONE``, which corresponds
  8. to CMake's internal UTF-8 encoding. In CMake 3.15 through CMake 3.30 the
  9. default encoding was accidentally changed to ``AUTO``, but the change went
  10. unnoticed and was not documented.
  11. CMake 3.31 and above prefer the ``ENCODING`` default to be ``UTF-8``.
  12. This policy provides compatibility with projects that may have been
  13. relying on the default being ``AUTO``.
  14. The ``OLD`` behavior of this policy is for :command:`execute_process`
  15. to use ``AUTO`` by default if no ``ENCODING`` is specified. The ``NEW``
  16. behavior for this policy is to use ``UTF-8`` as the default ``ENCODING``.
  17. .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.31
  18. .. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn
  19. .. include:: include/STANDARD_ADVICE.rst
  20. .. include:: include/DEPRECATED.rst