[Cmake-commits] CMake branch, master, updated. v3.8.0-828-gb4d3cdc

Kitware Robot kwrobot at kitware.com
Thu Apr 20 08:55:07 EDT 2017


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, master has been updated
       via  b4d3cdc8c504ddc5d2618203a831c950f8d0102a (commit)
       via  24b04b51341c0575d9492d9d09a405112317e2cf (commit)
       via  6c7460bc48be10a774f54271340711bcfdef8fb5 (commit)
       via  01d72391b3974b63a348b59a0ad2c528f4e68bb4 (commit)
       via  96246fb9aff11c354d8b9e297f2864a70ab69000 (commit)
       via  09e3864b4b087c3484a8c81abc67d19599f8730b (commit)
       via  caabb6e1f3756f317a1b856ec43d77ea80295e04 (commit)
       via  0fd255adf52592e6443c15a68c09cfa7fc26e85b (commit)
       via  540b4cdc2bd7cb824c6cf7403857844b4fce4d6e (commit)
       via  c94f1bcf92bf5de100a1513cf1dd7f4eaf0122d4 (commit)
       via  a4452fd82df79c579ab3996e3c56c59964bf69ea (commit)
       via  6e66fe5f977c3d8e0a4b24236a00b31f325ef5a3 (commit)
       via  b99fbf3b16449a6027e90ed7f01f240761157332 (commit)
       via  2516bccdf69b49ee55ef4b6bfa329d97ec5f3799 (commit)
       via  f612719a77e46cff6c6258e1394547c3476a5a21 (commit)
       via  16ef163fd613d2c1c84ae9a9fa5a29ffcf7818de (commit)
       via  697a5d64d86d73b1353a90a5bfc9f444b97fedd7 (commit)
       via  5785482ce0be9187ff94c1042f8978d2f11285e8 (commit)
      from  3452f8b209176873288139572ac9a47f216ecfa1 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b4d3cdc8c504ddc5d2618203a831c950f8d0102a
commit b4d3cdc8c504ddc5d2618203a831c950f8d0102a
Merge: 24b04b5 b99fbf3
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 20 08:50:27 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Apr 20 08:50:27 2017 -0400

    Merge branch 'release'


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=24b04b51341c0575d9492d9d09a405112317e2cf
commit 24b04b51341c0575d9492d9d09a405112317e2cf
Merge: 6c7460b c94f1bc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 20 12:47:24 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Apr 20 08:47:26 2017 -0400

    Merge topic 'remove-vs7.1-generator'
    
    c94f1bcf Drop Visual Studio 7 .NET 2003 generator
    a4452fd8 cmGlobalVisualStudioGenerator: Drop VS7 enumeration value
    6e66fe5f cmGlobalVisualStudio8Generator: Drop unused GetDocumentation method
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !723


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c7460bc48be10a774f54271340711bcfdef8fb5
commit 6c7460bc48be10a774f54271340711bcfdef8fb5
Merge: 01d7239 2516bcc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 20 12:47:02 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Apr 20 08:47:05 2017 -0400

    Merge topic 'FindBoost-fix-backslash-tolerance'
    
    2516bccd FindBoost: Restore tolerance of backslashes in paths
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !721


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=01d72391b3974b63a348b59a0ad2c528f4e68bb4
commit 01d72391b3974b63a348b59a0ad2c528f4e68bb4
Merge: 96246fb 16ef163
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 20 12:46:33 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Apr 20 08:46:47 2017 -0400

    Merge topic 'FindOpenSSL-more-precompiled'
    
    16ef163f FindOpenSSL: Add more library name alternatives
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !713


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=96246fb9aff11c354d8b9e297f2864a70ab69000
commit 96246fb9aff11c354d8b9e297f2864a70ab69000
Merge: 09e3864 caabb6e
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 20 12:45:57 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Apr 20 08:46:01 2017 -0400

    Merge topic 'doc-dev-source-code'
    
    caabb6e1 Help/dev: Adopt C++ subset rules in coding guide
    0fd255ad Help/dev: Adopt clang-format instructions in coding guide
    540b4cdc Help/dev: Add a CMake Source Code Guide placeholder
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !724


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=09e3864b4b087c3484a8c81abc67d19599f8730b
commit 09e3864b4b087c3484a8c81abc67d19599f8730b
Merge: 3452f8b 697a5d6
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 20 12:45:37 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Apr 20 08:45:42 2017 -0400

    Merge topic 'update-kwsys'
    
    697a5d64 Merge branch 'upstream-KWSys' into update-kwsys
    5785482c KWSys 2017-04-19 (9f6ffaff)
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !716


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=caabb6e1f3756f317a1b856ec43d77ea80295e04
commit caabb6e1f3756f317a1b856ec43d77ea80295e04
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 16:33:28 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 16:41:58 2017 -0400

    Help/dev: Adopt C++ subset rules in coding guide
    
    Move the C++ subset rules from the `cmake-developer(7)` into our
    dedicated coding guide since they do not need to be in user-facing
    documentation.

diff --git a/Help/dev/source.rst b/Help/dev/source.rst
index f70e477..3ac9aca 100644
--- a/Help/dev/source.rst
+++ b/Help/dev/source.rst
@@ -19,3 +19,24 @@ format only a subset of files, such as those that are locally modified.
 .. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
 .. _`.clang-format`: ../../.clang-format
 .. _`Utilities/Scripts/clang-format.bash`: ../../Utilities/Scripts/clang-format.bash
+
+C++ Subset Permitted
+====================
+
+CMake supports compiling as C++98 in addition to C++11 and C++14.
+In order to support building on older toolchains some constructs
+need to be handled with care:
+
+* Use ``CM_AUTO_PTR`` instead of ``std::auto_ptr``.
+
+  The ``std::auto_ptr`` template is deprecated in C++11.  We want to use it
+  so we can build on C++98 compilers but we do not want to turn off compiler
+  warnings about deprecated interfaces in general.  Use the ``CM_AUTO_PTR``
+  macro instead.
+
+* Use ``size_t`` instead of ``std::size_t``.
+
+  Various implementations have differing implementation of ``size_t``.
+  When assigning the result of ``.size()`` on a container for example,
+  the result should be assigned to ``size_t`` not to ``std::size_t``,
+  ``unsigned int`` or similar types.
diff --git a/Help/manual/cmake-developer.7.rst b/Help/manual/cmake-developer.7.rst
index f77d8c0..cd509ac 100644
--- a/Help/manual/cmake-developer.7.rst
+++ b/Help/manual/cmake-developer.7.rst
@@ -13,30 +13,6 @@ Introduction
 This manual is intended for reference by developers modifying the CMake
 source tree itself, and by those authoring externally-maintained modules.
 
-
-Permitted C++ Subset
-====================
-
-CMake is required to build with ancient C++ compilers and standard library
-implementations.  Some common C++ constructs may not be used in CMake in order
-to build with such toolchains.
-
-std::auto_ptr
--------------
-
-The ``std::auto_ptr`` template is deprecated in C++11.  We want to use it
-so we can build on C++98 compilers but we do not want to turn off compiler
-warnings about deprecated interfaces in general.  Use the ``CM_AUTO_PTR``
-macro instead.
-
-size_t
-------
-
-Various implementations have differing implementation of ``size_t``.  When
-assigning the result of ``.size()`` on a container for example, the result
-should be assigned to ``size_t`` not to ``std::size_t``, ``unsigned int`` or
-similar types.
-
 Adding Compile Features
 =======================
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0fd255adf52592e6443c15a68c09cfa7fc26e85b
commit 0fd255adf52592e6443c15a68c09cfa7fc26e85b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 16:19:55 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 16:33:06 2017 -0400

    Help/dev: Adopt clang-format instructions in coding guide
    
    Simplify the `CONTRIBUTING.rst` document by moving the code style
    section over to our dedicated coding guide and linking to it instead.

diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 434f0f4..e219763 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -25,6 +25,7 @@ To contribute patches:
 
 #. Fork the upstream `CMake Repository`_ into a personal account.
 #. Run `Utilities/SetupForDevelopment.sh`_ for local configuration.
+#. See the `CMake Source Code Guide`_ for coding guidelines.
 #. Base all new work on the upstream ``master`` branch.
 #. Create commits making incremental, distinct, logically complete changes.
 #. Push a topic branch to a personal repository fork on GitLab.
@@ -35,20 +36,9 @@ The merge request will enter the `CMake Review Process`_ for consideration.
 .. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
 .. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
 .. _`Utilities/SetupForDevelopment.sh`: Utilities/SetupForDevelopment.sh
+.. _`CMake Source Code Guide`: Help/dev/source.rst
 .. _`CMake Review Process`: Help/dev/review.rst
 
-Code Style
-==========
-
-We use `clang-format`_ to define our style for C++ code in the CMake source
-tree.  See the `.clang-format`_ configuration file for our style settings.
-Use ``clang-format`` version 3.8 or higher to format source files.
-See also the `Utilities/Scripts/clang-format.bash`_ script.
-
-.. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
-.. _`.clang-format`: .clang-format
-.. _`Utilities/Scripts/clang-format.bash`: Utilities/Scripts/clang-format.bash
-
 License
 =======
 
diff --git a/Help/dev/source.rst b/Help/dev/source.rst
index dfde290..f70e477 100644
--- a/Help/dev/source.rst
+++ b/Help/dev/source.rst
@@ -5,3 +5,17 @@ The following is a guide to the CMake source code for developers.
 See documentation on `CMake Development`_ for more information.
 
 .. _`CMake Development`: README.rst
+
+C++ Code Style
+==============
+
+We use `clang-format`_ version **3.8** to define our style for C++ code in
+the CMake source tree.  See the `.clang-format`_ configuration file for our
+style settings.  Use the `Utilities/Scripts/clang-format.bash`_ script to
+format source code.  It automatically runs ``clang-format`` on the set of
+source files for which we enforce style.  The script also has options to
+format only a subset of files, such as those that are locally modified.
+
+.. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
+.. _`.clang-format`: ../../.clang-format
+.. _`Utilities/Scripts/clang-format.bash`: ../../Utilities/Scripts/clang-format.bash

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=540b4cdc2bd7cb824c6cf7403857844b4fce4d6e
commit 540b4cdc2bd7cb824c6cf7403857844b4fce4d6e
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 16:10:16 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 16:18:26 2017 -0400

    Help/dev: Add a CMake Source Code Guide placeholder
    
    Create a dedicated document to cover the CMake source code for
    developers.

diff --git a/Help/dev/README.rst b/Help/dev/README.rst
index 0dc512a..163be97 100644
--- a/Help/dev/README.rst
+++ b/Help/dev/README.rst
@@ -29,3 +29,12 @@ following documents:
 .. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
 .. _`CMake Review Process`: review.rst
 .. _`CMake Testing Process`: testing.rst
+
+Developer Documentation
+=======================
+
+CMake developer documentation is provided by the following documents:
+
+* The `CMake Source Code Guide`_.
+
+.. _`CMake Source Code Guide`: source.rst
diff --git a/Help/dev/source.rst b/Help/dev/source.rst
new file mode 100644
index 0000000..dfde290
--- /dev/null
+++ b/Help/dev/source.rst
@@ -0,0 +1,7 @@
+CMake Source Code Guide
+***********************
+
+The following is a guide to the CMake source code for developers.
+See documentation on `CMake Development`_ for more information.
+
+.. _`CMake Development`: README.rst

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c94f1bcf92bf5de100a1513cf1dd7f4eaf0122d4
commit c94f1bcf92bf5de100a1513cf1dd7f4eaf0122d4
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 15:00:57 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 15:28:05 2017 -0400

    Drop Visual Studio 7 .NET 2003 generator
    
    This generator has been deprecated since CMake 3.6.  Remove it.

diff --git a/CompileFlags.cmake b/CompileFlags.cmake
index c875e6f..d70e3af 100644
--- a/CompileFlags.cmake
+++ b/CompileFlags.cmake
@@ -4,10 +4,6 @@
 #-----------------------------------------------------------------------------
 # set some special flags for different compilers
 #
-if(CMAKE_GENERATOR MATCHES "Visual Studio 7")
-  set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-endif()
-
 if(WIN32 AND CMAKE_C_COMPILER_ID STREQUAL "Intel")
   set(_INTEL_WINDOWS 1)
 endif()
diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst
index 80e7edf..d038406 100644
--- a/Help/command/add_custom_command.rst
+++ b/Help/command/add_custom_command.rst
@@ -215,7 +215,7 @@ of the following is specified:
 
 ``PRE_BUILD``
   Run before any other rules are executed within the target.
-  This is supported only on Visual Studio 7 or later.
+  This is supported only on Visual Studio 8 or later.
   For all other generators ``PRE_BUILD`` will be treated as
   ``PRE_LINK``.
 ``PRE_LINK``
diff --git a/Help/generator/Visual Studio 7 .NET 2003.rst b/Help/generator/Visual Studio 7 .NET 2003.rst
index 1c086a0..d4c7869 100644
--- a/Help/generator/Visual Studio 7 .NET 2003.rst	
+++ b/Help/generator/Visual Studio 7 .NET 2003.rst	
@@ -1,10 +1,6 @@
 Visual Studio 7 .NET 2003
 -------------------------
 
-Deprecated.  Generates Visual Studio .NET 2003 project files.
-
-.. note::
-  This generator is deprecated and will be removed
-  in a future version of CMake.  It will still be
-  possible to build with VS 7.1 tools using the
-  :generator:`NMake Makefiles` generator.
+Removed.  This once generated Visual Studio .NET 2003 project files, but
+the generator has been removed since CMake 3.9.  It is still possible to
+build with VS 7.1 tools using the :generator:`NMake Makefiles` generator.
diff --git a/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst b/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
index eb91832..dcd2a4e 100644
--- a/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
+++ b/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
@@ -17,7 +17,7 @@ pairs.  Each such pair will be transformed into an entry in the
 solution global section.  Whitespace around key and value is ignored.
 List elements which do not contain an equal sign are skipped.
 
-This property only works for Visual Studio 7 and above; it is ignored
+This property only works for Visual Studio 8 and above; it is ignored
 on other generators.  The property only applies when set on a
 directory whose CMakeLists.txt contains a project() command.
 
diff --git a/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst b/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
index fbcd9e6..200e8e6 100644
--- a/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
+++ b/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
@@ -17,6 +17,6 @@ pairs.  Each such pair will be transformed into an entry in the
 solution global section.  Whitespace around key and value is ignored.
 List elements which do not contain an equal sign are skipped.
 
-This property only works for Visual Studio 7 and above; it is ignored
+This property only works for Visual Studio 8 and above; it is ignored
 on other generators.  The property only applies when set on a
 directory whose CMakeLists.txt contains a project() command.
diff --git a/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst b/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
index 19270a5..a14e48c 100644
--- a/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
+++ b/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
@@ -3,6 +3,6 @@ EXCLUDE_FROM_DEFAULT_BUILD
 
 Exclude target from "Build Solution".
 
-This property is only used by Visual Studio generators 7 and above.
+This property is only used by Visual Studio generators.
 When set to TRUE, the target will not be built when you press "Build
 Solution".
diff --git a/Help/release/dev/remove-vs7.1-generator.rst b/Help/release/dev/remove-vs7.1-generator.rst
new file mode 100644
index 0000000..72ffafb
--- /dev/null
+++ b/Help/release/dev/remove-vs7.1-generator.rst
@@ -0,0 +1,4 @@
+remove-vs7.1-generator
+----------------------
+
+* The :generator:`Visual Studio 7 .NET 2003` generator has been removed.
diff --git a/Help/variable/CMAKE_CFG_INTDIR.rst b/Help/variable/CMAKE_CFG_INTDIR.rst
index ba25a35..c36599a 100644
--- a/Help/variable/CMAKE_CFG_INTDIR.rst
+++ b/Help/variable/CMAKE_CFG_INTDIR.rst
@@ -12,7 +12,7 @@ Example values:
 
 ::
 
-  $(ConfigurationName) = Visual Studio 7, 8, 9
+  $(ConfigurationName) = Visual Studio 8, 9
   $(Configuration)     = Visual Studio 10
   $(CONFIGURATION)     = Xcode
   .                    = Make-based tools
diff --git a/Help/variable/CMAKE_MFC_FLAG.rst b/Help/variable/CMAKE_MFC_FLAG.rst
index 1543677..5a392bf 100644
--- a/Help/variable/CMAKE_MFC_FLAG.rst
+++ b/Help/variable/CMAKE_MFC_FLAG.rst
@@ -5,7 +5,7 @@ Tell cmake to use MFC for an executable or dll.
 
 This can be set in a ``CMakeLists.txt`` file and will enable MFC in the
 application.  It should be set to ``1`` for the static MFC library, and ``2``
-for the shared MFC library.  This is used in Visual Studio 7
+for the shared MFC library.  This is used in Visual Studio
 project files.  The CMakeSetup dialog used MFC and the ``CMakeLists.txt``
 looks like this:
 
diff --git a/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst b/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
index 14cc50a..51b42dd 100644
--- a/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
+++ b/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
@@ -1,7 +1,7 @@
 CMAKE_VS_DEVENV_COMMAND
 -----------------------
 
-The generators for :generator:`Visual Studio 7` and above set this
+The generators for :generator:`Visual Studio 8 2005` and above set this
 variable to the ``devenv.com`` command installed with the corresponding
 Visual Studio version.  Note that this variable may be empty on
 Visual Studio Express editions because they do not provide this tool.
diff --git a/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst b/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
index 0be10e5..6d196f9 100644
--- a/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
+++ b/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
@@ -1,7 +1,7 @@
 CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
 --------------------------------------
 
-When generating for :generator:`Visual Studio 7` or greater with the Intel
+When generating for :generator:`Visual Studio 8 2005` or greater with the Intel
 Fortran plugin installed, this specifies the ``.vfproj`` project file format
 version.  This is intended for internal use by CMake and should not be
 used by project code.
diff --git a/Modules/CMakeBackwardCompatibilityC.cmake b/Modules/CMakeBackwardCompatibilityC.cmake
index 228e063..5d86d73 100644
--- a/Modules/CMakeBackwardCompatibilityC.cmake
+++ b/Modules/CMakeBackwardCompatibilityC.cmake
@@ -2,12 +2,6 @@
 # file Copyright.txt or https://cmake.org/licensing for details.
 
 
-# Nothing here yet
-if(CMAKE_GENERATOR MATCHES "Visual Studio 7")
-  include(CMakeVS7BackwardCompatibility)
-  set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-endif()
-
 if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
   # Old CMake versions did not support OS X universal binaries anyway,
   # so just get through this with at least some size for the types.
diff --git a/Modules/CMakeDetermineCSharpCompiler.cmake b/Modules/CMakeDetermineCSharpCompiler.cmake
index 1b8dd02..55b2fb3 100644
--- a/Modules/CMakeDetermineCSharpCompiler.cmake
+++ b/Modules/CMakeDetermineCSharpCompiler.cmake
@@ -1,7 +1,7 @@
 # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 # file Copyright.txt or https://cmake.org/licensing for details.
 
-if(NOT ${CMAKE_GENERATOR} MATCHES "Visual Studio ([^789]|[789][0-9])")
+if(NOT ${CMAKE_GENERATOR} MATCHES "Visual Studio ([^89]|[89][0-9])")
    message(FATAL_ERROR
     "C# is currently only supported for Microsoft Visual Studio 2010 and later.")
 endif()
diff --git a/Modules/CMakeDetermineCUDACompiler.cmake b/Modules/CMakeDetermineCUDACompiler.cmake
index 55a6f0c..89ac9fa 100644
--- a/Modules/CMakeDetermineCUDACompiler.cmake
+++ b/Modules/CMakeDetermineCUDACompiler.cmake
@@ -6,7 +6,7 @@ include(${CMAKE_ROOT}/Modules//CMakeParseImplicitLinkInfo.cmake)
 
 if( NOT ( ("${CMAKE_GENERATOR}" MATCHES "Make") OR
           ("${CMAKE_GENERATOR}" MATCHES "Ninja") OR
-          ("${CMAKE_GENERATOR}" MATCHES "Visual Studio (1|[7-9][0-9])") ) )
+          ("${CMAKE_GENERATOR}" MATCHES "Visual Studio (1|[89][0-9])") ) )
   message(FATAL_ERROR "CUDA language not currently supported by \"${CMAKE_GENERATOR}\" generator")
 endif()
 
diff --git a/Modules/CMakeVS7BackwardCompatibility.cmake b/Modules/CMakeVS7BackwardCompatibility.cmake
deleted file mode 100644
index cf477c8..0000000
--- a/Modules/CMakeVS7BackwardCompatibility.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-
-# hard code these for fast backwards compatibility tests
-set (CMAKE_SIZEOF_INT       4   CACHE INTERNAL "Size of int data type")
-set (CMAKE_SIZEOF_LONG      4   CACHE INTERNAL "Size of long data type")
-set (CMAKE_SIZEOF_VOID_P    4   CACHE INTERNAL "Size of void* data type")
-set (CMAKE_SIZEOF_CHAR      1   CACHE INTERNAL "Size of char data type")
-set (CMAKE_SIZEOF_SHORT     2   CACHE INTERNAL "Size of short data type")
-set (CMAKE_SIZEOF_FLOAT     4   CACHE INTERNAL "Size of float data type")
-set (CMAKE_SIZEOF_DOUBLE    8   CACHE INTERNAL "Size of double data type")
-set (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
-         "Does the compiler support ansi for scope.")
-set (CMAKE_USE_WIN32_THREADS  TRUE CACHE BOOL    "Use the win32 thread library.")
-set (CMAKE_WORDS_BIGENDIAN 0 CACHE INTERNAL "endianness of bytes")
diff --git a/Modules/CTest.cmake b/Modules/CTest.cmake
index 7aeb5be..9370596 100644
--- a/Modules/CTest.cmake
+++ b/Modules/CTest.cmake
@@ -54,15 +54,11 @@ in the ``CTestConfig.cmake`` file.
 option(BUILD_TESTING "Build the testing tree." ON)
 
 # function to turn generator name into a version string
-# like vs7 vs71 vs8 vs9
+# like vs8 vs9
 function(GET_VS_VERSION_STRING generator var)
   string(REGEX REPLACE "Visual Studio ([0-9][0-9]?)($|.*)" "\\1"
     NUMBER "${generator}")
-  if("${generator}" MATCHES "Visual Studio 7 .NET 2003")
-    set(ver_string "vs71")
-  else()
     set(ver_string "vs${NUMBER}")
-  endif()
   set(${var} ${ver_string} PARENT_SCOPE)
 endfunction()
 
diff --git a/Modules/Platform/Windows-df.cmake b/Modules/Platform/Windows-df.cmake
index b31cb11..c59be45 100644
--- a/Modules/Platform/Windows-df.cmake
+++ b/Modules/Platform/Windows-df.cmake
@@ -30,7 +30,7 @@ set(CMAKE_Fortran_LINK_EXECUTABLE
 set(CMAKE_CREATE_WIN32_EXE /winapp)
 set(CMAKE_CREATE_CONSOLE_EXE )
 
-if(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
+if(CMAKE_GENERATOR MATCHES "Visual Studio 8")
   set (CMAKE_NO_BUILD_TYPE 1)
 endif()
 # does the compiler support pdbtype and is it the newer compiler
diff --git a/Source/CPack/OSXScriptLauncher.cxx b/Source/CPack/OSXScriptLauncher.cxx
index 701481d..b48bf12 100644
--- a/Source/CPack/OSXScriptLauncher.cxx
+++ b/Source/CPack/OSXScriptLauncher.cxx
@@ -85,8 +85,6 @@ int main(int argc, char* argv[])
   int length;
   while (cmsysProcess_WaitForData(cp, &data, &length, 0)) {
     // Translate NULL characters in the output into valid text.
-    // Visual Studio 7 puts these characters in the output of its
-    // build process.
     for (int i = 0; i < length; ++i) {
       if (data[i] == '\0') {
         data[i] = ' ';
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index 3f8d381..aeceb8d 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -13,58 +13,6 @@ cmGlobalVisualStudio71Generator::cmGlobalVisualStudio71Generator(
   : cmGlobalVisualStudio7Generator(cm, platformName)
 {
   this->ProjectConfigurationSectionName = "ProjectConfiguration";
-  this->Version = VS71;
-}
-
-std::string cmGlobalVisualStudio71Generator::GetUserMacrosDirectory()
-{
-  // Macros not supported on Visual Studio 7.1 and earlier because
-  // they do not appear to work *during* a build when called by an
-  // outside agent...
-  //
-  return "";
-
-#if 0
-  //
-  // The COM result from calling a Visual Studio macro with 7.1 indicates
-  // that the call succeeds, but the macro does not appear to execute...
-  //
-  // So, I am leaving this code here to show how to do it, but have not
-  // yet figured out what the issue is in terms of why the macro does not
-  // appear to execute...
-  //
-  std::string base;
-  std::string path;
-
-  // base begins with the VisualStudioProjectsLocation reg value...
-  if (cmSystemTools::ReadRegistryValue(
-    "HKEY_CURRENT_USER\\Software\\Microsoft\\VisualStudio\\7.1;"
-    "VisualStudioProjectsLocation",
-    base))
-    {
-    cmSystemTools::ConvertToUnixSlashes(base);
-
-    // 7.1 macros folder:
-    path = base + "/VSMacros71";
-    }
-
-  // path is (correctly) still empty if we did not read the base value from
-  // the Registry value
-  return path;
-#endif
-}
-
-std::string cmGlobalVisualStudio71Generator::GetUserMacrosRegKeyBase()
-{
-  // Macros not supported on Visual Studio 7.1 and earlier because
-  // they do not appear to work *during* a build when called by an
-  // outside agent...
-  //
-  return "";
-
-#if 0
-  return "Software\\Microsoft\\VisualStudio\\7.1\\vsmacros";
-#endif
 }
 
 void cmGlobalVisualStudio71Generator::WriteSLNFile(
@@ -91,11 +39,6 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(
   std::ostringstream targetsSlnString;
   this->WriteTargetsToSolution(targetsSlnString, root, orderedProjectTargets);
 
-  // VS 7 does not support folders specified first.
-  if (this->GetVersion() <= VS71) {
-    fout << targetsSlnString.str();
-  }
-
   // Generate folder specification.
   bool useFolderProperty = this->UseFolderProperty();
   if (useFolderProperty) {
@@ -103,9 +46,7 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(
   }
 
   // Now write the actual target specification content.
-  if (this->GetVersion() > VS71) {
-    fout << targetsSlnString.str();
-  }
+  fout << targetsSlnString.str();
 
   // Write out the configurations information for the solution
   fout << "Global\n";
@@ -280,10 +221,3 @@ void cmGlobalVisualStudio71Generator::WriteSLNHeader(std::ostream& fout)
 {
   fout << "Microsoft Visual Studio Solution File, Format Version 8.00\n";
 }
-
-void cmGlobalVisualStudio71Generator::GetDocumentation(
-  cmDocumentationEntry& entry)
-{
-  entry.Name = cmGlobalVisualStudio71Generator::GetActualName();
-  entry.Brief = "Deprecated. Generates Visual Studio .NET 2003 project files.";
-}
diff --git a/Source/cmGlobalVisualStudio71Generator.h b/Source/cmGlobalVisualStudio71Generator.h
index c65a84a..0ce02aa 100644
--- a/Source/cmGlobalVisualStudio71Generator.h
+++ b/Source/cmGlobalVisualStudio71Generator.h
@@ -15,37 +15,8 @@ class cmGlobalVisualStudio71Generator : public cmGlobalVisualStudio7Generator
 public:
   cmGlobalVisualStudio71Generator(cmake* cm,
                                   const std::string& platformName = "");
-  static cmGlobalGeneratorFactory* NewFactory()
-  {
-    return new cmGlobalGeneratorSimpleFactory<
-      cmGlobalVisualStudio71Generator>();
-  }
-
-  ///! Get the name for the generator.
-  virtual std::string GetName() const
-  {
-    return cmGlobalVisualStudio71Generator::GetActualName();
-  }
-  static std::string GetActualName() { return "Visual Studio 7 .NET 2003"; }
-
-  /** Get the documentation entry for this generator.  */
-  static void GetDocumentation(cmDocumentationEntry& entry);
-
-  /**
-   * Where does this version of Visual Studio look for macros for the
-   * current user? Returns the empty string if this version of Visual
-   * Studio does not implement support for VB macros.
-   */
-  virtual std::string GetUserMacrosDirectory();
-
-  /**
-   * What is the reg key path to "vsmacros" for this version of Visual
-   * Studio?
-   */
-  virtual std::string GetUserMacrosRegKeyBase();
 
 protected:
-  virtual const char* GetIDEVersion() { return "7.1"; }
   virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
                             std::vector<cmLocalGenerator*>& generators);
   virtual void WriteSolutionConfigurations(
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 5756eaf..14ec72f 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -293,19 +293,6 @@ void cmGlobalVisualStudio7Generator::Generate()
   if (!cmSystemTools::GetErrorOccuredFlag()) {
     this->CallVisualStudioMacro(MacroReload);
   }
-
-  if (this->Version == VS71 && !this->CMakeInstance->GetIsInTryCompile()) {
-    const char* cmakeWarnVS71 =
-      this->CMakeInstance->GetState()->GetCacheEntryValue("CMAKE_WARN_VS71");
-    if (!cmakeWarnVS71 || !cmSystemTools::IsOff(cmakeWarnVS71)) {
-      this->CMakeInstance->IssueMessage(
-        cmake::WARNING,
-        "The \"Visual Studio 7 .NET 2003\" generator is deprecated "
-        "and will be removed in a future version of CMake."
-        "\n"
-        "Add CMAKE_WARN_VS71=OFF to the cache to disable this warning.");
-    }
-  }
 }
 
 void cmGlobalVisualStudio7Generator::OutputSLNFile(
diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h
index a5a7f9a..c12a933 100644
--- a/Source/cmGlobalVisualStudioGenerator.h
+++ b/Source/cmGlobalVisualStudioGenerator.h
@@ -32,7 +32,6 @@ public:
   /** Known versions of Visual Studio.  */
   enum VSVersion
   {
-    VS71 = 71,
     VS8 = 80,
     VS9 = 90,
     VS10 = 100,
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index a36e1f6..7535ef4 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -898,8 +898,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(
   // end of <Tool Name=VCMIDLTool
 
   // Add manifest tool settings.
-  if (targetBuilds &&
-      this->GetVersion() >= cmGlobalVisualStudioGenerator::VS8) {
+  if (targetBuilds) {
     const char* manifestTool = "VCManifestTool";
     if (this->FortranProject) {
       manifestTool = "VFManifestTool";
@@ -1040,8 +1039,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
       fout << "\t\t\t<Tool\n"
            << "\t\t\t\tName=\"" << tool << "\"\n";
 
-      if (this->GetVersion() < cmGlobalVisualStudioGenerator::VS8 ||
-          this->FortranProject) {
+      if (this->FortranProject) {
         std::ostringstream libdeps;
         this->Internal->OutputObjects(libdeps, target, configName);
         if (!libdeps.str().empty()) {
@@ -1094,8 +1092,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
       // libraries which may be set by the user to something bad.
       fout << "\t\t\t\tAdditionalDependencies=\"$(NOINHERIT) "
            << this->Makefile->GetSafeDefinition(standardLibsVar.c_str());
-      if (this->GetVersion() < cmGlobalVisualStudioGenerator::VS8 ||
-          this->FortranProject) {
+      if (this->FortranProject) {
         this->Internal->OutputObjects(fout, target, configName, " ");
       }
       fout << " ";
@@ -1179,8 +1176,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
       // libraries which may be set by the user to something bad.
       fout << "\t\t\t\tAdditionalDependencies=\"$(NOINHERIT) "
            << this->Makefile->GetSafeDefinition(standardLibsVar.c_str());
-      if (this->GetVersion() < cmGlobalVisualStudioGenerator::VS8 ||
-          this->FortranProject) {
+      if (this->FortranProject) {
         this->Internal->OutputObjects(fout, target, configName, " ");
       }
       fout << " ";
@@ -1376,10 +1372,9 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout,
     cmSourceFile const* sf = sources[si].Source;
     sourcesIndex[sf] = si;
     if (!sf->GetObjectLibrary().empty()) {
-      if (this->GetVersion() < cmGlobalVisualStudioGenerator::VS8 ||
-          this->FortranProject) {
-        // VS < 8 does not support per-config source locations so we
-        // list object library content on the link line instead.
+      if (this->FortranProject) {
+        // Intel Fortran does not support per-config source locations
+        // so we list object library content on the link line instead.
         // See OutputObjects.
         continue;
       }
@@ -1962,11 +1957,7 @@ void cmLocalVisualStudio7Generator::WriteProjectStart(
        << "<VisualStudioProject\n"
        << "\tProjectType=\"Visual C++\"\n";
   /* clang-format on */
-  if (gg->GetVersion() == cmGlobalVisualStudioGenerator::VS71) {
-    fout << "\tVersion=\"7.10\"\n";
-  } else {
-    fout << "\tVersion=\"" << (gg->GetVersion() / 10) << ".00\"\n";
-  }
+  fout << "\tVersion=\"" << (gg->GetVersion() / 10) << ".00\"\n";
   const char* projLabel = target->GetProperty("PROJECT_LABEL");
   if (!projLabel) {
     projLabel = libName.c_str();
@@ -1976,9 +1967,7 @@ void cmLocalVisualStudio7Generator::WriteProjectStart(
     keyword = "Win32Proj";
   }
   fout << "\tName=\"" << projLabel << "\"\n";
-  if (gg->GetVersion() >= cmGlobalVisualStudioGenerator::VS8) {
-    fout << "\tProjectGUID=\"{" << gg->GetGUID(libName.c_str()) << "}\"\n";
-  }
+  fout << "\tProjectGUID=\"{" << gg->GetGUID(libName.c_str()) << "}\"\n";
   this->WriteProjectSCC(fout, target);
   if (const char* targetFrameworkVersion =
         target->GetProperty("VS_DOTNET_TARGET_FRAMEWORK_VERSION")) {
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 8dc6571..7ace0a3 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -617,8 +617,6 @@ bool cmSystemTools::RunSingleCommand(std::vector<std::string> const& command,
     while ((pipe = cmsysProcess_WaitForData(cp, &data, &length, CM_NULLPTR)) >
            0) {
       // Translate NULL characters in the output into valid text.
-      // Visual Studio 7 puts these characters in the output of its
-      // build process.
       for (int i = 0; i < length; ++i) {
         if (data[i] == '\0') {
           data[i] = ' ';
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx
index 370e4da..1f808c8 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -101,9 +101,6 @@ void cmVisualStudioGeneratorOptions::FixExceptionHandlingDefault()
   // the flag to disable exception handling.  When the user does
   // remove the flag we need to override the IDE default of on.
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VS71:
-      this->FlagMap["ExceptionHandling"] = "FALSE";
-      break;
     case cmGlobalVisualStudioGenerator::VS10:
     case cmGlobalVisualStudioGenerator::VS11:
     case cmGlobalVisualStudioGenerator::VS12:
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index f0ae316..737587d 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -63,7 +63,6 @@
 #include "cmGlobalVisualStudio12Generator.h"
 #include "cmGlobalVisualStudio14Generator.h"
 #include "cmGlobalVisualStudio15Generator.h"
-#include "cmGlobalVisualStudio71Generator.h"
 #include "cmGlobalVisualStudio8Generator.h"
 #include "cmGlobalVisualStudio9Generator.h"
 #include "cmVSSetupHelper.h"
@@ -1461,8 +1460,7 @@ void cmake::CreateDefaultGlobalGenerator()
     { "11.0", "Visual Studio 11 2012" }, //
     { "10.0", "Visual Studio 10 2010" }, //
     { "9.0", "Visual Studio 9 2008" },   //
-    { "8.0", "Visual Studio 8 2005" },   //
-    { "7.1", "Visual Studio 7 .NET 2003" }
+    { "8.0", "Visual Studio 8 2005" }
   };
   static const char* const vsEntries[] = {
     "\\Setup\\VC;ProductDir", //
@@ -1672,7 +1670,6 @@ void cmake::AddDefaultGenerators()
   this->Generators.push_back(cmGlobalVisualStudio10Generator::NewFactory());
   this->Generators.push_back(cmGlobalVisualStudio9Generator::NewFactory());
   this->Generators.push_back(cmGlobalVisualStudio8Generator::NewFactory());
-  this->Generators.push_back(cmGlobalVisualStudio71Generator::NewFactory());
   this->Generators.push_back(cmGlobalBorlandMakefileGenerator::NewFactory());
   this->Generators.push_back(cmGlobalNMakeMakefileGenerator::NewFactory());
   this->Generators.push_back(cmGlobalJOMMakefileGenerator::NewFactory());
diff --git a/Tests/BuildDepends/CMakeLists.txt b/Tests/BuildDepends/CMakeLists.txt
index 9b48b14..11978db 100644
--- a/Tests/BuildDepends/CMakeLists.txt
+++ b/Tests/BuildDepends/CMakeLists.txt
@@ -42,7 +42,7 @@ list(APPEND _cmake_options "-DTEST_LINK_DEPENDS=${TEST_LINK_DEPENDS}")
 
 list(APPEND _cmake_options "-DCMAKE_FORCE_DEPFILES=1")
 
-if(NOT CMAKE_GENERATOR MATCHES "Visual Studio ([^789]|[789][0-9])")
+if(NOT CMAKE_GENERATOR MATCHES "Visual Studio ([^89]|[89][0-9])")
   set(TEST_MULTI3 1)
   list(APPEND _cmake_options "-DTEST_MULTI3=1")
 endif()
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 41168c7..60a2cbb 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -46,7 +46,7 @@ if(BUILD_TESTING)
   set(CMake_TEST_DEVENV "")
   if(CMAKE_VS_DEVENV_COMMAND)
     set(CMake_TEST_DEVENV "${CMAKE_VS_DEVENV_COMMAND}")
-  elseif(CMAKE_GENERATOR MATCHES "Visual Studio [7-9] " AND
+  elseif(CMAKE_GENERATOR MATCHES "Visual Studio [89] " AND
       NOT CMAKE_MAKE_PROGRAM MATCHES "[mM][sS][bB][uU][iI][lL][dD]\\.[eE][xX][eE]")
     set(CMake_TEST_DEVENV "${CMAKE_MAKE_PROGRAM}")
   endif()
@@ -325,7 +325,7 @@ if(BUILD_TESTING)
     endif()
   endif()
 
-  if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^789]|[789][0-9])")
+  if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^89]|[89][0-9])")
     ADD_TEST_MACRO(CSharpOnly CSharpOnly)
   endif()
 
@@ -626,8 +626,8 @@ if(BUILD_TESTING)
   endif()
 
   # test for correct sub-project generation
-  # not implemented in VS 7.0, Xcode, or Ninja
-  if(NOT CMAKE_GENERATOR MATCHES "Visual Studio 7$|Xcode|Ninja")
+  # not implemented in Xcode or Ninja
+  if(NOT CMAKE_GENERATOR MATCHES "Xcode|Ninja")
     # run cmake and configure all of SubProject
     # but only build the independent executable car
     add_test(SubProject ${CMAKE_CTEST_COMMAND}
@@ -1942,7 +1942,6 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
   endif()
 
   if(MSVC AND NOT MSVC_VERSION LESS 1310
-     AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7( |$)"
      AND (NOT CMAKE_GENERATOR MATCHES "Visual Studio [89]( |$)"
           OR CMAKE_SIZEOF_VOID_P EQUAL 4)
       )
@@ -1954,7 +1953,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
       ADD_TEST_MACRO(SBCS SBCS)
     endif()
 
-    if(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio [789]( |$)"
+    if(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio [89]( |$)"
         AND NOT CMAKE_GENERATOR_TOOLSET)
       ADD_TEST_MACRO(VSWindowsFormsResx VSWindowsFormsResx)
     endif()
@@ -2153,7 +2152,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     endif()
   endif()
 
-  if(CMAKE_GENERATOR MATCHES "Visual Studio ([^789]|[789][0-9])" AND nasm)
+  if(CMAKE_GENERATOR MATCHES "Visual Studio ([^89]|[89][0-9])" AND nasm)
     ADD_TEST_MACRO(VSNASM VSNASM)
   endif()
 
diff --git a/Tests/CMakeOnly/CMakeLists.txt b/Tests/CMakeOnly/CMakeLists.txt
index 2b25766..c84fa74 100644
--- a/Tests/CMakeOnly/CMakeLists.txt
+++ b/Tests/CMakeOnly/CMakeLists.txt
@@ -33,7 +33,7 @@ add_CMakeOnly_test(CompilerIdCXX)
 if(CMAKE_Fortran_COMPILER)
   add_CMakeOnly_test(CompilerIdFortran)
 endif()
-if(CMAKE_GENERATOR MATCHES "Visual Studio ([^789]|[789][0-9])")
+if(CMAKE_GENERATOR MATCHES "Visual Studio ([^89]|[89][0-9])")
   add_CMakeOnly_test(CompilerIdCSharp)
 endif()
 
diff --git a/Tests/ObjectLibrary/CMakeLists.txt b/Tests/ObjectLibrary/CMakeLists.txt
index e3476df..4bffd12 100644
--- a/Tests/ObjectLibrary/CMakeLists.txt
+++ b/Tests/ObjectLibrary/CMakeLists.txt
@@ -16,11 +16,7 @@ add_custom_command(TARGET UseCshared POST_BUILD COMMAND ${CMAKE_COMMAND} -P ${CM
 
 add_executable(UseCinternal main.c c.c $<TARGET_OBJECTS:A> $<TARGET_OBJECTS:B>)
 
-if("${CMAKE_GENERATOR}" MATCHES "^Visual Studio (7|7 .NET 2003)$")
-  # VS 7 generators do not add objects as sources so we need a
-  # dummy object to convince the IDE to build the targets below.
-  set(dummy dummy.obj) # In MinGW: gcc -c dummy.c -o dummy.obj
-elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+if("${CMAKE_GENERATOR}" MATCHES "Xcode")
   # Xcode does not seem to support targets without sources.
   set(dummy dummy.c)
 endif()
diff --git a/Tests/Preprocess/CMakeLists.txt b/Tests/Preprocess/CMakeLists.txt
index 807a427..8c2cdc9 100644
--- a/Tests/Preprocess/CMakeLists.txt
+++ b/Tests/Preprocess/CMakeLists.txt
@@ -25,9 +25,6 @@ endif()
 if("${CMAKE_GENERATOR}" MATCHES "Watcom WMake")
   set(PP_WATCOM 1)
 endif()
-if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 7$")
-  set(PP_VS70 1)
-endif()
 if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
   set(PP_VS 1)
 endif()
@@ -46,14 +43,11 @@ endif()
 # must not have it escaped inside the configured header.
 set(STRING_EXTRA "")
 
-if(NOT BORLAND AND NOT PP_VS70)
-  # Borland, VS70 IDE: ;
+if(NOT BORLAND)
+  # Borland: ;
   # The Borland compiler will simply not accept a non-escaped semicolon
   # on the command line.  If it is escaped \; then the escape character
   # shows up in the preprocessing output too.
-  #
-  # The VS 7.0 IDE separates definitions on semicolons and commas with
-  # no regard for quotes.  Fortunately VS 7.1 and above are okay.
   set(SEMICOLON "\;")
 endif()
 
diff --git a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
index ffd3ae1..67a6101 100644
--- a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
+++ b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
@@ -31,7 +31,7 @@ function(run_BuildDepends CASE)
 endfunction()
 
 run_BuildDepends(C-Exe)
-if(NOT RunCMake_GENERATOR MATCHES "Visual Studio 7|Xcode")
+if(NOT RunCMake_GENERATOR STREQUAL "Xcode")
   if(RunCMake_GENERATOR MATCHES "Visual Studio 10")
     # VS 10 forgets to re-link when a manifest changes
     set(run_BuildDepends_skip_step_2 1)
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 73a4965..32c4be8 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -270,13 +270,13 @@ endif()
 
 if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
   add_RunCMake_test(include_external_msproject)
-  if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([789]|10)" AND NOT CMAKE_VS_DEVENV_COMMAND)
+  if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([89]|10)" AND NOT CMAKE_VS_DEVENV_COMMAND)
     set(NO_USE_FOLDERS 1)
   endif()
   add_RunCMake_test(VSSolution -DNO_USE_FOLDERS=${NO_USE_FOLDERS})
 endif()
 
-if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([^789]|[789][0-9])")
+if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([^89]|[89][0-9])")
   add_RunCMake_test(VS10Project)
 endif()
 
diff --git a/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-OFF.cmake b/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-OFF.cmake
deleted file mode 100644
index e69de29..0000000
diff --git a/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON-stderr.txt b/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON-stderr.txt
deleted file mode 100644
index 2cb01ff..0000000
--- a/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-^CMake Warning:
-  The "Visual Studio 7 .NET 2003" generator is deprecated and will be removed
-  in a future version of CMake.
-
-  Add CMAKE_WARN_VS71=OFF to the cache to disable this warning.$
diff --git a/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON.cmake b/Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON.cmake
deleted file mode 100644
index e69de29..0000000
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index b213ee2..f327f78 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -78,13 +78,6 @@ if(RunCMake_GENERATOR STREQUAL "Ninja")
   unset(RunCMake_TEST_NO_CLEAN)
 endif()
 
-if(RunCMake_GENERATOR STREQUAL "Visual Studio 7 .NET 2003")
-  set(RunCMake_WARN_VS71 1)
-  run_cmake(DeprecateVS71-WARN-ON)
-  unset(RunCMake_WARN_VS71)
-  run_cmake(DeprecateVS71-WARN-OFF)
-endif()
-
 if(UNIX)
   run_cmake_command(E_create_symlink-no-arg
     ${CMAKE_COMMAND} -E create_symlink
diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index 9e2fe7a..04eadd5 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/Tests/RunCMake/RunCMake.cmake
@@ -51,9 +51,6 @@ function(run_cmake test)
   if(APPLE)
     list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
   endif()
-  if(RunCMake_GENERATOR STREQUAL "Visual Studio 7 .NET 2003" AND NOT RunCMake_WARN_VS71)
-    list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_WARN_VS71=OFF)
-  endif()
   if(RunCMake_MAKE_PROGRAM)
     list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
   endif()
diff --git a/Tests/RunCMake/VSSolution/RunCMakeTest.cmake b/Tests/RunCMake/VSSolution/RunCMakeTest.cmake
index 4ec3e3b..3a04db4 100644
--- a/Tests/RunCMake/VSSolution/RunCMakeTest.cmake
+++ b/Tests/RunCMake/VSSolution/RunCMakeTest.cmake
@@ -12,6 +12,6 @@ run_cmake(StartupProject)
 run_cmake(StartupProjectMissing)
 run_cmake(AddPackageToDefault)
 
-if(RunCMake_GENERATOR MATCHES "Visual Studio ([^7]|[7][0-9])" AND NOT NO_USE_FOLDERS)
+if(NOT NO_USE_FOLDERS)
   run_cmake(StartupProjectUseFolders)
 endif()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a4452fd82df79c579ab3996e3c56c59964bf69ea
commit a4452fd82df79c579ab3996e3c56c59964bf69ea
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 14:53:47 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 14:54:57 2017 -0400

    cmGlobalVisualStudioGenerator: Drop VS7 enumeration value
    
    We no longer support the VS 7.0 (.NET 2002) IDE, so drop the enumeration
    value corresponding to its version.

diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 3849175..5756eaf 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -54,7 +54,6 @@ cmGlobalVisualStudio7Generator::cmGlobalVisualStudio7Generator(
     this->DefaultPlatformName = platformName;
   }
   this->ExtraFlagTable = cmVS7ExtraFlagTable;
-  this->Version = VS7;
 }
 
 cmGlobalVisualStudio7Generator::~cmGlobalVisualStudio7Generator()
diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h
index 60344f3..a5a7f9a 100644
--- a/Source/cmGlobalVisualStudioGenerator.h
+++ b/Source/cmGlobalVisualStudioGenerator.h
@@ -32,7 +32,6 @@ public:
   /** Known versions of Visual Studio.  */
   enum VSVersion
   {
-    VS7 = 70,
     VS71 = 71,
     VS8 = 80,
     VS9 = 90,
diff --git a/Source/cmQtAutoGeneratorInitializer.cxx b/Source/cmQtAutoGeneratorInitializer.cxx
index e6d9a9f..82de9a2 100644
--- a/Source/cmQtAutoGeneratorInitializer.cxx
+++ b/Source/cmQtAutoGeneratorInitializer.cxx
@@ -681,11 +681,11 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
   if (gg->GetName().find("Visual Studio") != std::string::npos) {
     cmGlobalVisualStudioGenerator* vsgg =
       static_cast<cmGlobalVisualStudioGenerator*>(gg);
-    // Under VS >= 7 use a PRE_BUILD event instead of a separate target to
+    // Under VS use a PRE_BUILD event instead of a separate target to
     // reduce the number of targets loaded into the IDE.
     // This also works around a VS 11 bug that may skip updating the target:
     //  https://connect.microsoft.com/VisualStudio/feedback/details/769495
-    usePRE_BUILD = vsgg->GetVersion() >= cmGlobalVisualStudioGenerator::VS7;
+    usePRE_BUILD = true;
   }
 #endif
 
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx
index abc4924..370e4da 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -101,7 +101,6 @@ void cmVisualStudioGeneratorOptions::FixExceptionHandlingDefault()
   // the flag to disable exception handling.  When the user does
   // remove the flag we need to override the IDE default of on.
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VS7:
     case cmGlobalVisualStudioGenerator::VS71:
       this->FlagMap["ExceptionHandling"] = "FALSE";
       break;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6e66fe5f977c3d8e0a4b24236a00b31f325ef5a3
commit 6e66fe5f977c3d8e0a4b24236a00b31f325ef5a3
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 14:43:40 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 14:45:00 2017 -0400

    cmGlobalVisualStudio8Generator: Drop unused GetDocumentation method
    
    This has been moved to the factory.

diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx
index 634db7f..1fcb5ac 100644
--- a/Source/cmGlobalVisualStudio8Generator.cxx
+++ b/Source/cmGlobalVisualStudio8Generator.cxx
@@ -153,13 +153,6 @@ void cmGlobalVisualStudio8Generator::WriteSLNHeader(std::ostream& fout)
   fout << "# Visual Studio 2005\n";
 }
 
-void cmGlobalVisualStudio8Generator::GetDocumentation(
-  cmDocumentationEntry& entry)
-{
-  entry.Name = cmGlobalVisualStudio8Generator::GetActualName();
-  entry.Brief = "Generates Visual Studio 8 2005 project files.";
-}
-
 std::string cmGlobalVisualStudio8Generator::GetGenerateStampList()
 {
   return "generate.stamp.list";
diff --git a/Source/cmGlobalVisualStudio8Generator.h b/Source/cmGlobalVisualStudio8Generator.h
index 03fa077..4723b83 100644
--- a/Source/cmGlobalVisualStudio8Generator.h
+++ b/Source/cmGlobalVisualStudio8Generator.h
@@ -20,9 +20,6 @@ public:
   ///! Get the name for the generator.
   virtual std::string GetName() const { return this->Name; }
 
-  /** Get the documentation entry for this generator.  */
-  static void GetDocumentation(cmDocumentationEntry& entry);
-
   /** Get the name of the main stamp list file. */
   static std::string GetGenerateStampList();
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=697a5d64d86d73b1353a90a5bfc9f444b97fedd7
commit 697a5d64d86d73b1353a90a5bfc9f444b97fedd7
Merge: 3d3144b 5785482
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 19 08:02:06 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 08:02:06 2017 -0400

    Merge branch 'upstream-KWSys' into update-kwsys
    
    * upstream-KWSys:
      KWSys 2017-04-19 (9f6ffaff)


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5785482ce0be9187ff94c1042f8978d2f11285e8
commit 5785482ce0be9187ff94c1042f8978d2f11285e8
Author:     KWSys Upstream <kwrobot at kitware.com>
AuthorDate: Wed Apr 19 07:58:28 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Apr 19 08:02:04 2017 -0400

    KWSys 2017-04-19 (9f6ffaff)
    
    Code extracted from:
    
        https://gitlab.kitware.com/utils/kwsys.git
    
    at commit 9f6ffaff4ed7b639b3523b43f41e70f75271f0cc (master).
    
    Upstream Shortlog
    -----------------
    
    Brad King (3):
          e71a3406 Encoding: Add ToWindowsExtendedPath function
          41b8603c SystemTools: Use Encoding::ToWindowsExtendedPath
          edd8b5e0 FStream: Open files on Windows using UNC path
    
    Chuck Atkins (1):
          0c4e58ec Silence warnings from newer CMake versions from CMP0048

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 28fe9e7..e15b49e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -69,6 +69,7 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
 FOREACH(p
     CMP0025 # CMake 3.0, Compiler id for Apple Clang is now AppleClang.
+    CMP0048 # CMake 3.0, Let the project command manage version variables.
     CMP0056 # CMake 3.2, Honor link flags in try_compile() source-file signature.
     CMP0063 # CMake 3.3, Honor visibility properties for all target types.
     )
diff --git a/Encoding.hxx.in b/Encoding.hxx.in
index bf93f50..09691fd 100644
--- a/Encoding.hxx.in
+++ b/Encoding.hxx.in
@@ -59,6 +59,17 @@ public:
   static std::string ToNarrow(const std::wstring& str);
   static std::string ToNarrow(const wchar_t* str);
 
+#if defined(_WIN32)
+  /**
+   * Convert the path to an extended length path to avoid MAX_PATH length
+   * limitations on Windows. If the input is a local path the result will be
+   * prefixed with \\?\; if the input is instead a network path, the result
+   * will be prefixed with \\?\UNC\. All output will also be converted to
+   * absolute paths with Windows-style backslashes.
+   **/
+  static std::wstring ToWindowsExtendedPath(std::string const&);
+#endif
+
 #endif // @KWSYS_NAMESPACE at _STL_HAS_WSTRING
 
 }; // class Encoding
diff --git a/EncodingCXX.cxx b/EncodingCXX.cxx
index e904c1a..641c0e6 100644
--- a/EncodingCXX.cxx
+++ b/EncodingCXX.cxx
@@ -29,6 +29,7 @@
 #if defined(_WIN32)
 #include <windows.h>
 
+#include <ctype.h>
 #include <shellapi.h>
 #endif
 
@@ -214,6 +215,63 @@ std::string Encoding::ToNarrow(const wchar_t* wcstr)
   }
   return str;
 }
+
+#if defined(_WIN32)
+// Convert local paths to UNC style paths
+std::wstring Encoding::ToWindowsExtendedPath(std::string const& source)
+{
+  std::wstring wsource = Encoding::ToWide(source);
+
+  // Resolve any relative paths
+  DWORD wfull_len;
+
+  /* The +3 is a workaround for a bug in some versions of GetFullPathNameW that
+   * won't return a large enough buffer size if the input is too small */
+  wfull_len = GetFullPathNameW(wsource.c_str(), 0, NULL, NULL) + 3;
+  std::vector<wchar_t> wfull(wfull_len);
+  GetFullPathNameW(wsource.c_str(), wfull_len, &wfull[0], NULL);
+
+  /* This should get the correct size without any extra padding from the
+   * previous size workaround. */
+  wfull_len = static_cast<DWORD>(wcslen(&wfull[0]));
+
+  if (wfull_len >= 2 && isalpha(wfull[0]) &&
+      wfull[1] == L':') { /* C:\Foo\bar\FooBar.txt */
+    return L"\\\\?\\" + std::wstring(&wfull[0]);
+  } else if (wfull_len >= 2 && wfull[0] == L'\\' &&
+             wfull[1] == L'\\') { /* Starts with \\ */
+    if (wfull_len >= 4 && wfull[2] == L'?' &&
+        wfull[3] == L'\\') { /* Starts with \\?\ */
+      if (wfull_len >= 8 && wfull[4] == L'U' && wfull[5] == L'N' &&
+          wfull[6] == L'C' &&
+          wfull[7] == L'\\') { /* \\?\UNC\Foo\bar\FooBar.txt */
+        return std::wstring(&wfull[0]);
+      } else if (wfull_len >= 6 && isalpha(wfull[4]) &&
+                 wfull[5] == L':') { /* \\?\C:\Foo\bar\FooBar.txt */
+        return std::wstring(&wfull[0]);
+      } else if (wfull_len >= 5) { /* \\?\Foo\bar\FooBar.txt */
+        return L"\\\\?\\UNC\\" + std::wstring(&wfull[4]);
+      }
+    } else if (wfull_len >= 4 && wfull[2] == L'.' &&
+               wfull[3] == L'\\') { /* Starts with \\.\ a device name */
+      if (wfull_len >= 6 && isalpha(wfull[4]) &&
+          wfull[5] == L':') { /* \\.\C:\Foo\bar\FooBar.txt */
+        return L"\\\\?\\" + std::wstring(&wfull[4]);
+      } else if (wfull_len >=
+                 5) { /* \\.\Foo\bar\ Device name is left unchanged */
+        return std::wstring(&wfull[0]);
+      }
+    } else if (wfull_len >= 3) { /* \\Foo\bar\FooBar.txt */
+      return L"\\\\?\\UNC\\" + std::wstring(&wfull[2]);
+    }
+  }
+
+  // If this case has been reached, then the path is invalid.  Leave it
+  // unchanged
+  return Encoding::ToWide(source);
+}
+#endif
+
 #endif // KWSYS_STL_HAS_WSTRING
 
 } // namespace KWSYS_NAMESPACE
diff --git a/FStream.hxx.in b/FStream.hxx.in
index d4bc6c9..a4c65fe 100644
--- a/FStream.hxx.in
+++ b/FStream.hxx.in
@@ -33,7 +33,7 @@ public:
   typedef std::basic_filebuf<CharType, Traits> my_base_type;
   basic_filebuf* open(char const* s, std::ios_base::openmode mode)
   {
-    const std::wstring wstr = Encoding::ToWide(s);
+    const std::wstring wstr = Encoding::ToWindowsExtendedPath(s);
     return static_cast<basic_filebuf*>(my_base_type::open(wstr.c_str(), mode));
   }
 #endif
@@ -93,7 +93,7 @@ public:
 #if defined(_MSC_VER)
     const bool success = buf_->open(file_name, mode) != 0;
 #else
-    const std::wstring wstr = Encoding::ToWide(file_name);
+    const std::wstring wstr = Encoding::ToWindowsExtendedPath(file_name);
     bool success = false;
     std::wstring cmode = getcmode(mode);
     file_ = _wfopen(wstr.c_str(), cmode.c_str());
diff --git a/SystemTools.cxx b/SystemTools.cxx
index 100a49c..b6da368 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -216,12 +216,12 @@ static time_t windows_filetime_to_posix_time(const FILETIME& ft)
 inline int Mkdir(const std::string& dir)
 {
   return _wmkdir(
-    KWSYS_NAMESPACE::SystemTools::ConvertToWindowsExtendedPath(dir).c_str());
+    KWSYS_NAMESPACE::Encoding::ToWindowsExtendedPath(dir).c_str());
 }
 inline int Rmdir(const std::string& dir)
 {
   return _wrmdir(
-    KWSYS_NAMESPACE::SystemTools::ConvertToWindowsExtendedPath(dir).c_str());
+    KWSYS_NAMESPACE::Encoding::ToWindowsExtendedPath(dir).c_str());
 }
 inline const char* Getcwd(char* buf, unsigned int len)
 {
@@ -745,7 +745,7 @@ const char* SystemTools::GetExecutableExtension()
 FILE* SystemTools::Fopen(const std::string& file, const char* mode)
 {
 #ifdef _WIN32
-  return _wfopen(SystemTools::ConvertToWindowsExtendedPath(file).c_str(),
+  return _wfopen(Encoding::ToWindowsExtendedPath(file).c_str(),
                  Encoding::ToWide(mode).c_str());
 #else
   return fopen(file.c_str(), mode);
@@ -1159,8 +1159,7 @@ bool SystemTools::PathExists(const std::string& path)
   struct stat st;
   return lstat(path.c_str(), &st) == 0;
 #elif defined(_WIN32)
-  return (GetFileAttributesW(
-            SystemTools::ConvertToWindowsExtendedPath(path).c_str()) !=
+  return (GetFileAttributesW(Encoding::ToWindowsExtendedPath(path).c_str()) !=
           INVALID_FILE_ATTRIBUTES);
 #else
   struct stat st;
@@ -1191,9 +1190,9 @@ bool SystemTools::FileExists(const std::string& filename)
   }
   return access(filename.c_str(), R_OK) == 0;
 #elif defined(_WIN32)
-  return (GetFileAttributesW(
-            SystemTools::ConvertToWindowsExtendedPath(filename).c_str()) !=
-          INVALID_FILE_ATTRIBUTES);
+  return (
+    GetFileAttributesW(Encoding::ToWindowsExtendedPath(filename).c_str()) !=
+    INVALID_FILE_ATTRIBUTES);
 #else
 // SCO OpenServer 5.0.7/3.2's command has 711 permission.
 #if defined(_SCO_DS)
@@ -1249,7 +1248,7 @@ bool SystemTools::TestFileAccess(const std::string& filename,
     permissions &= ~TEST_FILE_EXECUTE;
     permissions |= TEST_FILE_READ;
   }
-  return _waccess(SystemTools::ConvertToWindowsExtendedPath(filename).c_str(),
+  return _waccess(Encoding::ToWindowsExtendedPath(filename).c_str(),
                   permissions) == 0;
 #else
   return access(filename.c_str(), permissions) == 0;
@@ -1274,7 +1273,7 @@ int SystemTools::Stat(const std::string& path, SystemTools::Stat_t* buf)
     return -1;
   }
 #if defined(_WIN32) && !defined(__CYGWIN__)
-  // Ideally we should use ConvertToWindowsExtendedPath to support
+  // Ideally we should use Encoding::ToWindowsExtendedPath to support
   // long paths, but _wstat64 rejects paths with '?' in them, thinking
   // they are wildcards.
   std::wstring const& wpath = Encoding::ToWide(path);
@@ -1324,10 +1323,9 @@ bool SystemTools::Touch(const std::string& filename, bool create)
     }
   }
 #if defined(_WIN32) && !defined(__CYGWIN__)
-  HANDLE h =
-    CreateFileW(SystemTools::ConvertToWindowsExtendedPath(filename).c_str(),
-                FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, 0, OPEN_EXISTING,
-                FILE_FLAG_BACKUP_SEMANTICS, 0);
+  HANDLE h = CreateFileW(Encoding::ToWindowsExtendedPath(filename).c_str(),
+                         FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, 0,
+                         OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
   if (!h) {
     return false;
   }
@@ -1425,14 +1423,12 @@ bool SystemTools::FileTimeCompare(const std::string& f1, const std::string& f2,
   // Windows version.  Get the modification time from extended file attributes.
   WIN32_FILE_ATTRIBUTE_DATA f1d;
   WIN32_FILE_ATTRIBUTE_DATA f2d;
-  if (!GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(f1).c_str(),
-        GetFileExInfoStandard, &f1d)) {
+  if (!GetFileAttributesExW(Encoding::ToWindowsExtendedPath(f1).c_str(),
+                            GetFileExInfoStandard, &f1d)) {
     return false;
   }
-  if (!GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(f2).c_str(),
-        GetFileExInfoStandard, &f2d)) {
+  if (!GetFileAttributesExW(Encoding::ToWindowsExtendedPath(f2).c_str(),
+                            GetFileExInfoStandard, &f2d)) {
     return false;
   }
 
@@ -1960,59 +1956,10 @@ void SystemTools::ConvertToUnixSlashes(std::string& path)
 }
 
 #ifdef _WIN32
-// Convert local paths to UNC style paths
 std::wstring SystemTools::ConvertToWindowsExtendedPath(
   const std::string& source)
 {
-  std::wstring wsource = Encoding::ToWide(source);
-
-  // Resolve any relative paths
-  DWORD wfull_len;
-
-  /* The +3 is a workaround for a bug in some versions of GetFullPathNameW that
-   * won't return a large enough buffer size if the input is too small */
-  wfull_len = GetFullPathNameW(wsource.c_str(), 0, NULL, NULL) + 3;
-  std::vector<wchar_t> wfull(wfull_len);
-  GetFullPathNameW(wsource.c_str(), wfull_len, &wfull[0], NULL);
-
-  /* This should get the correct size without any extra padding from the
-   * previous size workaround. */
-  wfull_len = static_cast<DWORD>(wcslen(&wfull[0]));
-
-  if (wfull_len >= 2 && isalpha(wfull[0]) &&
-      wfull[1] == L':') { /* C:\Foo\bar\FooBar.txt */
-    return L"\\\\?\\" + std::wstring(&wfull[0]);
-  } else if (wfull_len >= 2 && wfull[0] == L'\\' &&
-             wfull[1] == L'\\') { /* Starts with \\ */
-    if (wfull_len >= 4 && wfull[2] == L'?' &&
-        wfull[3] == L'\\') { /* Starts with \\?\ */
-      if (wfull_len >= 8 && wfull[4] == L'U' && wfull[5] == L'N' &&
-          wfull[6] == L'C' &&
-          wfull[7] == L'\\') { /* \\?\UNC\Foo\bar\FooBar.txt */
-        return std::wstring(&wfull[0]);
-      } else if (wfull_len >= 6 && isalpha(wfull[4]) &&
-                 wfull[5] == L':') { /* \\?\C:\Foo\bar\FooBar.txt */
-        return std::wstring(&wfull[0]);
-      } else if (wfull_len >= 5) { /* \\?\Foo\bar\FooBar.txt */
-        return L"\\\\?\\UNC\\" + std::wstring(&wfull[4]);
-      }
-    } else if (wfull_len >= 4 && wfull[2] == L'.' &&
-               wfull[3] == L'\\') { /* Starts with \\.\ a device name */
-      if (wfull_len >= 6 && isalpha(wfull[4]) &&
-          wfull[5] == L':') { /* \\.\C:\Foo\bar\FooBar.txt */
-        return L"\\\\?\\" + std::wstring(&wfull[4]);
-      } else if (wfull_len >=
-                 5) { /* \\.\Foo\bar\ Device name is left unchanged */
-        return std::wstring(&wfull[0]);
-      }
-    } else if (wfull_len >= 3) { /* \\Foo\bar\FooBar.txt */
-      return L"\\\\?\\UNC\\" + std::wstring(&wfull[2]);
-    }
-  }
-
-  // If this case has been reached, then the path is invalid.  Leave it
-  // unchanged
-  return Encoding::ToWide(source);
+  return Encoding::ToWindowsExtendedPath(source);
 }
 #endif
 
@@ -2129,15 +2076,14 @@ bool SystemTools::FilesDiffer(const std::string& source,
 
 #if defined(_WIN32)
   WIN32_FILE_ATTRIBUTE_DATA statSource;
-  if (GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(source).c_str(),
-        GetFileExInfoStandard, &statSource) == 0) {
+  if (GetFileAttributesExW(Encoding::ToWindowsExtendedPath(source).c_str(),
+                           GetFileExInfoStandard, &statSource) == 0) {
     return true;
   }
 
   WIN32_FILE_ATTRIBUTE_DATA statDestination;
   if (GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(destination).c_str(),
+        Encoding::ToWindowsExtendedPath(destination).c_str(),
         GetFileExInfoStandard, &statDestination) == 0) {
     return true;
   }
@@ -2261,8 +2207,7 @@ bool SystemTools::CopyFileAlways(const std::string& source,
 // Open files
 #if defined(_WIN32)
     kwsys::ifstream fin(
-      Encoding::ToNarrow(SystemTools::ConvertToWindowsExtendedPath(source))
-        .c_str(),
+      Encoding::ToNarrow(Encoding::ToWindowsExtendedPath(source)).c_str(),
       std::ios::in | std::ios::binary);
 #else
     kwsys::ifstream fin(source.c_str(), std::ios::in | std::ios::binary);
@@ -2279,8 +2224,7 @@ bool SystemTools::CopyFileAlways(const std::string& source,
 
 #if defined(_WIN32)
     kwsys::ofstream fout(
-      Encoding::ToNarrow(
-        SystemTools::ConvertToWindowsExtendedPath(real_destination))
+      Encoding::ToNarrow(Encoding::ToWindowsExtendedPath(real_destination))
         .c_str(),
       std::ios::out | std::ios::trunc | std::ios::binary);
 #else
@@ -2345,8 +2289,7 @@ bool SystemTools::CopyADirectory(const std::string& source,
 {
   Directory dir;
 #ifdef _WIN32
-  dir.Load(
-    Encoding::ToNarrow(SystemTools::ConvertToWindowsExtendedPath(source)));
+  dir.Load(Encoding::ToNarrow(Encoding::ToWindowsExtendedPath(source)));
 #else
   dir.Load(source);
 #endif
@@ -2384,9 +2327,8 @@ unsigned long SystemTools::FileLength(const std::string& filename)
   unsigned long length = 0;
 #ifdef _WIN32
   WIN32_FILE_ATTRIBUTE_DATA fs;
-  if (GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(filename).c_str(),
-        GetFileExInfoStandard, &fs) != 0) {
+  if (GetFileAttributesExW(Encoding::ToWindowsExtendedPath(filename).c_str(),
+                           GetFileExInfoStandard, &fs) != 0) {
     /* To support the full 64-bit file size, use fs.nFileSizeHigh
      * and fs.nFileSizeLow to construct the 64 bit size
 
@@ -2420,9 +2362,8 @@ long int SystemTools::ModifiedTime(const std::string& filename)
   long int mt = 0;
 #ifdef _WIN32
   WIN32_FILE_ATTRIBUTE_DATA fs;
-  if (GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(filename).c_str(),
-        GetFileExInfoStandard, &fs) != 0) {
+  if (GetFileAttributesExW(Encoding::ToWindowsExtendedPath(filename).c_str(),
+                           GetFileExInfoStandard, &fs) != 0) {
     mt = windows_filetime_to_posix_time(fs.ftLastWriteTime);
   }
 #else
@@ -2440,9 +2381,8 @@ long int SystemTools::CreationTime(const std::string& filename)
   long int ct = 0;
 #ifdef _WIN32
   WIN32_FILE_ATTRIBUTE_DATA fs;
-  if (GetFileAttributesExW(
-        SystemTools::ConvertToWindowsExtendedPath(filename).c_str(),
-        GetFileExInfoStandard, &fs) != 0) {
+  if (GetFileAttributesExW(Encoding::ToWindowsExtendedPath(filename).c_str(),
+                           GetFileExInfoStandard, &fs) != 0) {
     ct = windows_filetime_to_posix_time(fs.ftCreationTime);
   }
 #else
@@ -2656,7 +2596,7 @@ static bool DeleteJunction(const std::wstring& source)
 bool SystemTools::RemoveFile(const std::string& source)
 {
 #ifdef _WIN32
-  std::wstring const& ws = SystemTools::ConvertToWindowsExtendedPath(source);
+  std::wstring const& ws = Encoding::ToWindowsExtendedPath(source);
   if (DeleteFileW(ws.c_str())) {
     return true;
   }
@@ -2706,8 +2646,7 @@ bool SystemTools::RemoveADirectory(const std::string& source)
 
   Directory dir;
 #ifdef _WIN32
-  dir.Load(
-    Encoding::ToNarrow(SystemTools::ConvertToWindowsExtendedPath(source)));
+  dir.Load(Encoding::ToNarrow(Encoding::ToWindowsExtendedPath(source)));
 #else
   dir.Load(source);
 #endif
@@ -3064,8 +3003,8 @@ bool SystemTools::FileIsDirectory(const std::string& inName)
 
 // Now check the file node type.
 #if defined(_WIN32)
-  DWORD attr = GetFileAttributesW(
-    SystemTools::ConvertToWindowsExtendedPath(name).c_str());
+  DWORD attr =
+    GetFileAttributesW(Encoding::ToWindowsExtendedPath(name).c_str());
   if (attr != INVALID_FILE_ATTRIBUTES) {
     return (attr & FILE_ATTRIBUTE_DIRECTORY) != 0;
 #else
@@ -3081,8 +3020,8 @@ bool SystemTools::FileIsDirectory(const std::string& inName)
 bool SystemTools::FileIsSymlink(const std::string& name)
 {
 #if defined(_WIN32)
-  DWORD attr = GetFileAttributesW(
-    SystemTools::ConvertToWindowsExtendedPath(name).c_str());
+  DWORD attr =
+    GetFileAttributesW(Encoding::ToWindowsExtendedPath(name).c_str());
   if (attr != INVALID_FILE_ATTRIBUTES) {
     return (attr & FILE_ATTRIBUTE_REPARSE_POINT) != 0;
   } else {
@@ -4398,8 +4337,8 @@ bool SystemTools::GetPermissions(const char* file, mode_t& mode)
 bool SystemTools::GetPermissions(const std::string& file, mode_t& mode)
 {
 #if defined(_WIN32)
-  DWORD attr = GetFileAttributesW(
-    SystemTools::ConvertToWindowsExtendedPath(file).c_str());
+  DWORD attr =
+    GetFileAttributesW(Encoding::ToWindowsExtendedPath(file).c_str());
   if (attr == INVALID_FILE_ATTRIBUTES) {
     return false;
   }
@@ -4451,8 +4390,7 @@ bool SystemTools::SetPermissions(const std::string& file, mode_t mode,
     mode &= ~currentMask;
   }
 #ifdef _WIN32
-  if (_wchmod(SystemTools::ConvertToWindowsExtendedPath(file).c_str(), mode) <
-      0)
+  if (_wchmod(Encoding::ToWindowsExtendedPath(file).c_str(), mode) < 0)
 #else
   if (chmod(file.c_str(), mode) < 0)
 #endif
diff --git a/SystemTools.hxx.in b/SystemTools.hxx.in
index 53abce7..0849e1d 100644
--- a/SystemTools.hxx.in
+++ b/SystemTools.hxx.in
@@ -265,13 +265,7 @@ public:
   static void ConvertToUnixSlashes(std::string& path);
 
 #ifdef _WIN32
-  /**
-   * Convert the path to an extended length path to avoid MAX_PATH length
-   * limitations on Windows. If the input is a local path the result will be
-   * prefixed with \\?\; if the input is instead a network path, the result
-   * will be prefixed with \\?\UNC\. All output will also be converted to
-   * absolute paths with Windows-style backslashes.
-   **/
+  /** Calls Encoding::ToWindowsExtendedPath.  */
   static std::wstring ConvertToWindowsExtendedPath(const std::string&);
 #endif
 
diff --git a/testEncoding.cxx b/testEncoding.cxx
index 03f2ec9..457e8a8 100644
--- a/testEncoding.cxx
+++ b/testEncoding.cxx
@@ -180,6 +180,88 @@ static int testCommandLineArguments()
   return status;
 }
 
+static int testToWindowsExtendedPath()
+{
+#ifdef _WIN32
+  int ret = 0;
+  if (kwsys::Encoding::ToWindowsExtendedPath(
+        "L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") !=
+      L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\""
+              << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath(
+        "L:/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
+      L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"L:/Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath(
+        "\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") !=
+      L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\""
+              << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath(
+        "//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
+      L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo\""
+              << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath("//") != L"//") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"//\"" << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\") != L"\\\\.\\") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"\\\\.\\\"" << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X") != L"\\\\.\\X") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"\\\\.\\X\"" << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X:") != L"\\\\?\\X:") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"\\\\.\\X:\"" << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X:\\") !=
+      L"\\\\?\\X:\\") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"\\\\.\\X:\\\"" << std::endl;
+    ++ret;
+  }
+
+  if (kwsys::Encoding::ToWindowsExtendedPath("NUL") != L"\\\\.\\NUL") {
+    std::cout << "Problem with ToWindowsExtendedPath "
+              << "\"NUL\"" << std::endl;
+    ++ret;
+  }
+
+  return ret;
+#else
+  return 0;
+#endif
+}
+
 //----------------------------------------------------------------------------
 int testEncoding(int, char* [])
 {
@@ -196,6 +278,7 @@ int testEncoding(int, char* [])
   ret |= testRobustEncoding();
   ret |= testCommandLineArguments();
   ret |= testWithNulls();
+  ret |= testToWindowsExtendedPath();
 
   return ret;
 }
diff --git a/testSystemTools.cxx b/testSystemTools.cxx
index 9b08a04..d11bcae 100644
--- a/testSystemTools.cxx
+++ b/testSystemTools.cxx
@@ -585,85 +585,6 @@ static bool CheckStringOperations()
     res = false;
   }
 
-#ifdef _WIN32
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath(
-        "L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") !=
-      L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\""
-              << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath(
-        "L:/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
-      L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"L:/Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath(
-        "\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") !=
-      L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\""
-              << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath(
-        "//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
-      L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo\""
-              << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath("//") != L"//") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"//\"" << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\") !=
-      L"\\\\.\\") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"\\\\.\\\"" << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\X") !=
-      L"\\\\.\\X") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"\\\\.\\X\"" << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\X:") !=
-      L"\\\\?\\X:") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"\\\\.\\X:\"" << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\X:\\") !=
-      L"\\\\?\\X:\\") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"\\\\.\\X:\\\"" << std::endl;
-    res = false;
-  }
-
-  if (kwsys::SystemTools::ConvertToWindowsExtendedPath("NUL") !=
-      L"\\\\.\\NUL") {
-    std::cerr << "Problem with ConvertToWindowsExtendedPath "
-              << "\"NUL\"" << std::endl;
-    res = false;
-  }
-
-#endif
-
   if (kwsys::SystemTools::ConvertToWindowsOutputPath(
         "L://Local Mojo/Hex Power Pack/Iffy Voodoo") !=
       "\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"") {

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

Summary of changes:
 CONTRIBUTING.rst                                   |   14 +-
 CompileFlags.cmake                                 |    4 -
 Help/command/add_custom_command.rst                |    2 +-
 Help/dev/README.rst                                |    9 ++
 Help/dev/source.rst                                |   42 ++++++
 Help/generator/Visual Studio 7 .NET 2003.rst       |   10 +-
 Help/manual/cmake-developer.7.rst                  |   24 ----
 Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst   |    2 +-
 Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst    |    2 +-
 Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst       |    2 +-
 Help/release/dev/remove-vs7.1-generator.rst        |    4 +
 Help/variable/CMAKE_CFG_INTDIR.rst                 |    2 +-
 Help/variable/CMAKE_MFC_FLAG.rst                   |    2 +-
 Help/variable/CMAKE_VS_DEVENV_COMMAND.rst          |    2 +-
 .../CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst     |    2 +-
 Modules/CMakeBackwardCompatibilityC.cmake          |    6 -
 Modules/CMakeDetermineCSharpCompiler.cmake         |    2 +-
 Modules/CMakeDetermineCUDACompiler.cmake           |    2 +-
 Modules/CMakeVS7BackwardCompatibility.cmake        |   16 ---
 Modules/CTest.cmake                                |    6 +-
 Modules/FindBoost.cmake                            |    5 +-
 Modules/FindOpenSSL.cmake                          |    4 +
 Modules/Platform/Windows-df.cmake                  |    2 +-
 Source/CPack/OSXScriptLauncher.cxx                 |    2 -
 Source/cmGlobalVisualStudio71Generator.cxx         |   68 +---------
 Source/cmGlobalVisualStudio71Generator.h           |   29 ----
 Source/cmGlobalVisualStudio7Generator.cxx          |   14 --
 Source/cmGlobalVisualStudio8Generator.cxx          |    7 -
 Source/cmGlobalVisualStudio8Generator.h            |    3 -
 Source/cmGlobalVisualStudioGenerator.h             |    2 -
 Source/cmLocalVisualStudio7Generator.cxx           |   29 ++--
 Source/cmQtAutoGeneratorInitializer.cxx            |    4 +-
 Source/cmSystemTools.cxx                           |    2 -
 Source/cmVisualStudioGeneratorOptions.cxx          |    4 -
 Source/cmake.cxx                                   |    5 +-
 Source/kwsys/CMakeLists.txt                        |    1 +
 Source/kwsys/Encoding.hxx.in                       |   11 ++
 Source/kwsys/EncodingCXX.cxx                       |   58 ++++++++
 Source/kwsys/FStream.hxx.in                        |    4 +-
 Source/kwsys/SystemTools.cxx                       |  138 ++++++--------------
 Source/kwsys/SystemTools.hxx.in                    |    8 +-
 Source/kwsys/testEncoding.cxx                      |   83 ++++++++++++
 Source/kwsys/testSystemTools.cxx                   |   79 -----------
 Tests/BuildDepends/CMakeLists.txt                  |    2 +-
 Tests/CMakeLists.txt                               |   13 +-
 Tests/CMakeOnly/CMakeLists.txt                     |    2 +-
 Tests/ObjectLibrary/CMakeLists.txt                 |    6 +-
 Tests/Preprocess/CMakeLists.txt                    |   10 +-
 Tests/RunCMake/BuildDepends/RunCMakeTest.cmake     |    2 +-
 Tests/RunCMake/CMakeLists.txt                      |    4 +-
 .../CommandLine/DeprecateVS71-WARN-ON-stderr.txt   |    5 -
 Tests/RunCMake/CommandLine/RunCMakeTest.cmake      |    7 -
 Tests/RunCMake/RunCMake.cmake                      |    3 -
 Tests/RunCMake/VSSolution/RunCMakeTest.cmake       |    2 +-
 54 files changed, 301 insertions(+), 472 deletions(-)
 create mode 100644 Help/dev/source.rst
 create mode 100644 Help/release/dev/remove-vs7.1-generator.rst
 delete mode 100644 Modules/CMakeVS7BackwardCompatibility.cmake
 delete mode 100644 Tests/RunCMake/CommandLine/DeprecateVS71-WARN-OFF.cmake
 delete mode 100644 Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON-stderr.txt
 delete mode 100644 Tests/RunCMake/CommandLine/DeprecateVS71-WARN-ON.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list