summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--Help/manual/cmake-language.7.rst8
-rw-r--r--Help/release/dev/windows-utf-8.rst22
3 files changed, 28 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1812b27..33d2ce6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,7 +45,7 @@ if(NOT DEFINED CMAKE_CXX_STANDARD)
endif()
# option to set the internal encoding of CMake to UTF-8
-option(CMAKE_ENCODING_UTF8 "Use UTF-8 encoding internally (experimental)." OFF)
+option(CMAKE_ENCODING_UTF8 "Use UTF-8 encoding internally." ON)
mark_as_advanced(CMAKE_ENCODING_UTF8)
if(CMAKE_ENCODING_UTF8)
set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
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.