diff options
author | Clinton Stimpson <clinton@elemtech.com> | 2014-12-27 04:25:20 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-01-16 14:39:32 (GMT) |
commit | cdc29c36084ccfa447f171a25de2336b0bd74edd (patch) | |
tree | bc4b58fe32900739e3602f01d34503792f3346dc /Help | |
parent | 2ece34516a6c4f99d27c42018b3548d0cb75e72e (diff) | |
download | CMake-cdc29c36084ccfa447f171a25de2336b0bd74edd.zip CMake-cdc29c36084ccfa447f171a25de2336b0bd74edd.tar.gz CMake-cdc29c36084ccfa447f171a25de2336b0bd74edd.tar.bz2 |
Encoding: Switch to use UTF-8 internally by default on Windows.
This fixes several reported bugs about CMake not handling
non-ascii paths on Windows.
Practically, the use of some unicode characters may still
be limited by the build or compiler tools.
For example, a user may be limited by the build tools to
using characters within the Windows ANSI code page (which can
include non-ascii characters in the current system language).
Diffstat (limited to 'Help')
-rw-r--r-- | Help/manual/cmake-language.7.rst | 8 | ||||
-rw-r--r-- | Help/release/dev/windows-utf-8.rst | 22 |
2 files changed, 27 insertions, 3 deletions
diff --git a/Help/manual/cmake-language.7.rst b/Help/manual/cmake-language.7.rst index 15c101f..5ec5858f 100644 --- a/Help/manual/cmake-language.7.rst +++ b/Help/manual/cmake-language.7.rst @@ -60,14 +60,16 @@ Syntax Encoding -------- -A CMake Language source file must be written in 7-bit ASCII text -to be portable across all supported platforms. Newlines may be +A CMake Language source file may be written in 7-bit ASCII text for +maximum portability across all supported platforms. Newlines may be encoded as either ``\n`` or ``\r\n`` but will be converted to ``\n`` as input files are read. Note that the implementation is 8-bit clean so source files may be encoded as UTF-8 on platforms with system APIs supporting this -encoding. Furthermore, CMake 3.0 and above allow a leading UTF-8 +encoding. In addition, CMake 3.2 and above support source files +encoded in UTF-8 on Windows (using UTF-16 to call system APIs). +Furthermore, CMake 3.0 and above allow a leading UTF-8 `Byte-Order Mark`_ in source files. .. _`Byte-Order Mark`: http://en.wikipedia.org/wiki/Byte_order_mark diff --git a/Help/release/dev/windows-utf-8.rst b/Help/release/dev/windows-utf-8.rst new file mode 100644 index 0000000..64cd616 --- /dev/null +++ b/Help/release/dev/windows-utf-8.rst @@ -0,0 +1,22 @@ +windows-utf-8 +------------- + +* On Windows, CMake learned to support international characters. + This allows use of characters from multiple (spoken) languages + in CMake code, paths to source files, configured files such as + ``.h.in`` files, and other files read and written by CMake. + Because CMake interoperates with many other tools, there may + still be some limitations when using certain international + characters. + + Files written in the :manual:`cmake-language(7)`, such as + ``CMakeLists.txt`` or ``*.cmake`` files, are expected to be + encoded as UTF-8. If files are already ASCII, they will be + compatible. If files were in a different encoding, including + Latin 1, they will need to be converted. + + The Visual Studio generators now write solution and project + files in UTF-8 instead of Windows-1252. Windows-1252 supported + Latin 1 languages such as those found in North and South America + and Western Europe. With UTF-8, additional languages are now + supported. |