[Cmake-commits] CMake branch, next, updated. v3.1.0-2007-g3367e6d

Brad King brad.king at kitware.com
Fri Jan 16 09:41:04 EST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  3367e6de2c9b36af963b25af2b778828598ec948 (commit)
       via  cdc29c36084ccfa447f171a25de2336b0bd74edd (commit)
      from  af12181cadb48791c21269c2717011ea098dc3c2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3367e6de2c9b36af963b25af2b778828598ec948
commit 3367e6de2c9b36af963b25af2b778828598ec948
Merge: af12181 cdc29c3
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Jan 16 09:41:03 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Jan 16 09:41:03 2015 -0500

    Merge topic 'windows-utf-8' into next
    
    cdc29c36 Encoding:  Switch to use UTF-8 internally by default on Windows.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cdc29c36084ccfa447f171a25de2336b0bd74edd
commit cdc29c36084ccfa447f171a25de2336b0bd74edd
Author:     Clinton Stimpson <clinton at elemtech.com>
AuthorDate: Fri Dec 26 21:25:20 2014 -0700
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Jan 16 09:39:32 2015 -0500

    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).

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..5ec5858 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.

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list