Upgrade cmake prebuilt to 3.17.0 [Windows]

Built at:
http://fusion/41cbe67d-6367-4e4d-8c20-da8e05c72385

Change-Id: Ic32483d5670b34b10eff6ee03e990cb463de6763
diff --git a/share/cmake-3.16/Help/command/message.rst b/share/cmake-3.16/Help/command/message.rst
deleted file mode 100644
index c614286..0000000
--- a/share/cmake-3.16/Help/command/message.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-message
--------
-
-Display a message to the user.
-
-.. code-block:: cmake
-
-  message([<mode>] "message to display" ...)
-
-The optional ``<mode>`` keyword determines the type of message:
-
-``FATAL_ERROR``
-  CMake Error, stop processing and generation.
-
-``SEND_ERROR``
-  CMake Error, continue processing, but skip generation.
-
-``WARNING``
-  CMake Warning, continue processing.
-
-``AUTHOR_WARNING``
-  CMake Warning (dev), continue processing.
-
-``DEPRECATION``
-  CMake Deprecation Error or Warning if variable
-  :variable:`CMAKE_ERROR_DEPRECATED` or :variable:`CMAKE_WARN_DEPRECATED`
-  is enabled, respectively, else no message.
-
-(none) or ``NOTICE``
-  Important message printed to stderr to attract user's attention.
-
-``STATUS``
-  The main interesting messages that project users might be interested in.
-  Ideally these should be concise, no more than a single line, but still
-  informative.
-
-``VERBOSE``
-  Detailed informational messages intended for project users.  These messages
-  should provide additional details that won't be of interest in most cases,
-  but which may be useful to those building the project when they want deeper
-  insight into what's happening.
-
-``DEBUG``
-  Detailed informational messages intended for developers working on the
-  project itself as opposed to users who just want to build it.  These messages
-  will not typically be of interest to other users building the project and
-  will often be closely related to internal implementation details.
-
-``TRACE``
-  Fine-grained messages with very low-level implementation details.  Messages
-  using this log level would normally only be temporary and would expect to be
-  removed before releasing the project, packaging up the files, etc.
-
-The CMake command-line tool displays ``STATUS`` to ``TRACE`` messages on stdout
-with the message preceded by two hyphens and a space.  All other message types
-are sent to stderr and are not prefixed with hyphens.  The
-:manual:`CMake GUI <cmake-gui(1)>` displays all messages in its log area.
-The :manual:`curses interface <ccmake(1)>` shows ``STATUS`` to ``TRACE``
-messages one at a time on a status line and other messages in an
-interactive pop-up box.  The ``--log-level`` command-line option to each of
-these tools can be used to control which messages will be shown.
-
-Messages of log levels ``NOTICE`` and below will also have each line preceded
-by the content of the :variable:`CMAKE_MESSAGE_INDENT` variable (converted to
-a single string by concatenating its list items).  For ``STATUS`` to ``TRACE``
-messages, this indenting content will be inserted after the hyphens.
-
-CMake Warning and Error message text displays using a simple markup
-language.  Non-indented text is formatted in line-wrapped paragraphs
-delimited by newlines.  Indented text is considered pre-formatted.
diff --git a/share/cmake-3.16/Help/cpack_gen/packagemaker.rst b/share/cmake-3.16/Help/cpack_gen/packagemaker.rst
deleted file mode 100644
index e9464b7..0000000
--- a/share/cmake-3.16/Help/cpack_gen/packagemaker.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-CPack PackageMaker Generator
-----------------------------
-
-PackageMaker CPack generator (macOS).
-
-Variables specific to CPack PackageMaker generator
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following variable is specific to installers built on Mac
-macOS using PackageMaker:
-
-.. variable:: CPACK_OSX_PACKAGE_VERSION
-
- The version of macOS that the resulting PackageMaker archive should be
- compatible with. Different versions of macOS support different
- features. For example, CPack can only build component-based installers for
- macOS 10.4 or newer, and can only build installers that download
- component son-the-fly for macOS 10.5 or newer. If left blank, this value
- will be set to the minimum version of macOS that supports the requested
- features. Set this variable to some value (e.g., 10.4) only if you want to
- guarantee that your installer will work on that version of macOS, and
- don't mind missing extra features available in the installer shipping with
- later versions of macOS.
diff --git a/share/cmake-3.16/Help/cpack_gen/productbuild.rst b/share/cmake-3.16/Help/cpack_gen/productbuild.rst
deleted file mode 100644
index d22fcd4..0000000
--- a/share/cmake-3.16/Help/cpack_gen/productbuild.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-CPack productbuild Generator
-----------------------------
-
-productbuild CPack generator (macOS).
-
-Variables specific to CPack productbuild generator
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following variable is specific to installers built on Mac
-macOS using ProductBuild:
-
-.. variable:: CPACK_COMMAND_PRODUCTBUILD
-
- Path to the ``productbuild(1)`` command used to generate a product archive for
- the macOS Installer or Mac App Store.  This variable can be used to override
- the automatically detected command (or specify its location if the
- auto-detection fails to find it).
-
-.. variable:: CPACK_PRODUCTBUILD_IDENTITY_NAME
-
- Adds a digital signature to the resulting package.
-
-
-.. variable:: CPACK_PRODUCTBUILD_KEYCHAIN_PATH
-
- Specify a specific keychain to search for the signing identity.
-
-
-.. variable:: CPACK_COMMAND_PKGBUILD
-
- Path to the ``pkgbuild(1)`` command used to generate an macOS component package
- on macOS.  This variable can be used to override the automatically detected
- command (or specify its location if the auto-detection fails to find it).
-
-
-.. variable:: CPACK_PKGBUILD_IDENTITY_NAME
-
- Adds a digital signature to the resulting package.
-
-
-.. variable:: CPACK_PKGBUILD_KEYCHAIN_PATH
-
- Specify a specific keychain to search for the signing identity.
-
-
-.. variable:: CPACK_PREFLIGHT_<COMP>_SCRIPT
-
- Full path to a file that will be used as the ``preinstall`` script for the
- named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
- component name.  No ``preinstall`` script is added if this variable is not
- defined for a given component.
-
-
-.. variable:: CPACK_POSTFLIGHT_<COMP>_SCRIPT
-
- Full path to a file that will be used as the ``postinstall`` script for the
- named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
- component name.  No ``postinstall`` script is added if this variable is not
- defined for a given component.
-
-
-.. variable:: CPACK_PRODUCTBUILD_RESOURCES_DIR
-
- If specified the productbuild generator copies files from this directory
- (including subdirectories) to the ``Resources`` directory. This is done
- before the :variable:`CPACK_RESOURCE_FILE_WELCOME`,
- :variable:`CPACK_RESOURCE_FILE_README`, and
- :variable:`CPACK_RESOURCE_FILE_LICENSE` files are copied.
diff --git a/share/cmake-3.16/Help/index.rst b/share/cmake-3.16/Help/index.rst
deleted file mode 100644
index cc6cee6..0000000
--- a/share/cmake-3.16/Help/index.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-.. title:: CMake Reference Documentation
-
-Command-Line Tools
-##################
-
-.. toctree::
-   :maxdepth: 1
-
-   /manual/cmake.1
-   /manual/ctest.1
-   /manual/cpack.1
-
-Interactive Dialogs
-###################
-
-.. toctree::
-   :maxdepth: 1
-
-   /manual/cmake-gui.1
-   /manual/ccmake.1
-
-Reference Manuals
-#################
-
-.. toctree::
-   :maxdepth: 1
-
-   /manual/cmake-buildsystem.7
-   /manual/cmake-commands.7
-   /manual/cmake-compile-features.7
-   /manual/cmake-developer.7
-   /manual/cmake-env-variables.7
-   /manual/cmake-file-api.7
-   /manual/cmake-generator-expressions.7
-   /manual/cmake-generators.7
-   /manual/cmake-language.7
-   /manual/cmake-modules.7
-   /manual/cmake-packages.7
-   /manual/cmake-policies.7
-   /manual/cmake-properties.7
-   /manual/cmake-qt.7
-   /manual/cmake-server.7
-   /manual/cmake-toolchains.7
-   /manual/cmake-variables.7
-   /manual/cpack-generators.7
-
-.. only:: not man
-
- Guides
- ######
-
- .. toctree::
-    :maxdepth: 1
-
-    /guide/tutorial/index
-
-.. only:: html or text
-
- Release Notes
- #############
-
- .. toctree::
-    :maxdepth: 1
-
-    /release/index
-
-.. only:: html
-
- Index and Search
- ################
-
- * :ref:`genindex`
- * :ref:`search`
diff --git a/share/cmake-3.16/Help/prop_sf/GENERATED.rst b/share/cmake-3.16/Help/prop_sf/GENERATED.rst
deleted file mode 100644
index d430ee2..0000000
--- a/share/cmake-3.16/Help/prop_sf/GENERATED.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-GENERATED
----------
-
-Is this source file generated as part of the build or CMake process.
-
-Tells the internal CMake engine that a source file is generated by an outside
-process such as another build step, or the execution of CMake itself. This
-information is then used to exempt the file from any existence or validity
-checks. Generated files are created by the execution of commands such as
-:command:`add_custom_command` and :command:`file(GENERATE)`.
-
-When a generated file created by an :command:`add_custom_command` command
-is explicitly listed as a source file for any target in the same
-directory scope (which usually means the same ``CMakeLists.txt`` file),
-CMake will automatically create a dependency to make sure the file is
-generated before building that target.
-
-Generated sources may be hidden in some IDE tools, while in others they might
-be shown. For the special case of sources generated by CMake's :prop_tgt:`AUTOMOC`
-or :prop_tgt:`AUTORCC` functionality, the :prop_gbl:`AUTOGEN_SOURCE_GROUP`,
-:prop_gbl:`AUTOMOC_SOURCE_GROUP` and :prop_gbl:`AUTORCC_SOURCE_GROUP` target
-properties may influence where the generated sources are grouped in the project's
-file lists.
diff --git a/share/cmake-3.16/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst b/share/cmake-3.16/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst
deleted file mode 100644
index c100326..0000000
--- a/share/cmake-3.16/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-DOTNET_TARGET_FRAMEWORK_VERSION
--------------------------------
-
-Specify the .NET target framework version.
-
-Used to specify the .NET target framework version for C++/CLI.  For
-example: ``v4.5``.
-
-This property is only evaluated for :ref:`Visual Studio Generators`
-VS 2010 and above.
-
-Can be initialized for all targets using the variable
-:variable:`CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION`.
diff --git a/share/cmake-3.16/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst b/share/cmake-3.16/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
deleted file mode 100644
index d8be954..0000000
--- a/share/cmake-3.16/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-INSTALL_RPATH_USE_LINK_PATH
----------------------------
-
-Add paths to linker search and installed rpath.
-
-``INSTALL_RPATH_USE_LINK_PATH`` is a boolean that if set to ``True`` will
-append directories in the linker search path and outside the project
-to the :prop_tgt:`INSTALL_RPATH`.  This property is initialized by the value of
-the variable ``CMAKE_INSTALL_RPATH_USE_LINK_PATH`` if it is set when a
-target is created.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst b/share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
deleted file mode 100644
index ba8a850..0000000
--- a/share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-CMAKE_HOST_SYSTEM_PROCESSOR
----------------------------
-
-The name of the CPU CMake is running on.
-
-On systems that support ``uname``, this variable is set to the output of
-``uname -p``.  On Windows it is set to the value of the environment variable
-``PROCESSOR_ARCHITECTURE``.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst b/share/cmake-3.16/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
deleted file mode 100644
index 78148d5..0000000
--- a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-CMAKE_INSTALL_RPATH_USE_LINK_PATH
----------------------------------
-
-Add paths to linker search and installed rpath.
-
-``CMAKE_INSTALL_RPATH_USE_LINK_PATH`` is a boolean that if set to ``true``
-will append directories in the linker search path and outside the
-project to the :prop_tgt:`INSTALL_RPATH`.  This is used to initialize the
-target property :prop_tgt:`INSTALL_RPATH_USE_LINK_PATH` for all targets.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_WINRT_BY_DEFAULT.rst b/share/cmake-3.16/Help/variable/CMAKE_VS_WINRT_BY_DEFAULT.rst
deleted file mode 100644
index 2ba8fe2..0000000
--- a/share/cmake-3.16/Help/variable/CMAKE_VS_WINRT_BY_DEFAULT.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-CMAKE_VS_WINRT_BY_DEFAULT
--------------------------
-
-Tell :ref:`Visual Studio Generators` for VS 2010 and above that the
-target platform compiles as WinRT by default (compiles with ``/ZW``).
-
-This variable is meant to be set by a
-:variable:`toolchain file <CMAKE_TOOLCHAIN_FILE>` for such platforms.
diff --git a/share/cmake-3.16/Help/variable/CTEST_CONFIGURATION_TYPE.rst b/share/cmake-3.16/Help/variable/CTEST_CONFIGURATION_TYPE.rst
deleted file mode 100644
index c905480..0000000
--- a/share/cmake-3.16/Help/variable/CTEST_CONFIGURATION_TYPE.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-CTEST_CONFIGURATION_TYPE
-------------------------
-
-Specify the CTest ``DefaultCTestConfigurationType`` setting
-in a :manual:`ctest(1)` dashboard client script.
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCompileFeatures.cmake b/share/cmake-3.16/Modules/CMakeDetermineCompileFeatures.cmake
deleted file mode 100644
index 01a81a1..0000000
--- a/share/cmake-3.16/Modules/CMakeDetermineCompileFeatures.cmake
+++ /dev/null
@@ -1,96 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-
-function(cmake_determine_compile_features lang)
-
-  if(lang STREQUAL C AND COMMAND cmake_record_c_compile_features)
-    message(STATUS "Detecting ${lang} compile features")
-
-    set(CMAKE_C90_COMPILE_FEATURES)
-    set(CMAKE_C99_COMPILE_FEATURES)
-    set(CMAKE_C11_COMPILE_FEATURES)
-
-    include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake")
-
-    cmake_record_c_compile_features()
-
-    if(NOT _result EQUAL 0)
-      message(STATUS "Detecting ${lang} compile features - failed")
-      return()
-    endif()
-
-    if (CMAKE_C99_COMPILE_FEATURES AND CMAKE_C11_COMPILE_FEATURES)
-      list(REMOVE_ITEM CMAKE_C11_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES})
-    endif()
-    if (CMAKE_C90_COMPILE_FEATURES AND CMAKE_C99_COMPILE_FEATURES)
-      list(REMOVE_ITEM CMAKE_C99_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES})
-    endif()
-
-    if(NOT CMAKE_C_COMPILE_FEATURES)
-      set(CMAKE_C_COMPILE_FEATURES
-        ${CMAKE_C90_COMPILE_FEATURES}
-        ${CMAKE_C99_COMPILE_FEATURES}
-        ${CMAKE_C11_COMPILE_FEATURES}
-      )
-    endif()
-
-    set(CMAKE_C_COMPILE_FEATURES ${CMAKE_C_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_C90_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_C99_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_C11_COMPILE_FEATURES ${CMAKE_C11_COMPILE_FEATURES} PARENT_SCOPE)
-
-    message(STATUS "Detecting ${lang} compile features - done")
-
-  elseif(lang STREQUAL CXX AND COMMAND cmake_record_cxx_compile_features)
-    message(STATUS "Detecting ${lang} compile features")
-
-    set(CMAKE_CXX98_COMPILE_FEATURES)
-    set(CMAKE_CXX11_COMPILE_FEATURES)
-    set(CMAKE_CXX14_COMPILE_FEATURES)
-    set(CMAKE_CXX17_COMPILE_FEATURES)
-    set(CMAKE_CXX20_COMPILE_FEATURES)
-
-    include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake")
-
-    cmake_record_cxx_compile_features()
-
-    if(NOT _result EQUAL 0)
-      message(STATUS "Detecting ${lang} compile features - failed")
-      return()
-    endif()
-
-    if (CMAKE_CXX17_COMPILE_FEATURES AND CMAKE_CXX20_COMPILE_FEATURES)
-      list(REMOVE_ITEM CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES})
-    endif()
-    if (CMAKE_CXX14_COMPILE_FEATURES AND CMAKE_CXX17_COMPILE_FEATURES)
-      list(REMOVE_ITEM CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES})
-    endif()
-    if (CMAKE_CXX11_COMPILE_FEATURES AND CMAKE_CXX14_COMPILE_FEATURES)
-      list(REMOVE_ITEM CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES})
-    endif()
-    if (CMAKE_CXX98_COMPILE_FEATURES AND CMAKE_CXX11_COMPILE_FEATURES)
-      list(REMOVE_ITEM CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES})
-    endif()
-
-    if(NOT CMAKE_CXX_COMPILE_FEATURES)
-      set(CMAKE_CXX_COMPILE_FEATURES
-        ${CMAKE_CXX98_COMPILE_FEATURES}
-        ${CMAKE_CXX11_COMPILE_FEATURES}
-        ${CMAKE_CXX14_COMPILE_FEATURES}
-        ${CMAKE_CXX17_COMPILE_FEATURES}
-        ${CMAKE_CXX20_COMPILE_FEATURES}
-      )
-    endif()
-
-    set(CMAKE_CXX_COMPILE_FEATURES ${CMAKE_CXX_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_CXX98_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES} PARENT_SCOPE)
-    set(CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX20_COMPILE_FEATURES} PARENT_SCOPE)
-
-    message(STATUS "Detecting ${lang} compile features - done")
-  endif()
-
-endfunction()
diff --git a/share/cmake-3.16/Modules/CMakeGraphVizOptions.cmake b/share/cmake-3.16/Modules/CMakeGraphVizOptions.cmake
deleted file mode 100644
index 1911e73..0000000
--- a/share/cmake-3.16/Modules/CMakeGraphVizOptions.cmake
+++ /dev/null
@@ -1,123 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-CMakeGraphVizOptions
---------------------
-
-The builtin graphviz support of CMake.
-
-Variables specific to the graphviz support
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-CMake
-can generate `graphviz <http://www.graphviz.org/>`_ files, showing the dependencies between the
-targets in a project and also external libraries which are linked
-against.  When CMake is run with the ``--graphviz=foo.dot`` option, it will
-produce:
-
-* a ``foo.dot`` file showing all dependencies in the project
-* a ``foo.dot.<target>`` file for each target, file showing on which other targets the respective target depends
-* a ``foo.dot.<target>.dependers`` file, showing which other targets depend on the respective target
-
-The different dependency types ``PUBLIC``, ``PRIVATE`` and ``INTERFACE``
-are represented as solid, dashed and dotted edges.
-
-This can result in huge graphs.  Using the file
-``CMakeGraphVizOptions.cmake`` the look and content of the generated
-graphs can be influenced.  This file is searched first in
-:variable:`CMAKE_BINARY_DIR` and then in :variable:`CMAKE_SOURCE_DIR`.  If found, it is
-read and the variables set in it are used to adjust options for the
-generated graphviz files.
-
-.. variable:: GRAPHVIZ_GRAPH_TYPE
-
- The graph type.
-
- * Mandatory : NO
- * Default   : "digraph"
-
- Valid graph types are:
-
- * "graph" : Nodes are joined with lines
- * "digraph" : Nodes are joined with arrows showing direction
- * "strict graph" : Like "graph" but max one line between each node
- * "strict digraph" : Like "graph" but max one line between each node in each direction
-
-.. variable:: GRAPHVIZ_GRAPH_NAME
-
- The graph name.
-
- * Mandatory : NO
- * Default   : "GG"
-
-.. variable:: GRAPHVIZ_GRAPH_HEADER
-
- The header written at the top of the graphviz file.
-
- * Mandatory : NO
- * Default   : "node [n  fontsize = "12"];"
-
-.. variable:: GRAPHVIZ_NODE_PREFIX
-
- The prefix for each node in the graphviz file.
-
- * Mandatory : NO
- * Default   : "node"
-
-.. variable:: GRAPHVIZ_EXECUTABLES
-
- Set this to FALSE to exclude executables from the generated graphs.
-
- * Mandatory : NO
- * Default   : TRUE
-
-.. variable:: GRAPHVIZ_STATIC_LIBS
-
- Set this to FALSE to exclude static libraries from the generated graphs.
-
- * Mandatory : NO
- * Default   : TRUE
-
-.. variable:: GRAPHVIZ_SHARED_LIBS
-
- Set this to FALSE to exclude shared libraries from the generated graphs.
-
- * Mandatory : NO
- * Default   : TRUE
-
-.. variable:: GRAPHVIZ_MODULE_LIBS
-
- Set this to FALSE to exclude module libraries from the generated graphs.
-
- * Mandatory : NO
- * Default   : TRUE
-
-.. variable:: GRAPHVIZ_EXTERNAL_LIBS
-
- Set this to FALSE to exclude external libraries from the generated graphs.
-
- * Mandatory : NO
- * Default   : TRUE
-
-.. variable:: GRAPHVIZ_IGNORE_TARGETS
-
- A list of regular expressions for ignoring targets.
-
- * Mandatory : NO
- * Default   : empty
-
-.. variable:: GRAPHVIZ_GENERATE_PER_TARGET
-
- Set this to FALSE to exclude per target graphs ``foo.dot.<target>``.
-
- * Mandatory : NO
- * Default   : TRUE
-
-.. variable:: GRAPHVIZ_GENERATE_DEPENDERS
-
- Set this to FALSE to exclude depender graphs ``foo.dot.<target>.dependers``.
-
- * Mandatory : NO
- * Default   : TRUE
-#]=======================================================================]
diff --git a/share/cmake-3.16/Modules/CMakeMinGWFindMake.cmake b/share/cmake-3.16/Modules/CMakeMinGWFindMake.cmake
deleted file mode 100644
index 523f00c..0000000
--- a/share/cmake-3.16/Modules/CMakeMinGWFindMake.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.
-
-
-find_program(CMAKE_MAKE_PROGRAM mingw32-make.exe PATHS
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
-  c:/MinGW/bin /MinGW/bin
-  "[HKEY_CURRENT_USER\\Software\\CodeBlocks;Path]/MinGW/bin"
-  )
-find_program(CMAKE_SH sh.exe )
-if(CMAKE_SH)
-  message(FATAL_ERROR "sh.exe was found in your PATH, here:\n${CMAKE_SH}\nFor MinGW make to work correctly sh.exe must NOT be in your path.\nRun cmake from a shell that does not have sh.exe in your PATH.\nIf you want to use a UNIX shell, then use MSYS Makefiles.\n")
-  set(CMAKE_MAKE_PROGRAM NOTFOUND)
-endif()
-
-mark_as_advanced(CMAKE_MAKE_PROGRAM CMAKE_SH)
diff --git a/share/cmake-3.16/Modules/Compiler/NVIDIA-CUDA.cmake b/share/cmake-3.16/Modules/Compiler/NVIDIA-CUDA.cmake
deleted file mode 100644
index b59deda..0000000
--- a/share/cmake-3.16/Modules/Compiler/NVIDIA-CUDA.cmake
+++ /dev/null
@@ -1,48 +0,0 @@
-set(CMAKE_CUDA_COMPILER_HAS_DEVICE_LINK_PHASE True)
-set(CMAKE_CUDA_VERBOSE_FLAG "-v")
-set(CMAKE_CUDA_VERBOSE_COMPILE_FLAG "-Xcompiler=-v")
-
-if(NOT "x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
-  set(CMAKE_CUDA_COMPILE_OPTIONS_PIE -Xcompiler=-fPIE)
-  set(CMAKE_CUDA_COMPILE_OPTIONS_PIC -Xcompiler=-fPIC)
-  set(CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY -Xcompiler=-fvisibility=)
-  # CMAKE_SHARED_LIBRARY_CUDA_FLAGS is sent to the host linker so we
-  # don't need to forward it through nvcc.
-  set(CMAKE_SHARED_LIBRARY_CUDA_FLAGS -fPIC)
-  string(APPEND CMAKE_CUDA_FLAGS_INIT " ")
-  string(APPEND CMAKE_CUDA_FLAGS_DEBUG_INIT " -g")
-  string(APPEND CMAKE_CUDA_FLAGS_RELEASE_INIT " -O3 -DNDEBUG")
-  string(APPEND CMAKE_CUDA_FLAGS_MINSIZEREL_INIT " -O1 -DNDEBUG")
-  string(APPEND CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")
-endif()
-set(CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS -shared)
-set(CMAKE_INCLUDE_SYSTEM_FLAG_CUDA -isystem=)
-
-if("x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
-  set(CMAKE_CUDA_STANDARD_DEFAULT "")
-else()
-  set(CMAKE_CUDA_STANDARD_DEFAULT 98)
-  set(CMAKE_CUDA98_STANDARD_COMPILE_OPTION "")
-  set(CMAKE_CUDA98_EXTENSION_COMPILE_OPTION "")
-  set(CMAKE_CUDA11_STANDARD_COMPILE_OPTION "-std=c++11")
-  set(CMAKE_CUDA11_EXTENSION_COMPILE_OPTION "-std=c++11")
-
-  if (NOT CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 9.0)
-    set(CMAKE_CUDA98_STANDARD_COMPILE_OPTION "-std=c++03")
-    set(CMAKE_CUDA98_EXTENSION_COMPILE_OPTION "-std=c++03")
-    set(CMAKE_CUDA14_STANDARD_COMPILE_OPTION "-std=c++14")
-    set(CMAKE_CUDA14_EXTENSION_COMPILE_OPTION "-std=c++14")
-  endif()
-
-endif()
-
-# FIXME: investigate use of --options-file.
-# Tell Makefile generator that nvcc does not support @<rspfile> syntax.
-set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES 0)
-set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
-set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_OBJECTS 0)
-
-if (CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "9.0")
-  set(CMAKE_CUDA_RESPONSE_FILE_LINK_FLAG "--options-file ")
-  set(CMAKE_CUDA_RESPONSE_FILE_FLAG "--options-file ")
-endif()
diff --git a/share/cmake-3.16/Modules/FindBLAS.cmake b/share/cmake-3.16/Modules/FindBLAS.cmake
deleted file mode 100644
index d3acafc..0000000
--- a/share/cmake-3.16/Modules/FindBLAS.cmake
+++ /dev/null
@@ -1,820 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindBLAS
---------
-
-Find Basic Linear Algebra Subprograms (BLAS) library
-
-This module finds an installed Fortran library that implements the
-BLAS linear-algebra interface (see http://www.netlib.org/blas/).  The
-list of libraries searched for is taken from the ``autoconf`` macro file,
-``acx_blas.m4`` (distributed at
-http://ac-archive.sourceforge.net/ac-archive/acx_blas.html).
-
-Input Variables
-^^^^^^^^^^^^^^^
-
-The following variables may be set to influence this module's behavior:
-
-``BLA_STATIC``
-  if ``ON`` use static linkage
-
-``BLA_VENDOR``
-  If set, checks only the specified vendor, if not set checks all the
-  possibilities.  List of vendors valid in this module:
-
-  * Goto
-  * OpenBLAS
-  * FLAME
-  * ATLAS PhiPACK
-  * CXML
-  * DXML
-  * SunPerf
-  * SCSL
-  * SGIMATH
-  * IBMESSL
-  * Intel10_32 (intel mkl v10 32 bit)
-  * Intel10_64lp (intel mkl v10+ 64 bit, threaded code, lp64 model)
-  * Intel10_64lp_seq (intel mkl v10+ 64 bit, sequential code, lp64 model)
-  * Intel10_64ilp (intel mkl v10+ 64 bit, threaded code, ilp64 model)
-  * Intel10_64ilp_seq (intel mkl v10+ 64 bit, sequential code, ilp64 model)
-  * Intel (obsolete versions of mkl 32 and 64 bit)
-  * ACML
-  * ACML_MP
-  * ACML_GPU
-  * Apple
-  * NAS
-  * Generic
-
-``BLA_F95``
-  if ``ON`` tries to find the BLAS95 interfaces
-
-``BLA_PREFER_PKGCONFIG``
-  if set ``pkg-config`` will be used to search for a BLAS library first
-  and if one is found that is preferred
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-This module defines the following variables:
-
-``BLAS_FOUND``
-  library implementing the BLAS interface is found
-``BLAS_LINKER_FLAGS``
-  uncached list of required linker flags (excluding ``-l`` and ``-L``).
-``BLAS_LIBRARIES``
-  uncached list of libraries (using full path name) to link against
-  to use BLAS (may be empty if compiler implicitly links BLAS)
-``BLAS95_LIBRARIES``
-  uncached list of libraries (using full path name) to link against
-  to use BLAS95 interface
-``BLAS95_FOUND``
-  library implementing the BLAS95 interface is found
-
-.. note::
-
-  C or CXX must be enabled to use Intel Math Kernel Library (MKL)
-
-  For example, to use Intel MKL libraries and/or Intel compiler:
-
-  .. code-block:: cmake
-
-    set(BLA_VENDOR Intel10_64lp)
-    find_package(BLAS)
-
-Hints
-^^^^^
-
-Set ``MKLROOT`` environment variable to a directory that contains an MKL
-installation.
-
-#]=======================================================================]
-
-include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-cmake_push_check_state()
-set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY})
-
-set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-
-# Check the language being used
-if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) )
-  if(BLAS_FIND_REQUIRED)
-    message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.")
-  else()
-    message(STATUS "Looking for BLAS... - NOT found (Unsupported languages)")
-    return()
-  endif()
-endif()
-
-if(BLA_PREFER_PKGCONFIG)
-  find_package(PkgConfig)
-  pkg_check_modules(PKGC_BLAS blas)
-  if(PKGC_BLAS_FOUND)
-    set(BLAS_FOUND ${PKGC_BLAS_FOUND})
-    set(BLAS_LIBRARIES "${PKGC_BLAS_LINK_LIBRARIES}")
-    return()
-  endif()
-endif()
-
-macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _thread)
-  # This macro checks for the existence of the combination of fortran libraries
-  # given by _list.  If the combination is found, this macro checks (using the
-  # Check_Fortran_Function_Exists macro) whether can link against that library
-  # combination using the name of a routine given by _name using the linker
-  # flags given by _flags.  If the combination of libraries is found and passes
-  # the link test, LIBRARIES is set to the list of complete library paths that
-  # have been found.  Otherwise, LIBRARIES is set to FALSE.
-
-  # N.B. _prefix is the prefix applied to the names of all cached variables that
-  # are generated internally and marked advanced by this macro.
-
-  set(_libdir ${ARGN})
-
-  set(_libraries_work TRUE)
-  set(${LIBRARIES})
-  set(_combined_name)
-  if (NOT _libdir)
-    if (WIN32)
-      set(_libdir ENV LIB)
-    elseif (APPLE)
-      set(_libdir ENV DYLD_LIBRARY_PATH)
-    else ()
-      set(_libdir ENV LD_LIBRARY_PATH)
-    endif ()
-  endif ()
-
-  list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}")
-
-  foreach(_library ${_list})
-    set(_combined_name ${_combined_name}_${_library})
-    if(NOT "${_thread}" STREQUAL "")
-      set(_combined_name ${_combined_name}_thread)
-    endif()
-    if(_libraries_work)
-      if (BLA_STATIC)
-        if (WIN32)
-          set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
-        endif ()
-        if (APPLE)
-          set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
-        else ()
-          set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-        endif ()
-      else ()
-        if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
-          # for ubuntu's libblas3gf and liblapack3gf packages
-          set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
-        endif ()
-      endif ()
-      find_library(${_prefix}_${_library}_LIBRARY
-        NAMES ${_library}
-        PATHS ${_libdir}
-        )
-      mark_as_advanced(${_prefix}_${_library}_LIBRARY)
-      set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
-      set(_libraries_work ${${_prefix}_${_library}_LIBRARY})
-    endif()
-  endforeach()
-  if(_libraries_work)
-    # Test this combination of libraries.
-    set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_thread})
-    #  message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
-    if (CMAKE_Fortran_COMPILER_LOADED)
-      check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS)
-    else()
-      check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS)
-    endif()
-    set(CMAKE_REQUIRED_LIBRARIES)
-    set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
-  endif()
-  if(_libraries_work)
-    if("${_list}" STREQUAL "")
-      set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
-    else()
-      set(${LIBRARIES} ${${LIBRARIES}} ${_thread})  # for static link
-    endif()
-  else()
-    set(${LIBRARIES} FALSE)
-  endif()
-  #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
-endmacro()
-
-set(BLAS_LINKER_FLAGS)
-set(BLAS_LIBRARIES)
-set(BLAS95_LIBRARIES)
-if (NOT $ENV{BLA_VENDOR} STREQUAL "")
-  set(BLA_VENDOR $ENV{BLA_VENDOR})
-else ()
-  if(NOT BLA_VENDOR)
-    set(BLA_VENDOR "All")
-  endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    # Implicitly linked BLAS libraries
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      ""
-      ""
-      )
-  endif()
-endif ()
-
-#BLAS in intel mkl 10+ library? (em64t 64bit)
-if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
-  if (NOT BLAS_LIBRARIES)
-
-    # System-specific settings
-    if (WIN32)
-      if (BLA_STATIC)
-        set(BLAS_mkl_DLL_SUFFIX "")
-      else()
-        set(BLAS_mkl_DLL_SUFFIX "_dll")
-      endif()
-    else()
-      # Switch to GNU Fortran support layer if needed (but not on Apple, where MKL does not provide it)
-      if(CMAKE_Fortran_COMPILER_LOADED AND CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT APPLE)
-          set(BLAS_mkl_INTFACE "gf")
-          set(BLAS_mkl_THREADING "gnu")
-          set(BLAS_mkl_OMP "gomp")
-      else()
-          set(BLAS_mkl_INTFACE "intel")
-          set(BLAS_mkl_THREADING "intel")
-          set(BLAS_mkl_OMP "iomp5")
-      endif()
-      set(BLAS_mkl_LM "-lm")
-      set(BLAS_mkl_LDL "-ldl")
-    endif()
-
-    if (BLA_VENDOR MATCHES "_64ilp")
-      set(BLAS_mkl_ILP_MODE "ilp64")
-    else ()
-      set(BLAS_mkl_ILP_MODE "lp64")
-    endif ()
-
-    if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED)
-      if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
-        find_package(Threads)
-      else()
-        find_package(Threads REQUIRED)
-      endif()
-
-      set(BLAS_SEARCH_LIBS "")
-
-      if(BLA_F95)
-        set(BLAS_mkl_SEARCH_SYMBOL sgemm_f95)
-        set(_LIBRARIES BLAS95_LIBRARIES)
-        if (WIN32)
-          # Find the main file (32-bit or 64-bit)
-          set(BLAS_SEARCH_LIBS_WIN_MAIN "")
-          if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
-              "mkl_blas95${BLAS_mkl_DLL_SUFFIX} mkl_intel_c${BLAS_mkl_DLL_SUFFIX}")
-          endif()
-          if (BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
-              "mkl_blas95_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX} mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}")
-          endif ()
-
-          # Add threading/sequential libs
-          set(BLAS_SEARCH_LIBS_WIN_THREAD "")
-          if (BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
-              "mkl_sequential${BLAS_mkl_DLL_SUFFIX}")
-          endif()
-          if (NOT BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All")
-            # old version
-            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
-              "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
-            # mkl >= 10.3
-            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
-              "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
-          endif()
-
-          # Cartesian product of the above
-          foreach (MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN})
-            foreach (THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD})
-              list(APPEND BLAS_SEARCH_LIBS
-                "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}")
-            endforeach()
-          endforeach()
-        else ()
-          if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
-            # old version
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
-
-            # mkl >= 10.3
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}")
-          endif ()
-          if (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
-            # old version
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_blas95 mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
-
-            # mkl >= 10.3
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}")
-          endif ()
-          if (BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core")
-          endif ()
-        endif ()
-      else ()
-        set(BLAS_mkl_SEARCH_SYMBOL sgemm)
-        set(_LIBRARIES BLAS_LIBRARIES)
-        if (WIN32)
-          # Find the main file (32-bit or 64-bit)
-          set(BLAS_SEARCH_LIBS_WIN_MAIN "")
-          if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
-              "mkl_intel_c${BLAS_mkl_DLL_SUFFIX}")
-          endif()
-          if (BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
-              "mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}")
-          endif ()
-
-          # Add threading/sequential libs
-          set(BLAS_SEARCH_LIBS_WIN_THREAD "")
-          if (NOT BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All")
-            # old version
-            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
-              "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
-            # mkl >= 10.3
-            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
-              "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
-          endif()
-          if (BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
-              "mkl_sequential${BLAS_mkl_DLL_SUFFIX}")
-          endif()
-
-          # Cartesian product of the above
-          foreach (MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN})
-            foreach (THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD})
-              list(APPEND BLAS_SEARCH_LIBS
-                "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}")
-            endforeach()
-          endforeach()
-        else ()
-          if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
-            # old version
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
-
-            # mkl >= 10.3
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}")
-          endif ()
-          if (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
-            # old version
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
-
-            # mkl >= 10.3
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}")
-          endif ()
-          if (BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core")
-          endif ()
-
-          #older vesions of intel mkl libs
-          if (BLA_VENDOR STREQUAL "Intel" OR BLA_VENDOR STREQUAL "All")
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl")
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_ia32")
-            list(APPEND BLAS_SEARCH_LIBS
-              "mkl_em64t")
-          endif ()
-        endif ()
-      endif ()
-
-      if (DEFINED ENV{MKLROOT})
-        if (BLA_VENDOR STREQUAL "Intel10_32")
-          set(_BLAS_MKLROOT_LIB_DIR "$ENV{MKLROOT}/lib/ia32")
-        elseif (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$")
-          set(_BLAS_MKLROOT_LIB_DIR "$ENV{MKLROOT}/lib/intel64")
-        endif ()
-      endif ()
-      if (_BLAS_MKLROOT_LIB_DIR)
-        if (WIN32)
-          string(APPEND _BLAS_MKLROOT_LIB_DIR "_win")
-        elseif (APPLE)
-          string(APPEND _BLAS_MKLROOT_LIB_DIR "_mac")
-        else ()
-          string(APPEND _BLAS_MKLROOT_LIB_DIR "_lin")
-        endif ()
-      endif ()
-
-      foreach (IT ${BLAS_SEARCH_LIBS})
-        string(REPLACE " " ";" SEARCH_LIBS ${IT})
-        if (NOT ${_LIBRARIES})
-          check_fortran_libraries(
-            ${_LIBRARIES}
-            BLAS
-            ${BLAS_mkl_SEARCH_SYMBOL}
-            ""
-            "${SEARCH_LIBS}"
-            "${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}"
-            "${_BLAS_MKLROOT_LIB_DIR}"
-            )
-        endif ()
-      endforeach ()
-
-    endif ()
-    unset(BLAS_mkl_ILP_MODE)
-    unset(BLAS_mkl_INTFACE)
-    unset(BLAS_mkl_THREADING)
-    unset(BLAS_mkl_OMP)
-    unset(BLAS_mkl_DLL_SUFFIX)
-    unset(BLAS_mkl_LM)
-    unset(BLAS_mkl_LDL)
-  endif ()
-endif ()
-
-if(BLA_F95)
-  find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS95_LIBRARIES)
-  set(BLAS95_FOUND ${BLAS_FOUND})
-  if(BLAS_FOUND)
-    set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
-  endif()
-endif()
-
-if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    # gotoblas (http://www.tacc.utexas.edu/tacc-projects/gotoblas2)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "goto2"
-      ""
-      )
-  endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    # OpenBLAS (http://www.openblas.net)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "openblas"
-      ""
-      )
-  endif()
-  if(NOT BLAS_LIBRARIES AND (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED))
-    if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
-      find_package(Threads)
-    else()
-      find_package(Threads REQUIRED)
-    endif()
-    # OpenBLAS (http://www.openblas.net)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "openblas"
-      "${CMAKE_THREAD_LIBS_INIT}"
-      )
-  endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    # FLAME's blis library (https://github.com/flame/blis)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "blis"
-      ""
-      )
-  endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    # BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      dgemm
-      ""
-      "f77blas;atlas"
-      ""
-      )
-  endif()
-endif ()
-
-# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
-if (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "sgemm;dgemm;blas"
-      ""
-      )
-  endif()
-endif ()
-
-# BLAS in Alpha CXML library?
-if (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "cxml"
-      ""
-      )
-  endif()
-endif ()
-
-# BLAS in Alpha DXML library? (now called CXML, see above)
-if (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "dxml"
-      ""
-      )
-  endif()
-endif ()
-
-# BLAS in Sun Performance library?
-if (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      "-xlic_lib=sunperf"
-      "sunperf;sunmath"
-      ""
-      )
-    if(BLAS_LIBRARIES)
-      set(BLAS_LINKER_FLAGS "-xlic_lib=sunperf")
-    endif()
-  endif()
-endif ()
-
-# BLAS in SCSL library?  (SGI/Cray Scientific Library)
-if (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "scsl"
-      ""
-      )
-  endif()
-endif ()
-
-# BLAS in SGIMATH library?
-if (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "complib.sgimath"
-      ""
-      )
-  endif()
-endif ()
-
-# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
-if (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "essl;blas"
-      ""
-      )
-  endif()
-endif ()
-
-#BLAS in acml library?
-if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All")
-  if( ((BLA_VENDOR STREQUAL "ACML") AND (NOT BLAS_ACML_LIB_DIRS)) OR
-    ((BLA_VENDOR STREQUAL "ACML_MP") AND (NOT BLAS_ACML_MP_LIB_DIRS)) OR
-    ((BLA_VENDOR STREQUAL "ACML_GPU") AND (NOT BLAS_ACML_GPU_LIB_DIRS))
-    )
-  # try to find acml in "standard" paths
-  if( WIN32 )
-    file( GLOB _ACML_ROOT "C:/AMD/acml*/ACML-EULA.txt" )
-  else()
-    file( GLOB _ACML_ROOT "/opt/acml*/ACML-EULA.txt" )
-  endif()
-  if( WIN32 )
-    file( GLOB _ACML_GPU_ROOT "C:/AMD/acml*/GPGPUexamples" )
-  else()
-    file( GLOB _ACML_GPU_ROOT "/opt/acml*/GPGPUexamples" )
-  endif()
-  list(GET _ACML_ROOT 0 _ACML_ROOT)
-  list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT)
-  if( _ACML_ROOT )
-    get_filename_component( _ACML_ROOT ${_ACML_ROOT} PATH )
-    if( SIZEOF_INTEGER EQUAL 8 )
-      set( _ACML_PATH_SUFFIX "_int64" )
-    else()
-      set( _ACML_PATH_SUFFIX "" )
-    endif()
-    if( CMAKE_Fortran_COMPILER_ID STREQUAL "Intel" )
-      set( _ACML_COMPILER32 "ifort32" )
-      set( _ACML_COMPILER64 "ifort64" )
-    elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "SunPro" )
-      set( _ACML_COMPILER32 "sun32" )
-      set( _ACML_COMPILER64 "sun64" )
-    elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "PGI" )
-      set( _ACML_COMPILER32 "pgi32" )
-      if( WIN32 )
-        set( _ACML_COMPILER64 "win64" )
-      else()
-        set( _ACML_COMPILER64 "pgi64" )
-      endif()
-    elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "Open64" )
-      # 32 bit builds not supported on Open64 but for code simplicity
-      # We'll just use the same directory twice
-      set( _ACML_COMPILER32 "open64_64" )
-      set( _ACML_COMPILER64 "open64_64" )
-    elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
-      set( _ACML_COMPILER32 "nag32" )
-      set( _ACML_COMPILER64 "nag64" )
-    else()
-      set( _ACML_COMPILER32 "gfortran32" )
-      set( _ACML_COMPILER64 "gfortran64" )
-    endif()
-
-    if( BLA_VENDOR STREQUAL "ACML_MP" )
-      set(_ACML_MP_LIB_DIRS
-        "${_ACML_ROOT}/${_ACML_COMPILER32}_mp${_ACML_PATH_SUFFIX}/lib"
-        "${_ACML_ROOT}/${_ACML_COMPILER64}_mp${_ACML_PATH_SUFFIX}/lib" )
-    else()
-      set(_ACML_LIB_DIRS
-        "${_ACML_ROOT}/${_ACML_COMPILER32}${_ACML_PATH_SUFFIX}/lib"
-        "${_ACML_ROOT}/${_ACML_COMPILER64}${_ACML_PATH_SUFFIX}/lib" )
-    endif()
-  endif()
-elseif(BLAS_${BLA_VENDOR}_LIB_DIRS)
-  set(_${BLA_VENDOR}_LIB_DIRS ${BLAS_${BLA_VENDOR}_LIB_DIRS})
-endif()
-
-if( BLA_VENDOR STREQUAL "ACML_MP" )
-  foreach( BLAS_ACML_MP_LIB_DIRS ${_ACML_MP_LIB_DIRS})
-    check_fortran_libraries (
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      "" "acml_mp;acml_mv" "" ${BLAS_ACML_MP_LIB_DIRS}
-      )
-    if( BLAS_LIBRARIES )
-      break()
-    endif()
-  endforeach()
-elseif( BLA_VENDOR STREQUAL "ACML_GPU" )
-  foreach( BLAS_ACML_GPU_LIB_DIRS ${_ACML_GPU_LIB_DIRS})
-    check_fortran_libraries (
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      "" "acml;acml_mv;CALBLAS" "" ${BLAS_ACML_GPU_LIB_DIRS}
-      )
-    if( BLAS_LIBRARIES )
-      break()
-    endif()
-  endforeach()
-else()
-  foreach( BLAS_ACML_LIB_DIRS ${_ACML_LIB_DIRS} )
-    check_fortran_libraries (
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      "" "acml;acml_mv" "" ${BLAS_ACML_LIB_DIRS}
-      )
-    if( BLAS_LIBRARIES )
-      break()
-    endif()
-  endforeach()
-endif()
-
-# Either acml or acml_mp should be in LD_LIBRARY_PATH but not both
-if(NOT BLAS_LIBRARIES)
-  check_fortran_libraries(
-    BLAS_LIBRARIES
-    BLAS
-    sgemm
-    ""
-    "acml;acml_mv"
-    ""
-    )
-endif()
-if(NOT BLAS_LIBRARIES)
-  check_fortran_libraries(
-    BLAS_LIBRARIES
-    BLAS
-    sgemm
-    ""
-    "acml_mp;acml_mv"
-    ""
-    )
-endif()
-if(NOT BLAS_LIBRARIES)
-  check_fortran_libraries(
-    BLAS_LIBRARIES
-    BLAS
-    sgemm
-    ""
-    "acml;acml_mv;CALBLAS"
-    ""
-    )
-endif()
-endif () # ACML
-
-# Apple BLAS library?
-if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      dgemm
-      ""
-      "Accelerate"
-      ""
-      )
-  endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
-  if ( NOT BLAS_LIBRARIES )
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      dgemm
-      ""
-      "vecLib"
-      ""
-      )
-  endif ()
-endif ()
-
-# Generic BLAS library?
-if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      sgemm
-      ""
-      "blas"
-      ""
-      )
-  endif()
-endif ()
-
-if(NOT BLA_F95)
-  find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES)
-endif()
-
-# On compilers that implicitly link BLAS (such as ftn, cc, and CC on Cray HPC machines)
-# we used a placeholder for empty BLAS_LIBRARIES to get through our logic above.
-if (BLAS_LIBRARIES STREQUAL "BLAS_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
-  set(BLAS_LIBRARIES "")
-endif()
-
-cmake_pop_check_state()
-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.16/Modules/FindLAPACK.cmake b/share/cmake-3.16/Modules/FindLAPACK.cmake
deleted file mode 100644
index 3cb3653..0000000
--- a/share/cmake-3.16/Modules/FindLAPACK.cmake
+++ /dev/null
@@ -1,442 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindLAPACK
-----------
-
-Find Linear Algebra PACKage (LAPACK) library
-
-This module finds an installed fortran library that implements the
-LAPACK linear-algebra interface (see http://www.netlib.org/lapack/).
-
-The approach follows that taken for the autoconf macro file,
-``acx_lapack.m4`` (distributed at
-http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html).
-
-Input Variables
-^^^^^^^^^^^^^^^
-
-The following variables may be set to influence this module's behavior:
-
-``BLA_STATIC``
-  if ``ON`` use static linkage
-
-``BLA_VENDOR``
-  If set, checks only the specified vendor, if not set checks all the
-  possibilities.  List of vendors valid in this module:
-
-  * ``Intel10_32`` (intel mkl v10 32 bit)
-  * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model)
-  * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model)
-  * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model)
-  * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model)
-  * ``Intel`` (obsolete versions of mkl 32 and 64 bit)
-  * ``OpenBLAS``
-  * ``FLAME``
-  * ``ACML``
-  * ``Apple``
-  * ``NAS``
-  * ``Generic``
-
-``BLA_F95``
-  if ``ON`` tries to find BLAS95/LAPACK95
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-This module defines the following variables:
-
-``LAPACK_FOUND``
-  library implementing the LAPACK interface is found
-``LAPACK_LINKER_FLAGS``
-  uncached list of required linker flags (excluding -l and -L).
-``LAPACK_LIBRARIES``
-  uncached list of libraries (using full path name) to link against
-  to use LAPACK
-``LAPACK95_LIBRARIES``
-  uncached list of libraries (using full path name) to link against
-  to use LAPACK95
-``LAPACK95_FOUND``
-  library implementing the LAPACK95 interface is found
-
-.. note::
-
-  C or CXX must be enabled to use Intel MKL
-
-  For example, to use Intel MKL libraries and/or Intel compiler:
-
-  .. code-block:: cmake
-
-    set(BLA_VENDOR Intel10_64lp)
-    find_package(LAPACK)
-#]=======================================================================]
-
-set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-
-# Check the language being used
-if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) )
-  if(LAPACK_FIND_REQUIRED)
-    message(FATAL_ERROR "FindLAPACK requires Fortran, C, or C++ to be enabled.")
-  else()
-    message(STATUS "Looking for LAPACK... - NOT found (Unsupported languages)")
-    return()
-  endif()
-endif()
-
-if (CMAKE_Fortran_COMPILER_LOADED)
-include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
-else ()
-include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
-endif ()
-include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-
-cmake_push_check_state()
-set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY})
-
-set(LAPACK_FOUND FALSE)
-set(LAPACK95_FOUND FALSE)
-
-# TODO: move this stuff to separate module
-
-macro(Check_Lapack_Libraries LIBRARIES _prefix _name _flags _list _blas _threads)
-# This macro checks for the existence of the combination of fortran libraries
-# given by _list.  If the combination is found, this macro checks (using the
-# Check_Fortran_Function_Exists macro) whether can link against that library
-# combination using the name of a routine given by _name using the linker
-# flags given by _flags.  If the combination of libraries is found and passes
-# the link test, LIBRARIES is set to the list of complete library paths that
-# have been found.  Otherwise, LIBRARIES is set to FALSE.
-
-# N.B. _prefix is the prefix applied to the names of all cached variables that
-# are generated internally and marked advanced by this macro.
-
-set(_libraries_work TRUE)
-set(${LIBRARIES})
-set(_combined_name)
-if (NOT _libdir)
-  if (WIN32)
-    set(_libdir ENV LIB)
-  elseif (APPLE)
-    set(_libdir ENV DYLD_LIBRARY_PATH)
-  else ()
-    set(_libdir ENV LD_LIBRARY_PATH)
-  endif ()
-endif ()
-
-list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}")
-
-foreach(_library ${_list})
-  set(_combined_name ${_combined_name}_${_library})
-
-  if(_libraries_work)
-    if (BLA_STATIC)
-      if (WIN32)
-        set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      endif ()
-      if (APPLE)
-        set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      else ()
-        set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      endif ()
-    else ()
-      if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
-        # for ubuntu's libblas3gf and liblapack3gf packages
-        set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
-      endif ()
-    endif ()
-    find_library(${_prefix}_${_library}_LIBRARY
-      NAMES ${_library}
-      PATHS ${_libdir}
-      )
-    mark_as_advanced(${_prefix}_${_library}_LIBRARY)
-    set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
-    set(_libraries_work ${${_prefix}_${_library}_LIBRARY})
-  endif()
-endforeach()
-
-if(_libraries_work)
-  # Test this combination of libraries.
-  if(UNIX AND BLA_STATIC)
-    set(CMAKE_REQUIRED_LIBRARIES ${_flags} "-Wl,--start-group" ${${LIBRARIES}} ${_blas} "-Wl,--end-group" ${_threads})
-  else()
-    set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas} ${_threads})
-  endif()
-#  message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
-  if (NOT CMAKE_Fortran_COMPILER_LOADED)
-    check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS)
-  else ()
-    check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS)
-  endif ()
-  set(CMAKE_REQUIRED_LIBRARIES)
-  set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
-  #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
-endif()
-
- if(_libraries_work)
-   if("${_list}${_blas}" STREQUAL "")
-     set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
-   else()
-     set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threads})
-   endif()
- else()
-    set(${LIBRARIES} FALSE)
- endif()
-
-endmacro()
-
-
-set(LAPACK_LINKER_FLAGS)
-set(LAPACK_LIBRARIES)
-set(LAPACK95_LIBRARIES)
-
-
-if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
-  find_package(BLAS)
-else()
-  find_package(BLAS REQUIRED)
-endif()
-
-
-if(BLAS_FOUND)
-  set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS})
-  if (NOT $ENV{BLA_VENDOR} STREQUAL "")
-    set(BLA_VENDOR $ENV{BLA_VENDOR})
-  else ()
-    if(NOT BLA_VENDOR)
-      set(BLA_VENDOR "All")
-    endif()
-  endif ()
-
-#intel lapack
-if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
-  if(NOT LAPACK_LIBRARIES)
-  if (NOT WIN32)
-    set(LAPACK_mkl_LM "-lm")
-    set(LAPACK_mkl_LDL "-ldl")
-  endif ()
-  if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED)
-    if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
-      find_PACKAGE(Threads)
-    else()
-      find_package(Threads REQUIRED)
-    endif()
-
-    if (BLA_VENDOR MATCHES "_64ilp")
-      set(LAPACK_mkl_ILP_MODE "ilp64")
-    else ()
-      set(LAPACK_mkl_ILP_MODE "lp64")
-    endif ()
-
-    set(LAPACK_SEARCH_LIBS "")
-
-    if (BLA_F95)
-      set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95")
-      set(_LIBRARIES LAPACK95_LIBRARIES)
-      set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES})
-
-      # old
-      list(APPEND LAPACK_SEARCH_LIBS
-        "mkl_lapack95")
-      # new >= 10.3
-      list(APPEND LAPACK_SEARCH_LIBS
-        "mkl_intel_c")
-      list(APPEND LAPACK_SEARCH_LIBS
-        "mkl_lapack95_${LAPACK_mkl_ILP_MODE}")
-    else()
-      set(LAPACK_mkl_SEARCH_SYMBOL "cheev")
-      set(_LIBRARIES LAPACK_LIBRARIES)
-      set(_BLAS_LIBRARIES ${BLAS_LIBRARIES})
-
-      # old
-      list(APPEND LAPACK_SEARCH_LIBS
-        "mkl_lapack")
-    endif()
-
-    # First try empty lapack libs
-    if (NOT ${_LIBRARIES})
-      check_lapack_libraries(
-        ${_LIBRARIES}
-        LAPACK
-        ${LAPACK_mkl_SEARCH_SYMBOL}
-        ""
-        ""
-        "${_BLAS_LIBRARIES}"
-        ""
-        )
-    endif ()
-    # Then try the search libs
-    foreach (IT ${LAPACK_SEARCH_LIBS})
-      if (NOT ${_LIBRARIES})
-        check_lapack_libraries(
-          ${_LIBRARIES}
-          LAPACK
-          ${LAPACK_mkl_SEARCH_SYMBOL}
-          ""
-          "${IT}"
-          "${_BLAS_LIBRARIES}"
-          "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}"
-          )
-      endif ()
-    endforeach ()
-
-    unset(LAPACK_mkl_ILP_MODE)
-    unset(LAPACK_mkl_SEARCH_SYMBOL)
-    unset(LAPACK_mkl_LM)
-    unset(LAPACK_mkl_LDL)
-  endif ()
-  endif()
-endif()
-
-if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
- if(NOT LAPACK_LIBRARIES)
-  check_lapack_libraries(
-  LAPACK_LIBRARIES
-  LAPACK
-  cheev
-  ""
-  "goto2"
-  "${BLAS_LIBRARIES}"
-  ""
-  )
- endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
- if(NOT LAPACK_LIBRARIES)
-  check_lapack_libraries(
-  LAPACK_LIBRARIES
-  LAPACK
-  cheev
-  ""
-  "openblas"
-  "${BLAS_LIBRARIES}"
-  ""
-  )
- endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
- if(NOT LAPACK_LIBRARIES)
-  check_lapack_libraries(
-  LAPACK_LIBRARIES
-  LAPACK
-  cheev
-  ""
-  "flame"
-  "${BLAS_LIBRARIES}"
-  ""
-  )
- endif()
-endif ()
-
-#acml lapack
-if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All")
-  if (BLAS_LIBRARIES MATCHES ".+acml.+")
-    set (LAPACK_LIBRARIES ${BLAS_LIBRARIES})
-  endif ()
-endif ()
-
-# Apple LAPACK library?
-if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
-  if(NOT LAPACK_LIBRARIES)
-    check_lapack_libraries(
-    LAPACK_LIBRARIES
-    LAPACK
-    cheev
-    ""
-    "Accelerate"
-    "${BLAS_LIBRARIES}"
-    ""
-    )
-  endif()
-endif ()
-if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
-  if ( NOT LAPACK_LIBRARIES )
-    check_lapack_libraries(
-    LAPACK_LIBRARIES
-    LAPACK
-    cheev
-    ""
-    "vecLib"
-    "${BLAS_LIBRARIES}"
-    ""
-    )
-  endif ()
-endif ()
-# Generic LAPACK library?
-if (BLA_VENDOR STREQUAL "Generic" OR
-    BLA_VENDOR STREQUAL "ATLAS" OR
-    BLA_VENDOR STREQUAL "All")
-  if ( NOT LAPACK_LIBRARIES )
-    check_lapack_libraries(
-    LAPACK_LIBRARIES
-    LAPACK
-    cheev
-    ""
-    "lapack"
-    "${BLAS_LIBRARIES}"
-    ""
-    )
-  endif ()
-endif ()
-
-else()
-  message(STATUS "LAPACK requires BLAS")
-endif()
-
-if(BLA_F95)
-  if(LAPACK95_LIBRARIES)
-    set(LAPACK95_FOUND TRUE)
-  else()
-    set(LAPACK95_FOUND FALSE)
-  endif()
-  if(NOT LAPACK_FIND_QUIETLY)
-    if(LAPACK95_FOUND)
-      message(STATUS "A library with LAPACK95 API found.")
-    else()
-      if(LAPACK_FIND_REQUIRED)
-        message(FATAL_ERROR
-        "A required library with LAPACK95 API not found. Please specify library location."
-        )
-      else()
-        message(STATUS
-        "A library with LAPACK95 API not found. Please specify library location."
-        )
-      endif()
-    endif()
-  endif()
-  set(LAPACK_FOUND "${LAPACK95_FOUND}")
-  set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}")
-else()
-  if(LAPACK_LIBRARIES)
-    set(LAPACK_FOUND TRUE)
-  else()
-    set(LAPACK_FOUND FALSE)
-  endif()
-
-  if(NOT LAPACK_FIND_QUIETLY)
-    if(LAPACK_FOUND)
-      message(STATUS "A library with LAPACK API found.")
-    else()
-      if(LAPACK_FIND_REQUIRED)
-        message(FATAL_ERROR
-        "A required library with LAPACK API not found. Please specify library location."
-        )
-      else()
-        message(STATUS
-        "A library with LAPACK API not found. Please specify library location."
-        )
-      endif()
-    endif()
-  endif()
-endif()
-
-# On compilers that implicitly link LAPACK (such as ftn, cc, and CC on Cray HPC machines)
-# we used a placeholder for empty LAPACK_LIBRARIES to get through our logic above.
-if (LAPACK_LIBRARIES STREQUAL "LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
-  set(LAPACK_LIBRARIES "")
-endif()
-
-cmake_pop_check_state()
-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.16/Modules/Platform/AIX/ExportImportList b/share/cmake-3.16/Modules/Platform/AIX/ExportImportList
deleted file mode 100644
index 4f67ef5..0000000
--- a/share/cmake-3.16/Modules/Platform/AIX/ExportImportList
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-# This script is internal to CMake and meant only to be
-# invoked by CMake-generated build systems on AIX.
-
-usage='usage: ExportImportList -o <out-file> [-l <lib>] [--] <objects>...'
-
-die() {
-    echo "$@" 1>&2; exit 1
-}
-
-# Process command-line arguments.
-out=''
-lib=''
-while test "$#" != 0; do
-    case "$1" in
-    -l) shift; lib="$1" ;;
-    -o) shift; out="$1" ;;
-    --) shift; break ;;
-    -*) die "$usage" ;;
-    *)  break ;;
-    esac
-    shift
-done
-test -n "$out" || die "$usage"
-
-# Collect symbols exported from all object files.
-out_tmp="$out.tmp$$"
-trap 'rm -f "$out_tmp"' EXIT INT TERM
-for f in "$@"; do
-    dump -tov -X 32_64 "$f" |
-    awk '
-        BEGIN {
-            V["EXPORTED"]=" export"
-            V["PROTECTED"]=" protected"
-        }
-        /^\[[0-9]+\]\tm +[^ ]+ +\.(text|data|bss) +[^ ]+ +(extern|weak) +(EXPORTED|PROTECTED| ) / {
-            if (!match($NF,/^(\.|__sinit|__sterm|__[0-9]+__)/)) {
-                print $NF V[$(NF-1)]
-            }
-        }
-    '
-done > "$out_tmp"
-
-# Generate the export/import file.
-{
-    if test -n "$lib"; then
-        echo "#! $lib"
-    fi
-    sort -u "$out_tmp"
-} > "$out"
diff --git a/share/cmake-3.16/Help/command/FIND_XXX.txt b/share/cmake-3.17/Help/command/FIND_XXX.txt
similarity index 100%
rename from share/cmake-3.16/Help/command/FIND_XXX.txt
rename to share/cmake-3.17/Help/command/FIND_XXX.txt
diff --git a/share/cmake-3.16/Help/command/FIND_XXX_ORDER.txt b/share/cmake-3.17/Help/command/FIND_XXX_ORDER.txt
similarity index 100%
rename from share/cmake-3.16/Help/command/FIND_XXX_ORDER.txt
rename to share/cmake-3.17/Help/command/FIND_XXX_ORDER.txt
diff --git a/share/cmake-3.16/Help/command/FIND_XXX_ROOT.txt b/share/cmake-3.17/Help/command/FIND_XXX_ROOT.txt
similarity index 100%
rename from share/cmake-3.16/Help/command/FIND_XXX_ROOT.txt
rename to share/cmake-3.17/Help/command/FIND_XXX_ROOT.txt
diff --git a/share/cmake-3.16/Help/command/LINK_OPTIONS_LINKER.txt b/share/cmake-3.17/Help/command/LINK_OPTIONS_LINKER.txt
similarity index 100%
rename from share/cmake-3.16/Help/command/LINK_OPTIONS_LINKER.txt
rename to share/cmake-3.17/Help/command/LINK_OPTIONS_LINKER.txt
diff --git a/share/cmake-3.16/Help/command/OPTIONS_SHELL.txt b/share/cmake-3.17/Help/command/OPTIONS_SHELL.txt
similarity index 100%
rename from share/cmake-3.16/Help/command/OPTIONS_SHELL.txt
rename to share/cmake-3.17/Help/command/OPTIONS_SHELL.txt
diff --git a/share/cmake-3.16/Help/command/add_compile_definitions.rst b/share/cmake-3.17/Help/command/add_compile_definitions.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_compile_definitions.rst
rename to share/cmake-3.17/Help/command/add_compile_definitions.rst
diff --git a/share/cmake-3.16/Help/command/add_compile_options.rst b/share/cmake-3.17/Help/command/add_compile_options.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_compile_options.rst
rename to share/cmake-3.17/Help/command/add_compile_options.rst
diff --git a/share/cmake-3.16/Help/command/add_custom_command.rst b/share/cmake-3.17/Help/command/add_custom_command.rst
similarity index 87%
rename from share/cmake-3.16/Help/command/add_custom_command.rst
rename to share/cmake-3.17/Help/command/add_custom_command.rst
index aba3742..9279748 100644
--- a/share/cmake-3.16/Help/command/add_custom_command.rst
+++ b/share/cmake-3.17/Help/command/add_custom_command.rst
@@ -68,6 +68,9 @@
   order-only dependencies to ensure the byproducts will be
   available before their dependents build.
 
+  The :ref:`Makefile Generators` will remove ``BYPRODUCTS`` and other
+  :prop_sf:`GENERATED` files during ``make clean``.
+
 ``COMMAND``
   Specify the command-line(s) to execute at build time.
   If more than one ``COMMAND`` is specified they will be executed in order,
@@ -112,24 +115,42 @@
   build time.
 
 ``DEPENDS``
-  Specify files on which the command depends.  If any dependency is
-  an ``OUTPUT`` of another custom command in the same directory
-  (``CMakeLists.txt`` file) CMake automatically brings the other
+  Specify files on which the command depends.  Each argument is converted
+  to a dependency as follows:
+
+  1. If the argument is the name of a target (created by the
+     :command:`add_custom_target`, :command:`add_executable`, or
+     :command:`add_library` command) a target-level dependency is
+     created to make sure the target is built before any target
+     using this custom command.  Additionally, if the target is an
+     executable or library, a file-level dependency is created to
+     cause the custom command to re-run whenever the target is
+     recompiled.
+
+  2. If the argument is an absolute path, a file-level dependency
+     is created on that path.
+
+  3. If the argument is the name of a source file that has been
+     added to a target or on which a source file property has been set,
+     a file-level dependency is created on that source file.
+
+  4. If the argument is a relative path and it exists in the current
+     source directory, a file-level dependency is created on that
+     file in the current source directory.
+
+  5. Otherwise, a file-level dependency is created on that path relative
+     to the current binary directory.
+
+  If any dependency is an ``OUTPUT`` of another custom command in the same
+  directory (``CMakeLists.txt`` file), CMake automatically brings the other
   custom command into the target in which this command is built.
   A target-level dependency is added if any dependency is listed as
   ``BYPRODUCTS`` of a target or any of its build events in the same
   directory to ensure the byproducts will be available.
-  If ``DEPENDS`` is not specified the command will run whenever
+
+  If ``DEPENDS`` is not specified, the command will run whenever
   the ``OUTPUT`` is missing; if the command does not actually
-  create the ``OUTPUT`` then the rule will always run.
-  If ``DEPENDS`` specifies any target (created by the
-  :command:`add_custom_target`, :command:`add_executable`, or
-  :command:`add_library` command) a target-level dependency is
-  created to make sure the target is built before any target
-  using this custom command.  Additionally, if the target is an
-  executable or library a file-level dependency is created to
-  cause the custom command to re-run whenever the target is
-  recompiled.
+  create the ``OUTPUT``, the rule will always run.
 
   Arguments to ``DEPENDS`` may use
   :manual:`generator expressions <cmake-generator-expressions(7)>`.
diff --git a/share/cmake-3.16/Help/command/add_custom_target.rst b/share/cmake-3.17/Help/command/add_custom_target.rst
similarity index 97%
rename from share/cmake-3.16/Help/command/add_custom_target.rst
rename to share/cmake-3.17/Help/command/add_custom_target.rst
index 2d5f5f0..56ab414 100644
--- a/share/cmake-3.16/Help/command/add_custom_target.rst
+++ b/share/cmake-3.17/Help/command/add_custom_target.rst
@@ -49,6 +49,9 @@
   order-only dependencies to ensure the byproducts will be
   available before their dependents build.
 
+  The :ref:`Makefile Generators` will remove ``BYPRODUCTS`` and other
+  :prop_sf:`GENERATED` files during ``make clean``.
+
 ``COMMAND``
   Specify the command-line(s) to execute at build time.
   If more than one ``COMMAND`` is specified they will be executed in order,
diff --git a/share/cmake-3.16/Help/command/add_definitions.rst b/share/cmake-3.17/Help/command/add_definitions.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_definitions.rst
rename to share/cmake-3.17/Help/command/add_definitions.rst
diff --git a/share/cmake-3.16/Help/command/add_dependencies.rst b/share/cmake-3.17/Help/command/add_dependencies.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_dependencies.rst
rename to share/cmake-3.17/Help/command/add_dependencies.rst
diff --git a/share/cmake-3.16/Help/command/add_executable.rst b/share/cmake-3.17/Help/command/add_executable.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_executable.rst
rename to share/cmake-3.17/Help/command/add_executable.rst
diff --git a/share/cmake-3.16/Help/command/add_library.rst b/share/cmake-3.17/Help/command/add_library.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_library.rst
rename to share/cmake-3.17/Help/command/add_library.rst
diff --git a/share/cmake-3.16/Help/command/add_link_options.rst b/share/cmake-3.17/Help/command/add_link_options.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_link_options.rst
rename to share/cmake-3.17/Help/command/add_link_options.rst
diff --git a/share/cmake-3.16/Help/command/add_subdirectory.rst b/share/cmake-3.17/Help/command/add_subdirectory.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_subdirectory.rst
rename to share/cmake-3.17/Help/command/add_subdirectory.rst
diff --git a/share/cmake-3.16/Help/command/add_test.rst b/share/cmake-3.17/Help/command/add_test.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/add_test.rst
rename to share/cmake-3.17/Help/command/add_test.rst
diff --git a/share/cmake-3.16/Help/command/aux_source_directory.rst b/share/cmake-3.17/Help/command/aux_source_directory.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/aux_source_directory.rst
rename to share/cmake-3.17/Help/command/aux_source_directory.rst
diff --git a/share/cmake-3.16/Help/command/break.rst b/share/cmake-3.17/Help/command/break.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/break.rst
rename to share/cmake-3.17/Help/command/break.rst
diff --git a/share/cmake-3.16/Help/command/build_command.rst b/share/cmake-3.17/Help/command/build_command.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/build_command.rst
rename to share/cmake-3.17/Help/command/build_command.rst
diff --git a/share/cmake-3.16/Help/command/build_name.rst b/share/cmake-3.17/Help/command/build_name.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/build_name.rst
rename to share/cmake-3.17/Help/command/build_name.rst
diff --git a/share/cmake-3.16/Help/command/cmake_host_system_information.rst b/share/cmake-3.17/Help/command/cmake_host_system_information.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/cmake_host_system_information.rst
rename to share/cmake-3.17/Help/command/cmake_host_system_information.rst
diff --git a/share/cmake-3.16/Help/command/cmake_minimum_required.rst b/share/cmake-3.17/Help/command/cmake_minimum_required.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/cmake_minimum_required.rst
rename to share/cmake-3.17/Help/command/cmake_minimum_required.rst
diff --git a/share/cmake-3.16/Help/command/cmake_parse_arguments.rst b/share/cmake-3.17/Help/command/cmake_parse_arguments.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/cmake_parse_arguments.rst
rename to share/cmake-3.17/Help/command/cmake_parse_arguments.rst
diff --git a/share/cmake-3.16/Help/command/cmake_policy.rst b/share/cmake-3.17/Help/command/cmake_policy.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/cmake_policy.rst
rename to share/cmake-3.17/Help/command/cmake_policy.rst
diff --git a/share/cmake-3.16/Help/command/configure_file.rst b/share/cmake-3.17/Help/command/configure_file.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/configure_file.rst
rename to share/cmake-3.17/Help/command/configure_file.rst
diff --git a/share/cmake-3.16/Help/command/continue.rst b/share/cmake-3.17/Help/command/continue.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/continue.rst
rename to share/cmake-3.17/Help/command/continue.rst
diff --git a/share/cmake-3.16/Help/command/create_test_sourcelist.rst b/share/cmake-3.17/Help/command/create_test_sourcelist.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/create_test_sourcelist.rst
rename to share/cmake-3.17/Help/command/create_test_sourcelist.rst
diff --git a/share/cmake-3.16/Help/command/ctest_build.rst b/share/cmake-3.17/Help/command/ctest_build.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_build.rst
rename to share/cmake-3.17/Help/command/ctest_build.rst
diff --git a/share/cmake-3.16/Help/command/ctest_configure.rst b/share/cmake-3.17/Help/command/ctest_configure.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_configure.rst
rename to share/cmake-3.17/Help/command/ctest_configure.rst
diff --git a/share/cmake-3.16/Help/command/ctest_coverage.rst b/share/cmake-3.17/Help/command/ctest_coverage.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_coverage.rst
rename to share/cmake-3.17/Help/command/ctest_coverage.rst
diff --git a/share/cmake-3.16/Help/command/ctest_empty_binary_directory.rst b/share/cmake-3.17/Help/command/ctest_empty_binary_directory.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_empty_binary_directory.rst
rename to share/cmake-3.17/Help/command/ctest_empty_binary_directory.rst
diff --git a/share/cmake-3.16/Help/command/ctest_memcheck.rst b/share/cmake-3.17/Help/command/ctest_memcheck.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_memcheck.rst
rename to share/cmake-3.17/Help/command/ctest_memcheck.rst
diff --git a/share/cmake-3.16/Help/command/ctest_read_custom_files.rst b/share/cmake-3.17/Help/command/ctest_read_custom_files.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_read_custom_files.rst
rename to share/cmake-3.17/Help/command/ctest_read_custom_files.rst
diff --git a/share/cmake-3.16/Help/command/ctest_run_script.rst b/share/cmake-3.17/Help/command/ctest_run_script.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_run_script.rst
rename to share/cmake-3.17/Help/command/ctest_run_script.rst
diff --git a/share/cmake-3.16/Help/command/ctest_sleep.rst b/share/cmake-3.17/Help/command/ctest_sleep.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_sleep.rst
rename to share/cmake-3.17/Help/command/ctest_sleep.rst
diff --git a/share/cmake-3.16/Help/command/ctest_start.rst b/share/cmake-3.17/Help/command/ctest_start.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_start.rst
rename to share/cmake-3.17/Help/command/ctest_start.rst
diff --git a/share/cmake-3.16/Help/command/ctest_submit.rst b/share/cmake-3.17/Help/command/ctest_submit.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_submit.rst
rename to share/cmake-3.17/Help/command/ctest_submit.rst
diff --git a/share/cmake-3.16/Help/command/ctest_test.rst b/share/cmake-3.17/Help/command/ctest_test.rst
similarity index 86%
rename from share/cmake-3.16/Help/command/ctest_test.rst
rename to share/cmake-3.17/Help/command/ctest_test.rst
index 7a3393b..5c67b2c 100644
--- a/share/cmake-3.16/Help/command/ctest_test.rst
+++ b/share/cmake-3.17/Help/command/ctest_test.rst
@@ -23,6 +23,7 @@
              [STOP_TIME <time-of-day>]
              [RETURN_VALUE <result-var>]
              [CAPTURE_CMAKE_ERROR <result-var>]
+             [REPEAT <mode>:<n>]
              [QUIET]
              )
 
@@ -95,6 +96,25 @@
   and then the ``--test-load`` command-line argument to :manual:`ctest(1)`.
   See also the ``TestLoad`` setting in the :ref:`CTest Test Step`.
 
+``REPEAT <mode>:<n>``
+  Run tests repeatedly based on the given ``<mode>`` up to ``<n>`` times.
+  The modes are:
+
+  ``UNTIL_FAIL``
+    Require each test to run ``<n>`` times without failing in order to pass.
+    This is useful in finding sporadic failures in test cases.
+
+  ``UNTIL_PASS``
+    Allow each test to run up to ``<n>`` times in order to pass.
+    Repeats tests if they fail for any reason.
+    This is useful in tolerating sporadic failures in test cases.
+
+  ``AFTER_TIMEOUT``
+    Allow each test to run up to ``<n>`` times in order to pass.
+    Repeats tests only if they timeout.
+    This is useful in tolerating sporadic timeouts in test cases
+    on busy machines.
+
 ``SCHEDULE_RANDOM <ON|OFF>``
   Launch tests in a random order.  This may be useful for detecting
   implicit test dependencies.
diff --git a/share/cmake-3.16/Help/command/ctest_update.rst b/share/cmake-3.17/Help/command/ctest_update.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_update.rst
rename to share/cmake-3.17/Help/command/ctest_update.rst
diff --git a/share/cmake-3.16/Help/command/ctest_upload.rst b/share/cmake-3.17/Help/command/ctest_upload.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/ctest_upload.rst
rename to share/cmake-3.17/Help/command/ctest_upload.rst
diff --git a/share/cmake-3.16/Help/command/define_property.rst b/share/cmake-3.17/Help/command/define_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/define_property.rst
rename to share/cmake-3.17/Help/command/define_property.rst
diff --git a/share/cmake-3.16/Help/command/else.rst b/share/cmake-3.17/Help/command/else.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/else.rst
rename to share/cmake-3.17/Help/command/else.rst
diff --git a/share/cmake-3.16/Help/command/elseif.rst b/share/cmake-3.17/Help/command/elseif.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/elseif.rst
rename to share/cmake-3.17/Help/command/elseif.rst
diff --git a/share/cmake-3.16/Help/command/enable_language.rst b/share/cmake-3.17/Help/command/enable_language.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/enable_language.rst
rename to share/cmake-3.17/Help/command/enable_language.rst
diff --git a/share/cmake-3.16/Help/command/enable_testing.rst b/share/cmake-3.17/Help/command/enable_testing.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/enable_testing.rst
rename to share/cmake-3.17/Help/command/enable_testing.rst
diff --git a/share/cmake-3.16/Help/command/endforeach.rst b/share/cmake-3.17/Help/command/endforeach.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/endforeach.rst
rename to share/cmake-3.17/Help/command/endforeach.rst
diff --git a/share/cmake-3.16/Help/command/endfunction.rst b/share/cmake-3.17/Help/command/endfunction.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/endfunction.rst
rename to share/cmake-3.17/Help/command/endfunction.rst
diff --git a/share/cmake-3.16/Help/command/endif.rst b/share/cmake-3.17/Help/command/endif.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/endif.rst
rename to share/cmake-3.17/Help/command/endif.rst
diff --git a/share/cmake-3.16/Help/command/endmacro.rst b/share/cmake-3.17/Help/command/endmacro.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/endmacro.rst
rename to share/cmake-3.17/Help/command/endmacro.rst
diff --git a/share/cmake-3.16/Help/command/endwhile.rst b/share/cmake-3.17/Help/command/endwhile.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/endwhile.rst
rename to share/cmake-3.17/Help/command/endwhile.rst
diff --git a/share/cmake-3.16/Help/command/exec_program.rst b/share/cmake-3.17/Help/command/exec_program.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/exec_program.rst
rename to share/cmake-3.17/Help/command/exec_program.rst
diff --git a/share/cmake-3.16/Help/command/execute_process.rst b/share/cmake-3.17/Help/command/execute_process.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/execute_process.rst
rename to share/cmake-3.17/Help/command/execute_process.rst
diff --git a/share/cmake-3.16/Help/command/export.rst b/share/cmake-3.17/Help/command/export.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/export.rst
rename to share/cmake-3.17/Help/command/export.rst
diff --git a/share/cmake-3.16/Help/command/export_library_dependencies.rst b/share/cmake-3.17/Help/command/export_library_dependencies.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/export_library_dependencies.rst
rename to share/cmake-3.17/Help/command/export_library_dependencies.rst
diff --git a/share/cmake-3.16/Help/command/file.rst b/share/cmake-3.17/Help/command/file.rst
similarity index 99%
rename from share/cmake-3.16/Help/command/file.rst
rename to share/cmake-3.17/Help/command/file.rst
index b186177..df7d8ba 100644
--- a/share/cmake-3.16/Help/command/file.rst
+++ b/share/cmake-3.17/Help/command/file.rst
@@ -540,7 +540,7 @@
 By default ``GLOB_RECURSE`` omits directories from result list - setting
 ``LIST_DIRECTORIES`` to true adds directories to result list.
 If ``FOLLOW_SYMLINKS`` is given or policy :policy:`CMP0009` is not set to
-``OLD`` then ``LIST_DIRECTORIES`` treats symlinks as directories.
+``NEW`` then ``LIST_DIRECTORIES`` treats symlinks as directories.
 
 Examples of recursive globbing include::
 
diff --git a/share/cmake-3.16/Help/command/find_file.rst b/share/cmake-3.17/Help/command/find_file.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/find_file.rst
rename to share/cmake-3.17/Help/command/find_file.rst
diff --git a/share/cmake-3.16/Help/command/find_library.rst b/share/cmake-3.17/Help/command/find_library.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/find_library.rst
rename to share/cmake-3.17/Help/command/find_library.rst
diff --git a/share/cmake-3.16/Help/command/find_package.rst b/share/cmake-3.17/Help/command/find_package.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/find_package.rst
rename to share/cmake-3.17/Help/command/find_package.rst
diff --git a/share/cmake-3.16/Help/command/find_path.rst b/share/cmake-3.17/Help/command/find_path.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/find_path.rst
rename to share/cmake-3.17/Help/command/find_path.rst
diff --git a/share/cmake-3.16/Help/command/find_program.rst b/share/cmake-3.17/Help/command/find_program.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/find_program.rst
rename to share/cmake-3.17/Help/command/find_program.rst
diff --git a/share/cmake-3.16/Help/command/fltk_wrap_ui.rst b/share/cmake-3.17/Help/command/fltk_wrap_ui.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/fltk_wrap_ui.rst
rename to share/cmake-3.17/Help/command/fltk_wrap_ui.rst
diff --git a/share/cmake-3.16/Help/command/foreach.rst b/share/cmake-3.17/Help/command/foreach.rst
similarity index 64%
rename from share/cmake-3.16/Help/command/foreach.rst
rename to share/cmake-3.17/Help/command/foreach.rst
index ae2afb2..a01a104 100644
--- a/share/cmake-3.16/Help/command/foreach.rst
+++ b/share/cmake-3.17/Help/command/foreach.rst
@@ -47,7 +47,7 @@
 
 .. code-block:: cmake
 
-  foreach(loop_var IN [LISTS [<lists>]] [ITEMS [<items>]])
+  foreach(<loop_var> IN [LISTS [<lists>]] [ITEMS [<items>]])
 
 In this variant, ``<lists>`` is a whitespace or semicolon
 separated list of list-valued variables. The ``foreach``
@@ -82,3 +82,46 @@
   -- X=6
   -- X=7
   -- X=8
+
+
+.. code-block:: cmake
+
+  foreach(<loop_var>... IN ZIP_LISTS <lists>)
+
+In this variant, ``<lists>`` is a whitespace or semicolon
+separated list of list-valued variables. The ``foreach``
+command iterates over each list simultaneously setting the
+iteration variables as follows:
+
+- if the only ``loop_var`` given, then it sets a series of
+  ``loop_var_N`` variables to the current item from the
+  corresponding list;
+- if multiple variable names passed, their count should match
+  the lists variables count;
+- if any of the lists are shorter, the corresponding iteration
+  variable is not defined for the current iteration.
+
+.. code-block:: cmake
+
+  list(APPEND English one two three four)
+  list(APPEND Bahasa satu dua tiga)
+
+  foreach(num IN ZIP_LISTS English Bahasa)
+      message(STATUS "num_0=${num_0}, num_1=${num_1}")
+  endforeach()
+
+  foreach(en ba IN ZIP_LISTS English Bahasa)
+      message(STATUS "en=${en}, ba=${ba}")
+  endforeach()
+
+yields
+::
+
+  -- num_0=one, num_1=satu
+  -- num_0=two, num_1=dua
+  -- num_0=three, num_1=tiga
+  -- num_0=four, num_1=
+  -- en=one, ba=satu
+  -- en=two, ba=dua
+  -- en=three, ba=tiga
+  -- en=four, ba=
diff --git a/share/cmake-3.16/Help/command/function.rst b/share/cmake-3.17/Help/command/function.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/function.rst
rename to share/cmake-3.17/Help/command/function.rst
diff --git a/share/cmake-3.16/Help/command/get_cmake_property.rst b/share/cmake-3.17/Help/command/get_cmake_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_cmake_property.rst
rename to share/cmake-3.17/Help/command/get_cmake_property.rst
diff --git a/share/cmake-3.16/Help/command/get_directory_property.rst b/share/cmake-3.17/Help/command/get_directory_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_directory_property.rst
rename to share/cmake-3.17/Help/command/get_directory_property.rst
diff --git a/share/cmake-3.16/Help/command/get_filename_component.rst b/share/cmake-3.17/Help/command/get_filename_component.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_filename_component.rst
rename to share/cmake-3.17/Help/command/get_filename_component.rst
diff --git a/share/cmake-3.16/Help/command/get_property.rst b/share/cmake-3.17/Help/command/get_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_property.rst
rename to share/cmake-3.17/Help/command/get_property.rst
diff --git a/share/cmake-3.16/Help/command/get_source_file_property.rst b/share/cmake-3.17/Help/command/get_source_file_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_source_file_property.rst
rename to share/cmake-3.17/Help/command/get_source_file_property.rst
diff --git a/share/cmake-3.16/Help/command/get_target_property.rst b/share/cmake-3.17/Help/command/get_target_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_target_property.rst
rename to share/cmake-3.17/Help/command/get_target_property.rst
diff --git a/share/cmake-3.16/Help/command/get_test_property.rst b/share/cmake-3.17/Help/command/get_test_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/get_test_property.rst
rename to share/cmake-3.17/Help/command/get_test_property.rst
diff --git a/share/cmake-3.16/Help/command/if.rst b/share/cmake-3.17/Help/command/if.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/if.rst
rename to share/cmake-3.17/Help/command/if.rst
diff --git a/share/cmake-3.16/Help/command/include.rst b/share/cmake-3.17/Help/command/include.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/include.rst
rename to share/cmake-3.17/Help/command/include.rst
diff --git a/share/cmake-3.16/Help/command/include_directories.rst b/share/cmake-3.17/Help/command/include_directories.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/include_directories.rst
rename to share/cmake-3.17/Help/command/include_directories.rst
diff --git a/share/cmake-3.16/Help/command/include_external_msproject.rst b/share/cmake-3.17/Help/command/include_external_msproject.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/include_external_msproject.rst
rename to share/cmake-3.17/Help/command/include_external_msproject.rst
diff --git a/share/cmake-3.16/Help/command/include_guard.rst b/share/cmake-3.17/Help/command/include_guard.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/include_guard.rst
rename to share/cmake-3.17/Help/command/include_guard.rst
diff --git a/share/cmake-3.16/Help/command/include_regular_expression.rst b/share/cmake-3.17/Help/command/include_regular_expression.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/include_regular_expression.rst
rename to share/cmake-3.17/Help/command/include_regular_expression.rst
diff --git a/share/cmake-3.16/Help/command/install.rst b/share/cmake-3.17/Help/command/install.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/install.rst
rename to share/cmake-3.17/Help/command/install.rst
diff --git a/share/cmake-3.16/Help/command/install_files.rst b/share/cmake-3.17/Help/command/install_files.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/install_files.rst
rename to share/cmake-3.17/Help/command/install_files.rst
diff --git a/share/cmake-3.16/Help/command/install_programs.rst b/share/cmake-3.17/Help/command/install_programs.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/install_programs.rst
rename to share/cmake-3.17/Help/command/install_programs.rst
diff --git a/share/cmake-3.16/Help/command/install_targets.rst b/share/cmake-3.17/Help/command/install_targets.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/install_targets.rst
rename to share/cmake-3.17/Help/command/install_targets.rst
diff --git a/share/cmake-3.16/Help/command/link_directories.rst b/share/cmake-3.17/Help/command/link_directories.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/link_directories.rst
rename to share/cmake-3.17/Help/command/link_directories.rst
diff --git a/share/cmake-3.16/Help/command/link_libraries.rst b/share/cmake-3.17/Help/command/link_libraries.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/link_libraries.rst
rename to share/cmake-3.17/Help/command/link_libraries.rst
diff --git a/share/cmake-3.16/Help/command/list.rst b/share/cmake-3.17/Help/command/list.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/list.rst
rename to share/cmake-3.17/Help/command/list.rst
diff --git a/share/cmake-3.16/Help/command/load_cache.rst b/share/cmake-3.17/Help/command/load_cache.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/load_cache.rst
rename to share/cmake-3.17/Help/command/load_cache.rst
diff --git a/share/cmake-3.16/Help/command/load_command.rst b/share/cmake-3.17/Help/command/load_command.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/load_command.rst
rename to share/cmake-3.17/Help/command/load_command.rst
diff --git a/share/cmake-3.16/Help/command/macro.rst b/share/cmake-3.17/Help/command/macro.rst
similarity index 94%
rename from share/cmake-3.16/Help/command/macro.rst
rename to share/cmake-3.17/Help/command/macro.rst
index 05e5d79..3f6f2f9 100644
--- a/share/cmake-3.16/Help/command/macro.rst
+++ b/share/cmake-3.17/Help/command/macro.rst
@@ -91,6 +91,12 @@
 from the scope of the macro call.  To avoid confusion, it is recommended
 to avoid :command:`return()` in macros altogether.
 
+Unlike a function, the :variable:`CMAKE_CURRENT_FUNCTION`,
+:variable:`CMAKE_CURRENT_FUNCTION_LIST_DIR`,
+:variable:`CMAKE_CURRENT_FUNCTION_LIST_FILE`,
+:variable:`CMAKE_CURRENT_FUNCTION_LIST_LINE` variables are not
+set for macro.
+
 .. _`Argument Caveats`:
 
 Argument Caveats
diff --git a/share/cmake-3.16/Help/command/make_directory.rst b/share/cmake-3.17/Help/command/make_directory.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/make_directory.rst
rename to share/cmake-3.17/Help/command/make_directory.rst
diff --git a/share/cmake-3.16/Help/command/mark_as_advanced.rst b/share/cmake-3.17/Help/command/mark_as_advanced.rst
similarity index 75%
rename from share/cmake-3.16/Help/command/mark_as_advanced.rst
rename to share/cmake-3.17/Help/command/mark_as_advanced.rst
index 5712fb4..e52e623 100644
--- a/share/cmake-3.16/Help/command/mark_as_advanced.rst
+++ b/share/cmake-3.17/Help/command/mark_as_advanced.rst
@@ -22,3 +22,9 @@
 new values will be marked as advanced, but if a
 variable already has an advanced/non-advanced state,
 it will not be changed.
+
+.. note::
+
+  Policy :policy:`CMP0102` affects the behavior of the ``mark_as_advanced``
+  call. When set to ``NEW``, variables passed to this command which are not
+  already in the cache are ignored. See policy :policy:`CMP0102`.
diff --git a/share/cmake-3.16/Help/command/math.rst b/share/cmake-3.17/Help/command/math.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/math.rst
rename to share/cmake-3.17/Help/command/math.rst
diff --git a/share/cmake-3.17/Help/command/message.rst b/share/cmake-3.17/Help/command/message.rst
new file mode 100644
index 0000000..6bc0e4c
--- /dev/null
+++ b/share/cmake-3.17/Help/command/message.rst
@@ -0,0 +1,182 @@
+message
+-------
+
+Log a message.
+
+Synopsis
+^^^^^^^^
+
+.. parsed-literal::
+
+  `General messages`_
+    message([<mode>] "message text" ...)
+
+  `Reporting checks`_
+    message(<checkState> "message text" ...)
+
+
+General messages
+^^^^^^^^^^^^^^^^
+
+.. code-block:: cmake
+
+  message([<mode>] "message text" ...)
+
+Record the specified message text in the log.  If more than one message
+string is given, they are concatenated into a single message with no
+separator between the strings.
+
+The optional ``<mode>`` keyword determines the type of message, which
+influences the way the message is handled:
+
+``FATAL_ERROR``
+  CMake Error, stop processing and generation.
+
+``SEND_ERROR``
+  CMake Error, continue processing, but skip generation.
+
+``WARNING``
+  CMake Warning, continue processing.
+
+``AUTHOR_WARNING``
+  CMake Warning (dev), continue processing.
+
+``DEPRECATION``
+  CMake Deprecation Error or Warning if variable
+  :variable:`CMAKE_ERROR_DEPRECATED` or :variable:`CMAKE_WARN_DEPRECATED`
+  is enabled, respectively, else no message.
+
+(none) or ``NOTICE``
+  Important message printed to stderr to attract user's attention.
+
+``STATUS``
+  The main interesting messages that project users might be interested in.
+  Ideally these should be concise, no more than a single line, but still
+  informative.
+
+``VERBOSE``
+  Detailed informational messages intended for project users.  These messages
+  should provide additional details that won't be of interest in most cases,
+  but which may be useful to those building the project when they want deeper
+  insight into what's happening.
+
+``DEBUG``
+  Detailed informational messages intended for developers working on the
+  project itself as opposed to users who just want to build it.  These messages
+  will not typically be of interest to other users building the project and
+  will often be closely related to internal implementation details.
+
+``TRACE``
+  Fine-grained messages with very low-level implementation details.  Messages
+  using this log level would normally only be temporary and would expect to be
+  removed before releasing the project, packaging up the files, etc.
+
+The CMake command-line tool displays ``STATUS`` to ``TRACE`` messages on stdout
+with the message preceded by two hyphens and a space.  All other message types
+are sent to stderr and are not prefixed with hyphens.  The
+:manual:`CMake GUI <cmake-gui(1)>` displays all messages in its log area.
+The :manual:`curses interface <ccmake(1)>` shows ``STATUS`` to ``TRACE``
+messages one at a time on a status line and other messages in an
+interactive pop-up box.  The ``--log-level`` command-line option to each of
+these tools can be used to control which messages will be shown.
+To make a log level persist between CMake runs, the
+:variable:`CMAKE_MESSAGE_LOG_LEVEL` variable can be set instead.
+Note that the command line option takes precedence over the cache variable.
+
+Messages of log levels ``NOTICE`` and below will have each line preceded
+by the content of the :variable:`CMAKE_MESSAGE_INDENT` variable (converted to
+a single string by concatenating its list items).  For ``STATUS`` to ``TRACE``
+messages, this indenting content will be inserted after the hyphens.
+
+Messages of log levels ``NOTICE`` and below can also have each line preceded
+with context of the form ``[some.context.example]``.  The content between the
+square brackets is obtained by converting the :variable:`CMAKE_MESSAGE_CONTEXT`
+list variable to a dot-separated string.  The message context will always
+appear before any indenting content but after any automatically added leading
+hyphens. By default, message context is not shown, it has to be explicitly
+enabled by giving the :manual:`cmake <cmake(1)>` ``--log-context``
+command-line option or by setting the :variable:`CMAKE_MESSAGE_CONTEXT_SHOW`
+variable to true.  See the :variable:`CMAKE_MESSAGE_CONTEXT` documentation for
+usage examples.
+
+CMake Warning and Error message text displays using a simple markup
+language.  Non-indented text is formatted in line-wrapped paragraphs
+delimited by newlines.  Indented text is considered pre-formatted.
+
+
+Reporting checks
+^^^^^^^^^^^^^^^^
+
+A common pattern in CMake output is a message indicating the start of some
+sort of check, followed by another message reporting the result of that check.
+For example:
+
+.. code-block:: cmake
+
+  message(STATUS "Looking for someheader.h")
+  #... do the checks, set checkSuccess with the result
+  if(checkSuccess)
+    message(STATUS "Looking for someheader.h - found")
+  else()
+    message(STATUS "Looking for someheader.h - not found")
+  endif()
+
+This can be more robustly and conveniently expressed using the ``CHECK_...``
+keyword form of the ``message()`` command:
+
+.. code-block:: cmake
+
+  message(<checkState> "message" ...)
+
+where ``<checkState>`` must be one of the following:
+
+  ``CHECK_START``
+    Record a concise message about the check about to be performed.
+
+  ``CHECK_PASS``
+    Record a successful result for a check.
+
+  ``CHECK_FAIL``
+    Record an unsuccessful result for a check.
+
+When recording a check result, the command repeats the message from the most
+recently started check for which no result has yet been reported, then some
+separator characters and then the message text provided after the
+``CHECK_PASS`` or ``CHECK_FAIL`` keyword.  Check messages are always reported
+at ``STATUS`` log level.
+
+Checks may be nested and every ``CHECK_START`` should have exactly one
+matching ``CHECK_PASS`` or ``CHECK_FAIL``.
+The :variable:`CMAKE_MESSAGE_INDENT` variable can also be used to add
+indenting to nested checks if desired.  For example:
+
+.. code-block:: cmake
+
+  message(CHECK_START "Finding my things")
+  list(APPEND CMAKE_MESSAGE_INDENT "  ")
+  unset(missingComponents)
+
+  message(CHECK_START "Finding partA")
+  # ... do check, assume we find A
+  message(CHECK_PASS "found")
+
+  message(CHECK_START "Finding partB")
+  # ... do check, assume we don't find B
+  list(APPEND missingComponents B)
+  message(CHECK_FAIL "not found")
+
+  list(POP_BACK CMAKE_MESSAGE_INDENT)
+  if(missingComponents)
+    message(CHECK_FAIL "missing components: ${missingComponents}")
+  else()
+    message(CHECK_PASS "all components found")
+  endif()
+
+Output from the above would appear something like the following::
+
+  -- Finding my things
+  --   Finding partA
+  --   Finding partA - found
+  --   Finding partB
+  --   Finding partB - not found
+  -- Finding my things - missing components: B
diff --git a/share/cmake-3.16/Help/command/option.rst b/share/cmake-3.17/Help/command/option.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/option.rst
rename to share/cmake-3.17/Help/command/option.rst
diff --git a/share/cmake-3.16/Help/command/output_required_files.rst b/share/cmake-3.17/Help/command/output_required_files.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/output_required_files.rst
rename to share/cmake-3.17/Help/command/output_required_files.rst
diff --git a/share/cmake-3.16/Help/command/project.rst b/share/cmake-3.17/Help/command/project.rst
similarity index 92%
rename from share/cmake-3.16/Help/command/project.rst
rename to share/cmake-3.17/Help/command/project.rst
index 3951456..b6093d3 100644
--- a/share/cmake-3.16/Help/command/project.rst
+++ b/share/cmake-3.17/Help/command/project.rst
@@ -102,9 +102,12 @@
 Code Injection
 ^^^^^^^^^^^^^^
 
-If the :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` variable is set, the file
-pointed to by that variable will be included as the first step of the
+If the :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` or
+:variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE` variables are set,
+the files they point to will be included as the first step of the
 ``project()`` command.
+If both are set, then :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` will be
+included before :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE`.
 
 If the :variable:`CMAKE_PROJECT_INCLUDE` or
 :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` variables are set, the files
diff --git a/share/cmake-3.16/Help/command/qt_wrap_cpp.rst b/share/cmake-3.17/Help/command/qt_wrap_cpp.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/qt_wrap_cpp.rst
rename to share/cmake-3.17/Help/command/qt_wrap_cpp.rst
diff --git a/share/cmake-3.16/Help/command/qt_wrap_ui.rst b/share/cmake-3.17/Help/command/qt_wrap_ui.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/qt_wrap_ui.rst
rename to share/cmake-3.17/Help/command/qt_wrap_ui.rst
diff --git a/share/cmake-3.16/Help/command/remove.rst b/share/cmake-3.17/Help/command/remove.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/remove.rst
rename to share/cmake-3.17/Help/command/remove.rst
diff --git a/share/cmake-3.16/Help/command/remove_definitions.rst b/share/cmake-3.17/Help/command/remove_definitions.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/remove_definitions.rst
rename to share/cmake-3.17/Help/command/remove_definitions.rst
diff --git a/share/cmake-3.16/Help/command/return.rst b/share/cmake-3.17/Help/command/return.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/return.rst
rename to share/cmake-3.17/Help/command/return.rst
diff --git a/share/cmake-3.16/Help/command/separate_arguments.rst b/share/cmake-3.17/Help/command/separate_arguments.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/separate_arguments.rst
rename to share/cmake-3.17/Help/command/separate_arguments.rst
diff --git a/share/cmake-3.16/Help/command/set.rst b/share/cmake-3.17/Help/command/set.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/set.rst
rename to share/cmake-3.17/Help/command/set.rst
diff --git a/share/cmake-3.16/Help/command/set_directory_properties.rst b/share/cmake-3.17/Help/command/set_directory_properties.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/set_directory_properties.rst
rename to share/cmake-3.17/Help/command/set_directory_properties.rst
diff --git a/share/cmake-3.16/Help/command/set_property.rst b/share/cmake-3.17/Help/command/set_property.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/set_property.rst
rename to share/cmake-3.17/Help/command/set_property.rst
diff --git a/share/cmake-3.16/Help/command/set_source_files_properties.rst b/share/cmake-3.17/Help/command/set_source_files_properties.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/set_source_files_properties.rst
rename to share/cmake-3.17/Help/command/set_source_files_properties.rst
diff --git a/share/cmake-3.16/Help/command/set_target_properties.rst b/share/cmake-3.17/Help/command/set_target_properties.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/set_target_properties.rst
rename to share/cmake-3.17/Help/command/set_target_properties.rst
diff --git a/share/cmake-3.16/Help/command/set_tests_properties.rst b/share/cmake-3.17/Help/command/set_tests_properties.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/set_tests_properties.rst
rename to share/cmake-3.17/Help/command/set_tests_properties.rst
diff --git a/share/cmake-3.16/Help/command/site_name.rst b/share/cmake-3.17/Help/command/site_name.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/site_name.rst
rename to share/cmake-3.17/Help/command/site_name.rst
diff --git a/share/cmake-3.16/Help/command/source_group.rst b/share/cmake-3.17/Help/command/source_group.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/source_group.rst
rename to share/cmake-3.17/Help/command/source_group.rst
diff --git a/share/cmake-3.16/Help/command/string.rst b/share/cmake-3.17/Help/command/string.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/string.rst
rename to share/cmake-3.17/Help/command/string.rst
diff --git a/share/cmake-3.16/Help/command/subdir_depends.rst b/share/cmake-3.17/Help/command/subdir_depends.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/subdir_depends.rst
rename to share/cmake-3.17/Help/command/subdir_depends.rst
diff --git a/share/cmake-3.16/Help/command/subdirs.rst b/share/cmake-3.17/Help/command/subdirs.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/subdirs.rst
rename to share/cmake-3.17/Help/command/subdirs.rst
diff --git a/share/cmake-3.16/Help/command/target_compile_definitions.rst b/share/cmake-3.17/Help/command/target_compile_definitions.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_compile_definitions.rst
rename to share/cmake-3.17/Help/command/target_compile_definitions.rst
diff --git a/share/cmake-3.16/Help/command/target_compile_features.rst b/share/cmake-3.17/Help/command/target_compile_features.rst
similarity index 88%
rename from share/cmake-3.16/Help/command/target_compile_features.rst
rename to share/cmake-3.17/Help/command/target_compile_features.rst
index 9271cd5..c5401e6 100644
--- a/share/cmake-3.16/Help/command/target_compile_features.rst
+++ b/share/cmake-3.17/Help/command/target_compile_features.rst
@@ -8,9 +8,9 @@
   target_compile_features(<target> <PRIVATE|PUBLIC|INTERFACE> <feature> [...])
 
 Specifies compiler features required when compiling a given target.  If the
-feature is not listed in the :variable:`CMAKE_C_COMPILE_FEATURES` variable
-or :variable:`CMAKE_CXX_COMPILE_FEATURES` variable,
-then an error will be reported by CMake.  If the use of the feature requires
+feature is not listed in the :variable:`CMAKE_C_COMPILE_FEATURES`,
+:variable:`CMAKE_CUDA_COMPILE_FEATURES`, or :variable:`CMAKE_CXX_COMPILE_FEATURES`
+variables, then an error will be reported by CMake.  If the use of the feature requires
 an additional compiler flag, such as ``-std=gnu++11``, the flag will be added
 automatically.
 
diff --git a/share/cmake-3.16/Help/command/target_compile_options.rst b/share/cmake-3.17/Help/command/target_compile_options.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_compile_options.rst
rename to share/cmake-3.17/Help/command/target_compile_options.rst
diff --git a/share/cmake-3.16/Help/command/target_include_directories.rst b/share/cmake-3.17/Help/command/target_include_directories.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_include_directories.rst
rename to share/cmake-3.17/Help/command/target_include_directories.rst
diff --git a/share/cmake-3.16/Help/command/target_link_directories.rst b/share/cmake-3.17/Help/command/target_link_directories.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_link_directories.rst
rename to share/cmake-3.17/Help/command/target_link_directories.rst
diff --git a/share/cmake-3.16/Help/command/target_link_libraries.rst b/share/cmake-3.17/Help/command/target_link_libraries.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_link_libraries.rst
rename to share/cmake-3.17/Help/command/target_link_libraries.rst
diff --git a/share/cmake-3.16/Help/command/target_link_options.rst b/share/cmake-3.17/Help/command/target_link_options.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_link_options.rst
rename to share/cmake-3.17/Help/command/target_link_options.rst
diff --git a/share/cmake-3.16/Help/command/target_precompile_headers.rst b/share/cmake-3.17/Help/command/target_precompile_headers.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_precompile_headers.rst
rename to share/cmake-3.17/Help/command/target_precompile_headers.rst
diff --git a/share/cmake-3.16/Help/command/target_sources.rst b/share/cmake-3.17/Help/command/target_sources.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/target_sources.rst
rename to share/cmake-3.17/Help/command/target_sources.rst
diff --git a/share/cmake-3.16/Help/command/try_compile.rst b/share/cmake-3.17/Help/command/try_compile.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/try_compile.rst
rename to share/cmake-3.17/Help/command/try_compile.rst
diff --git a/share/cmake-3.16/Help/command/try_run.rst b/share/cmake-3.17/Help/command/try_run.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/try_run.rst
rename to share/cmake-3.17/Help/command/try_run.rst
diff --git a/share/cmake-3.16/Help/command/unset.rst b/share/cmake-3.17/Help/command/unset.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/unset.rst
rename to share/cmake-3.17/Help/command/unset.rst
diff --git a/share/cmake-3.16/Help/command/use_mangled_mesa.rst b/share/cmake-3.17/Help/command/use_mangled_mesa.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/use_mangled_mesa.rst
rename to share/cmake-3.17/Help/command/use_mangled_mesa.rst
diff --git a/share/cmake-3.16/Help/command/utility_source.rst b/share/cmake-3.17/Help/command/utility_source.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/utility_source.rst
rename to share/cmake-3.17/Help/command/utility_source.rst
diff --git a/share/cmake-3.16/Help/command/variable_requires.rst b/share/cmake-3.17/Help/command/variable_requires.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/variable_requires.rst
rename to share/cmake-3.17/Help/command/variable_requires.rst
diff --git a/share/cmake-3.16/Help/command/variable_watch.rst b/share/cmake-3.17/Help/command/variable_watch.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/variable_watch.rst
rename to share/cmake-3.17/Help/command/variable_watch.rst
diff --git a/share/cmake-3.16/Help/command/while.rst b/share/cmake-3.17/Help/command/while.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/while.rst
rename to share/cmake-3.17/Help/command/while.rst
diff --git a/share/cmake-3.16/Help/command/write_file.rst b/share/cmake-3.17/Help/command/write_file.rst
similarity index 100%
rename from share/cmake-3.16/Help/command/write_file.rst
rename to share/cmake-3.17/Help/command/write_file.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/archive.rst b/share/cmake-3.17/Help/cpack_gen/archive.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/archive.rst
rename to share/cmake-3.17/Help/cpack_gen/archive.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/bundle.rst b/share/cmake-3.17/Help/cpack_gen/bundle.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/bundle.rst
rename to share/cmake-3.17/Help/cpack_gen/bundle.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/cygwin.rst b/share/cmake-3.17/Help/cpack_gen/cygwin.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/cygwin.rst
rename to share/cmake-3.17/Help/cpack_gen/cygwin.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/deb.rst b/share/cmake-3.17/Help/cpack_gen/deb.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/deb.rst
rename to share/cmake-3.17/Help/cpack_gen/deb.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/dmg.rst b/share/cmake-3.17/Help/cpack_gen/dmg.rst
similarity index 88%
rename from share/cmake-3.16/Help/cpack_gen/dmg.rst
rename to share/cmake-3.17/Help/cpack_gen/dmg.rst
index 1e37889..cede0f2 100644
--- a/share/cmake-3.16/Help/cpack_gen/dmg.rst
+++ b/share/cmake-3.17/Help/cpack_gen/dmg.rst
@@ -54,10 +54,12 @@
 
   Directory where license and menu files for different languages are stored.
   Setting this causes CPack to look for a ``<language>.menu.txt`` and
-  ``<language>.license.txt`` file for every language defined in
-  ``CPACK_DMG_SLA_LANGUAGES``. If both this variable and
+  ``<language>.license.txt`` or ``<language>.license.rtf`` file for every
+  language defined in ``CPACK_DMG_SLA_LANGUAGES``.  If both this variable and
   ``CPACK_RESOURCE_FILE_LICENSE`` are set, CPack will only look for the menu
-  files and use the same license file for all languages.
+  files and use the same license file for all languages.  If both
+  ``<language>.license.txt`` and ``<language>.license.rtf`` exist, the ``.txt``
+  file will be used.
 
 .. variable:: CPACK_DMG_SLA_LANGUAGES
 
@@ -81,6 +83,13 @@
   ``<language>.menu.txt`` and ``<language>.license.txt`` in the directory
   specified by the :variable:`CPACK_DMG_SLA_DIR` variable.
 
+.. variable:: CPACK_DMG_<component>_FILE_NAME
+
+ File name when packaging ``<component>`` as its own DMG
+ (``CPACK_COMPONENTS_GROUPING`` set to IGNORE).
+
+ - Default: ``CPACK_PACKAGE_FILE_NAME-<component>``
+
 .. variable:: CPACK_COMMAND_HDIUTIL
 
  Path to the ``hdiutil(1)`` command used to operate on disk image files on
diff --git a/share/cmake-3.16/Help/cpack_gen/external.rst b/share/cmake-3.17/Help/cpack_gen/external.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/external.rst
rename to share/cmake-3.17/Help/cpack_gen/external.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/freebsd.rst b/share/cmake-3.17/Help/cpack_gen/freebsd.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/freebsd.rst
rename to share/cmake-3.17/Help/cpack_gen/freebsd.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/ifw.rst b/share/cmake-3.17/Help/cpack_gen/ifw.rst
similarity index 89%
rename from share/cmake-3.16/Help/cpack_gen/ifw.rst
rename to share/cmake-3.17/Help/cpack_gen/ifw.rst
index feccd3d..4a9ab99 100644
--- a/share/cmake-3.16/Help/cpack_gen/ifw.rst
+++ b/share/cmake-3.17/Help/cpack_gen/ifw.rst
@@ -1,43 +1,38 @@
 CPack IFW Generator
 -------------------
 
-See :module:`CPackIFW` for details on the CPackIFW module.
-
-.. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
-
-
 Overview
 ^^^^^^^^
 
-CPack ``IFW`` generator helps you to create online and offline
-binary cross-platform installers with a graphical user interface.
+This :manual:`cpack generator <cpack-generators(7)>` generates
+configuration and meta information for the `Qt Installer Framework
+<http://doc.qt.io/qtinstallerframework/index.html>`_ (QtIFW).
 
-CPack IFW generator prepares project installation and generates configuration
-and meta information for QtIFW_ tools.
+QtIFW provides tools and utilities to create installers for
+the platforms supported by `Qt <https://www.qt.io>`_: Linux,
+Microsoft Windows, and macOS.
 
-The QtIFW_ provides a set of tools and utilities to create
-installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
-and macOS.
-
-You should also install QtIFW_ to use CPack ``IFW`` generator.
+To make use of this generator, QtIFW should also be installed.
+The module :module:`CPackIFW` looks for the location of the
+QtIFW command-line utilities.
 
 Hints
 ^^^^^
 
-Generally, the CPack ``IFW`` generator automatically finds QtIFW_ tools,
-but if you don't use a default path for installation of the QtIFW_ tools,
+Generally, the CPack ``IFW`` generator automatically finds QtIFW tools,
+but if you don't use a default path for installation of the QtIFW tools,
 the path may be specified in either a CMake or an environment variable:
 
 .. variable:: CPACK_IFW_ROOT
 
- An CMake variable which specifies the location of the QtIFW_ tool suite.
+ An CMake variable which specifies the location of the QtIFW tool suite.
 
  The variable will be cached in the ``CPackConfig.cmake`` file and used at
  CPack runtime.
 
 .. variable:: QTIFWDIR
 
- An environment variable which specifies the location of the QtIFW_ tool
+ An environment variable which specifies the location of the QtIFW tool
  suite.
 
 .. note::
@@ -53,7 +48,7 @@
 Some variables and command arguments support internationalization via
 CMake script. This is an optional feature.
 
-Installers created by QtIFW_ tools have built-in support for
+Installers created by QtIFW tools have built-in support for
 internationalization and many phrases are localized to many languages,
 but this does not apply to the description of the your components and groups
 that will be distributed.
@@ -185,7 +180,7 @@
  Filename of the generated maintenance tool.
  The platform-specific executable file extension is appended.
 
- By default used QtIFW_ defaults (``maintenancetool``).
+ By default used QtIFW defaults (``maintenancetool``).
 
 .. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
 
@@ -197,19 +192,19 @@
 
  Filename for the configuration of the generated maintenance tool.
 
- By default used QtIFW_ defaults (``maintenancetool.ini``).
+ By default used QtIFW defaults (``maintenancetool.ini``).
 
 .. variable:: CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
 
  Set to ``ON`` if the installation path can contain non-ASCII characters.
 
- Is ``ON`` for QtIFW_ less 2.0 tools.
+ Is ``ON`` for QtIFW less 2.0 tools.
 
 .. variable:: CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
 
  Set to ``OFF`` if the installation path cannot contain space characters.
 
- Is ``ON`` for QtIFW_ less 2.0 tools.
+ Is ``ON`` for QtIFW less 2.0 tools.
 
 .. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
 
@@ -266,14 +261,14 @@
 
  Additional prepared repository dirs that will be used to resolve and
  repack dependent components. This feature available only
- since QtIFW_ 3.1.
+ since QtIFW 3.1.
 
 Tools
 """""
 
 .. variable:: CPACK_IFW_FRAMEWORK_VERSION
 
- The version of used QtIFW_ tools.
+ The version of used QtIFW tools.
 
 .. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
 
diff --git a/share/cmake-3.16/Help/cpack_gen/nsis.rst b/share/cmake-3.17/Help/cpack_gen/nsis.rst
similarity index 86%
rename from share/cmake-3.16/Help/cpack_gen/nsis.rst
rename to share/cmake-3.17/Help/cpack_gen/nsis.rst
index cd2aea6..a310e9f 100644
--- a/share/cmake-3.16/Help/cpack_gen/nsis.rst
+++ b/share/cmake-3.17/Help/cpack_gen/nsis.rst
@@ -128,3 +128,28 @@
   set(CPACK_NSIS_MENU_LINKS
       "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
       "CMake Help" "https://cmake.org" "CMake Web Site")
+
+.. variable:: CPACK_NSIS_UNINSTALL_NAME
+
+ Specify the name of the program to uninstall the version.
+ Default is ``Uninstall``.
+
+.. variable:: CPACK_NSIS_WELCOME_TITLE
+
+  The title to display on the top of the page for the welcome page.
+
+.. variable:: CPACK_NSIS_WELCOME_TITLE_3LINES
+
+ Display the title in the welcome page on 3 lines instead of 2.
+
+.. variable:: CPACK_NSIS_FINISH_TITLE
+
+ The title to display on the top of the page for the finish page.
+
+.. variable:: CPACK_NSIS_FINISH_TITLE_3LINES
+
+ Display the title in the finish page on 3 lines instead of 2.
+
+.. variable:: CPACK_NSIS_MUI_HEADERIMAGE
+
+ The image to display on the header of installers pages.
diff --git a/share/cmake-3.16/Help/cpack_gen/nuget.rst b/share/cmake-3.17/Help/cpack_gen/nuget.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/nuget.rst
rename to share/cmake-3.17/Help/cpack_gen/nuget.rst
diff --git a/share/cmake-3.17/Help/cpack_gen/packagemaker.rst b/share/cmake-3.17/Help/cpack_gen/packagemaker.rst
new file mode 100644
index 0000000..c2a450e
--- /dev/null
+++ b/share/cmake-3.17/Help/cpack_gen/packagemaker.rst
@@ -0,0 +1,79 @@
+CPack PackageMaker Generator
+----------------------------
+
+PackageMaker CPack generator (macOS).
+
+.. deprecated:: 3.17
+
+  Xcode no longer distributes the PackageMaker tools.
+  This CPack generator will be removed in a future version of CPack.
+
+Variables specific to CPack PackageMaker generator
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following variable is specific to installers built on Mac
+macOS using PackageMaker:
+
+.. variable:: CPACK_OSX_PACKAGE_VERSION
+
+ The version of macOS that the resulting PackageMaker archive should be
+ compatible with. Different versions of macOS support different
+ features. For example, CPack can only build component-based installers for
+ macOS 10.4 or newer, and can only build installers that download
+ components on-the-fly for macOS 10.5 or newer. If left blank, this value
+ will be set to the minimum version of macOS that supports the requested
+ features. Set this variable to some value (e.g., 10.4) only if you want to
+ guarantee that your installer will work on that version of macOS, and
+ don't mind missing extra features available in the installer shipping with
+ later versions of macOS.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND
+
+ Adds a background to Distribtion XML if specified. The value contains the
+ path to image in ``Resources`` directory.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_ALIGNMENT
+
+ Adds an ``alignment`` attribute to the background in Distribution XML.
+ Refer to Apple documentation for valid values.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_SCALING
+
+ Adds a ``scaling`` attribute to the background in Distribution XML.
+ Refer to Apple documentation for valid values.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_MIME_TYPE
+
+ Adds a ``mime-type`` attribute to the background in Distribution XML.
+ The option contains MIME type of an image.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_UTI
+
+ Adds an ``uti`` attribute to the background in Distribution XML.
+ The option contains UTI type of an image.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA
+
+ Adds a background for the Dark Aqua theme to Distribution XML if
+ specified. The value contains the path to image in ``Resources``
+ directory.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_ALIGNMENT
+
+ Does the same as :variable:`CPACK_PACKAGEMAKER_BACKGROUND_ALIGNMENT` option,
+ but for the dark theme.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_SCALING
+
+ Does the same as :variable:`CPACK_PACKAGEMAKER_BACKGROUND_SCALING` option,
+ but for the dark theme.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_MIME_TYPE
+
+ Does the same as :variable:`CPACK_PACKAGEMAKER_BACKGROUND_MIME_TYPE` option,
+ but for the dark theme.
+
+.. variable:: CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_UTI
+
+ Does the same as :variable:`CPACK_PACKAGEMAKER_BACKGROUND_UTI` option,
+ but for the dark theme.
diff --git a/share/cmake-3.17/Help/cpack_gen/productbuild.rst b/share/cmake-3.17/Help/cpack_gen/productbuild.rst
new file mode 100644
index 0000000..82b79ae
--- /dev/null
+++ b/share/cmake-3.17/Help/cpack_gen/productbuild.rst
@@ -0,0 +1,118 @@
+CPack productbuild Generator
+----------------------------
+
+productbuild CPack generator (macOS).
+
+Variables specific to CPack productbuild generator
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following variable is specific to installers built on Mac
+macOS using ProductBuild:
+
+.. variable:: CPACK_COMMAND_PRODUCTBUILD
+
+ Path to the ``productbuild(1)`` command used to generate a product archive for
+ the macOS Installer or Mac App Store.  This variable can be used to override
+ the automatically detected command (or specify its location if the
+ auto-detection fails to find it).
+
+.. variable:: CPACK_PRODUCTBUILD_IDENTITY_NAME
+
+ Adds a digital signature to the resulting package.
+
+
+.. variable:: CPACK_PRODUCTBUILD_KEYCHAIN_PATH
+
+ Specify a specific keychain to search for the signing identity.
+
+
+.. variable:: CPACK_COMMAND_PKGBUILD
+
+ Path to the ``pkgbuild(1)`` command used to generate an macOS component package
+ on macOS.  This variable can be used to override the automatically detected
+ command (or specify its location if the auto-detection fails to find it).
+
+
+.. variable:: CPACK_PKGBUILD_IDENTITY_NAME
+
+ Adds a digital signature to the resulting package.
+
+
+.. variable:: CPACK_PKGBUILD_KEYCHAIN_PATH
+
+ Specify a specific keychain to search for the signing identity.
+
+
+.. variable:: CPACK_PREFLIGHT_<COMP>_SCRIPT
+
+ Full path to a file that will be used as the ``preinstall`` script for the
+ named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
+ component name.  No ``preinstall`` script is added if this variable is not
+ defined for a given component.
+
+
+.. variable:: CPACK_POSTFLIGHT_<COMP>_SCRIPT
+
+ Full path to a file that will be used as the ``postinstall`` script for the
+ named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
+ component name.  No ``postinstall`` script is added if this variable is not
+ defined for a given component.
+
+.. variable:: CPACK_PRODUCTBUILD_RESOURCES_DIR
+
+ If specified the productbuild generator copies files from this directory
+ (including subdirectories) to the ``Resources`` directory. This is done
+ before the :variable:`CPACK_RESOURCE_FILE_WELCOME`,
+ :variable:`CPACK_RESOURCE_FILE_README`, and
+ :variable:`CPACK_RESOURCE_FILE_LICENSE` files are copied.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND
+
+ Adds a background to Distribtion XML if specified. The value contains the
+ path to image in ``Resources`` directory.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT
+
+ Adds an ``alignment`` attribute to the background in Distribution XML.
+ Refer to Apple documentation for valid values.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_SCALING
+
+ Adds a ``scaling`` attribute to the background in Distribution XML.
+ Refer to Apple documentation for valid values.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE
+
+ Adds a ``mime-type`` attribute to the background in Distribution XML.
+ The option contains MIME type of an image.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_UTI
+
+ Adds an ``uti`` attribute to the background in Distribution XML.
+ The option contains UTI type of an image.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA
+
+ Adds a background for the Dark Aqua theme to Distribution XML if
+ specified. The value contains the path to image in ``Resources``
+ directory.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT
+
+ Does the same as :variable:`CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT` option,
+ but for the dark theme.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING
+
+ Does the same as :variable:`CPACK_PRODUCTBUILD_BACKGROUND_SCALING` option,
+ but for the dark theme.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE
+
+ Does the same as :variable:`CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE` option,
+ but for the dark theme.
+
+.. variable:: CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI
+
+ Does the same as :variable:`CPACK_PRODUCTBUILD_BACKGROUND_UTI` option,
+ but for the dark theme.
diff --git a/share/cmake-3.16/Help/cpack_gen/rpm.rst b/share/cmake-3.17/Help/cpack_gen/rpm.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/rpm.rst
rename to share/cmake-3.17/Help/cpack_gen/rpm.rst
diff --git a/share/cmake-3.16/Help/cpack_gen/wix.rst b/share/cmake-3.17/Help/cpack_gen/wix.rst
similarity index 100%
rename from share/cmake-3.16/Help/cpack_gen/wix.rst
rename to share/cmake-3.17/Help/cpack_gen/wix.rst
diff --git a/share/cmake-3.16/Help/envvar/ASM_DIALECT.rst b/share/cmake-3.17/Help/envvar/ASM_DIALECT.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/ASM_DIALECT.rst
rename to share/cmake-3.17/Help/envvar/ASM_DIALECT.rst
diff --git a/share/cmake-3.16/Help/envvar/ASM_DIALECTFLAGS.rst b/share/cmake-3.17/Help/envvar/ASM_DIALECTFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/ASM_DIALECTFLAGS.rst
rename to share/cmake-3.17/Help/envvar/ASM_DIALECTFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/CC.rst b/share/cmake-3.17/Help/envvar/CC.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CC.rst
rename to share/cmake-3.17/Help/envvar/CC.rst
diff --git a/share/cmake-3.16/Help/envvar/CFLAGS.rst b/share/cmake-3.17/Help/envvar/CFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CFLAGS.rst
rename to share/cmake-3.17/Help/envvar/CFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_BUILD_PARALLEL_LEVEL.rst b/share/cmake-3.17/Help/envvar/CMAKE_BUILD_PARALLEL_LEVEL.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_BUILD_PARALLEL_LEVEL.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_BUILD_PARALLEL_LEVEL.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_CONFIG_TYPE.rst b/share/cmake-3.17/Help/envvar/CMAKE_CONFIG_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_CONFIG_TYPE.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_CONFIG_TYPE.rst
diff --git a/share/cmake-3.17/Help/envvar/CMAKE_EXPORT_COMPILE_COMMANDS.rst b/share/cmake-3.17/Help/envvar/CMAKE_EXPORT_COMPILE_COMMANDS.rst
new file mode 100644
index 0000000..e9e0810
--- /dev/null
+++ b/share/cmake-3.17/Help/envvar/CMAKE_EXPORT_COMPILE_COMMANDS.rst
@@ -0,0 +1,9 @@
+CMAKE_EXPORT_COMPILE_COMMANDS
+-----------------------------
+
+.. include:: ENV_VAR.txt
+
+The default value for :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` when there
+is no explicit configuration given on the first run while creating a new
+build tree.  On later runs in an existing build tree the value persists in
+the cache as :variable:`CMAKE_EXPORT_COMPILE_COMMANDS`.
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_GENERATOR.rst b/share/cmake-3.17/Help/envvar/CMAKE_GENERATOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_GENERATOR.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_GENERATOR.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_GENERATOR_INSTANCE.rst b/share/cmake-3.17/Help/envvar/CMAKE_GENERATOR_INSTANCE.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_GENERATOR_INSTANCE.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_GENERATOR_INSTANCE.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_GENERATOR_PLATFORM.rst b/share/cmake-3.17/Help/envvar/CMAKE_GENERATOR_PLATFORM.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_GENERATOR_PLATFORM.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_GENERATOR_PLATFORM.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_GENERATOR_TOOLSET.rst b/share/cmake-3.17/Help/envvar/CMAKE_GENERATOR_TOOLSET.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_GENERATOR_TOOLSET.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_GENERATOR_TOOLSET.rst
diff --git a/share/cmake-3.17/Help/envvar/CMAKE_LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.17/Help/envvar/CMAKE_LANG_COMPILER_LAUNCHER.rst
new file mode 100644
index 0000000..4f91e9a
--- /dev/null
+++ b/share/cmake-3.17/Help/envvar/CMAKE_LANG_COMPILER_LAUNCHER.rst
@@ -0,0 +1,10 @@
+CMAKE_<LANG>_COMPILER_LAUNCHER
+------------------------------
+
+.. include:: ENV_VAR.txt
+
+Default compiler launcher to use for the specified language. Will only be used
+by CMake to initialize the variable on the first configuration. Afterwards, it
+is available through the cache setting of the variable of the same name. For
+any configuration run (including the first), the environment variable will be
+ignored if the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable is defined.
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst b/share/cmake-3.17/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_NO_VERBOSE.rst b/share/cmake-3.17/Help/envvar/CMAKE_NO_VERBOSE.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_NO_VERBOSE.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_NO_VERBOSE.rst
diff --git a/share/cmake-3.16/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst b/share/cmake-3.17/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst
rename to share/cmake-3.17/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst
diff --git a/share/cmake-3.16/Help/envvar/CSFLAGS.rst b/share/cmake-3.17/Help/envvar/CSFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CSFLAGS.rst
rename to share/cmake-3.17/Help/envvar/CSFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst b/share/cmake-3.17/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst
rename to share/cmake-3.17/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst
diff --git a/share/cmake-3.16/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst b/share/cmake-3.17/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst
rename to share/cmake-3.17/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst
diff --git a/share/cmake-3.16/Help/envvar/CTEST_PARALLEL_LEVEL.rst b/share/cmake-3.17/Help/envvar/CTEST_PARALLEL_LEVEL.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CTEST_PARALLEL_LEVEL.rst
rename to share/cmake-3.17/Help/envvar/CTEST_PARALLEL_LEVEL.rst
diff --git a/share/cmake-3.16/Help/envvar/CTEST_PROGRESS_OUTPUT.rst b/share/cmake-3.17/Help/envvar/CTEST_PROGRESS_OUTPUT.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CTEST_PROGRESS_OUTPUT.rst
rename to share/cmake-3.17/Help/envvar/CTEST_PROGRESS_OUTPUT.rst
diff --git a/share/cmake-3.16/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst b/share/cmake-3.17/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst
rename to share/cmake-3.17/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst
diff --git a/share/cmake-3.16/Help/envvar/CUDACXX.rst b/share/cmake-3.17/Help/envvar/CUDACXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CUDACXX.rst
rename to share/cmake-3.17/Help/envvar/CUDACXX.rst
diff --git a/share/cmake-3.16/Help/envvar/CUDAFLAGS.rst b/share/cmake-3.17/Help/envvar/CUDAFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CUDAFLAGS.rst
rename to share/cmake-3.17/Help/envvar/CUDAFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/CUDAHOSTCXX.rst b/share/cmake-3.17/Help/envvar/CUDAHOSTCXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CUDAHOSTCXX.rst
rename to share/cmake-3.17/Help/envvar/CUDAHOSTCXX.rst
diff --git a/share/cmake-3.16/Help/envvar/CXX.rst b/share/cmake-3.17/Help/envvar/CXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CXX.rst
rename to share/cmake-3.17/Help/envvar/CXX.rst
diff --git a/share/cmake-3.16/Help/envvar/CXXFLAGS.rst b/share/cmake-3.17/Help/envvar/CXXFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/CXXFLAGS.rst
rename to share/cmake-3.17/Help/envvar/CXXFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst b/share/cmake-3.17/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst
rename to share/cmake-3.17/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst
diff --git a/share/cmake-3.16/Help/envvar/DESTDIR.rst b/share/cmake-3.17/Help/envvar/DESTDIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/DESTDIR.rst
rename to share/cmake-3.17/Help/envvar/DESTDIR.rst
diff --git a/share/cmake-3.16/Help/envvar/ENV_VAR.txt b/share/cmake-3.17/Help/envvar/ENV_VAR.txt
similarity index 100%
rename from share/cmake-3.16/Help/envvar/ENV_VAR.txt
rename to share/cmake-3.17/Help/envvar/ENV_VAR.txt
diff --git a/share/cmake-3.16/Help/envvar/FC.rst b/share/cmake-3.17/Help/envvar/FC.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/FC.rst
rename to share/cmake-3.17/Help/envvar/FC.rst
diff --git a/share/cmake-3.16/Help/envvar/FFLAGS.rst b/share/cmake-3.17/Help/envvar/FFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/FFLAGS.rst
rename to share/cmake-3.17/Help/envvar/FFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/LDFLAGS.rst b/share/cmake-3.17/Help/envvar/LDFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/LDFLAGS.rst
rename to share/cmake-3.17/Help/envvar/LDFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst b/share/cmake-3.17/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst
rename to share/cmake-3.17/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst
diff --git a/share/cmake-3.16/Help/envvar/PackageName_ROOT.rst b/share/cmake-3.17/Help/envvar/PackageName_ROOT.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/PackageName_ROOT.rst
rename to share/cmake-3.17/Help/envvar/PackageName_ROOT.rst
diff --git a/share/cmake-3.16/Help/envvar/RC.rst b/share/cmake-3.17/Help/envvar/RC.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/RC.rst
rename to share/cmake-3.17/Help/envvar/RC.rst
diff --git a/share/cmake-3.16/Help/envvar/RCFLAGS.rst b/share/cmake-3.17/Help/envvar/RCFLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/RCFLAGS.rst
rename to share/cmake-3.17/Help/envvar/RCFLAGS.rst
diff --git a/share/cmake-3.16/Help/envvar/SWIFTC.rst b/share/cmake-3.17/Help/envvar/SWIFTC.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/SWIFTC.rst
rename to share/cmake-3.17/Help/envvar/SWIFTC.rst
diff --git a/share/cmake-3.16/Help/envvar/VERBOSE.rst b/share/cmake-3.17/Help/envvar/VERBOSE.rst
similarity index 100%
rename from share/cmake-3.16/Help/envvar/VERBOSE.rst
rename to share/cmake-3.17/Help/envvar/VERBOSE.rst
diff --git a/share/cmake-3.16/Help/generator/Borland Makefiles.rst b/share/cmake-3.17/Help/generator/Borland Makefiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Borland Makefiles.rst
rename to share/cmake-3.17/Help/generator/Borland Makefiles.rst
diff --git a/share/cmake-3.16/Help/generator/CodeBlocks.rst b/share/cmake-3.17/Help/generator/CodeBlocks.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/CodeBlocks.rst
rename to share/cmake-3.17/Help/generator/CodeBlocks.rst
diff --git a/share/cmake-3.16/Help/generator/CodeLite.rst b/share/cmake-3.17/Help/generator/CodeLite.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/CodeLite.rst
rename to share/cmake-3.17/Help/generator/CodeLite.rst
diff --git a/share/cmake-3.16/Help/generator/Eclipse CDT4.rst b/share/cmake-3.17/Help/generator/Eclipse CDT4.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Eclipse CDT4.rst
rename to share/cmake-3.17/Help/generator/Eclipse CDT4.rst
diff --git a/share/cmake-3.16/Help/generator/Green Hills MULTI.rst b/share/cmake-3.17/Help/generator/Green Hills MULTI.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Green Hills MULTI.rst
rename to share/cmake-3.17/Help/generator/Green Hills MULTI.rst
diff --git a/share/cmake-3.16/Help/generator/Kate.rst b/share/cmake-3.17/Help/generator/Kate.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Kate.rst
rename to share/cmake-3.17/Help/generator/Kate.rst
diff --git a/share/cmake-3.16/Help/generator/MSYS Makefiles.rst b/share/cmake-3.17/Help/generator/MSYS Makefiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/MSYS Makefiles.rst
rename to share/cmake-3.17/Help/generator/MSYS Makefiles.rst
diff --git a/share/cmake-3.16/Help/generator/MinGW Makefiles.rst b/share/cmake-3.17/Help/generator/MinGW Makefiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/MinGW Makefiles.rst
rename to share/cmake-3.17/Help/generator/MinGW Makefiles.rst
diff --git a/share/cmake-3.16/Help/generator/NMake Makefiles JOM.rst b/share/cmake-3.17/Help/generator/NMake Makefiles JOM.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/NMake Makefiles JOM.rst
rename to share/cmake-3.17/Help/generator/NMake Makefiles JOM.rst
diff --git a/share/cmake-3.16/Help/generator/NMake Makefiles.rst b/share/cmake-3.17/Help/generator/NMake Makefiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/NMake Makefiles.rst
rename to share/cmake-3.17/Help/generator/NMake Makefiles.rst
diff --git a/share/cmake-3.17/Help/generator/Ninja Multi-Config.rst b/share/cmake-3.17/Help/generator/Ninja Multi-Config.rst
new file mode 100644
index 0000000..1f68535
--- /dev/null
+++ b/share/cmake-3.17/Help/generator/Ninja Multi-Config.rst
@@ -0,0 +1,121 @@
+Ninja Multi-Config
+------------------
+
+Generates multiple ``build-<Config>.ninja`` files.
+
+This generator is very much like the :generator:`Ninja` generator, but with
+some key differences. Only these differences will be discussed in this
+document.
+
+Unlike the :generator:`Ninja` generator, ``Ninja Multi-Config`` generates
+multiple configurations at once with :variable:`CMAKE_CONFIGURATION_TYPES`
+instead of only one configuration with :variable:`CMAKE_BUILD_TYPE`. One
+``build-<Config>.ninja`` file will be generated for each of these
+configurations (with ``<Config>`` being the configuration name.) These files
+are intended to be run with ``ninja -f build-<Config>.ninja``. A
+``build.ninja`` file is also generated, using the configuration from either
+:variable:`CMAKE_DEFAULT_BUILD_TYPE` or the first item from
+:variable:`CMAKE_CONFIGURATION_TYPES`.
+
+``cmake --build . --config <Config>`` will always use ``build-<Config>.ninja``
+to build. If no ``--config`` argument is specified, ``cmake --build .`` will
+default to ``build-Debug.ninja``, unless a ``build.ninja`` is generated (see
+below), in which case that will be used instead.
+
+Each ``build-<Config>.ninja`` file contains ``<target>`` targets as well as
+``<target>:<Config>`` targets, where ``<Config>`` is the same as the
+configuration specified in ``build-<Config>.ninja`` Additionally, if
+cross-config mode is enabled, ``build-<Config>.ninja`` may contain
+``<target>:<OtherConfig>`` targets, where ``<OtherConfig>`` is a cross-config,
+as well as ``<target>:all``, which builds the target in all cross-configs. See
+below for how to enable cross-config mode.
+
+The ``Ninja Multi-Config`` generator recognizes the following variables:
+
+:variable:`CMAKE_CONFIGURATION_TYPES`
+  Specifies the total set of configurations to build. See the variable's
+  documentation for more information.
+
+:variable:`CMAKE_CROSS_CONFIGS`
+  Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of
+  configurations available from all ``build-<Config>.ninja`` files.
+  This variable activates cross-config mode.
+  Targets from each config specified in this variable can be built from any
+  ``build-<Config>.ninja`` file. Custom commands will use the configuration
+  native to ``build-<Config>.ninja``. If it is set to ``all``, all
+  configurations from :variable:`CMAKE_CONFIGURATION_TYPES` are cross-configs.
+  If it is not specified, or empty, each ``build-<Config>.ninja`` file will
+  only contain build rules for its own configuration.
+
+  The value of this variable must be a subset of
+  :variable:`CMAKE_CONFIGURATION_TYPES`.
+
+:variable:`CMAKE_DEFAULT_BUILD_TYPE`
+  Specifies the configuration to use by default in a ``build.ninja`` file. If
+  this variable is specified, ``build.ninja`` uses build rules from
+  ``build-<Config>.ninja`` by default. All custom commands are executed with
+  this configuration. If the variable is not specified, the first item from
+  :variable:`CMAKE_CONFIGURATION_TYPES` is used instead.
+
+  The value of this variable must be one of the items from
+  :variable:`CMAKE_CONFIGURATION_TYPES`.
+
+:variable:`CMAKE_DEFAULT_CONFIGS`
+  Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of
+  configurations to build for a target in ``build.ninja``
+  if no ``:<Config>`` suffix is specified. If it is set to ``all``, all
+  configurations from :variable:`CMAKE_CROSS_CONFIGS` are used. If
+  it is not specified, it defaults to
+  :variable:`CMAKE_DEFAULT_BUILD_TYPE`.
+
+  For example, if you set
+  :variable:`CMAKE_DEFAULT_BUILD_TYPE` to ``Release``, but
+  set :variable:`CMAKE_DEFAULT_CONFIGS` to ``Debug`` or ``all``,
+  all ``<target>`` aliases in ``build.ninja`` will resolve to
+  ``<target>:Debug`` or ``<target>:all``, but custom commands will still use
+  the ``Release`` configuration.
+
+  The value of this variable must be a subset of
+  :variable:`CMAKE_CROSS_CONFIGS` or be the same as
+  :variable:`CMAKE_DEFAULT_BUILD_TYPE`. It must not be
+  specified if :variable:`CMAKE_DEFAULT_BUILD_TYPE` or
+  :variable:`CMAKE_CROSS_CONFIGS` is not used.
+
+Consider the following example:
+
+.. code-block:: cmake
+
+  cmake_minimum_required(VERSION 3.16)
+  project(MultiConfigNinja C)
+
+  add_executable(generator generator.c)
+  add_custom_command(OUTPUT generated.c COMMAND generator generated.c)
+  add_library(generated ${CMAKE_BINARY_DIR}/generated.c)
+
+Now assume you configure the project with ``Ninja Multi-Config`` and run one of
+the following commands:
+
+.. code-block:: shell
+
+  ninja -f build-Debug.ninja generated
+  # OR
+  cmake --build . --config Debug --target generated
+
+This would build the ``Debug`` configuration of ``generator``, which would be
+used to generate ``generated.c``, which would be used to build the ``Debug``
+configuration of ``generated``.
+
+But if :variable:`CMAKE_CROSS_CONFIGS` is set to ``all``, and you run the
+following instead:
+
+.. code-block:: shell
+
+  ninja -f build-Release.ninja generated:Debug
+  # OR
+  cmake --build . --config Release --target generated:Debug
+
+This would build the ``Release`` configuration of ``generator``, which would be
+used to generate ``generated.c``, which would be used to build the ``Debug``
+configuration of ``generated``. This is useful for running a release-optimized
+version of a generator utility while still building the debug version of the
+targets built with the generated code.
diff --git a/share/cmake-3.16/Help/generator/Ninja.rst b/share/cmake-3.17/Help/generator/Ninja.rst
similarity index 87%
rename from share/cmake-3.16/Help/generator/Ninja.rst
rename to share/cmake-3.17/Help/generator/Ninja.rst
index c75d2c4..275055d 100644
--- a/share/cmake-3.16/Help/generator/Ninja.rst
+++ b/share/cmake-3.17/Help/generator/Ninja.rst
@@ -1,7 +1,7 @@
 Ninja
 -----
 
-Generates build.ninja files.
+Generates ``build.ninja`` files.
 
 A ``build.ninja`` file is generated into the build tree.  Use the ninja
 program to build the project through the ``all`` target and install the
@@ -38,3 +38,9 @@
 a branch of Ninja with the required features on `github.com/Kitware/ninja`_.
 
 .. _`github.com/Kitware/ninja`: https://github.com/Kitware/ninja/tree/features-for-fortran#readme
+
+See Also
+^^^^^^^^
+
+The :generator:`Ninja Multi-Config` generator is similar to the ``Ninja``
+generator, but generates multiple configurations at once.
diff --git a/share/cmake-3.16/Help/generator/Sublime Text 2.rst b/share/cmake-3.17/Help/generator/Sublime Text 2.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Sublime Text 2.rst
rename to share/cmake-3.17/Help/generator/Sublime Text 2.rst
diff --git a/share/cmake-3.16/Help/generator/Unix Makefiles.rst b/share/cmake-3.17/Help/generator/Unix Makefiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Unix Makefiles.rst
rename to share/cmake-3.17/Help/generator/Unix Makefiles.rst
diff --git a/share/cmake-3.16/Help/generator/VS_TOOLSET_HOST_ARCH.txt b/share/cmake-3.17/Help/generator/VS_TOOLSET_HOST_ARCH.txt
similarity index 100%
rename from share/cmake-3.16/Help/generator/VS_TOOLSET_HOST_ARCH.txt
rename to share/cmake-3.17/Help/generator/VS_TOOLSET_HOST_ARCH.txt
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 10 2010.rst b/share/cmake-3.17/Help/generator/Visual Studio 10 2010.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 10 2010.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 10 2010.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 11 2012.rst b/share/cmake-3.17/Help/generator/Visual Studio 11 2012.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 11 2012.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 11 2012.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 12 2013.rst b/share/cmake-3.17/Help/generator/Visual Studio 12 2013.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 12 2013.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 12 2013.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 14 2015.rst b/share/cmake-3.17/Help/generator/Visual Studio 14 2015.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 14 2015.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 14 2015.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 15 2017.rst b/share/cmake-3.17/Help/generator/Visual Studio 15 2017.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 15 2017.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 15 2017.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 16 2019.rst b/share/cmake-3.17/Help/generator/Visual Studio 16 2019.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 16 2019.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 16 2019.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 6.rst b/share/cmake-3.17/Help/generator/Visual Studio 6.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 6.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 6.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 7 .NET 2003.rst b/share/cmake-3.17/Help/generator/Visual Studio 7 .NET 2003.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 7 .NET 2003.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 7 .NET 2003.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 7.rst b/share/cmake-3.17/Help/generator/Visual Studio 7.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 7.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 7.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 8 2005.rst b/share/cmake-3.17/Help/generator/Visual Studio 8 2005.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 8 2005.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 8 2005.rst
diff --git a/share/cmake-3.16/Help/generator/Visual Studio 9 2008.rst b/share/cmake-3.17/Help/generator/Visual Studio 9 2008.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Visual Studio 9 2008.rst
rename to share/cmake-3.17/Help/generator/Visual Studio 9 2008.rst
diff --git a/share/cmake-3.16/Help/generator/Watcom WMake.rst b/share/cmake-3.17/Help/generator/Watcom WMake.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Watcom WMake.rst
rename to share/cmake-3.17/Help/generator/Watcom WMake.rst
diff --git a/share/cmake-3.16/Help/generator/Xcode.rst b/share/cmake-3.17/Help/generator/Xcode.rst
similarity index 100%
rename from share/cmake-3.16/Help/generator/Xcode.rst
rename to share/cmake-3.17/Help/generator/Xcode.rst
diff --git a/share/cmake-3.16/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt b/share/cmake-3.17/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
similarity index 100%
rename from share/cmake-3.16/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
rename to share/cmake-3.17/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
diff --git a/share/cmake-3.16/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt b/share/cmake-3.17/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
similarity index 100%
rename from share/cmake-3.16/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
rename to share/cmake-3.17/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
diff --git a/share/cmake-3.16/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt b/share/cmake-3.17/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
similarity index 100%
rename from share/cmake-3.16/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
rename to share/cmake-3.17/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
diff --git a/share/cmake-3.17/Help/index.rst b/share/cmake-3.17/Help/index.rst
new file mode 100644
index 0000000..4d9a9c8
--- /dev/null
+++ b/share/cmake-3.17/Help/index.rst
@@ -0,0 +1,104 @@
+.. title:: CMake Reference Documentation
+
+Introduction
+############
+
+CMake is a tool to manage building of source code.  Originally, CMake was
+designed as a generator for various dialects of ``Makefile``, today
+CMake generates modern buildsystems such as ``Ninja`` as well as project
+files for IDEs such as Visual Studio and Xcode.
+
+CMake is widely used for the C and C++ languages, but it may be used to
+build source code of other languages too.
+
+People encountering CMake for the first time may have different initial
+goals.  To learn how to build a source code package downloaded from the
+internet, start with the :guide:`User Interaction Guide`.
+This will detail the steps needed to run the :manual:`cmake(1)` or
+:manual:`cmake-gui(1)` executable and how to choose a generator, and
+how to complete the build.
+
+The :guide:`Using Dependencies Guide` is aimed at developers
+wishing to get started using a third-party library.
+
+For developers starting a project using CMake, the :guide:`CMake Tutorial`
+is a suitable starting point.  The :manual:`cmake-buildsystem(7)`
+manual is aimed at developers expanding their knowledge of maintaining
+a buildsystem and becoming familiar with the build targets that
+can be represented in CMake.  The :manual:`cmake-packages(7)` manual
+explains how to create packages which can easily be consumed by
+third-party CMake-based buildsystems.
+
+Command-Line Tools
+##################
+
+.. toctree::
+   :maxdepth: 1
+
+   /manual/cmake.1
+   /manual/ctest.1
+   /manual/cpack.1
+
+Interactive Dialogs
+###################
+
+.. toctree::
+   :maxdepth: 1
+
+   /manual/cmake-gui.1
+   /manual/ccmake.1
+
+Reference Manuals
+#################
+
+.. toctree::
+   :maxdepth: 1
+
+   /manual/cmake-buildsystem.7
+   /manual/cmake-commands.7
+   /manual/cmake-compile-features.7
+   /manual/cmake-developer.7
+   /manual/cmake-env-variables.7
+   /manual/cmake-file-api.7
+   /manual/cmake-generator-expressions.7
+   /manual/cmake-generators.7
+   /manual/cmake-language.7
+   /manual/cmake-modules.7
+   /manual/cmake-packages.7
+   /manual/cmake-policies.7
+   /manual/cmake-properties.7
+   /manual/cmake-qt.7
+   /manual/cmake-server.7
+   /manual/cmake-toolchains.7
+   /manual/cmake-variables.7
+   /manual/cpack-generators.7
+
+.. only:: not man
+
+ Guides
+ ######
+
+ .. toctree::
+    :maxdepth: 1
+
+    /guide/tutorial/index
+    /guide/user-interaction/index
+    /guide/using-dependencies/index
+
+.. only:: html or text
+
+ Release Notes
+ #############
+
+ .. toctree::
+    :maxdepth: 1
+
+    /release/index
+
+.. only:: html
+
+ Index and Search
+ ################
+
+ * :ref:`genindex`
+ * :ref:`search`
diff --git a/share/cmake-3.17/Help/manual/ID_RESERVE.txt b/share/cmake-3.17/Help/manual/ID_RESERVE.txt
new file mode 100644
index 0000000..be2b163
--- /dev/null
+++ b/share/cmake-3.17/Help/manual/ID_RESERVE.txt
@@ -0,0 +1,7 @@
+.. note::
+
+  CMake reserves identifiers that:
+
+  * begin with ``CMAKE_`` (upper-, lower-, or mixed-case), or
+  * begin with ``_CMAKE_`` (upper-, lower-, or mixed-case), or
+  * begin with ``_`` followed by the name of any :manual:`CMake Command <cmake-commands(7)>`.
diff --git a/share/cmake-3.16/Help/manual/LINKS.txt b/share/cmake-3.17/Help/manual/LINKS.txt
similarity index 100%
rename from share/cmake-3.16/Help/manual/LINKS.txt
rename to share/cmake-3.17/Help/manual/LINKS.txt
diff --git a/share/cmake-3.16/Help/manual/OPTIONS_BUILD.txt b/share/cmake-3.17/Help/manual/OPTIONS_BUILD.txt
similarity index 100%
rename from share/cmake-3.16/Help/manual/OPTIONS_BUILD.txt
rename to share/cmake-3.17/Help/manual/OPTIONS_BUILD.txt
diff --git a/share/cmake-3.16/Help/manual/OPTIONS_HELP.txt b/share/cmake-3.17/Help/manual/OPTIONS_HELP.txt
similarity index 100%
rename from share/cmake-3.16/Help/manual/OPTIONS_HELP.txt
rename to share/cmake-3.17/Help/manual/OPTIONS_HELP.txt
diff --git a/share/cmake-3.17/Help/manual/VS-Choose-Arch.png b/share/cmake-3.17/Help/manual/VS-Choose-Arch.png
new file mode 100644
index 0000000..816b0f4
--- /dev/null
+++ b/share/cmake-3.17/Help/manual/VS-Choose-Arch.png
Binary files differ
diff --git a/share/cmake-3.16/Help/manual/ccmake.1.rst b/share/cmake-3.17/Help/manual/ccmake.1.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/ccmake.1.rst
rename to share/cmake-3.17/Help/manual/ccmake.1.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-buildsystem.7.rst b/share/cmake-3.17/Help/manual/cmake-buildsystem.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-buildsystem.7.rst
rename to share/cmake-3.17/Help/manual/cmake-buildsystem.7.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-commands.7.rst b/share/cmake-3.17/Help/manual/cmake-commands.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-commands.7.rst
rename to share/cmake-3.17/Help/manual/cmake-commands.7.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-compile-features.7.rst b/share/cmake-3.17/Help/manual/cmake-compile-features.7.rst
similarity index 96%
rename from share/cmake-3.16/Help/manual/cmake-compile-features.7.rst
rename to share/cmake-3.17/Help/manual/cmake-compile-features.7.rst
index a14e322..05dc038 100644
--- a/share/cmake-3.16/Help/manual/cmake-compile-features.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-compile-features.7.rst
@@ -19,11 +19,11 @@
 CMake provides a primary user interface based on granular handling of
 the features, not the language standard that introduced the feature.
 
-The :prop_gbl:`CMAKE_C_KNOWN_FEATURES` and
-:prop_gbl:`CMAKE_CXX_KNOWN_FEATURES` global properties contain all the
+The :prop_gbl:`CMAKE_C_KNOWN_FEATURES`, :prop_gbl:`CMAKE_CUDA_KNOWN_FEATURES`,
+and :prop_gbl:`CMAKE_CXX_KNOWN_FEATURES` global properties contain all the
 features known to CMake, regardless of compiler support for the feature.
-The :variable:`CMAKE_C_COMPILE_FEATURES` and
-:variable:`CMAKE_CXX_COMPILE_FEATURES` variables contain all features
+The :variable:`CMAKE_C_COMPILE_FEATURES`, :variable:`CMAKE_CUDA_COMPILE_FEATURES`
+, and :variable:`CMAKE_CXX_COMPILE_FEATURES` variables contain all features
 CMake knows are known to the compiler, regardless of language standard
 or compile flags needed to use them.
 
@@ -368,8 +368,9 @@
 * all compilers and versions listed above with only meta-features for C++.
 * ``TI``: Texas Instruments compiler.
 
-CMake is currently aware of the :prop_tgt:`CUDA standards <CUDA_STANDARD>`
-from the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
+CMake is currently aware of the :prop_tgt:`CUDA standards <CUDA_STANDARD>` and
+their associated meta-features (e.g. ``cuda_std_11``) available from the
+following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
 versions specified for each:
 
 * ``NVIDIA``: NVIDIA nvcc compiler 7.5+.
diff --git a/share/cmake-3.16/Help/manual/cmake-developer.7.rst b/share/cmake-3.17/Help/manual/cmake-developer.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-developer.7.rst
rename to share/cmake-3.17/Help/manual/cmake-developer.7.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-env-variables.7.rst b/share/cmake-3.17/Help/manual/cmake-env-variables.7.rst
similarity index 95%
rename from share/cmake-3.16/Help/manual/cmake-env-variables.7.rst
rename to share/cmake-3.17/Help/manual/cmake-env-variables.7.rst
index 96ceb94..adfc39e 100644
--- a/share/cmake-3.16/Help/manual/cmake-env-variables.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-env-variables.7.rst
@@ -23,10 +23,12 @@
 
    /envvar/CMAKE_BUILD_PARALLEL_LEVEL
    /envvar/CMAKE_CONFIG_TYPE
+   /envvar/CMAKE_EXPORT_COMPILE_COMMANDS
    /envvar/CMAKE_GENERATOR
    /envvar/CMAKE_GENERATOR_INSTANCE
    /envvar/CMAKE_GENERATOR_PLATFORM
    /envvar/CMAKE_GENERATOR_TOOLSET
+   /envvar/CMAKE_LANG_COMPILER_LAUNCHER
    /envvar/CMAKE_MSVCIDE_RUN_PATH
    /envvar/CMAKE_NO_VERBOSE
    /envvar/CMAKE_OSX_ARCHITECTURES
diff --git a/share/cmake-3.16/Help/manual/cmake-file-api.7.rst b/share/cmake-3.17/Help/manual/cmake-file-api.7.rst
similarity index 99%
rename from share/cmake-3.16/Help/manual/cmake-file-api.7.rst
rename to share/cmake-3.17/Help/manual/cmake-file-api.7.rst
index 04b6ed2..12eecd9 100644
--- a/share/cmake-3.16/Help/manual/cmake-file-api.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-file-api.7.rst
@@ -199,6 +199,7 @@
         "root": "/prefix/share/cmake-3.14"
       },
       "generator": {
+        "multiConfig": false,
         "name": "Unix Makefiles"
       }
     },
@@ -267,6 +268,9 @@
     A JSON object describing the CMake generator used for the build.
     It has members:
 
+    ``multiConfig``
+      A boolean specifying whether the generator supports multiple output
+      configurations.
     ``name``
       A string specifying the name of the generator.
     ``platform``
diff --git a/share/cmake-3.16/Help/manual/cmake-generator-expressions.7.rst b/share/cmake-3.17/Help/manual/cmake-generator-expressions.7.rst
similarity index 99%
rename from share/cmake-3.16/Help/manual/cmake-generator-expressions.7.rst
rename to share/cmake-3.17/Help/manual/cmake-generator-expressions.7.rst
index 75f4bd4..691481b 100644
--- a/share/cmake-3.16/Help/manual/cmake-generator-expressions.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-generator-expressions.7.rst
@@ -596,7 +596,8 @@
   requirement.
 ``$<INSTALL_PREFIX>``
   Content of the install prefix when the target is exported via
-  :command:`install(EXPORT)` and empty otherwise.
+  :command:`install(EXPORT)`, or when evaluated in
+  :prop_tgt:`INSTALL_NAME_DIR`, and empty otherwise.
 
 Output-Related Expressions
 --------------------------
diff --git a/share/cmake-3.16/Help/manual/cmake-generators.7.rst b/share/cmake-3.17/Help/manual/cmake-generators.7.rst
similarity index 97%
rename from share/cmake-3.16/Help/manual/cmake-generators.7.rst
rename to share/cmake-3.17/Help/manual/cmake-generators.7.rst
index 41f7652..6f88c0a 100644
--- a/share/cmake-3.16/Help/manual/cmake-generators.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-generators.7.rst
@@ -52,13 +52,14 @@
    /generator/Unix Makefiles
    /generator/Watcom WMake
 
-Ninja Generator
-^^^^^^^^^^^^^^^
+Ninja Generators
+^^^^^^^^^^^^^^^^
 
 .. toctree::
    :maxdepth: 1
 
    /generator/Ninja
+   /generator/Ninja Multi-Config
 
 .. _`IDE Build Tool Generators`:
 
diff --git a/share/cmake-3.16/Help/manual/cmake-gui.1.rst b/share/cmake-3.17/Help/manual/cmake-gui.1.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-gui.1.rst
rename to share/cmake-3.17/Help/manual/cmake-gui.1.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-language.7.rst b/share/cmake-3.17/Help/manual/cmake-language.7.rst
similarity index 99%
rename from share/cmake-3.16/Help/manual/cmake-language.7.rst
rename to share/cmake-3.17/Help/manual/cmake-language.7.rst
index 4ca8e3a..b7f0861 100644
--- a/share/cmake-3.16/Help/manual/cmake-language.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-language.7.rst
@@ -567,6 +567,8 @@
 that are provided by CMake or have meaning to CMake when set
 by project code.
 
+.. include:: ID_RESERVE.txt
+
 .. _`CMake Language Environment Variables`:
 
 Environment Variables
diff --git a/share/cmake-3.16/Help/manual/cmake-modules.7.rst b/share/cmake-3.17/Help/manual/cmake-modules.7.rst
similarity index 99%
rename from share/cmake-3.16/Help/manual/cmake-modules.7.rst
rename to share/cmake-3.17/Help/manual/cmake-modules.7.rst
index c60dc40..be64112 100644
--- a/share/cmake-3.16/Help/manual/cmake-modules.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-modules.7.rst
@@ -122,6 +122,7 @@
    /module/FindCABLE
    /module/FindCoin3D
    /module/FindCups
+   /module/FindCUDAToolkit
    /module/FindCURL
    /module/FindCurses
    /module/FindCVS
diff --git a/share/cmake-3.16/Help/manual/cmake-packages.7.rst b/share/cmake-3.17/Help/manual/cmake-packages.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-packages.7.rst
rename to share/cmake-3.17/Help/manual/cmake-packages.7.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-policies.7.rst b/share/cmake-3.17/Help/manual/cmake-policies.7.rst
similarity index 95%
rename from share/cmake-3.16/Help/manual/cmake-policies.7.rst
rename to share/cmake-3.17/Help/manual/cmake-policies.7.rst
index 44ea1a8..c256250 100644
--- a/share/cmake-3.16/Help/manual/cmake-policies.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-policies.7.rst
@@ -51,6 +51,18 @@
 to determine whether to report an error on use of deprecated macros or
 functions.
 
+Policies Introduced by CMake 3.17
+=================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0102: mark_as_advanced() does nothing if a cache entry does not exist. </policy/CMP0102>
+   CMP0101: target_compile_options honors BEFORE keyword in all scopes. </policy/CMP0101>
+   CMP0100: Let AUTOMOC and AUTOUIC process .hh header files. </policy/CMP0100>
+   CMP0099: Link properties are transitive over private dependency on static libraries. </policy/CMP0099>
+   CMP0098: FindFLEX runs flex in CMAKE_CURRENT_BINARY_DIR when executing. </policy/CMP0098>
+
 Policies Introduced by CMake 3.16
 =================================
 
diff --git a/share/cmake-3.16/Help/manual/cmake-properties.7.rst b/share/cmake-3.17/Help/manual/cmake-properties.7.rst
similarity index 97%
rename from share/cmake-3.16/Help/manual/cmake-properties.7.rst
rename to share/cmake-3.17/Help/manual/cmake-properties.7.rst
index e704371..060a072 100644
--- a/share/cmake-3.16/Help/manual/cmake-properties.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-properties.7.rst
@@ -22,10 +22,13 @@
    /prop_gbl/AUTOMOC_TARGETS_FOLDER
    /prop_gbl/AUTORCC_SOURCE_GROUP
    /prop_gbl/CMAKE_C_KNOWN_FEATURES
+   /prop_gbl/CMAKE_CUDA_KNOWN_FEATURES
    /prop_gbl/CMAKE_CXX_KNOWN_FEATURES
    /prop_gbl/CMAKE_ROLE
    /prop_gbl/DEBUG_CONFIGURATIONS
    /prop_gbl/DISABLED_FEATURES
+   /prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS
+   /prop_gbl/ECLIPSE_EXTRA_NATURES
    /prop_gbl/ENABLED_FEATURES
    /prop_gbl/ENABLED_LANGUAGES
    /prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS
@@ -36,12 +39,10 @@
    /prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE
    /prop_gbl/GLOBAL_DEPENDS_NO_CYCLES
    /prop_gbl/IN_TRY_COMPILE
+   /prop_gbl/JOB_POOLS
    /prop_gbl/PACKAGES_FOUND
    /prop_gbl/PACKAGES_NOT_FOUND
-   /prop_gbl/JOB_POOLS
    /prop_gbl/PREDEFINED_TARGETS_FOLDER
-   /prop_gbl/ECLIPSE_EXTRA_NATURES
-   /prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS
    /prop_gbl/REPORT_UNDEFINED_PROPERTIES
    /prop_gbl/RULE_LAUNCH_COMPILE
    /prop_gbl/RULE_LAUNCH_CUSTOM
@@ -103,6 +104,7 @@
    :maxdepth: 1
 
    /prop_tgt/ADDITIONAL_CLEAN_FILES
+   /prop_tgt/AIX_EXPORT_ALL_SYMBOLS
    /prop_tgt/ALIASED_TARGET
    /prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS
    /prop_tgt/ANDROID_API
@@ -129,20 +131,20 @@
    /prop_tgt/AUTOGEN_ORIGIN_DEPENDS
    /prop_tgt/AUTOGEN_PARALLEL
    /prop_tgt/AUTOGEN_TARGET_DEPENDS
+   /prop_tgt/AUTOMOC
    /prop_tgt/AUTOMOC_COMPILER_PREDEFINES
    /prop_tgt/AUTOMOC_DEPEND_FILTERS
    /prop_tgt/AUTOMOC_EXECUTABLE
    /prop_tgt/AUTOMOC_MACRO_NAMES
    /prop_tgt/AUTOMOC_MOC_OPTIONS
    /prop_tgt/AUTOMOC_PATH_PREFIX
-   /prop_tgt/AUTOMOC
+   /prop_tgt/AUTORCC
+   /prop_tgt/AUTORCC_EXECUTABLE
+   /prop_tgt/AUTORCC_OPTIONS
    /prop_tgt/AUTOUIC
    /prop_tgt/AUTOUIC_EXECUTABLE
    /prop_tgt/AUTOUIC_OPTIONS
    /prop_tgt/AUTOUIC_SEARCH_PATHS
-   /prop_tgt/AUTORCC
-   /prop_tgt/AUTORCC_EXECUTABLE
-   /prop_tgt/AUTORCC_OPTIONS
    /prop_tgt/BINARY_DIR
    /prop_tgt/BUILD_RPATH
    /prop_tgt/BUILD_RPATH_USE_ORIGIN
@@ -172,6 +174,7 @@
    /prop_tgt/CUDA_PTX_COMPILATION
    /prop_tgt/CUDA_SEPARABLE_COMPILATION
    /prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS
+   /prop_tgt/CUDA_RUNTIME_LIBRARY
    /prop_tgt/CUDA_EXTENSIONS
    /prop_tgt/CUDA_STANDARD
    /prop_tgt/CUDA_STANDARD_REQUIRED
@@ -182,7 +185,9 @@
    /prop_tgt/DEFINE_SYMBOL
    /prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY
    /prop_tgt/DEPLOYMENT_ADDITIONAL_FILES
+   /prop_tgt/DEPRECATION
    /prop_tgt/DISABLE_PRECOMPILE_HEADERS
+   /prop_tgt/DOTNET_TARGET_FRAMEWORK
    /prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION
    /prop_tgt/EchoString
    /prop_tgt/ENABLE_EXPORTS
@@ -251,6 +256,7 @@
    /prop_tgt/IOS_INSTALL_COMBINED
    /prop_tgt/JOB_POOL_COMPILE
    /prop_tgt/JOB_POOL_LINK
+   /prop_tgt/JOB_POOL_PRECOMPILE_HEADER
    /prop_tgt/LABELS
    /prop_tgt/LANG_CLANG_TIDY
    /prop_tgt/LANG_COMPILER_LAUNCHER
@@ -279,6 +285,8 @@
    /prop_tgt/LINK_WHAT_YOU_USE
    /prop_tgt/LOCATION_CONFIG
    /prop_tgt/LOCATION
+   /prop_tgt/MACHO_COMPATIBILITY_VERSION
+   /prop_tgt/MACHO_CURRENT_VERSION
    /prop_tgt/MACOSX_BUNDLE_INFO_PLIST
    /prop_tgt/MACOSX_BUNDLE
    /prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST
@@ -348,6 +356,7 @@
    /prop_tgt/VS_DOTNET_REFERENCES
    /prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL
    /prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
+   /prop_tgt/VS_DOTNET_DOCUMENTATION_FILE
    /prop_tgt/VS_DPI_AWARE
    /prop_tgt/VS_GLOBAL_KEYWORD
    /prop_tgt/VS_GLOBAL_PROJECT_TYPES
@@ -396,6 +405,7 @@
    /prop_tgt/XCODE_SCHEME_THREAD_SANITIZER_STOP
    /prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
    /prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
+   /prop_tgt/XCODE_SCHEME_WORKING_DIRECTORY
    /prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS
    /prop_tgt/XCTEST
 
@@ -442,8 +452,8 @@
    :maxdepth: 1
 
    /prop_sf/ABSTRACT
-   /prop_sf/AUTOUIC_OPTIONS
    /prop_sf/AUTORCC_OPTIONS
+   /prop_sf/AUTOUIC_OPTIONS
    /prop_sf/COMPILE_DEFINITIONS
    /prop_sf/COMPILE_FLAGS
    /prop_sf/COMPILE_OPTIONS
diff --git a/share/cmake-3.16/Help/manual/cmake-qt.7.rst b/share/cmake-3.17/Help/manual/cmake-qt.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-qt.7.rst
rename to share/cmake-3.17/Help/manual/cmake-qt.7.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-server.7.rst b/share/cmake-3.17/Help/manual/cmake-server.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cmake-server.7.rst
rename to share/cmake-3.17/Help/manual/cmake-server.7.rst
diff --git a/share/cmake-3.16/Help/manual/cmake-toolchains.7.rst b/share/cmake-3.17/Help/manual/cmake-toolchains.7.rst
similarity index 99%
rename from share/cmake-3.16/Help/manual/cmake-toolchains.7.rst
rename to share/cmake-3.17/Help/manual/cmake-toolchains.7.rst
index f233d08..e8badd4 100644
--- a/share/cmake-3.16/Help/manual/cmake-toolchains.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-toolchains.7.rst
@@ -233,6 +233,9 @@
   set(CMAKE_CXX_COMPILER QCC)
   set(CMAKE_CXX_COMPILER_TARGET ${arch})
 
+  set(CMAKE_SYSROOT $ENV{QNX_TARGET})
+
+
 Cross Compiling for Windows CE
 ------------------------------
 
diff --git a/share/cmake-3.16/Help/manual/cmake-variables.7.rst b/share/cmake-3.17/Help/manual/cmake-variables.7.rst
similarity index 96%
rename from share/cmake-3.16/Help/manual/cmake-variables.7.rst
rename to share/cmake-3.17/Help/manual/cmake-variables.7.rst
index 53b7f8d..fc27739 100644
--- a/share/cmake-3.16/Help/manual/cmake-variables.7.rst
+++ b/share/cmake-3.17/Help/manual/cmake-variables.7.rst
@@ -14,6 +14,7 @@
 :ref:`Variables <CMake Language Variables>`
 section in the cmake-language manual.
 
+.. include:: ID_RESERVE.txt
 
 Variables that Provide Information
 ==================================
@@ -37,17 +38,24 @@
    /variable/CMAKE_CROSSCOMPILING_EMULATOR
    /variable/CMAKE_CTEST_COMMAND
    /variable/CMAKE_CURRENT_BINARY_DIR
+   /variable/CMAKE_CURRENT_FUNCTION
+   /variable/CMAKE_CURRENT_FUNCTION_LIST_DIR
+   /variable/CMAKE_CURRENT_FUNCTION_LIST_FILE
+   /variable/CMAKE_CURRENT_FUNCTION_LIST_LINE
    /variable/CMAKE_CURRENT_LIST_DIR
    /variable/CMAKE_CURRENT_LIST_FILE
    /variable/CMAKE_CURRENT_LIST_LINE
    /variable/CMAKE_CURRENT_SOURCE_DIR
+   /variable/CMAKE_DEBUG_TARGET_PROPERTIES
    /variable/CMAKE_DIRECTORY_LABELS
    /variable/CMAKE_DL_LIBS
+   /variable/CMAKE_DOTNET_TARGET_FRAMEWORK
    /variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION
    /variable/CMAKE_EDIT_COMMAND
    /variable/CMAKE_EXECUTABLE_SUFFIX
    /variable/CMAKE_EXTRA_GENERATOR
    /variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
+   /variable/CMAKE_FIND_DEBUG_MODE
    /variable/CMAKE_FIND_PACKAGE_NAME
    /variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION
    /variable/CMAKE_FIND_PACKAGE_SORT_ORDER
@@ -59,6 +67,7 @@
    /variable/CMAKE_IMPORT_LIBRARY_SUFFIX
    /variable/CMAKE_JOB_POOL_COMPILE
    /variable/CMAKE_JOB_POOL_LINK
+   /variable/CMAKE_JOB_POOL_PRECOMPILE_HEADER
    /variable/CMAKE_JOB_POOLS
    /variable/CMAKE_LANG_COMPILER_AR
    /variable/CMAKE_LANG_COMPILER_RANLIB
@@ -70,7 +79,6 @@
    /variable/CMAKE_MAKE_PROGRAM
    /variable/CMAKE_MATCH_COUNT
    /variable/CMAKE_MATCH_n
-   /variable/CMAKE_MESSAGE_INDENT
    /variable/CMAKE_MINIMUM_REQUIRED_VERSION
    /variable/CMAKE_MINOR_VERSION
    /variable/CMAKE_NETRC
@@ -155,7 +163,6 @@
    /variable/CMAKE_CODELITE_USE_TARGETS
    /variable/CMAKE_COLOR_MAKEFILE
    /variable/CMAKE_CONFIGURATION_TYPES
-   /variable/CMAKE_DEBUG_TARGET_PROPERTIES
    /variable/CMAKE_DEPENDS_IN_PROJECT_ONLY
    /variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName
    /variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
@@ -206,6 +213,10 @@
    /variable/CMAKE_LINK_DIRECTORIES_BEFORE
    /variable/CMAKE_MFC_FLAG
    /variable/CMAKE_MAXIMUM_RECURSION_DEPTH
+   /variable/CMAKE_MESSAGE_CONTEXT
+   /variable/CMAKE_MESSAGE_CONTEXT_SHOW
+   /variable/CMAKE_MESSAGE_INDENT
+   /variable/CMAKE_MESSAGE_LOG_LEVEL
    /variable/CMAKE_MODULE_PATH
    /variable/CMAKE_POLICY_DEFAULT_CMPNNNN
    /variable/CMAKE_POLICY_WARNING_CMPNNNN
@@ -214,6 +225,7 @@
    /variable/CMAKE_PROJECT_INCLUDE
    /variable/CMAKE_PROJECT_INCLUDE_BEFORE
    /variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
+   /variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE_BEFORE
    /variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
    /variable/CMAKE_STAGING_PREFIX
    /variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
@@ -239,6 +251,7 @@
    /variable/CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
    /variable/CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
    /variable/CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
+   /variable/CMAKE_XCODE_SCHEME_ENVIRONMENT
    /variable/CMAKE_XCODE_SCHEME_GUARD_MALLOC
    /variable/CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
    /variable/CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
@@ -248,6 +261,7 @@
    /variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP
    /variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
    /variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
+   /variable/CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
    /variable/CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS
    /variable/PackageName_ROOT
 
@@ -309,6 +323,7 @@
 .. toctree::
    :maxdepth: 1
 
+   /variable/CMAKE_AIX_EXPORT_ALL_SYMBOLS
    /variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS
    /variable/CMAKE_ANDROID_API
    /variable/CMAKE_ANDROID_API_MIN
@@ -357,9 +372,14 @@
    /variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
    /variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
    /variable/CMAKE_CONFIG_POSTFIX
+   /variable/CMAKE_CROSS_CONFIGS
+   /variable/CMAKE_CTEST_ARGUMENTS
    /variable/CMAKE_CUDA_SEPARABLE_COMPILATION
    /variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
+   /variable/CMAKE_CUDA_RUNTIME_LIBRARY
    /variable/CMAKE_DEBUG_POSTFIX
+   /variable/CMAKE_DEFAULT_BUILD_TYPE
+   /variable/CMAKE_DEFAULT_CONFIGS
    /variable/CMAKE_DISABLE_PRECOMPILE_HEADERS
    /variable/CMAKE_ENABLE_EXPORTS
    /variable/CMAKE_EXE_LINKER_FLAGS
@@ -466,6 +486,7 @@
    /variable/CMAKE_COMPILER_IS_GNUCC
    /variable/CMAKE_COMPILER_IS_GNUCXX
    /variable/CMAKE_COMPILER_IS_GNUG77
+   /variable/CMAKE_CUDA_COMPILE_FEATURES
    /variable/CMAKE_CUDA_HOST_COMPILER
    /variable/CMAKE_CUDA_EXTENSIONS
    /variable/CMAKE_CUDA_STANDARD
diff --git a/share/cmake-3.16/Help/manual/cmake.1.rst b/share/cmake-3.17/Help/manual/cmake.1.rst
similarity index 86%
rename from share/cmake-3.16/Help/manual/cmake.1.rst
rename to share/cmake-3.17/Help/manual/cmake.1.rst
index 4ab55a0..28a081f 100644
--- a/share/cmake-3.16/Help/manual/cmake.1.rst
+++ b/share/cmake-3.17/Help/manual/cmake.1.rst
@@ -206,9 +206,24 @@
  The :command:`message` command will only output messages of the specified
  log level or higher.  The default log level is ``STATUS``.
 
+ To make a log level persist between CMake runs, set
+ :variable:`CMAKE_MESSAGE_LOG_LEVEL` as a cache variable instead.
+ If both the command line option and the variable are given, the command line
+ option takes precedence.
+
  For backward compatibility reasons, ``--loglevel`` is also accepted as a
  synonym for this option.
 
+``--log-context``
+ Enable the :command:`message` command outputting context attached to each
+ message.
+
+ This option turns on showing context for the current CMake run only.
+ To make showing the context persistent for all subsequent CMake runs, set
+ :variable:`CMAKE_MESSAGE_CONTEXT_SHOW` as a cache variable instead.
+ When this command line option is given, :variable:`CMAKE_MESSAGE_CONTEXT_SHOW`
+ is ignored.
+
 ``--debug-trycompile``
  Do not delete the :command:`try_compile` build tree.
  Only useful on one :command:`try_compile` at a time.
@@ -226,6 +241,12 @@
  Print extra information during the cmake run like stack traces with
  :command:`message(SEND_ERROR)` calls.
 
+``--debug-find``
+ Put cmake find in a debug mode.
+
+ Print extra find call information during the cmake run to standard
+ error. Output is designed for human consumption and not for parsing.
+
 ``--trace``
  Put cmake in trace mode.
 
@@ -236,6 +257,74 @@
 
  Like ``--trace``, but with variables expanded.
 
+``--trace-format=<format>``
+ Put cmake in trace mode and sets the trace output format.
+
+ ``<format>`` can be one of the following values.
+
+   ``human``
+     Prints each trace line in a human-readable format. This is the
+     default format.
+
+   ``json-v1``
+     Prints each line as a separate JSON document. Each document is
+     separated by a newline ( ``\n`` ). It is guaranteed that no
+     newline characters will be present inside a JSON document.
+
+     JSON trace format:
+
+     .. code-block:: json
+
+       {
+         "file": "/full/path/to/the/CMake/file.txt",
+         "line": 0,
+         "cmd": "add_executable",
+         "args": ["foo", "bar"],
+         "time": 1579512535.9687231,
+         "frame": 2
+       }
+
+     The members are:
+
+     ``file``
+       The full path to the CMake source file where the function
+       was called.
+
+     ``line``
+       The line in ``file`` of the function call.
+
+     ``cmd``
+       The name of the function that was called.
+
+     ``args``
+       A string list of all function parameters.
+
+     ``time``
+       Timestamp (seconds since epoch) of the function call.
+
+     ``frame``
+       Stack frame depth of the function that was called.
+
+     Additionally, the first JSON document outputted contains the
+     ``version`` key for the current major and minor version of the
+
+     JSON trace format:
+
+     .. code-block:: json
+
+       {
+         "version": {
+           "major": 1,
+           "minor": 0
+         }
+       }
+
+     The members are:
+
+     ``version``
+       Indicates the version of the JSON format. The version has a
+       major and minor components following semantic version conventions.
+
 ``--trace-source=<file>``
  Put cmake in trace mode, but output only lines of a specified file.
 
@@ -539,22 +628,38 @@
      7a0b54896fe5e70cca6dd643ad6f672614b189bf26f8153061c4d219474b05dad08c4e729af9f4b009f1a1a280cb625454bf587c690f4617c27e3aebdf3b7a2d  file2.txt
 
 ``remove [-f] <file>...``
-  Remove the file(s). If any of the listed files already do not
-  exist, the command returns a non-zero exit code, but no message
-  is logged. The ``-f`` option changes the behavior to return a
+  .. deprecated:: 3.17
+
+  Remove the file(s). The planned behaviour was that if any of the
+  listed files already do not exist, the command returns a non-zero exit code,
+  but no message is logged. The ``-f`` option changes the behavior to return a
   zero exit code (i.e. success) in such situations instead.
   ``remove`` does not follow symlinks. That means it remove only symlinks
   and not files it point to.
 
+  The implementation was buggy and always returned 0. It cannot be fixed without
+  breaking backwards compatibility. Use ``rm`` instead.
+
 ``remove_directory <dir>...``
-  Remove ``<dir>`` directories and their contents.  If a directory does
+  .. deprecated:: 3.17
+
+  Remove ``<dir>`` directories and their contents. If a directory does
   not exist it will be silently ignored.  If ``<dir>`` is a symlink to
   a directory, just the symlink will be removed.
+  Use ``rm`` instead.
 
 ``rename <oldname> <newname>``
   Rename a file or directory (on one volume). If file with the ``<newname>`` name
   already exists, then it will be silently replaced.
 
+``rm [-rRf] <file> <dir>...``
+  Remove the files ``<file>`` or directories ``dir``.
+  Use ``-r`` or ``-R`` to remove directories and their contents recursively.
+  If any of the listed files/directories do not exist, the command returns a
+  non-zero exit code, but no message is logged. The ``-f`` option changes
+  the behavior to return a zero exit code (i.e. success) in such
+  situations instead.
+
 ``server``
   Launch :manual:`cmake-server(7)` mode.
 
diff --git a/share/cmake-3.16/Help/manual/cpack-generators.7.rst b/share/cmake-3.17/Help/manual/cpack-generators.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cpack-generators.7.rst
rename to share/cmake-3.17/Help/manual/cpack-generators.7.rst
diff --git a/share/cmake-3.16/Help/manual/cpack.1.rst b/share/cmake-3.17/Help/manual/cpack.1.rst
similarity index 100%
rename from share/cmake-3.16/Help/manual/cpack.1.rst
rename to share/cmake-3.17/Help/manual/cpack.1.rst
diff --git a/share/cmake-3.16/Help/manual/ctest.1.rst b/share/cmake-3.17/Help/manual/ctest.1.rst
similarity index 96%
rename from share/cmake-3.16/Help/manual/ctest.1.rst
rename to share/cmake-3.17/Help/manual/ctest.1.rst
index e29ebca..6503f0e 100644
--- a/share/cmake-3.16/Help/manual/ctest.1.rst
+++ b/share/cmake-3.17/Help/manual/ctest.1.rst
@@ -261,10 +261,27 @@
  fail, subsequent calls to CTest with the ``--rerun-failed`` option will run
  the set of tests that most recently failed (if any).
 
-``--repeat-until-fail <n>``
- Require each test to run ``<n>`` times without failing in order to pass.
+``--repeat <mode>:<n>``
+  Run tests repeatedly based on the given ``<mode>`` up to ``<n>`` times.
+  The modes are:
 
- This is useful in finding sporadic failures in test cases.
+  ``until-fail``
+    Require each test to run ``<n>`` times without failing in order to pass.
+    This is useful in finding sporadic failures in test cases.
+
+  ``until-pass``
+    Allow each test to run up to ``<n>`` times in order to pass.
+    Repeats tests if they fail for any reason.
+    This is useful in tolerating sporadic failures in test cases.
+
+  ``after-timeout``
+    Allow each test to run up to ``<n>`` times in order to pass.
+    Repeats tests only if they timeout.
+    This is useful in tolerating sporadic timeouts in test cases
+    on busy machines.
+
+``--repeat-until-fail <n>``
+ Equivalent to ``--repeat until-fail:<n>``.
 
 ``--max-width <width>``
  Set the max width for a test name to output.
@@ -353,6 +370,14 @@
  This option will not run any tests, it will simply print the list of
  all labels associated with the test set.
 
+``--no-tests=<[error|ignore]>``
+ Regard no tests found either as error or ignore it.
+
+ If no tests were found, the default behavior of CTest is to always log an
+ error message but to return an error code in script mode only.  This option
+ unifies the behavior of CTest by either returning an error code if no tests
+ were found or by ignoring it.
+
 .. include:: OPTIONS_HELP.txt
 
 .. _`Label and Subproject Summary`:
@@ -1096,6 +1121,20 @@
   * `CTest Script`_ variable: none
   * :module:`CTest` module variable: ``VALGRIND_COMMAND_OPTIONS``
 
+``DrMemoryCommand``
+  Specify a ``MemoryCheckCommand`` that is known to be a command-line
+  compatible with DrMemory.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: ``DRMEMORY_COMMAND``
+
+``DrMemoryCommandOptions``
+  Specify command-line options to the ``DrMemoryCommand`` tool.
+  They will be placed prior to the test command line.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: ``DRMEMORY_COMMAND_OPTIONS``
+
 .. _`CTest Submit Step`:
 
 CTest Submit Step
@@ -1292,6 +1331,15 @@
 resources are in use and which are free, scheduling tests in a way that
 prevents them from trying to claim resources that are not available.
 
+When the resource allocation feature is used, CTest will not oversubscribe
+resources. For example, if a resource has 8 slots, CTest will not run tests
+that collectively use more than 8 slots at a time. This has the effect of
+limiting how many tests can run at any given time, even if a high ``-j``
+argument is used, if those tests all use some slots from the same resource.
+In addition, it means that a single test that uses more of a resource than is
+available on a machine will not run at all (and will be reported as
+``Not Run``).
+
 A common use case for this feature is for tests that require the use of a GPU.
 Multiple tests can simultaneously allocate memory from a GPU, but if too many
 tests try to do this at once, some of them will fail to allocate, resulting in
diff --git a/share/cmake-3.16/Help/module/AddFileDependencies.rst b/share/cmake-3.17/Help/module/AddFileDependencies.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/AddFileDependencies.rst
rename to share/cmake-3.17/Help/module/AddFileDependencies.rst
diff --git a/share/cmake-3.16/Help/module/AndroidTestUtilities.rst b/share/cmake-3.17/Help/module/AndroidTestUtilities.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/AndroidTestUtilities.rst
rename to share/cmake-3.17/Help/module/AndroidTestUtilities.rst
diff --git a/share/cmake-3.16/Help/module/BundleUtilities.rst b/share/cmake-3.17/Help/module/BundleUtilities.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/BundleUtilities.rst
rename to share/cmake-3.17/Help/module/BundleUtilities.rst
diff --git a/share/cmake-3.16/Help/module/CMakeAddFortranSubdirectory.rst b/share/cmake-3.17/Help/module/CMakeAddFortranSubdirectory.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeAddFortranSubdirectory.rst
rename to share/cmake-3.17/Help/module/CMakeAddFortranSubdirectory.rst
diff --git a/share/cmake-3.16/Help/module/CMakeBackwardCompatibilityCXX.rst b/share/cmake-3.17/Help/module/CMakeBackwardCompatibilityCXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeBackwardCompatibilityCXX.rst
rename to share/cmake-3.17/Help/module/CMakeBackwardCompatibilityCXX.rst
diff --git a/share/cmake-3.16/Help/module/CMakeDependentOption.rst b/share/cmake-3.17/Help/module/CMakeDependentOption.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeDependentOption.rst
rename to share/cmake-3.17/Help/module/CMakeDependentOption.rst
diff --git a/share/cmake-3.16/Help/module/CMakeDetermineVSServicePack.rst b/share/cmake-3.17/Help/module/CMakeDetermineVSServicePack.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeDetermineVSServicePack.rst
rename to share/cmake-3.17/Help/module/CMakeDetermineVSServicePack.rst
diff --git a/share/cmake-3.16/Help/module/CMakeExpandImportedTargets.rst b/share/cmake-3.17/Help/module/CMakeExpandImportedTargets.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeExpandImportedTargets.rst
rename to share/cmake-3.17/Help/module/CMakeExpandImportedTargets.rst
diff --git a/share/cmake-3.16/Help/module/CMakeFindDependencyMacro.rst b/share/cmake-3.17/Help/module/CMakeFindDependencyMacro.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeFindDependencyMacro.rst
rename to share/cmake-3.17/Help/module/CMakeFindDependencyMacro.rst
diff --git a/share/cmake-3.16/Help/module/CMakeFindFrameworks.rst b/share/cmake-3.17/Help/module/CMakeFindFrameworks.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeFindFrameworks.rst
rename to share/cmake-3.17/Help/module/CMakeFindFrameworks.rst
diff --git a/share/cmake-3.16/Help/module/CMakeFindPackageMode.rst b/share/cmake-3.17/Help/module/CMakeFindPackageMode.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeFindPackageMode.rst
rename to share/cmake-3.17/Help/module/CMakeFindPackageMode.rst
diff --git a/share/cmake-3.16/Help/module/CMakeForceCompiler.rst b/share/cmake-3.17/Help/module/CMakeForceCompiler.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeForceCompiler.rst
rename to share/cmake-3.17/Help/module/CMakeForceCompiler.rst
diff --git a/share/cmake-3.16/Help/module/CMakeGraphVizOptions.rst b/share/cmake-3.17/Help/module/CMakeGraphVizOptions.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeGraphVizOptions.rst
rename to share/cmake-3.17/Help/module/CMakeGraphVizOptions.rst
diff --git a/share/cmake-3.16/Help/module/CMakePackageConfigHelpers.rst b/share/cmake-3.17/Help/module/CMakePackageConfigHelpers.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakePackageConfigHelpers.rst
rename to share/cmake-3.17/Help/module/CMakePackageConfigHelpers.rst
diff --git a/share/cmake-3.16/Help/module/CMakeParseArguments.rst b/share/cmake-3.17/Help/module/CMakeParseArguments.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeParseArguments.rst
rename to share/cmake-3.17/Help/module/CMakeParseArguments.rst
diff --git a/share/cmake-3.16/Help/module/CMakePrintHelpers.rst b/share/cmake-3.17/Help/module/CMakePrintHelpers.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakePrintHelpers.rst
rename to share/cmake-3.17/Help/module/CMakePrintHelpers.rst
diff --git a/share/cmake-3.16/Help/module/CMakePrintSystemInformation.rst b/share/cmake-3.17/Help/module/CMakePrintSystemInformation.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakePrintSystemInformation.rst
rename to share/cmake-3.17/Help/module/CMakePrintSystemInformation.rst
diff --git a/share/cmake-3.16/Help/module/CMakePushCheckState.rst b/share/cmake-3.17/Help/module/CMakePushCheckState.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakePushCheckState.rst
rename to share/cmake-3.17/Help/module/CMakePushCheckState.rst
diff --git a/share/cmake-3.16/Help/module/CMakeVerifyManifest.rst b/share/cmake-3.17/Help/module/CMakeVerifyManifest.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CMakeVerifyManifest.rst
rename to share/cmake-3.17/Help/module/CMakeVerifyManifest.rst
diff --git a/share/cmake-3.16/Help/module/CPack.rst b/share/cmake-3.17/Help/module/CPack.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPack.rst
rename to share/cmake-3.17/Help/module/CPack.rst
diff --git a/share/cmake-3.16/Help/module/CPackArchive.rst b/share/cmake-3.17/Help/module/CPackArchive.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackArchive.rst
rename to share/cmake-3.17/Help/module/CPackArchive.rst
diff --git a/share/cmake-3.16/Help/module/CPackBundle.rst b/share/cmake-3.17/Help/module/CPackBundle.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackBundle.rst
rename to share/cmake-3.17/Help/module/CPackBundle.rst
diff --git a/share/cmake-3.16/Help/module/CPackComponent.rst b/share/cmake-3.17/Help/module/CPackComponent.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackComponent.rst
rename to share/cmake-3.17/Help/module/CPackComponent.rst
diff --git a/share/cmake-3.16/Help/module/CPackCygwin.rst b/share/cmake-3.17/Help/module/CPackCygwin.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackCygwin.rst
rename to share/cmake-3.17/Help/module/CPackCygwin.rst
diff --git a/share/cmake-3.16/Help/module/CPackDMG.rst b/share/cmake-3.17/Help/module/CPackDMG.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackDMG.rst
rename to share/cmake-3.17/Help/module/CPackDMG.rst
diff --git a/share/cmake-3.16/Help/module/CPackDeb.rst b/share/cmake-3.17/Help/module/CPackDeb.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackDeb.rst
rename to share/cmake-3.17/Help/module/CPackDeb.rst
diff --git a/share/cmake-3.16/Help/module/CPackFreeBSD.rst b/share/cmake-3.17/Help/module/CPackFreeBSD.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackFreeBSD.rst
rename to share/cmake-3.17/Help/module/CPackFreeBSD.rst
diff --git a/share/cmake-3.16/Help/module/CPackIFW.rst b/share/cmake-3.17/Help/module/CPackIFW.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackIFW.rst
rename to share/cmake-3.17/Help/module/CPackIFW.rst
diff --git a/share/cmake-3.16/Help/module/CPackIFWConfigureFile.rst b/share/cmake-3.17/Help/module/CPackIFWConfigureFile.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackIFWConfigureFile.rst
rename to share/cmake-3.17/Help/module/CPackIFWConfigureFile.rst
diff --git a/share/cmake-3.16/Help/module/CPackNSIS.rst b/share/cmake-3.17/Help/module/CPackNSIS.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackNSIS.rst
rename to share/cmake-3.17/Help/module/CPackNSIS.rst
diff --git a/share/cmake-3.16/Help/module/CPackNuGet.rst b/share/cmake-3.17/Help/module/CPackNuGet.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackNuGet.rst
rename to share/cmake-3.17/Help/module/CPackNuGet.rst
diff --git a/share/cmake-3.16/Help/module/CPackPackageMaker.rst b/share/cmake-3.17/Help/module/CPackPackageMaker.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackPackageMaker.rst
rename to share/cmake-3.17/Help/module/CPackPackageMaker.rst
diff --git a/share/cmake-3.16/Help/module/CPackProductBuild.rst b/share/cmake-3.17/Help/module/CPackProductBuild.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackProductBuild.rst
rename to share/cmake-3.17/Help/module/CPackProductBuild.rst
diff --git a/share/cmake-3.16/Help/module/CPackRPM.rst b/share/cmake-3.17/Help/module/CPackRPM.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackRPM.rst
rename to share/cmake-3.17/Help/module/CPackRPM.rst
diff --git a/share/cmake-3.16/Help/module/CPackWIX.rst b/share/cmake-3.17/Help/module/CPackWIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CPackWIX.rst
rename to share/cmake-3.17/Help/module/CPackWIX.rst
diff --git a/share/cmake-3.16/Help/module/CSharpUtilities.rst b/share/cmake-3.17/Help/module/CSharpUtilities.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CSharpUtilities.rst
rename to share/cmake-3.17/Help/module/CSharpUtilities.rst
diff --git a/share/cmake-3.16/Help/module/CTest.rst b/share/cmake-3.17/Help/module/CTest.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CTest.rst
rename to share/cmake-3.17/Help/module/CTest.rst
diff --git a/share/cmake-3.16/Help/module/CTestCoverageCollectGCOV.rst b/share/cmake-3.17/Help/module/CTestCoverageCollectGCOV.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CTestCoverageCollectGCOV.rst
rename to share/cmake-3.17/Help/module/CTestCoverageCollectGCOV.rst
diff --git a/share/cmake-3.16/Help/module/CTestScriptMode.rst b/share/cmake-3.17/Help/module/CTestScriptMode.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CTestScriptMode.rst
rename to share/cmake-3.17/Help/module/CTestScriptMode.rst
diff --git a/share/cmake-3.16/Help/module/CTestUseLaunchers.rst b/share/cmake-3.17/Help/module/CTestUseLaunchers.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CTestUseLaunchers.rst
rename to share/cmake-3.17/Help/module/CTestUseLaunchers.rst
diff --git a/share/cmake-3.16/Help/module/CheckCCompilerFlag.rst b/share/cmake-3.17/Help/module/CheckCCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCCompilerFlag.rst
rename to share/cmake-3.17/Help/module/CheckCCompilerFlag.rst
diff --git a/share/cmake-3.16/Help/module/CheckCSourceCompiles.rst b/share/cmake-3.17/Help/module/CheckCSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCSourceCompiles.rst
rename to share/cmake-3.17/Help/module/CheckCSourceCompiles.rst
diff --git a/share/cmake-3.16/Help/module/CheckCSourceRuns.rst b/share/cmake-3.17/Help/module/CheckCSourceRuns.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCSourceRuns.rst
rename to share/cmake-3.17/Help/module/CheckCSourceRuns.rst
diff --git a/share/cmake-3.16/Help/module/CheckCXXCompilerFlag.rst b/share/cmake-3.17/Help/module/CheckCXXCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCXXCompilerFlag.rst
rename to share/cmake-3.17/Help/module/CheckCXXCompilerFlag.rst
diff --git a/share/cmake-3.16/Help/module/CheckCXXSourceCompiles.rst b/share/cmake-3.17/Help/module/CheckCXXSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCXXSourceCompiles.rst
rename to share/cmake-3.17/Help/module/CheckCXXSourceCompiles.rst
diff --git a/share/cmake-3.16/Help/module/CheckCXXSourceRuns.rst b/share/cmake-3.17/Help/module/CheckCXXSourceRuns.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCXXSourceRuns.rst
rename to share/cmake-3.17/Help/module/CheckCXXSourceRuns.rst
diff --git a/share/cmake-3.16/Help/module/CheckCXXSymbolExists.rst b/share/cmake-3.17/Help/module/CheckCXXSymbolExists.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckCXXSymbolExists.rst
rename to share/cmake-3.17/Help/module/CheckCXXSymbolExists.rst
diff --git a/share/cmake-3.16/Help/module/CheckFortranCompilerFlag.rst b/share/cmake-3.17/Help/module/CheckFortranCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckFortranCompilerFlag.rst
rename to share/cmake-3.17/Help/module/CheckFortranCompilerFlag.rst
diff --git a/share/cmake-3.16/Help/module/CheckFortranFunctionExists.rst b/share/cmake-3.17/Help/module/CheckFortranFunctionExists.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckFortranFunctionExists.rst
rename to share/cmake-3.17/Help/module/CheckFortranFunctionExists.rst
diff --git a/share/cmake-3.16/Help/module/CheckFortranSourceCompiles.rst b/share/cmake-3.17/Help/module/CheckFortranSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckFortranSourceCompiles.rst
rename to share/cmake-3.17/Help/module/CheckFortranSourceCompiles.rst
diff --git a/share/cmake-3.16/Help/module/CheckFortranSourceRuns.rst b/share/cmake-3.17/Help/module/CheckFortranSourceRuns.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckFortranSourceRuns.rst
rename to share/cmake-3.17/Help/module/CheckFortranSourceRuns.rst
diff --git a/share/cmake-3.16/Help/module/CheckFunctionExists.rst b/share/cmake-3.17/Help/module/CheckFunctionExists.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckFunctionExists.rst
rename to share/cmake-3.17/Help/module/CheckFunctionExists.rst
diff --git a/share/cmake-3.16/Help/module/CheckIPOSupported.rst b/share/cmake-3.17/Help/module/CheckIPOSupported.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckIPOSupported.rst
rename to share/cmake-3.17/Help/module/CheckIPOSupported.rst
diff --git a/share/cmake-3.16/Help/module/CheckIncludeFile.rst b/share/cmake-3.17/Help/module/CheckIncludeFile.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckIncludeFile.rst
rename to share/cmake-3.17/Help/module/CheckIncludeFile.rst
diff --git a/share/cmake-3.16/Help/module/CheckIncludeFileCXX.rst b/share/cmake-3.17/Help/module/CheckIncludeFileCXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckIncludeFileCXX.rst
rename to share/cmake-3.17/Help/module/CheckIncludeFileCXX.rst
diff --git a/share/cmake-3.16/Help/module/CheckIncludeFiles.rst b/share/cmake-3.17/Help/module/CheckIncludeFiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckIncludeFiles.rst
rename to share/cmake-3.17/Help/module/CheckIncludeFiles.rst
diff --git a/share/cmake-3.16/Help/module/CheckLanguage.rst b/share/cmake-3.17/Help/module/CheckLanguage.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckLanguage.rst
rename to share/cmake-3.17/Help/module/CheckLanguage.rst
diff --git a/share/cmake-3.16/Help/module/CheckLibraryExists.rst b/share/cmake-3.17/Help/module/CheckLibraryExists.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckLibraryExists.rst
rename to share/cmake-3.17/Help/module/CheckLibraryExists.rst
diff --git a/share/cmake-3.16/Help/module/CheckOBJCCompilerFlag.rst b/share/cmake-3.17/Help/module/CheckOBJCCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckOBJCCompilerFlag.rst
rename to share/cmake-3.17/Help/module/CheckOBJCCompilerFlag.rst
diff --git a/share/cmake-3.16/Help/module/CheckOBJCSourceCompiles.rst b/share/cmake-3.17/Help/module/CheckOBJCSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckOBJCSourceCompiles.rst
rename to share/cmake-3.17/Help/module/CheckOBJCSourceCompiles.rst
diff --git a/share/cmake-3.16/Help/module/CheckOBJCSourceRuns.rst b/share/cmake-3.17/Help/module/CheckOBJCSourceRuns.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckOBJCSourceRuns.rst
rename to share/cmake-3.17/Help/module/CheckOBJCSourceRuns.rst
diff --git a/share/cmake-3.16/Help/module/CheckOBJCXXCompilerFlag.rst b/share/cmake-3.17/Help/module/CheckOBJCXXCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckOBJCXXCompilerFlag.rst
rename to share/cmake-3.17/Help/module/CheckOBJCXXCompilerFlag.rst
diff --git a/share/cmake-3.16/Help/module/CheckOBJCXXSourceCompiles.rst b/share/cmake-3.17/Help/module/CheckOBJCXXSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckOBJCXXSourceCompiles.rst
rename to share/cmake-3.17/Help/module/CheckOBJCXXSourceCompiles.rst
diff --git a/share/cmake-3.16/Help/module/CheckOBJCXXSourceRuns.rst b/share/cmake-3.17/Help/module/CheckOBJCXXSourceRuns.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckOBJCXXSourceRuns.rst
rename to share/cmake-3.17/Help/module/CheckOBJCXXSourceRuns.rst
diff --git a/share/cmake-3.16/Help/module/CheckPIESupported.rst b/share/cmake-3.17/Help/module/CheckPIESupported.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckPIESupported.rst
rename to share/cmake-3.17/Help/module/CheckPIESupported.rst
diff --git a/share/cmake-3.16/Help/module/CheckPrototypeDefinition.rst b/share/cmake-3.17/Help/module/CheckPrototypeDefinition.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckPrototypeDefinition.rst
rename to share/cmake-3.17/Help/module/CheckPrototypeDefinition.rst
diff --git a/share/cmake-3.16/Help/module/CheckStructHasMember.rst b/share/cmake-3.17/Help/module/CheckStructHasMember.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckStructHasMember.rst
rename to share/cmake-3.17/Help/module/CheckStructHasMember.rst
diff --git a/share/cmake-3.16/Help/module/CheckSymbolExists.rst b/share/cmake-3.17/Help/module/CheckSymbolExists.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckSymbolExists.rst
rename to share/cmake-3.17/Help/module/CheckSymbolExists.rst
diff --git a/share/cmake-3.16/Help/module/CheckTypeSize.rst b/share/cmake-3.17/Help/module/CheckTypeSize.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckTypeSize.rst
rename to share/cmake-3.17/Help/module/CheckTypeSize.rst
diff --git a/share/cmake-3.16/Help/module/CheckVariableExists.rst b/share/cmake-3.17/Help/module/CheckVariableExists.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/CheckVariableExists.rst
rename to share/cmake-3.17/Help/module/CheckVariableExists.rst
diff --git a/share/cmake-3.16/Help/module/Dart.rst b/share/cmake-3.17/Help/module/Dart.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/Dart.rst
rename to share/cmake-3.17/Help/module/Dart.rst
diff --git a/share/cmake-3.16/Help/module/DeployQt4.rst b/share/cmake-3.17/Help/module/DeployQt4.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/DeployQt4.rst
rename to share/cmake-3.17/Help/module/DeployQt4.rst
diff --git a/share/cmake-3.16/Help/module/Documentation.rst b/share/cmake-3.17/Help/module/Documentation.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/Documentation.rst
rename to share/cmake-3.17/Help/module/Documentation.rst
diff --git a/share/cmake-3.16/Help/module/ExternalData.rst b/share/cmake-3.17/Help/module/ExternalData.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/ExternalData.rst
rename to share/cmake-3.17/Help/module/ExternalData.rst
diff --git a/share/cmake-3.16/Help/module/ExternalProject.rst b/share/cmake-3.17/Help/module/ExternalProject.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/ExternalProject.rst
rename to share/cmake-3.17/Help/module/ExternalProject.rst
diff --git a/share/cmake-3.16/Help/module/FeatureSummary.rst b/share/cmake-3.17/Help/module/FeatureSummary.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FeatureSummary.rst
rename to share/cmake-3.17/Help/module/FeatureSummary.rst
diff --git a/share/cmake-3.16/Help/module/FetchContent.rst b/share/cmake-3.17/Help/module/FetchContent.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FetchContent.rst
rename to share/cmake-3.17/Help/module/FetchContent.rst
diff --git a/share/cmake-3.16/Help/module/FindALSA.rst b/share/cmake-3.17/Help/module/FindALSA.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindALSA.rst
rename to share/cmake-3.17/Help/module/FindALSA.rst
diff --git a/share/cmake-3.16/Help/module/FindASPELL.rst b/share/cmake-3.17/Help/module/FindASPELL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindASPELL.rst
rename to share/cmake-3.17/Help/module/FindASPELL.rst
diff --git a/share/cmake-3.16/Help/module/FindAVIFile.rst b/share/cmake-3.17/Help/module/FindAVIFile.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindAVIFile.rst
rename to share/cmake-3.17/Help/module/FindAVIFile.rst
diff --git a/share/cmake-3.16/Help/module/FindArmadillo.rst b/share/cmake-3.17/Help/module/FindArmadillo.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindArmadillo.rst
rename to share/cmake-3.17/Help/module/FindArmadillo.rst
diff --git a/share/cmake-3.16/Help/module/FindBISON.rst b/share/cmake-3.17/Help/module/FindBISON.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindBISON.rst
rename to share/cmake-3.17/Help/module/FindBISON.rst
diff --git a/share/cmake-3.16/Help/module/FindBLAS.rst b/share/cmake-3.17/Help/module/FindBLAS.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindBLAS.rst
rename to share/cmake-3.17/Help/module/FindBLAS.rst
diff --git a/share/cmake-3.16/Help/module/FindBZip2.rst b/share/cmake-3.17/Help/module/FindBZip2.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindBZip2.rst
rename to share/cmake-3.17/Help/module/FindBZip2.rst
diff --git a/share/cmake-3.16/Help/module/FindBacktrace.rst b/share/cmake-3.17/Help/module/FindBacktrace.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindBacktrace.rst
rename to share/cmake-3.17/Help/module/FindBacktrace.rst
diff --git a/share/cmake-3.16/Help/module/FindBoost.rst b/share/cmake-3.17/Help/module/FindBoost.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindBoost.rst
rename to share/cmake-3.17/Help/module/FindBoost.rst
diff --git a/share/cmake-3.16/Help/module/FindBullet.rst b/share/cmake-3.17/Help/module/FindBullet.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindBullet.rst
rename to share/cmake-3.17/Help/module/FindBullet.rst
diff --git a/share/cmake-3.16/Help/module/FindCABLE.rst b/share/cmake-3.17/Help/module/FindCABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCABLE.rst
rename to share/cmake-3.17/Help/module/FindCABLE.rst
diff --git a/share/cmake-3.16/Help/module/FindCUDA.rst b/share/cmake-3.17/Help/module/FindCUDA.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCUDA.rst
rename to share/cmake-3.17/Help/module/FindCUDA.rst
diff --git a/share/cmake-3.17/Help/module/FindCUDAToolkit.rst b/share/cmake-3.17/Help/module/FindCUDAToolkit.rst
new file mode 100644
index 0000000..5f01d68
--- /dev/null
+++ b/share/cmake-3.17/Help/module/FindCUDAToolkit.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindCUDAToolkit.cmake
diff --git a/share/cmake-3.16/Help/module/FindCURL.rst b/share/cmake-3.17/Help/module/FindCURL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCURL.rst
rename to share/cmake-3.17/Help/module/FindCURL.rst
diff --git a/share/cmake-3.16/Help/module/FindCVS.rst b/share/cmake-3.17/Help/module/FindCVS.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCVS.rst
rename to share/cmake-3.17/Help/module/FindCVS.rst
diff --git a/share/cmake-3.16/Help/module/FindCoin3D.rst b/share/cmake-3.17/Help/module/FindCoin3D.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCoin3D.rst
rename to share/cmake-3.17/Help/module/FindCoin3D.rst
diff --git a/share/cmake-3.16/Help/module/FindCups.rst b/share/cmake-3.17/Help/module/FindCups.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCups.rst
rename to share/cmake-3.17/Help/module/FindCups.rst
diff --git a/share/cmake-3.16/Help/module/FindCurses.rst b/share/cmake-3.17/Help/module/FindCurses.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCurses.rst
rename to share/cmake-3.17/Help/module/FindCurses.rst
diff --git a/share/cmake-3.16/Help/module/FindCxxTest.rst b/share/cmake-3.17/Help/module/FindCxxTest.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCxxTest.rst
rename to share/cmake-3.17/Help/module/FindCxxTest.rst
diff --git a/share/cmake-3.16/Help/module/FindCygwin.rst b/share/cmake-3.17/Help/module/FindCygwin.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindCygwin.rst
rename to share/cmake-3.17/Help/module/FindCygwin.rst
diff --git a/share/cmake-3.16/Help/module/FindDCMTK.rst b/share/cmake-3.17/Help/module/FindDCMTK.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindDCMTK.rst
rename to share/cmake-3.17/Help/module/FindDCMTK.rst
diff --git a/share/cmake-3.16/Help/module/FindDart.rst b/share/cmake-3.17/Help/module/FindDart.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindDart.rst
rename to share/cmake-3.17/Help/module/FindDart.rst
diff --git a/share/cmake-3.16/Help/module/FindDevIL.rst b/share/cmake-3.17/Help/module/FindDevIL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindDevIL.rst
rename to share/cmake-3.17/Help/module/FindDevIL.rst
diff --git a/share/cmake-3.16/Help/module/FindDoxygen.rst b/share/cmake-3.17/Help/module/FindDoxygen.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindDoxygen.rst
rename to share/cmake-3.17/Help/module/FindDoxygen.rst
diff --git a/share/cmake-3.16/Help/module/FindEXPAT.rst b/share/cmake-3.17/Help/module/FindEXPAT.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindEXPAT.rst
rename to share/cmake-3.17/Help/module/FindEXPAT.rst
diff --git a/share/cmake-3.16/Help/module/FindEnvModules.rst b/share/cmake-3.17/Help/module/FindEnvModules.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindEnvModules.rst
rename to share/cmake-3.17/Help/module/FindEnvModules.rst
diff --git a/share/cmake-3.16/Help/module/FindFLEX.rst b/share/cmake-3.17/Help/module/FindFLEX.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindFLEX.rst
rename to share/cmake-3.17/Help/module/FindFLEX.rst
diff --git a/share/cmake-3.16/Help/module/FindFLTK.rst b/share/cmake-3.17/Help/module/FindFLTK.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindFLTK.rst
rename to share/cmake-3.17/Help/module/FindFLTK.rst
diff --git a/share/cmake-3.16/Help/module/FindFLTK2.rst b/share/cmake-3.17/Help/module/FindFLTK2.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindFLTK2.rst
rename to share/cmake-3.17/Help/module/FindFLTK2.rst
diff --git a/share/cmake-3.16/Help/module/FindFontconfig.rst b/share/cmake-3.17/Help/module/FindFontconfig.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindFontconfig.rst
rename to share/cmake-3.17/Help/module/FindFontconfig.rst
diff --git a/share/cmake-3.16/Help/module/FindFreetype.rst b/share/cmake-3.17/Help/module/FindFreetype.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindFreetype.rst
rename to share/cmake-3.17/Help/module/FindFreetype.rst
diff --git a/share/cmake-3.16/Help/module/FindGCCXML.rst b/share/cmake-3.17/Help/module/FindGCCXML.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGCCXML.rst
rename to share/cmake-3.17/Help/module/FindGCCXML.rst
diff --git a/share/cmake-3.16/Help/module/FindGDAL.rst b/share/cmake-3.17/Help/module/FindGDAL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGDAL.rst
rename to share/cmake-3.17/Help/module/FindGDAL.rst
diff --git a/share/cmake-3.16/Help/module/FindGIF.rst b/share/cmake-3.17/Help/module/FindGIF.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGIF.rst
rename to share/cmake-3.17/Help/module/FindGIF.rst
diff --git a/share/cmake-3.16/Help/module/FindGLEW.rst b/share/cmake-3.17/Help/module/FindGLEW.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGLEW.rst
rename to share/cmake-3.17/Help/module/FindGLEW.rst
diff --git a/share/cmake-3.16/Help/module/FindGLUT.rst b/share/cmake-3.17/Help/module/FindGLUT.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGLUT.rst
rename to share/cmake-3.17/Help/module/FindGLUT.rst
diff --git a/share/cmake-3.16/Help/module/FindGSL.rst b/share/cmake-3.17/Help/module/FindGSL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGSL.rst
rename to share/cmake-3.17/Help/module/FindGSL.rst
diff --git a/share/cmake-3.16/Help/module/FindGTK.rst b/share/cmake-3.17/Help/module/FindGTK.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGTK.rst
rename to share/cmake-3.17/Help/module/FindGTK.rst
diff --git a/share/cmake-3.16/Help/module/FindGTK2.rst b/share/cmake-3.17/Help/module/FindGTK2.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGTK2.rst
rename to share/cmake-3.17/Help/module/FindGTK2.rst
diff --git a/share/cmake-3.16/Help/module/FindGTest.rst b/share/cmake-3.17/Help/module/FindGTest.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGTest.rst
rename to share/cmake-3.17/Help/module/FindGTest.rst
diff --git a/share/cmake-3.16/Help/module/FindGettext.rst b/share/cmake-3.17/Help/module/FindGettext.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGettext.rst
rename to share/cmake-3.17/Help/module/FindGettext.rst
diff --git a/share/cmake-3.16/Help/module/FindGit.rst b/share/cmake-3.17/Help/module/FindGit.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGit.rst
rename to share/cmake-3.17/Help/module/FindGit.rst
diff --git a/share/cmake-3.16/Help/module/FindGnuTLS.rst b/share/cmake-3.17/Help/module/FindGnuTLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGnuTLS.rst
rename to share/cmake-3.17/Help/module/FindGnuTLS.rst
diff --git a/share/cmake-3.16/Help/module/FindGnuplot.rst b/share/cmake-3.17/Help/module/FindGnuplot.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindGnuplot.rst
rename to share/cmake-3.17/Help/module/FindGnuplot.rst
diff --git a/share/cmake-3.16/Help/module/FindHDF5.rst b/share/cmake-3.17/Help/module/FindHDF5.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindHDF5.rst
rename to share/cmake-3.17/Help/module/FindHDF5.rst
diff --git a/share/cmake-3.16/Help/module/FindHSPELL.rst b/share/cmake-3.17/Help/module/FindHSPELL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindHSPELL.rst
rename to share/cmake-3.17/Help/module/FindHSPELL.rst
diff --git a/share/cmake-3.16/Help/module/FindHTMLHelp.rst b/share/cmake-3.17/Help/module/FindHTMLHelp.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindHTMLHelp.rst
rename to share/cmake-3.17/Help/module/FindHTMLHelp.rst
diff --git a/share/cmake-3.16/Help/module/FindHg.rst b/share/cmake-3.17/Help/module/FindHg.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindHg.rst
rename to share/cmake-3.17/Help/module/FindHg.rst
diff --git a/share/cmake-3.16/Help/module/FindICU.rst b/share/cmake-3.17/Help/module/FindICU.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindICU.rst
rename to share/cmake-3.17/Help/module/FindICU.rst
diff --git a/share/cmake-3.16/Help/module/FindITK.rst b/share/cmake-3.17/Help/module/FindITK.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindITK.rst
rename to share/cmake-3.17/Help/module/FindITK.rst
diff --git a/share/cmake-3.16/Help/module/FindIce.rst b/share/cmake-3.17/Help/module/FindIce.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindIce.rst
rename to share/cmake-3.17/Help/module/FindIce.rst
diff --git a/share/cmake-3.16/Help/module/FindIconv.rst b/share/cmake-3.17/Help/module/FindIconv.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindIconv.rst
rename to share/cmake-3.17/Help/module/FindIconv.rst
diff --git a/share/cmake-3.16/Help/module/FindIcotool.rst b/share/cmake-3.17/Help/module/FindIcotool.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindIcotool.rst
rename to share/cmake-3.17/Help/module/FindIcotool.rst
diff --git a/share/cmake-3.16/Help/module/FindImageMagick.rst b/share/cmake-3.17/Help/module/FindImageMagick.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindImageMagick.rst
rename to share/cmake-3.17/Help/module/FindImageMagick.rst
diff --git a/share/cmake-3.16/Help/module/FindIntl.rst b/share/cmake-3.17/Help/module/FindIntl.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindIntl.rst
rename to share/cmake-3.17/Help/module/FindIntl.rst
diff --git a/share/cmake-3.16/Help/module/FindJNI.rst b/share/cmake-3.17/Help/module/FindJNI.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindJNI.rst
rename to share/cmake-3.17/Help/module/FindJNI.rst
diff --git a/share/cmake-3.16/Help/module/FindJPEG.rst b/share/cmake-3.17/Help/module/FindJPEG.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindJPEG.rst
rename to share/cmake-3.17/Help/module/FindJPEG.rst
diff --git a/share/cmake-3.16/Help/module/FindJasper.rst b/share/cmake-3.17/Help/module/FindJasper.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindJasper.rst
rename to share/cmake-3.17/Help/module/FindJasper.rst
diff --git a/share/cmake-3.16/Help/module/FindJava.rst b/share/cmake-3.17/Help/module/FindJava.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindJava.rst
rename to share/cmake-3.17/Help/module/FindJava.rst
diff --git a/share/cmake-3.16/Help/module/FindKDE3.rst b/share/cmake-3.17/Help/module/FindKDE3.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindKDE3.rst
rename to share/cmake-3.17/Help/module/FindKDE3.rst
diff --git a/share/cmake-3.16/Help/module/FindKDE4.rst b/share/cmake-3.17/Help/module/FindKDE4.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindKDE4.rst
rename to share/cmake-3.17/Help/module/FindKDE4.rst
diff --git a/share/cmake-3.16/Help/module/FindLAPACK.rst b/share/cmake-3.17/Help/module/FindLAPACK.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLAPACK.rst
rename to share/cmake-3.17/Help/module/FindLAPACK.rst
diff --git a/share/cmake-3.16/Help/module/FindLATEX.rst b/share/cmake-3.17/Help/module/FindLATEX.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLATEX.rst
rename to share/cmake-3.17/Help/module/FindLATEX.rst
diff --git a/share/cmake-3.16/Help/module/FindLTTngUST.rst b/share/cmake-3.17/Help/module/FindLTTngUST.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLTTngUST.rst
rename to share/cmake-3.17/Help/module/FindLTTngUST.rst
diff --git a/share/cmake-3.16/Help/module/FindLibArchive.rst b/share/cmake-3.17/Help/module/FindLibArchive.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLibArchive.rst
rename to share/cmake-3.17/Help/module/FindLibArchive.rst
diff --git a/share/cmake-3.16/Help/module/FindLibLZMA.rst b/share/cmake-3.17/Help/module/FindLibLZMA.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLibLZMA.rst
rename to share/cmake-3.17/Help/module/FindLibLZMA.rst
diff --git a/share/cmake-3.16/Help/module/FindLibXml2.rst b/share/cmake-3.17/Help/module/FindLibXml2.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLibXml2.rst
rename to share/cmake-3.17/Help/module/FindLibXml2.rst
diff --git a/share/cmake-3.16/Help/module/FindLibXslt.rst b/share/cmake-3.17/Help/module/FindLibXslt.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLibXslt.rst
rename to share/cmake-3.17/Help/module/FindLibXslt.rst
diff --git a/share/cmake-3.16/Help/module/FindLibinput.rst b/share/cmake-3.17/Help/module/FindLibinput.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLibinput.rst
rename to share/cmake-3.17/Help/module/FindLibinput.rst
diff --git a/share/cmake-3.16/Help/module/FindLua.rst b/share/cmake-3.17/Help/module/FindLua.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLua.rst
rename to share/cmake-3.17/Help/module/FindLua.rst
diff --git a/share/cmake-3.16/Help/module/FindLua50.rst b/share/cmake-3.17/Help/module/FindLua50.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLua50.rst
rename to share/cmake-3.17/Help/module/FindLua50.rst
diff --git a/share/cmake-3.16/Help/module/FindLua51.rst b/share/cmake-3.17/Help/module/FindLua51.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindLua51.rst
rename to share/cmake-3.17/Help/module/FindLua51.rst
diff --git a/share/cmake-3.16/Help/module/FindMFC.rst b/share/cmake-3.17/Help/module/FindMFC.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindMFC.rst
rename to share/cmake-3.17/Help/module/FindMFC.rst
diff --git a/share/cmake-3.16/Help/module/FindMPEG.rst b/share/cmake-3.17/Help/module/FindMPEG.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindMPEG.rst
rename to share/cmake-3.17/Help/module/FindMPEG.rst
diff --git a/share/cmake-3.16/Help/module/FindMPEG2.rst b/share/cmake-3.17/Help/module/FindMPEG2.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindMPEG2.rst
rename to share/cmake-3.17/Help/module/FindMPEG2.rst
diff --git a/share/cmake-3.16/Help/module/FindMPI.rst b/share/cmake-3.17/Help/module/FindMPI.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindMPI.rst
rename to share/cmake-3.17/Help/module/FindMPI.rst
diff --git a/share/cmake-3.16/Help/module/FindMatlab.rst b/share/cmake-3.17/Help/module/FindMatlab.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindMatlab.rst
rename to share/cmake-3.17/Help/module/FindMatlab.rst
diff --git a/share/cmake-3.16/Help/module/FindMotif.rst b/share/cmake-3.17/Help/module/FindMotif.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindMotif.rst
rename to share/cmake-3.17/Help/module/FindMotif.rst
diff --git a/share/cmake-3.16/Help/module/FindODBC.rst b/share/cmake-3.17/Help/module/FindODBC.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindODBC.rst
rename to share/cmake-3.17/Help/module/FindODBC.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenACC.rst b/share/cmake-3.17/Help/module/FindOpenACC.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenACC.rst
rename to share/cmake-3.17/Help/module/FindOpenACC.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenAL.rst b/share/cmake-3.17/Help/module/FindOpenAL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenAL.rst
rename to share/cmake-3.17/Help/module/FindOpenAL.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenCL.rst b/share/cmake-3.17/Help/module/FindOpenCL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenCL.rst
rename to share/cmake-3.17/Help/module/FindOpenCL.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenGL.rst b/share/cmake-3.17/Help/module/FindOpenGL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenGL.rst
rename to share/cmake-3.17/Help/module/FindOpenGL.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenMP.rst b/share/cmake-3.17/Help/module/FindOpenMP.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenMP.rst
rename to share/cmake-3.17/Help/module/FindOpenMP.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenSSL.rst b/share/cmake-3.17/Help/module/FindOpenSSL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenSSL.rst
rename to share/cmake-3.17/Help/module/FindOpenSSL.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenSceneGraph.rst b/share/cmake-3.17/Help/module/FindOpenSceneGraph.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenSceneGraph.rst
rename to share/cmake-3.17/Help/module/FindOpenSceneGraph.rst
diff --git a/share/cmake-3.16/Help/module/FindOpenThreads.rst b/share/cmake-3.17/Help/module/FindOpenThreads.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindOpenThreads.rst
rename to share/cmake-3.17/Help/module/FindOpenThreads.rst
diff --git a/share/cmake-3.16/Help/module/FindPHP4.rst b/share/cmake-3.17/Help/module/FindPHP4.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPHP4.rst
rename to share/cmake-3.17/Help/module/FindPHP4.rst
diff --git a/share/cmake-3.16/Help/module/FindPNG.rst b/share/cmake-3.17/Help/module/FindPNG.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPNG.rst
rename to share/cmake-3.17/Help/module/FindPNG.rst
diff --git a/share/cmake-3.16/Help/module/FindPackageHandleStandardArgs.rst b/share/cmake-3.17/Help/module/FindPackageHandleStandardArgs.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPackageHandleStandardArgs.rst
rename to share/cmake-3.17/Help/module/FindPackageHandleStandardArgs.rst
diff --git a/share/cmake-3.16/Help/module/FindPackageMessage.rst b/share/cmake-3.17/Help/module/FindPackageMessage.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPackageMessage.rst
rename to share/cmake-3.17/Help/module/FindPackageMessage.rst
diff --git a/share/cmake-3.16/Help/module/FindPatch.rst b/share/cmake-3.17/Help/module/FindPatch.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPatch.rst
rename to share/cmake-3.17/Help/module/FindPatch.rst
diff --git a/share/cmake-3.16/Help/module/FindPerl.rst b/share/cmake-3.17/Help/module/FindPerl.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPerl.rst
rename to share/cmake-3.17/Help/module/FindPerl.rst
diff --git a/share/cmake-3.16/Help/module/FindPerlLibs.rst b/share/cmake-3.17/Help/module/FindPerlLibs.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPerlLibs.rst
rename to share/cmake-3.17/Help/module/FindPerlLibs.rst
diff --git a/share/cmake-3.16/Help/module/FindPhysFS.rst b/share/cmake-3.17/Help/module/FindPhysFS.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPhysFS.rst
rename to share/cmake-3.17/Help/module/FindPhysFS.rst
diff --git a/share/cmake-3.16/Help/module/FindPike.rst b/share/cmake-3.17/Help/module/FindPike.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPike.rst
rename to share/cmake-3.17/Help/module/FindPike.rst
diff --git a/share/cmake-3.16/Help/module/FindPkgConfig.rst b/share/cmake-3.17/Help/module/FindPkgConfig.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPkgConfig.rst
rename to share/cmake-3.17/Help/module/FindPkgConfig.rst
diff --git a/share/cmake-3.16/Help/module/FindPostgreSQL.rst b/share/cmake-3.17/Help/module/FindPostgreSQL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPostgreSQL.rst
rename to share/cmake-3.17/Help/module/FindPostgreSQL.rst
diff --git a/share/cmake-3.16/Help/module/FindProducer.rst b/share/cmake-3.17/Help/module/FindProducer.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindProducer.rst
rename to share/cmake-3.17/Help/module/FindProducer.rst
diff --git a/share/cmake-3.16/Help/module/FindProtobuf.rst b/share/cmake-3.17/Help/module/FindProtobuf.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindProtobuf.rst
rename to share/cmake-3.17/Help/module/FindProtobuf.rst
diff --git a/share/cmake-3.16/Help/module/FindPython.rst b/share/cmake-3.17/Help/module/FindPython.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPython.rst
rename to share/cmake-3.17/Help/module/FindPython.rst
diff --git a/share/cmake-3.16/Help/module/FindPython2.rst b/share/cmake-3.17/Help/module/FindPython2.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPython2.rst
rename to share/cmake-3.17/Help/module/FindPython2.rst
diff --git a/share/cmake-3.16/Help/module/FindPython3.rst b/share/cmake-3.17/Help/module/FindPython3.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPython3.rst
rename to share/cmake-3.17/Help/module/FindPython3.rst
diff --git a/share/cmake-3.16/Help/module/FindPythonInterp.rst b/share/cmake-3.17/Help/module/FindPythonInterp.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPythonInterp.rst
rename to share/cmake-3.17/Help/module/FindPythonInterp.rst
diff --git a/share/cmake-3.16/Help/module/FindPythonLibs.rst b/share/cmake-3.17/Help/module/FindPythonLibs.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindPythonLibs.rst
rename to share/cmake-3.17/Help/module/FindPythonLibs.rst
diff --git a/share/cmake-3.16/Help/module/FindQt.rst b/share/cmake-3.17/Help/module/FindQt.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindQt.rst
rename to share/cmake-3.17/Help/module/FindQt.rst
diff --git a/share/cmake-3.16/Help/module/FindQt3.rst b/share/cmake-3.17/Help/module/FindQt3.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindQt3.rst
rename to share/cmake-3.17/Help/module/FindQt3.rst
diff --git a/share/cmake-3.16/Help/module/FindQt4.rst b/share/cmake-3.17/Help/module/FindQt4.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindQt4.rst
rename to share/cmake-3.17/Help/module/FindQt4.rst
diff --git a/share/cmake-3.16/Help/module/FindQuickTime.rst b/share/cmake-3.17/Help/module/FindQuickTime.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindQuickTime.rst
rename to share/cmake-3.17/Help/module/FindQuickTime.rst
diff --git a/share/cmake-3.16/Help/module/FindRTI.rst b/share/cmake-3.17/Help/module/FindRTI.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindRTI.rst
rename to share/cmake-3.17/Help/module/FindRTI.rst
diff --git a/share/cmake-3.16/Help/module/FindRuby.rst b/share/cmake-3.17/Help/module/FindRuby.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindRuby.rst
rename to share/cmake-3.17/Help/module/FindRuby.rst
diff --git a/share/cmake-3.16/Help/module/FindSDL.rst b/share/cmake-3.17/Help/module/FindSDL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSDL.rst
rename to share/cmake-3.17/Help/module/FindSDL.rst
diff --git a/share/cmake-3.16/Help/module/FindSDL_image.rst b/share/cmake-3.17/Help/module/FindSDL_image.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSDL_image.rst
rename to share/cmake-3.17/Help/module/FindSDL_image.rst
diff --git a/share/cmake-3.16/Help/module/FindSDL_mixer.rst b/share/cmake-3.17/Help/module/FindSDL_mixer.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSDL_mixer.rst
rename to share/cmake-3.17/Help/module/FindSDL_mixer.rst
diff --git a/share/cmake-3.16/Help/module/FindSDL_net.rst b/share/cmake-3.17/Help/module/FindSDL_net.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSDL_net.rst
rename to share/cmake-3.17/Help/module/FindSDL_net.rst
diff --git a/share/cmake-3.16/Help/module/FindSDL_sound.rst b/share/cmake-3.17/Help/module/FindSDL_sound.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSDL_sound.rst
rename to share/cmake-3.17/Help/module/FindSDL_sound.rst
diff --git a/share/cmake-3.16/Help/module/FindSDL_ttf.rst b/share/cmake-3.17/Help/module/FindSDL_ttf.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSDL_ttf.rst
rename to share/cmake-3.17/Help/module/FindSDL_ttf.rst
diff --git a/share/cmake-3.16/Help/module/FindSQLite3.rst b/share/cmake-3.17/Help/module/FindSQLite3.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSQLite3.rst
rename to share/cmake-3.17/Help/module/FindSQLite3.rst
diff --git a/share/cmake-3.16/Help/module/FindSWIG.rst b/share/cmake-3.17/Help/module/FindSWIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSWIG.rst
rename to share/cmake-3.17/Help/module/FindSWIG.rst
diff --git a/share/cmake-3.16/Help/module/FindSelfPackers.rst b/share/cmake-3.17/Help/module/FindSelfPackers.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSelfPackers.rst
rename to share/cmake-3.17/Help/module/FindSelfPackers.rst
diff --git a/share/cmake-3.16/Help/module/FindSquish.rst b/share/cmake-3.17/Help/module/FindSquish.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSquish.rst
rename to share/cmake-3.17/Help/module/FindSquish.rst
diff --git a/share/cmake-3.16/Help/module/FindSubversion.rst b/share/cmake-3.17/Help/module/FindSubversion.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindSubversion.rst
rename to share/cmake-3.17/Help/module/FindSubversion.rst
diff --git a/share/cmake-3.16/Help/module/FindTCL.rst b/share/cmake-3.17/Help/module/FindTCL.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindTCL.rst
rename to share/cmake-3.17/Help/module/FindTCL.rst
diff --git a/share/cmake-3.16/Help/module/FindTIFF.rst b/share/cmake-3.17/Help/module/FindTIFF.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindTIFF.rst
rename to share/cmake-3.17/Help/module/FindTIFF.rst
diff --git a/share/cmake-3.16/Help/module/FindTclStub.rst b/share/cmake-3.17/Help/module/FindTclStub.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindTclStub.rst
rename to share/cmake-3.17/Help/module/FindTclStub.rst
diff --git a/share/cmake-3.16/Help/module/FindTclsh.rst b/share/cmake-3.17/Help/module/FindTclsh.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindTclsh.rst
rename to share/cmake-3.17/Help/module/FindTclsh.rst
diff --git a/share/cmake-3.16/Help/module/FindThreads.rst b/share/cmake-3.17/Help/module/FindThreads.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindThreads.rst
rename to share/cmake-3.17/Help/module/FindThreads.rst
diff --git a/share/cmake-3.16/Help/module/FindUnixCommands.rst b/share/cmake-3.17/Help/module/FindUnixCommands.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindUnixCommands.rst
rename to share/cmake-3.17/Help/module/FindUnixCommands.rst
diff --git a/share/cmake-3.16/Help/module/FindVTK.rst b/share/cmake-3.17/Help/module/FindVTK.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindVTK.rst
rename to share/cmake-3.17/Help/module/FindVTK.rst
diff --git a/share/cmake-3.16/Help/module/FindVulkan.rst b/share/cmake-3.17/Help/module/FindVulkan.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindVulkan.rst
rename to share/cmake-3.17/Help/module/FindVulkan.rst
diff --git a/share/cmake-3.16/Help/module/FindWget.rst b/share/cmake-3.17/Help/module/FindWget.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindWget.rst
rename to share/cmake-3.17/Help/module/FindWget.rst
diff --git a/share/cmake-3.16/Help/module/FindWish.rst b/share/cmake-3.17/Help/module/FindWish.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindWish.rst
rename to share/cmake-3.17/Help/module/FindWish.rst
diff --git a/share/cmake-3.16/Help/module/FindX11.rst b/share/cmake-3.17/Help/module/FindX11.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindX11.rst
rename to share/cmake-3.17/Help/module/FindX11.rst
diff --git a/share/cmake-3.16/Help/module/FindXCTest.rst b/share/cmake-3.17/Help/module/FindXCTest.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindXCTest.rst
rename to share/cmake-3.17/Help/module/FindXCTest.rst
diff --git a/share/cmake-3.16/Help/module/FindXMLRPC.rst b/share/cmake-3.17/Help/module/FindXMLRPC.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindXMLRPC.rst
rename to share/cmake-3.17/Help/module/FindXMLRPC.rst
diff --git a/share/cmake-3.16/Help/module/FindXalanC.rst b/share/cmake-3.17/Help/module/FindXalanC.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindXalanC.rst
rename to share/cmake-3.17/Help/module/FindXalanC.rst
diff --git a/share/cmake-3.16/Help/module/FindXercesC.rst b/share/cmake-3.17/Help/module/FindXercesC.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindXercesC.rst
rename to share/cmake-3.17/Help/module/FindXercesC.rst
diff --git a/share/cmake-3.16/Help/module/FindZLIB.rst b/share/cmake-3.17/Help/module/FindZLIB.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindZLIB.rst
rename to share/cmake-3.17/Help/module/FindZLIB.rst
diff --git a/share/cmake-3.16/Help/module/Findosg.rst b/share/cmake-3.17/Help/module/Findosg.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/Findosg.rst
rename to share/cmake-3.17/Help/module/Findosg.rst
diff --git a/share/cmake-3.16/Help/module/FindosgAnimation.rst b/share/cmake-3.17/Help/module/FindosgAnimation.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgAnimation.rst
rename to share/cmake-3.17/Help/module/FindosgAnimation.rst
diff --git a/share/cmake-3.16/Help/module/FindosgDB.rst b/share/cmake-3.17/Help/module/FindosgDB.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgDB.rst
rename to share/cmake-3.17/Help/module/FindosgDB.rst
diff --git a/share/cmake-3.16/Help/module/FindosgFX.rst b/share/cmake-3.17/Help/module/FindosgFX.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgFX.rst
rename to share/cmake-3.17/Help/module/FindosgFX.rst
diff --git a/share/cmake-3.16/Help/module/FindosgGA.rst b/share/cmake-3.17/Help/module/FindosgGA.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgGA.rst
rename to share/cmake-3.17/Help/module/FindosgGA.rst
diff --git a/share/cmake-3.16/Help/module/FindosgIntrospection.rst b/share/cmake-3.17/Help/module/FindosgIntrospection.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgIntrospection.rst
rename to share/cmake-3.17/Help/module/FindosgIntrospection.rst
diff --git a/share/cmake-3.16/Help/module/FindosgManipulator.rst b/share/cmake-3.17/Help/module/FindosgManipulator.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgManipulator.rst
rename to share/cmake-3.17/Help/module/FindosgManipulator.rst
diff --git a/share/cmake-3.16/Help/module/FindosgParticle.rst b/share/cmake-3.17/Help/module/FindosgParticle.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgParticle.rst
rename to share/cmake-3.17/Help/module/FindosgParticle.rst
diff --git a/share/cmake-3.16/Help/module/FindosgPresentation.rst b/share/cmake-3.17/Help/module/FindosgPresentation.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgPresentation.rst
rename to share/cmake-3.17/Help/module/FindosgPresentation.rst
diff --git a/share/cmake-3.16/Help/module/FindosgProducer.rst b/share/cmake-3.17/Help/module/FindosgProducer.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgProducer.rst
rename to share/cmake-3.17/Help/module/FindosgProducer.rst
diff --git a/share/cmake-3.16/Help/module/FindosgQt.rst b/share/cmake-3.17/Help/module/FindosgQt.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgQt.rst
rename to share/cmake-3.17/Help/module/FindosgQt.rst
diff --git a/share/cmake-3.16/Help/module/FindosgShadow.rst b/share/cmake-3.17/Help/module/FindosgShadow.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgShadow.rst
rename to share/cmake-3.17/Help/module/FindosgShadow.rst
diff --git a/share/cmake-3.16/Help/module/FindosgSim.rst b/share/cmake-3.17/Help/module/FindosgSim.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgSim.rst
rename to share/cmake-3.17/Help/module/FindosgSim.rst
diff --git a/share/cmake-3.16/Help/module/FindosgTerrain.rst b/share/cmake-3.17/Help/module/FindosgTerrain.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgTerrain.rst
rename to share/cmake-3.17/Help/module/FindosgTerrain.rst
diff --git a/share/cmake-3.16/Help/module/FindosgText.rst b/share/cmake-3.17/Help/module/FindosgText.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgText.rst
rename to share/cmake-3.17/Help/module/FindosgText.rst
diff --git a/share/cmake-3.16/Help/module/FindosgUtil.rst b/share/cmake-3.17/Help/module/FindosgUtil.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgUtil.rst
rename to share/cmake-3.17/Help/module/FindosgUtil.rst
diff --git a/share/cmake-3.16/Help/module/FindosgViewer.rst b/share/cmake-3.17/Help/module/FindosgViewer.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgViewer.rst
rename to share/cmake-3.17/Help/module/FindosgViewer.rst
diff --git a/share/cmake-3.16/Help/module/FindosgVolume.rst b/share/cmake-3.17/Help/module/FindosgVolume.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgVolume.rst
rename to share/cmake-3.17/Help/module/FindosgVolume.rst
diff --git a/share/cmake-3.16/Help/module/FindosgWidget.rst b/share/cmake-3.17/Help/module/FindosgWidget.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindosgWidget.rst
rename to share/cmake-3.17/Help/module/FindosgWidget.rst
diff --git a/share/cmake-3.16/Help/module/Findosg_functions.rst b/share/cmake-3.17/Help/module/Findosg_functions.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/Findosg_functions.rst
rename to share/cmake-3.17/Help/module/Findosg_functions.rst
diff --git a/share/cmake-3.16/Help/module/FindwxWidgets.rst b/share/cmake-3.17/Help/module/FindwxWidgets.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindwxWidgets.rst
rename to share/cmake-3.17/Help/module/FindwxWidgets.rst
diff --git a/share/cmake-3.16/Help/module/FindwxWindows.rst b/share/cmake-3.17/Help/module/FindwxWindows.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FindwxWindows.rst
rename to share/cmake-3.17/Help/module/FindwxWindows.rst
diff --git a/share/cmake-3.16/Help/module/FortranCInterface.rst b/share/cmake-3.17/Help/module/FortranCInterface.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/FortranCInterface.rst
rename to share/cmake-3.17/Help/module/FortranCInterface.rst
diff --git a/share/cmake-3.16/Help/module/GNUInstallDirs.rst b/share/cmake-3.17/Help/module/GNUInstallDirs.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/GNUInstallDirs.rst
rename to share/cmake-3.17/Help/module/GNUInstallDirs.rst
diff --git a/share/cmake-3.16/Help/module/GenerateExportHeader.rst b/share/cmake-3.17/Help/module/GenerateExportHeader.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/GenerateExportHeader.rst
rename to share/cmake-3.17/Help/module/GenerateExportHeader.rst
diff --git a/share/cmake-3.16/Help/module/GetPrerequisites.rst b/share/cmake-3.17/Help/module/GetPrerequisites.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/GetPrerequisites.rst
rename to share/cmake-3.17/Help/module/GetPrerequisites.rst
diff --git a/share/cmake-3.16/Help/module/GoogleTest.rst b/share/cmake-3.17/Help/module/GoogleTest.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/GoogleTest.rst
rename to share/cmake-3.17/Help/module/GoogleTest.rst
diff --git a/share/cmake-3.16/Help/module/InstallRequiredSystemLibraries.rst b/share/cmake-3.17/Help/module/InstallRequiredSystemLibraries.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/InstallRequiredSystemLibraries.rst
rename to share/cmake-3.17/Help/module/InstallRequiredSystemLibraries.rst
diff --git a/share/cmake-3.16/Help/module/MacroAddFileDependencies.rst b/share/cmake-3.17/Help/module/MacroAddFileDependencies.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/MacroAddFileDependencies.rst
rename to share/cmake-3.17/Help/module/MacroAddFileDependencies.rst
diff --git a/share/cmake-3.16/Help/module/ProcessorCount.rst b/share/cmake-3.17/Help/module/ProcessorCount.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/ProcessorCount.rst
rename to share/cmake-3.17/Help/module/ProcessorCount.rst
diff --git a/share/cmake-3.16/Help/module/SelectLibraryConfigurations.rst b/share/cmake-3.17/Help/module/SelectLibraryConfigurations.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/SelectLibraryConfigurations.rst
rename to share/cmake-3.17/Help/module/SelectLibraryConfigurations.rst
diff --git a/share/cmake-3.16/Help/module/SquishTestScript.rst b/share/cmake-3.17/Help/module/SquishTestScript.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/SquishTestScript.rst
rename to share/cmake-3.17/Help/module/SquishTestScript.rst
diff --git a/share/cmake-3.16/Help/module/TestBigEndian.rst b/share/cmake-3.17/Help/module/TestBigEndian.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/TestBigEndian.rst
rename to share/cmake-3.17/Help/module/TestBigEndian.rst
diff --git a/share/cmake-3.16/Help/module/TestCXXAcceptsFlag.rst b/share/cmake-3.17/Help/module/TestCXXAcceptsFlag.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/TestCXXAcceptsFlag.rst
rename to share/cmake-3.17/Help/module/TestCXXAcceptsFlag.rst
diff --git a/share/cmake-3.16/Help/module/TestForANSIForScope.rst b/share/cmake-3.17/Help/module/TestForANSIForScope.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/TestForANSIForScope.rst
rename to share/cmake-3.17/Help/module/TestForANSIForScope.rst
diff --git a/share/cmake-3.16/Help/module/TestForANSIStreamHeaders.rst b/share/cmake-3.17/Help/module/TestForANSIStreamHeaders.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/TestForANSIStreamHeaders.rst
rename to share/cmake-3.17/Help/module/TestForANSIStreamHeaders.rst
diff --git a/share/cmake-3.16/Help/module/TestForSSTREAM.rst b/share/cmake-3.17/Help/module/TestForSSTREAM.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/TestForSSTREAM.rst
rename to share/cmake-3.17/Help/module/TestForSSTREAM.rst
diff --git a/share/cmake-3.16/Help/module/TestForSTDNamespace.rst b/share/cmake-3.17/Help/module/TestForSTDNamespace.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/TestForSTDNamespace.rst
rename to share/cmake-3.17/Help/module/TestForSTDNamespace.rst
diff --git a/share/cmake-3.16/Help/module/UseEcos.rst b/share/cmake-3.17/Help/module/UseEcos.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UseEcos.rst
rename to share/cmake-3.17/Help/module/UseEcos.rst
diff --git a/share/cmake-3.16/Help/module/UseJava.rst b/share/cmake-3.17/Help/module/UseJava.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UseJava.rst
rename to share/cmake-3.17/Help/module/UseJava.rst
diff --git a/share/cmake-3.16/Help/module/UseJavaClassFilelist.rst b/share/cmake-3.17/Help/module/UseJavaClassFilelist.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UseJavaClassFilelist.rst
rename to share/cmake-3.17/Help/module/UseJavaClassFilelist.rst
diff --git a/share/cmake-3.16/Help/module/UseJavaSymlinks.rst b/share/cmake-3.17/Help/module/UseJavaSymlinks.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UseJavaSymlinks.rst
rename to share/cmake-3.17/Help/module/UseJavaSymlinks.rst
diff --git a/share/cmake-3.16/Help/module/UsePkgConfig.rst b/share/cmake-3.17/Help/module/UsePkgConfig.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UsePkgConfig.rst
rename to share/cmake-3.17/Help/module/UsePkgConfig.rst
diff --git a/share/cmake-3.16/Help/module/UseSWIG.rst b/share/cmake-3.17/Help/module/UseSWIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UseSWIG.rst
rename to share/cmake-3.17/Help/module/UseSWIG.rst
diff --git a/share/cmake-3.16/Help/module/Use_wxWindows.rst b/share/cmake-3.17/Help/module/Use_wxWindows.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/Use_wxWindows.rst
rename to share/cmake-3.17/Help/module/Use_wxWindows.rst
diff --git a/share/cmake-3.16/Help/module/UsewxWidgets.rst b/share/cmake-3.17/Help/module/UsewxWidgets.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/UsewxWidgets.rst
rename to share/cmake-3.17/Help/module/UsewxWidgets.rst
diff --git a/share/cmake-3.16/Help/module/WriteBasicConfigVersionFile.rst b/share/cmake-3.17/Help/module/WriteBasicConfigVersionFile.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/WriteBasicConfigVersionFile.rst
rename to share/cmake-3.17/Help/module/WriteBasicConfigVersionFile.rst
diff --git a/share/cmake-3.16/Help/module/WriteCompilerDetectionHeader.rst b/share/cmake-3.17/Help/module/WriteCompilerDetectionHeader.rst
similarity index 100%
rename from share/cmake-3.16/Help/module/WriteCompilerDetectionHeader.rst
rename to share/cmake-3.17/Help/module/WriteCompilerDetectionHeader.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0000.rst b/share/cmake-3.17/Help/policy/CMP0000.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0000.rst
rename to share/cmake-3.17/Help/policy/CMP0000.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0001.rst b/share/cmake-3.17/Help/policy/CMP0001.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0001.rst
rename to share/cmake-3.17/Help/policy/CMP0001.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0002.rst b/share/cmake-3.17/Help/policy/CMP0002.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0002.rst
rename to share/cmake-3.17/Help/policy/CMP0002.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0003.rst b/share/cmake-3.17/Help/policy/CMP0003.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0003.rst
rename to share/cmake-3.17/Help/policy/CMP0003.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0004.rst b/share/cmake-3.17/Help/policy/CMP0004.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0004.rst
rename to share/cmake-3.17/Help/policy/CMP0004.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0005.rst b/share/cmake-3.17/Help/policy/CMP0005.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0005.rst
rename to share/cmake-3.17/Help/policy/CMP0005.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0006.rst b/share/cmake-3.17/Help/policy/CMP0006.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0006.rst
rename to share/cmake-3.17/Help/policy/CMP0006.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0007.rst b/share/cmake-3.17/Help/policy/CMP0007.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0007.rst
rename to share/cmake-3.17/Help/policy/CMP0007.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0008.rst b/share/cmake-3.17/Help/policy/CMP0008.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0008.rst
rename to share/cmake-3.17/Help/policy/CMP0008.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0009.rst b/share/cmake-3.17/Help/policy/CMP0009.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0009.rst
rename to share/cmake-3.17/Help/policy/CMP0009.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0010.rst b/share/cmake-3.17/Help/policy/CMP0010.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0010.rst
rename to share/cmake-3.17/Help/policy/CMP0010.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0011.rst b/share/cmake-3.17/Help/policy/CMP0011.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0011.rst
rename to share/cmake-3.17/Help/policy/CMP0011.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0012.rst b/share/cmake-3.17/Help/policy/CMP0012.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0012.rst
rename to share/cmake-3.17/Help/policy/CMP0012.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0013.rst b/share/cmake-3.17/Help/policy/CMP0013.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0013.rst
rename to share/cmake-3.17/Help/policy/CMP0013.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0014.rst b/share/cmake-3.17/Help/policy/CMP0014.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0014.rst
rename to share/cmake-3.17/Help/policy/CMP0014.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0015.rst b/share/cmake-3.17/Help/policy/CMP0015.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0015.rst
rename to share/cmake-3.17/Help/policy/CMP0015.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0016.rst b/share/cmake-3.17/Help/policy/CMP0016.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0016.rst
rename to share/cmake-3.17/Help/policy/CMP0016.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0017.rst b/share/cmake-3.17/Help/policy/CMP0017.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0017.rst
rename to share/cmake-3.17/Help/policy/CMP0017.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0018.rst b/share/cmake-3.17/Help/policy/CMP0018.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0018.rst
rename to share/cmake-3.17/Help/policy/CMP0018.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0019.rst b/share/cmake-3.17/Help/policy/CMP0019.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0019.rst
rename to share/cmake-3.17/Help/policy/CMP0019.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0020.rst b/share/cmake-3.17/Help/policy/CMP0020.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0020.rst
rename to share/cmake-3.17/Help/policy/CMP0020.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0021.rst b/share/cmake-3.17/Help/policy/CMP0021.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0021.rst
rename to share/cmake-3.17/Help/policy/CMP0021.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0022.rst b/share/cmake-3.17/Help/policy/CMP0022.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0022.rst
rename to share/cmake-3.17/Help/policy/CMP0022.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0023.rst b/share/cmake-3.17/Help/policy/CMP0023.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0023.rst
rename to share/cmake-3.17/Help/policy/CMP0023.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0024.rst b/share/cmake-3.17/Help/policy/CMP0024.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0024.rst
rename to share/cmake-3.17/Help/policy/CMP0024.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0025.rst b/share/cmake-3.17/Help/policy/CMP0025.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0025.rst
rename to share/cmake-3.17/Help/policy/CMP0025.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0026.rst b/share/cmake-3.17/Help/policy/CMP0026.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0026.rst
rename to share/cmake-3.17/Help/policy/CMP0026.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0027.rst b/share/cmake-3.17/Help/policy/CMP0027.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0027.rst
rename to share/cmake-3.17/Help/policy/CMP0027.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0028.rst b/share/cmake-3.17/Help/policy/CMP0028.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0028.rst
rename to share/cmake-3.17/Help/policy/CMP0028.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0029.rst b/share/cmake-3.17/Help/policy/CMP0029.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0029.rst
rename to share/cmake-3.17/Help/policy/CMP0029.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0030.rst b/share/cmake-3.17/Help/policy/CMP0030.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0030.rst
rename to share/cmake-3.17/Help/policy/CMP0030.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0031.rst b/share/cmake-3.17/Help/policy/CMP0031.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0031.rst
rename to share/cmake-3.17/Help/policy/CMP0031.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0032.rst b/share/cmake-3.17/Help/policy/CMP0032.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0032.rst
rename to share/cmake-3.17/Help/policy/CMP0032.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0033.rst b/share/cmake-3.17/Help/policy/CMP0033.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0033.rst
rename to share/cmake-3.17/Help/policy/CMP0033.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0034.rst b/share/cmake-3.17/Help/policy/CMP0034.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0034.rst
rename to share/cmake-3.17/Help/policy/CMP0034.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0035.rst b/share/cmake-3.17/Help/policy/CMP0035.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0035.rst
rename to share/cmake-3.17/Help/policy/CMP0035.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0036.rst b/share/cmake-3.17/Help/policy/CMP0036.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0036.rst
rename to share/cmake-3.17/Help/policy/CMP0036.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0037.rst b/share/cmake-3.17/Help/policy/CMP0037.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0037.rst
rename to share/cmake-3.17/Help/policy/CMP0037.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0038.rst b/share/cmake-3.17/Help/policy/CMP0038.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0038.rst
rename to share/cmake-3.17/Help/policy/CMP0038.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0039.rst b/share/cmake-3.17/Help/policy/CMP0039.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0039.rst
rename to share/cmake-3.17/Help/policy/CMP0039.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0040.rst b/share/cmake-3.17/Help/policy/CMP0040.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0040.rst
rename to share/cmake-3.17/Help/policy/CMP0040.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0041.rst b/share/cmake-3.17/Help/policy/CMP0041.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0041.rst
rename to share/cmake-3.17/Help/policy/CMP0041.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0042.rst b/share/cmake-3.17/Help/policy/CMP0042.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0042.rst
rename to share/cmake-3.17/Help/policy/CMP0042.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0043.rst b/share/cmake-3.17/Help/policy/CMP0043.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0043.rst
rename to share/cmake-3.17/Help/policy/CMP0043.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0044.rst b/share/cmake-3.17/Help/policy/CMP0044.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0044.rst
rename to share/cmake-3.17/Help/policy/CMP0044.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0045.rst b/share/cmake-3.17/Help/policy/CMP0045.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0045.rst
rename to share/cmake-3.17/Help/policy/CMP0045.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0046.rst b/share/cmake-3.17/Help/policy/CMP0046.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0046.rst
rename to share/cmake-3.17/Help/policy/CMP0046.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0047.rst b/share/cmake-3.17/Help/policy/CMP0047.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0047.rst
rename to share/cmake-3.17/Help/policy/CMP0047.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0048.rst b/share/cmake-3.17/Help/policy/CMP0048.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0048.rst
rename to share/cmake-3.17/Help/policy/CMP0048.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0049.rst b/share/cmake-3.17/Help/policy/CMP0049.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0049.rst
rename to share/cmake-3.17/Help/policy/CMP0049.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0050.rst b/share/cmake-3.17/Help/policy/CMP0050.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0050.rst
rename to share/cmake-3.17/Help/policy/CMP0050.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0051.rst b/share/cmake-3.17/Help/policy/CMP0051.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0051.rst
rename to share/cmake-3.17/Help/policy/CMP0051.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0052.rst b/share/cmake-3.17/Help/policy/CMP0052.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0052.rst
rename to share/cmake-3.17/Help/policy/CMP0052.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0053.rst b/share/cmake-3.17/Help/policy/CMP0053.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0053.rst
rename to share/cmake-3.17/Help/policy/CMP0053.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0054.rst b/share/cmake-3.17/Help/policy/CMP0054.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0054.rst
rename to share/cmake-3.17/Help/policy/CMP0054.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0055.rst b/share/cmake-3.17/Help/policy/CMP0055.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0055.rst
rename to share/cmake-3.17/Help/policy/CMP0055.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0056.rst b/share/cmake-3.17/Help/policy/CMP0056.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0056.rst
rename to share/cmake-3.17/Help/policy/CMP0056.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0057.rst b/share/cmake-3.17/Help/policy/CMP0057.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0057.rst
rename to share/cmake-3.17/Help/policy/CMP0057.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0058.rst b/share/cmake-3.17/Help/policy/CMP0058.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0058.rst
rename to share/cmake-3.17/Help/policy/CMP0058.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0059.rst b/share/cmake-3.17/Help/policy/CMP0059.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0059.rst
rename to share/cmake-3.17/Help/policy/CMP0059.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0060.rst b/share/cmake-3.17/Help/policy/CMP0060.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0060.rst
rename to share/cmake-3.17/Help/policy/CMP0060.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0061.rst b/share/cmake-3.17/Help/policy/CMP0061.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0061.rst
rename to share/cmake-3.17/Help/policy/CMP0061.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0062.rst b/share/cmake-3.17/Help/policy/CMP0062.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0062.rst
rename to share/cmake-3.17/Help/policy/CMP0062.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0063.rst b/share/cmake-3.17/Help/policy/CMP0063.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0063.rst
rename to share/cmake-3.17/Help/policy/CMP0063.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0064.rst b/share/cmake-3.17/Help/policy/CMP0064.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0064.rst
rename to share/cmake-3.17/Help/policy/CMP0064.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0065.rst b/share/cmake-3.17/Help/policy/CMP0065.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0065.rst
rename to share/cmake-3.17/Help/policy/CMP0065.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0066.rst b/share/cmake-3.17/Help/policy/CMP0066.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0066.rst
rename to share/cmake-3.17/Help/policy/CMP0066.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0067.rst b/share/cmake-3.17/Help/policy/CMP0067.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0067.rst
rename to share/cmake-3.17/Help/policy/CMP0067.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0068.rst b/share/cmake-3.17/Help/policy/CMP0068.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0068.rst
rename to share/cmake-3.17/Help/policy/CMP0068.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0069.rst b/share/cmake-3.17/Help/policy/CMP0069.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0069.rst
rename to share/cmake-3.17/Help/policy/CMP0069.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0070.rst b/share/cmake-3.17/Help/policy/CMP0070.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0070.rst
rename to share/cmake-3.17/Help/policy/CMP0070.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0071.rst b/share/cmake-3.17/Help/policy/CMP0071.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0071.rst
rename to share/cmake-3.17/Help/policy/CMP0071.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0072.rst b/share/cmake-3.17/Help/policy/CMP0072.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0072.rst
rename to share/cmake-3.17/Help/policy/CMP0072.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0073.rst b/share/cmake-3.17/Help/policy/CMP0073.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0073.rst
rename to share/cmake-3.17/Help/policy/CMP0073.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0074.rst b/share/cmake-3.17/Help/policy/CMP0074.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0074.rst
rename to share/cmake-3.17/Help/policy/CMP0074.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0075.rst b/share/cmake-3.17/Help/policy/CMP0075.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0075.rst
rename to share/cmake-3.17/Help/policy/CMP0075.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0076.rst b/share/cmake-3.17/Help/policy/CMP0076.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0076.rst
rename to share/cmake-3.17/Help/policy/CMP0076.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0077.rst b/share/cmake-3.17/Help/policy/CMP0077.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0077.rst
rename to share/cmake-3.17/Help/policy/CMP0077.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0078.rst b/share/cmake-3.17/Help/policy/CMP0078.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0078.rst
rename to share/cmake-3.17/Help/policy/CMP0078.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0079.rst b/share/cmake-3.17/Help/policy/CMP0079.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0079.rst
rename to share/cmake-3.17/Help/policy/CMP0079.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0080.rst b/share/cmake-3.17/Help/policy/CMP0080.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0080.rst
rename to share/cmake-3.17/Help/policy/CMP0080.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0081.rst b/share/cmake-3.17/Help/policy/CMP0081.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0081.rst
rename to share/cmake-3.17/Help/policy/CMP0081.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0082.rst b/share/cmake-3.17/Help/policy/CMP0082.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0082.rst
rename to share/cmake-3.17/Help/policy/CMP0082.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0083.rst b/share/cmake-3.17/Help/policy/CMP0083.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0083.rst
rename to share/cmake-3.17/Help/policy/CMP0083.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0084.rst b/share/cmake-3.17/Help/policy/CMP0084.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0084.rst
rename to share/cmake-3.17/Help/policy/CMP0084.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0085.rst b/share/cmake-3.17/Help/policy/CMP0085.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0085.rst
rename to share/cmake-3.17/Help/policy/CMP0085.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0086.rst b/share/cmake-3.17/Help/policy/CMP0086.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0086.rst
rename to share/cmake-3.17/Help/policy/CMP0086.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0087.rst b/share/cmake-3.17/Help/policy/CMP0087.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0087.rst
rename to share/cmake-3.17/Help/policy/CMP0087.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0088.rst b/share/cmake-3.17/Help/policy/CMP0088.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0088.rst
rename to share/cmake-3.17/Help/policy/CMP0088.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0089.rst b/share/cmake-3.17/Help/policy/CMP0089.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0089.rst
rename to share/cmake-3.17/Help/policy/CMP0089.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0090.rst b/share/cmake-3.17/Help/policy/CMP0090.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0090.rst
rename to share/cmake-3.17/Help/policy/CMP0090.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0091.rst b/share/cmake-3.17/Help/policy/CMP0091.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0091.rst
rename to share/cmake-3.17/Help/policy/CMP0091.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0092.rst b/share/cmake-3.17/Help/policy/CMP0092.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0092.rst
rename to share/cmake-3.17/Help/policy/CMP0092.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0093.rst b/share/cmake-3.17/Help/policy/CMP0093.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0093.rst
rename to share/cmake-3.17/Help/policy/CMP0093.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0094.rst b/share/cmake-3.17/Help/policy/CMP0094.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0094.rst
rename to share/cmake-3.17/Help/policy/CMP0094.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0095.rst b/share/cmake-3.17/Help/policy/CMP0095.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0095.rst
rename to share/cmake-3.17/Help/policy/CMP0095.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0096.rst b/share/cmake-3.17/Help/policy/CMP0096.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0096.rst
rename to share/cmake-3.17/Help/policy/CMP0096.rst
diff --git a/share/cmake-3.16/Help/policy/CMP0097.rst b/share/cmake-3.17/Help/policy/CMP0097.rst
similarity index 100%
rename from share/cmake-3.16/Help/policy/CMP0097.rst
rename to share/cmake-3.17/Help/policy/CMP0097.rst
diff --git a/share/cmake-3.17/Help/policy/CMP0098.rst b/share/cmake-3.17/Help/policy/CMP0098.rst
new file mode 100644
index 0000000..6d1443b
--- /dev/null
+++ b/share/cmake-3.17/Help/policy/CMP0098.rst
@@ -0,0 +1,30 @@
+CMP0098
+-------
+
+:module:`FindFLEX` runs ``flex`` in directory
+:variable:`CMAKE_CURRENT_BINARY_DIR` when executing.
+
+The module provides a ``FLEX_TARGET`` macro which generates FLEX output.
+In CMake 3.16 and below the macro would generate a custom command that runs
+``flex`` in the current source directory.  CMake 3.17 and later prefer to
+run it in the build directory and use :variable:`CMAKE_CURRENT_BINARY_DIR`
+as the ``WORKING_DIRECTORY`` of its :command:`add_custom_command` invocation.
+This ensures that any implicitly generated file is written relative to the
+build tree rather than the source tree, unless the generated file is
+provided as absolute path.
+
+This policy provides compatibility for projects that have not been updated
+to expect the new behavior.
+
+The ``OLD`` behavior for this policy is for ``FLEX_TARGET`` to use
+the current source directory for the ``WORKING_DIRECTORY`` and where
+to generate implicit files. The ``NEW`` behavior of this policy is to
+use the current binary directory for the ``WORKING_DIRECTORY`` relative to
+which implicit files are generated unless provided as absolute path.
+
+This policy was introduced in CMake version 3.17.  Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+Unlike many policies, CMake version |release| does *not* warn
+when this policy is not set and simply uses ``OLD`` behavior.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.17/Help/policy/CMP0099.rst b/share/cmake-3.17/Help/policy/CMP0099.rst
new file mode 100644
index 0000000..c897e7b
--- /dev/null
+++ b/share/cmake-3.17/Help/policy/CMP0099.rst
@@ -0,0 +1,24 @@
+CMP0099
+-------
+
+Target link properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
+:prop_tgt:`INTERFACE_LINK_DIRECTORIES` and :prop_tgt:`INTERFACE_LINK_DEPENDS`
+are now transitive over private dependencies of static libraries.
+
+In CMake 3.16 and below the interface link properties attached to libraries
+are not propagated for private dependencies of static libraries.
+Only the libraries themselves are propagated to link the dependent binary.
+CMake 3.17 and later prefer to propagate all interface link properties.
+This policy provides compatibility for projects that have not been updated
+to expect the new behavior.
+
+The ``OLD`` behavior for this policy is to not propagate interface link
+properties. The ``NEW`` behavior of this policy is to propagate interface link
+properties.
+
+This policy was introduced in CMake version 3.17.  Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+Unlike many policies, CMake version |release| does *not* warn
+when this policy is not set and simply uses ``OLD`` behavior.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.17/Help/policy/CMP0100.rst b/share/cmake-3.17/Help/policy/CMP0100.rst
new file mode 100644
index 0000000..b24d013
--- /dev/null
+++ b/share/cmake-3.17/Help/policy/CMP0100.rst
@@ -0,0 +1,40 @@
+CMP0100
+-------
+
+Let :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` process
+header files that end with a ``.hh`` extension.
+
+Since version 3.17, CMake processes header files that end with a
+``.hh`` extension in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+In earlier CMake versions, these header files were ignored by
+:prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+
+This policy affects how header files that end with a ``.hh`` extension
+get treated in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+
+The ``OLD`` behavior for this policy is to ignore ``.hh`` header files
+in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+
+The ``NEW`` behavior for this policy is to process ``.hh`` header files
+in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` just like other header files.
+
+.. note::
+
+  To silence the ``CMP0100`` warning source files can be excluded from
+  :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` processing by setting the
+  source file properties :prop_sf:`SKIP_AUTOMOC`, :prop_sf:`SKIP_AUTOUIC` or
+  :prop_sf:`SKIP_AUTOGEN`.
+
+  .. code-block:: cmake
+
+    # Source skip example:
+    set_property(SOURCE /path/to/file1.hh PROPERTY SKIP_AUTOMOC ON)
+    set_property(SOURCE /path/to/file2.hh PROPERTY SKIP_AUTOUIC ON)
+    set_property(SOURCE /path/to/file3.hh PROPERTY SKIP_AUTOGEN ON)
+
+This policy was introduced in CMake version 3.17.0.  CMake version
+|release| warns when the policy is not set and uses ``OLD`` behavior.
+Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
+explicitly.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.17/Help/policy/CMP0101.rst b/share/cmake-3.17/Help/policy/CMP0101.rst
new file mode 100644
index 0000000..9941acf
--- /dev/null
+++ b/share/cmake-3.17/Help/policy/CMP0101.rst
@@ -0,0 +1,20 @@
+CMP0101
+-------
+
+:command:`target_compile_options` now honors ``BEFORE`` keyword in all scopes.
+
+In CMake 3.16 and below the :command:`target_compile_options` ignores the
+``BEFORE`` keyword in private scope. CMake 3.17 and later honors
+``BEFORE`` keyword in all scopes. This policy provides compatibility for
+projects that have not been updated to expect the new behavior.
+
+The ``OLD`` behavior for this policy is to not honor ``BEFORE`` keyword in
+private scope. The ``NEW`` behavior of this policy is to honor
+``BEFORE`` keyword in all scopes.
+
+This policy was introduced in CMake version 3.17.  Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+Unlike many policies, CMake version |release| does *not* warn
+when this policy is not set and simply uses ``OLD`` behavior.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.17/Help/policy/CMP0102.rst b/share/cmake-3.17/Help/policy/CMP0102.rst
new file mode 100644
index 0000000..9859006
--- /dev/null
+++ b/share/cmake-3.17/Help/policy/CMP0102.rst
@@ -0,0 +1,25 @@
+CMP0102
+-------
+
+The :command:`mark_as_advanced` command no longer creates a cache entry if one
+does not already exist.
+
+In CMake 3.16 and below, if a variable was not defined at all or just defined
+locally, the :command:`mark_as_advanced` command would create a new cache
+entry with an ``UNINITIALIZED`` type and no value. When a :command:`find_path`
+(or other similar ``find_`` command) would next run, it would find this
+undefined cache entry and set it up with an empty string value. This process
+would end up deleting the local variable in the process (due to the way the
+cache works), effectively clearing any stored ``find_`` results that were only
+available in the local scope.
+
+The ``OLD`` behavior for this policy is to create the empty cache definition.
+The ``NEW`` behavior of this policy is to ignore variables which do not
+already exist in the cache.
+
+This policy was introduced in CMake version 3.17.  Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+Unlike many policies, CMake version |release| does *not* warn
+when this policy is not set and simply uses ``OLD`` behavior.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.16/Help/policy/DEPRECATED.txt b/share/cmake-3.17/Help/policy/DEPRECATED.txt
similarity index 100%
rename from share/cmake-3.16/Help/policy/DEPRECATED.txt
rename to share/cmake-3.17/Help/policy/DEPRECATED.txt
diff --git a/share/cmake-3.16/Help/policy/DISALLOWED_COMMAND.txt b/share/cmake-3.17/Help/policy/DISALLOWED_COMMAND.txt
similarity index 100%
rename from share/cmake-3.16/Help/policy/DISALLOWED_COMMAND.txt
rename to share/cmake-3.17/Help/policy/DISALLOWED_COMMAND.txt
diff --git a/share/cmake-3.16/Help/prop_cache/ADVANCED.rst b/share/cmake-3.17/Help/prop_cache/ADVANCED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_cache/ADVANCED.rst
rename to share/cmake-3.17/Help/prop_cache/ADVANCED.rst
diff --git a/share/cmake-3.16/Help/prop_cache/HELPSTRING.rst b/share/cmake-3.17/Help/prop_cache/HELPSTRING.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_cache/HELPSTRING.rst
rename to share/cmake-3.17/Help/prop_cache/HELPSTRING.rst
diff --git a/share/cmake-3.16/Help/prop_cache/MODIFIED.rst b/share/cmake-3.17/Help/prop_cache/MODIFIED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_cache/MODIFIED.rst
rename to share/cmake-3.17/Help/prop_cache/MODIFIED.rst
diff --git a/share/cmake-3.16/Help/prop_cache/STRINGS.rst b/share/cmake-3.17/Help/prop_cache/STRINGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_cache/STRINGS.rst
rename to share/cmake-3.17/Help/prop_cache/STRINGS.rst
diff --git a/share/cmake-3.16/Help/prop_cache/TYPE.rst b/share/cmake-3.17/Help/prop_cache/TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_cache/TYPE.rst
rename to share/cmake-3.17/Help/prop_cache/TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_cache/VALUE.rst b/share/cmake-3.17/Help/prop_cache/VALUE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_cache/VALUE.rst
rename to share/cmake-3.17/Help/prop_cache/VALUE.rst
diff --git a/share/cmake-3.16/Help/prop_dir/ADDITIONAL_CLEAN_FILES.rst b/share/cmake-3.17/Help/prop_dir/ADDITIONAL_CLEAN_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/ADDITIONAL_CLEAN_FILES.rst
rename to share/cmake-3.17/Help/prop_dir/ADDITIONAL_CLEAN_FILES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst b/share/cmake-3.17/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
rename to share/cmake-3.17/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/BINARY_DIR.rst b/share/cmake-3.17/Help/prop_dir/BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/BINARY_DIR.rst
rename to share/cmake-3.17/Help/prop_dir/BINARY_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_dir/BUILDSYSTEM_TARGETS.rst b/share/cmake-3.17/Help/prop_dir/BUILDSYSTEM_TARGETS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/BUILDSYSTEM_TARGETS.rst
rename to share/cmake-3.17/Help/prop_dir/BUILDSYSTEM_TARGETS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/CACHE_VARIABLES.rst b/share/cmake-3.17/Help/prop_dir/CACHE_VARIABLES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/CACHE_VARIABLES.rst
rename to share/cmake-3.17/Help/prop_dir/CACHE_VARIABLES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/CLEAN_NO_CUSTOM.rst b/share/cmake-3.17/Help/prop_dir/CLEAN_NO_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/CLEAN_NO_CUSTOM.rst
rename to share/cmake-3.17/Help/prop_dir/CLEAN_NO_CUSTOM.rst
diff --git a/share/cmake-3.16/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst b/share/cmake-3.17/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
rename to share/cmake-3.17/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/COMPILE_DEFINITIONS.rst b/share/cmake-3.17/Help/prop_dir/COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/COMPILE_DEFINITIONS.rst
rename to share/cmake-3.17/Help/prop_dir/COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst b/share/cmake-3.17/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
rename to share/cmake-3.17/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_dir/COMPILE_OPTIONS.rst b/share/cmake-3.17/Help/prop_dir/COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/COMPILE_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_dir/COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/DEFINITIONS.rst b/share/cmake-3.17/Help/prop_dir/DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/DEFINITIONS.rst
rename to share/cmake-3.17/Help/prop_dir/DEFINITIONS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/EXCLUDE_FROM_ALL.rst b/share/cmake-3.17/Help/prop_dir/EXCLUDE_FROM_ALL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/EXCLUDE_FROM_ALL.rst
rename to share/cmake-3.17/Help/prop_dir/EXCLUDE_FROM_ALL.rst
diff --git a/share/cmake-3.16/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst b/share/cmake-3.17/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
rename to share/cmake-3.17/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
diff --git a/share/cmake-3.16/Help/prop_dir/INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_dir/INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_dir/INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst b/share/cmake-3.17/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
rename to share/cmake-3.17/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.16/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.17/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
rename to share/cmake-3.17/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
diff --git a/share/cmake-3.16/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.17/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
rename to share/cmake-3.17/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_dir/LABELS.rst b/share/cmake-3.17/Help/prop_dir/LABELS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/LABELS.rst
rename to share/cmake-3.17/Help/prop_dir/LABELS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/LINK_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_dir/LINK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/LINK_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_dir/LINK_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/LINK_OPTIONS.rst b/share/cmake-3.17/Help/prop_dir/LINK_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/LINK_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_dir/LINK_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/LISTFILE_STACK.rst b/share/cmake-3.17/Help/prop_dir/LISTFILE_STACK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/LISTFILE_STACK.rst
rename to share/cmake-3.17/Help/prop_dir/LISTFILE_STACK.rst
diff --git a/share/cmake-3.16/Help/prop_dir/MACROS.rst b/share/cmake-3.17/Help/prop_dir/MACROS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/MACROS.rst
rename to share/cmake-3.17/Help/prop_dir/MACROS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/PARENT_DIRECTORY.rst b/share/cmake-3.17/Help/prop_dir/PARENT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/PARENT_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_dir/PARENT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_dir/RULE_LAUNCH_COMPILE.rst b/share/cmake-3.17/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
rename to share/cmake-3.17/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
diff --git a/share/cmake-3.16/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst b/share/cmake-3.17/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
rename to share/cmake-3.17/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
diff --git a/share/cmake-3.16/Help/prop_dir/RULE_LAUNCH_LINK.rst b/share/cmake-3.17/Help/prop_dir/RULE_LAUNCH_LINK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/RULE_LAUNCH_LINK.rst
rename to share/cmake-3.17/Help/prop_dir/RULE_LAUNCH_LINK.rst
diff --git a/share/cmake-3.16/Help/prop_dir/SOURCE_DIR.rst b/share/cmake-3.17/Help/prop_dir/SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/SOURCE_DIR.rst
rename to share/cmake-3.17/Help/prop_dir/SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_dir/SUBDIRECTORIES.rst b/share/cmake-3.17/Help/prop_dir/SUBDIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/SUBDIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_dir/SUBDIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/TESTS.rst b/share/cmake-3.17/Help/prop_dir/TESTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/TESTS.rst
rename to share/cmake-3.17/Help/prop_dir/TESTS.rst
diff --git a/share/cmake-3.16/Help/prop_dir/TEST_INCLUDE_FILE.rst b/share/cmake-3.17/Help/prop_dir/TEST_INCLUDE_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/TEST_INCLUDE_FILE.rst
rename to share/cmake-3.17/Help/prop_dir/TEST_INCLUDE_FILE.rst
diff --git a/share/cmake-3.16/Help/prop_dir/TEST_INCLUDE_FILES.rst b/share/cmake-3.17/Help/prop_dir/TEST_INCLUDE_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/TEST_INCLUDE_FILES.rst
rename to share/cmake-3.17/Help/prop_dir/TEST_INCLUDE_FILES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/VARIABLES.rst b/share/cmake-3.17/Help/prop_dir/VARIABLES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/VARIABLES.rst
rename to share/cmake-3.17/Help/prop_dir/VARIABLES.rst
diff --git a/share/cmake-3.16/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst b/share/cmake-3.17/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
rename to share/cmake-3.17/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
diff --git a/share/cmake-3.16/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst b/share/cmake-3.17/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
rename to share/cmake-3.17/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
diff --git a/share/cmake-3.16/Help/prop_dir/VS_STARTUP_PROJECT.rst b/share/cmake-3.17/Help/prop_dir/VS_STARTUP_PROJECT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_dir/VS_STARTUP_PROJECT.rst
rename to share/cmake-3.17/Help/prop_dir/VS_STARTUP_PROJECT.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst b/share/cmake-3.17/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
rename to share/cmake-3.17/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst b/share/cmake-3.17/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
rename to share/cmake-3.17/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst b/share/cmake-3.17/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
rename to share/cmake-3.17/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst b/share/cmake-3.17/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
rename to share/cmake-3.17/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst b/share/cmake-3.17/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
rename to share/cmake-3.17/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst b/share/cmake-3.17/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
rename to share/cmake-3.17/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
diff --git a/share/cmake-3.17/Help/prop_gbl/CMAKE_CUDA_KNOWN_FEATURES.rst b/share/cmake-3.17/Help/prop_gbl/CMAKE_CUDA_KNOWN_FEATURES.rst
new file mode 100644
index 0000000..44e37fe
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_gbl/CMAKE_CUDA_KNOWN_FEATURES.rst
@@ -0,0 +1,30 @@
+CMAKE_CUDA_KNOWN_FEATURES
+-------------------------
+
+List of CUDA features known to this version of CMake.
+
+The features listed in this global property may be known to be available to the
+CUDA compiler.  If the feature is available with the C++ compiler, it will
+be listed in the :variable:`CMAKE_CUDA_COMPILE_FEATURES` variable.
+
+The features listed here may be used with the :command:`target_compile_features`
+command.  See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+
+The features known to this version of CMake are:
+
+``cuda_std_03``
+  Compiler mode is at least CUDA/C++ 03.
+
+``cuda_std_11``
+  Compiler mode is at least CUDA/C++ 11.
+
+``cuda_std_14``
+  Compiler mode is at least CUDA/C++ 14.
+
+``cuda_std_17``
+  Compiler mode is at least CUDA/C++ 17.
+
+``cuda_std_20``
+  Compiler mode is at least CUDA/C++ 20.
diff --git a/share/cmake-3.16/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst b/share/cmake-3.17/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
rename to share/cmake-3.17/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst b/share/cmake-3.17/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
rename to share/cmake-3.17/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/CMAKE_ROLE.rst b/share/cmake-3.17/Help/prop_gbl/CMAKE_ROLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/CMAKE_ROLE.rst
rename to share/cmake-3.17/Help/prop_gbl/CMAKE_ROLE.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst b/share/cmake-3.17/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
rename to share/cmake-3.17/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/DISABLED_FEATURES.rst b/share/cmake-3.17/Help/prop_gbl/DISABLED_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/DISABLED_FEATURES.rst
rename to share/cmake-3.17/Help/prop_gbl/DISABLED_FEATURES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS.rst b/share/cmake-3.17/Help/prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS.rst
rename to share/cmake-3.17/Help/prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst b/share/cmake-3.17/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
rename to share/cmake-3.17/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/ENABLED_FEATURES.rst b/share/cmake-3.17/Help/prop_gbl/ENABLED_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/ENABLED_FEATURES.rst
rename to share/cmake-3.17/Help/prop_gbl/ENABLED_FEATURES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/ENABLED_LANGUAGES.rst b/share/cmake-3.17/Help/prop_gbl/ENABLED_LANGUAGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/ENABLED_LANGUAGES.rst
rename to share/cmake-3.17/Help/prop_gbl/ENABLED_LANGUAGES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst b/share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst
rename to share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst b/share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
rename to share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst b/share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
rename to share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst b/share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
rename to share/cmake-3.17/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst b/share/cmake-3.17/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
rename to share/cmake-3.17/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst b/share/cmake-3.17/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
rename to share/cmake-3.17/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst b/share/cmake-3.17/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
rename to share/cmake-3.17/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/IN_TRY_COMPILE.rst b/share/cmake-3.17/Help/prop_gbl/IN_TRY_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/IN_TRY_COMPILE.rst
rename to share/cmake-3.17/Help/prop_gbl/IN_TRY_COMPILE.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/JOB_POOLS.rst b/share/cmake-3.17/Help/prop_gbl/JOB_POOLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/JOB_POOLS.rst
rename to share/cmake-3.17/Help/prop_gbl/JOB_POOLS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/PACKAGES_FOUND.rst b/share/cmake-3.17/Help/prop_gbl/PACKAGES_FOUND.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/PACKAGES_FOUND.rst
rename to share/cmake-3.17/Help/prop_gbl/PACKAGES_FOUND.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/PACKAGES_NOT_FOUND.rst b/share/cmake-3.17/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
rename to share/cmake-3.17/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst b/share/cmake-3.17/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
rename to share/cmake-3.17/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst b/share/cmake-3.17/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
rename to share/cmake-3.17/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst b/share/cmake-3.17/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
rename to share/cmake-3.17/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst b/share/cmake-3.17/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
rename to share/cmake-3.17/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/RULE_LAUNCH_LINK.rst b/share/cmake-3.17/Help/prop_gbl/RULE_LAUNCH_LINK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/RULE_LAUNCH_LINK.rst
rename to share/cmake-3.17/Help/prop_gbl/RULE_LAUNCH_LINK.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/RULE_MESSAGES.rst b/share/cmake-3.17/Help/prop_gbl/RULE_MESSAGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/RULE_MESSAGES.rst
rename to share/cmake-3.17/Help/prop_gbl/RULE_MESSAGES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst b/share/cmake-3.17/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
rename to share/cmake-3.17/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/TARGET_MESSAGES.rst b/share/cmake-3.17/Help/prop_gbl/TARGET_MESSAGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/TARGET_MESSAGES.rst
rename to share/cmake-3.17/Help/prop_gbl/TARGET_MESSAGES.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst b/share/cmake-3.17/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
rename to share/cmake-3.17/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/USE_FOLDERS.rst b/share/cmake-3.17/Help/prop_gbl/USE_FOLDERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/USE_FOLDERS.rst
rename to share/cmake-3.17/Help/prop_gbl/USE_FOLDERS.rst
diff --git a/share/cmake-3.16/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst b/share/cmake-3.17/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
rename to share/cmake-3.17/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst b/share/cmake-3.17/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
rename to share/cmake-3.17/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
diff --git a/share/cmake-3.16/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst b/share/cmake-3.17/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
rename to share/cmake-3.17/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
diff --git a/share/cmake-3.16/Help/prop_inst/CPACK_PERMANENT.rst b/share/cmake-3.17/Help/prop_inst/CPACK_PERMANENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_inst/CPACK_PERMANENT.rst
rename to share/cmake-3.17/Help/prop_inst/CPACK_PERMANENT.rst
diff --git a/share/cmake-3.16/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst b/share/cmake-3.17/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
rename to share/cmake-3.17/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
diff --git a/share/cmake-3.16/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst b/share/cmake-3.17/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
rename to share/cmake-3.17/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
diff --git a/share/cmake-3.16/Help/prop_inst/CPACK_WIX_ACL.rst b/share/cmake-3.17/Help/prop_inst/CPACK_WIX_ACL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_inst/CPACK_WIX_ACL.rst
rename to share/cmake-3.17/Help/prop_inst/CPACK_WIX_ACL.rst
diff --git a/share/cmake-3.16/Help/prop_sf/ABSTRACT.rst b/share/cmake-3.17/Help/prop_sf/ABSTRACT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/ABSTRACT.rst
rename to share/cmake-3.17/Help/prop_sf/ABSTRACT.rst
diff --git a/share/cmake-3.16/Help/prop_sf/AUTORCC_OPTIONS.rst b/share/cmake-3.17/Help/prop_sf/AUTORCC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/AUTORCC_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_sf/AUTORCC_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/AUTOUIC_OPTIONS.rst b/share/cmake-3.17/Help/prop_sf/AUTOUIC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/AUTOUIC_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_sf/AUTOUIC_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/COMPILE_DEFINITIONS.rst b/share/cmake-3.17/Help/prop_sf/COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/COMPILE_DEFINITIONS.rst
rename to share/cmake-3.17/Help/prop_sf/COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst b/share/cmake-3.17/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
rename to share/cmake-3.17/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_sf/COMPILE_FLAGS.rst b/share/cmake-3.17/Help/prop_sf/COMPILE_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/COMPILE_FLAGS.rst
rename to share/cmake-3.17/Help/prop_sf/COMPILE_FLAGS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/COMPILE_OPTIONS.rst b/share/cmake-3.17/Help/prop_sf/COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/COMPILE_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_sf/COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/EXTERNAL_OBJECT.rst b/share/cmake-3.17/Help/prop_sf/EXTERNAL_OBJECT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/EXTERNAL_OBJECT.rst
rename to share/cmake-3.17/Help/prop_sf/EXTERNAL_OBJECT.rst
diff --git a/share/cmake-3.16/Help/prop_sf/Fortran_FORMAT.rst b/share/cmake-3.17/Help/prop_sf/Fortran_FORMAT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/Fortran_FORMAT.rst
rename to share/cmake-3.17/Help/prop_sf/Fortran_FORMAT.rst
diff --git a/share/cmake-3.17/Help/prop_sf/GENERATED.rst b/share/cmake-3.17/Help/prop_sf/GENERATED.rst
new file mode 100644
index 0000000..48ff70c
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_sf/GENERATED.rst
@@ -0,0 +1,36 @@
+GENERATED
+---------
+
+Is this source file generated as part of the build or CMake process.
+
+Tells the internal CMake engine that a source file is generated by an outside
+process such as another build step, or the execution of CMake itself.
+This information is then used to exempt the file from any existence or
+validity checks.
+
+Any file that is
+
+- created by the execution of commands such as
+  :command:`add_custom_command` and :command:`file(GENERATE)`
+- listed as one of the ``BYPRODUCTS`` of an :command:`add_custom_command`
+  or :command:`add_custom_target` command, or
+- created by a CMake ``AUTOGEN`` operation such as :prop_tgt:`AUTOMOC`,
+  :prop_tgt:`AUTORCC`, or :prop_tgt:`AUTOUIC`
+
+will be marked with the ``GENERATED`` property.
+
+When a generated file created as the ``OUTPUT`` of an
+:command:`add_custom_command` command is explicitly listed as a source file
+for any target in the same directory scope (which usually means the same
+``CMakeLists.txt`` file), CMake will automatically create a dependency to
+make sure the file is generated before building that target.
+
+The :ref:`Makefile Generators` will remove ``GENERATED`` files during
+``make clean``.
+
+Generated sources may be hidden in some IDE tools, while in others they might
+be shown. For the special case of sources generated by CMake's :prop_tgt:`AUTOMOC`
+or :prop_tgt:`AUTORCC` functionality, the :prop_gbl:`AUTOGEN_SOURCE_GROUP`,
+:prop_gbl:`AUTOMOC_SOURCE_GROUP` and :prop_gbl:`AUTORCC_SOURCE_GROUP` target
+properties may influence where the generated sources are grouped in the project's
+file lists.
diff --git a/share/cmake-3.16/Help/prop_sf/HEADER_FILE_ONLY.rst b/share/cmake-3.17/Help/prop_sf/HEADER_FILE_ONLY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/HEADER_FILE_ONLY.rst
rename to share/cmake-3.17/Help/prop_sf/HEADER_FILE_ONLY.rst
diff --git a/share/cmake-3.16/Help/prop_sf/INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_sf/INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_sf/INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_sf/KEEP_EXTENSION.rst b/share/cmake-3.17/Help/prop_sf/KEEP_EXTENSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/KEEP_EXTENSION.rst
rename to share/cmake-3.17/Help/prop_sf/KEEP_EXTENSION.rst
diff --git a/share/cmake-3.16/Help/prop_sf/LABELS.rst b/share/cmake-3.17/Help/prop_sf/LABELS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/LABELS.rst
rename to share/cmake-3.17/Help/prop_sf/LABELS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/LANGUAGE.rst b/share/cmake-3.17/Help/prop_sf/LANGUAGE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/LANGUAGE.rst
rename to share/cmake-3.17/Help/prop_sf/LANGUAGE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/LOCATION.rst b/share/cmake-3.17/Help/prop_sf/LOCATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/LOCATION.rst
rename to share/cmake-3.17/Help/prop_sf/LOCATION.rst
diff --git a/share/cmake-3.16/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst b/share/cmake-3.17/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
rename to share/cmake-3.17/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
diff --git a/share/cmake-3.16/Help/prop_sf/OBJECT_DEPENDS.rst b/share/cmake-3.17/Help/prop_sf/OBJECT_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/OBJECT_DEPENDS.rst
rename to share/cmake-3.17/Help/prop_sf/OBJECT_DEPENDS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/OBJECT_OUTPUTS.rst b/share/cmake-3.17/Help/prop_sf/OBJECT_OUTPUTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/OBJECT_OUTPUTS.rst
rename to share/cmake-3.17/Help/prop_sf/OBJECT_OUTPUTS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SKIP_AUTOGEN.rst b/share/cmake-3.17/Help/prop_sf/SKIP_AUTOGEN.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SKIP_AUTOGEN.rst
rename to share/cmake-3.17/Help/prop_sf/SKIP_AUTOGEN.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SKIP_AUTOMOC.rst b/share/cmake-3.17/Help/prop_sf/SKIP_AUTOMOC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SKIP_AUTOMOC.rst
rename to share/cmake-3.17/Help/prop_sf/SKIP_AUTOMOC.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SKIP_AUTORCC.rst b/share/cmake-3.17/Help/prop_sf/SKIP_AUTORCC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SKIP_AUTORCC.rst
rename to share/cmake-3.17/Help/prop_sf/SKIP_AUTORCC.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SKIP_AUTOUIC.rst b/share/cmake-3.17/Help/prop_sf/SKIP_AUTOUIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SKIP_AUTOUIC.rst
rename to share/cmake-3.17/Help/prop_sf/SKIP_AUTOUIC.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SKIP_PRECOMPILE_HEADERS.rst b/share/cmake-3.17/Help/prop_sf/SKIP_PRECOMPILE_HEADERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SKIP_PRECOMPILE_HEADERS.rst
rename to share/cmake-3.17/Help/prop_sf/SKIP_PRECOMPILE_HEADERS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SKIP_UNITY_BUILD_INCLUSION.rst b/share/cmake-3.17/Help/prop_sf/SKIP_UNITY_BUILD_INCLUSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SKIP_UNITY_BUILD_INCLUSION.rst
rename to share/cmake-3.17/Help/prop_sf/SKIP_UNITY_BUILD_INCLUSION.rst
diff --git a/share/cmake-3.16/Help/prop_sf/SYMBOLIC.rst b/share/cmake-3.17/Help/prop_sf/SYMBOLIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/SYMBOLIC.rst
rename to share/cmake-3.17/Help/prop_sf/SYMBOLIC.rst
diff --git a/share/cmake-3.16/Help/prop_sf/Swift_DEPENDENCIES_FILE.rst b/share/cmake-3.17/Help/prop_sf/Swift_DEPENDENCIES_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/Swift_DEPENDENCIES_FILE.rst
rename to share/cmake-3.17/Help/prop_sf/Swift_DEPENDENCIES_FILE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/Swift_DIAGNOSTICS_FILE.rst b/share/cmake-3.17/Help/prop_sf/Swift_DIAGNOSTICS_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/Swift_DIAGNOSTICS_FILE.rst
rename to share/cmake-3.17/Help/prop_sf/Swift_DIAGNOSTICS_FILE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst b/share/cmake-3.17/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
rename to share/cmake-3.17/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_CSHARP_tagname.rst b/share/cmake-3.17/Help/prop_sf/VS_CSHARP_tagname.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_CSHARP_tagname.rst
rename to share/cmake-3.17/Help/prop_sf/VS_CSHARP_tagname.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst b/share/cmake-3.17/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
rename to share/cmake-3.17/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst b/share/cmake-3.17/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
rename to share/cmake-3.17/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst b/share/cmake-3.17/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
rename to share/cmake-3.17/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_RESOURCE_GENERATOR.rst b/share/cmake-3.17/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
rename to share/cmake-3.17/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_DISABLE_OPTIMIZATIONS.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_DISABLE_OPTIMIZATIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_DISABLE_OPTIMIZATIONS.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_DISABLE_OPTIMIZATIONS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_ENABLE_DEBUG.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_ENABLE_DEBUG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_ENABLE_DEBUG.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_ENABLE_DEBUG.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_FLAGS.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_FLAGS.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_FLAGS.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_MODEL.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_MODEL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_MODEL.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_MODEL.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_TYPE.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_TYPE.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst b/share/cmake-3.17/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst
rename to share/cmake-3.17/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_TOOL_OVERRIDE.rst b/share/cmake-3.17/Help/prop_sf/VS_TOOL_OVERRIDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_TOOL_OVERRIDE.rst
rename to share/cmake-3.17/Help/prop_sf/VS_TOOL_OVERRIDE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/VS_XAML_TYPE.rst b/share/cmake-3.17/Help/prop_sf/VS_XAML_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/VS_XAML_TYPE.rst
rename to share/cmake-3.17/Help/prop_sf/VS_XAML_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/WRAP_EXCLUDE.rst b/share/cmake-3.17/Help/prop_sf/WRAP_EXCLUDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/WRAP_EXCLUDE.rst
rename to share/cmake-3.17/Help/prop_sf/WRAP_EXCLUDE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst b/share/cmake-3.17/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
rename to share/cmake-3.17/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst b/share/cmake-3.17/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst
rename to share/cmake-3.17/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst
diff --git a/share/cmake-3.16/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst b/share/cmake-3.17/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
rename to share/cmake-3.17/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_test/ATTACHED_FILES.rst b/share/cmake-3.17/Help/prop_test/ATTACHED_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/ATTACHED_FILES.rst
rename to share/cmake-3.17/Help/prop_test/ATTACHED_FILES.rst
diff --git a/share/cmake-3.16/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst b/share/cmake-3.17/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
rename to share/cmake-3.17/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
diff --git a/share/cmake-3.16/Help/prop_test/COST.rst b/share/cmake-3.17/Help/prop_test/COST.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/COST.rst
rename to share/cmake-3.17/Help/prop_test/COST.rst
diff --git a/share/cmake-3.16/Help/prop_test/DEPENDS.rst b/share/cmake-3.17/Help/prop_test/DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/DEPENDS.rst
rename to share/cmake-3.17/Help/prop_test/DEPENDS.rst
diff --git a/share/cmake-3.16/Help/prop_test/DISABLED.rst b/share/cmake-3.17/Help/prop_test/DISABLED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/DISABLED.rst
rename to share/cmake-3.17/Help/prop_test/DISABLED.rst
diff --git a/share/cmake-3.16/Help/prop_test/ENVIRONMENT.rst b/share/cmake-3.17/Help/prop_test/ENVIRONMENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/ENVIRONMENT.rst
rename to share/cmake-3.17/Help/prop_test/ENVIRONMENT.rst
diff --git a/share/cmake-3.16/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst b/share/cmake-3.17/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
rename to share/cmake-3.17/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.16/Help/prop_test/FIXTURES_CLEANUP.rst b/share/cmake-3.17/Help/prop_test/FIXTURES_CLEANUP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/FIXTURES_CLEANUP.rst
rename to share/cmake-3.17/Help/prop_test/FIXTURES_CLEANUP.rst
diff --git a/share/cmake-3.16/Help/prop_test/FIXTURES_REQUIRED.rst b/share/cmake-3.17/Help/prop_test/FIXTURES_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/FIXTURES_REQUIRED.rst
rename to share/cmake-3.17/Help/prop_test/FIXTURES_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/prop_test/FIXTURES_SETUP.rst b/share/cmake-3.17/Help/prop_test/FIXTURES_SETUP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/FIXTURES_SETUP.rst
rename to share/cmake-3.17/Help/prop_test/FIXTURES_SETUP.rst
diff --git a/share/cmake-3.16/Help/prop_test/LABELS.rst b/share/cmake-3.17/Help/prop_test/LABELS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/LABELS.rst
rename to share/cmake-3.17/Help/prop_test/LABELS.rst
diff --git a/share/cmake-3.16/Help/prop_test/MEASUREMENT.rst b/share/cmake-3.17/Help/prop_test/MEASUREMENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/MEASUREMENT.rst
rename to share/cmake-3.17/Help/prop_test/MEASUREMENT.rst
diff --git a/share/cmake-3.16/Help/prop_test/PASS_REGULAR_EXPRESSION.rst b/share/cmake-3.17/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
rename to share/cmake-3.17/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.16/Help/prop_test/PROCESSORS.rst b/share/cmake-3.17/Help/prop_test/PROCESSORS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/PROCESSORS.rst
rename to share/cmake-3.17/Help/prop_test/PROCESSORS.rst
diff --git a/share/cmake-3.16/Help/prop_test/PROCESSOR_AFFINITY.rst b/share/cmake-3.17/Help/prop_test/PROCESSOR_AFFINITY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/PROCESSOR_AFFINITY.rst
rename to share/cmake-3.17/Help/prop_test/PROCESSOR_AFFINITY.rst
diff --git a/share/cmake-3.16/Help/prop_test/REQUIRED_FILES.rst b/share/cmake-3.17/Help/prop_test/REQUIRED_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/REQUIRED_FILES.rst
rename to share/cmake-3.17/Help/prop_test/REQUIRED_FILES.rst
diff --git a/share/cmake-3.16/Help/prop_test/RESOURCE_GROUPS.rst b/share/cmake-3.17/Help/prop_test/RESOURCE_GROUPS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/RESOURCE_GROUPS.rst
rename to share/cmake-3.17/Help/prop_test/RESOURCE_GROUPS.rst
diff --git a/share/cmake-3.16/Help/prop_test/RESOURCE_LOCK.rst b/share/cmake-3.17/Help/prop_test/RESOURCE_LOCK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/RESOURCE_LOCK.rst
rename to share/cmake-3.17/Help/prop_test/RESOURCE_LOCK.rst
diff --git a/share/cmake-3.16/Help/prop_test/RUN_SERIAL.rst b/share/cmake-3.17/Help/prop_test/RUN_SERIAL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/RUN_SERIAL.rst
rename to share/cmake-3.17/Help/prop_test/RUN_SERIAL.rst
diff --git a/share/cmake-3.16/Help/prop_test/SKIP_REGULAR_EXPRESSION.rst b/share/cmake-3.17/Help/prop_test/SKIP_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/SKIP_REGULAR_EXPRESSION.rst
rename to share/cmake-3.17/Help/prop_test/SKIP_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.16/Help/prop_test/SKIP_RETURN_CODE.rst b/share/cmake-3.17/Help/prop_test/SKIP_RETURN_CODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/SKIP_RETURN_CODE.rst
rename to share/cmake-3.17/Help/prop_test/SKIP_RETURN_CODE.rst
diff --git a/share/cmake-3.16/Help/prop_test/TIMEOUT.rst b/share/cmake-3.17/Help/prop_test/TIMEOUT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/TIMEOUT.rst
rename to share/cmake-3.17/Help/prop_test/TIMEOUT.rst
diff --git a/share/cmake-3.16/Help/prop_test/TIMEOUT_AFTER_MATCH.rst b/share/cmake-3.17/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
rename to share/cmake-3.17/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
diff --git a/share/cmake-3.16/Help/prop_test/WILL_FAIL.rst b/share/cmake-3.17/Help/prop_test/WILL_FAIL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/WILL_FAIL.rst
rename to share/cmake-3.17/Help/prop_test/WILL_FAIL.rst
diff --git a/share/cmake-3.16/Help/prop_test/WORKING_DIRECTORY.rst b/share/cmake-3.17/Help/prop_test/WORKING_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_test/WORKING_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_test/WORKING_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ADDITIONAL_CLEAN_FILES.rst b/share/cmake-3.17/Help/prop_tgt/ADDITIONAL_CLEAN_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ADDITIONAL_CLEAN_FILES.rst
rename to share/cmake-3.17/Help/prop_tgt/ADDITIONAL_CLEAN_FILES.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/AIX_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.17/Help/prop_tgt/AIX_EXPORT_ALL_SYMBOLS.rst
new file mode 100644
index 0000000..15ddc0b
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/AIX_EXPORT_ALL_SYMBOLS.rst
@@ -0,0 +1,12 @@
+AIX_EXPORT_ALL_SYMBOLS
+----------------------
+
+On AIX, CMake automatically exports all symbols from shared libraries, and
+from executables with the :prop_tgt:`ENABLE_EXPORTS` target property set.
+Explicitly disable this boolean property to suppress the behavior and
+export no symbols by default.  In this case it is expected that the project
+will use other means to export some symbols.
+
+This property is initialized by the value of
+the :variable:`CMAKE_AIX_EXPORT_ALL_SYMBOLS` variable if it is set
+when a target is created.
diff --git a/share/cmake-3.16/Help/prop_tgt/ALIASED_TARGET.rst b/share/cmake-3.17/Help/prop_tgt/ALIASED_TARGET.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ALIASED_TARGET.rst
rename to share/cmake-3.17/Help/prop_tgt/ALIASED_TARGET.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_API.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_API.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_API.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_API.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_API_MIN.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_API_MIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_API_MIN.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_API_MIN.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_ARCH.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_ARCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_ARCH.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_ARCH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_GUI.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_GUI.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_GUI.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_GUI.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_PROCESS_MAX.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_PROGUARD.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_PROGUARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_PROGUARD.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_PROGUARD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ANDROID_STL_TYPE.rst b/share/cmake-3.17/Help/prop_tgt/ANDROID_STL_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ANDROID_STL_TYPE.rst
rename to share/cmake-3.17/Help/prop_tgt/ANDROID_STL_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst b/share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst b/share/cmake-3.17/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOGEN_ORIGIN_DEPENDS.rst b/share/cmake-3.17/Help/prop_tgt/AUTOGEN_ORIGIN_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOGEN_ORIGIN_DEPENDS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOGEN_ORIGIN_DEPENDS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOGEN_PARALLEL.rst b/share/cmake-3.17/Help/prop_tgt/AUTOGEN_PARALLEL.rst
similarity index 76%
rename from share/cmake-3.16/Help/prop_tgt/AUTOGEN_PARALLEL.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOGEN_PARALLEL.rst
index 07fbc5a..968b619 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOGEN_PARALLEL.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOGEN_PARALLEL.rst
@@ -4,9 +4,9 @@
 Number of parallel ``moc`` or ``uic`` processes to start when using
 :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
 
-The custom `<origin>_autogen` target starts a number of threads of which
+The custom ``<origin>_autogen`` target starts a number of threads of which
 each one parses a source file and on demand starts a ``moc`` or ``uic``
-process.  :prop_tgt:`AUTOGEN_PARALLEL` controls how many parallel threads
+process.  ``AUTOGEN_PARALLEL`` controls how many parallel threads
 (and therefore ``moc`` or ``uic`` processes) are started.
 
 - An empty (or unset) value or the string ``AUTO`` sets the number of
@@ -14,7 +14,7 @@
 - A positive non zero integer value sets the exact thread/process count.
 - Otherwise a single thread/process is started.
 
-By default :prop_tgt:`AUTOGEN_PARALLEL` is initialized from
+By default ``AUTOGEN_PARALLEL`` is initialized from
 :variable:`CMAKE_AUTOGEN_PARALLEL`.
 
 See the :manual:`cmake-qt(7)` manual for more information on using CMake
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst b/share/cmake-3.17/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
similarity index 96%
rename from share/cmake-3.16/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
index d5c5e14..92b52a3 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
@@ -33,4 +33,4 @@
   :prop_sf:`SKIP_AUTOUIC`, :prop_sf:`SKIP_AUTOGEN` or :policy:`CMP0071` or
 - a file that isn't in the origin target's sources
 
-it must added to :prop_tgt:`AUTOGEN_TARGET_DEPENDS`.
+it must be added to :prop_tgt:`AUTOGEN_TARGET_DEPENDS`.
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC.rst
similarity index 98%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC.rst
index f6dfabd..c18859b 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOMOC.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOMOC.rst
@@ -172,7 +172,7 @@
 then the version variables might not be available to the :prop_tgt:`AUTOMOC`
 enabled target.
 In that case the version variables can be forwarded from the
-`find_package(Qt[45]...)` calling context to the :command:`add_executable`
+``find_package(Qt[45]...)`` calling context to the :command:`add_executable`
 or :command:`add_library` calling context as directory properties.
 The following Qt5 example demonstrates the procedure.
 
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
similarity index 96%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
index 69957bf..6eda26c 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
@@ -26,6 +26,9 @@
 By default :prop_tgt:`AUTOMOC_DEPEND_FILTERS` is initialized from
 :variable:`CMAKE_AUTOMOC_DEPEND_FILTERS`, which is empty by default.
 
+From Qt 5.15.0 on this variable is ignored as moc is able to output the correct
+dependencies.
+
 See the :manual:`cmake-qt(7)` manual for more information on using CMake
 with Qt.
 
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_EXECUTABLE.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC_EXECUTABLE.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
similarity index 66%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
index ebd5c49..330849b 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
@@ -1,7 +1,7 @@
 AUTOMOC_MOC_OPTIONS
 -------------------
 
-Additional options for moc when using :prop_tgt:`AUTOMOC`
+Additional options for ``moc`` when using :prop_tgt:`AUTOMOC`
 
 This property is only used if the :prop_tgt:`AUTOMOC` property is ``ON``
 for this target.  In this case, it holds additional command line
@@ -9,7 +9,9 @@
 it is equivalent to the optional ``OPTIONS`` argument of the
 :module:`qt4_wrap_cpp() <FindQt4>` macro.
 
-By default it is empty.
+This property is initialized by the value of the
+:variable:`CMAKE_AUTOMOC_MOC_OPTIONS` variable if it is set when a target
+is created, or an empty string otherwise.
 
 See the :manual:`cmake-qt(7)` manual for more information on using CMake
 with Qt.
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst
similarity index 94%
rename from share/cmake-3.16/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst
index e2ebb3f..3e3059d 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst
@@ -21,11 +21,11 @@
 Reproducible builds
 ^^^^^^^^^^^^^^^^^^^
 
-For reproducible builds is is recommended to keep headers that are ``moc``
+For reproducible builds it is recommended to keep headers that are ``moc``
 compiled in one of the target
 :command:`include directories <target_include_directories>` and set
 :prop_tgt:`AUTOMOC_PATH_PREFIX` to ``ON`` (which is the default).  This ensures
-that
+that:
 
 - ``moc`` output files are identical on different build setups,
 - ``moc`` output files will compile correctly when the source and/or
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTORCC.rst b/share/cmake-3.17/Help/prop_tgt/AUTORCC.rst
similarity index 91%
rename from share/cmake-3.16/Help/prop_tgt/AUTORCC.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTORCC.rst
index cca3e58..9a98f44 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTORCC.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTORCC.rst
@@ -31,9 +31,10 @@
 The ``rcc`` executable will be detected automatically, but can be forced to
 a certain binary by setting this target property.
 
-:prop_sf:`AUTORCC_OPTIONS`:
-Additional command line options for ``rcc`` can be set via this ``.qrc``
-source file property.
+:prop_tgt:`AUTORCC_OPTIONS`:
+Additional command line options for ``rcc`` can be set via this target
+property.  The corresponding :prop_sf:`AUTORCC_OPTIONS` source file property
+can be used to specify options to be applied only to a specific ``.qrc`` file.
 
 :prop_sf:`SKIP_AUTORCC`:
 ``.qrc`` files can be excluded from :prop_tgt:`AUTORCC` processing by
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTORCC_EXECUTABLE.rst b/share/cmake-3.17/Help/prop_tgt/AUTORCC_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTORCC_EXECUTABLE.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTORCC_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTORCC_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/AUTORCC_OPTIONS.rst
similarity index 95%
rename from share/cmake-3.16/Help/prop_tgt/AUTORCC_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTORCC_OPTIONS.rst
index d6ade5a..5261aff 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTORCC_OPTIONS.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTORCC_OPTIONS.rst
@@ -8,11 +8,9 @@
 i.e. it is equivalent to the optional ``OPTIONS`` argument of the
 :module:`qt4_add_resources() <FindQt4>` macro.
 
-By default it is empty.
-
 This property is initialized by the value of the
 :variable:`CMAKE_AUTORCC_OPTIONS` variable if it is set when a target is
-created.
+created, or an empty string otherwise.
 
 The options set on the target may be overridden by :prop_sf:`AUTORCC_OPTIONS`
 set on the ``.qrc`` source file.
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOUIC.rst b/share/cmake-3.17/Help/prop_tgt/AUTOUIC.rst
similarity index 90%
rename from share/cmake-3.16/Help/prop_tgt/AUTOUIC.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOUIC.rst
index 5cf8755..cd24f5e 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOUIC.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOUIC.rst
@@ -52,8 +52,11 @@
 The ``uic`` executable will be detected automatically, but can be forced to
 a certain binary using this target property.
 
-:prop_sf:`AUTOUIC_OPTIONS`: Additional command line options for ``uic`` can
-be set via this source file property on a ``<base_name>.ui`` file.
+:prop_tgt:`AUTOUIC_OPTIONS`:
+Additional command line options for ``uic`` can be set via this target
+property.  The corresponding :prop_sf:`AUTOUIC_OPTIONS` source file property
+can be used to specify options to be applied only to a specific
+``<base_name>.ui`` file.
 
 :prop_sf:`SKIP_AUTOUIC`:
 Source files can be excluded from :prop_tgt:`AUTOUIC` processing by setting
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOUIC_EXECUTABLE.rst b/share/cmake-3.17/Help/prop_tgt/AUTOUIC_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOUIC_EXECUTABLE.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOUIC_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOUIC_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/AUTOUIC_OPTIONS.rst
similarity index 95%
rename from share/cmake-3.16/Help/prop_tgt/AUTOUIC_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOUIC_OPTIONS.rst
index 3f613b9..425ea1c 100644
--- a/share/cmake-3.16/Help/prop_tgt/AUTOUIC_OPTIONS.rst
+++ b/share/cmake-3.17/Help/prop_tgt/AUTOUIC_OPTIONS.rst
@@ -8,11 +8,9 @@
 equivalent to the optional ``OPTIONS`` argument of the
 :module:`qt4_wrap_ui() <FindQt4>` macro.
 
-By default it is empty.
-
 This property is initialized by the value of the
 :variable:`CMAKE_AUTOUIC_OPTIONS` variable if it is set when a target is
-created.
+created, or an empty string otherwise.
 
 The options set on the target may be overridden by :prop_sf:`AUTOUIC_OPTIONS`
 set on the ``.ui`` source file.
diff --git a/share/cmake-3.16/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst b/share/cmake-3.17/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst
rename to share/cmake-3.17/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BINARY_DIR.rst b/share/cmake-3.17/Help/prop_tgt/BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BINARY_DIR.rst
rename to share/cmake-3.17/Help/prop_tgt/BINARY_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BUILD_RPATH.rst b/share/cmake-3.17/Help/prop_tgt/BUILD_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BUILD_RPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/BUILD_RPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BUILD_RPATH_USE_ORIGIN.rst b/share/cmake-3.17/Help/prop_tgt/BUILD_RPATH_USE_ORIGIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BUILD_RPATH_USE_ORIGIN.rst
rename to share/cmake-3.17/Help/prop_tgt/BUILD_RPATH_USE_ORIGIN.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst b/share/cmake-3.17/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
rename to share/cmake-3.17/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst b/share/cmake-3.17/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BUNDLE.rst b/share/cmake-3.17/Help/prop_tgt/BUNDLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BUNDLE.rst
rename to share/cmake-3.17/Help/prop_tgt/BUNDLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/BUNDLE_EXTENSION.rst b/share/cmake-3.17/Help/prop_tgt/BUNDLE_EXTENSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/BUNDLE_EXTENSION.rst
rename to share/cmake-3.17/Help/prop_tgt/BUNDLE_EXTENSION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMMON_LANGUAGE_RUNTIME.rst b/share/cmake-3.17/Help/prop_tgt/COMMON_LANGUAGE_RUNTIME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMMON_LANGUAGE_RUNTIME.rst
rename to share/cmake-3.17/Help/prop_tgt/COMMON_LANGUAGE_RUNTIME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst b/share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst b/share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst b/share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst b/share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_DEFINITIONS.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_DEFINITIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_FEATURES.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_FEATURES.rst
similarity index 76%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_FEATURES.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_FEATURES.rst
index 195215e..46aec4f 100644
--- a/share/cmake-3.16/Help/prop_tgt/COMPILE_FEATURES.rst
+++ b/share/cmake-3.17/Help/prop_tgt/COMPILE_FEATURES.rst
@@ -4,7 +4,8 @@
 Compiler features enabled for this target.
 
 The list of features in this property are a subset of the features listed
-in the :variable:`CMAKE_CXX_COMPILE_FEATURES` variable.
+in the :variable:`CMAKE_C_COMPILE_FEATURES`, :variable:`CMAKE_CUDA_COMPILE_FEATURES`, and
+:variable:`CMAKE_CXX_COMPILE_FEATURES` variables.
 
 Contents of ``COMPILE_FEATURES`` may use "generator expressions" with the
 syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)` manual for
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_FLAGS.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_FLAGS.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_FLAGS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_NAME.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_NOTE.txt b/share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_NOTE.txt
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_NOTE.txt
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_NOTE.txt
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst b/share/cmake-3.17/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CONFIG_POSTFIX.rst b/share/cmake-3.17/Help/prop_tgt/CONFIG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CONFIG_POSTFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/CONFIG_POSTFIX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst b/share/cmake-3.17/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
rename to share/cmake-3.17/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CUDA_EXTENSIONS.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CUDA_EXTENSIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/CUDA_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CUDA_PTX_COMPILATION.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_PTX_COMPILATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CUDA_PTX_COMPILATION.rst
rename to share/cmake-3.17/Help/prop_tgt/CUDA_PTX_COMPILATION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst
rename to share/cmake-3.17/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/CUDA_RUNTIME_LIBRARY-VALUES.txt b/share/cmake-3.17/Help/prop_tgt/CUDA_RUNTIME_LIBRARY-VALUES.txt
new file mode 100644
index 0000000..a6d7050
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/CUDA_RUNTIME_LIBRARY-VALUES.txt
@@ -0,0 +1,9 @@
+``None``
+  Link with ``-cudart=none`` or equivalent flag(s) to use no CUDA
+  runtime library.
+``Shared``
+  Link with ``-cudart=shared`` or equivalent flag(s) to use a
+  dynamically-linked CUDA runtime library.
+``Static``
+  Link with ``-cudart=static`` or equivalent flag(s) to use a
+  statically-linked CUDA runtime library.
diff --git a/share/cmake-3.17/Help/prop_tgt/CUDA_RUNTIME_LIBRARY.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_RUNTIME_LIBRARY.rst
new file mode 100644
index 0000000..0782765
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/CUDA_RUNTIME_LIBRARY.rst
@@ -0,0 +1,21 @@
+CUDA_RUNTIME_LIBRARY
+--------------------
+
+Select the CUDA runtime library for use by compilers targeting the CUDA language.
+
+The allowed case insensitive values are:
+
+.. include:: CUDA_RUNTIME_LIBRARY-VALUES.txt
+
+Contents of ``CUDA_RUNTIME_LIBRARY`` may use
+:manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+If this property is not set then CMake uses the default value
+``Static`` to select the CUDA runtime library.
+
+.. note::
+
+  This property has effect only when the ``CUDA`` language is enabled. To
+  control the CUDA runtime linking when only using the CUDA SDK with the
+  ``C`` or ``C++`` language we recommend using the :module:`FindCUDAToolkit`
+  module.
diff --git a/share/cmake-3.16/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
rename to share/cmake-3.17/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CUDA_STANDARD.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CUDA_STANDARD.rst
rename to share/cmake-3.17/Help/prop_tgt/CUDA_STANDARD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CXX_EXTENSIONS.rst b/share/cmake-3.17/Help/prop_tgt/CXX_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CXX_EXTENSIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/CXX_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CXX_STANDARD.rst b/share/cmake-3.17/Help/prop_tgt/CXX_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CXX_STANDARD.rst
rename to share/cmake-3.17/Help/prop_tgt/CXX_STANDARD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/C_EXTENSIONS.rst b/share/cmake-3.17/Help/prop_tgt/C_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/C_EXTENSIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/C_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/C_STANDARD.rst b/share/cmake-3.17/Help/prop_tgt/C_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/C_STANDARD.rst
rename to share/cmake-3.17/Help/prop_tgt/C_STANDARD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/C_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/prop_tgt/C_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/C_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/prop_tgt/C_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/DEBUG_POSTFIX.rst b/share/cmake-3.17/Help/prop_tgt/DEBUG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/DEBUG_POSTFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/DEBUG_POSTFIX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/DEFINE_SYMBOL.rst b/share/cmake-3.17/Help/prop_tgt/DEFINE_SYMBOL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/DEFINE_SYMBOL.rst
rename to share/cmake-3.17/Help/prop_tgt/DEFINE_SYMBOL.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/DEPLOYMENT_ADDITIONAL_FILES.rst b/share/cmake-3.17/Help/prop_tgt/DEPLOYMENT_ADDITIONAL_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/DEPLOYMENT_ADDITIONAL_FILES.rst
rename to share/cmake-3.17/Help/prop_tgt/DEPLOYMENT_ADDITIONAL_FILES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/DEPRECATION.rst b/share/cmake-3.17/Help/prop_tgt/DEPRECATION.rst
new file mode 100644
index 0000000..fef2e2e
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/DEPRECATION.rst
@@ -0,0 +1,7 @@
+DEPRECATION
+-----------
+
+Deprecation message from imported target's developer.
+
+``DEPRECATION`` is the message regarding a deprecation status to be displayed
+to downstream users of a target.
diff --git a/share/cmake-3.16/Help/prop_tgt/DISABLE_PRECOMPILE_HEADERS.rst b/share/cmake-3.17/Help/prop_tgt/DISABLE_PRECOMPILE_HEADERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/DISABLE_PRECOMPILE_HEADERS.rst
rename to share/cmake-3.17/Help/prop_tgt/DISABLE_PRECOMPILE_HEADERS.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK.rst b/share/cmake-3.17/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK.rst
new file mode 100644
index 0000000..8698eb6
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK.rst
@@ -0,0 +1,13 @@
+DOTNET_TARGET_FRAMEWORK
+-----------------------
+
+Specify the .NET target framework.
+
+Used to specify the .NET target framework for C++/CLI and C#.  For
+example: ``netcoreapp2.1``.
+
+This property is only evaluated for :ref:`Visual Studio Generators`
+VS 2010 and above.
+
+Can be initialized for all targets using the variable
+:variable:`CMAKE_DOTNET_TARGET_FRAMEWORK`.
diff --git a/share/cmake-3.17/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst
new file mode 100644
index 0000000..b33f4fb
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst
@@ -0,0 +1,15 @@
+DOTNET_TARGET_FRAMEWORK_VERSION
+-------------------------------
+
+Specify the .NET target framework version.
+
+Used to specify the .NET target framework version for C++/CLI and C#.
+For example: ``v4.5``.
+
+This property is only evaluated for :ref:`Visual Studio Generators`
+VS 2010 and above.
+
+To initialize this variable for all targets set
+:variable:`CMAKE_DOTNET_TARGET_FRAMEWORK` or
+:variable:`CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION`. If both are set,
+the latter is ignored.
diff --git a/share/cmake-3.16/Help/prop_tgt/ENABLE_EXPORTS.rst b/share/cmake-3.17/Help/prop_tgt/ENABLE_EXPORTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/ENABLE_EXPORTS.rst
rename to share/cmake-3.17/Help/prop_tgt/ENABLE_EXPORTS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/EXCLUDE_FROM_ALL.rst b/share/cmake-3.17/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
rename to share/cmake-3.17/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst b/share/cmake-3.17/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
rename to share/cmake-3.17/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/EXPORT_NAME.rst b/share/cmake-3.17/Help/prop_tgt/EXPORT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/EXPORT_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/EXPORT_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/EXPORT_PROPERTIES.rst b/share/cmake-3.17/Help/prop_tgt/EXPORT_PROPERTIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/EXPORT_PROPERTIES.rst
rename to share/cmake-3.17/Help/prop_tgt/EXPORT_PROPERTIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/EchoString.rst b/share/cmake-3.17/Help/prop_tgt/EchoString.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/EchoString.rst
rename to share/cmake-3.17/Help/prop_tgt/EchoString.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/FOLDER.rst b/share/cmake-3.17/Help/prop_tgt/FOLDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/FOLDER.rst
rename to share/cmake-3.17/Help/prop_tgt/FOLDER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/FRAMEWORK.rst b/share/cmake-3.17/Help/prop_tgt/FRAMEWORK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/FRAMEWORK.rst
rename to share/cmake-3.17/Help/prop_tgt/FRAMEWORK.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/FRAMEWORK_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/FRAMEWORK_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/FRAMEWORK_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/FRAMEWORK_VERSION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/Fortran_FORMAT.rst b/share/cmake-3.17/Help/prop_tgt/Fortran_FORMAT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/Fortran_FORMAT.rst
rename to share/cmake-3.17/Help/prop_tgt/Fortran_FORMAT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/GENERATOR_FILE_NAME.rst b/share/cmake-3.17/Help/prop_tgt/GENERATOR_FILE_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/GENERATOR_FILE_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/GENERATOR_FILE_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/GHS_INTEGRITY_APP.rst b/share/cmake-3.17/Help/prop_tgt/GHS_INTEGRITY_APP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/GHS_INTEGRITY_APP.rst
rename to share/cmake-3.17/Help/prop_tgt/GHS_INTEGRITY_APP.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst b/share/cmake-3.17/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst
rename to share/cmake-3.17/Help/prop_tgt/GHS_NO_SOURCE_GROUP_FILE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/GNUtoMS.rst b/share/cmake-3.17/Help/prop_tgt/GNUtoMS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/GNUtoMS.rst
rename to share/cmake-3.17/Help/prop_tgt/GNUtoMS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/HAS_CXX.rst b/share/cmake-3.17/Help/prop_tgt/HAS_CXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/HAS_CXX.rst
rename to share/cmake-3.17/Help/prop_tgt/HAS_CXX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst b/share/cmake-3.17/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_GLOBAL.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_GLOBAL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_GLOBAL.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_GLOBAL.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_IMPLIB.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_IMPLIB.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_IMPLIB.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_IMPLIB.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LIBNAME.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LIBNAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LIBNAME.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LIBNAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LOCATION.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LOCATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LOCATION.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LOCATION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_NO_SONAME.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_NO_SONAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_NO_SONAME.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_NO_SONAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_OBJECTS.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_OBJECTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_OBJECTS.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_OBJECTS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_SONAME.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_SONAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_SONAME.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_SONAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORT_PREFIX.rst b/share/cmake-3.17/Help/prop_tgt/IMPORT_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORT_PREFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORT_PREFIX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IMPORT_SUFFIX.rst b/share/cmake-3.17/Help/prop_tgt/IMPORT_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IMPORT_SUFFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/IMPORT_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INSTALL_NAME_DIR.rst b/share/cmake-3.17/Help/prop_tgt/INSTALL_NAME_DIR.rst
similarity index 62%
rename from share/cmake-3.16/Help/prop_tgt/INSTALL_NAME_DIR.rst
rename to share/cmake-3.17/Help/prop_tgt/INSTALL_NAME_DIR.rst
index 2216072..747615a 100644
--- a/share/cmake-3.16/Help/prop_tgt/INSTALL_NAME_DIR.rst
+++ b/share/cmake-3.17/Help/prop_tgt/INSTALL_NAME_DIR.rst
@@ -10,3 +10,7 @@
 This property is initialized by the value of the variable
 :variable:`CMAKE_INSTALL_NAME_DIR` if it is set when a target is
 created.
+
+This property supports :manual:`generator expressions <cmake-generator-expressions(7)>`.
+In particular, the ``$<INSTALL_PREFIX>`` generator expression can be used to set the
+directory relative to the install-time prefix.
diff --git a/share/cmake-3.16/Help/prop_tgt/INSTALL_REMOVE_ENVIRONMENT_RPATH.rst b/share/cmake-3.17/Help/prop_tgt/INSTALL_REMOVE_ENVIRONMENT_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INSTALL_REMOVE_ENVIRONMENT_RPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/INSTALL_REMOVE_ENVIRONMENT_RPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INSTALL_RPATH.rst b/share/cmake-3.17/Help/prop_tgt/INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INSTALL_RPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/INSTALL_RPATH.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst b/share/cmake-3.17/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
new file mode 100644
index 0000000..d16a7a1
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
@@ -0,0 +1,14 @@
+INSTALL_RPATH_USE_LINK_PATH
+---------------------------
+
+Add paths to linker search and installed rpath.
+
+``INSTALL_RPATH_USE_LINK_PATH`` is a boolean that if set to ``True``
+will append to the runtime search path (rpath) of installed binaries
+any directories outside the project that are in the linker search path or
+contain linked library files.  The directories are appended after the
+value of the :prop_tgt:`INSTALL_RPATH` target property.
+
+This property is initialized by the value of the variable
+:variable:`CMAKE_INSTALL_RPATH_USE_LINK_PATH` if it is set when a target is
+created.
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt b/share/cmake-3.17/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_DEPENDS.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_DEPENDS.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_DEPENDS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_LINK_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_LINK_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_PRECOMPILE_HEADERS.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_PRECOMPILE_HEADERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_PRECOMPILE_HEADERS.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_PRECOMPILE_HEADERS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_SOURCES.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_SOURCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_SOURCES.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_SOURCES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.17/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/IOS_INSTALL_COMBINED.rst b/share/cmake-3.17/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
rename to share/cmake-3.17/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/JOB_POOL_COMPILE.rst b/share/cmake-3.17/Help/prop_tgt/JOB_POOL_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/JOB_POOL_COMPILE.rst
rename to share/cmake-3.17/Help/prop_tgt/JOB_POOL_COMPILE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/JOB_POOL_LINK.rst b/share/cmake-3.17/Help/prop_tgt/JOB_POOL_LINK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/JOB_POOL_LINK.rst
rename to share/cmake-3.17/Help/prop_tgt/JOB_POOL_LINK.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/JOB_POOL_PRECOMPILE_HEADER.rst b/share/cmake-3.17/Help/prop_tgt/JOB_POOL_PRECOMPILE_HEADER.rst
new file mode 100644
index 0000000..ece28a4
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/JOB_POOL_PRECOMPILE_HEADER.rst
@@ -0,0 +1,21 @@
+JOB_POOL_PRECOMPILE_HEADER
+--------------------------
+
+Ninja only: Pool used for generating pre-compiled headers.
+
+The number of parallel compile processes could be limited by defining
+pools with the global :prop_gbl:`JOB_POOLS`
+property and then specifying here the pool name.
+
+For instance:
+
+.. code-block:: cmake
+
+  set_property(TARGET myexe PROPERTY JOB_POOL_PRECOMPILE_HEADER two_jobs)
+
+This property is initialized by the value of
+:variable:`CMAKE_JOB_POOL_PRECOMPILE_HEADER`.
+
+If neither :prop_tgt:`JOB_POOL_PRECOMPILE_HEADER` nor
+:variable:`CMAKE_JOB_POOL_PRECOMPILE_HEADER` are set then
+:prop_tgt:`JOB_POOL_COMPILE` will be used for this task.
diff --git a/share/cmake-3.16/Help/prop_tgt/LABELS.rst b/share/cmake-3.17/Help/prop_tgt/LABELS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LABELS.rst
rename to share/cmake-3.17/Help/prop_tgt/LABELS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LANG_CLANG_TIDY.rst b/share/cmake-3.17/Help/prop_tgt/LANG_CLANG_TIDY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LANG_CLANG_TIDY.rst
rename to share/cmake-3.17/Help/prop_tgt/LANG_CLANG_TIDY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.17/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
rename to share/cmake-3.17/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LANG_CPPCHECK.rst b/share/cmake-3.17/Help/prop_tgt/LANG_CPPCHECK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LANG_CPPCHECK.rst
rename to share/cmake-3.17/Help/prop_tgt/LANG_CPPCHECK.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LANG_CPPLINT.rst b/share/cmake-3.17/Help/prop_tgt/LANG_CPPLINT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LANG_CPPLINT.rst
rename to share/cmake-3.17/Help/prop_tgt/LANG_CPPLINT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst b/share/cmake-3.17/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
rename to share/cmake-3.17/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst b/share/cmake-3.17/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
rename to share/cmake-3.17/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst b/share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINKER_LANGUAGE.rst b/share/cmake-3.17/Help/prop_tgt/LINKER_LANGUAGE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINKER_LANGUAGE.rst
rename to share/cmake-3.17/Help/prop_tgt/LINKER_LANGUAGE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_DEPENDS.rst b/share/cmake-3.17/Help/prop_tgt/LINK_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_DEPENDS.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_DEPENDS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst b/share/cmake-3.17/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_DIRECTORIES.rst b/share/cmake-3.17/Help/prop_tgt/LINK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_DIRECTORIES.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_FLAGS.rst b/share/cmake-3.17/Help/prop_tgt/LINK_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_FLAGS.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_FLAGS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst b/share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst b/share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_LIBRARIES.rst b/share/cmake-3.17/Help/prop_tgt/LINK_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_LIBRARIES.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_LIBRARIES_INDIRECTION.txt b/share/cmake-3.17/Help/prop_tgt/LINK_LIBRARIES_INDIRECTION.txt
similarity index 77%
rename from share/cmake-3.16/Help/prop_tgt/LINK_LIBRARIES_INDIRECTION.txt
rename to share/cmake-3.17/Help/prop_tgt/LINK_LIBRARIES_INDIRECTION.txt
index 1fdb6ad..476e4a6 100644
--- a/share/cmake-3.16/Help/prop_tgt/LINK_LIBRARIES_INDIRECTION.txt
+++ b/share/cmake-3.17/Help/prop_tgt/LINK_LIBRARIES_INDIRECTION.txt
@@ -1,9 +1,9 @@
 .. note::
   A call to :command:`target_link_libraries(<target> ...)` may update this
   property on ``<target>``.  If ``<target>`` was not created in the same
-  directory as the call then :command:`target_link_libraries` will add a
-  suffix of the form ``::@<directory-id>`` to each entry, where the
-  ``::@`` is a separator and the ``<directory-id>`` is unspecified.
+  directory as the call then :command:`target_link_libraries` will wrap each
+  entry with the form ``::@(directory-id);...;::@``, where the ``::@`` is
+  literal and the ``(directory-id)`` is unspecified.
   This tells the generators that the named libraries must be looked up in
   the scope of the caller rather than in the scope in which the
   ``<target>`` was created.  Valid directory ids are stripped on export
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/LINK_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst b/share/cmake-3.17/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst b/share/cmake-3.17/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LINK_WHAT_YOU_USE.rst b/share/cmake-3.17/Help/prop_tgt/LINK_WHAT_YOU_USE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LINK_WHAT_YOU_USE.rst
rename to share/cmake-3.17/Help/prop_tgt/LINK_WHAT_YOU_USE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LOCATION.rst b/share/cmake-3.17/Help/prop_tgt/LOCATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LOCATION.rst
rename to share/cmake-3.17/Help/prop_tgt/LOCATION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/LOCATION_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/LOCATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/LOCATION_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/LOCATION_CONFIG.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/MACHO_COMPATIBILITY_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/MACHO_COMPATIBILITY_VERSION.rst
new file mode 100644
index 0000000..f3fedba
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/MACHO_COMPATIBILITY_VERSION.rst
@@ -0,0 +1,14 @@
+MACHO_COMPATIBILITY_VERSION
+---------------------------
+
+What compatibility version number is this target for Mach-O binaries.
+
+For shared libraries on Mach-O systems (e.g. macOS, iOS)
+the ``MACHO_COMPATIBILITY_VERSION`` property correspond to
+``compatibility version`` and :prop_tgt:`MACHO_CURRENT_VERSION` to
+``current version``.
+See the :prop_tgt:`FRAMEWORK` target property for an example.
+
+Versions of Mach-O binaries may be checked with the ``otool -L <binary>``
+command.  If ``MACHO_COMPATIBILITY_VERSION`` is not set, the value of
+the :prop_tgt:`SOVERSION` property will be used.
diff --git a/share/cmake-3.17/Help/prop_tgt/MACHO_CURRENT_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/MACHO_CURRENT_VERSION.rst
new file mode 100644
index 0000000..4a1d3f0
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/MACHO_CURRENT_VERSION.rst
@@ -0,0 +1,13 @@
+MACHO_CURRENT_VERSION
+---------------------
+
+What current version number is this target for Mach-O binaries.
+
+For shared libraries on Mach-O systems (e.g. macOS, iOS)
+the :prop_tgt:`MACHO_COMPATIBILITY_VERSION` property correspond to
+``compatibility version`` and ``MACHO_CURRENT_VERSION`` to ``current version``.
+See the :prop_tgt:`FRAMEWORK` target property for an example.
+
+Versions of Mach-O binaries may be checked with the ``otool -L <binary>``
+command.  If ``MACHO_CURRENT_VERSION`` is not set, the value of
+the :prop_tgt:`VERSION` property will be used.
diff --git a/share/cmake-3.16/Help/prop_tgt/MACOSX_BUNDLE.rst b/share/cmake-3.17/Help/prop_tgt/MACOSX_BUNDLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MACOSX_BUNDLE.rst
rename to share/cmake-3.17/Help/prop_tgt/MACOSX_BUNDLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst b/share/cmake-3.17/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
rename to share/cmake-3.17/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst b/share/cmake-3.17/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
rename to share/cmake-3.17/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/MACOSX_RPATH.rst b/share/cmake-3.17/Help/prop_tgt/MACOSX_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MACOSX_RPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/MACOSX_RPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst b/share/cmake-3.17/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
rename to share/cmake-3.17/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt b/share/cmake-3.17/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt
rename to share/cmake-3.17/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt
diff --git a/share/cmake-3.16/Help/prop_tgt/MSVC_RUNTIME_LIBRARY.rst b/share/cmake-3.17/Help/prop_tgt/MSVC_RUNTIME_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/MSVC_RUNTIME_LIBRARY.rst
rename to share/cmake-3.17/Help/prop_tgt/MSVC_RUNTIME_LIBRARY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/NAME.rst b/share/cmake-3.17/Help/prop_tgt/NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/NO_SONAME.rst b/share/cmake-3.17/Help/prop_tgt/NO_SONAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/NO_SONAME.rst
rename to share/cmake-3.17/Help/prop_tgt/NO_SONAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst b/share/cmake-3.17/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
rename to share/cmake-3.17/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OBJCXX_EXTENSIONS.rst b/share/cmake-3.17/Help/prop_tgt/OBJCXX_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OBJCXX_EXTENSIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/OBJCXX_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OBJCXX_STANDARD.rst b/share/cmake-3.17/Help/prop_tgt/OBJCXX_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OBJCXX_STANDARD.rst
rename to share/cmake-3.17/Help/prop_tgt/OBJCXX_STANDARD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OBJCXX_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/prop_tgt/OBJCXX_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OBJCXX_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/prop_tgt/OBJCXX_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OBJC_EXTENSIONS.rst b/share/cmake-3.17/Help/prop_tgt/OBJC_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OBJC_EXTENSIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/OBJC_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OBJC_STANDARD.rst b/share/cmake-3.17/Help/prop_tgt/OBJC_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OBJC_STANDARD.rst
rename to share/cmake-3.17/Help/prop_tgt/OBJC_STANDARD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OBJC_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/prop_tgt/OBJC_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OBJC_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/prop_tgt/OBJC_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OSX_ARCHITECTURES.rst b/share/cmake-3.17/Help/prop_tgt/OSX_ARCHITECTURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OSX_ARCHITECTURES.rst
rename to share/cmake-3.17/Help/prop_tgt/OSX_ARCHITECTURES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OUTPUT_NAME.rst b/share/cmake-3.17/Help/prop_tgt/OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OUTPUT_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/OUTPUT_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PDB_NAME.rst b/share/cmake-3.17/Help/prop_tgt/PDB_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PDB_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/PDB_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PDB_NAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/PDB_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PDB_NAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/PDB_NAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PDB_NOTE.txt b/share/cmake-3.17/Help/prop_tgt/PDB_NOTE.txt
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PDB_NOTE.txt
rename to share/cmake-3.17/Help/prop_tgt/PDB_NOTE.txt
diff --git a/share/cmake-3.16/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst b/share/cmake-3.17/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
rename to share/cmake-3.17/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/POST_INSTALL_SCRIPT.rst b/share/cmake-3.17/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
rename to share/cmake-3.17/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PRECOMPILE_HEADERS.rst b/share/cmake-3.17/Help/prop_tgt/PRECOMPILE_HEADERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PRECOMPILE_HEADERS.rst
rename to share/cmake-3.17/Help/prop_tgt/PRECOMPILE_HEADERS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PRECOMPILE_HEADERS_REUSE_FROM.rst b/share/cmake-3.17/Help/prop_tgt/PRECOMPILE_HEADERS_REUSE_FROM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PRECOMPILE_HEADERS_REUSE_FROM.rst
rename to share/cmake-3.17/Help/prop_tgt/PRECOMPILE_HEADERS_REUSE_FROM.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PREFIX.rst b/share/cmake-3.17/Help/prop_tgt/PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PREFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/PREFIX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst b/share/cmake-3.17/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
rename to share/cmake-3.17/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PRIVATE_HEADER.rst b/share/cmake-3.17/Help/prop_tgt/PRIVATE_HEADER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PRIVATE_HEADER.rst
rename to share/cmake-3.17/Help/prop_tgt/PRIVATE_HEADER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PROJECT_LABEL.rst b/share/cmake-3.17/Help/prop_tgt/PROJECT_LABEL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PROJECT_LABEL.rst
rename to share/cmake-3.17/Help/prop_tgt/PROJECT_LABEL.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/PUBLIC_HEADER.rst b/share/cmake-3.17/Help/prop_tgt/PUBLIC_HEADER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/PUBLIC_HEADER.rst
rename to share/cmake-3.17/Help/prop_tgt/PUBLIC_HEADER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RESOURCE.rst b/share/cmake-3.17/Help/prop_tgt/RESOURCE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RESOURCE.rst
rename to share/cmake-3.17/Help/prop_tgt/RESOURCE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst b/share/cmake-3.17/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
rename to share/cmake-3.17/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst b/share/cmake-3.17/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
rename to share/cmake-3.17/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RULE_LAUNCH_LINK.rst b/share/cmake-3.17/Help/prop_tgt/RULE_LAUNCH_LINK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RULE_LAUNCH_LINK.rst
rename to share/cmake-3.17/Help/prop_tgt/RULE_LAUNCH_LINK.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst b/share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/SKIP_BUILD_RPATH.rst b/share/cmake-3.17/Help/prop_tgt/SKIP_BUILD_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/SKIP_BUILD_RPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/SKIP_BUILD_RPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/SOURCES.rst b/share/cmake-3.17/Help/prop_tgt/SOURCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/SOURCES.rst
rename to share/cmake-3.17/Help/prop_tgt/SOURCES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/SOURCE_DIR.rst b/share/cmake-3.17/Help/prop_tgt/SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/SOURCE_DIR.rst
rename to share/cmake-3.17/Help/prop_tgt/SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/SOVERSION.rst b/share/cmake-3.17/Help/prop_tgt/SOVERSION.rst
similarity index 67%
rename from share/cmake-3.16/Help/prop_tgt/SOVERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/SOVERSION.rst
index b07c17c..d6f8a94 100644
--- a/share/cmake-3.16/Help/prop_tgt/SOVERSION.rst
+++ b/share/cmake-3.17/Help/prop_tgt/SOVERSION.rst
@@ -21,7 +21,9 @@
 ^^^^^^^^^^^^^^^
 
 For shared libraries and executables on Mach-O systems (e.g. macOS, iOS),
-the ``SOVERSION`` property corresponds to *compatibility version* and
-:prop_tgt:`VERSION` to *current version*.  See the :prop_tgt:`FRAMEWORK` target
-property for an example.  Versions of Mach-O binaries may be checked with the
-``otool -L <binary>`` command.
+the ``SOVERSION`` property is a fallback to
+:prop_tgt:`MACHO_COMPATIBILITY_VERSION` property which corresponds to
+*compatiblity version* and :prop_tgt:`VERSION` is a fallback to
+:prop_tgt:`MACHO_CURRENT_VERSION` which corresponds to *current version*.
+See the :prop_tgt:`FRAMEWORK` target property for an example.  Versions
+of Mach-O binaries may be checked with the ``otool -L <binary>`` command.
diff --git a/share/cmake-3.16/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst b/share/cmake-3.17/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
rename to share/cmake-3.17/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/STATIC_LIBRARY_OPTIONS.rst b/share/cmake-3.17/Help/prop_tgt/STATIC_LIBRARY_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/STATIC_LIBRARY_OPTIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/STATIC_LIBRARY_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/SUFFIX.rst b/share/cmake-3.17/Help/prop_tgt/SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/SUFFIX.rst
rename to share/cmake-3.17/Help/prop_tgt/SUFFIX.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/Swift_DEPENDENCIES_FILE.rst b/share/cmake-3.17/Help/prop_tgt/Swift_DEPENDENCIES_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/Swift_DEPENDENCIES_FILE.rst
rename to share/cmake-3.17/Help/prop_tgt/Swift_DEPENDENCIES_FILE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/Swift_LANGUAGE_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/Swift_LANGUAGE_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/Swift_LANGUAGE_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/Swift_LANGUAGE_VERSION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/Swift_MODULE_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/Swift_MODULE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/Swift_MODULE_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/Swift_MODULE_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/Swift_MODULE_NAME.rst b/share/cmake-3.17/Help/prop_tgt/Swift_MODULE_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/Swift_MODULE_NAME.rst
rename to share/cmake-3.17/Help/prop_tgt/Swift_MODULE_NAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/TYPE.rst b/share/cmake-3.17/Help/prop_tgt/TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/TYPE.rst
rename to share/cmake-3.17/Help/prop_tgt/TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/UNITY_BUILD.rst b/share/cmake-3.17/Help/prop_tgt/UNITY_BUILD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/UNITY_BUILD.rst
rename to share/cmake-3.17/Help/prop_tgt/UNITY_BUILD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/UNITY_BUILD_BATCH_SIZE.rst b/share/cmake-3.17/Help/prop_tgt/UNITY_BUILD_BATCH_SIZE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/UNITY_BUILD_BATCH_SIZE.rst
rename to share/cmake-3.17/Help/prop_tgt/UNITY_BUILD_BATCH_SIZE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/UNITY_BUILD_CODE_AFTER_INCLUDE.rst b/share/cmake-3.17/Help/prop_tgt/UNITY_BUILD_CODE_AFTER_INCLUDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/UNITY_BUILD_CODE_AFTER_INCLUDE.rst
rename to share/cmake-3.17/Help/prop_tgt/UNITY_BUILD_CODE_AFTER_INCLUDE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/UNITY_BUILD_CODE_BEFORE_INCLUDE.rst b/share/cmake-3.17/Help/prop_tgt/UNITY_BUILD_CODE_BEFORE_INCLUDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/UNITY_BUILD_CODE_BEFORE_INCLUDE.rst
rename to share/cmake-3.17/Help/prop_tgt/UNITY_BUILD_CODE_BEFORE_INCLUDE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VERSION.rst b/share/cmake-3.17/Help/prop_tgt/VERSION.rst
similarity index 77%
rename from share/cmake-3.16/Help/prop_tgt/VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/VERSION.rst
index ff3b303..f592f4a 100644
--- a/share/cmake-3.16/Help/prop_tgt/VERSION.rst
+++ b/share/cmake-3.17/Help/prop_tgt/VERSION.rst
@@ -23,7 +23,9 @@
 ^^^^^^^^^^^^^^^
 
 For shared libraries and executables on Mach-O systems (e.g. macOS, iOS),
-the :prop_tgt:`SOVERSION` property correspond to *compatibility version* and
-``VERSION`` to *current version*.  See the :prop_tgt:`FRAMEWORK` target
+the ``VERSION`` property is a fallback to :prop_tgt:`MACHO_CURRENT_VERSION`
+property which corresponds to *current version* and :prop_tgt:`SOVERSION`
+is a fallback to :prop_tgt:`MACHO_COMPATIBILITY_VERSION` which corresponds
+to *compatiblity version*.  See the :prop_tgt:`FRAMEWORK` target
 property for an example.  Versions of Mach-O binaries may be checked with the
 ``otool -L <binary>`` command.
diff --git a/share/cmake-3.16/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst b/share/cmake-3.17/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
rename to share/cmake-3.17/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst b/share/cmake-3.17/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst b/share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst b/share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst b/share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_DOCUMENTATION_FILE.rst b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_DOCUMENTATION_FILE.rst
new file mode 100644
index 0000000..1bc361c
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_DOCUMENTATION_FILE.rst
@@ -0,0 +1,6 @@
+VS_DOTNET_DOCUMENTATION_FILE
+----------------------------
+
+Visual Studio managed project .NET documentation output
+
+Sets the target XML documentation file output.
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCES.rst b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
similarity index 70%
rename from share/cmake-3.16/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
index 9f5a313..6cb8f86 100644
--- a/share/cmake-3.16/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
+++ b/share/cmake-3.17/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
@@ -3,8 +3,9 @@
 
 Specify the .NET target framework version.
 
-Used to specify the .NET target framework version for C++/CLI.  For
+Used to specify the .NET target framework version for C++/CLI. For
 example, "v4.5".
 
 This property is deprecated and should not be used anymore. Use
+:prop_tgt:`DOTNET_TARGET_FRAMEWORK` or
 :prop_tgt:`DOTNET_TARGET_FRAMEWORK_VERSION` instead.
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_DPI_AWARE.rst b/share/cmake-3.17/Help/prop_tgt/VS_DPI_AWARE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_DPI_AWARE.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_DPI_AWARE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst b/share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst b/share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst b/share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_variable.rst b/share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_variable.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_GLOBAL_variable.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_GLOBAL_variable.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst b/share/cmake-3.17/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_JUST_MY_CODE_DEBUGGING.rst b/share/cmake-3.17/Help/prop_tgt/VS_JUST_MY_CODE_DEBUGGING.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_JUST_MY_CODE_DEBUGGING.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_JUST_MY_CODE_DEBUGGING.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_KEYWORD.rst b/share/cmake-3.17/Help/prop_tgt/VS_KEYWORD.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_KEYWORD.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_KEYWORD.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst b/share/cmake-3.17/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_PACKAGE_REFERENCES.rst b/share/cmake-3.17/Help/prop_tgt/VS_PACKAGE_REFERENCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_PACKAGE_REFERENCES.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_PACKAGE_REFERENCES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_PROJECT_IMPORT.rst b/share/cmake-3.17/Help/prop_tgt/VS_PROJECT_IMPORT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_PROJECT_IMPORT.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_PROJECT_IMPORT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_SCC_AUXPATH.rst b/share/cmake-3.17/Help/prop_tgt/VS_SCC_AUXPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_SCC_AUXPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_SCC_AUXPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_SCC_LOCALPATH.rst b/share/cmake-3.17/Help/prop_tgt/VS_SCC_LOCALPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_SCC_LOCALPATH.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_SCC_LOCALPATH.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_SCC_PROJECTNAME.rst b/share/cmake-3.17/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_SCC_PROVIDER.rst b/share/cmake-3.17/Help/prop_tgt/VS_SCC_PROVIDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_SCC_PROVIDER.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_SCC_PROVIDER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_SDK_REFERENCES.rst b/share/cmake-3.17/Help/prop_tgt/VS_SDK_REFERENCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_SDK_REFERENCES.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_SDK_REFERENCES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_USER_PROPS.rst b/share/cmake-3.17/Help/prop_tgt/VS_USER_PROPS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_USER_PROPS.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_USER_PROPS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst b/share/cmake-3.17/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_WINRT_COMPONENT.rst b/share/cmake-3.17/Help/prop_tgt/VS_WINRT_COMPONENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_WINRT_COMPONENT.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_WINRT_COMPONENT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst b/share/cmake-3.17/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/VS_WINRT_REFERENCES.rst b/share/cmake-3.17/Help/prop_tgt/VS_WINRT_REFERENCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/VS_WINRT_REFERENCES.rst
rename to share/cmake-3.17/Help/prop_tgt/VS_WINRT_REFERENCES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/WIN32_EXECUTABLE.rst b/share/cmake-3.17/Help/prop_tgt/WIN32_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/WIN32_EXECUTABLE.rst
rename to share/cmake-3.17/Help/prop_tgt/WIN32_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.17/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
rename to share/cmake-3.17/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_GENERATE_SCHEME.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ARGUMENTS.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ARGUMENTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ARGUMENTS.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ARGUMENTS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DEBUG_AS_ROOT.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DEBUG_AS_ROOT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DEBUG_AS_ROOT.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DEBUG_AS_ROOT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ENVIRONMENT.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ENVIRONMENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ENVIRONMENT.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ENVIRONMENT.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_EXECUTABLE.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_EXECUTABLE.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_GUARD_MALLOC.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_GUARD_MALLOC.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_GUARD_MALLOC.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_GUARD_MALLOC.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MALLOC_GUARD_EDGES.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MALLOC_GUARD_EDGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MALLOC_GUARD_EDGES.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MALLOC_GUARD_EDGES.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MALLOC_SCRIBBLE.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MALLOC_SCRIBBLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MALLOC_SCRIBBLE.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MALLOC_SCRIBBLE.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MALLOC_STACK.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MALLOC_STACK.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_MALLOC_STACK.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_MALLOC_STACK.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER_STOP.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER_STOP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER_STOP.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_THREAD_SANITIZER_STOP.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst
diff --git a/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_WORKING_DIRECTORY.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_WORKING_DIRECTORY.rst
new file mode 100644
index 0000000..7ffa74b
--- /dev/null
+++ b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_WORKING_DIRECTORY.rst
@@ -0,0 +1,13 @@
+XCODE_SCHEME_WORKING_DIRECTORY
+------------------------------
+
+Specify the ``Working Directory`` a of the `Run` and `Profile`
+action in the generated Xcode scheme. In case the value contains
+generator expressions those are evaluated.
+
+This property is initialized by the value of the variable
+:variable:`CMAKE_XCODE_SCHEME_WORKING_DIRECTORY` if it is set
+when a target is created.
+
+Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property
+documentation to see all Xcode schema related properties.
diff --git a/share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS.rst b/share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS.rst
rename to share/cmake-3.17/Help/prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XCTEST.rst b/share/cmake-3.17/Help/prop_tgt/XCTEST.rst
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XCTEST.rst
rename to share/cmake-3.17/Help/prop_tgt/XCTEST.rst
diff --git a/share/cmake-3.16/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt b/share/cmake-3.17/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
rename to share/cmake-3.17/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
diff --git a/share/cmake-3.16/Help/prop_tgt/XXX_OUTPUT_NAME.txt b/share/cmake-3.17/Help/prop_tgt/XXX_OUTPUT_NAME.txt
similarity index 100%
rename from share/cmake-3.16/Help/prop_tgt/XXX_OUTPUT_NAME.txt
rename to share/cmake-3.17/Help/prop_tgt/XXX_OUTPUT_NAME.txt
diff --git a/share/cmake-3.16/Help/release/3.0.rst b/share/cmake-3.17/Help/release/3.0.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.0.rst
rename to share/cmake-3.17/Help/release/3.0.rst
diff --git a/share/cmake-3.16/Help/release/3.1.rst b/share/cmake-3.17/Help/release/3.1.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.1.rst
rename to share/cmake-3.17/Help/release/3.1.rst
diff --git a/share/cmake-3.16/Help/release/3.10.rst b/share/cmake-3.17/Help/release/3.10.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.10.rst
rename to share/cmake-3.17/Help/release/3.10.rst
diff --git a/share/cmake-3.16/Help/release/3.11.rst b/share/cmake-3.17/Help/release/3.11.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.11.rst
rename to share/cmake-3.17/Help/release/3.11.rst
diff --git a/share/cmake-3.16/Help/release/3.12.rst b/share/cmake-3.17/Help/release/3.12.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.12.rst
rename to share/cmake-3.17/Help/release/3.12.rst
diff --git a/share/cmake-3.16/Help/release/3.13.rst b/share/cmake-3.17/Help/release/3.13.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.13.rst
rename to share/cmake-3.17/Help/release/3.13.rst
diff --git a/share/cmake-3.16/Help/release/3.14.rst b/share/cmake-3.17/Help/release/3.14.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.14.rst
rename to share/cmake-3.17/Help/release/3.14.rst
diff --git a/share/cmake-3.16/Help/release/3.15.rst b/share/cmake-3.17/Help/release/3.15.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.15.rst
rename to share/cmake-3.17/Help/release/3.15.rst
diff --git a/share/cmake-3.16/Help/release/3.16.rst b/share/cmake-3.17/Help/release/3.16.rst
similarity index 92%
rename from share/cmake-3.16/Help/release/3.16.rst
rename to share/cmake-3.17/Help/release/3.16.rst
index 0d1cc1e..e2d6788 100644
--- a/share/cmake-3.16/Help/release/3.16.rst
+++ b/share/cmake-3.17/Help/release/3.16.rst
@@ -277,3 +277,29 @@
 * When using :variable:`CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` on Windows the
   auto-generated exports are now updated only when the object files
   providing the symbols are updated.
+
+Updates
+=======
+
+Changes made since CMake 3.16.0 include the following.
+
+3.16.2
+------
+
+* CMake 3.16.0 and 3.16.1 processed ``.hh`` files with :prop_tgt:`AUTOMOC`.
+  This was a behavior change from CMake 3.15 and below that can break
+  existing projects, so it has been reverted as of 3.16.2.
+
+3.16.5
+------
+
+* The :module:`FindPython`, :module:`FindPython2`, and :module:`FindPython3`
+  modules no longer create cache entries for ``Python{,2,3}_LIBRARY_RELEASE``
+  and ``Python{,2,3}_LIBRARY_DEBUG``.  Those values are always computed from
+  other results and so should not be cached.  The entries were created by
+  CMake 3.16.0 through 3.16.4 but were always ``FORCE``-set and could not
+  be meaningfully edited by users.
+
+  Additionally, the modules no longer expose their internal ``_Python*``
+  cache entries publicly.  CMake 3.16.0 through 3.16.4 accidentally
+  made them visible as advanced cache entries.
diff --git a/share/cmake-3.17/Help/release/3.17.rst b/share/cmake-3.17/Help/release/3.17.rst
new file mode 100644
index 0000000..c2cfdf0
--- /dev/null
+++ b/share/cmake-3.17/Help/release/3.17.rst
@@ -0,0 +1,321 @@
+CMake 3.17 Release Notes
+************************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.16 include the following.
+
+New Features
+============
+
+Generators
+----------
+
+* :manual:`cmake(1)` gained a :generator:`Ninja Multi-Config` generator,
+  which is similar to the :generator:`Ninja` generator but can be used to build
+  multiple configurations at once.
+
+* :ref:`Visual Studio Generators` learned to support per-config sources.
+  Previously only :ref:`Command-Line Build Tool Generators` supported them.
+
+* :ref:`Visual Studio Generators` for VS 2010 and above now support
+  specifying the ``VCTargetsPath`` value for project files in
+  :variable:`CMAKE_GENERATOR_TOOLSET` setting.
+
+* :ref:`Visual Studio Generators` for VS 2010 and above learned to
+  support .NET Standard and .NET Core.  See the
+  :prop_tgt:`DOTNET_TARGET_FRAMEWORK` target property and
+  associated :variable:`CMAKE_DOTNET_TARGET_FRAMEWORK` variable.
+
+Languages
+---------
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  now offers meta-features for the CUDA language standard levels
+  (e.g. ``cuda_std_03``, ``cuda_std_14``).  See
+  :prop_gbl:`CMAKE_CUDA_KNOWN_FEATURES`.
+
+Compilers
+---------
+
+* The IBM XL Fortran compiler is now supported by the :generator:`Ninja`
+  generator.
+
+Command-Line
+------------
+
+* :manual:`cmake(1)` gained a ``--debug-find`` command-line option to
+  enable additional human-readable output on where ``find_*`` commands search.
+
+* :manual:`cmake(1)` gained a ``--trace-format`` command-line option that
+  can be used to set the ``--trace`` output format. Currently, the old
+  human readable and the new JSON format are supported. The new JSON format
+  is easier to parse automatically than the existing format.
+
+* :manual:`cmake(1)` gained a ``-E rm`` command-line tool that can be
+  used to remove directories and files.  This supersedes the existing
+  ``-E remove`` and ``-E remove_directory`` tools and has better semantics.
+
+Commands
+--------
+
+* The :command:`add_custom_command` command learned to interpret paths in
+  ``DEPENDS`` arguments that are specified relative to the current
+  binary directory.
+
+* The :command:`foreach` command learned a new ``ZIP_LISTS`` option to iterate
+  over multiple lists simultaneously.
+
+* The :command:`load_cache(READ_WITH_PREFIX)` command mode is now allowed
+  when using ``cmake -P`` to :ref:`Run a Script <Script Processing Mode>`.
+
+* The :command:`message` command learned to output context provided in
+  the :variable:`CMAKE_MESSAGE_CONTEXT` variable for log levels
+  ``NOTICE`` and below.  Enable this output with the new ``--log-context``
+  command-line option or :variable:`CMAKE_MESSAGE_CONTEXT_SHOW` variable.
+
+* The :command:`message` command gained new keywords ``CHECK_START``,
+  ``CHECK_PASS`` and ``CHECK_FAIL``.
+
+* The :command:`target_compile_options` command now honors the ``BEFORE``
+  keyword more consistently.  See policy :policy:`CMP0101`.
+
+Variables
+---------
+
+* A :variable:`CMAKE_CTEST_ARGUMENTS` variable was added to specify a list
+  of command-line arguments passed to CTest when running through the
+  ``test`` (or ``RUN_TESTS``) target of the generated build system.
+
+* The following variables are now defined inside a :command:`function`:
+
+  - :variable:`CMAKE_CURRENT_FUNCTION`
+  - :variable:`CMAKE_CURRENT_FUNCTION_LIST_DIR`
+  - :variable:`CMAKE_CURRENT_FUNCTION_LIST_FILE`
+  - :variable:`CMAKE_CURRENT_FUNCTION_LIST_LINE`
+
+* The :variable:`CMAKE_CUDA_RUNTIME_LIBRARY` variable and
+  :prop_tgt:`CUDA_RUNTIME_LIBRARY` target property were introduced to
+  select the CUDA runtime library used when linking targets that
+  use CUDA.
+
+* The :variable:`CMAKE_FIND_DEBUG_MODE` variable was introduced to
+  print extra ``find_*`` call information during the cmake run to standard
+  error. Output is designed for human consumption and not for parsing.
+
+* The :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` variable now takes its
+  initial value from the :envvar:`CMAKE_EXPORT_COMPILE_COMMANDS` environment
+  variable if no explicit configuration is given.
+
+* The :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable, if not set
+  explicitly, now takes its initial value from the
+  :envvar:`CMAKE_<LANG>_COMPILER_LAUNCHER` environment variable.
+
+* The :variable:`CMAKE_MESSAGE_LOG_LEVEL` variable can now be used
+  to persist a log level between CMake runs, unlike the ``--log-level``
+  command line option which only applies to that particular run.
+
+* The :variable:`CMAKE_XCODE_SCHEME_ENVIRONMENT` variable was added
+  to initialize the :prop_tgt:`XCODE_SCHEME_ENVIRONMENT` target property.
+
+* The :variable:`CMAKE_XCODE_SCHEME_WORKING_DIRECTORY` variable and
+  associated :prop_tgt:`XCODE_SCHEME_WORKING_DIRECTORY` target property
+  were added to tell the :generator:`Xcode` generator to set the value of
+  the ``Custom Working Directory`` schema option.
+
+Properties
+----------
+
+* The :prop_tgt:`AIX_EXPORT_ALL_SYMBOLS` target property and associated
+  :variable:`CMAKE_AIX_EXPORT_ALL_SYMBOLS` variable were created to
+  optionally explicitly disable automatic export of symbols from shared
+  libraries on AIX.
+
+* The :prop_tgt:`DEPRECATION` target property was added to mark
+  a target as deprecated.  If a linked target is marked as
+  deprecated, a warning with the deprecation message is issued
+  at generate time.
+
+* The :prop_tgt:`INSTALL_NAME_DIR` target property now supports
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+  In particular, the ``$<INSTALL_PREFIX>`` generator expression can
+  be used to set the directory relative to the install-time prefix.
+
+* Target properties :prop_tgt:`MACHO_COMPATIBILITY_VERSION` and
+  :prop_tgt:`MACHO_CURRENT_VERSION` were added to set the
+  ``compatibility_version`` and ``curent_version``, respectively,
+  for Mach-O binaries.  For backwards compatibility, if these properties
+  are not set, :prop_tgt:`SOVERSION` and :prop_tgt:`VERSION`
+  are used respectively as fallbacks.
+
+* The :prop_tgt:`VS_DOTNET_DOCUMENTATION_FILE` target property was added
+  to tell :ref:`Visual Studio Generators` to generate a ``DocumentationFile``
+  reference in ``.csproj`` files.
+
+Modules
+-------
+
+* The :module:`ExternalProject` module :command:`ExternalProject_Add`
+  command gained a ``GIT_SUBMODULES_RECURSE`` option to specify whether
+  Git submodules should be updated recursively.  The default is on to
+  preserve existing behavior.
+
+* The :module:`FindCUDAToolkit` module was added to find the
+  CUDA Toolkit without enabling CUDA as a language.
+
+* The :module:`FindCURL` module learned to find CURL using
+  the ``CURLConfig.cmake`` package configuration file generated by
+  CURL's cmake buildsystem.  It also gained a new ``CURL_NO_CURL_CMAKE``
+  option to disable this behavior.
+
+* The :module:`FindFLEX` module's ``FLEX_TARGET`` command now runs ``flex``
+  with :variable:`CMAKE_CURRENT_BINARY_DIR` as the working directory.
+  See policy :policy:`CMP0098`.
+
+* The :module:`FindLibArchive` module now provides an imported target
+  for libarchive.
+
+* The :module:`FindPython` module has learned to find Python components
+  in active virtual environments managed by ``conda``.
+
+* The :module:`FindPython3` and :module:`FindPython` modules gained,
+  respectively, variable ``Python3_SOABI`` and ``Python_SOABI`` giving
+  the standard extension suffix for modules. Moreover, commands
+  ``Python3_add_library()`` and ``Python_add_library()`` gained the option
+  ``WITH_SOABI`` to prefix the library suffix with the value of ``SOABI``.
+
+* The :module:`FindLibXml2` module now provides an imported target for the
+  ``xmllint`` executable.
+
+Autogen
+-------
+
+* :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` learned to process headers
+  with a ``.hh`` extension.  See policy :policy:`CMP0100`.
+
+CTest
+-----
+
+* The :variable:`CTEST_CONFIGURATION_TYPE` variable is now set from the
+  command line when :manual:`ctest(1)` is invoked with ``-C <cfg>``.
+
+* The :manual:`ctest(1)` tool gained support for Dr. Memory to run
+  memcheck runs.
+
+* The :manual:`ctest(1)` tool gained a ``--no-tests=<[error|ignore]>`` option
+  to explicitly set and unify the behavior between direct invocation and
+  script mode if no tests were found.
+
+* The :manual:`ctest(1)` tool gained a ``--repeat <mode>:<n>`` option
+  to specify conditions in which to repeat tests.  This generalizes
+  the existing ``--repeat-until-fail <n>`` option to add modes for
+  ``until-pass`` and ``after-timeout``.
+
+* The :command:`ctest_test` command gained a ``REPEAT <mode>:<n>`` option
+  to specify conditions in which to repeat tests.
+
+CPack
+-----
+
+* The :cpack_gen:`CPack DragNDrop Generator` learned to use
+  the :variable:`CPACK_DMG_<component>_FILE_NAME` variable
+  to set a custom filename when packaging components into
+  their own DMGs.
+
+* The :cpack_gen:`CPack DragNDrop Generator` learned to handle
+  RTF formatted license files.  When :variable:`CPACK_DMG_SLA_DIR`
+  variable is set, ``<language>.license.rtf`` is considered, but
+  only as a fallback when the plaintext (``.txt``) file is not found
+  in order to maintain backwards compatibility.
+
+* The :cpack_gen:`CPack NSIS Generator` gained a new variable
+  :variable:`CPACK_NSIS_MUI_HEADERIMAGE` to set the header image.
+  To not break existing setups, it still defaults to
+  :variable:`CPACK_PACKAGE_ICON` if the new variable is not set.
+
+* The :cpack_gen:`CPack NSIS Generator` now supports
+  :variable:`CPACK_NSIS_UNINSTALL_NAME`.
+  This can be used to specify the name of the Uninstall program.
+
+* The :cpack_gen:`CPack NSIS Generator` now supports
+  :variable:`CPACK_NSIS_WELCOME_TITLE` and
+  :variable:`CPACK_NSIS_WELCOME_TITLE_3LINES`.
+  These can be used to specify the welcome page title and display it in 3 lines.
+
+* The :cpack_gen:`CPack NSIS Generator` now supports
+  :variable:`CPACK_NSIS_FINISH_TITLE` and
+  :variable:`CPACK_NSIS_FINISH_TITLE_3LINES`.
+  These can be used to specify the finish page title and display it in 3 lines.
+
+* The :cpack_gen:`CPack productbuild Generator` gained support for a
+  :variable:`CPACK_PRODUCTBUILD_BACKGROUND` variable to specify a background
+  image for the macOS installer.
+
+Other
+-----
+
+* :manual:`ccmake(1)` now displays cache values using colors
+  based on the entry type if the terminal supports color.
+
+* :manual:`ccmake(1)` now displays messages and a progress bar during
+  configure and generate.  It will keep the output displayed if any
+  errors or warnings occurred.
+
+Deprecated and Removed Features
+===============================
+
+* An explicit deprecation diagnostic was added for policy ``CMP0068``
+  and policy ``CMP0069`` (``CMP0067`` and below were already deprecated).
+  The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
+  of all policies are deprecated and that projects should port to the
+  NEW behaviors.
+
+* The :cpack_gen:`CPack PackageMaker Generator` generator has been
+  deprecated because Xcode no longer distributes the PackageMaker tools.
+  The undocumented ``OSXX11`` generator has also been deprecated.
+
+* The :manual:`cmake(1)` command-line ``-E remove`` and ``-E remove_directory``
+  tools are deprecated in favor of the new ``-E rm`` tool.  The older tools
+  always returned 0 if a named path did not exist even without the force
+  option and cannot be fixed without breaking compatibility, and so have
+  been superseded.
+
+Other Changes
+=============
+
+* The :manual:`file API <cmake-file-api(7)>` index file now emits a
+  ``multiConfig`` flag specifying whether or not the generator supports
+  multiple output configurations.
+
+* Target link properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
+  :prop_tgt:`INTERFACE_LINK_DIRECTORIES` and
+  :prop_tgt:`INTERFACE_LINK_DEPENDS` are now transitive over private
+  dependencies on static libraries.
+  See policy :policy:`CMP0099`.
+
+* When using MinGW tools, the :command:`find_library` command no longer
+  finds ``.dll`` files by default.  Instead, it expects ``.dll.a`` import
+  libraries to be available.
+
+* The :generator:`MinGW Makefiles` generator no longer issues an error if
+  ``sh.exe`` is present in the environment's ``PATH``.
+
+* The :generator:`Ninja` generator now prefers the first ninja build
+  tool to appear in the ``PATH`` no matter whether it is called
+  ``ninja-build``, ``ninja``, or ``samu``.  Previously the first
+  of those names to appear anywhere in the ``PATH`` would be preferred.
+
+* With SDCC the ``sdar`` tool is now preferred over ``sdcclib`` as librarian.
+  The latter was deprecated by SDCC 3.2.0 and removed in SDCC 3.8.6.
+
+* With SDCC the default flags no longer include any target-specific flags.
+  Previously the default flags were hard-coded for 8051.
+
+* The :variable:`CMAKE_VS_GLOBALS` variable value now applies during
+  compiler identification and in targets created by the
+  :command:`add_custom_target` command.
+
+* The :generator:`Xcode` generator no longer hard-codes ``-Wmost``,
+  ``-Wno-four-char-constants``, and ``-Wno-unknown-pragmas`` warning flags.
diff --git a/share/cmake-3.16/Help/release/3.2.rst b/share/cmake-3.17/Help/release/3.2.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.2.rst
rename to share/cmake-3.17/Help/release/3.2.rst
diff --git a/share/cmake-3.16/Help/release/3.3.rst b/share/cmake-3.17/Help/release/3.3.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.3.rst
rename to share/cmake-3.17/Help/release/3.3.rst
diff --git a/share/cmake-3.16/Help/release/3.4.rst b/share/cmake-3.17/Help/release/3.4.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.4.rst
rename to share/cmake-3.17/Help/release/3.4.rst
diff --git a/share/cmake-3.16/Help/release/3.5.rst b/share/cmake-3.17/Help/release/3.5.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.5.rst
rename to share/cmake-3.17/Help/release/3.5.rst
diff --git a/share/cmake-3.16/Help/release/3.6.rst b/share/cmake-3.17/Help/release/3.6.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.6.rst
rename to share/cmake-3.17/Help/release/3.6.rst
diff --git a/share/cmake-3.16/Help/release/3.7.rst b/share/cmake-3.17/Help/release/3.7.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.7.rst
rename to share/cmake-3.17/Help/release/3.7.rst
diff --git a/share/cmake-3.16/Help/release/3.8.rst b/share/cmake-3.17/Help/release/3.8.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.8.rst
rename to share/cmake-3.17/Help/release/3.8.rst
diff --git a/share/cmake-3.16/Help/release/3.9.rst b/share/cmake-3.17/Help/release/3.9.rst
similarity index 100%
rename from share/cmake-3.16/Help/release/3.9.rst
rename to share/cmake-3.17/Help/release/3.9.rst
diff --git a/share/cmake-3.16/Help/release/dev.txt b/share/cmake-3.17/Help/release/dev.txt
similarity index 100%
rename from share/cmake-3.16/Help/release/dev.txt
rename to share/cmake-3.17/Help/release/dev.txt
diff --git a/share/cmake-3.16/Help/release/index.rst b/share/cmake-3.17/Help/release/index.rst
similarity index 96%
rename from share/cmake-3.16/Help/release/index.rst
rename to share/cmake-3.17/Help/release/index.rst
index 0cc3f97..5d1f8a2 100644
--- a/share/cmake-3.16/Help/release/index.rst
+++ b/share/cmake-3.17/Help/release/index.rst
@@ -13,6 +13,7 @@
 .. toctree::
    :maxdepth: 1
 
+   3.17 <3.17>
    3.16 <3.16>
    3.15 <3.15>
    3.14 <3.14>
diff --git a/share/cmake-3.16/Help/variable/ANDROID.rst b/share/cmake-3.17/Help/variable/ANDROID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/ANDROID.rst
rename to share/cmake-3.17/Help/variable/ANDROID.rst
diff --git a/share/cmake-3.16/Help/variable/APPLE.rst b/share/cmake-3.17/Help/variable/APPLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/APPLE.rst
rename to share/cmake-3.17/Help/variable/APPLE.rst
diff --git a/share/cmake-3.16/Help/variable/BORLAND.rst b/share/cmake-3.17/Help/variable/BORLAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/BORLAND.rst
rename to share/cmake-3.17/Help/variable/BORLAND.rst
diff --git a/share/cmake-3.16/Help/variable/BUILD_SHARED_LIBS.rst b/share/cmake-3.17/Help/variable/BUILD_SHARED_LIBS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/BUILD_SHARED_LIBS.rst
rename to share/cmake-3.17/Help/variable/BUILD_SHARED_LIBS.rst
diff --git a/share/cmake-3.16/Help/variable/CACHE.rst b/share/cmake-3.17/Help/variable/CACHE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CACHE.rst
rename to share/cmake-3.17/Help/variable/CACHE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst b/share/cmake-3.17/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_AIX_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.17/Help/variable/CMAKE_AIX_EXPORT_ALL_SYMBOLS.rst
new file mode 100644
index 0000000..c64dd48
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_AIX_EXPORT_ALL_SYMBOLS.rst
@@ -0,0 +1,6 @@
+CMAKE_AIX_EXPORT_ALL_SYMBOLS
+----------------------------
+
+Default value for :prop_tgt:`AIX_EXPORT_ALL_SYMBOLS` target property.
+This variable is used to initialize the property on each target as it is
+created.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_API.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_API.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_API.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_API.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_API_MIN.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_API_MIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_API_MIN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_API_MIN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARCH.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARCH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARCH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARM_MODE.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARM_MODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARM_MODE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARM_MODE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARM_NEON.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARM_NEON.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_ARM_NEON.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_ARM_NEON.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_GUI.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_GUI.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_GUI.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_GUI.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_PROGUARD.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_PROGUARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_PROGUARD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_PROGUARD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ANDROID_STL_TYPE.rst b/share/cmake-3.17/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_APPBUNDLE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_APPBUNDLE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_APPBUNDLE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_APPBUNDLE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AR.rst b/share/cmake-3.17/Help/variable/CMAKE_AR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ARGC.rst b/share/cmake-3.17/Help/variable/CMAKE_ARGC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ARGC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ARGC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ARGV0.rst b/share/cmake-3.17/Help/variable/CMAKE_ARGV0.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ARGV0.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ARGV0.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOGEN_PARALLEL.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOGEN_PARALLEL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOGEN_PARALLEL.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOGEN_PARALLEL.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOGEN_VERBOSE.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOGEN_VERBOSE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOGEN_VERBOSE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOGEN_VERBOSE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_PATH_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_PATH_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_PATH_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_PATH_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTORCC.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTORCC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTORCC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTORCC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTORCC_OPTIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOUIC.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOUIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOUIC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOUIC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst b/share/cmake-3.17/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst b/share/cmake-3.17/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BINARY_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BINARY_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BINARY_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BUILD_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_BUILD_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BUILD_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BUILD_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BUILD_RPATH_USE_ORIGIN.rst b/share/cmake-3.17/Help/variable/CMAKE_BUILD_RPATH_USE_ORIGIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BUILD_RPATH_USE_ORIGIN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BUILD_RPATH_USE_ORIGIN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BUILD_TOOL.rst b/share/cmake-3.17/Help/variable/CMAKE_BUILD_TOOL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BUILD_TOOL.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BUILD_TOOL.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BUILD_TYPE.rst b/share/cmake-3.17/Help/variable/CMAKE_BUILD_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BUILD_TYPE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BUILD_TYPE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CACHEFILE_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_CACHEFILE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CACHEFILE_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CACHEFILE_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CFG_INTDIR.rst b/share/cmake-3.17/Help/variable/CMAKE_CFG_INTDIR.rst
similarity index 85%
rename from share/cmake-3.16/Help/variable/CMAKE_CFG_INTDIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CFG_INTDIR.rst
index af82f75..842654e 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_CFG_INTDIR.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_CFG_INTDIR.rst
@@ -16,6 +16,13 @@
   $(Configuration)     = Visual Studio 10
   $(CONFIGURATION)     = Xcode
   .                    = Make-based tools
+  .                    = Ninja
+  ${CONFIGURATION}     = Ninja Multi-Config
+
+Note that this variable only has limited support on
+:generator:`Ninja Multi-Config`. It is recommended that you use the
+``$<CONFIG>`` :manual:`generator expression <cmake-generator-expressions(7)>`
+instead.
 
 Since these values are evaluated by the native build system, this
 variable is suitable only for use in command lines that will be
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CL_64.rst b/share/cmake-3.17/Help/variable/CMAKE_CL_64.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CL_64.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CL_64.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CODEBLOCKS_COMPILER_ID.rst b/share/cmake-3.17/Help/variable/CMAKE_CODEBLOCKS_COMPILER_ID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CODEBLOCKS_COMPILER_ID.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CODEBLOCKS_COMPILER_ID.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst b/share/cmake-3.17/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst b/share/cmake-3.17/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COLOR_MAKEFILE.rst b/share/cmake-3.17/Help/variable/CMAKE_COLOR_MAKEFILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COLOR_MAKEFILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COLOR_MAKEFILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMPILER_2005.rst b/share/cmake-3.17/Help/variable/CMAKE_COMPILER_2005.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMPILER_2005.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMPILER_2005.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst b/share/cmake-3.17/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst b/share/cmake-3.17/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst b/share/cmake-3.17/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CONFIGURATION_TYPES.rst b/share/cmake-3.17/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CONFIG_POSTFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_CONFIG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CONFIG_POSTFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CONFIG_POSTFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CPACK_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_CPACK_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CPACK_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CPACK_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CROSSCOMPILING.rst b/share/cmake-3.17/Help/variable/CMAKE_CROSSCOMPILING.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CROSSCOMPILING.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CROSSCOMPILING.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst b/share/cmake-3.17/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CROSS_CONFIGS.rst b/share/cmake-3.17/Help/variable/CMAKE_CROSS_CONFIGS.rst
new file mode 100644
index 0000000..c850af2
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CROSS_CONFIGS.rst
@@ -0,0 +1,7 @@
+CMAKE_CROSS_CONFIGS
+-------------------
+
+Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of
+configurations available from all ``build-<Config>.ninja`` files in the
+:generator:`Ninja Multi-Config` generator. See the generator's
+documentation for more details.
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CTEST_ARGUMENTS.rst b/share/cmake-3.17/Help/variable/CMAKE_CTEST_ARGUMENTS.rst
new file mode 100644
index 0000000..0940b46
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CTEST_ARGUMENTS.rst
@@ -0,0 +1,6 @@
+CMAKE_CTEST_ARGUMENTS
+---------------------
+
+Set this to a :ref:`semicolon-separated list <CMake Language Lists>` of
+command-line arguments to pass to :manual:`ctest(1)` when running tests
+through the ``test`` (or ``RUN_TESTS``) target of the generated build system.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CTEST_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_CTEST_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CTEST_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CTEST_COMMAND.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CUDA_COMPILE_FEATURES.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_COMPILE_FEATURES.rst
new file mode 100644
index 0000000..2cd2650
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CUDA_COMPILE_FEATURES.rst
@@ -0,0 +1,11 @@
+CMAKE_CUDA_COMPILE_FEATURES
+---------------------------
+
+List of features known to the CUDA compiler
+
+These features are known to be available for use with the CUDA compiler. This
+list is a subset of the features listed in the
+:prop_gbl:`CMAKE_CUDA_KNOWN_FEATURES` global property.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CUDA_RUNTIME_LIBRARY.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_RUNTIME_LIBRARY.rst
new file mode 100644
index 0000000..ea1c1b8
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CUDA_RUNTIME_LIBRARY.rst
@@ -0,0 +1,24 @@
+CMAKE_CUDA_RUNTIME_LIBRARY
+--------------------------
+
+Select the CUDA runtime library for use by compilers targeting the MSVC ABI.
+This variable is used to initialize the :prop_tgt:`CUDA_RUNTIME_LIBRARY`
+property on all targets as they are created.
+
+The allowed case insensitive values are:
+
+.. include:: ../prop_tgt/CUDA_RUNTIME_LIBRARY-VALUES.txt
+
+Contents of ``CMAKE_CUDA_RUNTIME_LIBRARY`` may use
+:manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+If this variable is not set then the :prop_tgt:`CUDA_RUNTIME_LIBRARY` target
+property will not be set automatically.  If that property is not set then
+CMake uses the default value ``Static`` to select the CUDA runtime library.
+
+.. note::
+
+  This property has effect only when the ``CUDA`` language is enabled. To
+  control the CUDA runtime linking when only using the CUDA SDK with the
+  ``C`` or ``C++`` language we recommend using the :module:`FindCUDAToolkit`
+  module.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_SEPARABLE_COMPILATION.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_SEPARABLE_COMPILATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_SEPARABLE_COMPILATION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_SEPARABLE_COMPILATION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_STANDARD.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_STANDARD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_STANDARD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION.rst
new file mode 100644
index 0000000..aa2936c
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION.rst
@@ -0,0 +1,6 @@
+CMAKE_CURRENT_FUNCTION
+----------------------
+
+When executing code inside a :command:`function`, this variable
+contains the name of the current function.  It can be used for
+diagnostic or debug messages.
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_DIR.rst
new file mode 100644
index 0000000..0119381
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_DIR.rst
@@ -0,0 +1,33 @@
+CMAKE_CURRENT_FUNCTION_LIST_DIR
+-------------------------------
+
+When executing code inside a :command:`function`, this variable
+contains the full directory of the listfile defining the current function.
+
+It is quite common practice in CMake that modules use some additional files
+(e.g., templates to render).  And the code typically did the following:
+
+.. code-block:: cmake
+    :caption: Bad
+
+    set(_THIS_MODULE_BASE_DIR "${CMAKE_CURRENT_LIST_DIR}")
+
+    function(foo)
+      configure_file(
+        "${_THIS_MODULE_BASE_DIR}/some.template.in"
+        some.output
+      )
+    endfunction()
+
+Using this variable inside a function eliminates the neccessity of the
+additional one with "global" scope:
+
+.. code-block:: cmake
+    :caption: Good
+
+    function(foo)
+      configure_file(
+        "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/some.template.in"
+        some.output
+      )
+    endfunction()
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_FILE.rst
new file mode 100644
index 0000000..d2c846a
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_FILE.rst
@@ -0,0 +1,5 @@
+CMAKE_CURRENT_FUNCTION_LIST_FILE
+--------------------------------
+
+When executing code inside a :command:`function`, this variable
+contains the full path to the listfile declaring a current function.
diff --git a/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_LINE.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_LINE.rst
new file mode 100644
index 0000000..5a7cd13
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_FUNCTION_LIST_LINE.rst
@@ -0,0 +1,5 @@
+CMAKE_CURRENT_FUNCTION_LIST_LINE
+--------------------------------
+
+When executing code inside a :command:`function`, this variable
+contains the line number in the listfile where a current function has defined.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CURRENT_LIST_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CURRENT_LIST_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CURRENT_LIST_LINE.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst b/share/cmake-3.17/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CXX_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_CXX_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CXX_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CXX_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CXX_STANDARD.rst b/share/cmake-3.17/Help/variable/CMAKE_CXX_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CXX_STANDARD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CXX_STANDARD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_C_COMPILE_FEATURES.rst b/share/cmake-3.17/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_C_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_C_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_C_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_C_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_C_STANDARD.rst b/share/cmake-3.17/Help/variable/CMAKE_C_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_C_STANDARD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_C_STANDARD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DEBUG_POSTFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_DEBUG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DEBUG_POSTFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DEBUG_POSTFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst b/share/cmake-3.17/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_DEFAULT_BUILD_TYPE.rst b/share/cmake-3.17/Help/variable/CMAKE_DEFAULT_BUILD_TYPE.rst
new file mode 100644
index 0000000..62ee0d2
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_DEFAULT_BUILD_TYPE.rst
@@ -0,0 +1,6 @@
+CMAKE_DEFAULT_BUILD_TYPE
+------------------------
+
+Specifies the configuration to use by default in a ``build.ninja`` file in the
+:generator:`Ninja Multi-Config` generator. See the generator's documentation
+for more details.
diff --git a/share/cmake-3.17/Help/variable/CMAKE_DEFAULT_CONFIGS.rst b/share/cmake-3.17/Help/variable/CMAKE_DEFAULT_CONFIGS.rst
new file mode 100644
index 0000000..86d8a5a
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_DEFAULT_CONFIGS.rst
@@ -0,0 +1,7 @@
+CMAKE_DEFAULT_CONFIGS
+---------------------
+
+Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of configurations
+to build for a target in ``build.ninja`` if no ``:<Config>`` suffix is specified in
+the :generator:`Ninja Multi-Config` generator.
+See the generator's documentation for more details.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst b/share/cmake-3.17/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DIRECTORY_LABELS.rst b/share/cmake-3.17/Help/variable/CMAKE_DIRECTORY_LABELS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DIRECTORY_LABELS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DIRECTORY_LABELS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst b/share/cmake-3.17/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DISABLE_PRECOMPILE_HEADERS.rst b/share/cmake-3.17/Help/variable/CMAKE_DISABLE_PRECOMPILE_HEADERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DISABLE_PRECOMPILE_HEADERS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DISABLE_PRECOMPILE_HEADERS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DL_LIBS.rst b/share/cmake-3.17/Help/variable/CMAKE_DL_LIBS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_DL_LIBS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DL_LIBS.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK.rst b/share/cmake-3.17/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK.rst
new file mode 100644
index 0000000..8edcd1e
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK.rst
@@ -0,0 +1,16 @@
+CMAKE_DOTNET_TARGET_FRAMEWORK
+-----------------------------
+
+Default value for :prop_tgt:`DOTNET_TARGET_FRAMEWORK` property	of
+targets.
+
+This variable is used to initialize the
+:prop_tgt:`DOTNET_TARGET_FRAMEWORK` property on all targets. See that
+target property for additional information.
+
+Setting ``CMAKE_DOTNET_TARGET_FRAMEWORK`` may be necessary
+when working with ``C#`` and newer .NET framework versions to
+avoid referencing errors with the ``ALL_BUILD`` CMake target.
+
+This variable is only evaluated for :ref:`Visual Studio Generators`
+VS 2010 and above.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst
similarity index 66%
rename from share/cmake-3.16/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst
index 124fefe..c2eef9e 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst
@@ -6,7 +6,11 @@
 
 This variable is used to initialize the
 :prop_tgt:`DOTNET_TARGET_FRAMEWORK_VERSION` property on all
-targets. See that target property for additional information.
+targets. See that target property for additional information. When set,
+:variable:`CMAKE_DOTNET_TARGET_FRAMEWORK` takes precednece over this
+variable. See that variable or the associated target property
+:prop_tgt:`DOTNET_TARGET_FRAMEWORK` for additional information.
+
 
 Setting ``CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION`` may be necessary
 when working with ``C#`` and newer .NET framework versions to
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst b/share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst b/share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst b/share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_RESOURCE_ENCODING.rst b/share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_RESOURCE_ENCODING.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_RESOURCE_ENCODING.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_RESOURCE_ENCODING.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ECLIPSE_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ECLIPSE_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EDIT_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_EDIT_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EDIT_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EDIT_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ENABLE_EXPORTS.rst b/share/cmake-3.17/Help/variable/CMAKE_ENABLE_EXPORTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ENABLE_EXPORTS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ENABLE_EXPORTS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ERROR_DEPRECATED.rst b/share/cmake-3.17/Help/variable/CMAKE_ERROR_DEPRECATED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ERROR_DEPRECATED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ERROR_DEPRECATED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.17/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXECUTE_PROCESS_COMMAND_ECHO.rst b/share/cmake-3.17/Help/variable/CMAKE_EXECUTE_PROCESS_COMMAND_ECHO.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXECUTE_PROCESS_COMMAND_ECHO.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXECUTE_PROCESS_COMMAND_ECHO.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst b/share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst b/share/cmake-3.17/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
similarity index 91%
rename from share/cmake-3.16/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
index 4548abc..6d2450b 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
@@ -25,6 +25,9 @@
     }
   ]
 
+This is initialized by the :envvar:`CMAKE_EXPORT_COMPILE_COMMANDS` environment
+variable.
+
 .. note::
   This option is implemented only by :ref:`Makefile Generators`
   and the :generator:`Ninja`.  It is ignored on other generators.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst b/share/cmake-3.17/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXPORT_PACKAGE_REGISTRY.rst b/share/cmake-3.17/Help/variable/CMAKE_EXPORT_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXPORT_PACKAGE_REGISTRY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXPORT_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXTRA_GENERATOR.rst b/share/cmake-3.17/Help/variable/CMAKE_EXTRA_GENERATOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXTRA_GENERATOR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXTRA_GENERATOR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst b/share/cmake-3.17/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_APPBUNDLE.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_APPBUNDLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_APPBUNDLE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_APPBUNDLE.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_FIND_DEBUG_MODE.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_DEBUG_MODE.rst
new file mode 100644
index 0000000..33ffdd6
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_FIND_DEBUG_MODE.rst
@@ -0,0 +1,22 @@
+CMAKE_FIND_DEBUG_MODE
+---------------------
+
+Print extra find call information for the following commands to standard
+error:
+* :command:`find_program`
+* :command:`find_library`
+* :command:`find_file`
+* :command:`find_path`
+* :command:`find_package`
+
+Output is designed for human consumption and not for parsing.
+Enabling this variable is equivalent to using :manual:`cmake <cmake(1)>` ``--debug-find``
+with the added ability to enable debugging for a subset of find calls.
+
+.. code-block:: cmake
+
+  set(CMAKE_FIND_DEBUG_MODE TRUE)
+  find_program(...)
+  set(CMAKE_FIND_DEBUG_MODE FALSE)
+
+Default is unset.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_FRAMEWORK.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_FRAMEWORK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_FRAMEWORK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_FRAMEWORK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_PREFER_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_PREFER_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_PREFER_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_PREFER_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt b/share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_PACKAGE_REGISTRY.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_PACKAGE_REGISTRY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY.rst b/share/cmake-3.17/Help/variable/CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FOLDER.rst b/share/cmake-3.17/Help/variable/CMAKE_FOLDER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FOLDER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FOLDER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FRAMEWORK.rst b/share/cmake-3.17/Help/variable/CMAKE_FRAMEWORK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FRAMEWORK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FRAMEWORK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_FRAMEWORK_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_FRAMEWORK_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_FRAMEWORK_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_FRAMEWORK_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Fortran_FORMAT.rst b/share/cmake-3.17/Help/variable/CMAKE_Fortran_FORMAT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Fortran_FORMAT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Fortran_FORMAT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst b/share/cmake-3.17/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GENERATOR.rst b/share/cmake-3.17/Help/variable/CMAKE_GENERATOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GENERATOR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GENERATOR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GENERATOR_INSTANCE.rst b/share/cmake-3.17/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GENERATOR_PLATFORM.rst b/share/cmake-3.17/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GENERATOR_TOOLSET.rst b/share/cmake-3.17/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
similarity index 90%
rename from share/cmake-3.16/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
index 222824f..53ad2f3 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
@@ -58,3 +58,8 @@
   Specify the toolset version to use.  Supported by VS 2017
   and above with the specified toolset installed.
   See the :variable:`CMAKE_VS_PLATFORM_TOOLSET_VERSION` variable.
+
+``VCTargetsPath=<path>``
+  Specify an alternative ``VCTargetsPath`` value for Visual Studio
+  project files.  This allows use of VS platform extension configuration
+  files (``.props`` and ``.targets``) that are not installed with VS.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst b/share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst
similarity index 93%
rename from share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst
index e82867d..8587742 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst
@@ -3,7 +3,7 @@
 
 Switch to enable generation of a global ``autogen`` target.
 
-When :variable:`CMAKE_GLOBAL_AUTORCC_TARGET` is enabled, a custom target
+When :variable:`CMAKE_GLOBAL_AUTOGEN_TARGET` is enabled, a custom target
 ``autogen`` is generated.  This target depends on all :prop_tgt:`AUTOMOC` and
 :prop_tgt:`AUTOUIC` generated ``<ORIGIN>_autogen`` targets in the project.
 By building the global ``autogen`` target, all :prop_tgt:`AUTOMOC` and
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET.rst b/share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_GNUtoMS.rst b/share/cmake-3.17/Help/variable/CMAKE_GNUtoMS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_GNUtoMS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_GNUtoMS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOME_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_HOME_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOME_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOME_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_APPLE.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_APPLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_APPLE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_APPLE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_SOLARIS.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_SOLARIS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_SOLARIS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_SOLARIS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
new file mode 100644
index 0000000..5f08728
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
@@ -0,0 +1,15 @@
+CMAKE_HOST_SYSTEM_PROCESSOR
+---------------------------
+
+The name of the CPU CMake is running on.
+
+On Windows, this variable is set to the value of the environment variable
+``PROCESSOR_ARCHITECTURE``. On systems that support ``uname``, this variable is
+set to the output of:
+
+- ``uname -m`` on GNU, Linux, Cygwin, Darwin, Android, or
+- ``arch`` on OpenBSD, or
+- on other systems,
+
+  * ``uname -p`` if its exit code is nonzero, or
+  * ``uname -m`` otherwise.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_UNIX.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_UNIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_UNIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_UNIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_HOST_WIN32.rst b/share/cmake-3.17/Help/variable/CMAKE_HOST_WIN32.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_HOST_WIN32.rst
rename to share/cmake-3.17/Help/variable/CMAKE_HOST_WIN32.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_IGNORE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_IGNORE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_IGNORE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_IGNORE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst b/share/cmake-3.17/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst b/share/cmake-3.17/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst b/share/cmake-3.17/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INCLUDE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_INCLUDE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INCLUDE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INCLUDE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_MESSAGE.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_MESSAGE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_MESSAGE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_MESSAGE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_NAME_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INSTALL_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INSTALL_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INSTALL_RPATH.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
new file mode 100644
index 0000000..a99c108
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
@@ -0,0 +1,13 @@
+CMAKE_INSTALL_RPATH_USE_LINK_PATH
+---------------------------------
+
+Add paths to linker search and installed rpath.
+
+``CMAKE_INSTALL_RPATH_USE_LINK_PATH`` is a boolean that if set to ``True``
+will append to the runtime search path (rpath) of installed binaries
+any directories outside the project that are in the linker search path or
+contain linked library files.  The directories are appended after the
+value of the :prop_tgt:`INSTALL_RPATH` target property.
+
+This varibale is used to initialize the target property
+:prop_tgt:`INSTALL_RPATH_USE_LINK_PATH` for all targets.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst b/share/cmake-3.17/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.17/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst b/share/cmake-3.17/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_JOB_POOLS.rst b/share/cmake-3.17/Help/variable/CMAKE_JOB_POOLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_JOB_POOLS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_JOB_POOLS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_JOB_POOL_COMPILE.rst b/share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_JOB_POOL_LINK.rst b/share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_LINK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_JOB_POOL_LINK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_LINK.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_PRECOMPILE_HEADER.rst b/share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_PRECOMPILE_HEADER.rst
new file mode 100644
index 0000000..f9467b3
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_JOB_POOL_PRECOMPILE_HEADER.rst
@@ -0,0 +1,6 @@
+CMAKE_JOB_POOL_PRECOMPILE_HEADER
+--------------------------------
+
+This variable is used to initialize the :prop_tgt:`JOB_POOL_PRECOMPILE_HEADER`
+property on all the targets. See :prop_tgt:`JOB_POOL_PRECOMPILE_HEADER`
+for additional information.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_CLANG_TIDY.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_ABI.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_AR.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_AR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_AR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_AR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_ID.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_ID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_ID.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_ID.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
similarity index 73%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
index 6b7e35a..c76e2d0 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
@@ -5,3 +5,6 @@
 This variable is used to initialize the property on each target as it is
 created.  This is done only when ``<LANG>`` is ``C``, ``CXX``, ``Fortran``,
 ``OBJC``, ``OBJCXX``, or ``CUDA``.
+
+This variable is initialized to the :envvar:`CMAKE_<LANG>_COMPILER_LAUNCHER`
+environment variable if it is set.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_CPPCHECK.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_CPPCHECK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_CPPCHECK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_CPPCHECK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_CPPLINT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_CPPLINT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_CPPLINT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_CPPLINT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_CONFIG_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_CONFIG_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_CONFIG_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_CONFIG_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG_SEP.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG_SEP.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG_SEP.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINKER_WRAPPER_FLAG_SEP.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_LIBRARY_FILE_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_LIBRARY_FILE_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_LIBRARY_FILE_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_LIBRARY_FILE_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_LIBRARY_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_LIBRARY_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_LIBRARY_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_LIBRARY_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_LIBRARY_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_LINK_LIBRARY_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_LINK_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_PLATFORM_ID.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_SIMULATE_ID.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst b/share/cmake-3.17/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst b/share/cmake-3.17/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst b/share/cmake-3.17/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LIBRARY_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_LIBRARY_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LIBRARY_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LIBRARY_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_DIRECTORIES_BEFORE.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_DIRECTORIES_BEFORE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_DIRECTORIES_BEFORE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_DIRECTORIES_BEFORE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst b/share/cmake-3.17/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MACOSX_BUNDLE.rst b/share/cmake-3.17/Help/variable/CMAKE_MACOSX_BUNDLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MACOSX_BUNDLE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MACOSX_BUNDLE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MACOSX_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_MACOSX_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MACOSX_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MACOSX_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MAJOR_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_MAJOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MAJOR_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MAJOR_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MAKE_PROGRAM.rst b/share/cmake-3.17/Help/variable/CMAKE_MAKE_PROGRAM.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MAKE_PROGRAM.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MAKE_PROGRAM.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MATCH_COUNT.rst b/share/cmake-3.17/Help/variable/CMAKE_MATCH_COUNT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MATCH_COUNT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MATCH_COUNT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MATCH_n.rst b/share/cmake-3.17/Help/variable/CMAKE_MATCH_n.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MATCH_n.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MATCH_n.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.rst b/share/cmake-3.17/Help/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_CONTEXT.rst b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_CONTEXT.rst
new file mode 100644
index 0000000..6b4ca40
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_CONTEXT.rst
@@ -0,0 +1,62 @@
+CMAKE_MESSAGE_CONTEXT
+---------------------
+
+When enabled by the :manual:`cmake <cmake(1)>` ``--log-context`` command line
+option or the :variable:`CMAKE_MESSAGE_CONTEXT_SHOW` variable, the
+:command:`message` command converts the ``CMAKE_MESSAGE_CONTEXT`` list into a
+dot-separated string surrounded by square brackets and prepends it to each line
+for messages of log levels ``NOTICE`` and below.
+
+For logging contexts to work effectively, projects should generally
+``APPEND`` and ``POP_BACK`` an item to the current value of
+``CMAKE_MESSAGE_CONTEXT`` rather than replace it.
+Projects should not assume the message context at the top of the source tree
+is empty, as there are scenarios where the context might have already been set
+(e.g. hierarchical projects).
+
+.. warning::
+
+  Valid context names are restricted to anything that could be used
+  as a CMake variable name.  All names that begin with an underscore
+  or the string ``cmake_`` are also reserved for use by CMake and
+  should not be used by projects.
+
+Example:
+
+.. code-block:: cmake
+
+  function(bar)
+    list(APPEND CMAKE_MESSAGE_CONTEXT "bar")
+    message(VERBOSE "bar VERBOSE message")
+  endfunction()
+
+  function(baz)
+    list(APPEND CMAKE_MESSAGE_CONTEXT "baz")
+    message(DEBUG "baz DEBUG message")
+  endfunction()
+
+  function(foo)
+    list(APPEND CMAKE_MESSAGE_CONTEXT "foo")
+    bar()
+    message(TRACE "foo TRACE message")
+    baz()
+  endfunction()
+
+  list(APPEND CMAKE_MESSAGE_CONTEXT "top")
+
+  message(VERBOSE "Before `foo`")
+  foo()
+  message(VERBOSE "After `foo`")
+
+  list(POP_BACK CMAKE_MESSAGE_CONTEXT)
+
+
+Which results in the following output:
+
+.. code-block:: none
+
+  -- [top] Before `foo`
+  -- [top.foo.bar] bar VERBOSE message
+  -- [top.foo] foo TRACE message
+  -- [top.foo.baz] baz DEBUG message
+  -- [top] After `foo`
diff --git a/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_CONTEXT_SHOW.rst b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_CONTEXT_SHOW.rst
new file mode 100644
index 0000000..7ec218e
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_CONTEXT_SHOW.rst
@@ -0,0 +1,15 @@
+CMAKE_MESSAGE_CONTEXT_SHOW
+--------------------------
+
+Setting this variable to true enables showing a context with each line
+logged by the :command:`message` command (see :variable:`CMAKE_MESSAGE_CONTEXT`
+for how the context itself is specified).
+
+This variable is an alternative to providing the ``--log-context`` option
+on the :manual:`cmake <cmake(1)>` command line.  Whereas the command line
+option will apply only to that one CMake run, setting
+``CMAKE_MESSAGE_CONTEXT_SHOW`` to true as a cache variable will ensure that
+subsequent CMake runs will continue to show the message context.
+
+Projects should not set ``CMAKE_MESSAGE_CONTEXT_SHOW``.  It is intended for
+users so that they may control whether or not to include context with messages.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MESSAGE_INDENT.rst b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_INDENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MESSAGE_INDENT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MESSAGE_INDENT.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_LOG_LEVEL.rst b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_LOG_LEVEL.rst
new file mode 100644
index 0000000..1d4cfe6
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_MESSAGE_LOG_LEVEL.rst
@@ -0,0 +1,15 @@
+CMAKE_MESSAGE_LOG_LEVEL
+-----------------------
+
+When set, this variable specifies the logging level used by the
+:command:`message` command.  Valid values are the same as those for the
+``--log-level`` command line option of the :manual:`cmake(1)` program.
+If this variable is set and the ``--log-level`` command line option is
+given, the command line option takes precedence.
+
+The main advantage to using this variable is to make a log level persist
+between CMake runs.  Setting it as a cache variable will ensure that
+subsequent CMake runs will continue to use the chosen log level.
+
+Projects should not set this variable, it is intended for users so that
+they may control the log level according to their own needs.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MFC_FLAG.rst b/share/cmake-3.17/Help/variable/CMAKE_MFC_FLAG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MFC_FLAG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MFC_FLAG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MINOR_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_MINOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MINOR_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MINOR_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst b/share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MODULE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_MODULE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MODULE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MODULE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_MSVC_RUNTIME_LIBRARY.rst b/share/cmake-3.17/Help/variable/CMAKE_MSVC_RUNTIME_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_MSVC_RUNTIME_LIBRARY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_MSVC_RUNTIME_LIBRARY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_NETRC.rst b/share/cmake-3.17/Help/variable/CMAKE_NETRC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_NETRC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_NETRC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_NETRC_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_NETRC_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_NETRC_FILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_NETRC_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst b/share/cmake-3.17/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst b/share/cmake-3.17/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJCXX_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJCXX_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJCXX_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJCXX_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJCXX_STANDARD.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJCXX_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJCXX_STANDARD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJCXX_STANDARD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJCXX_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJCXX_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJCXX_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJCXX_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJC_EXTENSIONS.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJC_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJC_EXTENSIONS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJC_EXTENSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJC_STANDARD.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJC_STANDARD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJC_STANDARD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJC_STANDARD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJC_STANDARD_REQUIRED.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJC_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJC_STANDARD_REQUIRED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJC_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OBJECT_PATH_MAX.rst b/share/cmake-3.17/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OSX_ARCHITECTURES.rst b/share/cmake-3.17/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst b/share/cmake-3.17/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OSX_SYSROOT.rst b/share/cmake-3.17/Help/variable/CMAKE_OSX_SYSROOT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OSX_SYSROOT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_OSX_SYSROOT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_OSX_VARIABLE.txt b/share/cmake-3.17/Help/variable/CMAKE_OSX_VARIABLE.txt
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_OSX_VARIABLE.txt
rename to share/cmake-3.17/Help/variable/CMAKE_OSX_VARIABLE.txt
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PARENT_LIST_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_PARENT_LIST_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PARENT_LIST_FILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PARENT_LIST_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PATCH_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_PATCH_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PATCH_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PATCH_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst b/share/cmake-3.17/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst b/share/cmake-3.17/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
similarity index 93%
rename from share/cmake-3.16/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
index fc52e7b..de71d0e 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
@@ -23,6 +23,8 @@
   policy :policy:`CMP0082`.
 * ``CMAKE_POLICY_WARNING_CMP0089`` controls the warning for
   policy :policy:`CMP0089`.
+* ``CMAKE_POLICY_WARNING_CMP0102`` controls the warning for
+  policy :policy:`CMP0102`.
 
 This variable should not be set by a project in CMake code.  Project
 developers running CMake may set this variable in their cache to
diff --git a/share/cmake-3.16/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst b/share/cmake-3.17/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PREFIX_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_PREFIX_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PREFIX_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PREFIX_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROGRAM_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_PROGRAM_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROGRAM_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROGRAM_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_HOMEPAGE_URL.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_HOMEPAGE_URL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_HOMEPAGE_URL.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_HOMEPAGE_URL.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_INCLUDE.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_INCLUDE.rst
similarity index 70%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_INCLUDE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_INCLUDE.rst
index 965c94e..5835264 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_INCLUDE.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_INCLUDE.rst
@@ -5,5 +5,6 @@
 :command:`project` command calls.  This is intended for injecting custom code
 into project builds without modifying their source.
 
-See also the :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` and
+See also the :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
+:variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE` and
 :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` variables.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_INCLUDE_BEFORE.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_INCLUDE_BEFORE.rst
similarity index 71%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_INCLUDE_BEFORE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_INCLUDE_BEFORE.rst
index 70b15e6..280c14a 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_INCLUDE_BEFORE.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_INCLUDE_BEFORE.rst
@@ -5,5 +5,6 @@
 :command:`project` command calls.  This is intended for injecting custom code
 into project builds without modifying their source.
 
-See also the :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` and
+See also the :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
+:variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE` and
 :variable:`CMAKE_PROJECT_INCLUDE` variables.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
similarity index 77%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
index 3485c38..74247f1 100644
--- a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
+++ b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
@@ -6,5 +6,6 @@
 name.  This is intended for injecting custom code into project builds without
 modifying their source.
 
-See also the :variable:`CMAKE_PROJECT_INCLUDE` and
+See also the :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE`,
+:variable:`CMAKE_PROJECT_INCLUDE` and
 :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` variables.
diff --git a/share/cmake-3.17/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE_BEFORE.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE_BEFORE.rst
new file mode 100644
index 0000000..db1432d
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE_BEFORE.rst
@@ -0,0 +1,11 @@
+CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE
+-------------------------------------------
+
+A CMake language file or module to be included as the first step of any
+:command:`project` command calls that specify ``<PROJECT-NAME>`` as the project
+name.  This is intended for injecting custom code into project builds without
+modifying their source.
+
+See also the :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
+:variable:`CMAKE_PROJECT_INCLUDE` and
+:variable:`CMAKE_PROJECT_INCLUDE_BEFORE` variables.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_MAJOR.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_MAJOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_MAJOR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_MAJOR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_MINOR.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_MINOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_MINOR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_MINOR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_PATCH.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_PATCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_PATCH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_PATCH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_TWEAK.rst b/share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_TWEAK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_PROJECT_VERSION_TWEAK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_PROJECT_VERSION_TWEAK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_RANLIB.rst b/share/cmake-3.17/Help/variable/CMAKE_RANLIB.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_RANLIB.rst
rename to share/cmake-3.17/Help/variable/CMAKE_RANLIB.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_ROOT.rst b/share/cmake-3.17/Help/variable/CMAKE_ROOT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_ROOT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_ROOT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_RULE_MESSAGES.rst b/share/cmake-3.17/Help/variable/CMAKE_RULE_MESSAGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_RULE_MESSAGES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_RULE_MESSAGES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SIZEOF_VOID_P.rst b/share/cmake-3.17/Help/variable/CMAKE_SIZEOF_VOID_P.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SIZEOF_VOID_P.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SIZEOF_VOID_P.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst b/share/cmake-3.17/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst b/share/cmake-3.17/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SKIP_RPATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SKIP_RPATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SKIP_RPATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SKIP_RPATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SOURCE_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SOURCE_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STAGING_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_STAGING_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STAGING_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STAGING_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst b/share/cmake-3.17/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst b/share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst b/share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst b/share/cmake-3.17/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst b/share/cmake-3.17/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SUPPRESS_REGENERATION.rst b/share/cmake-3.17/Help/variable/CMAKE_SUPPRESS_REGENERATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SUPPRESS_REGENERATION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SUPPRESS_REGENERATION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSROOT.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSROOT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSROOT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSROOT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSROOT_COMPILE.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSROOT_COMPILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSROOT_COMPILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSROOT_COMPILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSROOT_LINK.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSROOT_LINK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSROOT_LINK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSROOT_LINK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_SYSTEM_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_SYSTEM_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_SYSTEM_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_SYSTEM_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Swift_MODULE_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_Swift_MODULE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Swift_MODULE_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Swift_MODULE_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_Swift_NUM_THREADS.rst b/share/cmake-3.17/Help/variable/CMAKE_Swift_NUM_THREADS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_Swift_NUM_THREADS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_Swift_NUM_THREADS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_TOOLCHAIN_FILE.rst b/share/cmake-3.17/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst b/share/cmake-3.17/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst b/share/cmake-3.17/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst b/share/cmake-3.17/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_TWEAK_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_TWEAK_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_TWEAK_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_TWEAK_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_UNITY_BUILD.rst b/share/cmake-3.17/Help/variable/CMAKE_UNITY_BUILD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_UNITY_BUILD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_UNITY_BUILD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_UNITY_BUILD_BATCH_SIZE.rst b/share/cmake-3.17/Help/variable/CMAKE_UNITY_BUILD_BATCH_SIZE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_UNITY_BUILD_BATCH_SIZE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_UNITY_BUILD_BATCH_SIZE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst b/share/cmake-3.17/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst b/share/cmake-3.17/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
rename to share/cmake-3.17/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst b/share/cmake-3.17/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst b/share/cmake-3.17/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst b/share/cmake-3.17/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_GLOBALS.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_GLOBALS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_GLOBALS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_GLOBALS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_JUST_MY_CODE_DEBUGGING.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_JUST_MY_CODE_DEBUGGING.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_JUST_MY_CODE_DEBUGGING.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_JUST_MY_CODE_DEBUGGING.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_NAME.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_EXCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_EXCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_EXCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_EXCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_INCLUDE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_LIBRARY_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_LIBRARY_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_LIBRARY_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_LIBRARY_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_REFERENCE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_REFERENCE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_REFERENCE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_REFERENCE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_SDK_SOURCE_DIRECTORIES.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_SDK_SOURCE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_SDK_SOURCE_DIRECTORIES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_SDK_SOURCE_DIRECTORIES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_VS_WINRT_BY_DEFAULT.rst b/share/cmake-3.17/Help/variable/CMAKE_VS_WINRT_BY_DEFAULT.rst
new file mode 100644
index 0000000..2eea424
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_VS_WINRT_BY_DEFAULT.rst
@@ -0,0 +1,18 @@
+CMAKE_VS_WINRT_BY_DEFAULT
+-------------------------
+
+Inform :ref:`Visual Studio Generators` for VS 2010 and above that the
+target platform enables WinRT compilation by default and it needs to
+be explicitly disabled if ``/ZW`` or :prop_tgt:`VS_WINRT_COMPONENT` is
+omitted (as opposed to enabling it when either of those options is
+present)
+
+This makes cmake configuration consistent in terms of WinRT among
+platforms - if you did not enable the WinRT compilation explicitly, it
+will be disabled (by either not enabling it or explicitly disabling it)
+
+Note: WinRT compilation is always explicitly disabled for C language
+source files, even if it is expliclty enabled for a project
+
+This variable is meant to be set by a
+:variable:`toolchain file <CMAKE_TOOLCHAIN_FILE>` for such platforms.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_WARN_DEPRECATED.rst b/share/cmake-3.17/Help/variable/CMAKE_WARN_DEPRECATED.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_WARN_DEPRECATED.rst
rename to share/cmake-3.17/Help/variable/CMAKE_WARN_DEPRECATED.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.17/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.17/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_WIN32_EXECUTABLE.rst b/share/cmake-3.17/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.17/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ENVIRONMENT.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ENVIRONMENT.rst
new file mode 100644
index 0000000..4832659
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ENVIRONMENT.rst
@@ -0,0 +1,15 @@
+CMAKE_XCODE_SCHEME_ENVIRONMENT
+------------------------------
+
+Specify environment variables that should be added to the Arguments
+section of the generated Xcode scheme.
+
+If set to a list of environment variables and values of the form
+``MYVAR=value`` those environment variables will be added to the
+scheme.
+
+This variable initializes the :prop_tgt:`XCODE_SCHEME_ENVIRONMENT`
+property on all targets.
+
+Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property
+documentation to see all Xcode schema related properties.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_GUARD_MALLOC.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_GUARD_MALLOC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_GUARD_MALLOC.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_GUARD_MALLOC.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_STACK.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_STACK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_STACK.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_MALLOC_STACK.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER.rst
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP.rst
diff --git a/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_WORKING_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_WORKING_DIRECTORY.rst
new file mode 100644
index 0000000..cc690f7
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_WORKING_DIRECTORY.rst
@@ -0,0 +1,12 @@
+CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
+------------------------------------
+
+Specify the ``Working Directory`` a of the `Run` and `Profile`
+action in the generated Xcode scheme.
+
+This variable initializes the
+:prop_tgt:`XCODE_SCHEME_WORKING_DIRECTORY`
+property on all targets.
+
+Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property
+documentation to see all Xcode schema related properties.
diff --git a/share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS.rst b/share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS.rst
rename to share/cmake-3.17/Help/variable/CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst b/share/cmake-3.17/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
rename to share/cmake-3.17/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.17/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.17/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst b/share/cmake-3.17/Help/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
rename to share/cmake-3.17/Help/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst b/share/cmake-3.17/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
rename to share/cmake-3.17/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_SET_DESTDIR.rst b/share/cmake-3.17/Help/variable/CPACK_SET_DESTDIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_SET_DESTDIR.rst
rename to share/cmake-3.17/Help/variable/CPACK_SET_DESTDIR.rst
diff --git a/share/cmake-3.16/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.17/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.17/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_BINARY_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CTEST_BINARY_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_BINARY_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CTEST_BINARY_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_BUILD_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_BUILD_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_BUILD_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_BUILD_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_BUILD_NAME.rst b/share/cmake-3.17/Help/variable/CTEST_BUILD_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_BUILD_NAME.rst
rename to share/cmake-3.17/Help/variable/CTEST_BUILD_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_BZR_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_BZR_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_BZR_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_BZR_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CHANGE_ID.rst b/share/cmake-3.17/Help/variable/CTEST_CHANGE_ID.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CHANGE_ID.rst
rename to share/cmake-3.17/Help/variable/CTEST_CHANGE_ID.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CHECKOUT_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_CHECKOUT_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CHECKOUT_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_CHECKOUT_COMMAND.rst
diff --git a/share/cmake-3.17/Help/variable/CTEST_CONFIGURATION_TYPE.rst b/share/cmake-3.17/Help/variable/CTEST_CONFIGURATION_TYPE.rst
new file mode 100644
index 0000000..9e277fa
--- /dev/null
+++ b/share/cmake-3.17/Help/variable/CTEST_CONFIGURATION_TYPE.rst
@@ -0,0 +1,8 @@
+CTEST_CONFIGURATION_TYPE
+------------------------
+
+Specify the CTest ``DefaultCTestConfigurationType`` setting
+in a :manual:`ctest(1)` dashboard client script.
+
+If the configuration type is set via ``-C <cfg>`` from the command line
+then this variable is populated accordingly.
diff --git a/share/cmake-3.16/Help/variable/CTEST_CONFIGURE_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_CONFIGURE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CONFIGURE_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_CONFIGURE_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_COVERAGE_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_COVERAGE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_COVERAGE_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_COVERAGE_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst b/share/cmake-3.17/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
rename to share/cmake-3.17/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CURL_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_CURL_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CURL_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_CURL_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_POST_TEST.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_POST_TEST.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_POST_TEST.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_POST_TEST.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_PRE_TEST.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_TESTS_IGNORE.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_TESTS_IGNORE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_TESTS_IGNORE.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_TESTS_IGNORE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CUSTOM_XXX.txt b/share/cmake-3.17/Help/variable/CTEST_CUSTOM_XXX.txt
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CUSTOM_XXX.txt
rename to share/cmake-3.17/Help/variable/CTEST_CUSTOM_XXX.txt
diff --git a/share/cmake-3.16/Help/variable/CTEST_CVS_CHECKOUT.rst b/share/cmake-3.17/Help/variable/CTEST_CVS_CHECKOUT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CVS_CHECKOUT.rst
rename to share/cmake-3.17/Help/variable/CTEST_CVS_CHECKOUT.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CVS_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_CVS_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CVS_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_CVS_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_DROP_LOCATION.rst b/share/cmake-3.17/Help/variable/CTEST_DROP_LOCATION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_DROP_LOCATION.rst
rename to share/cmake-3.17/Help/variable/CTEST_DROP_LOCATION.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_DROP_METHOD.rst b/share/cmake-3.17/Help/variable/CTEST_DROP_METHOD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_DROP_METHOD.rst
rename to share/cmake-3.17/Help/variable/CTEST_DROP_METHOD.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_DROP_SITE.rst b/share/cmake-3.17/Help/variable/CTEST_DROP_SITE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_DROP_SITE.rst
rename to share/cmake-3.17/Help/variable/CTEST_DROP_SITE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_DROP_SITE_CDASH.rst b/share/cmake-3.17/Help/variable/CTEST_DROP_SITE_CDASH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_DROP_SITE_CDASH.rst
rename to share/cmake-3.17/Help/variable/CTEST_DROP_SITE_CDASH.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_DROP_SITE_PASSWORD.rst b/share/cmake-3.17/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
rename to share/cmake-3.17/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_DROP_SITE_USER.rst b/share/cmake-3.17/Help/variable/CTEST_DROP_SITE_USER.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_DROP_SITE_USER.rst
rename to share/cmake-3.17/Help/variable/CTEST_DROP_SITE_USER.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst b/share/cmake-3.17/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
rename to share/cmake-3.17/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_GIT_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_GIT_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_GIT_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_GIT_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst b/share/cmake-3.17/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
rename to share/cmake-3.17/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst b/share/cmake-3.17/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
rename to share/cmake-3.17/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_HG_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_HG_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_HG_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_HG_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst b/share/cmake-3.17/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst
rename to share/cmake-3.17/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst b/share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
rename to share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_TYPE.rst b/share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
similarity index 76%
rename from share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
rename to share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
index b8b4c30..4e7d5c0 100644
--- a/share/cmake-3.16/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
+++ b/share/cmake-3.17/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
@@ -3,6 +3,6 @@
 
 Specify the CTest ``MemoryCheckType`` setting
 in a :manual:`ctest(1)` dashboard client script.
-Valid values are ``Valgrind``, ``Purify``, ``BoundsChecker``, and
+Valid values are ``Valgrind``, ``Purify``, ``BoundsChecker``, ``DrMemory`` and
 ``ThreadSanitizer``, ``AddressSanitizer``, ``LeakSanitizer``, ``MemorySanitizer``, and
 ``UndefinedBehaviorSanitizer``.
diff --git a/share/cmake-3.16/Help/variable/CTEST_NIGHTLY_START_TIME.rst b/share/cmake-3.17/Help/variable/CTEST_NIGHTLY_START_TIME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_NIGHTLY_START_TIME.rst
rename to share/cmake-3.17/Help/variable/CTEST_NIGHTLY_START_TIME.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_P4_CLIENT.rst b/share/cmake-3.17/Help/variable/CTEST_P4_CLIENT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_P4_CLIENT.rst
rename to share/cmake-3.17/Help/variable/CTEST_P4_CLIENT.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_P4_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_P4_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_P4_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_P4_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_P4_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_P4_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_P4_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_P4_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_RUN_CURRENT_SCRIPT.rst b/share/cmake-3.17/Help/variable/CTEST_RUN_CURRENT_SCRIPT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_RUN_CURRENT_SCRIPT.rst
rename to share/cmake-3.17/Help/variable/CTEST_RUN_CURRENT_SCRIPT.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SCP_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_SCP_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SCP_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_SCP_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SITE.rst b/share/cmake-3.17/Help/variable/CTEST_SITE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SITE.rst
rename to share/cmake-3.17/Help/variable/CTEST_SITE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SOURCE_DIRECTORY.rst b/share/cmake-3.17/Help/variable/CTEST_SOURCE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SOURCE_DIRECTORY.rst
rename to share/cmake-3.17/Help/variable/CTEST_SOURCE_DIRECTORY.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SUBMIT_URL.rst b/share/cmake-3.17/Help/variable/CTEST_SUBMIT_URL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SUBMIT_URL.rst
rename to share/cmake-3.17/Help/variable/CTEST_SUBMIT_URL.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SVN_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_SVN_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SVN_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_SVN_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SVN_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_SVN_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SVN_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_SVN_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_TEST_LOAD.rst b/share/cmake-3.17/Help/variable/CTEST_TEST_LOAD.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_TEST_LOAD.rst
rename to share/cmake-3.17/Help/variable/CTEST_TEST_LOAD.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_TEST_TIMEOUT.rst b/share/cmake-3.17/Help/variable/CTEST_TEST_TIMEOUT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_TEST_TIMEOUT.rst
rename to share/cmake-3.17/Help/variable/CTEST_TEST_TIMEOUT.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_TRIGGER_SITE.rst b/share/cmake-3.17/Help/variable/CTEST_TRIGGER_SITE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_TRIGGER_SITE.rst
rename to share/cmake-3.17/Help/variable/CTEST_TRIGGER_SITE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_UPDATE_COMMAND.rst b/share/cmake-3.17/Help/variable/CTEST_UPDATE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_UPDATE_COMMAND.rst
rename to share/cmake-3.17/Help/variable/CTEST_UPDATE_COMMAND.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_UPDATE_OPTIONS.rst b/share/cmake-3.17/Help/variable/CTEST_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_UPDATE_OPTIONS.rst
rename to share/cmake-3.17/Help/variable/CTEST_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst b/share/cmake-3.17/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
rename to share/cmake-3.17/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_UPDATE_VERSION_OVERRIDE.rst b/share/cmake-3.17/Help/variable/CTEST_UPDATE_VERSION_OVERRIDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_UPDATE_VERSION_OVERRIDE.rst
rename to share/cmake-3.17/Help/variable/CTEST_UPDATE_VERSION_OVERRIDE.rst
diff --git a/share/cmake-3.16/Help/variable/CTEST_USE_LAUNCHERS.rst b/share/cmake-3.17/Help/variable/CTEST_USE_LAUNCHERS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CTEST_USE_LAUNCHERS.rst
rename to share/cmake-3.17/Help/variable/CTEST_USE_LAUNCHERS.rst
diff --git a/share/cmake-3.16/Help/variable/CYGWIN.rst b/share/cmake-3.17/Help/variable/CYGWIN.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/CYGWIN.rst
rename to share/cmake-3.17/Help/variable/CYGWIN.rst
diff --git a/share/cmake-3.16/Help/variable/ENV.rst b/share/cmake-3.17/Help/variable/ENV.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/ENV.rst
rename to share/cmake-3.17/Help/variable/ENV.rst
diff --git a/share/cmake-3.16/Help/variable/EXECUTABLE_OUTPUT_PATH.rst b/share/cmake-3.17/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
rename to share/cmake-3.17/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/GHS-MULTI.rst b/share/cmake-3.17/Help/variable/GHS-MULTI.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/GHS-MULTI.rst
rename to share/cmake-3.17/Help/variable/GHS-MULTI.rst
diff --git a/share/cmake-3.16/Help/variable/IOS.rst b/share/cmake-3.17/Help/variable/IOS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/IOS.rst
rename to share/cmake-3.17/Help/variable/IOS.rst
diff --git a/share/cmake-3.16/Help/variable/LIBRARY_OUTPUT_PATH.rst b/share/cmake-3.17/Help/variable/LIBRARY_OUTPUT_PATH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/LIBRARY_OUTPUT_PATH.rst
rename to share/cmake-3.17/Help/variable/LIBRARY_OUTPUT_PATH.rst
diff --git a/share/cmake-3.16/Help/variable/MINGW.rst b/share/cmake-3.17/Help/variable/MINGW.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MINGW.rst
rename to share/cmake-3.17/Help/variable/MINGW.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC.rst b/share/cmake-3.17/Help/variable/MSVC.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC.rst
rename to share/cmake-3.17/Help/variable/MSVC.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC10.rst b/share/cmake-3.17/Help/variable/MSVC10.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC10.rst
rename to share/cmake-3.17/Help/variable/MSVC10.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC11.rst b/share/cmake-3.17/Help/variable/MSVC11.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC11.rst
rename to share/cmake-3.17/Help/variable/MSVC11.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC12.rst b/share/cmake-3.17/Help/variable/MSVC12.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC12.rst
rename to share/cmake-3.17/Help/variable/MSVC12.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC14.rst b/share/cmake-3.17/Help/variable/MSVC14.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC14.rst
rename to share/cmake-3.17/Help/variable/MSVC14.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC60.rst b/share/cmake-3.17/Help/variable/MSVC60.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC60.rst
rename to share/cmake-3.17/Help/variable/MSVC60.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC70.rst b/share/cmake-3.17/Help/variable/MSVC70.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC70.rst
rename to share/cmake-3.17/Help/variable/MSVC70.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC71.rst b/share/cmake-3.17/Help/variable/MSVC71.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC71.rst
rename to share/cmake-3.17/Help/variable/MSVC71.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC80.rst b/share/cmake-3.17/Help/variable/MSVC80.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC80.rst
rename to share/cmake-3.17/Help/variable/MSVC80.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC90.rst b/share/cmake-3.17/Help/variable/MSVC90.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC90.rst
rename to share/cmake-3.17/Help/variable/MSVC90.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC_IDE.rst b/share/cmake-3.17/Help/variable/MSVC_IDE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC_IDE.rst
rename to share/cmake-3.17/Help/variable/MSVC_IDE.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC_TOOLSET_VERSION.rst b/share/cmake-3.17/Help/variable/MSVC_TOOLSET_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC_TOOLSET_VERSION.rst
rename to share/cmake-3.17/Help/variable/MSVC_TOOLSET_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/MSVC_VERSION.rst b/share/cmake-3.17/Help/variable/MSVC_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSVC_VERSION.rst
rename to share/cmake-3.17/Help/variable/MSVC_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/MSYS.rst b/share/cmake-3.17/Help/variable/MSYS.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/MSYS.rst
rename to share/cmake-3.17/Help/variable/MSYS.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_BINARY_DIR.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_BINARY_DIR.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_BINARY_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_DESCRIPTION.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_DESCRIPTION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_DESCRIPTION.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_DESCRIPTION.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_HOMEPAGE_URL.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_HOMEPAGE_URL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_HOMEPAGE_URL.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_HOMEPAGE_URL.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_SOURCE_DIR.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_MINOR.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_PATCH.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst b/share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
rename to share/cmake-3.17/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_BINARY_DIR.rst b/share/cmake-3.17/Help/variable/PROJECT_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_BINARY_DIR.rst
rename to share/cmake-3.17/Help/variable/PROJECT_BINARY_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_DESCRIPTION.rst b/share/cmake-3.17/Help/variable/PROJECT_DESCRIPTION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_DESCRIPTION.rst
rename to share/cmake-3.17/Help/variable/PROJECT_DESCRIPTION.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_HOMEPAGE_URL.rst b/share/cmake-3.17/Help/variable/PROJECT_HOMEPAGE_URL.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_HOMEPAGE_URL.rst
rename to share/cmake-3.17/Help/variable/PROJECT_HOMEPAGE_URL.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_NAME.rst b/share/cmake-3.17/Help/variable/PROJECT_NAME.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_NAME.rst
rename to share/cmake-3.17/Help/variable/PROJECT_NAME.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_SOURCE_DIR.rst b/share/cmake-3.17/Help/variable/PROJECT_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_SOURCE_DIR.rst
rename to share/cmake-3.17/Help/variable/PROJECT_SOURCE_DIR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_VERSION.rst b/share/cmake-3.17/Help/variable/PROJECT_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_VERSION.rst
rename to share/cmake-3.17/Help/variable/PROJECT_VERSION.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_VERSION_MAJOR.rst b/share/cmake-3.17/Help/variable/PROJECT_VERSION_MAJOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_VERSION_MAJOR.rst
rename to share/cmake-3.17/Help/variable/PROJECT_VERSION_MAJOR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_VERSION_MINOR.rst b/share/cmake-3.17/Help/variable/PROJECT_VERSION_MINOR.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_VERSION_MINOR.rst
rename to share/cmake-3.17/Help/variable/PROJECT_VERSION_MINOR.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_VERSION_PATCH.rst b/share/cmake-3.17/Help/variable/PROJECT_VERSION_PATCH.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_VERSION_PATCH.rst
rename to share/cmake-3.17/Help/variable/PROJECT_VERSION_PATCH.rst
diff --git a/share/cmake-3.16/Help/variable/PROJECT_VERSION_TWEAK.rst b/share/cmake-3.17/Help/variable/PROJECT_VERSION_TWEAK.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PROJECT_VERSION_TWEAK.rst
rename to share/cmake-3.17/Help/variable/PROJECT_VERSION_TWEAK.rst
diff --git a/share/cmake-3.16/Help/variable/PackageName_ROOT.rst b/share/cmake-3.17/Help/variable/PackageName_ROOT.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/PackageName_ROOT.rst
rename to share/cmake-3.17/Help/variable/PackageName_ROOT.rst
diff --git a/share/cmake-3.16/Help/variable/UNIX.rst b/share/cmake-3.17/Help/variable/UNIX.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/UNIX.rst
rename to share/cmake-3.17/Help/variable/UNIX.rst
diff --git a/share/cmake-3.16/Help/variable/WIN32.rst b/share/cmake-3.17/Help/variable/WIN32.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/WIN32.rst
rename to share/cmake-3.17/Help/variable/WIN32.rst
diff --git a/share/cmake-3.16/Help/variable/WINCE.rst b/share/cmake-3.17/Help/variable/WINCE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/WINCE.rst
rename to share/cmake-3.17/Help/variable/WINCE.rst
diff --git a/share/cmake-3.16/Help/variable/WINDOWS_PHONE.rst b/share/cmake-3.17/Help/variable/WINDOWS_PHONE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/WINDOWS_PHONE.rst
rename to share/cmake-3.17/Help/variable/WINDOWS_PHONE.rst
diff --git a/share/cmake-3.16/Help/variable/WINDOWS_STORE.rst b/share/cmake-3.17/Help/variable/WINDOWS_STORE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/WINDOWS_STORE.rst
rename to share/cmake-3.17/Help/variable/WINDOWS_STORE.rst
diff --git a/share/cmake-3.16/Help/variable/XCODE.rst b/share/cmake-3.17/Help/variable/XCODE.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/XCODE.rst
rename to share/cmake-3.17/Help/variable/XCODE.rst
diff --git a/share/cmake-3.16/Help/variable/XCODE_VERSION.rst b/share/cmake-3.17/Help/variable/XCODE_VERSION.rst
similarity index 100%
rename from share/cmake-3.16/Help/variable/XCODE_VERSION.rst
rename to share/cmake-3.17/Help/variable/XCODE_VERSION.rst
diff --git a/share/cmake-3.16/Modules/AddFileDependencies.cmake b/share/cmake-3.17/Modules/AddFileDependencies.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/AddFileDependencies.cmake
rename to share/cmake-3.17/Modules/AddFileDependencies.cmake
diff --git a/share/cmake-3.16/Modules/AndroidTestUtilities.cmake b/share/cmake-3.17/Modules/AndroidTestUtilities.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/AndroidTestUtilities.cmake
rename to share/cmake-3.17/Modules/AndroidTestUtilities.cmake
index e333cdb..95e2ef7 100644
--- a/share/cmake-3.16/Modules/AndroidTestUtilities.cmake
+++ b/share/cmake-3.17/Modules/AndroidTestUtilities.cmake
@@ -76,8 +76,6 @@
 
 include(${CMAKE_CURRENT_LIST_DIR}/ExternalData.cmake)
 
-set(_AndroidTestUtilities_SELF_DIR "${CMAKE_CURRENT_LIST_DIR}")
-
 # The parameters to this function should be set to the list of directories,
 # files, and libraries that need to be installed prior to testing.
 function(android_add_test_data test_name)
@@ -159,6 +157,6 @@
       "-Darg_files=${processed_FILES}"
       "-Darg_libs=${AST_LIBS}"
       "-Darg_src_dir=${CMAKE_CURRENT_SOURCE_DIR}"
-      -P ${_AndroidTestUtilities_SELF_DIR}/AndroidTestUtilities/PushToAndroidDevice.cmake)
+      -P ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/AndroidTestUtilities/PushToAndroidDevice.cmake)
   endif()
 endfunction()
diff --git a/share/cmake-3.16/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake b/share/cmake-3.17/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake
rename to share/cmake-3.17/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake
diff --git a/share/cmake-3.16/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in b/share/cmake-3.17/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
rename to share/cmake-3.17/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
diff --git a/share/cmake-3.16/Modules/BasicConfigVersion-ExactVersion.cmake.in b/share/cmake-3.17/Modules/BasicConfigVersion-ExactVersion.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/BasicConfigVersion-ExactVersion.cmake.in
rename to share/cmake-3.17/Modules/BasicConfigVersion-ExactVersion.cmake.in
diff --git a/share/cmake-3.16/Modules/BasicConfigVersion-SameMajorVersion.cmake.in b/share/cmake-3.17/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
rename to share/cmake-3.17/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
diff --git a/share/cmake-3.16/Modules/BasicConfigVersion-SameMinorVersion.cmake.in b/share/cmake-3.17/Modules/BasicConfigVersion-SameMinorVersion.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/BasicConfigVersion-SameMinorVersion.cmake.in
rename to share/cmake-3.17/Modules/BasicConfigVersion-SameMinorVersion.cmake.in
diff --git a/share/cmake-3.16/Modules/BundleUtilities.cmake b/share/cmake-3.17/Modules/BundleUtilities.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/BundleUtilities.cmake
rename to share/cmake-3.17/Modules/BundleUtilities.cmake
diff --git a/share/cmake-3.16/Modules/CMake.cmake b/share/cmake-3.17/Modules/CMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMake.cmake
rename to share/cmake-3.17/Modules/CMake.cmake
diff --git a/share/cmake-3.16/Modules/CMakeASM-ATTInformation.cmake b/share/cmake-3.17/Modules/CMakeASM-ATTInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeASM-ATTInformation.cmake
rename to share/cmake-3.17/Modules/CMakeASM-ATTInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeASMCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeASMCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeASMCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeASMCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeASMInformation.cmake b/share/cmake-3.17/Modules/CMakeASMInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeASMInformation.cmake
rename to share/cmake-3.17/Modules/CMakeASMInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeASM_MASMInformation.cmake b/share/cmake-3.17/Modules/CMakeASM_MASMInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeASM_MASMInformation.cmake
rename to share/cmake-3.17/Modules/CMakeASM_MASMInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeASM_NASMInformation.cmake b/share/cmake-3.17/Modules/CMakeASM_NASMInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeASM_NASMInformation.cmake
rename to share/cmake-3.17/Modules/CMakeASM_NASMInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeAddFortranSubdirectory.cmake b/share/cmake-3.17/Modules/CMakeAddFortranSubdirectory.cmake
similarity index 92%
rename from share/cmake-3.16/Modules/CMakeAddFortranSubdirectory.cmake
rename to share/cmake-3.17/Modules/CMakeAddFortranSubdirectory.cmake
index 2613569..69a8417 100644
--- a/share/cmake-3.16/Modules/CMakeAddFortranSubdirectory.cmake
+++ b/share/cmake-3.17/Modules/CMakeAddFortranSubdirectory.cmake
@@ -43,7 +43,6 @@
 binaries during ``make install``.
 #]=======================================================================]
 
-set(_MS_MINGW_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
 include(CheckLanguage)
 include(ExternalProject)
 
@@ -87,11 +86,11 @@
   file(TO_NATIVE_PATH "${MINGW_PATH}" MINGW_PATH)
   string(REPLACE "\\" "\\\\" MINGW_PATH "${MINGW_PATH}")
   configure_file(
-    ${_MS_MINGW_SOURCE_DIR}/CMakeAddFortranSubdirectory/config_mingw.cmake.in
+    ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/CMakeAddFortranSubdirectory/config_mingw.cmake.in
     ${build_dir}/config_mingw.cmake
     @ONLY)
   configure_file(
-    ${_MS_MINGW_SOURCE_DIR}/CMakeAddFortranSubdirectory/build_mingw.cmake.in
+    ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/CMakeAddFortranSubdirectory/build_mingw.cmake.in
     ${build_dir}/build_mingw.cmake
     @ONLY)
 endfunction()
@@ -150,17 +149,9 @@
     -P ${build_dir}/config_mingw.cmake
     BUILD_COMMAND ${CMAKE_COMMAND}
     -P ${build_dir}/build_mingw.cmake
+    BUILD_ALWAYS 1
     INSTALL_COMMAND ""
     )
-  # make the external project always run make with each build
-  externalproject_add_step(${project_name}_build forcebuild
-    COMMAND ${CMAKE_COMMAND}
-    -E remove
-    ${CMAKE_CURRENT_BUILD_DIR}/${project_name}-prefix/src/${project_name}-stamp/${project_name}-build
-    DEPENDEES configure
-    DEPENDERS build
-    ALWAYS 1
-    )
   # create imported targets for all libraries
   foreach(lib ${libraries})
     add_library(${lib} SHARED IMPORTED GLOBAL)
diff --git a/share/cmake-3.16/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in b/share/cmake-3.17/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
rename to share/cmake-3.17/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in b/share/cmake-3.17/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
rename to share/cmake-3.17/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeAddNewLanguage.txt b/share/cmake-3.17/Modules/CMakeAddNewLanguage.txt
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeAddNewLanguage.txt
rename to share/cmake-3.17/Modules/CMakeAddNewLanguage.txt
diff --git a/share/cmake-3.16/Modules/CMakeBackwardCompatibilityC.cmake b/share/cmake-3.17/Modules/CMakeBackwardCompatibilityC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeBackwardCompatibilityC.cmake
rename to share/cmake-3.17/Modules/CMakeBackwardCompatibilityC.cmake
diff --git a/share/cmake-3.16/Modules/CMakeBackwardCompatibilityCXX.cmake b/share/cmake-3.17/Modules/CMakeBackwardCompatibilityCXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeBackwardCompatibilityCXX.cmake
rename to share/cmake-3.17/Modules/CMakeBackwardCompatibilityCXX.cmake
diff --git a/share/cmake-3.16/Modules/CMakeBorlandFindMake.cmake b/share/cmake-3.17/Modules/CMakeBorlandFindMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeBorlandFindMake.cmake
rename to share/cmake-3.17/Modules/CMakeBorlandFindMake.cmake
diff --git a/share/cmake-3.16/Modules/CMakeBuildSettings.cmake.in b/share/cmake-3.17/Modules/CMakeBuildSettings.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeBuildSettings.cmake.in
rename to share/cmake-3.17/Modules/CMakeBuildSettings.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeCCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeCCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeCCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeCCompilerABI.c b/share/cmake-3.17/Modules/CMakeCCompilerABI.c
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCCompilerABI.c
rename to share/cmake-3.17/Modules/CMakeCCompilerABI.c
diff --git a/share/cmake-3.16/Modules/CMakeCCompilerId.c.in b/share/cmake-3.17/Modules/CMakeCCompilerId.c.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCCompilerId.c.in
rename to share/cmake-3.17/Modules/CMakeCCompilerId.c.in
diff --git a/share/cmake-3.16/Modules/CMakeCInformation.cmake b/share/cmake-3.17/Modules/CMakeCInformation.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeCInformation.cmake
rename to share/cmake-3.17/Modules/CMakeCInformation.cmake
index df43559..1e08bb7 100644
--- a/share/cmake-3.16/Modules/CMakeCInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeCInformation.cmake
@@ -110,6 +110,11 @@
   mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
 endif()
 
+if(NOT CMAKE_C_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_C_COMPILER_LAUNCHER})
+  set(CMAKE_C_COMPILER_LAUNCHER "$ENV{CMAKE_C_COMPILER_LAUNCHER}"
+    CACHE STRING "Compiler launcher for C.")
+endif()
+
 include(CMakeCommonLanguageInclude)
 
 # now define the following rule variables
diff --git a/share/cmake-3.16/Modules/CMakeCSharpCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeCSharpCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCSharpCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeCSharpCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeCSharpCompilerId.cs.in b/share/cmake-3.17/Modules/CMakeCSharpCompilerId.cs.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCSharpCompilerId.cs.in
rename to share/cmake-3.17/Modules/CMakeCSharpCompilerId.cs.in
diff --git a/share/cmake-3.16/Modules/CMakeCSharpInformation.cmake b/share/cmake-3.17/Modules/CMakeCSharpInformation.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CMakeCSharpInformation.cmake
rename to share/cmake-3.17/Modules/CMakeCSharpInformation.cmake
index 48e1a1e..41cd449 100644
--- a/share/cmake-3.16/Modules/CMakeCSharpInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeCSharpInformation.cmake
@@ -10,7 +10,7 @@
 
 set(CMAKE_BUILD_TYPE_INIT Debug)
 
-set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE /langversion:3")
+set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE")
 set(CMAKE_CSharp_FLAGS_DEBUG_INIT "/debug:full /optimize- /warn:3 /errorreport:prompt /define:DEBUG")
 set(CMAKE_CSharp_FLAGS_RELEASE_INIT "/debug:none /optimize  /warn:1  /errorreport:queue")
 set(CMAKE_CSharp_FLAGS_RELWITHDEBINFO_INIT "/debug:full /optimize-")
diff --git a/share/cmake-3.16/Modules/CMakeCUDACompiler.cmake.in b/share/cmake-3.17/Modules/CMakeCUDACompiler.cmake.in
similarity index 60%
rename from share/cmake-3.16/Modules/CMakeCUDACompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeCUDACompiler.cmake.in
index 711129a..4a615a3 100644
--- a/share/cmake-3.16/Modules/CMakeCUDACompiler.cmake.in
+++ b/share/cmake-3.17/Modules/CMakeCUDACompiler.cmake.in
@@ -4,7 +4,16 @@
 set(CMAKE_CUDA_COMPILER_ID "@CMAKE_CUDA_COMPILER_ID@")
 set(CMAKE_CUDA_COMPILER_VERSION "@CMAKE_CUDA_COMPILER_VERSION@")
 set(CMAKE_CUDA_STANDARD_COMPUTED_DEFAULT "@CMAKE_CUDA_STANDARD_COMPUTED_DEFAULT@")
+set(CMAKE_CUDA_COMPILE_FEATURES "@CMAKE_CUDA_COMPILE_FEATURES@")
+set(CMAKE_CUDA03_COMPILE_FEATURES "@CMAKE_CUDA03_COMPILE_FEATURES@")
+set(CMAKE_CUDA11_COMPILE_FEATURES "@CMAKE_CUDA11_COMPILE_FEATURES@")
+set(CMAKE_CUDA14_COMPILE_FEATURES "@CMAKE_CUDA14_COMPILE_FEATURES@")
+set(CMAKE_CUDA17_COMPILE_FEATURES "@CMAKE_CUDA17_COMPILE_FEATURES@")
+set(CMAKE_CUDA20_COMPILE_FEATURES "@CMAKE_CUDA20_COMPILE_FEATURES@")
+
+set(CMAKE_CUDA_PLATFORM_ID "@CMAKE_CUDA_PLATFORM_ID@")
 set(CMAKE_CUDA_SIMULATE_ID "@CMAKE_CUDA_SIMULATE_ID@")
+set(CMAKE_CUDA_COMPILER_FRONTEND_VARIANT "@CMAKE_CUDA_COMPILER_FRONTEND_VARIANT@")
 set(CMAKE_CUDA_SIMULATE_VERSION "@CMAKE_CUDA_SIMULATE_VERSION@")
 @SET_MSVC_CUDA_ARCHITECTURE_ID@
 
@@ -17,6 +26,22 @@
 set(CMAKE_CUDA_LINKER_PREFERENCE 15)
 set(CMAKE_CUDA_LINKER_PREFERENCE_PROPAGATES 1)
 
+set(CMAKE_CUDA_SIZEOF_DATA_PTR "@CMAKE_CUDA_SIZEOF_DATA_PTR@")
+set(CMAKE_CUDA_COMPILER_ABI "@CMAKE_CUDA_COMPILER_ABI@")
+set(CMAKE_CUDA_LIBRARY_ARCHITECTURE "@CMAKE_CUDA_LIBRARY_ARCHITECTURE@")
+
+if(CMAKE_CUDA_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CUDA_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CUDA_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CUDA_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CUDA_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_CUDA_LIBRARY_ARCHITECTURE@")
+endif()
+
 set(CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES "@CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES@")
 
 set(CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES "@CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES@")
diff --git a/share/cmake-3.16/Modules/CMakeCUDACompilerABI.cu b/share/cmake-3.17/Modules/CMakeCUDACompilerABI.cu
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCUDACompilerABI.cu
rename to share/cmake-3.17/Modules/CMakeCUDACompilerABI.cu
diff --git a/share/cmake-3.16/Modules/CMakeCUDACompilerId.cu.in b/share/cmake-3.17/Modules/CMakeCUDACompilerId.cu.in
similarity index 99%
rename from share/cmake-3.16/Modules/CMakeCUDACompilerId.cu.in
rename to share/cmake-3.17/Modules/CMakeCUDACompilerId.cu.in
index 6eda924..2055de2 100644
--- a/share/cmake-3.16/Modules/CMakeCUDACompilerId.cu.in
+++ b/share/cmake-3.17/Modules/CMakeCUDACompilerId.cu.in
@@ -26,7 +26,7 @@
 #elif __cplusplus >= 201103L
   "11"
 #else
-  "98"
+  "03"
 #endif
 "]";
 
diff --git a/share/cmake-3.16/Modules/CMakeCUDAInformation.cmake b/share/cmake-3.17/Modules/CMakeCUDAInformation.cmake
similarity index 83%
rename from share/cmake-3.16/Modules/CMakeCUDAInformation.cmake
rename to share/cmake-3.17/Modules/CMakeCUDAInformation.cmake
index b0d80d1..974f5fa 100644
--- a/share/cmake-3.16/Modules/CMakeCUDAInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeCUDAInformation.cmake
@@ -82,6 +82,11 @@
   mark_as_advanced(CMAKE_CUDA_STANDARD_LIBRARIES)
 endif()
 
+if(NOT CMAKE_CUDA_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_CUDA_COMPILER_LAUNCHER})
+  set(CMAKE_CUDA_COMPILER_LAUNCHER "$ENV{CMAKE_CUDA_COMPILER_LAUNCHER}"
+    CACHE STRING "Compiler launcher for CUDA.")
+endif()
+
 include(CMakeCommonLanguageInclude)
 
 # now define the following rules:
@@ -93,9 +98,7 @@
 # CMAKE_CUDA_LINK_EXECUTABLE
 
 if(CMAKE_CUDA_HOST_COMPILER)
-  set(CMAKE_CUDA_HOST_FLAGS "-ccbin=<CMAKE_CUDA_HOST_COMPILER>")
-else()
-  set(CMAKE_CUDA_HOST_FLAGS "")
+  string(APPEND _CMAKE_CUDA_EXTRA_FLAGS " -ccbin=<CMAKE_CUDA_HOST_COMPILER>")
 endif()
 
 set(__IMPLICT_LINKS )
@@ -135,26 +138,26 @@
 #Specify how to compile when ptx has been requested
 if(NOT CMAKE_CUDA_COMPILE_PTX_COMPILATION)
   set(CMAKE_CUDA_COMPILE_PTX_COMPILATION
-    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -ptx <SOURCE> -o <OBJECT>")
+    "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -ptx <SOURCE> -o <OBJECT>")
 endif()
 
 #Specify how to compile when separable compilation has been requested
 if(NOT CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION)
   set(CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION
-    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -dc <SOURCE> -o <OBJECT>")
+    "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -dc <SOURCE> -o <OBJECT>")
 endif()
 
 #Specify how to compile when whole compilation has been requested
 if(NOT CMAKE_CUDA_COMPILE_WHOLE_COMPILATION)
   set(CMAKE_CUDA_COMPILE_WHOLE_COMPILATION
-    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -c <SOURCE> -o <OBJECT>")
+    "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -c <SOURCE> -o <OBJECT>")
 endif()
 
-if(CMAKE_GENERATOR STREQUAL "Ninja")
+if(CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_DEPFILE_FLAGS_CUDA )
   set(CMAKE_CUDA_COMPILE_DEPENDENCY_DETECTION
-    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -M <SOURCE> -MT <OBJECT> -o $DEP_FILE")
+    "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -M <SOURCE> -MT <OBJECT> -o $DEP_FILE")
   #The Ninja generator uses the make file dependency files to determine what
-  #files need to be recompiled. Unfortunately, nvcc doesn't support building
+  #files need to be recompiled. Unfortunately, nvcc < 10.2 doesn't support building
   #a source file and generating the dependencies of said file in a single
   #invocation. Instead we have to state that you need to chain two commands.
   #
@@ -171,13 +174,6 @@
     "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
 endif()
 
-if( CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" AND
-    CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
-  set(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS "-Wno-deprecated-gpu-targets")
-else()
-  set(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS "")
-endif()
-
 # Add implicit host link directories that contain device libraries
 # to the device link line.
 set(__IMPLICT_DLINK_DIRS ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
@@ -192,14 +188,15 @@
 endforeach()
 unset(__IMPLICT_DLINK_DIRS)
 
+
 #These are used when linking relocatable (dc) cuda code
 if(NOT CMAKE_CUDA_DEVICE_LINK_LIBRARY)
   set(CMAKE_CUDA_DEVICE_LINK_LIBRARY
-    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <LANGUAGE_COMPILE_FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_DLINK_FLAGS}")
+    "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <LANGUAGE_COMPILE_FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_DLINK_FLAGS}")
 endif()
 if(NOT CMAKE_CUDA_DEVICE_LINK_EXECUTABLE)
   set(CMAKE_CUDA_DEVICE_LINK_EXECUTABLE
-    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_DLINK_FLAGS}")
+    "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_DLINK_FLAGS}")
 endif()
 
 unset(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS)
diff --git a/share/cmake-3.16/Modules/CMakeCXXCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCXXCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp b/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
rename to share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp
diff --git a/share/cmake-3.16/Modules/CMakeCXXCompilerId.cpp.in b/share/cmake-3.17/Modules/CMakeCXXCompilerId.cpp.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCXXCompilerId.cpp.in
rename to share/cmake-3.17/Modules/CMakeCXXCompilerId.cpp.in
diff --git a/share/cmake-3.16/Modules/CMakeCXXInformation.cmake b/share/cmake-3.17/Modules/CMakeCXXInformation.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CMakeCXXInformation.cmake
rename to share/cmake-3.17/Modules/CMakeCXXInformation.cmake
index a896b99..da7440a 100644
--- a/share/cmake-3.16/Modules/CMakeCXXInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeCXXInformation.cmake
@@ -207,6 +207,11 @@
   mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
 endif()
 
+if(NOT CMAKE_CXX_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_CXX_COMPILER_LAUNCHER})
+  set(CMAKE_CXX_COMPILER_LAUNCHER "$ENV{CMAKE_CXX_COMPILER_LAUNCHER}"
+    CACHE STRING "Compiler launcher for CXX.")
+endif()
+
 include(CMakeCommonLanguageInclude)
 
 # now define the following rules:
diff --git a/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake b/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
rename to share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
index e1ce617..2dc75d6 100644
--- a/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
+++ b/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
@@ -9,6 +9,7 @@
 macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
   set(${_VAR}
     FAIL_REGEX "[Uu]nrecogni[sz]ed .*option"               # GNU, NAG
+    FAIL_REGEX "switch .* is no longer supported"          # GNU
     FAIL_REGEX "unknown .*option"                          # Clang
     FAIL_REGEX "optimization flag .* not supported"        # Clang
     FAIL_REGEX "unknown argument ignored"                  # Clang (cl)
diff --git a/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake b/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake
rename to share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake
diff --git a/share/cmake-3.16/Modules/CMakeCompilerABI.h b/share/cmake-3.17/Modules/CMakeCompilerABI.h
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCompilerABI.h
rename to share/cmake-3.17/Modules/CMakeCompilerABI.h
diff --git a/share/cmake-3.16/Modules/CMakeCompilerIdDetection.cmake b/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeCompilerIdDetection.cmake
rename to share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake
diff --git a/share/cmake-3.16/Modules/CMakeConfigurableFile.in b/share/cmake-3.17/Modules/CMakeConfigurableFile.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeConfigurableFile.in
rename to share/cmake-3.17/Modules/CMakeConfigurableFile.in
diff --git a/share/cmake-3.16/Modules/CMakeDependentOption.cmake b/share/cmake-3.17/Modules/CMakeDependentOption.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDependentOption.cmake
rename to share/cmake-3.17/Modules/CMakeDependentOption.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineASM-ATTCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineASM-ATTCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineASM-ATTCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineASM-ATTCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineASMCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineASMCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineASMCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineASMCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineASM_MASMCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineASM_MASMCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineASM_MASMCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineASM_MASMCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineASM_NASMCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineASM_NASMCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineASM_NASMCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineASM_NASMCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCSharpCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineCSharpCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineCSharpCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCSharpCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCUDACompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineCUDACompiler.cmake
similarity index 87%
rename from share/cmake-3.16/Modules/CMakeDetermineCUDACompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCUDACompiler.cmake
index 490d659..7d7fb9a 100644
--- a/share/cmake-3.16/Modules/CMakeDetermineCUDACompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeDetermineCUDACompiler.cmake
@@ -186,33 +186,32 @@
       "Failed to parsed CUDA nvcc implicit link information:\n${_nvcc_log}\n\n")
     message(FATAL_ERROR "Failed to extract nvcc implicit link line.")
   endif()
+endif()
 
-  set(CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES )
-  if(_nvcc_output_orig MATCHES "#\\\$ +INCLUDES= *([^\n]*)\n")
-    set(_nvcc_includes "${CMAKE_MATCH_1}")
-    string(APPEND _nvcc_log "  found 'INCLUDES=' string: [${_nvcc_includes}]\n")
-  else()
-    set(_nvcc_includes "")
-    string(REPLACE "\n" "\n    " _nvcc_output_log "\n${_nvcc_output_orig}")
-    string(APPEND _nvcc_log "  no 'INCLUDES=' string found in nvcc output:${_nvcc_output_log}\n")
-  endif()
-  if(_nvcc_includes)
-    # across all operating system each include directory is prefixed with -I
-    separate_arguments(_nvcc_output UNIX_COMMAND "${_nvcc_includes}")
-    foreach(line IN LISTS _nvcc_output)
-      string(REGEX REPLACE "^-I" "" line "${line}")
-      get_filename_component(line "${line}" ABSOLUTE)
-      list(APPEND CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES "${line}")
-    endforeach()
+set(CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES )
+string(REPLACE "\r" "" _nvcc_output_orig "${CMAKE_CUDA_COMPILER_PRODUCED_OUTPUT}")
+if(_nvcc_output_orig MATCHES "#\\\$ +INCLUDES= *([^\n]*)\n")
+  set(_nvcc_includes "${CMAKE_MATCH_1}")
+  string(APPEND _nvcc_log "  found 'INCLUDES=' string: [${_nvcc_includes}]\n")
+else()
+  set(_nvcc_includes "")
+  string(REPLACE "\n" "\n    " _nvcc_output_log "\n${_nvcc_output_orig}")
+  string(APPEND _nvcc_log "  no 'INCLUDES=' string found in nvcc output:${_nvcc_output_log}\n")
+endif()
+if(_nvcc_includes)
+  # across all operating system each include directory is prefixed with -I
+  separate_arguments(_nvcc_output NATIVE_COMMAND "${_nvcc_includes}")
+  foreach(line IN LISTS _nvcc_output)
+    string(REGEX REPLACE "^-I" "" line "${line}")
+    get_filename_component(line "${line}" ABSOLUTE)
+    list(APPEND CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES "${line}")
+  endforeach()
 
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-      "Parsed CUDA nvcc include information from above output:\n${_nvcc_log}\n${log}\n\n")
-  else()
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-      "Failed to detect CUDA nvcc include information:\n${_nvcc_log}\n\n")
-  endif()
-
-
+  file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+    "Parsed CUDA nvcc include information from above output:\n${_nvcc_log}\n${log}\n\n")
+else()
+  file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+    "Failed to detect CUDA nvcc include information:\n${_nvcc_log}\n\n")
 endif()
 
 # configure all variables set in this file
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCXXCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineCXXCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake
diff --git a/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake b/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake
new file mode 100644
index 0000000..b50e5f1
--- /dev/null
+++ b/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake
@@ -0,0 +1,147 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+function(cmake_determine_compile_features lang)
+
+  if(lang STREQUAL C AND COMMAND cmake_record_c_compile_features)
+    message(CHECK_START "Detecting ${lang} compile features")
+
+    set(CMAKE_C90_COMPILE_FEATURES)
+    set(CMAKE_C99_COMPILE_FEATURES)
+    set(CMAKE_C11_COMPILE_FEATURES)
+
+    include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake")
+
+    cmake_record_c_compile_features()
+
+    if(NOT _result EQUAL 0)
+      message(CHECK_FAIL "failed")
+      return()
+    endif()
+
+    if (CMAKE_C99_COMPILE_FEATURES AND CMAKE_C11_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_C11_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_C90_COMPILE_FEATURES AND CMAKE_C99_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_C99_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES})
+    endif()
+
+    if(NOT CMAKE_C_COMPILE_FEATURES)
+      set(CMAKE_C_COMPILE_FEATURES
+        ${CMAKE_C90_COMPILE_FEATURES}
+        ${CMAKE_C99_COMPILE_FEATURES}
+        ${CMAKE_C11_COMPILE_FEATURES}
+      )
+    endif()
+
+    set(CMAKE_C_COMPILE_FEATURES ${CMAKE_C_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_C90_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_C99_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_C11_COMPILE_FEATURES ${CMAKE_C11_COMPILE_FEATURES} PARENT_SCOPE)
+
+    message(CHECK_PASS "done")
+
+  elseif(lang STREQUAL CXX AND COMMAND cmake_record_cxx_compile_features)
+    message(CHECK_START "Detecting ${lang} compile features")
+
+    set(CMAKE_CXX98_COMPILE_FEATURES)
+    set(CMAKE_CXX11_COMPILE_FEATURES)
+    set(CMAKE_CXX14_COMPILE_FEATURES)
+    set(CMAKE_CXX17_COMPILE_FEATURES)
+    set(CMAKE_CXX20_COMPILE_FEATURES)
+
+    include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake")
+
+    cmake_record_cxx_compile_features()
+
+    if(NOT _result EQUAL 0)
+      message(CHECK_FAIL "failed")
+      return()
+    endif()
+
+    if (CMAKE_CXX17_COMPILE_FEATURES AND CMAKE_CXX20_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_CXX14_COMPILE_FEATURES AND CMAKE_CXX17_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_CXX11_COMPILE_FEATURES AND CMAKE_CXX14_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_CXX98_COMPILE_FEATURES AND CMAKE_CXX11_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES})
+    endif()
+
+    if(NOT CMAKE_CXX_COMPILE_FEATURES)
+      set(CMAKE_CXX_COMPILE_FEATURES
+        ${CMAKE_CXX98_COMPILE_FEATURES}
+        ${CMAKE_CXX11_COMPILE_FEATURES}
+        ${CMAKE_CXX14_COMPILE_FEATURES}
+        ${CMAKE_CXX17_COMPILE_FEATURES}
+        ${CMAKE_CXX20_COMPILE_FEATURES}
+      )
+    endif()
+
+    set(CMAKE_CXX_COMPILE_FEATURES ${CMAKE_CXX_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CXX98_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX20_COMPILE_FEATURES} PARENT_SCOPE)
+
+    message(CHECK_PASS "done")
+
+  elseif(lang STREQUAL CUDA AND COMMAND cmake_record_cuda_compile_features)
+    message(CHECK_START "Detecting ${lang} compile features")
+
+    set(CMAKE_CUDA03_COMPILE_FEATURES)
+    set(CMAKE_CUDA11_COMPILE_FEATURES)
+    set(CMAKE_CUDA14_COMPILE_FEATURES)
+    set(CMAKE_CUDA17_COMPILE_FEATURES)
+    set(CMAKE_CUDA20_COMPILE_FEATURES)
+
+    include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake")
+
+    cmake_record_cuda_compile_features()
+
+    if(NOT _result EQUAL 0)
+      message(CHECK_FAIL "failed")
+      return()
+    endif()
+
+  if (CMAKE_CUDA17_COMPILE_FEATURES AND CMAKE_CUDA20_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CUDA20_COMPILE_FEATURES ${CMAKE_CUDA17_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_CUDA14_COMPILE_FEATURES AND CMAKE_CUDA17_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CUDA17_COMPILE_FEATURES ${CMAKE_CUDA14_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_CUDA11_COMPILE_FEATURES AND CMAKE_CUDA14_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CUDA14_COMPILE_FEATURES ${CMAKE_CUDA11_COMPILE_FEATURES})
+    endif()
+    if (CMAKE_CUDA03_COMPILE_FEATURES AND CMAKE_CUDA11_COMPILE_FEATURES)
+      list(REMOVE_ITEM CMAKE_CUDA11_COMPILE_FEATURES ${CMAKE_CUDA03_COMPILE_FEATURES})
+    endif()
+
+    if(NOT CMAKE_CUDA_COMPILE_FEATURES)
+      set(CMAKE_CUDA_COMPILE_FEATURES
+        ${CMAKE_CUDA03_COMPILE_FEATURES}
+        ${CMAKE_CUDA11_COMPILE_FEATURES}
+        ${CMAKE_CUDA14_COMPILE_FEATURES}
+        ${CMAKE_CUDA17_COMPILE_FEATURES}
+        ${CMAKE_CUDA20_COMPILE_FEATURES}
+      )
+    endif()
+
+    set(CMAKE_CUDA_COMPILE_FEATURES ${CMAKE_CUDA_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CUDA03_COMPILE_FEATURES ${CMAKE_CUDA03_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CUDA11_COMPILE_FEATURES ${CMAKE_CUDA11_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CUDA14_COMPILE_FEATURES ${CMAKE_CUDA14_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CUDA17_COMPILE_FEATURES ${CMAKE_CUDA17_COMPILE_FEATURES} PARENT_SCOPE)
+    set(CMAKE_CUDA20_COMPILE_FEATURES ${CMAKE_CUDA20_COMPILE_FEATURES} PARENT_SCOPE)
+
+    message(CHECK_PASS "done")
+
+  endif()
+
+endfunction()
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCompilerABI.cmake b/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake
similarity index 88%
rename from share/cmake-3.16/Modules/CMakeDetermineCompilerABI.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake
index 06f3ba2..e1b3c52 100644
--- a/share/cmake-3.16/Modules/CMakeDetermineCompilerABI.cmake
+++ b/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake
@@ -12,7 +12,7 @@
 
 function(CMAKE_DETERMINE_COMPILER_ABI lang src)
   if(NOT DEFINED CMAKE_${lang}_ABI_COMPILED)
-    message(STATUS "Detecting ${lang} compiler ABI info")
+    message(CHECK_START "Detecting ${lang} compiler ABI info")
 
     # Compile the ABI identification source.
     set(BIN "${CMAKE_PLATFORM_INFO_DIR}/CMakeDetermineCompilerABI_${lang}.bin")
@@ -32,6 +32,9 @@
     endif()
     __TestCompiler_setTryCompileTargetType()
 
+    # Avoid failing ABI detection on warnings.
+    string(REGEX REPLACE "(^| )-Werror(=[^ ]*)?( |$)" " " CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS}")
+
     # Save the current LC_ALL, LC_MESSAGES, and LANG environment variables
     # and set them to "C" that way GCC's "search starts here" text is in
     # English and we can grok it.
@@ -66,7 +69,7 @@
 
     # Load the resulting information strings.
     if(CMAKE_${lang}_ABI_COMPILED AND NOT _copy_error)
-      message(STATUS "Detecting ${lang} compiler ABI info - done")
+      message(CHECK_PASS "done")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Detecting ${lang} compiler ABI info compiled with the following output:\n${OUTPUT}\n\n")
       file(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 2 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
@@ -124,8 +127,7 @@
       # a try-compile
       if("${lang}" MATCHES "Fortran"
           AND "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
-        set(_desc "Determine Intel Fortran Compiler Implicit Link Path")
-        message(STATUS "${_desc}")
+        message(CHECK_START "Determine Intel Fortran Compiler Implicit Link Path")
         # Build a sample project which reports symbols.
         try_compile(IFORT_LIB_PATH_COMPILED
           ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath
@@ -138,8 +140,7 @@
           "${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.txt"
           "${_output}")
         include(${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.cmake OPTIONAL)
-        set(_desc "Determine Intel Fortran Compiler Implicit Link Path -- done")
-        message(STATUS "${_desc}")
+        message(CHECK_PASS "done")
       endif()
 
       # Implicit link libraries cannot be used explicitly for multiple
@@ -163,10 +164,22 @@
             break()
           endif()
         endforeach()
+      elseif(CMAKE_CXX_COMPILER_ID STREQUAL QCC)
+        foreach(dir ${implicit_dirs})
+          if (dir MATCHES "/lib$")
+            get_filename_component(assumedArchDir "${dir}" DIRECTORY)
+            get_filename_component(archParentDir "${assumedArchDir}" DIRECTORY)
+            if (archParentDir STREQUAL CMAKE_SYSROOT)
+              get_filename_component(archDirName "${assumedArchDir}" NAME)
+              set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${archDirName}" PARENT_SCOPE)
+              break()
+            endif()
+          endif()
+        endforeach()
       endif()
 
     else()
-      message(STATUS "Detecting ${lang} compiler ABI info - failed")
+      message(CHECK_FAIL "failed")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Detecting ${lang} compiler ABI info failed to compile with the following output:\n${OUTPUT}\n${_copy_error}\n\n")
     endif()
diff --git a/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake b/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake
index 7b571c3..d125791 100644
--- a/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake
+++ b/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake
@@ -182,6 +182,10 @@
     message(STATUS "The ${lang} compiler identification is unknown")
   endif()
 
+  if(lang STREQUAL "Fortran" AND CMAKE_${lang}_COMPILER_ID STREQUAL "XL")
+    set(CMAKE_${lang}_XL_CPP "${CMAKE_${lang}_COMPILER_ID_CPP}" PARENT_SCOPE)
+  endif()
+
   set(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
   set(CMAKE_${lang}_PLATFORM_ID "${CMAKE_${lang}_PLATFORM_ID}" PARENT_SCOPE)
   set(CMAKE_${lang}_COMPILER_ARCHITECTURE_ID "${CMAKE_${lang}_COMPILER_ARCHITECTURE_ID}" PARENT_SCOPE)
@@ -242,7 +246,7 @@
     set(id_platform ${CMAKE_VS_PLATFORM_NAME})
     set(id_lang "${lang}")
     set(id_PostBuildEvent_Command "")
-    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "^[Ll][Ll][Vv][Mm](_v[0-9]+(_xp)?)?$")
+    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "^([Ll][Ll][Vv][Mm](_v[0-9]+(_xp)?)?|[Cc][Ll][Aa][Nn][Gg][Cc][Ll])$")
       set(id_cl_var "ClangClExecutable")
     elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
       set(id_cl clang.exe)
@@ -318,6 +322,15 @@
     if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION)
       set(id_WindowsTargetPlatformVersion "<WindowsTargetPlatformVersion>${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}</WindowsTargetPlatformVersion>")
     endif()
+    if(CMAKE_VS_PLATFORM_TOOLSET_VCTARGETS_CUSTOM_DIR)
+      set(id_ToolsetVCTargetsDir "<VCTargetsPath>${CMAKE_VS_PLATFORM_TOOLSET_VCTARGETS_CUSTOM_DIR}</VCTargetsPath>")
+    endif()
+    set(id_CustomGlobals "")
+    foreach(pair IN LISTS CMAKE_VS_GLOBALS)
+      if("${pair}" MATCHES "([^=]+)=(.*)$")
+        string(APPEND id_CustomGlobals "<${CMAKE_MATCH_1}>${CMAKE_MATCH_2}</${CMAKE_MATCH_1}>\n    ")
+      endif()
+    endforeach()
     if(id_platform STREQUAL ARM64)
       set(id_WindowsSDKDesktopARMSupport "<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>")
     elseif(id_platform STREQUAL ARM)
@@ -353,6 +366,7 @@
       endif()
       set(cuda_tools "CUDA ${CMAKE_VS_PLATFORM_TOOLSET_CUDA}")
       set(id_compile "CudaCompile")
+      set(id_ItemDefinitionGroup_entry "<CudaCompile><AdditionalOptions>%(AdditionalOptions)-v</AdditionalOptions></CudaCompile>")
       set(id_PostBuildEvent_Command [[echo CMAKE_CUDA_COMPILER=$(CudaToolkitBinDir)\nvcc.exe]])
       if(CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR)
         set(id_CudaToolkitCustomDir "<CudaToolkitCustomDir>${CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR}nvcc</CudaToolkitCustomDir>")
@@ -363,7 +377,7 @@
         string(CONCAT id_Import_targets [[<Import Project="$(VCTargetsPath)\BuildCustomizations\]] "${cuda_tools}" [[.targets" />]])
       endif()
       if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
-        set(id_ItemDefinitionGroup_entry "<CudaCompile><TargetMachinePlatform>64</TargetMachinePlatform></CudaCompile>")
+        set(id_ItemDefinitionGroup_entry "<CudaCompile><TargetMachinePlatform>64</TargetMachinePlatform><AdditionalOptions>%(AdditionalOptions)-v</AdditionalOptions></CudaCompile>")
       endif()
       set(id_Link_AdditionalDependencies "<AdditionalDependencies>cudart.lib</AdditionalDependencies>")
     endif()
@@ -534,6 +548,12 @@
       ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
       )
+    if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "exec: [^\n]*\\((/[^,\n]*/cpp),CMakeFortranCompilerId.F")
+      set(_cpp "${CMAKE_MATCH_1}")
+      if(EXISTS "${_cpp}")
+        set(CMAKE_${lang}_COMPILER_ID_CPP "${_cpp}" PARENT_SCOPE)
+      endif()
+    endif()
   endif()
 
   # Check the result of compilation.
diff --git a/share/cmake-3.16/Modules/CMakeDetermineFortranCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineFortranCompiler.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/CMakeDetermineFortranCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineFortranCompiler.cmake
index 5ddd64f..e850541 100644
--- a/share/cmake-3.16/Modules/CMakeDetermineFortranCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeDetermineFortranCompiler.cmake
@@ -271,6 +271,11 @@
 include(Compiler/${CMAKE_Fortran_COMPILER_ID}-FindBinUtils OPTIONAL)
 unset(_CMAKE_PROCESSING_LANGUAGE)
 
+if(CMAKE_Fortran_XL_CPP)
+  set(_SET_CMAKE_Fortran_XL_CPP
+    "set(CMAKE_Fortran_XL_CPP \"${CMAKE_Fortran_XL_CPP}\")")
+endif()
+
 if(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID)
   set(_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID
     "set(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID ${CMAKE_Fortran_COMPILER_ARCHITECTURE_ID})")
diff --git a/share/cmake-3.16/Modules/CMakeDetermineJavaCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineJavaCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineJavaCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineJavaCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineOBJCCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineOBJCCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineOBJCCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineOBJCCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineOBJCXXCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineOBJCXXCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineOBJCXXCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineOBJCXXCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineRCCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineRCCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineRCCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineRCCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeDetermineSwiftCompiler.cmake b/share/cmake-3.17/Modules/CMakeDetermineSwiftCompiler.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/CMakeDetermineSwiftCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineSwiftCompiler.cmake
index 9aafe48..688133f 100644
--- a/share/cmake-3.16/Modules/CMakeDetermineSwiftCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeDetermineSwiftCompiler.cmake
@@ -16,7 +16,7 @@
   endif()
   set(CMAKE_Swift_COMPILER_XCODE_TYPE sourcecode.swift)
   _cmake_find_compiler_path(Swift)
-elseif("${CMAKE_GENERATOR}" STREQUAL "Ninja")
+elseif("${CMAKE_GENERATOR}" MATCHES "^Ninja")
   if(CMAKE_Swift_COMPILER)
     _cmake_find_compiler_path(Swift)
   else()
diff --git a/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake b/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/CMakeDetermineSystem.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineSystem.cmake
index dc208c6..f3ec4da 100644
--- a/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake
+++ b/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake
@@ -43,7 +43,7 @@
     else()
       exec_program(${CMAKE_UNAME} ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
     endif()
-    if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|Darwin|^GNU$")
+    if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|Darwin|^GNU$|Android")
       exec_program(${CMAKE_UNAME} ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
         RETURN_VALUE val)
       if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND
diff --git a/share/cmake-3.16/Modules/CMakeDetermineVSServicePack.cmake b/share/cmake-3.17/Modules/CMakeDetermineVSServicePack.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeDetermineVSServicePack.cmake
rename to share/cmake-3.17/Modules/CMakeDetermineVSServicePack.cmake
diff --git a/share/cmake-3.16/Modules/CMakeExpandImportedTargets.cmake b/share/cmake-3.17/Modules/CMakeExpandImportedTargets.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeExpandImportedTargets.cmake
rename to share/cmake-3.17/Modules/CMakeExpandImportedTargets.cmake
diff --git a/share/cmake-3.16/Modules/CMakeExportBuildSettings.cmake b/share/cmake-3.17/Modules/CMakeExportBuildSettings.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeExportBuildSettings.cmake
rename to share/cmake-3.17/Modules/CMakeExportBuildSettings.cmake
diff --git a/share/cmake-3.16/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake b/share/cmake-3.17/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
rename to share/cmake-3.17/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindBinUtils.cmake b/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindBinUtils.cmake
rename to share/cmake-3.17/Modules/CMakeFindBinUtils.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindCodeBlocks.cmake b/share/cmake-3.17/Modules/CMakeFindCodeBlocks.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindCodeBlocks.cmake
rename to share/cmake-3.17/Modules/CMakeFindCodeBlocks.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake b/share/cmake-3.17/Modules/CMakeFindDependencyMacro.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake
rename to share/cmake-3.17/Modules/CMakeFindDependencyMacro.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindEclipseCDT4.cmake b/share/cmake-3.17/Modules/CMakeFindEclipseCDT4.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindEclipseCDT4.cmake
rename to share/cmake-3.17/Modules/CMakeFindEclipseCDT4.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindFrameworks.cmake b/share/cmake-3.17/Modules/CMakeFindFrameworks.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindFrameworks.cmake
rename to share/cmake-3.17/Modules/CMakeFindFrameworks.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindJavaCommon.cmake b/share/cmake-3.17/Modules/CMakeFindJavaCommon.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindJavaCommon.cmake
rename to share/cmake-3.17/Modules/CMakeFindJavaCommon.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindKate.cmake b/share/cmake-3.17/Modules/CMakeFindKate.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindKate.cmake
rename to share/cmake-3.17/Modules/CMakeFindKate.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindPackageMode.cmake b/share/cmake-3.17/Modules/CMakeFindPackageMode.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindPackageMode.cmake
rename to share/cmake-3.17/Modules/CMakeFindPackageMode.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindSublimeText2.cmake b/share/cmake-3.17/Modules/CMakeFindSublimeText2.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindSublimeText2.cmake
rename to share/cmake-3.17/Modules/CMakeFindSublimeText2.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindWMake.cmake b/share/cmake-3.17/Modules/CMakeFindWMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindWMake.cmake
rename to share/cmake-3.17/Modules/CMakeFindWMake.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFindXCode.cmake b/share/cmake-3.17/Modules/CMakeFindXCode.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFindXCode.cmake
rename to share/cmake-3.17/Modules/CMakeFindXCode.cmake
diff --git a/share/cmake-3.16/Modules/CMakeForceCompiler.cmake b/share/cmake-3.17/Modules/CMakeForceCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeForceCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeForceCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeFortranCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeFortranCompiler.cmake.in
similarity index 98%
rename from share/cmake-3.16/Modules/CMakeFortranCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeFortranCompiler.cmake.in
index ae7b73a..34f44aa 100644
--- a/share/cmake-3.16/Modules/CMakeFortranCompiler.cmake.in
+++ b/share/cmake-3.17/Modules/CMakeFortranCompiler.cmake.in
@@ -6,6 +6,7 @@
 set(CMAKE_Fortran_PLATFORM_ID "@CMAKE_Fortran_PLATFORM_ID@")
 set(CMAKE_Fortran_SIMULATE_ID "@CMAKE_Fortran_SIMULATE_ID@")
 set(CMAKE_Fortran_SIMULATE_VERSION "@CMAKE_Fortran_SIMULATE_VERSION@")
+@_SET_CMAKE_Fortran_XL_CPP@
 @_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID@
 @SET_MSVC_Fortran_ARCHITECTURE_ID@
 set(CMAKE_AR "@CMAKE_AR@")
diff --git a/share/cmake-3.16/Modules/CMakeFortranCompilerABI.F b/share/cmake-3.17/Modules/CMakeFortranCompilerABI.F
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFortranCompilerABI.F
rename to share/cmake-3.17/Modules/CMakeFortranCompilerABI.F
diff --git a/share/cmake-3.16/Modules/CMakeFortranCompilerId.F.in b/share/cmake-3.17/Modules/CMakeFortranCompilerId.F.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeFortranCompilerId.F.in
rename to share/cmake-3.17/Modules/CMakeFortranCompilerId.F.in
diff --git a/share/cmake-3.16/Modules/CMakeFortranInformation.cmake b/share/cmake-3.17/Modules/CMakeFortranInformation.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CMakeFortranInformation.cmake
rename to share/cmake-3.17/Modules/CMakeFortranInformation.cmake
index ffa6a24..e80716b 100644
--- a/share/cmake-3.16/Modules/CMakeFortranInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeFortranInformation.cmake
@@ -163,6 +163,11 @@
 
 cmake_initialize_per_config_variable(CMAKE_Fortran_FLAGS "Flags used by the Fortran compiler")
 
+if(NOT CMAKE_Fortran_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_Fortran_COMPILER_LAUNCHER})
+  set(CMAKE_Fortran_COMPILER_LAUNCHER "$ENV{CMAKE_Fortran_COMPILER_LAUNCHER}"
+    CACHE STRING "Compiler launcher for Fortran.")
+endif()
+
 include(CMakeCommonLanguageInclude)
 
 # now define the following rule variables
diff --git a/share/cmake-3.16/Modules/CMakeGenericSystem.cmake b/share/cmake-3.17/Modules/CMakeGenericSystem.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/CMakeGenericSystem.cmake
rename to share/cmake-3.17/Modules/CMakeGenericSystem.cmake
index 77d8cfd..f539b46 100644
--- a/share/cmake-3.16/Modules/CMakeGenericSystem.cmake
+++ b/share/cmake-3.17/Modules/CMakeGenericSystem.cmake
@@ -27,7 +27,7 @@
 set(CMAKE_AUTOGEN_ORIGIN_DEPENDS ON)
 set(CMAKE_AUTOMOC_COMPILER_PREDEFINES ON)
 set(CMAKE_AUTOMOC_PATH_PREFIX ON)
-set(CMAKE_AUTOMOC_MACRO_NAMES "Q_OBJECT" "Q_GADGET" "Q_NAMESPACE")
+set(CMAKE_AUTOMOC_MACRO_NAMES "Q_OBJECT" "Q_GADGET" "Q_NAMESPACE" "Q_NAMESPACE_EXPORT")
 
 # basically all general purpose OSs support shared libs
 set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
@@ -51,16 +51,16 @@
     set_property(GLOBAL PROPERTY TARGET_MESSAGES ${CMAKE_TARGET_MESSAGES})
   endif()
   if(CMAKE_GENERATOR MATCHES "Unix Makefiles")
-    set(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
-      "Enable/Disable output of compile commands during generation."
+    set(CMAKE_EXPORT_COMPILE_COMMANDS "$ENV{CMAKE_EXPORT_COMPILE_COMMANDS}"
+      CACHE BOOL "Enable/Disable output of compile commands during generation."
       )
     mark_as_advanced(CMAKE_EXPORT_COMPILE_COMMANDS)
   endif()
 endif()
 
 if(CMAKE_GENERATOR MATCHES "Ninja")
-  set(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
-    "Enable/Disable output of compile commands during generation."
+  set(CMAKE_EXPORT_COMPILE_COMMANDS "$ENV{CMAKE_EXPORT_COMPILE_COMMANDS}"
+    CACHE BOOL "Enable/Disable output of compile commands during generation."
     )
   mark_as_advanced(CMAKE_EXPORT_COMPILE_COMMANDS)
 endif()
diff --git a/share/cmake-3.17/Modules/CMakeGraphVizOptions.cmake b/share/cmake-3.17/Modules/CMakeGraphVizOptions.cmake
new file mode 100644
index 0000000..be4a3be
--- /dev/null
+++ b/share/cmake-3.17/Modules/CMakeGraphVizOptions.cmake
@@ -0,0 +1,149 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CMakeGraphVizOptions
+--------------------
+
+The builtin Graphviz support of CMake.
+
+Generating Graphviz files
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+CMake can generate `Graphviz <https://www.graphviz.org/>`_ files showing the
+dependencies between the targets in a project, as well as external libraries
+which are linked against.
+
+When running CMake with the ``--graphviz=foo.dot`` option, it produces:
+
+* a ``foo.dot`` file, showing all dependencies in the project
+* a ``foo.dot.<target>`` file for each target, showing on which other targets
+  it depends
+* a ``foo.dot.<target>.dependers`` file for each target, showing which other
+  targets depend on it
+
+Those .dot files can be converted to images using the *dot* command from the
+Graphviz package:
+
+.. code-block:: shell
+
+  dot -Tpng -o foo.png foo.dot
+
+The different dependency types ``PUBLIC``, ``INTERFACE`` and ``PRIVATE``
+are represented as solid, dashed and dotted edges.
+
+Variables specific to the Graphviz support
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The resulting graphs can be huge.  The look and content of the generated graphs
+can be controlled using the file ``CMakeGraphVizOptions.cmake``.  This file is
+first searched in :variable:`CMAKE_BINARY_DIR`, and then in
+:variable:`CMAKE_SOURCE_DIR`.  If found, the variables set in it are used to
+adjust options for the generated Graphviz files.
+
+.. variable:: GRAPHVIZ_GRAPH_NAME
+
+ The graph name.
+
+ * Mandatory: NO
+ * Default: value of :variable:`CMAKE_PROJECT_NAME`
+
+.. variable:: GRAPHVIZ_GRAPH_HEADER
+
+ The header written at the top of the Graphviz files.
+
+ * Mandatory: NO
+ * Default: "node [ fontsize = "12" ];"
+
+.. variable:: GRAPHVIZ_NODE_PREFIX
+
+ The prefix for each node in the Graphviz files.
+
+ * Mandatory: NO
+ * Default: "node"
+
+.. variable:: GRAPHVIZ_EXECUTABLES
+
+ Set to FALSE to exclude executables from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_STATIC_LIBS
+
+ Set to FALSE to exclude static libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_SHARED_LIBS
+
+ Set to FALSE to exclude shared libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_MODULE_LIBS
+
+ Set to FALSE to exclude module libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_INTERFACE_LIBS
+
+ Set to FALSE to exclude interface libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_OBJECT_LIBS
+
+ Set to FALSE to exclude object libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_UNKNOWN_LIBS
+
+ Set to FALSE to exclude unknown libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_EXTERNAL_LIBS
+
+ Set to FALSE to exclude external libraries from the generated graphs.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_CUSTOM_TARGETS
+
+ Set to TRUE to include custom targets in the generated graphs.
+
+ * Mandatory: NO
+ * Default: FALSE
+
+.. variable:: GRAPHVIZ_IGNORE_TARGETS
+
+ A list of regular expressions for names of targets to exclude from the
+ generated graphs.
+
+ * Mandatory: NO
+ * Default: empty
+
+.. variable:: GRAPHVIZ_GENERATE_PER_TARGET
+
+ Set to FALSE to not generate per-target graphs ``foo.dot.<target>``.
+
+ * Mandatory: NO
+ * Default: TRUE
+
+.. variable:: GRAPHVIZ_GENERATE_DEPENDERS
+
+ Set to FALSE to not generate depender graphs ``foo.dot.<target>.dependers``.
+
+ * Mandatory: NO
+ * Default: TRUE
+#]=======================================================================]
diff --git a/share/cmake-3.16/Modules/CMakeIOSInstallCombined.cmake b/share/cmake-3.17/Modules/CMakeIOSInstallCombined.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeIOSInstallCombined.cmake
rename to share/cmake-3.17/Modules/CMakeIOSInstallCombined.cmake
diff --git a/share/cmake-3.16/Modules/CMakeImportBuildSettings.cmake b/share/cmake-3.17/Modules/CMakeImportBuildSettings.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeImportBuildSettings.cmake
rename to share/cmake-3.17/Modules/CMakeImportBuildSettings.cmake
diff --git a/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake b/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake
rename to share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake
diff --git a/share/cmake-3.16/Modules/CMakeJOMFindMake.cmake b/share/cmake-3.17/Modules/CMakeJOMFindMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeJOMFindMake.cmake
rename to share/cmake-3.17/Modules/CMakeJOMFindMake.cmake
diff --git a/share/cmake-3.16/Modules/CMakeJavaCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeJavaCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeJavaCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeJavaCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeJavaInformation.cmake b/share/cmake-3.17/Modules/CMakeJavaInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeJavaInformation.cmake
rename to share/cmake-3.17/Modules/CMakeJavaInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake b/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeLanguageInformation.cmake
rename to share/cmake-3.17/Modules/CMakeLanguageInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeMSYSFindMake.cmake b/share/cmake-3.17/Modules/CMakeMSYSFindMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeMSYSFindMake.cmake
rename to share/cmake-3.17/Modules/CMakeMSYSFindMake.cmake
diff --git a/share/cmake-3.17/Modules/CMakeMinGWFindMake.cmake b/share/cmake-3.17/Modules/CMakeMinGWFindMake.cmake
new file mode 100644
index 0000000..f026e9a
--- /dev/null
+++ b/share/cmake-3.17/Modules/CMakeMinGWFindMake.cmake
@@ -0,0 +1,11 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+find_program(CMAKE_MAKE_PROGRAM mingw32-make.exe PATHS
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
+  c:/MinGW/bin /MinGW/bin
+  "[HKEY_CURRENT_USER\\Software\\CodeBlocks;Path]/MinGW/bin"
+  )
+
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.16/Modules/CMakeNMakeFindMake.cmake b/share/cmake-3.17/Modules/CMakeNMakeFindMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeNMakeFindMake.cmake
rename to share/cmake-3.17/Modules/CMakeNMakeFindMake.cmake
diff --git a/share/cmake-3.16/Modules/CMakeNinjaFindMake.cmake b/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/CMakeNinjaFindMake.cmake
rename to share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake
index 702af13..32f78da 100644
--- a/share/cmake-3.16/Modules/CMakeNinjaFindMake.cmake
+++ b/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake
@@ -4,5 +4,6 @@
 
 find_program(CMAKE_MAKE_PROGRAM
   NAMES ninja-build ninja samu
+  NAMES_PER_DIR
   DOC "Program used to build from build.ninja files.")
 mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.16/Modules/CMakeOBJCCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeOBJCCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeOBJCCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeOBJCCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeOBJCCompilerABI.m b/share/cmake-3.17/Modules/CMakeOBJCCompilerABI.m
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeOBJCCompilerABI.m
rename to share/cmake-3.17/Modules/CMakeOBJCCompilerABI.m
diff --git a/share/cmake-3.16/Modules/CMakeOBJCCompilerId.m.in b/share/cmake-3.17/Modules/CMakeOBJCCompilerId.m.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeOBJCCompilerId.m.in
rename to share/cmake-3.17/Modules/CMakeOBJCCompilerId.m.in
diff --git a/share/cmake-3.16/Modules/CMakeOBJCInformation.cmake b/share/cmake-3.17/Modules/CMakeOBJCInformation.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeOBJCInformation.cmake
rename to share/cmake-3.17/Modules/CMakeOBJCInformation.cmake
index cb61cb8..15a3311 100644
--- a/share/cmake-3.16/Modules/CMakeOBJCInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeOBJCInformation.cmake
@@ -110,6 +110,11 @@
   mark_as_advanced(CMAKE_OBJC_STANDARD_LIBRARIES)
 endif()
 
+if(NOT CMAKE_OBJC_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_OBJC_COMPILER_LAUNCHER})
+  set(CMAKE_OBJC_COMPILER_LAUNCHER "$ENV{CMAKE_OBJC_COMPILER_LAUNCHER}"
+    CACHE STRING "Compiler launcher for OBJC.")
+endif()
+
 include(CMakeCommonLanguageInclude)
 
 # now define the following rule variables
diff --git a/share/cmake-3.16/Modules/CMakeOBJCXXCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeOBJCXXCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeOBJCXXCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeOBJCXXCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeOBJCXXCompilerABI.mm b/share/cmake-3.17/Modules/CMakeOBJCXXCompilerABI.mm
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeOBJCXXCompilerABI.mm
rename to share/cmake-3.17/Modules/CMakeOBJCXXCompilerABI.mm
diff --git a/share/cmake-3.16/Modules/CMakeOBJCXXCompilerId.mm.in b/share/cmake-3.17/Modules/CMakeOBJCXXCompilerId.mm.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeOBJCXXCompilerId.mm.in
rename to share/cmake-3.17/Modules/CMakeOBJCXXCompilerId.mm.in
diff --git a/share/cmake-3.16/Modules/CMakeOBJCXXInformation.cmake b/share/cmake-3.17/Modules/CMakeOBJCXXInformation.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CMakeOBJCXXInformation.cmake
rename to share/cmake-3.17/Modules/CMakeOBJCXXInformation.cmake
index 71ac26a..cb349d7 100644
--- a/share/cmake-3.16/Modules/CMakeOBJCXXInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeOBJCXXInformation.cmake
@@ -203,6 +203,11 @@
   mark_as_advanced(CMAKE_OBJCXX_STANDARD_LIBRARIES)
 endif()
 
+if(NOT CMAKE_OBJCXX_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_OBJCXX_COMPILER_LAUNCHER})
+  set(CMAKE_OBJCXX_COMPILER_LAUNCHER "$ENV{CMAKE_OBJCXX_COMPILER_LAUNCHER}"
+    CACHE STRING "Compiler launcher for OBJCXX.")
+endif()
+
 include(CMakeCommonLanguageInclude)
 
 # now define the following rules:
diff --git a/share/cmake-3.16/Modules/CMakePackageConfigHelpers.cmake b/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakePackageConfigHelpers.cmake
rename to share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake
diff --git a/share/cmake-3.16/Modules/CMakeParseArguments.cmake b/share/cmake-3.17/Modules/CMakeParseArguments.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeParseArguments.cmake
rename to share/cmake-3.17/Modules/CMakeParseArguments.cmake
diff --git a/share/cmake-3.16/Modules/CMakeParseImplicitIncludeInfo.cmake b/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeParseImplicitIncludeInfo.cmake
rename to share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake
diff --git a/share/cmake-3.16/Modules/CMakeParseImplicitLinkInfo.cmake b/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeParseImplicitLinkInfo.cmake
rename to share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake
diff --git a/share/cmake-3.16/Modules/CMakePlatformId.h.in b/share/cmake-3.17/Modules/CMakePlatformId.h.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakePlatformId.h.in
rename to share/cmake-3.17/Modules/CMakePlatformId.h.in
diff --git a/share/cmake-3.16/Modules/CMakePrintHelpers.cmake b/share/cmake-3.17/Modules/CMakePrintHelpers.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakePrintHelpers.cmake
rename to share/cmake-3.17/Modules/CMakePrintHelpers.cmake
diff --git a/share/cmake-3.16/Modules/CMakePrintSystemInformation.cmake b/share/cmake-3.17/Modules/CMakePrintSystemInformation.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/CMakePrintSystemInformation.cmake
rename to share/cmake-3.17/Modules/CMakePrintSystemInformation.cmake
index f873a4d..8d5cf5c 100644
--- a/share/cmake-3.16/Modules/CMakePrintSystemInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakePrintSystemInformation.cmake
@@ -5,9 +5,9 @@
 CMakePrintSystemInformation
 ---------------------------
 
-print system information
+Print system information.
 
-This file can be used for diagnostic purposes just include it in a
+This module serves diagnostic purposes. Just include it in a
 project to see various internal CMake variables.
 #]=======================================================================]
 
diff --git a/share/cmake-3.16/Modules/CMakePushCheckState.cmake b/share/cmake-3.17/Modules/CMakePushCheckState.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakePushCheckState.cmake
rename to share/cmake-3.17/Modules/CMakePushCheckState.cmake
diff --git a/share/cmake-3.16/Modules/CMakeRCCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeRCCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeRCCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeRCCompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeRCInformation.cmake b/share/cmake-3.17/Modules/CMakeRCInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeRCInformation.cmake
rename to share/cmake-3.17/Modules/CMakeRCInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeSwiftCompiler.cmake.in b/share/cmake-3.17/Modules/CMakeSwiftCompiler.cmake.in
similarity index 85%
rename from share/cmake-3.16/Modules/CMakeSwiftCompiler.cmake.in
rename to share/cmake-3.17/Modules/CMakeSwiftCompiler.cmake.in
index 7c8d1c1..47ada38 100644
--- a/share/cmake-3.16/Modules/CMakeSwiftCompiler.cmake.in
+++ b/share/cmake-3.17/Modules/CMakeSwiftCompiler.cmake.in
@@ -12,3 +12,5 @@
 
 set(CMAKE_Swift_COMPILER_ID_RUN 1)
 set(CMAKE_Swift_SOURCE_FILE_EXTENSIONS swift)
+
+set(CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES "@CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES@")
diff --git a/share/cmake-3.16/Modules/CMakeSwiftInformation.cmake b/share/cmake-3.17/Modules/CMakeSwiftInformation.cmake
similarity index 87%
rename from share/cmake-3.16/Modules/CMakeSwiftInformation.cmake
rename to share/cmake-3.17/Modules/CMakeSwiftInformation.cmake
index 2c54da0..8f0909c 100644
--- a/share/cmake-3.16/Modules/CMakeSwiftInformation.cmake
+++ b/share/cmake-3.17/Modules/CMakeSwiftInformation.cmake
@@ -17,6 +17,8 @@
   include(Platform/${CMAKE_EFFECTIVE_SYSTEM_NAME}-${CMAKE_Swift_COMPILER_ID}-Swift OPTIONAL)
 endif()
 
+set(CMAKE_EXE_EXPORTS_Swift_FLAG "-emit-module -emit-module-path <SWIFT_MODULE> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS}")
+
 set(CMAKE_INCLUDE_FLAG_Swift "-I ")
 if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
   set(CMAKE_SHARED_LIBRARY_SONAME_Swift_FLAG "-Xlinker -install_name -Xlinker ")
@@ -25,8 +27,15 @@
 endif()
 
 if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
+  set(CMAKE_EXECUTABLE_RUNTIME_Swift_FLAG "-Xlinker -rpath -Xlinker ")
   set(CMAKE_SHARED_LIBRARY_RUNTIME_Swift_FLAG "-Xlinker -rpath -Xlinker ")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_Swift_FLAG_SEP ":")
+  if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+    set(CMAKE_EXECUTABLE_RUNTIME_Swift_FLAG_SEP "")
+    set(CMAKE_SHARED_LIBRARY_RUNTIME_Swift_FLAG_SEP "")
+  else()
+    set(CMAKE_EXECUTABLE_RUNTIME_Swift_FLAG_SEP ":")
+    set(CMAKE_SHARED_LIBRARY_RUNTIME_Swift_FLAG_SEP ":")
+  endif()
 endif()
 
 set(CMAKE_Swift_COMPILE_OPTIONS_TARGET "-target ")
@@ -72,10 +81,6 @@
   cmake_host_system_information(RESULT CMAKE_Swift_NUM_THREADS QUERY NUMBER_OF_LOGICAL_CORES)
 endif()
 
-if(CMAKE_SYSTEM_NAME STREQUAL Windows)
-  set(CMAKE_Swift_IMPLIB_LINKER_FLAGS "-Xlinker -implib:<TARGET_IMPLIB>")
-endif()
-
 if(NOT CMAKE_Swift_CREATE_SHARED_LIBRARY)
   set(CMAKE_Swift_CREATE_SHARED_LIBRARY "<CMAKE_Swift_COMPILER> -output-file-map <SWIFT_OUTPUT_FILE_MAP> -incremental -j ${CMAKE_Swift_NUM_THREADS} -emit-library -o <TARGET> -module-name <SWIFT_MODULE_NAME> -module-link-name <SWIFT_LIBRARY_NAME> -emit-module -emit-module-path <SWIFT_MODULE> -emit-dependencies <DEFINES> <FLAGS> <INCLUDES> <SWIFT_SOURCES> <LINK_FLAGS> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} <LINK_LIBRARIES>")
 endif()
@@ -85,7 +90,7 @@
 endif()
 
 if(NOT CMAKE_Swift_LINK_EXECUTABLE)
-  set(CMAKE_Swift_LINK_EXECUTABLE "<CMAKE_Swift_COMPILER> -output-file-map <SWIFT_OUTPUT_FILE_MAP> -incremental -j ${CMAKE_Swift_NUM_THREADS} -emit-executable -o <TARGET> -emit-module -emit-module-path <SWIFT_MODULE> -emit-dependencies <DEFINES> <FLAGS> <INCLUDES> <SWIFT_SOURCES> <LINK_FLAGS> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} <LINK_LIBRARIES>")
+  set(CMAKE_Swift_LINK_EXECUTABLE "<CMAKE_Swift_COMPILER> -output-file-map <SWIFT_OUTPUT_FILE_MAP> -incremental -j ${CMAKE_Swift_NUM_THREADS} -emit-executable -o <TARGET> -emit-dependencies <DEFINES> <FLAGS> <INCLUDES> <SWIFT_SOURCES> <LINK_FLAGS> <LINK_LIBRARIES>")
 endif()
 
 if(NOT CMAKE_Swift_CREATE_STATIC_LIBRARY)
diff --git a/share/cmake-3.16/Modules/CMakeSystem.cmake.in b/share/cmake-3.17/Modules/CMakeSystem.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeSystem.cmake.in
rename to share/cmake-3.17/Modules/CMakeSystem.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake b/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake
rename to share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake
diff --git a/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake b/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake
rename to share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestASM-ATTCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestASM-ATTCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestASM-ATTCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestASM-ATTCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestASMCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestASMCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestASMCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestASMCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestASM_MASMCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestASM_MASMCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestASM_MASMCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestASM_MASMCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestASM_NASMCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestASM_NASMCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestASM_NASMCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestASM_NASMCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestCCompiler.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeTestCCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestCCompiler.cmake
index 7bf6fde..eadea89 100644
--- a/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestCCompiler.cmake
@@ -27,7 +27,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_C_COMPILER_WORKS)
-  PrintTestCompilerStatus("C" "")
+  PrintTestCompilerStatus("C")
   __TestCompiler_setTryCompileTargetType()
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
     "#ifdef __cplusplus\n"
@@ -52,7 +52,7 @@
 endif()
 
 if(NOT CMAKE_C_COMPILER_WORKS)
-  PrintTestCompilerStatus("C" " -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the C compiler works failed with "
     "the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
@@ -63,7 +63,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(C_TEST_WAS_RUN)
-    PrintTestCompilerStatus("C" " -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the C compiler works passed with "
       "the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/CMakeTestCSharpCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestCSharpCompiler.cmake
similarity index 87%
rename from share/cmake-3.16/Modules/CMakeTestCSharpCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestCSharpCompiler.cmake
index 6715c30..1119a45 100644
--- a/share/cmake-3.16/Modules/CMakeTestCSharpCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestCSharpCompiler.cmake
@@ -20,7 +20,9 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_CSharp_COMPILER_WORKS)
-  PrintTestCompilerStatus("C#" "${CMAKE_CSharp_COMPILER}")
+  # Don't call PrintTestCompilerStatus() because the "C#" we want to pass
+  # as the LANG doesn't match with the variable name "CMAKE_CSharp_COMPILER"
+  message(CHECK_START "Check for working C# compiler: ${CMAKE_CSharp_COMPILER}")
   file(WRITE "${test_compile_file}"
     "namespace Test {"
     "   public class CSharp {"
@@ -38,7 +40,7 @@
 endif()
 
 if(NOT CMAKE_CSharp_COMPILER_WORKS)
-  PrintTestCompilerStatus("C#" "${CMAKE_CSharp_COMPILER} -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the C# compiler works failed with "
     "the following output:\n${__CMAKE_CSharp_COMPILER_OUTPUT}\n\n")
@@ -49,7 +51,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(CSharp_TEST_WAS_RUN)
-    PrintTestCompilerStatus("C#" "${CMAKE_CSharp_COMPILER} -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the C# compiler works passed with "
       "the following output:\n${__CMAKE_CSharp_COMPILER_OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/CMakeTestCUDACompiler.cmake b/share/cmake-3.17/Modules/CMakeTestCUDACompiler.cmake
similarity index 71%
rename from share/cmake-3.16/Modules/CMakeTestCUDACompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestCUDACompiler.cmake
index f0454da..05811a8 100644
--- a/share/cmake-3.16/Modules/CMakeTestCUDACompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestCUDACompiler.cmake
@@ -20,7 +20,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_CUDA_COMPILER_WORKS)
-  PrintTestCompilerStatus("CUDA" "")
+  PrintTestCompilerStatus("CUDA")
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.cu
     "#ifndef __CUDACC__\n"
     "# error \"The CMAKE_CUDA_COMPILER is set to an invalid CUDA compiler\"\n"
@@ -38,7 +38,7 @@
 endif()
 
 if(NOT CMAKE_CUDA_COMPILER_WORKS)
-  PrintTestCompilerStatus("CUDA" " -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the CUDA compiler works failed with "
     "the following output:\n${__CMAKE_CUDA_COMPILER_OUTPUT}\n\n")
@@ -49,7 +49,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(CUDA_TEST_WAS_RUN)
-    PrintTestCompilerStatus("CUDA" " -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the CUDA compiler works passed with "
       "the following output:\n${__CMAKE_CUDA_COMPILER_OUTPUT}\n\n")
@@ -58,12 +58,38 @@
   # Try to identify the ABI and configure it into CMakeCUDACompiler.cmake
   include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
   CMAKE_DETERMINE_COMPILER_ABI(CUDA ${CMAKE_ROOT}/Modules/CMakeCUDACompilerABI.cu)
+  # Try to identify the compiler features
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake)
+  CMAKE_DETERMINE_COMPILE_FEATURES(CUDA)
 
   if("x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
     set(CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES "${CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES}")
     set(CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES "${CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES}")
   endif()
 
+  # Remove the following libraries from CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES and
+  # CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES
+  #
+  # - cudart
+  # - cudart_static
+  # - cudadevrt
+  #
+  # These are controlled by CMAKE_CUDA_RUNTIME_LIBRARY
+  list(REMOVE_ITEM CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES cudart cudart_static cudadevrt)
+  list(REMOVE_ITEM CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES cudart cudart_static cudadevrt)
+
+  # Remove the CUDA Toolkit include directories from the set of
+  # implicit system include directories.
+  # This resolves the issue that NVCC doesn't specify these
+  # includes as SYSTEM includes when compiling device code, and sometimes
+  # they contain headers that generate warnings, so let users mark them
+  # as SYSTEM explicitly
+  if(CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES)
+    list(REMOVE_ITEM CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES
+      ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
+      )
+  endif()
+
   # Re-configure to save learned information.
   configure_file(
     ${CMAKE_ROOT}/Modules/CMakeCUDACompiler.cmake.in
diff --git a/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake
index 7e595b7..bd42153 100644
--- a/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake
@@ -27,7 +27,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_CXX_COMPILER_WORKS)
-  PrintTestCompilerStatus("CXX" "")
+  PrintTestCompilerStatus("CXX")
   __TestCompiler_setTryCompileTargetType()
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
     "#ifndef __cplusplus\n"
@@ -45,7 +45,7 @@
 endif()
 
 if(NOT CMAKE_CXX_COMPILER_WORKS)
-  PrintTestCompilerStatus("CXX" " -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the CXX compiler works failed with "
     "the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
@@ -56,7 +56,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(CXX_TEST_WAS_RUN)
-    PrintTestCompilerStatus("CXX" " -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the CXX compiler works passed with "
       "the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/CMakeTestCompilerCommon.cmake b/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake
similarity index 67%
rename from share/cmake-3.16/Modules/CMakeTestCompilerCommon.cmake
rename to share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake
index 6ee5175..da7c007 100644
--- a/share/cmake-3.16/Modules/CMakeTestCompilerCommon.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake
@@ -2,8 +2,15 @@
 # file Copyright.txt or https://cmake.org/licensing for details.
 
 
-function(PrintTestCompilerStatus LANG MSG)
-  message(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${MSG}")
+function(PrintTestCompilerStatus LANG)
+  # ARGN shouldn't be needed now, but it is there to preserve backward
+  # compatibility in case this function is called from project code or
+  # custom toolchains (they shouldn't, but we can easily support it)
+  message(CHECK_START "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${ARGN}")
+endfunction()
+
+function(PrintTestCompilerResult TYPE MSG)
+  message(${TYPE} "${MSG}")
 endfunction()
 
 # if required set the target type if not already explicitly set
diff --git a/share/cmake-3.16/Modules/CMakeTestFortranCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestFortranCompiler.cmake
similarity index 90%
rename from share/cmake-3.16/Modules/CMakeTestFortranCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestFortranCompiler.cmake
index e9860e9..7461f9c 100644
--- a/share/cmake-3.16/Modules/CMakeTestFortranCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestFortranCompiler.cmake
@@ -21,7 +21,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_Fortran_COMPILER_WORKS)
-  PrintTestCompilerStatus("Fortran" "")
+  PrintTestCompilerStatus("Fortran")
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f "
         PROGRAM TESTFortran
         PRINT *, 'Hello'
@@ -37,7 +37,7 @@
 endif()
 
 if(NOT CMAKE_Fortran_COMPILER_WORKS)
-  PrintTestCompilerStatus("Fortran" "  -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the Fortran compiler works failed with "
     "the following output:\n${OUTPUT}\n\n")
@@ -48,7 +48,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(FORTRAN_TEST_WAS_RUN)
-    PrintTestCompilerStatus("Fortran" "  -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the Fortran compiler works passed with "
       "the following output:\n${OUTPUT}\n\n")
@@ -60,7 +60,7 @@
 
   # Test for Fortran 90 support by using an f90-specific construct.
   if(NOT DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
-    message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90")
+    message(CHECK_START "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90")
     file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90 "
       PROGRAM TESTFortran90
       integer stop ; stop = 1 ; do while ( stop .eq. 0 ) ; end do
@@ -70,13 +70,13 @@
       ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90
       OUTPUT_VARIABLE OUTPUT)
     if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
-      message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- yes")
+      message(CHECK_PASS "yes")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the Fortran compiler supports Fortran 90 passed with "
         "the following output:\n${OUTPUT}\n\n")
       set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 1)
     else()
-      message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- no")
+      message(CHECK_FAIL "no")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Determining if the Fortran compiler supports Fortran 90 failed with "
         "the following output:\n${OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/CMakeTestGNU.c b/share/cmake-3.17/Modules/CMakeTestGNU.c
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestGNU.c
rename to share/cmake-3.17/Modules/CMakeTestGNU.c
diff --git a/share/cmake-3.16/Modules/CMakeTestJavaCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestJavaCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestJavaCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestJavaCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestOBJCCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestOBJCCompiler.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeTestOBJCCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestOBJCCompiler.cmake
index 0030683..bcc6fae 100644
--- a/share/cmake-3.16/Modules/CMakeTestOBJCCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestOBJCCompiler.cmake
@@ -27,7 +27,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_OBJC_COMPILER_WORKS)
-  PrintTestCompilerStatus("OBJC" "")
+  PrintTestCompilerStatus("OBJC")
   __TestCompiler_setTryCompileTargetType()
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testOBJCCompiler.m
     "#ifdef __cplusplus\n"
@@ -49,7 +49,7 @@
 endif()
 
 if(NOT CMAKE_OBJC_COMPILER_WORKS)
-  PrintTestCompilerStatus("OBJC" " -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the Objective-C compiler works failed with "
     "the following output:\n${__CMAKE_OBJC_COMPILER_OUTPUT}\n\n")
@@ -60,7 +60,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(OBJC_TEST_WAS_RUN)
-    PrintTestCompilerStatus("OBJC" " -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the Objective-C compiler works passed with "
       "the following output:\n${__CMAKE_OBJC_COMPILER_OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/CMakeTestOBJCXXCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestOBJCXXCompiler.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CMakeTestOBJCXXCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestOBJCXXCompiler.cmake
index bcce2f1..83227d5 100644
--- a/share/cmake-3.16/Modules/CMakeTestOBJCXXCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestOBJCXXCompiler.cmake
@@ -27,7 +27,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_OBJCXX_COMPILER_WORKS)
-  PrintTestCompilerStatus("OBJCXX" "")
+  PrintTestCompilerStatus("OBJCXX")
   __TestCompiler_setTryCompileTargetType()
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testOBJCXXCompiler.mm
     "#ifndef __cplusplus\n"
@@ -48,7 +48,7 @@
 endif()
 
 if(NOT CMAKE_OBJCXX_COMPILER_WORKS)
-  PrintTestCompilerStatus("OBJCXX" " -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the Objective-C++ compiler works failed with "
     "the following output:\n${__CMAKE_OBJCXX_COMPILER_OUTPUT}\n\n")
@@ -59,7 +59,7 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(OBJCXX_TEST_WAS_RUN)
-    PrintTestCompilerStatus("OBJCXX" " -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the Objective-C++ compiler works passed with "
       "the following output:\n${__CMAKE_OBJCXX_COMPILER_OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/CMakeTestRCCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestRCCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeTestRCCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestRCCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CMakeTestSwiftCompiler.cmake b/share/cmake-3.17/Modules/CMakeTestSwiftCompiler.cmake
similarity index 83%
rename from share/cmake-3.16/Modules/CMakeTestSwiftCompiler.cmake
rename to share/cmake-3.17/Modules/CMakeTestSwiftCompiler.cmake
index 841aee6..d98dc9d 100644
--- a/share/cmake-3.16/Modules/CMakeTestSwiftCompiler.cmake
+++ b/share/cmake-3.17/Modules/CMakeTestSwiftCompiler.cmake
@@ -20,7 +20,7 @@
 # is set and cmake stops processing commands and will not generate
 # any makefiles or projects.
 if(NOT CMAKE_Swift_COMPILER_WORKS)
-  PrintTestCompilerStatus("Swift" "")
+  PrintTestCompilerStatus("Swift")
   file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
     "print(\"CMake\")\n")
   try_compile(CMAKE_Swift_COMPILER_WORKS ${CMAKE_BINARY_DIR}
@@ -33,7 +33,7 @@
 endif()
 
 if(NOT CMAKE_Swift_COMPILER_WORKS)
-  PrintTestCompilerStatus("Swift" " -- broken")
+  PrintTestCompilerResult(CHECK_FAIL "broken")
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the Swift compiler works failed with "
     "the following output:\n${__CMAKE_Swift_COMPILER_OUTPUT}\n\n")
@@ -44,12 +44,17 @@
     "CMake will not be able to correctly generate this project.")
 else()
   if(Swift_TEST_WAS_RUN)
-    PrintTestCompilerStatus("Swift" " -- works")
+    PrintTestCompilerResult(CHECK_PASS "works")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the Swift compiler works passed with "
       "the following output:\n${__CMAKE_Swift_COMPILER_OUTPUT}\n\n")
   endif()
 
+  # Unlike C and CXX we do not yet detect any information about the Swift ABI.
+  # However, one of the steps done for C and CXX as part of that detection is
+  # to initialize the implicit include directories.  That is relevant here.
+  set(CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES "${_CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES_INIT}")
+
   # Re-configure to save learned information.
   configure_file(${CMAKE_ROOT}/Modules/CMakeSwiftCompiler.cmake.in
                  ${CMAKE_PLATFORM_INFO_DIR}/CMakeSwiftCompiler.cmake @ONLY)
diff --git a/share/cmake-3.16/Modules/CMakeUnixFindMake.cmake b/share/cmake-3.17/Modules/CMakeUnixFindMake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeUnixFindMake.cmake
rename to share/cmake-3.17/Modules/CMakeUnixFindMake.cmake
diff --git a/share/cmake-3.16/Modules/CMakeVerifyManifest.cmake b/share/cmake-3.17/Modules/CMakeVerifyManifest.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CMakeVerifyManifest.cmake
rename to share/cmake-3.17/Modules/CMakeVerifyManifest.cmake
diff --git a/share/cmake-3.16/Modules/CPack.cmake b/share/cmake-3.17/Modules/CPack.cmake
similarity index 91%
rename from share/cmake-3.16/Modules/CPack.cmake
rename to share/cmake-3.17/Modules/CPack.cmake
index c2ed3de..baf7e47 100644
--- a/share/cmake-3.16/Modules/CPack.cmake
+++ b/share/cmake-3.17/Modules/CPack.cmake
@@ -5,22 +5,23 @@
 CPack
 -----
 
-Build binary and source package installers.
+Configure the binary and source package installers.
 
 Introduction
 ^^^^^^^^^^^^
 
-The CPack module generates a file ``CPackConfig.cmake`` intended for
-use in a subsequent run of  the :manual:`cpack <cpack(1)>` program
-where it steers the generation of installers or/and source packages.
+The CPack module generates the configuration files ``CPackConfig.cmake``
+and ``CPackSourceConfig.cmake``. They are intended for use in a subsequent
+run of  the :manual:`cpack <cpack(1)>` program where they steer the generation
+of installers or/and source packages.
 
-Inclusion of the CPack module adds two new build targets, ``package``
-and ``package_source``, which build the binary and source installers
-respectively.  The generated binary installers contain everything
-installed via CMake's :command:`install` command (and the deprecated
-commands :command:`install_files`, :command:`install_programs`, and
-:command:`install_targets`).
+Depending on the CMake generator, the CPack module may also add two new build
+targets, ``package`` and ``package_source``. See the `packaging targets`_
+section below for details.
 
+The generated binary installers contain everything installed via CMake's
+:command:`install` command (and the deprecated commands :command:`install_files`,
+:command:`install_programs`, and :command:`install_targets`).
 For certain kinds of binary installers (including the graphical
 installers on macOS and Windows), CPack generates installers that
 allow users to select individual application components to install.
@@ -63,6 +64,26 @@
 internally to *the one currently being used* and then include the
 :variable:`CPACK_PROJECT_CONFIG_FILE`.
 
+For a list of available generators, see :manual:`cpack-generators(7)`.
+
+.. _`packaging targets`:
+
+Targets package and package_source
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If CMake is run with the Makefile, Ninja, or Xcode generator, then
+``include(CPack)`` generates a target ``package``. This makes it possible
+to build a binary installer from CMake, Make, or Ninja: Instead of ``cpack``,
+one may call ``cmake --build . --target package`` or ``make package`` or
+``ninja package``. The VS generator creates an uppercase target ``PACKAGE``.
+
+If CMake is run with the Makefile or Ninja generator, then ``include(CPack)``
+also generates a target ``package_source``. To build a source package,
+instead of ``cpack -G TGZ --config CPackConfig.cmake`` one may call
+``cmake --build . --target package_source``, ``make package_source``,
+or ``ninja package_source``.
+
+
 Variables common to all CPack Generators
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -563,11 +584,19 @@
       if(APPLE)
         option(CPACK_BINARY_BUNDLE       "Enable to build OSX bundles"      OFF)
         option(CPACK_BINARY_DRAGNDROP    "Enable to build OSX Drag And Drop package" OFF)
-        option(CPACK_BINARY_OSXX11       "Enable to build OSX X11 packages"      OFF)
-        option(CPACK_BINARY_PACKAGEMAKER "Enable to build PackageMaker packages" OFF)
+        option(CPACK_BINARY_OSXX11       "Enable to build OSX X11 packages (deprecated)" OFF)
+        option(CPACK_BINARY_PACKAGEMAKER "Enable to build PackageMaker packages (deprecated)" OFF)
         option(CPACK_BINARY_PRODUCTBUILD "Enable to build productbuild packages" OFF)
+        mark_as_advanced(
+          CPACK_BINARY_BUNDLE
+          CPACK_BINARY_DRAGNDROP
+          CPACK_BINARY_OSXX11
+          CPACK_BINARY_PACKAGEMAKER
+          CPACK_BINARY_PRODUCTBUILD
+          )
       else()
         option(CPACK_BINARY_TZ  "Enable to build TZ packages"     ON)
+        mark_as_advanced(CPACK_BINARY_TZ)
       endif()
       option(CPACK_BINARY_DEB  "Enable to build Debian packages"  OFF)
       option(CPACK_BINARY_FREEBSD  "Enable to build FreeBSD packages"  OFF)
@@ -577,6 +606,16 @@
       option(CPACK_BINARY_TBZ2 "Enable to build TBZ2 packages"    OFF)
       option(CPACK_BINARY_TGZ  "Enable to build TGZ packages"     ON)
       option(CPACK_BINARY_TXZ  "Enable to build TXZ packages"     OFF)
+      mark_as_advanced(
+        CPACK_BINARY_DEB
+        CPACK_BINARY_FREEBSD
+        CPACK_BINARY_NSIS
+        CPACK_BINARY_RPM
+        CPACK_BINARY_STGZ
+        CPACK_BINARY_TBZ2
+        CPACK_BINARY_TGZ
+        CPACK_BINARY_TXZ
+        )
     endif()
   else()
     option(CPACK_BINARY_7Z    "Enable to build 7-Zip packages" OFF)
@@ -584,8 +623,16 @@
     option(CPACK_BINARY_NUGET "Enable to build NuGet packages" OFF)
     option(CPACK_BINARY_WIX   "Enable to build WiX packages" OFF)
     option(CPACK_BINARY_ZIP   "Enable to build ZIP packages" OFF)
+    mark_as_advanced(
+      CPACK_BINARY_7Z
+      CPACK_BINARY_NSIS
+      CPACK_BINARY_NUGET
+      CPACK_BINARY_WIX
+      CPACK_BINARY_ZIP
+      )
   endif()
   option(CPACK_BINARY_IFW "Enable to build IFW packages" OFF)
+  mark_as_advanced(CPACK_BINARY_IFW)
 
   cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_7Z           7Z)
   cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_BUNDLE       Bundle)
@@ -615,6 +662,7 @@
   if(UNIX)
     if(CYGWIN)
       option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON)
+      mark_as_advanced(CPACK_SOURCE_CYGWIN)
     else()
       option(CPACK_SOURCE_RPM  "Enable to build RPM source packages"  OFF)
       option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON)
@@ -622,10 +670,22 @@
       option(CPACK_SOURCE_TXZ  "Enable to build TXZ source packages"  ON)
       option(CPACK_SOURCE_TZ   "Enable to build TZ source packages"   ON)
       option(CPACK_SOURCE_ZIP  "Enable to build ZIP source packages"  OFF)
+      mark_as_advanced(
+        CPACK_SOURCE_RPM
+        CPACK_SOURCE_TBZ2
+        CPACK_SOURCE_TGZ
+        CPACK_SOURCE_TXZ
+        CPACK_SOURCE_TZ
+        CPACK_SOURCE_ZIP
+        )
     endif()
   else()
     option(CPACK_SOURCE_7Z  "Enable to build 7-Zip source packages" ON)
     option(CPACK_SOURCE_ZIP "Enable to build ZIP source packages" ON)
+    mark_as_advanced(
+      CPACK_SOURCE_7Z
+      CPACK_SOURCE_ZIP
+      )
   endif()
 
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_7Z      7Z)
@@ -638,38 +698,6 @@
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_ZIP     ZIP)
 endif()
 
-# mark the above options as advanced
-mark_as_advanced(
-  CPACK_BINARY_7Z
-  CPACK_BINARY_BUNDLE
-  CPACK_BINARY_CYGWIN
-  CPACK_BINARY_DEB
-  CPACK_BINARY_DRAGNDROP
-  CPACK_BINARY_FREEBSD
-  CPACK_BINARY_IFW
-  CPACK_BINARY_NSIS
-  CPACK_BINARY_NUGET
-  CPACK_BINARY_OSXX11
-  CPACK_BINARY_PACKAGEMAKER
-  CPACK_BINARY_PRODUCTBUILD
-  CPACK_BINARY_RPM
-  CPACK_BINARY_STGZ
-  CPACK_BINARY_TBZ2
-  CPACK_BINARY_TGZ
-  CPACK_BINARY_TXZ
-  CPACK_BINARY_TZ
-  CPACK_BINARY_WIX
-  CPACK_BINARY_ZIP
-  CPACK_SOURCE_7Z
-  CPACK_SOURCE_CYGWIN
-  CPACK_SOURCE_RPM
-  CPACK_SOURCE_TBZ2
-  CPACK_SOURCE_TGZ
-  CPACK_SOURCE_TXZ
-  CPACK_SOURCE_TZ
-  CPACK_SOURCE_ZIP
-  )
-
 # Set some other variables
 _cpack_set_default(CPACK_INSTALL_CMAKE_PROJECTS
   "${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME};ALL;/")
@@ -684,6 +712,8 @@
 # value of CPACK_NSIS_PACKAGE_NAME  instead
 # of CPACK_PACKAGE_INSTALL_DIRECTORY
 _cpack_set_default(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+# Specify the name of the Uninstall file in NSIS
+_cpack_set_default(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
 
 if(CPACK_NSIS_DISPLAY_NAME_SET)
   _cpack_set_default(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_DISPLAY_NAME}")
diff --git a/share/cmake-3.16/Modules/CPackComponent.cmake b/share/cmake-3.17/Modules/CPackComponent.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CPackComponent.cmake
rename to share/cmake-3.17/Modules/CPackComponent.cmake
diff --git a/share/cmake-3.16/Modules/CPackIFW.cmake b/share/cmake-3.17/Modules/CPackIFW.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CPackIFW.cmake
rename to share/cmake-3.17/Modules/CPackIFW.cmake
index 42ef8c7..f58f9ef 100644
--- a/share/cmake-3.16/Modules/CPackIFW.cmake
+++ b/share/cmake-3.17/Modules/CPackIFW.cmake
@@ -5,15 +5,12 @@
 CPackIFW
 --------
 
-The documentation for the CPack IFW generator has moved here: :cpack_gen:`CPack IFW Generator`
-
-.. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
-
-This module looks for the location of the command line utilities supplied
-with the Qt Installer Framework (QtIFW_).
+This module looks for the location of the command-line utilities supplied with the
+`Qt Installer Framework <http://doc.qt.io/qtinstallerframework/index.html>`_
+(QtIFW).
 
 The module also defines several commands to control the behavior of the
-CPack ``IFW`` generator.
+:cpack_gen:`CPack IFW Generator`.
 
 Commands
 ^^^^^^^^
@@ -102,10 +99,10 @@
 
   ``DEPENDS`` | ``DEPENDENCIES``
     list of dependency component or component group identifiers in
-    QtIFW_ style.
+    QtIFW style.
 
   ``AUTO_DEPEND_ON``
-    list of identifiers of component or component group in QtIFW_ style
+    list of identifiers of component or component group in QtIFW style
     that this component has an automatic dependency on.
 
   ``LICENSES``
@@ -207,10 +204,10 @@
 
   ``DEPENDS`` | ``DEPENDENCIES``
     list of dependency component or component group identifiers in
-    QtIFW_ style.
+    QtIFW style.
 
   ``AUTO_DEPEND_ON``
-    list of identifiers of component or component group in QtIFW_ style
+    list of identifiers of component or component group in QtIFW style
     that this component group has an automatic dependency on.
 
   ``LICENSES``
@@ -242,7 +239,7 @@
 
 .. command:: cpack_ifw_add_repository
 
-  Add QtIFW_ specific remote repository to binary installer.
+  Add QtIFW specific remote repository to binary installer.
 
   ::
 
@@ -273,7 +270,7 @@
 
 .. command:: cpack_ifw_update_repository
 
-  Update QtIFW_ specific repository from remote repository.
+  Update QtIFW specific repository from remote repository.
 
   ::
 
diff --git a/share/cmake-3.16/Modules/CPackIFWConfigureFile.cmake b/share/cmake-3.17/Modules/CPackIFWConfigureFile.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CPackIFWConfigureFile.cmake
rename to share/cmake-3.17/Modules/CPackIFWConfigureFile.cmake
diff --git a/share/cmake-3.16/Modules/CSharpUtilities.cmake b/share/cmake-3.17/Modules/CSharpUtilities.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CSharpUtilities.cmake
rename to share/cmake-3.17/Modules/CSharpUtilities.cmake
diff --git a/share/cmake-3.16/Modules/CTest.cmake b/share/cmake-3.17/Modules/CTest.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/CTest.cmake
rename to share/cmake-3.17/Modules/CTest.cmake
index 3a111ca..8109108 100644
--- a/share/cmake-3.16/Modules/CTest.cmake
+++ b/share/cmake-3.17/Modules/CTest.cmake
@@ -174,7 +174,7 @@
     "How many times to retry timed-out CTest submissions.")
 
   find_program(MEMORYCHECK_COMMAND
-    NAMES purify valgrind boundscheck
+    NAMES purify valgrind boundscheck drmemory
     PATHS
     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
     DOC "Path to the memory checking command, used for memory error detection."
@@ -243,7 +243,6 @@
 
   mark_as_advanced(
     BZRCOMMAND
-    BZR_UPDATE_OPTIONS
     COVERAGE_COMMAND
     COVERAGE_EXTRA_FLAGS
     CTEST_SUBMIT_RETRY_DELAY
@@ -257,13 +256,10 @@
     MAKECOMMAND
     MEMORYCHECK_COMMAND
     MEMORYCHECK_SUPPRESSIONS_FILE
-    PURIFYCOMMAND
-    SCPCOMMAND
     SLURM_SBATCH_COMMAND
     SLURM_SRUN_COMMAND
     SITE
     SVNCOMMAND
-    SVN_UPDATE_OPTIONS
     )
   if(NOT RUN_FROM_DART)
     set(RUN_FROM_CTEST_OR_DART 1)
diff --git a/share/cmake-3.16/Modules/CTestCoverageCollectGCOV.cmake b/share/cmake-3.17/Modules/CTestCoverageCollectGCOV.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CTestCoverageCollectGCOV.cmake
rename to share/cmake-3.17/Modules/CTestCoverageCollectGCOV.cmake
diff --git a/share/cmake-3.16/Modules/CTestScriptMode.cmake b/share/cmake-3.17/Modules/CTestScriptMode.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CTestScriptMode.cmake
rename to share/cmake-3.17/Modules/CTestScriptMode.cmake
diff --git a/share/cmake-3.16/Modules/CTestTargets.cmake b/share/cmake-3.17/Modules/CTestTargets.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CTestTargets.cmake
rename to share/cmake-3.17/Modules/CTestTargets.cmake
diff --git a/share/cmake-3.16/Modules/CTestUseLaunchers.cmake b/share/cmake-3.17/Modules/CTestUseLaunchers.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CTestUseLaunchers.cmake
rename to share/cmake-3.17/Modules/CTestUseLaunchers.cmake
diff --git a/share/cmake-3.16/Modules/CheckCCompilerFlag.cmake b/share/cmake-3.17/Modules/CheckCCompilerFlag.cmake
similarity index 65%
rename from share/cmake-3.16/Modules/CheckCCompilerFlag.cmake
rename to share/cmake-3.17/Modules/CheckCCompilerFlag.cmake
index a3e2da3..6d65313 100644
--- a/share/cmake-3.16/Modules/CheckCCompilerFlag.cmake
+++ b/share/cmake-3.17/Modules/CheckCCompilerFlag.cmake
@@ -36,28 +36,23 @@
 include(CheckCSourceCompiles)
 include(CMakeCheckCompilerFlagCommonPatterns)
 
-macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
-  set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
-  set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
+function(check_c_compiler_flag _flag _var)
+  set(CMAKE_REQUIRED_DEFINITIONS "${_flag}")
 
-   # Normalize locale during test compilation.
-  set(_CheckCCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
-  foreach(v ${_CheckCCompilerFlag_LOCALE_VARS})
-    set(_CheckCCompilerFlag_SAVED_${v} "$ENV{${v}}")
+  # Normalize locale during test compilation.
+  set(_locale_vars LC_ALL LC_MESSAGES LANG)
+  foreach(v IN LISTS _locale_vars)
+    set(_locale_vars_saved_${v} "$ENV{${v}}")
     set(ENV{${v}} C)
   endforeach()
-  CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCCompilerFlag_COMMON_PATTERNS)
-  CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT}
+  check_compiler_flag_common_patterns(_common_patterns)
+  check_c_source_compiles("int main(void) { return 0; }" ${_var}
     # Some compilers do not fail with a bad flag
     FAIL_REGEX "command line option .* is valid for .* but not for C" # GNU
-    ${_CheckCCompilerFlag_COMMON_PATTERNS}
+    ${_common_patterns}
     )
-  foreach(v ${_CheckCCompilerFlag_LOCALE_VARS})
-    set(ENV{${v}} ${_CheckCCompilerFlag_SAVED_${v}})
-    unset(_CheckCCompilerFlag_SAVED_${v})
+  foreach(v IN LISTS _locale_vars)
+    set(ENV{${v}} ${_locale_vars_saved_${v}})
   endforeach()
-  unset(_CheckCCompilerFlag_LOCALE_VARS)
-  unset(_CheckCCompilerFlag_COMMON_PATTERNS)
-
-  set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-endmacro ()
+  set(${_var} "${${_var}}" PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake b/share/cmake-3.17/Modules/CheckCSourceCompiles.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckCSourceCompiles.cmake
rename to share/cmake-3.17/Modules/CheckCSourceCompiles.cmake
index 77ba0cc..67fc993 100644
--- a/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake
+++ b/share/cmake-3.17/Modules/CheckCSourceCompiles.cmake
@@ -104,7 +104,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_compile(${VAR}
       ${CMAKE_BINARY_DIR}
@@ -125,7 +125,7 @@
     if(${VAR})
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing C SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -133,7 +133,7 @@
         "Source file was:\n${SOURCE}\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckCSourceRuns.cmake b/share/cmake-3.17/Modules/CheckCSourceRuns.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckCSourceRuns.cmake
rename to share/cmake-3.17/Modules/CheckCSourceRuns.cmake
index eba70f2..7d116db 100644
--- a/share/cmake-3.16/Modules/CheckCSourceRuns.cmake
+++ b/share/cmake-3.17/Modules/CheckCSourceRuns.cmake
@@ -92,7 +92,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_run(${VAR}_EXITCODE ${VAR}_COMPILED
       ${CMAKE_BINARY_DIR}
@@ -113,7 +113,7 @@
     if("${${VAR}_EXITCODE}" EQUAL 0)
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing C SOURCE FILE Test ${VAR} succeeded with the following compile output:\n"
@@ -130,7 +130,7 @@
       endif()
 
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Performing C SOURCE FILE Test ${VAR} failed with the following compile output:\n"
diff --git a/share/cmake-3.16/Modules/CheckCXXCompilerFlag.cmake b/share/cmake-3.17/Modules/CheckCXXCompilerFlag.cmake
similarity index 66%
rename from share/cmake-3.16/Modules/CheckCXXCompilerFlag.cmake
rename to share/cmake-3.17/Modules/CheckCXXCompilerFlag.cmake
index 5729843..5e07c25 100644
--- a/share/cmake-3.16/Modules/CheckCXXCompilerFlag.cmake
+++ b/share/cmake-3.17/Modules/CheckCXXCompilerFlag.cmake
@@ -36,28 +36,23 @@
 include(CheckCXXSourceCompiles)
 include(CMakeCheckCompilerFlagCommonPatterns)
 
-macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
-  set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
-  set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
+function(check_cxx_compiler_flag _flag _var)
+  set(CMAKE_REQUIRED_DEFINITIONS "${_flag}")
 
   # Normalize locale during test compilation.
-  set(_CheckCXXCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
-  foreach(v ${_CheckCXXCompilerFlag_LOCALE_VARS})
-    set(_CheckCXXCompilerFlag_SAVED_${v} "$ENV{${v}}")
+  set(_locale_vars LC_ALL LC_MESSAGES LANG)
+  foreach(v IN LISTS _locale_vars)
+    set(_locale_vars_saved_${v} "$ENV{${v}}")
     set(ENV{${v}} C)
   endforeach()
-  CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCXXCompilerFlag_COMMON_PATTERNS)
-  CHECK_CXX_SOURCE_COMPILES("int main() { return 0; }" ${_RESULT}
+  check_compiler_flag_common_patterns(_common_patterns)
+  check_cxx_source_compiles("int main() { return 0; }" ${_var}
     # Some compilers do not fail with a bad flag
     FAIL_REGEX "command line option .* is valid for .* but not for C\\\\+\\\\+" # GNU
-    ${_CheckCXXCompilerFlag_COMMON_PATTERNS}
+    ${_common_patterns}
     )
-  foreach(v ${_CheckCXXCompilerFlag_LOCALE_VARS})
-    set(ENV{${v}} ${_CheckCXXCompilerFlag_SAVED_${v}})
-    unset(_CheckCXXCompilerFlag_SAVED_${v})
+  foreach(v IN LISTS _locale_vars)
+    set(ENV{${v}} ${_locale_vars_saved_${v}})
   endforeach()
-  unset(_CheckCXXCompilerFlag_LOCALE_VARS)
-  unset(_CheckCXXCompilerFlag_COMMON_PATTERNS)
-
-  set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-endmacro ()
+  set(${_var} "${${_var}}" PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.16/Modules/CheckCXXSourceCompiles.cmake b/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckCXXSourceCompiles.cmake
rename to share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake
index cc457a5..c693d32 100644
--- a/share/cmake-3.16/Modules/CheckCXXSourceCompiles.cmake
+++ b/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake
@@ -105,7 +105,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_compile(${VAR}
       ${CMAKE_BINARY_DIR}
@@ -126,7 +126,7 @@
     if(${VAR})
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -134,7 +134,7 @@
         "Source file was:\n${SOURCE}\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckCXXSourceRuns.cmake b/share/cmake-3.17/Modules/CheckCXXSourceRuns.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckCXXSourceRuns.cmake
rename to share/cmake-3.17/Modules/CheckCXXSourceRuns.cmake
index 5e3f195..408e183 100644
--- a/share/cmake-3.16/Modules/CheckCXXSourceRuns.cmake
+++ b/share/cmake-3.17/Modules/CheckCXXSourceRuns.cmake
@@ -92,7 +92,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_run(${VAR}_EXITCODE ${VAR}_COMPILED
       ${CMAKE_BINARY_DIR}
@@ -114,7 +114,7 @@
     if("${${VAR}_EXITCODE}" EQUAL 0)
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -131,7 +131,7 @@
       endif()
 
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
diff --git a/share/cmake-3.16/Modules/CheckCXXSymbolExists.cmake b/share/cmake-3.17/Modules/CheckCXXSymbolExists.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckCXXSymbolExists.cmake
rename to share/cmake-3.17/Modules/CheckCXXSymbolExists.cmake
diff --git a/share/cmake-3.16/Modules/CheckForPthreads.c b/share/cmake-3.17/Modules/CheckForPthreads.c
similarity index 100%
rename from share/cmake-3.16/Modules/CheckForPthreads.c
rename to share/cmake-3.17/Modules/CheckForPthreads.c
diff --git a/share/cmake-3.16/Modules/CheckFortranCompilerFlag.cmake b/share/cmake-3.17/Modules/CheckFortranCompilerFlag.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckFortranCompilerFlag.cmake
rename to share/cmake-3.17/Modules/CheckFortranCompilerFlag.cmake
diff --git a/share/cmake-3.16/Modules/CheckFortranFunctionExists.cmake b/share/cmake-3.17/Modules/CheckFortranFunctionExists.cmake
similarity index 85%
rename from share/cmake-3.16/Modules/CheckFortranFunctionExists.cmake
rename to share/cmake-3.17/Modules/CheckFortranFunctionExists.cmake
index 7ca205a..d06203f 100644
--- a/share/cmake-3.16/Modules/CheckFortranFunctionExists.cmake
+++ b/share/cmake-3.17/Modules/CheckFortranFunctionExists.cmake
@@ -38,7 +38,7 @@
 
 macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
   if(NOT DEFINED ${VARIABLE})
-    message(STATUS "Looking for Fortran ${FUNCTION}")
+    message(CHECK_START "Looking for Fortran ${FUNCTION}")
     if(CMAKE_REQUIRED_LINK_OPTIONS)
       set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS
         LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS})
@@ -61,21 +61,20 @@
     "
     )
     try_compile(${VARIABLE}
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
-    ${CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS}
-    ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}
-    OUTPUT_VARIABLE OUTPUT
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
+      ${CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS}
+      ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}
+      OUTPUT_VARIABLE OUTPUT
     )
-#    message(STATUS "${OUTPUT}")
     if(${VARIABLE})
       set(${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
-      message(STATUS "Looking for Fortran ${FUNCTION} - found")
+      message(CHECK_PASS "found")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
         "${OUTPUT}\n\n")
     else()
-      message(STATUS "Looking for Fortran ${FUNCTION} - not found")
+      message(CHECK_FAIL "not found")
       set(${VARIABLE} "" CACHE INTERNAL "Have Fortran function ${FUNCTION}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
diff --git a/share/cmake-3.16/Modules/CheckFortranSourceCompiles.cmake b/share/cmake-3.17/Modules/CheckFortranSourceCompiles.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CheckFortranSourceCompiles.cmake
rename to share/cmake-3.17/Modules/CheckFortranSourceCompiles.cmake
index f94b254..f0fde8d 100644
--- a/share/cmake-3.16/Modules/CheckFortranSourceCompiles.cmake
+++ b/share/cmake-3.17/Modules/CheckFortranSourceCompiles.cmake
@@ -127,7 +127,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_compile(${VAR}
       ${CMAKE_BINARY_DIR}
@@ -148,7 +148,7 @@
     if(${VAR})
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing Fortran SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -156,7 +156,7 @@
         "Source file was:\n${SOURCE}\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckFortranSourceRuns.cmake b/share/cmake-3.17/Modules/CheckFortranSourceRuns.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CheckFortranSourceRuns.cmake
rename to share/cmake-3.17/Modules/CheckFortranSourceRuns.cmake
index a80c13d..a3e5d5d 100644
--- a/share/cmake-3.16/Modules/CheckFortranSourceRuns.cmake
+++ b/share/cmake-3.17/Modules/CheckFortranSourceRuns.cmake
@@ -122,7 +122,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_run(${VAR}_EXITCODE ${VAR}_COMPILED
       ${CMAKE_BINARY_DIR}
@@ -144,7 +144,7 @@
     if("${${VAR}_EXITCODE}" EQUAL 0)
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing Fortran SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -161,7 +161,7 @@
       endif()
 
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Performing Fortran SOURCE FILE Test ${VAR} failed with the following output:\n"
diff --git a/share/cmake-3.16/Modules/CheckFunctionExists.c b/share/cmake-3.17/Modules/CheckFunctionExists.c
similarity index 100%
rename from share/cmake-3.16/Modules/CheckFunctionExists.c
rename to share/cmake-3.17/Modules/CheckFunctionExists.c
diff --git a/share/cmake-3.16/Modules/CheckFunctionExists.cmake b/share/cmake-3.17/Modules/CheckFunctionExists.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckFunctionExists.cmake
rename to share/cmake-3.17/Modules/CheckFunctionExists.cmake
index c39144f..136da89 100644
--- a/share/cmake-3.16/Modules/CheckFunctionExists.cmake
+++ b/share/cmake-3.17/Modules/CheckFunctionExists.cmake
@@ -57,7 +57,7 @@
     set(MACRO_CHECK_FUNCTION_DEFINITIONS
       "-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${FUNCTION}")
+      message(CHECK_START "Looking for ${FUNCTION}")
     endif()
     if(CMAKE_REQUIRED_LINK_OPTIONS)
       set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS
@@ -101,14 +101,14 @@
     if(${VARIABLE})
       set(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} - found")
+        message(CHECK_PASS "found")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the function ${FUNCTION} exists passed with the following output:\n"
         "${OUTPUT}\n\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       set(${VARIABLE} "" CACHE INTERNAL "Have function ${FUNCTION}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported.cmake b/share/cmake-3.17/Modules/CheckIPOSupported.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported.cmake
rename to share/cmake-3.17/Modules/CheckIPOSupported.cmake
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/CMakeLists-C.txt.in b/share/cmake-3.17/Modules/CheckIPOSupported/CMakeLists-C.txt.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/CMakeLists-C.txt.in
rename to share/cmake-3.17/Modules/CheckIPOSupported/CMakeLists-C.txt.in
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in b/share/cmake-3.17/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in
rename to share/cmake-3.17/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in b/share/cmake-3.17/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in
rename to share/cmake-3.17/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/foo.c b/share/cmake-3.17/Modules/CheckIPOSupported/foo.c
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/foo.c
rename to share/cmake-3.17/Modules/CheckIPOSupported/foo.c
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/foo.cpp b/share/cmake-3.17/Modules/CheckIPOSupported/foo.cpp
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/foo.cpp
rename to share/cmake-3.17/Modules/CheckIPOSupported/foo.cpp
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/foo.f b/share/cmake-3.17/Modules/CheckIPOSupported/foo.f
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/foo.f
rename to share/cmake-3.17/Modules/CheckIPOSupported/foo.f
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/main.c b/share/cmake-3.17/Modules/CheckIPOSupported/main.c
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/main.c
rename to share/cmake-3.17/Modules/CheckIPOSupported/main.c
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/main.cpp b/share/cmake-3.17/Modules/CheckIPOSupported/main.cpp
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/main.cpp
rename to share/cmake-3.17/Modules/CheckIPOSupported/main.cpp
diff --git a/share/cmake-3.16/Modules/CheckIPOSupported/main.f b/share/cmake-3.17/Modules/CheckIPOSupported/main.f
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIPOSupported/main.f
rename to share/cmake-3.17/Modules/CheckIPOSupported/main.f
diff --git a/share/cmake-3.16/Modules/CheckIncludeFile.c.in b/share/cmake-3.17/Modules/CheckIncludeFile.c.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIncludeFile.c.in
rename to share/cmake-3.17/Modules/CheckIncludeFile.c.in
diff --git a/share/cmake-3.16/Modules/CheckIncludeFile.cmake b/share/cmake-3.17/Modules/CheckIncludeFile.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckIncludeFile.cmake
rename to share/cmake-3.17/Modules/CheckIncludeFile.cmake
index d7b9481..3a10473 100644
--- a/share/cmake-3.16/Modules/CheckIncludeFile.cmake
+++ b/share/cmake-3.17/Modules/CheckIncludeFile.cmake
@@ -55,7 +55,7 @@
     configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.c.in
       ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.c)
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${INCLUDE}")
+      message(CHECK_START "Looking for ${INCLUDE}")
     endif()
     if(${ARGC} EQUAL 3)
       set(CMAKE_C_FLAGS_SAVE ${CMAKE_C_FLAGS})
@@ -109,7 +109,7 @@
 
     if(${VARIABLE})
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${INCLUDE} - found")
+        message(CHECK_PASS "found")
       endif()
       set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
@@ -118,7 +118,7 @@
         "${OUTPUT}\n\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${INCLUDE} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckIncludeFile.cxx.in b/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckIncludeFile.cxx.in
rename to share/cmake-3.17/Modules/CheckIncludeFile.cxx.in
diff --git a/share/cmake-3.16/Modules/CheckIncludeFileCXX.cmake b/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/CheckIncludeFileCXX.cmake
rename to share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake
index de5a83b..496550f 100644
--- a/share/cmake-3.16/Modules/CheckIncludeFileCXX.cmake
+++ b/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake
@@ -54,7 +54,7 @@
     configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
       ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx)
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for C++ include ${INCLUDE}")
+      message(CHECK_START "Looking for C++ include ${INCLUDE}")
     endif()
     if(${ARGC} EQUAL 3)
       set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
@@ -108,7 +108,7 @@
 
     if(${VARIABLE})
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for C++ include ${INCLUDE} - found")
+        message(CHECK_PASS "found")
       endif()
       set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
@@ -117,7 +117,7 @@
         "${OUTPUT}\n\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for C++ include ${INCLUDE} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckIncludeFiles.cmake b/share/cmake-3.17/Modules/CheckIncludeFiles.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CheckIncludeFiles.cmake
rename to share/cmake-3.17/Modules/CheckIncludeFiles.cmake
index f52ab55..8e10cd6 100644
--- a/share/cmake-3.16/Modules/CheckIncludeFiles.cmake
+++ b/share/cmake-3.17/Modules/CheckIncludeFiles.cmake
@@ -131,7 +131,7 @@
     endif()
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${_description}")
+      message(CHECK_START "Looking for ${_description}")
     endif()
     try_compile(${VARIABLE}
       ${CMAKE_BINARY_DIR}
@@ -147,7 +147,7 @@
     unset(_CIF_LINK_LIBRARIES)
     if(${VARIABLE})
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${_description} - found")
+        message(CHECK_PASS "found")
       endif()
       set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
@@ -156,7 +156,7 @@
         "${OUTPUT}\n\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${_description} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckLanguage.cmake b/share/cmake-3.17/Modules/CheckLanguage.cmake
similarity index 87%
rename from share/cmake-3.16/Modules/CheckLanguage.cmake
rename to share/cmake-3.17/Modules/CheckLanguage.cmake
index a1a3a7a..997cc8d 100644
--- a/share/cmake-3.16/Modules/CheckLanguage.cmake
+++ b/share/cmake-3.17/Modules/CheckLanguage.cmake
@@ -39,7 +39,7 @@
 macro(check_language lang)
   if(NOT DEFINED CMAKE_${lang}_COMPILER)
     set(_desc "Looking for a ${lang} compiler")
-    message(STATUS ${_desc})
+    message(CHECK_START "${_desc}")
     file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang})
 
     set(extra_compiler_variables)
@@ -63,12 +63,18 @@
     else()
       set(_D_CMAKE_GENERATOR_INSTANCE "")
     endif()
+    if(CMAKE_GENERATOR MATCHES "^(Xcode$|Green Hills MULTI$|Visual Studio)")
+      set(_D_CMAKE_MAKE_PROGRAM "")
+    else()
+      set(_D_CMAKE_MAKE_PROGRAM "-DCMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_MAKE_PROGRAM}")
+    endif()
     execute_process(
       WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}
       COMMAND ${CMAKE_COMMAND} . -G ${CMAKE_GENERATOR}
                                  -A "${CMAKE_GENERATOR_PLATFORM}"
                                  -T "${CMAKE_GENERATOR_TOOLSET}"
                                  ${_D_CMAKE_GENERATOR_INSTANCE}
+                                 ${_D_CMAKE_MAKE_PROGRAM}
       OUTPUT_VARIABLE output
       ERROR_VARIABLE output
       RESULT_VARIABLE result
@@ -78,13 +84,15 @@
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "${_desc} passed with the following output:\n"
         "${output}\n")
+      set(_CHECK_COMPILER_STATUS CHECK_PASS)
     else()
       set(CMAKE_${lang}_COMPILER NOTFOUND)
+      set(_CHECK_COMPILER_STATUS CHECK_FAIL)
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "${_desc} failed with the following output:\n"
         "${output}\n")
     endif()
-    message(STATUS "${_desc} - ${CMAKE_${lang}_COMPILER}")
+    message(${_CHECK_COMPILER_STATUS} "${CMAKE_${lang}_COMPILER}")
     set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER}" CACHE FILEPATH "${lang} compiler")
     mark_as_advanced(CMAKE_${lang}_COMPILER)
 
diff --git a/share/cmake-3.16/Modules/CheckLibraryExists.cmake b/share/cmake-3.17/Modules/CheckLibraryExists.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/CheckLibraryExists.cmake
rename to share/cmake-3.17/Modules/CheckLibraryExists.cmake
index 6504df5..6470dfd 100644
--- a/share/cmake-3.16/Modules/CheckLibraryExists.cmake
+++ b/share/cmake-3.17/Modules/CheckLibraryExists.cmake
@@ -42,7 +42,7 @@
     set(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION
       "-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${FUNCTION} in ${LIBRARY}")
+      message(CHECK_START "Looking for ${FUNCTION} in ${LIBRARY}")
     endif()
     set(CHECK_LIBRARY_EXISTS_LINK_OPTIONS)
     if(CMAKE_REQUIRED_LINK_OPTIONS)
@@ -78,7 +78,7 @@
 
     if(${VARIABLE})
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - found")
+        message(CHECK_PASS "found")
       endif()
       set(${VARIABLE} 1 CACHE INTERNAL "Have library ${LIBRARY}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
@@ -87,7 +87,7 @@
         "${OUTPUT}\n\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       set(${VARIABLE} "" CACHE INTERNAL "Have library ${LIBRARY}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckLibraryExists.lists.in b/share/cmake-3.17/Modules/CheckLibraryExists.lists.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckLibraryExists.lists.in
rename to share/cmake-3.17/Modules/CheckLibraryExists.lists.in
diff --git a/share/cmake-3.16/Modules/CheckOBJCCompilerFlag.cmake b/share/cmake-3.17/Modules/CheckOBJCCompilerFlag.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckOBJCCompilerFlag.cmake
rename to share/cmake-3.17/Modules/CheckOBJCCompilerFlag.cmake
diff --git a/share/cmake-3.16/Modules/CheckOBJCSourceCompiles.cmake b/share/cmake-3.17/Modules/CheckOBJCSourceCompiles.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckOBJCSourceCompiles.cmake
rename to share/cmake-3.17/Modules/CheckOBJCSourceCompiles.cmake
index a4676ad..601f1fa 100644
--- a/share/cmake-3.16/Modules/CheckOBJCSourceCompiles.cmake
+++ b/share/cmake-3.17/Modules/CheckOBJCSourceCompiles.cmake
@@ -104,7 +104,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_compile(${VAR}
       ${CMAKE_BINARY_DIR}
@@ -125,7 +125,7 @@
     if(${VAR})
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing Objective-C SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -133,7 +133,7 @@
         "Source file was:\n${SOURCE}\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckOBJCSourceRuns.cmake b/share/cmake-3.17/Modules/CheckOBJCSourceRuns.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CheckOBJCSourceRuns.cmake
rename to share/cmake-3.17/Modules/CheckOBJCSourceRuns.cmake
index 00a1ebd..6684693 100644
--- a/share/cmake-3.16/Modules/CheckOBJCSourceRuns.cmake
+++ b/share/cmake-3.17/Modules/CheckOBJCSourceRuns.cmake
@@ -92,7 +92,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_run(${VAR}_EXITCODE ${VAR}_COMPILED
       ${CMAKE_BINARY_DIR}
@@ -113,7 +113,7 @@
     if("${${VAR}_EXITCODE}" EQUAL 0)
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing Objective-C SOURCE FILE Test ${VAR} succeeded with the following compile output:\n"
@@ -130,7 +130,7 @@
       endif()
 
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Performing Objective-C SOURCE FILE Test ${VAR} failed with the following compile output:\n"
diff --git a/share/cmake-3.16/Modules/CheckOBJCXXCompilerFlag.cmake b/share/cmake-3.17/Modules/CheckOBJCXXCompilerFlag.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckOBJCXXCompilerFlag.cmake
rename to share/cmake-3.17/Modules/CheckOBJCXXCompilerFlag.cmake
diff --git a/share/cmake-3.16/Modules/CheckOBJCXXSourceCompiles.cmake b/share/cmake-3.17/Modules/CheckOBJCXXSourceCompiles.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/CheckOBJCXXSourceCompiles.cmake
rename to share/cmake-3.17/Modules/CheckOBJCXXSourceCompiles.cmake
index 4c0fdd0..2ee79f4 100644
--- a/share/cmake-3.16/Modules/CheckOBJCXXSourceCompiles.cmake
+++ b/share/cmake-3.17/Modules/CheckOBJCXXSourceCompiles.cmake
@@ -105,7 +105,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_compile(${VAR}
       ${CMAKE_BINARY_DIR}
@@ -126,7 +126,7 @@
     if(${VAR})
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing Objective-C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -134,7 +134,7 @@
         "Source file was:\n${SOURCE}\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckOBJCXXSourceRuns.cmake b/share/cmake-3.17/Modules/CheckOBJCXXSourceRuns.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CheckOBJCXXSourceRuns.cmake
rename to share/cmake-3.17/Modules/CheckOBJCXXSourceRuns.cmake
index a3d5923..7f7e04f 100644
--- a/share/cmake-3.16/Modules/CheckOBJCXXSourceRuns.cmake
+++ b/share/cmake-3.17/Modules/CheckOBJCXXSourceRuns.cmake
@@ -92,7 +92,7 @@
       "${SOURCE}\n")
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
+      message(CHECK_START "Performing Test ${VAR}")
     endif()
     try_run(${VAR}_EXITCODE ${VAR}_COMPILED
       ${CMAKE_BINARY_DIR}
@@ -114,7 +114,7 @@
     if("${${VAR}_EXITCODE}" EQUAL 0)
       set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
+        message(CHECK_PASS "Success")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing Objective-C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
@@ -131,7 +131,7 @@
       endif()
 
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
+        message(CHECK_FAIL "Failed")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Performing Objective-C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
diff --git a/share/cmake-3.16/Modules/CheckPIESupported.cmake b/share/cmake-3.17/Modules/CheckPIESupported.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckPIESupported.cmake
rename to share/cmake-3.17/Modules/CheckPIESupported.cmake
diff --git a/share/cmake-3.16/Modules/CheckPrototypeDefinition.c.in b/share/cmake-3.17/Modules/CheckPrototypeDefinition.c.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckPrototypeDefinition.c.in
rename to share/cmake-3.17/Modules/CheckPrototypeDefinition.c.in
diff --git a/share/cmake-3.16/Modules/CheckPrototypeDefinition.cmake b/share/cmake-3.17/Modules/CheckPrototypeDefinition.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/CheckPrototypeDefinition.cmake
rename to share/cmake-3.17/Modules/CheckPrototypeDefinition.cmake
index a7b020c..8b06403 100644
--- a/share/cmake-3.16/Modules/CheckPrototypeDefinition.cmake
+++ b/share/cmake-3.17/Modules/CheckPrototypeDefinition.cmake
@@ -54,6 +54,9 @@
 function(check_prototype_definition _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIABLE)
 
   if (NOT DEFINED ${_VARIABLE})
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(CHECK_START "Checking prototype ${_FUNCTION} for ${_VARIABLE}")
+    endif()
     set(CHECK_PROTOTYPE_DEFINITION_CONTENT "/* */\n")
 
     set(CHECK_PROTOTYPE_DEFINITION_FLAGS ${CMAKE_REQUIRED_FLAGS})
@@ -103,14 +106,14 @@
     if (${_VARIABLE})
       set(${_VARIABLE} 1 CACHE INTERNAL "Have correct prototype for ${_FUNCTION}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Checking prototype ${_FUNCTION} for ${_VARIABLE} - True")
+        message(CHECK_PASS "True")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the prototype ${_FUNCTION} exists for ${_VARIABLE} passed with the following output:\n"
         "${OUTPUT}\n\n")
     else ()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Checking prototype ${_FUNCTION} for ${_VARIABLE} - False")
+        message(CHECK_FAIL "False")
       endif()
       set(${_VARIABLE} 0 CACHE INTERNAL "Have correct prototype for ${_FUNCTION}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckSizeOf.cmake b/share/cmake-3.17/Modules/CheckSizeOf.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckSizeOf.cmake
rename to share/cmake-3.17/Modules/CheckSizeOf.cmake
diff --git a/share/cmake-3.16/Modules/CheckStructHasMember.cmake b/share/cmake-3.17/Modules/CheckStructHasMember.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/CheckStructHasMember.cmake
rename to share/cmake-3.17/Modules/CheckStructHasMember.cmake
diff --git a/share/cmake-3.16/Modules/CheckSymbolExists.cmake b/share/cmake-3.17/Modules/CheckSymbolExists.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/CheckSymbolExists.cmake
rename to share/cmake-3.17/Modules/CheckSymbolExists.cmake
index 1053383..4f202c4 100644
--- a/share/cmake-3.16/Modules/CheckSymbolExists.cmake
+++ b/share/cmake-3.17/Modules/CheckSymbolExists.cmake
@@ -126,7 +126,7 @@
       "${SOURCEFILE}" @ONLY)
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${SYMBOL}")
+      message(CHECK_START "Looking for ${SYMBOL}")
     endif()
     try_compile(${VARIABLE}
       ${CMAKE_BINARY_DIR}
@@ -140,7 +140,7 @@
       OUTPUT_VARIABLE OUTPUT)
     if(${VARIABLE})
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${SYMBOL} - found")
+        message(CHECK_PASS "found")
       endif()
       set(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
@@ -150,7 +150,7 @@
         "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
     else()
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${SYMBOL} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       set(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckTypeSize.c.in b/share/cmake-3.17/Modules/CheckTypeSize.c.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckTypeSize.c.in
rename to share/cmake-3.17/Modules/CheckTypeSize.c.in
diff --git a/share/cmake-3.16/Modules/CheckTypeSize.cmake b/share/cmake-3.17/Modules/CheckTypeSize.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/CheckTypeSize.cmake
rename to share/cmake-3.17/Modules/CheckTypeSize.cmake
index 3727373..2b07b7c 100644
--- a/share/cmake-3.16/Modules/CheckTypeSize.cmake
+++ b/share/cmake-3.17/Modules/CheckTypeSize.cmake
@@ -86,7 +86,7 @@
 # Helper function.  DO NOT CALL DIRECTLY.
 function(__check_type_size_impl type var map builtin language)
   if(NOT CMAKE_REQUIRED_QUIET)
-    message(STATUS "Check size of ${type}")
+    message(CHECK_START "Check size of ${type}")
   endif()
 
   # Include header files.
@@ -173,7 +173,7 @@
     endif()
 
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Check size of ${type} - done")
+      message(CHECK_PASS "done")
     endif()
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining size of ${type} passed with the following output:\n${output}\n\n")
@@ -181,7 +181,7 @@
   else()
     # The check failed to compile.
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Check size of ${type} - failed")
+      message(CHECK_FAIL "failed")
     endif()
     file(READ ${src} content)
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/CheckTypeSizeMap.cmake.in b/share/cmake-3.17/Modules/CheckTypeSizeMap.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/CheckTypeSizeMap.cmake.in
rename to share/cmake-3.17/Modules/CheckTypeSizeMap.cmake.in
diff --git a/share/cmake-3.16/Modules/CheckVariableExists.c b/share/cmake-3.17/Modules/CheckVariableExists.c
similarity index 100%
rename from share/cmake-3.16/Modules/CheckVariableExists.c
rename to share/cmake-3.17/Modules/CheckVariableExists.c
diff --git a/share/cmake-3.16/Modules/CheckVariableExists.cmake b/share/cmake-3.17/Modules/CheckVariableExists.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/CheckVariableExists.cmake
rename to share/cmake-3.17/Modules/CheckVariableExists.cmake
index f4953a3..8a93535 100644
--- a/share/cmake-3.16/Modules/CheckVariableExists.cmake
+++ b/share/cmake-3.17/Modules/CheckVariableExists.cmake
@@ -42,7 +42,7 @@
     set(MACRO_CHECK_VARIABLE_DEFINITIONS
       "-DCHECK_VARIABLE_EXISTS=${VAR} ${CMAKE_REQUIRED_FLAGS}")
     if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${VAR}")
+      message(CHECK_START "Looking for ${VAR}")
     endif()
     if(CMAKE_REQUIRED_LINK_OPTIONS)
       set(CHECK_VARIABLE_EXISTS_ADD_LINK_OPTIONS
@@ -67,7 +67,7 @@
     if(${VARIABLE})
       set(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${VAR} - found")
+        message(CHECK_PASS "found")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the variable ${VAR} exists passed with the following output:\n"
@@ -75,7 +75,7 @@
     else()
       set(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
       if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${VAR} - not found")
+        message(CHECK_FAIL "not found")
       endif()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Determining if the variable ${VAR} exists failed with the following output:\n"
diff --git a/share/cmake-3.16/Modules/Compiler/ADSP-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ADSP-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMCC-ASM.cmake b/share/cmake-3.17/Modules/Compiler/ARMCC-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMCC-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMCC-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMCC-C.cmake b/share/cmake-3.17/Modules/Compiler/ARMCC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMCC-C.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMCC-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMCC-CXX.cmake b/share/cmake-3.17/Modules/Compiler/ARMCC-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMCC-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMCC-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMCC-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMCC-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMCC.cmake b/share/cmake-3.17/Modules/Compiler/ARMCC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMCC.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMCC.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang-ASM.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang-C.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang-C.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang-CXX.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/ARMClang.cmake b/share/cmake-3.17/Modules/Compiler/ARMClang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/ARMClang.cmake
rename to share/cmake-3.17/Modules/Compiler/ARMClang.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Absoft-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/Absoft-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Absoft-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/Absoft-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-ASM.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-C.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-C.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-CXX.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-CXX.cmake
similarity index 87%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-CXX.cmake
index 3fa6990..15edc21 100644
--- a/share/cmake-3.16/Modules/Compiler/AppleClang-CXX.cmake
+++ b/share/cmake-3.17/Modules/Compiler/AppleClang-CXX.cmake
@@ -25,7 +25,10 @@
   set(CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT ON)
 endif()
 
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1)
+if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0)
+  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++17")
+  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
+elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1)
   set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++1z")
   set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
 endif()
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-OBJC.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-OBJC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-OBJC.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-OBJC.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/AppleClang-OBJCXX.cmake b/share/cmake-3.17/Modules/Compiler/AppleClang-OBJCXX.cmake
similarity index 86%
rename from share/cmake-3.16/Modules/Compiler/AppleClang-OBJCXX.cmake
rename to share/cmake-3.17/Modules/Compiler/AppleClang-OBJCXX.cmake
index 2c084af..409bd4a 100644
--- a/share/cmake-3.16/Modules/Compiler/AppleClang-OBJCXX.cmake
+++ b/share/cmake-3.17/Modules/Compiler/AppleClang-OBJCXX.cmake
@@ -22,7 +22,10 @@
   set(CMAKE_OBJCXX14_STANDARD__HAS_FULL_SUPPORT ON)
 endif()
 
-if (NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 6.1)
+if (NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 10.0)
+  set(CMAKE_OBJCXX17_STANDARD_COMPILE_OPTION "-std=c++17")
+  set(CMAKE_OBJCXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
+elseif (NOT CMAKE_OBJCXX_COMPILER_VERSION VERSION_LESS 6.1)
   set(CMAKE_OBJCXX17_STANDARD_COMPILE_OPTION "-std=c++1z")
   set(CMAKE_OBJCXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
 endif()
diff --git a/share/cmake-3.16/Modules/Compiler/Borland-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Borland-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Bruce-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Bruce-C.cmake b/share/cmake-3.17/Modules/Compiler/Bruce-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Bruce-C.cmake
rename to share/cmake-3.17/Modules/Compiler/Bruce-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/CCur-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/CCur-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/CCur-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/CCur-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake b/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake
similarity index 77%
rename from share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake
rename to share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake
index 96537f8..409b65a 100644
--- a/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake
+++ b/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake
@@ -134,3 +134,47 @@
     unset(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT)
   endif()
 endmacro()
+
+macro(cmake_record_cuda_compile_features)
+  set(_result 0)
+  if(_result EQUAL 0 AND DEFINED CMAKE_CUDA20_STANDARD_COMPILE_OPTION)
+    if(CMAKE_CUDA20_STANDARD__HAS_FULL_SUPPORT)
+      _has_compiler_features_cuda(20)
+    else()
+      _record_compiler_features_cuda(20)
+    endif()
+    unset(CMAKE_CUDA20_STANDARD__HAS_FULL_SUPPORT)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CUDA17_STANDARD_COMPILE_OPTION)
+    if(CMAKE_CUDA17_STANDARD__HAS_FULL_SUPPORT)
+      _has_compiler_features_cuda(17)
+    else()
+      _record_compiler_features_cuda(17)
+    endif()
+    unset(CMAKE_CUDA17_STANDARD__HAS_FULL_SUPPORT)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CUDA14_STANDARD_COMPILE_OPTION)
+    if(CMAKE_CUDA14_STANDARD__HAS_FULL_SUPPORT)
+      _has_compiler_features_cuda(14)
+    else()
+      _record_compiler_features_cuda(14)
+    endif()
+    unset(CMAKE_CUDA14_STANDARD__HAS_FULL_SUPPORT)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CUDA11_STANDARD_COMPILE_OPTION)
+    if(CMAKE_CUDA11_STANDARD__HAS_FULL_SUPPORT)
+      _has_compiler_features_cuda(11)
+    else()
+      _record_compiler_features_cuda(11)
+    endif()
+    unset(CMAKE_CUDA11_STANDARD__HAS_FULL_SUPPORT)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CUDA03_STANDARD_COMPILE_OPTION)
+    if(CMAKE_CUDA03_STANDARD__HAS_FULL_SUPPORT)
+      _has_compiler_features_cuda(03)
+    else()
+      _record_compiler_features_cuda(03)
+    endif()
+    unset(CMAKE_CUDA03_STANDARD__HAS_FULL_SUPPORT)
+  endif()
+endmacro()
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-ASM.cmake b/share/cmake-3.17/Modules/Compiler/Clang-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/Clang-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-C.cmake b/share/cmake-3.17/Modules/Compiler/Clang-C.cmake
similarity index 92%
rename from share/cmake-3.16/Modules/Compiler/Clang-C.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-C.cmake
index 0448965..7c4a263 100644
--- a/share/cmake-3.16/Modules/Compiler/Clang-C.cmake
+++ b/share/cmake-3.17/Modules/Compiler/Clang-C.cmake
@@ -6,6 +6,10 @@
   return()
 endif()
 
+if("x${CMAKE_C_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
+  set(CMAKE_C_CLANG_TIDY_DRIVER_MODE "cl")
+endif()
+
 if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
   if(NOT "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
     set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/Clang-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-CXX-TestableFeatures.cmake b/share/cmake-3.17/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-CXX.cmake b/share/cmake-3.17/Modules/Compiler/Clang-CXX.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/Compiler/Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-CXX.cmake
index 61709f8..cb240f9 100644
--- a/share/cmake-3.16/Modules/Compiler/Clang-CXX.cmake
+++ b/share/cmake-3.17/Modules/Compiler/Clang-CXX.cmake
@@ -10,6 +10,9 @@
   return()
 endif()
 
+if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
+  set(CMAKE_CXX_CLANG_TIDY_DRIVER_MODE "cl")
+endif()
 
 if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
   if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-DetermineCompilerInternal.cmake b/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-FindBinUtils.cmake b/share/cmake-3.17/Modules/Compiler/Clang-FindBinUtils.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-FindBinUtils.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-FindBinUtils.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-OBJC.cmake b/share/cmake-3.17/Modules/Compiler/Clang-OBJC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-OBJC.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-OBJC.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang-OBJCXX.cmake b/share/cmake-3.17/Modules/Compiler/Clang-OBJCXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Clang-OBJCXX.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang-OBJCXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Clang.cmake b/share/cmake-3.17/Modules/Compiler/Clang.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Compiler/Clang.cmake
rename to share/cmake-3.17/Modules/Compiler/Clang.cmake
index 5cc9328..f65916f 100644
--- a/share/cmake-3.16/Modules/Compiler/Clang.cmake
+++ b/share/cmake-3.17/Modules/Compiler/Clang.cmake
@@ -101,7 +101,7 @@
     if (NOT CMAKE_GENERATOR MATCHES "Xcode")
       set(CMAKE_PCH_PROLOGUE "#pragma clang system_header")
     endif()
-    set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE>)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE> -Xclang -include -Xclang <PCH_HEADER>)
     set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER>)
   endmacro()
 endif()
diff --git a/share/cmake-3.16/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Compaq-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Cray-C.cmake b/share/cmake-3.17/Modules/Compiler/Cray-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Cray-C.cmake
rename to share/cmake-3.17/Modules/Compiler/Cray-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Cray-CXX.cmake b/share/cmake-3.17/Modules/Compiler/Cray-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Cray-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/Cray-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Cray-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Cray-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Cray-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/Cray-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Cray-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/Cray-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Cray.cmake b/share/cmake-3.17/Modules/Compiler/Cray.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Cray.cmake
rename to share/cmake-3.17/Modules/Compiler/Cray.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/CrayPrgEnv-C.cmake b/share/cmake-3.17/Modules/Compiler/CrayPrgEnv-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/CrayPrgEnv-C.cmake
rename to share/cmake-3.17/Modules/Compiler/CrayPrgEnv-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/CrayPrgEnv-CXX.cmake b/share/cmake-3.17/Modules/Compiler/CrayPrgEnv-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/CrayPrgEnv-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/CrayPrgEnv-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/CrayPrgEnv-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/CrayPrgEnv-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/CrayPrgEnv-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/CrayPrgEnv-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/CrayPrgEnv.cmake b/share/cmake-3.17/Modules/Compiler/CrayPrgEnv.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/CrayPrgEnv.cmake
rename to share/cmake-3.17/Modules/Compiler/CrayPrgEnv.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Embarcadero-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Flang-FindBinUtils.cmake b/share/cmake-3.17/Modules/Compiler/Flang-FindBinUtils.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Flang-FindBinUtils.cmake
rename to share/cmake-3.17/Modules/Compiler/Flang-FindBinUtils.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Flang-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/Flang-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Flang-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/Flang-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Fujitsu-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/G95-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/G95-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/G95-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/G95-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GHS-C.cmake b/share/cmake-3.17/Modules/Compiler/GHS-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GHS-C.cmake
rename to share/cmake-3.17/Modules/Compiler/GHS-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GHS-CXX.cmake b/share/cmake-3.17/Modules/Compiler/GHS-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GHS-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/GHS-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GHS-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GHS-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GHS.cmake b/share/cmake-3.17/Modules/Compiler/GHS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GHS.cmake
rename to share/cmake-3.17/Modules/Compiler/GHS.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-ASM.cmake b/share/cmake-3.17/Modules/Compiler/GNU-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/GNU-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/GNU-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-C.cmake b/share/cmake-3.17/Modules/Compiler/GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-C.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/GNU-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake b/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-FindBinUtils.cmake b/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-FindBinUtils.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-OBJC.cmake b/share/cmake-3.17/Modules/Compiler/GNU-OBJC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-OBJC.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-OBJC.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-OBJCXX.cmake b/share/cmake-3.17/Modules/Compiler/GNU-OBJCXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU-OBJCXX.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU-OBJCXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/GNU.cmake b/share/cmake-3.17/Modules/Compiler/GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/GNU.cmake
rename to share/cmake-3.17/Modules/Compiler/GNU.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/HP-ASM.cmake b/share/cmake-3.17/Modules/Compiler/HP-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/HP-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/HP-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/HP-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/HP-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/HP-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/HP-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/HP-C.cmake b/share/cmake-3.17/Modules/Compiler/HP-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/HP-C.cmake
rename to share/cmake-3.17/Modules/Compiler/HP-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/HP-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/HP-CXX.cmake b/share/cmake-3.17/Modules/Compiler/HP-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/HP-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/HP-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/HP-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/HP-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/HP-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/HP-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IAR-ASM.cmake b/share/cmake-3.17/Modules/Compiler/IAR-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IAR-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/IAR-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IAR-C.cmake b/share/cmake-3.17/Modules/Compiler/IAR-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IAR-C.cmake
rename to share/cmake-3.17/Modules/Compiler/IAR-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IAR-CXX.cmake b/share/cmake-3.17/Modules/Compiler/IAR-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IAR-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/IAR-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IAR-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IAR-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IAR-FindBinUtils.cmake b/share/cmake-3.17/Modules/Compiler/IAR-FindBinUtils.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IAR-FindBinUtils.cmake
rename to share/cmake-3.17/Modules/Compiler/IAR-FindBinUtils.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IAR.cmake b/share/cmake-3.17/Modules/Compiler/IAR.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IAR.cmake
rename to share/cmake-3.17/Modules/Compiler/IAR.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake b/share/cmake-3.17/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
rename to share/cmake-3.17/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake b/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
rename to share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-ASM.cmake b/share/cmake-3.17/Modules/Compiler/Intel-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Intel-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/Intel-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Intel-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-C.cmake b/share/cmake-3.17/Modules/Compiler/Intel-C.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/Compiler/Intel-C.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-C.cmake
index e9e59a2..ec3bfd8 100644
--- a/share/cmake-3.16/Modules/Compiler/Intel-C.cmake
+++ b/share/cmake-3.17/Modules/Compiler/Intel-C.cmake
@@ -9,6 +9,8 @@
 
 if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
 
+  set(CMAKE_C_CLANG_TIDY_DRIVER_MODE "cl")
+
   if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 16.0.0)
     set(CMAKE_C11_STANDARD_COMPILE_OPTION "-Qstd=c11")
     set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-Qstd=c11")
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/Intel-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Intel-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-CXX.cmake b/share/cmake-3.17/Modules/Compiler/Intel-CXX.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Compiler/Intel-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-CXX.cmake
index b630a6b..1ed1b08 100644
--- a/share/cmake-3.16/Modules/Compiler/Intel-CXX.cmake
+++ b/share/cmake-3.17/Modules/Compiler/Intel-CXX.cmake
@@ -9,6 +9,8 @@
 
 if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
 
+  set(CMAKE_CXX_CLANG_TIDY_DRIVER_MODE "cl")
+
   if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.0)
     set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-Qstd=c++17")
     set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-Qstd=c++17")
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Intel-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Intel-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/Intel-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Intel-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Intel.cmake b/share/cmake-3.17/Modules/Compiler/Intel.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Intel.cmake
rename to share/cmake-3.17/Modules/Compiler/Intel.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/MSVC-ASM.cmake b/share/cmake-3.17/Modules/Compiler/MSVC-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/MSVC-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/MSVC-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/MSVC-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/MSVC-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/MSVC-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/MSVC-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/MSVC-C.cmake b/share/cmake-3.17/Modules/Compiler/MSVC-C.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/Compiler/MSVC-C.cmake
rename to share/cmake-3.17/Modules/Compiler/MSVC-C.cmake
index 20787a3..bca9764 100644
--- a/share/cmake-3.16/Modules/Compiler/MSVC-C.cmake
+++ b/share/cmake-3.17/Modules/Compiler/MSVC-C.cmake
@@ -11,6 +11,8 @@
 # There is no meaningful default for this
 set(CMAKE_C_STANDARD_DEFAULT "")
 
+set(CMAKE_C_CLANG_TIDY_DRIVER_MODE "cl")
+
 # There are no C compiler modes so we hard-code the known compiler supported
 # features. Override the default macro for this special case.  Pretend that
 # all language standards are available so that at least compilation
diff --git a/share/cmake-3.16/Modules/Compiler/MSVC-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/MSVC-CXX.cmake b/share/cmake-3.17/Modules/Compiler/MSVC-CXX.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Compiler/MSVC-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/MSVC-CXX.cmake
index 915295d..1dfc760 100644
--- a/share/cmake-3.16/Modules/Compiler/MSVC-CXX.cmake
+++ b/share/cmake-3.17/Modules/Compiler/MSVC-CXX.cmake
@@ -3,6 +3,8 @@
 
 include(Compiler/CMakeCommonCompilerMacros)
 
+set(CMAKE_CXX_CLANG_TIDY_DRIVER_MODE "cl")
+
 if ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0.24215.1 AND
      CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10) OR
    CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.10.25017)
diff --git a/share/cmake-3.16/Modules/Compiler/MSVC-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/MSVC-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/NAG-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/NAG-Fortran.cmake
similarity index 89%
rename from share/cmake-3.16/Modules/Compiler/NAG-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/NAG-Fortran.cmake
index edc56fd..2111c65 100644
--- a/share/cmake-3.16/Modules/Compiler/NAG-Fortran.cmake
+++ b/share/cmake-3.17/Modules/Compiler/NAG-Fortran.cmake
@@ -1,6 +1,6 @@
 # Help CMAKE_PARSE_IMPLICIT_LINK_INFO detect NAG Fortran object files.
 if(NOT CMAKE_Fortran_COMPILER_WORKS AND NOT CMAKE_Fortran_COMPILER_FORCED)
-  message(STATUS "Detecting NAG Fortran directory")
+  message(CHECK_START "Detecting NAG Fortran directory")
   # Run with -dryrun to see sample "link" line.
   execute_process(
     COMMAND ${CMAKE_Fortran_COMPILER} dummy.o -dryrun
@@ -20,11 +20,11 @@
       "  directory: ${_nag_dir}\n"
       "  regex: ${CMAKE_Fortran_IMPLICIT_OBJECT_REGEX}\n"
       "from output:\n${_dryrun}\n\n")
-    message(STATUS "Detecting NAG Fortran directory - ${_nag_dir}")
+    message(CHECK_PASS "${_nag_dir}")
   else()
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
       "Detecting NAG Fortran directory with -dryrun failed:\n${_dryrun}\n\n")
-    message(STATUS "Detecting NAG Fortran directory - failed")
+    message(CHECK_FAIL "failed")
   endif()
 endif()
 
diff --git a/share/cmake-3.17/Modules/Compiler/NVIDIA-CUDA.cmake b/share/cmake-3.17/Modules/Compiler/NVIDIA-CUDA.cmake
new file mode 100644
index 0000000..1f4d54d
--- /dev/null
+++ b/share/cmake-3.17/Modules/Compiler/NVIDIA-CUDA.cmake
@@ -0,0 +1,89 @@
+include(Compiler/CMakeCommonCompilerMacros)
+
+set(CMAKE_CUDA_COMPILER_HAS_DEVICE_LINK_PHASE True)
+set(CMAKE_CUDA_VERBOSE_FLAG "-v")
+set(CMAKE_CUDA_VERBOSE_COMPILE_FLAG "-Xcompiler=-v")
+
+if (CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 10.2.89)
+  # The -forward-unknown-to-host-compiler flag was only
+  # added to nvcc in 10.2 so before that we had no good
+  # way to invoke the CUDA compiler and propagate unknown
+  # flags such as -pthread to the host compiler
+  set(_CMAKE_CUDA_EXTRA_FLAGS "-forward-unknown-to-host-compiler")
+else()
+  set(_CMAKE_CUDA_EXTRA_FLAGS "")
+endif()
+
+if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
+  set(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS "-Wno-deprecated-gpu-targets")
+else()
+  set(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS "")
+endif()
+
+if (CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 10.2.89)
+  # The -MD flag was only added to nvcc in 10.2 so
+  # before that we had to invoke the compiler twice
+  # to get header dependency information
+  set(CMAKE_DEPFILE_FLAGS_CUDA "-MD -MT <OBJECT> -MF <DEPFILE>")
+endif()
+
+if(NOT "x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
+  set(CMAKE_CUDA_COMPILE_OPTIONS_PIE -Xcompiler=-fPIE)
+  set(CMAKE_CUDA_COMPILE_OPTIONS_PIC -Xcompiler=-fPIC)
+  set(CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY -Xcompiler=-fvisibility=)
+  # CMAKE_SHARED_LIBRARY_CUDA_FLAGS is sent to the host linker so we
+  # don't need to forward it through nvcc.
+  set(CMAKE_SHARED_LIBRARY_CUDA_FLAGS -fPIC)
+  string(APPEND CMAKE_CUDA_FLAGS_INIT " ")
+  string(APPEND CMAKE_CUDA_FLAGS_DEBUG_INIT " -g")
+  string(APPEND CMAKE_CUDA_FLAGS_RELEASE_INIT " -O3 -DNDEBUG")
+  string(APPEND CMAKE_CUDA_FLAGS_MINSIZEREL_INIT " -O1 -DNDEBUG")
+  string(APPEND CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")
+endif()
+set(CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS -shared)
+set(CMAKE_INCLUDE_SYSTEM_FLAG_CUDA -isystem=)
+
+set(CMAKE_CUDA_RUNTIME_LIBRARY_DEFAULT "STATIC")
+set(CMAKE_CUDA_RUNTIME_LIBRARY_LINK_OPTIONS_STATIC  "cudadevrt;cudart_static")
+set(CMAKE_CUDA_RUNTIME_LIBRARY_LINK_OPTIONS_SHARED  "cudadevrt;cudart")
+set(CMAKE_CUDA_RUNTIME_LIBRARY_LINK_OPTIONS_NONE    "")
+
+if("x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
+  set(CMAKE_CUDA03_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CUDA03_EXTENSION_COMPILE_OPTION "")
+
+  set(CMAKE_CUDA11_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CUDA11_EXTENSION_COMPILE_OPTION "")
+
+  if (NOT CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 9.0)
+    set(CMAKE_CUDA14_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_CUDA14_EXTENSION_COMPILE_OPTION "")
+  endif()
+else()
+  set(CMAKE_CUDA03_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CUDA03_EXTENSION_COMPILE_OPTION "")
+
+  set(CMAKE_CUDA11_STANDARD_COMPILE_OPTION "-std=c++11")
+  set(CMAKE_CUDA11_EXTENSION_COMPILE_OPTION "-std=c++11")
+
+  if (NOT CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 9.0)
+    set(CMAKE_CUDA03_STANDARD_COMPILE_OPTION "-std=c++03")
+    set(CMAKE_CUDA03_EXTENSION_COMPILE_OPTION "-std=c++03")
+    set(CMAKE_CUDA14_STANDARD_COMPILE_OPTION "-std=c++14")
+    set(CMAKE_CUDA14_EXTENSION_COMPILE_OPTION "-std=c++14")
+  endif()
+
+endif()
+
+# FIXME: investigate use of --options-file.
+# Tell Makefile generator that nvcc does not support @<rspfile> syntax.
+set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES 0)
+set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
+set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_OBJECTS 0)
+
+if (CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "9.0")
+  set(CMAKE_CUDA_RESPONSE_FILE_DEVICE_LINK_FLAG "--options-file ")
+  set(CMAKE_CUDA_RESPONSE_FILE_FLAG "--options-file ")
+endif()
+
+__compiler_check_default_language_standard(CUDA 6.0 03)
diff --git a/share/cmake-3.16/Modules/Compiler/NVIDIA-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PGI-C.cmake b/share/cmake-3.17/Modules/Compiler/PGI-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PGI-C.cmake
rename to share/cmake-3.17/Modules/Compiler/PGI-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PGI-CXX.cmake b/share/cmake-3.17/Modules/Compiler/PGI-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PGI-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/PGI-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PGI-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PGI-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PGI-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/PGI-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PGI-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/PGI-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PGI.cmake b/share/cmake-3.17/Modules/Compiler/PGI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PGI.cmake
rename to share/cmake-3.17/Modules/Compiler/PGI.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PathScale-C.cmake b/share/cmake-3.17/Modules/Compiler/PathScale-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PathScale-C.cmake
rename to share/cmake-3.17/Modules/Compiler/PathScale-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PathScale-CXX.cmake b/share/cmake-3.17/Modules/Compiler/PathScale-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PathScale-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/PathScale-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PathScale-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PathScale-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PathScale-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/PathScale-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PathScale-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/PathScale-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/PathScale.cmake b/share/cmake-3.17/Modules/Compiler/PathScale.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/PathScale.cmake
rename to share/cmake-3.17/Modules/Compiler/PathScale.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/QCC-ASM.cmake b/share/cmake-3.17/Modules/Compiler/QCC-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/QCC-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/QCC-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/QCC-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/QCC-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/QCC-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/QCC-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/QCC-C.cmake b/share/cmake-3.17/Modules/Compiler/QCC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/QCC-C.cmake
rename to share/cmake-3.17/Modules/Compiler/QCC-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/QCC-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/QCC-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/QCC-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/QCC-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/QCC-CXX.cmake b/share/cmake-3.17/Modules/Compiler/QCC-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/QCC-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/QCC-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/QCC.cmake b/share/cmake-3.17/Modules/Compiler/QCC.cmake
similarity index 92%
rename from share/cmake-3.16/Modules/Compiler/QCC.cmake
rename to share/cmake-3.17/Modules/Compiler/QCC.cmake
index 9df8269..10e1389 100644
--- a/share/cmake-3.16/Modules/Compiler/QCC.cmake
+++ b/share/cmake-3.17/Modules/Compiler/QCC.cmake
@@ -10,6 +10,9 @@
   # http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/q/qcc.html#examples
   set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-V")
 
+  set(CMAKE_PREFIX_LIBRARY_ARCHITECTURE "ON")
+
+  set(CMAKE_${lang}_COMPILE_OPTIONS_SYSROOT "-Wc,-isysroot,")
   set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-Wp,-isystem,")
   set(CMAKE_DEPFILE_FLAGS_${lang} "-Wp,-MD,<DEPFILE> -Wp,-MT,<OBJECT> -Wp,-MF,<DEPFILE>")
 
diff --git a/share/cmake-3.16/Modules/Compiler/SCO-C.cmake b/share/cmake-3.17/Modules/Compiler/SCO-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SCO-C.cmake
rename to share/cmake-3.17/Modules/Compiler/SCO-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SCO-CXX.cmake b/share/cmake-3.17/Modules/Compiler/SCO-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SCO-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/SCO-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SCO-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SCO-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SCO.cmake b/share/cmake-3.17/Modules/Compiler/SCO.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SCO.cmake
rename to share/cmake-3.17/Modules/Compiler/SCO.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SDCC-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-ASM.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-C-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-C-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-C-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-C.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-C.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-CXX-FeatureTests.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-CXX.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/SunPro-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/SunPro.cmake b/share/cmake-3.17/Modules/Compiler/SunPro.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/SunPro.cmake
rename to share/cmake-3.17/Modules/Compiler/SunPro.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/TI-ASM.cmake b/share/cmake-3.17/Modules/Compiler/TI-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/TI-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/TI-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/TI-C.cmake b/share/cmake-3.17/Modules/Compiler/TI-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/TI-C.cmake
rename to share/cmake-3.17/Modules/Compiler/TI-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/TI-CXX.cmake b/share/cmake-3.17/Modules/Compiler/TI-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/TI-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/TI-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/TI-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/TI-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/TinyCC-C.cmake b/share/cmake-3.17/Modules/Compiler/TinyCC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/TinyCC-C.cmake
rename to share/cmake-3.17/Modules/Compiler/TinyCC-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/VisualAge-C.cmake b/share/cmake-3.17/Modules/Compiler/VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/VisualAge-C.cmake
rename to share/cmake-3.17/Modules/Compiler/VisualAge-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/VisualAge-CXX.cmake b/share/cmake-3.17/Modules/Compiler/VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/VisualAge-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/VisualAge-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/VisualAge-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/VisualAge-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/VisualAge-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/VisualAge-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/Watcom-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/Watcom-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XL-ASM.cmake b/share/cmake-3.17/Modules/Compiler/XL-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XL-ASM.cmake
rename to share/cmake-3.17/Modules/Compiler/XL-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XL-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/XL-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XL-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/XL-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XL-C.cmake b/share/cmake-3.17/Modules/Compiler/XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XL-C.cmake
rename to share/cmake-3.17/Modules/Compiler/XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XL-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XL-CXX.cmake b/share/cmake-3.17/Modules/Compiler/XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XL-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XL-Fortran.cmake b/share/cmake-3.17/Modules/Compiler/XL-Fortran.cmake
similarity index 72%
rename from share/cmake-3.16/Modules/Compiler/XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Compiler/XL-Fortran.cmake
index c4fb097..1683dff 100644
--- a/share/cmake-3.16/Modules/Compiler/XL-Fortran.cmake
+++ b/share/cmake-3.17/Modules/Compiler/XL-Fortran.cmake
@@ -18,3 +18,7 @@
 # xlf: 1501-214 (W) command option E reserved for future use - ignored
 set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
 set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+  "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -qpreprocess -qnoobject -qsuppress=1517-020 -tF -B \"${CMAKE_CURRENT_LIST_DIR}/XL-Fortran/\" -WF,--cpp,\"${CMAKE_Fortran_XL_CPP}\",--out,<PREPROCESSED_SOURCE> <SOURCE>"
+  )
diff --git a/share/cmake-3.17/Modules/Compiler/XL-Fortran/cpp b/share/cmake-3.17/Modules/Compiler/XL-Fortran/cpp
new file mode 100644
index 0000000..1fd62c2
--- /dev/null
+++ b/share/cmake-3.17/Modules/Compiler/XL-Fortran/cpp
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+# Source file.
+src="$(printf %q "$1")"
+shift
+
+# Output file the compiler expects.
+out="$(printf %q "$1")"
+shift
+
+# Create the file the compiler expects.  It will check syntax.
+>"$out"
+
+cpp='cpp'
+opts=''
+while test "$#" != 0; do
+    case "$1" in
+    # Extract the option for the path to cpp.
+    --cpp) shift; cpp="$(printf %q "$1")" ;;
+    # Extract the option for our own output file.
+    --out) shift; out="$(printf %q "$1")" ;;
+    # Collect the rest of the command line.
+    *) opts="$opts $(printf %q "$1")" ;;
+    esac
+    shift
+done
+
+# Execute the real preprocessor tool.
+eval "exec $cpp $src $out $opts"
diff --git a/share/cmake-3.16/Modules/Compiler/XL.cmake b/share/cmake-3.17/Modules/Compiler/XL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XL.cmake
rename to share/cmake-3.17/Modules/Compiler/XL.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XLClang-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/XLClang-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XLClang-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/XLClang-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XLClang-C.cmake b/share/cmake-3.17/Modules/Compiler/XLClang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XLClang-C.cmake
rename to share/cmake-3.17/Modules/Compiler/XLClang-C.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XLClang-CXX.cmake b/share/cmake-3.17/Modules/Compiler/XLClang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XLClang-CXX.cmake
rename to share/cmake-3.17/Modules/Compiler/XLClang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/XLClang.cmake b/share/cmake-3.17/Modules/Compiler/XLClang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/XLClang.cmake
rename to share/cmake-3.17/Modules/Compiler/XLClang.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/zOS-C-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/zOS-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/zOS-C-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/zOS-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake b/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
rename to share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.16/Modules/CompilerId/GHS_default.gpj.in b/share/cmake-3.17/Modules/CompilerId/GHS_default.gpj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/GHS_default.gpj.in
rename to share/cmake-3.17/Modules/CompilerId/GHS_default.gpj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/GHS_lib.gpj.in b/share/cmake-3.17/Modules/CompilerId/GHS_lib.gpj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/GHS_lib.gpj.in
rename to share/cmake-3.17/Modules/CompilerId/GHS_lib.gpj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/VS-10.csproj.in b/share/cmake-3.17/Modules/CompilerId/VS-10.csproj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/VS-10.csproj.in
rename to share/cmake-3.17/Modules/CompilerId/VS-10.csproj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/VS-10.vcxproj.in b/share/cmake-3.17/Modules/CompilerId/VS-10.vcxproj.in
similarity index 97%
rename from share/cmake-3.16/Modules/CompilerId/VS-10.vcxproj.in
rename to share/cmake-3.17/Modules/CompilerId/VS-10.vcxproj.in
index d742274..b48a332 100644
--- a/share/cmake-3.16/Modules/CompilerId/VS-10.vcxproj.in
+++ b/share/cmake-3.17/Modules/CompilerId/VS-10.vcxproj.in
@@ -15,6 +15,8 @@
     @id_WindowsTargetPlatformVersion@
     @id_WindowsSDKDesktopARMSupport@
     @id_CudaToolkitCustomDir@
+    @id_ToolsetVCTargetsDir@
+    @id_CustomGlobals@
   </PropertyGroup>
   @id_toolset_version_props@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
diff --git a/share/cmake-3.16/Modules/CompilerId/VS-7.vcproj.in b/share/cmake-3.17/Modules/CompilerId/VS-7.vcproj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/VS-7.vcproj.in
rename to share/cmake-3.17/Modules/CompilerId/VS-7.vcproj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/VS-Intel.vfproj.in b/share/cmake-3.17/Modules/CompilerId/VS-Intel.vfproj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/VS-Intel.vfproj.in
rename to share/cmake-3.17/Modules/CompilerId/VS-Intel.vfproj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/VS-NsightTegra.vcxproj.in b/share/cmake-3.17/Modules/CompilerId/VS-NsightTegra.vcxproj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/VS-NsightTegra.vcxproj.in
rename to share/cmake-3.17/Modules/CompilerId/VS-NsightTegra.vcxproj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/Xcode-3.pbxproj.in b/share/cmake-3.17/Modules/CompilerId/Xcode-3.pbxproj.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/Xcode-3.pbxproj.in
rename to share/cmake-3.17/Modules/CompilerId/Xcode-3.pbxproj.in
diff --git a/share/cmake-3.16/Modules/CompilerId/main.swift.in b/share/cmake-3.17/Modules/CompilerId/main.swift.in
similarity index 100%
rename from share/cmake-3.16/Modules/CompilerId/main.swift.in
rename to share/cmake-3.17/Modules/CompilerId/main.swift.in
diff --git a/share/cmake-3.16/Modules/Dart.cmake b/share/cmake-3.17/Modules/Dart.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Dart.cmake
rename to share/cmake-3.17/Modules/Dart.cmake
diff --git a/share/cmake-3.16/Modules/DartConfiguration.tcl.in b/share/cmake-3.17/Modules/DartConfiguration.tcl.in
similarity index 97%
rename from share/cmake-3.16/Modules/DartConfiguration.tcl.in
rename to share/cmake-3.17/Modules/DartConfiguration.tcl.in
index e4513b3..086ba07 100644
--- a/share/cmake-3.16/Modules/DartConfiguration.tcl.in
+++ b/share/cmake-3.17/Modules/DartConfiguration.tcl.in
@@ -69,6 +69,8 @@
 PurifyCommand: @PURIFYCOMMAND@
 ValgrindCommand: @VALGRIND_COMMAND@
 ValgrindCommandOptions: @VALGRIND_COMMAND_OPTIONS@
+DrMemoryCommand: @DRMEMORY_COMMAND@
+DrMemoryCommandOptions: @DRMEMORY_COMMAND_OPTIONS@
 MemoryCheckType: @MEMORYCHECK_TYPE@
 MemoryCheckSanitizerOptions: @MEMORYCHECK_SANITIZER_OPTIONS@
 MemoryCheckCommand: @MEMORYCHECK_COMMAND@
diff --git a/share/cmake-3.16/Modules/DeployQt4.cmake b/share/cmake-3.17/Modules/DeployQt4.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/DeployQt4.cmake
rename to share/cmake-3.17/Modules/DeployQt4.cmake
index 4a18927..9aa4383 100644
--- a/share/cmake-3.16/Modules/DeployQt4.cmake
+++ b/share/cmake-3.17/Modules/DeployQt4.cmake
@@ -106,7 +106,6 @@
 # The functions defined in this file depend on the fixup_bundle function
 # (and others) found in BundleUtilities.cmake
 
-set(DeployQt4_cmake_dir "${CMAKE_CURRENT_LIST_DIR}")
 set(DeployQt4_apple_plugins_dir "PlugIns")
 
 function(write_qt4_conf qt_conf_dir qt_conf_contents)
@@ -392,7 +391,7 @@
   resolve_qt4_paths(libs "")
 
   install(CODE
-"include(\"${DeployQt4_cmake_dir}/DeployQt4.cmake\")
+"include(\"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DeployQt4.cmake\")
 set(BU_CHMOD_BUNDLE_ITEMS TRUE)
 FIXUP_QT4_EXECUTABLE(\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${executable}\" \"\" \"${libs}\" \"${dirs}\" \"${plugins_dir}\" \"${request_qt_conf}\")"
           ${component}
diff --git a/share/cmake-3.16/Modules/Documentation.cmake b/share/cmake-3.17/Modules/Documentation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Documentation.cmake
rename to share/cmake-3.17/Modules/Documentation.cmake
diff --git a/share/cmake-3.16/Modules/DummyCXXFile.cxx b/share/cmake-3.17/Modules/DummyCXXFile.cxx
similarity index 100%
rename from share/cmake-3.16/Modules/DummyCXXFile.cxx
rename to share/cmake-3.17/Modules/DummyCXXFile.cxx
diff --git a/share/cmake-3.16/Modules/ExternalData.cmake b/share/cmake-3.17/Modules/ExternalData.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/ExternalData.cmake
rename to share/cmake-3.17/Modules/ExternalData.cmake
diff --git a/share/cmake-3.16/Modules/ExternalData_config.cmake.in b/share/cmake-3.17/Modules/ExternalData_config.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/ExternalData_config.cmake.in
rename to share/cmake-3.17/Modules/ExternalData_config.cmake.in
diff --git a/share/cmake-3.16/Modules/ExternalProject-download.cmake.in b/share/cmake-3.17/Modules/ExternalProject-download.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/ExternalProject-download.cmake.in
rename to share/cmake-3.17/Modules/ExternalProject-download.cmake.in
diff --git a/share/cmake-3.16/Modules/ExternalProject-verify.cmake.in b/share/cmake-3.17/Modules/ExternalProject-verify.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/ExternalProject-verify.cmake.in
rename to share/cmake-3.17/Modules/ExternalProject-verify.cmake.in
diff --git a/share/cmake-3.16/Modules/ExternalProject.cmake b/share/cmake-3.17/Modules/ExternalProject.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/ExternalProject.cmake
rename to share/cmake-3.17/Modules/ExternalProject.cmake
index 66061a1..5bac0d8 100644
--- a/share/cmake-3.16/Modules/ExternalProject.cmake
+++ b/share/cmake-3.17/Modules/ExternalProject.cmake
@@ -265,6 +265,11 @@
         is set to ``NEW`` if this value is set to an empty string then no submodules
         are initialized or updated.
 
+      ``GIT_SUBMODULES_RECURSE <bool>``
+        Specify whether git submodules (if any) should update recursively by
+        passing the ``--recursive`` flag to ``git submodule update``.
+        If not specified, the default is on.
+
       ``GIT_SHALLOW <bool>``
         When this option is enabled, the ``git clone`` operation will be given
         the ``--depth 1`` option. This performs a shallow clone, which avoids
@@ -1065,7 +1070,7 @@
   "ExternalProject module."
   )
 
-function(_ep_write_gitclone_script script_filename source_dir git_EXECUTABLE git_repository git_tag git_remote_name init_submodules git_submodules git_shallow git_progress git_config src_name work_dir gitclone_infofile gitclone_stampfile tls_verify)
+function(_ep_write_gitclone_script script_filename source_dir git_EXECUTABLE git_repository git_tag git_remote_name init_submodules git_submodules_recurse git_submodules git_shallow git_progress git_config src_name work_dir gitclone_infofile gitclone_stampfile tls_verify)
   if(NOT GIT_VERSION_STRING VERSION_LESS 1.8.5)
     # Use `git checkout <tree-ish> --` to avoid ambiguity with a local path.
     set(git_checkout_explicit-- "--")
@@ -1091,7 +1096,7 @@
     list(APPEND git_clone_options --progress)
   endif()
   foreach(config IN LISTS git_config)
-    list(APPEND git_clone_options --config ${config})
+    list(APPEND git_clone_options --config \"${config}\")
   endforeach()
   if(NOT ${git_remote_name} STREQUAL "origin")
     list(APPEND git_clone_options --origin \"${git_remote_name}\")
@@ -1115,7 +1120,7 @@
 endif()
 
 execute_process(
-  COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
+  COMMAND \${CMAKE_COMMAND} -E rm -rf \"${source_dir}\"
   RESULT_VARIABLE error_code
   )
 if(error_code)
@@ -1153,7 +1158,7 @@
 set(init_submodules ${init_submodules})
 if(init_submodules)
   execute_process(
-    COMMAND \"${git_EXECUTABLE}\" ${git_options} submodule update --recursive --init ${git_submodules}
+    COMMAND \"${git_EXECUTABLE}\" ${git_options} submodule update ${git_submodules_recurse} --init ${git_submodules}
     WORKING_DIRECTORY \"${work_dir}/${src_name}\"
     RESULT_VARIABLE error_code
     )
@@ -1191,7 +1196,7 @@
 endif()
 
 execute_process(
-  COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
+  COMMAND \${CMAKE_COMMAND} -E rm -rf \"${source_dir}\"
   RESULT_VARIABLE error_code
   )
 if(error_code)
@@ -1234,7 +1239,7 @@
 endfunction()
 
 
-function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_remote_name init_submodules git_submodules git_repository work_dir)
+function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_remote_name init_submodules git_submodules_recurse git_submodules git_repository work_dir)
   if("${git_tag}" STREQUAL "")
     message(FATAL_ERROR "Tag for git checkout should not be empty.")
   endif()
@@ -1394,7 +1399,7 @@
   set(init_submodules ${init_submodules})
   if(init_submodules)
     execute_process(
-      COMMAND \"${git_EXECUTABLE}\" submodule update --recursive --init ${git_submodules}
+      COMMAND \"${git_EXECUTABLE}\" submodule update ${git_submodules_recurse} --init ${git_submodules}
       WORKING_DIRECTORY \"${work_dir}/${src_name}\"
       RESULT_VARIABLE error_code
       )
@@ -1772,6 +1777,11 @@
   # Replace location tags.
   _ep_replace_location_tags(${target_name} script_initial_cache)
   _ep_replace_location_tags(${target_name} script_filename)
+  # Replace list separators.
+  get_property(sep TARGET ${target_name} PROPERTY _EP_LIST_SEPARATOR)
+  if(sep AND script_initial_cache)
+    string(REPLACE "${sep}" ";" script_initial_cache "${script_initial_cache}")
+  endif()
   # Write out the initial cache file to the location specified.
   file(GENERATE OUTPUT "${script_filename}" CONTENT "${script_initial_cache}")
 endfunction()
@@ -2329,6 +2339,29 @@
   endif()
 endfunction()
 
+function(_ep_get_git_submodules_recurse git_submodules_recurse)
+  # Checks for GIT_SUBMODULES_RECURSE property
+  # Default is ON, which sets git_submodules_recurse output variable to "--recursive"
+  # Otherwise, the output variable is set to an empty value ""
+  get_property(git_submodules_recurse_set TARGET ${name} PROPERTY _EP_GIT_SUBMODULES_RECURSE SET)
+  if(NOT git_submodules_recurse_set)
+    set(recurseFlag "--recursive")
+  else()
+    get_property(git_submodules_recurse_value TARGET ${name} PROPERTY _EP_GIT_SUBMODULES_RECURSE)
+    if(git_submodules_recurse_value)
+      set(recurseFlag "--recursive")
+    else()
+      set(recurseFlag "")
+    endif()
+  endif()
+  set(${git_submodules_recurse} "${recurseFlag}" PARENT_SCOPE)
+
+  # The git submodule update '--recursive' flag requires git >= v1.6.5
+  if(recurseFlag AND GIT_VERSION_STRING VERSION_LESS 1.6.5)
+    message(FATAL_ERROR "error: git version 1.6.5 or later required for --recursive flag with 'git submodule ...': GIT_VERSION_STRING='${GIT_VERSION_STRING}'")
+  endif()
+endfunction()
+
 
 function(_ep_add_download_command name)
   ExternalProject_Get_Property(${name} source_dir stamp_dir download_dir tmp_dir)
@@ -2421,11 +2454,7 @@
       message(FATAL_ERROR "error: could not find git for clone of ${name}")
     endif()
 
-    # The git submodule update '--recursive' flag requires git >= v1.6.5
-    #
-    if(GIT_VERSION_STRING VERSION_LESS 1.6.5)
-      message(FATAL_ERROR "error: git version 1.6.5 or later required for 'git submodule update --recursive': GIT_VERSION_STRING='${GIT_VERSION_STRING}'")
-    endif()
+    _ep_get_git_submodules_recurse(git_submodules_recurse)
 
     get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
     if(NOT git_tag)
@@ -2477,7 +2506,7 @@
     # The script will delete the source directory and then call git clone.
     #
     _ep_write_gitclone_script(${tmp_dir}/${name}-gitclone.cmake ${source_dir}
-      ${GIT_EXECUTABLE} ${git_repository} ${git_tag} ${git_remote_name} ${git_init_submodules} "${git_submodules}" "${git_shallow}" "${git_progress}" "${git_config}" ${src_name} ${work_dir}
+      ${GIT_EXECUTABLE} ${git_repository} ${git_tag} ${git_remote_name} ${git_init_submodules} "${git_submodules_recurse}" "${git_submodules}" "${git_shallow}" "${git_progress}" "${git_config}" ${src_name} ${work_dir}
       ${stamp_dir}/${name}-gitinfo.txt ${stamp_dir}/${name}-gitclone-lastrun.txt "${tls_verify}"
       )
     set(comment "Performing download step (git clone) for '${name}'")
@@ -2563,7 +2592,7 @@
     if(IS_DIRECTORY "${url}")
       get_filename_component(abs_dir "${url}" ABSOLUTE)
       set(comment "Performing download step (DIR copy) for '${name}'")
-      set(cmd   ${CMAKE_COMMAND} -E remove_directory ${source_dir}
+      set(cmd   ${CMAKE_COMMAND} -E rm -rf ${source_dir}
         COMMAND ${CMAKE_COMMAND} -E copy_directory ${abs_dir} ${source_dir})
     else()
       get_property(no_extract TARGET "${name}" PROPERTY _EP_DOWNLOAD_NO_EXTRACT SET)
@@ -2752,8 +2781,10 @@
       endif()
     endif()
 
+    _ep_get_git_submodules_recurse(git_submodules_recurse)
+
     _ep_write_gitupdate_script(${tmp_dir}/${name}-gitupdate.cmake
-      ${GIT_EXECUTABLE} ${git_tag} ${git_remote_name} ${git_init_submodules} "${git_submodules}" ${git_repository} ${work_dir}
+      ${GIT_EXECUTABLE} ${git_tag} ${git_remote_name} ${git_init_submodules} "${git_submodules_recurse}" "${git_submodules}" ${git_repository} ${work_dir}
       )
     set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitupdate.cmake)
     set(always 1)
diff --git a/share/cmake-3.16/Modules/FLTKCompatibility.cmake b/share/cmake-3.17/Modules/FLTKCompatibility.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FLTKCompatibility.cmake
rename to share/cmake-3.17/Modules/FLTKCompatibility.cmake
diff --git a/share/cmake-3.16/Modules/FeatureSummary.cmake b/share/cmake-3.17/Modules/FeatureSummary.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FeatureSummary.cmake
rename to share/cmake-3.17/Modules/FeatureSummary.cmake
diff --git a/share/cmake-3.16/Modules/FetchContent.cmake b/share/cmake-3.17/Modules/FetchContent.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FetchContent.cmake
rename to share/cmake-3.17/Modules/FetchContent.cmake
index 5716b01..f3e1b51 100644
--- a/share/cmake-3.16/Modules/FetchContent.cmake
+++ b/share/cmake-3.17/Modules/FetchContent.cmake
@@ -596,9 +596,6 @@
 
 #]=======================================================================]
 
-
-set(__FetchContent_privateDir "${CMAKE_CURRENT_LIST_DIR}/FetchContent")
-
 #=======================================================================
 # Recording and retrieving content details for later population
 #=======================================================================
@@ -888,7 +885,7 @@
   # anything to be updated, so extra rebuilds of the project won't occur.
   # Make sure to pass through CMAKE_MAKE_PROGRAM in case the main project
   # has this set to something not findable on the PATH.
-  configure_file("${__FetchContent_privateDir}/CMakeLists.cmake.in"
+  configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/FetchContent/CMakeLists.cmake.in"
                  "${ARG_SUBBUILD_DIR}/CMakeLists.txt")
   execute_process(
     COMMAND ${CMAKE_COMMAND} ${generatorOpts} .
diff --git a/share/cmake-3.16/Modules/FetchContent/CMakeLists.cmake.in b/share/cmake-3.17/Modules/FetchContent/CMakeLists.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/FetchContent/CMakeLists.cmake.in
rename to share/cmake-3.17/Modules/FetchContent/CMakeLists.cmake.in
diff --git a/share/cmake-3.16/Modules/FindALSA.cmake b/share/cmake-3.17/Modules/FindALSA.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindALSA.cmake
rename to share/cmake-3.17/Modules/FindALSA.cmake
diff --git a/share/cmake-3.16/Modules/FindASPELL.cmake b/share/cmake-3.17/Modules/FindASPELL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindASPELL.cmake
rename to share/cmake-3.17/Modules/FindASPELL.cmake
diff --git a/share/cmake-3.16/Modules/FindAVIFile.cmake b/share/cmake-3.17/Modules/FindAVIFile.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindAVIFile.cmake
rename to share/cmake-3.17/Modules/FindAVIFile.cmake
diff --git a/share/cmake-3.16/Modules/FindArmadillo.cmake b/share/cmake-3.17/Modules/FindArmadillo.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindArmadillo.cmake
rename to share/cmake-3.17/Modules/FindArmadillo.cmake
diff --git a/share/cmake-3.16/Modules/FindBISON.cmake b/share/cmake-3.17/Modules/FindBISON.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindBISON.cmake
rename to share/cmake-3.17/Modules/FindBISON.cmake
diff --git a/share/cmake-3.17/Modules/FindBLAS.cmake b/share/cmake-3.17/Modules/FindBLAS.cmake
new file mode 100644
index 0000000..9b6d09c
--- /dev/null
+++ b/share/cmake-3.17/Modules/FindBLAS.cmake
@@ -0,0 +1,902 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindBLAS
+--------
+
+Find Basic Linear Algebra Subprograms (BLAS) library
+
+This module finds an installed Fortran library that implements the
+BLAS linear-algebra interface (see http://www.netlib.org/blas/).
+
+The approach follows that taken for the ``autoconf`` macro file,
+``acx_blas.m4`` (distributed at
+http://ac-archive.sourceforge.net/ac-archive/acx_blas.html).
+
+Input Variables
+^^^^^^^^^^^^^^^
+
+The following variables may be set to influence this module's behavior:
+
+``BLA_STATIC``
+  if ``ON`` use static linkage
+
+``BLA_VENDOR``
+  If set, checks only the specified vendor, if not set checks all the
+  possibilities.  List of vendors valid in this module:
+
+  * ``Goto``
+  * ``OpenBLAS``
+  * ``FLAME``
+  * ``ATLAS PhiPACK``
+  * ``CXML``
+  * ``DXML``
+  * ``SunPerf``
+  * ``SCSL``
+  * ``SGIMATH``
+  * ``IBMESSL``
+  * ``Intel10_32`` (intel mkl v10 32 bit)
+  * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model)
+  * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model)
+  * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model)
+  * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model)
+  * ``Intel10_64_dyn`` (intel mkl v10+ 64 bit, single dynamic library)
+  * ``Intel`` (obsolete versions of mkl 32 and 64 bit)
+  * ``ACML``
+  * ``ACML_MP``
+  * ``ACML_GPU``
+  * ``Apple``
+  * ``NAS``
+  * ``Generic``
+
+``BLA_F95``
+  if ``ON`` tries to find the BLAS95 interfaces
+
+``BLA_PREFER_PKGCONFIG``
+  if set ``pkg-config`` will be used to search for a BLAS library first
+  and if one is found that is preferred
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This module defines the following variables:
+
+``BLAS_FOUND``
+  library implementing the BLAS interface is found
+``BLAS_LINKER_FLAGS``
+  uncached list of required linker flags (excluding ``-l`` and ``-L``).
+``BLAS_LIBRARIES``
+  uncached list of libraries (using full path name) to link against
+  to use BLAS (may be empty if compiler implicitly links BLAS)
+``BLAS95_LIBRARIES``
+  uncached list of libraries (using full path name) to link against
+  to use BLAS95 interface
+``BLAS95_FOUND``
+  library implementing the BLAS95 interface is found
+
+.. note::
+
+  C, CXX or Fortran must be enabled to detect a BLAS library.
+  C or CXX must be enabled to use Intel Math Kernel Library (MKL).
+
+  For example, to use Intel MKL libraries and/or Intel compiler:
+
+  .. code-block:: cmake
+
+    set(BLA_VENDOR Intel10_64lp)
+    find_package(BLAS)
+
+Hints
+^^^^^
+
+Set the ``MKLROOT`` environment variable to a directory that contains an MKL
+installation, or add the directory to the dynamic library loader environment
+variable for your platform (``LIB``, ``DYLD_LIBRARY_PATH`` or
+``LD_LIBRARY_PATH``).
+
+#]=======================================================================]
+
+# Check the language being used
+if(NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED))
+  if(BLAS_FIND_REQUIRED)
+    message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.")
+  else()
+    message(STATUS "Looking for BLAS... - NOT found (Unsupported languages)")
+    return()
+  endif()
+endif()
+
+if(CMAKE_Fortran_COMPILER_LOADED)
+  include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
+else()
+  include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
+endif()
+include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+cmake_push_check_state()
+set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY})
+
+if(BLA_PREFER_PKGCONFIG)
+  find_package(PkgConfig)
+  pkg_check_modules(PKGC_BLAS blas)
+  if(PKGC_BLAS_FOUND)
+    set(BLAS_FOUND ${PKGC_BLAS_FOUND})
+    set(BLAS_LIBRARIES "${PKGC_BLAS_LINK_LIBRARIES}")
+    return()
+  endif()
+endif()
+
+set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+if(BLA_STATIC)
+  if(WIN32)
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  else()
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  endif()
+else()
+  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+    # for ubuntu's libblas3gf and liblapack3gf packages
+    set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
+  endif()
+endif()
+
+# TODO: move this stuff to a separate module
+
+macro(CHECK_BLAS_LIBRARIES LIBRARIES _prefix _name _flags _list _threadlibs _addlibdir _subdirs)
+  # This macro checks for the existence of the combination of fortran libraries
+  # given by _list.  If the combination is found, this macro checks (using the
+  # Check_Fortran_Function_Exists macro) whether can link against that library
+  # combination using the name of a routine given by _name using the linker
+  # flags given by _flags.  If the combination of libraries is found and passes
+  # the link test, LIBRARIES is set to the list of complete library paths that
+  # have been found.  Otherwise, LIBRARIES is set to FALSE.
+
+  # N.B. _prefix is the prefix applied to the names of all cached variables that
+  # are generated internally and marked advanced by this macro.
+  # _addlibdir is a list of additional search paths. _subdirs is a list of path
+  # suffixes to be used by find_library().
+
+  set(_libraries_work TRUE)
+  set(${LIBRARIES})
+  set(_combined_name)
+
+  set(_extaddlibdir "${_addlibdir}")
+  if(WIN32)
+    list(APPEND _extaddlibdir ENV LIB)
+  elseif(APPLE)
+    list(APPEND _extaddlibdir ENV DYLD_LIBRARY_PATH)
+  else()
+    list(APPEND _extaddlibdir ENV LD_LIBRARY_PATH)
+  endif()
+  list(APPEND _extaddlibdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}")
+
+  foreach(_library ${_list})
+    if(_library MATCHES "^-Wl,--(start|end)-group$")
+      # Respect linker flags like --start/end-group (required by MKL)
+      set(${LIBRARIES} ${${LIBRARIES}} "${_library}")
+    else()
+      set(_combined_name ${_combined_name}_${_library})
+      if(NOT "${_threadlibs}" STREQUAL "")
+        set(_combined_name ${_combined_name}_threadlibs)
+      endif()
+      if(_libraries_work)
+        find_library(${_prefix}_${_library}_LIBRARY
+          NAMES ${_library}
+          PATHS ${_extaddlibdir}
+          PATH_SUFFIXES ${_subdirs}
+        )
+        #message("DEBUG: find_library(${_library}) got ${${_prefix}_${_library}_LIBRARY}")
+        mark_as_advanced(${_prefix}_${_library}_LIBRARY)
+        set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
+        set(_libraries_work ${${_prefix}_${_library}_LIBRARY})
+      endif()
+    endif()
+  endforeach()
+
+  if(_libraries_work)
+    # Test this combination of libraries.
+    set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_threadlibs})
+    #message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
+    if(CMAKE_Fortran_COMPILER_LOADED)
+      check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS)
+    else()
+      check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS)
+    endif()
+    set(CMAKE_REQUIRED_LIBRARIES)
+    set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
+  endif()
+
+  if(_libraries_work)
+    if("${_list}" STREQUAL "")
+      set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
+    else()
+      set(${LIBRARIES} ${${LIBRARIES}} ${_threadlibs})
+    endif()
+  else()
+    set(${LIBRARIES} FALSE)
+  endif()
+  #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
+endmacro()
+
+set(BLAS_LINKER_FLAGS)
+set(BLAS_LIBRARIES)
+set(BLAS95_LIBRARIES)
+if(NOT $ENV{BLA_VENDOR} STREQUAL "")
+  set(BLA_VENDOR $ENV{BLA_VENDOR})
+else()
+  if(NOT BLA_VENDOR)
+    set(BLA_VENDOR "All")
+  endif()
+endif()
+
+# Implicitly linked BLAS libraries?
+if(BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      ""
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in the Intel MKL 10+ library?
+if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    if(CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED)
+      # System-specific settings
+      if(WIN32)
+        if(BLA_STATIC)
+          set(BLAS_mkl_DLL_SUFFIX "")
+        else()
+          set(BLAS_mkl_DLL_SUFFIX "_dll")
+        endif()
+      else()
+        if(BLA_STATIC)
+          set(BLAS_mkl_START_GROUP "-Wl,--start-group")
+          set(BLAS_mkl_END_GROUP "-Wl,--end-group")
+        else()
+          set(BLAS_mkl_START_GROUP "")
+          set(BLAS_mkl_END_GROUP "")
+        endif()
+        # Switch to GNU Fortran support layer if needed (but not on Apple, where MKL does not provide it)
+        if(CMAKE_Fortran_COMPILER_LOADED AND CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT APPLE)
+            set(BLAS_mkl_INTFACE "gf")
+            set(BLAS_mkl_THREADING "gnu")
+            set(BLAS_mkl_OMP "gomp")
+        else()
+            set(BLAS_mkl_INTFACE "intel")
+            set(BLAS_mkl_THREADING "intel")
+            set(BLAS_mkl_OMP "iomp5")
+        endif()
+        set(BLAS_mkl_LM "-lm")
+        set(BLAS_mkl_LDL "-ldl")
+      endif()
+
+      if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
+        find_package(Threads)
+      else()
+        find_package(Threads REQUIRED)
+      endif()
+
+      if(BLA_VENDOR MATCHES "_64ilp")
+        set(BLAS_mkl_ILP_MODE "ilp64")
+      else()
+        set(BLAS_mkl_ILP_MODE "lp64")
+      endif()
+
+      set(BLAS_SEARCH_LIBS "")
+
+      if(BLA_F95)
+        set(BLAS_mkl_SEARCH_SYMBOL "sgemm_f95")
+        set(_LIBRARIES BLAS95_LIBRARIES)
+        if(WIN32)
+          # Find the main file (32-bit or 64-bit)
+          set(BLAS_SEARCH_LIBS_WIN_MAIN "")
+          if(BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
+              "mkl_blas95${BLAS_mkl_DLL_SUFFIX} mkl_intel_c${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
+              "mkl_blas95_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX} mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+
+          # Add threading/sequential libs
+          set(BLAS_SEARCH_LIBS_WIN_THREAD "")
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
+            # old version
+            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
+              "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
+            # mkl >= 10.3
+            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
+              "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
+              "mkl_sequential${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+
+          # Cartesian product of the above
+          foreach(MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN})
+            foreach(THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD})
+              list(APPEND BLAS_SEARCH_LIBS
+                "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}")
+            endforeach()
+          endforeach()
+        else()
+          if(BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
+            # old version
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
+
+            # mkl >= 10.3
+            list(APPEND BLAS_SEARCH_LIBS
+              "${BLAS_mkl_START_GROUP} mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
+            # old version
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl_blas95 mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
+
+            # mkl >= 10.3
+            list(APPEND BLAS_SEARCH_LIBS
+              "${BLAS_mkl_START_GROUP} mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS
+              "${BLAS_mkl_START_GROUP} mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core ${BLAS_mkl_END_GROUP}")
+          endif()
+        endif()
+      else()
+        set(BLAS_mkl_SEARCH_SYMBOL sgemm)
+        set(_LIBRARIES BLAS_LIBRARIES)
+        if(WIN32)
+          # Find the main file (32-bit or 64-bit)
+          set(BLAS_SEARCH_LIBS_WIN_MAIN "")
+          if(BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
+              "mkl_intel_c${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
+              "mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+
+          # Add threading/sequential libs
+          set(BLAS_SEARCH_LIBS_WIN_THREAD "")
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
+            # old version
+            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
+              "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
+            # mkl >= 10.3
+            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
+              "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD
+              "mkl_sequential${BLAS_mkl_DLL_SUFFIX}")
+          endif()
+
+          # Cartesian product of the above
+          foreach(MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN})
+            foreach(THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD})
+              list(APPEND BLAS_SEARCH_LIBS
+                "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}")
+            endforeach()
+          endforeach()
+        else()
+          if(BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
+            # old version
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
+
+            # mkl >= 10.3
+            list(APPEND BLAS_SEARCH_LIBS
+              "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
+            # old version
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide")
+
+            # mkl >= 10.3
+            list(APPEND BLAS_SEARCH_LIBS
+              "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
+          endif()
+          if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS
+              "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core ${BLAS_mkl_END_GROUP}")
+          endif()
+
+          #older vesions of intel mkl libs
+          if(BLA_VENDOR STREQUAL "Intel" OR BLA_VENDOR STREQUAL "All")
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl")
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl_ia32")
+            list(APPEND BLAS_SEARCH_LIBS
+              "mkl_em64t")
+          endif()
+        endif()
+      endif()
+
+      if(BLA_VENDOR MATCHES "^Intel10_64_dyn$" OR BLA_VENDOR STREQUAL "All")
+        # mkl >= 10.3 with single dynamic library
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_rt")
+      endif()
+
+      # MKL uses a multitude of partially platform-specific subdirectories:
+      if(BLA_VENDOR STREQUAL "Intel10_32")
+        set(BLAS_mkl_ARCH_NAME "ia32")
+      else()
+        set(BLAS_mkl_ARCH_NAME "intel64")
+      endif()
+      if(WIN32)
+        set(BLAS_mkl_OS_NAME "win")
+      elseif(APPLE)
+        set(BLAS_mkl_OS_NAME "mac")
+      else()
+        set(BLAS_mkl_OS_NAME "lin")
+      endif()
+      if(DEFINED ENV{MKLROOT})
+        set(BLAS_mkl_MKLROOT "$ENV{MKLROOT}")
+        # If MKLROOT points to the subdirectory 'mkl', use the parent directory instead
+        # so we can better detect other relevant libraries in 'compiler' or 'tbb':
+        get_filename_component(BLAS_mkl_MKLROOT_LAST_DIR "${BLAS_mkl_MKLROOT}" NAME)
+        if(BLAS_mkl_MKLROOT_LAST_DIR STREQUAL "mkl")
+            get_filename_component(BLAS_mkl_MKLROOT "${BLAS_mkl_MKLROOT}" DIRECTORY)
+        endif()
+      endif()
+      set(BLAS_mkl_LIB_PATH_SUFFIXES
+          "compiler/lib" "compiler/lib/${BLAS_mkl_ARCH_NAME}_${BLAS_mkl_OS_NAME}"
+          "mkl/lib" "mkl/lib/${BLAS_mkl_ARCH_NAME}_${BLAS_mkl_OS_NAME}"
+          "lib/${BLAS_mkl_ARCH_NAME}_${BLAS_mkl_OS_NAME}")
+
+      foreach(IT ${BLAS_SEARCH_LIBS})
+        string(REPLACE " " ";" SEARCH_LIBS ${IT})
+        if(NOT ${_LIBRARIES})
+          check_blas_libraries(
+            ${_LIBRARIES}
+            BLAS
+            ${BLAS_mkl_SEARCH_SYMBOL}
+            ""
+            "${SEARCH_LIBS}"
+            "${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}"
+            "${BLAS_mkl_MKLROOT}"
+            "${BLAS_mkl_LIB_PATH_SUFFIXES}"
+            )
+        endif()
+      endforeach()
+
+      unset(BLAS_mkl_ILP_MODE)
+      unset(BLAS_mkl_INTFACE)
+      unset(BLAS_mkl_THREADING)
+      unset(BLAS_mkl_OMP)
+      unset(BLAS_mkl_DLL_SUFFIX)
+      unset(BLAS_mkl_LM)
+      unset(BLAS_mkl_LDL)
+      unset(BLAS_mkl_MKLROOT)
+      unset(BLAS_mkl_MKLROOT_LAST_DIR)
+      unset(BLAS_mkl_ARCH_NAME)
+      unset(BLAS_mkl_OS_NAME)
+      unset(BLAS_mkl_LIB_PATH_SUFFIXES)
+    endif()
+  endif()
+endif()
+
+if(BLA_F95)
+  find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS95_LIBRARIES)
+  set(BLAS95_FOUND ${BLAS_FOUND})
+  if(BLAS_FOUND)
+    set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
+  endif()
+endif()
+
+# gotoblas? (http://www.tacc.utexas.edu/tacc-projects/gotoblas2)
+if(BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "goto2"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# OpenBLAS? (http://www.openblas.net)
+if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "openblas"
+      ""
+      ""
+      ""
+      )
+  endif()
+  if(NOT BLAS_LIBRARIES AND (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED))
+    if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
+      find_package(Threads)
+    else()
+      find_package(Threads REQUIRED)
+    endif()
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "openblas"
+      "${CMAKE_THREAD_LIBS_INIT}"
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# FLAME's blis library? (https://github.com/flame/blis)
+if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "blis"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in the ATLAS library? (http://math-atlas.sourceforge.net/)
+if(BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      dgemm
+      ""
+      "blas;f77blas;atlas"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
+if(BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "sgemm;dgemm;blas"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in Alpha CXML library?
+if(BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "cxml"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in Alpha DXML library? (now called CXML, see above)
+if(BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "dxml"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in Sun Performance library?
+if(BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      "-xlic_lib=sunperf"
+      "sunperf;sunmath"
+      ""
+      ""
+      ""
+      )
+    if(BLAS_LIBRARIES)
+      set(BLAS_LINKER_FLAGS "-xlic_lib=sunperf")
+    endif()
+  endif()
+endif()
+
+# BLAS in SCSL library?  (SGI/Cray Scientific Library)
+if(BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "scsl"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in SGIMATH library?
+if(BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "complib.sgimath"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
+if(BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "essl;blas"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# BLAS in acml library?
+if(BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All")
+  if(((BLA_VENDOR STREQUAL "ACML") AND (NOT BLAS_ACML_LIB_DIRS)) OR
+    ((BLA_VENDOR STREQUAL "ACML_MP") AND (NOT BLAS_ACML_MP_LIB_DIRS)) OR
+    ((BLA_VENDOR STREQUAL "ACML_GPU") AND (NOT BLAS_ACML_GPU_LIB_DIRS))
+    )
+  # try to find acml in "standard" paths
+  if(WIN32)
+    file(GLOB _ACML_ROOT "C:/AMD/acml*/ACML-EULA.txt")
+  else()
+    file(GLOB _ACML_ROOT "/opt/acml*/ACML-EULA.txt")
+  endif()
+  if(WIN32)
+    file(GLOB _ACML_GPU_ROOT "C:/AMD/acml*/GPGPUexamples")
+  else()
+    file(GLOB _ACML_GPU_ROOT "/opt/acml*/GPGPUexamples")
+  endif()
+  list(GET _ACML_ROOT 0 _ACML_ROOT)
+  list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT)
+  if(_ACML_ROOT)
+    get_filename_component(_ACML_ROOT ${_ACML_ROOT} PATH)
+    if(SIZEOF_INTEGER EQUAL 8)
+      set(_ACML_PATH_SUFFIX "_int64")
+    else()
+      set(_ACML_PATH_SUFFIX "")
+    endif()
+    if(CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
+      set(_ACML_COMPILER32 "ifort32")
+      set(_ACML_COMPILER64 "ifort64")
+    elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "SunPro")
+      set(_ACML_COMPILER32 "sun32")
+      set(_ACML_COMPILER64 "sun64")
+    elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "PGI")
+      set(_ACML_COMPILER32 "pgi32")
+      if(WIN32)
+        set(_ACML_COMPILER64 "win64")
+      else()
+        set(_ACML_COMPILER64 "pgi64")
+      endif()
+    elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "Open64")
+      # 32 bit builds not supported on Open64 but for code simplicity
+      # We'll just use the same directory twice
+      set(_ACML_COMPILER32 "open64_64")
+      set(_ACML_COMPILER64 "open64_64")
+    elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "NAG")
+      set(_ACML_COMPILER32 "nag32")
+      set(_ACML_COMPILER64 "nag64")
+    else()
+      set(_ACML_COMPILER32 "gfortran32")
+      set(_ACML_COMPILER64 "gfortran64")
+    endif()
+
+    if(BLA_VENDOR STREQUAL "ACML_MP")
+      set(_ACML_MP_LIB_DIRS
+        "${_ACML_ROOT}/${_ACML_COMPILER32}_mp${_ACML_PATH_SUFFIX}/lib"
+        "${_ACML_ROOT}/${_ACML_COMPILER64}_mp${_ACML_PATH_SUFFIX}/lib")
+    else()
+      set(_ACML_LIB_DIRS
+        "${_ACML_ROOT}/${_ACML_COMPILER32}${_ACML_PATH_SUFFIX}/lib"
+        "${_ACML_ROOT}/${_ACML_COMPILER64}${_ACML_PATH_SUFFIX}/lib")
+    endif()
+  endif()
+elseif(BLAS_${BLA_VENDOR}_LIB_DIRS)
+  set(_${BLA_VENDOR}_LIB_DIRS ${BLAS_${BLA_VENDOR}_LIB_DIRS})
+endif()
+
+if(BLA_VENDOR STREQUAL "ACML_MP")
+  foreach(BLAS_ACML_MP_LIB_DIRS ${_ACML_MP_LIB_DIRS})
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      "" "acml_mp;acml_mv" "" ${BLAS_ACML_MP_LIB_DIRS} ""
+      )
+    if(BLAS_LIBRARIES)
+      break()
+    endif()
+  endforeach()
+elseif(BLA_VENDOR STREQUAL "ACML_GPU")
+  foreach(BLAS_ACML_GPU_LIB_DIRS ${_ACML_GPU_LIB_DIRS})
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      "" "acml;acml_mv;CALBLAS" "" ${BLAS_ACML_GPU_LIB_DIRS} ""
+      )
+    if(BLAS_LIBRARIES)
+      break()
+    endif()
+  endforeach()
+else()
+  foreach(BLAS_ACML_LIB_DIRS ${_ACML_LIB_DIRS})
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      "" "acml;acml_mv" "" ${BLAS_ACML_LIB_DIRS} ""
+      )
+    if(BLAS_LIBRARIES)
+      break()
+    endif()
+  endforeach()
+endif()
+
+# Either acml or acml_mp should be in LD_LIBRARY_PATH but not both
+if(NOT BLAS_LIBRARIES)
+  check_blas_libraries(
+    BLAS_LIBRARIES
+    BLAS
+    sgemm
+    ""
+    "acml;acml_mv"
+    ""
+    ""
+    ""
+    )
+endif()
+if(NOT BLAS_LIBRARIES)
+  check_blas_libraries(
+    BLAS_LIBRARIES
+    BLAS
+    sgemm
+    ""
+    "acml_mp;acml_mv"
+    ""
+    ""
+    ""
+    )
+endif()
+if(NOT BLAS_LIBRARIES)
+  check_blas_libraries(
+    BLAS_LIBRARIES
+    BLAS
+    sgemm
+    ""
+    "acml;acml_mv;CALBLAS"
+    ""
+    ""
+    ""
+    )
+endif()
+endif() # ACML
+
+# Apple BLAS library?
+if(BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      dgemm
+      ""
+      "Accelerate"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# Apple NAS (vecLib) library?
+if(BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      dgemm
+      ""
+      "vecLib"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+# Generic BLAS library?
+if(BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    check_blas_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      sgemm
+      ""
+      "blas"
+      ""
+      ""
+      ""
+      )
+  endif()
+endif()
+
+if(NOT BLA_F95)
+  find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES)
+endif()
+
+# On compilers that implicitly link BLAS (such as ftn, cc, and CC on Cray HPC machines)
+# we used a placeholder for empty BLAS_LIBRARIES to get through our logic above.
+if(BLAS_LIBRARIES STREQUAL "BLAS_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
+  set(BLAS_LIBRARIES "")
+endif()
+
+cmake_pop_check_state()
+set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.16/Modules/FindBZip2.cmake b/share/cmake-3.17/Modules/FindBZip2.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindBZip2.cmake
rename to share/cmake-3.17/Modules/FindBZip2.cmake
diff --git a/share/cmake-3.16/Modules/FindBacktrace.cmake b/share/cmake-3.17/Modules/FindBacktrace.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindBacktrace.cmake
rename to share/cmake-3.17/Modules/FindBacktrace.cmake
diff --git a/share/cmake-3.16/Modules/FindBoost.cmake b/share/cmake-3.17/Modules/FindBoost.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/FindBoost.cmake
rename to share/cmake-3.17/Modules/FindBoost.cmake
index 0e84fab..3c52466 100644
--- a/share/cmake-3.16/Modules/FindBoost.cmake
+++ b/share/cmake-3.17/Modules/FindBoost.cmake
@@ -248,6 +248,7 @@
 # Save project's policies
 cmake_policy(PUSH)
 cmake_policy(SET CMP0057 NEW) # if IN_LIST
+cmake_policy(SET CMP0102 NEW) # if mark_as_advanced(non_cache_var)
 
 function(_boost_get_existing_target component target_var)
   set(names "${component}")
@@ -441,7 +442,9 @@
   # Note that args are passed in the Boost_FIND_xxxxx variables, so there is no
   # need to delegate them to this find_package call.
   find_package(Boost QUIET NO_MODULE)
-  mark_as_advanced(Boost_DIR)
+  if (DEFINED Boost_DIR)
+    mark_as_advanced(Boost_DIR)
+  endif ()
 
   # If we found a boost cmake package, then we're done. Print out what we found.
   # Otherwise let the rest of the module try to find it.
@@ -1467,43 +1470,6 @@
 _Boost_DEBUG_PRINT_VAR("${CMAKE_CURRENT_LIST_FILE}" "${CMAKE_CURRENT_LIST_LINE}" "Boost_ADDITIONAL_VERSIONS")
 _Boost_DEBUG_PRINT_VAR("${CMAKE_CURRENT_LIST_FILE}" "${CMAKE_CURRENT_LIST_LINE}" "Boost_NO_SYSTEM_PATHS")
 
-# Supply Boost_LIB_DIAGNOSTIC_DEFINITIONS as a convenience target. It
-# will only contain any interface definitions on WIN32, but is created
-# on all platforms to keep end user code free from platform dependent
-# code.  Also provide convenience targets to disable autolinking and
-# enable dynamic linking.
-if(NOT TARGET Boost::diagnostic_definitions)
-  add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
-  add_library(Boost::disable_autolinking INTERFACE IMPORTED)
-  add_library(Boost::dynamic_linking INTERFACE IMPORTED)
-  set_target_properties(Boost::dynamic_linking PROPERTIES
-    INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
-endif()
-if(WIN32)
-  # In windows, automatic linking is performed, so you do not have
-  # to specify the libraries.  If you are linking to a dynamic
-  # runtime, then you can choose to link to either a static or a
-  # dynamic Boost library, the default is to do a static link.  You
-  # can alter this for a specific library "whatever" by defining
-  # BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be
-  # linked dynamically.  Alternatively you can force all Boost
-  # libraries to dynamic link by defining BOOST_ALL_DYN_LINK.
-
-  # This feature can be disabled for Boost library "whatever" by
-  # defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
-  # BOOST_ALL_NO_LIB.
-
-  # If you want to observe which libraries are being linked against
-  # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking
-  # code to emit a #pragma message each time a library is selected
-  # for linking.
-  set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
-  set_target_properties(Boost::diagnostic_definitions PROPERTIES
-    INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
-  set_target_properties(Boost::disable_autolinking PROPERTIES
-    INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
-endif()
-
 cmake_policy(GET CMP0074 _Boost_CMP0074)
 if(NOT "x${_Boost_CMP0074}x" STREQUAL "xNEWx")
   _Boost_CHECK_SPELLING(Boost_ROOT)
@@ -2296,6 +2262,43 @@
       endif()
     endif()
   endforeach()
+
+  # Supply Boost_LIB_DIAGNOSTIC_DEFINITIONS as a convenience target. It
+  # will only contain any interface definitions on WIN32, but is created
+  # on all platforms to keep end user code free from platform dependent
+  # code.  Also provide convenience targets to disable autolinking and
+  # enable dynamic linking.
+  if(NOT TARGET Boost::diagnostic_definitions)
+    add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+    add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+    add_library(Boost::dynamic_linking INTERFACE IMPORTED)
+    set_target_properties(Boost::dynamic_linking PROPERTIES
+      INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+  endif()
+  if(WIN32)
+    # In windows, automatic linking is performed, so you do not have
+    # to specify the libraries.  If you are linking to a dynamic
+    # runtime, then you can choose to link to either a static or a
+    # dynamic Boost library, the default is to do a static link.  You
+    # can alter this for a specific library "whatever" by defining
+    # BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be
+    # linked dynamically.  Alternatively you can force all Boost
+    # libraries to dynamic link by defining BOOST_ALL_DYN_LINK.
+
+    # This feature can be disabled for Boost library "whatever" by
+    # defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
+    # BOOST_ALL_NO_LIB.
+
+    # If you want to observe which libraries are being linked against
+    # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking
+    # code to emit a #pragma message each time a library is selected
+    # for linking.
+    set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+    set_target_properties(Boost::diagnostic_definitions PROPERTIES
+      INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+    set_target_properties(Boost::disable_autolinking PROPERTIES
+      INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+  endif()
 endif()
 
 # ------------------------------------------------------------------------
diff --git a/share/cmake-3.16/Modules/FindBullet.cmake b/share/cmake-3.17/Modules/FindBullet.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindBullet.cmake
rename to share/cmake-3.17/Modules/FindBullet.cmake
diff --git a/share/cmake-3.16/Modules/FindCABLE.cmake b/share/cmake-3.17/Modules/FindCABLE.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCABLE.cmake
rename to share/cmake-3.17/Modules/FindCABLE.cmake
diff --git a/share/cmake-3.16/Modules/FindCUDA.cmake b/share/cmake-3.17/Modules/FindCUDA.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/FindCUDA.cmake
rename to share/cmake-3.17/Modules/FindCUDA.cmake
index b6859aa..e1af2d6 100644
--- a/share/cmake-3.16/Modules/FindCUDA.cmake
+++ b/share/cmake-3.17/Modules/FindCUDA.cmake
@@ -5,17 +5,22 @@
 .. deprecated:: 3.10
 
   Superseded by first-class support for the CUDA language in CMake.
+  Superseded by the :module:`FindCUDAToolkit` for CUDA toolkit libraries.
 
 Replacement
 ^^^^^^^^^^^
 
-It is no longer necessary to use this module or call ``find_package(CUDA)``.
-Instead, list ``CUDA`` among the languages named in the top-level
-call to the :command:`project` command, or call the
+It is no longer necessary to use this module or call ``find_package(CUDA)``
+for compiling CUDA code. Instead, list ``CUDA`` among the languages named
+in the top-level call to the :command:`project` command, or call the
 :command:`enable_language` command with ``CUDA``.
 Then one can add CUDA (``.cu``) sources to programs directly
 in calls to :command:`add_library` and :command:`add_executable`.
 
+To find and use the CUDA toolkit libraries the :module:`FindCUDAToolkit`
+module has superseded this module.  It works whether or not the ``CUDA``
+language is enabled.
+
 Documentation of Deprecated Usage
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -676,7 +681,7 @@
 # Search for the cuda distribution.
 if(NOT CUDA_TOOLKIT_ROOT_DIR AND NOT CMAKE_CROSSCOMPILING)
   # Search in the CUDA_BIN_PATH first.
-  find_path(CUDA_TOOLKIT_ROOT_DIR
+  find_program(CUDA_TOOLKIT_ROOT_DIR_NVCC
     NAMES nvcc nvcc.exe
     PATHS
       ENV CUDA_TOOLKIT_ROOT
@@ -688,19 +693,22 @@
     )
 
   # Now search default paths
-  find_path(CUDA_TOOLKIT_ROOT_DIR
+  find_program(CUDA_TOOLKIT_ROOT_DIR_NVCC
     NAMES nvcc nvcc.exe
     PATHS /opt/cuda/bin
     PATH_SUFFIXES cuda/bin
     DOC "Toolkit location."
     )
 
-  if (CUDA_TOOLKIT_ROOT_DIR)
+  if (CUDA_TOOLKIT_ROOT_DIR_NVCC)
+    get_filename_component(CUDA_TOOLKIT_ROOT_DIR_NVCC_PAR "${CUDA_TOOLKIT_ROOT_DIR_NVCC}" DIRECTORY)
+    get_filename_component(CUDA_TOOLKIT_ROOT_DIR "${CUDA_TOOLKIT_ROOT_DIR_NVCC_PAR}" DIRECTORY CACHE)
     string(REGEX REPLACE "[/\\\\]?bin[64]*[/\\\\]?$" "" CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT_DIR})
     # We need to force this back into the cache.
     set(CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT_DIR} CACHE PATH "Toolkit location." FORCE)
     set(CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR})
   endif()
+  unset(CUDA_TOOLKIT_ROOT_DIR_NVCC CACHE)
 
   if (NOT EXISTS ${CUDA_TOOLKIT_ROOT_DIR})
     if(CUDA_FIND_REQUIRED)
@@ -921,7 +929,11 @@
 if(CUDA_BUILD_EMULATION AND CUDA_CUDARTEMU_LIBRARY)
   list(APPEND CUDA_LIBRARIES ${CUDA_CUDARTEMU_LIBRARY})
 elseif(CUDA_USE_STATIC_CUDA_RUNTIME AND CUDA_cudart_static_LIBRARY)
-  list(APPEND CUDA_LIBRARIES ${CUDA_cudart_static_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS})
+  list(APPEND CUDA_LIBRARIES ${CUDA_cudart_static_LIBRARY})
+  if (TARGET Threads::Threads)
+    list(APPEND CUDA_LIBRARIES Threads::Threads)
+  endif()
+  list(APPEND CUDA_LIBRARIES ${CMAKE_DL_LIBS})
   if (CUDA_rt_LIBRARY)
     list(APPEND CUDA_LIBRARIES ${CUDA_rt_LIBRARY})
   endif()
@@ -2003,7 +2015,7 @@
     string(TOUPPER ${cuda_clean_target_name} cuda_clean_target_name)
   endif()
   add_custom_target(${cuda_clean_target_name}
-    COMMAND ${CMAKE_COMMAND} -E remove ${CUDA_ADDITIONAL_CLEAN_FILES})
+    COMMAND ${CMAKE_COMMAND} -E rm -f ${CUDA_ADDITIONAL_CLEAN_FILES})
 
   # Clear out the variable, so the next time we configure it will be empty.
   # This is useful so that the files won't persist in the list after targets
diff --git a/share/cmake-3.16/Modules/FindCUDA/make2cmake.cmake b/share/cmake-3.17/Modules/FindCUDA/make2cmake.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCUDA/make2cmake.cmake
rename to share/cmake-3.17/Modules/FindCUDA/make2cmake.cmake
diff --git a/share/cmake-3.16/Modules/FindCUDA/parse_cubin.cmake b/share/cmake-3.17/Modules/FindCUDA/parse_cubin.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCUDA/parse_cubin.cmake
rename to share/cmake-3.17/Modules/FindCUDA/parse_cubin.cmake
diff --git a/share/cmake-3.16/Modules/FindCUDA/run_nvcc.cmake b/share/cmake-3.17/Modules/FindCUDA/run_nvcc.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/FindCUDA/run_nvcc.cmake
rename to share/cmake-3.17/Modules/FindCUDA/run_nvcc.cmake
index af15d55..ba35433 100644
--- a/share/cmake-3.16/Modules/FindCUDA/run_nvcc.cmake
+++ b/share/cmake-3.17/Modules/FindCUDA/run_nvcc.cmake
@@ -174,7 +174,7 @@
 # Delete the target file
 cuda_execute_process(
   "Removing ${generated_file}"
-  COMMAND "${CMAKE_COMMAND}" -E remove "${generated_file}"
+  COMMAND "${CMAKE_COMMAND}" -E rm -f "${generated_file}"
   )
 
 # For CUDA 2.3 and below, -G -M doesn't work, so remove the -G flag
@@ -241,7 +241,7 @@
 # Delete the temporary file
 cuda_execute_process(
   "Removing ${cmake_dependency_file}.tmp and ${NVCC_generated_dependency_file}"
-  COMMAND "${CMAKE_COMMAND}" -E remove "${cmake_dependency_file}.tmp" "${NVCC_generated_dependency_file}"
+  COMMAND "${CMAKE_COMMAND}" -E rm -f "${cmake_dependency_file}.tmp" "${NVCC_generated_dependency_file}"
   )
 
 if(CUDA_result)
@@ -267,7 +267,7 @@
   # Since nvcc can sometimes leave half done files make sure that we delete the output file.
   cuda_execute_process(
     "Removing ${generated_file}"
-    COMMAND "${CMAKE_COMMAND}" -E remove "${generated_file}"
+    COMMAND "${CMAKE_COMMAND}" -E rm -f "${generated_file}"
     )
   message(FATAL_ERROR "Error generating file ${generated_file}")
 else()
diff --git a/share/cmake-3.16/Modules/FindCUDA/select_compute_arch.cmake b/share/cmake-3.17/Modules/FindCUDA/select_compute_arch.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCUDA/select_compute_arch.cmake
rename to share/cmake-3.17/Modules/FindCUDA/select_compute_arch.cmake
diff --git a/share/cmake-3.17/Modules/FindCUDAToolkit.cmake b/share/cmake-3.17/Modules/FindCUDAToolkit.cmake
new file mode 100644
index 0000000..4b14ddc
--- /dev/null
+++ b/share/cmake-3.17/Modules/FindCUDAToolkit.cmake
@@ -0,0 +1,870 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindCUDAToolkit
+---------------
+
+This script locates the NVIDIA CUDA toolkit and the associated libraries, but
+does not require the ``CUDA`` language be enabled for a given project. This
+module does not search for the NVIDIA CUDA Samples.
+
+Search Behavior
+^^^^^^^^^^^^^^^
+
+Finding the CUDA Toolkit requires finding the ``nvcc`` executable, which is
+searched for in the following order:
+
+1. If the ``CUDA`` language has been enabled we will use the directory
+   containing the compiler as the first search location for ``nvcc``.
+
+2. If the ``CUDAToolkit_ROOT`` cmake configuration variable (e.g.,
+   ``-DCUDAToolkit_ROOT=/some/path``) *or* environment variable is defined, it
+   will be searched.  If both an environment variable **and** a
+   configuration variable are specified, the *configuration* variable takes
+   precedence.
+
+   The directory specified here must be such that the executable ``nvcc`` can be
+   found underneath the directory specified by ``CUDAToolkit_ROOT``.  If
+   ``CUDAToolkit_ROOT`` is specified, but no ``nvcc`` is found underneath, this
+   package is marked as **not** found.  No subsequent search attempts are
+   performed.
+
+3. If the CUDA_PATH environment variable is defined, it will be searched.
+
+4. The user's path is searched for ``nvcc`` using :command:`find_program`.  If
+   this is found, no subsequent search attempts are performed.  Users are
+   responsible for ensuring that the first ``nvcc`` to show up in the path is
+   the desired path in the event that multiple CUDA Toolkits are installed.
+
+5. On Unix systems, if the symbolic link ``/usr/local/cuda`` exists, this is
+   used.  No subsequent search attempts are performed.  No default symbolic link
+   location exists for the Windows platform.
+
+6. The platform specific default install locations are searched.  If exactly one
+   candidate is found, this is used.  The default CUDA Toolkit install locations
+   searched are:
+
+   +-------------+-------------------------------------------------------------+
+   | Platform    | Search Pattern                                              |
+   +=============+=============================================================+
+   | macOS       | ``/Developer/NVIDIA/CUDA-X.Y``                              |
+   +-------------+-------------------------------------------------------------+
+   | Other Unix  | ``/usr/local/cuda-X.Y``                                     |
+   +-------------+-------------------------------------------------------------+
+   | Windows     | ``C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y`` |
+   +-------------+-------------------------------------------------------------+
+
+   Where ``X.Y`` would be a specific version of the CUDA Toolkit, such as
+   ``/usr/local/cuda-9.0`` or
+   ``C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0``
+
+   .. note::
+
+       When multiple CUDA Toolkits are installed in the default location of a
+       system (e.g., both ``/usr/local/cuda-9.0`` and ``/usr/local/cuda-10.0``
+       exist but the ``/usr/local/cuda`` symbolic link does **not** exist), this
+       package is marked as **not** found.
+
+       There are too many factors involved in making an automatic decision in
+       the presence of multiple CUDA Toolkits being installed.  In this
+       situation, users are encouraged to either (1) set ``CUDAToolkit_ROOT`` or
+       (2) ensure that the correct ``nvcc`` executable shows up in ``$PATH`` for
+       :command:`find_program` to find.
+
+Options
+^^^^^^^
+
+``VERSION``
+    If specified, describes the version of the CUDA Toolkit to search for.
+
+``REQUIRED``
+    If specified, configuration will error if a suitable CUDA Toolkit is not
+    found.
+
+``QUIET``
+    If specified, the search for a suitable CUDA Toolkit will not produce any
+    messages.
+
+``EXACT``
+    If specified, the CUDA Toolkit is considered found only if the exact
+    ``VERSION`` specified is recovered.
+
+Imported targets
+^^^^^^^^^^^^^^^^
+
+An :ref:`imported target <Imported targets>` named ``CUDA::toolkit`` is provided.
+
+This module defines :prop_tgt:`IMPORTED` targets for each
+of the following libraries that are part of the CUDAToolkit:
+
+- :ref:`CUDA Runtime Library<cuda_toolkit_rt_lib>`
+- :ref:`CUDA Driver Library<cuda_toolkit_driver_lib>`
+- :ref:`cuBLAS<cuda_toolkit_cuBLAS>`
+- :ref:`cuFFT<cuda_toolkit_cuFFT>`
+- :ref:`cuRAND<cuda_toolkit_cuRAND>`
+- :ref:`cuSOLVER<cuda_toolkit_cuSOLVER>`
+- :ref:`cuSPARSE<cuda_toolkit_cuSPARSE>`
+- :ref:`cuPTI<cuda_toolkit_cupti>`
+- :ref:`NPP<cuda_toolkit_NPP>`
+- :ref:`nvBLAS<cuda_toolkit_nvBLAS>`
+- :ref:`nvGRAPH<cuda_toolkit_nvGRAPH>`
+- :ref:`nvJPEG<cuda_toolkit_nvJPEG>`
+- :ref:`nvidia-ML<cuda_toolkit_nvML>`
+- :ref:`nvRTC<cuda_toolkit_nvRTC>`
+- :ref:`nvToolsExt<cuda_toolkit_nvToolsExt>`
+- :ref:`OpenCL<cuda_toolkit_opencl>`
+- :ref:`cuLIBOS<cuda_toolkit_cuLIBOS>`
+
+.. _`cuda_toolkit_rt_lib`:
+
+CUDA Runtime Library
+""""""""""""""""""""
+
+The CUDA Runtime library (cudart) are what most applications will typically
+need to link against to make any calls such as `cudaMalloc`, and `cudaFree`.
+
+Targets Created:
+
+- ``CUDA::cudart``
+- ``CUDA::cudart_static``
+
+.. _`cuda_toolkit_driver_lib`:
+
+CUDA Driver Library
+""""""""""""""""""""
+
+The CUDA Driver library (cuda) are used by applications that use calls
+such as `cuMemAlloc`, and `cuMemFree`. This is generally used by advanced
+
+
+Targets Created:
+
+- ``CUDA::cuda_driver``
+- ``CUDA::cuda_driver``
+
+.. _`cuda_toolkit_cuBLAS`:
+
+cuBLAS
+""""""
+
+The `cuBLAS <https://docs.nvidia.com/cuda/cublas/index.html>`_ library.
+
+Targets Created:
+
+- ``CUDA::cublas``
+- ``CUDA::cublas_static``
+
+.. _`cuda_toolkit_cuFFT`:
+
+cuFFT
+"""""
+
+The `cuFFT <https://docs.nvidia.com/cuda/cufft/index.html>`_ library.
+
+Targets Created:
+
+- ``CUDA::cufft``
+- ``CUDA::cufftw``
+- ``CUDA::cufft_static``
+- ``CUDA::cufftw_static``
+
+cuRAND
+""""""
+
+The `cuRAND <https://docs.nvidia.com/cuda/curand/index.html>`_ library.
+
+Targets Created:
+
+- ``CUDA::curand``
+- ``CUDA::curand_static``
+
+.. _`cuda_toolkit_cuSOLVER`:
+
+cuSOLVER
+""""""""
+
+The `cuSOLVER <https://docs.nvidia.com/cuda/cusolver/index.html>`_ library.
+
+Targets Created:
+
+- ``CUDA::cusolver``
+- ``CUDA::cusolver_static``
+
+.. _`cuda_toolkit_cuSPARSE`:
+
+cuSPARSE
+""""""""
+
+The `cuSPARSE <https://docs.nvidia.com/cuda/cusparse/index.html>`_ library.
+
+Targets Created:
+
+- ``CUDA::cusparse``
+- ``CUDA::cusparse_static``
+
+.. _`cuda_toolkit_cupti`:
+
+cupti
+"""""
+
+The `NVIDIA CUDA Profiling Tools Interface <https://developer.nvidia.com/CUPTI>`_.
+
+Targets Created:
+
+- ``CUDA::cupti``
+- ``CUDA::cupti_static``
+
+.. _`cuda_toolkit_NPP`:
+
+NPP
+"""
+
+The `NPP <https://docs.nvidia.com/cuda/npp/index.html>`_ libraries.
+
+Targets Created:
+
+- `nppc`:
+
+  - ``CUDA::nppc``
+  - ``CUDA::nppc_static``
+
+- `nppial`: Arithmetic and logical operation functions in `nppi_arithmetic_and_logical_operations.h`
+
+  - ``CUDA::nppial``
+  - ``CUDA::nppial_static``
+
+- `nppicc`: Color conversion and sampling functions in `nppi_color_conversion.h`
+
+  - ``CUDA::nppicc``
+  - ``CUDA::nppicc_static``
+
+- `nppicom`: JPEG compression and decompression functions in `nppi_compression_functions.h`
+
+  - ``CUDA::nppicom``
+  - ``CUDA::nppicom_static``
+
+- `nppidei`: Data exchange and initialization functions in `nppi_data_exchange_and_initialization.h`
+
+  - ``CUDA::nppidei``
+  - ``CUDA::nppidei_static``
+
+- `nppif`: Filtering and computer vision functions in `nppi_filter_functions.h`
+
+  - ``CUDA::nppif``
+  - ``CUDA::nppif_static``
+
+- `nppig`: Geometry transformation functions found in `nppi_geometry_transforms.h`
+
+  - ``CUDA::nppig``
+  - ``CUDA::nppig_static``
+
+- `nppim`: Morphological operation functions found in `nppi_morphological_operations.h`
+
+  - ``CUDA::nppim``
+  - ``CUDA::nppim_static``
+
+- `nppist`: Statistics and linear transform in `nppi_statistics_functions.h` and `nppi_linear_transforms.h`
+
+  - ``CUDA::nppist``
+  - ``CUDA::nppist_static``
+
+- `nppisu`: Memory support functions in `nppi_support_functions.h`
+
+  - ``CUDA::nppisu``
+  - ``CUDA::nppisu_static``
+
+- `nppitc`: Threshold and compare operation functions in `nppi_threshold_and_compare_operations.h`
+
+  - ``CUDA::nppitc``
+  - ``CUDA::nppitc_static``
+
+- `npps`:
+
+  - ``CUDA::npps``
+  - ``CUDA::npps_static``
+
+.. _`cuda_toolkit_nvBLAS`:
+
+nvBLAS
+""""""
+
+The `nvBLAS <https://docs.nvidia.com/cuda/nvblas/index.html>`_ libraries.
+This is a shared library only.
+
+Targets Created:
+
+- ``CUDA::nvblas``
+
+.. _`cuda_toolkit_nvGRAPH`:
+
+nvGRAPH
+"""""""
+
+The `nvGRAPH <https://docs.nvidia.com/cuda/nvgraph/index.html>`_ library.
+
+Targets Created:
+
+- ``CUDA::nvgraph``
+- ``CUDA::nvgraph_static``
+
+
+.. _`cuda_toolkit_nvJPEG`:
+
+nvJPEG
+""""""
+
+The `nvJPEG <https://docs.nvidia.com/cuda/nvjpeg/index.html>`_ library.
+Introduced in CUDA 10.
+
+Targets Created:
+
+- ``CUDA::nvjpeg``
+- ``CUDA::nvjpeg_static``
+
+.. _`cuda_toolkit_nvRTC`:
+
+nvRTC
+"""""
+
+The `nvRTC <https://docs.nvidia.com/cuda/nvrtc/index.html>`_ (Runtime Compilation) library.
+This is a shared library only.
+
+Targets Created:
+
+- ``CUDA::nvrtc``
+
+.. _`cuda_toolkit_nvml`:
+
+nvidia-ML
+"""""""""
+
+The `NVIDIA Management Library <https://developer.nvidia.com/nvidia-management-library-nvml>`_.
+This is a shared library only.
+
+Targets Created:
+
+- ``CUDA::nvml``
+
+.. _`cuda_toolkit_nvToolsExt`:
+
+nvToolsExt
+""""""""""
+
+The `NVIDIA Tools Extension <https://docs.nvidia.com/gameworks/content/gameworkslibrary/nvtx/nvidia_tools_extension_library_nvtx.htm>`_.
+This is a shared library only.
+
+Targets Created:
+
+- ``CUDA::nvToolsExt``
+
+.. _`cuda_toolkit_opencl`:
+
+OpenCL
+""""""
+
+The `NVIDIA OpenCL Library <https://developer.nvidia.com/opencl>`_.
+This is a shared library only.
+
+Targets Created:
+
+- ``CUDA::OpenCL``
+
+.. _`cuda_toolkit_cuLIBOS`:
+
+cuLIBOS
+"""""""
+
+The cuLIBOS library is a backend thread abstraction layer library which is
+static only.  The ``CUDA::cublas_static``, ``CUDA::cusparse_static``,
+``CUDA::cufft_static``, ``CUDA::curand_static``, and (when implemented) NPP
+libraries all automatically have this dependency linked.
+
+Target Created:
+
+- ``CUDA::culibos``
+
+**Note**: direct usage of this target by consumers should not be necessary.
+
+.. _`cuda_toolkit_cuRAND`:
+
+
+
+Result variables
+^^^^^^^^^^^^^^^^
+
+``CUDAToolkit_FOUND``
+    A boolean specifying whether or not the CUDA Toolkit was found.
+
+``CUDAToolkit_VERSION``
+    The exact version of the CUDA Toolkit found (as reported by
+    ``nvcc --version``).
+
+``CUDAToolkit_VERSION_MAJOR``
+    The major version of the CUDA Toolkit.
+
+``CUDAToolkit_VERSION_MAJOR``
+    The minor version of the CUDA Toolkit.
+
+``CUDAToolkit_VERSION_PATCH``
+    The patch version of the CUDA Toolkit.
+
+``CUDAToolkit_BIN_DIR``
+    The path to the CUDA Toolkit library directory that contains the CUDA
+    executable ``nvcc``.
+
+``CUDAToolkit_INCLUDE_DIRS``
+    The path to the CUDA Toolkit ``include`` folder containing the header files
+    required to compile a project linking against CUDA.
+
+``CUDAToolkit_LIBRARY_DIR``
+    The path to the CUDA Toolkit library directory that contains the CUDA
+    Runtime library ``cudart``.
+
+``CUDAToolkit_TARGET_DIR``
+    The path to the CUDA Toolkit directory including the target architecture
+    when cross-compiling. When not cross-compiling this will be equivalant to
+    ``CUDAToolkit_ROOT_DIR``.
+
+``CUDAToolkit_NVCC_EXECUTABLE``
+    The path to the NVIDIA CUDA compiler ``nvcc``.  Note that this path may
+    **not** be the same as
+    :variable:`CMAKE_CUDA_COMPILER <CMAKE_<LANG>_COMPILER>`.  ``nvcc`` must be
+    found to determine the CUDA Toolkit version as well as determining other
+    features of the Toolkit.  This variable is set for the convenience of
+    modules that depend on this one.
+
+
+#]=======================================================================]
+
+# NOTE: much of this was simply extracted from FindCUDA.cmake.
+
+#   James Bigler, NVIDIA Corp (nvidia.com - jbigler)
+#   Abe Stephens, SCI Institute -- http://www.sci.utah.edu/~abe/FindCuda.html
+#
+#   Copyright (c) 2008 - 2009 NVIDIA Corporation.  All rights reserved.
+#
+#   Copyright (c) 2007-2009
+#   Scientific Computing and Imaging Institute, University of Utah
+#
+#   This code is licensed under the MIT License.  See the FindCUDA.cmake script
+#   for the text of the license.
+
+# The MIT License
+#
+# License for the specific language governing rights and limitations under
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+###############################################################################
+
+if(CMAKE_CUDA_COMPILER_LOADED AND NOT CUDAToolkit_BIN_DIR)
+  get_filename_component(cuda_dir "${CMAKE_CUDA_COMPILER}" DIRECTORY)
+  # use the already detected cuda compiler
+  set(CUDAToolkit_BIN_DIR "${cuda_dir}" CACHE PATH "")
+  mark_as_advanced(CUDAToolkit_BIN_DIR)
+  unset(cuda_dir)
+endif()
+
+# Try language- or user-provided path first.
+if(CUDAToolkit_BIN_DIR)
+  find_program(CUDAToolkit_NVCC_EXECUTABLE
+    NAMES nvcc nvcc.exe
+    PATHS ${CUDAToolkit_BIN_DIR}
+    NO_DEFAULT_PATH
+    )
+endif()
+
+# Search using CUDAToolkit_ROOT
+find_program(CUDAToolkit_NVCC_EXECUTABLE
+  NAMES nvcc nvcc.exe
+  PATHS ENV CUDA_PATH
+  PATH_SUFFIXES bin
+)
+
+# If the user specified CUDAToolkit_ROOT but nvcc could not be found, this is an error.
+if (NOT CUDAToolkit_NVCC_EXECUTABLE AND (DEFINED CUDAToolkit_ROOT OR DEFINED ENV{CUDAToolkit_ROOT}))
+  # Declare error messages now, print later depending on find_package args.
+  set(fail_base "Could not find nvcc executable in path specified by")
+  set(cuda_root_fail "${fail_base} CUDAToolkit_ROOT=${CUDAToolkit_ROOT}")
+  set(env_cuda_root_fail "${fail_base} environment variable CUDAToolkit_ROOT=$ENV{CUDAToolkit_ROOT}")
+
+  if (CUDAToolkit_FIND_REQUIRED)
+    if (DEFINED CUDAToolkit_ROOT)
+      message(FATAL_ERROR ${cuda_root_fail})
+    elseif (DEFINED ENV{CUDAToolkit_ROOT})
+      message(FATAL_ERROR ${env_cuda_root_fail})
+    endif()
+  else()
+    if (NOT CUDAToolkit_FIND_QUIETLY)
+      if (DEFINED CUDAToolkit_ROOT)
+        message(STATUS ${cuda_root_fail})
+      elseif (DEFINED ENV{CUDAToolkit_ROOT})
+        message(STATUS ${env_cuda_root_fail})
+      endif()
+    endif()
+    set(CUDAToolkit_FOUND FALSE)
+    unset(fail_base)
+    unset(cuda_root_fail)
+    unset(env_cuda_root_fail)
+    return()
+  endif()
+endif()
+
+# CUDAToolkit_ROOT cmake / env variable not specified, try platform defaults.
+#
+# - Linux: /usr/local/cuda-X.Y
+# - macOS: /Developer/NVIDIA/CUDA-X.Y
+# - Windows: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y
+#
+# We will also search the default symlink location /usr/local/cuda first since
+# if CUDAToolkit_ROOT is not specified, it is assumed that the symlinked
+# directory is the desired location.
+if (NOT CUDAToolkit_NVCC_EXECUTABLE)
+  if (UNIX)
+    if (NOT APPLE)
+      set(platform_base "/usr/local/cuda-")
+    else()
+      set(platform_base "/Developer/NVIDIA/CUDA-")
+    endif()
+  else()
+    set(platform_base "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v")
+  endif()
+
+  # Build out a descending list of possible cuda installations, e.g.
+  file(GLOB possible_paths "${platform_base}*")
+  # Iterate the glob results and create a descending list.
+  set(possible_versions)
+  foreach (p ${possible_paths})
+    # Extract version number from end of string
+    string(REGEX MATCH "[0-9][0-9]?\\.[0-9]$" p_version ${p})
+    if (IS_DIRECTORY ${p} AND p_version)
+      list(APPEND possible_versions ${p_version})
+    endif()
+  endforeach()
+
+  # Cannot use list(SORT) because that is alphabetical, we need numerical.
+  # NOTE: this is not an efficient sorting strategy.  But even if a user had
+  # every possible version of CUDA installed, this wouldn't create any
+  # significant overhead.
+  set(versions)
+  foreach (v ${possible_versions})
+    list(LENGTH versions num_versions)
+    # First version, nothing to compare with so just append.
+    if (num_versions EQUAL 0)
+      list(APPEND versions ${v})
+    else()
+      # Loop through list.  Insert at an index when comparison is
+      # VERSION_GREATER since we want a descending list.  Duplicates will not
+      # happen since this came from a glob list of directories.
+      set(i 0)
+      set(early_terminate FALSE)
+      while (i LESS num_versions)
+        list(GET versions ${i} curr)
+        if (v VERSION_GREATER curr)
+          list(INSERT versions ${i} ${v})
+          set(early_terminate TRUE)
+          break()
+        endif()
+        math(EXPR i "${i} + 1")
+      endwhile()
+      # If it did not get inserted, place it at the end.
+      if (NOT early_terminate)
+        list(APPEND versions ${v})
+      endif()
+    endif()
+  endforeach()
+
+  # With a descending list of versions, populate possible paths to search.
+  set(search_paths)
+  foreach (v ${versions})
+    list(APPEND search_paths "${platform_base}${v}")
+  endforeach()
+
+  # Force the global default /usr/local/cuda to the front on Unix.
+  if (UNIX)
+    list(INSERT search_paths 0 "/usr/local/cuda")
+  endif()
+
+  # Now search for nvcc again using the platform default search paths.
+  find_program(CUDAToolkit_NVCC_EXECUTABLE
+    NAMES nvcc nvcc.exe
+    PATHS ${search_paths}
+    PATH_SUFFIXES bin
+  )
+
+  # We are done with these variables now, cleanup for caller.
+  unset(platform_base)
+  unset(possible_paths)
+  unset(possible_versions)
+  unset(versions)
+  unset(i)
+  unset(early_terminate)
+  unset(search_paths)
+
+  if (NOT CUDAToolkit_NVCC_EXECUTABLE)
+    if (CUDAToolkit_FIND_REQUIRED)
+      message(FATAL_ERROR "Could not find nvcc, please set CUDAToolkit_ROOT.")
+    elseif(NOT CUDAToolkit_FIND_QUIETLY)
+      message(STATUS "Could not find nvcc, please set CUDAToolkit_ROOT.")
+    endif()
+
+    set(CUDAToolkit_FOUND FALSE)
+    return()
+  endif()
+endif()
+
+if(NOT CUDAToolkit_BIN_DIR AND CUDAToolkit_NVCC_EXECUTABLE)
+  get_filename_component(cuda_dir "${CUDAToolkit_NVCC_EXECUTABLE}" DIRECTORY)
+  set(CUDAToolkit_BIN_DIR "${cuda_dir}" CACHE PATH "" FORCE)
+  mark_as_advanced(CUDAToolkit_BIN_DIR)
+  unset(cuda_dir)
+endif()
+
+if(CUDAToolkit_NVCC_EXECUTABLE AND
+   CUDAToolkit_NVCC_EXECUTABLE STREQUAL CMAKE_CUDA_COMPILER)
+  # Need to set these based off the already computed CMAKE_CUDA_COMPILER_VERSION value
+  # This if statement will always match, but is used to provide variables for MATCH 1,2,3...
+  if(CMAKE_CUDA_COMPILER_VERSION MATCHES [=[([0-9]+)\.([0-9]+)\.([0-9]+)]=])
+    set(CUDAToolkit_VERSION_MAJOR "${CMAKE_MATCH_1}")
+    set(CUDAToolkit_VERSION_MINOR "${CMAKE_MATCH_2}")
+    set(CUDAToolkit_VERSION_PATCH "${CMAKE_MATCH_3}")
+    set(CUDAToolkit_VERSION "${CMAKE_CUDA_COMPILER_VERSION}")
+  endif()
+else()
+  # Compute the version by invoking nvcc
+  execute_process (COMMAND ${CUDAToolkit_NVCC_EXECUTABLE} "--version" OUTPUT_VARIABLE NVCC_OUT)
+  if(NVCC_OUT MATCHES [=[ V([0-9]+)\.([0-9]+)\.([0-9]+)]=])
+    set(CUDAToolkit_VERSION_MAJOR "${CMAKE_MATCH_1}")
+    set(CUDAToolkit_VERSION_MINOR "${CMAKE_MATCH_2}")
+    set(CUDAToolkit_VERSION_PATCH "${CMAKE_MATCH_3}")
+    set(CUDAToolkit_VERSION  "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}")
+  endif()
+  unset(NVCC_OUT)
+endif()
+
+
+get_filename_component(CUDAToolkit_ROOT_DIR ${CUDAToolkit_BIN_DIR} DIRECTORY ABSOLUTE)
+
+# Handle cross compilation
+if(CMAKE_CROSSCOMPILING)
+  if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a")
+    # Support for NVPACK
+    set (CUDAToolkit_TARGET_NAME "armv7-linux-androideabi")
+  elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
+    # Support for arm cross compilation
+    set(CUDAToolkit_TARGET_NAME "armv7-linux-gnueabihf")
+  elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+    # Support for aarch64 cross compilation
+    if (ANDROID_ARCH_NAME STREQUAL "arm64")
+      set(CUDAToolkit_TARGET_NAME "aarch64-linux-androideabi")
+    else()
+      set(CUDAToolkit_TARGET_NAME "aarch64-linux")
+    endif (ANDROID_ARCH_NAME STREQUAL "arm64")
+  elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+      set(CUDAToolkit_TARGET_NAME "x86_64-linux")
+  endif()
+
+  if (EXISTS "${CUDAToolkit_ROOT_DIR}/targets/${CUDAToolkit_TARGET_NAME}")
+    set(CUDAToolkit_TARGET_DIR "${CUDAToolkit_ROOT_DIR}/targets/${CUDAToolkit_TARGET_NAME}")
+    # add known CUDA target root path to the set of directories we search for programs, libraries and headers
+    list(PREPEND CMAKE_FIND_ROOT_PATH "${CUDAToolkit_TARGET_DIR}")
+
+    # Mark that we need to pop the root search path changes after we have
+    # found all cuda libraries so that searches for our cross-compilation
+    # libraries work when another cuda sdk is in CMAKE_PREFIX_PATH or
+    # PATh
+    set(_CUDAToolkit_Pop_ROOT_PATH True)
+  endif()
+else()
+  # Not cross compiling
+  set(CUDAToolkit_TARGET_DIR "${CUDAToolkit_ROOT_DIR}")
+  # Now that we have the real ROOT_DIR, find components inside it.
+  list(APPEND CMAKE_PREFIX_PATH ${CUDAToolkit_ROOT_DIR})
+
+  # Mark that we need to pop the prefix path changes after we have
+  # found the cudart library.
+  set(_CUDAToolkit_Pop_Prefix True)
+endif()
+
+
+# Find the include/ directory
+find_path(CUDAToolkit_INCLUDE_DIR
+  NAMES cuda_runtime.h
+)
+
+# And find the CUDA Runtime Library libcudart
+find_library(CUDA_CUDART
+  NAMES cudart
+  PATH_SUFFIXES lib64 lib64/stubs lib/x64
+)
+if (NOT CUDA_CUDART AND NOT CUDAToolkit_FIND_QUIETLY)
+  message(STATUS "Unable to find cudart library.")
+endif()
+
+unset(CUDAToolkit_ROOT_DIR)
+if(_CUDAToolkit_Pop_Prefix)
+  list(REMOVE_AT CMAKE_PREFIX_PATH -1)
+  unset(_CUDAToolkit_Pop_Prefix)
+endif()
+
+#-----------------------------------------------------------------------------
+# Perform version comparison and validate all required variables are set.
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(CUDAToolkit
+  REQUIRED_VARS
+    CUDAToolkit_INCLUDE_DIR
+    CUDA_CUDART
+    CUDAToolkit_NVCC_EXECUTABLE
+  VERSION_VAR
+    CUDAToolkit_VERSION
+)
+mark_as_advanced(CUDA_CUDART
+                 CUDAToolkit_INCLUDE_DIR
+                 CUDAToolkit_NVCC_EXECUTABLE
+                 )
+
+#-----------------------------------------------------------------------------
+# Construct result variables
+if(CUDAToolkit_FOUND)
+ set(CUDAToolkit_INCLUDE_DIRS ${CUDAToolkit_INCLUDE_DIR})
+ get_filename_component(CUDAToolkit_LIBRARY_DIR ${CUDA_CUDART} DIRECTORY ABSOLUTE)
+endif()
+
+#-----------------------------------------------------------------------------
+# Construct import targets
+if(CUDAToolkit_FOUND)
+
+  function(_CUDAToolkit_find_and_add_import_lib lib_name)
+    cmake_parse_arguments(arg "" "" "ALT;DEPS;EXTRA_PATH_SUFFIXES" ${ARGN})
+
+    set(search_names ${lib_name} ${arg_ALT})
+
+    find_library(CUDA_${lib_name}_LIBRARY
+      NAMES ${search_names}
+      HINTS ${CUDAToolkit_LIBRARY_DIR}
+            ENV CUDA_PATH
+      PATH_SUFFIXES nvidia/current lib64 lib64/stubs lib/x64 lib lib/stubs
+                    ${arg_EXTRA_PATH_SUFFIXES}
+    )
+    mark_as_advanced(CUDA_${lib_name}_LIBRARY)
+
+    if (NOT TARGET CUDA::${lib_name} AND CUDA_${lib_name}_LIBRARY)
+      add_library(CUDA::${lib_name} IMPORTED INTERFACE)
+      target_include_directories(CUDA::${lib_name} SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}")
+      target_link_libraries(CUDA::${lib_name} INTERFACE "${CUDA_${lib_name}_LIBRARY}")
+      foreach(dep ${arg_DEPS})
+        if(TARGET CUDA::${dep})
+          target_link_libraries(CUDA::${lib_name} INTERFACE CUDA::${dep})
+        endif()
+      endforeach()
+    endif()
+  endfunction()
+
+  if(NOT TARGET CUDA::toolkit)
+    add_library(CUDA::toolkit IMPORTED INTERFACE)
+    target_include_directories(CUDA::toolkit SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}")
+    target_link_directories(CUDA::toolkit INTERFACE "${CUDAToolkit_LIBRARY_DIR}")
+  endif()
+
+  _CUDAToolkit_find_and_add_import_lib(cuda_driver ALT cuda)
+
+  _CUDAToolkit_find_and_add_import_lib(cudart)
+  _CUDAToolkit_find_and_add_import_lib(cudart_static)
+
+  # setup dependencies that are required for cudart_static when building
+  # on linux. These are generally only required when using the CUDA toolkit
+  # when CUDA language is disabled
+  if(NOT TARGET CUDA::cudart_static_deps
+     AND TARGET CUDA::cudart_static)
+
+    add_library(CUDA::cudart_static_deps IMPORTED INTERFACE)
+    target_link_libraries(CUDA::cudart_static INTERFACE CUDA::cudart_static_deps)
+
+    if(UNIX AND (CMAKE_C_COMPILER OR CMAKE_CXX_COMPILER))
+      find_package(Threads REQUIRED)
+      target_link_libraries(CUDA::cudart_static_deps INTERFACE Threads::Threads ${CMAKE_DL_LIBS})
+    endif()
+
+    if(UNIX AND NOT APPLE)
+      # On Linux, you must link against librt when using the static cuda runtime.
+      find_library(CUDAToolkit_rt_LIBRARY rt)
+      mark_as_advanced(CUDAToolkit_rt_LIBRARY)
+      if(NOT CUDAToolkit_rt_LIBRARY)
+        message(WARNING "Could not find librt library, needed by CUDA::cudart_static")
+      else()
+        target_link_libraries(CUDA::cudart_static_deps INTERFACE ${CUDAToolkit_rt_LIBRARY})
+      endif()
+    endif()
+  endif()
+
+  _CUDAToolkit_find_and_add_import_lib(culibos) # it's a static library
+  foreach (cuda_lib cublas cufft curand cusparse nppc nvjpeg)
+    _CUDAToolkit_find_and_add_import_lib(${cuda_lib})
+    _CUDAToolkit_find_and_add_import_lib(${cuda_lib}_static DEPS culibos)
+  endforeach()
+
+  # cuFFTW depends on cuFFT
+  _CUDAToolkit_find_and_add_import_lib(cufftw DEPS cufft)
+  _CUDAToolkit_find_and_add_import_lib(cufftw DEPS cufft_static)
+
+  # cuSOLVER depends on cuBLAS, and cuSPARSE
+  _CUDAToolkit_find_and_add_import_lib(cusolver DEPS cublas cusparse)
+  _CUDAToolkit_find_and_add_import_lib(cusolver_static DEPS cublas_static cusparse_static culibos)
+
+  # nvGRAPH depends on cuRAND, and cuSOLVER.
+  _CUDAToolkit_find_and_add_import_lib(nvgraph DEPS curand cusolver)
+  _CUDAToolkit_find_and_add_import_lib(nvgraph_static DEPS curand_static cusolver_static)
+
+  # Process the majority of the NPP libraries.
+  foreach (cuda_lib nppial nppicc nppidei nppif nppig nppim nppist nppitc npps nppicom nppisu)
+    _CUDAToolkit_find_and_add_import_lib(${cuda_lib} DEPS nppc)
+    _CUDAToolkit_find_and_add_import_lib(${cuda_lib}_static DEPS nppc_static)
+  endforeach()
+
+  _CUDAToolkit_find_and_add_import_lib(cupti
+                                       EXTRA_PATH_SUFFIXES ../extras/CUPTI/lib64/
+                                                           ../extras/CUPTI/lib/)
+  _CUDAToolkit_find_and_add_import_lib(cupti_static
+                                       EXTRA_PATH_SUFFIXES ../extras/CUPTI/lib64/
+                                                           ../extras/CUPTI/lib/)
+
+  _CUDAToolkit_find_and_add_import_lib(nvrtc DEPS cuda_driver)
+
+  _CUDAToolkit_find_and_add_import_lib(nvml ALT nvidia-ml nvml)
+
+  if(WIN32)
+    # nvtools can be installed outside the CUDA toolkit directory
+    # so prefer the NVTOOLSEXT_PATH windows only environment variable
+    # In addition on windows the most common name is nvToolsExt64_1
+    find_library(CUDA_nvToolsExt_LIBRARY
+      NAMES nvToolsExt64_1 nvToolsExt64 nvToolsExt
+      PATHS ENV NVTOOLSEXT_PATH
+            ENV CUDA_PATH
+      PATH_SUFFIXES lib/x64 lib
+    )
+  endif()
+  _CUDAToolkit_find_and_add_import_lib(nvToolsExt ALT nvToolsExt64)
+
+  _CUDAToolkit_find_and_add_import_lib(OpenCL)
+endif()
+
+if(_CUDAToolkit_Pop_ROOT_PATH)
+  list(REMOVE_AT CMAKE_FIND_ROOT_PATH 0)
+  unset(_CUDAToolkit_Pop_ROOT_PATH)
+endif()
diff --git a/share/cmake-3.16/Modules/FindCURL.cmake b/share/cmake-3.17/Modules/FindCURL.cmake
similarity index 89%
rename from share/cmake-3.16/Modules/FindCURL.cmake
rename to share/cmake-3.17/Modules/FindCURL.cmake
index aeebc84..919babc 100644
--- a/share/cmake-3.16/Modules/FindCURL.cmake
+++ b/share/cmake-3.17/Modules/FindCURL.cmake
@@ -37,8 +37,35 @@
 
 ``CURL_VERSION_STRING``
   The version of ``curl`` found.
+
+CURL CMake
+^^^^^^^^^^
+
+If CURL was built using the CMake buildsystem then it provides its own
+``CURLConfig.cmake`` file for use with the :command:`find_package` command's
+config mode. This module looks for this file and, if found,
+returns its results with no further action.
+
+Set ``CURL_NO_CURL_CMAKE`` to ``ON`` to disable this search.
+
 #]=======================================================================]
 
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+if(NOT CURL_NO_CURL_CMAKE)
+  # do a find package call to specifically look for the CMake version
+  # of curl
+  find_package(CURL QUIET NO_MODULE)
+  mark_as_advanced(CURL_DIR)
+
+  # if we found the CURL cmake package then we are done, and
+  # can print what we found and return.
+  if(CURL_FOUND)
+    find_package_handle_standard_args(CURL HANDLE_COMPONENTS CONFIG_MODE)
+    return()
+  endif()
+endif()
+
 find_package(PkgConfig QUIET)
 if(PKG_CONFIG_FOUND)
   pkg_check_modules(PC_CURL QUIET libcurl)
@@ -139,7 +166,6 @@
   endforeach()
 endif()
 
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 find_package_handle_standard_args(CURL
                                   REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR
                                   VERSION_VAR CURL_VERSION_STRING
diff --git a/share/cmake-3.16/Modules/FindCVS.cmake b/share/cmake-3.17/Modules/FindCVS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCVS.cmake
rename to share/cmake-3.17/Modules/FindCVS.cmake
diff --git a/share/cmake-3.16/Modules/FindCoin3D.cmake b/share/cmake-3.17/Modules/FindCoin3D.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCoin3D.cmake
rename to share/cmake-3.17/Modules/FindCoin3D.cmake
diff --git a/share/cmake-3.16/Modules/FindCups.cmake b/share/cmake-3.17/Modules/FindCups.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCups.cmake
rename to share/cmake-3.17/Modules/FindCups.cmake
diff --git a/share/cmake-3.16/Modules/FindCurses.cmake b/share/cmake-3.17/Modules/FindCurses.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FindCurses.cmake
rename to share/cmake-3.17/Modules/FindCurses.cmake
index e3e7273..ba56078 100644
--- a/share/cmake-3.16/Modules/FindCurses.cmake
+++ b/share/cmake-3.17/Modules/FindCurses.cmake
@@ -159,6 +159,10 @@
   if(NOT CURSES_NCURSES_HAS_CBREAK)
     find_library(CURSES_EXTRA_LIBRARY "${CURSES_TINFO_LIBRARY_NAME}" HINTS "${_cursesLibDir}")
     find_library(CURSES_EXTRA_LIBRARY "${CURSES_TINFO_LIBRARY_NAME}" )
+
+    mark_as_advanced(
+      CURSES_EXTRA_LIBRARY
+      )
   endif()
 else()
   get_filename_component(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
@@ -262,6 +266,5 @@
   CURSES_INCLUDE_PATH
   CURSES_CURSES_LIBRARY
   CURSES_NCURSES_LIBRARY
-  CURSES_EXTRA_LIBRARY
   CURSES_FORM_LIBRARY
   )
diff --git a/share/cmake-3.16/Modules/FindCxxTest.cmake b/share/cmake-3.17/Modules/FindCxxTest.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCxxTest.cmake
rename to share/cmake-3.17/Modules/FindCxxTest.cmake
diff --git a/share/cmake-3.16/Modules/FindCygwin.cmake b/share/cmake-3.17/Modules/FindCygwin.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindCygwin.cmake
rename to share/cmake-3.17/Modules/FindCygwin.cmake
diff --git a/share/cmake-3.16/Modules/FindDCMTK.cmake b/share/cmake-3.17/Modules/FindDCMTK.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/FindDCMTK.cmake
rename to share/cmake-3.17/Modules/FindDCMTK.cmake
index d48de08..b2e00df 100644
--- a/share/cmake-3.16/Modules/FindDCMTK.cmake
+++ b/share/cmake-3.17/Modules/FindDCMTK.cmake
@@ -102,7 +102,7 @@
 # Step1: Attempt to find a version of DCMTK providing a DCMTKConfig.cmake file.
 #
 if(NOT DCMTK_FIND_QUIETLY)
-  message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake")
+  message(CHECK_START "Trying to find DCMTK expecting DCMTKConfig.cmake")
 endif()
 find_package(DCMTK QUIET NO_MODULE)
 if(DCMTK_FOUND
@@ -110,12 +110,12 @@
     AND NOT "x" STREQUAL "x${DCMTK_INCLUDE_DIRS}")
 
   if(NOT DCMTK_FIND_QUIETLY)
-    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok")
+    message(CHECK_PASS "ok")
   endif()
   return()
 else()
   if(NOT DCMTK_FIND_QUIETLY)
-    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - failed")
+    message(CHECK_FAIL "failed")
   endif()
 endif()
 
diff --git a/share/cmake-3.16/Modules/FindDart.cmake b/share/cmake-3.17/Modules/FindDart.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindDart.cmake
rename to share/cmake-3.17/Modules/FindDart.cmake
diff --git a/share/cmake-3.16/Modules/FindDevIL.cmake b/share/cmake-3.17/Modules/FindDevIL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindDevIL.cmake
rename to share/cmake-3.17/Modules/FindDevIL.cmake
diff --git a/share/cmake-3.16/Modules/FindDoxygen.cmake b/share/cmake-3.17/Modules/FindDoxygen.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindDoxygen.cmake
rename to share/cmake-3.17/Modules/FindDoxygen.cmake
diff --git a/share/cmake-3.16/Modules/FindEXPAT.cmake b/share/cmake-3.17/Modules/FindEXPAT.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindEXPAT.cmake
rename to share/cmake-3.17/Modules/FindEXPAT.cmake
diff --git a/share/cmake-3.16/Modules/FindEnvModules.cmake b/share/cmake-3.17/Modules/FindEnvModules.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindEnvModules.cmake
rename to share/cmake-3.17/Modules/FindEnvModules.cmake
diff --git a/share/cmake-3.16/Modules/FindFLEX.cmake b/share/cmake-3.17/Modules/FindFLEX.cmake
similarity index 74%
rename from share/cmake-3.16/Modules/FindFLEX.cmake
rename to share/cmake-3.17/Modules/FindFLEX.cmake
index d22b7ec..90e5f86 100644
--- a/share/cmake-3.16/Modules/FindFLEX.cmake
+++ b/share/cmake-3.17/Modules/FindFLEX.cmake
@@ -142,8 +142,6 @@
   #============================================================
   #
   macro(FLEX_TARGET Name Input Output)
-    set(FLEX_TARGET_outputs "${Output}")
-    set(FLEX_EXECUTABLE_opts "")
 
     set(FLEX_TARGET_PARAM_OPTIONS)
     set(FLEX_TARGET_PARAM_ONE_VALUE_KEYWORDS
@@ -165,31 +163,68 @@
     if(NOT "${FLEX_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "")
       message(SEND_ERROR ${FLEX_TARGET_usage})
     else()
-      if(NOT "${FLEX_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "")
-        set(FLEX_EXECUTABLE_opts "${FLEX_TARGET_ARG_COMPILE_FLAGS}")
-        separate_arguments(FLEX_EXECUTABLE_opts)
+
+      cmake_policy(GET CMP0098 _flex_CMP0098
+          PARENT_SCOPE # undocumented, do not use outside of CMake
+        )
+      set(_flex_INPUT "${Input}")
+      if("x${_flex_CMP0098}x" STREQUAL "xNEWx")
+        set(_flex_WORKING_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+        if(NOT IS_ABSOLUTE "${_flex_INPUT}")
+          set(_flex_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/${_flex_INPUT}")
+        endif()
+      else()
+        set(_flex_WORKING_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
       endif()
-      if(NOT "${FLEX_TARGET_ARG_DEFINES_FILE}" STREQUAL "")
-        list(APPEND FLEX_TARGET_outputs "${FLEX_TARGET_ARG_DEFINES_FILE}")
-        list(APPEND FLEX_EXECUTABLE_opts --header-file=${FLEX_TARGET_ARG_DEFINES_FILE})
+      unset(_flex_CMP0098)
+
+      set(_flex_OUTPUT "${Output}")
+      if(NOT IS_ABSOLUTE ${_flex_OUTPUT})
+        set(_flex_OUTPUT "${_flex_WORKING_DIR}/${_flex_OUTPUT}")
+      endif()
+      set(_flex_TARGET_OUTPUTS "${_flex_OUTPUT}")
+
+      set(_flex_EXE_OPTS "")
+      if(NOT "${FLEX_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "")
+        set(_flex_EXE_OPTS "${FLEX_TARGET_ARG_COMPILE_FLAGS}")
+        separate_arguments(_flex_EXE_OPTS)
       endif()
 
-      add_custom_command(OUTPUT ${FLEX_TARGET_outputs}
-        COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXECUTABLE_opts} -o${Output} ${Input}
+      set(_flex_OUTPUT_HEADER "")
+      if(NOT "${FLEX_TARGET_ARG_DEFINES_FILE}" STREQUAL "")
+        set(_flex_OUTPUT_HEADER "${FLEX_TARGET_ARG_DEFINES_FILE}")
+        if(IS_ABSOLUTE "${_flex_OUTPUT_HEADER}")
+          set(_flex_OUTPUT_HEADER_ABS "${_flex_OUTPUT_HEADER}")
+        else()
+          set(_flex_OUTPUT_HEADER_ABS "${_flex_WORKING_DIR}/${_flex_OUTPUT_HEADER}")
+        endif()
+        list(APPEND _flex_TARGET_OUTPUTS "${_flex_OUTPUT_HEADER_ABS}")
+        list(APPEND _flex_EXE_OPTS --header-file=${_flex_OUTPUT_HEADER_ABS})
+      endif()
+
+      get_filename_component(_flex_EXE_NAME_WE "${FLEX_EXECUTABLE}" NAME_WE)
+      add_custom_command(OUTPUT ${_flex_TARGET_OUTPUTS}
+        COMMAND ${FLEX_EXECUTABLE} ${_flex_EXE_OPTS} -o${_flex_OUTPUT} ${_flex_INPUT}
         VERBATIM
-        DEPENDS ${Input}
-        COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}"
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+        DEPENDS ${_flex_INPUT}
+        COMMENT "[FLEX][${Name}] Building scanner with ${_flex_EXE_NAME_WE} ${FLEX_VERSION}"
+        WORKING_DIRECTORY ${_flex_WORKING_DIR})
 
       set(FLEX_${Name}_DEFINED TRUE)
-      set(FLEX_${Name}_OUTPUTS ${Output})
-      set(FLEX_${Name}_INPUT ${Input})
-      set(FLEX_${Name}_COMPILE_FLAGS ${FLEX_EXECUTABLE_opts})
-      if("${FLEX_TARGET_ARG_DEFINES_FILE}" STREQUAL "")
-        set(FLEX_${Name}_OUTPUT_HEADER "")
-      else()
-        set(FLEX_${Name}_OUTPUT_HEADER ${FLEX_TARGET_ARG_DEFINES_FILE})
-      endif()
+      set(FLEX_${Name}_OUTPUTS ${_flex_TARGET_OUTPUTS})
+      set(FLEX_${Name}_INPUT ${_flex_INPUT})
+      set(FLEX_${Name}_COMPILE_FLAGS ${_flex_EXE_OPTS})
+      set(FLEX_${Name}_OUTPUT_HEADER ${_flex_OUTPUT_HEADER})
+
+      unset(_flex_EXE_NAME_WE)
+      unset(_flex_EXE_OPTS)
+      unset(_flex_INPUT)
+      unset(_flex_OUTPUT)
+      unset(_flex_OUTPUT_HEADER)
+      unset(_flex_OUTPUT_HEADER_ABS)
+      unset(_flex_TARGET_OUTPUTS)
+      unset(_flex_WORKING_DIR)
+
     endif()
   endmacro()
   #============================================================
diff --git a/share/cmake-3.16/Modules/FindFLTK.cmake b/share/cmake-3.17/Modules/FindFLTK.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindFLTK.cmake
rename to share/cmake-3.17/Modules/FindFLTK.cmake
diff --git a/share/cmake-3.16/Modules/FindFLTK2.cmake b/share/cmake-3.17/Modules/FindFLTK2.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindFLTK2.cmake
rename to share/cmake-3.17/Modules/FindFLTK2.cmake
diff --git a/share/cmake-3.16/Modules/FindFontconfig.cmake b/share/cmake-3.17/Modules/FindFontconfig.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindFontconfig.cmake
rename to share/cmake-3.17/Modules/FindFontconfig.cmake
diff --git a/share/cmake-3.16/Modules/FindFreetype.cmake b/share/cmake-3.17/Modules/FindFreetype.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindFreetype.cmake
rename to share/cmake-3.17/Modules/FindFreetype.cmake
diff --git a/share/cmake-3.16/Modules/FindGCCXML.cmake b/share/cmake-3.17/Modules/FindGCCXML.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGCCXML.cmake
rename to share/cmake-3.17/Modules/FindGCCXML.cmake
diff --git a/share/cmake-3.16/Modules/FindGDAL.cmake b/share/cmake-3.17/Modules/FindGDAL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGDAL.cmake
rename to share/cmake-3.17/Modules/FindGDAL.cmake
diff --git a/share/cmake-3.16/Modules/FindGIF.cmake b/share/cmake-3.17/Modules/FindGIF.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGIF.cmake
rename to share/cmake-3.17/Modules/FindGIF.cmake
diff --git a/share/cmake-3.16/Modules/FindGLEW.cmake b/share/cmake-3.17/Modules/FindGLEW.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FindGLEW.cmake
rename to share/cmake-3.17/Modules/FindGLEW.cmake
index bd69819..27ffa13 100644
--- a/share/cmake-3.16/Modules/FindGLEW.cmake
+++ b/share/cmake-3.17/Modules/FindGLEW.cmake
@@ -10,7 +10,7 @@
 Input Variables
 ^^^^^^^^^^^^^^^
 
-The following variables may be set to influence this module’s behavior:
+The following variables may be set to influence this module's behavior:
 
 ``GLEW_USE_STATIC_LIBS``
   to find and create :prop_tgt:`IMPORTED` target for static linkage.
diff --git a/share/cmake-3.16/Modules/FindGLU.cmake b/share/cmake-3.17/Modules/FindGLU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGLU.cmake
rename to share/cmake-3.17/Modules/FindGLU.cmake
diff --git a/share/cmake-3.16/Modules/FindGLUT.cmake b/share/cmake-3.17/Modules/FindGLUT.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGLUT.cmake
rename to share/cmake-3.17/Modules/FindGLUT.cmake
diff --git a/share/cmake-3.16/Modules/FindGSL.cmake b/share/cmake-3.17/Modules/FindGSL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGSL.cmake
rename to share/cmake-3.17/Modules/FindGSL.cmake
diff --git a/share/cmake-3.16/Modules/FindGTK.cmake b/share/cmake-3.17/Modules/FindGTK.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGTK.cmake
rename to share/cmake-3.17/Modules/FindGTK.cmake
diff --git a/share/cmake-3.16/Modules/FindGTK2.cmake b/share/cmake-3.17/Modules/FindGTK2.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/FindGTK2.cmake
rename to share/cmake-3.17/Modules/FindGTK2.cmake
index 83091f3..565763d 100644
--- a/share/cmake-3.16/Modules/FindGTK2.cmake
+++ b/share/cmake-3.17/Modules/FindGTK2.cmake
@@ -5,96 +5,83 @@
 FindGTK2
 --------
 
-Find the GTK2 widget libraries and several of its
-other optional components like ``gtkmm``, ``glade``, and ``glademm``.
-
-NOTE: If you intend to use version checking, CMake 2.6.2 or later is
-
-::
-
-       required.
-
-
+Find the GTK2 widget libraries and several of its other optional components
+like ``gtkmm``, ``glade``, and ``glademm``.
 
 Specify one or more of the following components as you call this find
 module.  See example below.
 
-::
+* ``gtk``
+* ``gtkmm``
+* ``glade``
+* ``glademm``
 
-   gtk
-   gtkmm
-   glade
-   glademm
-
-
+Result Variables
+^^^^^^^^^^^^^^^^
 
 The following variables will be defined for your use
 
-::
+``GTK2_FOUND``
+  Were all of your specified components found?
+``GTK2_INCLUDE_DIRS``
+  All include directories
+``GTK2_LIBRARIES``
+  All libraries
+``GTK2_TARGETS``
+  All imported targets
+``GTK2_DEFINITIONS``
+  Additional compiler flags
+``GTK2_VERSION``
+  The version of GTK2 found (x.y.z)
+``GTK2_MAJOR_VERSION``
+  The major version of GTK2
+``GTK2_MINOR_VERSION``
+  The minor version of GTK2
+``GTK2_PATCH_VERSION``
+  The patch version of GTK2
 
-   GTK2_FOUND - Were all of your specified components found?
-   GTK2_INCLUDE_DIRS - All include directories
-   GTK2_LIBRARIES - All libraries
-   GTK2_TARGETS - All imported targets
-   GTK2_DEFINITIONS - Additional compiler flags
-
-
-
-::
-
-   GTK2_VERSION - The version of GTK2 found (x.y.z)
-   GTK2_MAJOR_VERSION - The major version of GTK2
-   GTK2_MINOR_VERSION - The minor version of GTK2
-   GTK2_PATCH_VERSION - The patch version of GTK2
-
-
+Input Variables
+^^^^^^^^^^^^^^^
 
 Optional variables you can define prior to calling this module:
 
-::
+``GTK2_DEBUG``
+  Enables verbose debugging of the module
+``GTK2_ADDITIONAL_SUFFIXES``
+  Allows defining additional directories to search for include files
 
-   GTK2_DEBUG - Enables verbose debugging of the module
-   GTK2_ADDITIONAL_SUFFIXES - Allows defining additional directories to
-                              search for include files
+Example Usage
+^^^^^^^^^^^^^
 
+Call :command:`find_package` once.  Here are some examples to pick from:
 
+Require GTK 2.6 or later:
 
-================= Example Usage:
+.. code-block:: cmake
 
-::
+  find_package(GTK2 2.6 REQUIRED gtk)
 
-   Call find_package() once, here are some examples to pick from:
+Require GTK 2.10 or later and Glade:
 
+.. code-block:: cmake
 
+  find_package(GTK2 2.10 REQUIRED gtk glade)
 
-::
+Search for GTK/GTKMM 2.8 or later:
 
-   Require GTK 2.6 or later
-       find_package(GTK2 2.6 REQUIRED gtk)
+.. code-block:: cmake
 
+  find_package(GTK2 2.8 COMPONENTS gtk gtkmm)
 
+Use the results:
 
-::
+.. code-block:: cmake
 
-   Require GTK 2.10 or later and Glade
-       find_package(GTK2 2.10 REQUIRED gtk glade)
-
-
-
-::
-
-   Search for GTK/GTKMM 2.8 or later
-       find_package(GTK2 2.8 COMPONENTS gtk gtkmm)
-
-
-
-::
-
-   if(GTK2_FOUND)
-      include_directories(${GTK2_INCLUDE_DIRS})
-      add_executable(mygui mygui.cc)
-      target_link_libraries(mygui ${GTK2_LIBRARIES})
-   endif()
+  if(GTK2_FOUND)
+    include_directories(${GTK2_INCLUDE_DIRS})
+    add_executable(mygui mygui.cc)
+    target_link_libraries(mygui ${GTK2_LIBRARIES})
+  endif()
 #]=======================================================================]
 
 # Version 1.6 (CMake 3.0)
@@ -881,6 +868,7 @@
 
     set(GTK2_${_COMPONENT_UPPER}_FIND_QUIETLY ${GTK2_FIND_QUIETLY})
 
+    set(FPHSA_NAME_MISMATCHED 1)
     if(_GTK2_component STREQUAL "gtk")
         FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtk libraries were not found."
             GTK2_GTK_LIBRARY
@@ -923,6 +911,7 @@
             GTK2_GLADEMMCONFIG_INCLUDE_DIR
         )
     endif()
+    unset(FPHSA_NAME_MISMATCHED)
 
     if(NOT GTK2_${_COMPONENT_UPPER}_FOUND)
         set(_GTK2_did_we_find_everything false)
diff --git a/share/cmake-3.16/Modules/FindGTest.cmake b/share/cmake-3.17/Modules/FindGTest.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/FindGTest.cmake
rename to share/cmake-3.17/Modules/FindGTest.cmake
index e015a98..53cab1a 100644
--- a/share/cmake-3.16/Modules/FindGTest.cmake
+++ b/share/cmake-3.17/Modules/FindGTest.cmake
@@ -240,4 +240,15 @@
         __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY "RELEASE")
         __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY "DEBUG")
     endif()
+
+    # Add targets mapping the same library names as defined in
+    # GTest's CMake package config.
+    if(NOT TARGET GTest::gtest)
+        add_library(GTest::gtest INTERFACE IMPORTED)
+        target_link_libraries(GTest::gtest INTERFACE GTest::GTest)
+    endif()
+    if(NOT TARGET GTest::gtest_main)
+        add_library(GTest::gtest_main INTERFACE IMPORTED)
+        target_link_libraries(GTest::gtest_main INTERFACE GTest::Main)
+    endif()
 endif()
diff --git a/share/cmake-3.16/Modules/FindGettext.cmake b/share/cmake-3.17/Modules/FindGettext.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGettext.cmake
rename to share/cmake-3.17/Modules/FindGettext.cmake
diff --git a/share/cmake-3.16/Modules/FindGit.cmake b/share/cmake-3.17/Modules/FindGit.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGit.cmake
rename to share/cmake-3.17/Modules/FindGit.cmake
diff --git a/share/cmake-3.16/Modules/FindGnuTLS.cmake b/share/cmake-3.17/Modules/FindGnuTLS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGnuTLS.cmake
rename to share/cmake-3.17/Modules/FindGnuTLS.cmake
diff --git a/share/cmake-3.16/Modules/FindGnuplot.cmake b/share/cmake-3.17/Modules/FindGnuplot.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindGnuplot.cmake
rename to share/cmake-3.17/Modules/FindGnuplot.cmake
diff --git a/share/cmake-3.16/Modules/FindHDF5.cmake b/share/cmake-3.17/Modules/FindHDF5.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindHDF5.cmake
rename to share/cmake-3.17/Modules/FindHDF5.cmake
diff --git a/share/cmake-3.16/Modules/FindHSPELL.cmake b/share/cmake-3.17/Modules/FindHSPELL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindHSPELL.cmake
rename to share/cmake-3.17/Modules/FindHSPELL.cmake
diff --git a/share/cmake-3.16/Modules/FindHTMLHelp.cmake b/share/cmake-3.17/Modules/FindHTMLHelp.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindHTMLHelp.cmake
rename to share/cmake-3.17/Modules/FindHTMLHelp.cmake
diff --git a/share/cmake-3.16/Modules/FindHg.cmake b/share/cmake-3.17/Modules/FindHg.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindHg.cmake
rename to share/cmake-3.17/Modules/FindHg.cmake
diff --git a/share/cmake-3.16/Modules/FindICU.cmake b/share/cmake-3.17/Modules/FindICU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindICU.cmake
rename to share/cmake-3.17/Modules/FindICU.cmake
diff --git a/share/cmake-3.16/Modules/FindIce.cmake b/share/cmake-3.17/Modules/FindIce.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindIce.cmake
rename to share/cmake-3.17/Modules/FindIce.cmake
diff --git a/share/cmake-3.16/Modules/FindIconv.cmake b/share/cmake-3.17/Modules/FindIconv.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindIconv.cmake
rename to share/cmake-3.17/Modules/FindIconv.cmake
diff --git a/share/cmake-3.16/Modules/FindIcotool.cmake b/share/cmake-3.17/Modules/FindIcotool.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindIcotool.cmake
rename to share/cmake-3.17/Modules/FindIcotool.cmake
diff --git a/share/cmake-3.16/Modules/FindImageMagick.cmake b/share/cmake-3.17/Modules/FindImageMagick.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindImageMagick.cmake
rename to share/cmake-3.17/Modules/FindImageMagick.cmake
diff --git a/share/cmake-3.16/Modules/FindIntl.cmake b/share/cmake-3.17/Modules/FindIntl.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindIntl.cmake
rename to share/cmake-3.17/Modules/FindIntl.cmake
diff --git a/share/cmake-3.16/Modules/FindJNI.cmake b/share/cmake-3.17/Modules/FindJNI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindJNI.cmake
rename to share/cmake-3.17/Modules/FindJNI.cmake
diff --git a/share/cmake-3.16/Modules/FindJPEG.cmake b/share/cmake-3.17/Modules/FindJPEG.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindJPEG.cmake
rename to share/cmake-3.17/Modules/FindJPEG.cmake
diff --git a/share/cmake-3.16/Modules/FindJasper.cmake b/share/cmake-3.17/Modules/FindJasper.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindJasper.cmake
rename to share/cmake-3.17/Modules/FindJasper.cmake
diff --git a/share/cmake-3.16/Modules/FindJava.cmake b/share/cmake-3.17/Modules/FindJava.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindJava.cmake
rename to share/cmake-3.17/Modules/FindJava.cmake
diff --git a/share/cmake-3.16/Modules/FindKDE3.cmake b/share/cmake-3.17/Modules/FindKDE3.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindKDE3.cmake
rename to share/cmake-3.17/Modules/FindKDE3.cmake
diff --git a/share/cmake-3.16/Modules/FindKDE4.cmake b/share/cmake-3.17/Modules/FindKDE4.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindKDE4.cmake
rename to share/cmake-3.17/Modules/FindKDE4.cmake
diff --git a/share/cmake-3.17/Modules/FindLAPACK.cmake b/share/cmake-3.17/Modules/FindLAPACK.cmake
new file mode 100644
index 0000000..c962976
--- /dev/null
+++ b/share/cmake-3.17/Modules/FindLAPACK.cmake
@@ -0,0 +1,496 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindLAPACK
+----------
+
+Find Linear Algebra PACKage (LAPACK) library
+
+This module finds an installed Fortran library that implements the
+LAPACK linear-algebra interface (see http://www.netlib.org/lapack/).
+
+The approach follows that taken for the ``autoconf`` macro file,
+``acx_lapack.m4`` (distributed at
+http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html).
+
+Input Variables
+^^^^^^^^^^^^^^^
+
+The following variables may be set to influence this module's behavior:
+
+``BLA_STATIC``
+  if ``ON`` use static linkage
+
+``BLA_VENDOR``
+  If set, checks only the specified vendor, if not set checks all the
+  possibilities.  List of vendors valid in this module:
+
+  * ``OpenBLAS``
+  * ``FLAME``
+  * ``Intel10_32`` (intel mkl v10 32 bit)
+  * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model)
+  * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model)
+  * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model)
+  * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model)
+  * ``Intel10_64_dyn`` (intel mkl v10+ 64 bit, single dynamic library)
+  * ``Intel`` (obsolete versions of mkl 32 and 64 bit)
+  * ``ACML``
+  * ``Apple``
+  * ``NAS``
+  * ``Generic``
+
+``BLA_F95``
+  if ``ON`` tries to find the BLAS95/LAPACK95 interfaces
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This module defines the following variables:
+
+``LAPACK_FOUND``
+  library implementing the LAPACK interface is found
+``LAPACK_LINKER_FLAGS``
+  uncached list of required linker flags (excluding ``-l`` and ``-L``).
+``LAPACK_LIBRARIES``
+  uncached list of libraries (using full path name) to link against
+  to use LAPACK
+``LAPACK95_LIBRARIES``
+  uncached list of libraries (using full path name) to link against
+  to use LAPACK95
+``LAPACK95_FOUND``
+  library implementing the LAPACK95 interface is found
+
+.. note::
+
+  C, CXX or Fortran must be enabled to detect a BLAS/LAPACK library.
+  C or CXX must be enabled to use Intel Math Kernel Library (MKL).
+
+  For example, to use Intel MKL libraries and/or Intel compiler:
+
+  .. code-block:: cmake
+
+    set(BLA_VENDOR Intel10_64lp)
+    find_package(LAPACK)
+#]=======================================================================]
+
+# Check the language being used
+if(NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED))
+  if(LAPACK_FIND_REQUIRED)
+    message(FATAL_ERROR "FindLAPACK requires Fortran, C, or C++ to be enabled.")
+  else()
+    message(STATUS "Looking for LAPACK... - NOT found (Unsupported languages)")
+    return()
+  endif()
+endif()
+
+if(CMAKE_Fortran_COMPILER_LOADED)
+  include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
+else()
+  include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
+endif()
+include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+
+cmake_push_check_state()
+set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY})
+
+set(LAPACK_FOUND FALSE)
+set(LAPACK95_FOUND FALSE)
+
+set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+if(BLA_STATIC)
+  if(WIN32)
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  else()
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  endif()
+else()
+  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+    # for ubuntu's libblas3gf and liblapack3gf packages
+    set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
+  endif()
+endif()
+
+# TODO: move this stuff to a separate module
+
+macro(CHECK_LAPACK_LIBRARIES LIBRARIES _prefix _name _flags _list _threadlibs _addlibdir _subdirs _blas)
+  # This macro checks for the existence of the combination of fortran libraries
+  # given by _list.  If the combination is found, this macro checks (using the
+  # Check_Fortran_Function_Exists macro) whether can link against that library
+  # combination using the name of a routine given by _name using the linker
+  # flags given by _flags.  If the combination of libraries is found and passes
+  # the link test, LIBRARIES is set to the list of complete library paths that
+  # have been found.  Otherwise, LIBRARIES is set to FALSE.
+
+  # N.B. _prefix is the prefix applied to the names of all cached variables that
+  # are generated internally and marked advanced by this macro.
+  # _addlibdir is a list of additional search paths. _subdirs is a list of path
+  # suffixes to be used by find_library().
+
+  set(_libraries_work TRUE)
+  set(${LIBRARIES})
+  set(_combined_name)
+
+  set(_extaddlibdir "${_addlibdir}")
+  if(WIN32)
+    list(APPEND _extaddlibdir ENV LIB)
+  elseif(APPLE)
+    list(APPEND _extaddlibdir ENV DYLD_LIBRARY_PATH)
+  else()
+    list(APPEND _extaddlibdir ENV LD_LIBRARY_PATH)
+  endif()
+  list(APPEND _extaddlibdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}")
+
+  foreach(_library ${_list})
+    if(_library MATCHES "^-Wl,--(start|end)-group$")
+      # Respect linker flags like --start/end-group (required by MKL)
+      set(${LIBRARIES} ${${LIBRARIES}} "${_library}")
+    else()
+      set(_combined_name ${_combined_name}_${_library})
+      if(_libraries_work)
+        find_library(${_prefix}_${_library}_LIBRARY
+          NAMES ${_library}
+          PATHS ${_extaddlibdir}
+          PATH_SUFFIXES ${_subdirs}
+        )
+        #message("DEBUG: find_library(${_library}) got ${${_prefix}_${_library}_LIBRARY}")
+        mark_as_advanced(${_prefix}_${_library}_LIBRARY)
+        set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
+        set(_libraries_work ${${_prefix}_${_library}_LIBRARY})
+      endif()
+    endif()
+  endforeach()
+
+  if(_libraries_work)
+    # Test this combination of libraries.
+    set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas} ${_threadlibs})
+    #message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
+    if(CMAKE_Fortran_COMPILER_LOADED)
+      check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS)
+    else()
+      check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS)
+    endif()
+    set(CMAKE_REQUIRED_LIBRARIES)
+    set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
+  endif()
+
+  if(_libraries_work)
+    if("${_list}${_blas}" STREQUAL "")
+      set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
+    else()
+      set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threadlibs})
+    endif()
+  else()
+    set(${LIBRARIES} FALSE)
+  endif()
+  #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
+endmacro()
+
+set(LAPACK_LINKER_FLAGS)
+set(LAPACK_LIBRARIES)
+set(LAPACK95_LIBRARIES)
+
+if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
+  find_package(BLAS)
+else()
+  find_package(BLAS REQUIRED)
+endif()
+
+if(BLAS_FOUND)
+  set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS})
+  if(NOT $ENV{BLA_VENDOR} STREQUAL "")
+    set(BLA_VENDOR $ENV{BLA_VENDOR})
+  else()
+    if(NOT BLA_VENDOR)
+      set(BLA_VENDOR "All")
+    endif()
+  endif()
+
+  # LAPACK in the Intel MKL 10+ library?
+  if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      if(CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED)
+        # System-specific settings
+        if(NOT WIN32)
+          set(LAPACK_mkl_LM "-lm")
+          set(LAPACK_mkl_LDL "-ldl")
+        endif()
+
+        if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
+          find_package(Threads)
+        else()
+          find_package(Threads REQUIRED)
+        endif()
+
+        if(BLA_VENDOR MATCHES "_64ilp")
+          set(LAPACK_mkl_ILP_MODE "ilp64")
+        else()
+          set(LAPACK_mkl_ILP_MODE "lp64")
+        endif()
+
+        set(LAPACK_SEARCH_LIBS "")
+
+        if(BLA_F95)
+          set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95")
+          set(_LIBRARIES LAPACK95_LIBRARIES)
+          set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES})
+
+          # old
+          list(APPEND LAPACK_SEARCH_LIBS
+            "mkl_lapack95")
+          # new >= 10.3
+          list(APPEND LAPACK_SEARCH_LIBS
+            "mkl_intel_c")
+          list(APPEND LAPACK_SEARCH_LIBS
+            "mkl_lapack95_${LAPACK_mkl_ILP_MODE}")
+        else()
+          set(LAPACK_mkl_SEARCH_SYMBOL "cheev")
+          set(_LIBRARIES LAPACK_LIBRARIES)
+          set(_BLAS_LIBRARIES ${BLAS_LIBRARIES})
+
+          # old and new >= 10.3
+          list(APPEND LAPACK_SEARCH_LIBS
+            "mkl_lapack")
+        endif()
+
+        # MKL uses a multitude of partially platform-specific subdirectories:
+        if(BLA_VENDOR STREQUAL "Intel10_32")
+          set(LAPACK_mkl_ARCH_NAME "ia32")
+        else()
+          set(LAPACK_mkl_ARCH_NAME "intel64")
+        endif()
+        if(WIN32)
+          set(LAPACK_mkl_OS_NAME "win")
+        elseif(APPLE)
+          set(LAPACK_mkl_OS_NAME "mac")
+        else()
+          set(LAPACK_mkl_OS_NAME "lin")
+        endif()
+        if(DEFINED ENV{MKLROOT})
+          set(LAPACK_mkl_MKLROOT "$ENV{MKLROOT}")
+          # If MKLROOT points to the subdirectory 'mkl', use the parent directory instead
+          # so we can better detect other relevant libraries in 'compiler' or 'tbb':
+          get_filename_component(LAPACK_mkl_MKLROOT_LAST_DIR "${LAPACK_mkl_MKLROOT}" NAME)
+          if(LAPACK_mkl_MKLROOT_LAST_DIR STREQUAL "mkl")
+              get_filename_component(LAPACK_mkl_MKLROOT "${LAPACK_mkl_MKLROOT}" DIRECTORY)
+          endif()
+        endif()
+        set(LAPACK_mkl_LIB_PATH_SUFFIXES
+            "compiler/lib" "compiler/lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}"
+            "mkl/lib" "mkl/lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}"
+            "lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}")
+
+        # First try empty lapack libs
+        if(NOT ${_LIBRARIES})
+          check_lapack_libraries(
+            ${_LIBRARIES}
+            LAPACK
+            ${LAPACK_mkl_SEARCH_SYMBOL}
+            ""
+            ""
+            "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}"
+            "${LAPACK_mkl_MKLROOT}"
+            "${LAPACK_mkl_LIB_PATH_SUFFIXES}"
+            "${_BLAS_LIBRARIES}"
+          )
+        endif()
+
+        # Then try the search libs
+        foreach(IT ${LAPACK_SEARCH_LIBS})
+          string(REPLACE " " ";" SEARCH_LIBS ${IT})
+          if(NOT ${_LIBRARIES})
+            check_lapack_libraries(
+              ${_LIBRARIES}
+              LAPACK
+              ${LAPACK_mkl_SEARCH_SYMBOL}
+              ""
+              "${SEARCH_LIBS}"
+              "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}"
+              "${LAPACK_mkl_MKLROOT}"
+              "${LAPACK_mkl_LIB_PATH_SUFFIXES}"
+              "${_BLAS_LIBRARIES}"
+            )
+          endif()
+        endforeach()
+
+        unset(LAPACK_mkl_ILP_MODE)
+        unset(LAPACK_mkl_SEARCH_SYMBOL)
+        unset(LAPACK_mkl_LM)
+        unset(LAPACK_mkl_LDL)
+        unset(LAPACK_mkl_MKLROOT)
+        unset(LAPACK_mkl_ARCH_NAME)
+        unset(LAPACK_mkl_OS_NAME)
+        unset(LAPACK_mkl_LIB_PATH_SUFFIXES)
+      endif()
+    endif()
+  endif()
+
+  # gotoblas? (http://www.tacc.utexas.edu/tacc-projects/gotoblas2)
+  if(BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      check_lapack_libraries(
+        LAPACK_LIBRARIES
+        LAPACK
+        cheev
+        ""
+        "goto2"
+        ""
+        ""
+        ""
+        "${BLAS_LIBRARIES}"
+      )
+    endif()
+  endif()
+
+  # OpenBLAS? (http://www.openblas.net)
+  if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      check_lapack_libraries(
+        LAPACK_LIBRARIES
+        LAPACK
+        cheev
+        ""
+        "openblas"
+        ""
+        ""
+        ""
+        "${BLAS_LIBRARIES}"
+      )
+    endif()
+  endif()
+
+  # FLAME's blis library? (https://github.com/flame/blis)
+  if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      check_lapack_libraries(
+        LAPACK_LIBRARIES
+        LAPACK
+        cheev
+        ""
+        "flame"
+        ""
+        ""
+        ""
+        "${BLAS_LIBRARIES}"
+      )
+    endif()
+  endif()
+
+  # BLAS in acml library?
+  if(BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All")
+    if(BLAS_LIBRARIES MATCHES ".+acml.+")
+      set(LAPACK_LIBRARIES ${BLAS_LIBRARIES})
+    endif()
+  endif()
+
+  # Apple LAPACK library?
+  if(BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      check_lapack_libraries(
+        LAPACK_LIBRARIES
+        LAPACK
+        cheev
+        ""
+        "Accelerate"
+        ""
+        ""
+        ""
+        "${BLAS_LIBRARIES}"
+      )
+    endif()
+  endif()
+
+  # Apple NAS (vecLib) library?
+  if(BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      check_lapack_libraries(
+        LAPACK_LIBRARIES
+        LAPACK
+        cheev
+        ""
+        "vecLib"
+        ""
+        ""
+        ""
+        "${BLAS_LIBRARIES}"
+      )
+    endif()
+  endif()
+
+  # Generic LAPACK library?
+  if(BLA_VENDOR STREQUAL "Generic" OR
+      BLA_VENDOR STREQUAL "ATLAS" OR
+      BLA_VENDOR STREQUAL "All")
+    if(NOT LAPACK_LIBRARIES)
+      check_lapack_libraries(
+        LAPACK_LIBRARIES
+        LAPACK
+        cheev
+        ""
+        "lapack"
+        ""
+        ""
+        ""
+        "${BLAS_LIBRARIES}"
+      )
+    endif()
+  endif()
+else()
+  message(STATUS "LAPACK requires BLAS")
+endif()
+
+if(BLA_F95)
+  if(LAPACK95_LIBRARIES)
+    set(LAPACK95_FOUND TRUE)
+  else()
+    set(LAPACK95_FOUND FALSE)
+  endif()
+  if(NOT LAPACK_FIND_QUIETLY)
+    if(LAPACK95_FOUND)
+      message(STATUS "A library with LAPACK95 API found.")
+    else()
+      if(LAPACK_FIND_REQUIRED)
+        message(FATAL_ERROR
+          "A required library with LAPACK95 API not found. Please specify library location."
+        )
+      else()
+        message(STATUS
+          "A library with LAPACK95 API not found. Please specify library location."
+        )
+      endif()
+    endif()
+  endif()
+  set(LAPACK_FOUND "${LAPACK95_FOUND}")
+  set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}")
+else()
+  if(LAPACK_LIBRARIES)
+    set(LAPACK_FOUND TRUE)
+  else()
+    set(LAPACK_FOUND FALSE)
+  endif()
+
+  if(NOT LAPACK_FIND_QUIETLY)
+    if(LAPACK_FOUND)
+      message(STATUS "A library with LAPACK API found.")
+    else()
+      if(LAPACK_FIND_REQUIRED)
+        message(FATAL_ERROR
+          "A required library with LAPACK API not found. Please specify library location."
+        )
+      else()
+        message(STATUS
+          "A library with LAPACK API not found. Please specify library location."
+        )
+      endif()
+    endif()
+  endif()
+endif()
+
+# On compilers that implicitly link LAPACK (such as ftn, cc, and CC on Cray HPC machines)
+# we used a placeholder for empty LAPACK_LIBRARIES to get through our logic above.
+if(LAPACK_LIBRARIES STREQUAL "LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
+  set(LAPACK_LIBRARIES "")
+endif()
+
+cmake_pop_check_state()
+set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.16/Modules/FindLATEX.cmake b/share/cmake-3.17/Modules/FindLATEX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLATEX.cmake
rename to share/cmake-3.17/Modules/FindLATEX.cmake
diff --git a/share/cmake-3.16/Modules/FindLTTngUST.cmake b/share/cmake-3.17/Modules/FindLTTngUST.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLTTngUST.cmake
rename to share/cmake-3.17/Modules/FindLTTngUST.cmake
diff --git a/share/cmake-3.16/Modules/FindLibArchive.cmake b/share/cmake-3.17/Modules/FindLibArchive.cmake
similarity index 83%
rename from share/cmake-3.16/Modules/FindLibArchive.cmake
rename to share/cmake-3.17/Modules/FindLibArchive.cmake
index ef27b7d..ce3c8b8 100644
--- a/share/cmake-3.16/Modules/FindLibArchive.cmake
+++ b/share/cmake-3.17/Modules/FindLibArchive.cmake
@@ -16,18 +16,26 @@
   LibArchive_INCLUDE_DIRS - include search path
   LibArchive_LIBRARIES    - libraries to link
   LibArchive_VERSION      - libarchive 3-component version number
+
+The module defines the following ``IMPORTED`` targets:
+
+::
+
+  LibArchive::LibArchive  - target for linking against libarchive
 #]=======================================================================]
 
 find_path(LibArchive_INCLUDE_DIR
   NAMES archive.h
   PATHS
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/include"
+  DOC "libarchive include directory"
   )
 
 find_library(LibArchive_LIBRARY
   NAMES archive libarchive
   PATHS
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/lib"
+  DOC "libarchive library"
   )
 
 mark_as_advanced(LibArchive_INCLUDE_DIR LibArchive_LIBRARY)
@@ -58,4 +66,11 @@
 if(LibArchive_FOUND)
   set(LibArchive_INCLUDE_DIRS ${LibArchive_INCLUDE_DIR})
   set(LibArchive_LIBRARIES    ${LibArchive_LIBRARY})
+
+  if (NOT TARGET LibArchive::LibArchive)
+    add_library(LibArchive::LibArchive UNKNOWN IMPORTED)
+    set_target_properties(LibArchive::LibArchive PROPERTIES
+      IMPORTED_LOCATION "${LibArchive_LIBRARY}"
+      INTERFACE_INCLUDE_DIRECTORIES "${LibArchive_INCLUDE_DIR}")
+  endif ()
 endif()
diff --git a/share/cmake-3.16/Modules/FindLibLZMA.cmake b/share/cmake-3.17/Modules/FindLibLZMA.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLibLZMA.cmake
rename to share/cmake-3.17/Modules/FindLibLZMA.cmake
diff --git a/share/cmake-3.16/Modules/FindLibXml2.cmake b/share/cmake-3.17/Modules/FindLibXml2.cmake
similarity index 74%
rename from share/cmake-3.16/Modules/FindLibXml2.cmake
rename to share/cmake-3.17/Modules/FindLibXml2.cmake
index da8bfe0..f551dfe 100644
--- a/share/cmake-3.16/Modules/FindLibXml2.cmake
+++ b/share/cmake-3.17/Modules/FindLibXml2.cmake
@@ -10,8 +10,12 @@
 IMPORTED Targets
 ^^^^^^^^^^^^^^^^
 
-This module defines :prop_tgt:`IMPORTED` target ``LibXml2::LibXml2``, if
-libxml2 has been found.
+The following :prop_tgt:`IMPORTED` targets may be defined:
+
+``LibXml2::LibXml2``
+  If the libxml2 library has been found
+``LibXml2::xmllint``
+  If the xmllint command-line executable has been found
 
 Result variables
 ^^^^^^^^^^^^^^^^
@@ -48,7 +52,6 @@
 # in the find_path() and find_library() calls
 find_package(PkgConfig QUIET)
 PKG_CHECK_MODULES(PC_LIBXML QUIET libxml-2.0)
-set(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})
 
 find_path(LIBXML2_INCLUDE_DIR NAMES libxml/xpath.h
    HINTS
@@ -74,9 +77,7 @@
 # for backwards compat. with KDE 4.0.x:
 set(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
 
-if(PC_LIBXML_VERSION)
-    set(LIBXML2_VERSION_STRING ${PC_LIBXML_VERSION})
-elseif(LIBXML2_INCLUDE_DIR AND EXISTS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h")
+if(LIBXML2_INCLUDE_DIR AND EXISTS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h")
     file(STRINGS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h" libxml2_version_str
          REGEX "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\".*\"")
 
@@ -85,9 +86,20 @@
     unset(libxml2_version_str)
 endif()
 
-set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR} ${PC_LIBXML_INCLUDE_DIRS})
+set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
 set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
 
+# Did we find the same installation as pkg-config?
+# If so, use additional information from it.
+unset(LIBXML2_DEFINITIONS)
+foreach(libxml2_pc_lib_dir IN LISTS PC_LIBXML_LIBDIR PC_LIBXML_LIBRARY_DIRS)
+  if (LIBXML2_LIBRARY MATCHES "^${libxml2_pc_lib_dir}")
+    list(APPEND LIBXML2_INCLUDE_DIRS ${PC_LIBXML_INCLUDE_DIRS})
+    set(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})
+    break()
+  endif()
+endforeach()
+
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2
                                   REQUIRED_VARS LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR
@@ -98,5 +110,11 @@
 if(LibXml2_FOUND AND NOT TARGET LibXml2::LibXml2)
   add_library(LibXml2::LibXml2 UNKNOWN IMPORTED)
   set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}")
+  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXML2_DEFINITIONS}")
   set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY IMPORTED_LOCATION "${LIBXML2_LIBRARY}")
 endif()
+
+if(LIBXML2_XMLLINT_EXECUTABLE AND NOT TARGET LibXml2::xmllint)
+  add_executable(LibXml2::xmllint IMPORTED)
+  set_target_properties(LibXml2::xmllint PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLLINT_EXECUTABLE}")
+endif()
diff --git a/share/cmake-3.16/Modules/FindLibXslt.cmake b/share/cmake-3.17/Modules/FindLibXslt.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLibXslt.cmake
rename to share/cmake-3.17/Modules/FindLibXslt.cmake
diff --git a/share/cmake-3.16/Modules/FindLibinput.cmake b/share/cmake-3.17/Modules/FindLibinput.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLibinput.cmake
rename to share/cmake-3.17/Modules/FindLibinput.cmake
diff --git a/share/cmake-3.16/Modules/FindLua.cmake b/share/cmake-3.17/Modules/FindLua.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/FindLua.cmake
rename to share/cmake-3.17/Modules/FindLua.cmake
index caf9d69..0b0c970 100644
--- a/share/cmake-3.16/Modules/FindLua.cmake
+++ b/share/cmake-3.17/Modules/FindLua.cmake
@@ -211,6 +211,7 @@
   # include the math library for Unix
   if (UNIX AND NOT APPLE AND NOT BEOS)
     find_library(LUA_MATH_LIBRARY m)
+    mark_as_advanced(LUA_MATH_LIBRARY)
     set(LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}")
 
     # include dl library for statically-linked Lua library
@@ -232,6 +233,6 @@
                                   REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
                                   VERSION_VAR LUA_VERSION_STRING)
 
-mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY)
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARY)
 
 cmake_policy(POP)
diff --git a/share/cmake-3.16/Modules/FindLua50.cmake b/share/cmake-3.17/Modules/FindLua50.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLua50.cmake
rename to share/cmake-3.17/Modules/FindLua50.cmake
diff --git a/share/cmake-3.16/Modules/FindLua51.cmake b/share/cmake-3.17/Modules/FindLua51.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindLua51.cmake
rename to share/cmake-3.17/Modules/FindLua51.cmake
diff --git a/share/cmake-3.16/Modules/FindMFC.cmake b/share/cmake-3.17/Modules/FindMFC.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/FindMFC.cmake
rename to share/cmake-3.17/Modules/FindMFC.cmake
index e366619..b8ca71b 100644
--- a/share/cmake-3.16/Modules/FindMFC.cmake
+++ b/share/cmake-3.17/Modules/FindMFC.cmake
@@ -31,7 +31,7 @@
     set(CHECK_INCLUDE_FILE_VAR "afxwin.h")
     configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
       ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx)
-    message(STATUS "Looking for MFC")
+    message(CHECK_START "Looking for MFC")
     # Try both shared and static as the root project may have set the /MT flag
     try_compile(MFC_HAVE_MFC
       ${CMAKE_BINARY_DIR}
@@ -51,13 +51,13 @@
         OUTPUT_VARIABLE OUTPUT)
     endif()
     if(MFC_HAVE_MFC)
-      message(STATUS "Looking for MFC - found")
+      message(CHECK_PASS "found")
       set(MFC_HAVE_MFC 1 CACHE INTERNAL "Have MFC?")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if MFC exists passed with the following output:\n"
         "${OUTPUT}\n\n")
     else()
-      message(STATUS "Looking for MFC - not found")
+      message(CHECK_FAIL "not found")
       set(MFC_HAVE_MFC 0 CACHE INTERNAL "Have MFC?")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Determining if MFC exists failed with the following output:\n"
diff --git a/share/cmake-3.16/Modules/FindMPEG.cmake b/share/cmake-3.17/Modules/FindMPEG.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPEG.cmake
rename to share/cmake-3.17/Modules/FindMPEG.cmake
diff --git a/share/cmake-3.16/Modules/FindMPEG2.cmake b/share/cmake-3.17/Modules/FindMPEG2.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPEG2.cmake
rename to share/cmake-3.17/Modules/FindMPEG2.cmake
diff --git a/share/cmake-3.16/Modules/FindMPI.cmake b/share/cmake-3.17/Modules/FindMPI.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/FindMPI.cmake
rename to share/cmake-3.17/Modules/FindMPI.cmake
index d6cd799..41e1d08 100644
--- a/share/cmake-3.16/Modules/FindMPI.cmake
+++ b/share/cmake-3.17/Modules/FindMPI.cmake
@@ -842,8 +842,8 @@
   if(NOT MPI_${LANG}_COMPILE_DEFINITIONS)
     set(MPI_${LANG}_COMPILE_DEFINITIONS      ${MPI_COMPILE_DEFINITIONS_WORK} CACHE STRING "MPI ${LANG} compilation definitions"        FORCE)
   endif()
-  if(NOT MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
-    set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS  ${MPI_INCLUDE_DIRS_WORK}        CACHE STRING "MPI ${LANG} additional include directories" FORCE)
+  if(NOT MPI_${LANG}_COMPILER_INCLUDE_DIRS)
+    set(MPI_${LANG}_COMPILER_INCLUDE_DIRS    ${MPI_INCLUDE_DIRS_WORK}        CACHE STRING "MPI ${LANG} compiler wrapper include directories" FORCE)
   endif()
   if(NOT MPI_${LANG}_LINK_FLAGS)
     set(MPI_${LANG}_LINK_FLAGS               ${MPI_LINK_FLAGS_WORK}          CACHE STRING "MPI ${LANG} linker flags"                   FORCE)
@@ -1072,34 +1072,28 @@
 endmacro()
 
 macro(_MPI_assemble_include_dirs LANG)
-  if("${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
-    set(MPI_${LANG}_INCLUDE_DIRS "")
-  else()
-    set(MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}")
-    if("${LANG}" MATCHES "(C|CXX)")
-      if(MPI_${LANG}_HEADER_DIR)
-        list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_HEADER_DIR}")
-      endif()
-    else() # Fortran
-      if(MPI_${LANG}_F77_HEADER_DIR)
-        list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_F77_HEADER_DIR}")
-      endif()
-      if(MPI_${LANG}_MODULE_DIR AND NOT "${MPI_${LANG}_MODULE_DIR}" IN_LIST MPI_${LANG}_INCLUDE_DIRS)
-        list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_MODULE_DIR}")
-      endif()
+  set(MPI_${LANG}_INCLUDE_DIRS
+    ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+    ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+    )
+  if("${LANG}" MATCHES "(C|CXX)")
+    if(MPI_${LANG}_HEADER_DIR)
+      list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_HEADER_DIR}")
     endif()
-    if(MPI_${LANG}_ADDITIONAL_INCLUDE_VARS)
-      foreach(MPI_ADDITIONAL_INC_DIR IN LISTS MPI_${LANG}_ADDITIONAL_INCLUDE_VARS)
-        list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${MPI_ADDITIONAL_INC_DIR}_INCLUDE_DIR}")
-      endforeach()
+  else() # Fortran
+    if(MPI_${LANG}_F77_HEADER_DIR)
+      list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_F77_HEADER_DIR}")
     endif()
+    if(MPI_${LANG}_MODULE_DIR)
+      list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_MODULE_DIR}")
+    endif()
+  endif()
+  if(MPI_${LANG}_INCLUDE_DIRS)
+    list(REMOVE_DUPLICATES MPI_${LANG}_INCLUDE_DIRS)
   endif()
 endmacro()
 
-function(_MPI_split_include_dirs LANG)
-  if("${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
-    return()
-  endif()
+macro(_MPI_split_include_dirs LANG)
   # Backwards compatibility: Search INCLUDE_PATH if given.
   if(MPI_${LANG}_INCLUDE_PATH)
     list(APPEND MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_${LANG}_INCLUDE_PATH}")
@@ -1109,23 +1103,30 @@
   # For C/C++, we just need to have a look for mpi.h.
   if("${LANG}" MATCHES "(C|CXX)")
     find_path(MPI_${LANG}_HEADER_DIR "mpi.h"
-      HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+      HINTS
+        ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+        ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
     )
     mark_as_advanced(MPI_${LANG}_HEADER_DIR)
     if(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
       list(REMOVE_ITEM MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_${LANG}_HEADER_DIR}")
     endif()
+
   # Fortran is more complicated here: An implementation could provide
   # any of the Fortran 77/90/2008 APIs for MPI. For example, MSMPI
   # only provides Fortran 77 and - if mpi.f90 is built - potentially
   # a Fortran 90 module.
   elseif("${LANG}" STREQUAL "Fortran")
     find_path(MPI_${LANG}_F77_HEADER_DIR "mpif.h"
-      HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+      HINTS
+        ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+        ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
     )
     find_path(MPI_${LANG}_MODULE_DIR
       NAMES "mpi.mod" "mpi_f08.mod"
-      HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+      HINTS
+        ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+        ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
     )
     if(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
       list(REMOVE_ITEM MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS
@@ -1135,6 +1136,7 @@
     endif()
     mark_as_advanced(MPI_${LANG}_F77_HEADER_DIR MPI_${LANG}_MODULE_DIR)
   endif()
+
   # Remove duplicates and default system directories from the list.
   if(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
     list(REMOVE_DUPLICATES MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
@@ -1142,8 +1144,9 @@
       list(REMOVE_ITEM MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS ${MPI_IMPLICIT_INC_DIR})
     endforeach()
   endif()
+
   set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS} CACHE STRING "MPI ${LANG} additional include directories" FORCE)
-endfunction()
+endmacro()
 
 macro(_MPI_create_imported_target LANG)
   if(NOT TARGET MPI::MPI_${LANG})
@@ -1403,13 +1406,14 @@
     endif()
   else()
     set(_MPI_FIND_${LANG} FALSE)
+    string(APPEND _MPI_FAIL_REASON "MPI component '${LANG}' was requested, but language ${LANG} is not enabled.  ")
   endif()
   if(_MPI_FIND_${LANG})
     if( ${LANG} STREQUAL CXX AND NOT MPICXX IN_LIST MPI_FIND_COMPONENTS )
       set(MPI_CXX_SKIP_MPICXX FALSE CACHE BOOL "If true, the MPI-2 C++ bindings are disabled using definitions.")
       mark_as_advanced(MPI_CXX_SKIP_MPICXX)
     endif()
-    if(NOT (MPI_${LANG}_LIB_NAMES AND (MPI_${LANG}_INCLUDE_PATH OR MPI_${LANG}_INCLUDE_DIRS OR MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)))
+    if(NOT (MPI_${LANG}_LIB_NAMES AND (MPI_${LANG}_INCLUDE_PATH OR MPI_${LANG}_INCLUDE_DIRS OR MPI_${LANG}_COMPILER_INCLUDE_DIRS)))
       set(MPI_${LANG}_TRIED_IMPLICIT FALSE)
       set(MPI_${LANG}_WORKS_IMPLICIT FALSE)
       if(NOT MPI_${LANG}_COMPILER AND NOT MPI_ASSUME_NO_BUILTIN_MPI)
@@ -1494,7 +1498,7 @@
             if("${LANG}" STREQUAL "CXX" AND MPI_C_WRAPPER_FOUND)
               set(MPI_${LANG}_COMPILE_OPTIONS          ${MPI_C_COMPILE_OPTIONS}     CACHE STRING "MPI ${LANG} compilation options"           )
               set(MPI_${LANG}_COMPILE_DEFINITIONS      ${MPI_C_COMPILE_DEFINITIONS} CACHE STRING "MPI ${LANG} compilation definitions"       )
-              set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS  ${MPI_C_INCLUDE_DIRS}        CACHE STRING "MPI ${LANG} additional include directories")
+              set(MPI_${LANG}_COMPILER_INCLUDE_DIRS    ${MPI_C_INCLUDE_DIRS}        CACHE STRING "MPI ${LANG} compiler wrapper include directories")
               set(MPI_${LANG}_LINK_FLAGS               ${MPI_C_LINK_FLAGS}          CACHE STRING "MPI ${LANG} linker flags"                  )
               set(MPI_${LANG}_LIB_NAMES                ${MPI_C_LIB_NAMES}           CACHE STRING "MPI ${LANG} libraries to link against"     )
             else()
@@ -1505,8 +1509,12 @@
       endif()
     endif()
 
-    _MPI_split_include_dirs(${LANG})
-    _MPI_assemble_include_dirs(${LANG})
+    if(NOT "${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
+      _MPI_split_include_dirs(${LANG})
+      _MPI_assemble_include_dirs(${LANG})
+    else()
+      set(MPI_${LANG}_INCLUDE_DIRS "")
+    endif()
     _MPI_assemble_libraries(${LANG})
 
     _MPI_adjust_compile_definitions(${LANG})
@@ -1520,13 +1528,21 @@
     # Next, we'll initialize the MPI variables that have not been previously set.
     set(MPI_${LANG}_COMPILE_OPTIONS          "" CACHE STRING "MPI ${LANG} compilation flags"             )
     set(MPI_${LANG}_COMPILE_DEFINITIONS      "" CACHE STRING "MPI ${LANG} compilation definitions"       )
+    set(MPI_${LANG}_COMPILER_INCLUDE_DIRS    "" CACHE STRING "MPI ${LANG} compiler wrapper include directories")
     set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS  "" CACHE STRING "MPI ${LANG} additional include directories")
     set(MPI_${LANG}_LINK_FLAGS               "" CACHE STRING "MPI ${LANG} linker flags"                  )
     if(NOT MPI_${LANG}_COMPILER STREQUAL CMAKE_${LANG}_COMPILER)
       set(MPI_${LANG}_LIB_NAMES                "" CACHE STRING "MPI ${LANG} libraries to link against"   )
     endif()
-    mark_as_advanced(MPI_${LANG}_COMPILE_OPTIONS MPI_${LANG}_COMPILE_DEFINITIONS MPI_${LANG}_LINK_FLAGS
-      MPI_${LANG}_LIB_NAMES MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS MPI_${LANG}_COMPILER)
+    mark_as_advanced(
+      MPI_${LANG}_COMPILE_OPTIONS
+      MPI_${LANG}_COMPILE_DEFINITIONS
+      MPI_${LANG}_LINK_FLAGS
+      MPI_${LANG}_LIB_NAMES
+      MPI_${LANG}_COMPILER_INCLUDE_DIRS
+      MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS
+      MPI_${LANG}_COMPILER
+      )
 
     # If we've found MPI, then we'll perform additional analysis: Determine the MPI version, MPI library version, supported
     # MPI APIs (i.e. MPI-2 C++ bindings). For Fortran we also need to find specific parameters if we're under MPI-3.
@@ -1675,7 +1691,8 @@
         list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_WORKS")
       endif()
     endif()
-    find_package_handle_standard_args(MPI_${LANG} REQUIRED_VARS ${MPI_${LANG}_REQUIRED_VARS}
+    find_package_handle_standard_args(MPI_${LANG} NAME_MISMATCHED
+      REQUIRED_VARS ${MPI_${LANG}_REQUIRED_VARS}
       VERSION_VAR MPI_${LANG}_VERSION)
 
     if(DEFINED MPI_${LANG}_VERSION)
@@ -1700,6 +1717,7 @@
 find_package_handle_standard_args(MPI
     REQUIRED_VARS ${_MPI_REQ_VARS}
     VERSION_VAR ${_MPI_MIN_VERSION}
+    REASON_FAILURE_MESSAGE "${_MPI_FAIL_REASON}"
     HANDLE_COMPONENTS)
 
 #=============================================================================
diff --git a/share/cmake-3.16/Modules/FindMPI/fortranparam_mpi.f90.in b/share/cmake-3.17/Modules/FindMPI/fortranparam_mpi.f90.in
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPI/fortranparam_mpi.f90.in
rename to share/cmake-3.17/Modules/FindMPI/fortranparam_mpi.f90.in
diff --git a/share/cmake-3.16/Modules/FindMPI/libver_mpi.c b/share/cmake-3.17/Modules/FindMPI/libver_mpi.c
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPI/libver_mpi.c
rename to share/cmake-3.17/Modules/FindMPI/libver_mpi.c
diff --git a/share/cmake-3.16/Modules/FindMPI/libver_mpi.f90.in b/share/cmake-3.17/Modules/FindMPI/libver_mpi.f90.in
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPI/libver_mpi.f90.in
rename to share/cmake-3.17/Modules/FindMPI/libver_mpi.f90.in
diff --git a/share/cmake-3.16/Modules/FindMPI/mpiver.f90.in b/share/cmake-3.17/Modules/FindMPI/mpiver.f90.in
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPI/mpiver.f90.in
rename to share/cmake-3.17/Modules/FindMPI/mpiver.f90.in
diff --git a/share/cmake-3.16/Modules/FindMPI/test_mpi.c b/share/cmake-3.17/Modules/FindMPI/test_mpi.c
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPI/test_mpi.c
rename to share/cmake-3.17/Modules/FindMPI/test_mpi.c
diff --git a/share/cmake-3.16/Modules/FindMPI/test_mpi.f90.in b/share/cmake-3.17/Modules/FindMPI/test_mpi.f90.in
similarity index 100%
rename from share/cmake-3.16/Modules/FindMPI/test_mpi.f90.in
rename to share/cmake-3.17/Modules/FindMPI/test_mpi.f90.in
diff --git a/share/cmake-3.16/Modules/FindMatlab.cmake b/share/cmake-3.17/Modules/FindMatlab.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FindMatlab.cmake
rename to share/cmake-3.17/Modules/FindMatlab.cmake
index 92ee729..e42c206 100644
--- a/share/cmake-3.16/Modules/FindMatlab.cmake
+++ b/share/cmake-3.17/Modules/FindMatlab.cmake
@@ -241,6 +241,7 @@
 endif()
 
 set(MATLAB_VERSIONS_MAPPING
+  "R2020a=9.8"
   "R2019b=9.7"
   "R2019a=9.6"
   "R2018b=9.5"
diff --git a/share/cmake-3.16/Modules/FindMotif.cmake b/share/cmake-3.17/Modules/FindMotif.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindMotif.cmake
rename to share/cmake-3.17/Modules/FindMotif.cmake
diff --git a/share/cmake-3.16/Modules/FindODBC.cmake b/share/cmake-3.17/Modules/FindODBC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindODBC.cmake
rename to share/cmake-3.17/Modules/FindODBC.cmake
diff --git a/share/cmake-3.16/Modules/FindOpenACC.cmake b/share/cmake-3.17/Modules/FindOpenACC.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FindOpenACC.cmake
rename to share/cmake-3.17/Modules/FindOpenACC.cmake
index 743e0e2..398dcf5 100644
--- a/share/cmake-3.16/Modules/FindOpenACC.cmake
+++ b/share/cmake-3.17/Modules/FindOpenACC.cmake
@@ -254,6 +254,7 @@
     _OPENACC_SET_VERSION_BY_SPEC_DATE("${LANG}")
 
     find_package_handle_standard_args(OpenACC_${LANG}
+      NAME_MISMATCHED
       REQUIRED_VARS OpenACC_${LANG}_FLAGS
       VERSION_VAR OpenACC_${LANG}_VERSION
     )
diff --git a/share/cmake-3.16/Modules/FindOpenAL.cmake b/share/cmake-3.17/Modules/FindOpenAL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindOpenAL.cmake
rename to share/cmake-3.17/Modules/FindOpenAL.cmake
diff --git a/share/cmake-3.16/Modules/FindOpenCL.cmake b/share/cmake-3.17/Modules/FindOpenCL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindOpenCL.cmake
rename to share/cmake-3.17/Modules/FindOpenCL.cmake
diff --git a/share/cmake-3.16/Modules/FindOpenGL.cmake b/share/cmake-3.17/Modules/FindOpenGL.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/FindOpenGL.cmake
rename to share/cmake-3.17/Modules/FindOpenGL.cmake
index 23bb001..74392da 100644
--- a/share/cmake-3.16/Modules/FindOpenGL.cmake
+++ b/share/cmake-3.17/Modules/FindOpenGL.cmake
@@ -130,6 +130,8 @@
   set(OPENGL_USE_${_COMPONENT} 1)
 endforeach()
 
+set(_OpenGL_CACHE_VARS)
+
 if (CYGWIN)
   find_path(OPENGL_INCLUDE_DIR GL/gl.h )
   list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
@@ -137,6 +139,11 @@
   find_library(OPENGL_gl_LIBRARY opengl32 )
   find_library(OPENGL_glu_LIBRARY glu32 )
 
+  list(APPEND _OpenGL_CACHE_VARS
+    OPENGL_INCLUDE_DIR
+    OPENGL_gl_LIBRARY
+    OPENGL_glu_LIBRARY
+    )
 elseif (WIN32)
 
   if(BORLAND)
@@ -147,6 +154,10 @@
     set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
   endif()
 
+  list(APPEND _OpenGL_CACHE_VARS
+    OPENGL_gl_LIBRARY
+    OPENGL_glu_LIBRARY
+    )
 elseif (APPLE)
   # The OpenGL.framework provides both gl and glu
   find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL library for OS X")
@@ -155,6 +166,11 @@
   find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OS X")
   list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
 
+  list(APPEND _OpenGL_CACHE_VARS
+    OPENGL_INCLUDE_DIR
+    OPENGL_gl_LIBRARY
+    OPENGL_glu_LIBRARY
+    )
 else()
   if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
     # Handle HP-UX cases where we only want to find OpenGL in either hpux64
@@ -194,6 +210,12 @@
     /usr/openwin/share/include
     /opt/graphics/OpenGL/include
   )
+  list(APPEND _OpenGL_CACHE_VARS
+    OPENGL_INCLUDE_DIR
+    OPENGL_GLX_INCLUDE_DIR
+    OPENGL_EGL_INCLUDE_DIR
+    OPENGL_xmesa_INCLUDE_DIR
+    )
 
   # Search for the GLVND libraries.  We do this regardless of COMPONENTS; we'll
   # take into account the COMPONENTS logic later.
@@ -222,6 +244,13 @@
           /usr/shlib
   )
 
+  list(APPEND _OpenGL_CACHE_VARS
+    OPENGL_opengl_LIBRARY
+    OPENGL_glx_LIBRARY
+    OPENGL_egl_LIBRARY
+    OPENGL_glu_LIBRARY
+    )
+
   set(_OpenGL_GL_POLICY_WARN 0)
   if(NOT DEFINED OpenGL_GL_PREFERENCE)
     set(OpenGL_GL_PREFERENCE "")
@@ -268,6 +297,7 @@
             ${_OPENGL_LIB_PATH}
       PATH_SUFFIXES libglvnd
       )
+    list(APPEND _OpenGL_CACHE_VARS OPENGL_gl_LIBRARY)
   endif()
 
   if(_OpenGL_GL_POLICY_WARN AND OPENGL_gl_LIBRARY AND OPENGL_opengl_LIBRARY AND OPENGL_glx_LIBRARY)
@@ -532,14 +562,5 @@
 # This deprecated setting is for backward compatibility with CMake1.4
 set(OPENGL_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
 
-mark_as_advanced(
-  OPENGL_INCLUDE_DIR
-  OPENGL_xmesa_INCLUDE_DIR
-  OPENGL_egl_LIBRARY
-  OPENGL_glu_LIBRARY
-  OPENGL_glx_LIBRARY
-  OPENGL_gl_LIBRARY
-  OPENGL_opengl_LIBRARY
-  OPENGL_EGL_INCLUDE_DIR
-  OPENGL_GLX_INCLUDE_DIR
-)
+mark_as_advanced(${_OpenGL_CACHE_VARS})
+unset(_OpenGL_CACHE_VARS)
diff --git a/share/cmake-3.16/Modules/FindOpenMP.cmake b/share/cmake-3.17/Modules/FindOpenMP.cmake
similarity index 94%
rename from share/cmake-3.16/Modules/FindOpenMP.cmake
rename to share/cmake-3.17/Modules/FindOpenMP.cmake
index 90d1c3e..a4b1e1e 100644
--- a/share/cmake-3.16/Modules/FindOpenMP.cmake
+++ b/share/cmake-3.17/Modules/FindOpenMP.cmake
@@ -96,7 +96,7 @@
     unset(OpenMP_FLAG_CANDIDATES)
 
     set(OMP_FLAG_GNU "-fopenmp")
-    set(OMP_FLAG_Clang "-fopenmp=libomp" "-fopenmp=libiomp5" "-fopenmp")
+    set(OMP_FLAG_Clang "-fopenmp=libomp" "-fopenmp=libiomp5" "-fopenmp" "-Xclang -fopenmp")
     set(OMP_FLAG_AppleClang "-Xclang -fopenmp")
     set(OMP_FLAG_HP "+Oopenmp")
     if(WIN32)
@@ -299,6 +299,25 @@
           break()
         endif()
       endif()
+    elseif(CMAKE_${LANG}_COMPILER_ID STREQUAL "Clang" AND WIN32)
+      # Check for separate OpenMP library for Clang on Windows
+      find_library(OpenMP_libomp_LIBRARY
+        NAMES libomp libgomp libiomp5
+        HINTS ${CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES}
+      )
+      mark_as_advanced(OpenMP_libomp_LIBRARY)
+      if(OpenMP_libomp_LIBRARY)
+        try_compile( OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG} ${CMAKE_BINARY_DIR} ${_OPENMP_TEST_SRC}
+          CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${OPENMP_FLAGS_TEST}"
+          LINK_LIBRARIES ${CMAKE_${LANG}_VERBOSE_FLAG} ${OpenMP_libomp_LIBRARY}
+          OUTPUT_VARIABLE OpenMP_TRY_COMPILE_OUTPUT
+        )
+        if(OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG})
+          set("${OPENMP_FLAG_VAR}" "${OPENMP_FLAG}" PARENT_SCOPE)
+          set("${OPENMP_LIB_NAMES_VAR}" "libomp" PARENT_SCOPE)
+          break()
+        endif()
+      endif()
     else()
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Detecting ${LANG} OpenMP failed with the following output:\n${OpenMP_TRY_COMPILE_OUTPUT}\n\n")
@@ -425,13 +444,12 @@
     if(NOT DEFINED OpenMP_${LANG}_FLAGS OR "${OpenMP_${LANG}_FLAGS}" STREQUAL "NOTFOUND"
       OR NOT DEFINED OpenMP_${LANG}_LIB_NAMES OR "${OpenMP_${LANG}_LIB_NAMES}" STREQUAL "NOTFOUND")
       _OPENMP_GET_FLAGS("${LANG}" "${LANG}" OpenMP_${LANG}_FLAGS_WORK OpenMP_${LANG}_LIB_NAMES_WORK)
+      set(OpenMP_${LANG}_FLAGS "${OpenMP_${LANG}_FLAGS_WORK}"
+        CACHE STRING "${LANG} compiler flags for OpenMP parallelization" FORCE)
+      set(OpenMP_${LANG}_LIB_NAMES "${OpenMP_${LANG}_LIB_NAMES_WORK}"
+        CACHE STRING "${LANG} compiler libraries for OpenMP parallelization" FORCE)
+      mark_as_advanced(OpenMP_${LANG}_FLAGS OpenMP_${LANG}_LIB_NAMES)
     endif()
-
-    set(OpenMP_${LANG}_FLAGS "${OpenMP_${LANG}_FLAGS_WORK}"
-      CACHE STRING "${LANG} compiler flags for OpenMP parallelization")
-    set(OpenMP_${LANG}_LIB_NAMES "${OpenMP_${LANG}_LIB_NAMES_WORK}"
-      CACHE STRING "${LANG} compiler libraries for OpenMP parallelization")
-    mark_as_advanced(OpenMP_${LANG}_FLAGS OpenMP_${LANG}_LIB_NAMES)
   endif()
 endforeach()
 
@@ -509,6 +527,7 @@
     endif()
 
     find_package_handle_standard_args(OpenMP_${LANG}
+      NAME_MISMATCHED
       REQUIRED_VARS OpenMP_${LANG}_FLAGS ${_OPENMP_${LANG}_REQUIRED_LIB_VARS}
       VERSION_VAR OpenMP_${LANG}_VERSION
     )
diff --git a/share/cmake-3.16/Modules/FindOpenSSL.cmake b/share/cmake-3.17/Modules/FindOpenSSL.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/FindOpenSSL.cmake
rename to share/cmake-3.17/Modules/FindOpenSSL.cmake
index 478a592..af713d6 100644
--- a/share/cmake-3.16/Modules/FindOpenSSL.cmake
+++ b/share/cmake-3.17/Modules/FindOpenSSL.cmake
@@ -131,6 +131,7 @@
   ${_OPENSSL_ROOT_HINTS_AND_PATHS}
   HINTS
     ${_OPENSSL_INCLUDEDIR}
+    ${_OPENSSL_INCLUDE_DIRS}
   PATH_SUFFIXES
     include
 )
@@ -319,6 +320,7 @@
     ${_OPENSSL_ROOT_HINTS_AND_PATHS}
     HINTS
       ${_OPENSSL_LIBDIR}
+      ${_OPENSSL_LIBRARY_DIRS}
     PATH_SUFFIXES
       lib
   )
@@ -330,6 +332,7 @@
     ${_OPENSSL_ROOT_HINTS_AND_PATHS}
     HINTS
       ${_OPENSSL_LIBDIR}
+      ${_OPENSSL_LIBRARY_DIRS}
     PATH_SUFFIXES
       lib
   )
@@ -455,7 +458,7 @@
     "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
 )
 
-mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
+mark_as_advanced(OPENSSL_INCLUDE_DIR)
 
 if(OPENSSL_FOUND)
   if(NOT TARGET OpenSSL::Crypto AND
diff --git a/share/cmake-3.16/Modules/FindOpenSceneGraph.cmake b/share/cmake-3.17/Modules/FindOpenSceneGraph.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindOpenSceneGraph.cmake
rename to share/cmake-3.17/Modules/FindOpenSceneGraph.cmake
diff --git a/share/cmake-3.16/Modules/FindOpenThreads.cmake b/share/cmake-3.17/Modules/FindOpenThreads.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindOpenThreads.cmake
rename to share/cmake-3.17/Modules/FindOpenThreads.cmake
diff --git a/share/cmake-3.16/Modules/FindPHP4.cmake b/share/cmake-3.17/Modules/FindPHP4.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPHP4.cmake
rename to share/cmake-3.17/Modules/FindPHP4.cmake
diff --git a/share/cmake-3.16/Modules/FindPNG.cmake b/share/cmake-3.17/Modules/FindPNG.cmake
similarity index 92%
rename from share/cmake-3.16/Modules/FindPNG.cmake
rename to share/cmake-3.17/Modules/FindPNG.cmake
index bd400c7..f1fe89a 100644
--- a/share/cmake-3.16/Modules/FindPNG.cmake
+++ b/share/cmake-3.17/Modules/FindPNG.cmake
@@ -94,6 +94,10 @@
       set(PNG_INCLUDE_DIRS ${PNG_PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
       set(PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} ) # for backward compatibility
       set(PNG_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY})
+      if((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND
+         ("${PNG_LIBRARY}" MATCHES "\\${CMAKE_STATIC_LIBRARY_SUFFIX}$"))
+        list(APPEND PNG_LIBRARIES m)
+      endif()
 
       if (CYGWIN)
         if(BUILD_SHARED_LIBS)
@@ -110,6 +114,12 @@
           INTERFACE_COMPILE_DEFINITIONS "${_PNG_COMPILE_DEFINITIONS}"
           INTERFACE_INCLUDE_DIRECTORIES "${PNG_INCLUDE_DIRS}"
           INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
+        if((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND
+           ("${PNG_LIBRARY}" MATCHES "\\${CMAKE_STATIC_LIBRARY_SUFFIX}$"))
+          set_property(TARGET PNG::PNG APPEND PROPERTY
+            INTERFACE_LINK_LIBRARIES m)
+        endif()
+
         if(EXISTS "${PNG_LIBRARY}")
           set_target_properties(PNG::PNG PROPERTIES
             IMPORTED_LINK_INTERFACE_LANGUAGES "C"
diff --git a/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake b/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake
similarity index 85%
rename from share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake
rename to share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake
index d824ee8..a078049 100644
--- a/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake
+++ b/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake
@@ -27,6 +27,7 @@
       [VERSION_VAR <version-var>]
       [HANDLE_COMPONENTS]
       [CONFIG_MODE]
+      [NAME_MISMATCHED]
       [REASON_FAILURE_MESSAGE <reason-failure-message>]
       [FAIL_MESSAGE <custom-failure-message>]
       )
@@ -90,6 +91,12 @@
     Specify a custom failure message instead of using the default
     generated message.  Not recommended.
 
+  ``NAME_MISMATCHED``
+    Indicate that the ``<PackageName>`` does not match
+    ``${CMAKE_FIND_PACKAGE_NAME}``. This is usually a mistake and raises a
+    warning, but it may be intentional for usage of the command for components
+    of a larger package.
+
 Example for the simple signature:
 
 .. code-block:: cmake
@@ -106,6 +113,17 @@
 the content of the first ``<required-var>``.  On repeated CMake runs,
 the same message will not be printed again.
 
+.. note::
+
+  If ``<PackageName>`` does not match ``CMAKE_FIND_PACKAGE_NAME`` for the
+  calling module, a warning that there is a mismatch is given. The
+  ``FPHSA_NAME_MISMATCHED`` variable may be set to bypass the warning if using
+  the old signature and the ``NAME_MISMATCHED`` argument using the new
+  signature. To avoid forcing the caller to require newer versions of CMake for
+  usage, the variable's value will be used if defined when the
+  ``NAME_MISMATCHED`` argument is not passed for the new signature (but using
+  both is an error)..
+
 Example for the full signature:
 
 .. code-block:: cmake
@@ -190,15 +208,32 @@
 
 function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
 
-# Set up the arguments for `cmake_parse_arguments`.
-  set(options  CONFIG_MODE  HANDLE_COMPONENTS)
+  # Set up the arguments for `cmake_parse_arguments`.
+  set(options  CONFIG_MODE  HANDLE_COMPONENTS NAME_MISMATCHED)
   set(oneValueArgs  FAIL_MESSAGE  REASON_FAILURE_MESSAGE VERSION_VAR  FOUND_VAR)
   set(multiValueArgs REQUIRED_VARS)
 
-# Check whether we are in 'simple' or 'extended' mode:
+  # Check whether we are in 'simple' or 'extended' mode:
   set(_KEYWORDS_FOR_EXTENDED_MODE  ${options} ${oneValueArgs} ${multiValueArgs} )
   list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
 
+  unset(FPHSA_NAME_MISMATCHED_override)
+  if (DEFINED FPHSA_NAME_MISMATCHED)
+    # If the variable NAME_MISMATCHED variable is set, error if it is passed as
+    # an argument. The former is for old signatures, the latter is for new
+    # signatures.
+    list(FIND ARGN "NAME_MISMATCHED" name_mismatched_idx)
+    if (NOT name_mismatched_idx EQUAL "-1")
+      message(FATAL_ERROR
+        "The `NAME_MISMATCHED` argument may only be specified by the argument or "
+        "the variable, not both.")
+    endif ()
+
+    # But use the variable if it is not an argument to avoid forcing minimum
+    # CMake version bumps for calling modules.
+    set(FPHSA_NAME_MISMATCHED_override "${FPHSA_NAME_MISMATCHED}")
+  endif ()
+
   if(${INDEX} EQUAL -1)
     set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
     set(FPHSA_REQUIRED_VARS ${ARGN})
@@ -227,6 +262,21 @@
     endif()
   endif()
 
+  if (DEFINED FPHSA_NAME_MISMATCHED_override)
+    set(FPHSA_NAME_MISMATCHED "${FPHSA_NAME_MISMATCHED_override}")
+  endif ()
+
+  if (DEFINED CMAKE_FIND_PACKAGE_NAME
+      AND NOT FPHSA_NAME_MISMATCHED
+      AND NOT _NAME STREQUAL CMAKE_FIND_PACKAGE_NAME)
+    message(AUTHOR_WARNING
+      "The package name passed to `find_package_handle_standard_args` "
+      "(${_NAME}) does not match the name of the calling package "
+      "(${CMAKE_FIND_PACKAGE_NAME}). This can lead to problems in calling "
+      "code that expects `find_package` result variables (e.g., `_FOUND`) "
+      "to follow a certain pattern.")
+  endif ()
+
 # now that we collected all arguments, process them
 
   if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")
@@ -239,10 +289,12 @@
   string(TOLOWER ${_NAME} _NAME_LOWER)
 
   if(FPHSA_FOUND_VAR)
-    if(FPHSA_FOUND_VAR MATCHES "^${_NAME}_FOUND$"  OR  FPHSA_FOUND_VAR MATCHES "^${_NAME_UPPER}_FOUND$")
+    set(_FOUND_VAR_UPPER ${_NAME_UPPER}_FOUND)
+    set(_FOUND_VAR_MIXED ${_NAME}_FOUND)
+    if(FPHSA_FOUND_VAR STREQUAL _FOUND_VAR_MIXED  OR  FPHSA_FOUND_VAR STREQUAL _FOUND_VAR_UPPER)
       set(_FOUND_VAR ${FPHSA_FOUND_VAR})
     else()
-      message(FATAL_ERROR "The argument for FOUND_VAR is \"${FPHSA_FOUND_VAR}\", but only \"${_NAME}_FOUND\" and \"${_NAME_UPPER}_FOUND\" are valid names.")
+      message(FATAL_ERROR "The argument for FOUND_VAR is \"${FPHSA_FOUND_VAR}\", but only \"${_FOUND_VAR_MIXED}\" and \"${_FOUND_VAR_UPPER}\" are valid names.")
     endif()
   else()
     set(_FOUND_VAR ${_NAME_UPPER}_FOUND)
diff --git a/share/cmake-3.16/Modules/FindPackageMessage.cmake b/share/cmake-3.17/Modules/FindPackageMessage.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPackageMessage.cmake
rename to share/cmake-3.17/Modules/FindPackageMessage.cmake
diff --git a/share/cmake-3.16/Modules/FindPatch.cmake b/share/cmake-3.17/Modules/FindPatch.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPatch.cmake
rename to share/cmake-3.17/Modules/FindPatch.cmake
diff --git a/share/cmake-3.16/Modules/FindPerl.cmake b/share/cmake-3.17/Modules/FindPerl.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPerl.cmake
rename to share/cmake-3.17/Modules/FindPerl.cmake
diff --git a/share/cmake-3.16/Modules/FindPerlLibs.cmake b/share/cmake-3.17/Modules/FindPerlLibs.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPerlLibs.cmake
rename to share/cmake-3.17/Modules/FindPerlLibs.cmake
diff --git a/share/cmake-3.16/Modules/FindPhysFS.cmake b/share/cmake-3.17/Modules/FindPhysFS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPhysFS.cmake
rename to share/cmake-3.17/Modules/FindPhysFS.cmake
diff --git a/share/cmake-3.16/Modules/FindPike.cmake b/share/cmake-3.17/Modules/FindPike.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPike.cmake
rename to share/cmake-3.17/Modules/FindPike.cmake
diff --git a/share/cmake-3.16/Modules/FindPkgConfig.cmake b/share/cmake-3.17/Modules/FindPkgConfig.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FindPkgConfig.cmake
rename to share/cmake-3.17/Modules/FindPkgConfig.cmake
index 5162a44..c79f20f 100644
--- a/share/cmake-3.16/Modules/FindPkgConfig.cmake
+++ b/share/cmake-3.17/Modules/FindPkgConfig.cmake
@@ -20,6 +20,10 @@
 
 #]========================================]
 
+cmake_policy(PUSH)
+cmake_policy(SET CMP0054 NEW) # if() quoted variables not dereferenced
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
 ### Common stuff ####
 set(PKG_CONFIG_VERSION 1)
 
@@ -337,7 +341,7 @@
       # remove empty values from the list
       list(REMOVE_ITEM _pkgconfig_path "")
       file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
-      if(UNIX)
+      if(CMAKE_HOST_UNIX)
         string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
         string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
       endif()
@@ -770,3 +774,5 @@
 ### Local Variables:
 ### mode: cmake
 ### End:
+
+cmake_policy(POP)
diff --git a/share/cmake-3.16/Modules/FindPostgreSQL.cmake b/share/cmake-3.17/Modules/FindPostgreSQL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPostgreSQL.cmake
rename to share/cmake-3.17/Modules/FindPostgreSQL.cmake
diff --git a/share/cmake-3.16/Modules/FindProducer.cmake b/share/cmake-3.17/Modules/FindProducer.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindProducer.cmake
rename to share/cmake-3.17/Modules/FindProducer.cmake
diff --git a/share/cmake-3.16/Modules/FindProtobuf.cmake b/share/cmake-3.17/Modules/FindProtobuf.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/FindProtobuf.cmake
rename to share/cmake-3.17/Modules/FindProtobuf.cmake
index 2d45965..f35978d 100644
--- a/share/cmake-3.16/Modules/FindProtobuf.cmake
+++ b/share/cmake-3.17/Modules/FindProtobuf.cmake
@@ -482,22 +482,24 @@
         "${_PROTOBUF_COMMON_HEADER} reveals protobuf ${Protobuf_VERSION}")
   endif()
 
-  # Check Protobuf compiler version to be aligned with libraries version
-  execute_process(COMMAND ${Protobuf_PROTOC_EXECUTABLE} --version
-                  OUTPUT_VARIABLE _PROTOBUF_PROTOC_EXECUTABLE_VERSION)
+  if(Protobuf_PROTOC_EXECUTABLE)
+    # Check Protobuf compiler version to be aligned with libraries version
+    execute_process(COMMAND ${Protobuf_PROTOC_EXECUTABLE} --version
+                    OUTPUT_VARIABLE _PROTOBUF_PROTOC_EXECUTABLE_VERSION)
 
-  if("${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}" MATCHES "libprotoc ([0-9.]+)")
-    set(_PROTOBUF_PROTOC_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
-  endif()
+    if("${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}" MATCHES "libprotoc ([0-9.]+)")
+      set(_PROTOBUF_PROTOC_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
+    endif()
 
-  if(Protobuf_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-        "${Protobuf_PROTOC_EXECUTABLE} reveals version ${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}")
-  endif()
+    if(Protobuf_DEBUG)
+      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+          "${Protobuf_PROTOC_EXECUTABLE} reveals version ${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}")
+    endif()
 
-  if(NOT "${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}" VERSION_EQUAL "${Protobuf_VERSION}")
+    if(NOT "${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}" VERSION_EQUAL "${Protobuf_VERSION}")
       message(WARNING "Protobuf compiler version ${_PROTOBUF_PROTOC_EXECUTABLE_VERSION}"
-          " doesn't match library version ${Protobuf_VERSION}")
+        " doesn't match library version ${Protobuf_VERSION}")
+    endif()
   endif()
 
   if(Protobuf_LIBRARY)
diff --git a/share/cmake-3.16/Modules/FindPython.cmake b/share/cmake-3.17/Modules/FindPython.cmake
similarity index 92%
rename from share/cmake-3.16/Modules/FindPython.cmake
rename to share/cmake-3.17/Modules/FindPython.cmake
index 2bdfaf3..9dfa222 100644
--- a/share/cmake-3.16/Modules/FindPython.cmake
+++ b/share/cmake-3.17/Modules/FindPython.cmake
@@ -93,6 +93,13 @@
 
   Information returned by
   ``distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False)``.
+``Python_SOABI``
+  Extension suffix for modules.
+
+  Information returned by
+  ``distutils.sysconfig.get_config_flag('SOABI')`` or computed from
+  ``distutils.sysconfig.get_config_flag('EXT_SUFFIX')`` or
+  ``python-config --extension-suffix``.
 ``Python_Compiler_FOUND``
   System has the Python compiler.
 ``Python_COMPILER``
@@ -220,12 +227,12 @@
   variable will be used, if any.
 
 ``Python_FIND_VIRTUALENV``
-  This variable defines the handling of virtual environments. It is meaningfull
-  only when a virtual environment is active (i.e. the ``activate`` script has
-  been evaluated). In this case, it takes precedence over
-  ``Python_FIND_REGISTRY`` and ``CMAKE_FIND_FRAMEWORK`` variables.
-  The ``Python_FIND_VIRTUALENV`` variable can be set to empty or one of the
-  following:
+  This variable defines the handling of virtual environments managed by
+  ``virtualenv`` or ``conda``. It is meaningful only when a virtual environment
+  is active (i.e. the ``activate`` script has been evaluated). In this case, it
+  takes precedence over ``Python_FIND_REGISTRY`` and ``CMAKE_FIND_FRAMEWORK``
+  variables.  The ``Python_FIND_VIRTUALENV`` variable can be set to empty or
+  one of the following:
 
   * ``FIRST``: The virtual environment is used before any other standard
     paths to look-up for the interpreter. This is the default.
@@ -290,9 +297,13 @@
 when library type is ``MODULE``, to target ``Python::Module`` and takes care of
 Python module naming rules::
 
-  Python_add_library (my_module MODULE src1.cpp)
+  Python_add_library (<name> [STATIC | SHARED | MODULE [WITH_SOABI]]
+                      <source1> [<source2> ...])
 
-If library type is not specified, ``MODULE`` is assumed.
+If the library type is not specified, ``MODULE`` is assumed.
+
+For ``MODULE`` library type, if option ``WITH_SOABI`` is specified, the
+module suffix will include the ``Python_SOABI`` value, if any.
 #]=======================================================================]
 
 
diff --git a/share/cmake-3.16/Modules/FindPython/Support.cmake b/share/cmake-3.17/Modules/FindPython/Support.cmake
similarity index 83%
rename from share/cmake-3.16/Modules/FindPython/Support.cmake
rename to share/cmake-3.17/Modules/FindPython/Support.cmake
index 219a885..ce06458 100644
--- a/share/cmake-3.16/Modules/FindPython/Support.cmake
+++ b/share/cmake-3.17/Modules/FindPython/Support.cmake
@@ -52,11 +52,54 @@
 endmacro()
 
 
+function (_PYTHON_MARK_AS_INTERNAL)
+  foreach (var IN LISTS ARGV)
+    if (DEFINED CACHE{${var}})
+      set_property (CACHE ${var} PROPERTY TYPE INTERNAL)
+    endif()
+  endforeach()
+endfunction()
+
+
+macro (_PYTHON_SELECT_LIBRARY_CONFIGURATIONS _PYTHON_BASENAME)
+  if(NOT DEFINED ${_PYTHON_BASENAME}_LIBRARY_RELEASE)
+    set(${_PYTHON_BASENAME}_LIBRARY_RELEASE "${_PYTHON_BASENAME}_LIBRARY_RELEASE-NOTFOUND")
+  endif()
+  if(NOT DEFINED ${_PYTHON_BASENAME}_LIBRARY_DEBUG)
+    set(${_PYTHON_BASENAME}_LIBRARY_DEBUG "${_PYTHON_BASENAME}_LIBRARY_DEBUG-NOTFOUND")
+  endif()
+
+  get_property(_PYTHON_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+  if (${_PYTHON_BASENAME}_LIBRARY_DEBUG AND ${_PYTHON_BASENAME}_LIBRARY_RELEASE AND
+      NOT ${_PYTHON_BASENAME}_LIBRARY_DEBUG STREQUAL ${_PYTHON_BASENAME}_LIBRARY_RELEASE AND
+      (_PYTHON_isMultiConfig OR CMAKE_BUILD_TYPE))
+    # if the generator is multi-config or if CMAKE_BUILD_TYPE is set for
+    # single-config generators, set optimized and debug libraries
+    set (${_PYTHON_BASENAME}_LIBRARY "")
+    foreach (_PYTHON_libname IN LISTS ${_PYTHON_BASENAME}_LIBRARY_RELEASE )
+      list( APPEND ${_PYTHON_BASENAME}_LIBRARY optimized "${_PYTHON_libname}" )
+    endforeach()
+    foreach (_PYTHON_libname IN LISTS ${_PYTHON_BASENAME}_LIBRARY_DEBUG )
+      list( APPEND ${_PYTHON_BASENAME}_LIBRARY debug "${_PYTHON_libname}" )
+    endforeach()
+  elseif (${_PYTHON_BASENAME}_LIBRARY_RELEASE)
+    set (${_PYTHON_BASENAME}_LIBRARY "${${_PYTHON_BASENAME}_LIBRARY_RELEASE}")
+  elseif (${_PYTHON_BASENAME}_LIBRARY_DEBUG)
+    set (${_PYTHON_BASENAME}_LIBRARY "${${_PYTHON_BASENAME}_LIBRARY_DEBUG}")
+  else()
+    set (${_PYTHON_BASENAME}_LIBRARY "${_PYTHON_BASENAME}_LIBRARY-NOTFOUND")
+  endif()
+
+  set (${_PYTHON_BASENAME}_LIBRARIES "${${_PYTHON_BASENAME}_LIBRARY}")
+endmacro()
+
+
 macro (_PYTHON_FIND_FRAMEWORKS)
   set (${_PYTHON_PREFIX}_FRAMEWORKS)
   if (CMAKE_HOST_APPLE OR APPLE)
+    file(TO_CMAKE_PATH "$ENV{CMAKE_FRAMEWORK_PATH}" _pff_CMAKE_FRAMEWORK_PATH)
     set (_pff_frameworks ${CMAKE_FRAMEWORK_PATH}
-                    $ENV{CMAKE_FRAMEWORK_PATH}
+                    ${_pff_CMAKE_FRAMEWORK_PATH}
                     ~/Library/Frameworks
                     /usr/local/Frameworks
                     ${CMAKE_SYSTEM_FRAMEWORK_PATH})
@@ -247,12 +290,16 @@
 function (_PYTHON_GET_CONFIG_VAR _PYTHON_PGCV_VALUE NAME)
   unset (${_PYTHON_PGCV_VALUE} PARENT_SCOPE)
 
-  if (NOT NAME MATCHES "^(PREFIX|ABIFLAGS|CONFIGDIR|INCLUDES|LIBS)$")
+  if (NOT NAME MATCHES "^(PREFIX|ABIFLAGS|CONFIGDIR|INCLUDES|LIBS|SOABI)$")
     return()
   endif()
 
   if (_${_PYTHON_PREFIX}_CONFIG)
-    set (config_flag "--${NAME}")
+    if (NAME STREQUAL "SOABI")
+      set (config_flag "--extension-suffix")
+    else()
+      set (config_flag "--${NAME}")
+    endif()
     string (TOLOWER "${config_flag}" config_flag)
     execute_process (COMMAND "${_${_PYTHON_PREFIX}_CONFIG}" ${config_flag}
                      RESULT_VARIABLE _result
@@ -267,6 +314,9 @@
         string (REGEX MATCHALL "(-I|-iwithsysroot)[ ]*[^ ]+" _values "${_values}")
         string (REGEX REPLACE "(-I|-iwithsysroot)[ ]*" "" _values "${_values}")
         list (REMOVE_DUPLICATES _values)
+      elseif (NAME STREQUAL "SOABI")
+        # clean-up: remove prefix character and suffix
+        string (REGEX REPLACE "^[.-](.+)(${CMAKE_SHARED_LIBRARY_SUFFIX}|\\.(so|pyd))$" "\\1" _values "${_values}")
       endif()
     endif()
   endif()
@@ -292,6 +342,25 @@
       if (_result)
         unset (_values)
       endif()
+    elseif (NAME STREQUAL "SOABI")
+      execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; from distutils import sysconfig;sys.stdout.write(';'.join([sysconfig.get_config_var('SOABI') or '',sysconfig.get_config_var('EXT_SUFFIX') or '']))"
+                       RESULT_VARIABLE _result
+                       OUTPUT_VARIABLE _soabi
+                       ERROR_QUIET
+                       OUTPUT_STRIP_TRAILING_WHITESPACE)
+      if (_result)
+        unset (_values)
+      else()
+        list (GET _soabi 0 _values)
+        if (NOT _values)
+          # try to compute SOABI from EXT_SUFFIX
+          list (GET _soabi 1 _values)
+          if (_values)
+            # clean-up: remove prefix character and suffix
+            string (REGEX REPLACE "^[.-](.+)(${CMAKE_SHARED_LIBRARY_SUFFIX}|\\.(so|pyd))$" "\\1" _values "${_values}")
+          endif()
+        endif()
+      endif()
     else()
       set (config_flag "${NAME}")
       if (NAME STREQUAL "CONFIGDIR")
@@ -412,7 +481,8 @@
 
   if (_PVI_CHECK_EXISTS AND NOT EXISTS "${_${_PYTHON_PREFIX}_EXECUTABLE}")
     # interpreter does not exist anymore
-    set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot find the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
     return()
   endif()
 
@@ -430,7 +500,8 @@
     endif()
     if (NOT abi IN_LIST _${_PYTHON_PREFIX}_ABIFLAGS)
       # incompatible ABI
-      set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+      set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong ABI for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+      set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
       return()
     endif()
   endif()
@@ -445,9 +516,27 @@
                      OUTPUT_VARIABLE version
                      ERROR_QUIET
                      OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (result OR (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version) OR (version VERSION_LESS expected_version))
-      # interpreter not usable or has wrong major version
-      set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+    if (result)
+      # interpreter is not usable
+      set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+      set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+    else()
+      if (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version)
+        # interpreter has wrong version
+        set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+        set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+      else()
+        # check that version is OK
+        string(REGEX REPLACE "^([0-9]+)\\..*$" "\\1" major_version "${version}")
+        string(REGEX REPLACE "^([0-9]+)\\.?.*$" "\\1" expected_major_version "${expected_version}")
+        if (NOT major_version VERSION_EQUAL expected_major_version
+            OR NOT version VERSION_GREATER_EQUAL expected_version)
+          set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+          set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+        endif()
+      endif()
+    endif()
+    if (NOT _${_PYTHON_PREFIX}_EXECUTABLE)
       return()
     endif()
   else()
@@ -462,7 +551,12 @@
                        OUTPUT_STRIP_TRAILING_WHITESPACE)
       if (result OR NOT version EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
         # interpreter not usable or has wrong major version
-        set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+        if (result)
+          set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+        else()
+          set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong major version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+        endif()
+        set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
         return()
       endif()
     endif()
@@ -479,7 +573,12 @@
                      OUTPUT_STRIP_TRAILING_WHITESPACE)
     if (result OR NOT size EQUAL CMAKE_SIZEOF_VOID_P)
       # interpreter not usable or has wrong architecture
-      set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+      if (result)
+        set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+      else()
+        set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong architecture for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+      endif()
+      set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
       return()
     endif()
   endif()
@@ -503,7 +602,8 @@
 
   if (_PVC_CHECK_EXISTS AND NOT EXISTS "${_${_PYTHON_PREFIX}_COMPILER}")
     # Compiler does not exist anymore
-    set_property (CACHE _${_PYTHON_PREFIX}_COMPILER PROPERTY VALUE "_${_PYTHON_PREFIX}_COMPILER-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Compiler_REASON_FAILURE "Cannot find the compiler \"${_${_PYTHON_PREFIX}_COMPILER}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_COMPILER PROPERTY VALUE "${_PYTHON_PREFIX}_COMPILER-NOTFOUND")
     return()
   endif()
 
@@ -529,7 +629,12 @@
 
   if (result OR (_PVC_EXACT AND NOT version VERSION_EQUAL expected_version) OR (version VERSION_LESS expected_version))
     # Compiler not usable or has wrong version
-    set_property (CACHE _${_PYTHON_PREFIX}_COMPILER PROPERTY VALUE "_${_PYTHON_PREFIX}_COMPILER-NOTFOUND")
+    if (result)
+      set (_${_PYTHON_PREFIX}_Compiler_REASON_FAILURE "Cannot use the compiler \"${_${_PYTHON_PREFIX}_COMPILER}\"")
+    else()
+      set (_${_PYTHON_PREFIX}_Compiler_REASON_FAILURE "Wrong version for the compiler \"${_${_PYTHON_PREFIX}_COMPILER}\"")
+    endif()
+    set_property (CACHE _${_PYTHON_PREFIX}_COMPILER PROPERTY VALUE "${_PYTHON_PREFIX}_COMPILER-NOTFOUND")
   endif()
 endfunction()
 
@@ -548,11 +653,12 @@
 
   if (_PVL_CHECK_EXISTS AND NOT EXISTS "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}")
     # library does not exist anymore
-    set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Cannot find the library \"${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
     if (WIN32)
-      set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_DEBUG PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_DEBUG-NOTFOUND")
+      set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_DEBUG PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_DEBUG-NOTFOUND")
     endif()
-    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
     return()
   endif()
 
@@ -561,26 +667,31 @@
 
   if (DEFINED _${_PYTHON_PREFIX}_FIND_ABI AND NOT lib_ABI IN_LIST _${_PYTHON_PREFIX}_ABIFLAGS)
     # incompatible ABI
-    set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong ABI for the library \"${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
   else()
     if (expected_version)
       if ((_PVL_EXACT AND NOT lib_VERSION VERSION_EQUAL expected_version) OR (lib_VERSION VERSION_LESS expected_version))
         # library has wrong version
-        set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
+        set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong version for the library \"${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}\"")
+        set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
       endif()
     else()
       if (NOT lib_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
         # library has wrong major version
-        set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
+        set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong major version for the library \"${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}\"")
+        set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
       endif()
     endif()
   endif()
 
   if (NOT _${_PYTHON_PREFIX}_LIBRARY_RELEASE)
     if (WIN32)
-      set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_DEBUG PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_DEBUG-NOTFOUND")
+      set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_DEBUG PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_DEBUG-NOTFOUND")
     endif()
-    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+    unset (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE CACHE)
+    unset (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG CACHE)
+    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
   endif()
 endfunction()
 
@@ -599,7 +710,8 @@
 
   if (_PVID_CHECK_EXISTS AND NOT EXISTS "${_${_PYTHON_PREFIX}_INCLUDE_DIR}")
     # include file does not exist anymore
-    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Cannot find the directory \"${_${_PYTHON_PREFIX}_INCLUDE_DIR}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
     return()
   endif()
 
@@ -608,17 +720,20 @@
 
   if (DEFINED _${_PYTHON_PREFIX}_FIND_ABI AND NOT inc_ABI IN_LIST _${_PYTHON_PREFIX}_ABIFLAGS)
     # incompatible ABI
-    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong ABI for the directory \"${_${_PYTHON_PREFIX}_INCLUDE_DIR}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
   else()
     if (expected_version)
       if ((_PVID_EXACT AND NOT inc_VERSION VERSION_EQUAL expected_version) OR (inc_VERSION VERSION_LESS expected_version))
         # include dir has wrong version
-        set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+        set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong version for the directory \"${_${_PYTHON_PREFIX}_INCLUDE_DIR}\"")
+        set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
       endif()
     else()
       if (NOT inc_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
         # include dir has wrong major version
-        set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+        set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Wrong major version for the directory \"${_${_PYTHON_PREFIX}_INCLUDE_DIR}\"")
+        set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
       endif()
     endif()
   endif()
@@ -717,6 +832,7 @@
     _python_get_abiflags (_${_PYTHON_PREFIX}_ABIFLAGS)
   endif()
 endif()
+unset (${_PYTHON_PREFIX}_SOABI)
 
 # Define lookup strategy
 if (_${_PYTHON_PREFIX}_LOOKUP_POLICY STREQUAL "NEW")
@@ -806,8 +922,8 @@
   set (_${_PYTHON_PREFIX}_FIND_REGISTRY "FIRST")
 endif()
 
-# virtual environments handling
-if (DEFINED ENV{VIRTUAL_ENV})
+# virtual environments recognition
+if (DEFINED ENV{VIRTUAL_ENV} OR DEFINED ENV{CONDA_PREFIX})
   if (DEFINED ${_PYTHON_PREFIX}_FIND_VIRTUALENV)
     if (NOT ${_PYTHON_PREFIX}_FIND_VIRTUALENV MATCHES "^(FIRST|ONLY|STANDARD)$")
       message (AUTHOR_WARNING "Find${_PYTHON_PREFIX}: ${${_PYTHON_PREFIX}_FIND_VIRTUALENV}: invalid value for '${_PYTHON_PREFIX}_FIND_VIRTUALENV'. 'FIRST', 'ONLY' or 'STANDARD' expected. 'FIRST' will be used instead.")
@@ -839,6 +955,10 @@
 
 unset (_${_PYTHON_PREFIX}_REQUIRED_VARS)
 unset (_${_PYTHON_PREFIX}_CACHED_VARS)
+unset (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE)
+unset (_${_PYTHON_PREFIX}_Compiler_REASON_FAILURE)
+unset (_${_PYTHON_PREFIX}_Development_REASON_FAILURE)
+unset (_${_PYTHON_PREFIX}_NumPy_REASON_FAILURE)
 
 
 # first step, search for the interpreter
@@ -850,6 +970,10 @@
 
   if (DEFINED ${_PYTHON_PREFIX}_EXECUTABLE
       AND IS_ABSOLUTE "${${_PYTHON_PREFIX}_EXECUTABLE}")
+    if (NOT ${_PYTHON_PREFIX}_EXECUTABLE STREQUAL _${_PYTHON_PREFIX}_EXECUTABLE)
+      # invalidate cache properties
+      unset (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES CACHE)
+    endif()
     set (_${_PYTHON_PREFIX}_EXECUTABLE "${${_PYTHON_PREFIX}_EXECUTABLE}" CACHE INTERNAL "")
   elseif (DEFINED _${_PYTHON_PREFIX}_EXECUTABLE)
     # compute interpreter signature and check validity of definition
@@ -863,7 +987,10 @@
       endif()
     else()
       unset (_${_PYTHON_PREFIX}_EXECUTABLE CACHE)
+    endif()
+    if (NOT _${_PYTHON_PREFIX}_EXECUTABLE)
       unset (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE CACHE)
+      unset (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES CACHE)
     endif()
   endif()
 
@@ -898,7 +1025,7 @@
                         NAMES ${_${_PYTHON_PREFIX}_NAMES}
                         NAMES_PER_DIR
                         HINTS ${_${_PYTHON_PREFIX}_HINTS}
-                        PATHS ENV VIRTUAL_ENV
+                        PATHS ENV VIRTUAL_ENV ENV CONDA_PREFIX
                         PATH_SUFFIXES bin Scripts
                         NO_CMAKE_PATH
                         NO_CMAKE_ENVIRONMENT_PATH
@@ -1018,7 +1145,7 @@
                         NAMES ${_${_PYTHON_PREFIX}_NAMES}
                         NAMES_PER_DIR
                         HINTS ${_${_PYTHON_PREFIX}_HINTS}
-                        PATHS ENV VIRTUAL_ENV
+                        PATHS ENV VIRTUAL_ENV ENV CONDA_PREFIX
                         PATH_SUFFIXES bin Scripts
                         NO_CMAKE_PATH
                         NO_CMAKE_ENVIRONMENT_PATH
@@ -1156,106 +1283,139 @@
                      OUTPUT_STRIP_TRAILING_WHITESPACE)
     if (NOT _${_PYTHON_PREFIX}_RESULT)
       set (_${_PYTHON_PREFIX}_EXECUTABLE_USABLE TRUE)
-      string (REGEX MATCHALL "[0-9]+" _${_PYTHON_PREFIX}_VERSIONS "${${_PYTHON_PREFIX}_VERSION}")
-      list (GET _${_PYTHON_PREFIX}_VERSIONS 0 ${_PYTHON_PREFIX}_VERSION_MAJOR)
-      list (GET _${_PYTHON_PREFIX}_VERSIONS 1 ${_PYTHON_PREFIX}_VERSION_MINOR)
-      list (GET _${_PYTHON_PREFIX}_VERSIONS 2 ${_PYTHON_PREFIX}_VERSION_PATCH)
     else()
       # Interpreter is not usable
       set (_${_PYTHON_PREFIX}_EXECUTABLE_USABLE FALSE)
       unset (${_PYTHON_PREFIX}_VERSION)
+      set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot run the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
     endif()
   endif()
 
-  if (_${_PYTHON_PREFIX}_EXECUTABLE AND _${_PYTHON_PREFIX}_EXECUTABLE_USABLE
-      AND ${_PYTHON_PREFIX}_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
-    set (${_PYTHON_PREFIX}_Interpreter_FOUND TRUE)
-    # Use interpreter version and ABI for future searches to ensure consistency
-    set (_${_PYTHON_PREFIX}_FIND_VERSIONS ${${_PYTHON_PREFIX}_VERSION_MAJOR}.${${_PYTHON_PREFIX}_VERSION_MINOR})
-    execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.abiflags)"
-                     RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
-                     OUTPUT_VARIABLE _${_PYTHON_PREFIX}_ABIFLAGS
-                     ERROR_QUIET
-                     OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (_${_PYTHON_PREFIX}_RESULT)
-      # assunme ABI is not supported
-      set (_${_PYTHON_PREFIX}_ABIFLAGS "")
-    endif()
-  endif()
+  if (_${_PYTHON_PREFIX}_EXECUTABLE AND _${_PYTHON_PREFIX}_EXECUTABLE_USABLE)
+    if (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES)
+      set (${_PYTHON_PREFIX}_Interpreter_FOUND TRUE)
 
-  if (${_PYTHON_PREFIX}_Interpreter_FOUND)
-    # compute and save interpreter signature
-    string (MD5 __${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${_${_PYTHON_PREFIX}_SIGNATURE}:${_${_PYTHON_PREFIX}_EXECUTABLE}")
-    set (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${__${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE}" CACHE INTERNAL "")
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 0 ${_PYTHON_PREFIX}_INTERPRETER_ID)
 
-    if (NOT CMAKE_SIZEOF_VOID_P)
-      # determine interpreter architecture
-      execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.maxsize > 2**32)"
-                       RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
-                       OUTPUT_VARIABLE ${_PYTHON_PREFIX}_IS64BIT
-                       ERROR_VARIABLE ${_PYTHON_PREFIX}_IS64BIT)
-      if (NOT _${_PYTHON_PREFIX}_RESULT)
-        if (${_PYTHON_PREFIX}_IS64BIT)
-          set (_${_PYTHON_PREFIX}_ARCH 64)
-          set (_${_PYTHON_PREFIX}_ARCH2 64)
-        else()
-          set (_${_PYTHON_PREFIX}_ARCH 32)
-          set (_${_PYTHON_PREFIX}_ARCH2 32)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 1 ${_PYTHON_PREFIX}_VERSION_MAJOR)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 2 ${_PYTHON_PREFIX}_VERSION_MINOR)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 3 ${_PYTHON_PREFIX}_VERSION_PATH)
+
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 4 _${_PYTHON_PREFIX}_ARCH)
+      set (_${_PYTHON_PREFIX}_ARCH2 ${_${_PYTHON_PREFIX}_ARCH})
+
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 5 _${_PYTHON_PREFIX}_ABIFLAGS)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 6 ${_PYTHON_PREFIX}_SOABI)
+
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 7 ${_PYTHON_PREFIX}_STDLIB)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 8 ${_PYTHON_PREFIX}_STDARCH)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 9 ${_PYTHON_PREFIX}_SITELIB)
+      list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 10 ${_PYTHON_PREFIX}_SITEARCH)
+    else()
+      string (REGEX MATCHALL "[0-9]+" _${_PYTHON_PREFIX}_VERSIONS "${${_PYTHON_PREFIX}_VERSION}")
+      list (GET _${_PYTHON_PREFIX}_VERSIONS 0 ${_PYTHON_PREFIX}_VERSION_MAJOR)
+      list (GET _${_PYTHON_PREFIX}_VERSIONS 1 ${_PYTHON_PREFIX}_VERSION_MINOR)
+      list (GET _${_PYTHON_PREFIX}_VERSIONS 2 ${_PYTHON_PREFIX}_VERSION_PATCH)
+
+      if (${_PYTHON_PREFIX}_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
+        set (${_PYTHON_PREFIX}_Interpreter_FOUND TRUE)
+
+        # Use interpreter version and ABI for future searches to ensure consistency
+        set (_${_PYTHON_PREFIX}_FIND_VERSIONS ${${_PYTHON_PREFIX}_VERSION_MAJOR}.${${_PYTHON_PREFIX}_VERSION_MINOR})
+        execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.abiflags)"
+                         RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+                         OUTPUT_VARIABLE _${_PYTHON_PREFIX}_ABIFLAGS
+                         ERROR_QUIET
+                         OUTPUT_STRIP_TRAILING_WHITESPACE)
+        if (_${_PYTHON_PREFIX}_RESULT)
+          # assunme ABI is not supported
+          set (_${_PYTHON_PREFIX}_ABIFLAGS "")
         endif()
       endif()
-    endif()
 
-    # retrieve interpreter identity
-    execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -V
-                     RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
-                     OUTPUT_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID
-                     ERROR_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID)
-    if (NOT _${_PYTHON_PREFIX}_RESULT)
-      if (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Anaconda")
-        set (${_PYTHON_PREFIX}_INTERPRETER_ID "Anaconda")
-      elseif (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Enthought")
-        set (${_PYTHON_PREFIX}_INTERPRETER_ID "Canopy")
-      else()
-        string (REGEX REPLACE "^([^ ]+).*" "\\1" ${_PYTHON_PREFIX}_INTERPRETER_ID "${${_PYTHON_PREFIX}_INTERPRETER_ID}")
-        if (${_PYTHON_PREFIX}_INTERPRETER_ID STREQUAL "Python")
-          # try to get a more precise ID
-          execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.copyright)"
+      if (${_PYTHON_PREFIX}_Interpreter_FOUND)
+        # compute and save interpreter signature
+        string (MD5 __${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${_${_PYTHON_PREFIX}_SIGNATURE}:${_${_PYTHON_PREFIX}_EXECUTABLE}")
+        set (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${__${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE}" CACHE INTERNAL "")
+
+        if (NOT CMAKE_SIZEOF_VOID_P)
+          # determine interpreter architecture
+          execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.maxsize > 2**32)"
                            RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
-                           OUTPUT_VARIABLE ${_PYTHON_PREFIX}_COPYRIGHT
-                           ERROR_QUIET)
-          if (${_PYTHON_PREFIX}_COPYRIGHT MATCHES "ActiveState")
-            set (${_PYTHON_PREFIX}_INTERPRETER_ID "ActivePython")
+                           OUTPUT_VARIABLE ${_PYTHON_PREFIX}_IS64BIT
+                           ERROR_VARIABLE ${_PYTHON_PREFIX}_IS64BIT)
+          if (NOT _${_PYTHON_PREFIX}_RESULT)
+            if (${_PYTHON_PREFIX}_IS64BIT)
+              set (_${_PYTHON_PREFIX}_ARCH 64)
+              set (_${_PYTHON_PREFIX}_ARCH2 64)
+            else()
+              set (_${_PYTHON_PREFIX}_ARCH 32)
+              set (_${_PYTHON_PREFIX}_ARCH2 32)
+            endif()
           endif()
         endif()
+
+        # retrieve interpreter identity
+        execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -V
+                         RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+                         OUTPUT_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID
+                         ERROR_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID)
+        if (NOT _${_PYTHON_PREFIX}_RESULT)
+          if (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Anaconda")
+            set (${_PYTHON_PREFIX}_INTERPRETER_ID "Anaconda")
+          elseif (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Enthought")
+            set (${_PYTHON_PREFIX}_INTERPRETER_ID "Canopy")
+          else()
+            string (REGEX REPLACE "^([^ ]+).*" "\\1" ${_PYTHON_PREFIX}_INTERPRETER_ID "${${_PYTHON_PREFIX}_INTERPRETER_ID}")
+            if (${_PYTHON_PREFIX}_INTERPRETER_ID STREQUAL "Python")
+              # try to get a more precise ID
+              execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.copyright)"
+                               RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+                               OUTPUT_VARIABLE ${_PYTHON_PREFIX}_COPYRIGHT
+                               ERROR_QUIET)
+              if (${_PYTHON_PREFIX}_COPYRIGHT MATCHES "ActiveState")
+                set (${_PYTHON_PREFIX}_INTERPRETER_ID "ActivePython")
+              endif()
+            endif()
+          endif()
+        else()
+          set (${_PYTHON_PREFIX}_INTERPRETER_ID Python)
+        endif()
+
+        # retrieve various package installation directories
+        execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; from distutils import sysconfig;sys.stdout.write(';'.join([sysconfig.get_python_lib(plat_specific=False,standard_lib=True),sysconfig.get_python_lib(plat_specific=True,standard_lib=True),sysconfig.get_python_lib(plat_specific=False,standard_lib=False),sysconfig.get_python_lib(plat_specific=True,standard_lib=False)]))"
+                        RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+                        OUTPUT_VARIABLE _${_PYTHON_PREFIX}_LIBPATHS
+                        ERROR_QUIET)
+        if (NOT _${_PYTHON_PREFIX}_RESULT)
+          list (GET _${_PYTHON_PREFIX}_LIBPATHS 0 ${_PYTHON_PREFIX}_STDLIB)
+          list (GET _${_PYTHON_PREFIX}_LIBPATHS 1 ${_PYTHON_PREFIX}_STDARCH)
+          list (GET _${_PYTHON_PREFIX}_LIBPATHS 2 ${_PYTHON_PREFIX}_SITELIB)
+          list (GET _${_PYTHON_PREFIX}_LIBPATHS 3 ${_PYTHON_PREFIX}_SITEARCH)
+        else()
+          unset (${_PYTHON_PREFIX}_STDLIB)
+          unset (${_PYTHON_PREFIX}_STDARCH)
+          unset (${_PYTHON_PREFIX}_SITELIB)
+          unset (${_PYTHON_PREFIX}_SITEARCH)
+        endif()
+
+        if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR VERSION_GREATER_EQUAL 3)
+          _python_get_config_var (${_PYTHON_PREFIX}_SOABI SOABI)
+        endif()
+
+        # store properties in the cache to speed-up future searches
+        set (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES
+          "${${_PYTHON_PREFIX}_INTERPRETER_ID};${${_PYTHON_PREFIX}_VERSION_MAJOR};${${_PYTHON_PREFIX}_VERSION_MINOR};${${_PYTHON_PREFIX}_VERSION_PATCH};${_${_PYTHON_PREFIX}_ARCH};${_${_PYTHON_PREFIX}_ABIFLAGS};${${_PYTHON_PREFIX}_SOABI};${${_PYTHON_PREFIX}_STDLIB};${${_PYTHON_PREFIX}_STDARCH};${${_PYTHON_PREFIX}_SITELIB};${${_PYTHON_PREFIX}_SITEARCH}" CACHE INTERNAL "${_PYTHON_PREFIX} Properties")
+      else()
+        unset (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE CACHE)
+        unset (${_PYTHON_PREFIX}_INTERPRETER_ID)
       endif()
-    else()
-      set (${_PYTHON_PREFIX}_INTERPRETER_ID Python)
     endif()
-
-    # retrieve various package installation directories
-    execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; from distutils import sysconfig;sys.stdout.write(';'.join([sysconfig.get_python_lib(plat_specific=False,standard_lib=True),sysconfig.get_python_lib(plat_specific=True,standard_lib=True),sysconfig.get_python_lib(plat_specific=False,standard_lib=False),sysconfig.get_python_lib(plat_specific=True,standard_lib=False)]))"
-
-                     RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
-                     OUTPUT_VARIABLE _${_PYTHON_PREFIX}_LIBPATHS
-                     ERROR_QUIET)
-    if (NOT _${_PYTHON_PREFIX}_RESULT)
-      list (GET _${_PYTHON_PREFIX}_LIBPATHS 0 ${_PYTHON_PREFIX}_STDLIB)
-      list (GET _${_PYTHON_PREFIX}_LIBPATHS 1 ${_PYTHON_PREFIX}_STDARCH)
-      list (GET _${_PYTHON_PREFIX}_LIBPATHS 2 ${_PYTHON_PREFIX}_SITELIB)
-      list (GET _${_PYTHON_PREFIX}_LIBPATHS 3 ${_PYTHON_PREFIX}_SITEARCH)
-    else()
-      unset (${_PYTHON_PREFIX}_STDLIB)
-      unset (${_PYTHON_PREFIX}_STDARCH)
-      unset (${_PYTHON_PREFIX}_SITELIB)
-      unset (${_PYTHON_PREFIX}_SITEARCH)
-    endif()
-  else()
-    unset (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE CACHE)
-    unset (${_PYTHON_PREFIX}_INTERPRETER_ID)
   endif()
 
-  mark_as_advanced (_${_PYTHON_PREFIX}_EXECUTABLE
-                    _${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE)
+  _python_mark_as_internal (_${_PYTHON_PREFIX}_EXECUTABLE
+                            _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES
+                            _${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE)
 endif()
 
 
@@ -1419,6 +1579,7 @@
     else()
       # compiler not usable
       set (_${_PYTHON_PREFIX}_COMPILER_USABLE FALSE)
+      set (_${_PYTHON_PREFIX}_Compiler_REASON_FAILURE "Cannot run the compiler \"${_${_PYTHON_PREFIX}_COMPILER}\"")
     endif()
     file (REMOVE_RECURSE "${_${_PYTHON_PREFIX}_VERSION_DIR}")
   endif()
@@ -1447,8 +1608,8 @@
     unset (${_PYTHON_PREFIX}_COMPILER_ID)
   endif()
 
-  mark_as_advanced (_${_PYTHON_PREFIX}_COMPILER
-                    _${_PYTHON_PREFIX}_COMPILER_SIGNATURE)
+  _python_mark_as_internal (_${_PYTHON_PREFIX}_COMPILER
+                            _${_PYTHON_PREFIX}_COMPILER_SIGNATURE)
 endif()
 
 
@@ -1457,9 +1618,9 @@
 if ("Development" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS
     AND NOT ${_PYTHON_PREFIX}_INTERPRETER_ID STREQUAL "IronPython")
   list (APPEND _${_PYTHON_PREFIX}_CACHED_VARS _${_PYTHON_PREFIX}_LIBRARY_RELEASE
-                                              ${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
+                                              _${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
                                               _${_PYTHON_PREFIX}_LIBRARY_DEBUG
-                                              ${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
+                                              _${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
                                               _${_PYTHON_PREFIX}_INCLUDE_DIR)
   if (${_PYTHON_PREFIX}_FIND_REQUIRED_Development)
     list (APPEND _${_PYTHON_PREFIX}_REQUIRED_VARS ${_PYTHON_PREFIX}_LIBRARIES
@@ -1470,10 +1631,10 @@
     # compute development signature and check validity of definition
     string (MD5 __${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE "${_${_PYTHON_PREFIX}_SIGNATURE}:${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}:${_${_PYTHON_PREFIX}_INCLUDE_DIR}")
     if (WIN32 AND NOT DEFINED _${_PYTHON_PREFIX}_LIBRARY_DEBUG)
-      set (_${_PYTHON_PREFIX}_LIBRARY_DEBUG "_${_PYTHON_PREFIX}_LIBRARY_DEBUG-NOTFOUND" CACHE INTERNAL "")
+      set (_${_PYTHON_PREFIX}_LIBRARY_DEBUG "${_PYTHON_PREFIX}_LIBRARY_DEBUG-NOTFOUND" CACHE INTERNAL "")
     endif()
     if (NOT DEFINED _${_PYTHON_PREFIX}_INCLUDE_DIR)
-      set (_${_PYTHON_PREFIX}_INCLUDE_DIR "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND" CACHE INTERNAL "")
+      set (_${_PYTHON_PREFIX}_INCLUDE_DIR "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND" CACHE INTERNAL "")
     endif()
     if (__${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE STREQUAL _${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE)
       # check version validity
@@ -1488,9 +1649,13 @@
       unset (_${_PYTHON_PREFIX}_LIBRARY_RELEASE CACHE)
       unset (_${_PYTHON_PREFIX}_LIBRARY_DEBUG CACHE)
       unset (_${_PYTHON_PREFIX}_INCLUDE_DIR CACHE)
-      unset (_${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE CACHE)
     endif()
   endif()
+  if (NOT _${_PYTHON_PREFIX}_LIBRARY_RELEASE OR NOT _${_PYTHON_PREFIX}_INCLUDE_DIR)
+    unset (_${_PYTHON_PREFIX}_CONFIG CACHE)
+    unset (_${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE CACHE)
+  endif()
+
   if (DEFINED ${_PYTHON_PREFIX}_LIBRARY
       AND IS_ABSOLUTE "${${_PYTHON_PREFIX}_LIBRARY}")
     set (_${_PYTHON_PREFIX}_LIBRARY_RELEASE "${${_PYTHON_PREFIX}_LIBRARY}" CACHE INTERNAL "")
@@ -1521,7 +1686,7 @@
       set (_${_PYTHON_PREFIX}_HINTS "${${_PYTHON_PREFIX}_ROOT_DIR}" ENV ${_PYTHON_PREFIX}_ROOT_DIR)
       unset (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS)
       if (_${_PYTHON_PREFIX}_FIND_VIRTUALENV MATCHES "^(FIRST|ONLY)$")
-        set (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS ENV VIRTUAL_ENV)
+        set (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS ENV VIRTUAL_ENV ENV CONDA_PREFIX)
       endif()
       unset (_${_PYTHON_PREFIX}_FRAMEWORK_PATHS)
 
@@ -1752,7 +1917,7 @@
 
       unset (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS)
       if (_${_PYTHON_PREFIX}_FIND_VIRTUALENV MATCHES "^(FIRST|ONLY)$")
-        set (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS ENV VIRTUAL_ENV)
+        set (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS ENV VIRTUAL_ENV ENV CONDA_PREFIX)
       endif()
 
       if (_${_PYTHON_PREFIX}_FIND_STRATEGY STREQUAL "LOCATION")
@@ -1914,10 +2079,11 @@
   # finalize library version information
   _python_get_version (LIBRARY PREFIX _${_PYTHON_PREFIX}_)
 
-  set (${_PYTHON_PREFIX}_LIBRARY_RELEASE "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}" CACHE FILEPATH "Path to a library." FORCE)
+  set (${_PYTHON_PREFIX}_LIBRARY_RELEASE "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}")
 
   if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE AND NOT EXISTS "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}")
-    set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "_${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Cannot find the library \"${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_LIBRARY_RELEASE PROPERTY VALUE "${_PYTHON_PREFIX}_LIBRARY_RELEASE-NOTFOUND")
   endif()
 
   set (_${_PYTHON_PREFIX}_HINTS "${${_PYTHON_PREFIX}_ROOT_DIR}" ENV ${_PYTHON_PREFIX}_ROOT_DIR)
@@ -1939,7 +2105,7 @@
     _python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES VERSION ${_${_PYTHON_PREFIX}_VERSION} WIN32 POSIX LIBRARY)
     get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}" DIRECTORY)
     get_filename_component (_${_PYTHON_PREFIX}_PATH2 "${_${_PYTHON_PREFIX}_PATH}" DIRECTORY)
-    _python_find_runtime_library (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
+    _python_find_runtime_library (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
                                   NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES}
                                   NAMES_PER_DIR
                                   HINTS "${_${_PYTHON_PREFIX}_PATH}" "${_${_PYTHON_PREFIX}_PATH2}" ${_${_PYTHON_PREFIX}_HINTS}
@@ -1949,7 +2115,7 @@
     _python_get_names (_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG VERSION ${_${_PYTHON_PREFIX}_VERSION} WIN32 DEBUG)
     get_filename_component (_${_PYTHON_PREFIX}_PATH "${_${_PYTHON_PREFIX}_LIBRARY_DEBUG}" DIRECTORY)
     get_filename_component (_${_PYTHON_PREFIX}_PATH2 "${_${_PYTHON_PREFIX}_PATH}" DIRECTORY)
-    _python_find_runtime_library (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
+    _python_find_runtime_library (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
                                   NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG}
                                   NAMES_PER_DIR
                                   HINTS "${_${_PYTHON_PREFIX}_PATH}" "${_${_PYTHON_PREFIX}_PATH2}" ${_${_PYTHON_PREFIX}_HINTS}
@@ -1972,7 +2138,7 @@
     if (NOT _${_PYTHON_PREFIX}_INCLUDE_DIR)
       unset (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS)
       if (_${_PYTHON_PREFIX}_FIND_VIRTUALENV MATCHES "^(FIRST|ONLY)$")
-        set (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS ENV VIRTUAL_ENV)
+        set (_${_PYTHON_PREFIX}_VIRTUALENV_PATHS ENV VIRTUAL_ENV ENV CONDA_PREFIX)
       endif()
       unset (_${_PYTHON_PREFIX}_INCLUDE_HINTS)
 
@@ -2049,7 +2215,8 @@
   set (${_PYTHON_PREFIX}_INCLUDE_DIRS "${_${_PYTHON_PREFIX}_INCLUDE_DIR}")
 
   if (_${_PYTHON_PREFIX}_INCLUDE_DIR AND NOT EXISTS "${_${_PYTHON_PREFIX}_INCLUDE_DIR}")
-    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_Development_REASON_FAILURE "Cannot find the directory \"${_${_PYTHON_PREFIX}_INCLUDE_DIR}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_INCLUDE_DIR-NOTFOUND")
   endif()
 
   if (_${_PYTHON_PREFIX}_INCLUDE_DIR)
@@ -2071,27 +2238,29 @@
   endif()
 
   # define public variables
-  set (${_PYTHON_PREFIX}_LIBRARY_DEBUG "${_${_PYTHON_PREFIX}_LIBRARY_DEBUG}" CACHE FILEPATH "Path to a library." FORCE)
+  set (${_PYTHON_PREFIX}_LIBRARY_DEBUG "${_${_PYTHON_PREFIX}_LIBRARY_DEBUG}")
+  _python_select_library_configurations (${_PYTHON_PREFIX})
 
-  include (${CMAKE_CURRENT_LIST_DIR}/../SelectLibraryConfigurations.cmake)
-  select_library_configurations (${_PYTHON_PREFIX})
-  if (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE)
-    set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY "${${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE}")
-  elseif (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG)
-    set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY "${${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG}")
+  set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE "${_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE}")
+  set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG "${_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG}")
+
+  if (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE)
+    set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY "${_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE}")
+  elseif (_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG)
+    set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY "${_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG}")
   else()
     set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY "${_PYTHON_PREFIX}_RUNTIME_LIBRARY-NOTFOUND")
   endif()
 
   _python_set_library_dirs (${_PYTHON_PREFIX}_LIBRARY_DIRS
-                            ${_PYTHON_PREFIX}_LIBRARY_RELEASE ${_PYTHON_PREFIX}_LIBRARY_DEBUG)
+                            _${_PYTHON_PREFIX}_LIBRARY_RELEASE _${_PYTHON_PREFIX}_LIBRARY_DEBUG)
   if (UNIX)
-    if (${_PYTHON_PREFIX}_LIBRARY_RELEASE MATCHES "${CMAKE_SHARED_LIBRARY_SUFFIX}$")
+    if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE MATCHES "${CMAKE_SHARED_LIBRARY_SUFFIX}$")
       set (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DIRS ${${_PYTHON_PREFIX}_LIBRARY_DIRS})
     endif()
   else()
       _python_set_library_dirs (${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DIRS
-                                ${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE ${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG)
+                                _${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE _${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG)
   endif()
 
   if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE AND _${_PYTHON_PREFIX}_INCLUDE_DIR)
@@ -2112,6 +2281,11 @@
     endif()
   endif()
 
+  if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR VERSION_GREATER_EQUAL 3
+      AND NOT DEFINED ${_PYTHON_PREFIX}_SOABI)
+    _python_get_config_var (${_PYTHON_PREFIX}_SOABI SOABI)
+  endif()
+
   if (${_PYTHON_PREFIX}_Development_FOUND)
     # compute and save development signature
     string (MD5 __${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE "${_${_PYTHON_PREFIX}_SIGNATURE}:${_${_PYTHON_PREFIX}_LIBRARY_RELEASE}:${_${_PYTHON_PREFIX}_INCLUDE_DIR}")
@@ -2125,12 +2299,13 @@
     set (CMAKE_FIND_LIBRARY_SUFFIXES ${_${_PYTHON_PREFIX}_CMAKE_FIND_LIBRARY_SUFFIXES})
   endif()
 
-  mark_as_advanced (_${_PYTHON_PREFIX}_LIBRARY_RELEASE
-                    _${_PYTHON_PREFIX}_LIBRARY_DEBUG
-                    ${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
-                    ${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
-                    _${_PYTHON_PREFIX}_INCLUDE_DIR
-                    _${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE)
+  _python_mark_as_internal (_${_PYTHON_PREFIX}_LIBRARY_RELEASE
+                            _${_PYTHON_PREFIX}_LIBRARY_DEBUG
+                            _${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
+                            _${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG
+                            _${_PYTHON_PREFIX}_INCLUDE_DIR
+                            _${_PYTHON_PREFIX}_CONFIG
+                            _${_PYTHON_PREFIX}_DEVELOPMENT_SIGNATURE)
 endif()
 
 if ("NumPy" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS AND ${_PYTHON_PREFIX}_Interpreter_FOUND)
@@ -2172,7 +2347,8 @@
   set (${_PYTHON_PREFIX}_NumPy_INCLUDE_DIRS "${_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR}")
 
   if(_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR AND NOT EXISTS "${_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR}")
-    set_property (CACHE _${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR PROPERTY VALUE "_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR-NOTFOUND")
+    set (_${_PYTHON_PREFIX}_NumPy_REASON_FAILURE "Cannot find the directory \"${_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR}\"")
+    set_property (CACHE _${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR PROPERTY VALUE "${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR-NOTFOUND")
   endif()
 
   if (_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR)
@@ -2201,7 +2377,8 @@
     unset (_${_PYTHON_PREFIX}_NUMPY_SIGNATURE CACHE)
   endif()
 
-  mark_as_advanced (_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR)
+  _python_mark_as_internal (_${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR
+                            _${_PYTHON_PREFIX}_NUMPY_SIGNATURE)
 endif()
 
 # final validation
@@ -2210,11 +2387,19 @@
   _python_display_failure ("Could NOT find ${_PYTHON_PREFIX}: Found unsuitable major version \"${${_PYTHON_PREFIX}_VERSION_MAJOR}\", but required major version is exact version \"${_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR}\"")
 endif()
 
+unset (_${_PYTHON_PREFIX}_REASON_FAILURE)
+foreach (_${_PYTHON_PREFIX}_COMPONENT IN ITEMS Interpreter Compiler Development NumPy)
+  if (_${_PYTHON_PREFIX}_${_${_PYTHON_PREFIX}_COMPONENT}_REASON_FAILURE)
+    string (APPEND _${_PYTHON_PREFIX}_REASON_FAILURE "\n        ${_${_PYTHON_PREFIX}_COMPONENT}: ${_${_PYTHON_PREFIX}_${_${_PYTHON_PREFIX}_COMPONENT}_REASON_FAILURE}")
+  endif()
+endforeach()
+
 include (${CMAKE_CURRENT_LIST_DIR}/../FindPackageHandleStandardArgs.cmake)
 find_package_handle_standard_args (${_PYTHON_PREFIX}
                                    REQUIRED_VARS ${_${_PYTHON_PREFIX}_REQUIRED_VARS}
                                    VERSION_VAR ${_PYTHON_PREFIX}_VERSION
-                                   HANDLE_COMPONENTS)
+                                   HANDLE_COMPONENTS
+                                   REASON_FAILURE_MESSAGE "${_${_PYTHON_PREFIX}_REASON_FAILURE}")
 
 # Create imported targets and helper functions
 if(_${_PYTHON_PREFIX}_CMAKE_ROLE STREQUAL "PROJECT")
@@ -2330,15 +2515,21 @@
     #
     function (__${_PYTHON_PREFIX}_ADD_LIBRARY prefix name)
       cmake_parse_arguments (PARSE_ARGV 2 PYTHON_ADD_LIBRARY
-        "STATIC;SHARED;MODULE" "" "")
+        "STATIC;SHARED;MODULE;WITH_SOABI" "" "")
 
-      unset (type)
-      if (NOT (PYTHON_ADD_LIBRARY_STATIC
-            OR PYTHON_ADD_LIBRARY_SHARED
-            OR PYTHON_ADD_LIBRARY_MODULE))
+      if (prefix STREQUAL "Python2" AND PYTHON_ADD_LIBRARY_WITH_SOABI)
+        message (AUTHOR_WARNING "FindPython2: Option `WITH_SOABI` is not supported for Python2 and will be ignored.")
+        unset (PYTHON_ADD_LIBRARY_WITH_SOABI)
+      endif()
+
+      if (PYTHON_ADD_LIBRARY_STATIC)
+        set (type STATIC)
+      elseif (PYTHON_ADD_LIBRARY_SHARED)
+        set (type SHARED)
+      else()
         set (type MODULE)
       endif()
-      add_library (${name} ${type} ${ARGN})
+      add_library (${name} ${type} ${PYTHON_ADD_LIBRARY_UNPARSED_ARGUMENTS})
 
       get_property (type TARGET ${name} PROPERTY TYPE)
 
@@ -2349,7 +2540,18 @@
         if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
           set_property (TARGET ${name} PROPERTY SUFFIX ".pyd")
         endif()
+
+        if (PYTHON_ADD_LIBRARY_WITH_SOABI AND ${prefix}_SOABI)
+          get_property (suffix TARGET ${name} PROPERTY SUFFIX)
+          if (NOT suffix)
+            set (suffix "${CMAKE_SHARED_MODULE_SUFFIX}")
+          endif()
+          set_property (TARGET ${name} PROPERTY SUFFIX ".${${prefix}_SOABI}${suffix}")
+        endif()
       else()
+        if (PYTHON_ADD_LIBRARY_WITH_SOABI)
+          message (AUTHOR_WARNING "Find${prefix}: Option `WITH_SOABI` is only supported for `MODULE` library type.")
+        endif()
         target_link_libraries (${name} PRIVATE ${prefix}::Python)
       endif()
     endfunction()
@@ -2380,5 +2582,3 @@
 else()
   unset (CMAKE_FIND_FRAMEWORK)
 endif()
-
-unset (_${_PYTHON_PREFIX}_CONFIG CACHE)
diff --git a/share/cmake-3.16/Modules/FindPython2.cmake b/share/cmake-3.17/Modules/FindPython2.cmake
similarity index 93%
rename from share/cmake-3.16/Modules/FindPython2.cmake
rename to share/cmake-3.17/Modules/FindPython2.cmake
index 3cc7d56..af8ad39 100644
--- a/share/cmake-3.16/Modules/FindPython2.cmake
+++ b/share/cmake-3.17/Modules/FindPython2.cmake
@@ -176,12 +176,12 @@
   variable will be used, if any.
 
 ``Python2_FIND_VIRTUALENV``
-  This variable defines the handling of virtual environments. It is meaningfull
-  only when a virtual environment is active (i.e. the ``activate`` script has
-  been evaluated). In this case, it takes precedence over
-  ``Python2_FIND_REGISTRY`` and ``CMAKE_FIND_FRAMEWORK`` variables.
-  The ``Python2_FIND_VIRTUALENV`` variable can be set to empty or one of the
-  following:
+  This variable defines the handling of virtual environments managed by
+  ``virtualenv`` or ``conda``. It is meaningful only when a virtual environment
+  is active (i.e. the ``activate`` script has been evaluated). In this case, it
+  takes precedence over ``Python2_FIND_REGISTRY`` and ``CMAKE_FIND_FRAMEWORK``
+  variables.  The ``Python2_FIND_VIRTUALENV`` variable can be set to empty or
+  one of the following:
 
   * ``FIRST``: The virtual environment is used before any other standard
     paths to look-up for the interpreter. This is the default.
@@ -240,13 +240,14 @@
 Commands
 ^^^^^^^^
 
-This module defines the command ``Python_add_library`` (when
+This module defines the command ``Python2_add_library`` (when
 :prop_gbl:`CMAKE_ROLE` is ``PROJECT``), which has the same semantics as
 :command:`add_library` and adds a dependency to target ``Python2::Python`` or,
 when library type is ``MODULE``, to target ``Python2::Module`` and takes care
 of Python module naming rules::
 
-  Python2_add_library (my_module MODULE src1.cpp)
+  Python2_add_library (<name> [STATIC | SHARED | MODULE]
+                       <source1> [<source2> ...])
 
 If library type is not specified, ``MODULE`` is assumed.
 #]=======================================================================]
diff --git a/share/cmake-3.16/Modules/FindPython3.cmake b/share/cmake-3.17/Modules/FindPython3.cmake
similarity index 90%
rename from share/cmake-3.16/Modules/FindPython3.cmake
rename to share/cmake-3.17/Modules/FindPython3.cmake
index 066d0df..66f4f75 100644
--- a/share/cmake-3.16/Modules/FindPython3.cmake
+++ b/share/cmake-3.17/Modules/FindPython3.cmake
@@ -94,6 +94,13 @@
 
   Information returned by
   ``distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False)``.
+``Python3_SOABI``
+  Extension suffix for modules.
+
+  Information returned by
+  ``distutils.sysconfig.get_config_flag('SOABI')`` or computed from
+  ``distutils.sysconfig.get_config_flag('EXT_SUFFIX')`` or
+  ``python3-config --extension-suffix``.
 ``Python3_Compiler_FOUND``
   System has the Python 3 compiler.
 ``Python3_COMPILER``
@@ -217,12 +224,12 @@
   variable will be used, if any.
 
 ``Python3_FIND_VIRTUALENV``
-  This variable defines the handling of virtual environments. It is meaningfull
-  only when a virtual environment is active (i.e. the ``activate`` script has
-  been evaluated). In this case, it takes precedence over
-  ``Python3_FIND_REGISTRY`` and ``CMAKE_FIND_FRAMEWORK`` variables.
-  The ``Python3_FIND_VIRTUALENV`` variable can be set to empty or one of the
-  following:
+  This variable defines the handling of virtual environments managed by
+  ``virtualenv`` or ``conda``. It is meaningful only when a virtual environment
+  is active (i.e. the ``activate`` script has been evaluated). In this case, it
+  takes precedence over ``Python3_FIND_REGISTRY`` and ``CMAKE_FIND_FRAMEWORK``
+  variables.  The ``Python3_FIND_VIRTUALENV`` variable can be set to empty or
+  one of the following:
 
   * ``FIRST``: The virtual environment is used before any other standard
     paths to look-up for the interpreter. This is the default.
@@ -281,15 +288,19 @@
 Commands
 ^^^^^^^^
 
-This module defines the command ``Python_add_library`` (when
+This module defines the command ``Python3_add_library`` (when
 :prop_gbl:`CMAKE_ROLE` is ``PROJECT``), which has the same semantics as
 :command:`add_library` and adds a dependency to target ``Python3::Python`` or,
 when library type is ``MODULE``, to target ``Python3::Module`` and takes care
 of Python module naming rules::
 
-  Python3_add_library (my_module MODULE src1.cpp)
+  Python3_add_library (<name> [STATIC | SHARED | MODULE [WITH_SOABI]]
+                       <source1> [<source2> ...])
 
-If library type is not specified, ``MODULE`` is assumed.
+If the library type is not specified, ``MODULE`` is assumed.
+
+For ``MODULE`` library type, if option ``WITH_SOABI`` is specified, the
+module suffix will include the ``Python3_SOABI`` value, if any.
 #]=======================================================================]
 
 
diff --git a/share/cmake-3.16/Modules/FindPythonInterp.cmake b/share/cmake-3.17/Modules/FindPythonInterp.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPythonInterp.cmake
rename to share/cmake-3.17/Modules/FindPythonInterp.cmake
diff --git a/share/cmake-3.16/Modules/FindPythonLibs.cmake b/share/cmake-3.17/Modules/FindPythonLibs.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindPythonLibs.cmake
rename to share/cmake-3.17/Modules/FindPythonLibs.cmake
diff --git a/share/cmake-3.16/Modules/FindQt.cmake b/share/cmake-3.17/Modules/FindQt.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindQt.cmake
rename to share/cmake-3.17/Modules/FindQt.cmake
diff --git a/share/cmake-3.16/Modules/FindQt3.cmake b/share/cmake-3.17/Modules/FindQt3.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindQt3.cmake
rename to share/cmake-3.17/Modules/FindQt3.cmake
diff --git a/share/cmake-3.16/Modules/FindQt4.cmake b/share/cmake-3.17/Modules/FindQt4.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindQt4.cmake
rename to share/cmake-3.17/Modules/FindQt4.cmake
diff --git a/share/cmake-3.16/Modules/FindQuickTime.cmake b/share/cmake-3.17/Modules/FindQuickTime.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindQuickTime.cmake
rename to share/cmake-3.17/Modules/FindQuickTime.cmake
diff --git a/share/cmake-3.16/Modules/FindRTI.cmake b/share/cmake-3.17/Modules/FindRTI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindRTI.cmake
rename to share/cmake-3.17/Modules/FindRTI.cmake
diff --git a/share/cmake-3.16/Modules/FindRuby.cmake b/share/cmake-3.17/Modules/FindRuby.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindRuby.cmake
rename to share/cmake-3.17/Modules/FindRuby.cmake
diff --git a/share/cmake-3.16/Modules/FindSDL.cmake b/share/cmake-3.17/Modules/FindSDL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSDL.cmake
rename to share/cmake-3.17/Modules/FindSDL.cmake
diff --git a/share/cmake-3.16/Modules/FindSDL_image.cmake b/share/cmake-3.17/Modules/FindSDL_image.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSDL_image.cmake
rename to share/cmake-3.17/Modules/FindSDL_image.cmake
diff --git a/share/cmake-3.16/Modules/FindSDL_mixer.cmake b/share/cmake-3.17/Modules/FindSDL_mixer.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSDL_mixer.cmake
rename to share/cmake-3.17/Modules/FindSDL_mixer.cmake
diff --git a/share/cmake-3.16/Modules/FindSDL_net.cmake b/share/cmake-3.17/Modules/FindSDL_net.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSDL_net.cmake
rename to share/cmake-3.17/Modules/FindSDL_net.cmake
diff --git a/share/cmake-3.16/Modules/FindSDL_sound.cmake b/share/cmake-3.17/Modules/FindSDL_sound.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSDL_sound.cmake
rename to share/cmake-3.17/Modules/FindSDL_sound.cmake
diff --git a/share/cmake-3.16/Modules/FindSDL_ttf.cmake b/share/cmake-3.17/Modules/FindSDL_ttf.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSDL_ttf.cmake
rename to share/cmake-3.17/Modules/FindSDL_ttf.cmake
diff --git a/share/cmake-3.16/Modules/FindSQLite3.cmake b/share/cmake-3.17/Modules/FindSQLite3.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSQLite3.cmake
rename to share/cmake-3.17/Modules/FindSQLite3.cmake
diff --git a/share/cmake-3.16/Modules/FindSWIG.cmake b/share/cmake-3.17/Modules/FindSWIG.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSWIG.cmake
rename to share/cmake-3.17/Modules/FindSWIG.cmake
diff --git a/share/cmake-3.16/Modules/FindSelfPackers.cmake b/share/cmake-3.17/Modules/FindSelfPackers.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSelfPackers.cmake
rename to share/cmake-3.17/Modules/FindSelfPackers.cmake
diff --git a/share/cmake-3.16/Modules/FindSquish.cmake b/share/cmake-3.17/Modules/FindSquish.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSquish.cmake
rename to share/cmake-3.17/Modules/FindSquish.cmake
diff --git a/share/cmake-3.16/Modules/FindSubversion.cmake b/share/cmake-3.17/Modules/FindSubversion.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindSubversion.cmake
rename to share/cmake-3.17/Modules/FindSubversion.cmake
diff --git a/share/cmake-3.16/Modules/FindTCL.cmake b/share/cmake-3.17/Modules/FindTCL.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/FindTCL.cmake
rename to share/cmake-3.17/Modules/FindTCL.cmake
index be47c39..960265f 100644
--- a/share/cmake-3.16/Modules/FindTCL.cmake
+++ b/share/cmake-3.17/Modules/FindTCL.cmake
@@ -224,12 +224,14 @@
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH)
+set(FPHSA_NAME_MISMATCHED 1)
 set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
 set(TCLTK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY TK_INCLUDE_PATH)
 set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
 set(TK_FIND_QUIETLY  ${TCL_FIND_QUIETLY})
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK DEFAULT_MSG TK_LIBRARY TK_INCLUDE_PATH)
+unset(FPHSA_NAME_MISMATCHED)
 
 mark_as_advanced(
   TCL_INCLUDE_PATH
diff --git a/share/cmake-3.16/Modules/FindTIFF.cmake b/share/cmake-3.17/Modules/FindTIFF.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindTIFF.cmake
rename to share/cmake-3.17/Modules/FindTIFF.cmake
diff --git a/share/cmake-3.16/Modules/FindTclStub.cmake b/share/cmake-3.17/Modules/FindTclStub.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindTclStub.cmake
rename to share/cmake-3.17/Modules/FindTclStub.cmake
diff --git a/share/cmake-3.16/Modules/FindTclsh.cmake b/share/cmake-3.17/Modules/FindTclsh.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindTclsh.cmake
rename to share/cmake-3.17/Modules/FindTclsh.cmake
diff --git a/share/cmake-3.16/Modules/FindThreads.cmake b/share/cmake-3.17/Modules/FindThreads.cmake
similarity index 82%
rename from share/cmake-3.16/Modules/FindThreads.cmake
rename to share/cmake-3.17/Modules/FindThreads.cmake
index b0c91b2..f97e5c8 100644
--- a/share/cmake-3.16/Modules/FindThreads.cmake
+++ b/share/cmake-3.17/Modules/FindThreads.cmake
@@ -7,31 +7,44 @@
 
 This module determines the thread library of the system.
 
-The following variables are set
+Imported Targets
+^^^^^^^^^^^^^^^^
 
-::
+This module defines the following :prop_tgt:`IMPORTED` target:
 
-  CMAKE_THREAD_LIBS_INIT     - the thread library
-  CMAKE_USE_WIN32_THREADS_INIT - using WIN32 threads?
-  CMAKE_USE_PTHREADS_INIT    - are we using pthreads
-  CMAKE_HP_PTHREADS_INIT     - are we using hp pthreads
+``Threads::Threads``
+  The thread library, if found.
 
-The following import target is created
+Result Variables
+^^^^^^^^^^^^^^^^
 
-::
+The following variables are set:
 
-  Threads::Threads
+``Threads_FOUND``
+  If a supported thread library was found.
+``CMAKE_THREAD_LIBS_INIT``
+  The thread library to use. This may be empty if the thread functions
+  are provided by the system libraries and no special flags are needed
+  to use them.
+``CMAKE_USE_WIN32_THREADS_INIT``
+  If the found thread library is the win32 one.
+``CMAKE_USE_PTHREADS_INIT``
+  If the found thread library is pthread compatible.
+``CMAKE_HP_PTHREADS_INIT``
+  If the found thread library is the HP thread library.
 
-If the use of the -pthread compiler and linker flag is preferred then the
-caller can set
+Variables Affecting Behavior
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-::
+.. variable:: THREADS_PREFER_PTHREAD_FLAG
 
-  THREADS_PREFER_PTHREAD_FLAG
+  If the use of the -pthread compiler and linker flag is preferred then
+  the caller can set this variable to TRUE. The compiler flag can only be
+  used with the imported target. Use of both the imported target as well
+  as this switch is highly recommended for new code.
 
-The compiler flag can only be used with the imported
-target. Use of both the imported target as well as this switch is highly
-recommended for new code.
+  This variable has no effect if the system libraries provide the
+  thread functions, i.e. when ``CMAKE_THREAD_LIBS_INIT`` will be empty.
 #]=======================================================================]
 
 include (CheckLibraryExists)
@@ -63,6 +76,7 @@
   pthread_t thread;
   pthread_create(&thread, NULL, test_func, NULL);
   pthread_detach(thread);
+  pthread_cancel(thread);
   pthread_join(thread, NULL);
   pthread_atfork(NULL, NULL, NULL);
   pthread_exit(NULL);
@@ -90,7 +104,7 @@
   if(NOT Threads_FOUND)
     # If we did not found -lpthread, -lpthread, or -lthread, look for -pthread
     if(NOT DEFINED THREADS_HAVE_PTHREAD_ARG)
-      message(STATUS "Check if compiler accepts -pthread")
+      message(CHECK_START "Check if compiler accepts -pthread")
       if(CMAKE_C_COMPILER_LOADED)
         set(_threads_src ${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c)
       elseif(CMAKE_CXX_COMPILER_LOADED)
@@ -106,9 +120,9 @@
 
       if(THREADS_HAVE_PTHREAD_ARG)
         set(Threads_FOUND TRUE)
-        message(STATUS "Check if compiler accepts -pthread - yes")
+        message(CHECK_PASS "yes")
       else()
-        message(STATUS "Check if compiler accepts -pthread - no")
+        message(CHECK_FAIL "no")
         file(APPEND
           ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
           "Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/FindUnixCommands.cmake b/share/cmake-3.17/Modules/FindUnixCommands.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindUnixCommands.cmake
rename to share/cmake-3.17/Modules/FindUnixCommands.cmake
diff --git a/share/cmake-3.16/Modules/FindVulkan.cmake b/share/cmake-3.17/Modules/FindVulkan.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindVulkan.cmake
rename to share/cmake-3.17/Modules/FindVulkan.cmake
diff --git a/share/cmake-3.16/Modules/FindWget.cmake b/share/cmake-3.17/Modules/FindWget.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindWget.cmake
rename to share/cmake-3.17/Modules/FindWget.cmake
diff --git a/share/cmake-3.16/Modules/FindWish.cmake b/share/cmake-3.17/Modules/FindWish.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindWish.cmake
rename to share/cmake-3.17/Modules/FindWish.cmake
diff --git a/share/cmake-3.16/Modules/FindX11.cmake b/share/cmake-3.17/Modules/FindX11.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindX11.cmake
rename to share/cmake-3.17/Modules/FindX11.cmake
diff --git a/share/cmake-3.16/Modules/FindXCTest.cmake b/share/cmake-3.17/Modules/FindXCTest.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindXCTest.cmake
rename to share/cmake-3.17/Modules/FindXCTest.cmake
diff --git a/share/cmake-3.16/Modules/FindXMLRPC.cmake b/share/cmake-3.17/Modules/FindXMLRPC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindXMLRPC.cmake
rename to share/cmake-3.17/Modules/FindXMLRPC.cmake
diff --git a/share/cmake-3.16/Modules/FindXalanC.cmake b/share/cmake-3.17/Modules/FindXalanC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindXalanC.cmake
rename to share/cmake-3.17/Modules/FindXalanC.cmake
diff --git a/share/cmake-3.16/Modules/FindXercesC.cmake b/share/cmake-3.17/Modules/FindXercesC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindXercesC.cmake
rename to share/cmake-3.17/Modules/FindXercesC.cmake
diff --git a/share/cmake-3.16/Modules/FindZLIB.cmake b/share/cmake-3.17/Modules/FindZLIB.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindZLIB.cmake
rename to share/cmake-3.17/Modules/FindZLIB.cmake
diff --git a/share/cmake-3.16/Modules/Findosg.cmake b/share/cmake-3.17/Modules/Findosg.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Findosg.cmake
rename to share/cmake-3.17/Modules/Findosg.cmake
diff --git a/share/cmake-3.16/Modules/FindosgAnimation.cmake b/share/cmake-3.17/Modules/FindosgAnimation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgAnimation.cmake
rename to share/cmake-3.17/Modules/FindosgAnimation.cmake
diff --git a/share/cmake-3.16/Modules/FindosgDB.cmake b/share/cmake-3.17/Modules/FindosgDB.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgDB.cmake
rename to share/cmake-3.17/Modules/FindosgDB.cmake
diff --git a/share/cmake-3.16/Modules/FindosgFX.cmake b/share/cmake-3.17/Modules/FindosgFX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgFX.cmake
rename to share/cmake-3.17/Modules/FindosgFX.cmake
diff --git a/share/cmake-3.16/Modules/FindosgGA.cmake b/share/cmake-3.17/Modules/FindosgGA.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgGA.cmake
rename to share/cmake-3.17/Modules/FindosgGA.cmake
diff --git a/share/cmake-3.16/Modules/FindosgIntrospection.cmake b/share/cmake-3.17/Modules/FindosgIntrospection.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgIntrospection.cmake
rename to share/cmake-3.17/Modules/FindosgIntrospection.cmake
diff --git a/share/cmake-3.16/Modules/FindosgManipulator.cmake b/share/cmake-3.17/Modules/FindosgManipulator.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgManipulator.cmake
rename to share/cmake-3.17/Modules/FindosgManipulator.cmake
diff --git a/share/cmake-3.16/Modules/FindosgParticle.cmake b/share/cmake-3.17/Modules/FindosgParticle.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgParticle.cmake
rename to share/cmake-3.17/Modules/FindosgParticle.cmake
diff --git a/share/cmake-3.16/Modules/FindosgPresentation.cmake b/share/cmake-3.17/Modules/FindosgPresentation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgPresentation.cmake
rename to share/cmake-3.17/Modules/FindosgPresentation.cmake
diff --git a/share/cmake-3.16/Modules/FindosgProducer.cmake b/share/cmake-3.17/Modules/FindosgProducer.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgProducer.cmake
rename to share/cmake-3.17/Modules/FindosgProducer.cmake
diff --git a/share/cmake-3.16/Modules/FindosgQt.cmake b/share/cmake-3.17/Modules/FindosgQt.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgQt.cmake
rename to share/cmake-3.17/Modules/FindosgQt.cmake
diff --git a/share/cmake-3.16/Modules/FindosgShadow.cmake b/share/cmake-3.17/Modules/FindosgShadow.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgShadow.cmake
rename to share/cmake-3.17/Modules/FindosgShadow.cmake
diff --git a/share/cmake-3.16/Modules/FindosgSim.cmake b/share/cmake-3.17/Modules/FindosgSim.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgSim.cmake
rename to share/cmake-3.17/Modules/FindosgSim.cmake
diff --git a/share/cmake-3.16/Modules/FindosgTerrain.cmake b/share/cmake-3.17/Modules/FindosgTerrain.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgTerrain.cmake
rename to share/cmake-3.17/Modules/FindosgTerrain.cmake
diff --git a/share/cmake-3.16/Modules/FindosgText.cmake b/share/cmake-3.17/Modules/FindosgText.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgText.cmake
rename to share/cmake-3.17/Modules/FindosgText.cmake
diff --git a/share/cmake-3.16/Modules/FindosgUtil.cmake b/share/cmake-3.17/Modules/FindosgUtil.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgUtil.cmake
rename to share/cmake-3.17/Modules/FindosgUtil.cmake
diff --git a/share/cmake-3.16/Modules/FindosgViewer.cmake b/share/cmake-3.17/Modules/FindosgViewer.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgViewer.cmake
rename to share/cmake-3.17/Modules/FindosgViewer.cmake
diff --git a/share/cmake-3.16/Modules/FindosgVolume.cmake b/share/cmake-3.17/Modules/FindosgVolume.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgVolume.cmake
rename to share/cmake-3.17/Modules/FindosgVolume.cmake
diff --git a/share/cmake-3.16/Modules/FindosgWidget.cmake b/share/cmake-3.17/Modules/FindosgWidget.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindosgWidget.cmake
rename to share/cmake-3.17/Modules/FindosgWidget.cmake
diff --git a/share/cmake-3.16/Modules/Findosg_functions.cmake b/share/cmake-3.17/Modules/Findosg_functions.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Findosg_functions.cmake
rename to share/cmake-3.17/Modules/Findosg_functions.cmake
diff --git a/share/cmake-3.16/Modules/FindwxWidgets.cmake b/share/cmake-3.17/Modules/FindwxWidgets.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindwxWidgets.cmake
rename to share/cmake-3.17/Modules/FindwxWidgets.cmake
diff --git a/share/cmake-3.16/Modules/FindwxWindows.cmake b/share/cmake-3.17/Modules/FindwxWindows.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/FindwxWindows.cmake
rename to share/cmake-3.17/Modules/FindwxWindows.cmake
diff --git a/share/cmake-3.16/Modules/FortranCInterface.cmake b/share/cmake-3.17/Modules/FortranCInterface.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/FortranCInterface.cmake
rename to share/cmake-3.17/Modules/FortranCInterface.cmake
index 893a96f..547346b 100644
--- a/share/cmake-3.16/Modules/FortranCInterface.cmake
+++ b/share/cmake-3.17/Modules/FortranCInterface.cmake
@@ -341,7 +341,7 @@
   # Build the verification project if not yet built.
   if(NOT DEFINED FortranCInterface_VERIFIED_${lang})
     set(_desc "Verifying Fortran/${lang} Compiler Compatibility")
-    message(STATUS "${_desc}")
+    message(CHECK_START "${_desc}")
 
     # Build a sample project which reports symbols.
     set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
@@ -363,12 +363,12 @@
 
     # Report results.
     if(FortranCInterface_VERIFY_${lang}_COMPILED)
-      message(STATUS "${_desc} - Success")
+      message(CHECK_PASS "Success")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "${_desc} passed with the following output:\n${_output}\n\n")
       set(FortranCInterface_VERIFIED_${lang} 1 CACHE INTERNAL "Fortran/${lang} compatibility")
     else()
-      message(STATUS "${_desc} - Failed")
+      message(CHECK_FAIL "Failed")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "${_desc} failed with the following output:\n${_output}\n\n")
       set(FortranCInterface_VERIFIED_${lang} 0 CACHE INTERNAL "Fortran/${lang} compatibility")
diff --git a/share/cmake-3.16/Modules/FortranCInterface/CMakeLists.txt b/share/cmake-3.17/Modules/FortranCInterface/CMakeLists.txt
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/CMakeLists.txt
rename to share/cmake-3.17/Modules/FortranCInterface/CMakeLists.txt
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Detect.cmake b/share/cmake-3.17/Modules/FortranCInterface/Detect.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/FortranCInterface/Detect.cmake
rename to share/cmake-3.17/Modules/FortranCInterface/Detect.cmake
index 7789785..33de6c6 100644
--- a/share/cmake-3.16/Modules/FortranCInterface/Detect.cmake
+++ b/share/cmake-3.17/Modules/FortranCInterface/Detect.cmake
@@ -15,7 +15,7 @@
     OR ${CMAKE_CURRENT_LIST_FILE}
     IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
     )
-  message(STATUS "Detecting Fortran/C Interface")
+  message(CHECK_START "Detecting Fortran/C Interface")
 else()
   return()
 endif()
@@ -172,7 +172,9 @@
   else()
     set(_result "Found GLOBAL but not MODULE mangling")
   endif()
+  set(_result_type CHECK_PASS)
 elseif(NOT _result)
   set(_result "Failed to recognize symbols")
+  set(_result_type CHECK_FAIL)
 endif()
-message(STATUS "Detecting Fortran/C Interface - ${_result}")
+message(${_result_type} "${_result}")
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Input.cmake.in b/share/cmake-3.17/Modules/FortranCInterface/Input.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Input.cmake.in
rename to share/cmake-3.17/Modules/FortranCInterface/Input.cmake.in
diff --git a/share/cmake-3.16/Modules/FortranCInterface/MYMODULE.c b/share/cmake-3.17/Modules/FortranCInterface/MYMODULE.c
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/MYMODULE.c
rename to share/cmake-3.17/Modules/FortranCInterface/MYMODULE.c
diff --git a/share/cmake-3.16/Modules/FortranCInterface/MY_MODULE.c b/share/cmake-3.17/Modules/FortranCInterface/MY_MODULE.c
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/MY_MODULE.c
rename to share/cmake-3.17/Modules/FortranCInterface/MY_MODULE.c
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Macro.h.in b/share/cmake-3.17/Modules/FortranCInterface/Macro.h.in
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Macro.h.in
rename to share/cmake-3.17/Modules/FortranCInterface/Macro.h.in
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Output.cmake.in b/share/cmake-3.17/Modules/FortranCInterface/Output.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Output.cmake.in
rename to share/cmake-3.17/Modules/FortranCInterface/Output.cmake.in
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Verify/CMakeLists.txt b/share/cmake-3.17/Modules/FortranCInterface/Verify/CMakeLists.txt
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Verify/CMakeLists.txt
rename to share/cmake-3.17/Modules/FortranCInterface/Verify/CMakeLists.txt
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Verify/VerifyC.c b/share/cmake-3.17/Modules/FortranCInterface/Verify/VerifyC.c
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Verify/VerifyC.c
rename to share/cmake-3.17/Modules/FortranCInterface/Verify/VerifyC.c
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Verify/VerifyCXX.cxx b/share/cmake-3.17/Modules/FortranCInterface/Verify/VerifyCXX.cxx
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Verify/VerifyCXX.cxx
rename to share/cmake-3.17/Modules/FortranCInterface/Verify/VerifyCXX.cxx
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Verify/VerifyFortran.f b/share/cmake-3.17/Modules/FortranCInterface/Verify/VerifyFortran.f
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Verify/VerifyFortran.f
rename to share/cmake-3.17/Modules/FortranCInterface/Verify/VerifyFortran.f
diff --git a/share/cmake-3.16/Modules/FortranCInterface/Verify/main.c b/share/cmake-3.17/Modules/FortranCInterface/Verify/main.c
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/Verify/main.c
rename to share/cmake-3.17/Modules/FortranCInterface/Verify/main.c
diff --git a/share/cmake-3.16/Modules/FortranCInterface/call_mod.f90 b/share/cmake-3.17/Modules/FortranCInterface/call_mod.f90
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/call_mod.f90
rename to share/cmake-3.17/Modules/FortranCInterface/call_mod.f90
diff --git a/share/cmake-3.16/Modules/FortranCInterface/call_sub.f b/share/cmake-3.17/Modules/FortranCInterface/call_sub.f
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/call_sub.f
rename to share/cmake-3.17/Modules/FortranCInterface/call_sub.f
diff --git a/share/cmake-3.16/Modules/FortranCInterface/main.F b/share/cmake-3.17/Modules/FortranCInterface/main.F
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/main.F
rename to share/cmake-3.17/Modules/FortranCInterface/main.F
diff --git a/share/cmake-3.16/Modules/FortranCInterface/my_module.f90 b/share/cmake-3.17/Modules/FortranCInterface/my_module.f90
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/my_module.f90
rename to share/cmake-3.17/Modules/FortranCInterface/my_module.f90
diff --git a/share/cmake-3.16/Modules/FortranCInterface/my_module_.c b/share/cmake-3.17/Modules/FortranCInterface/my_module_.c
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/my_module_.c
rename to share/cmake-3.17/Modules/FortranCInterface/my_module_.c
diff --git a/share/cmake-3.16/Modules/FortranCInterface/my_sub.f b/share/cmake-3.17/Modules/FortranCInterface/my_sub.f
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/my_sub.f
rename to share/cmake-3.17/Modules/FortranCInterface/my_sub.f
diff --git a/share/cmake-3.16/Modules/FortranCInterface/mymodule.f90 b/share/cmake-3.17/Modules/FortranCInterface/mymodule.f90
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/mymodule.f90
rename to share/cmake-3.17/Modules/FortranCInterface/mymodule.f90
diff --git a/share/cmake-3.16/Modules/FortranCInterface/mymodule_.c b/share/cmake-3.17/Modules/FortranCInterface/mymodule_.c
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/mymodule_.c
rename to share/cmake-3.17/Modules/FortranCInterface/mymodule_.c
diff --git a/share/cmake-3.16/Modules/FortranCInterface/mysub.f b/share/cmake-3.17/Modules/FortranCInterface/mysub.f
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/mysub.f
rename to share/cmake-3.17/Modules/FortranCInterface/mysub.f
diff --git a/share/cmake-3.16/Modules/FortranCInterface/symbol.c.in b/share/cmake-3.17/Modules/FortranCInterface/symbol.c.in
similarity index 100%
rename from share/cmake-3.16/Modules/FortranCInterface/symbol.c.in
rename to share/cmake-3.17/Modules/FortranCInterface/symbol.c.in
diff --git a/share/cmake-3.16/Modules/GNUInstallDirs.cmake b/share/cmake-3.17/Modules/GNUInstallDirs.cmake
similarity index 96%
rename from share/cmake-3.16/Modules/GNUInstallDirs.cmake
rename to share/cmake-3.17/Modules/GNUInstallDirs.cmake
index f95e6e2..9ef22b9 100644
--- a/share/cmake-3.16/Modules/GNUInstallDirs.cmake
+++ b/share/cmake-3.17/Modules/GNUInstallDirs.cmake
@@ -221,6 +221,11 @@
     # default one. When CMAKE_INSTALL_PREFIX changes, the value is
     # updated to the new default, unless the user explicitly changed it.
   endif()
+  if (NOT DEFINED CMAKE_SYSTEM_NAME OR NOT DEFINED CMAKE_SIZEOF_VOID_P)
+    message(AUTHOR_WARNING
+      "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
+      "Please enable at least one language before including GNUInstallDirs.")
+  endif()
   if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
       AND NOT CMAKE_CROSSCOMPILING
       AND NOT EXISTS "/etc/arch-release")
@@ -235,16 +240,10 @@
         endif()
       endif()
     else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
-      if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
-        message(AUTHOR_WARNING
-          "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
-          "Please enable at least one language before including GNUInstallDirs.")
-      else()
-        if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-          set(_LIBDIR_DEFAULT "lib64")
-          if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX)
-            set(__LAST_LIBDIR_DEFAULT "lib64")
-          endif()
+      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+        set(_LIBDIR_DEFAULT "lib64")
+        if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX)
+          set(__LAST_LIBDIR_DEFAULT "lib64")
         endif()
       endif()
     endif()
diff --git a/share/cmake-3.16/Modules/GenerateExportHeader.cmake b/share/cmake-3.17/Modules/GenerateExportHeader.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/GenerateExportHeader.cmake
rename to share/cmake-3.17/Modules/GenerateExportHeader.cmake
diff --git a/share/cmake-3.16/Modules/GetPrerequisites.cmake b/share/cmake-3.17/Modules/GetPrerequisites.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/GetPrerequisites.cmake
rename to share/cmake-3.17/Modules/GetPrerequisites.cmake
index 57ae446..5c8c196 100644
--- a/share/cmake-3.16/Modules/GetPrerequisites.cmake
+++ b/share/cmake-3.17/Modules/GetPrerequisites.cmake
@@ -531,7 +531,7 @@
       string(TOLOWER "$ENV{windir}" windir)
       file(TO_CMAKE_PATH "${windir}" windir)
 
-      if(lower MATCHES "^(${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*(msvc|api-ms-win-)[^/]+dll)")
+      if(lower MATCHES "^(${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*(msvc|api-ms-win-|vcruntime)[^/]+dll)")
         set(is_system 1)
       endif()
 
@@ -559,7 +559,7 @@
           string(TOLOWER "${env_windir}" windir)
           string(TOLOWER "${env_sysdir}" sysroot)
 
-          if(lower MATCHES "^(${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*(msvc|api-ms-win-)[^/]+dll)")
+          if(lower MATCHES "^(${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*(msvc|api-ms-win-|vcruntime)[^/]+dll)")
             set(is_system 1)
           endif()
         endif()
@@ -601,7 +601,7 @@
 
   if(NOT is_embedded)
     if(NOT IS_ABSOLUTE "${resolved_file}")
-      if(lower MATCHES "^(msvc|api-ms-win-)[^/]+dll" AND is_system)
+      if(lower MATCHES "^(msvc|api-ms-win-|vcruntime)[^/]+dll" AND is_system)
         message(STATUS "info: non-absolute msvc file '${file}' returning type '${type}'")
       else()
         message(STATUS "warning: gp_resolved_file_type non-absolute file '${file}' returning type '${type}' -- possibly incorrect")
diff --git a/share/cmake-3.16/Modules/GoogleTest.cmake b/share/cmake-3.17/Modules/GoogleTest.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/GoogleTest.cmake
rename to share/cmake-3.17/Modules/GoogleTest.cmake
diff --git a/share/cmake-3.16/Modules/GoogleTestAddTests.cmake b/share/cmake-3.17/Modules/GoogleTestAddTests.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/GoogleTestAddTests.cmake
rename to share/cmake-3.17/Modules/GoogleTestAddTests.cmake
diff --git a/share/cmake-3.16/Modules/ITKCompatibility.cmake b/share/cmake-3.17/Modules/ITKCompatibility.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/ITKCompatibility.cmake
rename to share/cmake-3.17/Modules/ITKCompatibility.cmake
diff --git a/share/cmake-3.16/Modules/InstallRequiredSystemLibraries.cmake b/share/cmake-3.17/Modules/InstallRequiredSystemLibraries.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/InstallRequiredSystemLibraries.cmake
rename to share/cmake-3.17/Modules/InstallRequiredSystemLibraries.cmake
diff --git a/share/cmake-3.16/Modules/IntelVSImplicitPath/CMakeLists.txt b/share/cmake-3.17/Modules/IntelVSImplicitPath/CMakeLists.txt
similarity index 100%
rename from share/cmake-3.16/Modules/IntelVSImplicitPath/CMakeLists.txt
rename to share/cmake-3.17/Modules/IntelVSImplicitPath/CMakeLists.txt
diff --git a/share/cmake-3.16/Modules/IntelVSImplicitPath/detect.cmake b/share/cmake-3.17/Modules/IntelVSImplicitPath/detect.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/IntelVSImplicitPath/detect.cmake
rename to share/cmake-3.17/Modules/IntelVSImplicitPath/detect.cmake
diff --git a/share/cmake-3.16/Modules/IntelVSImplicitPath/hello.f b/share/cmake-3.17/Modules/IntelVSImplicitPath/hello.f
similarity index 100%
rename from share/cmake-3.16/Modules/IntelVSImplicitPath/hello.f
rename to share/cmake-3.17/Modules/IntelVSImplicitPath/hello.f
diff --git a/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake b/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake
rename to share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.DS_Store.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.DS_Store.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.DS_Store.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.DS_Store.in
Binary files differ
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.Description.plist.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.Description.plist.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.Description.plist.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.Description.plist.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.Info.plist.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.Info.plist.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.Info.plist.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.Info.plist.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.NuGet.nuspec.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.NuGet.nuspec.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.NuGet.nuspec.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.NuGet.nuspec.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.OSXScriptLauncher.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.OSXScriptLauncher.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.OSXScriptLauncher.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.OSXScriptLauncher.in
Binary files differ
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.OSXScriptLauncher.rsrc.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.OSXScriptLauncher.rsrc.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.OSXScriptLauncher.rsrc.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.OSXScriptLauncher.rsrc.in
Binary files differ
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.OSXX11.Info.plist.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.OSXX11.Info.plist.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.OSXX11.Info.plist.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.OSXX11.Info.plist.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.OSXX11.main.scpt.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.OSXX11.main.scpt.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.OSXX11.main.scpt.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.OSXX11.main.scpt.in
Binary files differ
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.RuntimeScript.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.RuntimeScript.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.RuntimeScript.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.RuntimeScript.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.STGZ_Header.sh.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.STGZ_Header.sh.in
old mode 100644
new mode 100755
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.STGZ_Header.sh.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.STGZ_Header.sh.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.VolumeIcon.icns.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.VolumeIcon.icns.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.VolumeIcon.icns.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.VolumeIcon.icns.in
Binary files differ
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.background.png.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.background.png.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.background.png.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.background.png.in
Binary files differ
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPack.distribution.dist.in b/share/cmake-3.17/Modules/Internal/CPack/CPack.distribution.dist.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPack.distribution.dist.in
rename to share/cmake-3.17/Modules/Internal/CPack/CPack.distribution.dist.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackDeb.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackDeb.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackDeb.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackDeb.cmake
index 97906ca..14bb104 100644
--- a/share/cmake-3.16/Modules/Internal/CPack/CPackDeb.cmake
+++ b/share/cmake-3.17/Modules/Internal/CPack/CPackDeb.cmake
@@ -554,8 +554,8 @@
   )
 
   # Homepage: (optional)
-  if(NOT CPACK_DEBIAN_PACKAGE_HOMEPAGE AND CMAKE_PROJECT_HOMEPAGE_URL)
-    set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CMAKE_PROJECT_HOMEPAGE_URL}")
+  if(NOT CPACK_DEBIAN_PACKAGE_HOMEPAGE AND CPACK_PACKAGE_HOMEPAGE_URL)
+    set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CPACK_PACKAGE_HOMEPAGE_URL}")
   endif()
 
   # Section: (recommended)
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackExternal.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackExternal.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackExternal.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackExternal.cmake
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackFreeBSD.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackFreeBSD.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackFreeBSD.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackFreeBSD.cmake
index 16f906c..ae40532 100644
--- a/share/cmake-3.16/Modules/Internal/CPack/CPackFreeBSD.cmake
+++ b/share/cmake-3.17/Modules/Internal/CPack/CPackFreeBSD.cmake
@@ -68,7 +68,7 @@
 # There's really only one homepage for a project, so
 # re-use the Debian setting if it's there.
 _cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_WWW"
-    "CMAKE_PROJECT_HOMEPAGE_URL"
+    "CPACK_PACKAGE_HOMEPAGE_URL"
     "CPACK_DEBIAN_PACKAGE_HOMEPAGE"
     "_cpack_freebsd_fallback_www"
     )
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackNuGet.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackNuGet.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackNuGet.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackNuGet.cmake
index 82053b2..1f4bcfd 100644
--- a/share/cmake-3.16/Modules/Internal/CPack/CPackNuGet.cmake
+++ b/share/cmake-3.17/Modules/Internal/CPack/CPackNuGet.cmake
@@ -230,31 +230,22 @@
     foreach(_dep IN LISTS _deps)
         _cpack_nuget_debug("  checking dependency `${_dep}`")
 
-        string(MAKE_C_IDENTIFIER "${_dep}" _dep_id)
-
-        _cpack_nuget_variable_fallback(_ver DEPENDENCIES_${_dep_id}_VERSION)
+        _cpack_nuget_variable_fallback(_ver DEPENDENCIES_${_dep}_VERSION)
 
         if(NOT _ver)
-            string(TOUPPER "${_dep_id}" _dep_id)
-            _cpack_nuget_variable_fallback(_ver DEPENDENCIES_${_dep_id}_VERSION)
+            string(TOUPPER "${_dep}" _dep_upper)
+            _cpack_nuget_variable_fallback(_ver DEPENDENCIES_${_dep_upper}_VERSION)
         endif()
 
         if(_ver)
             _cpack_nuget_debug("  got `${_dep}` dependency version ${_ver}")
-            list(APPEND _collected_deps "<dependency id=\"${_dep}\" version=\"${_ver}\" />")
+            string(CONCAT _collected_deps "${_collected_deps}" "            <dependency id=\"${_dep}\" version=\"${_ver}\" />\n")
         endif()
     endforeach()
 
     # Render deps into the variable
     if(_collected_deps)
-        set(_CPACK_NUGET_DEPENDENCIES_TAG "<dependencies>\n")
-        foreach(_line IN LISTS _collected_deps)
-            string(
-                APPEND _CPACK_NUGET_DEPENDENCIES_TAG
-                "            ${_line}\n"
-              )
-        endforeach()
-        string(APPEND _CPACK_NUGET_DEPENDENCIES_TAG "        </dependencies>")
+        string(CONCAT _CPACK_NUGET_DEPENDENCIES_TAG "<dependencies>\n" "${_collected_deps}" "        </dependencies>")
     endif()
 
     # Render the spec file
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackRPM.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackRPM.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackRPM.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackRPM.cmake
index ffb24e2..3485e7d 100644
--- a/share/cmake-3.16/Modules/Internal/CPack/CPackRPM.cmake
+++ b/share/cmake-3.17/Modules/Internal/CPack/CPackRPM.cmake
@@ -844,8 +844,8 @@
     endif()
   endif()
 
-  if(NOT CPACK_RPM_PACKAGE_URL AND CMAKE_PROJECT_HOMEPAGE_URL)
-    set(CPACK_RPM_PACKAGE_URL "${CMAKE_PROJECT_HOMEPAGE_URL}")
+  if(NOT CPACK_RPM_PACKAGE_URL AND CPACK_PACKAGE_HOMEPAGE_URL)
+    set(CPACK_RPM_PACKAGE_URL "${CPACK_PACKAGE_HOMEPAGE_URL}")
   endif()
 
   # CPACK_RPM_PACKAGE_NAME (mandatory)
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackWIX.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackWIX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackWIX.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackWIX.cmake
diff --git a/share/cmake-3.16/Modules/Internal/CPack/CPackZIP.cmake b/share/cmake-3.17/Modules/Internal/CPack/CPackZIP.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/CPackZIP.cmake
rename to share/cmake-3.17/Modules/Internal/CPack/CPackZIP.cmake
diff --git a/share/cmake-3.16/Modules/Internal/CPack/NSIS.InstallOptions.ini.in b/share/cmake-3.17/Modules/Internal/CPack/NSIS.InstallOptions.ini.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/NSIS.InstallOptions.ini.in
rename to share/cmake-3.17/Modules/Internal/CPack/NSIS.InstallOptions.ini.in
diff --git a/share/cmake-3.16/Modules/Internal/CPack/NSIS.template.in b/share/cmake-3.17/Modules/Internal/CPack/NSIS.template.in
similarity index 98%
rename from share/cmake-3.16/Modules/Internal/CPack/NSIS.template.in
rename to share/cmake-3.17/Modules/Internal/CPack/NSIS.template.in
index f75ae78..660bfa3 100644
--- a/share/cmake-3.16/Modules/Internal/CPack/NSIS.template.in
+++ b/share/cmake-3.17/Modules/Internal/CPack/NSIS.template.in
@@ -524,14 +524,6 @@
 !endif
 
 ;--------------------------------
-; Installation types
-@CPACK_NSIS_INSTALLATION_TYPES@
-
-;--------------------------------
-; Component sections
-@CPACK_NSIS_COMPONENT_SECTIONS@
-
-;--------------------------------
 ; Define some macro setting for the gui
 @CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
 @CPACK_NSIS_INSTALLER_ICON_CODE@
@@ -542,6 +534,8 @@
 
 ;--------------------------------
 ;Pages
+  @CPACK_NSIS_INSTALLER_WELCOME_TITLE_CODE@
+  @CPACK_NSIS_INSTALLER_WELCOME_TITLE_3LINES_CODE@
   !insertmacro MUI_PAGE_WELCOME
 
   !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
@@ -557,6 +551,8 @@
   @CPACK_NSIS_PAGE_COMPONENTS@
 
   !insertmacro MUI_PAGE_INSTFILES
+  @CPACK_NSIS_INSTALLER_FINISH_TITLE_CODE@
+  @CPACK_NSIS_INSTALLER_FINISH_TITLE_3LINES_CODE@
   !insertmacro MUI_PAGE_FINISH
 
   !insertmacro MUI_UNPAGE_CONFIRM
@@ -617,7 +613,6 @@
   !insertmacro MUI_LANGUAGE "Ukrainian"
   !insertmacro MUI_LANGUAGE "Welsh"
 
-
 ;--------------------------------
 ;Reserve Files
 
@@ -628,6 +623,17 @@
   ReserveFile "NSIS.InstallOptions.ini"
   !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
 
+  ; for UserInfo::GetName and UserInfo::GetAccountType
+  ReserveFile /plugin 'UserInfo.dll'
+
+;--------------------------------
+; Installation types
+@CPACK_NSIS_INSTALLATION_TYPES@
+
+;--------------------------------
+; Component sections
+@CPACK_NSIS_COMPONENT_SECTIONS@
+
 ;--------------------------------
 ;Installer Sections
 
@@ -642,7 +648,7 @@
   WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
 
   ;Create uninstaller
-  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  WriteUninstaller "$INSTDIR\@[email protected]"
   Push "DisplayName"
   Push "@CPACK_NSIS_DISPLAY_NAME@"
   Call ConditionalAddToRegisty
@@ -653,7 +659,7 @@
   Push "@CPACK_PACKAGE_VENDOR@"
   Call ConditionalAddToRegisty
   Push "UninstallString"
-  Push "$INSTDIR\Uninstall.exe"
+  Push "$INSTDIR\@[email protected]"
   Call ConditionalAddToRegisty
   Push "NoRepair"
   Push "1"
@@ -690,7 +696,7 @@
   CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
 @CPACK_NSIS_CREATE_ICONS@
 @CPACK_NSIS_CREATE_ICONS_EXTRA@
-  CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+  CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\@[email protected]"
 
   ;Read a value from an InstallOptions INI file
   !insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
@@ -829,7 +835,7 @@
 !endif
 
   ;Remove the uninstaller itself.
-  Delete "$INSTDIR\Uninstall.exe"
+  Delete "$INSTDIR\@[email protected]"
   DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
 
   ;Remove the installation directory if it is empty.
diff --git a/share/cmake-3.16/Modules/Internal/CPack/WIX.template.in b/share/cmake-3.17/Modules/Internal/CPack/WIX.template.in
similarity index 100%
rename from share/cmake-3.16/Modules/Internal/CPack/WIX.template.in
rename to share/cmake-3.17/Modules/Internal/CPack/WIX.template.in
diff --git a/share/cmake-3.16/Modules/Internal/FeatureTesting.cmake b/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake
similarity index 87%
rename from share/cmake-3.16/Modules/Internal/FeatureTesting.cmake
rename to share/cmake-3.17/Modules/Internal/FeatureTesting.cmake
index 75be473..72d96b3 100644
--- a/share/cmake-3.16/Modules/Internal/FeatureTesting.cmake
+++ b/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake
@@ -89,6 +89,16 @@
   unset(lang_level_has_features)
 endmacro()
 
+macro(_record_compiler_features_cuda std)
+  list(APPEND CMAKE_CUDA${std}_COMPILE_FEATURES cuda_std_${std})
+
+  get_property(lang_level_has_features GLOBAL PROPERTY CMAKE_CUDA${std}_KNOWN_FEATURES)
+  if(lang_level_has_features)
+    _record_compiler_features(CUDA "${CMAKE_CUDA${std}_STANDARD_COMPILE_OPTION}" CMAKE_CUDA${std}_COMPILE_FEATURES)
+  endif()
+  unset(lang_level_has_features)
+endmacro()
+
 macro(_has_compiler_features lang level compile_flags feature_list)
   # presume all known features are supported
   get_property(known_features GLOBAL PROPERTY CMAKE_${lang}${level}_KNOWN_FEATURES)
@@ -103,3 +113,7 @@
   list(APPEND CMAKE_CXX${std}_COMPILE_FEATURES cxx_std_${std})
   _has_compiler_features(CXX ${std} "${CMAKE_CXX${std}_STANDARD_COMPILE_OPTION}" CMAKE_CXX${std}_COMPILE_FEATURES)
 endmacro()
+macro(_has_compiler_features_cuda std)
+  list(APPEND CMAKE_CUDA${std}_COMPILE_FEATURES cuda_std_${std})
+  _has_compiler_features(CUDA ${std} "${CMAKE_CUDA${std}_STANDARD_COMPILE_OPTION}" CMAKE_CUDA${std}_COMPILE_FEATURES)
+endmacro()
diff --git a/share/cmake-3.16/Modules/KDE3Macros.cmake b/share/cmake-3.17/Modules/KDE3Macros.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/KDE3Macros.cmake
rename to share/cmake-3.17/Modules/KDE3Macros.cmake
diff --git a/share/cmake-3.16/Modules/MacOSXBundleInfo.plist.in b/share/cmake-3.17/Modules/MacOSXBundleInfo.plist.in
similarity index 100%
rename from share/cmake-3.16/Modules/MacOSXBundleInfo.plist.in
rename to share/cmake-3.17/Modules/MacOSXBundleInfo.plist.in
diff --git a/share/cmake-3.16/Modules/MacOSXFrameworkInfo.plist.in b/share/cmake-3.17/Modules/MacOSXFrameworkInfo.plist.in
similarity index 100%
rename from share/cmake-3.16/Modules/MacOSXFrameworkInfo.plist.in
rename to share/cmake-3.17/Modules/MacOSXFrameworkInfo.plist.in
diff --git a/share/cmake-3.16/Modules/MacroAddFileDependencies.cmake b/share/cmake-3.17/Modules/MacroAddFileDependencies.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/MacroAddFileDependencies.cmake
rename to share/cmake-3.17/Modules/MacroAddFileDependencies.cmake
diff --git a/share/cmake-3.16/Modules/MatlabTestsRedirect.cmake b/share/cmake-3.17/Modules/MatlabTestsRedirect.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/MatlabTestsRedirect.cmake
rename to share/cmake-3.17/Modules/MatlabTestsRedirect.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/AIX-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/AIX-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-GNU-ASM.cmake b/share/cmake-3.17/Modules/Platform/AIX-GNU-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-GNU-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-GNU-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/AIX-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/AIX-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/AIX-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-GNU.cmake b/share/cmake-3.17/Modules/Platform/AIX-GNU.cmake
similarity index 90%
rename from share/cmake-3.16/Modules/Platform/AIX-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-GNU.cmake
index 61d213a..5a532c7 100644
--- a/share/cmake-3.16/Modules/Platform/AIX-GNU.cmake
+++ b/share/cmake-3.17/Modules/Platform/AIX-GNU.cmake
@@ -23,11 +23,11 @@
   # Construct the export list ourselves to pass only the object files so
   # that we export only the symbols actually provided by the sources.
   set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <OBJECT_DIR>/objects.exp <OBJECTS>"
-    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/objects.exp <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
+    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <OBJECT_DIR>/exports.exp <AIX_EXPORTS> <OBJECTS>"
+    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/exports.exp <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
     )
 
   set(CMAKE_${lang}_LINK_EXECUTABLE_WITH_EXPORTS
-    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <TARGET_IMPLIB> -l . <OBJECTS>"
+    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <TARGET_IMPLIB> -l . <AIX_EXPORTS> <OBJECTS>"
     "<CMAKE_${lang}_COMPILER> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> -Wl,-bE:<TARGET_IMPLIB> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
 endmacro()
diff --git a/share/cmake-3.16/Modules/Platform/AIX-VisualAge-C.cmake b/share/cmake-3.17/Modules/Platform/AIX-VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-VisualAge-C.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-VisualAge-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-VisualAge-CXX.cmake b/share/cmake-3.17/Modules/Platform/AIX-VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-VisualAge-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-VisualAge-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-VisualAge-Fortran.cmake b/share/cmake-3.17/Modules/Platform/AIX-VisualAge-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-VisualAge-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-VisualAge-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XL-ASM.cmake b/share/cmake-3.17/Modules/Platform/AIX-XL-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XL-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XL-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XL-C.cmake b/share/cmake-3.17/Modules/Platform/AIX-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/AIX-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XL-Fortran.cmake b/share/cmake-3.17/Modules/Platform/AIX-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XL-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XL.cmake b/share/cmake-3.17/Modules/Platform/AIX-XL.cmake
similarity index 91%
rename from share/cmake-3.16/Modules/Platform/AIX-XL.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XL.cmake
index 2a67c4f..2a8c159 100644
--- a/share/cmake-3.16/Modules/Platform/AIX-XL.cmake
+++ b/share/cmake-3.17/Modules/Platform/AIX-XL.cmake
@@ -29,12 +29,12 @@
   # Construct the export list ourselves to pass only the object files so
   # that we export only the symbols actually provided by the sources.
   set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <OBJECT_DIR>/objects.exp${_OBJECTS}"
-    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/objects.exp <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
+    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <OBJECT_DIR>/exports.exp <AIX_EXPORTS>${_OBJECTS}"
+    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/exports.exp <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
     )
 
   set(CMAKE_${lang}_LINK_EXECUTABLE_WITH_EXPORTS
-    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <TARGET_IMPLIB> -l . <OBJECTS>"
+    "\"${CMAKE_ROOT}/Modules/Platform/AIX/ExportImportList\" -o <TARGET_IMPLIB> -l . <AIX_EXPORTS> <OBJECTS>"
     "<CMAKE_${lang}_COMPILER> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> -Wl,-bE:<TARGET_IMPLIB> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
 
   unset(_OBJECTS)
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XLClang-C.cmake b/share/cmake-3.17/Modules/Platform/AIX-XLClang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XLClang-C.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XLClang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XLClang-CXX.cmake b/share/cmake-3.17/Modules/Platform/AIX-XLClang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XLClang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XLClang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX-XLClang.cmake b/share/cmake-3.17/Modules/Platform/AIX-XLClang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX-XLClang.cmake
rename to share/cmake-3.17/Modules/Platform/AIX-XLClang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/AIX.cmake b/share/cmake-3.17/Modules/Platform/AIX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/AIX.cmake
rename to share/cmake-3.17/Modules/Platform/AIX.cmake
diff --git a/share/cmake-3.17/Modules/Platform/AIX/ExportImportList b/share/cmake-3.17/Modules/Platform/AIX/ExportImportList
new file mode 100644
index 0000000..891bce7
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/AIX/ExportImportList
@@ -0,0 +1,60 @@
+#!/bin/sh
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This script is internal to CMake and meant only to be
+# invoked by CMake-generated build systems on AIX.
+
+usage='usage: ExportImportList -o <out-file> [-l <lib>] [-n] [--] <objects>...'
+
+die() {
+    echo "$@" 1>&2; exit 1
+}
+
+# Process command-line arguments.
+out=''
+lib=''
+no_objects=''
+while test "$#" != 0; do
+    case "$1" in
+    -l) shift; lib="$1" ;;
+    -o) shift; out="$1" ;;
+    -n) no_objects='1' ;;
+    --) shift; break ;;
+    -*) die "$usage" ;;
+    *)  break ;;
+    esac
+    shift
+done
+test -n "$out" || die "$usage"
+
+# Build a temporary file that atomically replaces the output later.
+out_tmp="$out.tmp$$"
+trap 'rm -f "$out_tmp"' EXIT INT TERM
+> "$out_tmp"
+
+# Collect symbols exported from all object files.
+if test -z "$no_objects"; then
+    for f in "$@"; do
+        dump -tov -X 32_64 "$f" |
+        awk '
+            BEGIN {
+                V["EXPORTED"]=" export"
+                V["PROTECTED"]=" protected"
+            }
+            /^\[[0-9]+\]\tm +[^ ]+ +\.(text|data|bss) +[^ ]+ +(extern|weak) +(EXPORTED|PROTECTED| ) / {
+                if (!match($NF,/^(\.|__sinit|__sterm|__[0-9]+__)/)) {
+                    print $NF V[$(NF-1)]
+                }
+            }
+        '
+    done >> "$out_tmp"
+fi
+
+# Generate the export/import file.
+{
+    if test -n "$lib"; then
+        echo "#! $lib"
+    fi
+    sort -u "$out_tmp"
+} > "$out"
diff --git a/share/cmake-3.16/Modules/Platform/ARTOS-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/ARTOS-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/ARTOS-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/ARTOS-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/ARTOS.cmake b/share/cmake-3.17/Modules/Platform/ARTOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/ARTOS.cmake
rename to share/cmake-3.17/Modules/Platform/ARTOS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Clang-ASM.cmake b/share/cmake-3.17/Modules/Platform/Android-Clang-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-Clang-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Clang-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/Android-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/Android-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android-Clang.cmake
similarity index 89%
rename from share/cmake-3.16/Modules/Platform/Android-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Clang.cmake
index 847178f..759448b 100644
--- a/share/cmake-3.16/Modules/Platform/Android-Clang.cmake
+++ b/share/cmake-3.17/Modules/Platform/Android-Clang.cmake
@@ -24,6 +24,14 @@
   return()
 endif()
 
+# Natively compiling on an Android host doesn't use the NDK cross-compilation
+# tools.
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
+  macro(__android_compiler_clang lang)
+  endmacro()
+  return()
+endif()
+
 include(Platform/Android-Common)
 
 # The NDK toolchain configuration files at:
diff --git a/share/cmake-3.16/Modules/Platform/Android-Common.cmake b/share/cmake-3.17/Modules/Platform/Android-Common.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-Common.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Common.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Determine-C.cmake b/share/cmake-3.17/Modules/Platform/Android-Determine-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-Determine-C.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Determine-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/Android-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Determine.cmake b/share/cmake-3.17/Modules/Platform/Android-Determine.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Platform/Android-Determine.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Determine.cmake
index e7c1b48..2225897 100644
--- a/share/cmake-3.16/Modules/Platform/Android-Determine.cmake
+++ b/share/cmake-3.17/Modules/Platform/Android-Determine.cmake
@@ -18,6 +18,12 @@
   return()
 endif()
 
+# Natively compiling on an Android host doesn't use the NDK cross-compilation
+# tools.
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
+  return()
+endif()
+
 cmake_policy(PUSH)
 cmake_policy(SET CMP0057 NEW) # if IN_LIST
 
diff --git a/share/cmake-3.16/Modules/Platform/Android-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/Android-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/Android-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/Android-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Android-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android-Initialize.cmake b/share/cmake-3.17/Modules/Platform/Android-Initialize.cmake
similarity index 91%
rename from share/cmake-3.16/Modules/Platform/Android-Initialize.cmake
rename to share/cmake-3.17/Modules/Platform/Android-Initialize.cmake
index a5d2820..b90dd7a 100644
--- a/share/cmake-3.16/Modules/Platform/Android-Initialize.cmake
+++ b/share/cmake-3.17/Modules/Platform/Android-Initialize.cmake
@@ -24,6 +24,12 @@
   return()
 endif()
 
+# Natively compiling on an Android host doesn't use the NDK cross-compilation
+# tools.
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
+  return()
+endif()
+
 if(NOT CMAKE_SYSROOT)
   if(CMAKE_ANDROID_NDK)
     set(CMAKE_SYSROOT "${CMAKE_ANDROID_NDK}/platforms/android-${CMAKE_SYSTEM_VERSION}/arch-${CMAKE_ANDROID_ARCH}")
diff --git a/share/cmake-3.16/Modules/Platform/Android.cmake b/share/cmake-3.17/Modules/Platform/Android.cmake
similarity index 79%
rename from share/cmake-3.16/Modules/Platform/Android.cmake
rename to share/cmake-3.17/Modules/Platform/Android.cmake
index f08f841..8ffa1b2 100644
--- a/share/cmake-3.16/Modules/Platform/Android.cmake
+++ b/share/cmake-3.17/Modules/Platform/Android.cmake
@@ -2,6 +2,11 @@
 
 set(ANDROID 1)
 
+# Natively compiling on an Android host doesn't need these flags to be reset.
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
+  return()
+endif()
+
 # Conventionally Android does not use versioned soname
 # But in modern versions it is acceptable
 if(NOT DEFINED CMAKE_PLATFORM_NO_VERSIONED_SONAME)
diff --git a/share/cmake-3.16/Modules/Platform/Android/Determine-Compiler-NDK.cmake b/share/cmake-3.17/Modules/Platform/Android/Determine-Compiler-NDK.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/Determine-Compiler-NDK.cmake
rename to share/cmake-3.17/Modules/Platform/Android/Determine-Compiler-NDK.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/Determine-Compiler-Standalone.cmake b/share/cmake-3.17/Modules/Platform/Android/Determine-Compiler-Standalone.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/Determine-Compiler-Standalone.cmake
rename to share/cmake-3.17/Modules/Platform/Android/Determine-Compiler-Standalone.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/Determine-Compiler.cmake b/share/cmake-3.17/Modules/Platform/Android/Determine-Compiler.cmake
similarity index 90%
rename from share/cmake-3.16/Modules/Platform/Android/Determine-Compiler.cmake
rename to share/cmake-3.17/Modules/Platform/Android/Determine-Compiler.cmake
index 5c6b97b..f9c2d89 100644
--- a/share/cmake-3.16/Modules/Platform/Android/Determine-Compiler.cmake
+++ b/share/cmake-3.17/Modules/Platform/Android/Determine-Compiler.cmake
@@ -31,6 +31,16 @@
   set(_ANDROID_HOST_EXT "")
 elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
   set(_ANDROID_HOST_EXT ".exe")
+elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
+  # Natively compiling on an Android host doesn't use the NDK cross-compilation
+  # tools.
+  macro(__android_determine_compiler lang)
+    # Do nothing
+  endmacro()
+  if(NOT CMAKE_CXX_COMPILER_NAMES)
+    set(CMAKE_CXX_COMPILER_NAMES c++)
+  endif()
+  return()
 else()
   message(FATAL_ERROR "Android: Builds hosted on '${CMAKE_HOST_SYSTEM_NAME}' not supported.")
 endif()
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-armeabi-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-armeabi-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-armeabi-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-armeabi-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-armeabi-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-armeabi-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-armeabi-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-armeabi-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-common-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-common-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-common-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-common-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-common-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-common-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-common-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-common-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-common.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-common.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-common.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-common.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-mips-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-mips-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-mips-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-mips-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-mips-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-mips-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-mips-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-mips-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-mips64-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-mips64-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-mips64-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-mips64-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-mips64-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-mips64-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-mips64-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-mips64-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-x86-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-x86-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-x86-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-x86-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-x86-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-x86-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-x86-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-x86-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-x86_64-Clang.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-x86_64-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-x86_64-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-x86_64-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/abi-x86_64-GNU.cmake b/share/cmake-3.17/Modules/Platform/Android/abi-x86_64-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/abi-x86_64-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Android/abi-x86_64-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-c++.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-c++.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-c++.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-c++.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-c++_shared.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-c++_shared.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-c++_shared.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-c++_shared.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-c++_static.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-c++_static.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-c++_static.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-c++_static.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-gabi++.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-gabi++.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-gabi++.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-gabi++.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-gabi++_static.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-gabi++_static.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-gabi++_static.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-gabi++_static.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-gnustl.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-gnustl.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-gnustl.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-gnustl.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-gnustl_static.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-gnustl_static.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-gnustl_static.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-gnustl_static.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-none.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-none.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-none.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-none.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-stlport.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-stlport.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-stlport.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-stlport.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-stlport_shared.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-stlport_shared.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-stlport_shared.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-stlport_shared.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-stlport_static.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-stlport_static.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-stlport_static.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-stlport_static.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Android/ndk-stl-system.cmake b/share/cmake-3.17/Modules/Platform/Android/ndk-stl-system.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Android/ndk-stl-system.cmake
rename to share/cmake-3.17/Modules/Platform/Android/ndk-stl-system.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Absoft-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Apple-Absoft-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Absoft-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Absoft-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Apple-Swift.cmake b/share/cmake-3.17/Modules/Platform/Apple-Apple-Swift.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Apple-Swift.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Apple-Swift.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-AppleClang-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-AppleClang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-AppleClang-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-AppleClang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-AppleClang-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-AppleClang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-AppleClang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-AppleClang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-AppleClang-OBJC.cmake b/share/cmake-3.17/Modules/Platform/Apple-AppleClang-OBJC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-AppleClang-OBJC.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-AppleClang-OBJC.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-AppleClang-OBJCXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-AppleClang-OBJCXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-AppleClang-OBJCXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-AppleClang-OBJCXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Clang-ASM.cmake b/share/cmake-3.17/Modules/Platform/Apple-Clang-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Clang-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Clang-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Clang-OBJC.cmake b/share/cmake-3.17/Modules/Platform/Apple-Clang-OBJC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Clang-OBJC.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Clang-OBJC.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Clang-OBJCXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-Clang-OBJCXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Clang-OBJCXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Clang-OBJCXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Clang.cmake b/share/cmake-3.17/Modules/Platform/Apple-Clang.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Clang.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Apple-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-GNU-OBJC.cmake b/share/cmake-3.17/Modules/Platform/Apple-GNU-OBJC.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-GNU-OBJC.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-GNU-OBJC.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-GNU-OBJCXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-GNU-OBJCXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-GNU-OBJCXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-GNU-OBJCXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-GNU.cmake b/share/cmake-3.17/Modules/Platform/Apple-GNU.cmake
similarity index 86%
rename from share/cmake-3.16/Modules/Platform/Apple-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-GNU.cmake
index 0eb8168..9572736 100644
--- a/share/cmake-3.16/Modules/Platform/Apple-GNU.cmake
+++ b/share/cmake-3.17/Modules/Platform/Apple-GNU.cmake
@@ -19,17 +19,17 @@
 macro(cmake_gnu_set_sysroot_flag lang)
   if(NOT DEFINED CMAKE_${lang}_SYSROOT_FLAG)
     set(_doc "${lang} compiler has -isysroot")
-    message(STATUS "Checking whether ${_doc}")
+    message(CHECK_START "Checking whether ${_doc}")
     execute_process(
       COMMAND ${CMAKE_${lang}_COMPILER} "-v" "--help"
       OUTPUT_VARIABLE _gcc_help
       ERROR_VARIABLE _gcc_help
       )
     if("${_gcc_help}" MATCHES "isysroot")
-      message(STATUS "Checking whether ${_doc} - yes")
+      message(CHECK_PASS "yes")
       set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
     else()
-      message(STATUS "Checking whether ${_doc} - no")
+      message(CHECK_FAIL "no")
       set(CMAKE_${lang}_SYSROOT_FLAG "")
     endif()
     set(CMAKE_${lang}_SYSROOT_FLAG_CODE "set(CMAKE_${lang}_SYSROOT_FLAG \"${CMAKE_${lang}_SYSROOT_FLAG}\")")
@@ -39,17 +39,17 @@
 macro(cmake_gnu_set_osx_deployment_target_flag lang)
   if(NOT DEFINED CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG)
     set(_doc "${lang} compiler supports OSX deployment target flag")
-    message(STATUS "Checking whether ${_doc}")
+    message(CHECK_START "Checking whether ${_doc}")
     execute_process(
       COMMAND ${CMAKE_${lang}_COMPILER} "-v" "--help"
       OUTPUT_VARIABLE _gcc_help
       ERROR_VARIABLE _gcc_help
       )
     if("${_gcc_help}" MATCHES "macosx-version-min")
-      message(STATUS "Checking whether ${_doc} - yes")
+      message(CHECK_PASS "yes")
       set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
     else()
-      message(STATUS "Checking whether ${_doc} - no")
+      message(CHECK_FAIL "no")
       set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "")
     endif()
     set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG_CODE "set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG \"${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}\")")
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Intel-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Intel-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Intel-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Intel-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Intel-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Intel-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Intel-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Apple-Intel-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Intel-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Intel-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-Intel.cmake b/share/cmake-3.17/Modules/Platform/Apple-Intel.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-Intel.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-Intel.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-NAG-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Apple-NAG-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-NAG-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-NAG-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-NVIDIA-CUDA.cmake b/share/cmake-3.17/Modules/Platform/Apple-NVIDIA-CUDA.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-NVIDIA-CUDA.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-NVIDIA-CUDA.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-PGI-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-PGI-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-PGI-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-PGI-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-PGI-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-PGI-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-PGI-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-PGI-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-PGI-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Apple-PGI-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-PGI-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-PGI-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-PGI.cmake b/share/cmake-3.17/Modules/Platform/Apple-PGI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-PGI.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-PGI.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-VisualAge-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-VisualAge-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-VisualAge-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-VisualAge-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-VisualAge-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-VisualAge-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-XL-C.cmake b/share/cmake-3.17/Modules/Platform/Apple-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Apple-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/Apple-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Apple-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Apple-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BSDOS.cmake b/share/cmake-3.17/Modules/Platform/BSDOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BSDOS.cmake
rename to share/cmake-3.17/Modules/Platform/BSDOS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BeOS.cmake b/share/cmake-3.17/Modules/Platform/BeOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BeOS.cmake
rename to share/cmake-3.17/Modules/Platform/BeOS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneL.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneL.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneL.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneL.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-base.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-base.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-base.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-base.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-dynamic.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-dynamic.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static-XL-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneP-static.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneP-static.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneP-static.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneP-static.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-base.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-base.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-base.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-base.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-dynamic.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-dynamic.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static-XL-C.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/BlueGeneQ-static.cmake b/share/cmake-3.17/Modules/Platform/BlueGeneQ-static.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/BlueGeneQ-static.cmake
rename to share/cmake-3.17/Modules/Platform/BlueGeneQ-static.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-GNU.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN-windres.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN-windres.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN-windres.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN-windres.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CYGWIN.cmake b/share/cmake-3.17/Modules/Platform/CYGWIN.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CYGWIN.cmake
rename to share/cmake-3.17/Modules/Platform/CYGWIN.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Catamount.cmake b/share/cmake-3.17/Modules/Platform/Catamount.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Catamount.cmake
rename to share/cmake-3.17/Modules/Platform/Catamount.cmake
diff --git a/share/cmake-3.16/Modules/Platform/CrayLinuxEnvironment.cmake b/share/cmake-3.17/Modules/Platform/CrayLinuxEnvironment.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/CrayLinuxEnvironment.cmake
rename to share/cmake-3.17/Modules/Platform/CrayLinuxEnvironment.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Darwin-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/Darwin-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Darwin-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Darwin-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Darwin-Initialize.cmake b/share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake
similarity index 65%
rename from share/cmake-3.16/Modules/Platform/Darwin-Initialize.cmake
rename to share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake
index 2d797f6..729217c 100644
--- a/share/cmake-3.16/Modules/Platform/Darwin-Initialize.cmake
+++ b/share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake
@@ -122,7 +122,97 @@
 set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_DEFAULT}" CACHE ${_CMAKE_OSX_SYSROOT_TYPE}
   "The product will be built against the headers and libraries located inside the indicated SDK.")
 
-# Transform the cached value to something we can use.
+# Resolves the SDK name into a path
+function(_apple_resolve_sdk_path sdk_name ret)
+  execute_process(
+    COMMAND xcrun -sdk ${sdk_name} --show-sdk-path
+    OUTPUT_VARIABLE _stdout
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_VARIABLE _stderr
+    RESULT_VARIABLE _failed
+  )
+  set(${ret} "${_stdout}" PARENT_SCOPE)
+endfunction()
+# Handle multi-arch sysroots. Do this before CMAKE_OSX_SYSROOT is
+# transformed into a path, so that we know the sysroot name.
+function(_apple_resolve_multi_arch_sysroots)
+  if(CMAKE_APPLE_ARCH_SYSROOTS)
+    return() # Already cached
+  endif()
+
+  list(LENGTH CMAKE_OSX_ARCHITECTURES _num_archs)
+  if(NOT (_num_archs GREATER 1))
+    return() # Only apply to multi-arch
+  endif()
+
+  if(CMAKE_OSX_SYSROOT STREQUAL "macosx")
+    # macOS doesn't have a simulator sdk / sysroot, so there is no need to handle per-sdk arches.
+    return()
+  endif()
+
+  if(IS_DIRECTORY "${CMAKE_OSX_SYSROOT}")
+    if(NOT CMAKE_OSX_SYSROOT STREQUAL _CMAKE_OSX_SYSROOT_DEFAULT)
+      message(WARNING "Can not resolve multi-arch sysroots with CMAKE_OSX_SYSROOT set to path (${CMAKE_OSX_SYSROOT})")
+    endif()
+    return()
+  endif()
+
+  string(REPLACE "os" "simulator" _simulator_sdk ${CMAKE_OSX_SYSROOT})
+  set(_sdks "${CMAKE_OSX_SYSROOT};${_simulator_sdk}")
+  foreach(sdk ${_sdks})
+    _apple_resolve_sdk_path(${sdk} _sdk_path)
+    if(NOT IS_DIRECTORY "${_sdk_path}")
+      message(WARNING "Failed to resolve SDK path for '${sdk}'")
+      continue()
+    endif()
+
+    execute_process(
+      COMMAND plutil -extract SupportedTargets.${sdk}.Archs json ${_sdk_path}/SDKSettings.plist -o -
+      OUTPUT_VARIABLE _sdk_archs_json
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      ERROR_VARIABLE _stderr
+      RESULT_VARIABLE _failed
+      )
+    if(_failed)
+      # Failure to extract supported architectures for an SDK means that the installed SDK is old
+      # and does not provide such information (SDKs that come with Xcode >= 10.x started providing
+      # the information). In such a case, return early, and handle multi-arch builds the old way
+      # (no per-sdk arches).
+      return()
+    endif()
+
+    # Poor man's JSON decoding
+    string(REGEX REPLACE "[]\\[\"]" "" _sdk_archs ${_sdk_archs_json})
+    string(REPLACE "," ";" _sdk_archs ${_sdk_archs})
+
+    set(_sdk_archs_${sdk} ${_sdk_archs})
+    set(_sdk_path_${sdk} ${_sdk_path})
+  endforeach()
+
+  foreach(arch ${CMAKE_OSX_ARCHITECTURES})
+    set(_arch_sysroot "")
+    foreach(sdk ${_sdks})
+      list(FIND _sdk_archs_${sdk} ${arch} arch_index)
+      if(NOT arch_index EQUAL -1)
+        set(_arch_sysroot ${_sdk_path_${sdk}})
+        break()
+      endif()
+    endforeach()
+    if(_arch_sysroot)
+      list(APPEND _arch_sysroots ${_arch_sysroot})
+    else()
+      message(WARNING "No SDK found for architecture '${arch}'")
+      list(APPEND _arch_sysroots "") # Placeholder
+    endif()
+  endforeach()
+
+  set(CMAKE_APPLE_ARCH_SYSROOTS "${_arch_sysroots}" CACHE INTERNAL
+    "Architecture dependent sysroots, one per CMAKE_OSX_ARCHITECTURES")
+endfunction()
+
+_apple_resolve_multi_arch_sysroots()
+
+# Transform CMAKE_OSX_SYSROOT to absolute path
 set(_CMAKE_OSX_SYSROOT_PATH "")
 if(CMAKE_OSX_SYSROOT)
   if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")
@@ -134,16 +224,9 @@
     endif()
     set(_CMAKE_OSX_SYSROOT_PATH "${CMAKE_OSX_SYSROOT}")
   else()
-    # Transform the sdk name into a path.
-    execute_process(
-      COMMAND xcodebuild -sdk ${CMAKE_OSX_SYSROOT} -version Path
-      OUTPUT_VARIABLE _stdout
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_VARIABLE _stderr
-      RESULT_VARIABLE _failed
-      )
-    if(NOT _failed AND IS_DIRECTORY "${_stdout}")
-      set(_CMAKE_OSX_SYSROOT_PATH "${_stdout}")
+    _apple_resolve_sdk_path(${CMAKE_OSX_SYSROOT} _sdk_path)
+    if(IS_DIRECTORY "${_sdk_path}")
+      set(_CMAKE_OSX_SYSROOT_PATH "${_sdk_path}")
       # For non-Xcode generators use the path.
       if(NOT "${CMAKE_GENERATOR}" MATCHES "Xcode")
         set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}")
diff --git a/share/cmake-3.16/Modules/Platform/Darwin.cmake b/share/cmake-3.17/Modules/Platform/Darwin.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/Platform/Darwin.cmake
rename to share/cmake-3.17/Modules/Platform/Darwin.cmake
index e5a57b5..0a4d4e1 100644
--- a/share/cmake-3.16/Modules/Platform/Darwin.cmake
+++ b/share/cmake-3.17/Modules/Platform/Darwin.cmake
@@ -210,7 +210,7 @@
 include(Platform/UnixPaths)
 if(_CMAKE_OSX_SYSROOT_PATH AND EXISTS ${_CMAKE_OSX_SYSROOT_PATH}/usr/include)
   list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${_CMAKE_OSX_SYSROOT_PATH}/usr)
-  foreach(lang C CXX OBJC OBJCXX)
+  foreach(lang C CXX OBJC OBJCXX Swift)
     list(APPEND _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${_CMAKE_OSX_SYSROOT_PATH}/usr/include)
   endforeach()
 endif()
diff --git a/share/cmake-3.16/Modules/Platform/DragonFly.cmake b/share/cmake-3.17/Modules/Platform/DragonFly.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/DragonFly.cmake
rename to share/cmake-3.17/Modules/Platform/DragonFly.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Euros.cmake b/share/cmake-3.17/Modules/Platform/Euros.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Euros.cmake
rename to share/cmake-3.17/Modules/Platform/Euros.cmake
diff --git a/share/cmake-3.16/Modules/Platform/FreeBSD-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/FreeBSD-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/FreeBSD-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/FreeBSD-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/FreeBSD.cmake b/share/cmake-3.17/Modules/Platform/FreeBSD.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/FreeBSD.cmake
rename to share/cmake-3.17/Modules/Platform/FreeBSD.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Fuchsia.cmake b/share/cmake-3.17/Modules/Platform/Fuchsia.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Fuchsia.cmake
rename to share/cmake-3.17/Modules/Platform/Fuchsia.cmake
diff --git a/share/cmake-3.16/Modules/Platform/GHS-MULTI-Determine.cmake b/share/cmake-3.17/Modules/Platform/GHS-MULTI-Determine.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/GHS-MULTI-Determine.cmake
rename to share/cmake-3.17/Modules/Platform/GHS-MULTI-Determine.cmake
diff --git a/share/cmake-3.16/Modules/Platform/GHS-MULTI.cmake b/share/cmake-3.17/Modules/Platform/GHS-MULTI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/GHS-MULTI.cmake
rename to share/cmake-3.17/Modules/Platform/GHS-MULTI.cmake
diff --git a/share/cmake-3.16/Modules/Platform/GNU.cmake b/share/cmake-3.17/Modules/Platform/GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/GNU.cmake
rename to share/cmake-3.17/Modules/Platform/GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/GNUtoMS_lib.bat.in b/share/cmake-3.17/Modules/Platform/GNUtoMS_lib.bat.in
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/GNUtoMS_lib.bat.in
rename to share/cmake-3.17/Modules/Platform/GNUtoMS_lib.bat.in
diff --git a/share/cmake-3.16/Modules/Platform/GNUtoMS_lib.cmake b/share/cmake-3.17/Modules/Platform/GNUtoMS_lib.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/GNUtoMS_lib.cmake
rename to share/cmake-3.17/Modules/Platform/GNUtoMS_lib.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Generic-ADSP-ASM.cmake b/share/cmake-3.17/Modules/Platform/Generic-ADSP-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Generic-ADSP-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/Generic-ADSP-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Generic-ADSP-C.cmake b/share/cmake-3.17/Modules/Platform/Generic-ADSP-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Generic-ADSP-C.cmake
rename to share/cmake-3.17/Modules/Platform/Generic-ADSP-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Generic-ADSP-CXX.cmake b/share/cmake-3.17/Modules/Platform/Generic-ADSP-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Generic-ADSP-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Generic-ADSP-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Generic-ADSP-Common.cmake b/share/cmake-3.17/Modules/Platform/Generic-ADSP-Common.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Generic-ADSP-Common.cmake
rename to share/cmake-3.17/Modules/Platform/Generic-ADSP-Common.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Generic-SDCC-C.cmake b/share/cmake-3.17/Modules/Platform/Generic-SDCC-C.cmake
similarity index 61%
rename from share/cmake-3.16/Modules/Platform/Generic-SDCC-C.cmake
rename to share/cmake-3.17/Modules/Platform/Generic-SDCC-C.cmake
index aef4abf..c3fd186 100644
--- a/share/cmake-3.16/Modules/Platform/Generic-SDCC-C.cmake
+++ b/share/cmake-3.17/Modules/Platform/Generic-SDCC-C.cmake
@@ -1,4 +1,3 @@
-
 # This file implements basic support for sdcc (http://sdcc.sourceforge.net/)
 # a free C compiler for 8 and 16 bit microcontrollers.
 # To use it either a toolchain file is required or cmake has to be run like this:
@@ -19,22 +18,26 @@
 
 set(CMAKE_C_OUTPUT_EXTENSION ".rel")
 
-# find sdcclib as CMAKE_AR
-# since cmake may already have searched for "ar", sdcclib has to
-# be searched with a different variable name (SDCCLIB_EXECUTABLE)
-# and must then be forced into the cache
+# find sdar/sdcclib as CMAKE_AR
+# since cmake may already have searched for "ar", sdar has to
+# be searched with a different variable name (SDCCAR_EXECUTABLE)
+# and must then be forced into the cache.
+# sdcclib has been deprecated in SDCC 3.2.0 and removed in 3.8.6
+# so we first look for sdar
 get_filename_component(SDCC_LOCATION "${CMAKE_C_COMPILER}" PATH)
-find_program(SDCCLIB_EXECUTABLE sdcclib PATHS "${SDCC_LOCATION}" NO_DEFAULT_PATH)
-find_program(SDCCLIB_EXECUTABLE sdcclib)
-set(CMAKE_AR "${SDCCLIB_EXECUTABLE}" CACHE FILEPATH "The sdcc librarian" FORCE)
-
-# CMAKE_C_FLAGS_INIT and CMAKE_EXE_LINKER_FLAGS_INIT should be set in a CMAKE_SYSTEM_PROCESSOR file
-if(NOT DEFINED CMAKE_C_FLAGS_INIT)
-  string(APPEND CMAKE_C_FLAGS_INIT " -mmcs51 --model-small")
+find_program(SDCCAR_EXECUTABLE sdar NAMES sdcclib PATHS "${SDCC_LOCATION}" NO_DEFAULT_PATH)
+find_program(SDCCAR_EXECUTABLE sdar NAMES sdcclib)
+# for compatibility, in case SDCCLIB_EXECUTABLE is set, we use it
+if(DEFINED SDCCLIB_EXECUTABLE)
+  set(CMAKE_AR "${SDCCLIB_EXECUTABLE}" CACHE FILEPATH "The sdcc librarian" FORCE)
+else()
+  set(CMAKE_AR "${SDCCAR_EXECUTABLE}" CACHE FILEPATH "The sdcc librarian" FORCE)
 endif()
 
-if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
-  set (CMAKE_EXE_LINKER_FLAGS_INIT --model-small)
+if("${SDCCAR_EXECUTABLE}" MATCHES "sdcclib")
+  set(CMAKE_AR_OPTIONS "-a")
+else()
+  set(CMAKE_AR_OPTIONS "-rc")
 endif()
 
 set(CMAKE_C_LINKER_WRAPPER_FLAG "-Wl" ",")
@@ -45,10 +48,10 @@
 # link object files to an executable
 set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <OBJECTS> -o <TARGET> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>")
 
-# needs sdcc 2.7.0 + sddclib from cvs
+# needs sdcc + sdar/sdcclib
 set(CMAKE_C_CREATE_STATIC_LIBRARY
       "\"${CMAKE_COMMAND}\" -E remove <TARGET>"
-      "<CMAKE_AR> -a <TARGET> <LINK_FLAGS> <OBJECTS> ")
+      "<CMAKE_AR> ${CMAKE_AR_OPTIONS} <TARGET> <LINK_FLAGS> <OBJECTS> ")
 
 # not supported by sdcc
 set(CMAKE_C_CREATE_SHARED_LIBRARY "")
diff --git a/share/cmake-3.16/Modules/Platform/Generic.cmake b/share/cmake-3.17/Modules/Platform/Generic.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Generic.cmake
rename to share/cmake-3.17/Modules/Platform/Generic.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-GNU-ASM.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-GNU-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-GNU-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-GNU-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-GNU.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-HP-ASM.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-HP-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-HP-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-HP-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-HP-C.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-HP-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-HP-C.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-HP-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-HP-CXX.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-HP-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-HP-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-HP-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-HP-Fortran.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-HP-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-HP-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-HP-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX-HP.cmake b/share/cmake-3.17/Modules/Platform/HP-UX-HP.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX-HP.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX-HP.cmake
diff --git a/share/cmake-3.16/Modules/Platform/HP-UX.cmake b/share/cmake-3.17/Modules/Platform/HP-UX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/HP-UX.cmake
rename to share/cmake-3.17/Modules/Platform/HP-UX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Haiku.cmake b/share/cmake-3.17/Modules/Platform/Haiku.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Haiku.cmake
rename to share/cmake-3.17/Modules/Platform/Haiku.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Absoft-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-Absoft-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Absoft-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Absoft-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-CCur-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-CCur-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-CCur-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-CCur-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake b/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Intel-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Intel-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Intel-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Intel-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Intel-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Intel-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Intel-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-Intel-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Intel-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Intel-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-Intel.cmake b/share/cmake-3.17/Modules/Platform/Linux-Intel.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-Intel.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-Intel.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-NAG-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-NAG-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-NAG-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-NAG-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PGI-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-PGI-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PGI-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PGI-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PGI-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-PGI-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PGI-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PGI-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PGI-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-PGI-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PGI-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PGI-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PGI.cmake b/share/cmake-3.17/Modules/Platform/Linux-PGI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PGI.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PGI.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PathScale-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-PathScale-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PathScale-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PathScale-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PathScale-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-PathScale-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PathScale-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PathScale-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PathScale-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-PathScale-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PathScale-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PathScale-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-PathScale.cmake b/share/cmake-3.17/Modules/Platform/Linux-PathScale.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-PathScale.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-PathScale.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-SunPro-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-SunPro-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-SunPro-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-SunPro-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-TinyCC-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-TinyCC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-TinyCC-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-TinyCC-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-VisualAge-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-VisualAge-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-VisualAge-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-VisualAge-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-VisualAge-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-VisualAge-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-VisualAge-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-VisualAge-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-VisualAge-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-VisualAge-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-XL-C.cmake b/share/cmake-3.17/Modules/Platform/Linux-XL-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-XL-C.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-XL-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-XL-CXX.cmake b/share/cmake-3.17/Modules/Platform/Linux-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-XL-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-XL-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-XL-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Linux-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-XL-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-XL-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux-como.cmake b/share/cmake-3.17/Modules/Platform/Linux-como.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux-como.cmake
rename to share/cmake-3.17/Modules/Platform/Linux-como.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Linux.cmake b/share/cmake-3.17/Modules/Platform/Linux.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Linux.cmake
rename to share/cmake-3.17/Modules/Platform/Linux.cmake
diff --git a/share/cmake-3.16/Modules/Platform/MP-RAS.cmake b/share/cmake-3.17/Modules/Platform/MP-RAS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/MP-RAS.cmake
rename to share/cmake-3.17/Modules/Platform/MP-RAS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Midipix.cmake b/share/cmake-3.17/Modules/Platform/Midipix.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Midipix.cmake
rename to share/cmake-3.17/Modules/Platform/Midipix.cmake
diff --git a/share/cmake-3.16/Modules/Platform/MirBSD.cmake b/share/cmake-3.17/Modules/Platform/MirBSD.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/MirBSD.cmake
rename to share/cmake-3.17/Modules/Platform/MirBSD.cmake
diff --git a/share/cmake-3.16/Modules/Platform/NetBSD.cmake b/share/cmake-3.17/Modules/Platform/NetBSD.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/NetBSD.cmake
rename to share/cmake-3.17/Modules/Platform/NetBSD.cmake
diff --git a/share/cmake-3.16/Modules/Platform/OSF1.cmake b/share/cmake-3.17/Modules/Platform/OSF1.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/OSF1.cmake
rename to share/cmake-3.17/Modules/Platform/OSF1.cmake
diff --git a/share/cmake-3.16/Modules/Platform/OpenBSD.cmake b/share/cmake-3.17/Modules/Platform/OpenBSD.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/OpenBSD.cmake
rename to share/cmake-3.17/Modules/Platform/OpenBSD.cmake
diff --git a/share/cmake-3.16/Modules/Platform/OpenVMS.cmake b/share/cmake-3.17/Modules/Platform/OpenVMS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/OpenVMS.cmake
rename to share/cmake-3.17/Modules/Platform/OpenVMS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/QNX.cmake b/share/cmake-3.17/Modules/Platform/QNX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/QNX.cmake
rename to share/cmake-3.17/Modules/Platform/QNX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/RISCos.cmake b/share/cmake-3.17/Modules/Platform/RISCos.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/RISCos.cmake
rename to share/cmake-3.17/Modules/Platform/RISCos.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SCO_SV.cmake b/share/cmake-3.17/Modules/Platform/SCO_SV.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SCO_SV.cmake
rename to share/cmake-3.17/Modules/Platform/SCO_SV.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SINIX.cmake b/share/cmake-3.17/Modules/Platform/SINIX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SINIX.cmake
rename to share/cmake-3.17/Modules/Platform/SINIX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/SunOS-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/SunOS-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/SunOS-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/SunOS-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/SunOS-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-GNU.cmake b/share/cmake-3.17/Modules/Platform/SunOS-GNU.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-GNU.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-PathScale-C.cmake b/share/cmake-3.17/Modules/Platform/SunOS-PathScale-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-PathScale-C.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-PathScale-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-PathScale-CXX.cmake b/share/cmake-3.17/Modules/Platform/SunOS-PathScale-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-PathScale-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-PathScale-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-PathScale-Fortran.cmake b/share/cmake-3.17/Modules/Platform/SunOS-PathScale-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-PathScale-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-PathScale-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS-PathScale.cmake b/share/cmake-3.17/Modules/Platform/SunOS-PathScale.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS-PathScale.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS-PathScale.cmake
diff --git a/share/cmake-3.16/Modules/Platform/SunOS.cmake b/share/cmake-3.17/Modules/Platform/SunOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/SunOS.cmake
rename to share/cmake-3.17/Modules/Platform/SunOS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Tru64.cmake b/share/cmake-3.17/Modules/Platform/Tru64.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Tru64.cmake
rename to share/cmake-3.17/Modules/Platform/Tru64.cmake
diff --git a/share/cmake-3.16/Modules/Platform/ULTRIX.cmake b/share/cmake-3.17/Modules/Platform/ULTRIX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/ULTRIX.cmake
rename to share/cmake-3.17/Modules/Platform/ULTRIX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/UNIX_SV.cmake b/share/cmake-3.17/Modules/Platform/UNIX_SV.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/UNIX_SV.cmake
rename to share/cmake-3.17/Modules/Platform/UNIX_SV.cmake
diff --git a/share/cmake-3.16/Modules/Platform/UnixPaths.cmake b/share/cmake-3.17/Modules/Platform/UnixPaths.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/UnixPaths.cmake
rename to share/cmake-3.17/Modules/Platform/UnixPaths.cmake
diff --git a/share/cmake-3.16/Modules/Platform/UnixWare.cmake b/share/cmake-3.17/Modules/Platform/UnixWare.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/UnixWare.cmake
rename to share/cmake-3.17/Modules/Platform/UnixWare.cmake
diff --git a/share/cmake-3.17/Modules/Platform/Windows-Apple-Swift.cmake b/share/cmake-3.17/Modules/Platform/Windows-Apple-Swift.cmake
new file mode 100644
index 0000000..1177755
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/Windows-Apple-Swift.cmake
@@ -0,0 +1 @@
+set(CMAKE_Swift_IMPLIB_LINKER_FLAGS "-Xlinker -implib:<TARGET_IMPLIB>")
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Borland-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-Borland-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Borland-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Borland-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Borland-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-Borland-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Borland-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Borland-CXX.cmake
diff --git a/share/cmake-3.17/Modules/Platform/Windows-Clang-ASM.cmake b/share/cmake-3.17/Modules/Platform/Windows-Clang-ASM.cmake
new file mode 100644
index 0000000..345d77d
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/Windows-Clang-ASM.cmake
@@ -0,0 +1,2 @@
+include(Platform/Windows-Clang)
+__windows_compiler_clang(ASM)
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Clang-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Clang.cmake b/share/cmake-3.17/Modules/Platform/Windows-Clang.cmake
similarity index 72%
rename from share/cmake-3.16/Modules/Platform/Windows-Clang.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Clang.cmake
index 02864c6..87ddfcd 100644
--- a/share/cmake-3.16/Modules/Platform/Windows-Clang.cmake
+++ b/share/cmake-3.17/Modules/Platform/Windows-Clang.cmake
@@ -21,10 +21,12 @@
   set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
   set(CMAKE_SHARED_MODULE_SUFFIX  ".dll")
   set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
-  set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <OBJECT> -MF <DEPFILE>")
+  if(NOT "${lang}" STREQUAL "ASM")
+    set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <OBJECT> -MF <DEPFILE>")
+  endif()
 
   set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a" ".lib")
   set(CMAKE_SUPPORT_WINDOWS_EXPORT_ALL_SYMBOLS 1)
   set (CMAKE_LINK_DEF_FILE_FLAG "-Xlinker /DEF:")
 
@@ -61,28 +63,30 @@
   set(CMAKE_${lang}_LINK_EXECUTABLE
     "<CMAKE_${lang}_COMPILER> -fuse-ld=lld-link -nostartfiles -nostdlib <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Xlinker /implib:<TARGET_IMPLIB> -Xlinker /pdb:<TARGET_PDB> -Xlinker /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
 
-  set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreaded         -Xclang -flto-visibility-public-std -D_MT -Xclang --dependent-lib=libcmt)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDLL      -D_DLL -D_MT -Xclang --dependent-lib=msvcrt)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebug    -D_DEBUG -Xclang -flto-visibility-public-std -D_MT -Xclang --dependent-lib=libcmtd)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebugDLL -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd)
+  if(NOT "${lang}" STREQUAL "ASM")
+    set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreaded         -Xclang -flto-visibility-public-std -D_MT -Xclang --dependent-lib=libcmt)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDLL      -D_DLL -D_MT -Xclang --dependent-lib=msvcrt)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebug    -D_DEBUG -Xclang -flto-visibility-public-std -D_MT -Xclang --dependent-lib=libcmtd)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebugDLL -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd)
 
-  if(CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT)
-    set(__ADDED_FLAGS "")
-    set(__ADDED_FLAGS_DEBUG "")
-  else()
-    set(__ADDED_FLAGS_DEBUG "-D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd")
-    set(__ADDED_FLAGS "-D_DLL -D_MT -Xclang --dependent-lib=msvcrt")
+    if(CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT)
+      set(__ADDED_FLAGS "")
+      set(__ADDED_FLAGS_DEBUG "")
+    else()
+      set(__ADDED_FLAGS_DEBUG "-D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd")
+      set(__ADDED_FLAGS "-D_DLL -D_MT -Xclang --dependent-lib=msvcrt")
+    endif()
+
+    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -Xclang -gcodeview -O0 ${__ADDED_FLAGS_DEBUG}")
+    string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG ${__ADDED_FLAGS}")
+    string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG ${__ADDED_FLAGS}")
+    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG -Xclang -gcodeview ${__ADDED_FLAGS}")
   endif()
-
-  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -Xclang -gcodeview -O0 ${__ADDED_FLAGS_DEBUG}")
-  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG ${__ADDED_FLAGS}")
-  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG ${__ADDED_FLAGS}")
-  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG -Xclang -gcodeview ${__ADDED_FLAGS}")
   set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
 
   set(CMAKE_PCH_EXTENSION .pch)
   set(CMAKE_PCH_PROLOGUE "#pragma clang system_header")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE>)
+  set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE> -Xclang -include -Xclang <PCH_HEADER>)
   set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER>)
 
   unset(__ADDED_FLAGS)
@@ -129,6 +133,23 @@
   if ( "x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC" OR "x${CMAKE_C_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC" )
     include(Platform/Windows-MSVC)
 
+    # Feed the preprocessed rc file to llvm-rc
+    if(CMAKE_RC_COMPILER_INIT STREQUAL "llvm-rc")
+      if(DEFINED CMAKE_C_COMPILER)
+        set(CMAKE_RC_PREPROCESSOR CMAKE_C_COMPILER)
+      elseif(DEFINED CMAKE_CXX_COMPILER)
+        set(CMAKE_RC_PREPROCESSOR CMAKE_CXX_COMPILER)
+      endif()
+      if(DEFINED CMAKE_RC_PREPROCESSOR)
+        set(CMAKE_RC_COMPILE_OBJECT "${CMAKE_COMMAND} -E cmake_llvm_rc <OBJECT>.pp <${CMAKE_RC_PREPROCESSOR}> <DEFINES> -DRC_INVOKED <INCLUDES> <FLAGS> -clang:-MD -clang:-MF -clang:<SOURCE>.d -E <SOURCE> -- <CMAKE_RC_COMPILER> <DEFINES> /fo <OBJECT> <OBJECT>.pp")
+        if(CMAKE_GENERATOR STREQUAL "Ninja")
+          set(CMAKE_NINJA_CMCLDEPS_RC 0)
+          set(CMAKE_NINJA_DEP_TYPE_RC gcc)
+        endif()
+        unset(CMAKE_RC_PREPROCESSOR)
+      endif()
+    endif()
+
     macro(__windows_compiler_clang lang)
       set(_COMPILE_${lang} "${_COMPILE_${lang}_MSVC}")
       __windows_compiler_msvc(${lang})
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Embarcadero-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-Embarcadero-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Embarcadero-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Embarcadero-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Embarcadero-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-Embarcadero-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Embarcadero-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Embarcadero-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Embarcadero.cmake b/share/cmake-3.17/Modules/Platform/Windows-Embarcadero.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Platform/Windows-Embarcadero.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Embarcadero.cmake
index 370b56e..0c24739 100644
--- a/share/cmake-3.16/Modules/Platform/Windows-Embarcadero.cmake
+++ b/share/cmake-3.17/Modules/Platform/Windows-Embarcadero.cmake
@@ -122,7 +122,7 @@
   # Precompile Headers
   if (EMBARCADERO)
     set(CMAKE_PCH_EXTENSION .pch)
-    set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE>)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE> -Xclang -include -Xclang <PCH_HEADER>)
     set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER>)
   endif()
 
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Flang-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Windows-Flang-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Flang-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Flang-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-G95-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Windows-G95-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-G95-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-G95-Fortran.cmake
diff --git a/share/cmake-3.17/Modules/Platform/Windows-GNU-ASM.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-ASM.cmake
new file mode 100644
index 0000000..8600892
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/Windows-GNU-ASM.cmake
@@ -0,0 +1,2 @@
+include(Platform/Windows-GNU)
+__windows_compiler_gnu(ASM)
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU-C-ABI.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-C-ABI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU-C-ABI.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU-C-ABI.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU-CXX-ABI.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-CXX-ABI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU-CXX-ABI.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU-CXX-ABI.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU-Fortran-ABI.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-GNU.cmake b/share/cmake-3.17/Modules/Platform/Windows-GNU.cmake
similarity index 98%
rename from share/cmake-3.16/Modules/Platform/Windows-GNU.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-GNU.cmake
index 6bf245c..38a8cf4 100644
--- a/share/cmake-3.16/Modules/Platform/Windows-GNU.cmake
+++ b/share/cmake-3.17/Modules/Platform/Windows-GNU.cmake
@@ -25,7 +25,7 @@
 
 if(MINGW)
   set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a" ".lib")
   set(CMAKE_C_STANDARD_LIBRARIES_INIT "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32")
   set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
 endif()
@@ -124,7 +124,7 @@
       string(REPLACE "<OBJECTS>" "-Wl,--whole-archive <OBJECT_DIR>/objects.a -Wl,--no-whole-archive"
         CMAKE_${lang}_${rule} "${CMAKE_${lang}_${rule}}")
       set(CMAKE_${lang}_${rule}
-        "<CMAKE_COMMAND> -E remove -f <OBJECT_DIR>/objects.a"
+        "<CMAKE_COMMAND> -E rm -f <OBJECT_DIR>/objects.a"
         "<CMAKE_AR> cr <OBJECT_DIR>/objects.a <OBJECTS>"
         "${CMAKE_${lang}_${rule}}"
         )
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Intel-ASM.cmake b/share/cmake-3.17/Modules/Platform/Windows-Intel-ASM.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Intel-ASM.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Intel-ASM.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Intel-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Intel-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Intel-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Intel-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Intel-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Intel-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Intel-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Windows-Intel-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Intel-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Intel-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Intel.cmake b/share/cmake-3.17/Modules/Platform/Windows-Intel.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Intel.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Intel.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-MSVC-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-MSVC-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-MSVC-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-MSVC-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-MSVC-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-MSVC-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-MSVC.cmake b/share/cmake-3.17/Modules/Platform/Windows-MSVC.cmake
similarity index 99%
rename from share/cmake-3.16/Modules/Platform/Windows-MSVC.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-MSVC.cmake
index 34f5d03..e1d6733 100644
--- a/share/cmake-3.16/Modules/Platform/Windows-MSVC.cmake
+++ b/share/cmake-3.17/Modules/Platform/Windows-MSVC.cmake
@@ -217,7 +217,7 @@
 else()
   set(_PLATFORM_DEFINES "/DWIN32")
 
-  if(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM" OR _MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64" OR _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM64")
+  if(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
     set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
   elseif(MSVC_VERSION GREATER 1310)
     if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
diff --git a/share/cmake-3.16/Modules/Platform/Windows-NVIDIA-CUDA.cmake b/share/cmake-3.17/Modules/Platform/Windows-NVIDIA-CUDA.cmake
similarity index 77%
rename from share/cmake-3.16/Modules/Platform/Windows-NVIDIA-CUDA.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-NVIDIA-CUDA.cmake
index 94d77b9..f809094 100644
--- a/share/cmake-3.16/Modules/Platform/Windows-NVIDIA-CUDA.cmake
+++ b/share/cmake-3.17/Modules/Platform/Windows-NVIDIA-CUDA.cmake
@@ -1,11 +1,11 @@
 include(Platform/Windows-MSVC)
 
 set(CMAKE_CUDA_COMPILE_PTX_COMPILATION
-  "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -ptx <SOURCE> -o <OBJECT> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
+  "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -ptx <SOURCE> -o <OBJECT> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
 set(CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION
-  "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -dc <SOURCE> -o <OBJECT> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
+  "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -dc <SOURCE> -o <OBJECT> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
 set(CMAKE_CUDA_COMPILE_WHOLE_COMPILATION
-  "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -c <SOURCE> -o <OBJECT> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
+  "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -x cu -c <SOURCE> -o <OBJECT> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
 
 set(__IMPLICT_LINKS )
 foreach(dir ${CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES})
@@ -30,11 +30,6 @@
 unset(_CMAKE_VS_LINK_EXE)
 unset(_CMAKE_VS_LINK_EXE)
 
-if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
-  set(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS "-Wno-deprecated-gpu-targets")
-else()
-  set(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS "")
-endif()
 
 # Add implicit host link directories that contain device libraries
 # to the device link line.
@@ -51,11 +46,9 @@
 unset(__IMPLICT_DLINK_DIRS)
 
 set(CMAKE_CUDA_DEVICE_LINK_LIBRARY
-  "<CMAKE_CUDA_COMPILER> <LANGUAGE_COMPILE_FLAGS> ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS${__IMPLICT_DLINK_FLAGS}")
+  "<CMAKE_CUDA_COMPILER> ${_CMAKE_CUDA_EXTRA_FLAGS} <LANGUAGE_COMPILE_FLAGS> ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS${__IMPLICT_DLINK_FLAGS}")
 set(CMAKE_CUDA_DEVICE_LINK_EXECUTABLE
-  "<CMAKE_CUDA_COMPILER> <FLAGS> ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS${__IMPLICT_DLINK_FLAGS}")
-
-unset(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS)
+  "<CMAKE_CUDA_COMPILER>  ${_CMAKE_CUDA_EXTRA_FLAGS} <FLAGS> ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS${__IMPLICT_DLINK_FLAGS}")
 unset(__IMPLICT_DLINK_FLAGS)
 
 string(REPLACE "/D" "-D" _PLATFORM_DEFINES_CUDA "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_CXX}")
@@ -76,6 +69,11 @@
 endif()
 unset(_cmp0092)
 
+set(CMAKE_CUDA_RUNTIME_LIBRARY_DEFAULT "STATIC")
+set(CMAKE_CUDA_RUNTIME_LIBRARY_LINK_OPTIONS_STATIC  "cudadevrt;cudart_static")
+set(CMAKE_CUDA_RUNTIME_LIBRARY_LINK_OPTIONS_SHARED  "cudadevrt;cudart")
+set(CMAKE_CUDA_RUNTIME_LIBRARY_LINK_OPTIONS_NONE    "")
+
 string(APPEND CMAKE_CUDA_FLAGS_INIT " ${PLATFORM_DEFINES_CUDA} -D_WINDOWS -Xcompiler=\"${_W3}${_FLAGS_CXX}\"")
 string(APPEND CMAKE_CUDA_FLAGS_DEBUG_INIT " -Xcompiler=\"${_MDd}-Zi -Ob0 -Od ${_RTC1}\"")
 string(APPEND CMAKE_CUDA_FLAGS_RELEASE_INIT " -Xcompiler=\"${_MD}-O2 -Ob2\" -DNDEBUG")
diff --git a/share/cmake-3.16/Modules/Platform/Windows-OpenWatcom-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-OpenWatcom-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-OpenWatcom-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-OpenWatcom-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-OpenWatcom-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-OpenWatcom-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-OpenWatcom-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-OpenWatcom-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-OpenWatcom.cmake b/share/cmake-3.17/Modules/Platform/Windows-OpenWatcom.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-OpenWatcom.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-OpenWatcom.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-PGI-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-PGI-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-PGI-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-PGI-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-PGI-Fortran.cmake b/share/cmake-3.17/Modules/Platform/Windows-PGI-Fortran.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-PGI-Fortran.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-PGI-Fortran.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-PGI.cmake b/share/cmake-3.17/Modules/Platform/Windows-PGI.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/Platform/Windows-PGI.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-PGI.cmake
index ad77e8a..8166240 100644
--- a/share/cmake-3.16/Modules/Platform/Windows-PGI.cmake
+++ b/share/cmake-3.17/Modules/Platform/Windows-PGI.cmake
@@ -9,9 +9,10 @@
 set(__WINDOWS_COMPILER_PGI 1)
 
 # PGI on Windows doesn't support parallel compile processes
-if(NOT DEFINED CMAKE_JOB_POOL_LINK OR NOT DEFINED CMAKE_JOB_POOL_COMPILE)
+if(NOT DEFINED CMAKE_JOB_POOL_LINK OR NOT DEFINED CMAKE_JOB_POOL_COMPILE OR NOT DEFINED CMAKE_JOB_POOL_PRECOMPILE_HEADER)
   set(CMAKE_JOB_POOL_LINK PGITaskPool)
   set(CMAKE_JOB_POOL_COMPILE PGITaskPool)
+  set(CMAKE_JOB_POOL_PRECOMPILE_HEADER PGITaskPool)
   get_property(_pgijp GLOBAL PROPERTY JOB_POOLS)
   if(NOT _pgijp MATCHES "PGITaskPool=")
       set_property(GLOBAL APPEND PROPERTY JOB_POOLS PGITaskPool=1)
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Watcom-C.cmake b/share/cmake-3.17/Modules/Platform/Windows-Watcom-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Watcom-C.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Watcom-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-Watcom-CXX.cmake b/share/cmake-3.17/Modules/Platform/Windows-Watcom-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-Watcom-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-Watcom-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-df.cmake b/share/cmake-3.17/Modules/Platform/Windows-df.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-df.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-df.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows-windres.cmake b/share/cmake-3.17/Modules/Platform/Windows-windres.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows-windres.cmake
rename to share/cmake-3.17/Modules/Platform/Windows-windres.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Windows.cmake b/share/cmake-3.17/Modules/Platform/Windows.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Windows.cmake
rename to share/cmake-3.17/Modules/Platform/Windows.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsCE-MSVC-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsCE-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsCE-MSVC-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsCE-MSVC-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsCE-MSVC-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsCE-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsCE-MSVC-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsCE-MSVC-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsCE.cmake b/share/cmake-3.17/Modules/Platform/WindowsCE.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsCE.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsCE.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPaths.cmake b/share/cmake-3.17/Modules/Platform/WindowsPaths.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPaths.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPaths.cmake
diff --git a/share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-ASM.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-ASM.cmake
new file mode 100644
index 0000000..94f4ca7
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-ASM.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-Clang-ASM)
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone-Clang-CXX.cmake
diff --git a/share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-ASM.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-ASM.cmake
new file mode 100644
index 0000000..140eea7
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-ASM.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-GNU-ASM)
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone-MSVC-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone-MSVC-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone-MSVC-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone-MSVC-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsPhone.cmake b/share/cmake-3.17/Modules/Platform/WindowsPhone.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsPhone.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsPhone.cmake
diff --git a/share/cmake-3.17/Modules/Platform/WindowsStore-Clang-ASM.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-Clang-ASM.cmake
new file mode 100644
index 0000000..94f4ca7
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/WindowsStore-Clang-ASM.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-Clang-ASM)
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore-Clang-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore-Clang-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore-Clang-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore-Clang-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore-Clang-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore-Clang-CXX.cmake
diff --git a/share/cmake-3.17/Modules/Platform/WindowsStore-GNU-ASM.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-GNU-ASM.cmake
new file mode 100644
index 0000000..140eea7
--- /dev/null
+++ b/share/cmake-3.17/Modules/Platform/WindowsStore-GNU-ASM.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-GNU-ASM)
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore-GNU-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore-GNU-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore-GNU-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore-GNU-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore-GNU-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore-GNU-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore-MSVC-C.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore-MSVC-C.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore-MSVC-C.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore-MSVC-CXX.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore-MSVC-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore-MSVC-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/WindowsStore.cmake b/share/cmake-3.17/Modules/Platform/WindowsStore.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/WindowsStore.cmake
rename to share/cmake-3.17/Modules/Platform/WindowsStore.cmake
diff --git a/share/cmake-3.16/Modules/Platform/Xenix.cmake b/share/cmake-3.17/Modules/Platform/Xenix.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/Xenix.cmake
rename to share/cmake-3.17/Modules/Platform/Xenix.cmake
diff --git a/share/cmake-3.16/Modules/Platform/eCos.cmake b/share/cmake-3.17/Modules/Platform/eCos.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/eCos.cmake
rename to share/cmake-3.17/Modules/Platform/eCos.cmake
diff --git a/share/cmake-3.16/Modules/Platform/gas.cmake b/share/cmake-3.17/Modules/Platform/gas.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/gas.cmake
rename to share/cmake-3.17/Modules/Platform/gas.cmake
diff --git a/share/cmake-3.16/Modules/Platform/iOS-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/iOS-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/iOS-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/iOS-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/iOS-Initialize.cmake b/share/cmake-3.17/Modules/Platform/iOS-Initialize.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/iOS-Initialize.cmake
rename to share/cmake-3.17/Modules/Platform/iOS-Initialize.cmake
diff --git a/share/cmake-3.16/Modules/Platform/iOS.cmake b/share/cmake-3.17/Modules/Platform/iOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/iOS.cmake
rename to share/cmake-3.17/Modules/Platform/iOS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/kFreeBSD.cmake b/share/cmake-3.17/Modules/Platform/kFreeBSD.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/kFreeBSD.cmake
rename to share/cmake-3.17/Modules/Platform/kFreeBSD.cmake
diff --git a/share/cmake-3.16/Modules/Platform/syllable.cmake b/share/cmake-3.17/Modules/Platform/syllable.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/syllable.cmake
rename to share/cmake-3.17/Modules/Platform/syllable.cmake
diff --git a/share/cmake-3.16/Modules/Platform/tvOS-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/tvOS-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/tvOS-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/tvOS-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/tvOS-Initialize.cmake b/share/cmake-3.17/Modules/Platform/tvOS-Initialize.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/tvOS-Initialize.cmake
rename to share/cmake-3.17/Modules/Platform/tvOS-Initialize.cmake
diff --git a/share/cmake-3.16/Modules/Platform/tvOS.cmake b/share/cmake-3.17/Modules/Platform/tvOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/tvOS.cmake
rename to share/cmake-3.17/Modules/Platform/tvOS.cmake
diff --git a/share/cmake-3.16/Modules/Platform/watchOS-Determine-CXX.cmake b/share/cmake-3.17/Modules/Platform/watchOS-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/watchOS-Determine-CXX.cmake
rename to share/cmake-3.17/Modules/Platform/watchOS-Determine-CXX.cmake
diff --git a/share/cmake-3.16/Modules/Platform/watchOS-Initialize.cmake b/share/cmake-3.17/Modules/Platform/watchOS-Initialize.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/watchOS-Initialize.cmake
rename to share/cmake-3.17/Modules/Platform/watchOS-Initialize.cmake
diff --git a/share/cmake-3.16/Modules/Platform/watchOS.cmake b/share/cmake-3.17/Modules/Platform/watchOS.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Platform/watchOS.cmake
rename to share/cmake-3.17/Modules/Platform/watchOS.cmake
diff --git a/share/cmake-3.16/Modules/ProcessorCount.cmake b/share/cmake-3.17/Modules/ProcessorCount.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/ProcessorCount.cmake
rename to share/cmake-3.17/Modules/ProcessorCount.cmake
diff --git a/share/cmake-3.16/Modules/Qt4ConfigDependentSettings.cmake b/share/cmake-3.17/Modules/Qt4ConfigDependentSettings.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Qt4ConfigDependentSettings.cmake
rename to share/cmake-3.17/Modules/Qt4ConfigDependentSettings.cmake
diff --git a/share/cmake-3.16/Modules/Qt4Macros.cmake b/share/cmake-3.17/Modules/Qt4Macros.cmake
similarity index 97%
rename from share/cmake-3.16/Modules/Qt4Macros.cmake
rename to share/cmake-3.17/Modules/Qt4Macros.cmake
index 33cacf1..cb6ae43 100644
--- a/share/cmake-3.16/Modules/Qt4Macros.cmake
+++ b/share/cmake-3.17/Modules/Qt4Macros.cmake
@@ -436,7 +436,7 @@
     if(_my_sources)
       # make a .pro file to call lupdate on, so we don't make our commands too
       # long for some systems
-      get_filename_component(_ts_name ${_ts_file} NAME_WE)
+      get_filename_component(_ts_name ${_ts_file} NAME)
       set(_ts_pro ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lupdate.pro)
       set(_pro_srcs)
       foreach(_pro_src ${_my_sources})
@@ -463,13 +463,15 @@
 macro(QT4_ADD_TRANSLATION _qm_files)
   foreach (_current_FILE ${ARGN})
     get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
-    get_filename_component(qm ${_abs_FILE} NAME_WE)
-    get_property(output_location SOURCE ${_abs_FILE} PROPERTY OUTPUT_LOCATION)
+    get_filename_component(qm ${_abs_FILE} NAME)
+    # everything before the last dot has to be considered the file name (including other dots)
+    string(REGEX REPLACE "\\.[^.]*$" "" FILE_NAME ${qm})
+    get_source_file_property(output_location ${_abs_FILE} OUTPUT_LOCATION)
     if(output_location)
       file(MAKE_DIRECTORY "${output_location}")
-      set(qm "${output_location}/${qm}.qm")
+      set(qm "${output_location}/${FILE_NAME}.qm")
     else()
-      set(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
+      set(qm "${CMAKE_CURRENT_BINARY_DIR}/${FILE_NAME}.qm")
     endif()
 
     add_custom_command(OUTPUT ${qm}
diff --git a/share/cmake-3.16/Modules/RepositoryInfo.txt.in b/share/cmake-3.17/Modules/RepositoryInfo.txt.in
similarity index 100%
rename from share/cmake-3.16/Modules/RepositoryInfo.txt.in
rename to share/cmake-3.17/Modules/RepositoryInfo.txt.in
diff --git a/share/cmake-3.16/Modules/SelectLibraryConfigurations.cmake b/share/cmake-3.17/Modules/SelectLibraryConfigurations.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/SelectLibraryConfigurations.cmake
rename to share/cmake-3.17/Modules/SelectLibraryConfigurations.cmake
diff --git a/share/cmake-3.16/Modules/Squish4RunTestCase.bat b/share/cmake-3.17/Modules/Squish4RunTestCase.bat
old mode 100755
new mode 100644
similarity index 100%
rename from share/cmake-3.16/Modules/Squish4RunTestCase.bat
rename to share/cmake-3.17/Modules/Squish4RunTestCase.bat
diff --git a/share/cmake-3.16/Modules/Squish4RunTestCase.sh b/share/cmake-3.17/Modules/Squish4RunTestCase.sh
old mode 100644
new mode 100755
similarity index 100%
rename from share/cmake-3.16/Modules/Squish4RunTestCase.sh
rename to share/cmake-3.17/Modules/Squish4RunTestCase.sh
diff --git a/share/cmake-3.16/Modules/SquishRunTestCase.bat b/share/cmake-3.17/Modules/SquishRunTestCase.bat
old mode 100755
new mode 100644
similarity index 100%
rename from share/cmake-3.16/Modules/SquishRunTestCase.bat
rename to share/cmake-3.17/Modules/SquishRunTestCase.bat
diff --git a/share/cmake-3.16/Modules/SquishRunTestCase.sh b/share/cmake-3.17/Modules/SquishRunTestCase.sh
old mode 100644
new mode 100755
similarity index 100%
rename from share/cmake-3.16/Modules/SquishRunTestCase.sh
rename to share/cmake-3.17/Modules/SquishRunTestCase.sh
diff --git a/share/cmake-3.16/Modules/SquishTestScript.cmake b/share/cmake-3.17/Modules/SquishTestScript.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/SquishTestScript.cmake
rename to share/cmake-3.17/Modules/SquishTestScript.cmake
diff --git a/share/cmake-3.16/Modules/SystemInformation.cmake b/share/cmake-3.17/Modules/SystemInformation.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/SystemInformation.cmake
rename to share/cmake-3.17/Modules/SystemInformation.cmake
diff --git a/share/cmake-3.16/Modules/SystemInformation.in b/share/cmake-3.17/Modules/SystemInformation.in
similarity index 100%
rename from share/cmake-3.16/Modules/SystemInformation.in
rename to share/cmake-3.17/Modules/SystemInformation.in
diff --git a/share/cmake-3.16/Modules/TestBigEndian.cmake b/share/cmake-3.17/Modules/TestBigEndian.cmake
similarity index 89%
rename from share/cmake-3.16/Modules/TestBigEndian.cmake
rename to share/cmake-3.17/Modules/TestBigEndian.cmake
index 0c6e188..8a769b7 100644
--- a/share/cmake-3.16/Modules/TestBigEndian.cmake
+++ b/share/cmake-3.17/Modules/TestBigEndian.cmake
@@ -19,8 +19,8 @@
 
 macro(TEST_BIG_ENDIAN VARIABLE)
   if(NOT DEFINED HAVE_${VARIABLE})
-    message(STATUS "Check if the system is big endian")
-    message(STATUS "Searching 16 bit integer")
+    message(CHECK_START "Check if the system is big endian")
+    message(CHECK_START "Searching 16 bit integer")
 
     if(CMAKE_C_COMPILER_LOADED)
       set(_test_language "C")
@@ -32,19 +32,19 @@
 
     CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT LANGUAGE ${_test_language})
     if(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
-      message(STATUS "Using unsigned short")
+      message(CHECK_PASS "Using unsigned short")
       set(CMAKE_16BIT_TYPE "unsigned short")
     else()
       CHECK_TYPE_SIZE("unsigned int"   CMAKE_SIZEOF_UNSIGNED_INT LANGUAGE ${_test_language})
       if(CMAKE_SIZEOF_UNSIGNED_INT)
-        message(STATUS "Using unsigned int")
+        message(CHECK_PASS "Using unsigned int")
         set(CMAKE_16BIT_TYPE "unsigned int")
 
       else()
 
         CHECK_TYPE_SIZE("unsigned long"  CMAKE_SIZEOF_UNSIGNED_LONG LANGUAGE ${_test_language})
         if(CMAKE_SIZEOF_UNSIGNED_LONG)
-          message(STATUS "Using unsigned long")
+          message(CHECK_PASS "Using unsigned long")
           set(CMAKE_16BIT_TYPE "unsigned long")
         else()
           message(FATAL_ERROR "no suitable type found")
@@ -95,15 +95,16 @@
 
         if(CMAKE_TEST_ENDIANESS_STRINGS_LE)
           set(${VARIABLE} 0 CACHE INTERNAL "Result of TEST_BIG_ENDIAN" FORCE)
-          message(STATUS "Check if the system is big endian - little endian")
+          message(CHECK_PASS "little endian")
         endif()
 
         if(CMAKE_TEST_ENDIANESS_STRINGS_BE)
           set(${VARIABLE} 1 CACHE INTERNAL "Result of TEST_BIG_ENDIAN" FORCE)
-          message(STATUS "Check if the system is big endian - big endian")
+          message(CHECK_PASS "big endian")
         endif()
 
         if(NOT CMAKE_TEST_ENDIANESS_STRINGS_BE  AND  NOT CMAKE_TEST_ENDIANESS_STRINGS_LE)
+          message(CHECK_FAIL "TEST_BIG_ENDIAN found no result!")
           message(SEND_ERROR "TEST_BIG_ENDIAN found no result!")
         endif()
 
@@ -111,7 +112,7 @@
           "Determining if the system is big endian passed with the following output:\n${OUTPUT}\nTestEndianess.c:\n${TEST_ENDIANESS_FILE_CONTENT}\n\n")
 
       else()
-        message(STATUS "Check if the system is big endian - failed")
+        message(CHECK_FAIL "failed")
         file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
           "Determining if the system is big endian failed with the following output:\n${OUTPUT}\nTestEndianess.c:\n${TEST_ENDIANESS_FILE_CONTENT}\n\n")
         set(${VARIABLE})
diff --git a/share/cmake-3.16/Modules/TestCXXAcceptsFlag.cmake b/share/cmake-3.17/Modules/TestCXXAcceptsFlag.cmake
similarity index 84%
rename from share/cmake-3.16/Modules/TestCXXAcceptsFlag.cmake
rename to share/cmake-3.17/Modules/TestCXXAcceptsFlag.cmake
index 92a362e..ce505f3 100644
--- a/share/cmake-3.16/Modules/TestCXXAcceptsFlag.cmake
+++ b/share/cmake-3.17/Modules/TestCXXAcceptsFlag.cmake
@@ -23,19 +23,19 @@
 
 macro(CHECK_CXX_ACCEPTS_FLAG FLAGS  VARIABLE)
   if(NOT DEFINED ${VARIABLE})
-    message(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS}")
+    message(CHECK_START "Checking to see if CXX compiler accepts flag ${FLAGS}")
     try_compile(${VARIABLE}
       ${CMAKE_BINARY_DIR}
       ${CMAKE_ROOT}/Modules/DummyCXXFile.cxx
       CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${FLAGS}
       OUTPUT_VARIABLE OUTPUT)
     if(${VARIABLE})
-      message(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS} - yes")
+      message(CHECK_PASS "yes")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the CXX compiler accepts the flag ${FLAGS} passed with "
         "the following output:\n${OUTPUT}\n\n")
     else()
-      message(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS} - no")
+      message(CHECK_FAIL "no")
       file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Determining if the CXX compiler accepts the flag ${FLAGS} failed with "
         "the following output:\n${OUTPUT}\n\n")
diff --git a/share/cmake-3.16/Modules/TestEndianess.c.in b/share/cmake-3.17/Modules/TestEndianess.c.in
similarity index 100%
rename from share/cmake-3.16/Modules/TestEndianess.c.in
rename to share/cmake-3.17/Modules/TestEndianess.c.in
diff --git a/share/cmake-3.16/Modules/TestForANSIForScope.cmake b/share/cmake-3.17/Modules/TestForANSIForScope.cmake
similarity index 90%
rename from share/cmake-3.16/Modules/TestForANSIForScope.cmake
rename to share/cmake-3.17/Modules/TestForANSIForScope.cmake
index 272e4ec..0f2dc01 100644
--- a/share/cmake-3.16/Modules/TestForANSIForScope.cmake
+++ b/share/cmake-3.17/Modules/TestForANSIForScope.cmake
@@ -16,19 +16,19 @@
 #]=======================================================================]
 
 if(NOT DEFINED CMAKE_ANSI_FOR_SCOPE)
-  message(STATUS "Check for ANSI scope")
+  message(CHECK_START "Check for ANSI scope")
   try_compile(CMAKE_ANSI_FOR_SCOPE  ${CMAKE_BINARY_DIR}
     ${CMAKE_ROOT}/Modules/TestForAnsiForScope.cxx
     OUTPUT_VARIABLE OUTPUT)
   if (CMAKE_ANSI_FOR_SCOPE)
-    message(STATUS "Check for ANSI scope - found")
+    message(CHECK_PASS "found")
     set (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
       "Does the compiler support ansi for scope.")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the CXX compiler understands ansi for scopes passed with "
       "the following output:\n${OUTPUT}\n\n")
   else ()
-    message(STATUS "Check for ANSI scope - not found")
+    message(CHECK_FAIL "not found")
     set (CMAKE_NO_ANSI_FOR_SCOPE 1 CACHE INTERNAL
       "Does the compiler support ansi for scope.")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/TestForANSIStreamHeaders.cmake b/share/cmake-3.17/Modules/TestForANSIStreamHeaders.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/TestForANSIStreamHeaders.cmake
rename to share/cmake-3.17/Modules/TestForANSIStreamHeaders.cmake
diff --git a/share/cmake-3.16/Modules/TestForANSIStreamHeaders.cxx b/share/cmake-3.17/Modules/TestForANSIStreamHeaders.cxx
similarity index 100%
rename from share/cmake-3.16/Modules/TestForANSIStreamHeaders.cxx
rename to share/cmake-3.17/Modules/TestForANSIStreamHeaders.cxx
diff --git a/share/cmake-3.16/Modules/TestForAnsiForScope.cxx b/share/cmake-3.17/Modules/TestForAnsiForScope.cxx
similarity index 100%
rename from share/cmake-3.16/Modules/TestForAnsiForScope.cxx
rename to share/cmake-3.17/Modules/TestForAnsiForScope.cxx
diff --git a/share/cmake-3.16/Modules/TestForSSTREAM.cmake b/share/cmake-3.17/Modules/TestForSSTREAM.cmake
similarity index 90%
rename from share/cmake-3.16/Modules/TestForSSTREAM.cmake
rename to share/cmake-3.17/Modules/TestForSSTREAM.cmake
index e70df00..545b7ec 100644
--- a/share/cmake-3.16/Modules/TestForSSTREAM.cmake
+++ b/share/cmake-3.17/Modules/TestForSSTREAM.cmake
@@ -15,19 +15,19 @@
 #]=======================================================================]
 
 if(NOT DEFINED CMAKE_HAS_ANSI_STRING_STREAM)
-  message(STATUS "Check for sstream")
+  message(CHECK_START "Check for sstream")
   try_compile(CMAKE_HAS_ANSI_STRING_STREAM  ${CMAKE_BINARY_DIR}
     ${CMAKE_ROOT}/Modules/TestForSSTREAM.cxx
     OUTPUT_VARIABLE OUTPUT)
   if (CMAKE_HAS_ANSI_STRING_STREAM)
-    message(STATUS "Check for sstream - found")
+    message(CHECK_PASS "found")
     set (CMAKE_NO_ANSI_STRING_STREAM 0 CACHE INTERNAL
          "Does the compiler support sstream")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the CXX compiler has sstream passed with "
       "the following output:\n${OUTPUT}\n\n")
   else ()
-    message(STATUS "Check for sstream - not found")
+    message(CHECK_FAIL "not found")
     set (CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL
        "Does the compiler support sstream")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/TestForSSTREAM.cxx b/share/cmake-3.17/Modules/TestForSSTREAM.cxx
similarity index 100%
rename from share/cmake-3.16/Modules/TestForSSTREAM.cxx
rename to share/cmake-3.17/Modules/TestForSSTREAM.cxx
diff --git a/share/cmake-3.16/Modules/TestForSTDNamespace.cmake b/share/cmake-3.17/Modules/TestForSTDNamespace.cmake
similarity index 88%
rename from share/cmake-3.16/Modules/TestForSTDNamespace.cmake
rename to share/cmake-3.17/Modules/TestForSTDNamespace.cmake
index 703e631..d101c83 100644
--- a/share/cmake-3.16/Modules/TestForSTDNamespace.cmake
+++ b/share/cmake-3.17/Modules/TestForSTDNamespace.cmake
@@ -15,19 +15,19 @@
 #]=======================================================================]
 
 if(NOT DEFINED CMAKE_STD_NAMESPACE)
-  message(STATUS "Check for STD namespace")
+  message(CHECK_START "Check for STD namespace")
   try_compile(CMAKE_STD_NAMESPACE  ${CMAKE_BINARY_DIR}
     ${CMAKE_ROOT}/Modules/TestForSTDNamespace.cxx
     OUTPUT_VARIABLE OUTPUT)
   if (CMAKE_STD_NAMESPACE)
-    message(STATUS "Check for STD namespace - found")
+    message(CHECK_PASS "found")
     set (CMAKE_NO_STD_NAMESPACE 0 CACHE INTERNAL
          "Does the compiler support std::.")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the CXX compiler has std namespace passed with "
       "the following output:\n${OUTPUT}\n\n")
   else ()
-    message(STATUS "Check for STD namespace - not found")
+    message(CHECK_FAIL "not found")
     set (CMAKE_NO_STD_NAMESPACE 1 CACHE INTERNAL
        "Does the compiler support std::.")
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
diff --git a/share/cmake-3.16/Modules/TestForSTDNamespace.cxx b/share/cmake-3.17/Modules/TestForSTDNamespace.cxx
similarity index 100%
rename from share/cmake-3.16/Modules/TestForSTDNamespace.cxx
rename to share/cmake-3.17/Modules/TestForSTDNamespace.cxx
diff --git a/share/cmake-3.16/Modules/UseEcos.cmake b/share/cmake-3.17/Modules/UseEcos.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UseEcos.cmake
rename to share/cmake-3.17/Modules/UseEcos.cmake
diff --git a/share/cmake-3.16/Modules/UseJava.cmake b/share/cmake-3.17/Modules/UseJava.cmake
similarity index 95%
rename from share/cmake-3.16/Modules/UseJava.cmake
rename to share/cmake-3.17/Modules/UseJava.cmake
index 0798488..b668b9e 100644
--- a/share/cmake-3.16/Modules/UseJava.cmake
+++ b/share/cmake-3.17/Modules/UseJava.cmake
@@ -405,9 +405,14 @@
 
 # define helper scripts
 set(_JAVA_EXPORT_TARGETS_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/javaTargets.cmake.in)
-set(_JAVA_CLASS_FILELIST_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaClassFilelist.cmake)
 set(_JAVA_SYMLINK_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaSymlinks.cmake)
 
+if (CMAKE_HOST_WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
+    set(_UseJava_PATH_SEP "$<SEMICOLON>")
+else ()
+    set(_UseJava_PATH_SEP ":")
+endif()
+
 function(add_jar _TARGET_NAME)
 
     cmake_parse_arguments(_add_jar
@@ -497,14 +502,8 @@
         ${CMAKE_JAVA_LIBRARY_OUTPUT_PATH}
     )
 
-    if (CMAKE_HOST_WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
-        set(CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
-    else ()
-        set(CMAKE_JAVA_INCLUDE_FLAG_SEP ":")
-    endif()
-
     foreach (JAVA_INCLUDE_DIR IN LISTS CMAKE_JAVA_INCLUDE_PATH)
-       string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
+       string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${_UseJava_PATH_SEP}${JAVA_INCLUDE_DIR}")
     endforeach()
 
     set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
@@ -576,7 +575,7 @@
         if (TARGET ${_JAVA_INCLUDE_JAR})
             get_target_property(_JAVA_JAR_PATH ${_JAVA_INCLUDE_JAR} JAR_FILE)
             if (_JAVA_JAR_PATH)
-                string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_JAR_PATH}")
+                string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${_UseJava_PATH_SEP}${_JAVA_JAR_PATH}")
                 list(APPEND CMAKE_JAVA_INCLUDE_PATH ${_JAVA_JAR_PATH})
                 list(APPEND _JAVA_DEPENDS ${_JAVA_INCLUDE_JAR})
                 list(APPEND _JAVA_COMPILE_DEPENDS ${_JAVA_JAR_PATH})
@@ -584,7 +583,7 @@
                 message(SEND_ERROR "add_jar: INCLUDE_JARS target ${_JAVA_INCLUDE_JAR} is not a jar")
             endif ()
         else ()
-            string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_INCLUDE_JAR}")
+            string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${_UseJava_PATH_SEP}${_JAVA_INCLUDE_JAR}")
             list(APPEND CMAKE_JAVA_INCLUDE_PATH "${_JAVA_INCLUDE_JAR}")
             list(APPEND _JAVA_DEPENDS "${_JAVA_INCLUDE_JAR}")
             list(APPEND _JAVA_COMPILE_DEPENDS "${_JAVA_INCLUDE_JAR}")
@@ -627,7 +626,7 @@
             COMMAND ${CMAKE_COMMAND}
                 -DCMAKE_JAVA_CLASS_OUTPUT_PATH=${CMAKE_JAVA_CLASS_OUTPUT_PATH}
                 -DCMAKE_JAR_CLASSES_PREFIX="${CMAKE_JAR_CLASSES_PREFIX}"
-                -P ${_JAVA_CLASS_FILELIST_SCRIPT}
+                -P ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/UseJavaClassFilelist.cmake
             DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
             WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
         )
@@ -1190,55 +1189,40 @@
     set(_javadoc_options -d ${_javadoc_builddir})
 
     if (_javadoc_sourcepath)
-        set(_start TRUE)
-        foreach(_path IN LISTS _javadoc_sourcepath)
-            if (_start)
-                set(_sourcepath ${_path})
-                set(_start FALSE)
-            else ()
-                set(_sourcepath ${_sourcepath}:${_path})
-            endif ()
-        endforeach()
-        set(_javadoc_options ${_javadoc_options} -sourcepath ${_sourcepath})
+        list(JOIN _javadoc_sourcepath "${_UseJava_PATH_SEP}" _javadoc_sourcepath)
+        list(APPEND _javadoc_options -sourcepath "\"${_javadoc_sourcepath}\"")
     endif ()
 
     if (_javadoc_classpath)
-        set(_start TRUE)
-        foreach(_path IN LISTS _javadoc_classpath)
-            if (_start)
-                set(_classpath ${_path})
-                set(_start FALSE)
-            else ()
-                set(_classpath ${_classpath}:${_path})
-            endif ()
-        endforeach()
-        set(_javadoc_options ${_javadoc_options} -classpath "${_classpath}")
+        list(JOIN _javadoc_classpath "${_UseJava_PATH_SEP}" _javadoc_classpath)
+        list(APPEND _javadoc_options -classpath "\"${_javadoc_classpath}\"")
     endif ()
 
     if (_javadoc_doctitle)
-        set(_javadoc_options ${_javadoc_options} -doctitle '${_javadoc_doctitle}')
+        list(APPEND _javadoc_options -doctitle '${_javadoc_doctitle}')
     endif ()
 
     if (_javadoc_windowtitle)
-        set(_javadoc_options ${_javadoc_options} -windowtitle '${_javadoc_windowtitle}')
+        list(APPEND _javadoc_options -windowtitle '${_javadoc_windowtitle}')
     endif ()
 
     if (_javadoc_author)
-        set(_javadoc_options ${_javadoc_options} -author)
+        list(APPEND _javadoc_options -author)
     endif ()
 
     if (_javadoc_use)
-        set(_javadoc_options ${_javadoc_options} -use)
+        list(APPEND _javadoc_options -use)
     endif ()
 
     if (_javadoc_version)
-        set(_javadoc_options ${_javadoc_options} -version)
+        list(APPEND _javadoc_options -version)
     endif ()
 
     add_custom_target(${_target}_javadoc ALL
-        COMMAND ${Java_JAVADOC_EXECUTABLE} ${_javadoc_options}
-                            ${_javadoc_files}
-                            ${_javadoc_packages}
+        COMMAND ${Java_JAVADOC_EXECUTABLE}
+                ${_javadoc_options}
+                ${_javadoc_files}
+                ${_javadoc_packages}
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     )
 
@@ -1274,11 +1258,6 @@
     endif()
 
     set (_output_files)
-    if (WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
-      set(_classpath_sep "$<SEMICOLON>")
-    else ()
-      set(_classpath_sep ":")
-    endif()
 
     # handle javah options
     set (_javah_options)
@@ -1304,7 +1283,7 @@
           message(SEND_ERROR "create_javah: CLASSPATH entry ${_path} does not exist.")
         endif()
       endforeach()
-      string (REPLACE ";" "${_classpath_sep}" _classpath "${_classpath}")
+      string (REPLACE ";" "${_UseJava_PATH_SEP}" _classpath "${_classpath}")
       list (APPEND _javah_options -classpath "${_classpath}")
     endif()
 
diff --git a/share/cmake-3.16/Modules/UseJavaClassFilelist.cmake b/share/cmake-3.17/Modules/UseJavaClassFilelist.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UseJavaClassFilelist.cmake
rename to share/cmake-3.17/Modules/UseJavaClassFilelist.cmake
diff --git a/share/cmake-3.16/Modules/UseJavaSymlinks.cmake b/share/cmake-3.17/Modules/UseJavaSymlinks.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UseJavaSymlinks.cmake
rename to share/cmake-3.17/Modules/UseJavaSymlinks.cmake
diff --git a/share/cmake-3.16/Modules/UsePkgConfig.cmake b/share/cmake-3.17/Modules/UsePkgConfig.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UsePkgConfig.cmake
rename to share/cmake-3.17/Modules/UsePkgConfig.cmake
diff --git a/share/cmake-3.16/Modules/UseQt4.cmake b/share/cmake-3.17/Modules/UseQt4.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UseQt4.cmake
rename to share/cmake-3.17/Modules/UseQt4.cmake
diff --git a/share/cmake-3.16/Modules/UseSWIG.cmake b/share/cmake-3.17/Modules/UseSWIG.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UseSWIG.cmake
rename to share/cmake-3.17/Modules/UseSWIG.cmake
diff --git a/share/cmake-3.16/Modules/UseSWIG/ManageSupportFiles.cmake b/share/cmake-3.17/Modules/UseSWIG/ManageSupportFiles.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UseSWIG/ManageSupportFiles.cmake
rename to share/cmake-3.17/Modules/UseSWIG/ManageSupportFiles.cmake
diff --git a/share/cmake-3.16/Modules/Use_wxWindows.cmake b/share/cmake-3.17/Modules/Use_wxWindows.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/Use_wxWindows.cmake
rename to share/cmake-3.17/Modules/Use_wxWindows.cmake
diff --git a/share/cmake-3.16/Modules/UsewxWidgets.cmake b/share/cmake-3.17/Modules/UsewxWidgets.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/UsewxWidgets.cmake
rename to share/cmake-3.17/Modules/UsewxWidgets.cmake
diff --git a/share/cmake-3.16/Modules/VTKCompatibility.cmake b/share/cmake-3.17/Modules/VTKCompatibility.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/VTKCompatibility.cmake
rename to share/cmake-3.17/Modules/VTKCompatibility.cmake
diff --git a/share/cmake-3.16/Modules/WriteBasicConfigVersionFile.cmake b/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/WriteBasicConfigVersionFile.cmake
rename to share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake
diff --git a/share/cmake-3.16/Modules/WriteCompilerDetectionHeader.cmake b/share/cmake-3.17/Modules/WriteCompilerDetectionHeader.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/WriteCompilerDetectionHeader.cmake
rename to share/cmake-3.17/Modules/WriteCompilerDetectionHeader.cmake
diff --git a/share/cmake-3.16/Modules/ecos_clean.cmake b/share/cmake-3.17/Modules/ecos_clean.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/ecos_clean.cmake
rename to share/cmake-3.17/Modules/ecos_clean.cmake
diff --git a/share/cmake-3.16/Modules/exportheader.cmake.in b/share/cmake-3.17/Modules/exportheader.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/exportheader.cmake.in
rename to share/cmake-3.17/Modules/exportheader.cmake.in
diff --git a/share/cmake-3.16/Modules/javaTargets.cmake.in b/share/cmake-3.17/Modules/javaTargets.cmake.in
similarity index 100%
rename from share/cmake-3.16/Modules/javaTargets.cmake.in
rename to share/cmake-3.17/Modules/javaTargets.cmake.in
diff --git a/share/cmake-3.16/Modules/kde3init_dummy.cpp.in b/share/cmake-3.17/Modules/kde3init_dummy.cpp.in
similarity index 100%
rename from share/cmake-3.16/Modules/kde3init_dummy.cpp.in
rename to share/cmake-3.17/Modules/kde3init_dummy.cpp.in
diff --git a/share/cmake-3.16/Modules/kde3uic.cmake b/share/cmake-3.17/Modules/kde3uic.cmake
similarity index 100%
rename from share/cmake-3.16/Modules/kde3uic.cmake
rename to share/cmake-3.17/Modules/kde3uic.cmake
diff --git a/share/cmake-3.16/Modules/readme.txt b/share/cmake-3.17/Modules/readme.txt
similarity index 100%
rename from share/cmake-3.16/Modules/readme.txt
rename to share/cmake-3.17/Modules/readme.txt
diff --git a/share/cmake-3.16/Templates/AppleInfo.plist b/share/cmake-3.17/Templates/AppleInfo.plist
similarity index 100%
rename from share/cmake-3.16/Templates/AppleInfo.plist
rename to share/cmake-3.17/Templates/AppleInfo.plist
diff --git a/share/cmake-3.16/Templates/CMakeVSMacros1.vsmacros b/share/cmake-3.17/Templates/CMakeVSMacros1.vsmacros
similarity index 100%
rename from share/cmake-3.16/Templates/CMakeVSMacros1.vsmacros
rename to share/cmake-3.17/Templates/CMakeVSMacros1.vsmacros
Binary files differ
diff --git a/share/cmake-3.16/Templates/CMakeVSMacros2.vsmacros b/share/cmake-3.17/Templates/CMakeVSMacros2.vsmacros
similarity index 100%
rename from share/cmake-3.16/Templates/CMakeVSMacros2.vsmacros
rename to share/cmake-3.17/Templates/CMakeVSMacros2.vsmacros
Binary files differ
diff --git a/share/cmake-3.16/Templates/CPack.GenericDescription.txt b/share/cmake-3.17/Templates/CPack.GenericDescription.txt
similarity index 100%
rename from share/cmake-3.16/Templates/CPack.GenericDescription.txt
rename to share/cmake-3.17/Templates/CPack.GenericDescription.txt
diff --git a/share/cmake-3.16/Templates/CPack.GenericLicense.txt b/share/cmake-3.17/Templates/CPack.GenericLicense.txt
similarity index 100%
rename from share/cmake-3.16/Templates/CPack.GenericLicense.txt
rename to share/cmake-3.17/Templates/CPack.GenericLicense.txt
diff --git a/share/cmake-3.16/Templates/CPack.GenericWelcome.txt b/share/cmake-3.17/Templates/CPack.GenericWelcome.txt
similarity index 100%
rename from share/cmake-3.16/Templates/CPack.GenericWelcome.txt
rename to share/cmake-3.17/Templates/CPack.GenericWelcome.txt
diff --git a/share/cmake-3.16/Templates/CPackConfig.cmake.in b/share/cmake-3.17/Templates/CPackConfig.cmake.in
similarity index 100%
rename from share/cmake-3.16/Templates/CPackConfig.cmake.in
rename to share/cmake-3.17/Templates/CPackConfig.cmake.in
diff --git a/share/cmake-3.16/Templates/CTestScript.cmake.in b/share/cmake-3.17/Templates/CTestScript.cmake.in
similarity index 100%
rename from share/cmake-3.16/Templates/CTestScript.cmake.in
rename to share/cmake-3.17/Templates/CTestScript.cmake.in
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_CL.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_CL.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_CL.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_CL.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_CSharp.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_CSharp.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_CSharp.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_CSharp.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_Cuda.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_Cuda.json
similarity index 90%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_Cuda.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_Cuda.json
index 1831b8a..b3230ac 100644
--- a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_Cuda.json
+++ b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_Cuda.json
@@ -20,6 +20,26 @@
     ]
   },
   {
+    "name":  "AdditionalCompilerOptions",
+    "switch": "-compiler-options=",
+    "comment": "Host compiler options",
+    "value": "",
+    "flags": [
+      "UserValue",
+      "SpaceAppendable"
+    ]
+  },
+  {
+    "name":  "AdditionalCompilerOptions",
+    "switch": "-compiler-options",
+    "comment": "Host compiler options",
+    "value": "",
+    "flags": [
+      "UserFollowing",
+      "SpaceAppendable"
+    ]
+  },
+  {
     "name":  "CudaRuntime",
     "switch": "cudart=none",
     "comment": "No CUDA runtime library",
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_CudaHost.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_CudaHost.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_CudaHost.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_CudaHost.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_LIB.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_LIB.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_LIB.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_LIB.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_Link.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_Link.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_Link.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_Link.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_MASM.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_MASM.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_MASM.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_MASM.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_NASM.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_NASM.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_NASM.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_NASM.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v10_RC.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v10_RC.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v10_RC.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v10_RC.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v11_CL.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v11_CL.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v11_CL.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v11_CL.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v11_CSharp.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v11_CSharp.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v11_CSharp.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v11_CSharp.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v11_LIB.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v11_LIB.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v11_LIB.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v11_LIB.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v11_Link.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v11_Link.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v11_Link.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v11_Link.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v11_MASM.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v11_MASM.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v11_MASM.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v11_MASM.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v11_RC.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v11_RC.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v11_RC.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v11_RC.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v12_CL.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v12_CL.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v12_CL.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v12_CL.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v12_CSharp.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v12_CSharp.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v12_CSharp.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v12_CSharp.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v12_LIB.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v12_LIB.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v12_LIB.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v12_LIB.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v12_Link.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v12_Link.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v12_Link.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v12_Link.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v12_MASM.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v12_MASM.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v12_MASM.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v12_MASM.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v12_RC.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v12_RC.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v12_RC.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v12_RC.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v140_CL.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v140_CL.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v140_CL.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v140_CL.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v140_CSharp.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v140_CSharp.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v140_CSharp.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v140_CSharp.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v140_Link.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v140_Link.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v140_Link.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v140_Link.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v141_CL.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v141_CL.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v141_CL.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v141_CL.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v141_CSharp.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v141_CSharp.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v141_CSharp.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v141_CSharp.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v141_Link.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v141_Link.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v141_Link.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v141_Link.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v142_CL.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v142_CL.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v142_CL.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v142_CL.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v142_CSharp.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v142_CSharp.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v142_CSharp.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v142_CSharp.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v142_Link.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v142_Link.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v142_Link.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v142_Link.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v14_LIB.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v14_LIB.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v14_LIB.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v14_LIB.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v14_MASM.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v14_MASM.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v14_MASM.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v14_MASM.json
diff --git a/share/cmake-3.16/Templates/MSBuild/FlagTables/v14_RC.json b/share/cmake-3.17/Templates/MSBuild/FlagTables/v14_RC.json
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/FlagTables/v14_RC.json
rename to share/cmake-3.17/Templates/MSBuild/FlagTables/v14_RC.json
diff --git a/share/cmake-3.16/Templates/MSBuild/nasm.props.in b/share/cmake-3.17/Templates/MSBuild/nasm.props.in
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/nasm.props.in
rename to share/cmake-3.17/Templates/MSBuild/nasm.props.in
diff --git a/share/cmake-3.16/Templates/MSBuild/nasm.targets b/share/cmake-3.17/Templates/MSBuild/nasm.targets
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/nasm.targets
rename to share/cmake-3.17/Templates/MSBuild/nasm.targets
diff --git a/share/cmake-3.16/Templates/MSBuild/nasm.xml b/share/cmake-3.17/Templates/MSBuild/nasm.xml
similarity index 100%
rename from share/cmake-3.16/Templates/MSBuild/nasm.xml
rename to share/cmake-3.17/Templates/MSBuild/nasm.xml
diff --git a/share/cmake-3.16/Templates/TestDriver.cxx.in b/share/cmake-3.17/Templates/TestDriver.cxx.in
similarity index 100%
rename from share/cmake-3.16/Templates/TestDriver.cxx.in
rename to share/cmake-3.17/Templates/TestDriver.cxx.in
diff --git a/share/cmake-3.16/Templates/Windows/ApplicationIcon.png b/share/cmake-3.17/Templates/Windows/ApplicationIcon.png
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/ApplicationIcon.png
rename to share/cmake-3.17/Templates/Windows/ApplicationIcon.png
Binary files differ
diff --git a/share/cmake-3.16/Templates/Windows/Logo.png b/share/cmake-3.17/Templates/Windows/Logo.png
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/Logo.png
rename to share/cmake-3.17/Templates/Windows/Logo.png
Binary files differ
diff --git a/share/cmake-3.16/Templates/Windows/SmallLogo.png b/share/cmake-3.17/Templates/Windows/SmallLogo.png
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/SmallLogo.png
rename to share/cmake-3.17/Templates/Windows/SmallLogo.png
Binary files differ
diff --git a/share/cmake-3.16/Templates/Windows/SmallLogo44x44.png b/share/cmake-3.17/Templates/Windows/SmallLogo44x44.png
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/SmallLogo44x44.png
rename to share/cmake-3.17/Templates/Windows/SmallLogo44x44.png
Binary files differ
diff --git a/share/cmake-3.16/Templates/Windows/SplashScreen.png b/share/cmake-3.17/Templates/Windows/SplashScreen.png
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/SplashScreen.png
rename to share/cmake-3.17/Templates/Windows/SplashScreen.png
Binary files differ
diff --git a/share/cmake-3.16/Templates/Windows/StoreLogo.png b/share/cmake-3.17/Templates/Windows/StoreLogo.png
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/StoreLogo.png
rename to share/cmake-3.17/Templates/Windows/StoreLogo.png
Binary files differ
diff --git a/share/cmake-3.16/Templates/Windows/Windows_TemporaryKey.pfx b/share/cmake-3.17/Templates/Windows/Windows_TemporaryKey.pfx
similarity index 100%
rename from share/cmake-3.16/Templates/Windows/Windows_TemporaryKey.pfx
rename to share/cmake-3.17/Templates/Windows/Windows_TemporaryKey.pfx
Binary files differ
diff --git a/share/cmake-3.16/completions/cmake b/share/cmake-3.17/completions/cmake
similarity index 100%
rename from share/cmake-3.16/completions/cmake
rename to share/cmake-3.17/completions/cmake
diff --git a/share/cmake-3.16/completions/cpack b/share/cmake-3.17/completions/cpack
similarity index 100%
rename from share/cmake-3.16/completions/cpack
rename to share/cmake-3.17/completions/cpack
diff --git a/share/cmake-3.16/completions/ctest b/share/cmake-3.17/completions/ctest
similarity index 100%
rename from share/cmake-3.16/completions/ctest
rename to share/cmake-3.17/completions/ctest
diff --git a/share/cmake-3.16/editors/emacs/cmake-mode.el b/share/cmake-3.17/editors/emacs/cmake-mode.el
similarity index 100%
rename from share/cmake-3.16/editors/emacs/cmake-mode.el
rename to share/cmake-3.17/editors/emacs/cmake-mode.el
diff --git a/share/cmake-3.16/editors/vim/indent/cmake.vim b/share/cmake-3.17/editors/vim/indent/cmake.vim
similarity index 100%
rename from share/cmake-3.16/editors/vim/indent/cmake.vim
rename to share/cmake-3.17/editors/vim/indent/cmake.vim
diff --git a/share/cmake-3.16/editors/vim/syntax/cmake.vim b/share/cmake-3.17/editors/vim/syntax/cmake.vim
similarity index 99%
rename from share/cmake-3.16/editors/vim/syntax/cmake.vim
rename to share/cmake-3.17/editors/vim/syntax/cmake.vim
index 5de117b..0676f7e 100644
--- a/share/cmake-3.16/editors/vim/syntax/cmake.vim
+++ b/share/cmake-3.17/editors/vim/syntax/cmake.vim
@@ -101,6 +101,7 @@
             \ CLEAN_NO_CUSTOM
             \ CMAKE_CONFIGURE_DEPENDS
             \ CMAKE_CXX_KNOWN_FEATURES
+            \ CMAKE_CUDA_KNOWN_FEATURES
             \ CMAKE_C_KNOWN_FEATURES
             \ CMAKE_ROLE
             \ COMMON_LANGUAGE_RUNTIME
@@ -220,6 +221,7 @@
             \ JOB_POOLS
             \ JOB_POOL_COMPILE
             \ JOB_POOL_LINK
+            \ JOB_POOL_PRECOMPILE_HEADER
             \ KEEP_EXTENSION
             \ LABELS
             \ LANGUAGE
@@ -725,6 +727,7 @@
             \ CMAKE_CUDA_COMPILER_AR
             \ CMAKE_CUDA_COMPILER_ARCHITECTURE_ID
             \ CMAKE_CUDA_COMPILER_EXTERNAL_TOOLCHAIN
+            \ CMAKE_CUDA_COMPILE_FEATURES
             \ CMAKE_CUDA_COMPILER_ID
             \ CMAKE_CUDA_COMPILER_LAUNCHER
             \ CMAKE_CUDA_COMPILER_LOADED
@@ -1064,6 +1067,7 @@
             \ CMAKE_JOB_POOLS
             \ CMAKE_JOB_POOL_COMPILE
             \ CMAKE_JOB_POOL_LINK
+            \ CMAKE_JOB_POOL_PRECOMPILE_HEADER
             \ CMAKE_Java
             \ CMAKE_Java_ANDROID_TOOLCHAIN_MACHINE
             \ CMAKE_Java_ANDROID_TOOLCHAIN_PREFIX
@@ -2862,6 +2866,11 @@
             \ _LINKER_WRAPPER_FLAG
             \ _LINKER_WRAPPER_FLAG_SEP
 
+syn keyword cmakeKWtarget_precompile_headers contained
+            \ INTERFACE
+            \ PRIVATE
+            \ PUBLIC
+
 syn keyword cmakeKWtarget_sources contained
             \ ALIAS
             \ IMPORTED
@@ -3166,6 +3175,7 @@
             \ target_link_directories
             \ target_link_libraries
             \ target_link_options
+            \ target_precompile_headers
             \ target_sources
             \ try_compile
             \ try_run
@@ -3322,6 +3332,7 @@
 hi def link cmakeKWtarget_link_directories ModeMsg
 hi def link cmakeKWtarget_link_libraries ModeMsg
 hi def link cmakeKWtarget_link_options ModeMsg
+hi def link cmakeKWtarget_precompile_headers ModeMsg
 hi def link cmakeKWtarget_sources ModeMsg
 hi def link cmakeKWtry_compile ModeMsg
 hi def link cmakeKWtry_run ModeMsg
diff --git a/share/cmake-3.16/include/cmCPluginAPI.h b/share/cmake-3.17/include/cmCPluginAPI.h
similarity index 98%
rename from share/cmake-3.16/include/cmCPluginAPI.h
rename to share/cmake-3.17/include/cmCPluginAPI.h
index 6a95148..19626f0 100644
--- a/share/cmake-3.16/include/cmCPluginAPI.h
+++ b/share/cmake-3.17/include/cmCPluginAPI.h
@@ -36,7 +36,7 @@
   of functions are utility functions that are specific to the plugin API
   =========================================================================*/
   /* set/Get the ClientData in the cmLoadedCommandInfo structure, this is how
-     information is passed from the InitialPass to FInalPass for commands
+     information is passed from the InitialPass to FinalPass for commands
      that need a FinalPass and need information from the InitialPass */
   void*(CCONV* GetClientData)(void* info);
   /* return the summed size in characters of all the arguments */
@@ -44,7 +44,7 @@
   /* free all the memory associated with an argc, argv pair */
   void(CCONV* FreeArguments)(int argc, char** argv);
   /* set/Get the ClientData in the cmLoadedCommandInfo structure, this is how
-     information is passed from the InitialPass to FInalPass for commands
+     information is passed from the InitialPass to FinalPass for commands
      that need a FinalPass and need information from the InitialPass */
   void(CCONV* SetClientData)(void* info, void* cd);
   /* when an error occurs, call this function to set the error string */