Merge remote-tracking branch 'origin/cmake-master-dev' into master

* origin/cmake-master-dev:
  Upgrade cmake to 3.10.2
  Update cmake (ab/4111459)
  Add cmake 3.8.2 for tests
  Update prebuilts to CMake 3.6.0-rc2 (go/ab/3043163).

Bug: 149853706
Change-Id: I570636a6ae3ca935925ac36aeef6a2b3dfcf0c82
diff --git a/bin/ccmake b/bin/ccmake
index c2eb9c3..14ff907 100755
--- a/bin/ccmake
+++ b/bin/ccmake
Binary files differ
diff --git a/bin/cmake b/bin/cmake
index 19c09c7..34b6868 100755
--- a/bin/cmake
+++ b/bin/cmake
Binary files differ
diff --git a/bin/cmakexbuild b/bin/cmakexbuild
index 744bd67..3148880 100755
--- a/bin/cmakexbuild
+++ b/bin/cmakexbuild
Binary files differ
diff --git a/bin/cpack b/bin/cpack
index 73c854a..2e28b67 100755
--- a/bin/cpack
+++ b/bin/cpack
Binary files differ
diff --git a/bin/ctest b/bin/ctest
index 11d35e2..7931453 100755
--- a/bin/ctest
+++ b/bin/ctest
Binary files differ
diff --git a/bin/ninja b/bin/ninja
index 0072d5e..4914519 100755
--- a/bin/ninja
+++ b/bin/ninja
Binary files differ
diff --git a/doc/cmake-3.10/Copyright.txt b/doc/cmake-3.10/Copyright.txt
new file mode 100644
index 0000000..3c92a81
--- /dev/null
+++ b/doc/cmake-3.10/Copyright.txt
@@ -0,0 +1,125 @@
+CMake - Cross Platform Makefile Generator
+Copyright 2000-2017 Kitware, Inc. and Contributors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+* Neither the name of Kitware, Inc. nor the names of Contributors
+  may be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------------------------
+
+The following individuals and institutions are among the Contributors:
+
+* Aaron C. Meadows <cmake@shadowguarddev.com>
+* Adriaan de Groot <groot@kde.org>
+* Aleksey Avdeev <solo@altlinux.ru>
+* Alexander Neundorf <neundorf@kde.org>
+* Alexander Smorkalov <alexander.smorkalov@itseez.com>
+* Alexey Sokolov <sokolov@google.com>
+* Alex Turbov <i.zaufi@gmail.com>
+* Andreas Pakulat <apaku@gmx.de>
+* Andreas Schneider <asn@cryptomilk.org>
+* André Rigland Brodtkorb <Andre.Brodtkorb@ifi.uio.no>
+* Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf
+* Benjamin Eikel
+* Bjoern Ricks <bjoern.ricks@gmail.com>
+* Brad Hards <bradh@kde.org>
+* Christopher Harvey
+* Christoph Grüninger <foss@grueninger.de>
+* Clement Creusot <creusot@cs.york.ac.uk>
+* Daniel Blezek <blezek@gmail.com>
+* Daniel Pfeifer <daniel@pfeifer-mail.de>
+* Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+* Eran Ifrah <eran.ifrah@gmail.com>
+* Esben Mose Hansen, Ange Optimization ApS
+* Geoffrey Viola <geoffrey.viola@asirobots.com>
+* Google Inc
+* Gregor Jasny
+* Helio Chissini de Castro <helio@kde.org>
+* Ilya Lavrenov <ilya.lavrenov@itseez.com>
+* Insight Software Consortium <insightsoftwareconsortium.org>
+* Jan Woetzel
+* Kelly Thompson <kgt@lanl.gov>
+* Konstantin Podsvirov <konstantin@podsvirov.pro>
+* Mario Bensi <mbensi@ipsquad.net>
+* Mathieu Malaterre <mathieu.malaterre@gmail.com>
+* Matthaeus G. Chajdas
+* Matthias Kretz <kretz@kde.org>
+* Matthias Maennich <matthias@maennich.net>
+* Michael Stürmer
+* Miguel A. Figueroa-Villanueva
+* Mike Jackson
+* Mike McQuaid <mike@mikemcquaid.com>
+* Nicolas Bock <nicolasbock@gmail.com>
+* Nicolas Despres <nicolas.despres@gmail.com>
+* Nikita Krupen'ko <krnekit@gmail.com>
+* NVIDIA Corporation <www.nvidia.com>
+* OpenGamma Ltd. <opengamma.com>
+* Per Øyvind Karlsen <peroyvind@mandriva.org>
+* Peter Collingbourne <peter@pcc.me.uk>
+* Petr Gotthard <gotthard@honeywell.com>
+* Philip Lowman <philip@yhbt.com>
+* Philippe Proulx <pproulx@efficios.com>
+* Raffi Enficiaud, Max Planck Society
+* Raumfeld <raumfeld.com>
+* Roger Leigh <rleigh@codelibre.net>
+* Rolf Eike Beer <eike@sf-mail.de>
+* Roman Donchenko <roman.donchenko@itseez.com>
+* Roman Kharitonov <roman.kharitonov@itseez.com>
+* Ruslan Baratov
+* Sebastian Holtermann <sebholt@xwmw.org>
+* Stephen Kelly <steveire@gmail.com>
+* Sylvain Joubert <joubert.sy@gmail.com>
+* Thomas Sondergaard <ts@medical-insight.com>
+* Tobias Hunger <tobias.hunger@qt.io>
+* Todd Gamblin <tgamblin@llnl.gov>
+* Tristan Carel
+* University of Dundee
+* Vadim Zhukov
+* Will Dicharry <wdicharry@stellarscience.com>
+
+See version control history for details of individual contributions.
+
+The above copyright and license notice applies to distributions of
+CMake in source and binary form.  Third-party software packages supplied
+with CMake under compatible licenses provide their own copyright notices
+documented in corresponding subdirectories or source files.
+
+------------------------------------------------------------------------------
+
+CMake was initially developed by Kitware with the following sponsorship:
+
+ * National Library of Medicine at the National Institutes of Health
+   as part of the Insight Segmentation and Registration Toolkit (ITK).
+
+ * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
+   Visualization Initiative.
+
+ * National Alliance for Medical Image Computing (NAMIC) is funded by the
+   National Institutes of Health through the NIH Roadmap for Medical Research,
+   Grant U54 EB005149.
+
+ * Kitware, Inc.
diff --git a/doc/cmake-3.6/cmcompress/Copyright.txt b/doc/cmake-3.10/cmcompress/Copyright.txt
similarity index 100%
rename from doc/cmake-3.6/cmcompress/Copyright.txt
rename to doc/cmake-3.10/cmcompress/Copyright.txt
diff --git a/doc/cmake-3.10/cmcurl/COPYING b/doc/cmake-3.10/cmcurl/COPYING
new file mode 100644
index 0000000..1e45a5e
--- /dev/null
+++ b/doc/cmake-3.10/cmcurl/COPYING
@@ -0,0 +1,22 @@
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1996 - 2017, Daniel Stenberg, <daniel@haxx.se>, and many
+contributors, see the THANKS file.
+
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+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 OF THIRD PARTY RIGHTS. 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.
+
+Except as contained in this notice, the name of a copyright holder shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization of the copyright holder.
diff --git a/doc/cmake-3.6/cmlibarchive/COPYING b/doc/cmake-3.10/cmlibarchive/COPYING
similarity index 100%
rename from doc/cmake-3.6/cmlibarchive/COPYING
rename to doc/cmake-3.10/cmlibarchive/COPYING
diff --git a/doc/cmake-3.6/cmliblzma/COPYING b/doc/cmake-3.10/cmliblzma/COPYING
similarity index 100%
rename from doc/cmake-3.6/cmliblzma/COPYING
rename to doc/cmake-3.10/cmliblzma/COPYING
diff --git a/doc/cmake-3.10/cmlibrhash/COPYING b/doc/cmake-3.10/cmlibrhash/COPYING
new file mode 100644
index 0000000..bf65ee1
--- /dev/null
+++ b/doc/cmake-3.10/cmlibrhash/COPYING
@@ -0,0 +1,15 @@
+
+                                RHash License
+
+Copyright (c) 2005-2014 Aleksey Kravchenko <rhash.admin@gmail.com>
+
+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.
+
+The Software  is distributed in the hope that it will be useful,  but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  Use  this  program  at  your  own  risk!
diff --git a/doc/cmake-3.10/cmlibrhash/README b/doc/cmake-3.10/cmlibrhash/README
new file mode 100644
index 0000000..4ea492f
--- /dev/null
+++ b/doc/cmake-3.10/cmlibrhash/README
@@ -0,0 +1,7 @@
+                       === Notes on RHash License ===
+
+The RHash program and LibRHash library are distributed under  RHash License,
+see the COPYING file for details.  In particular,  the program,  the library
+and  source code  can be  used  free of charge  under  the  MIT,  BSD,  GPL,
+commercial or freeware license without additional restrictions.  In the case
+the OSI-approved license is required the  MIT license should be used.
diff --git a/doc/cmake-3.10/cmlibuv/LICENSE b/doc/cmake-3.10/cmlibuv/LICENSE
new file mode 100644
index 0000000..41ba44c
--- /dev/null
+++ b/doc/cmake-3.10/cmlibuv/LICENSE
@@ -0,0 +1,70 @@
+libuv is licensed for use as follows:
+
+====
+Copyright (c) 2015-present libuv project contributors.
+
+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.
+====
+
+This license applies to parts of libuv originating from the
+https://github.com/joyent/libuv repository:
+
+====
+
+Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+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.
+
+====
+
+This license applies to all parts of libuv that are not externally
+maintained libraries.
+
+The externally maintained libraries used by libuv are:
+
+  - tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license.
+
+  - inet_pton and inet_ntop implementations, contained in src/inet.c, are
+    copyright the Internet Systems Consortium, Inc., and licensed under the ISC
+    license.
+
+  - stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three
+    clause BSD license.
+
+  - pthread-fixes.h, pthread-fixes.c, copyright Google Inc. and Sony Mobile
+    Communications AB. Three clause BSD license.
+
+  - android-ifaddrs.h, android-ifaddrs.c, copyright Berkeley Software Design
+    Inc, Kenneth MacKay and Emergya (Cloud4all, FP7/2007-2013, grant agreement
+    n° 289016). Three clause BSD license.
diff --git a/doc/cmake-3.10/cmsys/Copyright.txt b/doc/cmake-3.10/cmsys/Copyright.txt
new file mode 100644
index 0000000..33d7fb4
--- /dev/null
+++ b/doc/cmake-3.10/cmsys/Copyright.txt
@@ -0,0 +1,38 @@
+KWSys - Kitware System Library
+Copyright 2000-2016 Kitware, Inc. and Contributors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+* Neither the name of Kitware, Inc. nor the names of Contributors
+  may be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------------------------
+
+The following individuals and institutions are among the Contributors:
+
+* Insight Software Consortium <insightsoftwareconsortium.org>
+
+See version control history for details of individual contributions.
diff --git a/doc/cmake-3.6/cmzlib/Copyright.txt b/doc/cmake-3.10/cmzlib/Copyright.txt
similarity index 100%
rename from doc/cmake-3.6/cmzlib/Copyright.txt
rename to doc/cmake-3.10/cmzlib/Copyright.txt
diff --git a/doc/cmake-3.6/Copyright.txt b/doc/cmake-3.6/Copyright.txt
deleted file mode 100644
index f99998f..0000000
--- a/doc/cmake-3.6/Copyright.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-CMake - Cross Platform Makefile Generator
-Copyright 2000-2016 Kitware, Inc.
-Copyright 2000-2011 Insight Software Consortium
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in the
-  documentation and/or other materials provided with the distribution.
-
-* Neither the names of Kitware, Inc., the Insight Software Consortium,
-  nor the names of their contributors may be used to endorse or promote
-  products derived from this software without specific prior written
-  permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-------------------------------------------------------------------------------
-
-The above copyright and license notice applies to distributions of
-CMake in source and binary form.  Some source files contain additional
-notices of original copyright by their contributors; see each source
-for details.  Third-party software packages supplied with CMake under
-compatible licenses provide their own copyright notices documented in
-corresponding subdirectories.
-
-------------------------------------------------------------------------------
-
-CMake was initially developed by Kitware with the following sponsorship:
-
- * National Library of Medicine at the National Institutes of Health
-   as part of the Insight Segmentation and Registration Toolkit (ITK).
-
- * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
-   Visualization Initiative.
-
- * National Alliance for Medical Image Computing (NAMIC) is funded by the
-   National Institutes of Health through the NIH Roadmap for Medical Research,
-   Grant U54 EB005149.
-
- * Kitware, Inc.
diff --git a/doc/cmake-3.6/cmcurl/COPYING b/doc/cmake-3.6/cmcurl/COPYING
deleted file mode 100644
index 6b5d59f..0000000
--- a/doc/cmake-3.6/cmcurl/COPYING
+++ /dev/null
@@ -1,21 +0,0 @@
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright (c) 1996 - 2015, Daniel Stenberg, <daniel@haxx.se>.
-
-All rights reserved.
-
-Permission to use, copy, modify, and distribute this software for any purpose
-with or without fee is hereby granted, provided that the above copyright
-notice and this permission notice appear in all copies.
-
-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 OF THIRD PARTY RIGHTS. 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.
-
-Except as contained in this notice, the name of a copyright holder shall not
-be used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization of the copyright holder.
diff --git a/doc/cmake-3.6/cmsys/Copyright.txt b/doc/cmake-3.6/cmsys/Copyright.txt
deleted file mode 100644
index 1549a7d..0000000
--- a/doc/cmake-3.6/cmsys/Copyright.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-KWSys - Kitware System Library
-Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in the
-  documentation and/or other materials provided with the distribution.
-
-* Neither the names of Kitware, Inc., the Insight Software Consortium,
-  nor the names of their contributors may be used to endorse or promote
-  products derived from this software without specific prior written
-  permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/share/aclocal/cmake.m4 b/share/aclocal/cmake.m4
index a374a3b..7beff41 100644
--- a/share/aclocal/cmake.m4
+++ b/share/aclocal/cmake.m4
@@ -1,14 +1,5 @@
-dnl ============================================================================
-dnl   CMake - Cross Platform Makefile Generator
-dnl   Copyright 2011 Matthias Kretz, kretz@kde.org
-dnl
-dnl   Distributed under the OSI-approved BSD License (the "License");
-dnl   see accompanying file Copyright.txt for details.
-dnl
-dnl   This software is distributed WITHOUT ANY WARRANTY; without even the
-dnl   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-dnl   See the License for more information.
-dnl ============================================================================
+dnl Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+dnl file Copyright.txt or https://cmake.org/licensing for details.
 
 AC_DEFUN([CMAKE_FIND_BINARY],
 [AC_ARG_VAR([CMAKE_BINARY], [path to the cmake binary])dnl
@@ -33,10 +24,10 @@
 
 failed=false
 AC_MSG_CHECKING([for $1])
-if test -n "$1[]_$2[]FLAGS"; then
+if test -z "${$1[]_$2[]FLAGS}"; then
     $1[]_$2[]FLAGS=`$CMAKE_BINARY --find-package "-DNAME=$1" "-DCOMPILER_ID=m4_default([$3], [GNU])" "-DLANGUAGE=$2" -DMODE=COMPILE $4` || failed=true
 fi
-if test -n "$1[]_LIBS"; then
+if test -z "${$1[]_LIBS}"; then
     $1[]_LIBS=`$CMAKE_BINARY --find-package "-DNAME=$1" "-DCOMPILER_ID=m4_default([$3], [GNU])" "-DLANGUAGE=$2" -DMODE=LINK $4` || failed=true
 fi
 
diff --git a/share/cmake-3.10/Help/command/FIND_XXX.txt b/share/cmake-3.10/Help/command/FIND_XXX.txt
new file mode 100644
index 0000000..7db221c
--- /dev/null
+++ b/share/cmake-3.10/Help/command/FIND_XXX.txt
@@ -0,0 +1,122 @@
+A short-hand signature is:
+
+.. parsed-literal::
+
+   |FIND_XXX| (<VAR> name1 [path1 path2 ...])
+
+The general signature is:
+
+.. parsed-literal::
+
+   |FIND_XXX| (
+             <VAR>
+             name | |NAMES|
+             [HINTS path1 [path2 ... ENV var]]
+             [PATHS path1 [path2 ... ENV var]]
+             [PATH_SUFFIXES suffix1 [suffix2 ...]]
+             [DOC "cache documentation string"]
+             [NO_DEFAULT_PATH]
+             [NO_CMAKE_PATH]
+             [NO_CMAKE_ENVIRONMENT_PATH]
+             [NO_SYSTEM_ENVIRONMENT_PATH]
+             [NO_CMAKE_SYSTEM_PATH]
+             [CMAKE_FIND_ROOT_PATH_BOTH |
+              ONLY_CMAKE_FIND_ROOT_PATH |
+              NO_CMAKE_FIND_ROOT_PATH]
+            )
+
+This command is used to find a |SEARCH_XXX_DESC|.
+A cache entry named by ``<VAR>`` is created to store the result
+of this command.
+If the |SEARCH_XXX| is found the result is stored in the variable
+and the search will not be repeated unless the variable is cleared.
+If nothing is found, the result will be
+``<VAR>-NOTFOUND``, and the search will be attempted again the
+next time |FIND_XXX| is invoked with the same variable.
+
+Options include:
+
+``NAMES``
+  Specify one or more possible names for the |SEARCH_XXX|.
+
+  When using this to specify names with and without a version
+  suffix, we recommend specifying the unversioned name first
+  so that locally-built packages can be found before those
+  provided by distributions.
+
+``HINTS``, ``PATHS``
+  Specify directories to search in addition to the default locations.
+  The ``ENV var`` sub-option reads paths from a system environment
+  variable.
+
+``PATH_SUFFIXES``
+  Specify additional subdirectories to check below each directory
+  location otherwise considered.
+
+``DOC``
+  Specify the documentation string for the ``<VAR>`` cache entry.
+
+If ``NO_DEFAULT_PATH`` is specified, then no additional paths are
+added to the search.
+If ``NO_DEFAULT_PATH`` is not specified, the search process is as follows:
+
+.. |CMAKE_PREFIX_PATH_XXX_SUBDIR| replace::
+   |prefix_XXX_SUBDIR| for each ``<prefix>`` in :variable:`CMAKE_PREFIX_PATH`
+
+.. |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR| replace::
+   |prefix_XXX_SUBDIR| for each ``<prefix>/[s]bin`` in ``PATH``, and
+   |entry_XXX_SUBDIR| for other entries in ``PATH``
+
+.. |CMAKE_SYSTEM_PREFIX_PATH_XXX_SUBDIR| replace::
+   |prefix_XXX_SUBDIR| for each ``<prefix>`` in
+   :variable:`CMAKE_SYSTEM_PREFIX_PATH`
+
+1. Search paths specified in cmake-specific cache variables.
+   These are intended to be used on the command line with a ``-DVAR=value``.
+   The values are interpreted as :ref:`;-lists <CMake Language Lists>`.
+   This can be skipped if ``NO_CMAKE_PATH`` is passed.
+
+   * |CMAKE_PREFIX_PATH_XXX|
+   * |CMAKE_XXX_PATH|
+   * |CMAKE_XXX_MAC_PATH|
+
+2. Search paths specified in cmake-specific environment variables.
+   These are intended to be set in the user's shell configuration,
+   and therefore use the host's native path separator
+   (``;`` on Windows and ``:`` on UNIX).
+   This can be skipped if ``NO_CMAKE_ENVIRONMENT_PATH`` is passed.
+
+   * |CMAKE_PREFIX_PATH_XXX|
+   * |CMAKE_XXX_PATH|
+   * |CMAKE_XXX_MAC_PATH|
+
+3. Search the paths specified by the ``HINTS`` option.
+   These should be paths computed by system introspection, such as a
+   hint provided by the location of another item already found.
+   Hard-coded guesses should be specified with the ``PATHS`` option.
+
+4. Search the standard system environment variables.
+   This can be skipped if ``NO_SYSTEM_ENVIRONMENT_PATH`` is an argument.
+
+   * |SYSTEM_ENVIRONMENT_PATH_XXX|
+
+5. Search cmake variables defined in the Platform files
+   for the current system.  This can be skipped if ``NO_CMAKE_SYSTEM_PATH``
+   is passed.
+
+   * |CMAKE_SYSTEM_PREFIX_PATH_XXX|
+   * |CMAKE_SYSTEM_XXX_PATH|
+   * |CMAKE_SYSTEM_XXX_MAC_PATH|
+
+6. Search the paths specified by the PATHS option
+   or in the short-hand version of the command.
+   These are typically hard-coded guesses.
+
+.. |FIND_ARGS_XXX| replace:: <VAR> NAMES name
+
+On OS X the :variable:`CMAKE_FIND_FRAMEWORK` and
+:variable:`CMAKE_FIND_APPBUNDLE` variables determine the order of
+preference between Apple-style and unix-style package components.
+
+.. include:: FIND_XXX_ROOT.txt
+.. include:: FIND_XXX_ORDER.txt
diff --git a/share/cmake-3.6/Help/command/FIND_XXX_ORDER.txt b/share/cmake-3.10/Help/command/FIND_XXX_ORDER.txt
similarity index 100%
rename from share/cmake-3.6/Help/command/FIND_XXX_ORDER.txt
rename to share/cmake-3.10/Help/command/FIND_XXX_ORDER.txt
diff --git a/share/cmake-3.6/Help/command/FIND_XXX_ROOT.txt b/share/cmake-3.10/Help/command/FIND_XXX_ROOT.txt
similarity index 100%
rename from share/cmake-3.6/Help/command/FIND_XXX_ROOT.txt
rename to share/cmake-3.10/Help/command/FIND_XXX_ROOT.txt
diff --git a/share/cmake-3.6/Help/command/add_compile_options.rst b/share/cmake-3.10/Help/command/add_compile_options.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/add_compile_options.rst
rename to share/cmake-3.10/Help/command/add_compile_options.rst
diff --git a/share/cmake-3.10/Help/command/add_custom_command.rst b/share/cmake-3.10/Help/command/add_custom_command.rst
new file mode 100644
index 0000000..1b0aa14
--- /dev/null
+++ b/share/cmake-3.10/Help/command/add_custom_command.rst
@@ -0,0 +1,237 @@
+add_custom_command
+------------------
+
+Add a custom build rule to the generated build system.
+
+There are two main signatures for ``add_custom_command``.
+
+Generating Files
+^^^^^^^^^^^^^^^^
+
+The first signature is for adding a custom command to produce an output::
+
+  add_custom_command(OUTPUT output1 [output2 ...]
+                     COMMAND command1 [ARGS] [args1...]
+                     [COMMAND command2 [ARGS] [args2...] ...]
+                     [MAIN_DEPENDENCY depend]
+                     [DEPENDS [depends...]]
+                     [BYPRODUCTS [files...]]
+                     [IMPLICIT_DEPENDS <lang1> depend1
+                                      [<lang2> depend2] ...]
+                     [WORKING_DIRECTORY dir]
+                     [COMMENT comment]
+                     [DEPFILE depfile]
+                     [VERBATIM] [APPEND] [USES_TERMINAL]
+                     [COMMAND_EXPAND_LISTS])
+
+This defines a command to generate specified ``OUTPUT`` file(s).
+A target created in the same directory (``CMakeLists.txt`` file)
+that specifies any output of the custom command as a source file
+is given a rule to generate the file using the command at build time.
+Do not list the output in more than one independent target that
+may build in parallel or the two instances of the rule may conflict
+(instead use the :command:`add_custom_target` command to drive the
+command and make the other targets depend on that one).
+In makefile terms this creates a new target in the following form::
+
+  OUTPUT: MAIN_DEPENDENCY DEPENDS
+          COMMAND
+
+The options are:
+
+``APPEND``
+  Append the ``COMMAND`` and ``DEPENDS`` option values to the custom
+  command for the first output specified.  There must have already
+  been a previous call to this command with the same output.
+  The ``COMMENT``, ``MAIN_DEPENDENCY``, and ``WORKING_DIRECTORY``
+  options are currently ignored when APPEND is given, but may be
+  used in the future.
+
+``BYPRODUCTS``
+  Specify the files the command is expected to produce but whose
+  modification time may or may not be newer than the dependencies.
+  If a byproduct name is a relative path it will be interpreted
+  relative to the build tree directory corresponding to the
+  current source directory.
+  Each byproduct file will be marked with the :prop_sf:`GENERATED`
+  source file property automatically.
+
+  Explicit specification of byproducts is supported by the
+  :generator:`Ninja` generator to tell the ``ninja`` build tool
+  how to regenerate byproducts when they are missing.  It is
+  also useful when other build rules (e.g. custom commands)
+  depend on the byproducts.  Ninja requires a build rule for any
+  generated file on which another rule depends even if there are
+  order-only dependencies to ensure the byproducts will be
+  available before their dependents build.
+
+  The ``BYPRODUCTS`` option is ignored on non-Ninja generators
+  except to mark byproducts ``GENERATED``.
+
+``COMMAND``
+  Specify the command-line(s) to execute at build time.
+  If more than one ``COMMAND`` is specified they will be executed in order,
+  but *not* necessarily composed into a stateful shell or batch script.
+  (To run a full script, use the :command:`configure_file` command or the
+  :command:`file(GENERATE)` command to create it, and then specify
+  a ``COMMAND`` to launch it.)
+  The optional ``ARGS`` argument is for backward compatibility and
+  will be ignored.
+
+  If ``COMMAND`` specifies an executable target name (created by the
+  :command:`add_executable` command) it will automatically be replaced
+  by the location of the executable created at build time. If set, the
+  :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property will
+  also be prepended to the command to allow the executable to run on
+  the host.
+  (Use the ``TARGET_FILE``
+  :manual:`generator expression <cmake-generator-expressions(7)>` to
+  reference an executable later in the command line.)
+  Additionally a target-level dependency will be added so that the
+  executable target will be built before any target using this custom
+  command.  However this does NOT add a file-level dependency that
+  would cause the custom command to re-run whenever the executable is
+  recompiled.
+
+  Arguments to ``COMMAND`` may use
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+  References to target names in generator expressions imply target-level
+  dependencies, but NOT file-level dependencies.  List target names with
+  the ``DEPENDS`` option to add file-level dependencies.
+
+``COMMENT``
+  Display the given message before the commands are executed at
+  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
+  custom command into the target in which this command is built.
+  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.
+
+  Arguments to ``DEPENDS`` may use
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+``COMMAND_EXPAND_LISTS``
+  Lists in ``COMMAND`` arguments will be expanded, including those
+  created with
+  :manual:`generator expressions <cmake-generator-expressions(7)>`,
+  allowing ``COMMAND`` arguments such as
+  ``${CC} "-I$<JOIN:$<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>,;-I>" foo.cc``
+  to be properly expanded.
+
+``IMPLICIT_DEPENDS``
+  Request scanning of implicit dependencies of an input file.
+  The language given specifies the programming language whose
+  corresponding dependency scanner should be used.
+  Currently only ``C`` and ``CXX`` language scanners are supported.
+  The language has to be specified for every file in the
+  ``IMPLICIT_DEPENDS`` list.  Dependencies discovered from the
+  scanning are added to those of the custom command at build time.
+  Note that the ``IMPLICIT_DEPENDS`` option is currently supported
+  only for Makefile generators and will be ignored by other generators.
+
+``MAIN_DEPENDENCY``
+  Specify the primary input source file to the command.  This is
+  treated just like any value given to the ``DEPENDS`` option
+  but also suggests to Visual Studio generators where to hang
+  the custom command.  At most one custom command may specify a
+  given source file as its main dependency.
+
+``OUTPUT``
+  Specify the output files the command is expected to produce.
+  If an output name is a relative path it will be interpreted
+  relative to the build tree directory corresponding to the
+  current source directory.
+  Each output file will be marked with the :prop_sf:`GENERATED`
+  source file property automatically.
+  If the output of the custom command is not actually created
+  as a file on disk it should be marked with the :prop_sf:`SYMBOLIC`
+  source file property.
+
+``USES_TERMINAL``
+  The command will be given direct access to the terminal if possible.
+  With the :generator:`Ninja` generator, this places the command in
+  the ``console`` :prop_gbl:`pool <JOB_POOLS>`.
+
+``VERBATIM``
+  All arguments to the commands will be escaped properly for the
+  build tool so that the invoked command receives each argument
+  unchanged.  Note that one level of escapes is still used by the
+  CMake language processor before add_custom_command even sees the
+  arguments.  Use of ``VERBATIM`` is recommended as it enables
+  correct behavior.  When ``VERBATIM`` is not given the behavior
+  is platform specific because there is no protection of
+  tool-specific special characters.
+
+``WORKING_DIRECTORY``
+  Execute the command with the given current working directory.
+  If it is a relative path it will be interpreted relative to the
+  build tree directory corresponding to the current source directory.
+
+``DEPFILE``
+  Specify a ``.d`` depfile for the :generator:`Ninja` generator.
+  A ``.d`` file holds dependencies usually emitted by the custom
+  command itself.
+  Using ``DEPFILE`` with other generators than Ninja is an error.
+
+Build Events
+^^^^^^^^^^^^
+
+The second signature adds a custom command to a target such as a
+library or executable.  This is useful for performing an operation
+before or after building the target.  The command becomes part of the
+target and will only execute when the target itself is built.  If the
+target is already built, the command will not execute.
+
+::
+
+  add_custom_command(TARGET <target>
+                     PRE_BUILD | PRE_LINK | POST_BUILD
+                     COMMAND command1 [ARGS] [args1...]
+                     [COMMAND command2 [ARGS] [args2...] ...]
+                     [BYPRODUCTS [files...]]
+                     [WORKING_DIRECTORY dir]
+                     [COMMENT comment]
+                     [VERBATIM] [USES_TERMINAL])
+
+This defines a new command that will be associated with building the
+specified ``<target>``.  The ``<target>`` must be defined in the current
+directory; targets defined in other directories may not be specified.
+
+When the command will happen is determined by which
+of the following is specified:
+
+``PRE_BUILD``
+  Run before any other rules are executed within the target.
+  This is supported only on Visual Studio 8 or later.
+  For all other generators ``PRE_BUILD`` will be treated as
+  ``PRE_LINK``.
+``PRE_LINK``
+  Run after sources have been compiled but before linking the binary
+  or running the librarian or archiver tool of a static library.
+  This is not defined for targets created by the
+  :command:`add_custom_target` command.
+``POST_BUILD``
+  Run after all other rules within the target have been executed.
+
+.. note::
+  Because generator expressions can be used in custom commands,
+  it is possible to define ``COMMAND`` lines or whole custom commands
+  which evaluate to empty strings for certain configurations.
+  For **Visual Studio 2010 (and newer)** generators these command
+  lines or custom commands will be omitted for the specific
+  configuration and no "empty-string-command" will be added.
+
+  This allows to add individual build events for every configuration.
diff --git a/share/cmake-3.10/Help/command/add_custom_target.rst b/share/cmake-3.10/Help/command/add_custom_target.rst
new file mode 100644
index 0000000..bd61c8b
--- /dev/null
+++ b/share/cmake-3.10/Help/command/add_custom_target.rst
@@ -0,0 +1,123 @@
+add_custom_target
+-----------------
+
+Add a target with no output so it will always be built.
+
+::
+
+  add_custom_target(Name [ALL] [command1 [args1...]]
+                    [COMMAND command2 [args2...] ...]
+                    [DEPENDS depend depend depend ... ]
+                    [BYPRODUCTS [files...]]
+                    [WORKING_DIRECTORY dir]
+                    [COMMENT comment]
+                    [VERBATIM] [USES_TERMINAL]
+                    [COMMAND_EXPAND_LISTS]
+                    [SOURCES src1 [src2...]])
+
+Adds a target with the given name that executes the given commands.
+The target has no output file and is *always considered out of date*
+even if the commands try to create a file with the name of the target.
+Use the :command:`add_custom_command` command to generate a file with
+dependencies.  By default nothing depends on the custom target.  Use
+the :command:`add_dependencies` command to add dependencies to or
+from other targets.
+
+The options are:
+
+``ALL``
+  Indicate that this target should be added to the default build
+  target so that it will be run every time (the command cannot be
+  called ``ALL``).
+
+``BYPRODUCTS``
+  Specify the files the command is expected to produce but whose
+  modification time may or may not be updated on subsequent builds.
+  If a byproduct name is a relative path it will be interpreted
+  relative to the build tree directory corresponding to the
+  current source directory.
+  Each byproduct file will be marked with the :prop_sf:`GENERATED`
+  source file property automatically.
+
+  Explicit specification of byproducts is supported by the
+  :generator:`Ninja` generator to tell the ``ninja`` build tool
+  how to regenerate byproducts when they are missing.  It is
+  also useful when other build rules (e.g. custom commands)
+  depend on the byproducts.  Ninja requires a build rule for any
+  generated file on which another rule depends even if there are
+  order-only dependencies to ensure the byproducts will be
+  available before their dependents build.
+
+  The ``BYPRODUCTS`` option is ignored on non-Ninja generators
+  except to mark byproducts ``GENERATED``.
+
+``COMMAND``
+  Specify the command-line(s) to execute at build time.
+  If more than one ``COMMAND`` is specified they will be executed in order,
+  but *not* necessarily composed into a stateful shell or batch script.
+  (To run a full script, use the :command:`configure_file` command or the
+  :command:`file(GENERATE)` command to create it, and then specify
+  a ``COMMAND`` to launch it.)
+
+  If ``COMMAND`` specifies an executable target name (created by the
+  :command:`add_executable` command) it will automatically be replaced
+  by the location of the executable created at build time. If set, the
+  :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property will
+  also be prepended to the command to allow the executable to run on
+  the host.
+  Additionally a target-level dependency will be added so that the
+  executable target will be built before this custom target.
+
+  Arguments to ``COMMAND`` may use
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+  References to target names in generator expressions imply target-level
+  dependencies.
+
+  The command and arguments are optional and if not specified an empty
+  target will be created.
+
+``COMMENT``
+  Display the given message before the commands are executed at
+  build time.
+
+``DEPENDS``
+  Reference files and outputs of custom commands created with
+  :command:`add_custom_command` command calls in the same directory
+  (``CMakeLists.txt`` file).  They will be brought up to date when
+  the target is built.
+
+  Use the :command:`add_dependencies` command to add dependencies
+  on other targets.
+
+``COMMAND_EXPAND_LISTS``
+  Lists in ``COMMAND`` arguments will be expanded, including those
+  created with
+  :manual:`generator expressions <cmake-generator-expressions(7)>`,
+  allowing ``COMMAND`` arguments such as
+  ``${CC} "-I$<JOIN:$<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>,;-I>" foo.cc``
+  to be properly expanded.
+
+``SOURCES``
+  Specify additional source files to be included in the custom target.
+  Specified source files will be added to IDE project files for
+  convenience in editing even if they have no build rules.
+
+``VERBATIM``
+  All arguments to the commands will be escaped properly for the
+  build tool so that the invoked command receives each argument
+  unchanged.  Note that one level of escapes is still used by the
+  CMake language processor before ``add_custom_target`` even sees
+  the arguments.  Use of ``VERBATIM`` is recommended as it enables
+  correct behavior.  When ``VERBATIM`` is not given the behavior
+  is platform specific because there is no protection of
+  tool-specific special characters.
+
+``USES_TERMINAL``
+  The command will be given direct access to the terminal if possible.
+  With the :generator:`Ninja` generator, this places the command in
+  the ``console`` :prop_gbl:`pool <JOB_POOLS>`.
+
+``WORKING_DIRECTORY``
+  Execute the command with the given current working directory.
+  If it is a relative path it will be interpreted relative to the
+  build tree directory corresponding to the current source directory.
diff --git a/share/cmake-3.6/Help/command/add_definitions.rst b/share/cmake-3.10/Help/command/add_definitions.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/add_definitions.rst
rename to share/cmake-3.10/Help/command/add_definitions.rst
diff --git a/share/cmake-3.6/Help/command/add_dependencies.rst b/share/cmake-3.10/Help/command/add_dependencies.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/add_dependencies.rst
rename to share/cmake-3.10/Help/command/add_dependencies.rst
diff --git a/share/cmake-3.10/Help/command/add_executable.rst b/share/cmake-3.10/Help/command/add_executable.rst
new file mode 100644
index 0000000..c088796
--- /dev/null
+++ b/share/cmake-3.10/Help/command/add_executable.rst
@@ -0,0 +1,83 @@
+add_executable
+--------------
+
+Add an executable to the project using the specified source files.
+
+::
+
+  add_executable(<name> [WIN32] [MACOSX_BUNDLE]
+                 [EXCLUDE_FROM_ALL]
+                 source1 [source2 ...])
+
+Adds an executable target called ``<name>`` to be built from the source
+files listed in the command invocation.  The ``<name>`` corresponds to the
+logical target name and must be globally unique within a project.  The
+actual file name of the executable built is constructed based on
+conventions of the native platform (such as ``<name>.exe`` or just
+``<name>``).
+
+By default the executable file will be created in the build tree
+directory corresponding to the source tree directory in which the
+command was invoked.  See documentation of the
+:prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target property to change this
+location.  See documentation of the :prop_tgt:`OUTPUT_NAME` target property
+to change the ``<name>`` part of the final file name.
+
+If ``WIN32`` is given the property :prop_tgt:`WIN32_EXECUTABLE` will be
+set on the target created.  See documentation of that target property for
+details.
+
+If ``MACOSX_BUNDLE`` is given the corresponding property will be set on
+the created target.  See documentation of the :prop_tgt:`MACOSX_BUNDLE`
+target property for details.
+
+If ``EXCLUDE_FROM_ALL`` is given the corresponding property will be set on
+the created target.  See documentation of the :prop_tgt:`EXCLUDE_FROM_ALL`
+target property for details.
+
+Source arguments to ``add_executable`` may use "generator expressions" with
+the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions.  See the :manual:`cmake-buildsystem(7)`
+manual for more on defining buildsystem properties.
+
+See also :prop_sf:`HEADER_FILE_ONLY` on what to do if some sources are
+pre-processed, and you want to have the original sources reachable from
+within IDE.
+
+--------------------------------------------------------------------------
+
+::
+
+  add_executable(<name> IMPORTED [GLOBAL])
+
+An :ref:`IMPORTED executable target <Imported Targets>` references an
+executable file located outside the project.  No rules are generated to
+build it, and the :prop_tgt:`IMPORTED` target property is ``True``.  The
+target name has scope in the directory in which it is created and below, but
+the ``GLOBAL`` option extends visibility.  It may be referenced like any
+target built within the project.  ``IMPORTED`` executables are useful
+for convenient reference from commands like :command:`add_custom_command`.
+Details about the imported executable are specified by setting properties
+whose names begin in ``IMPORTED_``.  The most important such property is
+:prop_tgt:`IMPORTED_LOCATION` (and its per-configuration version
+:prop_tgt:`IMPORTED_LOCATION_<CONFIG>`) which specifies the location of
+the main executable file on disk.  See documentation of the ``IMPORTED_*``
+properties for more information.
+
+--------------------------------------------------------------------------
+
+::
+
+  add_executable(<name> ALIAS <target>)
+
+Creates an :ref:`Alias Target <Alias Targets>`, such that ``<name>`` can
+be used to refer to ``<target>`` in subsequent commands.  The ``<name>``
+does not appear in the generated buildsystem as a make target.  The
+``<target>`` may not be an :ref:`Imported Target <Imported Targets>` or an
+``ALIAS``.  ``ALIAS`` targets can be used as targets to read properties
+from, executables for custom commands and custom targets.  They can also be
+tested for existence with the regular :command:`if(TARGET)` subcommand.
+The ``<name>`` may not be used to modify properties of ``<target>``, that
+is, it may not be used as the operand of :command:`set_property`,
+:command:`set_target_properties`, :command:`target_link_libraries` etc.
+An ``ALIAS`` target may not be installed or exported.
diff --git a/share/cmake-3.10/Help/command/add_library.rst b/share/cmake-3.10/Help/command/add_library.rst
new file mode 100644
index 0000000..de5335e
--- /dev/null
+++ b/share/cmake-3.10/Help/command/add_library.rst
@@ -0,0 +1,165 @@
+add_library
+-----------
+
+.. only:: html
+
+   .. contents::
+
+Add a library to the project using the specified source files.
+
+Normal Libraries
+^^^^^^^^^^^^^^^^
+
+::
+
+  add_library(<name> [STATIC | SHARED | MODULE]
+              [EXCLUDE_FROM_ALL]
+              source1 [source2 ...])
+
+Adds a library target called ``<name>`` to be built from the source files
+listed in the command invocation.  The ``<name>`` corresponds to the
+logical target name and must be globally unique within a project.  The
+actual file name of the library built is constructed based on
+conventions of the native platform (such as ``lib<name>.a`` or
+``<name>.lib``).
+
+``STATIC``, ``SHARED``, or ``MODULE`` may be given to specify the type of
+library to be created.  ``STATIC`` libraries are archives of object files
+for use when linking other targets.  ``SHARED`` libraries are linked
+dynamically and loaded at runtime.  ``MODULE`` libraries are plugins that
+are not linked into other targets but may be loaded dynamically at runtime
+using dlopen-like functionality.  If no type is given explicitly the
+type is ``STATIC`` or ``SHARED`` based on whether the current value of the
+variable :variable:`BUILD_SHARED_LIBS` is ``ON``.  For ``SHARED`` and
+``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
+property is set to ``ON`` automatically.
+A ``SHARED`` or ``STATIC`` library may be marked with the :prop_tgt:`FRAMEWORK`
+target property to create an OS X Framework.
+
+If a library does not export any symbols, it must not be declared as a
+``SHARED`` library.  For example, a Windows resource DLL or a managed C++/CLI
+DLL that exports no unmanaged symbols would need to be a ``MODULE`` library.
+This is because CMake expects a ``SHARED`` library to always have an
+associated import library on Windows.
+
+By default the library file will be created in the build tree directory
+corresponding to the source tree directory in which the command was
+invoked.  See documentation of the :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`,
+:prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and
+:prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties to change this
+location.  See documentation of the :prop_tgt:`OUTPUT_NAME` target
+property to change the ``<name>`` part of the final file name.
+
+If ``EXCLUDE_FROM_ALL`` is given the corresponding property will be set on
+the created target.  See documentation of the :prop_tgt:`EXCLUDE_FROM_ALL`
+target property for details.
+
+Source arguments to ``add_library`` may use "generator expressions" with
+the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions.  See the :manual:`cmake-buildsystem(7)`
+manual for more on defining buildsystem properties.
+
+See also :prop_sf:`HEADER_FILE_ONLY` on what to do if some sources are
+pre-processed, and you want to have the original sources reachable from
+within IDE.
+
+Imported Libraries
+^^^^^^^^^^^^^^^^^^
+
+::
+
+  add_library(<name> <SHARED|STATIC|MODULE|OBJECT|UNKNOWN> IMPORTED
+              [GLOBAL])
+
+An :ref:`IMPORTED library target <Imported Targets>` references a library
+file located outside the project.  No rules are generated to build it, and
+the :prop_tgt:`IMPORTED` target property is ``True``.  The target name has
+scope in the directory in which it is created and below, but the ``GLOBAL``
+option extends visibility.  It may be referenced like any target built
+within the project.  ``IMPORTED`` libraries are useful for convenient
+reference from commands like :command:`target_link_libraries`.  Details
+about the imported library are specified by setting properties whose names
+begin in ``IMPORTED_`` and ``INTERFACE_``.  The most important such
+property is :prop_tgt:`IMPORTED_LOCATION` (and its per-configuration
+variant :prop_tgt:`IMPORTED_LOCATION_<CONFIG>`) which specifies the
+location of the main library file on disk.  See documentation of the
+``IMPORTED_*`` and ``INTERFACE_*`` properties for more information.
+
+Object Libraries
+^^^^^^^^^^^^^^^^
+
+::
+
+  add_library(<name> OBJECT <src>...)
+
+Creates an :ref:`Object Library <Object Libraries>`.  An object library
+compiles source files but does not archive or link their object files into a
+library.  Instead other targets created by :command:`add_library` or
+:command:`add_executable` may reference the objects using an expression of the
+form ``$<TARGET_OBJECTS:objlib>`` as a source, where ``objlib`` is the
+object library name.  For example:
+
+.. code-block:: cmake
+
+  add_library(... $<TARGET_OBJECTS:objlib> ...)
+  add_executable(... $<TARGET_OBJECTS:objlib> ...)
+
+will include objlib's object files in a library and an executable
+along with those compiled from their own sources.  Object libraries
+may contain only sources that compile, header files, and other files
+that would not affect linking of a normal library (e.g. ``.txt``).
+They may contain custom commands generating such sources, but not
+``PRE_BUILD``, ``PRE_LINK``, or ``POST_BUILD`` commands.  Object libraries
+cannot be linked.  Some native build systems may not like targets that
+have only object files, so consider adding at least one real source file
+to any target that references ``$<TARGET_OBJECTS:objlib>``.
+
+Alias Libraries
+^^^^^^^^^^^^^^^
+
+::
+
+  add_library(<name> ALIAS <target>)
+
+Creates an :ref:`Alias Target <Alias Targets>`, such that ``<name>`` can be
+used to refer to ``<target>`` in subsequent commands.  The ``<name>`` does
+not appear in the generated buildsystem as a make target.  The ``<target>``
+may not be an :ref:`Imported Target <Imported Targets>` or an ``ALIAS``.
+``ALIAS`` targets can be used as linkable targets and as targets to
+read properties from.  They can also be tested for existence with the
+regular :command:`if(TARGET)` subcommand.  The ``<name>`` may not be used
+to modify properties of ``<target>``, that is, it may not be used as the
+operand of :command:`set_property`, :command:`set_target_properties`,
+:command:`target_link_libraries` etc.  An ``ALIAS`` target may not be
+installed or exported.
+
+Interface Libraries
+^^^^^^^^^^^^^^^^^^^
+
+::
+
+  add_library(<name> INTERFACE [IMPORTED [GLOBAL]])
+
+Creates an :ref:`Interface Library <Interface Libraries>`.  An ``INTERFACE``
+library target does not directly create build output, though it may
+have properties set on it and it may be installed, exported and
+imported. Typically the ``INTERFACE_*`` properties are populated on
+the interface target using the commands:
+
+* :command:`set_property`,
+* :command:`target_link_libraries(INTERFACE)`,
+* :command:`target_include_directories(INTERFACE)`,
+* :command:`target_compile_options(INTERFACE)`,
+* :command:`target_compile_definitions(INTERFACE)`, and
+* :command:`target_sources(INTERFACE)`,
+
+and then it is used as an argument to :command:`target_link_libraries`
+like any other target.
+
+An ``INTERFACE`` :ref:`Imported Target <Imported Targets>` may also be
+created with this signature.  An ``IMPORTED`` library target references a
+library defined outside the project.  The target name has scope in the
+directory in which it is created and below, but the ``GLOBAL`` option
+extends visibility.  It may be referenced like any target built within
+the project.  ``IMPORTED`` libraries are useful for convenient reference
+from commands like :command:`target_link_libraries`.
diff --git a/share/cmake-3.6/Help/command/add_subdirectory.rst b/share/cmake-3.10/Help/command/add_subdirectory.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/add_subdirectory.rst
rename to share/cmake-3.10/Help/command/add_subdirectory.rst
diff --git a/share/cmake-3.6/Help/command/add_test.rst b/share/cmake-3.10/Help/command/add_test.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/add_test.rst
rename to share/cmake-3.10/Help/command/add_test.rst
diff --git a/share/cmake-3.6/Help/command/aux_source_directory.rst b/share/cmake-3.10/Help/command/aux_source_directory.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/aux_source_directory.rst
rename to share/cmake-3.10/Help/command/aux_source_directory.rst
diff --git a/share/cmake-3.6/Help/command/break.rst b/share/cmake-3.10/Help/command/break.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/break.rst
rename to share/cmake-3.10/Help/command/break.rst
diff --git a/share/cmake-3.6/Help/command/build_command.rst b/share/cmake-3.10/Help/command/build_command.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/build_command.rst
rename to share/cmake-3.10/Help/command/build_command.rst
diff --git a/share/cmake-3.6/Help/command/build_name.rst b/share/cmake-3.10/Help/command/build_name.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/build_name.rst
rename to share/cmake-3.10/Help/command/build_name.rst
diff --git a/share/cmake-3.10/Help/command/cmake_host_system_information.rst b/share/cmake-3.10/Help/command/cmake_host_system_information.rst
new file mode 100644
index 0000000..7199874
--- /dev/null
+++ b/share/cmake-3.10/Help/command/cmake_host_system_information.rst
@@ -0,0 +1,46 @@
+cmake_host_system_information
+-----------------------------
+
+Query host system specific information.
+
+::
+
+  cmake_host_system_information(RESULT <variable> QUERY <key> ...)
+
+Queries system information of the host system on which cmake runs.
+One or more ``<key>`` can be provided to select the information to be
+queried.  The list of queried values is stored in ``<variable>``.
+
+``<key>`` can be one of the following values:
+
+============================= ================================================
+Key                           Description
+============================= ================================================
+``NUMBER_OF_LOGICAL_CORES``   Number of logical cores
+``NUMBER_OF_PHYSICAL_CORES``  Number of physical cores
+``HOSTNAME``                  Hostname
+``FQDN``                      Fully qualified domain name
+``TOTAL_VIRTUAL_MEMORY``      Total virtual memory in megabytes
+``AVAILABLE_VIRTUAL_MEMORY``  Available virtual memory in megabytes
+``TOTAL_PHYSICAL_MEMORY``     Total physical memory in megabytes
+``AVAILABLE_PHYSICAL_MEMORY`` Available physical memory in megabytes
+``IS_64BIT``                  One if processor is 64Bit
+``HAS_FPU``                   One if processor has floating point unit
+``HAS_MMX``                   One if processor supports MMX instructions
+``HAS_MMX_PLUS``              One if porcessor supports Ext. MMX instructions
+``HAS_SSE``                   One if porcessor supports SSE instructions
+``HAS_SSE2``                  One if porcessor supports SSE2 instructions
+``HAS_SSE_FP``                One if porcessor supports SSE FP instructions
+``HAS_SSE_MMX``               One if porcessor supports SSE MMX instructions
+``HAS_AMD_3DNOW``             One if porcessor supports 3DNow instructions
+``HAS_AMD_3DNOW_PLUS``        One if porcessor supports 3DNow+ instructions
+``HAS_IA64``                  One if IA64 processor emulating x86
+``HAS_SERIAL_NUMBER``         One if processor has serial number
+``PROCESSOR_SERIAL_NUMBER``   Processor serial number
+``PROCESSOR_NAME``            Human readable processor name
+``PROCESSOR_DESCRIPTION``     Human readable full processor description
+``OS_NAME``                   See :variable:`CMAKE_HOST_SYSTEM_NAME`
+``OS_RELEASE``                The OS sub-type e.g. on Windows ``Professional``
+``OS_VERSION``                The OS build ID
+``OS_PLATFORM``               See :variable:`CMAKE_HOST_SYSTEM_PROCESSOR`
+============================= ================================================
diff --git a/share/cmake-3.6/Help/command/cmake_minimum_required.rst b/share/cmake-3.10/Help/command/cmake_minimum_required.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/cmake_minimum_required.rst
rename to share/cmake-3.10/Help/command/cmake_minimum_required.rst
diff --git a/share/cmake-3.10/Help/command/cmake_parse_arguments.rst b/share/cmake-3.10/Help/command/cmake_parse_arguments.rst
new file mode 100644
index 0000000..b334a89
--- /dev/null
+++ b/share/cmake-3.10/Help/command/cmake_parse_arguments.rst
@@ -0,0 +1,99 @@
+cmake_parse_arguments
+---------------------
+
+``cmake_parse_arguments`` is intended to be used in macros or functions for
+parsing the arguments given to that macro or function.  It processes the
+arguments and defines a set of variables which hold the values of the
+respective options.
+
+::
+
+  cmake_parse_arguments(<prefix> <options> <one_value_keywords>
+                        <multi_value_keywords> args...)
+
+  cmake_parse_arguments(PARSE_ARGV N <prefix> <options> <one_value_keywords>
+                        <multi_value_keywords>)
+
+The first signature reads processes arguments passed in the ``args...``.
+This may be used in either a :command:`macro` or a :command:`function`.
+
+The ``PARSE_ARGV`` signature is only for use in a :command:`function`
+body.  In this case the arguments that are parsed come from the
+``ARGV#`` variables of the calling function.  The parsing starts with
+the Nth argument, where ``N`` is an unsigned integer.  This allows for
+the values to have special characters like ``;`` in them.
+
+The ``<options>`` argument contains all options for the respective macro,
+i.e.  keywords which can be used when calling the macro without any value
+following, like e.g.  the ``OPTIONAL`` keyword of the :command:`install`
+command.
+
+The ``<one_value_keywords>`` argument contains all keywords for this macro
+which are followed by one value, like e.g. ``DESTINATION`` keyword of the
+:command:`install` command.
+
+The ``<multi_value_keywords>`` argument contains all keywords for this
+macro which can be followed by more than one value, like e.g. the
+``TARGETS`` or ``FILES`` keywords of the :command:`install` command.
+
+.. note::
+
+   All keywords shall be unique. I.e. every keyword shall only be specified
+   once in either ``<options>``, ``<one_value_keywords>`` or
+   ``<multi_value_keywords>``. A warning will be emitted if uniqueness is
+   violated.
+
+When done, ``cmake_parse_arguments`` will consider for each of the
+keywords listed in ``<options>``, ``<one_value_keywords>`` and
+``<multi_value_keywords>`` a variable composed of the given ``<prefix>``
+followed by ``"_"`` and the name of the respective keyword.  These
+variables will then hold the respective value from the argument list
+or be undefined if the associated option could not be found.
+For the ``<options>`` keywords, these will always be defined,
+to ``TRUE`` or ``FALSE``, whether the option is in the argument list or not.
+
+All remaining arguments are collected in a variable
+``<prefix>_UNPARSED_ARGUMENTS`` that will be undefined if all argument
+where recognized. This can be checked afterwards to see
+whether your macro was called with unrecognized parameters.
+
+As an example here a ``my_install()`` macro, which takes similar arguments
+as the real :command:`install` command:
+
+.. code-block:: cmake
+
+   function(MY_INSTALL)
+       set(options OPTIONAL FAST)
+       set(oneValueArgs DESTINATION RENAME)
+       set(multiValueArgs TARGETS CONFIGURATIONS)
+       cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}"
+                             "${multiValueArgs}" ${ARGN} )
+
+       # ...
+
+Assume ``my_install()`` has been called like this:
+
+.. code-block:: cmake
+
+   my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
+
+After the ``cmake_parse_arguments`` call the macro will have set or undefined
+the following variables::
+
+   MY_INSTALL_OPTIONAL = TRUE
+   MY_INSTALL_FAST = FALSE # was not used in call to my_install
+   MY_INSTALL_DESTINATION = "bin"
+   MY_INSTALL_RENAME <UNDEFINED> # was not used
+   MY_INSTALL_TARGETS = "foo;bar"
+   MY_INSTALL_CONFIGURATIONS <UNDEFINED> # was not used
+   MY_INSTALL_UNPARSED_ARGUMENTS = "blub" # nothing expected after "OPTIONAL"
+
+You can then continue and process these variables.
+
+Keywords terminate lists of values, e.g.  if directly after a
+one_value_keyword another recognized keyword follows, this is
+interpreted as the beginning of the new option.  E.g.
+``my_install(TARGETS foo DESTINATION OPTIONAL)`` would result in
+``MY_INSTALL_DESTINATION`` set to ``"OPTIONAL"``, but as ``OPTIONAL``
+is a keyword itself ``MY_INSTALL_DESTINATION`` will be empty and
+``MY_INSTALL_OPTIONAL`` will therefore be set to ``TRUE``.
diff --git a/share/cmake-3.6/Help/command/cmake_policy.rst b/share/cmake-3.10/Help/command/cmake_policy.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/cmake_policy.rst
rename to share/cmake-3.10/Help/command/cmake_policy.rst
diff --git a/share/cmake-3.10/Help/command/configure_file.rst b/share/cmake-3.10/Help/command/configure_file.rst
new file mode 100644
index 0000000..e08c573
--- /dev/null
+++ b/share/cmake-3.10/Help/command/configure_file.rst
@@ -0,0 +1,125 @@
+configure_file
+--------------
+
+Copy a file to another location and modify its contents.
+
+::
+
+  configure_file(<input> <output>
+                 [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
+                 [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
+
+Copies an ``<input>`` file to an ``<output>`` file and substitutes
+variable values referenced as ``@VAR@`` or ``${VAR}`` in the input
+file content.  Each variable reference will be replaced with the
+current value of the variable, or the empty string if the variable
+is not defined.  Furthermore, input lines of the form::
+
+  #cmakedefine VAR ...
+
+will be replaced with either::
+
+  #define VAR ...
+
+or::
+
+  /* #undef VAR */
+
+depending on whether ``VAR`` is set in CMake to any value not considered
+a false constant by the :command:`if` command.  The "..." content on the
+line after the variable name, if any, is processed as above.
+Input file lines of the form ``#cmakedefine01 VAR`` will be replaced with
+either ``#define VAR 1`` or ``#define VAR 0`` similarly.
+The result lines (with the exception of the ``#undef`` comments) can be
+indented using spaces and/or tabs between the ``#`` character
+and the ``cmakedefine`` or ``cmakedefine01`` words. This whitespace
+indentation will be preserved in the output lines::
+
+  #  cmakedefine VAR
+  #  cmakedefine01 VAR
+
+will be replaced, if ``VAR`` is defined, with::
+
+  #  define VAR
+  #  define VAR 1
+
+If the input file is modified the build system will re-run CMake to
+re-configure the file and generate the build system again.
+The generated file is modified and its timestamp updated on subsequent
+cmake runs only if its content is changed.
+
+The arguments are:
+
+``<input>``
+  Path to the input file.  A relative path is treated with respect to
+  the value of :variable:`CMAKE_CURRENT_SOURCE_DIR`.  The input path
+  must be a file, not a directory.
+
+``<output>``
+  Path to the output file or directory.  A relative path is treated
+  with respect to the value of :variable:`CMAKE_CURRENT_BINARY_DIR`.
+  If the path names an existing directory the output file is placed
+  in that directory with the same file name as the input file.
+
+``COPYONLY``
+  Copy the file without replacing any variable references or other
+  content.  This option may not be used with ``NEWLINE_STYLE``.
+
+``ESCAPE_QUOTES``
+  Escape any substituted quotes with backslashes (C-style).
+
+``@ONLY``
+  Restrict variable replacement to references of the form ``@VAR@``.
+  This is useful for configuring scripts that use ``${VAR}`` syntax.
+
+``NEWLINE_STYLE <style>``
+  Specify the newline style for the output file.  Specify
+  ``UNIX`` or ``LF`` for ``\n`` newlines, or specify
+  ``DOS``, ``WIN32``, or ``CRLF`` for ``\r\n`` newlines.
+  This option may not be used with ``COPYONLY``.
+
+Example
+^^^^^^^
+
+Consider a source tree containing a ``foo.h.in`` file:
+
+.. code-block:: c
+
+  #cmakedefine FOO_ENABLE
+  #cmakedefine FOO_STRING "@FOO_STRING@"
+
+An adjacent ``CMakeLists.txt`` may use ``configure_file`` to
+configure the header:
+
+.. code-block:: cmake
+
+  option(FOO_ENABLE "Enable Foo" ON)
+  if(FOO_ENABLE)
+    set(FOO_STRING "foo")
+  endif()
+  configure_file(foo.h.in foo.h @ONLY)
+
+This creates a ``foo.h`` in the build directory corresponding to
+this source directory.  If the ``FOO_ENABLE`` option is on, the
+configured file will contain:
+
+.. code-block:: c
+
+  #define FOO_ENABLE
+  #define FOO_STRING "foo"
+
+Otherwise it will contain:
+
+.. code-block:: c
+
+  /* #undef FOO_ENABLE */
+  /* #undef FOO_STRING */
+
+One may then use the :command:`include_directories` command to
+specify the output directory as an include directory:
+
+.. code-block:: cmake
+
+  include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+so that sources may include the header as ``#include <foo.h>``.
diff --git a/share/cmake-3.6/Help/command/continue.rst b/share/cmake-3.10/Help/command/continue.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/continue.rst
rename to share/cmake-3.10/Help/command/continue.rst
diff --git a/share/cmake-3.6/Help/command/create_test_sourcelist.rst b/share/cmake-3.10/Help/command/create_test_sourcelist.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/create_test_sourcelist.rst
rename to share/cmake-3.10/Help/command/create_test_sourcelist.rst
diff --git a/share/cmake-3.10/Help/command/ctest_build.rst b/share/cmake-3.10/Help/command/ctest_build.rst
new file mode 100644
index 0000000..55bb4a3
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_build.rst
@@ -0,0 +1,80 @@
+ctest_build
+-----------
+
+Perform the :ref:`CTest Build Step` as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_build([BUILD <build-dir>] [APPEND]
+              [CONFIGURATION <config>]
+              [FLAGS <flags>]
+              [PROJECT_NAME <project-name>]
+              [TARGET <target-name>]
+              [NUMBER_ERRORS <num-err-var>]
+              [NUMBER_WARNINGS <num-warn-var>]
+              [RETURN_VALUE <result-var>]
+              [CAPTURE_CMAKE_ERROR <result-var>]
+              )
+
+Build the project and store results in ``Build.xml``
+for submission with the :command:`ctest_submit` command.
+
+The :variable:`CTEST_BUILD_COMMAND` variable may be set to explicitly
+specify the build command line.  Otherwise the build command line is
+computed automatically based on the options given.
+
+The options are:
+
+``BUILD <build-dir>``
+  Specify the top-level build directory.  If not given, the
+  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
+
+``APPEND``
+  Mark ``Build.xml`` for append to results previously submitted to a
+  dashboard server since the last :command:`ctest_start` call.
+  Append semantics are defined by the dashboard server in use.
+  This does *not* cause results to be appended to a ``.xml`` file
+  produced by a previous call to this command.
+
+``CONFIGURATION <config>``
+  Specify the build configuration (e.g. ``Debug``).  If not
+  specified the ``CTEST_BUILD_CONFIGURATION`` variable will be checked.
+  Otherwise the ``-C <cfg>`` option given to the :manual:`ctest(1)`
+  command will be used, if any.
+
+``FLAGS <flags>``
+  Pass additional arguments to the underlying build command.
+  If not specified the ``CTEST_BUILD_FLAGS`` variable will be checked.
+  This can, e.g., be used to trigger a parallel build using the
+  ``-j`` option of make. See the :module:`ProcessorCount` module
+  for an example.
+
+``PROJECT_NAME <project-name>``
+  Set the name of the project to build.  This should correspond
+  to the top-level call to the :command:`project` command.
+  If not specified the ``CTEST_PROJECT_NAME`` variable will be checked.
+
+``TARGET <target-name>``
+  Specify the name of a target to build.  If not specified the
+  ``CTEST_BUILD_TARGET`` variable will be checked.  Otherwise the
+  default target will be built.  This is the "all" target
+  (called ``ALL_BUILD`` in :ref:`Visual Studio Generators`).
+
+``NUMBER_ERRORS <num-err-var>``
+  Store the number of build errors detected in the given variable.
+
+``NUMBER_WARNINGS <num-warn-var>``
+  Store the number of build warnings detected in the given variable.
+
+``RETURN_VALUE <result-var>``
+  Store the return value of the native build tool in the given variable.
+
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
+
+``QUIET``
+  Suppress any CTest-specific non-error output that would have been
+  printed to the console otherwise.  The summary of warnings / errors,
+  as well as the output from the native build tool is unaffected by
+  this option.
diff --git a/share/cmake-3.10/Help/command/ctest_configure.rst b/share/cmake-3.10/Help/command/ctest_configure.rst
new file mode 100644
index 0000000..2dea07b
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_configure.rst
@@ -0,0 +1,46 @@
+ctest_configure
+---------------
+
+Perform the :ref:`CTest Configure Step` as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_configure([BUILD <build-dir>] [SOURCE <source-dir>] [APPEND]
+                  [OPTIONS <options>] [RETURN_VALUE <result-var>] [QUIET]
+                  [CAPTURE_CMAKE_ERROR <result-var>])
+
+Configure the project build tree and record results in ``Configure.xml``
+for submission with the :command:`ctest_submit` command.
+
+The options are:
+
+``BUILD <build-dir>``
+  Specify the top-level build directory.  If not given, the
+  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
+
+``SOURCE <source-dir>``
+  Specify the source directory.  If not given, the
+  :variable:`CTEST_SOURCE_DIRECTORY` variable is used.
+
+``APPEND``
+  Mark ``Configure.xml`` for append to results previously submitted to a
+  dashboard server since the last :command:`ctest_start` call.
+  Append semantics are defined by the dashboard server in use.
+  This does *not* cause results to be appended to a ``.xml`` file
+  produced by a previous call to this command.
+
+``OPTIONS <options>``
+  Specify command-line arguments to pass to the configuration tool.
+
+``RETURN_VALUE <result-var>``
+  Store in the ``<result-var>`` variable the return value of the native
+  configuration tool.
+
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
+
+``QUIET``
+  Suppress any CTest-specific non-error messages that would have
+  otherwise been printed to the console.  Output from the underlying
+  configure command is not affected.
diff --git a/share/cmake-3.10/Help/command/ctest_coverage.rst b/share/cmake-3.10/Help/command/ctest_coverage.rst
new file mode 100644
index 0000000..8d27b9c
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_coverage.rst
@@ -0,0 +1,46 @@
+ctest_coverage
+--------------
+
+Perform the :ref:`CTest Coverage Step` as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_coverage([BUILD <build-dir>] [APPEND]
+                 [LABELS <label>...]
+                 [RETURN_VALUE <result-var>]
+                 [CAPTURE_CMAKE_ERROR <result-var]
+                 [QUIET]
+                 )
+
+Collect coverage tool results and stores them in ``Coverage.xml``
+for submission with the :command:`ctest_submit` command.
+
+The options are:
+
+``BUILD <build-dir>``
+  Specify the top-level build directory.  If not given, the
+  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
+
+``APPEND``
+  Mark ``Coverage.xml`` for append to results previously submitted to a
+  dashboard server since the last :command:`ctest_start` call.
+  Append semantics are defined by the dashboard server in use.
+  This does *not* cause results to be appended to a ``.xml`` file
+  produced by a previous call to this command.
+
+``LABELS``
+  Filter the coverage report to include only source files labeled
+  with at least one of the labels specified.
+
+``RETURN_VALUE <result-var>``
+  Store in the ``<result-var>`` variable ``0`` if coverage tools
+  ran without error and non-zero otherwise.
+
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
+
+``QUIET``
+  Suppress any CTest-specific non-error output that would have been
+  printed to the console otherwise.  The summary indicating how many
+  lines of code were covered is unaffected by this option.
diff --git a/share/cmake-3.6/Help/command/ctest_empty_binary_directory.rst b/share/cmake-3.10/Help/command/ctest_empty_binary_directory.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/ctest_empty_binary_directory.rst
rename to share/cmake-3.10/Help/command/ctest_empty_binary_directory.rst
diff --git a/share/cmake-3.10/Help/command/ctest_memcheck.rst b/share/cmake-3.10/Help/command/ctest_memcheck.rst
new file mode 100644
index 0000000..288b65a
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_memcheck.rst
@@ -0,0 +1,38 @@
+ctest_memcheck
+--------------
+
+Perform the :ref:`CTest MemCheck Step` as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_memcheck([BUILD <build-dir>] [APPEND]
+                 [START <start-number>]
+                 [END <end-number>]
+                 [STRIDE <stride-number>]
+                 [EXCLUDE <exclude-regex>]
+                 [INCLUDE <include-regex>]
+                 [EXCLUDE_LABEL <label-exclude-regex>]
+                 [INCLUDE_LABEL <label-include-regex>]
+                 [EXCLUDE_FIXTURE <regex>]
+                 [EXCLUDE_FIXTURE_SETUP <regex>]
+                 [EXCLUDE_FIXTURE_CLEANUP <regex>]
+                 [PARALLEL_LEVEL <level>]
+                 [TEST_LOAD <threshold>]
+                 [SCHEDULE_RANDOM <ON|OFF>]
+                 [STOP_TIME <time-of-day>]
+                 [RETURN_VALUE <result-var>]
+                 [DEFECT_COUNT <defect-count-var>]
+                 [QUIET]
+                 )
+
+
+Run tests with a dynamic analysis tool and store results in
+``MemCheck.xml`` for submission with the :command:`ctest_submit`
+command.
+
+Most options are the same as those for the :command:`ctest_test` command.
+
+The options unique to this command are:
+
+``DEFECT_COUNT <defect-count-var>``
+  Store in the ``<defect-count-var>`` the number of defects found.
diff --git a/share/cmake-3.6/Help/command/ctest_read_custom_files.rst b/share/cmake-3.10/Help/command/ctest_read_custom_files.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/ctest_read_custom_files.rst
rename to share/cmake-3.10/Help/command/ctest_read_custom_files.rst
diff --git a/share/cmake-3.6/Help/command/ctest_run_script.rst b/share/cmake-3.10/Help/command/ctest_run_script.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/ctest_run_script.rst
rename to share/cmake-3.10/Help/command/ctest_run_script.rst
diff --git a/share/cmake-3.6/Help/command/ctest_sleep.rst b/share/cmake-3.10/Help/command/ctest_sleep.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/ctest_sleep.rst
rename to share/cmake-3.10/Help/command/ctest_sleep.rst
diff --git a/share/cmake-3.6/Help/command/ctest_start.rst b/share/cmake-3.10/Help/command/ctest_start.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/ctest_start.rst
rename to share/cmake-3.10/Help/command/ctest_start.rst
diff --git a/share/cmake-3.10/Help/command/ctest_submit.rst b/share/cmake-3.10/Help/command/ctest_submit.rst
new file mode 100644
index 0000000..6b49da3
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_submit.rst
@@ -0,0 +1,77 @@
+ctest_submit
+------------
+
+Perform the :ref:`CTest Submit Step` as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_submit([PARTS <part>...] [FILES <file>...]
+               [HTTPHEADER <header>]
+               [RETRY_COUNT <count>]
+               [RETRY_DELAY <delay>]
+               [RETURN_VALUE <result-var>]
+               [QUIET]
+               )
+
+Submit results to a dashboard server.
+By default all available parts are submitted.
+
+The options are:
+
+``PARTS <part>...``
+  Specify a subset of parts to submit.  Valid part names are::
+
+    Start      = nothing
+    Update     = ctest_update results, in Update.xml
+    Configure  = ctest_configure results, in Configure.xml
+    Build      = ctest_build results, in Build.xml
+    Test       = ctest_test results, in Test.xml
+    Coverage   = ctest_coverage results, in Coverage.xml
+    MemCheck   = ctest_memcheck results, in DynamicAnalysis.xml
+    Notes      = Files listed by CTEST_NOTES_FILES, in Notes.xml
+    ExtraFiles = Files listed by CTEST_EXTRA_SUBMIT_FILES
+    Upload     = Files prepared for upload by ctest_upload(), in Upload.xml
+    Submit     = nothing
+
+``FILES <file>...``
+  Specify an explicit list of specific files to be submitted.
+  Each individual file must exist at the time of the call.
+
+``HTTPHEADER <HTTP-header>``
+  Specify HTTP header to be included in the request to CDash during submission.
+  This suboption can be repeated several times.
+
+``RETRY_COUNT <count>``
+  Specify how many times to retry a timed-out submission.
+
+``RETRY_DELAY <delay>``
+  Specify how long (in seconds) to wait after a timed-out submission
+  before attempting to re-submit.
+
+``RETURN_VALUE <result-var>``
+  Store in the ``<result-var>`` variable ``0`` for success and
+  non-zero on failure.
+
+``QUIET``
+  Suppress all non-error messages that would have otherwise been
+  printed to the console.
+
+Submit to CDash Upload API
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>]
+               [HTTPHEADER <header>]
+               [RETRY_COUNT <count>]
+               [RETRY_DELAY <delay>]
+               [QUIET])
+
+This second signature is used to upload files to CDash via the CDash
+file upload API. The api first sends a request to upload to CDash along
+with a content hash of the file. If CDash does not already have the file,
+then it is uploaded. Along with the file, a CDash type string is specified
+to tell CDash which handler to use to process the data.
+
+This signature accepts the ``HTTPHEADER``, ``RETRY_COUNT``, ``RETRY_DELAY``, and
+``QUIET`` options as described above.
diff --git a/share/cmake-3.10/Help/command/ctest_test.rst b/share/cmake-3.10/Help/command/ctest_test.rst
new file mode 100644
index 0000000..4a69491
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_test.rst
@@ -0,0 +1,114 @@
+ctest_test
+----------
+
+Perform the :ref:`CTest Test Step` as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_test([BUILD <build-dir>] [APPEND]
+             [START <start-number>]
+             [END <end-number>]
+             [STRIDE <stride-number>]
+             [EXCLUDE <exclude-regex>]
+             [INCLUDE <include-regex>]
+             [EXCLUDE_LABEL <label-exclude-regex>]
+             [INCLUDE_LABEL <label-include-regex>]
+             [EXCLUDE_FIXTURE <regex>]
+             [EXCLUDE_FIXTURE_SETUP <regex>]
+             [EXCLUDE_FIXTURE_CLEANUP <regex>]
+             [PARALLEL_LEVEL <level>]
+             [TEST_LOAD <threshold>]
+             [SCHEDULE_RANDOM <ON|OFF>]
+             [STOP_TIME <time-of-day>]
+             [RETURN_VALUE <result-var>]
+             [CAPTURE_CMAKE_ERROR <result-var>]
+             [QUIET]
+             )
+
+Run tests in the project build tree and store results in
+``Test.xml`` for submission with the :command:`ctest_submit` command.
+
+The options are:
+
+``BUILD <build-dir>``
+  Specify the top-level build directory.  If not given, the
+  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
+
+``APPEND``
+  Mark ``Test.xml`` for append to results previously submitted to a
+  dashboard server since the last :command:`ctest_start` call.
+  Append semantics are defined by the dashboard server in use.
+  This does *not* cause results to be appended to a ``.xml`` file
+  produced by a previous call to this command.
+
+``START <start-number>``
+  Specify the beginning of a range of test numbers.
+
+``END <end-number>``
+  Specify the end of a range of test numbers.
+
+``STRIDE <stride-number>``
+  Specify the stride by which to step across a range of test numbers.
+
+``EXCLUDE <exclude-regex>``
+  Specify a regular expression matching test names to exclude.
+
+``INCLUDE <include-regex>``
+  Specify a regular expression matching test names to include.
+  Tests not matching this expression are excluded.
+
+``EXCLUDE_LABEL <label-exclude-regex>``
+  Specify a regular expression matching test labels to exclude.
+
+``INCLUDE_LABEL <label-include-regex>``
+  Specify a regular expression matching test labels to include.
+  Tests not matching this expression are excluded.
+
+``EXCLUDE_FIXTURE <regex>``
+  If a test in the set of tests to be executed requires a particular fixture,
+  that fixture's setup and cleanup tests would normally be added to the test
+  set automatically. This option prevents adding setup or cleanup tests for
+  fixtures matching the ``<regex>``. Note that all other fixture behavior is
+  retained, including test dependencies and skipping tests that have fixture
+  setup tests that fail.
+
+``EXCLUDE_FIXTURE_SETUP <regex>``
+  Same as ``EXCLUDE_FIXTURE`` except only matching setup tests are excluded.
+
+``EXCLUDE_FIXTURE_CLEANUP <regex>``
+  Same as ``EXCLUDE_FIXTURE`` except only matching cleanup tests are excluded.
+
+``PARALLEL_LEVEL <level>``
+  Specify a positive number representing the number of tests to
+  be run in parallel.
+
+``TEST_LOAD <threshold>``
+  While running tests in parallel, try not to start tests when they
+  may cause the CPU load to pass above a given threshold.  If not
+  specified the :variable:`CTEST_TEST_LOAD` variable will be checked,
+  and then the ``--test-load`` command-line argument to :manual:`ctest(1)`.
+  See also the ``TestLoad`` setting in the :ref:`CTest Test Step`.
+
+``SCHEDULE_RANDOM <ON|OFF>``
+  Launch tests in a random order.  This may be useful for detecting
+  implicit test dependencies.
+
+``STOP_TIME <time-of-day>``
+  Specify a time of day at which the tests should all stop running.
+
+``RETURN_VALUE <result-var>``
+  Store in the ``<result-var>`` variable ``0`` if all tests passed.
+  Store non-zero if anything went wrong.
+
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
+
+``QUIET``
+  Suppress any CTest-specific non-error messages that would have otherwise
+  been printed to the console.  Output from the underlying test command is not
+  affected.  Summary info detailing the percentage of passing tests is also
+  unaffected by the ``QUIET`` option.
+
+See also the :variable:`CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE`
+and :variable:`CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE` variables.
diff --git a/share/cmake-3.6/Help/command/ctest_update.rst b/share/cmake-3.10/Help/command/ctest_update.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/ctest_update.rst
rename to share/cmake-3.10/Help/command/ctest_update.rst
diff --git a/share/cmake-3.10/Help/command/ctest_upload.rst b/share/cmake-3.10/Help/command/ctest_upload.rst
new file mode 100644
index 0000000..39d9de1
--- /dev/null
+++ b/share/cmake-3.10/Help/command/ctest_upload.rst
@@ -0,0 +1,22 @@
+ctest_upload
+------------
+
+Upload files to a dashboard server as a :ref:`Dashboard Client`.
+
+::
+
+  ctest_upload(FILES <file>... [QUIET] [CAPTURE_CMAKE_ERROR <result-var>])
+
+The options are:
+
+``FILES <file>...``
+  Specify a list of files to be sent along with the build results to the
+  dashboard server.
+
+``QUIET``
+  Suppress any CTest-specific non-error output that would have been
+  printed to the console otherwise.
+
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
diff --git a/share/cmake-3.6/Help/command/define_property.rst b/share/cmake-3.10/Help/command/define_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/define_property.rst
rename to share/cmake-3.10/Help/command/define_property.rst
diff --git a/share/cmake-3.6/Help/command/else.rst b/share/cmake-3.10/Help/command/else.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/else.rst
rename to share/cmake-3.10/Help/command/else.rst
diff --git a/share/cmake-3.6/Help/command/elseif.rst b/share/cmake-3.10/Help/command/elseif.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/elseif.rst
rename to share/cmake-3.10/Help/command/elseif.rst
diff --git a/share/cmake-3.6/Help/command/enable_language.rst b/share/cmake-3.10/Help/command/enable_language.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/enable_language.rst
rename to share/cmake-3.10/Help/command/enable_language.rst
diff --git a/share/cmake-3.6/Help/command/enable_testing.rst b/share/cmake-3.10/Help/command/enable_testing.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/enable_testing.rst
rename to share/cmake-3.10/Help/command/enable_testing.rst
diff --git a/share/cmake-3.6/Help/command/endforeach.rst b/share/cmake-3.10/Help/command/endforeach.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/endforeach.rst
rename to share/cmake-3.10/Help/command/endforeach.rst
diff --git a/share/cmake-3.6/Help/command/endfunction.rst b/share/cmake-3.10/Help/command/endfunction.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/endfunction.rst
rename to share/cmake-3.10/Help/command/endfunction.rst
diff --git a/share/cmake-3.6/Help/command/endif.rst b/share/cmake-3.10/Help/command/endif.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/endif.rst
rename to share/cmake-3.10/Help/command/endif.rst
diff --git a/share/cmake-3.6/Help/command/endmacro.rst b/share/cmake-3.10/Help/command/endmacro.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/endmacro.rst
rename to share/cmake-3.10/Help/command/endmacro.rst
diff --git a/share/cmake-3.6/Help/command/endwhile.rst b/share/cmake-3.10/Help/command/endwhile.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/endwhile.rst
rename to share/cmake-3.10/Help/command/endwhile.rst
diff --git a/share/cmake-3.6/Help/command/exec_program.rst b/share/cmake-3.10/Help/command/exec_program.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/exec_program.rst
rename to share/cmake-3.10/Help/command/exec_program.rst
diff --git a/share/cmake-3.10/Help/command/execute_process.rst b/share/cmake-3.10/Help/command/execute_process.rst
new file mode 100644
index 0000000..799493f
--- /dev/null
+++ b/share/cmake-3.10/Help/command/execute_process.rst
@@ -0,0 +1,106 @@
+execute_process
+---------------
+
+Execute one or more child processes.
+
+.. code-block:: cmake
+
+  execute_process(COMMAND <cmd1> [args1...]]
+                  [COMMAND <cmd2> [args2...] [...]]
+                  [WORKING_DIRECTORY <directory>]
+                  [TIMEOUT <seconds>]
+                  [RESULT_VARIABLE <variable>]
+                  [RESULTS_VARIABLE <variable>]
+                  [OUTPUT_VARIABLE <variable>]
+                  [ERROR_VARIABLE <variable>]
+                  [INPUT_FILE <file>]
+                  [OUTPUT_FILE <file>]
+                  [ERROR_FILE <file>]
+                  [OUTPUT_QUIET]
+                  [ERROR_QUIET]
+                  [OUTPUT_STRIP_TRAILING_WHITESPACE]
+                  [ERROR_STRIP_TRAILING_WHITESPACE]
+                  [ENCODING <name>])
+
+Runs the given sequence of one or more commands in parallel with the standard
+output of each process piped to the standard input of the next.
+A single standard error pipe is used for all processes.
+
+Options:
+
+``COMMAND``
+ A child process command line.
+
+ CMake executes the child process using operating system APIs directly.
+ All arguments are passed VERBATIM to the child process.
+ No intermediate shell is used, so shell operators such as ``>``
+ are treated as normal arguments.
+ (Use the ``INPUT_*``, ``OUTPUT_*``, and ``ERROR_*`` options to
+ redirect stdin, stdout, and stderr.)
+
+ If a sequential execution of multiple commands is required, use multiple
+ :command:`execute_process` calls with a single ``COMMAND`` argument.
+
+``WORKING_DIRECTORY``
+ The named directory will be set as the current working directory of
+ the child processes.
+
+``TIMEOUT``
+ The child processes will be terminated if they do not finish in the
+ specified number of seconds (fractions are allowed).
+
+``RESULT_VARIABLE``
+ The variable will be set to contain the result of last child process.
+ This will be an integer return code from the last child or a string
+ describing an error condition.
+
+``RESULTS_VARIABLE <variable>``
+ The variable will be set to contain the result of all processes as a
+ :ref:`;-list <CMake Language Lists>`, in order of the given ``COMMAND``
+ arguments.  Each entry will be an integer return code from the
+ corresponding child or a string describing an error condition.
+
+``OUTPUT_VARIABLE``, ``ERROR_VARIABLE``
+ The variable named will be set with the contents of the standard output
+ and standard error pipes, respectively.  If the same variable is named
+ for both pipes their output will be merged in the order produced.
+
+``INPUT_FILE, OUTPUT_FILE``, ``ERROR_FILE``
+ The file named will be attached to the standard input of the first
+ process, standard output of the last process, or standard error of
+ all processes, respectively.  If the same file is named for both
+ output and error then it will be used for both.
+
+``OUTPUT_QUIET``, ``ERROR_QUIET``
+ The standard output or standard error results will be quietly ignored.
+
+``ENCODING <name>``
+ On Windows, the encoding that is used to decode output from the process.
+ Ignored on other platforms.
+ Valid encoding names are:
+
+ ``NONE``
+   Perform no decoding.  This assumes that the process output is encoded
+   in the same way as CMake's internal encoding (UTF-8).
+   This is the default.
+ ``AUTO``
+   Use the current active console's codepage or if that isn't
+   available then use ANSI.
+ ``ANSI``
+   Use the ANSI codepage.
+ ``OEM``
+   Use the original equipment manufacturer (OEM) code page.
+ ``UTF8``
+   Use the UTF-8 codepage.
+
+If more than one ``OUTPUT_*`` or ``ERROR_*`` option is given for the
+same pipe the precedence is not specified.
+If no ``OUTPUT_*`` or ``ERROR_*`` options are given the output will
+be shared with the corresponding pipes of the CMake process itself.
+
+The :command:`execute_process` command is a newer more powerful version of
+:command:`exec_program`, but the old command has been kept for compatibility.
+Both commands run while CMake is processing the project prior to build
+system generation.  Use :command:`add_custom_target` and
+:command:`add_custom_command` to create custom commands that run at
+build time.
diff --git a/share/cmake-3.10/Help/command/export.rst b/share/cmake-3.10/Help/command/export.rst
new file mode 100644
index 0000000..53675a7
--- /dev/null
+++ b/share/cmake-3.10/Help/command/export.rst
@@ -0,0 +1,72 @@
+export
+------
+
+Export targets from the build tree for use by outside projects.
+
+::
+
+  export(EXPORT <export-name> [NAMESPACE <namespace>] [FILE <filename>])
+
+Create a file ``<filename>`` that may be included by outside projects to
+import targets from the current project's build tree.  This is useful
+during cross-compiling to build utility executables that can run on
+the host platform in one project and then import them into another
+project being compiled for the target platform.  If the ``NAMESPACE``
+option is given the ``<namespace>`` string will be prepended to all target
+names written to the file.
+
+Target installations are associated with the export ``<export-name>``
+using the ``EXPORT`` option of the :command:`install(TARGETS)` command.
+
+The file created by this command is specific to the build tree and
+should never be installed.  See the :command:`install(EXPORT)` command to
+export targets from an installation tree.
+
+The properties set on the generated IMPORTED targets will have the
+same values as the final values of the input TARGETS.
+
+::
+
+  export(TARGETS [target1 [target2 [...]]] [NAMESPACE <namespace>]
+         [APPEND] FILE <filename> [EXPORT_LINK_INTERFACE_LIBRARIES])
+
+This signature is similar to the ``EXPORT`` signature, but targets are listed
+explicitly rather than specified as an export-name.  If the APPEND option is
+given the generated code will be appended to the file instead of overwriting it.
+The EXPORT_LINK_INTERFACE_LIBRARIES keyword, if present, causes the
+contents of the properties matching
+``(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?`` to be exported, when
+policy CMP0022 is NEW.  If a library target is included in the export
+but a target to which it links is not included the behavior is
+unspecified.
+
+::
+
+  export(PACKAGE <name>)
+
+Store the current build directory in the CMake user package registry
+for package ``<name>``.  The find_package command may consider the
+directory while searching for package ``<name>``.  This helps dependent
+projects find and use a package from the current project's build tree
+without help from the user.  Note that the entry in the package
+registry that this command creates works only in conjunction with a
+package configuration file (``<name>Config.cmake``) that works with the
+build tree. In some cases, for example for packaging and for system
+wide installations, it is not desirable to write the user package
+registry. If the :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable
+is enabled, the ``export(PACKAGE)`` command will do nothing.
+
+::
+
+  export(TARGETS [target1 [target2 [...]]]  [ANDROID_MK <filename>])
+
+This signature exports cmake built targets to the android ndk build system
+by creating an Android.mk file that references the prebuilt targets. The
+Android NDK supports the use of prebuilt libraries, both static and shared.
+This allows cmake to build the libraries of a project and make them available
+to an ndk build system complete with transitive dependencies, include flags
+and defines required to use the libraries. The signature takes a list of
+targets and puts them in the Android.mk file specified by the ``<filename>``
+given. This signature can only be used if policy CMP0022 is NEW for all
+targets given. A error will be issued if that policy is set to OLD for one
+of the targets.
diff --git a/share/cmake-3.6/Help/command/export_library_dependencies.rst b/share/cmake-3.10/Help/command/export_library_dependencies.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/export_library_dependencies.rst
rename to share/cmake-3.10/Help/command/export_library_dependencies.rst
diff --git a/share/cmake-3.10/Help/command/file.rst b/share/cmake-3.10/Help/command/file.rst
new file mode 100644
index 0000000..edccac5
--- /dev/null
+++ b/share/cmake-3.10/Help/command/file.rst
@@ -0,0 +1,379 @@
+file
+----
+
+File manipulation command.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(WRITE <filename> <content>...)
+  file(APPEND <filename> <content>...)
+
+Write ``<content>`` into a file called ``<filename>``.  If the file does
+not exist, it will be created.  If the file already exists, ``WRITE``
+mode will overwrite it and ``APPEND`` mode will append to the end.
+Any directories in the path specified by ``<filename>`` that do not
+exist will be created.
+
+If the file is a build input, use the :command:`configure_file` command
+to update the file only when its content changes.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(READ <filename> <variable>
+       [OFFSET <offset>] [LIMIT <max-in>] [HEX])
+
+Read content from a file called ``<filename>`` and store it in a
+``<variable>``.  Optionally start from the given ``<offset>`` and
+read at most ``<max-in>`` bytes.  The ``HEX`` option causes data to
+be converted to a hexadecimal representation (useful for binary data).
+
+------------------------------------------------------------------------------
+
+::
+
+  file(STRINGS <filename> <variable> [<options>...])
+
+Parse a list of ASCII strings from ``<filename>`` and store it in
+``<variable>``.  Binary data in the file are ignored.  Carriage return
+(``\r``, CR) characters are ignored.  The options are:
+
+``LENGTH_MAXIMUM <max-len>``
+ Consider only strings of at most a given length.
+
+``LENGTH_MINIMUM <min-len>``
+ Consider only strings of at least a given length.
+
+``LIMIT_COUNT <max-num>``
+ Limit the number of distinct strings to be extracted.
+
+``LIMIT_INPUT <max-in>``
+ Limit the number of input bytes to read from the file.
+
+``LIMIT_OUTPUT <max-out>``
+ Limit the number of total bytes to store in the ``<variable>``.
+
+``NEWLINE_CONSUME``
+ Treat newline characters (``\n``, LF) as part of string content
+ instead of terminating at them.
+
+``NO_HEX_CONVERSION``
+ Intel Hex and Motorola S-record files are automatically converted to
+ binary while reading unless this option is given.
+
+``REGEX <regex>``
+ Consider only strings that match the given regular expression.
+
+``ENCODING <encoding-type>``
+ Consider strings of a given encoding.  Currently supported encodings are:
+ UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE.  If the ENCODING option
+ is not provided and the file has a Byte Order Mark, the ENCODING option
+ will be defaulted to respect the Byte Order Mark.
+
+For example, the code
+
+.. code-block:: cmake
+
+  file(STRINGS myfile.txt myfile)
+
+stores a list in the variable ``myfile`` in which each item is a line
+from the input file.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(<HASH> <filename> <variable>)
+
+Compute a cryptographic hash of the content of ``<filename>`` and
+store it in a ``<variable>``.  The supported ``<HASH>`` algorithm names
+are those listed by the :ref:`string(\<HASH\>) <Supported Hash Algorithms>`
+command.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(GLOB <variable>
+       [LIST_DIRECTORIES true|false] [RELATIVE <path>]
+       [<globbing-expressions>...])
+  file(GLOB_RECURSE <variable> [FOLLOW_SYMLINKS]
+       [LIST_DIRECTORIES true|false] [RELATIVE <path>]
+       [<globbing-expressions>...])
+
+Generate a list of files that match the ``<globbing-expressions>`` and
+store it into the ``<variable>``.  Globbing expressions are similar to
+regular expressions, but much simpler.  If ``RELATIVE`` flag is
+specified, the results will be returned as relative paths to the given
+path.  The results will be ordered lexicographically.
+
+By default ``GLOB`` lists directories - directories are omited in result if
+``LIST_DIRECTORIES`` is set to false.
+
+.. note::
+  We do not recommend using GLOB to collect a list of source files from
+  your source tree.  If no CMakeLists.txt file changes when a source is
+  added or removed then the generated build system cannot know when to
+  ask CMake to regenerate.
+
+Examples of globbing expressions include::
+
+  *.cxx      - match all files with extension cxx
+  *.vt?      - match all files with extension vta,...,vtz
+  f[3-5].txt - match files f3.txt, f4.txt, f5.txt
+
+The ``GLOB_RECURSE`` mode will traverse all the subdirectories of the
+matched directory and match the files.  Subdirectories that are symlinks
+are only traversed if ``FOLLOW_SYMLINKS`` is given or policy
+:policy:`CMP0009` is not set to ``NEW``.
+
+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.
+
+Examples of recursive globbing include::
+
+  /dir/*.py  - match all python files in /dir and subdirectories
+
+------------------------------------------------------------------------------
+
+::
+
+  file(RENAME <oldname> <newname>)
+
+Move a file or directory within a filesystem from ``<oldname>`` to
+``<newname>``, replacing the destination atomically.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(REMOVE [<files>...])
+  file(REMOVE_RECURSE [<files>...])
+
+Remove the given files.  The ``REMOVE_RECURSE`` mode will remove the given
+files and directories, also non-empty directories. No error is emitted if a
+given file does not exist.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(MAKE_DIRECTORY [<directories>...])
+
+Create the given directories and their parents as needed.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(RELATIVE_PATH <variable> <directory> <file>)
+
+Compute the relative path from a ``<directory>`` to a ``<file>`` and
+store it in the ``<variable>``.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(TO_CMAKE_PATH "<path>" <variable>)
+  file(TO_NATIVE_PATH "<path>" <variable>)
+
+The ``TO_CMAKE_PATH`` mode converts a native ``<path>`` into a cmake-style
+path with forward-slashes (``/``).  The input can be a single path or a
+system search path like ``$ENV{PATH}``.  A search path will be converted
+to a cmake-style list separated by ``;`` characters.
+
+The ``TO_NATIVE_PATH`` mode converts a cmake-style ``<path>`` into a native
+path with platform-specific slashes (``\`` on Windows and ``/`` elsewhere).
+
+Always use double quotes around the ``<path>`` to be sure it is treated
+as a single argument to this command.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(DOWNLOAD <url> <file> [<options>...])
+  file(UPLOAD   <file> <url> [<options>...])
+
+The ``DOWNLOAD`` mode downloads the given ``<url>`` to a local ``<file>``.
+The ``UPLOAD`` mode uploads a local ``<file>`` to a given ``<url>``.
+
+Options to both ``DOWNLOAD`` and ``UPLOAD`` are:
+
+``INACTIVITY_TIMEOUT <seconds>``
+  Terminate the operation after a period of inactivity.
+
+``LOG <variable>``
+  Store a human-readable log of the operation in a variable.
+
+``SHOW_PROGRESS``
+  Print progress information as status messages until the operation is
+  complete.
+
+``STATUS <variable>``
+  Store the resulting status of the operation in a variable.
+  The status is a ``;`` separated list of length 2.
+  The first element is the numeric return value for the operation,
+  and the second element is a string value for the error.
+  A ``0`` numeric error means no error in the operation.
+
+``TIMEOUT <seconds>``
+  Terminate the operation after a given total time has elapsed.
+
+``USERPWD <username>:<password>``
+  Set username and password for operation.
+
+``HTTPHEADER <HTTP-header>``
+  HTTP header for operation. Suboption can be repeated several times.
+
+Additional options to ``DOWNLOAD`` are:
+
+``EXPECTED_HASH ALGO=<value>``
+
+  Verify that the downloaded content hash matches the expected value, where
+  ``ALGO`` is one of the algorithms supported by ``file(<HASH>)``.
+  If it does not match, the operation fails with an error.
+
+``EXPECTED_MD5 <value>``
+  Historical short-hand for ``EXPECTED_HASH MD5=<value>``.
+
+``TLS_VERIFY <ON|OFF>``
+  Specify whether to verify the server certificate for ``https://`` URLs.
+  The default is to *not* verify.
+
+``TLS_CAINFO <file>``
+  Specify a custom Certificate Authority file for ``https://`` URLs.
+
+For ``https://`` URLs CMake must be built with OpenSSL support.  ``TLS/SSL``
+certificates are not checked by default.  Set ``TLS_VERIFY`` to ``ON`` to
+check certificates and/or use ``EXPECTED_HASH`` to verify downloaded content.
+If neither ``TLS`` option is given CMake will check variables
+``CMAKE_TLS_VERIFY`` and ``CMAKE_TLS_CAINFO``, respectively.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(TIMESTAMP <filename> <variable> [<format>] [UTC])
+
+Compute a string representation of the modification time of ``<filename>``
+and store it in ``<variable>``.  Should the command be unable to obtain a
+timestamp variable will be set to the empty string ("").
+
+See the :command:`string(TIMESTAMP)` command for documentation of
+the ``<format>`` and ``UTC`` options.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(GENERATE OUTPUT output-file
+       <INPUT input-file|CONTENT content>
+       [CONDITION expression])
+
+Generate an output file for each build configuration supported by the current
+:manual:`CMake Generator <cmake-generators(7)>`.  Evaluate
+:manual:`generator expressions <cmake-generator-expressions(7)>`
+from the input content to produce the output content.  The options are:
+
+``CONDITION <condition>``
+  Generate the output file for a particular configuration only if
+  the condition is true.  The condition must be either ``0`` or ``1``
+  after evaluating generator expressions.
+
+``CONTENT <content>``
+  Use the content given explicitly as input.
+
+``INPUT <input-file>``
+  Use the content from a given file as input.
+  A relative path is treated with respect to the value of
+  :variable:`CMAKE_CURRENT_SOURCE_DIR`.  See policy :policy:`CMP0070`.
+
+``OUTPUT <output-file>``
+  Specify the output file name to generate.  Use generator expressions
+  such as ``$<CONFIG>`` to specify a configuration-specific output file
+  name.  Multiple configurations may generate the same output file only
+  if the generated content is identical.  Otherwise, the ``<output-file>``
+  must evaluate to an unique name for each configuration.
+  A relative path (after evaluating generator expressions) is treated
+  with respect to the value of :variable:`CMAKE_CURRENT_BINARY_DIR`.
+  See policy :policy:`CMP0070`.
+
+Exactly one ``CONTENT`` or ``INPUT`` option must be given.  A specific
+``OUTPUT`` file may be named by at most one invocation of ``file(GENERATE)``.
+Generated files are modified and their timestamp updated on subsequent cmake
+runs only if their content is changed.
+
+Note also that ``file(GENERATE)`` does not create the output file until the
+generation phase. The output file will not yet have been written when the
+``file(GENERATE)`` command returns, it is written only after processing all
+of a project's ``CMakeLists.txt`` files.
+
+------------------------------------------------------------------------------
+
+::
+
+  file(<COPY|INSTALL> <files>... DESTINATION <dir>
+       [FILE_PERMISSIONS <permissions>...]
+       [DIRECTORY_PERMISSIONS <permissions>...]
+       [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS]
+       [FILES_MATCHING]
+       [[PATTERN <pattern> | REGEX <regex>]
+        [EXCLUDE] [PERMISSIONS <permissions>...]] [...])
+
+The ``COPY`` signature copies files, directories, and symlinks to a
+destination folder.  Relative input paths are evaluated with respect
+to the current source directory, and a relative destination is
+evaluated with respect to the current build directory.  Copying
+preserves input file timestamps, and optimizes out a file if it exists
+at the destination with the same timestamp.  Copying preserves input
+permissions unless explicit permissions or ``NO_SOURCE_PERMISSIONS``
+are given (default is ``USE_SOURCE_PERMISSIONS``).
+
+See the :command:`install(DIRECTORY)` command for documentation of
+permissions, ``FILES_MATCHING``, ``PATTERN``, ``REGEX``, and
+``EXCLUDE`` options.  Copying directories preserves the structure
+of their content even if options are used to select a subset of
+files.
+
+The ``INSTALL`` signature differs slightly from ``COPY``: it prints
+status messages (subject to the :variable:`CMAKE_INSTALL_MESSAGE` variable),
+and ``NO_SOURCE_PERMISSIONS`` is default.
+Installation scripts generated by the :command:`install` command
+use this signature (with some undocumented options for internal use).
+
+------------------------------------------------------------------------------
+
+::
+
+  file(LOCK <path> [DIRECTORY] [RELEASE]
+       [GUARD <FUNCTION|FILE|PROCESS>]
+       [RESULT_VARIABLE <variable>]
+       [TIMEOUT <seconds>])
+
+Lock a file specified by ``<path>`` if no ``DIRECTORY`` option present and file
+``<path>/cmake.lock`` otherwise. File will be locked for scope defined by
+``GUARD`` option (default value is ``PROCESS``). ``RELEASE`` option can be used
+to unlock file explicitly. If option ``TIMEOUT`` is not specified CMake will
+wait until lock succeed or until fatal error occurs. If ``TIMEOUT`` is set to
+``0`` lock will be tried once and result will be reported immediately. If
+``TIMEOUT`` is not ``0`` CMake will try to lock file for the period specified
+by ``<seconds>`` value. Any errors will be interpreted as fatal if there is no
+``RESULT_VARIABLE`` option. Otherwise result will be stored in ``<variable>``
+and will be ``0`` on success or error message on failure.
+
+Note that lock is advisory - there is no guarantee that other processes will
+respect this lock, i.e. lock synchronize two or more CMake instances sharing
+some modifiable resources. Similar logic applied to ``DIRECTORY`` option -
+locking parent directory doesn't prevent other ``LOCK`` commands to lock any
+child directory or file.
+
+Trying to lock file twice is not allowed.  Any intermediate directories and
+file itself will be created if they not exist.  ``GUARD`` and ``TIMEOUT``
+options ignored on ``RELEASE`` operation.
diff --git a/share/cmake-3.6/Help/command/find_file.rst b/share/cmake-3.10/Help/command/find_file.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/find_file.rst
rename to share/cmake-3.10/Help/command/find_file.rst
diff --git a/share/cmake-3.10/Help/command/find_library.rst b/share/cmake-3.10/Help/command/find_library.rst
new file mode 100644
index 0000000..f774f17
--- /dev/null
+++ b/share/cmake-3.10/Help/command/find_library.rst
@@ -0,0 +1,79 @@
+find_library
+------------
+
+.. |FIND_XXX| replace:: find_library
+.. |NAMES| replace:: NAMES name1 [name2 ...] [NAMES_PER_DIR]
+.. |SEARCH_XXX| replace:: library
+.. |SEARCH_XXX_DESC| replace:: library
+.. |prefix_XXX_SUBDIR| replace:: ``<prefix>/lib``
+.. |entry_XXX_SUBDIR| replace:: ``<entry>/lib``
+
+.. |CMAKE_PREFIX_PATH_XXX| replace::
+   ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
+   and |CMAKE_PREFIX_PATH_XXX_SUBDIR|
+.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_LIBRARY_PATH`
+.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
+
+.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``LIB``.
+   On Windows hosts:
+   ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
+   and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|,
+   and the directories in ``PATH`` itself.
+
+.. |CMAKE_SYSTEM_PREFIX_PATH_XXX| replace::
+   ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
+   and |CMAKE_SYSTEM_PREFIX_PATH_XXX_SUBDIR|
+.. |CMAKE_SYSTEM_XXX_PATH| replace::
+   :variable:`CMAKE_SYSTEM_LIBRARY_PATH`
+.. |CMAKE_SYSTEM_XXX_MAC_PATH| replace::
+   :variable:`CMAKE_SYSTEM_FRAMEWORK_PATH`
+
+.. |CMAKE_FIND_ROOT_PATH_MODE_XXX| replace::
+   :variable:`CMAKE_FIND_ROOT_PATH_MODE_LIBRARY`
+
+.. include:: FIND_XXX.txt
+
+When more than one value is given to the ``NAMES`` option this command by
+default will consider one name at a time and search every directory
+for it.  The ``NAMES_PER_DIR`` option tells this command to consider one
+directory at a time and search for all names in it.
+
+Each library name given to the ``NAMES`` option is first considered
+as a library file name and then considered with platform-specific
+prefixes (e.g. ``lib``) and suffixes (e.g. ``.so``).  Therefore one
+may specify library file names such as ``libfoo.a`` directly.
+This can be used to locate static libraries on UNIX-like systems.
+
+If the library found is a framework, then ``<VAR>`` will be set to the full
+path to the framework ``<fullPath>/A.framework``.  When a full path to a
+framework is used as a library, CMake will use a ``-framework A``, and a
+``-F<fullPath>`` to link the framework to the target.
+
+If the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable is set all
+search paths will be tested as normal, with the suffix appended, and with
+all matches of ``lib/`` replaced with
+``lib${CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX}/``.  This variable overrides
+the :prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS`,
+:prop_gbl:`FIND_LIBRARY_USE_LIBX32_PATHS`,
+and :prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS` global properties.
+
+If the :prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS` global property is set
+all search paths will be tested as normal, with ``32/`` appended, and
+with all matches of ``lib/`` replaced with ``lib32/``.  This property is
+automatically set for the platforms that are known to need it if at
+least one of the languages supported by the :command:`project` command
+is enabled.
+
+If the :prop_gbl:`FIND_LIBRARY_USE_LIBX32_PATHS` global property is set
+all search paths will be tested as normal, with ``x32/`` appended, and
+with all matches of ``lib/`` replaced with ``libx32/``.  This property is
+automatically set for the platforms that are known to need it if at
+least one of the languages supported by the :command:`project` command
+is enabled.
+
+If the :prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS` global property is set
+all search paths will be tested as normal, with ``64/`` appended, and
+with all matches of ``lib/`` replaced with ``lib64/``.  This property is
+automatically set for the platforms that are known to need it if at
+least one of the languages supported by the :command:`project` command
+is enabled.
diff --git a/share/cmake-3.10/Help/command/find_package.rst b/share/cmake-3.10/Help/command/find_package.rst
new file mode 100644
index 0000000..83f4716
--- /dev/null
+++ b/share/cmake-3.10/Help/command/find_package.rst
@@ -0,0 +1,360 @@
+find_package
+------------
+
+Load settings for an external project.
+
+::
+
+  find_package(<package> [version] [EXACT] [QUIET] [MODULE]
+               [REQUIRED] [[COMPONENTS] [components...]]
+               [OPTIONAL_COMPONENTS components...]
+               [NO_POLICY_SCOPE])
+
+Finds and loads settings from an external project.  ``<package>_FOUND``
+will be set to indicate whether the package was found.  When the
+package is found package-specific information is provided through
+variables and :ref:`Imported Targets` documented by the package itself.  The
+``QUIET`` option disables messages if the package cannot be found.  The
+``MODULE`` option disables the second signature documented below.  The
+``REQUIRED`` option stops processing with an error message if the package
+cannot be found.
+
+A package-specific list of required components may be listed after the
+``COMPONENTS`` option (or after the ``REQUIRED`` option if present).
+Additional optional components may be listed after
+``OPTIONAL_COMPONENTS``.  Available components and their influence on
+whether a package is considered to be found are defined by the target
+package.
+
+The ``[version]`` argument requests a version with which the package found
+should be compatible (format is ``major[.minor[.patch[.tweak]]]``).  The
+``EXACT`` option requests that the version be matched exactly.  If no
+``[version]`` and/or component list is given to a recursive invocation
+inside a find-module, the corresponding arguments are forwarded
+automatically from the outer call (including the ``EXACT`` flag for
+``[version]``).  Version support is currently provided only on a
+package-by-package basis (details below).
+
+User code should generally look for packages using the above simple
+signature.  The remainder of this command documentation specifies the
+full command signature and details of the search process.  Project
+maintainers wishing to provide a package to be found by this command
+are encouraged to read on.
+
+The command has two modes by which it searches for packages: "Module"
+mode and "Config" mode.  Module mode is available when the command is
+invoked with the above reduced signature.  CMake searches for a file
+called ``Find<package>.cmake`` in the :variable:`CMAKE_MODULE_PATH`
+followed by the CMake installation.  If the file is found, it is read
+and processed by CMake.  It is responsible for finding the package,
+checking the version, and producing any needed messages.  Many
+find-modules provide limited or no support for versioning; check
+the module documentation.  If no module is found and the ``MODULE``
+option is not given the command proceeds to Config mode.
+
+The complete Config mode command signature is::
+
+  find_package(<package> [version] [EXACT] [QUIET]
+               [REQUIRED] [[COMPONENTS] [components...]]
+               [CONFIG|NO_MODULE]
+               [NO_POLICY_SCOPE]
+               [NAMES name1 [name2 ...]]
+               [CONFIGS config1 [config2 ...]]
+               [HINTS path1 [path2 ... ]]
+               [PATHS path1 [path2 ... ]]
+               [PATH_SUFFIXES suffix1 [suffix2 ...]]
+               [NO_DEFAULT_PATH]
+               [NO_CMAKE_PATH]
+               [NO_CMAKE_ENVIRONMENT_PATH]
+               [NO_SYSTEM_ENVIRONMENT_PATH]
+               [NO_CMAKE_PACKAGE_REGISTRY]
+               [NO_CMAKE_BUILDS_PATH] # Deprecated; does nothing.
+               [NO_CMAKE_SYSTEM_PATH]
+               [NO_CMAKE_SYSTEM_PACKAGE_REGISTRY]
+               [CMAKE_FIND_ROOT_PATH_BOTH |
+                ONLY_CMAKE_FIND_ROOT_PATH |
+                NO_CMAKE_FIND_ROOT_PATH])
+
+The ``CONFIG`` option may be used to skip Module mode explicitly and
+switch to Config mode.  It is synonymous to using ``NO_MODULE``.  Config
+mode is also implied by use of options not specified in the reduced
+signature.
+
+Config mode attempts to locate a configuration file provided by the
+package to be found.  A cache entry called ``<package>_DIR`` is created to
+hold the directory containing the file.  By default the command
+searches for a package with the name ``<package>``.  If the ``NAMES`` option
+is given the names following it are used instead of ``<package>``.  The
+command searches for a file called ``<name>Config.cmake`` or
+``<lower-case-name>-config.cmake`` for each name specified.  A
+replacement set of possible configuration file names may be given
+using the ``CONFIGS`` option.  The search procedure is specified below.
+Once found, the configuration file is read and processed by CMake.
+Since the file is provided by the package it already knows the
+location of package contents.  The full path to the configuration file
+is stored in the cmake variable ``<package>_CONFIG``.
+
+All configuration files which have been considered by CMake while
+searching for an installation of the package with an appropriate
+version are stored in the cmake variable ``<package>_CONSIDERED_CONFIGS``,
+the associated versions in ``<package>_CONSIDERED_VERSIONS``.
+
+If the package configuration file cannot be found CMake will generate
+an error describing the problem unless the ``QUIET`` argument is
+specified.  If ``REQUIRED`` is specified and the package is not found a
+fatal error is generated and the configure step stops executing.  If
+``<package>_DIR`` has been set to a directory not containing a
+configuration file CMake will ignore it and search from scratch.
+
+When the ``[version]`` argument is given Config mode will only find a
+version of the package that claims compatibility with the requested
+version (format is ``major[.minor[.patch[.tweak]]]``).  If the ``EXACT``
+option is given only a version of the package claiming an exact match
+of the requested version may be found.  CMake does not establish any
+convention for the meaning of version numbers.  Package version
+numbers are checked by "version" files provided by the packages
+themselves.  For a candidate package configuration file
+``<config-file>.cmake`` the corresponding version file is located next
+to it and named either ``<config-file>-version.cmake`` or
+``<config-file>Version.cmake``.  If no such version file is available
+then the configuration file is assumed to not be compatible with any
+requested version.  A basic version file containing generic version
+matching code can be created using the
+:module:`CMakePackageConfigHelpers` module.  When a version file
+is found it is loaded to check the requested version number.  The
+version file is loaded in a nested scope in which the following
+variables have been defined:
+
+``PACKAGE_FIND_NAME``
+  the ``<package>`` name
+``PACKAGE_FIND_VERSION``
+  full requested version string
+``PACKAGE_FIND_VERSION_MAJOR``
+  major version if requested, else 0
+``PACKAGE_FIND_VERSION_MINOR``
+  minor version if requested, else 0
+``PACKAGE_FIND_VERSION_PATCH``
+  patch version if requested, else 0
+``PACKAGE_FIND_VERSION_TWEAK``
+  tweak version if requested, else 0
+``PACKAGE_FIND_VERSION_COUNT``
+  number of version components, 0 to 4
+
+The version file checks whether it satisfies the requested version and
+sets these variables:
+
+``PACKAGE_VERSION``
+  full provided version string
+``PACKAGE_VERSION_EXACT``
+  true if version is exact match
+``PACKAGE_VERSION_COMPATIBLE``
+  true if version is compatible
+``PACKAGE_VERSION_UNSUITABLE``
+  true if unsuitable as any version
+
+These variables are checked by the ``find_package`` command to determine
+whether the configuration file provides an acceptable version.  They
+are not available after the find_package call returns.  If the version
+is acceptable the following variables are set:
+
+``<package>_VERSION``
+  full provided version string
+``<package>_VERSION_MAJOR``
+  major version if provided, else 0
+``<package>_VERSION_MINOR``
+  minor version if provided, else 0
+``<package>_VERSION_PATCH``
+  patch version if provided, else 0
+``<package>_VERSION_TWEAK``
+  tweak version if provided, else 0
+``<package>_VERSION_COUNT``
+  number of version components, 0 to 4
+
+and the corresponding package configuration file is loaded.
+When multiple package configuration files are available whose version files
+claim compatibility with the version requested it is unspecified which
+one is chosen: unless the variable :variable:`CMAKE_FIND_PACKAGE_SORT_ORDER`
+is set no attempt is made to choose a highest or closest version number.
+
+To control the order in which ``find_package`` checks for compatibiliy use
+the two variables :variable:`CMAKE_FIND_PACKAGE_SORT_ORDER` and
+:variable:`CMAKE_FIND_PACKAGE_SORT_DIRECTION`.
+For instance in order to select the highest version one can set::
+
+  SET(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)
+  SET(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)
+
+before calling ``find_package``.
+
+Config mode provides an elaborate interface and search procedure.
+Much of the interface is provided for completeness and for use
+internally by find-modules loaded by Module mode.  Most user code
+should simply call::
+
+  find_package(<package> [major[.minor]] [EXACT] [REQUIRED|QUIET])
+
+in order to find a package.  Package maintainers providing CMake
+package configuration files are encouraged to name and install them
+such that the procedure outlined below will find them without
+requiring use of additional options.
+
+CMake constructs a set of possible installation prefixes for the
+package.  Under each prefix several directories are searched for a
+configuration file.  The tables below show the directories searched.
+Each entry is meant for installation trees following Windows (W), UNIX
+(U), or Apple (A) conventions::
+
+  <prefix>/                                                       (W)
+  <prefix>/(cmake|CMake)/                                         (W)
+  <prefix>/<name>*/                                               (W)
+  <prefix>/<name>*/(cmake|CMake)/                                 (W)
+  <prefix>/(lib/<arch>|lib|share)/cmake/<name>*/                  (U)
+  <prefix>/(lib/<arch>|lib|share)/<name>*/                        (U)
+  <prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/          (U)
+  <prefix>/<name>*/(lib/<arch>|lib|share)/cmake/<name>*/          (W/U)
+  <prefix>/<name>*/(lib/<arch>|lib|share)/<name>*/                (W/U)
+  <prefix>/<name>*/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/  (W/U)
+
+On systems supporting OS X Frameworks and Application Bundles the
+following directories are searched for frameworks or bundles
+containing a configuration file::
+
+  <prefix>/<name>.framework/Resources/                    (A)
+  <prefix>/<name>.framework/Resources/CMake/              (A)
+  <prefix>/<name>.framework/Versions/*/Resources/         (A)
+  <prefix>/<name>.framework/Versions/*/Resources/CMake/   (A)
+  <prefix>/<name>.app/Contents/Resources/                 (A)
+  <prefix>/<name>.app/Contents/Resources/CMake/           (A)
+
+In all cases the ``<name>`` is treated as case-insensitive and corresponds
+to any of the names specified (``<package>`` or names given by ``NAMES``).
+Paths with ``lib/<arch>`` are enabled if the
+:variable:`CMAKE_LIBRARY_ARCHITECTURE` variable is set.  If ``PATH_SUFFIXES``
+is specified the suffixes are appended to each (W) or (U) directory entry
+one-by-one.
+
+This set of directories is intended to work in cooperation with
+projects that provide configuration files in their installation trees.
+Directories above marked with (W) are intended for installations on
+Windows where the prefix may point at the top of an application's
+installation directory.  Those marked with (U) are intended for
+installations on UNIX platforms where the prefix is shared by multiple
+packages.  This is merely a convention, so all (W) and (U) directories
+are still searched on all platforms.  Directories marked with (A) are
+intended for installations on Apple platforms.  The
+:variable:`CMAKE_FIND_FRAMEWORK` and :variable:`CMAKE_FIND_APPBUNDLE`
+variables determine the order of preference.
+
+The set of installation prefixes is constructed using the following
+steps.  If ``NO_DEFAULT_PATH`` is specified all ``NO_*`` options are
+enabled.
+
+1. Search paths specified in cmake-specific cache variables.  These
+   are intended to be used on the command line with a ``-DVAR=value``.
+   The values are interpreted as :ref:`;-lists <CMake Language Lists>`.
+   This can be skipped if ``NO_CMAKE_PATH`` is passed::
+
+     CMAKE_PREFIX_PATH
+     CMAKE_FRAMEWORK_PATH
+     CMAKE_APPBUNDLE_PATH
+
+2. Search paths specified in cmake-specific environment variables.
+   These are intended to be set in the user's shell configuration,
+   and therefore use the host's native path separator
+   (``;`` on Windows and ``:`` on UNIX).
+   This can be skipped if ``NO_CMAKE_ENVIRONMENT_PATH`` is passed::
+
+     <package>_DIR
+     CMAKE_PREFIX_PATH
+     CMAKE_FRAMEWORK_PATH
+     CMAKE_APPBUNDLE_PATH
+
+3. Search paths specified by the ``HINTS`` option.  These should be paths
+   computed by system introspection, such as a hint provided by the
+   location of another item already found.  Hard-coded guesses should
+   be specified with the ``PATHS`` option.
+
+4. Search the standard system environment variables.  This can be
+   skipped if ``NO_SYSTEM_ENVIRONMENT_PATH`` is passed.  Path entries
+   ending in ``/bin`` or ``/sbin`` are automatically converted to their
+   parent directories::
+
+     PATH
+
+5. Search paths stored in the CMake :ref:`User Package Registry`.
+   This can be skipped if ``NO_CMAKE_PACKAGE_REGISTRY`` is passed or by
+   setting the :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY`
+   to ``TRUE``.
+   See the :manual:`cmake-packages(7)` manual for details on the user
+   package registry.
+
+6. Search cmake variables defined in the Platform files for the
+   current system.  This can be skipped if ``NO_CMAKE_SYSTEM_PATH`` is
+   passed::
+
+     CMAKE_SYSTEM_PREFIX_PATH
+     CMAKE_SYSTEM_FRAMEWORK_PATH
+     CMAKE_SYSTEM_APPBUNDLE_PATH
+
+7. Search paths stored in the CMake :ref:`System Package Registry`.
+   This can be skipped if ``NO_CMAKE_SYSTEM_PACKAGE_REGISTRY`` is passed
+   or by setting the
+   :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` to ``TRUE``.
+   See the :manual:`cmake-packages(7)` manual for details on the system
+   package registry.
+
+8. Search paths specified by the ``PATHS`` option.  These are typically
+   hard-coded guesses.
+
+.. |FIND_XXX| replace:: find_package
+.. |FIND_ARGS_XXX| replace:: <package>
+.. |CMAKE_FIND_ROOT_PATH_MODE_XXX| replace::
+   :variable:`CMAKE_FIND_ROOT_PATH_MODE_PACKAGE`
+
+.. include:: FIND_XXX_ROOT.txt
+.. include:: FIND_XXX_ORDER.txt
+
+Every non-REQUIRED ``find_package`` call can be disabled by setting the
+:variable:`CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` variable to ``TRUE``.
+
+When loading a find module or package configuration file ``find_package``
+defines variables to provide information about the call arguments (and
+restores their original state before returning):
+
+``CMAKE_FIND_PACKAGE_NAME``
+  the ``<package>`` name which is searched for
+``<package>_FIND_REQUIRED``
+  true if ``REQUIRED`` option was given
+``<package>_FIND_QUIETLY``
+  true if ``QUIET`` option was given
+``<package>_FIND_VERSION``
+  full requested version string
+``<package>_FIND_VERSION_MAJOR``
+  major version if requested, else 0
+``<package>_FIND_VERSION_MINOR``
+  minor version if requested, else 0
+``<package>_FIND_VERSION_PATCH``
+  patch version if requested, else 0
+``<package>_FIND_VERSION_TWEAK``
+  tweak version if requested, else 0
+``<package>_FIND_VERSION_COUNT``
+  number of version components, 0 to 4
+``<package>_FIND_VERSION_EXACT``
+  true if ``EXACT`` option was given
+``<package>_FIND_COMPONENTS``
+  list of requested components
+``<package>_FIND_REQUIRED_<c>``
+  true if component ``<c>`` is required,
+  false if component ``<c>`` is optional
+
+In Module mode the loaded find module is responsible to honor the
+request detailed by these variables; see the find module for details.
+In Config mode ``find_package`` handles ``REQUIRED``, ``QUIET``, and
+``[version]`` options automatically but leaves it to the package
+configuration file to handle components in a way that makes sense
+for the package.  The package configuration file may set
+``<package>_FOUND`` to false to tell ``find_package`` that component
+requirements are not satisfied.
+
+See the :command:`cmake_policy` command documentation for discussion
+of the ``NO_POLICY_SCOPE`` option.
diff --git a/share/cmake-3.6/Help/command/find_path.rst b/share/cmake-3.10/Help/command/find_path.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/find_path.rst
rename to share/cmake-3.10/Help/command/find_path.rst
diff --git a/share/cmake-3.6/Help/command/find_program.rst b/share/cmake-3.10/Help/command/find_program.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/find_program.rst
rename to share/cmake-3.10/Help/command/find_program.rst
diff --git a/share/cmake-3.6/Help/command/fltk_wrap_ui.rst b/share/cmake-3.10/Help/command/fltk_wrap_ui.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/fltk_wrap_ui.rst
rename to share/cmake-3.10/Help/command/fltk_wrap_ui.rst
diff --git a/share/cmake-3.6/Help/command/foreach.rst b/share/cmake-3.10/Help/command/foreach.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/foreach.rst
rename to share/cmake-3.10/Help/command/foreach.rst
diff --git a/share/cmake-3.6/Help/command/function.rst b/share/cmake-3.10/Help/command/function.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/function.rst
rename to share/cmake-3.10/Help/command/function.rst
diff --git a/share/cmake-3.10/Help/command/get_cmake_property.rst b/share/cmake-3.10/Help/command/get_cmake_property.rst
new file mode 100644
index 0000000..497ab4e
--- /dev/null
+++ b/share/cmake-3.10/Help/command/get_cmake_property.rst
@@ -0,0 +1,20 @@
+get_cmake_property
+------------------
+
+Get a global property of the CMake instance.
+
+::
+
+  get_cmake_property(VAR property)
+
+Get a global property from the CMake instance.  The value of the property is
+stored in the variable ``VAR``.  If the property is not found, ``VAR``
+will be  set to "NOTFOUND".  See the :manual:`cmake-properties(7)` manual
+for available properties.
+
+See also the :command:`get_property` command ``GLOBAL`` option.
+
+In addition to global properties, this command (for historical reasons)
+also supports the :prop_dir:`VARIABLES` and :prop_dir:`MACROS` directory
+properties.  It also supports a special ``COMPONENTS`` global property that
+lists the components given to the :command:`install` command.
diff --git a/share/cmake-3.6/Help/command/get_directory_property.rst b/share/cmake-3.10/Help/command/get_directory_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/get_directory_property.rst
rename to share/cmake-3.10/Help/command/get_directory_property.rst
diff --git a/share/cmake-3.6/Help/command/get_filename_component.rst b/share/cmake-3.10/Help/command/get_filename_component.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/get_filename_component.rst
rename to share/cmake-3.10/Help/command/get_filename_component.rst
diff --git a/share/cmake-3.6/Help/command/get_property.rst b/share/cmake-3.10/Help/command/get_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/get_property.rst
rename to share/cmake-3.10/Help/command/get_property.rst
diff --git a/share/cmake-3.6/Help/command/get_source_file_property.rst b/share/cmake-3.10/Help/command/get_source_file_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/get_source_file_property.rst
rename to share/cmake-3.10/Help/command/get_source_file_property.rst
diff --git a/share/cmake-3.6/Help/command/get_target_property.rst b/share/cmake-3.10/Help/command/get_target_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/get_target_property.rst
rename to share/cmake-3.10/Help/command/get_target_property.rst
diff --git a/share/cmake-3.6/Help/command/get_test_property.rst b/share/cmake-3.10/Help/command/get_test_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/get_test_property.rst
rename to share/cmake-3.10/Help/command/get_test_property.rst
diff --git a/share/cmake-3.10/Help/command/if.rst b/share/cmake-3.10/Help/command/if.rst
new file mode 100644
index 0000000..f04f233
--- /dev/null
+++ b/share/cmake-3.10/Help/command/if.rst
@@ -0,0 +1,244 @@
+if
+--
+
+Conditionally execute a group of commands.
+
+.. code-block:: cmake
+
+ if(expression)
+   # then section.
+   COMMAND1(ARGS ...)
+   COMMAND2(ARGS ...)
+   #...
+ elseif(expression2)
+   # elseif section.
+   COMMAND1(ARGS ...)
+   COMMAND2(ARGS ...)
+   #...
+ else(expression)
+   # else section.
+   COMMAND1(ARGS ...)
+   COMMAND2(ARGS ...)
+   #...
+ endif(expression)
+
+Evaluates the given expression.  If the result is true, the commands
+in the THEN section are invoked.  Otherwise, the commands in the else
+section are invoked.  The elseif and else sections are optional.  You
+may have multiple elseif clauses.  Note that the expression in the
+else and endif clause is optional.  Long expressions can be used and
+there is a traditional order of precedence.  Parenthetical expressions
+are evaluated first followed by unary tests such as ``EXISTS``,
+``COMMAND``, and ``DEFINED``.  Then any binary tests such as
+``EQUAL``, ``LESS``, ``LESS_EQUAL``, ``GREATER``, ``GREATER_EQUAL``,
+``STREQUAL``, ``STRLESS``, ``STRLESS_EQUAL``, ``STRGREATER``,
+``STRGREATER_EQUAL``, ``VERSION_EQUAL``, ``VERSION_LESS``,
+``VERSION_LESS_EQUAL``, ``VERSION_GREATER``, ``VERSION_GREATER_EQUAL``,
+and ``MATCHES`` will be evaluated.  Then boolean ``NOT`` operators and
+finally boolean ``AND`` and then ``OR`` operators will be evaluated.
+
+Possible expressions are:
+
+``if(<constant>)``
+ True if the constant is ``1``, ``ON``, ``YES``, ``TRUE``, ``Y``,
+ or a non-zero number.  False if the constant is ``0``, ``OFF``,
+ ``NO``, ``FALSE``, ``N``, ``IGNORE``, ``NOTFOUND``, the empty string,
+ or ends in the suffix ``-NOTFOUND``.  Named boolean constants are
+ case-insensitive.  If the argument is not one of these specific
+ constants, it is treated as a variable or string and the following
+ signature is used.
+
+``if(<variable|string>)``
+ True if given a variable that is defined to a value that is not a false
+ constant.  False otherwise.  (Note macro arguments are not variables.)
+
+``if(NOT <expression>)``
+ True if the expression is not true.
+
+``if(<expr1> AND <expr2>)``
+ True if both expressions would be considered true individually.
+
+``if(<expr1> OR <expr2>)``
+ True if either expression would be considered true individually.
+
+``if(COMMAND command-name)``
+ True if the given name is a command, macro or function that can be
+ invoked.
+
+``if(POLICY policy-id)``
+ True if the given name is an existing policy (of the form ``CMP<NNNN>``).
+
+``if(TARGET target-name)``
+ True if the given name is an existing logical target name created
+ by a call to the :command:`add_executable`, :command:`add_library`,
+ or :command:`add_custom_target` command that has already been invoked
+ (in any directory).
+
+``if(TEST test-name)``
+ True if the given name is an existing test name created by the
+ :command:`add_test` command.
+
+``if(EXISTS path-to-file-or-directory)``
+ True if the named file or directory exists.  Behavior is well-defined
+ only for full paths.
+
+``if(file1 IS_NEWER_THAN file2)``
+ True if ``file1`` is newer than ``file2`` or if one of the two files doesn't
+ exist.  Behavior is well-defined only for full paths.  If the file
+ time stamps are exactly the same, an ``IS_NEWER_THAN`` comparison returns
+ true, so that any dependent build operations will occur in the event
+ of a tie.  This includes the case of passing the same file name for
+ both file1 and file2.
+
+``if(IS_DIRECTORY path-to-directory)``
+ True if the given name is a directory.  Behavior is well-defined only
+ for full paths.
+
+``if(IS_SYMLINK file-name)``
+ True if the given name is a symbolic link.  Behavior is well-defined
+ only for full paths.
+
+``if(IS_ABSOLUTE path)``
+ True if the given path is an absolute path.
+
+``if(<variable|string> MATCHES regex)``
+ True if the given string or variable's value matches the given regular
+ expression.  See :ref:`Regex Specification` for regex format.
+ ``()`` groups are captured in :variable:`CMAKE_MATCH_<n>` variables.
+
+``if(<variable|string> LESS <variable|string>)``
+ True if the given string or variable's value is a valid number and less
+ than that on the right.
+
+``if(<variable|string> GREATER <variable|string>)``
+ True if the given string or variable's value is a valid number and greater
+ than that on the right.
+
+``if(<variable|string> EQUAL <variable|string>)``
+ True if the given string or variable's value is a valid number and equal
+ to that on the right.
+
+``if(<variable|string> LESS_EQUAL <variable|string>)``
+ True if the given string or variable's value is a valid number and less
+ than or equal to that on the right.
+
+``if(<variable|string> GREATER_EQUAL <variable|string>)``
+ True if the given string or variable's value is a valid number and greater
+ than or equal to that on the right.
+
+``if(<variable|string> STRLESS <variable|string>)``
+ True if the given string or variable's value is lexicographically less
+ than the string or variable on the right.
+
+``if(<variable|string> STRGREATER <variable|string>)``
+ True if the given string or variable's value is lexicographically greater
+ than the string or variable on the right.
+
+``if(<variable|string> STREQUAL <variable|string>)``
+ True if the given string or variable's value is lexicographically equal
+ to the string or variable on the right.
+
+``if(<variable|string> STRLESS_EQUAL <variable|string>)``
+ True if the given string or variable's value is lexicographically less
+ than or equal to the string or variable on the right.
+
+``if(<variable|string> STRGREATER_EQUAL <variable|string>)``
+ True if the given string or variable's value is lexicographically greater
+ than or equal to the string or variable on the right.
+
+``if(<variable|string> VERSION_LESS <variable|string>)``
+ Component-wise integer version number comparison (version format is
+ ``major[.minor[.patch[.tweak]]]``).
+
+``if(<variable|string> VERSION_GREATER <variable|string>)``
+ Component-wise integer version number comparison (version format is
+ ``major[.minor[.patch[.tweak]]]``).
+
+``if(<variable|string> VERSION_EQUAL <variable|string>)``
+ Component-wise integer version number comparison (version format is
+ ``major[.minor[.patch[.tweak]]]``).
+
+``if(<variable|string> VERSION_LESS_EQUAL <variable|string>)``
+ Component-wise integer version number comparison (version format is
+ ``major[.minor[.patch[.tweak]]]``).
+
+``if(<variable|string> VERSION_GREATER_EQUAL <variable|string>)``
+ Component-wise integer version number comparison (version format is
+ ``major[.minor[.patch[.tweak]]]``).
+
+``if(<variable|string> IN_LIST <variable>)``
+ True if the given element is contained in the named list variable.
+
+``if(DEFINED <variable>)``
+ True if the given variable is defined.  It does not matter if the
+ variable is true or false just if it has been set.  (Note macro
+ arguments are not variables.)
+
+``if((expression) AND (expression OR (expression)))``
+ The expressions inside the parenthesis are evaluated first and then
+ the remaining expression is evaluated as in the previous examples.
+ Where there are nested parenthesis the innermost are evaluated as part
+ of evaluating the expression that contains them.
+
+The if command was written very early in CMake's history, predating
+the ``${}`` variable evaluation syntax, and for convenience evaluates
+variables named by its arguments as shown in the above signatures.
+Note that normal variable evaluation with ``${}`` applies before the if
+command even receives the arguments.  Therefore code like::
+
+ set(var1 OFF)
+ set(var2 "var1")
+ if(${var2})
+
+appears to the if command as::
+
+ if(var1)
+
+and is evaluated according to the ``if(<variable>)`` case documented
+above.  The result is ``OFF`` which is false.  However, if we remove the
+``${}`` from the example then the command sees::
+
+ if(var2)
+
+which is true because ``var2`` is defined to "var1" which is not a false
+constant.
+
+Automatic evaluation applies in the other cases whenever the
+above-documented signature accepts ``<variable|string>``:
+
+* The left hand argument to ``MATCHES`` is first checked to see if it is
+  a defined variable, if so the variable's value is used, otherwise the
+  original value is used.
+
+* If the left hand argument to ``MATCHES`` is missing it returns false
+  without error
+
+* Both left and right hand arguments to ``LESS``, ``GREATER``, ``EQUAL``,
+  ``LESS_EQUAL``, and ``GREATER_EQUAL``, are independently tested to see if
+  they are defined variables, if so their defined values are used otherwise
+  the original value is used.
+
+* Both left and right hand arguments to ``STRLESS``, ``STRGREATER``,
+  ``STREQUAL``, ``STRLESS_EQUAL``, and ``STRGREATER_EQUAL`` are independently
+  tested to see if they are defined variables, if so their defined values are
+  used otherwise the original value is used.
+
+* Both left and right hand arguments to ``VERSION_LESS``,
+  ``VERSION_GREATER``, ``VERSION_EQUAL``, ``VERSION_LESS_EQUAL``, and
+  ``VERSION_GREATER_EQUAL`` are independently tested to see if they are defined
+  variables, if so their defined values are used otherwise the original value
+  is used.
+
+* The right hand argument to ``NOT`` is tested to see if it is a boolean
+  constant, if so the value is used, otherwise it is assumed to be a
+  variable and it is dereferenced.
+
+* The left and right hand arguments to ``AND`` and ``OR`` are independently
+  tested to see if they are boolean constants, if so they are used as
+  such, otherwise they are assumed to be variables and are dereferenced.
+
+To prevent ambiguity, potential variable or keyword names can be
+specified in a :ref:`Quoted Argument` or a :ref:`Bracket Argument`.
+A quoted or bracketed variable or keyword will be interpreted as a
+string and not dereferenced or interpreted.
+See policy :policy:`CMP0054`.
diff --git a/share/cmake-3.10/Help/command/include.rst b/share/cmake-3.10/Help/command/include.rst
new file mode 100644
index 0000000..eeca4c6
--- /dev/null
+++ b/share/cmake-3.10/Help/command/include.rst
@@ -0,0 +1,25 @@
+include
+-------
+
+Load and run CMake code from a file or module.
+
+::
+
+  include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>]
+                        [NO_POLICY_SCOPE])
+
+Load and run CMake code from the file given.  Variable reads and
+writes access the scope of the caller (dynamic scoping).  If ``OPTIONAL``
+is present, then no error is raised if the file does not exist.  If
+``RESULT_VARIABLE`` is given the variable will be set to the full filename
+which has been included or NOTFOUND if it failed.
+
+If a module is specified instead of a file, the file with name
+``<modulename>.cmake`` is searched first in :variable:`CMAKE_MODULE_PATH`,
+then in the CMake module directory.  There is one exception to this: if
+the file which calls ``include()`` is located itself in the CMake builtin
+module directory, then first the CMake builtin module directory is searched and
+:variable:`CMAKE_MODULE_PATH` afterwards.  See also policy :policy:`CMP0017`.
+
+See the :command:`cmake_policy` command documentation for discussion of the
+``NO_POLICY_SCOPE`` option.
diff --git a/share/cmake-3.6/Help/command/include_directories.rst b/share/cmake-3.10/Help/command/include_directories.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/include_directories.rst
rename to share/cmake-3.10/Help/command/include_directories.rst
diff --git a/share/cmake-3.10/Help/command/include_external_msproject.rst b/share/cmake-3.10/Help/command/include_external_msproject.rst
new file mode 100644
index 0000000..335282a
--- /dev/null
+++ b/share/cmake-3.10/Help/command/include_external_msproject.rst
@@ -0,0 +1,26 @@
+include_external_msproject
+--------------------------
+
+Include an external Microsoft project file in a workspace.
+
+::
+
+  include_external_msproject(projectname location
+                             [TYPE projectTypeGUID]
+                             [GUID projectGUID]
+                             [PLATFORM platformName]
+                             dep1 dep2 ...)
+
+Includes an external Microsoft project in the generated workspace
+file.  Currently does nothing on UNIX.  This will create a target
+named [projectname].  This can be used in the :command:`add_dependencies`
+command to make things depend on the external project.
+
+``TYPE``, ``GUID`` and ``PLATFORM`` are optional parameters that allow one to
+specify the type of project, id (GUID) of the project and the name of
+the target platform.  This is useful for projects requiring values
+other than the default (e.g.  WIX projects).
+
+If the imported project has different configuration names than the
+current project, set the :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>`
+target property to specify the mapping.
diff --git a/share/cmake-3.10/Help/command/include_guard.rst b/share/cmake-3.10/Help/command/include_guard.rst
new file mode 100644
index 0000000..62cce22
--- /dev/null
+++ b/share/cmake-3.10/Help/command/include_guard.rst
@@ -0,0 +1,46 @@
+include_guard
+-------------
+
+Provides an include guard for the file currently being processed by CMake.
+
+::
+
+  include_guard([DIRECTORY|GLOBAL])
+
+Sets up an include guard for the current CMake file (see the
+:variable:`CMAKE_CURRENT_LIST_FILE` variable documentation).
+
+CMake will end its processing of the current file at the location of the
+:command:`include_guard` command if the current file has already been
+processed for the applicable scope (see below). This provides functionality
+similar to the include guards commonly used in source headers or to the
+``#pragma once`` directive. If the current file has been processed previously
+for the applicable scope, the effect is as though :command:`return` had been
+called. Do not call this command from inside a function being defined within
+the current file.
+
+An optional argument specifying the scope of the guard may be provided.
+Possible values for the option are:
+
+``DIRECTORY``
+  The include guard applies within the current directory and below. The file
+  will only be included once within this directory scope, but may be included
+  again by other files outside of this directory (i.e. a parent directory or
+  another directory not pulled in by :command:`add_subdirectory` or
+  :command:`include` from the current file or its children).
+
+``GLOBAL``
+  The include guard applies globally to the whole build. The current file
+  will only be included once regardless of the scope.
+
+If no arguments given, ``include_guard`` has the same scope as a variable,
+meaning that the include guard effect is isolated by the most recent
+function scope or current directory if no inner function scopes exist.
+In this case the command behavior is the same as:
+
+.. code-block:: cmake
+
+  if(__CURRENT_FILE_VAR__)
+    return()
+  endif()
+  set(__CURRENT_FILE_VAR__ TRUE)
diff --git a/share/cmake-3.6/Help/command/include_regular_expression.rst b/share/cmake-3.10/Help/command/include_regular_expression.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/include_regular_expression.rst
rename to share/cmake-3.10/Help/command/include_regular_expression.rst
diff --git a/share/cmake-3.10/Help/command/install.rst b/share/cmake-3.10/Help/command/install.rst
new file mode 100644
index 0000000..58438b7
--- /dev/null
+++ b/share/cmake-3.10/Help/command/install.rst
@@ -0,0 +1,380 @@
+install
+-------
+
+.. only:: html
+
+   .. contents::
+
+Specify rules to run at install time.
+
+Introduction
+^^^^^^^^^^^^
+
+This command generates installation rules for a project.  Rules
+specified by calls to this command within a source directory are
+executed in order during installation.  The order across directories
+is not defined.
+
+There are multiple signatures for this command.  Some of them define
+installation options for files and targets.  Options common to
+multiple signatures are covered here but they are valid only for
+signatures that specify them.  The common options are:
+
+``DESTINATION``
+  Specify the directory on disk to which a file will be installed.
+  If a full path (with a leading slash or drive letter) is given
+  it is used directly.  If a relative path is given it is interpreted
+  relative to the value of the :variable:`CMAKE_INSTALL_PREFIX` variable.
+  The prefix can be relocated at install time using the ``DESTDIR``
+  mechanism explained in the :variable:`CMAKE_INSTALL_PREFIX` variable
+  documentation.
+
+``PERMISSIONS``
+  Specify permissions for installed files.  Valid permissions are
+  ``OWNER_READ``, ``OWNER_WRITE``, ``OWNER_EXECUTE``, ``GROUP_READ``,
+  ``GROUP_WRITE``, ``GROUP_EXECUTE``, ``WORLD_READ``, ``WORLD_WRITE``,
+  ``WORLD_EXECUTE``, ``SETUID``, and ``SETGID``.  Permissions that do
+  not make sense on certain platforms are ignored on those platforms.
+
+``CONFIGURATIONS``
+  Specify a list of build configurations for which the install rule
+  applies (Debug, Release, etc.).
+
+``COMPONENT``
+  Specify an installation component name with which the install rule
+  is associated, such as "runtime" or "development".  During
+  component-specific installation only install rules associated with
+  the given component name will be executed.  During a full installation
+  all components are installed unless marked with ``EXCLUDE_FROM_ALL``.
+  If ``COMPONENT`` is not provided a default component "Unspecified" is
+  created.  The default component name may be controlled with the
+  :variable:`CMAKE_INSTALL_DEFAULT_COMPONENT_NAME` variable.
+
+``EXCLUDE_FROM_ALL``
+  Specify that the file is excluded from a full installation and only
+  installed as part of a component-specific installation
+
+``RENAME``
+  Specify a name for an installed file that may be different from the
+  original file.  Renaming is allowed only when a single file is
+  installed by the command.
+
+``OPTIONAL``
+  Specify that it is not an error if the file to be installed does
+  not exist.
+
+Command signatures that install files may print messages during
+installation.  Use the :variable:`CMAKE_INSTALL_MESSAGE` variable
+to control which messages are printed.
+
+Installing Targets
+^^^^^^^^^^^^^^^^^^
+
+::
+
+  install(TARGETS targets... [EXPORT <export-name>]
+          [[ARCHIVE|LIBRARY|RUNTIME|OBJECTS|FRAMEWORK|BUNDLE|
+            PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE]
+           [DESTINATION <dir>]
+           [PERMISSIONS permissions...]
+           [CONFIGURATIONS [Debug|Release|...]]
+           [COMPONENT <component>]
+           [OPTIONAL] [EXCLUDE_FROM_ALL]
+           [NAMELINK_ONLY|NAMELINK_SKIP]
+          ] [...]
+          [INCLUDES DESTINATION [<dir> ...]]
+          )
+
+The ``TARGETS`` form specifies rules for installing targets from a
+project.  There are six kinds of target files that may be installed:
+``ARCHIVE``, ``LIBRARY``, ``RUNTIME``, ``OBJECTS``, ``FRAMEWORK``, and
+``BUNDLE``. Executables are treated as ``RUNTIME`` targets, except that
+those marked with the ``MACOSX_BUNDLE`` property are treated as ``BUNDLE``
+targets on OS X.  Static libraries are treated as ``ARCHIVE`` targets,
+except that those marked with the ``FRAMEWORK`` property are treated
+as ``FRAMEWORK`` targets on OS X.
+Module libraries are always treated as ``LIBRARY`` targets.
+For non-DLL platforms shared libraries are treated as ``LIBRARY``
+targets, except that those marked with the ``FRAMEWORK`` property are
+treated as ``FRAMEWORK`` targets on OS X.  For DLL platforms the DLL
+part of a shared library is treated as a ``RUNTIME`` target and the
+corresponding import library is treated as an ``ARCHIVE`` target.
+All Windows-based systems including Cygwin are DLL platforms. Object
+libraries are always treated as ``OBJECTS`` targets.
+The ``ARCHIVE``, ``LIBRARY``, ``RUNTIME``, ``OBJECTS``, and ``FRAMEWORK``
+arguments change the type of target to which the subsequent properties
+apply. If none is given the installation properties apply to all target
+types.  If only one is given then only targets of that type will be
+installed (which can be used to install just a DLL or just an import
+library).
+
+The ``PRIVATE_HEADER``, ``PUBLIC_HEADER``, and ``RESOURCE`` arguments
+cause subsequent properties to be applied to installing a ``FRAMEWORK``
+shared library target's associated files on non-Apple platforms.  Rules
+defined by these arguments are ignored on Apple platforms because the
+associated files are installed into the appropriate locations inside
+the framework folder.  See documentation of the
+:prop_tgt:`PRIVATE_HEADER`, :prop_tgt:`PUBLIC_HEADER`, and
+:prop_tgt:`RESOURCE` target properties for details.
+
+Either ``NAMELINK_ONLY`` or ``NAMELINK_SKIP`` may be specified as a
+``LIBRARY`` option.  On some platforms a versioned shared library
+has a symbolic link such as::
+
+  lib<name>.so -> lib<name>.so.1
+
+where ``lib<name>.so.1`` is the soname of the library and ``lib<name>.so``
+is a "namelink" allowing linkers to find the library when given
+``-l<name>``.  The ``NAMELINK_ONLY`` option causes installation of only the
+namelink when a library target is installed.  The ``NAMELINK_SKIP`` option
+causes installation of library files other than the namelink when a
+library target is installed.  When neither option is given both
+portions are installed.  On platforms where versioned shared libraries
+do not have namelinks or when a library is not versioned the
+``NAMELINK_SKIP`` option installs the library and the ``NAMELINK_ONLY``
+option installs nothing.  See the :prop_tgt:`VERSION` and
+:prop_tgt:`SOVERSION` target properties for details on creating versioned
+shared libraries.
+
+The ``INCLUDES DESTINATION`` specifies a list of directories
+which will be added to the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`
+target property of the ``<targets>`` when exported by the
+:command:`install(EXPORT)` command.  If a relative path is
+specified, it is treated as relative to the ``$<INSTALL_PREFIX>``.
+This is independent of the rest of the argument groups and does
+not actually install anything.
+
+One or more groups of properties may be specified in a single call to
+the ``TARGETS`` form of this command.  A target may be installed more than
+once to different locations.  Consider hypothetical targets ``myExe``,
+``mySharedLib``, and ``myStaticLib``.  The code:
+
+.. code-block:: cmake
+
+  install(TARGETS myExe mySharedLib myStaticLib
+          RUNTIME DESTINATION bin
+          LIBRARY DESTINATION lib
+          ARCHIVE DESTINATION lib/static)
+  install(TARGETS mySharedLib DESTINATION /some/full/path)
+
+will install ``myExe`` to ``<prefix>/bin`` and ``myStaticLib`` to
+``<prefix>/lib/static``.  On non-DLL platforms ``mySharedLib`` will be
+installed to ``<prefix>/lib`` and ``/some/full/path``.  On DLL platforms
+the ``mySharedLib`` DLL will be installed to ``<prefix>/bin`` and
+``/some/full/path`` and its import library will be installed to
+``<prefix>/lib/static`` and ``/some/full/path``.
+
+The ``EXPORT`` option associates the installed target files with an
+export called ``<export-name>``.  It must appear before any ``RUNTIME``,
+``LIBRARY``, ``ARCHIVE``, or ``OBJECTS`` options.  To actually install the
+export file itself, call ``install(EXPORT)``, documented below.
+
+Installing a target with the :prop_tgt:`EXCLUDE_FROM_ALL` target property
+set to ``TRUE`` has undefined behavior.
+
+The install destination given to the target install ``DESTINATION`` may
+use "generator expressions" with the syntax ``$<...>``.  See the
+:manual:`cmake-generator-expressions(7)` manual for available expressions.
+
+Installing Files
+^^^^^^^^^^^^^^^^
+
+::
+
+  install(<FILES|PROGRAMS> files... DESTINATION <dir>
+          [PERMISSIONS permissions...]
+          [CONFIGURATIONS [Debug|Release|...]]
+          [COMPONENT <component>]
+          [RENAME <name>] [OPTIONAL] [EXCLUDE_FROM_ALL])
+
+The ``FILES`` form specifies rules for installing files for a project.
+File names given as relative paths are interpreted with respect to the
+current source directory.  Files installed by this form are by default
+given permissions ``OWNER_WRITE``, ``OWNER_READ``, ``GROUP_READ``, and
+``WORLD_READ`` if no ``PERMISSIONS`` argument is given.
+
+The ``PROGRAMS`` form is identical to the ``FILES`` form except that the
+default permissions for the installed file also include ``OWNER_EXECUTE``,
+``GROUP_EXECUTE``, and ``WORLD_EXECUTE``.  This form is intended to install
+programs that are not targets, such as shell scripts.  Use the ``TARGETS``
+form to install targets built within the project.
+
+The list of ``files...`` given to ``FILES`` or ``PROGRAMS`` may use
+"generator expressions" with the syntax ``$<...>``.  See the
+:manual:`cmake-generator-expressions(7)` manual for available expressions.
+However, if any item begins in a generator expression it must evaluate
+to a full path.
+
+The install destination given to the files install ``DESTINATION`` may
+use "generator expressions" with the syntax ``$<...>``.  See the
+:manual:`cmake-generator-expressions(7)` manual for available expressions.
+
+Installing Directories
+^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  install(DIRECTORY dirs... DESTINATION <dir>
+          [FILE_PERMISSIONS permissions...]
+          [DIRECTORY_PERMISSIONS permissions...]
+          [USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER]
+          [CONFIGURATIONS [Debug|Release|...]]
+          [COMPONENT <component>] [EXCLUDE_FROM_ALL]
+          [FILES_MATCHING]
+          [[PATTERN <pattern> | REGEX <regex>]
+           [EXCLUDE] [PERMISSIONS permissions...]] [...])
+
+The ``DIRECTORY`` form installs contents of one or more directories to a
+given destination.  The directory structure is copied verbatim to the
+destination.  The last component of each directory name is appended to
+the destination directory but a trailing slash may be used to avoid
+this because it leaves the last component empty.  Directory names
+given as relative paths are interpreted with respect to the current
+source directory.  If no input directory names are given the
+destination directory will be created but nothing will be installed
+into it.  The ``FILE_PERMISSIONS`` and ``DIRECTORY_PERMISSIONS`` options
+specify permissions given to files and directories in the destination.
+If ``USE_SOURCE_PERMISSIONS`` is specified and ``FILE_PERMISSIONS`` is not,
+file permissions will be copied from the source directory structure.
+If no permissions are specified files will be given the default
+permissions specified in the ``FILES`` form of the command, and the
+directories will be given the default permissions specified in the
+``PROGRAMS`` form of the command.
+
+The ``MESSAGE_NEVER`` option disables file installation status output.
+
+Installation of directories may be controlled with fine granularity
+using the ``PATTERN`` or ``REGEX`` options.  These "match" options specify a
+globbing pattern or regular expression to match directories or files
+encountered within input directories.  They may be used to apply
+certain options (see below) to a subset of the files and directories
+encountered.  The full path to each input file or directory (with
+forward slashes) is matched against the expression.  A ``PATTERN`` will
+match only complete file names: the portion of the full path matching
+the pattern must occur at the end of the file name and be preceded by
+a slash.  A ``REGEX`` will match any portion of the full path but it may
+use ``/`` and ``$`` to simulate the ``PATTERN`` behavior.  By default all
+files and directories are installed whether or not they are matched.
+The ``FILES_MATCHING`` option may be given before the first match option
+to disable installation of files (but not directories) not matched by
+any expression.  For example, the code
+
+.. code-block:: cmake
+
+  install(DIRECTORY src/ DESTINATION include/myproj
+          FILES_MATCHING PATTERN "*.h")
+
+will extract and install header files from a source tree.
+
+Some options may follow a ``PATTERN`` or ``REGEX`` expression and are applied
+only to files or directories matching them.  The ``EXCLUDE`` option will
+skip the matched file or directory.  The ``PERMISSIONS`` option overrides
+the permissions setting for the matched file or directory.  For
+example the code
+
+.. code-block:: cmake
+
+  install(DIRECTORY icons scripts/ DESTINATION share/myproj
+          PATTERN "CVS" EXCLUDE
+          PATTERN "scripts/*"
+          PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+                      GROUP_EXECUTE GROUP_READ)
+
+will install the ``icons`` directory to ``share/myproj/icons`` and the
+``scripts`` directory to ``share/myproj``.  The icons will get default
+file permissions, the scripts will be given specific permissions, and any
+``CVS`` directories will be excluded.
+
+The list of ``dirs...`` given to ``DIRECTORY`` and the install destination
+given to the directory install ``DESTINATION`` may use "generator expressions"
+with the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions.
+
+Custom Installation Logic
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  install([[SCRIPT <file>] [CODE <code>]]
+          [COMPONENT <component>] [EXCLUDE_FROM_ALL] [...])
+
+The ``SCRIPT`` form will invoke the given CMake script files during
+installation.  If the script file name is a relative path it will be
+interpreted with respect to the current source directory.  The ``CODE``
+form will invoke the given CMake code during installation.  Code is
+specified as a single argument inside a double-quoted string.  For
+example, the code
+
+.. code-block:: cmake
+
+  install(CODE "MESSAGE(\"Sample install message.\")")
+
+will print a message during installation.
+
+Installing Exports
+^^^^^^^^^^^^^^^^^^
+
+::
+
+  install(EXPORT <export-name> DESTINATION <dir>
+          [NAMESPACE <namespace>] [[FILE <name>.cmake]|
+          [EXPORT_ANDROID_MK <name>.mk]]
+          [PERMISSIONS permissions...]
+          [CONFIGURATIONS [Debug|Release|...]]
+          [EXPORT_LINK_INTERFACE_LIBRARIES]
+          [COMPONENT <component>]
+          [EXCLUDE_FROM_ALL])
+
+The ``EXPORT`` form generates and installs a CMake file containing code to
+import targets from the installation tree into another project.
+Target installations are associated with the export ``<export-name>``
+using the ``EXPORT`` option of the ``install(TARGETS)`` signature
+documented above.  The ``NAMESPACE`` option will prepend ``<namespace>`` to
+the target names as they are written to the import file.  By default
+the generated file will be called ``<export-name>.cmake`` but the ``FILE``
+option may be used to specify a different name.  The value given to
+the ``FILE`` option must be a file name with the ``.cmake`` extension.
+If a ``CONFIGURATIONS`` option is given then the file will only be installed
+when one of the named configurations is installed.  Additionally, the
+generated import file will reference only the matching target
+configurations.  The ``EXPORT_LINK_INTERFACE_LIBRARIES`` keyword, if
+present, causes the contents of the properties matching
+``(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?`` to be exported, when
+policy :policy:`CMP0022` is ``NEW``.  If a ``COMPONENT`` option is
+specified that does not match that given to the targets associated with
+``<export-name>`` the behavior is undefined.  If a library target is
+included in the export but a target to which it links is not included
+the behavior is unspecified.
+
+In additon to cmake language files, the ``EXPORT_ANDROID_MK`` option maybe
+used to specifiy an export to the android ndk build system.  The Android
+NDK supports the use of prebuilt libraries, both static and shared. This
+allows cmake to build the libraries of a project and make them available
+to an ndk build system complete with transitive dependencies, include flags
+and defines required to use the libraries.
+
+The ``EXPORT`` form is useful to help outside projects use targets built
+and installed by the current project.  For example, the code
+
+.. code-block:: cmake
+
+  install(TARGETS myexe EXPORT myproj DESTINATION bin)
+  install(EXPORT myproj NAMESPACE mp_ DESTINATION lib/myproj)
+  install(EXPORT_ANDROID_MK myexp DESTINATION share/ndk-modules)
+
+will install the executable myexe to ``<prefix>/bin`` and code to import
+it in the file ``<prefix>/lib/myproj/myproj.cmake`` and
+``<prefix>/lib/share/ndk-modules/Android.mk``.  An outside project
+may load this file with the include command and reference the ``myexe``
+executable from the installation tree using the imported target name
+``mp_myexe`` as if the target were built in its own tree.
+
+.. note::
+  This command supercedes the :command:`install_targets` command and
+  the :prop_tgt:`PRE_INSTALL_SCRIPT` and :prop_tgt:`POST_INSTALL_SCRIPT`
+  target properties.  It also replaces the ``FILES`` forms of the
+  :command:`install_files` and :command:`install_programs` commands.
+  The processing order of these install rules relative to
+  those generated by :command:`install_targets`,
+  :command:`install_files`, and :command:`install_programs` commands
+  is not defined.
diff --git a/share/cmake-3.6/Help/command/install_files.rst b/share/cmake-3.10/Help/command/install_files.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/install_files.rst
rename to share/cmake-3.10/Help/command/install_files.rst
diff --git a/share/cmake-3.6/Help/command/install_programs.rst b/share/cmake-3.10/Help/command/install_programs.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/install_programs.rst
rename to share/cmake-3.10/Help/command/install_programs.rst
diff --git a/share/cmake-3.6/Help/command/install_targets.rst b/share/cmake-3.10/Help/command/install_targets.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/install_targets.rst
rename to share/cmake-3.10/Help/command/install_targets.rst
diff --git a/share/cmake-3.6/Help/command/link_directories.rst b/share/cmake-3.10/Help/command/link_directories.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/link_directories.rst
rename to share/cmake-3.10/Help/command/link_directories.rst
diff --git a/share/cmake-3.6/Help/command/link_libraries.rst b/share/cmake-3.10/Help/command/link_libraries.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/link_libraries.rst
rename to share/cmake-3.10/Help/command/link_libraries.rst
diff --git a/share/cmake-3.6/Help/command/list.rst b/share/cmake-3.10/Help/command/list.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/list.rst
rename to share/cmake-3.10/Help/command/list.rst
diff --git a/share/cmake-3.6/Help/command/load_cache.rst b/share/cmake-3.10/Help/command/load_cache.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/load_cache.rst
rename to share/cmake-3.10/Help/command/load_cache.rst
diff --git a/share/cmake-3.6/Help/command/load_command.rst b/share/cmake-3.10/Help/command/load_command.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/load_command.rst
rename to share/cmake-3.10/Help/command/load_command.rst
diff --git a/share/cmake-3.6/Help/command/macro.rst b/share/cmake-3.10/Help/command/macro.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/macro.rst
rename to share/cmake-3.10/Help/command/macro.rst
diff --git a/share/cmake-3.6/Help/command/make_directory.rst b/share/cmake-3.10/Help/command/make_directory.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/make_directory.rst
rename to share/cmake-3.10/Help/command/make_directory.rst
diff --git a/share/cmake-3.6/Help/command/mark_as_advanced.rst b/share/cmake-3.10/Help/command/mark_as_advanced.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/mark_as_advanced.rst
rename to share/cmake-3.10/Help/command/mark_as_advanced.rst
diff --git a/share/cmake-3.10/Help/command/math.rst b/share/cmake-3.10/Help/command/math.rst
new file mode 100644
index 0000000..f99dc3d
--- /dev/null
+++ b/share/cmake-3.10/Help/command/math.rst
@@ -0,0 +1,14 @@
+math
+----
+
+Mathematical expressions.
+
+::
+
+  math(EXPR <output-variable> <math-expression>)
+
+``EXPR`` evaluates mathematical expression and returns result in the
+output variable.  Example mathematical expression is ``5 * (10 + 13)``.
+Supported operators are ``+``, ``-``, ``*``, ``/``, ``%``, ``|``, ``&``,
+``^``, ``~``, ``<<``, ``>>``, and ``(...)``.  They have the same meaning
+as they do in C code.
diff --git a/share/cmake-3.6/Help/command/message.rst b/share/cmake-3.10/Help/command/message.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/message.rst
rename to share/cmake-3.10/Help/command/message.rst
diff --git a/share/cmake-3.6/Help/command/option.rst b/share/cmake-3.10/Help/command/option.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/option.rst
rename to share/cmake-3.10/Help/command/option.rst
diff --git a/share/cmake-3.6/Help/command/output_required_files.rst b/share/cmake-3.10/Help/command/output_required_files.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/output_required_files.rst
rename to share/cmake-3.10/Help/command/output_required_files.rst
diff --git a/share/cmake-3.10/Help/command/project.rst b/share/cmake-3.10/Help/command/project.rst
new file mode 100644
index 0000000..139f69c
--- /dev/null
+++ b/share/cmake-3.10/Help/command/project.rst
@@ -0,0 +1,69 @@
+project
+-------
+
+Set a name, version, and enable languages for the entire project.
+
+.. code-block:: cmake
+
+ project(<PROJECT-NAME> [LANGUAGES] [<language-name>...])
+ project(<PROJECT-NAME>
+         [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
+         [DESCRIPTION <project-description-string>]
+         [LANGUAGES <language-name>...])
+
+Sets the name of the project and stores the name in the
+:variable:`PROJECT_NAME` variable.  Additionally this sets variables
+
+* :variable:`PROJECT_SOURCE_DIR`,
+  :variable:`<PROJECT-NAME>_SOURCE_DIR`
+* :variable:`PROJECT_BINARY_DIR`,
+  :variable:`<PROJECT-NAME>_BINARY_DIR`
+
+If ``VERSION`` is specified, given components must be non-negative integers.
+If ``VERSION`` is not specified, the default version is the empty string.
+The ``VERSION`` option may not be used unless policy :policy:`CMP0048` is
+set to ``NEW``.
+
+The :command:`project()` command stores the version number and its components
+in variables
+
+* :variable:`PROJECT_VERSION`,
+  :variable:`<PROJECT-NAME>_VERSION`
+* :variable:`PROJECT_VERSION_MAJOR`,
+  :variable:`<PROJECT-NAME>_VERSION_MAJOR`
+* :variable:`PROJECT_VERSION_MINOR`,
+  :variable:`<PROJECT-NAME>_VERSION_MINOR`
+* :variable:`PROJECT_VERSION_PATCH`,
+  :variable:`<PROJECT-NAME>_VERSION_PATCH`
+* :variable:`PROJECT_VERSION_TWEAK`,
+  :variable:`<PROJECT-NAME>_VERSION_TWEAK`
+
+Variables corresponding to unspecified versions are set to the empty string
+(if policy :policy:`CMP0048` is set to ``NEW``).
+
+If optional ``DESCRIPTION`` is given, then additional :variable:`PROJECT_DESCRIPTION`
+variable will be set to its argument. The argument must be a string with short
+description of the project (only a few words).
+
+Optionally you can specify which languages your project supports.
+Example languages are ``C``, ``CXX`` (i.e.  C++), ``Fortran``, etc.
+By default ``C`` and ``CXX`` are enabled if no language options are
+given.  Specify language ``NONE``, or use the ``LANGUAGES`` keyword
+and list no languages, to skip enabling any languages.
+
+If a variable exists called :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
+the file pointed to by that variable will be included as the last step of the
+project command.
+
+The top-level ``CMakeLists.txt`` file for a project must contain a
+literal, direct call to the :command:`project` command; loading one
+through the :command:`include` command is not sufficient.  If no such
+call exists CMake will implicitly add one to the top that enables the
+default languages (``C`` and ``CXX``).
+
+.. note::
+  Call the :command:`cmake_minimum_required` command at the beginning
+  of the top-level ``CMakeLists.txt`` file even before calling the
+  ``project()`` command.  It is important to establish version and
+  policy settings before invoking other commands whose behavior they
+  may affect.  See also policy :policy:`CMP0000`.
diff --git a/share/cmake-3.6/Help/command/qt_wrap_cpp.rst b/share/cmake-3.10/Help/command/qt_wrap_cpp.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/qt_wrap_cpp.rst
rename to share/cmake-3.10/Help/command/qt_wrap_cpp.rst
diff --git a/share/cmake-3.6/Help/command/qt_wrap_ui.rst b/share/cmake-3.10/Help/command/qt_wrap_ui.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/qt_wrap_ui.rst
rename to share/cmake-3.10/Help/command/qt_wrap_ui.rst
diff --git a/share/cmake-3.6/Help/command/remove.rst b/share/cmake-3.10/Help/command/remove.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/remove.rst
rename to share/cmake-3.10/Help/command/remove.rst
diff --git a/share/cmake-3.6/Help/command/remove_definitions.rst b/share/cmake-3.10/Help/command/remove_definitions.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/remove_definitions.rst
rename to share/cmake-3.10/Help/command/remove_definitions.rst
diff --git a/share/cmake-3.6/Help/command/return.rst b/share/cmake-3.10/Help/command/return.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/return.rst
rename to share/cmake-3.10/Help/command/return.rst
diff --git a/share/cmake-3.10/Help/command/separate_arguments.rst b/share/cmake-3.10/Help/command/separate_arguments.rst
new file mode 100644
index 0000000..47982a5
--- /dev/null
+++ b/share/cmake-3.10/Help/command/separate_arguments.rst
@@ -0,0 +1,36 @@
+separate_arguments
+------------------
+
+Parse space-separated arguments into a semicolon-separated list.
+
+::
+
+  separate_arguments(<var> <NATIVE|UNIX|WINDOWS>_COMMAND "<args>")
+
+Parses a UNIX- or Windows-style command-line string "<args>" and
+stores a semicolon-separated list of the arguments in ``<var>``.  The
+entire command line must be given in one "<args>" argument.
+
+The ``UNIX_COMMAND`` mode separates arguments by unquoted whitespace.  It
+recognizes both single-quote and double-quote pairs.  A backslash
+escapes the next literal character (``\"`` is ``"``); there are no special
+escapes (``\n`` is just ``n``).
+
+The ``WINDOWS_COMMAND`` mode parses a Windows command-line using the same
+syntax the runtime library uses to construct argv at startup.  It
+separates arguments by whitespace that is not double-quoted.
+Backslashes are literal unless they precede double-quotes.  See the
+MSDN article `Parsing C Command-Line Arguments`_ for details.
+
+The ``NATIVE_COMMAND`` mode parses a Windows command-line if the host
+system is Windows, and a UNIX command-line otherwise.
+
+.. _`Parsing C Command-Line Arguments`: https://msdn.microsoft.com/library/a1y7w461.aspx
+
+::
+
+  separate_arguments(<var>)
+
+Convert the value of ``<var>`` to a semi-colon separated list.  All
+spaces are replaced with ';'.  This helps with generating command
+lines.
diff --git a/share/cmake-3.10/Help/command/set.rst b/share/cmake-3.10/Help/command/set.rst
new file mode 100644
index 0000000..b24ebef
--- /dev/null
+++ b/share/cmake-3.10/Help/command/set.rst
@@ -0,0 +1,91 @@
+set
+---
+
+Set a normal, cache, or environment variable to a given value.
+See the :ref:`cmake-language(7) variables <CMake Language Variables>`
+documentation for the scopes and interaction of normal variables
+and cache entries.
+
+Signatures of this command that specify a ``<value>...`` placeholder
+expect zero or more arguments.  Multiple arguments will be joined as
+a :ref:`;-list <CMake Language Lists>` to form the actual variable
+value to be set.  Zero arguments will cause normal variables to be
+unset.  See the :command:`unset` command to unset variables explicitly.
+
+Set Normal Variable
+^^^^^^^^^^^^^^^^^^^
+
+::
+
+  set(<variable> <value>... [PARENT_SCOPE])
+
+Set the given ``<variable>`` in the current function or directory scope.
+
+If the ``PARENT_SCOPE`` option is given the variable will be set in
+the scope above the current scope.  Each new directory or function
+creates a new scope.  This command will set the value of a variable
+into the parent directory or calling function (whichever is applicable
+to the case at hand). The previous state of the variable's value stays the
+same in the current scope (e.g., if it was undefined before, it is still
+undefined and if it had a value, it is still that value).
+
+Set Cache Entry
+^^^^^^^^^^^^^^^
+
+::
+
+  set(<variable> <value>... CACHE <type> <docstring> [FORCE])
+
+Set the given cache ``<variable>`` (cache entry).  Since cache entries
+are meant to provide user-settable values this does not overwrite
+existing cache entries by default.  Use the ``FORCE`` option to
+overwrite existing entries.
+
+The ``<type>`` must be specified as one of:
+
+``BOOL``
+  Boolean ``ON/OFF`` value.  :manual:`cmake-gui(1)` offers a checkbox.
+
+``FILEPATH``
+  Path to a file on disk.  :manual:`cmake-gui(1)` offers a file dialog.
+
+``PATH``
+  Path to a directory on disk.  :manual:`cmake-gui(1)` offers a file dialog.
+
+``STRING``
+  A line of text.  :manual:`cmake-gui(1)` offers a text field or a
+  drop-down selection if the :prop_cache:`STRINGS` cache entry
+  property is set.
+
+``INTERNAL``
+  A line of text.  :manual:`cmake-gui(1)` does not show internal entries.
+  They may be used to store variables persistently across runs.
+  Use of this type implies ``FORCE``.
+
+The ``<docstring>`` must be specified as a line of text providing
+a quick summary of the option for presentation to :manual:`cmake-gui(1)`
+users.
+
+If the cache entry does not exist prior to the call or the ``FORCE``
+option is given then the cache entry will be set to the given value.
+Furthermore, any normal variable binding in the current scope will
+be removed to expose the newly cached value to any immediately
+following evaluation.
+
+It is possible for the cache entry to exist prior to the call but
+have no type set if it was created on the :manual:`cmake(1)` command
+line by a user through the ``-D<var>=<value>`` option without
+specifying a type.  In this case the ``set`` command will add the
+type.  Furthermore, if the ``<type>`` is ``PATH`` or ``FILEPATH``
+and the ``<value>`` provided on the command line is a relative path,
+then the ``set`` command will treat the path as relative to the
+current working directory and convert it to an absolute path.
+
+Set Environment Variable
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  set(ENV{<variable>} <value>...)
+
+Set the current process environment ``<variable>`` to the given value.
diff --git a/share/cmake-3.6/Help/command/set_directory_properties.rst b/share/cmake-3.10/Help/command/set_directory_properties.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/set_directory_properties.rst
rename to share/cmake-3.10/Help/command/set_directory_properties.rst
diff --git a/share/cmake-3.6/Help/command/set_property.rst b/share/cmake-3.10/Help/command/set_property.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/set_property.rst
rename to share/cmake-3.10/Help/command/set_property.rst
diff --git a/share/cmake-3.6/Help/command/set_source_files_properties.rst b/share/cmake-3.10/Help/command/set_source_files_properties.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/set_source_files_properties.rst
rename to share/cmake-3.10/Help/command/set_source_files_properties.rst
diff --git a/share/cmake-3.6/Help/command/set_target_properties.rst b/share/cmake-3.10/Help/command/set_target_properties.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/set_target_properties.rst
rename to share/cmake-3.10/Help/command/set_target_properties.rst
diff --git a/share/cmake-3.6/Help/command/set_tests_properties.rst b/share/cmake-3.10/Help/command/set_tests_properties.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/set_tests_properties.rst
rename to share/cmake-3.10/Help/command/set_tests_properties.rst
diff --git a/share/cmake-3.6/Help/command/site_name.rst b/share/cmake-3.10/Help/command/site_name.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/site_name.rst
rename to share/cmake-3.10/Help/command/site_name.rst
diff --git a/share/cmake-3.10/Help/command/source_group.rst b/share/cmake-3.10/Help/command/source_group.rst
new file mode 100644
index 0000000..938ca40
--- /dev/null
+++ b/share/cmake-3.10/Help/command/source_group.rst
@@ -0,0 +1,58 @@
+source_group
+------------
+
+Define a grouping for source files in IDE project generation.
+There are two different signatures to create source groups.
+
+::
+
+  source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
+  source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])
+
+Defines a group into which sources will be placed in project files.
+This is intended to set up file tabs in Visual Studio.
+The options are:
+
+``TREE``
+ CMake will automatically detect, from ``<src>`` files paths, source groups
+ it needs to create, to keep structure of source groups analogically to the
+ actual files and directories structure in the project. Paths of ``<src>``
+ files will be cut to be relative to ``<root>``.
+
+``PREFIX``
+ Source group and files located directly in ``<root>`` path, will be placed
+ in ``<prefix>`` source groups.
+
+``FILES``
+ Any source file specified explicitly will be placed in group
+ ``<name>``.  Relative paths are interpreted with respect to the
+ current source directory.
+
+``REGULAR_EXPRESSION``
+ Any source file whose name matches the regular expression will
+ be placed in group ``<name>``.
+
+If a source file matches multiple groups, the *last* group that
+explicitly lists the file with ``FILES`` will be favored, if any.
+If no group explicitly lists the file, the *last* group whose
+regular expression matches the file will be favored.
+
+The ``<name>`` of the group and ``<prefix>`` argument may contain backslashes
+to specify subgroups:
+
+.. code-block:: cmake
+
+  source_group(outer\\inner ...)
+  source_group(TREE <root> PREFIX sources\\inc ...)
+
+For backwards compatibility, the short-hand signature
+
+.. code-block:: cmake
+
+  source_group(<name> <regex>)
+
+is equivalent to
+
+.. code-block:: cmake
+
+  source_group(<name> REGULAR_EXPRESSION <regex>)
diff --git a/share/cmake-3.10/Help/command/string.rst b/share/cmake-3.10/Help/command/string.rst
new file mode 100644
index 0000000..fb3893f
--- /dev/null
+++ b/share/cmake-3.10/Help/command/string.rst
@@ -0,0 +1,378 @@
+string
+------
+
+.. only:: html
+
+   .. contents::
+
+String operations.
+
+Search and Replace
+^^^^^^^^^^^^^^^^^^
+
+FIND
+""""
+
+::
+
+  string(FIND <string> <substring> <output variable> [REVERSE])
+
+Return the position where the given substring was found in
+the supplied string.  If the ``REVERSE`` flag was used, the command will
+search for the position of the last occurrence of the specified
+substring.  If the substring is not found, a position of -1 is returned.
+
+REPLACE
+"""""""
+
+::
+
+  string(REPLACE <match_string>
+         <replace_string> <output variable>
+         <input> [<input>...])
+
+Replace all occurrences of ``match_string`` in the input
+with ``replace_string`` and store the result in the output.
+
+Regular Expressions
+^^^^^^^^^^^^^^^^^^^
+
+REGEX MATCH
+"""""""""""
+
+::
+
+  string(REGEX MATCH <regular_expression>
+         <output variable> <input> [<input>...])
+
+Match the regular expression once and store the match in the output variable.
+All ``<input>`` arguments are concatenated before matching.
+
+REGEX MATCHALL
+""""""""""""""
+
+::
+
+  string(REGEX MATCHALL <regular_expression>
+         <output variable> <input> [<input>...])
+
+Match the regular expression as many times as possible and store the matches
+in the output variable as a list.
+All ``<input>`` arguments are concatenated before matching.
+
+REGEX REPLACE
+"""""""""""""
+
+::
+
+  string(REGEX REPLACE <regular_expression>
+         <replace_expression> <output variable>
+         <input> [<input>...])
+
+Match the regular expression as many times as possible and substitute the
+replacement expression for the match in the output.
+All ``<input>`` arguments are concatenated before matching.
+
+The replace expression may refer to paren-delimited subexpressions of the
+match using ``\1``, ``\2``, ..., ``\9``.  Note that two backslashes (``\\1``)
+are required in CMake code to get a backslash through argument parsing.
+
+.. _`Regex Specification`:
+
+Regex Specification
+"""""""""""""""""""
+
+The following characters have special meaning in regular expressions:
+
+``^``
+  Matches at beginning of input
+``$``
+  Matches at end of input
+``.``
+  Matches any single character
+``[ ]``
+  Matches any character(s) inside the brackets
+``[^ ]``
+  Matches any character(s) not inside the brackets
+``-``
+  Inside brackets, specifies an inclusive range between
+  characters on either side e.g. ``[a-f]`` is ``[abcdef]``
+  To match a literal ``-`` using brackets, make it the first
+  or the last character e.g. ``[+*/-]`` matches basic
+  mathematical operators.
+``*``
+  Matches preceding pattern zero or more times
+``+``
+  Matches preceding pattern one or more times
+``?``
+  Matches preceding pattern zero or once only
+``|``
+  Matches a pattern on either side of the ``|``
+``()``
+  Saves a matched subexpression, which can be referenced
+  in the ``REGEX REPLACE`` operation. Additionally it is saved
+  by all regular expression-related commands, including
+  e.g. :command:`if(MATCHES)`, in the variables
+  :variable:`CMAKE_MATCH_<n>` for ``<n>`` 0..9.
+
+``*``, ``+`` and ``?`` have higher precedence than concatenation.  ``|``
+has lower precedence than concatenation.  This means that the regular
+expression ``^ab+d$`` matches ``abbd`` but not ``ababd``, and the regular
+expression ``^(ab|cd)$`` matches ``ab`` but not ``abd``.
+
+Manipulation
+^^^^^^^^^^^^
+
+APPEND
+""""""
+
+::
+
+  string(APPEND <string variable> [<input>...])
+
+Append all the input arguments to the string.
+
+PREPEND
+"""""""
+
+::
+
+  string(PREPEND <string variable> [<input>...])
+
+Prepend all the input arguments to the string.
+
+CONCAT
+""""""
+
+::
+
+  string(CONCAT <output variable> [<input>...])
+
+Concatenate all the input arguments together and store
+the result in the named output variable.
+
+TOLOWER
+"""""""
+
+::
+
+  string(TOLOWER <string1> <output variable>)
+
+Convert string to lower characters.
+
+TOUPPER
+"""""""
+
+::
+
+  string(TOUPPER <string1> <output variable>)
+
+Convert string to upper characters.
+
+LENGTH
+""""""
+
+::
+
+  string(LENGTH <string> <output variable>)
+
+Store in an output variable a given string's length.
+
+SUBSTRING
+"""""""""
+
+::
+
+  string(SUBSTRING <string> <begin> <length> <output variable>)
+
+Store in an output variable a substring of a given string.  If length is
+``-1`` the remainder of the string starting at begin will be returned.
+If string is shorter than length then end of string is used instead.
+
+.. note::
+  CMake 3.1 and below reported an error if length pointed past
+  the end of string.
+
+STRIP
+"""""
+
+::
+
+  string(STRIP <string> <output variable>)
+
+Store in an output variable a substring of a given string with leading and
+trailing spaces removed.
+
+GENEX_STRIP
+"""""""""""
+
+::
+
+  string(GENEX_STRIP <input string> <output variable>)
+
+Strip any :manual:`generator expressions <cmake-generator-expressions(7)>`
+from the ``input string`` and store the result in the ``output variable``.
+
+Comparison
+^^^^^^^^^^
+
+::
+
+  string(COMPARE LESS <string1> <string2> <output variable>)
+  string(COMPARE GREATER <string1> <string2> <output variable>)
+  string(COMPARE EQUAL <string1> <string2> <output variable>)
+  string(COMPARE NOTEQUAL <string1> <string2> <output variable>)
+  string(COMPARE LESS_EQUAL <string1> <string2> <output variable>)
+  string(COMPARE GREATER_EQUAL <string1> <string2> <output variable>)
+
+Compare the strings and store true or false in the output variable.
+
+.. _`Supported Hash Algorithms`:
+
+Hashing
+^^^^^^^
+
+::
+
+  string(<HASH> <output variable> <input>)
+
+Compute a cryptographic hash of the input string.
+The supported ``<HASH>`` algorithm names are:
+
+``MD5``
+  Message-Digest Algorithm 5, RFC 1321.
+``SHA1``
+  US Secure Hash Algorithm 1, RFC 3174.
+``SHA224``
+  US Secure Hash Algorithms, RFC 4634.
+``SHA256``
+  US Secure Hash Algorithms, RFC 4634.
+``SHA384``
+  US Secure Hash Algorithms, RFC 4634.
+``SHA512``
+  US Secure Hash Algorithms, RFC 4634.
+``SHA3_224``
+  Keccak SHA-3.
+``SHA3_256``
+  Keccak SHA-3.
+``SHA3_384``
+  Keccak SHA-3.
+``SHA3_512``
+  Keccak SHA-3.
+
+Generation
+^^^^^^^^^^
+
+ASCII
+"""""
+
+::
+
+  string(ASCII <number> [<number> ...] <output variable>)
+
+Convert all numbers into corresponding ASCII characters.
+
+CONFIGURE
+"""""""""
+
+::
+
+  string(CONFIGURE <string1> <output variable>
+         [@ONLY] [ESCAPE_QUOTES])
+
+Transform a string like :command:`configure_file` transforms a file.
+
+RANDOM
+""""""
+
+::
+
+  string(RANDOM [LENGTH <length>] [ALPHABET <alphabet>]
+         [RANDOM_SEED <seed>] <output variable>)
+
+Return a random string of given length consisting of
+characters from the given alphabet.  Default length is 5 characters
+and default alphabet is all numbers and upper and lower case letters.
+If an integer ``RANDOM_SEED`` is given, its value will be used to seed the
+random number generator.
+
+TIMESTAMP
+"""""""""
+
+::
+
+  string(TIMESTAMP <output variable> [<format string>] [UTC])
+
+Write a string representation of the current date
+and/or time to the output variable.
+
+Should the command be unable to obtain a timestamp the output variable
+will be set to the empty string "".
+
+The optional ``UTC`` flag requests the current date/time representation to
+be in Coordinated Universal Time (UTC) rather than local time.
+
+The optional ``<format string>`` may contain the following format
+specifiers:
+
+::
+
+   %%        A literal percent sign (%).
+   %d        The day of the current month (01-31).
+   %H        The hour on a 24-hour clock (00-23).
+   %I        The hour on a 12-hour clock (01-12).
+   %j        The day of the current year (001-366).
+   %m        The month of the current year (01-12).
+   %b        Abbreviated month name (e.g. Oct).
+   %B        Full month name (e.g. October).
+   %M        The minute of the current hour (00-59).
+   %s        Seconds since midnight (UTC) 1-Jan-1970 (UNIX time).
+   %S        The second of the current minute.
+             60 represents a leap second. (00-60)
+   %U        The week number of the current year (00-53).
+   %w        The day of the current week. 0 is Sunday. (0-6)
+   %a        Abbreviated weekday name (e.g. Fri).
+   %A        Full weekday name (e.g. Friday).
+   %y        The last two digits of the current year (00-99)
+   %Y        The current year.
+
+Unknown format specifiers will be ignored and copied to the output
+as-is.
+
+If no explicit ``<format string>`` is given it will default to:
+
+::
+
+   %Y-%m-%dT%H:%M:%S    for local time.
+   %Y-%m-%dT%H:%M:%SZ   for UTC.
+
+
+::
+
+  string(MAKE_C_IDENTIFIER <input string> <output variable>)
+
+Write a string which can be used as an identifier in C.
+
+.. note::
+
+  If the ``SOURCE_DATE_EPOCH`` environment variable is set,
+  its value will be used instead of the current time.
+  See https://reproducible-builds.org/specs/source-date-epoch/ for details.
+
+UUID
+""""
+
+::
+
+  string(UUID <output variable> NAMESPACE <namespace> NAME <name>
+         TYPE <MD5|SHA1> [UPPER])
+
+Create a univerally unique identifier (aka GUID) as per RFC4122
+based on the hash of the combined values of ``<namespace>``
+(which itself has to be a valid UUID) and ``<name>``.
+The hash algorithm can be either ``MD5`` (Version 3 UUID) or
+``SHA1`` (Version 5 UUID).
+A UUID has the format ``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx``
+where each `x` represents a lower case hexadecimal character.
+Where required an uppercase representation can be requested
+with the optional ``UPPER`` flag.
diff --git a/share/cmake-3.6/Help/command/subdir_depends.rst b/share/cmake-3.10/Help/command/subdir_depends.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/subdir_depends.rst
rename to share/cmake-3.10/Help/command/subdir_depends.rst
diff --git a/share/cmake-3.6/Help/command/subdirs.rst b/share/cmake-3.10/Help/command/subdirs.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/subdirs.rst
rename to share/cmake-3.10/Help/command/subdirs.rst
diff --git a/share/cmake-3.6/Help/command/target_compile_definitions.rst b/share/cmake-3.10/Help/command/target_compile_definitions.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/target_compile_definitions.rst
rename to share/cmake-3.10/Help/command/target_compile_definitions.rst
diff --git a/share/cmake-3.6/Help/command/target_compile_features.rst b/share/cmake-3.10/Help/command/target_compile_features.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/target_compile_features.rst
rename to share/cmake-3.10/Help/command/target_compile_features.rst
diff --git a/share/cmake-3.6/Help/command/target_compile_options.rst b/share/cmake-3.10/Help/command/target_compile_options.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/target_compile_options.rst
rename to share/cmake-3.10/Help/command/target_compile_options.rst
diff --git a/share/cmake-3.6/Help/command/target_include_directories.rst b/share/cmake-3.10/Help/command/target_include_directories.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/target_include_directories.rst
rename to share/cmake-3.10/Help/command/target_include_directories.rst
diff --git a/share/cmake-3.10/Help/command/target_link_libraries.rst b/share/cmake-3.10/Help/command/target_link_libraries.rst
new file mode 100644
index 0000000..30d69f2
--- /dev/null
+++ b/share/cmake-3.10/Help/command/target_link_libraries.rst
@@ -0,0 +1,215 @@
+target_link_libraries
+---------------------
+
+.. only:: html
+
+   .. contents::
+
+Specify libraries or flags to use when linking a given target and/or
+its dependents.  :ref:`Usage requirements <Target Usage Requirements>`
+from linked library targets will be propagated.  Usage requirements
+of a target's dependencies affect compilation of its own sources.
+
+Overview
+^^^^^^^^
+
+This command has several signatures as detailed in subsections below.
+All of them have the general form::
+
+  target_link_libraries(<target> ... <item>... ...)
+
+The named ``<target>`` must have been created in the current directory by
+a command such as :command:`add_executable` or :command:`add_library`.
+Repeated calls for the same ``<target>`` append items in the order called.
+Each ``<item>`` may be:
+
+* **A library target name**: The generated link line will have the
+  full path to the linkable library file associated with the target.
+  The buildsystem will have a dependency to re-link ``<target>`` if
+  the library file changes.
+
+  The named target must be created by :command:`add_library` within
+  the project or as an :ref:`IMPORTED library <Imported Targets>`.
+  If it is created within the project an ordering dependency will
+  automatically be added in the build system to make sure the named
+  library target is up-to-date before the ``<target>`` links.
+
+  If an imported library has the :prop_tgt:`IMPORTED_NO_SONAME`
+  target property set, CMake may ask the linker to search for
+  the library instead of using the full path
+  (e.g. ``/usr/lib/libfoo.so`` becomes ``-lfoo``).
+
+* **A full path to a library file**: The generated link line will
+  normally preserve the full path to the file. The buildsystem will
+  have a dependency to re-link ``<target>`` if the library file changes.
+
+  There are some cases where CMake may ask the linker to search for
+  the library (e.g. ``/usr/lib/libfoo.so`` becomes ``-lfoo``), such
+  as when a shared library is detected to have no ``SONAME`` field.
+  See policy :policy:`CMP0060` for discussion of another case.
+
+  If the library file is in a Mac OSX framework, the ``Headers`` directory
+  of the framework will also be processed as a
+  :ref:`usage requirement <Target Usage Requirements>`.  This has the same
+  effect as passing the framework directory as an include directory.
+
+  On :ref:`Visual Studio Generators` for VS 2010 and above, library files
+  ending in ``.targets`` will be treated as MSBuild targets files and
+  imported into generated project files.  This is not supported by other
+  generators.
+
+* **A plain library name**: The generated link line will ask the linker
+  to search for the library (e.g. ``foo`` becomes ``-lfoo`` or ``foo.lib``).
+
+* **A link flag**: Item names starting with ``-``, but not ``-l`` or
+  ``-framework``, are treated as linker flags.  Note that such flags will
+  be treated like any other library link item for purposes of transitive
+  dependencies, so they are generally safe to specify only as private link
+  items that will not propagate to dependents.
+
+  Link flags specified here are inserted into the link command in the same
+  place as the link libraries. This might not be correct, depending on
+  the linker. Use the :prop_tgt:`LINK_FLAGS` target property to add link
+  flags explicitly. The flags will then be placed at the toolchain-defined
+  flag position in the link command.
+
+* A ``debug``, ``optimized``, or ``general`` keyword immediately followed
+  by another ``<item>``.  The item following such a keyword will be used
+  only for the corresponding build configuration.  The ``debug`` keyword
+  corresponds to the ``Debug`` configuration (or to configurations named
+  in the :prop_gbl:`DEBUG_CONFIGURATIONS` global property if it is set).
+  The ``optimized`` keyword corresponds to all other configurations.  The
+  ``general`` keyword corresponds to all configurations, and is purely
+  optional.  Higher granularity may be achieved for per-configuration
+  rules by creating and linking to
+  :ref:`IMPORTED library targets <Imported Targets>`.
+
+Items containing ``::``, such as ``Foo::Bar``, are assumed to be
+:ref:`IMPORTED <Imported Targets>` or :ref:`ALIAS <Alias Targets>` library
+target names and will cause an error if no such target exists.
+See policy :policy:`CMP0028`.
+
+Arguments to ``target_link_libraries`` may use "generator expressions"
+with the syntax ``$<...>``.  Note however, that generator expressions
+will not be used in OLD handling of :policy:`CMP0003` or :policy:`CMP0004`.
+See the :manual:`cmake-generator-expressions(7)` manual for available
+expressions.  See the :manual:`cmake-buildsystem(7)` manual for more on
+defining buildsystem properties.
+
+Libraries for a Target and/or its Dependents
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  target_link_libraries(<target>
+                        <PRIVATE|PUBLIC|INTERFACE> <item>...
+                       [<PRIVATE|PUBLIC|INTERFACE> <item>...]...)
+
+The ``PUBLIC``, ``PRIVATE`` and ``INTERFACE`` keywords can be used to
+specify both the link dependencies and the link interface in one command.
+Libraries and targets following ``PUBLIC`` are linked to, and are made
+part of the link interface.  Libraries and targets following ``PRIVATE``
+are linked to, but are not made part of the link interface.  Libraries
+following ``INTERFACE`` are appended to the link interface and are not
+used for linking ``<target>``.
+
+Libraries for both a Target and its Dependents
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  target_link_libraries(<target> <item>...)
+
+Library dependencies are transitive by default with this signature.
+When this target is linked into another target then the libraries
+linked to this target will appear on the link line for the other
+target too.  This transitive "link interface" is stored in the
+:prop_tgt:`INTERFACE_LINK_LIBRARIES` target property and may be overridden
+by setting the property directly.  When :policy:`CMP0022` is not set to
+``NEW``, transitive linking is built in but may be overridden by the
+:prop_tgt:`LINK_INTERFACE_LIBRARIES` property.  Calls to other signatures
+of this command may set the property making any libraries linked
+exclusively by this signature private.
+
+Libraries for a Target and/or its Dependents (Legacy)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  target_link_libraries(<target>
+                        <LINK_PRIVATE|LINK_PUBLIC> <lib>...
+                       [<LINK_PRIVATE|LINK_PUBLIC> <lib>...]...)
+
+The ``LINK_PUBLIC`` and ``LINK_PRIVATE`` modes can be used to specify both
+the link dependencies and the link interface in one command.
+
+This signature is for compatibility only.  Prefer the ``PUBLIC`` or
+``PRIVATE`` keywords instead.
+
+Libraries and targets following ``LINK_PUBLIC`` are linked to, and are
+made part of the :prop_tgt:`INTERFACE_LINK_LIBRARIES`.  If policy
+:policy:`CMP0022` is not ``NEW``, they are also made part of the
+:prop_tgt:`LINK_INTERFACE_LIBRARIES`.  Libraries and targets following
+``LINK_PRIVATE`` are linked to, but are not made part of the
+:prop_tgt:`INTERFACE_LINK_LIBRARIES` (or :prop_tgt:`LINK_INTERFACE_LIBRARIES`).
+
+Libraries for Dependents Only (Legacy)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  target_link_libraries(<target> LINK_INTERFACE_LIBRARIES <item>...)
+
+The ``LINK_INTERFACE_LIBRARIES`` mode appends the libraries to the
+:prop_tgt:`INTERFACE_LINK_LIBRARIES` target property instead of using them
+for linking.  If policy :policy:`CMP0022` is not ``NEW``, then this mode
+also appends libraries to the :prop_tgt:`LINK_INTERFACE_LIBRARIES` and its
+per-configuration equivalent.
+
+This signature is for compatibility only.  Prefer the ``INTERFACE`` mode
+instead.
+
+Libraries specified as ``debug`` are wrapped in a generator expression to
+correspond to debug builds.  If policy :policy:`CMP0022` is
+not ``NEW``, the libraries are also appended to the
+:prop_tgt:`LINK_INTERFACE_LIBRARIES_DEBUG <LINK_INTERFACE_LIBRARIES_<CONFIG>>`
+property (or to the properties corresponding to configurations listed in
+the :prop_gbl:`DEBUG_CONFIGURATIONS` global property if it is set).
+Libraries specified as ``optimized`` are appended to the
+:prop_tgt:`INTERFACE_LINK_LIBRARIES` property.  If policy :policy:`CMP0022`
+is not ``NEW``, they are also appended to the
+:prop_tgt:`LINK_INTERFACE_LIBRARIES` property.  Libraries specified as
+``general`` (or without any keyword) are treated as if specified for both
+``debug`` and ``optimized``.
+
+Cyclic Dependencies of Static Libraries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The library dependency graph is normally acyclic (a DAG), but in the case
+of mutually-dependent ``STATIC`` libraries CMake allows the graph to
+contain cycles (strongly connected components).  When another target links
+to one of the libraries, CMake repeats the entire connected component.
+For example, the code
+
+.. code-block:: cmake
+
+  add_library(A STATIC a.c)
+  add_library(B STATIC b.c)
+  target_link_libraries(A B)
+  target_link_libraries(B A)
+  add_executable(main main.c)
+  target_link_libraries(main A)
+
+links ``main`` to ``A B A B``.  While one repetition is usually
+sufficient, pathological object file and symbol arrangements can require
+more.  One may handle such cases by using the
+:prop_tgt:`LINK_INTERFACE_MULTIPLICITY` target property or by manually
+repeating the component in the last ``target_link_libraries`` call.
+However, if two archives are really so interdependent they should probably
+be combined into a single archive, perhaps by using :ref:`Object Libraries`.
+
+Creating Relocatable Packages
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. |INTERFACE_PROPERTY_LINK| replace:: :prop_tgt:`INTERFACE_LINK_LIBRARIES`
+.. include:: /include/INTERFACE_LINK_LIBRARIES_WARNING.txt
diff --git a/share/cmake-3.6/Help/command/target_sources.rst b/share/cmake-3.10/Help/command/target_sources.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/target_sources.rst
rename to share/cmake-3.10/Help/command/target_sources.rst
diff --git a/share/cmake-3.10/Help/command/try_compile.rst b/share/cmake-3.10/Help/command/try_compile.rst
new file mode 100644
index 0000000..66ea3d7
--- /dev/null
+++ b/share/cmake-3.10/Help/command/try_compile.rst
@@ -0,0 +1,155 @@
+try_compile
+-----------
+
+.. only:: html
+
+   .. contents::
+
+Try building some code.
+
+Try Compiling Whole Projects
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  try_compile(RESULT_VAR <bindir> <srcdir>
+              <projectName> [<targetName>] [CMAKE_FLAGS <flags>...]
+              [OUTPUT_VARIABLE <var>])
+
+Try building a project.  The success or failure of the ``try_compile``,
+i.e. ``TRUE`` or ``FALSE`` respectively, is returned in ``RESULT_VAR``.
+
+In this form, ``<srcdir>`` should contain a complete CMake project with a
+``CMakeLists.txt`` file and all sources.  The ``<bindir>`` and ``<srcdir>``
+will not be deleted after this command is run.  Specify ``<targetName>`` to
+build a specific target instead of the ``all`` or ``ALL_BUILD`` target.  See
+below for the meaning of other options.
+
+Try Compiling Source Files
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  try_compile(RESULT_VAR <bindir> <srcfile|SOURCES srcfile...>
+              [CMAKE_FLAGS <flags>...]
+              [COMPILE_DEFINITIONS <defs>...]
+              [LINK_LIBRARIES <libs>...]
+              [OUTPUT_VARIABLE <var>]
+              [COPY_FILE <fileName> [COPY_FILE_ERROR <var>]]
+              [<LANG>_STANDARD <std>]
+              [<LANG>_STANDARD_REQUIRED <bool>]
+              [<LANG>_EXTENSIONS <bool>]
+              )
+
+Try building an executable from one or more source files.  The success or
+failure of the ``try_compile``, i.e. ``TRUE`` or ``FALSE`` respectively, is
+returned in ``RESULT_VAR``.
+
+In this form the user need only supply one or more source files that include a
+definition for ``main``.  CMake will create a ``CMakeLists.txt`` file to build
+the source(s) as an executable that looks something like this::
+
+  add_definitions(<expanded COMPILE_DEFINITIONS from caller>)
+  include_directories(${INCLUDE_DIRECTORIES})
+  link_directories(${LINK_DIRECTORIES})
+  add_executable(cmTryCompileExec <srcfile>...)
+  target_link_libraries(cmTryCompileExec ${LINK_LIBRARIES})
+
+The options are:
+
+``CMAKE_FLAGS <flags>...``
+  Specify flags of the form ``-DVAR:TYPE=VALUE`` to be passed to
+  the ``cmake`` command-line used to drive the test build.
+  The above example shows how values for variables
+  ``INCLUDE_DIRECTORIES``, ``LINK_DIRECTORIES``, and ``LINK_LIBRARIES``
+  are used.
+
+``COMPILE_DEFINITIONS <defs>...``
+  Specify ``-Ddefinition`` arguments to pass to ``add_definitions``
+  in the generated test project.
+
+``COPY_FILE <fileName>``
+  Copy the linked executable to the given ``<fileName>``.
+
+``COPY_FILE_ERROR <var>``
+  Use after ``COPY_FILE`` to capture into variable ``<var>`` any error
+  message encountered while trying to copy the file.
+
+``LINK_LIBRARIES <libs>...``
+  Specify libraries to be linked in the generated project.
+  The list of libraries may refer to system libraries and to
+  :ref:`Imported Targets <Imported Targets>` from the calling project.
+
+  If this option is specified, any ``-DLINK_LIBRARIES=...`` value
+  given to the ``CMAKE_FLAGS`` option will be ignored.
+
+``OUTPUT_VARIABLE <var>``
+  Store the output from the build process the given variable.
+
+``<LANG>_STANDARD <std>``
+  Specify the :prop_tgt:`C_STANDARD`, :prop_tgt:`CXX_STANDARD`,
+  or :prop_tgt:`CUDA_STANDARD` target property of the generated project.
+
+``<LANG>_STANDARD_REQUIRED <bool>``
+  Specify the :prop_tgt:`C_STANDARD_REQUIRED`,
+  :prop_tgt:`CXX_STANDARD_REQUIRED`, or :prop_tgt:`CUDA_STANDARD_REQUIRED`
+  target property of the generated project.
+
+``<LANG>_EXTENSIONS <bool>``
+  Specify the :prop_tgt:`C_EXTENSIONS`, :prop_tgt:`CXX_EXTENSIONS`,
+  or :prop_tgt:`CUDA_EXTENSIONS` target property of the generated project.
+
+In this version all files in ``<bindir>/CMakeFiles/CMakeTmp`` will be
+cleaned automatically.  For debugging, ``--debug-trycompile`` can be
+passed to ``cmake`` to avoid this clean.  However, multiple sequential
+``try_compile`` operations reuse this single output directory.  If you use
+``--debug-trycompile``, you can only debug one ``try_compile`` call at a time.
+The recommended procedure is to protect all ``try_compile`` calls in your
+project by ``if(NOT DEFINED RESULT_VAR)`` logic, configure with cmake
+all the way through once, then delete the cache entry associated with
+the try_compile call of interest, and then re-run cmake again with
+``--debug-trycompile``.
+
+Other Behavior Settings
+^^^^^^^^^^^^^^^^^^^^^^^
+
+If set, the following variables are passed in to the generated
+try_compile CMakeLists.txt to initialize compile target properties with
+default values:
+
+* :variable:`CMAKE_ENABLE_EXPORTS`
+* :variable:`CMAKE_LINK_SEARCH_START_STATIC`
+* :variable:`CMAKE_LINK_SEARCH_END_STATIC`
+* :variable:`CMAKE_POSITION_INDEPENDENT_CODE`
+
+If :policy:`CMP0056` is set to ``NEW``, then
+:variable:`CMAKE_EXE_LINKER_FLAGS` is passed in as well.
+
+The current setting of :policy:`CMP0065` is set in the generated project.
+
+Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
+a build configuration.
+
+Set the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable to specify
+the type of target used for the source file signature.
+
+Set the :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify
+variables that must be propagated into the test project.  This variable is
+meant for use only in toolchain files.
+
+If :policy:`CMP0067` is set to ``NEW``, or any of the ``<LANG>_STANDARD``,
+``<LANG>_STANDARD_REQUIRED``, or ``<LANG>_EXTENSIONS`` options are used,
+then the language standard variables are honored:
+
+* :variable:`CMAKE_C_STANDARD`
+* :variable:`CMAKE_C_STANDARD_REQUIRED`
+* :variable:`CMAKE_C_EXTENSIONS`
+* :variable:`CMAKE_CXX_STANDARD`
+* :variable:`CMAKE_CXX_STANDARD_REQUIRED`
+* :variable:`CMAKE_CXX_EXTENSIONS`
+* :variable:`CMAKE_CUDA_STANDARD`
+* :variable:`CMAKE_CUDA_STANDARD_REQUIRED`
+* :variable:`CMAKE_CUDA_EXTENSIONS`
+
+Their values are used to set the corresponding target properties in
+the generated project (unless overridden by an explicit option).
diff --git a/share/cmake-3.6/Help/command/try_run.rst b/share/cmake-3.10/Help/command/try_run.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/try_run.rst
rename to share/cmake-3.10/Help/command/try_run.rst
diff --git a/share/cmake-3.6/Help/command/unset.rst b/share/cmake-3.10/Help/command/unset.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/unset.rst
rename to share/cmake-3.10/Help/command/unset.rst
diff --git a/share/cmake-3.6/Help/command/use_mangled_mesa.rst b/share/cmake-3.10/Help/command/use_mangled_mesa.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/use_mangled_mesa.rst
rename to share/cmake-3.10/Help/command/use_mangled_mesa.rst
diff --git a/share/cmake-3.6/Help/command/utility_source.rst b/share/cmake-3.10/Help/command/utility_source.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/utility_source.rst
rename to share/cmake-3.10/Help/command/utility_source.rst
diff --git a/share/cmake-3.6/Help/command/variable_requires.rst b/share/cmake-3.10/Help/command/variable_requires.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/variable_requires.rst
rename to share/cmake-3.10/Help/command/variable_requires.rst
diff --git a/share/cmake-3.6/Help/command/variable_watch.rst b/share/cmake-3.10/Help/command/variable_watch.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/variable_watch.rst
rename to share/cmake-3.10/Help/command/variable_watch.rst
diff --git a/share/cmake-3.6/Help/command/while.rst b/share/cmake-3.10/Help/command/while.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/while.rst
rename to share/cmake-3.10/Help/command/while.rst
diff --git a/share/cmake-3.6/Help/command/write_file.rst b/share/cmake-3.10/Help/command/write_file.rst
similarity index 100%
rename from share/cmake-3.6/Help/command/write_file.rst
rename to share/cmake-3.10/Help/command/write_file.rst
diff --git a/share/cmake-3.10/Help/envvar/ASM_DIALECT.rst b/share/cmake-3.10/Help/envvar/ASM_DIALECT.rst
new file mode 100644
index 0000000..ec48f71
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/ASM_DIALECT.rst
@@ -0,0 +1,11 @@
+ASM<DIALECT>
+------------
+
+Preferred executable for compiling a specific dialect of assembly language
+files. ``ASM<DIALECT>`` can be ``ASM``, ``ASM_NASM``, ``ASM_MASM`` or
+``ASM-ATT``. Will only be used by CMake on the first configuration to determine
+``ASM<DIALECT>`` compiler, after which the value for ``ASM<DIALECT>`` is stored
+in the cache as
+:variable:`CMAKE_ASM<DIALECT>_COMPILER <CMAKE_<LANG>_COMPILER>`. For subsequent
+configuration runs, the environment variable will be ignored in favor of
+:variable:`CMAKE_ASM<DIALECT>_COMPILER <CMAKE_<LANG>_COMPILER>`.
diff --git a/share/cmake-3.10/Help/envvar/ASM_DIALECTFLAGS.rst b/share/cmake-3.10/Help/envvar/ASM_DIALECTFLAGS.rst
new file mode 100644
index 0000000..4ed02fe
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/ASM_DIALECTFLAGS.rst
@@ -0,0 +1,11 @@
+ASM<DIALECT>FLAGS
+-----------------
+
+Default compilation flags to be used when compiling a specific dialect of an
+assembly language. ``ASM<DIALECT>FLAGS`` can be ``ASMFLAGS``, ``ASM_NASMFLAGS``,
+``ASM_MASMFLAGS`` or ``ASM-ATTFLAGS``. Will only be used by CMake on the
+first configuration to determine ``ASM<DIALECT>`` default compilation flags, after
+which the value for ``ASM<DIALECT>FLAGS`` is stored in the cache as
+:variable:`CMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS>`. For any configuration
+run (including the first), the environment variable will be ignored if the
+:variable:`CMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CC.rst b/share/cmake-3.10/Help/envvar/CC.rst
new file mode 100644
index 0000000..7e68110
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CC.rst
@@ -0,0 +1,9 @@
+CC
+--
+
+Preferred executable for compiling ``C`` language files. Will only be used by
+CMake on the first configuration to determine ``C`` compiler, after which the
+value for ``CC`` is stored in the cache as
+:variable:`CMAKE_C_COMPILER <CMAKE_<LANG>_COMPILER>`. For any configuration run
+(including the first), the environment variable will be ignored if the
+:variable:`CMAKE_C_COMPILER <CMAKE_<LANG>_COMPILER>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CFLAGS.rst b/share/cmake-3.10/Help/envvar/CFLAGS.rst
new file mode 100644
index 0000000..60b2cd3
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CFLAGS.rst
@@ -0,0 +1,9 @@
+CFLAGS
+------
+
+Default compilation flags to be used when compiling ``C`` files. Will only be
+used by CMake on the first configuration to determine ``CC`` default compilation
+flags, after which the value for ``CFLAGS`` is stored in the cache
+as :variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>`. For any configuration run
+(including the first), the environment variable will be ignored if the
+:variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CMAKE_CONFIG_TYPE.rst b/share/cmake-3.10/Help/envvar/CMAKE_CONFIG_TYPE.rst
new file mode 100644
index 0000000..1306b47
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CMAKE_CONFIG_TYPE.rst
@@ -0,0 +1,5 @@
+CMAKE_CONFIG_TYPE
+-----------------
+
+The default build configuration for :ref:`Build Tool Mode` and
+``ctest`` build handler when there is no explicit configuration given.
diff --git a/share/cmake-3.10/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst b/share/cmake-3.10/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
new file mode 100644
index 0000000..54d5f9e
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
@@ -0,0 +1,8 @@
+CMAKE_MSVCIDE_RUN_PATH
+----------------------
+
+Extra PATH locations for custom commands when using
+:generator:`Visual Studio 9 2008` (or above) generators.
+
+The ``CMAKE_MSVCIDE_RUN_PATH`` environment variable sets the default value for
+the :variable:`CMAKE_MSVCIDE_RUN_PATH` variable if not already explicitly set.
diff --git a/share/cmake-3.10/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst b/share/cmake-3.10/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst
new file mode 100644
index 0000000..8bbf993
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst
@@ -0,0 +1,8 @@
+CMAKE_OSX_ARCHITECTURES
+-----------------------
+
+Target specific architectures for OS X.
+
+The ``CMAKE_OSX_ARCHITECTURES`` environment variable sets the default value for
+the :variable:`CMAKE_OSX_ARCHITECTURES` variable. See
+:prop_tgt:`OSX_ARCHITECTURES` for more information.
diff --git a/share/cmake-3.10/Help/envvar/CSFLAGS.rst b/share/cmake-3.10/Help/envvar/CSFLAGS.rst
new file mode 100644
index 0000000..251ddc5
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CSFLAGS.rst
@@ -0,0 +1,9 @@
+CSFLAGS
+-------
+
+Preferred executable for compiling ``CSharp`` language files. Will only be
+used by CMake on the first configuration to determine ``CSharp`` default
+compilation flags, after which the value for ``CSFLAGS`` is stored in the cache
+as :variable:`CMAKE_CSharp_FLAGS <CMAKE_<LANG>_FLAGS>`. For any configuration
+run (including the first), the environment variable will be ignored if the
+:variable:`CMAKE_CSharp_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst b/share/cmake-3.10/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst
new file mode 100644
index 0000000..25ed14f
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst
@@ -0,0 +1,5 @@
+CTEST_INTERACTIVE_DEBUG_MODE
+----------------------------
+
+Environment variable that will exist and be set to ``1`` when a test executed
+by CTest is run in interactive mode.
diff --git a/share/cmake-3.10/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst b/share/cmake-3.10/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst
new file mode 100644
index 0000000..1fcf42b
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst
@@ -0,0 +1,7 @@
+CTEST_OUTPUT_ON_FAILURE
+-----------------------
+
+Boolean environment variable that controls if the output should be logged for
+failed tests. Set the value to 1, True, or ON to enable output on failure.
+See :manual:`ctest(1)` for more information on controlling output of failed
+tests.
diff --git a/share/cmake-3.10/Help/envvar/CTEST_PARALLEL_LEVEL.rst b/share/cmake-3.10/Help/envvar/CTEST_PARALLEL_LEVEL.rst
new file mode 100644
index 0000000..c767a01
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CTEST_PARALLEL_LEVEL.rst
@@ -0,0 +1,5 @@
+CTEST_PARALLEL_LEVEL
+--------------------
+
+Specify the number of tests for CTest to run in parallel. See :manual:`ctest(1)`
+for more information on parallel test execution.
diff --git a/share/cmake-3.10/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst b/share/cmake-3.10/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst
new file mode 100644
index 0000000..8d8eea5
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst
@@ -0,0 +1,4 @@
+CTEST_USE_LAUNCHERS_DEFAULT
+---------------------------
+
+Initializes the :variable:`CTEST_USE_LAUNCHERS` variable if not already defined.
diff --git a/share/cmake-3.10/Help/envvar/CUDACXX.rst b/share/cmake-3.10/Help/envvar/CUDACXX.rst
new file mode 100644
index 0000000..8a5fd4b
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CUDACXX.rst
@@ -0,0 +1,9 @@
+CUDACXX
+-------
+
+Preferred executable for compiling ``CUDA`` language files. Will only be used by
+CMake on the first configuration to determine ``CUDA`` compiler, after which the
+value for ``CUDA`` is stored in the cache as
+:variable:`CMAKE_CUDA_COMPILER <CMAKE_<LANG>_COMPILER>`. For any configuration
+run (including the first), the environment variable will be ignored if the
+:variable:`CMAKE_CUDA_COMPILER <CMAKE_<LANG>_COMPILER>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CUDAFLAGS.rst b/share/cmake-3.10/Help/envvar/CUDAFLAGS.rst
new file mode 100644
index 0000000..3dff49f
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CUDAFLAGS.rst
@@ -0,0 +1,9 @@
+CUDAFLAGS
+---------
+
+Default compilation flags to be used when compiling ``CUDA`` files. Will only be
+used by CMake on the first configuration to determine ``CUDA`` default
+compilation flags, after which the value for ``CUDAFLAGS`` is stored in the
+cache as :variable:`CMAKE_CUDA_FLAGS <CMAKE_<LANG>_FLAGS>`. For any configuration
+run (including the first), the environment variable will be ignored if
+the :variable:`CMAKE_CUDA_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CUDAHOSTCXX.rst b/share/cmake-3.10/Help/envvar/CUDAHOSTCXX.rst
new file mode 100644
index 0000000..f0f94f6
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CUDAHOSTCXX.rst
@@ -0,0 +1,9 @@
+CUDAHOSTCXX
+-----------
+
+Preferred executable for compiling host code when compiling ``CUDA``
+language files. Will only be used by CMake on the first configuration to
+determine ``CUDA`` host compiler, after which the value for ``CUDAHOSTCXX`` is
+stored in the cache as :variable:`CMAKE_CUDA_HOST_COMPILER`. For any
+configuration run (including the first), the environment variable will be
+ignored if the :variable:`CMAKE_CUDA_HOST_COMPILER` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CXX.rst b/share/cmake-3.10/Help/envvar/CXX.rst
new file mode 100644
index 0000000..3b1e445
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CXX.rst
@@ -0,0 +1,9 @@
+CXX
+---
+
+Preferred executable for compiling ``CXX`` language files. Will only be used by
+CMake on the first configuration to determine ``CXX`` compiler, after which the
+value for ``CXX`` is stored in the cache as
+:variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>`. For any configuration
+run (including the first), the environment variable will be ignored if the
+:variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/CXXFLAGS.rst b/share/cmake-3.10/Help/envvar/CXXFLAGS.rst
new file mode 100644
index 0000000..8b58abd
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/CXXFLAGS.rst
@@ -0,0 +1,9 @@
+CXXFLAGS
+--------
+
+Default compilation flags to be used when compiling ``CXX`` (C++) files. Will
+only be used by CMake on the first configuration to determine ``CXX`` default
+compilation flags, after which the value for ``CXXFLAGS`` is stored in the cache
+as :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>`. For any configuration run (
+including the first), the environment variable will be ignored if
+the :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst b/share/cmake-3.10/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst
new file mode 100644
index 0000000..fab1c0c
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst
@@ -0,0 +1,5 @@
+DASHBOARD_TEST_FROM_CTEST
+-------------------------
+
+Environment variable that will exist when a test executed by CTest is run
+in non-interactive mode. The value will be equal to :variable:`CMAKE_VERSION`.
diff --git a/share/cmake-3.10/Help/envvar/FC.rst b/share/cmake-3.10/Help/envvar/FC.rst
new file mode 100644
index 0000000..7d293fd
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/FC.rst
@@ -0,0 +1,10 @@
+FC
+--
+
+Preferred executable for compiling ``Fortran`` language files. Will only be used
+by CMake on the first configuration to determine ``Fortran`` compiler, after
+which the value for ``Fortran`` is stored in the cache as
+:variable:`CMAKE_Fortran_COMPILER <CMAKE_<LANG>_COMPILER>`. For any
+configuration run (including the first), the environment variable will be
+ignored if the :variable:`CMAKE_Fortran_COMPILER <CMAKE_<LANG>_COMPILER>`
+variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/FFLAGS.rst b/share/cmake-3.10/Help/envvar/FFLAGS.rst
new file mode 100644
index 0000000..19d6169
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/FFLAGS.rst
@@ -0,0 +1,9 @@
+FFLAGS
+------
+
+Default compilation flags to be used when compiling ``Fortran`` files. Will only
+be used by CMake on the first configuration to determine ``Fortran`` default
+compilation flags, after which the value for ``FFLAGS`` is stored in the cache
+as :variable:`CMAKE_Fortran_FLAGS <CMAKE_<LANG>_FLAGS>`. For any configuration
+run (including the first), the environment variable will be ignored if
+the :variable:`CMAKE_Fortran_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/LDFLAGS.rst b/share/cmake-3.10/Help/envvar/LDFLAGS.rst
new file mode 100644
index 0000000..52da99c
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/LDFLAGS.rst
@@ -0,0 +1,10 @@
+LDFLAGS
+-------
+
+Will only be used by CMake on the first configuration to determine the default
+linker flags, after which the value for ``LDFLAGS`` is stored in the cache
+as :variable:`CMAKE_EXE_LINKER_FLAGS_INIT`,
+:variable:`CMAKE_SHARED_LINKER_FLAGS_INIT`, and
+:variable:`CMAKE_MODULE_LINKER_FLAGS_INIT`. For any configuration run
+(including the first), the environment variable will be ignored if the
+equivalent  ``CMAKE_<TYPE>_LINKER_FLAGS_INIT`` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst b/share/cmake-3.10/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst
new file mode 100644
index 0000000..e6051b4
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst
@@ -0,0 +1,8 @@
+MACOSX_DEPLOYMENT_TARGET
+------------------------
+
+Specify the minimum version of OS X on which the target binaries are
+to be deployed.
+
+The ``MACOSX_DEPLOYMENT_TARGET`` environment variable sets the default value for
+the :variable:`CMAKE_OSX_DEPLOYMENT_TARGET` variable.
diff --git a/share/cmake-3.10/Help/envvar/RC.rst b/share/cmake-3.10/Help/envvar/RC.rst
new file mode 100644
index 0000000..6c2db19
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/RC.rst
@@ -0,0 +1,9 @@
+RC
+--
+
+Preferred executable for compiling ``resource`` files. Will only be used by CMake
+on the first configuration to determine ``resource`` compiler, after which the
+value for ``RC`` is stored in the cache as
+:variable:`CMAKE_RC_COMPILER <CMAKE_<LANG>_COMPILER>`. For any configuration run
+(including the first), the environment variable will be ignored if the
+:variable:`CMAKE_RC_COMPILER <CMAKE_<LANG>_COMPILER>` variable is defined.
diff --git a/share/cmake-3.10/Help/envvar/RCFLAGS.rst b/share/cmake-3.10/Help/envvar/RCFLAGS.rst
new file mode 100644
index 0000000..4f2f31c
--- /dev/null
+++ b/share/cmake-3.10/Help/envvar/RCFLAGS.rst
@@ -0,0 +1,9 @@
+RCFLAGS
+-------
+
+Default compilation flags to be used when compiling ``resource`` files. Will
+only be used by CMake on the first configuration to determine ``resource``
+default compilation flags, after which the value for ``RCFLAGS`` is stored in
+the cache as :variable:`CMAKE_RC_FLAGS <CMAKE_<LANG>_FLAGS>`. For any
+configuration run (including the first), the environment variable will be ignored
+if the :variable:`CMAKE_RC_FLAGS <CMAKE_<LANG>_FLAGS>` variable is defined.
diff --git a/share/cmake-3.6/Help/generator/Borland Makefiles.rst b/share/cmake-3.10/Help/generator/Borland Makefiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Borland Makefiles.rst
rename to share/cmake-3.10/Help/generator/Borland Makefiles.rst
diff --git a/share/cmake-3.10/Help/generator/CodeBlocks.rst b/share/cmake-3.10/Help/generator/CodeBlocks.rst
new file mode 100644
index 0000000..06cc746
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/CodeBlocks.rst
@@ -0,0 +1,32 @@
+CodeBlocks
+----------
+
+Generates CodeBlocks project files.
+
+Project files for CodeBlocks will be created in the top directory and
+in every subdirectory which features a CMakeLists.txt file containing
+a PROJECT() call.  Additionally a hierarchy of makefiles is generated
+into the build tree.
+The :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable may
+be set to ``ON`` to exclude any files which are located outside of
+the project root directory.
+The appropriate make program can build the
+project through the default make target.  A "make install" target is
+also provided.
+
+This "extra" generator may be specified as:
+
+``CodeBlocks - MinGW Makefiles``
+ Generate with :generator:`MinGW Makefiles`.
+
+``CodeBlocks - NMake Makefiles``
+ Generate with :generator:`NMake Makefiles`.
+
+``CodeBlocks - NMake Makefiles JOM``
+ Generate with :generator:`NMake Makefiles JOM`.
+
+``CodeBlocks - Ninja``
+ Generate with :generator:`Ninja`.
+
+``CodeBlocks - Unix Makefiles``
+ Generate with :generator:`Unix Makefiles`.
diff --git a/share/cmake-3.10/Help/generator/CodeLite.rst b/share/cmake-3.10/Help/generator/CodeLite.rst
new file mode 100644
index 0000000..3e60aa6
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/CodeLite.rst
@@ -0,0 +1,28 @@
+CodeLite
+----------
+
+Generates CodeLite project files.
+
+Project files for CodeLite will be created in the top directory and
+in every subdirectory which features a CMakeLists.txt file containing
+a :command:`project` call.
+The :variable:`CMAKE_CODELITE_USE_TARGETS` variable may be set to ``ON``
+to change the default behaviour from projects to targets as the basis
+for project files.
+The appropriate make program can build the
+project through the default make target.  A "make install" target is
+also provided.
+
+This "extra" generator may be specified as:
+
+``CodeLite - MinGW Makefiles``
+ Generate with :generator:`MinGW Makefiles`.
+
+``CodeLite - NMake Makefiles``
+ Generate with :generator:`NMake Makefiles`.
+
+``CodeLite - Ninja``
+ Generate with :generator:`Ninja`.
+
+``CodeLite - Unix Makefiles``
+ Generate with :generator:`Unix Makefiles`.
diff --git a/share/cmake-3.6/Help/generator/Eclipse CDT4.rst b/share/cmake-3.10/Help/generator/Eclipse CDT4.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Eclipse CDT4.rst
rename to share/cmake-3.10/Help/generator/Eclipse CDT4.rst
diff --git a/share/cmake-3.6/Help/generator/Green Hills MULTI.rst b/share/cmake-3.10/Help/generator/Green Hills MULTI.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Green Hills MULTI.rst
rename to share/cmake-3.10/Help/generator/Green Hills MULTI.rst
diff --git a/share/cmake-3.6/Help/generator/KDevelop3.rst b/share/cmake-3.10/Help/generator/KDevelop3.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/KDevelop3.rst
rename to share/cmake-3.10/Help/generator/KDevelop3.rst
diff --git a/share/cmake-3.6/Help/generator/Kate.rst b/share/cmake-3.10/Help/generator/Kate.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Kate.rst
rename to share/cmake-3.10/Help/generator/Kate.rst
diff --git a/share/cmake-3.6/Help/generator/MSYS Makefiles.rst b/share/cmake-3.10/Help/generator/MSYS Makefiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/MSYS Makefiles.rst
rename to share/cmake-3.10/Help/generator/MSYS Makefiles.rst
diff --git a/share/cmake-3.6/Help/generator/MinGW Makefiles.rst b/share/cmake-3.10/Help/generator/MinGW Makefiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/MinGW Makefiles.rst
rename to share/cmake-3.10/Help/generator/MinGW Makefiles.rst
diff --git a/share/cmake-3.6/Help/generator/NMake Makefiles JOM.rst b/share/cmake-3.10/Help/generator/NMake Makefiles JOM.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/NMake Makefiles JOM.rst
rename to share/cmake-3.10/Help/generator/NMake Makefiles JOM.rst
diff --git a/share/cmake-3.6/Help/generator/NMake Makefiles.rst b/share/cmake-3.10/Help/generator/NMake Makefiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/NMake Makefiles.rst
rename to share/cmake-3.10/Help/generator/NMake Makefiles.rst
diff --git a/share/cmake-3.10/Help/generator/Ninja.rst b/share/cmake-3.10/Help/generator/Ninja.rst
new file mode 100644
index 0000000..3bbd9dc
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Ninja.rst
@@ -0,0 +1,33 @@
+Ninja
+-----
+
+Generates build.ninja files.
+
+A build.ninja file is generated into the build tree.  Recent versions
+of the ninja program can build the project through the "all" target.
+An "install" target is also provided.
+
+For each subdirectory ``sub/dir`` of the project, additional targets
+are generated:
+
+``sub/dir/all``
+  Depends on all targets required by the subdirectory.
+
+``sub/dir/install``
+  Runs the install step in the subdirectory, if any.
+
+``sub/dir/test``
+  Runs the test step in the subdirectory, if any.
+
+``sub/dir/package``
+  Runs the package step in the subdirectory, if any.
+
+Fortran Support
+^^^^^^^^^^^^^^^
+
+The ``Ninja`` generator conditionally supports Fortran when the ``ninja``
+tool has the required features.  As of this version of CMake the needed
+features have not been integrated into upstream Ninja.  Kitware maintains
+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
diff --git a/share/cmake-3.6/Help/generator/Sublime Text 2.rst b/share/cmake-3.10/Help/generator/Sublime Text 2.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Sublime Text 2.rst
rename to share/cmake-3.10/Help/generator/Sublime Text 2.rst
diff --git a/share/cmake-3.6/Help/generator/Unix Makefiles.rst b/share/cmake-3.10/Help/generator/Unix Makefiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Unix Makefiles.rst
rename to share/cmake-3.10/Help/generator/Unix Makefiles.rst
diff --git a/share/cmake-3.10/Help/generator/VS_TOOLSET_HOST_ARCH.txt b/share/cmake-3.10/Help/generator/VS_TOOLSET_HOST_ARCH.txt
new file mode 100644
index 0000000..5d13e77
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/VS_TOOLSET_HOST_ARCH.txt
@@ -0,0 +1,6 @@
+For each toolset that comes with this version of Visual Studio, there are
+variants that are themselves compiled for 32-bit (x86) and 64-bit (x64) hosts
+(independent of the architecture they target).  By default Visual Studio
+chooses the 32-bit variant even on a 64-bit host.  One may request use of the
+64-bit host tools by adding a ``host=x64`` option to the toolset specification.
+See the :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 10 2010.rst b/share/cmake-3.10/Help/generator/Visual Studio 10 2010.rst
new file mode 100644
index 0000000..04eef10
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 10 2010.rst
@@ -0,0 +1,26 @@
+Visual Studio 10 2010
+---------------------
+
+Generates Visual Studio 10 (VS 2010) project files.
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
+to specify a target platform name (architecture).
+
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+
+``Visual Studio 10 2010 Win64``
+  Specify target platform ``x64``.
+
+``Visual Studio 10 2010 IA64``
+  Specify target platform ``Itanium``.
+
+For compatibility with CMake versions prior to 3.0, one may specify this
+generator using the name ``Visual Studio 10`` without the year component.
+
+Toolset Selection
+^^^^^^^^^^^^^^^^^
+
+The ``v100`` toolset that comes with Visual Studio 10 2010 is selected by
+default.  The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
+via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 11 2012.rst b/share/cmake-3.10/Help/generator/Visual Studio 11 2012.rst
new file mode 100644
index 0000000..347a153
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 11 2012.rst
@@ -0,0 +1,29 @@
+Visual Studio 11 2012
+---------------------
+
+Generates Visual Studio 11 (VS 2012) project files.
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
+to specify a target platform name (architecture).
+
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+
+``Visual Studio 11 2012 Win64``
+  Specify target platform ``x64``.
+
+``Visual Studio 11 2012 ARM``
+  Specify target platform ``ARM``.
+
+``Visual Studio 11 2012 <WinCE-SDK>``
+  Specify target platform matching a Windows CE SDK name.
+
+For compatibility with CMake versions prior to 3.0, one may specify this
+generator using the name "Visual Studio 11" without the year component.
+
+Toolset Selection
+^^^^^^^^^^^^^^^^^
+
+The ``v110`` toolset that comes with Visual Studio 11 2012 is selected by
+default.  The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
+via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 12 2013.rst b/share/cmake-3.10/Help/generator/Visual Studio 12 2013.rst
new file mode 100644
index 0000000..5071b20
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 12 2013.rst
@@ -0,0 +1,28 @@
+Visual Studio 12 2013
+---------------------
+
+Generates Visual Studio 12 (VS 2013) project files.
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
+to specify a target platform name (architecture).
+
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+
+``Visual Studio 12 2013 Win64``
+  Specify target platform ``x64``.
+
+``Visual Studio 12 2013 ARM``
+  Specify target platform ``ARM``.
+
+For compatibility with CMake versions prior to 3.0, one may specify this
+generator using the name "Visual Studio 12" without the year component.
+
+Toolset Selection
+^^^^^^^^^^^^^^^^^
+
+The ``v120`` toolset that comes with Visual Studio 12 2013 is selected by
+default.  The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
+via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
+
+.. include:: VS_TOOLSET_HOST_ARCH.txt
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 14 2015.rst b/share/cmake-3.10/Help/generator/Visual Studio 14 2015.rst
new file mode 100644
index 0000000..64254b5
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 14 2015.rst
@@ -0,0 +1,25 @@
+Visual Studio 14 2015
+---------------------
+
+Generates Visual Studio 14 (VS 2015) project files.
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
+to specify a target platform name (architecture).
+
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+
+``Visual Studio 14 2015 Win64``
+  Specify target platform ``x64``.
+
+``Visual Studio 14 2015 ARM``
+  Specify target platform ``ARM``.
+
+Toolset Selection
+^^^^^^^^^^^^^^^^^
+
+The ``v140`` toolset that comes with Visual Studio 14 2015 is selected by
+default.  The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
+via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
+
+.. include:: VS_TOOLSET_HOST_ARCH.txt
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 15 2017.rst b/share/cmake-3.10/Help/generator/Visual Studio 15 2017.rst
new file mode 100644
index 0000000..2ac0449
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 15 2017.rst
@@ -0,0 +1,37 @@
+Visual Studio 15 2017
+---------------------
+
+Generates Visual Studio 15 (VS 2017) project files.
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
+to specify a target platform name (architecture).
+
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+
+``Visual Studio 15 2017 Win64``
+  Specify target platform ``x64``.
+
+``Visual Studio 15 2017 ARM``
+  Specify target platform ``ARM``.
+
+Instance Selection
+^^^^^^^^^^^^^^^^^^
+
+VS 2017 supports multiple installations on the same machine.
+CMake queries the Visual Studio Installer to locate VS instances.
+If more than one instance is installed we do not define which one
+is chosen by default.  If the ``VS150COMNTOOLS`` environment variable
+is set and points to the ``Common7/Tools`` directory within one of
+the instances, that instance will be used.  The environment variable
+must remain consistently set whenever CMake is re-run within a given
+build tree.
+
+Toolset Selection
+^^^^^^^^^^^^^^^^^
+
+The ``v141`` toolset that comes with Visual Studio 15 2017 is selected by
+default.  The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
+via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
+
+.. include:: VS_TOOLSET_HOST_ARCH.txt
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 6.rst b/share/cmake-3.10/Help/generator/Visual Studio 6.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Visual Studio 6.rst
rename to share/cmake-3.10/Help/generator/Visual Studio 6.rst
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 7 .NET 2003.rst b/share/cmake-3.10/Help/generator/Visual Studio 7 .NET 2003.rst
new file mode 100644
index 0000000..d4c7869
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 7 .NET 2003.rst
@@ -0,0 +1,6 @@
+Visual Studio 7 .NET 2003
+-------------------------
+
+Removed.  This once generated Visual Studio .NET 2003 project files, but
+the generator has been removed since CMake 3.9.  It is still possible to
+build with VS 7.1 tools using the :generator:`NMake Makefiles` generator.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 7.rst b/share/cmake-3.10/Help/generator/Visual Studio 7.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Visual Studio 7.rst
rename to share/cmake-3.10/Help/generator/Visual Studio 7.rst
diff --git a/share/cmake-3.10/Help/generator/Visual Studio 8 2005.rst b/share/cmake-3.10/Help/generator/Visual Studio 8 2005.rst
new file mode 100644
index 0000000..acbbf01
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Visual Studio 8 2005.rst
@@ -0,0 +1,23 @@
+Visual Studio 8 2005
+--------------------
+
+Deprecated.  Generates Visual Studio 8 2005 project files.
+
+.. note::
+  This generator is deprecated and will be removed in a future version
+  of CMake.  It will still be possible to build with VS 8 2005 tools
+  using the :generator:`Visual Studio 10 2010` (or above) generator
+  with :variable:`CMAKE_GENERATOR_TOOLSET` set to ``v80``, or by
+  using the :generator:`NMake Makefiles` generator.
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
+to specify a target platform name.
+
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+
+``Visual Studio 8 2005 Win64``
+  Specify target platform ``x64``.
+
+``Visual Studio 8 2005 <WinCE-SDK>``
+  Specify target platform matching a Windows CE SDK name.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 9 2008.rst b/share/cmake-3.10/Help/generator/Visual Studio 9 2008.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Visual Studio 9 2008.rst
rename to share/cmake-3.10/Help/generator/Visual Studio 9 2008.rst
diff --git a/share/cmake-3.6/Help/generator/Watcom WMake.rst b/share/cmake-3.10/Help/generator/Watcom WMake.rst
similarity index 100%
rename from share/cmake-3.6/Help/generator/Watcom WMake.rst
rename to share/cmake-3.10/Help/generator/Watcom WMake.rst
diff --git a/share/cmake-3.10/Help/generator/Xcode.rst b/share/cmake-3.10/Help/generator/Xcode.rst
new file mode 100644
index 0000000..968c26a
--- /dev/null
+++ b/share/cmake-3.10/Help/generator/Xcode.rst
@@ -0,0 +1,13 @@
+Xcode
+-----
+
+Generate Xcode project files.
+
+This supports Xcode 3.0 and above.
+
+Toolset Selection
+^^^^^^^^^^^^^^^^^
+
+By default Xcode is allowed to select its own default toolchain.
+The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
+via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
diff --git a/share/cmake-3.6/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt b/share/cmake-3.10/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
similarity index 100%
rename from share/cmake-3.6/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
rename to share/cmake-3.10/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
diff --git a/share/cmake-3.6/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt b/share/cmake-3.10/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
similarity index 100%
rename from share/cmake-3.6/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
rename to share/cmake-3.10/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
diff --git a/share/cmake-3.6/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt b/share/cmake-3.10/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
similarity index 100%
rename from share/cmake-3.6/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
rename to share/cmake-3.10/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
diff --git a/share/cmake-3.10/Help/index.rst b/share/cmake-3.10/Help/index.rst
new file mode 100644
index 0000000..3dccdda
--- /dev/null
+++ b/share/cmake-3.10/Help/index.rst
@@ -0,0 +1,61 @@
+.. 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-generator-expressions.7
+   /manual/cmake-generators.7
+   /manual/cmake-language.7
+   /manual/cmake-server.7
+   /manual/cmake-modules.7
+   /manual/cmake-packages.7
+   /manual/cmake-policies.7
+   /manual/cmake-properties.7
+   /manual/cmake-qt.7
+   /manual/cmake-toolchains.7
+   /manual/cmake-variables.7
+   /manual/cmake-env-variables.7
+
+.. 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.6/Help/manual/LINKS.txt b/share/cmake-3.10/Help/manual/LINKS.txt
similarity index 100%
rename from share/cmake-3.6/Help/manual/LINKS.txt
rename to share/cmake-3.10/Help/manual/LINKS.txt
diff --git a/share/cmake-3.10/Help/manual/OPTIONS_BUILD.txt b/share/cmake-3.10/Help/manual/OPTIONS_BUILD.txt
new file mode 100644
index 0000000..e8b87c9
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/OPTIONS_BUILD.txt
@@ -0,0 +1,112 @@
+``-C <initial-cache>``
+ Pre-load a script to populate the cache.
+
+ When cmake is first run in an empty build tree, it creates a
+ CMakeCache.txt file and populates it with customizable settings for
+ the project.  This option may be used to specify a file from which
+ to load cache entries before the first pass through the project's
+ cmake listfiles.  The loaded entries take priority over the
+ project's default values.  The given file should be a CMake script
+ containing SET commands that use the CACHE option, not a
+ cache-format file.
+
+``-D <var>:<type>=<value>, -D <var>=<value>``
+ Create a cmake cache entry.
+
+ When cmake is first run in an empty build tree, it creates a
+ CMakeCache.txt file and populates it with customizable settings for
+ the project.  This option may be used to specify a setting that
+ takes priority over the project's default value.  The option may be
+ repeated for as many cache entries as desired.
+
+ If the ``:<type>`` portion is given it must be one of the types
+ specified by the :command:`set` command documentation for its
+ ``CACHE`` signature.
+ If the ``:<type>`` portion is omitted the entry will be created
+ with no type if it does not exist with a type already.  If a
+ command in the project sets the type to ``PATH`` or ``FILEPATH``
+ then the ``<value>`` will be converted to an absolute path.
+
+ This option may also be given as a single argument:
+ ``-D<var>:<type>=<value>`` or ``-D<var>=<value>``.
+
+``-U <globbing_expr>``
+ Remove matching entries from CMake cache.
+
+ This option may be used to remove one or more variables from the
+ CMakeCache.txt file, globbing expressions using * and ? are
+ supported.  The option may be repeated for as many cache entries as
+ desired.
+
+ Use with care, you can make your CMakeCache.txt non-working.
+
+``-G <generator-name>``
+ Specify a build system generator.
+
+ CMake may support multiple native build systems on certain
+ platforms.  A generator is responsible for generating a particular
+ build system.  Possible generator names are specified in the
+ :manual:`cmake-generators(7)` manual.
+
+``-T <toolset-spec>``
+ Toolset specification for the generator, if supported.
+
+ Some CMake generators support a toolset specification to tell
+ the native build system how to choose a compiler.  See the
+ :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
+
+``-A <platform-name>``
+ Specify platform name if supported by generator.
+
+ Some CMake generators support a platform name to be given to the
+ native build system to choose a compiler or SDK.  See the
+ :variable:`CMAKE_GENERATOR_PLATFORM` variable for details.
+
+``-Wno-dev``
+ Suppress developer warnings.
+
+ Suppress warnings that are meant for the author of the
+ CMakeLists.txt files. By default this will also turn off
+ deprecation warnings.
+
+``-Wdev``
+ Enable developer warnings.
+
+ Enable warnings that are meant for the author of the CMakeLists.txt
+ files. By default this will also turn on deprecation warnings.
+
+``-Werror=dev``
+ Make developer warnings errors.
+
+ Make warnings that are meant for the author of the CMakeLists.txt files
+ errors. By default this will also turn on deprecated warnings as errors.
+
+``-Wno-error=dev``
+ Make developer warnings not errors.
+
+ Make warnings that are meant for the author of the CMakeLists.txt files not
+ errors. By default this will also turn off deprecated warnings as errors.
+
+``-Wdeprecated``
+ Enable deprecated functionality warnings.
+
+ Enable warnings for usage of deprecated functionality, that are meant
+ for the author of the CMakeLists.txt files.
+
+``-Wno-deprecated``
+ Suppress deprecated functionality warnings.
+
+ Suppress warnings for usage of deprecated functionality, that are meant
+ for the author of the CMakeLists.txt files.
+
+``-Werror=deprecated``
+ Make deprecated macro and function warnings errors.
+
+ Make warnings for usage of deprecated macros and functions, that are meant
+ for the author of the CMakeLists.txt files, errors.
+
+``-Wno-error=deprecated``
+ Make deprecated macro and function warnings not errors.
+
+ Make warnings for usage of deprecated macros and functions, that are meant
+ for the author of the CMakeLists.txt files, not errors.
diff --git a/share/cmake-3.6/Help/manual/OPTIONS_HELP.txt b/share/cmake-3.10/Help/manual/OPTIONS_HELP.txt
similarity index 100%
rename from share/cmake-3.6/Help/manual/OPTIONS_HELP.txt
rename to share/cmake-3.10/Help/manual/OPTIONS_HELP.txt
diff --git a/share/cmake-3.6/Help/manual/ccmake.1.rst b/share/cmake-3.10/Help/manual/ccmake.1.rst
similarity index 100%
rename from share/cmake-3.6/Help/manual/ccmake.1.rst
rename to share/cmake-3.10/Help/manual/ccmake.1.rst
diff --git a/share/cmake-3.10/Help/manual/cmake-buildsystem.7.rst b/share/cmake-3.10/Help/manual/cmake-buildsystem.7.rst
new file mode 100644
index 0000000..ae538ed
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-buildsystem.7.rst
@@ -0,0 +1,997 @@
+.. cmake-manual-description: CMake Buildsystem Reference
+
+cmake-buildsystem(7)
+********************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+A CMake-based buildsystem is organized as a set of high-level logical
+targets.  Each target corresponds to an executable or library, or
+is a custom target containing custom commands.  Dependencies between the
+targets are expressed in the buildsystem to determine the build order
+and the rules for regeneration in response to change.
+
+Binary Targets
+==============
+
+Executables and libraries are defined using the :command:`add_executable`
+and :command:`add_library` commands.  The resulting binary files have
+appropriate prefixes, suffixes and extensions for the platform targeted.
+Dependencies between binary targets are expressed using the
+:command:`target_link_libraries` command:
+
+.. code-block:: cmake
+
+  add_library(archive archive.cpp zip.cpp lzma.cpp)
+  add_executable(zipapp zipapp.cpp)
+  target_link_libraries(zipapp archive)
+
+``archive`` is defined as a static library -- an archive containing objects
+compiled from ``archive.cpp``, ``zip.cpp``, and ``lzma.cpp``.  ``zipapp``
+is defined as an executable formed by compiling and linking ``zipapp.cpp``.
+When linking the ``zipapp`` executable, the ``archive`` static library is
+linked in.
+
+Binary Executables
+------------------
+
+The :command:`add_executable` command defines an executable target:
+
+.. code-block:: cmake
+
+  add_executable(mytool mytool.cpp)
+
+Commands such as :command:`add_custom_command`, which generates rules to be
+run at build time can transparently use an :prop_tgt:`EXECUTABLE <TYPE>`
+target as a ``COMMAND`` executable.  The buildsystem rules will ensure that
+the executable is built before attempting to run the command.
+
+Binary Library Types
+--------------------
+
+.. _`Normal Libraries`:
+
+Normal Libraries
+^^^^^^^^^^^^^^^^
+
+By default, the :command:`add_library` command defines a static library,
+unless a type is specified.  A type may be specified when using the command:
+
+.. code-block:: cmake
+
+  add_library(archive SHARED archive.cpp zip.cpp lzma.cpp)
+
+.. code-block:: cmake
+
+  add_library(archive STATIC archive.cpp zip.cpp lzma.cpp)
+
+The :variable:`BUILD_SHARED_LIBS` variable may be enabled to change the
+behavior of :command:`add_library` to build shared libraries by default.
+
+In the context of the buildsystem definition as a whole, it is largely
+irrelevant whether particular libraries are ``SHARED`` or ``STATIC`` --
+the commands, dependency specifications and other APIs work similarly
+regardless of the library type.  The ``MODULE`` library type is
+dissimilar in that it is generally not linked to -- it is not used in
+the right-hand-side of the :command:`target_link_libraries` command.
+It is a type which is loaded as a plugin using runtime techniques.
+If the library does not export any unmanaged symbols (e.g. Windows
+resource DLL, C++/CLI DLL), it is required that the library not be a
+``SHARED`` library because CMake expects ``SHARED`` libraries to export
+at least one symbol.
+
+.. code-block:: cmake
+
+  add_library(archive MODULE 7z.cpp)
+
+.. _`Apple Frameworks`:
+
+Apple Frameworks
+""""""""""""""""
+
+A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
+target property to create an OS X or iOS Framework Bundle.
+The ``MACOSX_FRAMEWORK_IDENTIFIER`` sets ``CFBundleIdentifier`` key
+and it uniquely identifies the bundle.
+
+.. code-block:: cmake
+
+  add_library(MyFramework SHARED MyFramework.cpp)
+  set_target_properties(MyFramework PROPERTIES
+    FRAMEWORK TRUE
+    FRAMEWORK_VERSION A
+    MACOSX_FRAMEWORK_IDENTIFIER org.cmake.MyFramework
+  )
+
+.. _`Object Libraries`:
+
+Object Libraries
+^^^^^^^^^^^^^^^^
+
+The ``OBJECT`` library type is also not linked to. It defines a non-archival
+collection of object files resulting from compiling the given source files.
+The object files collection can be used as source inputs to other targets:
+
+.. code-block:: cmake
+
+  add_library(archive OBJECT archive.cpp zip.cpp lzma.cpp)
+
+  add_library(archiveExtras STATIC $<TARGET_OBJECTS:archive> extras.cpp)
+
+  add_executable(test_exe $<TARGET_OBJECTS:archive> test.cpp)
+
+``OBJECT`` libraries may not be used in the right hand side of
+:command:`target_link_libraries`.  They also may not be used as the ``TARGET``
+in a use of the :command:`add_custom_command(TARGET)` command signature.  They
+may be installed, and will be exported as an INTERFACE library.
+
+Although object libraries may not be named directly in calls to
+the :command:`target_link_libraries` command, they can be "linked"
+indirectly by using an :ref:`Interface Library <Interface Libraries>`
+whose :prop_tgt:`INTERFACE_SOURCES` target property is set to name
+``$<TARGET_OBJECTS:objlib>``.
+
+Although object libraries may not be used as the ``TARGET``
+in a use of the :command:`add_custom_command(TARGET)` command signature,
+the list of objects can be used by :command:`add_custom_command(OUTPUT)` or
+:command:`file(GENERATE)` by using ``$<TARGET_OBJECTS:objlib>``.
+
+
+Build Specification and Usage Requirements
+==========================================
+
+The :command:`target_include_directories`, :command:`target_compile_definitions`
+and :command:`target_compile_options` commands specify the build specifications
+and the usage requirements of binary targets.  The commands populate the
+:prop_tgt:`INCLUDE_DIRECTORIES`, :prop_tgt:`COMPILE_DEFINITIONS` and
+:prop_tgt:`COMPILE_OPTIONS` target properties respectively, and/or the
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`, :prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`
+and :prop_tgt:`INTERFACE_COMPILE_OPTIONS` target properties.
+
+Each of the commands has a ``PRIVATE``, ``PUBLIC`` and ``INTERFACE`` mode.  The
+``PRIVATE`` mode populates only the non-``INTERFACE_`` variant of the target
+property and the ``INTERFACE`` mode populates only the ``INTERFACE_`` variants.
+The ``PUBLIC`` mode populates both variants of the respective target property.
+Each command may be invoked with multiple uses of each keyword:
+
+.. code-block:: cmake
+
+  target_compile_definitions(archive
+    PRIVATE BUILDING_WITH_LZMA
+    INTERFACE USING_ARCHIVE_LIB
+  )
+
+Note that usage requirements are not designed as a way to make downstreams
+use particular :prop_tgt:`COMPILE_OPTIONS` or
+:prop_tgt:`COMPILE_DEFINITIONS` etc for convenience only.  The contents of
+the properties must be **requirements**, not merely recommendations or
+convenience.
+
+See the :ref:`Creating Relocatable Packages` section of the
+:manual:`cmake-packages(7)` manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+
+Target Properties
+-----------------
+
+The contents of the :prop_tgt:`INCLUDE_DIRECTORIES`,
+:prop_tgt:`COMPILE_DEFINITIONS` and :prop_tgt:`COMPILE_OPTIONS` target
+properties are used appropriately when compiling the source files of a
+binary target.
+
+Entries in the :prop_tgt:`INCLUDE_DIRECTORIES` are added to the compile line
+with ``-I`` or ``-isystem`` prefixes and in the order of appearance in the
+property value.
+
+Entries in the :prop_tgt:`COMPILE_DEFINITIONS` are prefixed with ``-D`` or
+``/D`` and added to the compile line in an unspecified order.  The
+:prop_tgt:`DEFINE_SYMBOL` target property is also added as a compile
+definition as a special convenience case for ``SHARED`` and ``MODULE``
+library targets.
+
+Entries in the :prop_tgt:`COMPILE_OPTIONS` are escaped for the shell and added
+in the order of appearance in the property value.  Several compile options have
+special separate handling, such as :prop_tgt:`POSITION_INDEPENDENT_CODE`.
+
+The contents of the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
+:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` and
+:prop_tgt:`INTERFACE_COMPILE_OPTIONS` target properties are
+*Usage Requirements* -- they specify content which consumers
+must use to correctly compile and link with the target they appear on.
+For any binary target, the contents of each ``INTERFACE_`` property on
+each target specified in a :command:`target_link_libraries` command is
+consumed:
+
+.. code-block:: cmake
+
+  set(srcs archive.cpp zip.cpp)
+  if (LZMA_FOUND)
+    list(APPEND srcs lzma.cpp)
+  endif()
+  add_library(archive SHARED ${srcs})
+  if (LZMA_FOUND)
+    # The archive library sources are compiled with -DBUILDING_WITH_LZMA
+    target_compile_definitions(archive PRIVATE BUILDING_WITH_LZMA)
+  endif()
+  target_compile_definitions(archive INTERFACE USING_ARCHIVE_LIB)
+
+  add_executable(consumer)
+  # Link consumer to archive and consume its usage requirements. The consumer
+  # executable sources are compiled with -DUSING_ARCHIVE_LIB.
+  target_link_libraries(consumer archive)
+
+Because it is common to require that the source directory and corresponding
+build directory are added to the :prop_tgt:`INCLUDE_DIRECTORIES`, the
+:variable:`CMAKE_INCLUDE_CURRENT_DIR` variable can be enabled to conveniently
+add the corresponding directories to the :prop_tgt:`INCLUDE_DIRECTORIES` of
+all targets.  The variable :variable:`CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE`
+can be enabled to add the corresponding directories to the
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of all targets.  This makes use of
+targets in multiple different directories convenient through use of the
+:command:`target_link_libraries` command.
+
+
+.. _`Target Usage Requirements`:
+
+Transitive Usage Requirements
+-----------------------------
+
+The usage requirements of a target can transitively propagate to dependents.
+The :command:`target_link_libraries` command has ``PRIVATE``,
+``INTERFACE`` and ``PUBLIC`` keywords to control the propagation.
+
+.. code-block:: cmake
+
+  add_library(archive archive.cpp)
+  target_compile_definitions(archive INTERFACE USING_ARCHIVE_LIB)
+
+  add_library(serialization serialization.cpp)
+  target_compile_definitions(serialization INTERFACE USING_SERIALIZATION_LIB)
+
+  add_library(archiveExtras extras.cpp)
+  target_link_libraries(archiveExtras PUBLIC archive)
+  target_link_libraries(archiveExtras PRIVATE serialization)
+  # archiveExtras is compiled with -DUSING_ARCHIVE_LIB
+  # and -DUSING_SERIALIZATION_LIB
+
+  add_executable(consumer consumer.cpp)
+  # consumer is compiled with -DUSING_ARCHIVE_LIB
+  target_link_libraries(consumer archiveExtras)
+
+Because ``archive`` is a ``PUBLIC`` dependency of ``archiveExtras``, the
+usage requirements of it are propagated to ``consumer`` too.  Because
+``serialization`` is a ``PRIVATE`` dependency of ``archiveExtras``, the usage
+requirements of it are not propagated to ``consumer``.
+
+Generally, a dependency should be specified in a use of
+:command:`target_link_libraries` with the ``PRIVATE`` keyword if it is used by
+only the implementation of a library, and not in the header files.  If a
+dependency is additionally used in the header files of a library (e.g. for
+class inheritance), then it should be specified as a ``PUBLIC`` dependency.
+A dependency which is not used by the implementation of a library, but only by
+its headers should be specified as an ``INTERFACE`` dependency.  The
+:command:`target_link_libraries` command may be invoked with multiple uses of
+each keyword:
+
+.. code-block:: cmake
+
+  target_link_libraries(archiveExtras
+    PUBLIC archive
+    PRIVATE serialization
+  )
+
+Usage requirements are propagated by reading the ``INTERFACE_`` variants
+of target properties from dependencies and appending the values to the
+non-``INTERFACE_`` variants of the operand.  For example, the
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of dependencies is read and
+appended to the :prop_tgt:`INCLUDE_DIRECTORIES` of the operand.  In cases
+where order is relevant and maintained, and the order resulting from the
+:command:`target_link_libraries` calls does not allow correct compilation,
+use of an appropriate command to set the property directly may update the
+order.
+
+For example, if the linked libraries for a target must be specified
+in the order ``lib1`` ``lib2`` ``lib3`` , but the include directories must
+be specified in the order ``lib3`` ``lib1`` ``lib2``:
+
+.. code-block:: cmake
+
+  target_link_libraries(myExe lib1 lib2 lib3)
+  target_include_directories(myExe
+    PRIVATE $<TARGET_PROPERTY:lib3,INTERFACE_INCLUDE_DIRECTORIES>)
+
+Note that care must be taken when specifying usage requirements for targets
+which will be exported for installation using the :command:`install(EXPORT)`
+command.  See :ref:`Creating Packages` for more.
+
+.. _`Compatible Interface Properties`:
+
+Compatible Interface Properties
+-------------------------------
+
+Some target properties are required to be compatible between a target and
+the interface of each dependency.  For example, the
+:prop_tgt:`POSITION_INDEPENDENT_CODE` target property may specify a
+boolean value of whether a target should be compiled as
+position-independent-code, which has platform-specific consequences.
+A target may also specify the usage requirement
+:prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE` to communicate that
+consumers must be compiled as position-independent-code.
+
+.. code-block:: cmake
+
+  add_executable(exe1 exe1.cpp)
+  set_property(TARGET exe1 PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+  add_library(lib1 SHARED lib1.cpp)
+  set_property(TARGET lib1 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
+
+  add_executable(exe2 exe2.cpp)
+  target_link_libraries(exe2 lib1)
+
+Here, both ``exe1`` and ``exe2`` will be compiled as position-independent-code.
+``lib1`` will also be compiled as position-independent-code because that is the
+default setting for ``SHARED`` libraries.  If dependencies have conflicting,
+non-compatible requirements :manual:`cmake(1)` issues a diagnostic:
+
+.. code-block:: cmake
+
+  add_library(lib1 SHARED lib1.cpp)
+  set_property(TARGET lib1 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
+
+  add_library(lib2 SHARED lib2.cpp)
+  set_property(TARGET lib2 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE OFF)
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 lib1)
+  set_property(TARGET exe1 PROPERTY POSITION_INDEPENDENT_CODE OFF)
+
+  add_executable(exe2 exe2.cpp)
+  target_link_libraries(exe2 lib1 lib2)
+
+The ``lib1`` requirement ``INTERFACE_POSITION_INDEPENDENT_CODE`` is not
+"compatible" with the ``POSITION_INDEPENDENT_CODE`` property of the ``exe1``
+target.  The library requires that consumers are built as
+position-independent-code, while the executable specifies to not built as
+position-independent-code, so a diagnostic is issued.
+
+The ``lib1`` and ``lib2`` requirements are not "compatible".  One of them
+requires that consumers are built as position-independent-code, while
+the other requires that consumers are not built as position-independent-code.
+Because ``exe2`` links to both and they are in conflict, a diagnostic is
+issued.
+
+To be "compatible", the :prop_tgt:`POSITION_INDEPENDENT_CODE` property,
+if set must be either the same, in a boolean sense, as the
+:prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE` property of all transitively
+specified dependencies on which that property is set.
+
+This property of "compatible interface requirement" may be extended to other
+properties by specifying the property in the content of the
+:prop_tgt:`COMPATIBLE_INTERFACE_BOOL` target property.  Each specified property
+must be compatible between the consuming target and the corresponding property
+with an ``INTERFACE_`` prefix from each dependency:
+
+.. code-block:: cmake
+
+  add_library(lib1Version2 SHARED lib1_v2.cpp)
+  set_property(TARGET lib1Version2 PROPERTY INTERFACE_CUSTOM_PROP ON)
+  set_property(TARGET lib1Version2 APPEND PROPERTY
+    COMPATIBLE_INTERFACE_BOOL CUSTOM_PROP
+  )
+
+  add_library(lib1Version3 SHARED lib1_v3.cpp)
+  set_property(TARGET lib1Version3 PROPERTY INTERFACE_CUSTOM_PROP OFF)
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 lib1Version2) # CUSTOM_PROP will be ON
+
+  add_executable(exe2 exe2.cpp)
+  target_link_libraries(exe2 lib1Version2 lib1Version3) # Diagnostic
+
+Non-boolean properties may also participate in "compatible interface"
+computations.  Properties specified in the
+:prop_tgt:`COMPATIBLE_INTERFACE_STRING`
+property must be either unspecified or compare to the same string among
+all transitively specified dependencies. This can be useful to ensure
+that multiple incompatible versions of a library are not linked together
+through transitive requirements of a target:
+
+.. code-block:: cmake
+
+  add_library(lib1Version2 SHARED lib1_v2.cpp)
+  set_property(TARGET lib1Version2 PROPERTY INTERFACE_LIB_VERSION 2)
+  set_property(TARGET lib1Version2 APPEND PROPERTY
+    COMPATIBLE_INTERFACE_STRING LIB_VERSION
+  )
+
+  add_library(lib1Version3 SHARED lib1_v3.cpp)
+  set_property(TARGET lib1Version3 PROPERTY INTERFACE_LIB_VERSION 3)
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 lib1Version2) # LIB_VERSION will be "2"
+
+  add_executable(exe2 exe2.cpp)
+  target_link_libraries(exe2 lib1Version2 lib1Version3) # Diagnostic
+
+The :prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` target property specifies
+that content will be evaluated numerically and the maximum number among all
+specified will be calculated:
+
+.. code-block:: cmake
+
+  add_library(lib1Version2 SHARED lib1_v2.cpp)
+  set_property(TARGET lib1Version2 PROPERTY INTERFACE_CONTAINER_SIZE_REQUIRED 200)
+  set_property(TARGET lib1Version2 APPEND PROPERTY
+    COMPATIBLE_INTERFACE_NUMBER_MAX CONTAINER_SIZE_REQUIRED
+  )
+
+  add_library(lib1Version3 SHARED lib1_v3.cpp)
+  set_property(TARGET lib1Version3 PROPERTY INTERFACE_CONTAINER_SIZE_REQUIRED 1000)
+
+  add_executable(exe1 exe1.cpp)
+  # CONTAINER_SIZE_REQUIRED will be "200"
+  target_link_libraries(exe1 lib1Version2)
+
+  add_executable(exe2 exe2.cpp)
+  # CONTAINER_SIZE_REQUIRED will be "1000"
+  target_link_libraries(exe2 lib1Version2 lib1Version3)
+
+Similarly, the :prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN` may be used to
+calculate the numeric minimum value for a property from dependencies.
+
+Each calculated "compatible" property value may be read in the consumer at
+generate-time using generator expressions.
+
+Note that for each dependee, the set of properties specified in each
+compatible interface property must not intersect with the set specified in
+any of the other properties.
+
+Property Origin Debugging
+-------------------------
+
+Because build specifications can be determined by dependencies, the lack of
+locality of code which creates a target and code which is responsible for
+setting build specifications may make the code more difficult to reason about.
+:manual:`cmake(1)` provides a debugging facility to print the origin of the
+contents of properties which may be determined by dependencies.  The properties
+which can be debugged are listed in the
+:variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable documentation:
+
+.. code-block:: cmake
+
+  set(CMAKE_DEBUG_TARGET_PROPERTIES
+    INCLUDE_DIRECTORIES
+    COMPILE_DEFINITIONS
+    POSITION_INDEPENDENT_CODE
+    CONTAINER_SIZE_REQUIRED
+    LIB_VERSION
+  )
+  add_executable(exe1 exe1.cpp)
+
+In the case of properties listed in :prop_tgt:`COMPATIBLE_INTERFACE_BOOL` or
+:prop_tgt:`COMPATIBLE_INTERFACE_STRING`, the debug output shows which target
+was responsible for setting the property, and which other dependencies also
+defined the property.  In the case of
+:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` and
+:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN`, the debug output shows the
+value of the property from each dependency, and whether the value determines
+the new extreme.
+
+Build Specification with Generator Expressions
+----------------------------------------------
+
+Build specifications may use
+:manual:`generator expressions <cmake-generator-expressions(7)>` containing
+content which may be conditional or known only at generate-time.  For example,
+the calculated "compatible" value of a property may be read with the
+``TARGET_PROPERTY`` expression:
+
+.. code-block:: cmake
+
+  add_library(lib1Version2 SHARED lib1_v2.cpp)
+  set_property(TARGET lib1Version2 PROPERTY
+    INTERFACE_CONTAINER_SIZE_REQUIRED 200)
+  set_property(TARGET lib1Version2 APPEND PROPERTY
+    COMPATIBLE_INTERFACE_NUMBER_MAX CONTAINER_SIZE_REQUIRED
+  )
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 lib1Version2)
+  target_compile_definitions(exe1 PRIVATE
+      CONTAINER_SIZE=$<TARGET_PROPERTY:CONTAINER_SIZE_REQUIRED>
+  )
+
+In this case, the ``exe1`` source files will be compiled with
+``-DCONTAINER_SIZE=200``.
+
+Configuration determined build specifications may be conveniently set using
+the ``CONFIG`` generator expression.
+
+.. code-block:: cmake
+
+  target_compile_definitions(exe1 PRIVATE
+      $<$<CONFIG:Debug>:DEBUG_BUILD>
+  )
+
+The ``CONFIG`` parameter is compared case-insensitively with the configuration
+being built.  In the presence of :prop_tgt:`IMPORTED` targets, the content of
+:prop_tgt:`MAP_IMPORTED_CONFIG_DEBUG <MAP_IMPORTED_CONFIG_<CONFIG>>` is also
+accounted for by this expression.
+
+Some buildsystems generated by :manual:`cmake(1)` have a predetermined
+build-configuration set in the :variable:`CMAKE_BUILD_TYPE` variable.  The
+buildsystem for the IDEs such as Visual Studio and Xcode are generated
+independent of the build-configuration, and the actual build configuration
+is not known until build-time.  Therefore, code such as
+
+.. code-block:: cmake
+
+  string(TOLOWER ${CMAKE_BUILD_TYPE} _type)
+  if (_type STREQUAL debug)
+    target_compile_definitions(exe1 PRIVATE DEBUG_BUILD)
+  endif()
+
+may appear to work for ``Makefile`` based and ``Ninja`` generators, but is not
+portable to IDE generators.  Additionally, the :prop_tgt:`IMPORTED`
+configuration-mappings are not accounted for with code like this, so it should
+be avoided.
+
+The unary ``TARGET_PROPERTY`` generator expression and the ``TARGET_POLICY``
+generator expression are evaluated with the consuming target context.  This
+means that a usage requirement specification may be evaluated differently based
+on the consumer:
+
+.. code-block:: cmake
+
+  add_library(lib1 lib1.cpp)
+  target_compile_definitions(lib1 INTERFACE
+    $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:LIB1_WITH_EXE>
+    $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:LIB1_WITH_SHARED_LIB>
+    $<$<TARGET_POLICY:CMP0041>:CONSUMER_CMP0041_NEW>
+  )
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 lib1)
+
+  cmake_policy(SET CMP0041 NEW)
+
+  add_library(shared_lib shared_lib.cpp)
+  target_link_libraries(shared_lib lib1)
+
+The ``exe1`` executable will be compiled with ``-DLIB1_WITH_EXE``, while the
+``shared_lib`` shared library will be compiled with ``-DLIB1_WITH_SHARED_LIB``
+and ``-DCONSUMER_CMP0041_NEW``, because policy :policy:`CMP0041` is
+``NEW`` at the point where the ``shared_lib`` target is created.
+
+The ``BUILD_INTERFACE`` expression wraps requirements which are only used when
+consumed from a target in the same buildsystem, or when consumed from a target
+exported to the build directory using the :command:`export` command.  The
+``INSTALL_INTERFACE`` expression wraps requirements which are only used when
+consumed from a target which has been installed and exported with the
+:command:`install(EXPORT)` command:
+
+.. code-block:: cmake
+
+  add_library(ClimbingStats climbingstats.cpp)
+  target_compile_definitions(ClimbingStats INTERFACE
+    $<BUILD_INTERFACE:ClimbingStats_FROM_BUILD_LOCATION>
+    $<INSTALL_INTERFACE:ClimbingStats_FROM_INSTALLED_LOCATION>
+  )
+  install(TARGETS ClimbingStats EXPORT libExport ${InstallArgs})
+  install(EXPORT libExport NAMESPACE Upstream::
+          DESTINATION lib/cmake/ClimbingStats)
+  export(EXPORT libExport NAMESPACE Upstream::)
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 ClimbingStats)
+
+In this case, the ``exe1`` executable will be compiled with
+``-DClimbingStats_FROM_BUILD_LOCATION``.  The exporting commands generate
+:prop_tgt:`IMPORTED` targets with either the ``INSTALL_INTERFACE`` or the
+``BUILD_INTERFACE`` omitted, and the ``*_INTERFACE`` marker stripped away.
+A separate project consuming the ``ClimbingStats`` package would contain:
+
+.. code-block:: cmake
+
+  find_package(ClimbingStats REQUIRED)
+
+  add_executable(Downstream main.cpp)
+  target_link_libraries(Downstream Upstream::ClimbingStats)
+
+Depending on whether the ``ClimbingStats`` package was used from the build
+location or the install location, the ``Downstream`` target would be compiled
+with either ``-DClimbingStats_FROM_BUILD_LOCATION`` or
+``-DClimbingStats_FROM_INSTALL_LOCATION``.  For more about packages and
+exporting see the :manual:`cmake-packages(7)` manual.
+
+.. _`Include Directories and Usage Requirements`:
+
+Include Directories and Usage Requirements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Include directories require some special consideration when specified as usage
+requirements and when used with generator expressions.  The
+:command:`target_include_directories` command accepts both relative and
+absolute include directories:
+
+.. code-block:: cmake
+
+  add_library(lib1 lib1.cpp)
+  target_include_directories(lib1 PRIVATE
+    /absolute/path
+    relative/path
+  )
+
+Relative paths are interpreted relative to the source directory where the
+command appears.  Relative paths are not allowed in the
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of :prop_tgt:`IMPORTED` targets.
+
+In cases where a non-trivial generator expression is used, the
+``INSTALL_PREFIX`` expression may be used within the argument of an
+``INSTALL_INTERFACE`` expression.  It is a replacement marker which
+expands to the installation prefix when imported by a consuming project.
+
+Include directories usage requirements commonly differ between the build-tree
+and the install-tree.  The ``BUILD_INTERFACE`` and ``INSTALL_INTERFACE``
+generator expressions can be used to describe separate usage requirements
+based on the usage location.  Relative paths are allowed within the
+``INSTALL_INTERFACE`` expression and are interpreted relative to the
+installation prefix.  For example:
+
+.. code-block:: cmake
+
+  add_library(ClimbingStats climbingstats.cpp)
+  target_include_directories(ClimbingStats INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/generated>
+    $<INSTALL_INTERFACE:/absolute/path>
+    $<INSTALL_INTERFACE:relative/path>
+    $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/$<CONFIG>/generated>
+  )
+
+Two convenience APIs are provided relating to include directories usage
+requirements.  The :variable:`CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE` variable
+may be enabled, with an equivalent effect to:
+
+.. code-block:: cmake
+
+  set_property(TARGET tgt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}>
+  )
+
+for each target affected.  The convenience for installed targets is
+an ``INCLUDES DESTINATION`` component with the :command:`install(TARGETS)`
+command:
+
+.. code-block:: cmake
+
+  install(TARGETS foo bar bat EXPORT tgts ${dest_args}
+    INCLUDES DESTINATION include
+  )
+  install(EXPORT tgts ${other_args})
+  install(FILES ${headers} DESTINATION include)
+
+This is equivalent to appending ``${CMAKE_INSTALL_PREFIX}/include`` to the
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of each of the installed
+:prop_tgt:`IMPORTED` targets when generated by :command:`install(EXPORT)`.
+
+When the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of an
+:ref:`imported target <Imported targets>` is consumed, the entries in the
+property are treated as ``SYSTEM`` include directories, as if they were
+listed in the :prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` of the
+dependency. This can result in omission of compiler warnings for headers
+found in those directories.  This behavior for :ref:`imported targets` may
+be controlled by setting the :prop_tgt:`NO_SYSTEM_FROM_IMPORTED` target
+property on the *consumers* of imported targets.
+
+If a binary target is linked transitively to a Mac OX framework, the
+``Headers`` directory of the framework is also treated as a usage requirement.
+This has the same effect as passing the framework directory as an include
+directory.
+
+Link Libraries and Generator Expressions
+----------------------------------------
+
+Like build specifications, :prop_tgt:`link libraries <LINK_LIBRARIES>` may be
+specified with generator expression conditions.  However, as consumption of
+usage requirements is based on collection from linked dependencies, there is
+an additional limitation that the link dependencies must form a "directed
+acyclic graph".  That is, if linking to a target is dependent on the value of
+a target property, that target property may not be dependent on the linked
+dependencies:
+
+.. code-block:: cmake
+
+  add_library(lib1 lib1.cpp)
+  add_library(lib2 lib2.cpp)
+  target_link_libraries(lib1 PUBLIC
+    $<$<TARGET_PROPERTY:POSITION_INDEPENDENT_CODE>:lib2>
+  )
+  add_library(lib3 lib3.cpp)
+  set_property(TARGET lib3 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 lib1 lib3)
+
+As the value of the :prop_tgt:`POSITION_INDEPENDENT_CODE` property of
+the ``exe1`` target is dependent on the linked libraries (``lib3``), and the
+edge of linking ``exe1`` is determined by the same
+:prop_tgt:`POSITION_INDEPENDENT_CODE` property, the dependency graph above
+contains a cycle.  :manual:`cmake(1)` issues a diagnostic in this case.
+
+.. _`Output Artifacts`:
+
+Output Artifacts
+----------------
+
+The buildsystem targets created by the :command:`add_library` and
+:command:`add_executable` commands create rules to create binary outputs.
+The exact output location of the binaries can only be determined at
+generate-time because it can depend on the build-configuration and the
+link-language of linked dependencies etc.  ``TARGET_FILE``,
+``TARGET_LINKER_FILE`` and related expressions can be used to access the
+name and location of generated binaries.  These expressions do not work
+for ``OBJECT`` libraries however, as there is no single file generated
+by such libraries which is relevant to the expressions.
+
+There are three kinds of output artifacts that may be build by targets
+as detailed in the following sections.  Their classification differs
+between DLL platforms and non-DLL platforms.  All Windows-based
+systems including Cygwin are DLL platforms.
+
+.. _`Runtime Output Artifacts`:
+
+Runtime Output Artifacts
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+A *runtime* output artifact of a buildsystem target may be:
+
+* The executable file (e.g. ``.exe``) of an executable target
+  created by the :command:`add_executable` command.
+
+* On DLL platforms: the executable file (e.g. ``.dll``) of a shared
+  library target created by the :command:`add_library` command
+  with the ``SHARED`` option.
+
+The :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` and :prop_tgt:`RUNTIME_OUTPUT_NAME`
+target properties may be used to control runtime output artifact locations
+and names in the build tree.
+
+.. _`Library Output Artifacts`:
+
+Library Output Artifacts
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+A *library* output artifact of a buildsystem target may be:
+
+* The loadable module file (e.g. ``.dll`` or ``.so``) of a module
+  library target created by the :command:`add_library` command
+  with the ``MODULE`` option.
+
+* On non-DLL platforms: the shared library file (e.g. ``.so`` or ``.dylib``)
+  of a shared shared library target created by the :command:`add_library`
+  command with the ``SHARED`` option.
+
+The :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY` and :prop_tgt:`LIBRARY_OUTPUT_NAME`
+target properties may be used to control library output artifact locations
+and names in the build tree.
+
+.. _`Archive Output Artifacts`:
+
+Archive Output Artifacts
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+An *archive* output artifact of a buildsystem target may be:
+
+* The static library file (e.g. ``.lib`` or ``.a``) of a static
+  library target created by the :command:`add_library` command
+  with the ``STATIC`` option.
+
+* On DLL platforms: the import library file (e.g. ``.lib``) of a shared
+  library target created by the :command:`add_library` command
+  with the ``SHARED`` option.  This file is only guaranteed to exist if
+  the library exports at least one unmanaged symbol.
+
+* On DLL platforms: the import library file (e.g. ``.lib``) of an
+  executable target created by the :command:`add_executable` command
+  when its :prop_tgt:`ENABLE_EXPORTS` target property is set.
+
+The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY` and :prop_tgt:`ARCHIVE_OUTPUT_NAME`
+target properties may be used to control archive output artifact locations
+and names in the build tree.
+
+Directory-Scoped Commands
+-------------------------
+
+The :command:`target_include_directories`,
+:command:`target_compile_definitions` and
+:command:`target_compile_options` commands have an effect on only one
+target at a time.  The commands :command:`add_definitions`,
+:command:`add_compile_options` and :command:`include_directories` have
+a similar function, but operate at directory scope instead of target
+scope for convenience.
+
+Pseudo Targets
+==============
+
+Some target types do not represent outputs of the buildsystem, but only inputs
+such as external dependencies, aliases or other non-build artifacts.  Pseudo
+targets are not represented in the generated buildsystem.
+
+.. _`Imported Targets`:
+
+Imported Targets
+----------------
+
+An :prop_tgt:`IMPORTED` target represents a pre-existing dependency.  Usually
+such targets are defined by an upstream package and should be treated as
+immutable.  It is not possible to use an :prop_tgt:`IMPORTED` target in the
+left-hand-side of the :command:`target_compile_definitions`,
+:command:`target_include_directories`, :command:`target_compile_options` or
+:command:`target_link_libraries` commands, as that would be an attempt to
+modify it.  :prop_tgt:`IMPORTED` targets are designed to be used only in the
+right-hand-side of those commands.
+
+:prop_tgt:`IMPORTED` targets may have the same usage requirement properties
+populated as binary targets, such as
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
+:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`,
+:prop_tgt:`INTERFACE_COMPILE_OPTIONS`,
+:prop_tgt:`INTERFACE_LINK_LIBRARIES`, and
+:prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE`.
+
+The :prop_tgt:`LOCATION` may also be read from an IMPORTED target, though there
+is rarely reason to do so.  Commands such as :command:`add_custom_command` can
+transparently use an :prop_tgt:`IMPORTED` :prop_tgt:`EXECUTABLE <TYPE>` target
+as a ``COMMAND`` executable.
+
+The scope of the definition of an :prop_tgt:`IMPORTED` target is the directory
+where it was defined.  It may be accessed and used from subdirectories, but
+not from parent directories or sibling directories.  The scope is similar to
+the scope of a cmake variable.
+
+It is also possible to define a ``GLOBAL`` :prop_tgt:`IMPORTED` target which is
+accessible globally in the buildsystem.
+
+See the :manual:`cmake-packages(7)` manual for more on creating packages
+with :prop_tgt:`IMPORTED` targets.
+
+.. _`Alias Targets`:
+
+Alias Targets
+-------------
+
+An ``ALIAS`` target is a name which may be used interchangeably with
+a binary target name in read-only contexts.  A primary use-case for ``ALIAS``
+targets is for example or unit test executables accompanying a library, which
+may be part of the same buildsystem or built separately based on user
+configuration.
+
+.. code-block:: cmake
+
+  add_library(lib1 lib1.cpp)
+  install(TARGETS lib1 EXPORT lib1Export ${dest_args})
+  install(EXPORT lib1Export NAMESPACE Upstream:: ${other_args})
+
+  add_library(Upstream::lib1 ALIAS lib1)
+
+In another directory, we can link unconditionally to the ``Upstream::lib1``
+target, which may be an :prop_tgt:`IMPORTED` target from a package, or an
+``ALIAS`` target if built as part of the same buildsystem.
+
+.. code-block:: cmake
+
+  if (NOT TARGET Upstream::lib1)
+    find_package(lib1 REQUIRED)
+  endif()
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 Upstream::lib1)
+
+``ALIAS`` targets are not mutable, installable or exportable.  They are
+entirely local to the buildsystem description.  A name can be tested for
+whether it is an ``ALIAS`` name by reading the :prop_tgt:`ALIASED_TARGET`
+property from it:
+
+.. code-block:: cmake
+
+  get_target_property(_aliased Upstream::lib1 ALIASED_TARGET)
+  if(_aliased)
+    message(STATUS "The name Upstream::lib1 is an ALIAS for ${_aliased}.")
+  endif()
+
+.. _`Interface Libraries`:
+
+Interface Libraries
+-------------------
+
+An ``INTERFACE`` target has no :prop_tgt:`LOCATION` and is mutable, but is
+otherwise similar to an :prop_tgt:`IMPORTED` target.
+
+It may specify usage requirements such as
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
+:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`,
+:prop_tgt:`INTERFACE_COMPILE_OPTIONS`,
+:prop_tgt:`INTERFACE_LINK_LIBRARIES`,
+:prop_tgt:`INTERFACE_SOURCES`,
+and :prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE`.
+Only the ``INTERFACE`` modes of the :command:`target_include_directories`,
+:command:`target_compile_definitions`, :command:`target_compile_options`,
+:command:`target_sources`, and :command:`target_link_libraries` commands
+may be used with ``INTERFACE`` libraries.
+
+A primary use-case for ``INTERFACE`` libraries is header-only libraries.
+
+.. code-block:: cmake
+
+  add_library(Eigen INTERFACE)
+  target_include_directories(Eigen INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
+    $<INSTALL_INTERFACE:include/Eigen>
+  )
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 Eigen)
+
+Here, the usage requirements from the ``Eigen`` target are consumed and used
+when compiling, but it has no effect on linking.
+
+Another use-case is to employ an entirely target-focussed design for usage
+requirements:
+
+.. code-block:: cmake
+
+  add_library(pic_on INTERFACE)
+  set_property(TARGET pic_on PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
+  add_library(pic_off INTERFACE)
+  set_property(TARGET pic_off PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE OFF)
+
+  add_library(enable_rtti INTERFACE)
+  target_compile_options(enable_rtti INTERFACE
+    $<$<OR:$<COMPILER_ID:GNU>,$<COMPILER_ID:Clang>>:-rtti>
+  )
+
+  add_executable(exe1 exe1.cpp)
+  target_link_libraries(exe1 pic_on enable_rtti)
+
+This way, the build specification of ``exe1`` is expressed entirely as linked
+targets, and the complexity of compiler-specific flags is encapsulated in an
+``INTERFACE`` library target.
+
+The properties permitted to be set on or read from an ``INTERFACE`` library
+are:
+
+* Properties matching ``INTERFACE_*``
+* Built-in properties matching ``COMPATIBLE_INTERFACE_*``
+* ``EXPORT_NAME``
+* ``IMPORTED``
+* ``NAME``
+* Properties matching ``IMPORTED_LIBNAME_*``
+* Properties matching ``MAP_IMPORTED_CONFIG_*``
+
+``INTERFACE`` libraries may be installed and exported.  Any content they refer
+to must be installed separately:
+
+.. code-block:: cmake
+
+  add_library(Eigen INTERFACE)
+  target_include_directories(Eigen INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
+    $<INSTALL_INTERFACE:include/Eigen>
+  )
+
+  install(TARGETS Eigen EXPORT eigenExport)
+  install(EXPORT eigenExport NAMESPACE Upstream::
+    DESTINATION lib/cmake/Eigen
+  )
+  install(FILES
+      ${CMAKE_CURRENT_SOURCE_DIR}/src/eigen.h
+      ${CMAKE_CURRENT_SOURCE_DIR}/src/vector.h
+      ${CMAKE_CURRENT_SOURCE_DIR}/src/matrix.h
+    DESTINATION include/Eigen
+  )
diff --git a/share/cmake-3.10/Help/manual/cmake-commands.7.rst b/share/cmake-3.10/Help/manual/cmake-commands.7.rst
new file mode 100644
index 0000000..f8bfb32
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-commands.7.rst
@@ -0,0 +1,165 @@
+.. cmake-manual-description: CMake Language Command Reference
+
+cmake-commands(7)
+*****************
+
+.. only:: html
+
+   .. contents::
+
+Scripting Commands
+==================
+
+These commands are always available.
+
+.. toctree::
+   :maxdepth: 1
+
+   /command/break
+   /command/cmake_host_system_information
+   /command/cmake_minimum_required
+   /command/cmake_parse_arguments
+   /command/cmake_policy
+   /command/configure_file
+   /command/continue
+   /command/elseif
+   /command/else
+   /command/endforeach
+   /command/endfunction
+   /command/endif
+   /command/endmacro
+   /command/endwhile
+   /command/execute_process
+   /command/file
+   /command/find_file
+   /command/find_library
+   /command/find_package
+   /command/find_path
+   /command/find_program
+   /command/foreach
+   /command/function
+   /command/get_cmake_property
+   /command/get_directory_property
+   /command/get_filename_component
+   /command/get_property
+   /command/if
+   /command/include
+   /command/include_guard
+   /command/list
+   /command/macro
+   /command/mark_as_advanced
+   /command/math
+   /command/message
+   /command/option
+   /command/return
+   /command/separate_arguments
+   /command/set_directory_properties
+   /command/set_property
+   /command/set
+   /command/site_name
+   /command/string
+   /command/unset
+   /command/variable_watch
+   /command/while
+
+Project Commands
+================
+
+These commands are available only in CMake projects.
+
+.. toctree::
+   :maxdepth: 1
+
+   /command/add_compile_options
+   /command/add_custom_command
+   /command/add_custom_target
+   /command/add_definitions
+   /command/add_dependencies
+   /command/add_executable
+   /command/add_library
+   /command/add_subdirectory
+   /command/add_test
+   /command/aux_source_directory
+   /command/build_command
+   /command/create_test_sourcelist
+   /command/define_property
+   /command/enable_language
+   /command/enable_testing
+   /command/export
+   /command/fltk_wrap_ui
+   /command/get_source_file_property
+   /command/get_target_property
+   /command/get_test_property
+   /command/include_directories
+   /command/include_external_msproject
+   /command/include_regular_expression
+   /command/install
+   /command/link_directories
+   /command/link_libraries
+   /command/load_cache
+   /command/project
+   /command/qt_wrap_cpp
+   /command/qt_wrap_ui
+   /command/remove_definitions
+   /command/set_source_files_properties
+   /command/set_target_properties
+   /command/set_tests_properties
+   /command/source_group
+   /command/target_compile_definitions
+   /command/target_compile_features
+   /command/target_compile_options
+   /command/target_include_directories
+   /command/target_link_libraries
+   /command/target_sources
+   /command/try_compile
+   /command/try_run
+
+.. _`CTest Commands`:
+
+CTest Commands
+==============
+
+These commands are available only in CTest scripts.
+
+.. toctree::
+   :maxdepth: 1
+
+   /command/ctest_build
+   /command/ctest_configure
+   /command/ctest_coverage
+   /command/ctest_empty_binary_directory
+   /command/ctest_memcheck
+   /command/ctest_read_custom_files
+   /command/ctest_run_script
+   /command/ctest_sleep
+   /command/ctest_start
+   /command/ctest_submit
+   /command/ctest_test
+   /command/ctest_update
+   /command/ctest_upload
+
+Deprecated Commands
+===================
+
+These commands are available only for compatibility with older
+versions of CMake.  Do not use them in new code.
+
+.. toctree::
+   :maxdepth: 1
+
+   /command/build_name
+   /command/exec_program
+   /command/export_library_dependencies
+   /command/install_files
+   /command/install_programs
+   /command/install_targets
+   /command/load_command
+   /command/make_directory
+   /command/output_required_files
+   /command/remove
+   /command/subdir_depends
+   /command/subdirs
+   /command/use_mangled_mesa
+   /command/utility_source
+   /command/variable_requires
+   /command/write_file
diff --git a/share/cmake-3.10/Help/manual/cmake-compile-features.7.rst b/share/cmake-3.10/Help/manual/cmake-compile-features.7.rst
new file mode 100644
index 0000000..0124395
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-compile-features.7.rst
@@ -0,0 +1,369 @@
+.. cmake-manual-description: CMake Compile Features Reference
+
+cmake-compile-features(7)
+*************************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+Project source code may depend on, or be conditional on, the availability
+of certain features of the compiler.  There are three use-cases which arise:
+`Compile Feature Requirements`_, `Optional Compile Features`_
+and `Conditional Compilation Options`_.
+
+While features are typically specified in programming language standards,
+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
+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
+CMake knows are known to the compiler, regardless of language standard
+or compile flags needed to use them.
+
+Features known to CMake are named mostly following the same convention
+as the Clang feature test macros.  The are some exceptions, such as
+CMake using ``cxx_final`` and ``cxx_override`` instead of the single
+``cxx_override_control`` used by Clang.
+
+Compile Feature Requirements
+============================
+
+Compile feature requirements may be specified with the
+:command:`target_compile_features` command.  For example, if a target must
+be compiled with compiler support for the
+:prop_gbl:`cxx_constexpr <CMAKE_CXX_KNOWN_FEATURES>` feature:
+
+.. code-block:: cmake
+
+  add_library(mylib requires_constexpr.cpp)
+  target_compile_features(mylib PRIVATE cxx_constexpr)
+
+In processing the requirement for the ``cxx_constexpr`` feature,
+:manual:`cmake(1)` will ensure that the in-use C++ compiler is capable
+of the feature, and will add any necessary flags such as ``-std=gnu++11``
+to the compile lines of C++ files in the ``mylib`` target.  A
+``FATAL_ERROR`` is issued if the compiler is not capable of the
+feature.
+
+The exact compile flags and language standard are deliberately not part
+of the user interface for this use-case.  CMake will compute the
+appropriate compile flags to use by considering the features specified
+for each target.
+
+Such compile flags are added even if the compiler supports the
+particular feature without the flag. For example, the GNU compiler
+supports variadic templates (with a warning) even if ``-std=gnu++98`` is
+used.  CMake adds the ``-std=gnu++11`` flag if ``cxx_variadic_templates``
+is specified as a requirement.
+
+In the above example, ``mylib`` requires ``cxx_constexpr`` when it
+is built itself, but consumers of ``mylib`` are not required to use a
+compiler which supports ``cxx_constexpr``.  If the interface of
+``mylib`` does require the ``cxx_constexpr`` feature (or any other
+known feature), that may be specified with the ``PUBLIC`` or
+``INTERFACE`` signatures of :command:`target_compile_features`:
+
+.. code-block:: cmake
+
+  add_library(mylib requires_constexpr.cpp)
+  # cxx_constexpr is a usage-requirement
+  target_compile_features(mylib PUBLIC cxx_constexpr)
+
+  # main.cpp will be compiled with -std=gnu++11 on GNU for cxx_constexpr.
+  add_executable(myexe main.cpp)
+  target_link_libraries(myexe mylib)
+
+Feature requirements are evaluated transitively by consuming the link
+implementation.  See :manual:`cmake-buildsystem(7)` for more on
+transitive behavior of build properties and usage requirements.
+
+Requiring Language Standards
+----------------------------
+
+In projects that use a large number of commonly available features from
+a particular language standard (e.g. C++ 11) one may specify a
+meta-feature (e.g. ``cxx_std_11``) that requires use of a compiler mode
+aware of that standard.  This is simpler than specifying all the
+features individually, but does not guarantee the existence of any
+particular feature.  Diagnosis of use of unsupported features will be
+delayed until compile time.
+
+For example, if C++ 11 features are used extensively in a project's
+header files, then clients must use a compiler mode aware of C++ 11
+or above.  This can be requested with the code:
+
+.. code-block:: cmake
+
+  target_compile_features(mylib PUBLIC cxx_std_11)
+
+In this example, CMake will ensure the compiler is invoked in a mode
+that is aware of C++ 11 (or above), adding flags such as
+``-std=gnu++11`` if necessary.  This applies to sources within ``mylib``
+as well as any dependents (that may include headers from ``mylib``).
+
+Availability of Compiler Extensions
+-----------------------------------
+
+Because the :prop_tgt:`CXX_EXTENSIONS` target property is ``ON`` by default,
+CMake uses extended variants of language dialects by default, such as
+``-std=gnu++11`` instead of ``-std=c++11``.  That target property may be
+set to ``OFF`` to use the non-extended variant of the dialect flag.  Note
+that because most compilers enable extensions by default, this could
+expose cross-platform bugs in user code or in the headers of third-party
+dependencies.
+
+Optional Compile Features
+=========================
+
+Compile features may be preferred if available, without creating a hard
+requirement.  For example, a library may provides alternative
+implementations depending on whether the ``cxx_variadic_templates``
+feature is available:
+
+.. code-block:: c++
+
+  #if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
+  template<int I, int... Is>
+  struct Interface;
+
+  template<int I>
+  struct Interface<I>
+  {
+    static int accumulate()
+    {
+      return I;
+    }
+  };
+
+  template<int I, int... Is>
+  struct Interface
+  {
+    static int accumulate()
+    {
+      return I + Interface<Is...>::accumulate();
+    }
+  };
+  #else
+  template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
+  struct Interface
+  {
+    static int accumulate() { return I1 + I2 + I3 + I4; }
+  };
+  #endif
+
+Such an interface depends on using the correct preprocessor defines for the
+compiler features.  CMake can generate a header file containing such
+defines using the :module:`WriteCompilerDetectionHeader` module.  The
+module contains the ``write_compiler_detection_header`` function which
+accepts parameters to control the content of the generated header file:
+
+.. code-block:: cmake
+
+  write_compiler_detection_header(
+    FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
+    PREFIX Foo
+    COMPILERS GNU
+    FEATURES
+      cxx_variadic_templates
+  )
+
+Such a header file may be used internally in the source code of a project,
+and it may be installed and used in the interface of library code.
+
+For each feature listed in ``FEATURES``, a preprocessor definition
+is created in the header file, and defined to either ``1`` or ``0``.
+
+Additionally, some features call for additional defines, such as the
+``cxx_final`` and ``cxx_override`` features. Rather than being used in
+``#ifdef`` code, the ``final`` keyword is abstracted by a symbol
+which is defined to either ``final``, a compiler-specific equivalent, or
+to empty.  That way, C++ code can be written to unconditionally use the
+symbol, and compiler support determines what it is expanded to:
+
+.. code-block:: c++
+
+  struct Interface {
+    virtual void Execute() = 0;
+  };
+
+  struct Concrete Foo_FINAL {
+    void Execute() Foo_OVERRIDE;
+  };
+
+In this case, ``Foo_FINAL`` will expand to ``final`` if the
+compiler supports the keyword, or to empty otherwise.
+
+In this use-case, the CMake code will wish to enable a particular language
+standard if available from the compiler. The :prop_tgt:`CXX_STANDARD`
+target property variable may be set to the desired language standard
+for a particular target, and the :variable:`CMAKE_CXX_STANDARD` may be
+set to influence all following targets:
+
+.. code-block:: cmake
+
+  write_compiler_detection_header(
+    FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
+    PREFIX Foo
+    COMPILERS GNU
+    FEATURES
+      cxx_final cxx_override
+  )
+
+  # Includes foo_compiler_detection.h and uses the Foo_FINAL symbol
+  # which will expand to 'final' if the compiler supports the requested
+  # CXX_STANDARD.
+  add_library(foo foo.cpp)
+  set_property(TARGET foo PROPERTY CXX_STANDARD 11)
+
+  # Includes foo_compiler_detection.h and uses the Foo_FINAL symbol
+  # which will expand to 'final' if the compiler supports the feature,
+  # even though CXX_STANDARD is not set explicitly.  The requirement of
+  # cxx_constexpr causes CMake to set CXX_STANDARD internally, which
+  # affects the compile flags.
+  add_library(foo_impl foo_impl.cpp)
+  target_compile_features(foo_impl PRIVATE cxx_constexpr)
+
+The ``write_compiler_detection_header`` function also creates compatibility
+code for other features which have standard equivalents.  For example, the
+``cxx_static_assert`` feature is emulated with a template and abstracted
+via the ``<PREFIX>_STATIC_ASSERT`` and ``<PREFIX>_STATIC_ASSERT_MSG``
+function-macros.
+
+Conditional Compilation Options
+===============================
+
+Libraries may provide entirely different header files depending on
+requested compiler features.
+
+For example, a header at ``with_variadics/interface.h`` may contain:
+
+.. code-block:: c++
+
+  template<int I, int... Is>
+  struct Interface;
+
+  template<int I>
+  struct Interface<I>
+  {
+    static int accumulate()
+    {
+      return I;
+    }
+  };
+
+  template<int I, int... Is>
+  struct Interface
+  {
+    static int accumulate()
+    {
+      return I + Interface<Is...>::accumulate();
+    }
+  };
+
+while a header at ``no_variadics/interface.h`` may contain:
+
+.. code-block:: c++
+
+  template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
+  struct Interface
+  {
+    static int accumulate() { return I1 + I2 + I3 + I4; }
+  };
+
+It would be possible to write a abstraction ``interface.h`` header
+containing something like:
+
+.. code-block:: c++
+
+  #include "foo_compiler_detection.h"
+  #if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
+  #include "with_variadics/interface.h"
+  #else
+  #include "no_variadics/interface.h"
+  #endif
+
+However this could be unmaintainable if there are many files to
+abstract. What is needed is to use alternative include directories
+depending on the compiler capabilities.
+
+CMake provides a ``COMPILE_FEATURES``
+:manual:`generator expression <cmake-generator-expressions(7)>` to implement
+such conditions.  This may be used with the build-property commands such as
+:command:`target_include_directories` and :command:`target_link_libraries`
+to set the appropriate :manual:`buildsystem <cmake-buildsystem(7)>`
+properties:
+
+.. code-block:: cmake
+
+  add_library(foo INTERFACE)
+  set(with_variadics ${CMAKE_CURRENT_SOURCE_DIR}/with_variadics)
+  set(no_variadics ${CMAKE_CURRENT_SOURCE_DIR}/no_variadics)
+  target_include_directories(foo
+    INTERFACE
+      "$<$<COMPILE_FEATURES:cxx_variadic_templates>:${with_variadics}>"
+      "$<$<NOT:$<COMPILE_FEATURES:cxx_variadic_templates>>:${no_variadics}>"
+    )
+
+Consuming code then simply links to the ``foo`` target as usual and uses
+the feature-appropriate include directory
+
+.. code-block:: cmake
+
+  add_executable(consumer_with consumer_with.cpp)
+  target_link_libraries(consumer_with foo)
+  set_property(TARGET consumer_with CXX_STANDARD 11)
+
+  add_executable(consumer_no consumer_no.cpp)
+  target_link_libraries(consumer_no foo)
+
+Supported Compilers
+===================
+
+CMake is currently aware of the :prop_tgt:`C++ standards <CXX_STANDARD>`
+and :prop_gbl:`compile features <CMAKE_CXX_KNOWN_FEATURES>` available from
+the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
+versions specified for each:
+
+* ``AppleClang``: Apple Clang for Xcode versions 4.4 though 6.2.
+* ``Clang``: Clang compiler versions 2.9 through 3.4.
+* ``GNU``: GNU compiler versions 4.4 through 5.0.
+* ``MSVC``: Microsoft Visual Studio versions 2010 through 2017.
+* ``SunPro``: Oracle SolarisStudio versions 12.4 through 12.5.
+* ``Intel``: Intel compiler versions 12.1 through 17.0.
+
+CMake is currently aware of the :prop_tgt:`C standards <C_STANDARD>`
+and :prop_gbl:`compile features <CMAKE_C_KNOWN_FEATURES>` available from
+the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
+versions specified for each:
+
+* all compilers and versions listed above for C++.
+* ``GNU``: GNU compiler versions 3.4 through 5.0.
+
+CMake is currently aware of the :prop_tgt:`C++ standards <CXX_STANDARD>` and
+their associated meta-features (e.g. ``cxx_std_11``) available from the
+following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
+versions specified for each:
+
+* ``Cray``: Cray Compiler Environment version 8.1 through 8.5.8.
+* ``PGI``: PGI version 12.10 through 17.5.
+* ``XL``: IBM XL version 10.1 through 13.1.5.
+
+CMake is currently aware of the :prop_tgt:`C standards <C_STANDARD>` and
+their associated meta-features (e.g. ``c_std_99``) available from the
+following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
+versions specified for each:
+
+* all compilers and versions listed above with only meta-features for C++.
+
+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
+versions specified for each:
+
+* ``NVIDIA``: NVIDIA nvcc compiler 7.5 though 8.0.
diff --git a/share/cmake-3.10/Help/manual/cmake-developer.7.rst b/share/cmake-3.10/Help/manual/cmake-developer.7.rst
new file mode 100644
index 0000000..cd509ac
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-developer.7.rst
@@ -0,0 +1,965 @@
+.. cmake-manual-description: CMake Developer Reference
+
+cmake-developer(7)
+******************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+This manual is intended for reference by developers modifying the CMake
+source tree itself, and by those authoring externally-maintained modules.
+
+Adding Compile Features
+=======================
+
+CMake reports an error if a compiler whose features are known does not report
+support for a particular requested feature.  A compiler is considered to have
+known features if it reports support for at least one feature.
+
+When adding a new compile feature to CMake, it is therefore necessary to list
+support for the feature for all CompilerIds which already have one or more
+feature supported, if the new feature is available for any version of the
+compiler.
+
+When adding the first supported feature to a particular CompilerId, it is
+necessary to list support for all features known to cmake (See
+:variable:`CMAKE_C_COMPILE_FEATURES` and
+:variable:`CMAKE_CXX_COMPILE_FEATURES` as appropriate), where available for
+the compiler.  Ensure that the ``CMAKE_<LANG>_STANDARD_DEFAULT`` is set to
+the computed internal variable ``CMAKE_<LANG>_STANDARD_COMPUTED_DEFAULT``
+for compiler versions which should be supported.
+
+It is sensible to record the features for the most recent version of a
+particular CompilerId first, and then work backwards.  It is sensible to
+try to create a continuous range of versions of feature releases of the
+compiler.  Gaps in the range indicate incorrect features recorded for
+intermediate releases.
+
+Generally, features are made available for a particular version if the
+compiler vendor documents availability of the feature with that
+version.  Note that sometimes partially implemented features appear to
+be functional in previous releases (such as ``cxx_constexpr`` in GNU 4.6,
+though availability is documented in GNU 4.7), and sometimes compiler vendors
+document availability of features, though supporting infrastructure is
+not available (such as ``__has_feature(cxx_generic_lambdas)`` indicating
+non-availability in Clang 3.4, though it is documented as available, and
+fixed in Clang 3.5).  Similar cases for other compilers and versions
+need to be investigated when extending CMake to support them.
+
+When a vendor releases a new version of a known compiler which supports
+a previously unsupported feature, and there are already known features for
+that compiler, the feature should be listed as supported in CMake for
+that version of the compiler as soon as reasonably possible.
+
+Standard-specific/compiler-specific variables such
+``CMAKE_CXX98_COMPILE_FEATURES`` are deliberately not documented.  They
+only exist for the compiler-specific implementation of adding the ``-std``
+compile flag for compilers which need that.
+
+Help
+====
+
+The ``Help`` directory contains CMake help manual source files.
+They are written using the `reStructuredText`_ markup syntax and
+processed by `Sphinx`_ to generate the CMake help manuals.
+
+.. _`reStructuredText`: http://docutils.sourceforge.net/docs/ref/rst/introduction.html
+.. _`Sphinx`: http://sphinx-doc.org
+
+Markup Constructs
+-----------------
+
+In addition to using Sphinx to generate the CMake help manuals, we
+also use a C++-implemented document processor to print documents for
+the ``--help-*`` command-line help options.  It supports a subset of
+reStructuredText markup.  When authoring or modifying documents,
+please verify that the command-line help looks good in addition to the
+Sphinx-generated html and man pages.
+
+The command-line help processor supports the following constructs
+defined by reStructuredText, Sphinx, and a CMake extension to Sphinx.
+
+..
+ Note: This list must be kept consistent with the cmRST implementation.
+
+CMake Domain directives
+ Directives defined in the `CMake Domain`_ for defining CMake
+ documentation objects are printed in command-line help output as
+ if the lines were normal paragraph text with interpretation.
+
+CMake Domain interpreted text roles
+ Interpreted text roles defined in the `CMake Domain`_ for
+ cross-referencing CMake documentation objects are replaced by their
+ link text in command-line help output.  Other roles are printed
+ literally and not processed.
+
+``code-block`` directive
+ Add a literal code block without interpretation.  The command-line
+ help processor prints the block content without the leading directive
+ line and with common indentation replaced by one space.
+
+``include`` directive
+ Include another document source file.  The command-line help
+ processor prints the included document inline with the referencing
+ document.
+
+literal block after ``::``
+ A paragraph ending in ``::`` followed by a blank line treats
+ the following indented block as literal text without interpretation.
+ The command-line help processor prints the ``::`` literally and
+ prints the block content with common indentation replaced by one
+ space.
+
+``note`` directive
+ Call out a side note.  The command-line help processor prints the
+ block content as if the lines were normal paragraph text with
+ interpretation.
+
+``parsed-literal`` directive
+ Add a literal block with markup interpretation.  The command-line
+ help processor prints the block content without the leading
+ directive line and with common indentation replaced by one space.
+
+``productionlist`` directive
+ Render context-free grammar productions.  The command-line help
+ processor prints the block content as if the lines were normal
+ paragraph text with interpretation.
+
+``replace`` directive
+ Define a ``|substitution|`` replacement.
+ The command-line help processor requires a substitution replacement
+ to be defined before it is referenced.
+
+``|substitution|`` reference
+ Reference a substitution replacement previously defined by
+ the ``replace`` directive.  The command-line help processor
+ performs the substitution and replaces all newlines in the
+ replacement text with spaces.
+
+``toctree`` directive
+ Include other document sources in the Table-of-Contents
+ document tree.  The command-line help processor prints
+ the referenced documents inline as part of the referencing
+ document.
+
+Inline markup constructs not listed above are printed literally in the
+command-line help output.  We prefer to use inline markup constructs that
+look correct in source form, so avoid use of \\-escapes in favor of inline
+literals when possible.
+
+Explicit markup blocks not matching directives listed above are removed from
+command-line help output.  Do not use them, except for plain ``..`` comments
+that are removed by Sphinx too.
+
+Note that nested indentation of blocks is not recognized by the
+command-line help processor.  Therefore:
+
+* Explicit markup blocks are recognized only when not indented
+  inside other blocks.
+
+* Literal blocks after paragraphs ending in ``::`` but not
+  at the top indentation level may consume all indented lines
+  following them.
+
+Try to avoid these cases in practice.
+
+CMake Domain
+------------
+
+CMake adds a `Sphinx Domain`_ called ``cmake``, also called the
+"CMake Domain".  It defines several "object" types for CMake
+documentation:
+
+``command``
+ A CMake language command.
+
+``generator``
+ A CMake native build system generator.
+ See the :manual:`cmake(1)` command-line tool's ``-G`` option.
+
+``manual``
+ A CMake manual page, like this :manual:`cmake-developer(7)` manual.
+
+``module``
+ A CMake module.
+ See the :manual:`cmake-modules(7)` manual
+ and the :command:`include` command.
+
+``policy``
+ A CMake policy.
+ See the :manual:`cmake-policies(7)` manual
+ and the :command:`cmake_policy` command.
+
+``prop_cache, prop_dir, prop_gbl, prop_sf, prop_inst, prop_test, prop_tgt``
+ A CMake cache, directory, global, source file, installed file, test,
+ or target property, respectively.  See the :manual:`cmake-properties(7)`
+ manual and the :command:`set_property` command.
+
+``variable``
+ A CMake language variable.
+ See the :manual:`cmake-variables(7)` manual
+ and the :command:`set` command.
+
+Documentation objects in the CMake Domain come from two sources.
+First, the CMake extension to Sphinx transforms every document named
+with the form ``Help/<type>/<file-name>.rst`` to a domain object with
+type ``<type>``.  The object name is extracted from the document title,
+which is expected to be of the form::
+
+ <object-name>
+ -------------
+
+and to appear at or near the top of the ``.rst`` file before any other
+lines starting in a letter, digit, or ``<``.  If no such title appears
+literally in the ``.rst`` file, the object name is the ``<file-name>``.
+If a title does appear, it is expected that ``<file-name>`` is equal
+to ``<object-name>`` with any ``<`` and ``>`` characters removed.
+
+Second, the CMake Domain provides directives to define objects inside
+other documents:
+
+.. code-block:: rst
+
+ .. command:: <command-name>
+
+  This indented block documents <command-name>.
+
+ .. variable:: <variable-name>
+
+  This indented block documents <variable-name>.
+
+Object types for which no directive is available must be defined using
+the first approach above.
+
+.. _`Sphinx Domain`: http://sphinx-doc.org/domains.html
+
+Cross-References
+----------------
+
+Sphinx uses reStructuredText interpreted text roles to provide
+cross-reference syntax.  The `CMake Domain`_ provides for each
+domain object type a role of the same name to cross-reference it.
+CMake Domain roles are inline markup of the forms::
+
+ :type:`name`
+ :type:`text <name>`
+
+where ``type`` is the domain object type and ``name`` is the
+domain object name.  In the first form the link text will be
+``name`` (or ``name()`` if the type is ``command``) and in
+the second form the link text will be the explicit ``text``.
+For example, the code:
+
+.. code-block:: rst
+
+ * The :command:`list` command.
+ * The :command:`list(APPEND)` sub-command.
+ * The :command:`list() command <list>`.
+ * The :command:`list(APPEND) sub-command <list>`.
+ * The :variable:`CMAKE_VERSION` variable.
+ * The :prop_tgt:`OUTPUT_NAME_<CONFIG>` target property.
+
+produces:
+
+* The :command:`list` command.
+* The :command:`list(APPEND)` sub-command.
+* The :command:`list() command <list>`.
+* The :command:`list(APPEND) sub-command <list>`.
+* The :variable:`CMAKE_VERSION` variable.
+* The :prop_tgt:`OUTPUT_NAME_<CONFIG>` target property.
+
+Note that CMake Domain roles differ from Sphinx and reStructuredText
+convention in that the form ``a<b>``, without a space preceding ``<``,
+is interpreted as a name instead of link text with an explicit target.
+This is necessary because we use ``<placeholders>`` frequently in
+object names like ``OUTPUT_NAME_<CONFIG>``.  The form ``a <b>``,
+with a space preceding ``<``, is still interpreted as a link text
+with an explicit target.
+
+Style
+-----
+
+Style: Section Headers
+^^^^^^^^^^^^^^^^^^^^^^
+
+When marking section titles, make the section decoration line as long as
+the title text.  Use only a line below the title, not above. For
+example:
+
+.. code-block:: rst
+
+  Title Text
+  ----------
+
+Capitalize the first letter of each non-minor word in the title.
+
+The section header underline character hierarchy is
+
+* ``#``: Manual group (part) in the master document
+* ``*``: Manual (chapter) title
+* ``=``: Section within a manual
+* ``-``: Subsection or `CMake Domain`_ object document title
+* ``^``: Subsubsection or `CMake Domain`_ object document section
+* ``"``: Paragraph or `CMake Domain`_ object document subsection
+
+Style: Whitespace
+^^^^^^^^^^^^^^^^^
+
+Use two spaces for indentation.  Use two spaces between sentences in
+prose.
+
+Style: Line Length
+^^^^^^^^^^^^^^^^^^
+
+Prefer to restrict the width of lines to 75-80 columns.  This is not a
+hard restriction, but writing new paragraphs wrapped at 75 columns
+allows space for adding minor content without significant re-wrapping of
+content.
+
+Style: Prose
+^^^^^^^^^^^^
+
+Use American English spellings in prose.
+
+Style: Starting Literal Blocks
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Prefer to mark the start of literal blocks with ``::`` at the end of
+the preceding paragraph. In cases where the following block gets
+a ``code-block`` marker, put a single ``:`` at the end of the preceding
+paragraph.
+
+Style: CMake Command Signatures
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Command signatures should be marked up as plain literal blocks, not as
+cmake ``code-blocks``.
+
+Signatures are separated from preceding content by a section header.
+That is, use:
+
+.. code-block:: rst
+
+  ... preceding paragraph.
+
+  Normal Libraries
+  ^^^^^^^^^^^^^^^^
+
+  ::
+
+    add_library(<lib> ...)
+
+  This signature is used for ...
+
+Signatures of commands should wrap optional parts with square brackets,
+and should mark list of optional arguments with an ellipsis (``...``).
+Elements of the signature which are specified by the user should be
+specified with angle brackets, and may be referred to in prose using
+``inline-literal`` syntax.
+
+Style: Boolean Constants
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Use "``OFF``" and "``ON``" for boolean values which can be modified by
+the user, such as :prop_tgt:`POSITION_INDEPENDENT_CODE`. Such properties
+may be "enabled" and "disabled". Use "``True``" and "``False``" for
+inherent values which can't be modified after being set, such as the
+:prop_tgt:`IMPORTED` property of a build target.
+
+Style: Inline Literals
+^^^^^^^^^^^^^^^^^^^^^^
+
+Mark up references to keywords in signatures, file names, and other
+technical terms with ``inline-literal`` syntax, for example:
+
+.. code-block:: rst
+
+  If ``WIN32`` is used with :command:`add_executable`, the
+  :prop_tgt:`WIN32_EXECUTABLE` target property is enabled. That command
+  creates the file ``<name>.exe`` on Windows.
+
+Style: Cross-References
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Mark up linkable references as links, including repeats.
+An alternative, which is used by wikipedia
+(`<http://en.wikipedia.org/wiki/WP:REPEATLINK>`_),
+is to link to a reference only once per article. That style is not used
+in CMake documentation.
+
+Style: Referencing CMake Concepts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If referring to a concept which corresponds to a property, and that
+concept is described in a high-level manual, prefer to link to the
+manual section instead of the property. For example:
+
+.. code-block:: rst
+
+  This command creates an :ref:`Imported Target <Imported Targets>`.
+
+instead of:
+
+.. code-block:: rst
+
+  This command creates an :prop_tgt:`IMPORTED` target.
+
+The latter should be used only when referring specifically to the
+property.
+
+References to manual sections are not automatically created by creating
+a section, but code such as:
+
+.. code-block:: rst
+
+  .. _`Imported Targets`:
+
+creates a suitable anchor.  Use an anchor name which matches the name
+of the corresponding section.  Refer to the anchor using a
+cross-reference with specified text.
+
+Imported Targets need the ``IMPORTED`` term marked up with care in
+particular because the term may refer to a command keyword
+(``IMPORTED``), a target property (:prop_tgt:`IMPORTED`), or a
+concept (:ref:`Imported Targets`).
+
+Where a property, command or variable is related conceptually to others,
+by for example, being related to the buildsystem description, generator
+expressions or Qt, each relevant property, command or variable should
+link to the primary manual, which provides high-level information.  Only
+particular information relating to the command should be in the
+documentation of the command.
+
+Style: Referencing CMake Domain Objects
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When referring to `CMake Domain`_ objects such as properties, variables,
+commands etc, prefer to link to the target object and follow that with
+the type of object it is.  For example:
+
+.. code-block:: rst
+
+  Set the :prop_tgt:`AUTOMOC` target property to ``ON``.
+
+Instead of
+
+.. code-block:: rst
+
+  Set the target property :prop_tgt:`AUTOMOC` to ``ON``.
+
+The ``policy`` directive is an exception, and the type us usually
+referred to before the link:
+
+.. code-block:: rst
+
+  If policy :prop_tgt:`CMP0022` is set to ``NEW`` the behavior is ...
+
+However, markup self-references with ``inline-literal`` syntax.
+For example, within the :command:`add_executable` command
+documentation, use
+
+.. code-block:: rst
+
+  ``add_executable``
+
+not
+
+.. code-block:: rst
+
+  :command:`add_executable`
+
+which is used elsewhere.
+
+Modules
+=======
+
+The ``Modules`` directory contains CMake-language ``.cmake`` module files.
+
+Module Documentation
+--------------------
+
+To document CMake module ``Modules/<module-name>.cmake``, modify
+``Help/manual/cmake-modules.7.rst`` to reference the module in the
+``toctree`` directive, in sorted order, as::
+
+ /module/<module-name>
+
+Then add the module document file ``Help/module/<module-name>.rst``
+containing just the line::
+
+ .. cmake-module:: ../../Modules/<module-name>.cmake
+
+The ``cmake-module`` directive will scan the module file to extract
+reStructuredText markup from comment blocks that start in ``.rst:``.
+At the top of ``Modules/<module-name>.cmake``, begin with the following
+license notice:
+
+.. code-block:: cmake
+
+ # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+ # file Copyright.txt or https://cmake.org/licensing for details.
+
+After this notice, add a *BLANK* line.  Then, add documentation using
+a :ref:`Line Comment` block of the form:
+
+.. code-block:: cmake
+
+ #.rst:
+ # <module-name>
+ # -------------
+ #
+ # <reStructuredText documentation of module>
+
+or a :ref:`Bracket Comment` of the form:
+
+::
+
+ #[[.rst:
+ <module-name>
+ -------------
+
+ <reStructuredText documentation of module>
+ #]]
+
+Any number of ``=`` may be used in the opening and closing brackets
+as long as they match.  Content on the line containing the closing
+bracket is excluded if and only if the line starts in ``#``.
+
+Additional such ``.rst:`` comments may appear anywhere in the module file.
+All such comments must start with ``#`` in the first column.
+
+For example, a ``Modules/Findxxx.cmake`` module may contain:
+
+::
+
+ # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+ # file Copyright.txt or https://cmake.org/licensing for details.
+
+ #.rst:
+ # FindXxx
+ # -------
+ #
+ # This is a cool module.
+ # This module does really cool stuff.
+ # It can do even more than you think.
+ #
+ # It even needs two paragraphs to tell you about it.
+ # And it defines the following variables:
+ #
+ # * VAR_COOL: this is great isn't it?
+ # * VAR_REALLY_COOL: cool right?
+
+ <code>
+
+ #[========================================[.rst:
+ .. command:: xxx_do_something
+
+  This command does something for Xxx::
+
+   xxx_do_something(some arguments)
+ #]========================================]
+ macro(xxx_do_something)
+   <code>
+ endmacro()
+
+Test the documentation formatting by running
+``cmake --help-module <module-name>``, and also by enabling the
+``SPHINX_HTML`` and ``SPHINX_MAN`` options to build the documentation.
+Edit the comments until generated documentation looks satisfactory.  To
+have a .cmake file in this directory NOT show up in the modules
+documentation, simply leave out the ``Help/module/<module-name>.rst``
+file and the ``Help/manual/cmake-modules.7.rst`` toctree entry.
+
+.. _`Find Modules`:
+
+Find Modules
+------------
+
+A "find module" is a ``Modules/Find<package>.cmake`` file to be loaded
+by the :command:`find_package` command when invoked for ``<package>``.
+
+The primary task of a find module is to determine whether a package
+exists on the system, set the ``<package>_FOUND`` variable to reflect
+this and provide any variables, macros and imported targets required to
+use the package.  A find module is useful in cases where an upstream
+library does not provide a
+:ref:`config file package <Config File Packages>`.
+
+The traditional approach is to use variables for everything, including
+libraries and executables: see the `Standard Variable Names`_ section
+below.  This is what most of the existing find modules provided by CMake
+do.
+
+The more modern approach is to behave as much like
+:ref:`config file packages <Config File Packages>` files as possible, by
+providing :ref:`imported target <Imported targets>`.  This has the advantage
+of propagating :ref:`Target Usage Requirements` to consumers.
+
+In either case (or even when providing both variables and imported
+targets), find modules should provide backwards compatibility with old
+versions that had the same name.
+
+A FindFoo.cmake module will typically be loaded by the command::
+
+  find_package(Foo [major[.minor[.patch[.tweak]]]]
+               [EXACT] [QUIET] [REQUIRED]
+               [[COMPONENTS] [components...]]
+               [OPTIONAL_COMPONENTS components...]
+               [NO_POLICY_SCOPE])
+
+See the :command:`find_package` documentation for details on what
+variables are set for the find module.  Most of these are dealt with by
+using :module:`FindPackageHandleStandardArgs`.
+
+Briefly, the module should only locate versions of the package
+compatible with the requested version, as described by the
+``Foo_FIND_VERSION`` family of variables.  If ``Foo_FIND_QUIETLY`` is
+set to true, it should avoid printing messages, including anything
+complaining about the package not being found.  If ``Foo_FIND_REQUIRED``
+is set to true, the module should issue a ``FATAL_ERROR`` if the package
+cannot be found.  If neither are set to true, it should print a
+non-fatal message if it cannot find the package.
+
+Packages that find multiple semi-independent parts (like bundles of
+libraries) should search for the components listed in
+``Foo_FIND_COMPONENTS`` if it is set , and only set ``Foo_FOUND`` to
+true if for each searched-for component ``<c>`` that was not found,
+``Foo_FIND_REQUIRED_<c>`` is not set to true.  The ``HANDLE_COMPONENTS``
+argument of ``find_package_handle_standard_args()`` can be used to
+implement this.
+
+If ``Foo_FIND_COMPONENTS`` is not set, which modules are searched for
+and required is up to the find module, but should be documented.
+
+For internal implementation, it is a generally accepted convention that
+variables starting with underscore are for temporary use only.
+
+Like all modules, find modules should be properly documented.  To add a
+module to the CMake documentation, follow the steps in the `Module
+Documentation`_ section above.
+
+
+
+Standard Variable Names
+^^^^^^^^^^^^^^^^^^^^^^^
+
+For a ``FindXxx.cmake`` module that takes the approach of setting
+variables (either instead of or in addition to creating imported
+targets), the following variable names should be used to keep things
+consistent between find modules.  Note that all variables start with
+``Xxx_`` to make sure they do not interfere with other find modules; the
+same consideration applies to macros, functions and imported targets.
+
+``Xxx_INCLUDE_DIRS``
+  The final set of include directories listed in one variable for use by
+  client code.  This should not be a cache entry.
+
+``Xxx_LIBRARIES``
+  The libraries to link against to use Xxx. These should include full
+  paths.  This should not be a cache entry.
+
+``Xxx_DEFINITIONS``
+  Definitions to use when compiling code that uses Xxx. This really
+  shouldn't include options such as ``-DHAS_JPEG`` that a client
+  source-code file uses to decide whether to ``#include <jpeg.h>``
+
+``Xxx_EXECUTABLE``
+  Where to find the Xxx tool.
+
+``Xxx_Yyy_EXECUTABLE``
+  Where to find the Yyy tool that comes with Xxx.
+
+``Xxx_LIBRARY_DIRS``
+  Optionally, the final set of library directories listed in one
+  variable for use by client code.  This should not be a cache entry.
+
+``Xxx_ROOT_DIR``
+  Where to find the base directory of Xxx.
+
+``Xxx_VERSION_Yy``
+  Expect Version Yy if true. Make sure at most one of these is ever true.
+
+``Xxx_WRAP_Yy``
+  If False, do not try to use the relevant CMake wrapping command.
+
+``Xxx_Yy_FOUND``
+  If False, optional Yy part of Xxx system is not available.
+
+``Xxx_FOUND``
+  Set to false, or undefined, if we haven't found, or don't want to use
+  Xxx.
+
+``Xxx_NOT_FOUND_MESSAGE``
+  Should be set by config-files in the case that it has set
+  ``Xxx_FOUND`` to FALSE.  The contained message will be printed by the
+  :command:`find_package` command and by
+  ``find_package_handle_standard_args()`` to inform the user about the
+  problem.
+
+``Xxx_RUNTIME_LIBRARY_DIRS``
+  Optionally, the runtime library search path for use when running an
+  executable linked to shared libraries.  The list should be used by
+  user code to create the ``PATH`` on windows or ``LD_LIBRARY_PATH`` on
+  UNIX.  This should not be a cache entry.
+
+``Xxx_VERSION``
+  The full version string of the package found, if any.  Note that many
+  existing modules provide ``Xxx_VERSION_STRING`` instead.
+
+``Xxx_VERSION_MAJOR``
+  The major version of the package found, if any.
+
+``Xxx_VERSION_MINOR``
+  The minor version of the package found, if any.
+
+``Xxx_VERSION_PATCH``
+  The patch version of the package found, if any.
+
+The following names should not usually be used in CMakeLists.txt files, but
+are typically cache variables for users to edit and control the
+behaviour of find modules (like entering the path to a library manually)
+
+``Xxx_LIBRARY``
+  The path of the Xxx library (as used with :command:`find_library`, for
+  example).
+
+``Xxx_Yy_LIBRARY``
+  The path of the Yy library that is part of the Xxx system. It may or
+  may not be required to use Xxx.
+
+``Xxx_INCLUDE_DIR``
+  Where to find headers for using the Xxx library.
+
+``Xxx_Yy_INCLUDE_DIR``
+  Where to find headers for using the Yy library of the Xxx system.
+
+To prevent users being overwhelmed with settings to configure, try to
+keep as many options as possible out of the cache, leaving at least one
+option which can be used to disable use of the module, or locate a
+not-found library (e.g. ``Xxx_ROOT_DIR``).  For the same reason, mark
+most cache options as advanced.  For packages which provide both debug
+and release binaries, it is common to create cache variables with a
+``_LIBRARY_<CONFIG>`` suffix, such as ``Foo_LIBRARY_RELEASE`` and
+``Foo_LIBRARY_DEBUG``.
+
+While these are the standard variable names, you should provide
+backwards compatibility for any old names that were actually in use.
+Make sure you comment them as deprecated, so that no-one starts using
+them.
+
+
+
+A Sample Find Module
+^^^^^^^^^^^^^^^^^^^^
+
+We will describe how to create a simple find module for a library
+``Foo``.
+
+The first thing that is needed is a license notice.
+
+.. code-block:: cmake
+
+ # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+ # file Copyright.txt or https://cmake.org/licensing for details.
+
+Next we need module documentation.  CMake's documentation system requires you
+to follow the license notice with a blank line and then with a documentation
+marker and the name of the module.  You should follow this with a simple
+statement of what the module does.
+
+.. code-block:: cmake
+
+  #.rst:
+  # FindFoo
+  # -------
+  #
+  # Finds the Foo library
+  #
+
+More description may be required for some packages.  If there are
+caveats or other details users of the module should be aware of, you can
+add further paragraphs below this.  Then you need to document what
+variables and imported targets are set by the module, such as
+
+.. code-block:: cmake
+
+  # This will define the following variables::
+  #
+  #   Foo_FOUND    - True if the system has the Foo library
+  #   Foo_VERSION  - The version of the Foo library which was found
+  #
+  # and the following imported targets::
+  #
+  #   Foo::Foo   - The Foo library
+
+If the package provides any macros, they should be listed here, but can
+be documented where they are defined.  See the `Module
+Documentation`_ section above for more details.
+
+Now the actual libraries and so on have to be found.  The code here will
+obviously vary from module to module (dealing with that, after all, is the
+point of find modules), but there tends to be a common pattern for libraries.
+
+First, we try to use ``pkg-config`` to find the library.  Note that we
+cannot rely on this, as it may not be available, but it provides a good
+starting point.
+
+.. code-block:: cmake
+
+  find_package(PkgConfig)
+  pkg_check_modules(PC_Foo QUIET Foo)
+
+This should define some variables starting ``PC_Foo_`` that contain the
+information from the ``Foo.pc`` file.
+
+Now we need to find the libraries and include files; we use the
+information from ``pkg-config`` to provide hints to CMake about where to
+look.
+
+.. code-block:: cmake
+
+  find_path(Foo_INCLUDE_DIR
+    NAMES foo.h
+    PATHS ${PC_Foo_INCLUDE_DIRS}
+    PATH_SUFFIXES Foo
+  )
+  find_library(Foo_LIBRARY
+    NAMES foo
+    PATHS ${PC_Foo_LIBRARY_DIRS}
+  )
+
+If you have a good way of getting the version (from a header file, for
+example), you can use that information to set ``Foo_VERSION`` (although
+note that find modules have traditionally used ``Foo_VERSION_STRING``,
+so you may want to set both).  Otherwise, attempt to use the information
+from ``pkg-config``
+
+.. code-block:: cmake
+
+  set(Foo_VERSION ${PC_Foo_VERSION})
+
+Now we can use :module:`FindPackageHandleStandardArgs` to do most of the
+rest of the work for us
+
+.. code-block:: cmake
+
+  include(FindPackageHandleStandardArgs)
+  find_package_handle_standard_args(Foo
+    FOUND_VAR Foo_FOUND
+    REQUIRED_VARS
+      Foo_LIBRARY
+      Foo_INCLUDE_DIR
+    VERSION_VAR Foo_VERSION
+  )
+
+This will check that the ``REQUIRED_VARS`` contain values (that do not
+end in ``-NOTFOUND``) and set ``Foo_FOUND`` appropriately.  It will also
+cache those values.  If ``Foo_VERSION`` is set, and a required version
+was passed to :command:`find_package`, it will check the requested version
+against the one in ``Foo_VERSION``.  It will also print messages as
+appropriate; note that if the package was found, it will print the
+contents of the first required variable to indicate where it was found.
+
+At this point, we have to provide a way for users of the find module to
+link to the library or libraries that were found.  There are two
+approaches, as discussed in the `Find Modules`_ section above.  The
+traditional variable approach looks like
+
+.. code-block:: cmake
+
+  if(Foo_FOUND)
+    set(Foo_LIBRARIES ${Foo_LIBRARY})
+    set(Foo_INCLUDE_DIRS ${Foo_INCLUDE_DIR})
+    set(Foo_DEFINITIONS ${PC_Foo_CFLAGS_OTHER})
+  endif()
+
+If more than one library was found, all of them should be included in
+these variables (see the `Standard Variable Names`_ section for more
+information).
+
+When providing imported targets, these should be namespaced (hence the
+``Foo::`` prefix); CMake will recognize that values passed to
+:command:`target_link_libraries` that contain ``::`` in their name are
+supposed to be imported targets (rather than just library names), and
+will produce appropriate diagnostic messages if that target does not
+exist (see policy :policy:`CMP0028`).
+
+.. code-block:: cmake
+
+  if(Foo_FOUND AND NOT TARGET Foo::Foo)
+    add_library(Foo::Foo UNKNOWN IMPORTED)
+    set_target_properties(Foo::Foo PROPERTIES
+      IMPORTED_LOCATION "${Foo_LIBRARY}"
+      INTERFACE_COMPILE_OPTIONS "${PC_Foo_CFLAGS_OTHER}"
+      INTERFACE_INCLUDE_DIRECTORIES "${Foo_INCLUDE_DIR}"
+    )
+  endif()
+
+One thing to note about this is that the ``INTERFACE_INCLUDE_DIRECTORIES`` and
+similar properties should only contain information about the target itself, and
+not any of its dependencies.  Instead, those dependencies should also be
+targets, and CMake should be told that they are dependencies of this target.
+CMake will then combine all the necessary information automatically.
+
+The type of the :prop_tgt:`IMPORTED` target created in the
+:command:`add_library` command can always be specified as ``UNKNOWN``
+type.  This simplifies the code in cases where static or shared variants may
+be found, and CMake will determine the type by inspecting the files.
+
+If the library is available with multiple configurations, the
+:prop_tgt:`IMPORTED_CONFIGURATIONS` target property should also be
+populated:
+
+.. code-block:: cmake
+
+  if(Foo_FOUND)
+    if (NOT TARGET Foo::Foo)
+      add_library(Foo::Foo UNKNOWN IMPORTED)
+    endif()
+    if (Foo_LIBRARY_RELEASE)
+      set_property(TARGET Foo::Foo APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE
+      )
+      set_target_properties(Foo::Foo PROPERTIES
+        IMPORTED_LOCATION_RELEASE "${Foo_LIBRARY_RELEASE}"
+      )
+    endif()
+    if (Foo_LIBRARY_DEBUG)
+      set_property(TARGET Foo::Foo APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG
+      )
+      set_target_properties(Foo::Foo PROPERTIES
+        IMPORTED_LOCATION_DEBUG "${Foo_LIBRARY_DEBUG}"
+      )
+    endif()
+    set_target_properties(Foo::Foo PROPERTIES
+      INTERFACE_COMPILE_OPTIONS "${PC_Foo_CFLAGS_OTHER}"
+      INTERFACE_INCLUDE_DIRECTORIES "${Foo_INCLUDE_DIR}"
+    )
+  endif()
+
+The ``RELEASE`` variant should be listed first in the property
+so that that variant is chosen if the user uses a configuration which is
+not an exact match for any listed ``IMPORTED_CONFIGURATIONS``.
+
+Most of the cache variables should be hidden in the ``ccmake`` interface unless
+the user explicitly asks to edit them.
+
+.. code-block:: cmake
+
+  mark_as_advanced(
+    Foo_INCLUDE_DIR
+    Foo_LIBRARY
+  )
+
+If this module replaces an older version, you should set compatibility variables
+to cause the least disruption possible.
+
+.. code-block:: cmake
+
+  # compatibility variables
+  set(Foo_VERSION_STRING ${Foo_VERSION})
diff --git a/share/cmake-3.10/Help/manual/cmake-env-variables.7.rst b/share/cmake-3.10/Help/manual/cmake-env-variables.7.rst
new file mode 100644
index 0000000..fed129e
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-env-variables.7.rst
@@ -0,0 +1,54 @@
+.. cmake-manual-description: CMake Environment Variables Reference
+
+cmake-env-variables(7)
+**********************
+
+.. only:: html
+
+   .. contents::
+
+Environment Variables that Control the Build
+============================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /envvar/CMAKE_CONFIG_TYPE
+   /envvar/CMAKE_MSVCIDE_RUN_PATH
+   /envvar/CMAKE_OSX_ARCHITECTURES
+   /envvar/LDFLAGS
+   /envvar/MACOSX_DEPLOYMENT_TARGET
+
+Environment Variables for Languages
+===================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /envvar/ASM_DIALECT
+   /envvar/ASM_DIALECTFLAGS
+   /envvar/CC
+   /envvar/CFLAGS
+   /envvar/CSFLAGS
+   /envvar/CUDACXX
+   /envvar/CUDAFLAGS
+   /envvar/CUDAHOSTCXX
+   /envvar/CXX
+   /envvar/CXXFLAGS
+   /envvar/FC
+   /envvar/FFLAGS
+   /envvar/RC
+   /envvar/RCFLAGS
+
+Environment Variables for CTest
+===============================
+
+.. toctree::
+   :maxdepth: 1
+
+   /envvar/CMAKE_CONFIG_TYPE
+   /envvar/CTEST_INTERACTIVE_DEBUG_MODE
+   /envvar/CTEST_OUTPUT_ON_FAILURE
+   /envvar/CTEST_PARALLEL_LEVEL
+   /envvar/CTEST_USE_LAUNCHERS_DEFAULT
+   /envvar/DASHBOARD_TEST_FROM_CTEST
diff --git a/share/cmake-3.10/Help/manual/cmake-generator-expressions.7.rst b/share/cmake-3.10/Help/manual/cmake-generator-expressions.7.rst
new file mode 100644
index 0000000..bddb174
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-generator-expressions.7.rst
@@ -0,0 +1,297 @@
+.. cmake-manual-description: CMake Generator Expressions
+
+cmake-generator-expressions(7)
+******************************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+Generator expressions are evaluated during build system generation to produce
+information specific to each build configuration.
+
+Generator expressions are allowed in the context of many target properties,
+such as :prop_tgt:`LINK_LIBRARIES`, :prop_tgt:`INCLUDE_DIRECTORIES`,
+:prop_tgt:`COMPILE_DEFINITIONS` and others.  They may also be used when using
+commands to populate those properties, such as :command:`target_link_libraries`,
+:command:`target_include_directories`, :command:`target_compile_definitions`
+and others.
+
+This means that they enable conditional linking, conditional
+definitions used when compiling, and conditional include directories and
+more.  The conditions may be based on the build configuration, target
+properties, platform information or any other queryable information.
+
+Logical Expressions
+===================
+
+Logical expressions are used to create conditional output.  The basic
+expressions are the ``0`` and ``1`` expressions.  Because other logical
+expressions evaluate to either ``0`` or ``1``, they can be composed to
+create conditional output::
+
+  $<$<CONFIG:Debug>:DEBUG_MODE>
+
+expands to ``DEBUG_MODE`` when the ``Debug`` configuration is used, and
+otherwise expands to nothing.
+
+Available logical expressions are:
+
+``$<BOOL:...>``
+  ``1`` if the ``...`` is true, else ``0``
+``$<AND:?[,?]...>``
+  ``1`` if all ``?`` are ``1``, else ``0``
+
+  The ``?`` must always be either ``0`` or ``1`` in boolean expressions.
+
+``$<OR:?[,?]...>``
+  ``0`` if all ``?`` are ``0``, else ``1``
+``$<NOT:?>``
+  ``0`` if ``?`` is ``1``, else ``1``
+``$<IF:?,true-value...,false-value...>```
+  ``true-value...`` if ``?`` is ``1``, ``false-value...`` if ``?`` is ``0``
+``$<STREQUAL:a,b>``
+  ``1`` if ``a`` is STREQUAL ``b``, else ``0``
+``$<EQUAL:a,b>``
+  ``1`` if ``a`` is EQUAL ``b`` in a numeric comparison, else ``0``
+``$<CONFIG:cfg>``
+  ``1`` if config is ``cfg``, else ``0``. This is a case-insensitive comparison.
+  The mapping in :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` is also considered by
+  this expression when it is evaluated on a property on an :prop_tgt:`IMPORTED`
+  target.
+``$<PLATFORM_ID:comp>``
+  ``1`` if the CMake-id of the platform matches ``comp``, otherwise ``0``.
+``$<C_COMPILER_ID:comp>``
+  ``1`` if the CMake-id of the C compiler matches ``comp``, otherwise ``0``.
+``$<CXX_COMPILER_ID:comp>``
+  ``1`` if the CMake-id of the CXX compiler matches ``comp``, otherwise ``0``.
+``$<VERSION_LESS:v1,v2>``
+  ``1`` if ``v1`` is a version less than ``v2``, else ``0``.
+``$<VERSION_GREATER:v1,v2>``
+  ``1`` if ``v1`` is a version greater than ``v2``, else ``0``.
+``$<VERSION_EQUAL:v1,v2>``
+  ``1`` if ``v1`` is the same version as ``v2``, else ``0``.
+``$<VERSION_LESS_EQUAL:v1,v2>``
+  ``1`` if ``v1`` is a version less than or equal to ``v2``, else ``0``.
+``$<VERSION_GREATER_EQUAL:v1,v2>``
+  ``1`` if ``v1`` is a version greater than or equal to ``v2``, else ``0``.
+``$<C_COMPILER_VERSION:ver>``
+  ``1`` if the version of the C compiler matches ``ver``, otherwise ``0``.
+``$<CXX_COMPILER_VERSION:ver>``
+  ``1`` if the version of the CXX compiler matches ``ver``, otherwise ``0``.
+``$<TARGET_POLICY:pol>``
+  ``1`` if the policy ``pol`` was NEW when the 'head' target was created,
+  else ``0``.  If the policy was not set, the warning message for the policy
+  will be emitted. This generator expression only works for a subset of
+  policies.
+``$<COMPILE_FEATURES:feature[,feature]...>``
+  ``1`` if all of the ``feature`` features are available for the 'head'
+  target, and ``0`` otherwise. If this expression is used while evaluating
+  the link implementation of a target and if any dependency transitively
+  increases the required :prop_tgt:`C_STANDARD` or :prop_tgt:`CXX_STANDARD`
+  for the 'head' target, an error is reported.  See the
+  :manual:`cmake-compile-features(7)` manual for information on
+  compile features and a list of supported compilers.
+``$<COMPILE_LANGUAGE:lang>``
+  ``1`` when the language used for compilation unit matches ``lang``,
+  otherwise ``0``.  This expression used to specify compile options for
+  source files of a particular language in a target. For example, to specify
+  the use of the ``-fno-exceptions`` compile option (compiler id checks
+  elided):
+
+  .. code-block:: cmake
+
+    add_executable(myapp main.cpp foo.c bar.cpp)
+    target_compile_options(myapp
+      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>
+    )
+
+  This generator expression has limited use because it is not possible to
+  use it with the Visual Studio generators.  Portable buildsystems would
+  not use this expression, and would create separate libraries for each
+  source file language instead:
+
+  .. code-block:: cmake
+
+    add_library(myapp_c foo.c)
+    add_library(myapp_cxx bar.cpp)
+    target_compile_options(myapp_cxx PUBLIC -fno-exceptions)
+    add_executable(myapp main.cpp)
+    target_link_libraries(myapp myapp_c myapp_cxx)
+
+  The ``Makefile`` and ``Ninja`` based generators can also use this
+  expression to specify compile-language specific compile definitions
+  and include directories:
+
+  .. code-block:: cmake
+
+    add_executable(myapp main.cpp foo.c bar.cpp)
+    target_compile_definitions(myapp
+      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:COMPILING_CXX>
+    )
+    target_include_directories(myapp
+      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/opt/foo/cxx_headers>
+    )
+
+Informational Expressions
+=========================
+
+These expressions expand to some information. The information may be used
+directly, eg::
+
+  include_directories(/usr/include/$<CXX_COMPILER_ID>/)
+
+expands to ``/usr/include/GNU/`` or ``/usr/include/Clang/`` etc, depending on
+the Id of the compiler.
+
+These expressions may also may be combined with logical expressions::
+
+  $<$<VERSION_LESS:$<CXX_COMPILER_VERSION>,4.2.0>:OLD_COMPILER>
+
+expands to ``OLD_COMPILER`` if the
+:variable:`CMAKE_CXX_COMPILER_VERSION <CMAKE_<LANG>_COMPILER_VERSION>` is less
+than 4.2.0.
+
+Available informational expressions are:
+
+``$<CONFIGURATION>``
+  Configuration name. Deprecated. Use ``CONFIG`` instead.
+``$<CONFIG>``
+  Configuration name
+``$<PLATFORM_ID>``
+  The CMake-id of the platform.
+  See also the :variable:`CMAKE_SYSTEM_NAME` variable.
+``$<C_COMPILER_ID>``
+  The CMake-id of the C compiler used.
+  See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
+``$<CXX_COMPILER_ID>``
+  The CMake-id of the CXX compiler used.
+  See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
+``$<C_COMPILER_VERSION>``
+  The version of the C compiler used.
+  See also the :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable.
+``$<CXX_COMPILER_VERSION>``
+  The version of the CXX compiler used.
+  See also the :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable.
+``$<TARGET_FILE:tgt>``
+  Full path to main file (.exe, .so.1.2, .a) where ``tgt`` is the name of a target.
+``$<TARGET_FILE_NAME:tgt>``
+  Name of main file (.exe, .so.1.2, .a).
+``$<TARGET_FILE_DIR:tgt>``
+  Directory of main file (.exe, .so.1.2, .a).
+``$<TARGET_LINKER_FILE:tgt>``
+  File used to link (.a, .lib, .so) where ``tgt`` is the name of a target.
+``$<TARGET_LINKER_FILE_NAME:tgt>``
+  Name of file used to link (.a, .lib, .so).
+``$<TARGET_LINKER_FILE_DIR:tgt>``
+  Directory of file used to link (.a, .lib, .so).
+``$<TARGET_SONAME_FILE:tgt>``
+  File with soname (.so.3) where ``tgt`` is the name of a target.
+``$<TARGET_SONAME_FILE_NAME:tgt>``
+  Name of file with soname (.so.3).
+``$<TARGET_SONAME_FILE_DIR:tgt>``
+  Directory of with soname (.so.3).
+``$<TARGET_PDB_FILE:tgt>``
+  Full path to the linker generated program database file (.pdb)
+  where ``tgt`` is the name of a target.
+
+  See also the :prop_tgt:`PDB_NAME` and :prop_tgt:`PDB_OUTPUT_DIRECTORY`
+  target properties and their configuration specific variants
+  :prop_tgt:`PDB_NAME_<CONFIG>` and :prop_tgt:`PDB_OUTPUT_DIRECTORY_<CONFIG>`.
+``$<TARGET_PDB_FILE_NAME:tgt>``
+  Name of the linker generated program database file (.pdb).
+``$<TARGET_PDB_FILE_DIR:tgt>``
+  Directory of the linker generated program database file (.pdb).
+``$<TARGET_BUNDLE_DIR:tgt>``
+  Full path to the bundle directory (``my.app``, ``my.framework``, or
+  ``my.bundle``) where ``tgt`` is the name of a target.
+``$<TARGET_BUNDLE_CONTENT_DIR:tgt>``
+  Full path to the bundle content directory where ``tgt`` is the name of a
+  target. For the macOS SDK it leads to ``my.app/Contents``, ``my.framework``,
+  or ``my.bundle/Contents``. For all other SDKs (e.g. iOS) it leads to
+  ``my.app``, ``my.framework``, or ``my.bundle`` due to the flat bundle
+  structure.
+``$<TARGET_PROPERTY:tgt,prop>``
+  Value of the property ``prop`` on the target ``tgt``.
+
+  Note that ``tgt`` is not added as a dependency of the target this
+  expression is evaluated on.
+``$<TARGET_PROPERTY:prop>``
+  Value of the property ``prop`` on the target on which the generator
+  expression is evaluated.
+``$<INSTALL_PREFIX>``
+  Content of the install prefix when the target is exported via
+  :command:`install(EXPORT)` and empty otherwise.
+``$<COMPILE_LANGUAGE>``
+  The compile language of source files when evaluating compile options. See
+  the unary version for notes about portability of this generator
+  expression.
+
+Output Expressions
+==================
+
+These expressions generate output, in some cases depending on an input. These
+expressions may be combined with other expressions for information or logical
+comparison::
+
+  -I$<JOIN:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>, -I>
+
+generates a string of the entries in the :prop_tgt:`INCLUDE_DIRECTORIES` target
+property with each entry preceded by ``-I``. Note that a more-complete use
+in this situation would require first checking if the INCLUDE_DIRECTORIES
+property is non-empty::
+
+  $<$<BOOL:${prop}>:-I$<JOIN:${prop}, -I>>
+
+where ``${prop}`` refers to a helper variable::
+
+  set(prop "$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>")
+
+Available output expressions are:
+
+``$<0:...>``
+  Empty string (ignores ``...``)
+``$<1:...>``
+  Content of ``...``
+``$<JOIN:list,...>``
+  Joins the list with the content of ``...``
+``$<ANGLE-R>``
+  A literal ``>``. Used to compare strings which contain a ``>`` for example.
+``$<COMMA>``
+  A literal ``,``. Used to compare strings which contain a ``,`` for example.
+``$<SEMICOLON>``
+  A literal ``;``. Used to prevent list expansion on an argument with ``;``.
+``$<TARGET_NAME:...>``
+  Marks ``...`` as being the name of a target.  This is required if exporting
+  targets to multiple dependent export sets.  The ``...`` must be a literal
+  name of a target- it may not contain generator expressions.
+``$<LINK_ONLY:...>``
+  Content of ``...`` except when evaluated in a link interface while
+  propagating :ref:`Target Usage Requirements`, in which case it is the
+  empty string.
+  Intended for use only in an :prop_tgt:`INTERFACE_LINK_LIBRARIES` target
+  property, perhaps via the :command:`target_link_libraries` command,
+  to specify private link dependencies without other usage requirements.
+``$<INSTALL_INTERFACE:...>``
+  Content of ``...`` when the property is exported using :command:`install(EXPORT)`,
+  and empty otherwise.
+``$<BUILD_INTERFACE:...>``
+  Content of ``...`` when the property is exported using :command:`export`, or
+  when the target is used by another target in the same buildsystem. Expands to
+  the empty string otherwise.
+``$<LOWER_CASE:...>``
+  Content of ``...`` converted to lower case.
+``$<UPPER_CASE:...>``
+  Content of ``...`` converted to upper case.
+``$<MAKE_C_IDENTIFIER:...>``
+  Content of ``...`` converted to a C identifier.
+``$<TARGET_OBJECTS:objLib>``
+  List of objects resulting from build of ``objLib``. ``objLib`` must be an
+  object of type ``OBJECT_LIBRARY``.
+``$<SHELL_PATH:...>``
+  Content of ``...`` converted to shell path style. For example, slashes are
+  converted to backslashes in Windows shells and drive letters are converted
+  to posix paths in MSYS shells. The ``...`` must be an absolute path.
diff --git a/share/cmake-3.10/Help/manual/cmake-generators.7.rst b/share/cmake-3.10/Help/manual/cmake-generators.7.rst
new file mode 100644
index 0000000..a37c65b
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-generators.7.rst
@@ -0,0 +1,113 @@
+.. cmake-manual-description: CMake Generators Reference
+
+cmake-generators(7)
+*******************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+A *CMake Generator* is responsible for writing the input files for
+a native build system.  Exactly one of the `CMake Generators`_ must be
+selected for a build tree to determine what native build system is to
+be used.  Optionally one of the `Extra Generators`_ may be selected
+as a variant of some of the `Command-Line Build Tool Generators`_ to
+produce project files for an auxiliary IDE.
+
+CMake Generators are platform-specific so each may be available only
+on certain platforms.  The :manual:`cmake(1)` command-line tool ``--help``
+output lists available generators on the current platform.  Use its ``-G``
+option to specify the generator for a new build tree.
+The :manual:`cmake-gui(1)` offers interactive selection of a generator
+when creating a new build tree.
+
+CMake Generators
+================
+
+Command-Line Build Tool Generators
+----------------------------------
+
+These generators support command-line build tools.  In order to use them,
+one must launch CMake from a command-line prompt whose environment is
+already configured for the chosen compiler and build tool.
+
+.. _`Makefile Generators`:
+
+Makefile Generators
+^^^^^^^^^^^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+
+   /generator/Borland Makefiles
+   /generator/MSYS Makefiles
+   /generator/MinGW Makefiles
+   /generator/NMake Makefiles
+   /generator/NMake Makefiles JOM
+   /generator/Unix Makefiles
+   /generator/Watcom WMake
+
+Ninja Generator
+^^^^^^^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+
+   /generator/Ninja
+
+IDE Build Tool Generators
+-------------------------
+
+These generators support Integrated Development Environment (IDE)
+project files.  Since the IDEs configure their own environment
+one may launch CMake from any environment.
+
+.. _`Visual Studio Generators`:
+
+Visual Studio Generators
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+
+   /generator/Visual Studio 6
+   /generator/Visual Studio 7
+   /generator/Visual Studio 7 .NET 2003
+   /generator/Visual Studio 8 2005
+   /generator/Visual Studio 9 2008
+   /generator/Visual Studio 10 2010
+   /generator/Visual Studio 11 2012
+   /generator/Visual Studio 12 2013
+   /generator/Visual Studio 14 2015
+   /generator/Visual Studio 15 2017
+
+Other Generators
+^^^^^^^^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+
+   /generator/Green Hills MULTI
+   /generator/Xcode
+
+Extra Generators
+================
+
+Some of the `CMake Generators`_ listed in the :manual:`cmake(1)`
+command-line tool ``--help`` output may have variants that specify
+an extra generator for an auxiliary IDE tool.  Such generator
+names have the form ``<extra-generator> - <main-generator>``.
+The following extra generators are known to CMake.
+
+.. toctree::
+   :maxdepth: 1
+
+   /generator/CodeBlocks
+   /generator/CodeLite
+   /generator/Eclipse CDT4
+   /generator/KDevelop3
+   /generator/Kate
+   /generator/Sublime Text 2
diff --git a/share/cmake-3.6/Help/manual/cmake-gui.1.rst b/share/cmake-3.10/Help/manual/cmake-gui.1.rst
similarity index 100%
rename from share/cmake-3.6/Help/manual/cmake-gui.1.rst
rename to share/cmake-3.10/Help/manual/cmake-gui.1.rst
diff --git a/share/cmake-3.10/Help/manual/cmake-language.7.rst b/share/cmake-3.10/Help/manual/cmake-language.7.rst
new file mode 100644
index 0000000..87f8f9d
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-language.7.rst
@@ -0,0 +1,580 @@
+.. cmake-manual-description: CMake Language Reference
+
+cmake-language(7)
+*****************
+
+.. only:: html
+
+   .. contents::
+
+Organization
+============
+
+CMake input files are written in the "CMake Language" in source files
+named ``CMakeLists.txt`` or ending in a ``.cmake`` file name extension.
+
+CMake Language source files in a project are organized into:
+
+* `Directories`_ (``CMakeLists.txt``),
+* `Scripts`_ (``<script>.cmake``), and
+* `Modules`_ (``<module>.cmake``).
+
+Directories
+-----------
+
+When CMake processes a project source tree, the entry point is
+a source file called ``CMakeLists.txt`` in the top-level source
+directory.  This file may contain the entire build specification
+or use the :command:`add_subdirectory` command to add subdirectories
+to the build.  Each subdirectory added by the command must also
+contain a ``CMakeLists.txt`` file as the entry point to that
+directory.  For each source directory whose ``CMakeLists.txt`` file
+is processed CMake generates a corresponding directory in the build
+tree to act as the default working and output directory.
+
+Scripts
+-------
+
+An individual ``<script>.cmake`` source file may be processed
+in *script mode* by using the :manual:`cmake(1)` command-line tool
+with the ``-P`` option.  Script mode simply runs the commands in
+the given CMake Language source file and does not generate a
+build system.  It does not allow CMake commands that define build
+targets or actions.
+
+Modules
+-------
+
+CMake Language code in either `Directories`_ or `Scripts`_ may
+use the :command:`include` command to load a ``<module>.cmake``
+source file in the scope of the including context.
+See the :manual:`cmake-modules(7)` manual page for documentation
+of modules included with the CMake distribution.
+Project source trees may also provide their own modules and
+specify their location(s) in the :variable:`CMAKE_MODULE_PATH`
+variable.
+
+Syntax
+======
+
+.. _`CMake Language Encoding`:
+
+Encoding
+--------
+
+A CMake Language source file may be written in 7-bit ASCII text for
+maximum portability across all supported platforms.  Newlines may be
+encoded as either ``\n`` or ``\r\n`` but will be converted to ``\n``
+as input files are read.
+
+Note that the implementation is 8-bit clean so source files may
+be encoded as UTF-8 on platforms with system APIs supporting this
+encoding.  In addition, CMake 3.2 and above support source files
+encoded in UTF-8 on Windows (using UTF-16 to call system APIs).
+Furthermore, CMake 3.0 and above allow a leading UTF-8
+`Byte-Order Mark`_ in source files.
+
+.. _`Byte-Order Mark`: http://en.wikipedia.org/wiki/Byte_order_mark
+
+Source Files
+------------
+
+A CMake Language source file consists of zero or more
+`Command Invocations`_ separated by newlines and optionally
+spaces and `Comments`_:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ file: `file_element`*
+ file_element: `command_invocation` `line_ending` |
+             : (`bracket_comment`|`space`)* `line_ending`
+ line_ending: `line_comment`? `newline`
+ space: <match '[ \t]+'>
+ newline: <match '\n'>
+
+.. raw:: latex
+
+   \end{small}
+
+Note that any source file line not inside `Command Arguments`_ or
+a `Bracket Comment`_ can end in a `Line Comment`_.
+
+.. _`Command Invocations`:
+
+Command Invocations
+-------------------
+
+A *command invocation* is a name followed by paren-enclosed arguments
+separated by whitespace:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ command_invocation: `space`* `identifier` `space`* '(' `arguments` ')'
+ identifier: <match '[A-Za-z_][A-Za-z0-9_]*'>
+ arguments: `argument`? `separated_arguments`*
+ separated_arguments: `separation`+ `argument`? |
+                    : `separation`* '(' `arguments` ')'
+ separation: `space` | `line_ending`
+
+.. raw:: latex
+
+   \end{small}
+
+For example:
+
+.. code-block:: cmake
+
+ add_executable(hello world.c)
+
+Command names are case-insensitive.
+Nested unquoted parentheses in the arguments must balance.
+Each ``(`` or ``)`` is given to the command invocation as
+a literal `Unquoted Argument`_.  This may be used in calls
+to the :command:`if` command to enclose conditions.
+For example:
+
+.. code-block:: cmake
+
+ if(FALSE AND (FALSE OR TRUE)) # evaluates to FALSE
+
+.. note::
+ CMake versions prior to 3.0 require command name identifiers
+ to be at least 2 characters.
+
+ CMake versions prior to 2.8.12 silently accept an `Unquoted Argument`_
+ or a `Quoted Argument`_ immediately following a `Quoted Argument`_ and
+ not separated by any whitespace.  For compatibility, CMake 2.8.12 and
+ higher accept such code but produce a warning.
+
+Command Arguments
+-----------------
+
+There are three types of arguments within `Command Invocations`_:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ argument: `bracket_argument` | `quoted_argument` | `unquoted_argument`
+
+.. raw:: latex
+
+   \end{small}
+
+.. _`Bracket Argument`:
+
+Bracket Argument
+^^^^^^^^^^^^^^^^
+
+A *bracket argument*, inspired by `Lua`_ long bracket syntax,
+encloses content between opening and closing "brackets" of the
+same length:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ bracket_argument: `bracket_open` `bracket_content` `bracket_close`
+ bracket_open: '[' '='* '['
+ bracket_content: <any text not containing a `bracket_close` with
+                :  the same number of '=' as the `bracket_open`>
+ bracket_close: ']' '='* ']'
+
+.. raw:: latex
+
+   \end{small}
+
+An opening bracket is written ``[`` followed by zero or more ``=`` followed
+by ``[``.  The corresponding closing bracket is written ``]`` followed
+by the same number of ``=`` followed by ``]``.
+Brackets do not nest.  A unique length may always be chosen
+for the opening and closing brackets to contain closing brackets
+of other lengths.
+
+Bracket argument content consists of all text between the opening
+and closing brackets, except that one newline immediately following
+the opening bracket, if any, is ignored.  No evaluation of the
+enclosed content, such as `Escape Sequences`_ or `Variable References`_,
+is performed.  A bracket argument is always given to the command
+invocation as exactly one argument.
+
+For example:
+
+.. code-block:: cmake
+
+ message([=[
+ This is the first line in a bracket argument with bracket length 1.
+ No \-escape sequences or ${variable} references are evaluated.
+ This is always one argument even though it contains a ; character.
+ The text does not end on a closing bracket of length 0 like ]].
+ It does end in a closing bracket of length 1.
+ ]=])
+
+.. note::
+ CMake versions prior to 3.0 do not support bracket arguments.
+ They interpret the opening bracket as the start of an
+ `Unquoted Argument`_.
+
+.. _`Lua`: http://www.lua.org/
+
+.. _`Quoted Argument`:
+
+Quoted Argument
+^^^^^^^^^^^^^^^
+
+A *quoted argument* encloses content between opening and closing
+double-quote characters:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ quoted_argument: '"' `quoted_element`* '"'
+ quoted_element: <any character except '\' or '"'> |
+                 : `escape_sequence` |
+                 : `quoted_continuation`
+ quoted_continuation: '\' `newline`
+
+.. raw:: latex
+
+   \end{small}
+
+Quoted argument content consists of all text between opening and
+closing quotes.  Both `Escape Sequences`_ and `Variable References`_
+are evaluated.  A quoted argument is always given to the command
+invocation as exactly one argument.
+
+For example:
+
+::
+
+ message("This is a quoted argument containing multiple lines.
+ This is always one argument even though it contains a ; character.
+ Both \\-escape sequences and ${variable} references are evaluated.
+ The text does not end on an escaped double-quote like \".
+ It does end in an unescaped double quote.
+ ")
+
+The final ``\`` on any line ending in an odd number of backslashes
+is treated as a line continuation and ignored along with the
+immediately following newline character.  For example:
+
+.. code-block:: cmake
+
+ message("\
+ This is the first line of a quoted argument. \
+ In fact it is the only line but since it is long \
+ the source code uses line continuation.\
+ ")
+
+.. note::
+ CMake versions prior to 3.0 do not support continuation with ``\``.
+ They report errors in quoted arguments containing lines ending in
+ an odd number of ``\`` characters.
+
+.. _`Unquoted Argument`:
+
+Unquoted Argument
+^^^^^^^^^^^^^^^^^
+
+An *unquoted argument* is not enclosed by any quoting syntax.
+It may not contain any whitespace, ``(``, ``)``, ``#``, ``"``, or ``\``
+except when escaped by a backslash:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ unquoted_argument: `unquoted_element`+ | `unquoted_legacy`
+ unquoted_element: <any character except whitespace or one of '()#"\'> |
+                 : `escape_sequence`
+ unquoted_legacy: <see note in text>
+
+.. raw:: latex
+
+   \end{small}
+
+Unquoted argument content consists of all text in a contiguous block
+of allowed or escaped characters.  Both `Escape Sequences`_ and
+`Variable References`_ are evaluated.  The resulting value is divided
+in the same way `Lists`_ divide into elements.  Each non-empty element
+is given to the command invocation as an argument.  Therefore an
+unquoted argument may be given to a command invocation as zero or
+more arguments.
+
+For example:
+
+.. code-block:: cmake
+
+ foreach(arg
+     NoSpace
+     Escaped\ Space
+     This;Divides;Into;Five;Arguments
+     Escaped\;Semicolon
+     )
+   message("${arg}")
+ endforeach()
+
+.. note::
+ To support legacy CMake code, unquoted arguments may also contain
+ double-quoted strings (``"..."``, possibly enclosing horizontal
+ whitespace), and make-style variable references (``$(MAKEVAR)``).
+
+ Unescaped double-quotes must balance, may not appear at the
+ beginning of an unquoted argument, and are treated as part of the
+ content.  For example, the unquoted arguments ``-Da="b c"``,
+ ``-Da=$(v)``, and ``a" "b"c"d`` are each interpreted literally.
+ They may instead be written as quoted arguments ``"-Da=\"b c\""``,
+ ``"-Da=$(v)"``, and ``"a\" \"b\"c\"d"``, respectively.
+
+ Make-style references are treated literally as part of the content
+ and do not undergo variable expansion.  They are treated as part
+ of a single argument (rather than as separate ``$``, ``(``,
+ ``MAKEVAR``, and ``)`` arguments).
+
+ The above "unquoted_legacy" production represents such arguments.
+ We do not recommend using legacy unquoted arguments in new code.
+ Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to
+ represent the content.
+
+.. _`Escape Sequences`:
+
+Escape Sequences
+----------------
+
+An *escape sequence* is a ``\`` followed by one character:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ escape_sequence: `escape_identity` | `escape_encoded` | `escape_semicolon`
+ escape_identity: '\' <match '[^A-Za-z0-9;]'>
+ escape_encoded: '\t' | '\r' | '\n'
+ escape_semicolon: '\;'
+
+.. raw:: latex
+
+   \end{small}
+
+A ``\`` followed by a non-alphanumeric character simply encodes the literal
+character without interpreting it as syntax.  A ``\t``, ``\r``, or ``\n``
+encodes a tab, carriage return, or newline character, respectively. A ``\;``
+outside of any `Variable References`_  encodes itself but may be used in an
+`Unquoted Argument`_ to encode the ``;`` without dividing the argument
+value on it.  A ``\;`` inside `Variable References`_ encodes the literal
+``;`` character.  (See also policy :policy:`CMP0053` documentation for
+historical considerations.)
+
+.. _`Variable References`:
+
+Variable References
+-------------------
+
+A *variable reference* has the form ``${variable_name}`` and is
+evaluated inside a `Quoted Argument`_ or an `Unquoted Argument`_.
+A variable reference is replaced by the value of the variable,
+or by the empty string if the variable is not set.
+Variable references can nest and are evaluated from the
+inside out, e.g. ``${outer_${inner_variable}_variable}``.
+
+Literal variable references may consist of alphanumeric characters,
+the characters ``/_.+-``, and `Escape Sequences`_.  Nested references
+may be used to evaluate variables of any name.  (See also policy
+:policy:`CMP0053` documentation for historical considerations.)
+
+The `Variables`_ section documents the scope of variable names
+and how their values are set.
+
+An *environment variable reference* has the form ``$ENV{VAR}`` and
+is evaluated in the same contexts as a normal variable reference.
+
+Comments
+--------
+
+A comment starts with a ``#`` character that is not inside a
+`Bracket Argument`_, `Quoted Argument`_, or escaped with ``\``
+as part of an `Unquoted Argument`_.  There are two types of
+comments: a `Bracket Comment`_ and a `Line Comment`_.
+
+.. _`Bracket Comment`:
+
+Bracket Comment
+^^^^^^^^^^^^^^^
+
+A ``#`` immediately followed by a `Bracket Argument`_ forms a
+*bracket comment* consisting of the entire bracket enclosure:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ bracket_comment: '#' `bracket_argument`
+
+.. raw:: latex
+
+   \end{small}
+
+For example:
+
+::
+
+ #[[This is a bracket comment.
+ It runs until the close bracket.]]
+ message("First Argument\n" #[[Bracket Comment]] "Second Argument")
+
+.. note::
+ CMake versions prior to 3.0 do not support bracket comments.
+ They interpret the opening ``#`` as the start of a `Line Comment`_.
+
+.. _`Line Comment`:
+
+Line Comment
+^^^^^^^^^^^^
+
+A ``#`` not immediately followed by a `Bracket Argument`_ forms a
+*line comment* that runs until the end of the line:
+
+.. raw:: latex
+
+   \begin{small}
+
+.. productionlist::
+ line_comment: '#' <any text not starting in a `bracket_argument`
+             :      and not containing a `newline`>
+
+.. raw:: latex
+
+   \end{small}
+
+For example:
+
+.. code-block:: cmake
+
+ # This is a line comment.
+ message("First Argument\n" # This is a line comment :)
+         "Second Argument") # This is a line comment.
+
+Control Structures
+==================
+
+Conditional Blocks
+------------------
+
+The :command:`if`/:command:`elseif`/:command:`else`/:command:`endif`
+commands delimit code blocks to be executed conditionally.
+
+Loops
+-----
+
+The :command:`foreach`/:command:`endforeach` and
+:command:`while`/:command:`endwhile` commands delimit code
+blocks to be executed in a loop.  Inside such blocks the
+:command:`break` command may be used to terminate the loop
+early whereas the :command:`continue` command may be used
+to start with the next iteration immediately.
+
+Command Definitions
+-------------------
+
+The :command:`macro`/:command:`endmacro`, and
+:command:`function`/:command:`endfunction` commands delimit
+code blocks to be recorded for later invocation as commands.
+
+.. _`CMake Language Variables`:
+
+Variables
+=========
+
+Variables are the basic unit of storage in the CMake Language.
+Their values are always of string type, though some commands may
+interpret the strings as values of other types.
+The :command:`set` and :command:`unset` commands explicitly
+set or unset a variable, but other commands have semantics
+that modify variables as well.
+Variable names are case-sensitive and may consist of almost
+any text, but we recommend sticking to names consisting only
+of alphanumeric characters plus ``_`` and ``-``.
+
+Variables have dynamic scope.  Each variable "set" or "unset"
+creates a binding in the current scope:
+
+Function Scope
+ `Command Definitions`_ created by the :command:`function` command
+ create commands that, when invoked, process the recorded commands
+ in a new variable binding scope.  A variable "set" or "unset"
+ binds in this scope and is visible for the current function and
+ any nested calls within it, but not after the function returns.
+
+Directory Scope
+ Each of the `Directories`_ in a source tree has its own variable
+ bindings.  Before processing the ``CMakeLists.txt`` file for a
+ directory, CMake copies all variable bindings currently defined
+ in the parent directory, if any, to initialize the new directory
+ scope.  CMake `Scripts`_, when processed with ``cmake -P``, bind
+ variables in one "directory" scope.
+
+ A variable "set" or "unset" not inside a function call binds
+ to the current directory scope.
+
+Persistent Cache
+ CMake stores a separate set of "cache" variables, or "cache entries",
+ whose values persist across multiple runs within a project build
+ tree.  Cache entries have an isolated binding scope modified only
+ by explicit request, such as by the ``CACHE`` option of the
+ :command:`set` and :command:`unset` commands.
+
+When evaluating `Variable References`_, CMake first searches the
+function call stack, if any, for a binding and then falls back
+to the binding in the current directory scope, if any.  If a
+"set" binding is found, its value is used.  If an "unset" binding
+is found, or no binding is found, CMake then searches for a
+cache entry.  If a cache entry is found, its value is used.
+Otherwise, the variable reference evaluates to an empty string.
+
+The :manual:`cmake-variables(7)` manual documents many variables
+that are provided by CMake or have meaning to CMake when set
+by project code.
+
+.. _`CMake Language Lists`:
+
+Lists
+=====
+
+Although all values in CMake are stored as strings, a string
+may be treated as a list in certain contexts, such as during
+evaluation of an `Unquoted Argument`_.  In such contexts, a string
+is divided into list elements by splitting on ``;`` characters not
+following an unequal number of ``[`` and ``]`` characters and not
+immediately preceded by a ``\``.  The sequence ``\;`` does not
+divide a value but is replaced by ``;`` in the resulting element.
+
+A list of elements is represented as a string by concatenating
+the elements separated by ``;``.  For example, the :command:`set`
+command stores multiple values into the destination variable
+as a list:
+
+.. code-block:: cmake
+
+ set(srcs a.c b.c c.c) # sets "srcs" to "a.c;b.c;c.c"
+
+Lists are meant for simple use cases such as a list of source
+files and should not be used for complex data processing tasks.
+Most commands that construct lists do not escape ``;`` characters
+in list elements, thus flattening nested lists:
+
+.. code-block:: cmake
+
+ set(x a "b;c") # sets "x" to "a;b;c", not "a;b\;c"
diff --git a/share/cmake-3.10/Help/manual/cmake-modules.7.rst b/share/cmake-3.10/Help/manual/cmake-modules.7.rst
new file mode 100644
index 0000000..8f4b252
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-modules.7.rst
@@ -0,0 +1,258 @@
+.. cmake-manual-description: CMake Modules Reference
+
+cmake-modules(7)
+****************
+
+.. only:: html
+
+   .. contents::
+
+All Modules
+===========
+
+.. toctree::
+   :maxdepth: 1
+
+   /module/AddFileDependencies
+   /module/AndroidTestUtilities
+   /module/BundleUtilities
+   /module/CheckCCompilerFlag
+   /module/CheckCSourceCompiles
+   /module/CheckCSourceRuns
+   /module/CheckCXXCompilerFlag
+   /module/CheckCXXSourceCompiles
+   /module/CheckCXXSourceRuns
+   /module/CheckCXXSymbolExists
+   /module/CheckFortranCompilerFlag
+   /module/CheckFortranFunctionExists
+   /module/CheckFortranSourceCompiles
+   /module/CheckFunctionExists
+   /module/CheckIPOSupported
+   /module/CheckIncludeFileCXX
+   /module/CheckIncludeFile
+   /module/CheckIncludeFiles
+   /module/CheckLanguage
+   /module/CheckLibraryExists
+   /module/CheckPrototypeDefinition
+   /module/CheckStructHasMember
+   /module/CheckSymbolExists
+   /module/CheckTypeSize
+   /module/CheckVariableExists
+   /module/CMakeAddFortranSubdirectory
+   /module/CMakeBackwardCompatibilityCXX
+   /module/CMakeDependentOption
+   /module/CMakeDetermineVSServicePack
+   /module/CMakeExpandImportedTargets
+   /module/CMakeFindDependencyMacro
+   /module/CMakeFindFrameworks
+   /module/CMakeFindPackageMode
+   /module/CMakeForceCompiler
+   /module/CMakeGraphVizOptions
+   /module/CMakePackageConfigHelpers
+   /module/CMakeParseArguments
+   /module/CMakePrintHelpers
+   /module/CMakePrintSystemInformation
+   /module/CMakePushCheckState
+   /module/CMakeVerifyManifest
+   /module/CPackArchive
+   /module/CPackBundle
+   /module/CPackComponent
+   /module/CPackCygwin
+   /module/CPackDeb
+   /module/CPackDMG
+   /module/CPackFreeBSD
+   /module/CPackIFW
+   /module/CPackIFWConfigureFile
+   /module/CPackNSIS
+   /module/CPackPackageMaker
+   /module/CPackProductBuild
+   /module/CPackRPM
+   /module/CPack
+   /module/CPackWIX
+   /module/CSharpUtilities
+   /module/CTest
+   /module/CTestCoverageCollectGCOV
+   /module/CTestScriptMode
+   /module/CTestUseLaunchers
+   /module/Dart
+   /module/DeployQt4
+   /module/Documentation
+   /module/ExternalData
+   /module/ExternalProject
+   /module/FeatureSummary
+   /module/FindALSA
+   /module/FindArmadillo
+   /module/FindASPELL
+   /module/FindAVIFile
+   /module/FindBISON
+   /module/FindBLAS
+   /module/FindBacktrace
+   /module/FindBoost
+   /module/FindBullet
+   /module/FindBZip2
+   /module/FindCABLE
+   /module/FindCoin3D
+   /module/FindCUDA
+   /module/FindCups
+   /module/FindCURL
+   /module/FindCurses
+   /module/FindCVS
+   /module/FindCxxTest
+   /module/FindCygwin
+   /module/FindDart
+   /module/FindDCMTK
+   /module/FindDevIL
+   /module/FindDoxygen
+   /module/FindEXPAT
+   /module/FindFLEX
+   /module/FindFLTK2
+   /module/FindFLTK
+   /module/FindFreetype
+   /module/FindGCCXML
+   /module/FindGDAL
+   /module/FindGettext
+   /module/FindGIF
+   /module/FindGit
+   /module/FindGLEW
+   /module/FindGLUT
+   /module/FindGnuplot
+   /module/FindGnuTLS
+   /module/FindGSL
+   /module/FindGTest
+   /module/FindGTK2
+   /module/FindGTK
+   /module/FindHDF5
+   /module/FindHg
+   /module/FindHSPELL
+   /module/FindHTMLHelp
+   /module/FindIce
+   /module/FindIcotool
+   /module/FindICU
+   /module/FindImageMagick
+   /module/FindIntl
+   /module/FindITK
+   /module/FindJasper
+   /module/FindJava
+   /module/FindJNI
+   /module/FindJPEG
+   /module/FindKDE3
+   /module/FindKDE4
+   /module/FindLAPACK
+   /module/FindLATEX
+   /module/FindLibArchive
+   /module/FindLibLZMA
+   /module/FindLibXml2
+   /module/FindLibXslt
+   /module/FindLTTngUST
+   /module/FindLua50
+   /module/FindLua51
+   /module/FindLua
+   /module/FindMatlab
+   /module/FindMFC
+   /module/FindMotif
+   /module/FindMPEG2
+   /module/FindMPEG
+   /module/FindMPI
+   /module/FindOpenACC
+   /module/FindOpenAL
+   /module/FindOpenCL
+   /module/FindOpenGL
+   /module/FindOpenMP
+   /module/FindOpenSceneGraph
+   /module/FindOpenSSL
+   /module/FindOpenThreads
+   /module/FindosgAnimation
+   /module/FindosgDB
+   /module/Findosg_functions
+   /module/FindosgFX
+   /module/FindosgGA
+   /module/FindosgIntrospection
+   /module/FindosgManipulator
+   /module/FindosgParticle
+   /module/FindosgPresentation
+   /module/FindosgProducer
+   /module/FindosgQt
+   /module/Findosg
+   /module/FindosgShadow
+   /module/FindosgSim
+   /module/FindosgTerrain
+   /module/FindosgText
+   /module/FindosgUtil
+   /module/FindosgViewer
+   /module/FindosgVolume
+   /module/FindosgWidget
+   /module/FindPackageHandleStandardArgs
+   /module/FindPackageMessage
+   /module/FindPatch
+   /module/FindPerlLibs
+   /module/FindPerl
+   /module/FindPHP4
+   /module/FindPhysFS
+   /module/FindPike
+   /module/FindPkgConfig
+   /module/FindPNG
+   /module/FindPostgreSQL
+   /module/FindProducer
+   /module/FindProtobuf
+   /module/FindPythonInterp
+   /module/FindPythonLibs
+   /module/FindQt3
+   /module/FindQt4
+   /module/FindQt
+   /module/FindQuickTime
+   /module/FindRTI
+   /module/FindRuby
+   /module/FindSDL_image
+   /module/FindSDL_mixer
+   /module/FindSDL_net
+   /module/FindSDL
+   /module/FindSDL_sound
+   /module/FindSDL_ttf
+   /module/FindSelfPackers
+   /module/FindSquish
+   /module/FindSubversion
+   /module/FindSWIG
+   /module/FindTCL
+   /module/FindTclsh
+   /module/FindTclStub
+   /module/FindThreads
+   /module/FindTIFF
+   /module/FindUnixCommands
+   /module/FindVTK
+   /module/FindVulkan
+   /module/FindWget
+   /module/FindWish
+   /module/FindwxWidgets
+   /module/FindwxWindows
+   /module/FindXCTest
+   /module/FindXalanC
+   /module/FindXercesC
+   /module/FindX11
+   /module/FindXMLRPC
+   /module/FindZLIB
+   /module/FortranCInterface
+   /module/GenerateExportHeader
+   /module/GetPrerequisites
+   /module/GNUInstallDirs
+   /module/GoogleTest
+   /module/InstallRequiredSystemLibraries
+   /module/MacroAddFileDependencies
+   /module/ProcessorCount
+   /module/SelectLibraryConfigurations
+   /module/SquishTestScript
+   /module/TestBigEndian
+   /module/TestCXXAcceptsFlag
+   /module/TestForANSIForScope
+   /module/TestForANSIStreamHeaders
+   /module/TestForSSTREAM
+   /module/TestForSTDNamespace
+   /module/UseEcos
+   /module/UseJavaClassFilelist
+   /module/UseJava
+   /module/UseJavaSymlinks
+   /module/UsePkgConfig
+   /module/UseSWIG
+   /module/UsewxWidgets
+   /module/Use_wxWindows
+   /module/WriteBasicConfigVersionFile
+   /module/WriteCompilerDetectionHeader
diff --git a/share/cmake-3.10/Help/manual/cmake-packages.7.rst b/share/cmake-3.10/Help/manual/cmake-packages.7.rst
new file mode 100644
index 0000000..c9442bc
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-packages.7.rst
@@ -0,0 +1,709 @@
+.. cmake-manual-description: CMake Packages Reference
+
+cmake-packages(7)
+*****************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+Packages provide dependency information to CMake based buildsystems.  Packages
+are found with the :command:`find_package` command.  The result of
+using ``find_package`` is either a set of :prop_tgt:`IMPORTED` targets, or
+a set of variables corresponding to build-relevant information.
+
+Using Packages
+==============
+
+CMake provides direct support for two forms of packages,
+`Config-file Packages`_ and `Find-module Packages`_.
+Indirect support for ``pkg-config`` packages is also provided via
+the :module:`FindPkgConfig` module.  In all cases, the basic form
+of :command:`find_package` calls is the same:
+
+.. code-block:: cmake
+
+  find_package(Qt4 4.7.0 REQUIRED) # CMake provides a Qt4 find-module
+  find_package(Qt5Core 5.1.0 REQUIRED) # Qt provides a Qt5 package config file.
+  find_package(LibXml2 REQUIRED) # Use pkg-config via the LibXml2 find-module
+
+In cases where it is known that a package configuration file is provided by
+upstream, and only that should be used, the ``CONFIG`` keyword may be passed
+to :command:`find_package`:
+
+.. code-block:: cmake
+
+  find_package(Qt5Core 5.1.0 CONFIG REQUIRED)
+  find_package(Qt5Gui 5.1.0 CONFIG)
+
+Similarly, the ``MODULE`` keyword says to use only a find-module:
+
+.. code-block:: cmake
+
+  find_package(Qt4 4.7.0 MODULE REQUIRED)
+
+Specifying the type of package explicitly improves the error message shown to
+the user if it is not found.
+
+Both types of packages also support specifying components of a package,
+either after the ``REQUIRED`` keyword:
+
+.. code-block:: cmake
+
+  find_package(Qt5 5.1.0 CONFIG REQUIRED Widgets Xml Sql)
+
+or as a separate ``COMPONENTS`` list:
+
+.. code-block:: cmake
+
+  find_package(Qt5 5.1.0 COMPONENTS Widgets Xml Sql)
+
+or as a separate ``OPTIONAL_COMPONENTS`` list:
+
+.. code-block:: cmake
+
+  find_package(Qt5 5.1.0 COMPONENTS Widgets
+                         OPTIONAL_COMPONENTS Xml Sql
+  )
+
+Handling of ``COMPONENTS`` and ``OPTIONAL_COMPONENTS`` is defined by the
+package.
+
+By setting the :variable:`CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` variable to
+``TRUE``, the ``PackageName`` package will not be searched, and will always
+be ``NOTFOUND``.
+
+.. _`Config File Packages`:
+
+Config-file Packages
+--------------------
+
+A config-file package is a set of files provided by upstreams for downstreams
+to use. CMake searches in a number of locations for package configuration files, as
+described in the :command:`find_package` documentation.  The most simple way for
+a CMake user to tell :manual:`cmake(1)` to search in a non-standard prefix for
+a package is to set the ``CMAKE_PREFIX_PATH`` cache variable.
+
+Config-file packages are provided by upstream vendors as part of development
+packages, that is, they belong with the header files and any other files
+provided to assist downstreams in using the package.
+
+A set of variables which provide package status information are also set
+automatically when using a config-file package.  The ``<Package>_FOUND``
+variable is set to true or false, depending on whether the package was
+found.  The ``<Package>_DIR`` cache variable is set to the location of the
+package configuration file.
+
+Find-module Packages
+--------------------
+
+A find module is a file with a set of rules for finding the required pieces of
+a dependency, primarily header files and libraries.  Typically, a find module
+is needed when the upstream is not built with CMake, or is not CMake-aware
+enough to otherwise provide a package configuration file.  Unlike a package configuration
+file, it is not shipped with upstream, but is used by downstream to find the
+files by guessing locations of files with platform-specific hints.
+
+Unlike the case of an upstream-provided package configuration file, no single point
+of reference identifies the package as being found, so the ``<Package>_FOUND``
+variable is not automatically set by the :command:`find_package` command.  It
+can still be expected to be set by convention however and should be set by
+the author of the Find-module.  Similarly there is no ``<Package>_DIR`` variable,
+but each of the artifacts such as library locations and header file locations
+provide a separate cache variable.
+
+See the :manual:`cmake-developer(7)` manual for more information about creating
+Find-module files.
+
+Package Layout
+==============
+
+A config-file package consists of a `Package Configuration File`_ and
+optionally a `Package Version File`_ provided with the project distribution.
+
+Package Configuration File
+--------------------------
+
+Consider a project ``Foo`` that installs the following files::
+
+  <prefix>/include/foo-1.2/foo.h
+  <prefix>/lib/foo-1.2/libfoo.a
+
+It may also provide a CMake package configuration file::
+
+  <prefix>/lib/cmake/foo-1.2/FooConfig.cmake
+
+with content defining :prop_tgt:`IMPORTED` targets, or defining variables, such
+as:
+
+.. code-block:: cmake
+
+  # ...
+  # (compute PREFIX relative to file location)
+  # ...
+  set(Foo_INCLUDE_DIRS ${PREFIX}/include/foo-1.2)
+  set(Foo_LIBRARIES ${PREFIX}/lib/foo-1.2/libfoo.a)
+
+If another project wishes to use ``Foo`` it need only to locate the ``FooConfig.cmake``
+file and load it to get all the information it needs about package content
+locations.  Since the package configuration file is provided by the package
+installation it already knows all the file locations.
+
+The :command:`find_package` command may be used to search for the package
+configuration file.  This command constructs a set of installation prefixes
+and searches under each prefix in several locations.  Given the name ``Foo``,
+it looks for a file called ``FooConfig.cmake`` or ``foo-config.cmake``.
+The full set of locations is specified in the :command:`find_package` command
+documentation. One place it looks is::
+
+ <prefix>/lib/cmake/Foo*/
+
+where ``Foo*`` is a case-insensitive globbing expression.  In our example the
+globbing expression will match ``<prefix>/lib/cmake/foo-1.2`` and the package
+configuration file will be found.
+
+Once found, a package configuration file is immediately loaded.  It, together
+with a package version file, contains all the information the project needs to
+use the package.
+
+Package Version File
+--------------------
+
+When the :command:`find_package` command finds a candidate package configuration
+file it looks next to it for a version file. The version file is loaded to test
+whether the package version is an acceptable match for the version requested.
+If the version file claims compatibility the configuration file is accepted.
+Otherwise it is ignored.
+
+The name of the package version file must match that of the package configuration
+file but has either ``-version`` or ``Version`` appended to the name before
+the ``.cmake`` extension.  For example, the files::
+
+ <prefix>/lib/cmake/foo-1.3/foo-config.cmake
+ <prefix>/lib/cmake/foo-1.3/foo-config-version.cmake
+
+and::
+
+ <prefix>/lib/cmake/bar-4.2/BarConfig.cmake
+ <prefix>/lib/cmake/bar-4.2/BarConfigVersion.cmake
+
+are each pairs of package configuration files and corresponding package version
+files.
+
+When the :command:`find_package` command loads a version file it first sets the
+following variables:
+
+``PACKAGE_FIND_NAME``
+ The <package> name
+
+``PACKAGE_FIND_VERSION``
+ Full requested version string
+
+``PACKAGE_FIND_VERSION_MAJOR``
+ Major version if requested, else 0
+
+``PACKAGE_FIND_VERSION_MINOR``
+ Minor version if requested, else 0
+
+``PACKAGE_FIND_VERSION_PATCH``
+ Patch version if requested, else 0
+
+``PACKAGE_FIND_VERSION_TWEAK``
+ Tweak version if requested, else 0
+
+``PACKAGE_FIND_VERSION_COUNT``
+ Number of version components, 0 to 4
+
+The version file must use these variables to check whether it is compatible or
+an exact match for the requested version and set the following variables with
+results:
+
+``PACKAGE_VERSION``
+ Full provided version string
+
+``PACKAGE_VERSION_EXACT``
+ True if version is exact match
+
+``PACKAGE_VERSION_COMPATIBLE``
+ True if version is compatible
+
+``PACKAGE_VERSION_UNSUITABLE``
+ True if unsuitable as any version
+
+Version files are loaded in a nested scope so they are free to set any variables
+they wish as part of their computation. The find_package command wipes out the
+scope when the version file has completed and it has checked the output
+variables. When the version file claims to be an acceptable match for the
+requested version the find_package command sets the following variables for
+use by the project:
+
+``<package>_VERSION``
+ Full provided version string
+
+``<package>_VERSION_MAJOR``
+ Major version if provided, else 0
+
+``<package>_VERSION_MINOR``
+ Minor version if provided, else 0
+
+``<package>_VERSION_PATCH``
+ Patch version if provided, else 0
+
+``<package>_VERSION_TWEAK``
+ Tweak version if provided, else 0
+
+``<package>_VERSION_COUNT``
+ Number of version components, 0 to 4
+
+The variables report the version of the package that was actually found.
+The ``<package>`` part of their name matches the argument given to the
+:command:`find_package` command.
+
+.. _`Creating Packages`:
+
+Creating Packages
+=================
+
+Usually, the upstream depends on CMake itself and can use some CMake facilities
+for creating the package files. Consider an upstream which provides a single
+shared library:
+
+.. code-block:: cmake
+
+  project(UpstreamLib)
+
+  set(CMAKE_INCLUDE_CURRENT_DIR ON)
+  set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
+
+  set(Upstream_VERSION 3.4.1)
+
+  include(GenerateExportHeader)
+
+  add_library(ClimbingStats SHARED climbingstats.cpp)
+  generate_export_header(ClimbingStats)
+  set_property(TARGET ClimbingStats PROPERTY VERSION ${Upstream_VERSION})
+  set_property(TARGET ClimbingStats PROPERTY SOVERSION 3)
+  set_property(TARGET ClimbingStats PROPERTY
+    INTERFACE_ClimbingStats_MAJOR_VERSION 3)
+  set_property(TARGET ClimbingStats APPEND PROPERTY
+    COMPATIBLE_INTERFACE_STRING ClimbingStats_MAJOR_VERSION
+  )
+
+  install(TARGETS ClimbingStats EXPORT ClimbingStatsTargets
+    LIBRARY DESTINATION lib
+    ARCHIVE DESTINATION lib
+    RUNTIME DESTINATION bin
+    INCLUDES DESTINATION include
+  )
+  install(
+    FILES
+      climbingstats.h
+      "${CMAKE_CURRENT_BINARY_DIR}/climbingstats_export.h"
+    DESTINATION
+      include
+    COMPONENT
+      Devel
+  )
+
+  include(CMakePackageConfigHelpers)
+  write_basic_package_version_file(
+    "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsConfigVersion.cmake"
+    VERSION ${Upstream_VERSION}
+    COMPATIBILITY AnyNewerVersion
+  )
+
+  export(EXPORT ClimbingStatsTargets
+    FILE "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsTargets.cmake"
+    NAMESPACE Upstream::
+  )
+  configure_file(cmake/ClimbingStatsConfig.cmake
+    "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsConfig.cmake"
+    COPYONLY
+  )
+
+  set(ConfigPackageLocation lib/cmake/ClimbingStats)
+  install(EXPORT ClimbingStatsTargets
+    FILE
+      ClimbingStatsTargets.cmake
+    NAMESPACE
+      Upstream::
+    DESTINATION
+      ${ConfigPackageLocation}
+  )
+  install(
+    FILES
+      cmake/ClimbingStatsConfig.cmake
+      "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsConfigVersion.cmake"
+    DESTINATION
+      ${ConfigPackageLocation}
+    COMPONENT
+      Devel
+  )
+
+The :module:`CMakePackageConfigHelpers` module provides a macro for creating
+a simple ``ConfigVersion.cmake`` file.  This file sets the version of the
+package.  It is read by CMake when :command:`find_package` is called to
+determine the compatibility with the requested version, and to set some
+version-specific variables ``<Package>_VERSION``, ``<Package>_VERSION_MAJOR``,
+``<Package>_VERSION_MINOR`` etc.  The :command:`install(EXPORT)` command is
+used to export the targets in the ``ClimbingStatsTargets`` export-set, defined
+previously by the :command:`install(TARGETS)` command. This command generates
+the ``ClimbingStatsTargets.cmake`` file to contain :prop_tgt:`IMPORTED`
+targets, suitable for use by downstreams and arranges to install it to
+``lib/cmake/ClimbingStats``.  The generated ``ClimbingStatsConfigVersion.cmake``
+and a ``cmake/ClimbingStatsConfig.cmake`` are installed to the same location,
+completing the package.
+
+The generated :prop_tgt:`IMPORTED` targets have appropriate properties set
+to define their :ref:`usage requirements <Target Usage Requirements>`, such as
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
+:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` and other relevant built-in
+``INTERFACE_`` properties.  The ``INTERFACE`` variant of user-defined
+properties listed in :prop_tgt:`COMPATIBLE_INTERFACE_STRING` and
+other :ref:`Compatible Interface Properties` are also propagated to the
+generated :prop_tgt:`IMPORTED` targets.  In the above case,
+``ClimbingStats_MAJOR_VERSION`` is defined as a string which must be
+compatible among the dependencies of any depender.  By setting this custom
+defined user property in this version and in the next version of
+``ClimbingStats``, :manual:`cmake(1)` will issue a diagnostic if there is an
+attempt to use version 3 together with version 4.  Packages can choose to
+employ such a pattern if different major versions of the package are designed
+to be incompatible.
+
+A ``NAMESPACE`` with double-colons is specified when exporting the targets
+for installation.  This convention of double-colons gives CMake a hint that
+the name is an :prop_tgt:`IMPORTED` target when it is used by downstreams
+with the :command:`target_link_libraries` command.  This way, CMake can
+issue a diagnostic if the package providing it has not yet been found.
+
+In this case, when using :command:`install(TARGETS)` the ``INCLUDES DESTINATION``
+was specified.  This causes the ``IMPORTED`` targets to have their
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` populated with the ``include``
+directory in the :variable:`CMAKE_INSTALL_PREFIX`.  When the ``IMPORTED``
+target is used by downstream, it automatically consumes the entries from
+that property.
+
+Creating a Package Configuration File
+-------------------------------------
+
+In this case, the ``ClimbingStatsConfig.cmake`` file could be as simple as:
+
+.. code-block:: cmake
+
+  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+
+As this allows downstreams to use the ``IMPORTED`` targets.  If any macros
+should be provided by the ``ClimbingStats`` package, they should
+be in a separate file which is installed to the same location as the
+``ClimbingStatsConfig.cmake`` file, and included from there.
+
+This can also be extended to cover dependencies:
+
+.. code-block:: cmake
+
+  # ...
+  add_library(ClimbingStats SHARED climbingstats.cpp)
+  generate_export_header(ClimbingStats)
+
+  find_package(Stats 2.6.4 REQUIRED)
+  target_link_libraries(ClimbingStats PUBLIC Stats::Types)
+
+As the ``Stats::Types`` target is a ``PUBLIC`` dependency of ``ClimbingStats``,
+downstreams must also find the ``Stats`` package and link to the ``Stats::Types``
+library.  The ``Stats`` package should be found in the ``ClimbingStatsConfig.cmake``
+file to ensure this.  The ``find_dependency`` macro from the
+:module:`CMakeFindDependencyMacro` helps with this by propagating
+whether the package is ``REQUIRED``, or ``QUIET`` etc.  All ``REQUIRED``
+dependencies of a package should be found in the ``Config.cmake`` file:
+
+.. code-block:: cmake
+
+  include(CMakeFindDependencyMacro)
+  find_dependency(Stats 2.6.4)
+
+  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
+
+The ``find_dependency`` macro also sets ``ClimbingStats_FOUND`` to ``False`` if
+the dependency is not found, along with a diagnostic that the ``ClimbingStats``
+package can not be used without the ``Stats`` package.
+
+If ``COMPONENTS`` are specified when the downstream uses :command:`find_package`,
+they are listed in the ``<Package>_FIND_COMPONENTS`` variable. If a particular
+component is non-optional, then the ``<Package>_FIND_REQUIRED_<comp>`` will
+be true. This can be tested with logic in the package configuration file:
+
+.. code-block:: cmake
+
+  include(CMakeFindDependencyMacro)
+  find_dependency(Stats 2.6.4)
+
+  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
+
+  set(_supported_components Plot Table)
+
+  foreach(_comp ${ClimbingStats_FIND_COMPONENTS})
+    if (NOT ";${_supported_components};" MATCHES _comp)
+      set(ClimbingStats_FOUND False)
+      set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
+    endif()
+    include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStats${_comp}Targets.cmake")
+  endforeach()
+
+Here, the ``ClimbingStats_NOT_FOUND_MESSAGE`` is set to a diagnosis that the package
+could not be found because an invalid component was specified.  This message
+variable can be set for any case where the ``_FOUND`` variable is set to ``False``,
+and will be displayed to the user.
+
+Creating a Package Configuration File for the Build Tree
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The :command:`export(EXPORT)` command creates an :prop_tgt:`IMPORTED` targets
+definition file which is specific to the build-tree, and is not relocatable.
+This can similarly be used with a suitable package configuration file and
+package version file to define a package for the build tree which may be used
+without installation.  Consumers of the build tree can simply ensure that the
+:variable:`CMAKE_PREFIX_PATH` contains the build directory, or set the
+``ClimbingStats_DIR`` to ``<build_dir>/ClimbingStats`` in the cache.
+
+.. _`Creating Relocatable Packages`:
+
+Creating Relocatable Packages
+-----------------------------
+
+A relocatable package must not reference absolute paths of files on
+the machine where the package is built that will not exist on the
+machines where the package may be installed.
+
+Packages created by :command:`install(EXPORT)` are designed to be relocatable,
+using paths relative to the location of the package itself.  When defining
+the interface of a target for ``EXPORT``, keep in mind that the include
+directories should be specified as relative paths which are relative to the
+:variable:`CMAKE_INSTALL_PREFIX`:
+
+.. code-block:: cmake
+
+  target_include_directories(tgt INTERFACE
+    # Wrong, not relocatable:
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include/TgtName>
+  )
+
+  target_include_directories(tgt INTERFACE
+    # Ok, relocatable:
+    $<INSTALL_INTERFACE:include/TgtName>
+  )
+
+The ``$<INSTALL_PREFIX>``
+:manual:`generator expression <cmake-generator-expressions(7)>` may be used as
+a placeholder for the install prefix without resulting in a non-relocatable
+package.  This is necessary if complex generator expressions are used:
+
+.. code-block:: cmake
+
+  target_include_directories(tgt INTERFACE
+    # Ok, relocatable:
+    $<INSTALL_INTERFACE:$<$<CONFIG:Debug>:$<INSTALL_PREFIX>/include/TgtName>>
+  )
+
+This also applies to paths referencing external dependencies.
+It is not advisable to populate any properties which may contain
+paths, such as :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` and
+:prop_tgt:`INTERFACE_LINK_LIBRARIES`, with paths relevant to dependencies.
+For example, this code may not work well for a relocatable package:
+
+.. code-block:: cmake
+
+  target_link_libraries(ClimbingStats INTERFACE
+    ${Foo_LIBRARIES} ${Bar_LIBRARIES}
+    )
+  target_include_directories(ClimbingStats INTERFACE
+    "$<INSTALL_INTERFACE:${Foo_INCLUDE_DIRS};${Bar_INCLUDE_DIRS}>"
+    )
+
+The referenced variables may contain the absolute paths to libraries
+and include directories **as found on the machine the package was made on**.
+This would create a package with hard-coded paths to dependencies and not
+suitable for relocation.
+
+Ideally such dependencies should be used through their own
+:ref:`IMPORTED targets <Imported Targets>` that have their own
+:prop_tgt:`IMPORTED_LOCATION` and usage requirement properties
+such as :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` populated
+appropriately.  Those imported targets may then be used with
+the :command:`target_link_libraries` command for ``ClimbingStats``:
+
+.. code-block:: cmake
+
+  target_link_libraries(ClimbingStats INTERFACE Foo::Foo Bar::Bar)
+
+With this approach the package references its external dependencies
+only through the names of :ref:`IMPORTED targets <Imported Targets>`.
+When a consumer uses the installed package, the consumer will run the
+appropriate :command:`find_package` commands (via the ``find_dependency``
+macro described above) to find the dependencies and populate the
+imported targets with appropriate paths on their own machine.
+
+Unfortunately many :manual:`modules <cmake-modules(7)>` shipped with
+CMake do not yet provide :ref:`IMPORTED targets <Imported Targets>`
+because their development pre-dated this approach.  This may improve
+incrementally over time.  Workarounds to create relocatable packages
+using such modules include:
+
+* When building the package, specify each ``Foo_LIBRARY`` cache
+  entry as just a library name, e.g. ``-DFoo_LIBRARY=foo``.  This
+  tells the corresponding find module to populate the ``Foo_LIBRARIES``
+  with just ``foo`` to ask the linker to search for the library
+  instead of hard-coding a path.
+
+* Or, after installing the package content but before creating the
+  package installation binary for redistribution, manually replace
+  the absolute paths with placeholders for substitution by the
+  installation tool when the package is installed.
+
+.. _`Package Registry`:
+
+Package Registry
+================
+
+CMake provides two central locations to register packages that have
+been built or installed anywhere on a system:
+
+* `User Package Registry`_
+* `System Package Registry`_
+
+The registries are especially useful to help projects find packages in
+non-standard install locations or directly in their own build trees.
+A project may populate either the user or system registry (using its own
+means, see below) to refer to its location.
+In either case the package should store at the registered location a
+`Package Configuration File`_ (``<package>Config.cmake``) and optionally a
+`Package Version File`_ (``<package>ConfigVersion.cmake``).
+
+The :command:`find_package` command searches the two package registries
+as two of the search steps specified in its documentation.  If it has
+sufficient permissions it also removes stale package registry entries
+that refer to directories that do not exist or do not contain a matching
+package configuration file.
+
+.. _`User Package Registry`:
+
+User Package Registry
+---------------------
+
+The User Package Registry is stored in a per-user location.
+The :command:`export(PACKAGE)` command may be used to register a project
+build tree in the user package registry.  CMake currently provides no
+interface to add install trees to the user package registry.  Installers
+must be manually taught to register their packages if desired.
+
+On Windows the user package registry is stored in the Windows registry
+under a key in ``HKEY_CURRENT_USER``.
+
+A ``<package>`` may appear under registry key::
+
+  HKEY_CURRENT_USER\Software\Kitware\CMake\Packages\<package>
+
+as a ``REG_SZ`` value, with arbitrary name, that specifies the directory
+containing the package configuration file.
+
+On UNIX platforms the user package registry is stored in the user home
+directory under ``~/.cmake/packages``.  A ``<package>`` may appear under
+the directory::
+
+  ~/.cmake/packages/<package>
+
+as a file, with arbitrary name, whose content specifies the directory
+containing the package configuration file.
+
+.. _`System Package Registry`:
+
+System Package Registry
+-----------------------
+
+The System Package Registry is stored in a system-wide location.
+CMake currently provides no interface to add to the system package registry.
+Installers must be manually taught to register their packages if desired.
+
+On Windows the system package registry is stored in the Windows registry
+under a key in ``HKEY_LOCAL_MACHINE``.  A ``<package>`` may appear under
+registry key::
+
+  HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>
+
+as a ``REG_SZ`` value, with arbitrary name, that specifies the directory
+containing the package configuration file.
+
+There is no system package registry on non-Windows platforms.
+
+.. _`Disabling the Package Registry`:
+
+Disabling the Package Registry
+------------------------------
+
+In some cases using the Package Registries is not desirable. CMake
+allows one to disable them using the following variables:
+
+ * :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` disables the
+   :command:`export(PACKAGE)` command.
+ * :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` disables the
+   User Package Registry in all the :command:`find_package` calls.
+ * :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` disables
+   the System Package Registry in all the :command:`find_package` calls.
+
+Package Registry Example
+------------------------
+
+A simple convention for naming package registry entries is to use content
+hashes.  They are deterministic and unlikely to collide
+(:command:`export(PACKAGE)` uses this approach).
+The name of an entry referencing a specific directory is simply the content
+hash of the directory path itself.
+
+If a project arranges for package registry entries to exist, such as::
+
+ > reg query HKCU\Software\Kitware\CMake\Packages\MyPackage
+ HKEY_CURRENT_USER\Software\Kitware\CMake\Packages\MyPackage
+  45e7d55f13b87179bb12f907c8de6fc4 REG_SZ c:/Users/Me/Work/lib/cmake/MyPackage
+  7b4a9844f681c80ce93190d4e3185db9 REG_SZ c:/Users/Me/Work/MyPackage-build
+
+or::
+
+ $ cat ~/.cmake/packages/MyPackage/7d1fb77e07ce59a81bed093bbee945bd
+ /home/me/work/lib/cmake/MyPackage
+ $ cat ~/.cmake/packages/MyPackage/f92c1db873a1937f3100706657c63e07
+ /home/me/work/MyPackage-build
+
+then the ``CMakeLists.txt`` code:
+
+.. code-block:: cmake
+
+  find_package(MyPackage)
+
+will search the registered locations for package configuration files
+(``MyPackageConfig.cmake``).  The search order among package registry
+entries for a single package is unspecified and the entry names
+(hashes in this example) have no meaning.  Registered locations may
+contain package version files (``MyPackageConfigVersion.cmake``) to
+tell :command:`find_package` whether a specific location is suitable
+for the version requested.
+
+Package Registry Ownership
+--------------------------
+
+Package registry entries are individually owned by the project installations
+that they reference.  A package installer is responsible for adding its own
+entry and the corresponding uninstaller is responsible for removing it.
+
+The :command:`export(PACKAGE)` command populates the user package registry
+with the location of a project build tree.  Build trees tend to be deleted by
+developers and have no "uninstall" event that could trigger removal of their
+entries.  In order to keep the registries clean the :command:`find_package`
+command automatically removes stale entries it encounters if it has sufficient
+permissions.  CMake provides no interface to remove an entry referencing an
+existing build tree once :command:`export(PACKAGE)` has been invoked.
+However, if the project removes its package configuration file from the build
+tree then the entry referencing the location will be considered stale.
diff --git a/share/cmake-3.10/Help/manual/cmake-policies.7.rst b/share/cmake-3.10/Help/manual/cmake-policies.7.rst
new file mode 100644
index 0000000..c81ba59
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-policies.7.rst
@@ -0,0 +1,201 @@
+.. cmake-manual-description: CMake Policies Reference
+
+cmake-policies(7)
+*****************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+Policies in CMake are used to preserve backward compatible behavior
+across multiple releases.  When a new policy is introduced, newer CMake
+versions will begin to warn about the backward compatible behavior.  It
+is possible to disable the warning by explicitly requesting the OLD, or
+backward compatible behavior using the :command:`cmake_policy` command.
+It is also possible to request ``NEW``, or non-backward compatible behavior
+for a policy, also avoiding the warning.  Each policy can also be set to
+either ``NEW`` or ``OLD`` behavior explicitly on the command line with the
+:variable:`CMAKE_POLICY_DEFAULT_CMP<NNNN>` variable.
+
+A policy is a deprecation mechanism and not a reliable feature toggle.
+A policy should almost never be set to ``OLD``, except to silence warnings
+in an otherwise frozen or stable codebase, or temporarily as part of a
+larger migration path. The ``OLD`` behavior of each policy is undesirable
+and will be replaced with an error condition in a future release.
+
+The :command:`cmake_minimum_required` command does more than report an
+error if a too-old version of CMake is used to build a project.  It
+also sets all policies introduced in that CMake version or earlier to
+``NEW`` behavior.  To manage policies without increasing the minimum required
+CMake version, the :command:`if(POLICY)` command may be used:
+
+.. code-block:: cmake
+
+  if(POLICY CMP0990)
+    cmake_policy(SET CMP0990 NEW)
+  endif()
+
+This has the effect of using the ``NEW`` behavior with newer CMake releases which
+users may be using and not issuing a compatibility warning.
+
+The setting of a policy is confined in some cases to not propagate to the
+parent scope.  For example, if the files read by the :command:`include` command
+or the :command:`find_package` command contain a use of :command:`cmake_policy`,
+that policy setting will not affect the caller by default.  Both commands accept
+an optional ``NO_POLICY_SCOPE`` keyword to control this behavior.
+
+The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
+to determine whether to report an error on use of deprecated macros or
+functions.
+
+Policies Introduced by CMake 3.10
+=================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0071: Let AUTOMOC and AUTOUIC process GENERATED files. </policy/CMP0071>
+   CMP0070: Define file(GENERATE) behavior for relative paths. </policy/CMP0070>
+
+Policies Introduced by CMake 3.9
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0069: INTERPROCEDURAL_OPTIMIZATION is enforced when enabled. </policy/CMP0069>
+   CMP0068: RPATH settings on macOS do not affect install_name. </policy/CMP0068>
+
+Policies Introduced by CMake 3.8
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0067: Honor language standard in try_compile() source-file signature. </policy/CMP0067>
+
+Policies Introduced by CMake 3.7
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0066: Honor per-config flags in try_compile() source-file signature. </policy/CMP0066>
+
+Policies Introduced by CMake 3.4
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0065: Do not add flags to export symbols from executables without the ENABLE_EXPORTS target property. </policy/CMP0065>
+   CMP0064: Support new TEST if() operator. </policy/CMP0064>
+
+Policies Introduced by CMake 3.3
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0063: Honor visibility properties for all target types. </policy/CMP0063>
+   CMP0062: Disallow install() of export() result. </policy/CMP0062>
+   CMP0061: CTest does not by default tell make to ignore errors (-i). </policy/CMP0061>
+   CMP0060: Link libraries by full path even in implicit directories. </policy/CMP0060>
+   CMP0059: Do not treat DEFINITIONS as a built-in directory property. </policy/CMP0059>
+   CMP0058: Ninja requires custom command byproducts to be explicit. </policy/CMP0058>
+   CMP0057: Support new IN_LIST if() operator. </policy/CMP0057>
+
+Policies Introduced by CMake 3.2
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0056: Honor link flags in try_compile() source-file signature. </policy/CMP0056>
+   CMP0055: Strict checking for break() command. </policy/CMP0055>
+
+Policies Introduced by CMake 3.1
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0054: Only interpret if() arguments as variables or keywords when unquoted. </policy/CMP0054>
+   CMP0053: Simplify variable reference and escape sequence evaluation. </policy/CMP0053>
+   CMP0052: Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES. </policy/CMP0052>
+   CMP0051: List TARGET_OBJECTS in SOURCES target property. </policy/CMP0051>
+
+Policies Introduced by CMake 3.0
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0050: Disallow add_custom_command SOURCE signatures. </policy/CMP0050>
+   CMP0049: Do not expand variables in target source entries. </policy/CMP0049>
+   CMP0048: project() command manages VERSION variables. </policy/CMP0048>
+   CMP0047: Use QCC compiler id for the qcc drivers on QNX. </policy/CMP0047>
+   CMP0046: Error on non-existent dependency in add_dependencies. </policy/CMP0046>
+   CMP0045: Error on non-existent target in get_target_property. </policy/CMP0045>
+   CMP0044: Case sensitive Lang_COMPILER_ID generator expressions. </policy/CMP0044>
+   CMP0043: Ignore COMPILE_DEFINITIONS_Config properties. </policy/CMP0043>
+   CMP0042: MACOSX_RPATH is enabled by default. </policy/CMP0042>
+   CMP0041: Error on relative include with generator expression. </policy/CMP0041>
+   CMP0040: The target in the TARGET signature of add_custom_command() must exist. </policy/CMP0040>
+   CMP0039: Utility targets may not have link dependencies. </policy/CMP0039>
+   CMP0038: Targets may not link directly to themselves. </policy/CMP0038>
+   CMP0037: Target names should not be reserved and should match a validity pattern. </policy/CMP0037>
+   CMP0036: The build_name command should not be called. </policy/CMP0036>
+   CMP0035: The variable_requires command should not be called. </policy/CMP0035>
+   CMP0034: The utility_source command should not be called. </policy/CMP0034>
+   CMP0033: The export_library_dependencies command should not be called. </policy/CMP0033>
+   CMP0032: The output_required_files command should not be called. </policy/CMP0032>
+   CMP0031: The load_command command should not be called. </policy/CMP0031>
+   CMP0030: The use_mangled_mesa command should not be called. </policy/CMP0030>
+   CMP0029: The subdir_depends command should not be called. </policy/CMP0029>
+   CMP0028: Double colon in target name means ALIAS or IMPORTED target. </policy/CMP0028>
+   CMP0027: Conditionally linked imported targets with missing include directories. </policy/CMP0027>
+   CMP0026: Disallow use of the LOCATION target property. </policy/CMP0026>
+   CMP0025: Compiler id for Apple Clang is now AppleClang. </policy/CMP0025>
+   CMP0024: Disallow include export result. </policy/CMP0024>
+
+Policies Introduced by CMake 2.8
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0023: Plain and keyword target_link_libraries signatures cannot be mixed. </policy/CMP0023>
+   CMP0022: INTERFACE_LINK_LIBRARIES defines the link interface. </policy/CMP0022>
+   CMP0021: Fatal error on relative paths in INCLUDE_DIRECTORIES target property. </policy/CMP0021>
+   CMP0020: Automatically link Qt executables to qtmain target on Windows. </policy/CMP0020>
+   CMP0019: Do not re-expand variables in include and link information. </policy/CMP0019>
+   CMP0018: Ignore CMAKE_SHARED_LIBRARY_Lang_FLAGS variable. </policy/CMP0018>
+   CMP0017: Prefer files from the CMake module directory when including from there. </policy/CMP0017>
+   CMP0016: target_link_libraries() reports error if its only argument is not a target. </policy/CMP0016>
+   CMP0015: link_directories() treats paths relative to the source dir. </policy/CMP0015>
+   CMP0014: Input directories must have CMakeLists.txt. </policy/CMP0014>
+   CMP0013: Duplicate binary directories are not allowed. </policy/CMP0013>
+   CMP0012: if() recognizes numbers and boolean constants. </policy/CMP0012>
+
+Policies Introduced by CMake 2.6
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   CMP0011: Included scripts do automatic cmake_policy PUSH and POP. </policy/CMP0011>
+   CMP0010: Bad variable reference syntax is an error. </policy/CMP0010>
+   CMP0009: FILE GLOB_RECURSE calls should not follow symlinks by default. </policy/CMP0009>
+   CMP0008: Libraries linked by full-path must have a valid library file name. </policy/CMP0008>
+   CMP0007: list command no longer ignores empty elements. </policy/CMP0007>
+   CMP0006: Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION. </policy/CMP0006>
+   CMP0005: Preprocessor definition values are now escaped automatically. </policy/CMP0005>
+   CMP0004: Libraries linked may not have leading or trailing whitespace. </policy/CMP0004>
+   CMP0003: Libraries linked via full path no longer produce linker search paths. </policy/CMP0003>
+   CMP0002: Logical target names must be globally unique. </policy/CMP0002>
+   CMP0001: CMAKE_BACKWARDS_COMPATIBILITY should no longer be used. </policy/CMP0001>
+   CMP0000: A minimum required CMake version must be specified. </policy/CMP0000>
diff --git a/share/cmake-3.10/Help/manual/cmake-properties.7.rst b/share/cmake-3.10/Help/manual/cmake-properties.7.rst
new file mode 100644
index 0000000..dd59a00
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-properties.7.rst
@@ -0,0 +1,464 @@
+.. cmake-manual-description: CMake Properties Reference
+
+cmake-properties(7)
+*******************
+
+.. only:: html
+
+   .. contents::
+
+.. _`Global Properties`:
+
+Properties of Global Scope
+==========================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS
+   /prop_gbl/AUTOGEN_SOURCE_GROUP
+   /prop_gbl/AUTOGEN_TARGETS_FOLDER
+   /prop_gbl/AUTOMOC_SOURCE_GROUP
+   /prop_gbl/AUTOMOC_TARGETS_FOLDER
+   /prop_gbl/AUTORCC_SOURCE_GROUP
+   /prop_gbl/CMAKE_C_KNOWN_FEATURES
+   /prop_gbl/CMAKE_CXX_KNOWN_FEATURES
+   /prop_gbl/DEBUG_CONFIGURATIONS
+   /prop_gbl/DISABLED_FEATURES
+   /prop_gbl/ENABLED_FEATURES
+   /prop_gbl/ENABLED_LANGUAGES
+   /prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS
+   /prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS
+   /prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS
+   /prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING
+   /prop_gbl/GENERATOR_IS_MULTI_CONFIG
+   /prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE
+   /prop_gbl/GLOBAL_DEPENDS_NO_CYCLES
+   /prop_gbl/IN_TRY_COMPILE
+   /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/REPORT_UNDEFINED_PROPERTIES
+   /prop_gbl/RULE_LAUNCH_COMPILE
+   /prop_gbl/RULE_LAUNCH_CUSTOM
+   /prop_gbl/RULE_LAUNCH_LINK
+   /prop_gbl/RULE_MESSAGES
+   /prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
+   /prop_gbl/TARGET_MESSAGES
+   /prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
+   /prop_gbl/USE_FOLDERS
+   /prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
+
+.. _`Directory Properties`:
+
+Properties on Directories
+=========================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_dir/ADDITIONAL_MAKE_CLEAN_FILES
+   /prop_dir/BINARY_DIR
+   /prop_dir/BUILDSYSTEM_TARGETS
+   /prop_dir/CACHE_VARIABLES
+   /prop_dir/CLEAN_NO_CUSTOM
+   /prop_dir/CMAKE_CONFIGURE_DEPENDS
+   /prop_dir/COMPILE_DEFINITIONS
+   /prop_dir/COMPILE_OPTIONS
+   /prop_dir/DEFINITIONS
+   /prop_dir/EXCLUDE_FROM_ALL
+   /prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
+   /prop_dir/INCLUDE_DIRECTORIES
+   /prop_dir/INCLUDE_REGULAR_EXPRESSION
+   /prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG
+   /prop_dir/INTERPROCEDURAL_OPTIMIZATION
+   /prop_dir/LABELS
+   /prop_dir/LINK_DIRECTORIES
+   /prop_dir/LISTFILE_STACK
+   /prop_dir/MACROS
+   /prop_dir/PARENT_DIRECTORY
+   /prop_dir/RULE_LAUNCH_COMPILE
+   /prop_dir/RULE_LAUNCH_CUSTOM
+   /prop_dir/RULE_LAUNCH_LINK
+   /prop_dir/SOURCE_DIR
+   /prop_dir/SUBDIRECTORIES
+   /prop_dir/TEST_INCLUDE_FILES
+   /prop_dir/VARIABLES
+   /prop_dir/VS_GLOBAL_SECTION_POST_section
+   /prop_dir/VS_GLOBAL_SECTION_PRE_section
+   /prop_dir/VS_STARTUP_PROJECT
+
+.. _`Target Properties`:
+
+Properties on Targets
+=====================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_tgt/ALIASED_TARGET
+   /prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS
+   /prop_tgt/ANDROID_API
+   /prop_tgt/ANDROID_API_MIN
+   /prop_tgt/ANDROID_ARCH
+   /prop_tgt/ANDROID_ASSETS_DIRECTORIES
+   /prop_tgt/ANDROID_GUI
+   /prop_tgt/ANDROID_JAR_DEPENDENCIES
+   /prop_tgt/ANDROID_JAR_DIRECTORIES
+   /prop_tgt/ANDROID_JAVA_SOURCE_DIR
+   /prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES
+   /prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES
+   /prop_tgt/ANDROID_PROCESS_MAX
+   /prop_tgt/ANDROID_PROGUARD
+   /prop_tgt/ANDROID_PROGUARD_CONFIG_PATH
+   /prop_tgt/ANDROID_SECURE_PROPS_PATH
+   /prop_tgt/ANDROID_SKIP_ANT_STEP
+   /prop_tgt/ANDROID_STL_TYPE
+   /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG
+   /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY
+   /prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG
+   /prop_tgt/ARCHIVE_OUTPUT_NAME
+   /prop_tgt/AUTOGEN_BUILD_DIR
+   /prop_tgt/AUTOGEN_TARGET_DEPENDS
+   /prop_tgt/AUTOMOC_COMPILER_PREDEFINES
+   /prop_tgt/AUTOMOC_DEPEND_FILTERS
+   /prop_tgt/AUTOMOC_MACRO_NAMES
+   /prop_tgt/AUTOMOC_MOC_OPTIONS
+   /prop_tgt/AUTOMOC
+   /prop_tgt/AUTOUIC
+   /prop_tgt/AUTOUIC_OPTIONS
+   /prop_tgt/AUTOUIC_SEARCH_PATHS
+   /prop_tgt/AUTORCC
+   /prop_tgt/AUTORCC_OPTIONS
+   /prop_tgt/BINARY_DIR
+   /prop_tgt/BUILD_RPATH
+   /prop_tgt/BUILD_WITH_INSTALL_NAME_DIR
+   /prop_tgt/BUILD_WITH_INSTALL_RPATH
+   /prop_tgt/BUNDLE_EXTENSION
+   /prop_tgt/BUNDLE
+   /prop_tgt/C_EXTENSIONS
+   /prop_tgt/C_STANDARD
+   /prop_tgt/C_STANDARD_REQUIRED
+   /prop_tgt/COMPATIBLE_INTERFACE_BOOL
+   /prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX
+   /prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN
+   /prop_tgt/COMPATIBLE_INTERFACE_STRING
+   /prop_tgt/COMPILE_DEFINITIONS
+   /prop_tgt/COMPILE_FEATURES
+   /prop_tgt/COMPILE_FLAGS
+   /prop_tgt/COMPILE_OPTIONS
+   /prop_tgt/COMPILE_PDB_NAME
+   /prop_tgt/COMPILE_PDB_NAME_CONFIG
+   /prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY
+   /prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
+   /prop_tgt/CONFIG_OUTPUT_NAME
+   /prop_tgt/CONFIG_POSTFIX
+   /prop_tgt/CROSSCOMPILING_EMULATOR
+   /prop_tgt/CUDA_PTX_COMPILATION
+   /prop_tgt/CUDA_SEPARABLE_COMPILATION
+   /prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS
+   /prop_tgt/CUDA_EXTENSIONS
+   /prop_tgt/CUDA_STANDARD
+   /prop_tgt/CUDA_STANDARD_REQUIRED
+   /prop_tgt/CXX_EXTENSIONS
+   /prop_tgt/CXX_STANDARD
+   /prop_tgt/CXX_STANDARD_REQUIRED
+   /prop_tgt/DEBUG_POSTFIX
+   /prop_tgt/DEFINE_SYMBOL
+   /prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY
+   /prop_tgt/EchoString
+   /prop_tgt/ENABLE_EXPORTS
+   /prop_tgt/EXCLUDE_FROM_ALL
+   /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG
+   /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD
+   /prop_tgt/EXPORT_NAME
+   /prop_tgt/FOLDER
+   /prop_tgt/Fortran_FORMAT
+   /prop_tgt/Fortran_MODULE_DIRECTORY
+   /prop_tgt/FRAMEWORK
+   /prop_tgt/FRAMEWORK_VERSION
+   /prop_tgt/GENERATOR_FILE_NAME
+   /prop_tgt/GNUtoMS
+   /prop_tgt/HAS_CXX
+   /prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
+   /prop_tgt/IMPORTED_CONFIGURATIONS
+   /prop_tgt/IMPORTED_IMPLIB_CONFIG
+   /prop_tgt/IMPORTED_IMPLIB
+   /prop_tgt/IMPORTED_LIBNAME_CONFIG
+   /prop_tgt/IMPORTED_LIBNAME
+   /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG
+   /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES
+   /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG
+   /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES
+   /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG
+   /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES
+   /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG
+   /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY
+   /prop_tgt/IMPORTED_LOCATION_CONFIG
+   /prop_tgt/IMPORTED_LOCATION
+   /prop_tgt/IMPORTED_NO_SONAME_CONFIG
+   /prop_tgt/IMPORTED_NO_SONAME
+   /prop_tgt/IMPORTED_OBJECTS_CONFIG
+   /prop_tgt/IMPORTED_OBJECTS
+   /prop_tgt/IMPORTED
+   /prop_tgt/IMPORTED_SONAME_CONFIG
+   /prop_tgt/IMPORTED_SONAME
+   /prop_tgt/IMPORT_PREFIX
+   /prop_tgt/IMPORT_SUFFIX
+   /prop_tgt/INCLUDE_DIRECTORIES
+   /prop_tgt/INSTALL_NAME_DIR
+   /prop_tgt/INSTALL_RPATH
+   /prop_tgt/INSTALL_RPATH_USE_LINK_PATH
+   /prop_tgt/INTERFACE_AUTOUIC_OPTIONS
+   /prop_tgt/INTERFACE_COMPILE_DEFINITIONS
+   /prop_tgt/INTERFACE_COMPILE_FEATURES
+   /prop_tgt/INTERFACE_COMPILE_OPTIONS
+   /prop_tgt/INTERFACE_INCLUDE_DIRECTORIES
+   /prop_tgt/INTERFACE_LINK_LIBRARIES
+   /prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE
+   /prop_tgt/INTERFACE_SOURCES
+   /prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
+   /prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG
+   /prop_tgt/INTERPROCEDURAL_OPTIMIZATION
+   /prop_tgt/IOS_INSTALL_COMBINED
+   /prop_tgt/JOB_POOL_COMPILE
+   /prop_tgt/JOB_POOL_LINK
+   /prop_tgt/LABELS
+   /prop_tgt/LANG_CLANG_TIDY
+   /prop_tgt/LANG_COMPILER_LAUNCHER
+   /prop_tgt/LANG_CPPCHECK
+   /prop_tgt/LANG_CPPLINT
+   /prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
+   /prop_tgt/LANG_VISIBILITY_PRESET
+   /prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG
+   /prop_tgt/LIBRARY_OUTPUT_DIRECTORY
+   /prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG
+   /prop_tgt/LIBRARY_OUTPUT_NAME
+   /prop_tgt/LINK_DEPENDS_NO_SHARED
+   /prop_tgt/LINK_DEPENDS
+   /prop_tgt/LINKER_LANGUAGE
+   /prop_tgt/LINK_FLAGS_CONFIG
+   /prop_tgt/LINK_FLAGS
+   /prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG
+   /prop_tgt/LINK_INTERFACE_LIBRARIES
+   /prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG
+   /prop_tgt/LINK_INTERFACE_MULTIPLICITY
+   /prop_tgt/LINK_LIBRARIES
+   /prop_tgt/LINK_SEARCH_END_STATIC
+   /prop_tgt/LINK_SEARCH_START_STATIC
+   /prop_tgt/LINK_WHAT_YOU_USE
+   /prop_tgt/LOCATION_CONFIG
+   /prop_tgt/LOCATION
+   /prop_tgt/MACOSX_BUNDLE_INFO_PLIST
+   /prop_tgt/MACOSX_BUNDLE
+   /prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST
+   /prop_tgt/MACOSX_RPATH
+   /prop_tgt/MANUALLY_ADDED_DEPENDENCIES
+   /prop_tgt/MAP_IMPORTED_CONFIG_CONFIG
+   /prop_tgt/NAME
+   /prop_tgt/NO_SONAME
+   /prop_tgt/NO_SYSTEM_FROM_IMPORTED
+   /prop_tgt/OSX_ARCHITECTURES_CONFIG
+   /prop_tgt/OSX_ARCHITECTURES
+   /prop_tgt/OUTPUT_NAME_CONFIG
+   /prop_tgt/OUTPUT_NAME
+   /prop_tgt/PDB_NAME_CONFIG
+   /prop_tgt/PDB_NAME
+   /prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG
+   /prop_tgt/PDB_OUTPUT_DIRECTORY
+   /prop_tgt/POSITION_INDEPENDENT_CODE
+   /prop_tgt/PREFIX
+   /prop_tgt/PRIVATE_HEADER
+   /prop_tgt/PROJECT_LABEL
+   /prop_tgt/PUBLIC_HEADER
+   /prop_tgt/RESOURCE
+   /prop_tgt/RULE_LAUNCH_COMPILE
+   /prop_tgt/RULE_LAUNCH_CUSTOM
+   /prop_tgt/RULE_LAUNCH_LINK
+   /prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG
+   /prop_tgt/RUNTIME_OUTPUT_DIRECTORY
+   /prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG
+   /prop_tgt/RUNTIME_OUTPUT_NAME
+   /prop_tgt/SKIP_BUILD_RPATH
+   /prop_tgt/SOURCE_DIR
+   /prop_tgt/SOURCES
+   /prop_tgt/SOVERSION
+   /prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG
+   /prop_tgt/STATIC_LIBRARY_FLAGS
+   /prop_tgt/SUFFIX
+   /prop_tgt/TYPE
+   /prop_tgt/VERSION
+   /prop_tgt/VISIBILITY_INLINES_HIDDEN
+   /prop_tgt/VS_CONFIGURATION_TYPE
+   /prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY
+   /prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION
+   /prop_tgt/VS_DOTNET_REFERENCE_refname
+   /prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname
+   /prop_tgt/VS_DOTNET_REFERENCES
+   /prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL
+   /prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
+   /prop_tgt/VS_GLOBAL_KEYWORD
+   /prop_tgt/VS_GLOBAL_PROJECT_TYPES
+   /prop_tgt/VS_GLOBAL_ROOTNAMESPACE
+   /prop_tgt/VS_GLOBAL_variable
+   /prop_tgt/VS_IOT_EXTENSIONS_VERSION
+   /prop_tgt/VS_IOT_STARTUP_TASK
+   /prop_tgt/VS_KEYWORD
+   /prop_tgt/VS_MOBILE_EXTENSIONS_VERSION
+   /prop_tgt/VS_SCC_AUXPATH
+   /prop_tgt/VS_SCC_LOCALPATH
+   /prop_tgt/VS_SCC_PROJECTNAME
+   /prop_tgt/VS_SCC_PROVIDER
+   /prop_tgt/VS_SDK_REFERENCES
+   /prop_tgt/VS_USER_PROPS
+   /prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
+   /prop_tgt/VS_WINRT_COMPONENT
+   /prop_tgt/VS_WINRT_EXTENSIONS
+   /prop_tgt/VS_WINRT_REFERENCES
+   /prop_tgt/WIN32_EXECUTABLE
+   /prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS
+   /prop_tgt/XCODE_ATTRIBUTE_an-attribute
+   /prop_tgt/XCODE_EXPLICIT_FILE_TYPE
+   /prop_tgt/XCODE_PRODUCT_TYPE
+   /prop_tgt/XCTEST
+
+.. _`Test Properties`:
+
+Properties on Tests
+===================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_test/ATTACHED_FILES_ON_FAIL
+   /prop_test/ATTACHED_FILES
+   /prop_test/COST
+   /prop_test/DEPENDS
+   /prop_test/DISABLED
+   /prop_test/ENVIRONMENT
+   /prop_test/FAIL_REGULAR_EXPRESSION
+   /prop_test/FIXTURES_CLEANUP
+   /prop_test/FIXTURES_REQUIRED
+   /prop_test/FIXTURES_SETUP
+   /prop_test/LABELS
+   /prop_test/MEASUREMENT
+   /prop_test/PASS_REGULAR_EXPRESSION
+   /prop_test/PROCESSORS
+   /prop_test/REQUIRED_FILES
+   /prop_test/RESOURCE_LOCK
+   /prop_test/RUN_SERIAL
+   /prop_test/SKIP_RETURN_CODE
+   /prop_test/TIMEOUT
+   /prop_test/TIMEOUT_AFTER_MATCH
+   /prop_test/WILL_FAIL
+   /prop_test/WORKING_DIRECTORY
+
+.. _`Source File Properties`:
+
+Properties on Source Files
+==========================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_sf/ABSTRACT
+   /prop_sf/AUTOUIC_OPTIONS
+   /prop_sf/AUTORCC_OPTIONS
+   /prop_sf/COMPILE_DEFINITIONS
+   /prop_sf/COMPILE_FLAGS
+   /prop_sf/EXTERNAL_OBJECT
+   /prop_sf/Fortran_FORMAT
+   /prop_sf/GENERATED
+   /prop_sf/HEADER_FILE_ONLY
+   /prop_sf/KEEP_EXTENSION
+   /prop_sf/LABELS
+   /prop_sf/LANGUAGE
+   /prop_sf/LOCATION
+   /prop_sf/MACOSX_PACKAGE_LOCATION
+   /prop_sf/OBJECT_DEPENDS
+   /prop_sf/OBJECT_OUTPUTS
+   /prop_sf/SKIP_AUTOGEN
+   /prop_sf/SKIP_AUTOMOC
+   /prop_sf/SKIP_AUTORCC
+   /prop_sf/SKIP_AUTOUIC
+   /prop_sf/SYMBOLIC
+   /prop_sf/VS_COPY_TO_OUT_DIR
+   /prop_sf/VS_CSHARP_tagname
+   /prop_sf/VS_DEPLOYMENT_CONTENT
+   /prop_sf/VS_DEPLOYMENT_LOCATION
+   /prop_sf/VS_INCLUDE_IN_VSIX
+   /prop_sf/VS_RESOURCE_GENERATOR
+   /prop_sf/VS_SHADER_ENTRYPOINT
+   /prop_sf/VS_SHADER_FLAGS
+   /prop_sf/VS_SHADER_MODEL
+   /prop_sf/VS_SHADER_OUTPUT_HEADER_FILE
+   /prop_sf/VS_SHADER_TYPE
+   /prop_sf/VS_SHADER_VARIABLE_NAME
+   /prop_sf/VS_TOOL_OVERRIDE.rst
+   /prop_sf/VS_XAML_TYPE
+   /prop_sf/WRAP_EXCLUDE
+   /prop_sf/XCODE_EXPLICIT_FILE_TYPE
+   /prop_sf/XCODE_FILE_ATTRIBUTES
+   /prop_sf/XCODE_LAST_KNOWN_FILE_TYPE
+
+.. _`Cache Entry Properties`:
+
+Properties on Cache Entries
+===========================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_cache/ADVANCED
+   /prop_cache/HELPSTRING
+   /prop_cache/MODIFIED
+   /prop_cache/STRINGS
+   /prop_cache/TYPE
+   /prop_cache/VALUE
+
+.. _`Installed File Properties`:
+
+Properties on Installed Files
+=============================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
+   /prop_inst/CPACK_NEVER_OVERWRITE.rst
+   /prop_inst/CPACK_PERMANENT.rst
+   /prop_inst/CPACK_START_MENU_SHORTCUTS.rst
+   /prop_inst/CPACK_STARTUP_SHORTCUTS.rst
+   /prop_inst/CPACK_WIX_ACL.rst
+
+
+Deprecated Properties on Directories
+====================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_dir/COMPILE_DEFINITIONS_CONFIG
+   /prop_dir/TEST_INCLUDE_FILE
+
+
+Deprecated Properties on Targets
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_tgt/COMPILE_DEFINITIONS_CONFIG
+   /prop_tgt/POST_INSTALL_SCRIPT
+   /prop_tgt/PRE_INSTALL_SCRIPT
+
+
+Deprecated Properties on Source Files
+=====================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /prop_sf/COMPILE_DEFINITIONS_CONFIG
diff --git a/share/cmake-3.10/Help/manual/cmake-qt.7.rst b/share/cmake-3.10/Help/manual/cmake-qt.7.rst
new file mode 100644
index 0000000..cafeae1
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-qt.7.rst
@@ -0,0 +1,252 @@
+.. cmake-manual-description: CMake Qt Features Reference
+
+cmake-qt(7)
+***********
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+CMake can find and use Qt 4 and Qt 5 libraries.  The Qt 4 libraries are found
+by the :module:`FindQt4` find-module shipped with CMake, whereas the
+Qt 5 libraries are found using "Config-file Packages" shipped with Qt 5. See
+:manual:`cmake-packages(7)` for more information about CMake packages, and
+see `the Qt cmake manual <http://qt-project.org/doc/qt-5/cmake-manual.html>`_
+for your Qt version.
+
+Qt 4 and Qt 5 may be used together in the same
+:manual:`CMake buildsystem <cmake-buildsystem(7)>`:
+
+.. code-block:: cmake
+
+  cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR)
+
+  project(Qt4And5)
+
+  set(CMAKE_AUTOMOC ON)
+
+  find_package(Qt5 COMPONENTS Widgets DBus REQUIRED)
+  add_executable(publisher publisher.cpp)
+  target_link_libraries(publisher Qt5::Widgets Qt5::DBus)
+
+  find_package(Qt4 REQUIRED)
+  add_executable(subscriber subscriber.cpp)
+  target_link_libraries(subscriber Qt4::QtGui Qt4::QtDBus)
+
+A CMake target may not link to both Qt 4 and Qt 5.  A diagnostic is issued if
+this is attempted or results from transitive target dependency evaluation.
+
+Qt Build Tools
+==============
+
+Qt relies on some bundled tools for code generation, such as ``moc`` for
+meta-object code generation, ``uic`` for widget layout and population,
+and ``rcc`` for virtual filesystem content generation.  These tools may be
+automatically invoked by :manual:`cmake(1)` if the appropriate conditions
+are met.  The automatic tool invocation may be used with both Qt 4 and Qt 5.
+
+The tools are executed as part of a synthesized custom target generated by
+CMake.  Target dependencies may be added to that custom target by adding them
+to the :prop_tgt:`AUTOGEN_TARGET_DEPENDS` target property.
+
+AUTOMOC
+^^^^^^^
+
+The :prop_tgt:`AUTOMOC` target property controls whether :manual:`cmake(1)`
+inspects the C++ files in the target to determine if they require ``moc`` to
+be run, and to create rules to execute ``moc`` at the appropriate time.
+
+If a macro from :prop_tgt:`AUTOMOC_MACRO_NAMES` is found in a header file,
+``moc`` will be run on the file.  The result will be put into a file named
+according to ``moc_<basename>.cpp``.
+If the macro is found in a C++ implementation
+file, the moc output will be put into a file named according to
+``<basename>.moc``, following the Qt conventions.  The ``<basename>.moc`` must
+be included by the user in the C++ implementation file with a preprocessor
+``#include``.
+
+Included ``moc_*.cpp`` and ``*.moc`` files will be generated in the
+``<AUTOGEN_BUILD_DIR>/include`` directory which is
+automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
+
+* This differs from CMake 3.7 and below; see their documentation for details.
+
+* For :prop_gbl:`multi configuration generators <GENERATOR_IS_MULTI_CONFIG>`,
+  the include directory is ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
+
+* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
+
+Not included ``moc_<basename>.cpp`` files will be generated in custom
+folders to avoid name collisions and included in a separate
+``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file which is compiled
+into the target.
+
+* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
+
+The ``moc`` command line will consume the :prop_tgt:`COMPILE_DEFINITIONS` and
+:prop_tgt:`INCLUDE_DIRECTORIES` target properties from the target it is being
+invoked for, and for the appropriate build configuration.
+
+The :prop_tgt:`AUTOMOC` target property may be pre-set for all
+following targets by setting the :variable:`CMAKE_AUTOMOC` variable.  The
+:prop_tgt:`AUTOMOC_MOC_OPTIONS` target property may be populated to set
+options to pass to ``moc``. The :variable:`CMAKE_AUTOMOC_MOC_OPTIONS`
+variable may be populated to pre-set the options for all following targets.
+
+Additional macro names to search for can be added to :prop_tgt:`AUTOMOC_MACRO_NAMES`.
+
+Additional ``moc`` dependency file names can be extracted from source code
+by using :prop_tgt:`AUTOMOC_DEPEND_FILTERS`.
+
+Source C++ files can be excluded from :prop_tgt:`AUTOMOC` processing by
+enabling :prop_sf:`SKIP_AUTOMOC` or the broader :prop_sf:`SKIP_AUTOGEN`.
+
+.. _`Qt AUTOUIC`:
+
+AUTOUIC
+^^^^^^^
+
+The :prop_tgt:`AUTOUIC` target property controls whether :manual:`cmake(1)`
+inspects the C++ files in the target to determine if they require ``uic`` to
+be run, and to create rules to execute ``uic`` at the appropriate time.
+
+If a preprocessor ``#include`` directive is found which matches
+``<path>ui_<basename>.h``, and a ``<basename>.ui`` file exists,
+then ``uic`` will be executed to generate the appropriate file.
+The ``<basename>.ui`` file is searched for in the following places
+
+1. ``<source_dir>/<basename>.ui``
+2. ``<source_dir>/<path><basename>.ui``
+3. ``<AUTOUIC_SEARCH_PATHS>/<basename>.ui``
+4. ``<AUTOUIC_SEARCH_PATHS>/<path><basename>.ui``
+
+where ``<source_dir>`` is the directory of the C++ file and
+:prop_tgt:`AUTOUIC_SEARCH_PATHS` is a list of additional search paths.
+
+The generated generated ``ui_*.h`` files are placed in the
+``<AUTOGEN_BUILD_DIR>/include`` directory which is
+automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
+
+* This differs from CMake 3.7 and below; see their documentation for details.
+
+* For :prop_gbl:`multi configuration generators <GENERATOR_IS_MULTI_CONFIG>`,
+  the include directory is ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
+
+* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
+
+The :prop_tgt:`AUTOUIC` target property may be pre-set for all following
+targets by setting the :variable:`CMAKE_AUTOUIC` variable.  The
+:prop_tgt:`AUTOUIC_OPTIONS` target property may be populated to set options
+to pass to ``uic``.  The :variable:`CMAKE_AUTOUIC_OPTIONS` variable may be
+populated to pre-set the options for all following targets.  The
+:prop_sf:`AUTOUIC_OPTIONS` source file property may be set on the
+``<basename>.ui`` file to set particular options for the file.  This
+overrides options from the :prop_tgt:`AUTOUIC_OPTIONS` target property.
+
+A target may populate the :prop_tgt:`INTERFACE_AUTOUIC_OPTIONS` target
+property with options that should be used when invoking ``uic``.  This must be
+consistent with the :prop_tgt:`AUTOUIC_OPTIONS` target property content of the
+depender target.  The :variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable may
+be used to track the origin target of such
+:prop_tgt:`INTERFACE_AUTOUIC_OPTIONS`.  This means that a library which
+provides an alternative translation system for Qt may specify options which
+should be used when running ``uic``:
+
+.. code-block:: cmake
+
+  add_library(KI18n klocalizedstring.cpp)
+  target_link_libraries(KI18n Qt5::Core)
+
+  # KI18n uses the tr2i18n() function instead of tr().  That function is
+  # declared in the klocalizedstring.h header.
+  set(autouic_options
+    -tr tr2i18n
+    -include klocalizedstring.h
+  )
+
+  set_property(TARGET KI18n APPEND PROPERTY
+    INTERFACE_AUTOUIC_OPTIONS ${autouic_options}
+  )
+
+A consuming project linking to the target exported from upstream automatically
+uses appropriate options when ``uic`` is run by :prop_tgt:`AUTOUIC`, as a
+result of linking with the :prop_tgt:`IMPORTED` target:
+
+.. code-block:: cmake
+
+  set(CMAKE_AUTOUIC ON)
+  # Uses a libwidget.ui file:
+  add_library(LibWidget libwidget.cpp)
+  target_link_libraries(LibWidget
+    KF5::KI18n
+    Qt5::Widgets
+  )
+
+Source files can be excluded from :prop_tgt:`AUTOUIC` processing by
+enabling :prop_sf:`SKIP_AUTOUIC` or the broader :prop_sf:`SKIP_AUTOGEN`.
+
+.. _`Qt AUTORCC`:
+
+AUTORCC
+^^^^^^^
+
+The :prop_tgt:`AUTORCC` target property controls whether :manual:`cmake(1)`
+creates rules to execute ``rcc`` at the appropriate time on source files
+which have the suffix ``.qrc``.
+
+.. code-block:: cmake
+
+  add_executable(myexe main.cpp resource_file.qrc)
+
+The :prop_tgt:`AUTORCC` target property may be pre-set for all following targets
+by setting the :variable:`CMAKE_AUTORCC` variable.  The
+:prop_tgt:`AUTORCC_OPTIONS` target property may be populated to set options
+to pass to ``rcc``.  The :variable:`CMAKE_AUTORCC_OPTIONS` variable may be
+populated to pre-set the options for all following targets.  The
+:prop_sf:`AUTORCC_OPTIONS` source file property may be set on the
+``<name>.qrc`` file to set particular options for the file.  This
+overrides options from the :prop_tgt:`AUTORCC_OPTIONS` target property.
+
+Source files can be excluded from :prop_tgt:`AUTORCC` processing by
+enabling :prop_sf:`SKIP_AUTORCC` or the broader :prop_sf:`SKIP_AUTOGEN`.
+
+Visual Studio Generators
+========================
+
+When using the :manual:`Visual Studio generators <cmake-generators(7)>`
+CMake tries to use a ``PRE_BUILD``
+:command:`custom command <add_custom_command>` instead
+of a :command:`custom target <add_custom_target>` for autogen.
+``PRE_BUILD`` can't be used when the autogen target depends on files.
+This happens when
+
+- :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC` is enabled and the origin target
+  depends on :prop_sf:`GENERATED` files which aren't excluded from autogen by
+  :prop_sf:`SKIP_AUTOMOC`, :prop_sf:`SKIP_AUTOUIC`, :prop_sf:`SKIP_AUTOGEN`
+  or :policy:`CMP0071`
+- :prop_tgt:`AUTORCC` is enabled and a ``.qrc`` file is listed in
+  the origin target sources
+- :prop_tgt:`AUTOGEN_TARGET_DEPENDS` lists a source file
+
+qtmain.lib on Windows
+=====================
+
+The Qt 4 and 5 :prop_tgt:`IMPORTED` targets for the QtGui libraries specify
+that the qtmain.lib static library shipped with Qt will be linked by all
+dependent executables which have the :prop_tgt:`WIN32_EXECUTABLE` enabled.
+
+To disable this behavior, enable the ``Qt5_NO_LINK_QTMAIN`` target property for
+Qt 5 based targets or ``QT4_NO_LINK_QTMAIN`` target property for Qt 4 based
+targets.
+
+.. code-block:: cmake
+
+  add_executable(myexe WIN32 main.cpp)
+  target_link_libraries(myexe Qt4::QtGui)
+
+  add_executable(myexe_no_qtmain WIN32 main_no_qtmain.cpp)
+  set_property(TARGET main_no_qtmain PROPERTY QT4_NO_LINK_QTMAIN ON)
+  target_link_libraries(main_no_qtmain Qt4::QtGui)
diff --git a/share/cmake-3.10/Help/manual/cmake-server.7.rst b/share/cmake-3.10/Help/manual/cmake-server.7.rst
new file mode 100644
index 0000000..50a90ee
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-server.7.rst
@@ -0,0 +1,681 @@
+.. cmake-manual-description: CMake Server
+
+cmake-server(7)
+***************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+:manual:`cmake(1)` is capable of providing semantic information about
+CMake code it executes to generate a buildsystem.  If executed with
+the ``-E server`` command line options, it starts in a long running mode
+and allows a client to request the available information via a JSON protocol.
+
+The protocol is designed to be useful to IDEs, refactoring tools, and
+other tools which have a need to understand the buildsystem in entirety.
+
+A single :manual:`cmake-buildsystem(7)` may describe buildsystem contents
+and build properties which differ based on
+:manual:`generation-time context <cmake-generator-expressions(7)>`
+including:
+
+* The Platform (eg, Windows, APPLE, Linux).
+* The build configuration (eg, Debug, Release, Coverage).
+* The Compiler (eg, MSVC, GCC, Clang) and compiler version.
+* The language of the source files compiled.
+* Available compile features (eg CXX variadic templates).
+* CMake policies.
+
+The protocol aims to provide information to tooling to satisfy several
+needs:
+
+#. Provide a complete and easily parsed source of all information relevant
+   to the tooling as it relates to the source code.  There should be no need
+   for tooling to parse generated buildsystems to access include directories
+   or compile definitions for example.
+#. Semantic information about the CMake buildsystem itself.
+#. Provide a stable interface for reading the information in the CMake cache.
+#. Information for determining when cmake needs to be re-run as a result of
+   file changes.
+
+
+Operation
+=========
+
+Start :manual:`cmake(1)` in the server command mode, supplying the path to
+the build directory to process::
+
+  cmake -E server (--debug|--pipe <NAMED_PIPE>)
+
+The server will communicate using stdin/stdout (with the ``--debug`` parameter)
+or using a named pipe (with the ``--pipe <NAMED_PIPE>`` parameter).
+
+When connecting to the server (via named pipe or by starting it in ``--debug``
+mode), the server will reply with a hello message::
+
+  [== "CMake Server" ==[
+  {"supportedProtocolVersions":[{"major":1,"minor":0}],"type":"hello"}
+  ]== "CMake Server" ==]
+
+Messages sent to and from the process are wrapped in magic strings::
+
+  [== "CMake Server" ==[
+  {
+    ... some JSON message ...
+  }
+  ]== "CMake Server" ==]
+
+The server is now ready to accept further requests via the named pipe
+or stdin.
+
+
+Debugging
+=========
+
+CMake server mode can be asked to provide statistics on execution times, etc.
+or to dump a copy of the response into a file. This is done passing a "debug"
+JSON object as a child of the request.
+
+The debug object supports the "showStats" key, which takes a boolean and makes
+the server mode return a "zzzDebug" object with stats as part of its response.
+"dumpToFile" takes a string value and will cause the cmake server to copy
+the response into the given filename.
+
+This is a response from the cmake server with "showStats" set to true::
+
+  [== "CMake Server" ==[
+  {
+    "cookie":"",
+    "errorMessage":"Waiting for type \"handshake\".",
+    "inReplyTo":"unknown",
+   "type":"error",
+    "zzzDebug": {
+      "dumpFile":"/tmp/error.txt",
+      "jsonSerialization":0.011016,
+      "size":111,
+      "totalTime":0.025995
+    }
+  }
+  ]== "CMake Server" ==]
+
+The server has made a copy of this response into the file /tmp/error.txt and
+took 0.011 seconds to turn the JSON response into a string, and it took 0.025
+seconds to process the request in total. The reply has a size of 111 bytes.
+
+
+Protocol API
+============
+
+
+General Message Layout
+----------------------
+
+All messages need to have a "type" value, which identifies the type of
+message that is passed back or forth. E.g. the initial message sent by the
+server is of type "hello". Messages without a type will generate an response
+of type "error".
+
+All requests sent to the server may contain a "cookie" value. This value
+will he handed back unchanged in all responses triggered by the request.
+
+All responses will contain a value "inReplyTo", which may be empty in
+case of parse errors, but will contain the type of the request message
+in all other cases.
+
+
+Type "reply"
+^^^^^^^^^^^^
+
+This type is used by the server to reply to requests.
+
+The message may -- depending on the type of the original request --
+contain values.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"cookie":"zimtstern","inReplyTo":"handshake","type":"reply"}
+  ]== "CMake Server" ==]
+
+
+Type "error"
+^^^^^^^^^^^^
+
+This type is used to return an error condition to the client. It will
+contain an "errorMessage".
+
+Example::
+
+  [== "CMake Server" ==[
+  {"cookie":"","errorMessage":"Protocol version not supported.","inReplyTo":"handshake","type":"error"}
+  ]== "CMake Server" ==]
+
+
+Type "progress"
+^^^^^^^^^^^^^^^
+
+When the server is busy for a long time, it is polite to send back replies of
+type "progress" to the client. These will contain a "progressMessage" with a
+string describing the action currently taking place as well as
+"progressMinimum", "progressMaximum" and "progressCurrent" with integer values
+describing the range of progess.
+
+Messages of type "progress" will be followed by more "progress" messages or with
+a message of type "reply" or "error" that complete the request.
+
+"progress" messages may not be emitted after the "reply" or "error" message for
+the request that triggered the responses was delivered.
+
+
+Type "message"
+^^^^^^^^^^^^^^
+
+A message is triggered when the server processes a request and produces some
+form of output that should be displayed to the user. A Message has a "message"
+with the actual text to display as well as a "title" with a suggested dialog
+box title.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"cookie":"","message":"Something happened.","title":"Title Text","inReplyTo":"handshake","type":"message"}
+  ]== "CMake Server" ==]
+
+
+Type "signal"
+^^^^^^^^^^^^^
+
+The server can send signals when it detects changes in the system state. Signals
+are of type "signal", have an empty "cookie" and "inReplyTo" field and always
+have a "name" set to show which signal was sent.
+
+
+Specific Signals
+----------------
+
+The cmake server may sent signals with the following names:
+
+"dirty" Signal
+^^^^^^^^^^^^^^
+
+The "dirty" signal is sent whenever the server determines that the configuration
+of the project is no longer up-to-date. This happens when any of the files that have
+an influence on the build system is changed.
+
+The "dirty" signal may look like this::
+
+  [== "CMake Server" ==[
+  {
+    "cookie":"",
+    "inReplyTo":"",
+    "name":"dirty",
+    "type":"signal"}
+  ]== "CMake Server" ==]
+
+
+"fileChange" Signal
+^^^^^^^^^^^^^^^^^^^
+
+The "fileChange" signal is sent whenever a watched file is changed. It contains
+the "path" that has changed and a list of "properties" with the kind of change
+that was detected. Possible changes are "change" and "rename".
+
+The "fileChange" signal looks like this::
+
+  [== "CMake Server" ==[
+  {
+    "cookie":"",
+    "inReplyTo":"",
+    "name":"fileChange",
+    "path":"/absolute/CMakeLists.txt",
+    "properties":["change"],
+    "type":"signal"}
+  ]== "CMake Server" ==]
+
+
+Specific Message Types
+----------------------
+
+
+Type "hello"
+^^^^^^^^^^^^
+
+The initial message send by the cmake server on startup is of type "hello".
+This is the only message ever sent by the server that is not of type "reply",
+"progress" or "error".
+
+It will contain "supportedProtocolVersions" with an array of server protocol
+versions supported by the cmake server. These are JSON objects with "major" and
+"minor" keys containing non-negative integer values. Some versions may be marked
+as experimental. These will contain the "isExperimental" key set to true. Enabling
+these requires a special command line argument when starting the cmake server mode.
+
+Within a "major" version all "minor" versions are fully backwards compatible.
+New "minor" versions may introduce functionality in such a way that existing
+clients of the same "major" version will continue to work, provided they
+ignore keys in the output that they do not know about.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"supportedProtocolVersions":[{"major":0,"minor":1}],"type":"hello"}
+  ]== "CMake Server" ==]
+
+
+Type "handshake"
+^^^^^^^^^^^^^^^^
+
+The first request that the client may send to the server is of type "handshake".
+
+This request needs to pass one of the "supportedProtocolVersions" of the "hello"
+type response received earlier back to the server in the "protocolVersion" field.
+Giving the "major" version of the requested protocol version will make the server
+use the latest minor version of that protocol. Use this if you do not explicitly
+need to depend on a specific minor version.
+
+If the build directory already contains a CMake cache, it is sufficient to set
+the "buildDirectory" attribute. To create a fresh build directory, additional
+attributes are required depending on the protocol version.
+
+Protocol version 1.0 requires the following attributes to be set:
+
+  * "sourceDirectory" with a path to the sources
+  * "buildDirectory" with a path to the build directory
+  * "generator" with the generator name
+  * "extraGenerator" (optional!) with the extra generator to be used
+  * "platform" with the generator platform (if supported by the generator)
+  * "toolset" with the generator toolset (if supported by the generator)
+
+Example::
+
+  [== "CMake Server" ==[
+  {"cookie":"zimtstern","type":"handshake","protocolVersion":{"major":0},
+   "sourceDirectory":"/home/code/cmake", "buildDirectory":"/tmp/testbuild",
+   "generator":"Ninja"}
+  ]== "CMake Server" ==]
+
+which will result in a response type "reply"::
+
+  [== "CMake Server" ==[
+  {"cookie":"zimtstern","inReplyTo":"handshake","type":"reply"}
+  ]== "CMake Server" ==]
+
+indicating that the server is ready for action.
+
+
+Type "globalSettings"
+^^^^^^^^^^^^^^^^^^^^^
+
+This request can be sent after the initial handshake. It will return a
+JSON structure with information on cmake state.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"globalSettings"}
+  ]== "CMake Server" ==]
+
+which will result in a response type "reply"::
+
+  [== "CMake Server" ==[
+  {
+    "buildDirectory": "/tmp/test-build",
+    "capabilities": {
+      "generators": [
+        {
+          "extraGenerators": [],
+          "name": "Watcom WMake",
+          "platformSupport": false,
+          "toolsetSupport": false
+        },
+        <...>
+      ],
+      "serverMode": false,
+      "version": {
+        "isDirty": false,
+        "major": 3,
+        "minor": 6,
+        "patch": 20160830,
+        "string": "3.6.20160830-gd6abad",
+        "suffix": "gd6abad"
+      }
+    },
+    "checkSystemVars": false,
+    "cookie": "",
+    "extraGenerator": "",
+    "generator": "Ninja",
+    "debugOutput": false,
+    "inReplyTo": "globalSettings",
+    "sourceDirectory": "/home/code/cmake",
+    "trace": false,
+    "traceExpand": false,
+    "type": "reply",
+    "warnUninitialized": false,
+    "warnUnused": false,
+    "warnUnusedCli": true
+  }
+  ]== "CMake Server" ==]
+
+
+Type "setGlobalSettings"
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+This request can be sent to change the global settings attributes. Unknown
+attributes are going to be ignored. Read-only attributes reported by
+"globalSettings" are all capabilities, buildDirectory, generator,
+extraGenerator and sourceDirectory. Any attempt to set these will be ignored,
+too.
+
+All other settings will be changed.
+
+The server will respond with an empty reply message or an error.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"setGlobalSettings","debugOutput":true}
+  ]== "CMake Server" ==]
+
+CMake will reply to this with::
+
+  [== "CMake Server" ==[
+  {"inReplyTo":"setGlobalSettings","type":"reply"}
+  ]== "CMake Server" ==]
+
+
+Type "configure"
+^^^^^^^^^^^^^^^^
+
+This request will configure a project for build.
+
+To configure a build directory already containing cmake files, it is enough to
+set "buildDirectory" via "setGlobalSettings". To create a fresh build directory
+you also need to set "currentGenerator" and "sourceDirectory" via "setGlobalSettings"
+in addition to "buildDirectory".
+
+You may a list of strings to "configure" via the "cacheArguments" key. These
+strings will be interpreted similar to command line arguments related to
+cache handling that are passed to the cmake command line client.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"configure", "cacheArguments":["-Dsomething=else"]}
+  ]== "CMake Server" ==]
+
+CMake will reply like this (after reporting progress for some time)::
+
+  [== "CMake Server" ==[
+  {"cookie":"","inReplyTo":"configure","type":"reply"}
+  ]== "CMake Server" ==]
+
+
+Type "compute"
+^^^^^^^^^^^^^^
+
+This request will generate build system files in the build directory and
+is only available after a project was successfully "configure"d.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"compute"}
+  ]== "CMake Server" ==]
+
+CMake will reply (after reporting progress information)::
+
+  [== "CMake Server" ==[
+  {"cookie":"","inReplyTo":"compute","type":"reply"}
+  ]== "CMake Server" ==]
+
+
+Type "codemodel"
+^^^^^^^^^^^^^^^^
+
+The "codemodel" request can be used after a project was "compute"d successfully.
+
+It will list the complete project structure as it is known to cmake.
+
+The reply will contain a key "configurations", which will contain a list of
+configuration objects. Configuration objects are used to destinquish between
+different configurations the build directory might have enabled. While most
+generators only support one configuration, others might support several.
+
+Each configuration object can have the following keys:
+
+"name"
+  contains the name of the configuration. The name may be empty.
+"projects"
+  contains a list of project objects, one for each build project.
+
+Project objects define one (sub-)project defined in the cmake build system.
+
+Each project object can have the following keys:
+
+"name"
+  contains the (sub-)projects name.
+"sourceDirectory"
+  contains the current source directory
+"buildDirectory"
+  contains the current build directory.
+"targets"
+  contains a list of build system target objects.
+
+Target objects define individual build targets for a certain configuration.
+
+Each target object can have the following keys:
+
+"name"
+  contains the name of the target.
+"type"
+  defines the type of build of the target. Possible values are
+  "STATIC_LIBRARY", "MODULE_LIBRARY", "SHARED_LIBRARY", "OBJECT_LIBRARY",
+  "EXECUTABLE", "UTILITY" and "INTERFACE_LIBRARY".
+"fullName"
+  contains the full name of the build result (incl. extensions, etc.).
+"sourceDirectory"
+  contains the current source directory.
+"buildDirectory"
+  contains the current build directory.
+"artifacts"
+  with a list of build artifacts. The list is sorted with the most
+  important artifacts first (e.g. a .DLL file is listed before a
+  .PDB file on windows).
+"linkerLanguage"
+  contains the language of the linker used to produce the artifact.
+"linkLibraries"
+  with a list of libraries to link to. This value is encoded in the
+  system's native shell format.
+"linkFlags"
+  with a list of flags to pass to the linker. This value is encoded in
+  the system's native shell format.
+"linkLanguageFlags"
+  with the flags for a compiler using the linkerLanguage. This value is
+  encoded in the system's native shell format.
+"frameworkPath"
+  with the framework path (on Apple computers). This value is encoded
+  in the system's native shell format.
+"linkPath"
+  with the link path. This value is encoded in the system's native shell
+  format.
+"sysroot"
+  with the sysroot path.
+"fileGroups"
+  contains the source files making up the target.
+
+FileGroups are used to group sources using similar settings together.
+
+Each fileGroup object may contain the following keys:
+
+"language"
+  contains the programming language used by all files in the group.
+"compileFlags"
+  with a string containing all the flags passed to the compiler
+  when building any of the files in this group. This value is encoded in
+  the system's native shell format.
+"includePath"
+  with a list of include paths. Each include path is an object
+  containing a "path" with the actual include path and "isSystem" with a bool
+  value informing whether this is a normal include or a system include. This
+  value is encoded in the system's native shell format.
+"defines"
+  with a list of defines in the form "SOMEVALUE" or "SOMEVALUE=42". This
+  value is encoded in the system's native shell format.
+"sources"
+  with a list of source files.
+
+All file paths in the fileGroup are either absolute or relative to the
+sourceDirectory of the target.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"codemodel"}
+  ]== "CMake Server" ==]
+
+CMake will reply::
+
+  [== "CMake Server" ==[
+  {
+    "configurations": [
+      {
+        "name": "",
+        "projects": [
+          {
+            "buildDirectory": "/tmp/build/Source/CursesDialog/form",
+            "name": "CMAKE_FORM",
+            "sourceDirectory": "/home/code/src/cmake/Source/CursesDialog/form",
+            "targets": [
+              {
+                "artifacts": [ "/tmp/build/Source/CursesDialog/form/libcmForm.a" ],
+                "buildDirectory": "/tmp/build/Source/CursesDialog/form",
+                "fileGroups": [
+                  {
+                    "compileFlags": "  -std=gnu11",
+                    "defines": [ "CURL_STATICLIB", "LIBARCHIVE_STATIC" ],
+                    "includePath": [ { "path": "/tmp/build/Utilities" }, <...> ],
+                    "isGenerated": false,
+                    "language": "C",
+                    "sources": [ "fld_arg.c", <...> ]
+                  }
+                ],
+                "fullName": "libcmForm.a",
+                "linkerLanguage": "C",
+                "name": "cmForm",
+                "sourceDirectory": "/home/code/src/cmake/Source/CursesDialog/form",
+                "type": "STATIC_LIBRARY"
+              }
+            ]
+          },
+          <...>
+        ]
+      }
+    ],
+    "cookie": "",
+    "inReplyTo": "codemodel",
+    "type": "reply"
+  }
+  ]== "CMake Server" ==]
+
+
+Type "cmakeInputs"
+^^^^^^^^^^^^^^^^^^
+
+The "cmakeInputs" requests will report files used by CMake as part
+of the build system itself.
+
+This request is only available after a project was successfully
+"configure"d.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"cmakeInputs"}
+  ]== "CMake Server" ==]
+
+CMake will reply with the following information::
+
+  [== "CMake Server" ==[
+  {"buildFiles":
+    [
+      {"isCMake":true,"isTemporary":false,"sources":["/usr/lib/cmake/...", ... ]},
+      {"isCMake":false,"isTemporary":false,"sources":["CMakeLists.txt", ...]},
+      {"isCMake":false,"isTemporary":true,"sources":["/tmp/build/CMakeFiles/...", ...]}
+    ],
+    "cmakeRootDirectory":"/usr/lib/cmake",
+    "sourceDirectory":"/home/code/src/cmake",
+    "cookie":"",
+    "inReplyTo":"cmakeInputs",
+    "type":"reply"
+  }
+  ]== "CMake Server" ==]
+
+All file names are either relative to the top level source directory or
+absolute.
+
+The list of files which "isCMake" set to true are part of the cmake installation.
+
+The list of files witch "isTemporary" set to true are part of the build directory
+and will not survive the build directory getting cleaned out.
+
+
+Type "cache"
+^^^^^^^^^^^^
+
+The "cache" request will list the cached configuration values.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"cache"}
+  ]== "CMake Server" ==]
+
+CMake will respond with the following output::
+
+  [== "CMake Server" ==[
+  {
+    "cookie":"","inReplyTo":"cache","type":"reply",
+    "cache":
+    [
+      {
+        "key":"SOMEVALUE",
+        "properties":
+        {
+          "ADVANCED":"1",
+          "HELPSTRING":"This is not helpful"
+        }
+        "type":"STRING",
+        "value":"TEST"}
+    ]
+  }
+  ]== "CMake Server" ==]
+
+The output can be limited to a list of keys by passing an array of key names
+to the "keys" optional field of the "cache" request.
+
+
+Type "fileSystemWatchers"
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The server can watch the filesystem for changes. The "fileSystemWatchers"
+command will report on the files and directories watched.
+
+Example::
+
+  [== "CMake Server" ==[
+  {"type":"fileSystemWatchers"}
+  ]== "CMake Server" ==]
+
+CMake will respond with the following output::
+
+  [== "CMake Server" ==[
+  {
+    "cookie":"","inReplyTo":"fileSystemWatchers","type":"reply",
+    "watchedFiles": [ "/absolute/path" ],
+    "watchedDirectories": [ "/absolute" ]
+  }
+  ]== "CMake Server" ==]
diff --git a/share/cmake-3.10/Help/manual/cmake-toolchains.7.rst b/share/cmake-3.10/Help/manual/cmake-toolchains.7.rst
new file mode 100644
index 0000000..8554e87
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-toolchains.7.rst
@@ -0,0 +1,524 @@
+.. cmake-manual-description: CMake Toolchains Reference
+
+cmake-toolchains(7)
+*******************
+
+.. only:: html
+
+   .. contents::
+
+Introduction
+============
+
+CMake uses a toolchain of utilities to compile, link libraries and create
+archives, and other tasks to drive the build. The toolchain utilities available
+are determined by the languages enabled. In normal builds, CMake automatically
+determines the toolchain for host builds based on system introspection and
+defaults. In cross-compiling scenarios, a toolchain file may be specified
+with information about compiler and utility paths.
+
+Languages
+=========
+
+Languages are enabled by the :command:`project` command.  Language-specific
+built-in variables, such as
+:variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>`,
+:variable:`CMAKE_CXX_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` etc are set by
+invoking the :command:`project` command.  If no project command
+is in the top-level CMakeLists file, one will be implicitly generated. By default
+the enabled languages are C and CXX:
+
+.. code-block:: cmake
+
+  project(C_Only C)
+
+A special value of NONE can also be used with the :command:`project` command
+to enable no languages:
+
+.. code-block:: cmake
+
+  project(MyProject NONE)
+
+The :command:`enable_language` command can be used to enable languages after the
+:command:`project` command:
+
+.. code-block:: cmake
+
+  enable_language(CXX)
+
+When a language is enabled, CMake finds a compiler for that language, and
+determines some information, such as the vendor and version of the compiler,
+the target architecture and bitwidth, the location of corresponding utilities
+etc.
+
+The :prop_gbl:`ENABLED_LANGUAGES` global property contains the languages which
+are currently enabled.
+
+Variables and Properties
+========================
+
+Several variables relate to the language components of a toolchain which are
+enabled. :variable:`CMAKE_<LANG>_COMPILER` is the full path to the compiler used
+for ``<LANG>``. :variable:`CMAKE_<LANG>_COMPILER_ID` is the identifier used
+by CMake for the compiler and :variable:`CMAKE_<LANG>_COMPILER_VERSION` is the
+version of the compiler.
+
+The :variable:`CMAKE_<LANG>_FLAGS` variables and the configuration-specific
+equivalents contain flags that will be added to the compile command when
+compiling a file of a particular language.
+
+As the linker is invoked by the compiler driver, CMake needs a way to determine
+which compiler to use to invoke the linker. This is calculated by the
+:prop_sf:`LANGUAGE` of source files in the target, and in the case of static
+libraries, the language of the dependent libraries. The choice CMake makes may
+be overridden with the :prop_tgt:`LINKER_LANGUAGE` target property.
+
+Toolchain Features
+==================
+
+CMake provides the :command:`try_compile` command and wrapper macros such as
+:module:`CheckCXXSourceCompiles`, :module:`CheckCXXSymbolExists` and
+:module:`CheckIncludeFile` to test capability and availability of various
+toolchain features. These APIs test the toolchain in some way and cache the
+result so that the test does not have to be performed again the next time
+CMake runs.
+
+Some toolchain features have built-in handling in CMake, and do not require
+compile-tests. For example, :prop_tgt:`POSITION_INDEPENDENT_CODE` allows
+specifying that a target should be built as position-independent code, if
+the compiler supports that feature. The :prop_tgt:`<LANG>_VISIBILITY_PRESET`
+and :prop_tgt:`VISIBILITY_INLINES_HIDDEN` target properties add flags for
+hidden visibility, if supported by the compiler.
+
+.. _`Cross Compiling Toolchain`:
+
+Cross Compiling
+===============
+
+If :manual:`cmake(1)` is invoked with the command line parameter
+``-DCMAKE_TOOLCHAIN_FILE=path/to/file``, the file will be loaded early to set
+values for the compilers.
+The :variable:`CMAKE_CROSSCOMPILING` variable is set to true when CMake is
+cross-compiling.
+
+Cross Compiling for Linux
+-------------------------
+
+A typical cross-compiling toolchain for Linux has content such
+as:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME Linux)
+  set(CMAKE_SYSTEM_PROCESSOR arm)
+
+  set(CMAKE_SYSROOT /home/devel/rasp-pi-rootfs)
+  set(CMAKE_STAGING_PREFIX /home/devel/stage)
+
+  set(tools /home/devel/gcc-4.7-linaro-rpi-gnueabihf)
+  set(CMAKE_C_COMPILER ${tools}/bin/arm-linux-gnueabihf-gcc)
+  set(CMAKE_CXX_COMPILER ${tools}/bin/arm-linux-gnueabihf-g++)
+
+  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+  set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+
+The :variable:`CMAKE_SYSTEM_NAME` is the CMake-identifier of the target platform
+to build for.
+
+The :variable:`CMAKE_SYSTEM_PROCESSOR` is the CMake-identifier of the target architecture
+to build for.
+
+The :variable:`CMAKE_SYSROOT` is optional, and may be specified if a sysroot
+is available.
+
+The :variable:`CMAKE_STAGING_PREFIX` is also optional. It may be used to specify
+a path on the host to install to. The :variable:`CMAKE_INSTALL_PREFIX` is always
+the runtime installation location, even when cross-compiling.
+
+The :variable:`CMAKE_<LANG>_COMPILER` variables may be set to full paths, or to
+names of compilers to search for in standard locations.   For toolchains that
+do not support linking binaries without custom flags or scripts one may set
+the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable to ``STATIC_LIBRARY``
+to tell CMake not to try to link executables during its checks.
+
+CMake ``find_*`` commands will look in the sysroot, and the :variable:`CMAKE_FIND_ROOT_PATH`
+entries by default in all cases, as well as looking in the host system root prefix.
+Although this can be controlled on a case-by-case basis, when cross-compiling, it
+can be useful to exclude looking in either the host or the target for particular
+artifacts. Generally, includes, libraries and packages should be found in the
+target system prefixes, whereas executables which must be run as part of the build
+should be found only on the host and not on the target. This is the purpose of
+the ``CMAKE_FIND_ROOT_PATH_MODE_*`` variables.
+
+.. _`Cray Cross-Compile`:
+
+Cross Compiling for the Cray Linux Environment
+----------------------------------------------
+
+Cross compiling for compute nodes in the Cray Linux Environment can be done
+without needing a separate toolchain file.  Specifying
+``-DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment`` on the CMake command line will
+ensure that the appropriate build settings and search paths are configured.
+The platform will pull its configuration from the current environment
+variables and will configure a project to use the compiler wrappers from the
+Cray Programming Environment's ``PrgEnv-*`` modules if present and loaded.
+
+The default configuration of the Cray Programming Environment is to only
+support static libraries.  This can be overridden and shared libraries
+enabled by setting the ``CRAYPE_LINK_TYPE`` environment variable to
+``dynamic``.
+
+Running CMake without specifying :variable:`CMAKE_SYSTEM_NAME` will
+run the configure step in host mode assuming a standard Linux environment.
+If not overridden, the ``PrgEnv-*`` compiler wrappers will end up getting used,
+which if targeting the either the login node or compute node, is likely not the
+desired behavior.  The exception to this would be if you are building directly
+on a NID instead of cross-compiling from a login node. If trying to build
+software for a login node, you will need to either first unload the
+currently loaded ``PrgEnv-*`` module or explicitly tell CMake to use the
+system compilers in ``/usr/bin`` instead of the Cray wrappers.  If instead
+targeting a compute node is desired, just specify the
+:variable:`CMAKE_SYSTEM_NAME` as mentioned above.
+
+Cross Compiling using Clang
+---------------------------
+
+Some compilers such as Clang are inherently cross compilers.
+The :variable:`CMAKE_<LANG>_COMPILER_TARGET` can be set to pass a
+value to those supported compilers when compiling:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME Linux)
+  set(CMAKE_SYSTEM_PROCESSOR arm)
+
+  set(triple arm-linux-gnueabihf)
+
+  set(CMAKE_C_COMPILER clang)
+  set(CMAKE_C_COMPILER_TARGET ${triple})
+  set(CMAKE_CXX_COMPILER clang++)
+  set(CMAKE_CXX_COMPILER_TARGET ${triple})
+
+Similarly, some compilers do not ship their own supplementary utilities
+such as linkers, but provide a way to specify the location of the external
+toolchain which will be used by the compiler driver. The
+:variable:`CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN` variable can be set in a
+toolchain file to pass the path to the compiler driver.
+
+Cross Compiling for QNX
+-----------------------
+
+As the Clang compiler the QNX QCC compile is inherently a cross compiler.
+And the :variable:`CMAKE_<LANG>_COMPILER_TARGET` can be set to pass a
+value to those supported compilers when compiling:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME QNX)
+
+  set(arch gcc_ntoarmv7le)
+
+  set(CMAKE_C_COMPILER qcc)
+  set(CMAKE_C_COMPILER_TARGET ${arch})
+  set(CMAKE_CXX_COMPILER QCC)
+  set(CMAKE_CXX_COMPILER_TARGET ${arch})
+
+Cross Compiling for Windows CE
+------------------------------
+
+Cross compiling for Windows CE requires the corresponding SDK being
+installed on your system.  These SDKs are usually installed under
+``C:/Program Files (x86)/Windows CE Tools/SDKs``.
+
+A toolchain file to configure a Visual Studio generator for
+Windows CE may look like this:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME WindowsCE)
+
+  set(CMAKE_SYSTEM_VERSION 8.0)
+  set(CMAKE_SYSTEM_PROCESSOR arm)
+
+  set(CMAKE_GENERATOR_TOOLSET CE800) # Can be omitted for 8.0
+  set(CMAKE_GENERATOR_PLATFORM SDK_AM335X_SK_WEC2013_V310)
+
+The :variable:`CMAKE_GENERATOR_PLATFORM` tells the generator which SDK to use.
+Further :variable:`CMAKE_SYSTEM_VERSION` tells the generator what version of
+Windows CE to use.  Currently version 8.0 (Windows Embedded Compact 2013) is
+supported out of the box.  Other versions may require one to set
+:variable:`CMAKE_GENERATOR_TOOLSET` to the correct value.
+
+Cross Compiling for Windows 10 Universal Applications
+-----------------------------------------------------
+
+A toolchain file to configure a Visual Studio generator for a
+Windows 10 Universal Application may look like this:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME WindowsStore)
+  set(CMAKE_SYSTEM_VERSION 10.0)
+
+A Windows 10 Universal Application targets both Windows Store and
+Windows Phone.  Specify the :variable:`CMAKE_SYSTEM_VERSION` variable
+to be ``10.0`` to build with the latest available Windows 10 SDK.
+Specify a more specific version (e.g. ``10.0.10240.0`` for RTM)
+to build with the corresponding SDK.
+
+Cross Compiling for Windows Phone
+---------------------------------
+
+A toolchain file to configure a Visual Studio generator for
+Windows Phone may look like this:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME WindowsPhone)
+  set(CMAKE_SYSTEM_VERSION 8.1)
+
+Cross Compiling for Windows Store
+---------------------------------
+
+A toolchain file to configure a Visual Studio generator for
+Windows Store may look like this:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME WindowsStore)
+  set(CMAKE_SYSTEM_VERSION 8.1)
+
+.. _`Cross Compiling for Android`:
+
+Cross Compiling for Android
+---------------------------
+
+A toolchain file may configure cross-compiling for Android by setting the
+:variable:`CMAKE_SYSTEM_NAME` variable to ``Android``.  Further configuration
+is specific to the Android development environment to be used.
+
+For :ref:`Visual Studio Generators`, CMake expects :ref:`NVIDIA Nsight Tegra
+Visual Studio Edition <Cross Compiling for Android with NVIDIA Nsight Tegra
+Visual Studio Edition>` to be installed.  See that section for further
+configuration details.
+
+For :ref:`Makefile Generators` and the :generator:`Ninja` generator,
+CMake expects one of these environments:
+
+* :ref:`NDK <Cross Compiling for Android with the NDK>`
+* :ref:`Standalone Toolchain <Cross Compiling for Android with a Standalone Toolchain>`
+
+CMake uses the following steps to select one of the environments:
+
+* If the :variable:`CMAKE_ANDROID_NDK` variable is set, the NDK at the
+  specified location will be used.
+
+* Else, if the :variable:`CMAKE_ANDROID_STANDALONE_TOOLCHAIN` variable
+  is set, the Standalone Toolchain at the specified location will be used.
+
+* Else, if the :variable:`CMAKE_SYSROOT` variable is set to a directory
+  of the form ``<ndk>/platforms/android-<api>/arch-<arch>``, the ``<ndk>``
+  part will be used as the value of :variable:`CMAKE_ANDROID_NDK` and the
+  NDK will be used.
+
+* Else, if the :variable:`CMAKE_SYSROOT` variable is set to a directory of the
+  form ``<standalone-toolchain>/sysroot``, the ``<standalone-toolchain>`` part
+  will be used as the value of :variable:`CMAKE_ANDROID_STANDALONE_TOOLCHAIN`
+  and the Standalone Toolchain will be used.
+
+* Else, if a cmake variable ``ANDROID_NDK`` is set it will be used
+  as the value of :variable:`CMAKE_ANDROID_NDK`, and the NDK will be used.
+
+* Else, if a cmake variable ``ANDROID_STANDALONE_TOOLCHAIN`` is set, it will be
+  used as the value of :variable:`CMAKE_ANDROID_STANDALONE_TOOLCHAIN`, and the
+  Standalone Toolchain will be used.
+
+* Else, if an environment variable ``ANDROID_NDK_ROOT`` or
+  ``ANDROID_NDK`` is set, it will be used as the value of
+  :variable:`CMAKE_ANDROID_NDK`, and the NDK will be used.
+
+* Else, if an environment variable ``ANDROID_STANDALONE_TOOLCHAIN`` is
+  set then it will be used as the value of
+  :variable:`CMAKE_ANDROID_STANDALONE_TOOLCHAIN`, and the Standalone
+  Toolchain will be used.
+
+* Else, an error diagnostic will be issued that neither the NDK or
+  Standalone Toolchain can be found.
+
+.. _`Cross Compiling for Android with the NDK`:
+
+Cross Compiling for Android with the NDK
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A toolchain file may configure :ref:`Makefile Generators` or the
+:generator:`Ninja` generator to target Android for cross-compiling.
+
+Configure use of an Android NDK with the following variables:
+
+:variable:`CMAKE_SYSTEM_NAME`
+  Set to ``Android``.  Must be specified to enable cross compiling
+  for Android.
+
+:variable:`CMAKE_SYSTEM_VERSION`
+  Set to the Android API level.  If not specified, the value is
+  determined as follows:
+
+  * If the :variable:`CMAKE_ANDROID_API` variable is set, its value
+    is used as the API level.
+  * If the :variable:`CMAKE_SYSROOT` variable is set, the API level is
+    detected from the NDK directory structure containing the sysroot.
+  * Otherwise, the latest API level available in the NDK is used.
+
+:variable:`CMAKE_ANDROID_ARCH_ABI`
+  Set to the Android ABI (architecture).  If not specified, this
+  variable will default to ``armeabi``.
+  The :variable:`CMAKE_ANDROID_ARCH` variable will be computed
+  from ``CMAKE_ANDROID_ARCH_ABI`` automatically.
+  Also see the :variable:`CMAKE_ANDROID_ARM_MODE` and
+  :variable:`CMAKE_ANDROID_ARM_NEON` variables.
+
+:variable:`CMAKE_ANDROID_NDK`
+  Set to the absolute path to the Android NDK root directory.
+  A ``${CMAKE_ANDROID_NDK}/platforms`` directory must exist.
+  If not specified, a default for this variable will be chosen
+  as specified :ref:`above <Cross Compiling for Android>`.
+
+:variable:`CMAKE_ANDROID_NDK_DEPRECATED_HEADERS`
+  Set to a true value to use the deprecated per-api-level headers
+  instead of the unified headers.  If not specified, the default will
+  be false unless using a NDK that does not provide unified headers.
+
+:variable:`CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION`
+  Set to the version of the NDK toolchain to be selected as the compiler.
+  If not specified, the default will be the latest available GCC toolchain.
+
+:variable:`CMAKE_ANDROID_STL_TYPE`
+  Set to specify which C++ standard library to use.  If not specified,
+  a default will be selected as described in the variable documentation.
+
+The following variables will be computed and provided automatically:
+
+:variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX`
+  The absolute path prefix to the binutils in the NDK toolchain.
+
+:variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX`
+  The host platform suffix of the binutils in the NDK toolchain.
+
+
+For example, a toolchain file might contain:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME Android)
+  set(CMAKE_SYSTEM_VERSION 21) # API level
+  set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
+  set(CMAKE_ANDROID_NDK /path/to/android-ndk)
+  set(CMAKE_ANDROID_STL_TYPE gnustl_static)
+
+Alternatively one may specify the values without a toolchain file:
+
+.. code-block:: console
+
+  $ cmake ../src \
+    -DCMAKE_SYSTEM_NAME=Android \
+    -DCMAKE_SYSTEM_VERSION=21 \
+    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
+    -DCMAKE_ANDROID_NDK=/path/to/android-ndk \
+    -DCMAKE_ANDROID_STL_TYPE=gnustl_static
+
+.. _`Cross Compiling for Android with a Standalone Toolchain`:
+
+Cross Compiling for Android with a Standalone Toolchain
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A toolchain file may configure :ref:`Makefile Generators` or the
+:generator:`Ninja` generator to target Android for cross-compiling
+using a standalone toolchain.
+
+Configure use of an Android standalone toolchain with the following variables:
+
+:variable:`CMAKE_SYSTEM_NAME`
+  Set to ``Android``.  Must be specified to enable cross compiling
+  for Android.
+
+:variable:`CMAKE_ANDROID_STANDALONE_TOOLCHAIN`
+  Set to the absolute path to the standalone toolchain root directory.
+  A ``${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot`` directory
+  must exist.
+  If not specified, a default for this variable will be chosen
+  as specified :ref:`above <Cross Compiling for Android>`.
+
+:variable:`CMAKE_ANDROID_ARM_MODE`
+  When the standalone toolchain targets ARM, optionally set this to ``ON``
+  to target 32-bit ARM instead of 16-bit Thumb.
+  See variable documentation for details.
+
+:variable:`CMAKE_ANDROID_ARM_NEON`
+  When the standalone toolchain targets ARM v7, optionally set thisto ``ON``
+  to target ARM NEON devices.  See variable documentation for details.
+
+The following variables will be computed and provided automatically:
+
+:variable:`CMAKE_SYSTEM_VERSION`
+  The Android API level detected from the standalone toolchain.
+
+:variable:`CMAKE_ANDROID_ARCH_ABI`
+  The Android ABI detected from the standalone toolchain.
+
+:variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX`
+  The absolute path prefix to the binutils in the standalone toolchain.
+
+:variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX`
+  The host platform suffix of the binutils in the standalone toolchain.
+
+For example, a toolchain file might contain:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME Android)
+  set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN /path/to/android-toolchain)
+
+Alternatively one may specify the values without a toolchain file:
+
+.. code-block:: console
+
+  $ cmake ../src \
+    -DCMAKE_SYSTEM_NAME=Android \
+    -DCMAKE_ANDROID_STANDALONE_TOOLCHAIN=/path/to/android-toolchain
+
+.. _`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio Edition`:
+
+Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio Edition
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A toolchain file to configure one of the :ref:`Visual Studio Generators`
+to build using NVIDIA Nsight Tegra targeting Android may look like this:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME Android)
+
+The :variable:`CMAKE_GENERATOR_TOOLSET` may be set to select
+the Nsight Tegra "Toolchain Version" value.
+
+See also target properties:
+
+* :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS`
+* :prop_tgt:`ANDROID_API_MIN`
+* :prop_tgt:`ANDROID_API`
+* :prop_tgt:`ANDROID_ARCH`
+* :prop_tgt:`ANDROID_ASSETS_DIRECTORIES`
+* :prop_tgt:`ANDROID_GUI`
+* :prop_tgt:`ANDROID_JAR_DEPENDENCIES`
+* :prop_tgt:`ANDROID_JAR_DIRECTORIES`
+* :prop_tgt:`ANDROID_JAVA_SOURCE_DIR`
+* :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES`
+* :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES`
+* :prop_tgt:`ANDROID_PROCESS_MAX`
+* :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH`
+* :prop_tgt:`ANDROID_PROGUARD`
+* :prop_tgt:`ANDROID_SECURE_PROPS_PATH`
+* :prop_tgt:`ANDROID_SKIP_ANT_STEP`
+* :prop_tgt:`ANDROID_STL_TYPE`
diff --git a/share/cmake-3.10/Help/manual/cmake-variables.7.rst b/share/cmake-3.10/Help/manual/cmake-variables.7.rst
new file mode 100644
index 0000000..2e369e3
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake-variables.7.rst
@@ -0,0 +1,531 @@
+.. cmake-manual-description: CMake Variables Reference
+
+cmake-variables(7)
+******************
+
+.. only:: html
+
+   .. contents::
+
+Variables that Provide Information
+==================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/CMAKE_AR
+   /variable/CMAKE_ARGC
+   /variable/CMAKE_ARGV0
+   /variable/CMAKE_BINARY_DIR
+   /variable/CMAKE_BUILD_TOOL
+   /variable/CMAKE_CACHEFILE_DIR
+   /variable/CMAKE_CACHE_MAJOR_VERSION
+   /variable/CMAKE_CACHE_MINOR_VERSION
+   /variable/CMAKE_CACHE_PATCH_VERSION
+   /variable/CMAKE_CFG_INTDIR
+   /variable/CMAKE_COMMAND
+   /variable/CMAKE_CROSSCOMPILING
+   /variable/CMAKE_CROSSCOMPILING_EMULATOR
+   /variable/CMAKE_CTEST_COMMAND
+   /variable/CMAKE_CURRENT_BINARY_DIR
+   /variable/CMAKE_CURRENT_LIST_DIR
+   /variable/CMAKE_CURRENT_LIST_FILE
+   /variable/CMAKE_CURRENT_LIST_LINE
+   /variable/CMAKE_CURRENT_SOURCE_DIR
+   /variable/CMAKE_DIRECTORY_LABELS
+   /variable/CMAKE_DL_LIBS
+   /variable/CMAKE_EDIT_COMMAND
+   /variable/CMAKE_EXECUTABLE_SUFFIX
+   /variable/CMAKE_EXTRA_GENERATOR
+   /variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
+   /variable/CMAKE_FIND_PACKAGE_NAME
+   /variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION
+   /variable/CMAKE_FIND_PACKAGE_SORT_ORDER
+   /variable/CMAKE_GENERATOR
+   /variable/CMAKE_GENERATOR_PLATFORM
+   /variable/CMAKE_GENERATOR_TOOLSET
+   /variable/CMAKE_HOME_DIRECTORY
+   /variable/CMAKE_IMPORT_LIBRARY_PREFIX
+   /variable/CMAKE_IMPORT_LIBRARY_SUFFIX
+   /variable/CMAKE_JOB_POOL_COMPILE
+   /variable/CMAKE_JOB_POOL_LINK
+   /variable/CMAKE_LANG_COMPILER_AR
+   /variable/CMAKE_LANG_COMPILER_RANLIB
+   /variable/CMAKE_LINK_LIBRARY_SUFFIX
+   /variable/CMAKE_LINK_SEARCH_END_STATIC
+   /variable/CMAKE_LINK_SEARCH_START_STATIC
+   /variable/CMAKE_MAJOR_VERSION
+   /variable/CMAKE_MAKE_PROGRAM
+   /variable/CMAKE_MATCH_COUNT
+   /variable/CMAKE_MATCH_n
+   /variable/CMAKE_MINIMUM_REQUIRED_VERSION
+   /variable/CMAKE_MINOR_VERSION
+   /variable/CMAKE_PARENT_LIST_FILE
+   /variable/CMAKE_PATCH_VERSION
+   /variable/CMAKE_PROJECT_DESCRIPTION
+   /variable/CMAKE_PROJECT_NAME
+   /variable/CMAKE_RANLIB
+   /variable/CMAKE_ROOT
+   /variable/CMAKE_SCRIPT_MODE_FILE
+   /variable/CMAKE_SHARED_LIBRARY_PREFIX
+   /variable/CMAKE_SHARED_LIBRARY_SUFFIX
+   /variable/CMAKE_SHARED_MODULE_PREFIX
+   /variable/CMAKE_SHARED_MODULE_SUFFIX
+   /variable/CMAKE_SIZEOF_VOID_P
+   /variable/CMAKE_SKIP_INSTALL_RULES
+   /variable/CMAKE_SKIP_RPATH
+   /variable/CMAKE_SOURCE_DIR
+   /variable/CMAKE_STATIC_LIBRARY_PREFIX
+   /variable/CMAKE_STATIC_LIBRARY_SUFFIX
+   /variable/CMAKE_TOOLCHAIN_FILE
+   /variable/CMAKE_TWEAK_VERSION
+   /variable/CMAKE_VERBOSE_MAKEFILE
+   /variable/CMAKE_VERSION
+   /variable/CMAKE_VS_DEVENV_COMMAND
+   /variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
+   /variable/CMAKE_VS_MSBUILD_COMMAND
+   /variable/CMAKE_VS_NsightTegra_VERSION
+   /variable/CMAKE_VS_PLATFORM_NAME
+   /variable/CMAKE_VS_PLATFORM_TOOLSET
+   /variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA
+   /variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
+   /variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
+   /variable/CMAKE_XCODE_GENERATE_SCHEME
+   /variable/CMAKE_XCODE_PLATFORM_TOOLSET
+   /variable/PROJECT-NAME_BINARY_DIR
+   /variable/PROJECT-NAME_SOURCE_DIR
+   /variable/PROJECT-NAME_VERSION
+   /variable/PROJECT-NAME_VERSION_MAJOR
+   /variable/PROJECT-NAME_VERSION_MINOR
+   /variable/PROJECT-NAME_VERSION_PATCH
+   /variable/PROJECT-NAME_VERSION_TWEAK
+   /variable/PROJECT_BINARY_DIR
+   /variable/PROJECT_DESCRIPTION
+   /variable/PROJECT_NAME
+   /variable/PROJECT_SOURCE_DIR
+   /variable/PROJECT_VERSION
+   /variable/PROJECT_VERSION_MAJOR
+   /variable/PROJECT_VERSION_MINOR
+   /variable/PROJECT_VERSION_PATCH
+   /variable/PROJECT_VERSION_TWEAK
+
+Variables that Change Behavior
+==============================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/BUILD_SHARED_LIBS
+   /variable/CMAKE_ABSOLUTE_DESTINATION_FILES
+   /variable/CMAKE_APPBUNDLE_PATH
+   /variable/CMAKE_AUTOMOC_RELAXED_MODE
+   /variable/CMAKE_BACKWARDS_COMPATIBILITY
+   /variable/CMAKE_BUILD_TYPE
+   /variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES
+   /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
+   /variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
+   /variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS
+   /variable/CMAKE_ECLIPSE_VERSION
+   /variable/CMAKE_ERROR_DEPRECATED
+   /variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+   /variable/CMAKE_EXPORT_COMPILE_COMMANDS
+   /variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY
+   /variable/CMAKE_FIND_APPBUNDLE
+   /variable/CMAKE_FIND_FRAMEWORK
+   /variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX
+   /variable/CMAKE_FIND_LIBRARY_PREFIXES
+   /variable/CMAKE_FIND_LIBRARY_SUFFIXES
+   /variable/CMAKE_FIND_NO_INSTALL_PREFIX
+   /variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
+   /variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
+   /variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE
+   /variable/CMAKE_FIND_ROOT_PATH
+   /variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
+   /variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
+   /variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
+   /variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
+   /variable/CMAKE_FRAMEWORK_PATH
+   /variable/CMAKE_IGNORE_PATH
+   /variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE
+   /variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
+   /variable/CMAKE_INCLUDE_PATH
+   /variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
+   /variable/CMAKE_INSTALL_MESSAGE
+   /variable/CMAKE_INSTALL_PREFIX
+   /variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
+   /variable/CMAKE_LIBRARY_PATH
+   /variable/CMAKE_MFC_FLAG
+   /variable/CMAKE_MODULE_PATH
+   /variable/CMAKE_NOT_USING_CONFIG_FLAGS
+   /variable/CMAKE_POLICY_DEFAULT_CMPNNNN
+   /variable/CMAKE_POLICY_WARNING_CMPNNNN
+   /variable/CMAKE_PREFIX_PATH
+   /variable/CMAKE_PROGRAM_PATH
+   /variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
+   /variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
+   /variable/CMAKE_STAGING_PREFIX
+   /variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
+   /variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
+   /variable/CMAKE_SYSROOT
+   /variable/CMAKE_SYSROOT_COMPILE
+   /variable/CMAKE_SYSROOT_LINK
+   /variable/CMAKE_SYSTEM_APPBUNDLE_PATH
+   /variable/CMAKE_SYSTEM_FRAMEWORK_PATH
+   /variable/CMAKE_SYSTEM_IGNORE_PATH
+   /variable/CMAKE_SYSTEM_INCLUDE_PATH
+   /variable/CMAKE_SYSTEM_LIBRARY_PATH
+   /variable/CMAKE_SYSTEM_PREFIX_PATH
+   /variable/CMAKE_SYSTEM_PROGRAM_PATH
+   /variable/CMAKE_USER_MAKE_RULES_OVERRIDE
+   /variable/CMAKE_WARN_DEPRECATED
+   /variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
+
+Variables that Describe the System
+==================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/ANDROID
+   /variable/APPLE
+   /variable/BORLAND
+   /variable/CMAKE_CL_64
+   /variable/CMAKE_COMPILER_2005
+   /variable/CMAKE_HOST_APPLE
+   /variable/CMAKE_HOST_SOLARIS
+   /variable/CMAKE_HOST_SYSTEM
+   /variable/CMAKE_HOST_SYSTEM_NAME
+   /variable/CMAKE_HOST_SYSTEM_PROCESSOR
+   /variable/CMAKE_HOST_SYSTEM_VERSION
+   /variable/CMAKE_HOST_UNIX
+   /variable/CMAKE_HOST_WIN32
+   /variable/CMAKE_LIBRARY_ARCHITECTURE
+   /variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX
+   /variable/CMAKE_OBJECT_PATH_MAX
+   /variable/CMAKE_SYSTEM
+   /variable/CMAKE_SYSTEM_NAME
+   /variable/CMAKE_SYSTEM_PROCESSOR
+   /variable/CMAKE_SYSTEM_VERSION
+   /variable/CYGWIN
+   /variable/ENV
+   /variable/GHS-MULTI
+   /variable/MINGW
+   /variable/MSVC
+   /variable/MSVC10
+   /variable/MSVC11
+   /variable/MSVC12
+   /variable/MSVC14
+   /variable/MSVC60
+   /variable/MSVC70
+   /variable/MSVC71
+   /variable/MSVC80
+   /variable/MSVC90
+   /variable/MSVC_IDE
+   /variable/MSVC_VERSION
+   /variable/UNIX
+   /variable/WIN32
+   /variable/WINCE
+   /variable/WINDOWS_PHONE
+   /variable/WINDOWS_STORE
+   /variable/XCODE
+   /variable/XCODE_VERSION
+
+Variables that Control the Build
+================================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS
+   /variable/CMAKE_ANDROID_API
+   /variable/CMAKE_ANDROID_API_MIN
+   /variable/CMAKE_ANDROID_ARCH
+   /variable/CMAKE_ANDROID_ARCH_ABI
+   /variable/CMAKE_ANDROID_ARM_MODE
+   /variable/CMAKE_ANDROID_ARM_NEON
+   /variable/CMAKE_ANDROID_ASSETS_DIRECTORIES
+   /variable/CMAKE_ANDROID_GUI
+   /variable/CMAKE_ANDROID_JAR_DEPENDENCIES
+   /variable/CMAKE_ANDROID_JAR_DIRECTORIES
+   /variable/CMAKE_ANDROID_JAVA_SOURCE_DIR
+   /variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES
+   /variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES
+   /variable/CMAKE_ANDROID_NDK
+   /variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS
+   /variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG
+   /variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
+   /variable/CMAKE_ANDROID_PROCESS_MAX
+   /variable/CMAKE_ANDROID_PROGUARD
+   /variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH
+   /variable/CMAKE_ANDROID_SECURE_PROPS_PATH
+   /variable/CMAKE_ANDROID_SKIP_ANT_STEP
+   /variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN
+   /variable/CMAKE_ANDROID_STL_TYPE
+   /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+   /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG
+   /variable/CMAKE_AUTOMOC
+   /variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES
+   /variable/CMAKE_AUTOMOC_DEPEND_FILTERS
+   /variable/CMAKE_AUTOMOC_MACRO_NAMES
+   /variable/CMAKE_AUTOMOC_MOC_OPTIONS
+   /variable/CMAKE_AUTORCC
+   /variable/CMAKE_AUTORCC_OPTIONS
+   /variable/CMAKE_AUTOUIC
+   /variable/CMAKE_AUTOUIC_OPTIONS
+   /variable/CMAKE_AUTOUIC_SEARCH_PATHS
+   /variable/CMAKE_BUILD_RPATH
+   /variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR
+   /variable/CMAKE_BUILD_WITH_INSTALL_RPATH
+   /variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
+   /variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
+   /variable/CMAKE_CONFIG_POSTFIX
+   /variable/CMAKE_DEBUG_POSTFIX
+   /variable/CMAKE_ENABLE_EXPORTS
+   /variable/CMAKE_EXE_LINKER_FLAGS
+   /variable/CMAKE_EXE_LINKER_FLAGS_CONFIG
+   /variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT
+   /variable/CMAKE_EXE_LINKER_FLAGS_INIT
+   /variable/CMAKE_Fortran_FORMAT
+   /variable/CMAKE_Fortran_MODULE_DIRECTORY
+   /variable/CMAKE_GNUtoMS
+   /variable/CMAKE_INCLUDE_CURRENT_DIR
+   /variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
+   /variable/CMAKE_INSTALL_NAME_DIR
+   /variable/CMAKE_INSTALL_RPATH
+   /variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH
+   /variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION
+   /variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG
+   /variable/CMAKE_IOS_INSTALL_COMBINED
+   /variable/CMAKE_LANG_CLANG_TIDY
+   /variable/CMAKE_LANG_COMPILER_LAUNCHER
+   /variable/CMAKE_LANG_CPPCHECK
+   /variable/CMAKE_LANG_CPPLINT
+   /variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
+   /variable/CMAKE_LANG_VISIBILITY_PRESET
+   /variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY
+   /variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG
+   /variable/CMAKE_LIBRARY_PATH_FLAG
+   /variable/CMAKE_LINK_DEF_FILE_FLAG
+   /variable/CMAKE_LINK_DEPENDS_NO_SHARED
+   /variable/CMAKE_LINK_INTERFACE_LIBRARIES
+   /variable/CMAKE_LINK_LIBRARY_FILE_FLAG
+   /variable/CMAKE_LINK_LIBRARY_FLAG
+   /variable/CMAKE_LINK_WHAT_YOU_USE
+   /variable/CMAKE_MACOSX_BUNDLE
+   /variable/CMAKE_MACOSX_RPATH
+   /variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
+   /variable/CMAKE_MODULE_LINKER_FLAGS
+   /variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
+   /variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT
+   /variable/CMAKE_MODULE_LINKER_FLAGS_INIT
+   /variable/CMAKE_MSVCIDE_RUN_PATH
+   /variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX
+   /variable/CMAKE_NO_BUILTIN_CHRPATH
+   /variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
+   /variable/CMAKE_OSX_ARCHITECTURES
+   /variable/CMAKE_OSX_DEPLOYMENT_TARGET
+   /variable/CMAKE_OSX_SYSROOT
+   /variable/CMAKE_PDB_OUTPUT_DIRECTORY
+   /variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG
+   /variable/CMAKE_POSITION_INDEPENDENT_CODE
+   /variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY
+   /variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG
+   /variable/CMAKE_SHARED_LINKER_FLAGS
+   /variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG
+   /variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT
+   /variable/CMAKE_SHARED_LINKER_FLAGS_INIT
+   /variable/CMAKE_SKIP_BUILD_RPATH
+   /variable/CMAKE_SKIP_INSTALL_RPATH
+   /variable/CMAKE_STATIC_LINKER_FLAGS
+   /variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG
+   /variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT
+   /variable/CMAKE_STATIC_LINKER_FLAGS_INIT
+   /variable/CMAKE_TRY_COMPILE_CONFIGURATION
+   /variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
+   /variable/CMAKE_TRY_COMPILE_TARGET_TYPE
+   /variable/CMAKE_USE_RELATIVE_PATHS
+   /variable/CMAKE_VISIBILITY_INLINES_HIDDEN
+   /variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
+   /variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
+   /variable/CMAKE_WIN32_EXECUTABLE
+   /variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
+   /variable/CMAKE_XCODE_ATTRIBUTE_an-attribute
+   /variable/EXECUTABLE_OUTPUT_PATH
+   /variable/LIBRARY_OUTPUT_PATH
+
+Variables for Languages
+=======================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/CMAKE_COMPILER_IS_GNUCC
+   /variable/CMAKE_COMPILER_IS_GNUCXX
+   /variable/CMAKE_COMPILER_IS_GNUG77
+   /variable/CMAKE_CUDA_HOST_COMPILER
+   /variable/CMAKE_CUDA_EXTENSIONS
+   /variable/CMAKE_CUDA_STANDARD
+   /variable/CMAKE_CUDA_STANDARD_REQUIRED
+   /variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
+   /variable/CMAKE_CXX_COMPILE_FEATURES
+   /variable/CMAKE_CXX_EXTENSIONS
+   /variable/CMAKE_CXX_STANDARD
+   /variable/CMAKE_CXX_STANDARD_REQUIRED
+   /variable/CMAKE_C_COMPILE_FEATURES
+   /variable/CMAKE_C_EXTENSIONS
+   /variable/CMAKE_C_STANDARD
+   /variable/CMAKE_C_STANDARD_REQUIRED
+   /variable/CMAKE_Fortran_MODDIR_DEFAULT
+   /variable/CMAKE_Fortran_MODDIR_FLAG
+   /variable/CMAKE_Fortran_MODOUT_FLAG
+   /variable/CMAKE_INTERNAL_PLATFORM_ABI
+   /variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE
+   /variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX
+   /variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX
+   /variable/CMAKE_LANG_ARCHIVE_APPEND
+   /variable/CMAKE_LANG_ARCHIVE_CREATE
+   /variable/CMAKE_LANG_ARCHIVE_FINISH
+   /variable/CMAKE_LANG_COMPILER
+   /variable/CMAKE_LANG_COMPILER_ABI
+   /variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID
+   /variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN
+   /variable/CMAKE_LANG_COMPILER_ID
+   /variable/CMAKE_LANG_COMPILER_LOADED
+   /variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND
+   /variable/CMAKE_LANG_COMPILER_TARGET
+   /variable/CMAKE_LANG_COMPILER_VERSION
+   /variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL
+   /variable/CMAKE_LANG_COMPILE_OBJECT
+   /variable/CMAKE_LANG_CREATE_SHARED_LIBRARY
+   /variable/CMAKE_LANG_CREATE_SHARED_MODULE
+   /variable/CMAKE_LANG_CREATE_STATIC_LIBRARY
+   /variable/CMAKE_LANG_FLAGS
+   /variable/CMAKE_LANG_FLAGS_DEBUG
+   /variable/CMAKE_LANG_FLAGS_DEBUG_INIT
+   /variable/CMAKE_LANG_FLAGS_INIT
+   /variable/CMAKE_LANG_FLAGS_MINSIZEREL
+   /variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT
+   /variable/CMAKE_LANG_FLAGS_RELEASE
+   /variable/CMAKE_LANG_FLAGS_RELEASE_INIT
+   /variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO
+   /variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT
+   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG
+   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL
+   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE
+   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO
+   /variable/CMAKE_LANG_IGNORE_EXTENSIONS
+   /variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES
+   /variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES
+   /variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+   /variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES
+   /variable/CMAKE_LANG_LIBRARY_ARCHITECTURE
+   /variable/CMAKE_LANG_LINKER_PREFERENCE
+   /variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES
+   /variable/CMAKE_LANG_LINK_EXECUTABLE
+   /variable/CMAKE_LANG_OUTPUT_EXTENSION
+   /variable/CMAKE_LANG_PLATFORM_ID
+   /variable/CMAKE_LANG_SIMULATE_ID
+   /variable/CMAKE_LANG_SIMULATE_VERSION
+   /variable/CMAKE_LANG_SIZEOF_DATA_PTR
+   /variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS
+   /variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES
+   /variable/CMAKE_LANG_STANDARD_LIBRARIES
+   /variable/CMAKE_Swift_LANGUAGE_VERSION
+   /variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG
+
+Variables for CTest
+===================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/CTEST_BINARY_DIRECTORY
+   /variable/CTEST_BUILD_COMMAND
+   /variable/CTEST_BUILD_NAME
+   /variable/CTEST_BZR_COMMAND
+   /variable/CTEST_BZR_UPDATE_OPTIONS
+   /variable/CTEST_CHANGE_ID
+   /variable/CTEST_CHECKOUT_COMMAND
+   /variable/CTEST_CONFIGURATION_TYPE
+   /variable/CTEST_CONFIGURE_COMMAND
+   /variable/CTEST_COVERAGE_COMMAND
+   /variable/CTEST_COVERAGE_EXTRA_FLAGS
+   /variable/CTEST_CURL_OPTIONS
+   /variable/CTEST_CUSTOM_COVERAGE_EXCLUDE
+   /variable/CTEST_CUSTOM_ERROR_EXCEPTION
+   /variable/CTEST_CUSTOM_ERROR_MATCH
+   /variable/CTEST_CUSTOM_ERROR_POST_CONTEXT
+   /variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT
+   /variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE
+   /variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS
+   /variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS
+   /variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE
+   /variable/CTEST_CUSTOM_MEMCHECK_IGNORE
+   /variable/CTEST_CUSTOM_POST_MEMCHECK
+   /variable/CTEST_CUSTOM_POST_TEST
+   /variable/CTEST_CUSTOM_PRE_MEMCHECK
+   /variable/CTEST_CUSTOM_PRE_TEST
+   /variable/CTEST_CUSTOM_TEST_IGNORE
+   /variable/CTEST_CUSTOM_WARNING_EXCEPTION
+   /variable/CTEST_CUSTOM_WARNING_MATCH
+   /variable/CTEST_CVS_CHECKOUT
+   /variable/CTEST_CVS_COMMAND
+   /variable/CTEST_CVS_UPDATE_OPTIONS
+   /variable/CTEST_DROP_LOCATION
+   /variable/CTEST_DROP_METHOD
+   /variable/CTEST_DROP_SITE
+   /variable/CTEST_DROP_SITE_CDASH
+   /variable/CTEST_DROP_SITE_PASSWORD
+   /variable/CTEST_DROP_SITE_USER
+   /variable/CTEST_EXTRA_COVERAGE_GLOB
+   /variable/CTEST_GIT_COMMAND
+   /variable/CTEST_GIT_INIT_SUBMODULES
+   /variable/CTEST_GIT_UPDATE_CUSTOM
+   /variable/CTEST_GIT_UPDATE_OPTIONS
+   /variable/CTEST_HG_COMMAND
+   /variable/CTEST_HG_UPDATE_OPTIONS
+   /variable/CTEST_LABELS_FOR_SUBPROJECTS
+   /variable/CTEST_MEMORYCHECK_COMMAND
+   /variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS
+   /variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS
+   /variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
+   /variable/CTEST_MEMORYCHECK_TYPE
+   /variable/CTEST_NIGHTLY_START_TIME
+   /variable/CTEST_P4_CLIENT
+   /variable/CTEST_P4_COMMAND
+   /variable/CTEST_P4_OPTIONS
+   /variable/CTEST_P4_UPDATE_OPTIONS
+   /variable/CTEST_SCP_COMMAND
+   /variable/CTEST_SITE
+   /variable/CTEST_SOURCE_DIRECTORY
+   /variable/CTEST_SVN_COMMAND
+   /variable/CTEST_SVN_OPTIONS
+   /variable/CTEST_SVN_UPDATE_OPTIONS
+   /variable/CTEST_TEST_LOAD
+   /variable/CTEST_TEST_TIMEOUT
+   /variable/CTEST_TRIGGER_SITE
+   /variable/CTEST_UPDATE_COMMAND
+   /variable/CTEST_UPDATE_OPTIONS
+   /variable/CTEST_UPDATE_VERSION_ONLY
+   /variable/CTEST_USE_LAUNCHERS
+
+Variables for CPack
+===================
+
+.. toctree::
+   :maxdepth: 1
+
+   /variable/CPACK_ABSOLUTE_DESTINATION_FILES
+   /variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
+   /variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+   /variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY
+   /variable/CPACK_INSTALL_SCRIPT
+   /variable/CPACK_PACKAGING_INSTALL_PREFIX
+   /variable/CPACK_SET_DESTDIR
+   /variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
diff --git a/share/cmake-3.10/Help/manual/cmake.1.rst b/share/cmake-3.10/Help/manual/cmake.1.rst
new file mode 100644
index 0000000..6a21683
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/cmake.1.rst
@@ -0,0 +1,395 @@
+.. cmake-manual-description: CMake Command-Line Reference
+
+cmake(1)
+********
+
+Synopsis
+========
+
+.. parsed-literal::
+
+ cmake [<options>] (<path-to-source> | <path-to-existing-build>)
+ cmake [(-D <var>=<value>)...] -P <cmake-script-file>
+ cmake --build <dir> [<options>...] [-- <build-tool-options>...]
+ cmake -E <command> [<options>...]
+ cmake --find-package <options>...
+
+Description
+===========
+
+The "cmake" executable is the CMake command-line interface.  It may be
+used to configure projects in scripts.  Project configuration settings
+may be specified on the command line with the -D option.
+
+CMake is a cross-platform build system generator.  Projects specify
+their build process with platform-independent CMake listfiles included
+in each directory of a source tree with the name CMakeLists.txt.
+Users build a project by using CMake to generate a build system for a
+native tool on their platform.
+
+.. _`CMake Options`:
+
+Options
+=======
+
+.. include:: OPTIONS_BUILD.txt
+
+``-E <command> [<options>...]``
+ See `Command-Line Tool Mode`_.
+
+``-L[A][H]``
+ List non-advanced cached variables.
+
+ List cache variables will run CMake and list all the variables from
+ the CMake cache that are not marked as INTERNAL or ADVANCED.  This
+ will effectively display current CMake settings, which can then be
+ changed with -D option.  Changing some of the variables may result
+ in more variables being created.  If A is specified, then it will
+ display also advanced variables.  If H is specified, it will also
+ display help for each variable.
+
+``--build <dir>``
+ See `Build Tool Mode`_.
+
+``-N``
+ View mode only.
+
+ Only load the cache.  Do not actually run configure and generate
+ steps.
+
+``-P <file>``
+ Process script mode.
+
+ Process the given cmake file as a script written in the CMake
+ language.  No configure or generate step is performed and the cache
+ is not modified.  If variables are defined using -D, this must be
+ done before the -P argument.
+
+``--find-package``
+ See `Find-Package Tool Mode`_.
+
+``--graphviz=[file]``
+ Generate graphviz of dependencies, see :module:`CMakeGraphVizOptions` for more.
+
+ Generate a graphviz input file that will contain all the library and
+ executable dependencies in the project.  See the documentation for
+ :module:`CMakeGraphVizOptions` for more details.
+
+``--system-information [file]``
+ Dump information about this system.
+
+ Dump a wide range of information about the current system.  If run
+ from the top of a binary tree for a CMake project it will dump
+ additional information such as the cache, log files etc.
+
+``--debug-trycompile``
+ Do not delete the try_compile build tree. Only useful on one try_compile at a time.
+
+ Do not delete the files and directories created for try_compile
+ calls.  This is useful in debugging failed try_compiles.  It may
+ however change the results of the try-compiles as old junk from a
+ previous try-compile may cause a different test to either pass or
+ fail incorrectly.  This option is best used for one try-compile at a
+ time, and only when debugging.
+
+``--debug-output``
+ Put cmake in a debug mode.
+
+ Print extra information during the cmake run like stack traces with
+ message(send_error ) calls.
+
+``--trace``
+ Put cmake in trace mode.
+
+ Print a trace of all calls made and from where.
+
+``--trace-expand``
+ Put cmake in trace mode.
+
+ Like ``--trace``, but with variables expanded.
+
+``--trace-source=<file>``
+ Put cmake in trace mode, but output only lines of a specified file.
+
+ Multiple options are allowed.
+
+``--warn-uninitialized``
+ Warn about uninitialized values.
+
+ Print a warning when an uninitialized variable is used.
+
+``--warn-unused-vars``
+ Warn about unused variables.
+
+ Find variables that are declared or set, but not used.
+
+``--no-warn-unused-cli``
+ Don't warn about command line options.
+
+ Don't find variables that are declared on the command line, but not
+ used.
+
+``--check-system-vars``
+ Find problems with variable usage in system files.
+
+ Normally, unused and uninitialized variables are searched for only
+ in CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR.  This flag tells CMake to
+ warn about other files as well.
+
+.. include:: OPTIONS_HELP.txt
+
+.. _`Build Tool Mode`:
+
+Build Tool Mode
+===============
+
+CMake provides a command-line signature to build an already-generated
+project binary tree::
+
+ cmake --build <dir> [<options>...] [-- <build-tool-options>...]
+
+This abstracts a native build tool's command-line interface with the
+following options:
+
+``--build <dir>``
+  Project binary directory to be built.  This is required and must be first.
+
+``--target <tgt>``
+  Build ``<tgt>`` instead of default targets.  May only be specified once.
+
+``--config <cfg>``
+  For multi-configuration tools, choose configuration ``<cfg>``.
+
+``--clean-first``
+  Build target ``clean`` first, then build.
+  (To clean only, use ``--target clean``.)
+
+``--use-stderr``
+  Ignored.  Behavior is default in CMake >= 3.0.
+
+``--``
+  Pass remaining options to the native tool.
+
+Run ``cmake --build`` with no options for quick help.
+
+Command-Line Tool Mode
+======================
+
+CMake provides builtin command-line tools through the signature::
+
+ cmake -E <command> [<options>...]
+
+Run ``cmake -E`` or ``cmake -E help`` for a summary of commands.
+Available commands are:
+
+``capabilities``
+  Report cmake capabilities in JSON format. The output is a JSON object
+  with the following keys:
+
+  ``version``
+    A JSON object with version information. Keys are:
+
+    ``string``
+      The full version string as displayed by cmake ``--version``.
+    ``major``
+      The major version number in integer form.
+    ``minor``
+      The minor version number in integer form.
+    ``patch``
+      The patch level in integer form.
+    ``suffix``
+      The cmake version suffix string.
+    ``isDirty``
+      A bool that is set if the cmake build is from a dirty tree.
+
+  ``generators``
+    A list available generators. Each generator is a JSON object with the
+    following keys:
+
+    ``name``
+      A string containing the name of the generator.
+    ``toolsetSupport``
+      ``true`` if the generator supports toolsets and ``false`` otherwise.
+    ``platformSupport``
+      ``true`` if the generator supports platforms and ``false`` otherwise.
+    ``extraGenerators``
+      A list of strings with all the extra generators compatible with
+      the generator.
+
+  ``serverMode``
+    ``true`` if cmake supports server-mode and ``false`` otherwise.
+
+``chdir <dir> <cmd> [<arg>...]``
+  Change the current working directory and run a command.
+
+``compare_files <file1> <file2>``
+  Check if ``<file1>`` is same as ``<file2>``. If files are the same,
+  then returns 0, if not it returns 1.
+
+``copy <file>... <destination>``
+  Copy files to ``<destination>`` (either file or directory).
+  If multiple files are specified, the ``<destination>`` must be
+  directory and it must exist. Wildcards are not supported.
+
+``copy_directory <dir>... <destination>``
+  Copy directories to ``<destination>`` directory.
+  If ``<destination>`` directory does not exist it will be created.
+
+``copy_if_different <file>... <destination>``
+  Copy files to ``<destination>`` (either file or directory) if
+  they have changed.
+  If multiple files are specified, the ``<destination>`` must be
+  directory and it must exist.
+
+``echo [<string>...]``
+  Displays arguments as text.
+
+``echo_append [<string>...]``
+  Displays arguments as text but no new line.
+
+``env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...``
+  Run command in a modified environment.
+
+``environment``
+  Display the current environment variables.
+
+``make_directory <dir>...``
+  Create ``<dir>`` directories.  If necessary, create parent
+  directories too.  If a directory already exists it will be
+  silently ignored.
+
+``md5sum <file>...``
+  Create MD5 checksum of files in ``md5sum`` compatible format::
+
+     351abe79cd3800b38cdfb25d45015a15  file1.txt
+     052f86c15bbde68af55c7f7b340ab639  file2.txt
+
+``sha1sum <file>...``
+  Create SHA1 checksum of files in ``sha1sum`` compatible format::
+
+     4bb7932a29e6f73c97bb9272f2bdc393122f86e0  file1.txt
+     1df4c8f318665f9a5f2ed38f55adadb7ef9f559c  file2.txt
+
+``sha224sum <file>...``
+  Create SHA224 checksum of files in ``sha224sum`` compatible format::
+
+     b9b9346bc8437bbda630b0b7ddfc5ea9ca157546dbbf4c613192f930  file1.txt
+     6dfbe55f4d2edc5fe5c9197bca51ceaaf824e48eba0cc453088aee24  file2.txt
+
+``sha256sum <file>...``
+  Create SHA256 checksum of files in ``sha256sum`` compatible format::
+
+     76713b23615d31680afeb0e9efe94d47d3d4229191198bb46d7485f9cb191acc  file1.txt
+     15b682ead6c12dedb1baf91231e1e89cfc7974b3787c1e2e01b986bffadae0ea  file2.txt
+
+``sha384sum <file>...``
+  Create SHA384 checksum of files in ``sha384sum`` compatible format::
+
+     acc049fedc091a22f5f2ce39a43b9057fd93c910e9afd76a6411a28a8f2b8a12c73d7129e292f94fc0329c309df49434  file1.txt
+     668ddeb108710d271ee21c0f3acbd6a7517e2b78f9181c6a2ff3b8943af92b0195dcb7cce48aa3e17893173c0a39e23d  file2.txt
+
+``sha512sum <file>...``
+  Create SHA512 checksum of files in ``sha512sum`` compatible format::
+
+     2a78d7a6c5328cfb1467c63beac8ff21794213901eaadafd48e7800289afbc08e5fb3e86aa31116c945ee3d7bf2a6194489ec6101051083d1108defc8e1dba89  file1.txt
+     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
+  zero exit code (i.e. success) in such situations instead.
+
+``remove_directory <dir>``
+  Remove a directory and its contents.  If a directory does
+  not exist it will be silently ignored.
+
+``rename <oldname> <newname>``
+  Rename a file or directory (on one volume).
+
+``server``
+  Launch :manual:`cmake-server(7)` mode.
+
+``sleep <number>...``
+  Sleep for given number of seconds.
+
+``tar [cxt][vf][zjJ] file.tar [<options>...] [--] [<file>...]``
+  Create or extract a tar or zip archive.  Options are:
+
+  ``--``
+    Stop interpreting options and treat all remaining arguments
+    as file names even if they start in ``-``.
+  ``--files-from=<file>``
+    Read file names from the given file, one per line.
+    Blank lines are ignored.  Lines may not start in ``-``
+    except for ``--add-file=<name>`` to add files whose
+    names start in ``-``.
+  ``--mtime=<date>``
+    Specify modification time recorded in tarball entries.
+  ``--format=<format>``
+    Specify the format of the archive to be created.
+    Supported formats are: ``7zip``, ``gnutar``, ``pax``,
+    ``paxr`` (restricted pax, default), and ``zip``.
+
+``time <command> [<args>...]``
+  Run command and return elapsed time.
+
+``touch <file>``
+  Touch a file.
+
+``touch_nocreate <file>``
+  Touch a file if it exists but do not create it.  If a file does
+  not exist it will be silently ignored.
+
+UNIX-specific Command-Line Tools
+--------------------------------
+
+The following ``cmake -E`` commands are available only on UNIX:
+
+``create_symlink <old> <new>``
+  Create a symbolic link ``<new>`` naming ``<old>``.
+
+.. note::
+  Path to where ``<new>`` symbolic link will be created has to exist beforehand.
+
+Windows-specific Command-Line Tools
+-----------------------------------
+
+The following ``cmake -E`` commands are available only on Windows:
+
+``delete_regv <key>``
+  Delete Windows registry value.
+
+``env_vs8_wince <sdkname>``
+  Displays a batch file which sets the environment for the provided
+  Windows CE SDK installed in VS2005.
+
+``env_vs9_wince <sdkname>``
+  Displays a batch file which sets the environment for the provided
+  Windows CE SDK installed in VS2008.
+
+``write_regv <key> <value>``
+  Write Windows registry value.
+
+Find-Package Tool Mode
+======================
+
+CMake provides a helper for Makefile-based projects with the signature::
+
+  cmake --find-package <options>...
+
+This runs in a pkg-config like mode.
+
+Search a package using :command:`find_package()` and print the resulting flags
+to stdout.  This can be used to use cmake instead of pkg-config to find
+installed libraries in plain Makefile-based projects or in autoconf-based
+projects (via ``share/aclocal/cmake.m4``).
+
+.. note::
+  This mode is not well-supported due to some technical limitations.
+  It is kept for compatibility but should not be used in new projects.
+
+See Also
+========
+
+.. include:: LINKS.txt
diff --git a/share/cmake-3.6/Help/manual/cpack.1.rst b/share/cmake-3.10/Help/manual/cpack.1.rst
similarity index 100%
rename from share/cmake-3.6/Help/manual/cpack.1.rst
rename to share/cmake-3.10/Help/manual/cpack.1.rst
diff --git a/share/cmake-3.10/Help/manual/ctest.1.rst b/share/cmake-3.10/Help/manual/ctest.1.rst
new file mode 100644
index 0000000..423f1ca
--- /dev/null
+++ b/share/cmake-3.10/Help/manual/ctest.1.rst
@@ -0,0 +1,1084 @@
+.. cmake-manual-description: CTest Command-Line Reference
+
+ctest(1)
+********
+
+Synopsis
+========
+
+.. parsed-literal::
+
+ ctest [<options>]
+
+Description
+===========
+
+The "ctest" executable is the CMake test driver program.
+CMake-generated build trees created for projects that use the
+ENABLE_TESTING and ADD_TEST commands have testing support.  This
+program will run the tests and report results.
+
+Options
+=======
+
+``-C <cfg>, --build-config <cfg>``
+ Choose configuration to test.
+
+ Some CMake-generated build trees can have multiple build
+ configurations in the same tree.  This option can be used to specify
+ which one should be tested.  Example configurations are "Debug" and
+ "Release".
+
+``-V,--verbose``
+ Enable verbose output from tests.
+
+ Test output is normally suppressed and only summary information is
+ displayed.  This option will show all test output.
+
+``-VV,--extra-verbose``
+ Enable more verbose output from tests.
+
+ Test output is normally suppressed and only summary information is
+ displayed.  This option will show even more test output.
+
+``--debug``
+ Displaying more verbose internals of CTest.
+
+ This feature will result in a large number of output that is mostly
+ useful for debugging dashboard problems.
+
+``--output-on-failure``
+ Output anything outputted by the test program if the test should fail.
+ This option can also be enabled by setting the environment variable
+ ``CTEST_OUTPUT_ON_FAILURE``.
+
+``-F``
+ Enable failover.
+
+ This option allows ctest to resume a test set execution that was
+ previously interrupted.  If no interruption occurred, the ``-F`` option
+ will have no effect.
+
+``-j <jobs>, --parallel <jobs>``
+ Run the tests in parallel using the given number of jobs.
+
+ This option tells ctest to run the tests in parallel using given
+ number of jobs.  This option can also be set by setting the
+ environment variable ``CTEST_PARALLEL_LEVEL``.
+
+``--test-load <level>``
+ While running tests in parallel (e.g. with ``-j``), try not to start
+ tests when they may cause the CPU load to pass above a given threshold.
+
+ When ``ctest`` is run as a `Dashboard Client`_ this sets the
+ ``TestLoad`` option of the `CTest Test Step`_.
+
+``-Q,--quiet``
+ Make ctest quiet.
+
+ This option will suppress all the output.  The output log file will
+ still be generated if the ``--output-log`` is specified.  Options such
+ as ``--verbose``, ``--extra-verbose``, and ``--debug`` are ignored
+ if ``--quiet`` is specified.
+
+``-O <file>, --output-log <file>``
+ Output to log file.
+
+ This option tells ctest to write all its output to a log file.
+
+``-N,--show-only``
+ Disable actual execution of tests.
+
+ This option tells ctest to list the tests that would be run but not
+ actually run them.  Useful in conjunction with the ``-R`` and ``-E``
+ options.
+
+``-L <regex>, --label-regex <regex>``
+ Run tests with labels matching regular expression.
+
+ This option tells ctest to run only the tests whose labels match the
+ given regular expression.
+
+``-R <regex>, --tests-regex <regex>``
+ Run tests matching regular expression.
+
+ This option tells ctest to run only the tests whose names match the
+ given regular expression.
+
+``-E <regex>, --exclude-regex <regex>``
+ Exclude tests matching regular expression.
+
+ This option tells ctest to NOT run the tests whose names match the
+ given regular expression.
+
+``-LE <regex>, --label-exclude <regex>``
+ Exclude tests with labels matching regular expression.
+
+ This option tells ctest to NOT run the tests whose labels match the
+ given regular expression.
+
+``-FA <regex>, --fixture-exclude-any <regex>``
+ Exclude fixtures matching ``<regex>`` from automatically adding any tests to
+ the test set.
+
+ If a test in the set of tests to be executed requires a particular fixture,
+ that fixture's setup and cleanup tests would normally be added to the test set
+ automatically. This option prevents adding setup or cleanup tests for fixtures
+ matching the ``<regex>``. Note that all other fixture behavior is retained,
+ including test dependencies and skipping tests that have fixture setup tests
+ that fail.
+
+``-FS <regex>, --fixture-exclude-setup <regex>``
+ Same as ``-FA`` except only matching setup tests are excluded.
+
+``-FC <regex>, --fixture-exclude-cleanup <regex>``
+ Same as ``-FA`` except only matching cleanup tests are excluded.
+
+``-D <dashboard>, --dashboard <dashboard>``
+ Execute dashboard test.
+
+ This option tells ctest to act as a CDash client and perform a
+ dashboard test.  All tests are <Mode><Test>, where Mode can be
+ Experimental, Nightly, and Continuous, and Test can be Start,
+ Update, Configure, Build, Test, Coverage, and Submit.
+
+``-D <var>:<type>=<value>``
+ Define a variable for script mode.
+
+ Pass in variable values on the command line.  Use in conjunction
+ with ``-S`` to pass variable values to a dashboard script.  Parsing ``-D``
+ arguments as variable values is only attempted if the value
+ following ``-D`` does not match any of the known dashboard types.
+
+``-M <model>, --test-model <model>``
+ Sets the model for a dashboard.
+
+ This option tells ctest to act as a CDash client where the ``<model>``
+ can be ``Experimental``, ``Nightly``, and ``Continuous``.
+ Combining ``-M`` and ``-T`` is similar to ``-D``.
+
+``-T <action>, --test-action <action>``
+ Sets the dashboard action to perform.
+
+ This option tells ctest to act as a CDash client and perform some
+ action such as ``start``, ``build``, ``test`` etc. See
+ `Dashboard Client Steps`_ for the full list of actions.
+ Combining ``-M`` and ``-T`` is similar to ``-D``.
+
+``--track <track>``
+ Specify the track to submit dashboard to
+
+ Submit dashboard to specified track instead of default one.  By
+ default, the dashboard is submitted to Nightly, Experimental, or
+ Continuous track, but by specifying this option, the track can be
+ arbitrary.
+
+``-S <script>, --script <script>``
+ Execute a dashboard for a configuration.
+
+ This option tells ctest to load in a configuration script which sets
+ a number of parameters such as the binary and source directories.
+ Then ctest will do what is required to create and run a dashboard.
+ This option basically sets up a dashboard and then runs ``ctest -D``
+ with the appropriate options.
+
+``-SP <script>, --script-new-process <script>``
+ Execute a dashboard for a configuration.
+
+ This option does the same operations as ``-S`` but it will do them in a
+ separate process.  This is primarily useful in cases where the
+ script may modify the environment and you do not want the modified
+ environment to impact other ``-S`` scripts.
+
+``-A <file>, --add-notes <file>``
+ Add a notes file with submission.
+
+ This option tells ctest to include a notes file when submitting
+ dashboard.
+
+``-I [Start,End,Stride,test#,test#|Test file], --tests-information``
+ Run a specific number of tests by number.
+
+ This option causes ctest to run tests starting at number Start,
+ ending at number End, and incrementing by Stride.  Any additional
+ numbers after Stride are considered individual test numbers.  Start,
+ End,or stride can be empty.  Optionally a file can be given that
+ contains the same syntax as the command line.
+
+``-U, --union``
+ Take the Union of ``-I`` and ``-R``.
+
+ When both ``-R`` and ``-I`` are specified by default the intersection of
+ tests are run.  By specifying ``-U`` the union of tests is run instead.
+
+``--rerun-failed``
+ Run only the tests that failed previously.
+
+ This option tells ctest to perform only the tests that failed during
+ its previous run.  When this option is specified, ctest ignores all
+ other options intended to modify the list of tests to run (``-L``, ``-R``,
+ ``-E``, ``-LE``, ``-I``, etc).  In the event that CTest runs and no tests
+ 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.
+
+ This is useful in finding sporadic failures in test cases.
+
+``--max-width <width>``
+ Set the max width for a test name to output.
+
+ Set the maximum width for each test name to show in the output.
+ This allows the user to widen the output to avoid clipping the test
+ name which can be very annoying.
+
+``--interactive-debug-mode [0|1]``
+ Set the interactive mode to 0 or 1.
+
+ This option causes ctest to run tests in either an interactive mode
+ or a non-interactive mode.  On Windows this means that in
+ non-interactive mode, all system debug pop up windows are blocked.
+ In dashboard mode (Experimental, Nightly, Continuous), the default
+ is non-interactive.  When just running tests not for a dashboard the
+ default is to allow popups and interactive debugging.
+
+``--no-label-summary``
+ Disable timing summary information for labels.
+
+ This option tells ctest not to print summary information for each
+ label associated with the tests run.  If there are no labels on the
+ tests, nothing extra is printed.
+
+ ``--no-subproject-summary``
+ Disable timing summary information for subprojects.
+
+ This option tells ctest not to print summary information for each
+ subproject associated with the tests run.  If there are no subprojects on the
+ tests, nothing extra is printed.
+
+``--build-and-test <path-to-source> <path-to-build>``
+ Configure, build and run a test.
+
+ This option tells ctest to configure (i.e.  run cmake on), build,
+ and or execute a test.  The configure and test steps are optional.
+ The arguments to this command line are the source and binary
+ directories.
+ The ``--build-generator`` option *must* be provided to use
+ ``--build-and-test``.  If ``--test-command`` is specified then that will be
+ run after the build is complete.  Other options that affect this
+ mode are ``--build-target``, ``--build-nocmake``, ``--build-run-dir``,
+ ``--build-two-config``, ``--build-exe-dir``,
+ ``--build-project``, ``--build-noclean`` and ``--build-options``.
+
+``--build-target``
+ Specify a specific target to build.
+
+ This option goes with the ``--build-and-test`` option, if left out the
+ ``all`` target is built.
+
+``--build-nocmake``
+ Run the build without running cmake first.
+
+ Skip the cmake step.
+
+``--build-run-dir``
+ Specify directory to run programs from.
+
+ Directory where programs will be after it has been compiled.
+
+``--build-two-config``
+ Run CMake twice.
+
+``--build-exe-dir``
+ Specify the directory for the executable.
+
+``--build-generator``
+ Specify the generator to use. See the :manual:`cmake-generators(7)` manual.
+
+``--build-generator-platform``
+ Specify the generator-specific platform.
+
+``--build-generator-toolset``
+ Specify the generator-specific toolset.
+
+``--build-project``
+ Specify the name of the project to build.
+
+``--build-makeprogram``
+ Override the make program chosen by CTest with a given one.
+
+``--build-noclean``
+ Skip the make clean step.
+
+``--build-config-sample``
+ A sample executable to use to determine the configuration that
+ should be used.  e.g.  Debug/Release/etc.
+
+``--build-options``
+ Add extra options to the build step.
+
+ This option must be the last option with the exception of
+ ``--test-command``
+
+``--test-command``
+ The test to run with the ``--build-and-test`` option.
+
+``--test-output-size-passed <size>``
+ Limit the output for passed tests to ``<size>`` bytes.
+
+``--test-output-size-failed <size>``
+ Limit the output for failed tests to ``<size>`` bytes.
+
+``--test-timeout``
+ The time limit in seconds, internal use only.
+
+``--tomorrow-tag``
+ Nightly or experimental starts with next day tag.
+
+ This is useful if the build will not finish in one day.
+
+``--ctest-config``
+ The configuration file used to initialize CTest state when submitting dashboards.
+
+ This option tells CTest to use different initialization file instead
+ of CTestConfiguration.tcl.  This way multiple initialization files
+ can be used for example to submit to multiple dashboards.
+
+``--overwrite``
+ Overwrite CTest configuration option.
+
+ By default ctest uses configuration options from configuration file.
+ This option will overwrite the configuration option.
+
+``--extra-submit <file>[;<file>]``
+ Submit extra files to the dashboard.
+
+ This option will submit extra files to the dashboard.
+
+``--force-new-ctest-process``
+ Run child CTest instances as new processes.
+
+ By default CTest will run child CTest instances within the same
+ process.  If this behavior is not desired, this argument will
+ enforce new processes for child CTest processes.
+
+``--schedule-random``
+ Use a random order for scheduling tests.
+
+ This option will run the tests in a random order.  It is commonly
+ used to detect implicit dependencies in a test suite.
+
+``--submit-index``
+ Legacy option for old Dart2 dashboard server feature.
+ Do not use.
+
+``--timeout <seconds>``
+ Set a global timeout on all tests.
+
+ This option will set a global timeout on all tests that do not
+ already have a timeout set on them.
+
+``--stop-time <time>``
+ Set a time at which all tests should stop running.
+
+ Set a real time of day at which all tests should timeout.  Example:
+ ``7:00:00 -0400``.  Any time format understood by the curl date parser
+ is accepted.  Local time is assumed if no timezone is specified.
+
+``--http1.0``
+ Submit using HTTP 1.0.
+
+ This option will force CTest to use HTTP 1.0 to submit files to the
+ dashboard, instead of HTTP 1.1.
+
+``--no-compress-output``
+ Do not compress test output when submitting.
+
+ This flag will turn off automatic compression of test output.  Use
+ this to maintain compatibility with an older version of CDash which
+ doesn't support compressed test output.
+
+``--print-labels``
+ Print all available test labels.
+
+ This option will not run any tests, it will simply print the list of
+ all labels associated with the test set.
+
+.. include:: OPTIONS_HELP.txt
+
+.. _`Dashboard Client`:
+
+Dashboard Client
+================
+
+CTest can operate as a client for the `CDash`_ software quality dashboard
+application.  As a dashboard client, CTest performs a sequence of steps
+to configure, build, and test software, and then submits the results to
+a `CDash`_ server.
+
+.. _`CDash`: http://cdash.org/
+
+Dashboard Client Steps
+----------------------
+
+CTest defines an ordered list of testing steps of which some or all may
+be run as a dashboard client:
+
+``Start``
+  Start a new dashboard submission to be composed of results recorded
+  by the following steps.
+  See the `CTest Start Step`_ section below.
+
+``Update``
+  Update the source tree from its version control repository.
+  Record the old and new versions and the list of updated source files.
+  See the `CTest Update Step`_ section below.
+
+``Configure``
+  Configure the software by running a command in the build tree.
+  Record the configuration output log.
+  See the `CTest Configure Step`_ section below.
+
+``Build``
+  Build the software by running a command in the build tree.
+  Record the build output log and detect warnings and errors.
+  See the `CTest Build Step`_ section below.
+
+``Test``
+  Test the software by loading a ``CTestTestfile.cmake``
+  from the build tree and executing the defined tests.
+  Record the output and result of each test.
+  See the `CTest Test Step`_ section below.
+
+``Coverage``
+  Compute coverage of the source code by running a coverage
+  analysis tool and recording its output.
+  See the `CTest Coverage Step`_ section below.
+
+``MemCheck``
+  Run the software test suite through a memory check tool.
+  Record the test output, results, and issues reported by the tool.
+  See the `CTest MemCheck Step`_ section below.
+
+``Submit``
+  Submit results recorded from other testing steps to the
+  software quality dashboard server.
+  See the `CTest Submit Step`_ section below.
+
+Dashboard Client Modes
+----------------------
+
+CTest defines three modes of operation as a dashboard client:
+
+``Nightly``
+  This mode is intended to be invoked once per day, typically at night.
+  It enables the ``Start``, ``Update``, ``Configure``, ``Build``, ``Test``,
+  ``Coverage``, and ``Submit`` steps by default.  Selected steps run even
+  if the ``Update`` step reports no changes to the source tree.
+
+``Continuous``
+  This mode is intended to be invoked repeatedly throughout the day.
+  It enables the ``Start``, ``Update``, ``Configure``, ``Build``, ``Test``,
+  ``Coverage``, and ``Submit`` steps by default, but exits after the
+  ``Update`` step if it reports no changes to the source tree.
+
+``Experimental``
+  This mode is intended to be invoked by a developer to test local changes.
+  It enables the ``Start``, ``Configure``, ``Build``, ``Test``, ``Coverage``,
+  and ``Submit`` steps by default.
+
+Dashboard Client via CTest Command-Line
+---------------------------------------
+
+CTest can perform testing on an already-generated build tree.
+Run the ``ctest`` command with the current working directory set
+to the build tree and use one of these signatures::
+
+  ctest -D <mode>[<step>]
+  ctest -M <mode> [ -T <step> ]...
+
+The ``<mode>`` must be one of the above `Dashboard Client Modes`_,
+and each ``<step>`` must be one of the above `Dashboard Client Steps`_.
+
+CTest reads the `Dashboard Client Configuration`_ settings from
+a file in the build tree called either ``CTestConfiguration.ini``
+or ``DartConfiguration.tcl`` (the names are historical).  The format
+of the file is::
+
+  # Lines starting in '#' are comments.
+  # Other non-blank lines are key-value pairs.
+  <setting>: <value>
+
+where ``<setting>`` is the setting name and ``<value>`` is the
+setting value.
+
+In build trees generated by CMake, this configuration file is
+generated by the :module:`CTest` module if included by the project.
+The module uses variables to obtain a value for each setting
+as documented with the settings below.
+
+.. _`CTest Script`:
+
+Dashboard Client via CTest Script
+---------------------------------
+
+CTest can perform testing driven by a :manual:`cmake-language(7)`
+script that creates and maintains the source and build tree as
+well as performing the testing steps.  Run the ``ctest`` command
+with the current working directory set outside of any build tree
+and use one of these signatures::
+
+  ctest -S <script>
+  ctest -SP <script>
+
+The ``<script>`` file must call :ref:`CTest Commands` commands
+to run testing steps explicitly as documented below.  The commands
+obtain `Dashboard Client Configuration`_ settings from their
+arguments or from variables set in the script.
+
+Dashboard Client Configuration
+==============================
+
+The `Dashboard Client Steps`_ may be configured by named
+settings as documented in the following sections.
+
+.. _`CTest Start Step`:
+
+CTest Start Step
+----------------
+
+Start a new dashboard submission to be composed of results recorded
+by the following steps.
+
+In a `CTest Script`_, the :command:`ctest_start` command runs this step.
+Arguments to the command may specify some of the step settings.
+The command first runs the command-line specified by the
+``CTEST_CHECKOUT_COMMAND`` variable, if set, to initialize the source
+directory.
+
+Configuration settings include:
+
+``BuildDirectory``
+  The full path to the project build tree.
+
+  * `CTest Script`_ variable: :variable:`CTEST_BINARY_DIRECTORY`
+  * :module:`CTest` module variable: :variable:`PROJECT_BINARY_DIR`
+
+``SourceDirectory``
+  The full path to the project source tree.
+
+  * `CTest Script`_ variable: :variable:`CTEST_SOURCE_DIRECTORY`
+  * :module:`CTest` module variable: :variable:`PROJECT_SOURCE_DIR`
+
+.. _`CTest Update Step`:
+
+CTest Update Step
+-----------------
+
+In a `CTest Script`_, the :command:`ctest_update` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings to specify the version control tool include:
+
+``BZRCommand``
+  ``bzr`` command-line tool to use if source tree is managed by Bazaar.
+
+  * `CTest Script`_ variable: :variable:`CTEST_BZR_COMMAND`
+  * :module:`CTest` module variable: none
+
+``BZRUpdateOptions``
+  Command-line options to the ``BZRCommand`` when updating the source.
+
+  * `CTest Script`_ variable: :variable:`CTEST_BZR_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: none
+
+``CVSCommand``
+  ``cvs`` command-line tool to use if source tree is managed by CVS.
+
+  * `CTest Script`_ variable: :variable:`CTEST_CVS_COMMAND`
+  * :module:`CTest` module variable: ``CVSCOMMAND``
+
+``CVSUpdateOptions``
+  Command-line options to the ``CVSCommand`` when updating the source.
+
+  * `CTest Script`_ variable: :variable:`CTEST_CVS_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: ``CVS_UPDATE_OPTIONS``
+
+``GITCommand``
+  ``git`` command-line tool to use if source tree is managed by Git.
+
+  * `CTest Script`_ variable: :variable:`CTEST_GIT_COMMAND`
+  * :module:`CTest` module variable: ``GITCOMMAND``
+
+  The source tree is updated by ``git fetch`` followed by
+  ``git reset --hard`` to the ``FETCH_HEAD``.  The result is the same
+  as ``git pull`` except that any local moficiations are overwritten.
+  Use ``GITUpdateCustom`` to specify a different approach.
+
+``GITInitSubmodules``
+  If set, CTest will update the repository's submodules before updating.
+
+  * `CTest Script`_ variable: :variable:`CTEST_GIT_INIT_SUBMODULES`
+  * :module:`CTest` module variable: ``CTEST_GIT_INIT_SUBMODULES``
+
+``GITUpdateCustom``
+  Specify a custom command line (as a semicolon-separated list) to run
+  in the source tree (Git work tree) to update it instead of running
+  the ``GITCommand``.
+
+  * `CTest Script`_ variable: :variable:`CTEST_GIT_UPDATE_CUSTOM`
+  * :module:`CTest` module variable: ``CTEST_GIT_UPDATE_CUSTOM``
+
+``GITUpdateOptions``
+  Command-line options to the ``GITCommand`` when updating the source.
+
+  * `CTest Script`_ variable: :variable:`CTEST_GIT_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: ``GIT_UPDATE_OPTIONS``
+
+``HGCommand``
+  ``hg`` command-line tool to use if source tree is managed by Mercurial.
+
+  * `CTest Script`_ variable: :variable:`CTEST_HG_COMMAND`
+  * :module:`CTest` module variable: none
+
+``HGUpdateOptions``
+  Command-line options to the ``HGCommand`` when updating the source.
+
+  * `CTest Script`_ variable: :variable:`CTEST_HG_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: none
+
+``P4Client``
+  Value of the ``-c`` option to the ``P4Command``.
+
+  * `CTest Script`_ variable: :variable:`CTEST_P4_CLIENT`
+  * :module:`CTest` module variable: ``CTEST_P4_CLIENT``
+
+``P4Command``
+  ``p4`` command-line tool to use if source tree is managed by Perforce.
+
+  * `CTest Script`_ variable: :variable:`CTEST_P4_COMMAND`
+  * :module:`CTest` module variable: ``P4COMMAND``
+
+``P4Options``
+  Command-line options to the ``P4Command`` for all invocations.
+
+  * `CTest Script`_ variable: :variable:`CTEST_P4_OPTIONS`
+  * :module:`CTest` module variable: ``CTEST_P4_OPTIONS``
+
+``P4UpdateCustom``
+  Specify a custom command line (as a semicolon-separated list) to run
+  in the source tree (Perforce tree) to update it instead of running
+  the ``P4Command``.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: ``CTEST_P4_UPDATE_CUSTOM``
+
+``P4UpdateOptions``
+  Command-line options to the ``P4Command`` when updating the source.
+
+  * `CTest Script`_ variable: :variable:`CTEST_P4_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: ``CTEST_P4_UPDATE_OPTIONS``
+
+``SVNCommand``
+  ``svn`` command-line tool to use if source tree is managed by Subversion.
+
+  * `CTest Script`_ variable: :variable:`CTEST_SVN_COMMAND`
+  * :module:`CTest` module variable: ``SVNCOMMAND``
+
+``SVNOptions``
+  Command-line options to the ``SVNCommand`` for all invocations.
+
+  * `CTest Script`_ variable: :variable:`CTEST_SVN_OPTIONS`
+  * :module:`CTest` module variable: ``CTEST_SVN_OPTIONS``
+
+``SVNUpdateOptions``
+  Command-line options to the ``SVNCommand`` when updating the source.
+
+  * `CTest Script`_ variable: :variable:`CTEST_SVN_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: ``SVN_UPDATE_OPTIONS``
+
+``UpdateCommand``
+  Specify the version-control command-line tool to use without
+  detecting the VCS that manages the source tree.
+
+  * `CTest Script`_ variable: :variable:`CTEST_UPDATE_COMMAND`
+  * :module:`CTest` module variable: ``<VCS>COMMAND``
+    when ``UPDATE_TYPE`` is ``<vcs>``, else ``UPDATE_COMMAND``
+
+``UpdateOptions``
+  Command-line options to the ``UpdateCommand``.
+
+  * `CTest Script`_ variable: :variable:`CTEST_UPDATE_OPTIONS`
+  * :module:`CTest` module variable: ``<VCS>_UPDATE_OPTIONS``
+    when ``UPDATE_TYPE`` is ``<vcs>``, else ``UPDATE_OPTIONS``
+
+``UpdateType``
+  Specify the version-control system that manages the source
+  tree if it cannot be detected automatically.
+  The value may be ``bzr``, ``cvs``, ``git``, ``hg``,
+  ``p4``, or ``svn``.
+
+  * `CTest Script`_ variable: none, detected from source tree
+  * :module:`CTest` module variable: ``UPDATE_TYPE`` if set,
+    else ``CTEST_UPDATE_TYPE``
+
+``UpdateVersionOnly``
+  Specify that you want the version control update command to only
+  discover the current version that is checked out, and not to update
+  to a different version.
+
+  * `CTest Script`_ variable: :variable:`CTEST_UPDATE_VERSION_ONLY`
+
+
+
+Additional configuration settings include:
+
+``NightlyStartTime``
+  In the ``Nightly`` dashboard mode, specify the "nightly start time".
+  With centralized version control systems (``cvs`` and ``svn``),
+  the ``Update`` step checks out the version of the software as of
+  this time so that multiple clients choose a common version to test.
+  This is not well-defined in distributed version-control systems so
+  the setting is ignored.
+
+  * `CTest Script`_ variable: :variable:`CTEST_NIGHTLY_START_TIME`
+  * :module:`CTest` module variable: ``NIGHTLY_START_TIME`` if set,
+    else ``CTEST_NIGHTLY_START_TIME``
+
+.. _`CTest Configure Step`:
+
+CTest Configure Step
+--------------------
+
+In a `CTest Script`_, the :command:`ctest_configure` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings include:
+
+``ConfigureCommand``
+  Command-line to launch the software configuration process.
+  It will be executed in the location specified by the
+  ``BuildDirectory`` setting.
+
+  * `CTest Script`_ variable: :variable:`CTEST_CONFIGURE_COMMAND`
+  * :module:`CTest` module variable: :variable:`CMAKE_COMMAND`
+    followed by :variable:`PROJECT_SOURCE_DIR`
+
+``LabelsForSubprojects``
+  Specify a semicolon-separated list of labels that will be treated as
+  subprojects. This mapping will be passed on to CDash when configure, test or
+  build results are submitted.
+
+  * `CTest Script`_ variable: :variable:`CTEST_LABELS_FOR_SUBPROJECTS`
+  * :module:`CTest` module variable: ``CTEST_LABELS_FOR_SUBPROJECTS``
+
+
+.. _`CTest Build Step`:
+
+CTest Build Step
+----------------
+
+In a `CTest Script`_, the :command:`ctest_build` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings include:
+
+``DefaultCTestConfigurationType``
+  When the build system to be launched allows build-time selection
+  of the configuration (e.g. ``Debug``, ``Release``), this specifies
+  the default configuration to be built when no ``-C`` option is
+  given to the ``ctest`` command.  The value will be substituted into
+  the value of ``MakeCommand`` to replace the literal string
+  ``${CTEST_CONFIGURATION_TYPE}`` if it appears.
+
+  * `CTest Script`_ variable: :variable:`CTEST_CONFIGURATION_TYPE`
+  * :module:`CTest` module variable: ``DEFAULT_CTEST_CONFIGURATION_TYPE``,
+    initialized by the ``CMAKE_CONFIG_TYPE`` environment variable
+
+``LabelsForSubprojects``
+  Specify a semicolon-separated list of labels that will be treated as
+  subprojects. This mapping will be passed on to CDash when configure, test or
+  build results are submitted.
+
+  * `CTest Script`_ variable: :variable:`CTEST_LABELS_FOR_SUBPROJECTS`
+  * :module:`CTest` module variable: ``CTEST_LABELS_FOR_SUBPROJECTS``
+
+``MakeCommand``
+  Command-line to launch the software build process.
+  It will be executed in the location specified by the
+  ``BuildDirectory`` setting.
+
+  * `CTest Script`_ variable: :variable:`CTEST_BUILD_COMMAND`
+  * :module:`CTest` module variable: ``MAKECOMMAND``,
+    initialized by the :command:`build_command` command
+
+``UseLaunchers``
+  For build trees generated by CMake using one of the
+  :ref:`Makefile Generators` or the :generator:`Ninja`
+  generator, specify whether the
+  ``CTEST_USE_LAUNCHERS`` feature is enabled by the
+  :module:`CTestUseLaunchers` module (also included by the
+  :module:`CTest` module).  When enabled, the generated build
+  system wraps each invocation of the compiler, linker, or
+  custom command line with a "launcher" that communicates
+  with CTest via environment variables and files to report
+  granular build warning and error information.  Otherwise,
+  CTest must "scrape" the build output log for diagnostics.
+
+  * `CTest Script`_ variable: :variable:`CTEST_USE_LAUNCHERS`
+  * :module:`CTest` module variable: ``CTEST_USE_LAUNCHERS``
+
+.. _`CTest Test Step`:
+
+CTest Test Step
+---------------
+
+In a `CTest Script`_, the :command:`ctest_test` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings include:
+
+``LabelsForSubprojects``
+  Specify a semicolon-separated list of labels that will be treated as
+  subprojects. This mapping will be passed on to CDash when configure, test or
+  build results are submitted.
+
+  * `CTest Script`_ variable: :variable:`CTEST_LABELS_FOR_SUBPROJECTS`
+  * :module:`CTest` module variable: ``CTEST_LABELS_FOR_SUBPROJECTS``
+
+
+``TestLoad``
+  While running tests in parallel (e.g. with ``-j``), try not to start
+  tests when they may cause the CPU load to pass above a given threshold.
+
+  * `CTest Script`_ variable: :variable:`CTEST_TEST_LOAD`
+  * :module:`CTest` module variable: ``CTEST_TEST_LOAD``
+
+``TimeOut``
+  The default timeout for each test if not specified by the
+  :prop_test:`TIMEOUT` test property.
+
+  * `CTest Script`_ variable: :variable:`CTEST_TEST_TIMEOUT`
+  * :module:`CTest` module variable: ``DART_TESTING_TIMEOUT``
+
+.. _`CTest Coverage Step`:
+
+CTest Coverage Step
+-------------------
+
+In a `CTest Script`_, the :command:`ctest_coverage` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings include:
+
+``CoverageCommand``
+  Command-line tool to perform software coverage analysis.
+  It will be executed in the location specified by the
+  ``BuildDirectory`` setting.
+
+  * `CTest Script`_ variable: :variable:`CTEST_COVERAGE_COMMAND`
+  * :module:`CTest` module variable: ``COVERAGE_COMMAND``
+
+``CoverageExtraFlags``
+  Specify command-line options to the ``CoverageCommand`` tool.
+
+  * `CTest Script`_ variable: :variable:`CTEST_COVERAGE_EXTRA_FLAGS`
+  * :module:`CTest` module variable: ``COVERAGE_EXTRA_FLAGS``
+
+  These options are the first arguments passed to ``CoverageCommand``.
+
+.. _`CTest MemCheck Step`:
+
+CTest MemCheck Step
+-------------------
+
+In a `CTest Script`_, the :command:`ctest_memcheck` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings include:
+
+``MemoryCheckCommand``
+  Command-line tool to perform dynamic analysis.  Test command lines
+  will be launched through this tool.
+
+  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_COMMAND`
+  * :module:`CTest` module variable: ``MEMORYCHECK_COMMAND``
+
+``MemoryCheckCommandOptions``
+  Specify command-line options to the ``MemoryCheckCommand`` tool.
+  They will be placed prior to the test command line.
+
+  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_COMMAND_OPTIONS`
+  * :module:`CTest` module variable: ``MEMORYCHECK_COMMAND_OPTIONS``
+
+``MemoryCheckType``
+  Specify the type of memory checking to perform.
+
+  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_TYPE`
+  * :module:`CTest` module variable: ``MEMORYCHECK_TYPE``
+
+``MemoryCheckSanitizerOptions``
+  Specify options to sanitizers when running with a sanitize-enabled build.
+
+  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS`
+  * :module:`CTest` module variable: ``MEMORYCHECK_SANITIZER_OPTIONS``
+
+``MemoryCheckSuppressionFile``
+  Specify a file containing suppression rules for the
+  ``MemoryCheckCommand`` tool.  It will be passed with options
+  appropriate to the tool.
+
+  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_SUPPRESSIONS_FILE`
+  * :module:`CTest` module variable: ``MEMORYCHECK_SUPPRESSIONS_FILE``
+
+Additional configuration settings include:
+
+``BoundsCheckerCommand``
+  Specify a ``MemoryCheckCommand`` that is known to be command-line
+  compatible with Bounds Checker.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: none
+
+``PurifyCommand``
+  Specify a ``MemoryCheckCommand`` that is known to be command-line
+  compatible with Purify.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: ``PURIFYCOMMAND``
+
+``ValgrindCommand``
+  Specify a ``MemoryCheckCommand`` that is known to be command-line
+  compatible with Valgrind.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: ``VALGRIND_COMMAND``
+
+``ValgrindCommandOptions``
+  Specify command-line options to the ``ValgrindCommand`` tool.
+  They will be placed prior to the test command line.
+
+  * `CTest Script`_ variable: none
+  * :module:`CTest` module variable: ``VALGRIND_COMMAND_OPTIONS``
+
+.. _`CTest Submit Step`:
+
+CTest Submit Step
+-----------------
+
+In a `CTest Script`_, the :command:`ctest_submit` command runs this step.
+Arguments to the command may specify some of the step settings.
+
+Configuration settings include:
+
+``BuildName``
+  Describe the dashboard client platform with a short string.
+  (Operating system, compiler, etc.)
+
+  * `CTest Script`_ variable: :variable:`CTEST_BUILD_NAME`
+  * :module:`CTest` module variable: ``BUILDNAME``
+
+``CDashVersion``
+  Specify the version of `CDash`_ on the server.
+
+  * `CTest Script`_ variable: none, detected from server
+  * :module:`CTest` module variable: ``CTEST_CDASH_VERSION``
+
+``CTestSubmitRetryCount``
+  Specify a number of attempts to retry submission on network failure.
+
+  * `CTest Script`_ variable: none,
+    use the :command:`ctest_submit` ``RETRY_COUNT`` option.
+  * :module:`CTest` module variable: ``CTEST_SUBMIT_RETRY_COUNT``
+
+``CTestSubmitRetryDelay``
+  Specify a delay before retrying submission on network failure.
+
+  * `CTest Script`_ variable: none,
+    use the :command:`ctest_submit` ``RETRY_DELAY`` option.
+  * :module:`CTest` module variable: ``CTEST_SUBMIT_RETRY_DELAY``
+
+``CurlOptions``
+  Specify a semicolon-separated list of options to control the
+  Curl library that CTest uses internally to connect to the
+  server.  Possible options are ``CURLOPT_SSL_VERIFYPEER_OFF``
+  and ``CURLOPT_SSL_VERIFYHOST_OFF``.
+
+  * `CTest Script`_ variable: :variable:`CTEST_CURL_OPTIONS`
+  * :module:`CTest` module variable: ``CTEST_CURL_OPTIONS``
+
+``DropLocation``
+  The path on the dashboard server to send the submission.
+
+  * `CTest Script`_ variable: :variable:`CTEST_DROP_LOCATION`
+  * :module:`CTest` module variable: ``DROP_LOCATION`` if set,
+    else ``CTEST_DROP_LOCATION``
+
+``DropMethod``
+  Specify the method by which results should be submitted to the
+  dashboard server.  The value may be ``cp``, ``ftp``, ``http``,
+  ``https``, ``scp``, or ``xmlrpc`` (if CMake was built with
+  support for it).
+
+  * `CTest Script`_ variable: :variable:`CTEST_DROP_METHOD`
+  * :module:`CTest` module variable: ``DROP_METHOD`` if set,
+    else ``CTEST_DROP_METHOD``
+
+``DropSite``
+  The dashboard server name
+  (for ``ftp``, ``http``, and ``https``, ``scp``, and ``xmlrpc``).
+
+  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE`
+  * :module:`CTest` module variable: ``DROP_SITE`` if set,
+    else ``CTEST_DROP_SITE``
+
+``DropSitePassword``
+  The dashboard server login password, if any
+  (for ``ftp``, ``http``, and ``https``).
+
+  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_PASSWORD`
+  * :module:`CTest` module variable: ``DROP_SITE_PASSWORD`` if set,
+    else ``CTEST_DROP_SITE_PASWORD``
+
+``DropSiteUser``
+  The dashboard server login user name, if any
+  (for ``ftp``, ``http``, and ``https``).
+
+  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_USER`
+  * :module:`CTest` module variable: ``DROP_SITE_USER`` if set,
+    else ``CTEST_DROP_SITE_USER``
+
+``IsCDash``
+  Specify whether the dashboard server is `CDash`_ or an older
+  dashboard server implementation requiring ``TriggerSite``.
+
+  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_CDASH`
+  * :module:`CTest` module variable: ``CTEST_DROP_SITE_CDASH``
+
+``ScpCommand``
+  ``scp`` command-line tool to use when ``DropMethod`` is ``scp``.
+
+  * `CTest Script`_ variable: :variable:`CTEST_SCP_COMMAND`
+  * :module:`CTest` module variable: ``SCPCOMMAND``
+
+``Site``
+  Describe the dashboard client host site with a short string.
+  (Hostname, domain, etc.)
+
+  * `CTest Script`_ variable: :variable:`CTEST_SITE`
+  * :module:`CTest` module variable: ``SITE``,
+    initialized by the :command:`site_name` command
+
+``TriggerSite``
+  Legacy option to support older dashboard server implementations.
+  Not used when ``IsCDash`` is true.
+
+  * `CTest Script`_ variable: :variable:`CTEST_TRIGGER_SITE`
+  * :module:`CTest` module variable: ``TRIGGER_SITE`` if set,
+    else ``CTEST_TRIGGER_SITE``
+
+See Also
+========
+
+.. include:: LINKS.txt
diff --git a/share/cmake-3.6/Help/module/AddFileDependencies.rst b/share/cmake-3.10/Help/module/AddFileDependencies.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/AddFileDependencies.rst
rename to share/cmake-3.10/Help/module/AddFileDependencies.rst
diff --git a/share/cmake-3.10/Help/module/AndroidTestUtilities.rst b/share/cmake-3.10/Help/module/AndroidTestUtilities.rst
new file mode 100644
index 0000000..e7ec864
--- /dev/null
+++ b/share/cmake-3.10/Help/module/AndroidTestUtilities.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/AndroidTestUtilities.cmake
diff --git a/share/cmake-3.6/Help/module/BundleUtilities.rst b/share/cmake-3.10/Help/module/BundleUtilities.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/BundleUtilities.rst
rename to share/cmake-3.10/Help/module/BundleUtilities.rst
diff --git a/share/cmake-3.6/Help/module/CMakeAddFortranSubdirectory.rst b/share/cmake-3.10/Help/module/CMakeAddFortranSubdirectory.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeAddFortranSubdirectory.rst
rename to share/cmake-3.10/Help/module/CMakeAddFortranSubdirectory.rst
diff --git a/share/cmake-3.6/Help/module/CMakeBackwardCompatibilityCXX.rst b/share/cmake-3.10/Help/module/CMakeBackwardCompatibilityCXX.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeBackwardCompatibilityCXX.rst
rename to share/cmake-3.10/Help/module/CMakeBackwardCompatibilityCXX.rst
diff --git a/share/cmake-3.6/Help/module/CMakeDependentOption.rst b/share/cmake-3.10/Help/module/CMakeDependentOption.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeDependentOption.rst
rename to share/cmake-3.10/Help/module/CMakeDependentOption.rst
diff --git a/share/cmake-3.6/Help/module/CMakeDetermineVSServicePack.rst b/share/cmake-3.10/Help/module/CMakeDetermineVSServicePack.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeDetermineVSServicePack.rst
rename to share/cmake-3.10/Help/module/CMakeDetermineVSServicePack.rst
diff --git a/share/cmake-3.6/Help/module/CMakeExpandImportedTargets.rst b/share/cmake-3.10/Help/module/CMakeExpandImportedTargets.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeExpandImportedTargets.rst
rename to share/cmake-3.10/Help/module/CMakeExpandImportedTargets.rst
diff --git a/share/cmake-3.6/Help/module/CMakeFindDependencyMacro.rst b/share/cmake-3.10/Help/module/CMakeFindDependencyMacro.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeFindDependencyMacro.rst
rename to share/cmake-3.10/Help/module/CMakeFindDependencyMacro.rst
diff --git a/share/cmake-3.6/Help/module/CMakeFindFrameworks.rst b/share/cmake-3.10/Help/module/CMakeFindFrameworks.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeFindFrameworks.rst
rename to share/cmake-3.10/Help/module/CMakeFindFrameworks.rst
diff --git a/share/cmake-3.6/Help/module/CMakeFindPackageMode.rst b/share/cmake-3.10/Help/module/CMakeFindPackageMode.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeFindPackageMode.rst
rename to share/cmake-3.10/Help/module/CMakeFindPackageMode.rst
diff --git a/share/cmake-3.6/Help/module/CMakeForceCompiler.rst b/share/cmake-3.10/Help/module/CMakeForceCompiler.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeForceCompiler.rst
rename to share/cmake-3.10/Help/module/CMakeForceCompiler.rst
diff --git a/share/cmake-3.6/Help/module/CMakeGraphVizOptions.rst b/share/cmake-3.10/Help/module/CMakeGraphVizOptions.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeGraphVizOptions.rst
rename to share/cmake-3.10/Help/module/CMakeGraphVizOptions.rst
diff --git a/share/cmake-3.6/Help/module/CMakePackageConfigHelpers.rst b/share/cmake-3.10/Help/module/CMakePackageConfigHelpers.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakePackageConfigHelpers.rst
rename to share/cmake-3.10/Help/module/CMakePackageConfigHelpers.rst
diff --git a/share/cmake-3.6/Help/module/CMakeParseArguments.rst b/share/cmake-3.10/Help/module/CMakeParseArguments.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeParseArguments.rst
rename to share/cmake-3.10/Help/module/CMakeParseArguments.rst
diff --git a/share/cmake-3.6/Help/module/CMakePrintHelpers.rst b/share/cmake-3.10/Help/module/CMakePrintHelpers.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakePrintHelpers.rst
rename to share/cmake-3.10/Help/module/CMakePrintHelpers.rst
diff --git a/share/cmake-3.6/Help/module/CMakePrintSystemInformation.rst b/share/cmake-3.10/Help/module/CMakePrintSystemInformation.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakePrintSystemInformation.rst
rename to share/cmake-3.10/Help/module/CMakePrintSystemInformation.rst
diff --git a/share/cmake-3.6/Help/module/CMakePushCheckState.rst b/share/cmake-3.10/Help/module/CMakePushCheckState.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakePushCheckState.rst
rename to share/cmake-3.10/Help/module/CMakePushCheckState.rst
diff --git a/share/cmake-3.6/Help/module/CMakeVerifyManifest.rst b/share/cmake-3.10/Help/module/CMakeVerifyManifest.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CMakeVerifyManifest.rst
rename to share/cmake-3.10/Help/module/CMakeVerifyManifest.rst
diff --git a/share/cmake-3.6/Help/module/CPack.rst b/share/cmake-3.10/Help/module/CPack.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPack.rst
rename to share/cmake-3.10/Help/module/CPack.rst
diff --git a/share/cmake-3.10/Help/module/CPackArchive.rst b/share/cmake-3.10/Help/module/CPackArchive.rst
new file mode 100644
index 0000000..eb8d9d2
--- /dev/null
+++ b/share/cmake-3.10/Help/module/CPackArchive.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/CPackArchive.cmake
diff --git a/share/cmake-3.6/Help/module/CPackBundle.rst b/share/cmake-3.10/Help/module/CPackBundle.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackBundle.rst
rename to share/cmake-3.10/Help/module/CPackBundle.rst
diff --git a/share/cmake-3.6/Help/module/CPackComponent.rst b/share/cmake-3.10/Help/module/CPackComponent.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackComponent.rst
rename to share/cmake-3.10/Help/module/CPackComponent.rst
diff --git a/share/cmake-3.6/Help/module/CPackCygwin.rst b/share/cmake-3.10/Help/module/CPackCygwin.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackCygwin.rst
rename to share/cmake-3.10/Help/module/CPackCygwin.rst
diff --git a/share/cmake-3.6/Help/module/CPackDMG.rst b/share/cmake-3.10/Help/module/CPackDMG.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackDMG.rst
rename to share/cmake-3.10/Help/module/CPackDMG.rst
diff --git a/share/cmake-3.6/Help/module/CPackDeb.rst b/share/cmake-3.10/Help/module/CPackDeb.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackDeb.rst
rename to share/cmake-3.10/Help/module/CPackDeb.rst
diff --git a/share/cmake-3.10/Help/module/CPackFreeBSD.rst b/share/cmake-3.10/Help/module/CPackFreeBSD.rst
new file mode 100644
index 0000000..083f0cb
--- /dev/null
+++ b/share/cmake-3.10/Help/module/CPackFreeBSD.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/CPackFreeBSD.cmake
diff --git a/share/cmake-3.6/Help/module/CPackIFW.rst b/share/cmake-3.10/Help/module/CPackIFW.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackIFW.rst
rename to share/cmake-3.10/Help/module/CPackIFW.rst
diff --git a/share/cmake-3.10/Help/module/CPackIFWConfigureFile.rst b/share/cmake-3.10/Help/module/CPackIFWConfigureFile.rst
new file mode 100644
index 0000000..e88517c
--- /dev/null
+++ b/share/cmake-3.10/Help/module/CPackIFWConfigureFile.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/CPackIFWConfigureFile.cmake
diff --git a/share/cmake-3.6/Help/module/CPackNSIS.rst b/share/cmake-3.10/Help/module/CPackNSIS.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackNSIS.rst
rename to share/cmake-3.10/Help/module/CPackNSIS.rst
diff --git a/share/cmake-3.6/Help/module/CPackPackageMaker.rst b/share/cmake-3.10/Help/module/CPackPackageMaker.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackPackageMaker.rst
rename to share/cmake-3.10/Help/module/CPackPackageMaker.rst
diff --git a/share/cmake-3.10/Help/module/CPackProductBuild.rst b/share/cmake-3.10/Help/module/CPackProductBuild.rst
new file mode 100644
index 0000000..6081fe4
--- /dev/null
+++ b/share/cmake-3.10/Help/module/CPackProductBuild.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/CPackProductBuild.cmake
diff --git a/share/cmake-3.6/Help/module/CPackRPM.rst b/share/cmake-3.10/Help/module/CPackRPM.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackRPM.rst
rename to share/cmake-3.10/Help/module/CPackRPM.rst
diff --git a/share/cmake-3.6/Help/module/CPackWIX.rst b/share/cmake-3.10/Help/module/CPackWIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CPackWIX.rst
rename to share/cmake-3.10/Help/module/CPackWIX.rst
diff --git a/share/cmake-3.10/Help/module/CSharpUtilities.rst b/share/cmake-3.10/Help/module/CSharpUtilities.rst
new file mode 100644
index 0000000..3621bbc
--- /dev/null
+++ b/share/cmake-3.10/Help/module/CSharpUtilities.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/CSharpUtilities.cmake
diff --git a/share/cmake-3.6/Help/module/CTest.rst b/share/cmake-3.10/Help/module/CTest.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CTest.rst
rename to share/cmake-3.10/Help/module/CTest.rst
diff --git a/share/cmake-3.6/Help/module/CTestCoverageCollectGCOV.rst b/share/cmake-3.10/Help/module/CTestCoverageCollectGCOV.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CTestCoverageCollectGCOV.rst
rename to share/cmake-3.10/Help/module/CTestCoverageCollectGCOV.rst
diff --git a/share/cmake-3.6/Help/module/CTestScriptMode.rst b/share/cmake-3.10/Help/module/CTestScriptMode.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CTestScriptMode.rst
rename to share/cmake-3.10/Help/module/CTestScriptMode.rst
diff --git a/share/cmake-3.6/Help/module/CTestUseLaunchers.rst b/share/cmake-3.10/Help/module/CTestUseLaunchers.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CTestUseLaunchers.rst
rename to share/cmake-3.10/Help/module/CTestUseLaunchers.rst
diff --git a/share/cmake-3.6/Help/module/CheckCCompilerFlag.rst b/share/cmake-3.10/Help/module/CheckCCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCCompilerFlag.rst
rename to share/cmake-3.10/Help/module/CheckCCompilerFlag.rst
diff --git a/share/cmake-3.6/Help/module/CheckCSourceCompiles.rst b/share/cmake-3.10/Help/module/CheckCSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCSourceCompiles.rst
rename to share/cmake-3.10/Help/module/CheckCSourceCompiles.rst
diff --git a/share/cmake-3.6/Help/module/CheckCSourceRuns.rst b/share/cmake-3.10/Help/module/CheckCSourceRuns.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCSourceRuns.rst
rename to share/cmake-3.10/Help/module/CheckCSourceRuns.rst
diff --git a/share/cmake-3.6/Help/module/CheckCXXCompilerFlag.rst b/share/cmake-3.10/Help/module/CheckCXXCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCXXCompilerFlag.rst
rename to share/cmake-3.10/Help/module/CheckCXXCompilerFlag.rst
diff --git a/share/cmake-3.6/Help/module/CheckCXXSourceCompiles.rst b/share/cmake-3.10/Help/module/CheckCXXSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCXXSourceCompiles.rst
rename to share/cmake-3.10/Help/module/CheckCXXSourceCompiles.rst
diff --git a/share/cmake-3.6/Help/module/CheckCXXSourceRuns.rst b/share/cmake-3.10/Help/module/CheckCXXSourceRuns.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCXXSourceRuns.rst
rename to share/cmake-3.10/Help/module/CheckCXXSourceRuns.rst
diff --git a/share/cmake-3.6/Help/module/CheckCXXSymbolExists.rst b/share/cmake-3.10/Help/module/CheckCXXSymbolExists.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckCXXSymbolExists.rst
rename to share/cmake-3.10/Help/module/CheckCXXSymbolExists.rst
diff --git a/share/cmake-3.6/Help/module/CheckFortranCompilerFlag.rst b/share/cmake-3.10/Help/module/CheckFortranCompilerFlag.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckFortranCompilerFlag.rst
rename to share/cmake-3.10/Help/module/CheckFortranCompilerFlag.rst
diff --git a/share/cmake-3.6/Help/module/CheckFortranFunctionExists.rst b/share/cmake-3.10/Help/module/CheckFortranFunctionExists.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckFortranFunctionExists.rst
rename to share/cmake-3.10/Help/module/CheckFortranFunctionExists.rst
diff --git a/share/cmake-3.6/Help/module/CheckFortranSourceCompiles.rst b/share/cmake-3.10/Help/module/CheckFortranSourceCompiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckFortranSourceCompiles.rst
rename to share/cmake-3.10/Help/module/CheckFortranSourceCompiles.rst
diff --git a/share/cmake-3.6/Help/module/CheckFunctionExists.rst b/share/cmake-3.10/Help/module/CheckFunctionExists.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckFunctionExists.rst
rename to share/cmake-3.10/Help/module/CheckFunctionExists.rst
diff --git a/share/cmake-3.10/Help/module/CheckIPOSupported.rst b/share/cmake-3.10/Help/module/CheckIPOSupported.rst
new file mode 100644
index 0000000..9c8a77b
--- /dev/null
+++ b/share/cmake-3.10/Help/module/CheckIPOSupported.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/CheckIPOSupported.cmake
diff --git a/share/cmake-3.6/Help/module/CheckIncludeFile.rst b/share/cmake-3.10/Help/module/CheckIncludeFile.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckIncludeFile.rst
rename to share/cmake-3.10/Help/module/CheckIncludeFile.rst
diff --git a/share/cmake-3.6/Help/module/CheckIncludeFileCXX.rst b/share/cmake-3.10/Help/module/CheckIncludeFileCXX.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckIncludeFileCXX.rst
rename to share/cmake-3.10/Help/module/CheckIncludeFileCXX.rst
diff --git a/share/cmake-3.6/Help/module/CheckIncludeFiles.rst b/share/cmake-3.10/Help/module/CheckIncludeFiles.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckIncludeFiles.rst
rename to share/cmake-3.10/Help/module/CheckIncludeFiles.rst
diff --git a/share/cmake-3.6/Help/module/CheckLanguage.rst b/share/cmake-3.10/Help/module/CheckLanguage.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckLanguage.rst
rename to share/cmake-3.10/Help/module/CheckLanguage.rst
diff --git a/share/cmake-3.6/Help/module/CheckLibraryExists.rst b/share/cmake-3.10/Help/module/CheckLibraryExists.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckLibraryExists.rst
rename to share/cmake-3.10/Help/module/CheckLibraryExists.rst
diff --git a/share/cmake-3.6/Help/module/CheckPrototypeDefinition.rst b/share/cmake-3.10/Help/module/CheckPrototypeDefinition.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckPrototypeDefinition.rst
rename to share/cmake-3.10/Help/module/CheckPrototypeDefinition.rst
diff --git a/share/cmake-3.6/Help/module/CheckStructHasMember.rst b/share/cmake-3.10/Help/module/CheckStructHasMember.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckStructHasMember.rst
rename to share/cmake-3.10/Help/module/CheckStructHasMember.rst
diff --git a/share/cmake-3.6/Help/module/CheckSymbolExists.rst b/share/cmake-3.10/Help/module/CheckSymbolExists.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckSymbolExists.rst
rename to share/cmake-3.10/Help/module/CheckSymbolExists.rst
diff --git a/share/cmake-3.6/Help/module/CheckTypeSize.rst b/share/cmake-3.10/Help/module/CheckTypeSize.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckTypeSize.rst
rename to share/cmake-3.10/Help/module/CheckTypeSize.rst
diff --git a/share/cmake-3.6/Help/module/CheckVariableExists.rst b/share/cmake-3.10/Help/module/CheckVariableExists.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/CheckVariableExists.rst
rename to share/cmake-3.10/Help/module/CheckVariableExists.rst
diff --git a/share/cmake-3.6/Help/module/Dart.rst b/share/cmake-3.10/Help/module/Dart.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/Dart.rst
rename to share/cmake-3.10/Help/module/Dart.rst
diff --git a/share/cmake-3.6/Help/module/DeployQt4.rst b/share/cmake-3.10/Help/module/DeployQt4.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/DeployQt4.rst
rename to share/cmake-3.10/Help/module/DeployQt4.rst
diff --git a/share/cmake-3.6/Help/module/Documentation.rst b/share/cmake-3.10/Help/module/Documentation.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/Documentation.rst
rename to share/cmake-3.10/Help/module/Documentation.rst
diff --git a/share/cmake-3.6/Help/module/ExternalData.rst b/share/cmake-3.10/Help/module/ExternalData.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/ExternalData.rst
rename to share/cmake-3.10/Help/module/ExternalData.rst
diff --git a/share/cmake-3.6/Help/module/ExternalProject.rst b/share/cmake-3.10/Help/module/ExternalProject.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/ExternalProject.rst
rename to share/cmake-3.10/Help/module/ExternalProject.rst
diff --git a/share/cmake-3.6/Help/module/FeatureSummary.rst b/share/cmake-3.10/Help/module/FeatureSummary.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FeatureSummary.rst
rename to share/cmake-3.10/Help/module/FeatureSummary.rst
diff --git a/share/cmake-3.6/Help/module/FindALSA.rst b/share/cmake-3.10/Help/module/FindALSA.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindALSA.rst
rename to share/cmake-3.10/Help/module/FindALSA.rst
diff --git a/share/cmake-3.6/Help/module/FindASPELL.rst b/share/cmake-3.10/Help/module/FindASPELL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindASPELL.rst
rename to share/cmake-3.10/Help/module/FindASPELL.rst
diff --git a/share/cmake-3.6/Help/module/FindAVIFile.rst b/share/cmake-3.10/Help/module/FindAVIFile.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindAVIFile.rst
rename to share/cmake-3.10/Help/module/FindAVIFile.rst
diff --git a/share/cmake-3.6/Help/module/FindArmadillo.rst b/share/cmake-3.10/Help/module/FindArmadillo.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindArmadillo.rst
rename to share/cmake-3.10/Help/module/FindArmadillo.rst
diff --git a/share/cmake-3.6/Help/module/FindBISON.rst b/share/cmake-3.10/Help/module/FindBISON.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindBISON.rst
rename to share/cmake-3.10/Help/module/FindBISON.rst
diff --git a/share/cmake-3.6/Help/module/FindBLAS.rst b/share/cmake-3.10/Help/module/FindBLAS.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindBLAS.rst
rename to share/cmake-3.10/Help/module/FindBLAS.rst
diff --git a/share/cmake-3.6/Help/module/FindBZip2.rst b/share/cmake-3.10/Help/module/FindBZip2.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindBZip2.rst
rename to share/cmake-3.10/Help/module/FindBZip2.rst
diff --git a/share/cmake-3.6/Help/module/FindBacktrace.rst b/share/cmake-3.10/Help/module/FindBacktrace.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindBacktrace.rst
rename to share/cmake-3.10/Help/module/FindBacktrace.rst
diff --git a/share/cmake-3.6/Help/module/FindBoost.rst b/share/cmake-3.10/Help/module/FindBoost.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindBoost.rst
rename to share/cmake-3.10/Help/module/FindBoost.rst
diff --git a/share/cmake-3.6/Help/module/FindBullet.rst b/share/cmake-3.10/Help/module/FindBullet.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindBullet.rst
rename to share/cmake-3.10/Help/module/FindBullet.rst
diff --git a/share/cmake-3.6/Help/module/FindCABLE.rst b/share/cmake-3.10/Help/module/FindCABLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCABLE.rst
rename to share/cmake-3.10/Help/module/FindCABLE.rst
diff --git a/share/cmake-3.6/Help/module/FindCUDA.rst b/share/cmake-3.10/Help/module/FindCUDA.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCUDA.rst
rename to share/cmake-3.10/Help/module/FindCUDA.rst
diff --git a/share/cmake-3.6/Help/module/FindCURL.rst b/share/cmake-3.10/Help/module/FindCURL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCURL.rst
rename to share/cmake-3.10/Help/module/FindCURL.rst
diff --git a/share/cmake-3.6/Help/module/FindCVS.rst b/share/cmake-3.10/Help/module/FindCVS.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCVS.rst
rename to share/cmake-3.10/Help/module/FindCVS.rst
diff --git a/share/cmake-3.6/Help/module/FindCoin3D.rst b/share/cmake-3.10/Help/module/FindCoin3D.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCoin3D.rst
rename to share/cmake-3.10/Help/module/FindCoin3D.rst
diff --git a/share/cmake-3.6/Help/module/FindCups.rst b/share/cmake-3.10/Help/module/FindCups.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCups.rst
rename to share/cmake-3.10/Help/module/FindCups.rst
diff --git a/share/cmake-3.6/Help/module/FindCurses.rst b/share/cmake-3.10/Help/module/FindCurses.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCurses.rst
rename to share/cmake-3.10/Help/module/FindCurses.rst
diff --git a/share/cmake-3.6/Help/module/FindCxxTest.rst b/share/cmake-3.10/Help/module/FindCxxTest.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCxxTest.rst
rename to share/cmake-3.10/Help/module/FindCxxTest.rst
diff --git a/share/cmake-3.6/Help/module/FindCygwin.rst b/share/cmake-3.10/Help/module/FindCygwin.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindCygwin.rst
rename to share/cmake-3.10/Help/module/FindCygwin.rst
diff --git a/share/cmake-3.6/Help/module/FindDCMTK.rst b/share/cmake-3.10/Help/module/FindDCMTK.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindDCMTK.rst
rename to share/cmake-3.10/Help/module/FindDCMTK.rst
diff --git a/share/cmake-3.6/Help/module/FindDart.rst b/share/cmake-3.10/Help/module/FindDart.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindDart.rst
rename to share/cmake-3.10/Help/module/FindDart.rst
diff --git a/share/cmake-3.6/Help/module/FindDevIL.rst b/share/cmake-3.10/Help/module/FindDevIL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindDevIL.rst
rename to share/cmake-3.10/Help/module/FindDevIL.rst
diff --git a/share/cmake-3.6/Help/module/FindDoxygen.rst b/share/cmake-3.10/Help/module/FindDoxygen.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindDoxygen.rst
rename to share/cmake-3.10/Help/module/FindDoxygen.rst
diff --git a/share/cmake-3.6/Help/module/FindEXPAT.rst b/share/cmake-3.10/Help/module/FindEXPAT.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindEXPAT.rst
rename to share/cmake-3.10/Help/module/FindEXPAT.rst
diff --git a/share/cmake-3.6/Help/module/FindFLEX.rst b/share/cmake-3.10/Help/module/FindFLEX.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindFLEX.rst
rename to share/cmake-3.10/Help/module/FindFLEX.rst
diff --git a/share/cmake-3.6/Help/module/FindFLTK.rst b/share/cmake-3.10/Help/module/FindFLTK.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindFLTK.rst
rename to share/cmake-3.10/Help/module/FindFLTK.rst
diff --git a/share/cmake-3.6/Help/module/FindFLTK2.rst b/share/cmake-3.10/Help/module/FindFLTK2.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindFLTK2.rst
rename to share/cmake-3.10/Help/module/FindFLTK2.rst
diff --git a/share/cmake-3.6/Help/module/FindFreetype.rst b/share/cmake-3.10/Help/module/FindFreetype.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindFreetype.rst
rename to share/cmake-3.10/Help/module/FindFreetype.rst
diff --git a/share/cmake-3.6/Help/module/FindGCCXML.rst b/share/cmake-3.10/Help/module/FindGCCXML.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGCCXML.rst
rename to share/cmake-3.10/Help/module/FindGCCXML.rst
diff --git a/share/cmake-3.6/Help/module/FindGDAL.rst b/share/cmake-3.10/Help/module/FindGDAL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGDAL.rst
rename to share/cmake-3.10/Help/module/FindGDAL.rst
diff --git a/share/cmake-3.6/Help/module/FindGIF.rst b/share/cmake-3.10/Help/module/FindGIF.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGIF.rst
rename to share/cmake-3.10/Help/module/FindGIF.rst
diff --git a/share/cmake-3.6/Help/module/FindGLEW.rst b/share/cmake-3.10/Help/module/FindGLEW.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGLEW.rst
rename to share/cmake-3.10/Help/module/FindGLEW.rst
diff --git a/share/cmake-3.6/Help/module/FindGLUT.rst b/share/cmake-3.10/Help/module/FindGLUT.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGLUT.rst
rename to share/cmake-3.10/Help/module/FindGLUT.rst
diff --git a/share/cmake-3.6/Help/module/FindGSL.rst b/share/cmake-3.10/Help/module/FindGSL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGSL.rst
rename to share/cmake-3.10/Help/module/FindGSL.rst
diff --git a/share/cmake-3.6/Help/module/FindGTK.rst b/share/cmake-3.10/Help/module/FindGTK.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGTK.rst
rename to share/cmake-3.10/Help/module/FindGTK.rst
diff --git a/share/cmake-3.6/Help/module/FindGTK2.rst b/share/cmake-3.10/Help/module/FindGTK2.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGTK2.rst
rename to share/cmake-3.10/Help/module/FindGTK2.rst
diff --git a/share/cmake-3.6/Help/module/FindGTest.rst b/share/cmake-3.10/Help/module/FindGTest.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGTest.rst
rename to share/cmake-3.10/Help/module/FindGTest.rst
diff --git a/share/cmake-3.6/Help/module/FindGettext.rst b/share/cmake-3.10/Help/module/FindGettext.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGettext.rst
rename to share/cmake-3.10/Help/module/FindGettext.rst
diff --git a/share/cmake-3.6/Help/module/FindGit.rst b/share/cmake-3.10/Help/module/FindGit.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGit.rst
rename to share/cmake-3.10/Help/module/FindGit.rst
diff --git a/share/cmake-3.6/Help/module/FindGnuTLS.rst b/share/cmake-3.10/Help/module/FindGnuTLS.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGnuTLS.rst
rename to share/cmake-3.10/Help/module/FindGnuTLS.rst
diff --git a/share/cmake-3.6/Help/module/FindGnuplot.rst b/share/cmake-3.10/Help/module/FindGnuplot.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindGnuplot.rst
rename to share/cmake-3.10/Help/module/FindGnuplot.rst
diff --git a/share/cmake-3.6/Help/module/FindHDF5.rst b/share/cmake-3.10/Help/module/FindHDF5.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindHDF5.rst
rename to share/cmake-3.10/Help/module/FindHDF5.rst
diff --git a/share/cmake-3.6/Help/module/FindHSPELL.rst b/share/cmake-3.10/Help/module/FindHSPELL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindHSPELL.rst
rename to share/cmake-3.10/Help/module/FindHSPELL.rst
diff --git a/share/cmake-3.6/Help/module/FindHTMLHelp.rst b/share/cmake-3.10/Help/module/FindHTMLHelp.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindHTMLHelp.rst
rename to share/cmake-3.10/Help/module/FindHTMLHelp.rst
diff --git a/share/cmake-3.6/Help/module/FindHg.rst b/share/cmake-3.10/Help/module/FindHg.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindHg.rst
rename to share/cmake-3.10/Help/module/FindHg.rst
diff --git a/share/cmake-3.10/Help/module/FindICU.rst b/share/cmake-3.10/Help/module/FindICU.rst
new file mode 100644
index 0000000..ee3f4a9
--- /dev/null
+++ b/share/cmake-3.10/Help/module/FindICU.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindICU.cmake
diff --git a/share/cmake-3.6/Help/module/FindITK.rst b/share/cmake-3.10/Help/module/FindITK.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindITK.rst
rename to share/cmake-3.10/Help/module/FindITK.rst
diff --git a/share/cmake-3.6/Help/module/FindIce.rst b/share/cmake-3.10/Help/module/FindIce.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindIce.rst
rename to share/cmake-3.10/Help/module/FindIce.rst
diff --git a/share/cmake-3.6/Help/module/FindIcotool.rst b/share/cmake-3.10/Help/module/FindIcotool.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindIcotool.rst
rename to share/cmake-3.10/Help/module/FindIcotool.rst
diff --git a/share/cmake-3.6/Help/module/FindImageMagick.rst b/share/cmake-3.10/Help/module/FindImageMagick.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindImageMagick.rst
rename to share/cmake-3.10/Help/module/FindImageMagick.rst
diff --git a/share/cmake-3.6/Help/module/FindIntl.rst b/share/cmake-3.10/Help/module/FindIntl.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindIntl.rst
rename to share/cmake-3.10/Help/module/FindIntl.rst
diff --git a/share/cmake-3.6/Help/module/FindJNI.rst b/share/cmake-3.10/Help/module/FindJNI.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindJNI.rst
rename to share/cmake-3.10/Help/module/FindJNI.rst
diff --git a/share/cmake-3.6/Help/module/FindJPEG.rst b/share/cmake-3.10/Help/module/FindJPEG.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindJPEG.rst
rename to share/cmake-3.10/Help/module/FindJPEG.rst
diff --git a/share/cmake-3.6/Help/module/FindJasper.rst b/share/cmake-3.10/Help/module/FindJasper.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindJasper.rst
rename to share/cmake-3.10/Help/module/FindJasper.rst
diff --git a/share/cmake-3.6/Help/module/FindJava.rst b/share/cmake-3.10/Help/module/FindJava.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindJava.rst
rename to share/cmake-3.10/Help/module/FindJava.rst
diff --git a/share/cmake-3.6/Help/module/FindKDE3.rst b/share/cmake-3.10/Help/module/FindKDE3.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindKDE3.rst
rename to share/cmake-3.10/Help/module/FindKDE3.rst
diff --git a/share/cmake-3.6/Help/module/FindKDE4.rst b/share/cmake-3.10/Help/module/FindKDE4.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindKDE4.rst
rename to share/cmake-3.10/Help/module/FindKDE4.rst
diff --git a/share/cmake-3.6/Help/module/FindLAPACK.rst b/share/cmake-3.10/Help/module/FindLAPACK.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLAPACK.rst
rename to share/cmake-3.10/Help/module/FindLAPACK.rst
diff --git a/share/cmake-3.6/Help/module/FindLATEX.rst b/share/cmake-3.10/Help/module/FindLATEX.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLATEX.rst
rename to share/cmake-3.10/Help/module/FindLATEX.rst
diff --git a/share/cmake-3.6/Help/module/FindLTTngUST.rst b/share/cmake-3.10/Help/module/FindLTTngUST.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLTTngUST.rst
rename to share/cmake-3.10/Help/module/FindLTTngUST.rst
diff --git a/share/cmake-3.6/Help/module/FindLibArchive.rst b/share/cmake-3.10/Help/module/FindLibArchive.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLibArchive.rst
rename to share/cmake-3.10/Help/module/FindLibArchive.rst
diff --git a/share/cmake-3.6/Help/module/FindLibLZMA.rst b/share/cmake-3.10/Help/module/FindLibLZMA.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLibLZMA.rst
rename to share/cmake-3.10/Help/module/FindLibLZMA.rst
diff --git a/share/cmake-3.6/Help/module/FindLibXml2.rst b/share/cmake-3.10/Help/module/FindLibXml2.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLibXml2.rst
rename to share/cmake-3.10/Help/module/FindLibXml2.rst
diff --git a/share/cmake-3.6/Help/module/FindLibXslt.rst b/share/cmake-3.10/Help/module/FindLibXslt.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLibXslt.rst
rename to share/cmake-3.10/Help/module/FindLibXslt.rst
diff --git a/share/cmake-3.6/Help/module/FindLua.rst b/share/cmake-3.10/Help/module/FindLua.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLua.rst
rename to share/cmake-3.10/Help/module/FindLua.rst
diff --git a/share/cmake-3.6/Help/module/FindLua50.rst b/share/cmake-3.10/Help/module/FindLua50.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLua50.rst
rename to share/cmake-3.10/Help/module/FindLua50.rst
diff --git a/share/cmake-3.6/Help/module/FindLua51.rst b/share/cmake-3.10/Help/module/FindLua51.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindLua51.rst
rename to share/cmake-3.10/Help/module/FindLua51.rst
diff --git a/share/cmake-3.6/Help/module/FindMFC.rst b/share/cmake-3.10/Help/module/FindMFC.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindMFC.rst
rename to share/cmake-3.10/Help/module/FindMFC.rst
diff --git a/share/cmake-3.6/Help/module/FindMPEG.rst b/share/cmake-3.10/Help/module/FindMPEG.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindMPEG.rst
rename to share/cmake-3.10/Help/module/FindMPEG.rst
diff --git a/share/cmake-3.6/Help/module/FindMPEG2.rst b/share/cmake-3.10/Help/module/FindMPEG2.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindMPEG2.rst
rename to share/cmake-3.10/Help/module/FindMPEG2.rst
diff --git a/share/cmake-3.6/Help/module/FindMPI.rst b/share/cmake-3.10/Help/module/FindMPI.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindMPI.rst
rename to share/cmake-3.10/Help/module/FindMPI.rst
diff --git a/share/cmake-3.6/Help/module/FindMatlab.rst b/share/cmake-3.10/Help/module/FindMatlab.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindMatlab.rst
rename to share/cmake-3.10/Help/module/FindMatlab.rst
diff --git a/share/cmake-3.6/Help/module/FindMotif.rst b/share/cmake-3.10/Help/module/FindMotif.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindMotif.rst
rename to share/cmake-3.10/Help/module/FindMotif.rst
diff --git a/share/cmake-3.10/Help/module/FindOpenACC.rst b/share/cmake-3.10/Help/module/FindOpenACC.rst
new file mode 100644
index 0000000..dda3308
--- /dev/null
+++ b/share/cmake-3.10/Help/module/FindOpenACC.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindOpenACC.cmake
diff --git a/share/cmake-3.6/Help/module/FindOpenAL.rst b/share/cmake-3.10/Help/module/FindOpenAL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenAL.rst
rename to share/cmake-3.10/Help/module/FindOpenAL.rst
diff --git a/share/cmake-3.6/Help/module/FindOpenCL.rst b/share/cmake-3.10/Help/module/FindOpenCL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenCL.rst
rename to share/cmake-3.10/Help/module/FindOpenCL.rst
diff --git a/share/cmake-3.6/Help/module/FindOpenGL.rst b/share/cmake-3.10/Help/module/FindOpenGL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenGL.rst
rename to share/cmake-3.10/Help/module/FindOpenGL.rst
diff --git a/share/cmake-3.6/Help/module/FindOpenMP.rst b/share/cmake-3.10/Help/module/FindOpenMP.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenMP.rst
rename to share/cmake-3.10/Help/module/FindOpenMP.rst
diff --git a/share/cmake-3.6/Help/module/FindOpenSSL.rst b/share/cmake-3.10/Help/module/FindOpenSSL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenSSL.rst
rename to share/cmake-3.10/Help/module/FindOpenSSL.rst
diff --git a/share/cmake-3.6/Help/module/FindOpenSceneGraph.rst b/share/cmake-3.10/Help/module/FindOpenSceneGraph.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenSceneGraph.rst
rename to share/cmake-3.10/Help/module/FindOpenSceneGraph.rst
diff --git a/share/cmake-3.6/Help/module/FindOpenThreads.rst b/share/cmake-3.10/Help/module/FindOpenThreads.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindOpenThreads.rst
rename to share/cmake-3.10/Help/module/FindOpenThreads.rst
diff --git a/share/cmake-3.6/Help/module/FindPHP4.rst b/share/cmake-3.10/Help/module/FindPHP4.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPHP4.rst
rename to share/cmake-3.10/Help/module/FindPHP4.rst
diff --git a/share/cmake-3.6/Help/module/FindPNG.rst b/share/cmake-3.10/Help/module/FindPNG.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPNG.rst
rename to share/cmake-3.10/Help/module/FindPNG.rst
diff --git a/share/cmake-3.6/Help/module/FindPackageHandleStandardArgs.rst b/share/cmake-3.10/Help/module/FindPackageHandleStandardArgs.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPackageHandleStandardArgs.rst
rename to share/cmake-3.10/Help/module/FindPackageHandleStandardArgs.rst
diff --git a/share/cmake-3.6/Help/module/FindPackageMessage.rst b/share/cmake-3.10/Help/module/FindPackageMessage.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPackageMessage.rst
rename to share/cmake-3.10/Help/module/FindPackageMessage.rst
diff --git a/share/cmake-3.10/Help/module/FindPatch.rst b/share/cmake-3.10/Help/module/FindPatch.rst
new file mode 100644
index 0000000..ba5e910
--- /dev/null
+++ b/share/cmake-3.10/Help/module/FindPatch.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindPatch.cmake
diff --git a/share/cmake-3.6/Help/module/FindPerl.rst b/share/cmake-3.10/Help/module/FindPerl.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPerl.rst
rename to share/cmake-3.10/Help/module/FindPerl.rst
diff --git a/share/cmake-3.6/Help/module/FindPerlLibs.rst b/share/cmake-3.10/Help/module/FindPerlLibs.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPerlLibs.rst
rename to share/cmake-3.10/Help/module/FindPerlLibs.rst
diff --git a/share/cmake-3.6/Help/module/FindPhysFS.rst b/share/cmake-3.10/Help/module/FindPhysFS.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPhysFS.rst
rename to share/cmake-3.10/Help/module/FindPhysFS.rst
diff --git a/share/cmake-3.6/Help/module/FindPike.rst b/share/cmake-3.10/Help/module/FindPike.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPike.rst
rename to share/cmake-3.10/Help/module/FindPike.rst
diff --git a/share/cmake-3.6/Help/module/FindPkgConfig.rst b/share/cmake-3.10/Help/module/FindPkgConfig.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPkgConfig.rst
rename to share/cmake-3.10/Help/module/FindPkgConfig.rst
diff --git a/share/cmake-3.6/Help/module/FindPostgreSQL.rst b/share/cmake-3.10/Help/module/FindPostgreSQL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPostgreSQL.rst
rename to share/cmake-3.10/Help/module/FindPostgreSQL.rst
diff --git a/share/cmake-3.6/Help/module/FindProducer.rst b/share/cmake-3.10/Help/module/FindProducer.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindProducer.rst
rename to share/cmake-3.10/Help/module/FindProducer.rst
diff --git a/share/cmake-3.6/Help/module/FindProtobuf.rst b/share/cmake-3.10/Help/module/FindProtobuf.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindProtobuf.rst
rename to share/cmake-3.10/Help/module/FindProtobuf.rst
diff --git a/share/cmake-3.6/Help/module/FindPythonInterp.rst b/share/cmake-3.10/Help/module/FindPythonInterp.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPythonInterp.rst
rename to share/cmake-3.10/Help/module/FindPythonInterp.rst
diff --git a/share/cmake-3.6/Help/module/FindPythonLibs.rst b/share/cmake-3.10/Help/module/FindPythonLibs.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindPythonLibs.rst
rename to share/cmake-3.10/Help/module/FindPythonLibs.rst
diff --git a/share/cmake-3.6/Help/module/FindQt.rst b/share/cmake-3.10/Help/module/FindQt.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindQt.rst
rename to share/cmake-3.10/Help/module/FindQt.rst
diff --git a/share/cmake-3.6/Help/module/FindQt3.rst b/share/cmake-3.10/Help/module/FindQt3.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindQt3.rst
rename to share/cmake-3.10/Help/module/FindQt3.rst
diff --git a/share/cmake-3.6/Help/module/FindQt4.rst b/share/cmake-3.10/Help/module/FindQt4.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindQt4.rst
rename to share/cmake-3.10/Help/module/FindQt4.rst
diff --git a/share/cmake-3.6/Help/module/FindQuickTime.rst b/share/cmake-3.10/Help/module/FindQuickTime.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindQuickTime.rst
rename to share/cmake-3.10/Help/module/FindQuickTime.rst
diff --git a/share/cmake-3.6/Help/module/FindRTI.rst b/share/cmake-3.10/Help/module/FindRTI.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindRTI.rst
rename to share/cmake-3.10/Help/module/FindRTI.rst
diff --git a/share/cmake-3.6/Help/module/FindRuby.rst b/share/cmake-3.10/Help/module/FindRuby.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindRuby.rst
rename to share/cmake-3.10/Help/module/FindRuby.rst
diff --git a/share/cmake-3.6/Help/module/FindSDL.rst b/share/cmake-3.10/Help/module/FindSDL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSDL.rst
rename to share/cmake-3.10/Help/module/FindSDL.rst
diff --git a/share/cmake-3.6/Help/module/FindSDL_image.rst b/share/cmake-3.10/Help/module/FindSDL_image.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSDL_image.rst
rename to share/cmake-3.10/Help/module/FindSDL_image.rst
diff --git a/share/cmake-3.6/Help/module/FindSDL_mixer.rst b/share/cmake-3.10/Help/module/FindSDL_mixer.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSDL_mixer.rst
rename to share/cmake-3.10/Help/module/FindSDL_mixer.rst
diff --git a/share/cmake-3.6/Help/module/FindSDL_net.rst b/share/cmake-3.10/Help/module/FindSDL_net.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSDL_net.rst
rename to share/cmake-3.10/Help/module/FindSDL_net.rst
diff --git a/share/cmake-3.6/Help/module/FindSDL_sound.rst b/share/cmake-3.10/Help/module/FindSDL_sound.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSDL_sound.rst
rename to share/cmake-3.10/Help/module/FindSDL_sound.rst
diff --git a/share/cmake-3.6/Help/module/FindSDL_ttf.rst b/share/cmake-3.10/Help/module/FindSDL_ttf.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSDL_ttf.rst
rename to share/cmake-3.10/Help/module/FindSDL_ttf.rst
diff --git a/share/cmake-3.6/Help/module/FindSWIG.rst b/share/cmake-3.10/Help/module/FindSWIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSWIG.rst
rename to share/cmake-3.10/Help/module/FindSWIG.rst
diff --git a/share/cmake-3.6/Help/module/FindSelfPackers.rst b/share/cmake-3.10/Help/module/FindSelfPackers.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSelfPackers.rst
rename to share/cmake-3.10/Help/module/FindSelfPackers.rst
diff --git a/share/cmake-3.6/Help/module/FindSquish.rst b/share/cmake-3.10/Help/module/FindSquish.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSquish.rst
rename to share/cmake-3.10/Help/module/FindSquish.rst
diff --git a/share/cmake-3.6/Help/module/FindSubversion.rst b/share/cmake-3.10/Help/module/FindSubversion.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindSubversion.rst
rename to share/cmake-3.10/Help/module/FindSubversion.rst
diff --git a/share/cmake-3.6/Help/module/FindTCL.rst b/share/cmake-3.10/Help/module/FindTCL.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindTCL.rst
rename to share/cmake-3.10/Help/module/FindTCL.rst
diff --git a/share/cmake-3.6/Help/module/FindTIFF.rst b/share/cmake-3.10/Help/module/FindTIFF.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindTIFF.rst
rename to share/cmake-3.10/Help/module/FindTIFF.rst
diff --git a/share/cmake-3.6/Help/module/FindTclStub.rst b/share/cmake-3.10/Help/module/FindTclStub.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindTclStub.rst
rename to share/cmake-3.10/Help/module/FindTclStub.rst
diff --git a/share/cmake-3.6/Help/module/FindTclsh.rst b/share/cmake-3.10/Help/module/FindTclsh.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindTclsh.rst
rename to share/cmake-3.10/Help/module/FindTclsh.rst
diff --git a/share/cmake-3.6/Help/module/FindThreads.rst b/share/cmake-3.10/Help/module/FindThreads.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindThreads.rst
rename to share/cmake-3.10/Help/module/FindThreads.rst
diff --git a/share/cmake-3.6/Help/module/FindUnixCommands.rst b/share/cmake-3.10/Help/module/FindUnixCommands.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindUnixCommands.rst
rename to share/cmake-3.10/Help/module/FindUnixCommands.rst
diff --git a/share/cmake-3.6/Help/module/FindVTK.rst b/share/cmake-3.10/Help/module/FindVTK.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindVTK.rst
rename to share/cmake-3.10/Help/module/FindVTK.rst
diff --git a/share/cmake-3.10/Help/module/FindVulkan.rst b/share/cmake-3.10/Help/module/FindVulkan.rst
new file mode 100644
index 0000000..adf824e
--- /dev/null
+++ b/share/cmake-3.10/Help/module/FindVulkan.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindVulkan.cmake
diff --git a/share/cmake-3.6/Help/module/FindWget.rst b/share/cmake-3.10/Help/module/FindWget.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindWget.rst
rename to share/cmake-3.10/Help/module/FindWget.rst
diff --git a/share/cmake-3.6/Help/module/FindWish.rst b/share/cmake-3.10/Help/module/FindWish.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindWish.rst
rename to share/cmake-3.10/Help/module/FindWish.rst
diff --git a/share/cmake-3.6/Help/module/FindX11.rst b/share/cmake-3.10/Help/module/FindX11.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindX11.rst
rename to share/cmake-3.10/Help/module/FindX11.rst
diff --git a/share/cmake-3.6/Help/module/FindXCTest.rst b/share/cmake-3.10/Help/module/FindXCTest.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindXCTest.rst
rename to share/cmake-3.10/Help/module/FindXCTest.rst
diff --git a/share/cmake-3.6/Help/module/FindXMLRPC.rst b/share/cmake-3.10/Help/module/FindXMLRPC.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindXMLRPC.rst
rename to share/cmake-3.10/Help/module/FindXMLRPC.rst
diff --git a/share/cmake-3.6/Help/module/FindXalanC.rst b/share/cmake-3.10/Help/module/FindXalanC.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindXalanC.rst
rename to share/cmake-3.10/Help/module/FindXalanC.rst
diff --git a/share/cmake-3.6/Help/module/FindXercesC.rst b/share/cmake-3.10/Help/module/FindXercesC.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindXercesC.rst
rename to share/cmake-3.10/Help/module/FindXercesC.rst
diff --git a/share/cmake-3.6/Help/module/FindZLIB.rst b/share/cmake-3.10/Help/module/FindZLIB.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindZLIB.rst
rename to share/cmake-3.10/Help/module/FindZLIB.rst
diff --git a/share/cmake-3.6/Help/module/Findosg.rst b/share/cmake-3.10/Help/module/Findosg.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/Findosg.rst
rename to share/cmake-3.10/Help/module/Findosg.rst
diff --git a/share/cmake-3.6/Help/module/FindosgAnimation.rst b/share/cmake-3.10/Help/module/FindosgAnimation.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgAnimation.rst
rename to share/cmake-3.10/Help/module/FindosgAnimation.rst
diff --git a/share/cmake-3.6/Help/module/FindosgDB.rst b/share/cmake-3.10/Help/module/FindosgDB.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgDB.rst
rename to share/cmake-3.10/Help/module/FindosgDB.rst
diff --git a/share/cmake-3.6/Help/module/FindosgFX.rst b/share/cmake-3.10/Help/module/FindosgFX.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgFX.rst
rename to share/cmake-3.10/Help/module/FindosgFX.rst
diff --git a/share/cmake-3.6/Help/module/FindosgGA.rst b/share/cmake-3.10/Help/module/FindosgGA.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgGA.rst
rename to share/cmake-3.10/Help/module/FindosgGA.rst
diff --git a/share/cmake-3.6/Help/module/FindosgIntrospection.rst b/share/cmake-3.10/Help/module/FindosgIntrospection.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgIntrospection.rst
rename to share/cmake-3.10/Help/module/FindosgIntrospection.rst
diff --git a/share/cmake-3.6/Help/module/FindosgManipulator.rst b/share/cmake-3.10/Help/module/FindosgManipulator.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgManipulator.rst
rename to share/cmake-3.10/Help/module/FindosgManipulator.rst
diff --git a/share/cmake-3.6/Help/module/FindosgParticle.rst b/share/cmake-3.10/Help/module/FindosgParticle.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgParticle.rst
rename to share/cmake-3.10/Help/module/FindosgParticle.rst
diff --git a/share/cmake-3.6/Help/module/FindosgPresentation.rst b/share/cmake-3.10/Help/module/FindosgPresentation.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgPresentation.rst
rename to share/cmake-3.10/Help/module/FindosgPresentation.rst
diff --git a/share/cmake-3.6/Help/module/FindosgProducer.rst b/share/cmake-3.10/Help/module/FindosgProducer.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgProducer.rst
rename to share/cmake-3.10/Help/module/FindosgProducer.rst
diff --git a/share/cmake-3.6/Help/module/FindosgQt.rst b/share/cmake-3.10/Help/module/FindosgQt.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgQt.rst
rename to share/cmake-3.10/Help/module/FindosgQt.rst
diff --git a/share/cmake-3.6/Help/module/FindosgShadow.rst b/share/cmake-3.10/Help/module/FindosgShadow.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgShadow.rst
rename to share/cmake-3.10/Help/module/FindosgShadow.rst
diff --git a/share/cmake-3.6/Help/module/FindosgSim.rst b/share/cmake-3.10/Help/module/FindosgSim.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgSim.rst
rename to share/cmake-3.10/Help/module/FindosgSim.rst
diff --git a/share/cmake-3.6/Help/module/FindosgTerrain.rst b/share/cmake-3.10/Help/module/FindosgTerrain.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgTerrain.rst
rename to share/cmake-3.10/Help/module/FindosgTerrain.rst
diff --git a/share/cmake-3.6/Help/module/FindosgText.rst b/share/cmake-3.10/Help/module/FindosgText.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgText.rst
rename to share/cmake-3.10/Help/module/FindosgText.rst
diff --git a/share/cmake-3.6/Help/module/FindosgUtil.rst b/share/cmake-3.10/Help/module/FindosgUtil.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgUtil.rst
rename to share/cmake-3.10/Help/module/FindosgUtil.rst
diff --git a/share/cmake-3.6/Help/module/FindosgViewer.rst b/share/cmake-3.10/Help/module/FindosgViewer.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgViewer.rst
rename to share/cmake-3.10/Help/module/FindosgViewer.rst
diff --git a/share/cmake-3.6/Help/module/FindosgVolume.rst b/share/cmake-3.10/Help/module/FindosgVolume.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgVolume.rst
rename to share/cmake-3.10/Help/module/FindosgVolume.rst
diff --git a/share/cmake-3.6/Help/module/FindosgWidget.rst b/share/cmake-3.10/Help/module/FindosgWidget.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindosgWidget.rst
rename to share/cmake-3.10/Help/module/FindosgWidget.rst
diff --git a/share/cmake-3.6/Help/module/Findosg_functions.rst b/share/cmake-3.10/Help/module/Findosg_functions.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/Findosg_functions.rst
rename to share/cmake-3.10/Help/module/Findosg_functions.rst
diff --git a/share/cmake-3.6/Help/module/FindwxWidgets.rst b/share/cmake-3.10/Help/module/FindwxWidgets.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindwxWidgets.rst
rename to share/cmake-3.10/Help/module/FindwxWidgets.rst
diff --git a/share/cmake-3.6/Help/module/FindwxWindows.rst b/share/cmake-3.10/Help/module/FindwxWindows.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FindwxWindows.rst
rename to share/cmake-3.10/Help/module/FindwxWindows.rst
diff --git a/share/cmake-3.6/Help/module/FortranCInterface.rst b/share/cmake-3.10/Help/module/FortranCInterface.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/FortranCInterface.rst
rename to share/cmake-3.10/Help/module/FortranCInterface.rst
diff --git a/share/cmake-3.6/Help/module/GNUInstallDirs.rst b/share/cmake-3.10/Help/module/GNUInstallDirs.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/GNUInstallDirs.rst
rename to share/cmake-3.10/Help/module/GNUInstallDirs.rst
diff --git a/share/cmake-3.6/Help/module/GenerateExportHeader.rst b/share/cmake-3.10/Help/module/GenerateExportHeader.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/GenerateExportHeader.rst
rename to share/cmake-3.10/Help/module/GenerateExportHeader.rst
diff --git a/share/cmake-3.6/Help/module/GetPrerequisites.rst b/share/cmake-3.10/Help/module/GetPrerequisites.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/GetPrerequisites.rst
rename to share/cmake-3.10/Help/module/GetPrerequisites.rst
diff --git a/share/cmake-3.10/Help/module/GoogleTest.rst b/share/cmake-3.10/Help/module/GoogleTest.rst
new file mode 100644
index 0000000..3d4cc97
--- /dev/null
+++ b/share/cmake-3.10/Help/module/GoogleTest.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/GoogleTest.cmake
diff --git a/share/cmake-3.6/Help/module/InstallRequiredSystemLibraries.rst b/share/cmake-3.10/Help/module/InstallRequiredSystemLibraries.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/InstallRequiredSystemLibraries.rst
rename to share/cmake-3.10/Help/module/InstallRequiredSystemLibraries.rst
diff --git a/share/cmake-3.6/Help/module/MacroAddFileDependencies.rst b/share/cmake-3.10/Help/module/MacroAddFileDependencies.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/MacroAddFileDependencies.rst
rename to share/cmake-3.10/Help/module/MacroAddFileDependencies.rst
diff --git a/share/cmake-3.6/Help/module/ProcessorCount.rst b/share/cmake-3.10/Help/module/ProcessorCount.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/ProcessorCount.rst
rename to share/cmake-3.10/Help/module/ProcessorCount.rst
diff --git a/share/cmake-3.6/Help/module/SelectLibraryConfigurations.rst b/share/cmake-3.10/Help/module/SelectLibraryConfigurations.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/SelectLibraryConfigurations.rst
rename to share/cmake-3.10/Help/module/SelectLibraryConfigurations.rst
diff --git a/share/cmake-3.6/Help/module/SquishTestScript.rst b/share/cmake-3.10/Help/module/SquishTestScript.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/SquishTestScript.rst
rename to share/cmake-3.10/Help/module/SquishTestScript.rst
diff --git a/share/cmake-3.6/Help/module/TestBigEndian.rst b/share/cmake-3.10/Help/module/TestBigEndian.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/TestBigEndian.rst
rename to share/cmake-3.10/Help/module/TestBigEndian.rst
diff --git a/share/cmake-3.6/Help/module/TestCXXAcceptsFlag.rst b/share/cmake-3.10/Help/module/TestCXXAcceptsFlag.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/TestCXXAcceptsFlag.rst
rename to share/cmake-3.10/Help/module/TestCXXAcceptsFlag.rst
diff --git a/share/cmake-3.6/Help/module/TestForANSIForScope.rst b/share/cmake-3.10/Help/module/TestForANSIForScope.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/TestForANSIForScope.rst
rename to share/cmake-3.10/Help/module/TestForANSIForScope.rst
diff --git a/share/cmake-3.6/Help/module/TestForANSIStreamHeaders.rst b/share/cmake-3.10/Help/module/TestForANSIStreamHeaders.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/TestForANSIStreamHeaders.rst
rename to share/cmake-3.10/Help/module/TestForANSIStreamHeaders.rst
diff --git a/share/cmake-3.6/Help/module/TestForSSTREAM.rst b/share/cmake-3.10/Help/module/TestForSSTREAM.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/TestForSSTREAM.rst
rename to share/cmake-3.10/Help/module/TestForSSTREAM.rst
diff --git a/share/cmake-3.6/Help/module/TestForSTDNamespace.rst b/share/cmake-3.10/Help/module/TestForSTDNamespace.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/TestForSTDNamespace.rst
rename to share/cmake-3.10/Help/module/TestForSTDNamespace.rst
diff --git a/share/cmake-3.6/Help/module/UseEcos.rst b/share/cmake-3.10/Help/module/UseEcos.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UseEcos.rst
rename to share/cmake-3.10/Help/module/UseEcos.rst
diff --git a/share/cmake-3.6/Help/module/UseJava.rst b/share/cmake-3.10/Help/module/UseJava.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UseJava.rst
rename to share/cmake-3.10/Help/module/UseJava.rst
diff --git a/share/cmake-3.6/Help/module/UseJavaClassFilelist.rst b/share/cmake-3.10/Help/module/UseJavaClassFilelist.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UseJavaClassFilelist.rst
rename to share/cmake-3.10/Help/module/UseJavaClassFilelist.rst
diff --git a/share/cmake-3.6/Help/module/UseJavaSymlinks.rst b/share/cmake-3.10/Help/module/UseJavaSymlinks.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UseJavaSymlinks.rst
rename to share/cmake-3.10/Help/module/UseJavaSymlinks.rst
diff --git a/share/cmake-3.6/Help/module/UsePkgConfig.rst b/share/cmake-3.10/Help/module/UsePkgConfig.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UsePkgConfig.rst
rename to share/cmake-3.10/Help/module/UsePkgConfig.rst
diff --git a/share/cmake-3.6/Help/module/UseSWIG.rst b/share/cmake-3.10/Help/module/UseSWIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UseSWIG.rst
rename to share/cmake-3.10/Help/module/UseSWIG.rst
diff --git a/share/cmake-3.6/Help/module/Use_wxWindows.rst b/share/cmake-3.10/Help/module/Use_wxWindows.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/Use_wxWindows.rst
rename to share/cmake-3.10/Help/module/Use_wxWindows.rst
diff --git a/share/cmake-3.6/Help/module/UsewxWidgets.rst b/share/cmake-3.10/Help/module/UsewxWidgets.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/UsewxWidgets.rst
rename to share/cmake-3.10/Help/module/UsewxWidgets.rst
diff --git a/share/cmake-3.6/Help/module/WriteBasicConfigVersionFile.rst b/share/cmake-3.10/Help/module/WriteBasicConfigVersionFile.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/WriteBasicConfigVersionFile.rst
rename to share/cmake-3.10/Help/module/WriteBasicConfigVersionFile.rst
diff --git a/share/cmake-3.6/Help/module/WriteCompilerDetectionHeader.rst b/share/cmake-3.10/Help/module/WriteCompilerDetectionHeader.rst
similarity index 100%
rename from share/cmake-3.6/Help/module/WriteCompilerDetectionHeader.rst
rename to share/cmake-3.10/Help/module/WriteCompilerDetectionHeader.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0000.rst b/share/cmake-3.10/Help/policy/CMP0000.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0000.rst
rename to share/cmake-3.10/Help/policy/CMP0000.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0001.rst b/share/cmake-3.10/Help/policy/CMP0001.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0001.rst
rename to share/cmake-3.10/Help/policy/CMP0001.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0002.rst b/share/cmake-3.10/Help/policy/CMP0002.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0002.rst
rename to share/cmake-3.10/Help/policy/CMP0002.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0003.rst b/share/cmake-3.10/Help/policy/CMP0003.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0003.rst
rename to share/cmake-3.10/Help/policy/CMP0003.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0004.rst b/share/cmake-3.10/Help/policy/CMP0004.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0004.rst
rename to share/cmake-3.10/Help/policy/CMP0004.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0005.rst b/share/cmake-3.10/Help/policy/CMP0005.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0005.rst
rename to share/cmake-3.10/Help/policy/CMP0005.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0006.rst b/share/cmake-3.10/Help/policy/CMP0006.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0006.rst
rename to share/cmake-3.10/Help/policy/CMP0006.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0007.rst b/share/cmake-3.10/Help/policy/CMP0007.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0007.rst
rename to share/cmake-3.10/Help/policy/CMP0007.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0008.rst b/share/cmake-3.10/Help/policy/CMP0008.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0008.rst
rename to share/cmake-3.10/Help/policy/CMP0008.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0009.rst b/share/cmake-3.10/Help/policy/CMP0009.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0009.rst
rename to share/cmake-3.10/Help/policy/CMP0009.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0010.rst b/share/cmake-3.10/Help/policy/CMP0010.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0010.rst
rename to share/cmake-3.10/Help/policy/CMP0010.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0011.rst b/share/cmake-3.10/Help/policy/CMP0011.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0011.rst
rename to share/cmake-3.10/Help/policy/CMP0011.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0012.rst b/share/cmake-3.10/Help/policy/CMP0012.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0012.rst
rename to share/cmake-3.10/Help/policy/CMP0012.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0013.rst b/share/cmake-3.10/Help/policy/CMP0013.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0013.rst
rename to share/cmake-3.10/Help/policy/CMP0013.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0014.rst b/share/cmake-3.10/Help/policy/CMP0014.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0014.rst
rename to share/cmake-3.10/Help/policy/CMP0014.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0015.rst b/share/cmake-3.10/Help/policy/CMP0015.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0015.rst
rename to share/cmake-3.10/Help/policy/CMP0015.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0016.rst b/share/cmake-3.10/Help/policy/CMP0016.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0016.rst
rename to share/cmake-3.10/Help/policy/CMP0016.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0017.rst b/share/cmake-3.10/Help/policy/CMP0017.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0017.rst
rename to share/cmake-3.10/Help/policy/CMP0017.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0018.rst b/share/cmake-3.10/Help/policy/CMP0018.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0018.rst
rename to share/cmake-3.10/Help/policy/CMP0018.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0019.rst b/share/cmake-3.10/Help/policy/CMP0019.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0019.rst
rename to share/cmake-3.10/Help/policy/CMP0019.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0020.rst b/share/cmake-3.10/Help/policy/CMP0020.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0020.rst
rename to share/cmake-3.10/Help/policy/CMP0020.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0021.rst b/share/cmake-3.10/Help/policy/CMP0021.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0021.rst
rename to share/cmake-3.10/Help/policy/CMP0021.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0022.rst b/share/cmake-3.10/Help/policy/CMP0022.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0022.rst
rename to share/cmake-3.10/Help/policy/CMP0022.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0023.rst b/share/cmake-3.10/Help/policy/CMP0023.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0023.rst
rename to share/cmake-3.10/Help/policy/CMP0023.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0024.rst b/share/cmake-3.10/Help/policy/CMP0024.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0024.rst
rename to share/cmake-3.10/Help/policy/CMP0024.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0025.rst b/share/cmake-3.10/Help/policy/CMP0025.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0025.rst
rename to share/cmake-3.10/Help/policy/CMP0025.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0026.rst b/share/cmake-3.10/Help/policy/CMP0026.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0026.rst
rename to share/cmake-3.10/Help/policy/CMP0026.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0027.rst b/share/cmake-3.10/Help/policy/CMP0027.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0027.rst
rename to share/cmake-3.10/Help/policy/CMP0027.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0028.rst b/share/cmake-3.10/Help/policy/CMP0028.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0028.rst
rename to share/cmake-3.10/Help/policy/CMP0028.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0029.rst b/share/cmake-3.10/Help/policy/CMP0029.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0029.rst
rename to share/cmake-3.10/Help/policy/CMP0029.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0030.rst b/share/cmake-3.10/Help/policy/CMP0030.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0030.rst
rename to share/cmake-3.10/Help/policy/CMP0030.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0031.rst b/share/cmake-3.10/Help/policy/CMP0031.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0031.rst
rename to share/cmake-3.10/Help/policy/CMP0031.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0032.rst b/share/cmake-3.10/Help/policy/CMP0032.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0032.rst
rename to share/cmake-3.10/Help/policy/CMP0032.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0033.rst b/share/cmake-3.10/Help/policy/CMP0033.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0033.rst
rename to share/cmake-3.10/Help/policy/CMP0033.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0034.rst b/share/cmake-3.10/Help/policy/CMP0034.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0034.rst
rename to share/cmake-3.10/Help/policy/CMP0034.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0035.rst b/share/cmake-3.10/Help/policy/CMP0035.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0035.rst
rename to share/cmake-3.10/Help/policy/CMP0035.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0036.rst b/share/cmake-3.10/Help/policy/CMP0036.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0036.rst
rename to share/cmake-3.10/Help/policy/CMP0036.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0037.rst b/share/cmake-3.10/Help/policy/CMP0037.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0037.rst
rename to share/cmake-3.10/Help/policy/CMP0037.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0038.rst b/share/cmake-3.10/Help/policy/CMP0038.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0038.rst
rename to share/cmake-3.10/Help/policy/CMP0038.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0039.rst b/share/cmake-3.10/Help/policy/CMP0039.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0039.rst
rename to share/cmake-3.10/Help/policy/CMP0039.rst
diff --git a/share/cmake-3.10/Help/policy/CMP0040.rst b/share/cmake-3.10/Help/policy/CMP0040.rst
new file mode 100644
index 0000000..0afe589
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0040.rst
@@ -0,0 +1,21 @@
+CMP0040
+-------
+
+The target in the ``TARGET`` signature of :command:`add_custom_command`
+must exist and must be defined in the current directory.
+
+CMake 2.8.12 and lower silently ignored a custom command created with
+the ``TARGET`` signature of :command:`add_custom_command`
+if the target is unknown or was defined outside the current directory.
+
+The ``OLD`` behavior for this policy is to ignore custom commands
+for unknown targets.  The ``NEW`` behavior for this policy is to report
+an error if the target referenced in :command:`add_custom_command` is
+unknown or was defined outside the current directory.
+
+This policy was introduced in CMake version 3.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.6/Help/policy/CMP0041.rst b/share/cmake-3.10/Help/policy/CMP0041.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0041.rst
rename to share/cmake-3.10/Help/policy/CMP0041.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0042.rst b/share/cmake-3.10/Help/policy/CMP0042.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0042.rst
rename to share/cmake-3.10/Help/policy/CMP0042.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0043.rst b/share/cmake-3.10/Help/policy/CMP0043.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0043.rst
rename to share/cmake-3.10/Help/policy/CMP0043.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0044.rst b/share/cmake-3.10/Help/policy/CMP0044.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0044.rst
rename to share/cmake-3.10/Help/policy/CMP0044.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0045.rst b/share/cmake-3.10/Help/policy/CMP0045.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0045.rst
rename to share/cmake-3.10/Help/policy/CMP0045.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0046.rst b/share/cmake-3.10/Help/policy/CMP0046.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0046.rst
rename to share/cmake-3.10/Help/policy/CMP0046.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0047.rst b/share/cmake-3.10/Help/policy/CMP0047.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0047.rst
rename to share/cmake-3.10/Help/policy/CMP0047.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0048.rst b/share/cmake-3.10/Help/policy/CMP0048.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0048.rst
rename to share/cmake-3.10/Help/policy/CMP0048.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0049.rst b/share/cmake-3.10/Help/policy/CMP0049.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0049.rst
rename to share/cmake-3.10/Help/policy/CMP0049.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0050.rst b/share/cmake-3.10/Help/policy/CMP0050.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0050.rst
rename to share/cmake-3.10/Help/policy/CMP0050.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0051.rst b/share/cmake-3.10/Help/policy/CMP0051.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0051.rst
rename to share/cmake-3.10/Help/policy/CMP0051.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0052.rst b/share/cmake-3.10/Help/policy/CMP0052.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0052.rst
rename to share/cmake-3.10/Help/policy/CMP0052.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0053.rst b/share/cmake-3.10/Help/policy/CMP0053.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0053.rst
rename to share/cmake-3.10/Help/policy/CMP0053.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0054.rst b/share/cmake-3.10/Help/policy/CMP0054.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0054.rst
rename to share/cmake-3.10/Help/policy/CMP0054.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0055.rst b/share/cmake-3.10/Help/policy/CMP0055.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0055.rst
rename to share/cmake-3.10/Help/policy/CMP0055.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0056.rst b/share/cmake-3.10/Help/policy/CMP0056.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0056.rst
rename to share/cmake-3.10/Help/policy/CMP0056.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0057.rst b/share/cmake-3.10/Help/policy/CMP0057.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0057.rst
rename to share/cmake-3.10/Help/policy/CMP0057.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0058.rst b/share/cmake-3.10/Help/policy/CMP0058.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0058.rst
rename to share/cmake-3.10/Help/policy/CMP0058.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0059.rst b/share/cmake-3.10/Help/policy/CMP0059.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0059.rst
rename to share/cmake-3.10/Help/policy/CMP0059.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0060.rst b/share/cmake-3.10/Help/policy/CMP0060.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0060.rst
rename to share/cmake-3.10/Help/policy/CMP0060.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0061.rst b/share/cmake-3.10/Help/policy/CMP0061.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0061.rst
rename to share/cmake-3.10/Help/policy/CMP0061.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0062.rst b/share/cmake-3.10/Help/policy/CMP0062.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0062.rst
rename to share/cmake-3.10/Help/policy/CMP0062.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0063.rst b/share/cmake-3.10/Help/policy/CMP0063.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0063.rst
rename to share/cmake-3.10/Help/policy/CMP0063.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0064.rst b/share/cmake-3.10/Help/policy/CMP0064.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0064.rst
rename to share/cmake-3.10/Help/policy/CMP0064.rst
diff --git a/share/cmake-3.6/Help/policy/CMP0065.rst b/share/cmake-3.10/Help/policy/CMP0065.rst
similarity index 100%
rename from share/cmake-3.6/Help/policy/CMP0065.rst
rename to share/cmake-3.10/Help/policy/CMP0065.rst
diff --git a/share/cmake-3.10/Help/policy/CMP0066.rst b/share/cmake-3.10/Help/policy/CMP0066.rst
new file mode 100644
index 0000000..d1dcb0e
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0066.rst
@@ -0,0 +1,27 @@
+CMP0066
+-------
+
+Honor per-config flags in :command:`try_compile` source-file signature.
+
+The source file signature of the :command:`try_compile` command uses the value
+of the :variable:`CMAKE_<LANG>_FLAGS` variable in the test project so that the
+test compilation works as it would in the main project.  However, CMake 3.6 and
+below do not also honor config-specific compiler flags such as those in the
+:variable:`CMAKE_<LANG>_FLAGS_DEBUG` variable.  CMake 3.7 and above prefer to
+honor config-specific compiler flags too.  This policy provides compatibility
+for projects that do not expect config-specific compiler flags to be used.
+
+The ``OLD`` behavior of this policy is to ignore config-specific flag
+variables like :variable:`CMAKE_<LANG>_FLAGS_DEBUG` and only use CMake's
+built-in defaults for the current compiler and platform.
+
+The ``NEW`` behavior of this policy is to honor config-specific flag
+variabldes like :variable:`CMAKE_<LANG>_FLAGS_DEBUG`.
+
+This policy was introduced in CMake version 3.7.  Unlike most policies,
+CMake version |release| does *not* warn by default when this policy
+is not set and simply uses OLD behavior.  See documentation of the
+:variable:`CMAKE_POLICY_WARNING_CMP0066 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
+variable to control the warning.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.10/Help/policy/CMP0067.rst b/share/cmake-3.10/Help/policy/CMP0067.rst
new file mode 100644
index 0000000..e6dda80
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0067.rst
@@ -0,0 +1,37 @@
+CMP0067
+-------
+
+Honor language standard in :command:`try_compile` source-file signature.
+
+The :command:`try_compile` source file signature is intended to allow
+callers to check whether they will be able to compile a given source file
+with the current toolchain.  In order to match compiler behavior, any
+language standard mode should match.  However, CMake 3.7 and below did not
+do this.  CMake 3.8 and above prefer to honor the language standard settings
+for ``C``, ``CXX`` (C++), and ``CUDA`` using the values of the variables:
+
+* :variable:`CMAKE_C_STANDARD`
+* :variable:`CMAKE_C_STANDARD_REQUIRED`
+* :variable:`CMAKE_C_EXTENSIONS`
+* :variable:`CMAKE_CXX_STANDARD`
+* :variable:`CMAKE_CXX_STANDARD_REQUIRED`
+* :variable:`CMAKE_CXX_EXTENSIONS`
+* :variable:`CMAKE_CUDA_STANDARD`
+* :variable:`CMAKE_CUDA_STANDARD_REQUIRED`
+* :variable:`CMAKE_CUDA_EXTENSIONS`
+
+This policy provides compatibility for projects that do not expect
+the language standard settings to be used automatically.
+
+The ``OLD`` behavior of this policy is to ignore language standard
+setting variables when generating the ``try_compile`` test project.
+The ``NEW`` behavior of this policy is to honor language standard
+setting variables.
+
+This policy was introduced in CMake version 3.8.  Unlike most policies,
+CMake version |release| does *not* warn by default when this policy
+is not set and simply uses OLD behavior.  See documentation of the
+:variable:`CMAKE_POLICY_WARNING_CMP0067 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
+variable to control the warning.
+
+.. include:: DEPRECATED.txt
diff --git a/share/cmake-3.10/Help/policy/CMP0068.rst b/share/cmake-3.10/Help/policy/CMP0068.rst
new file mode 100644
index 0000000..978a6e3
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0068.rst
@@ -0,0 +1,35 @@
+CMP0068
+-------
+
+``RPATH`` settings on macOS do not affect ``install_name``.
+
+CMake 3.9 and newer remove any effect the following settings may have on the
+``install_name`` of a target on macOS:
+
+* :prop_tgt:`BUILD_WITH_INSTALL_RPATH` target property
+* :prop_tgt:`SKIP_BUILD_RPATH` target property
+* :variable:`CMAKE_SKIP_RPATH` variable
+* :variable:`CMAKE_SKIP_INSTALL_RPATH` variable
+
+Previously, setting :prop_tgt:`BUILD_WITH_INSTALL_RPATH` had the effect of
+setting both the ``install_name`` of a target to :prop_tgt:`INSTALL_NAME_DIR`
+and the ``RPATH`` to :prop_tgt:`INSTALL_RPATH`.  In CMake 3.9, it only affects
+setting of ``RPATH``.  However, if one wants :prop_tgt:`INSTALL_NAME_DIR` to
+apply to the target in the build tree, one may set
+:prop_tgt:`BUILD_WITH_INSTALL_NAME_DIR`.
+
+If :prop_tgt:`SKIP_BUILD_RPATH`, :variable:`CMAKE_SKIP_RPATH` or
+:variable:`CMAKE_SKIP_INSTALL_RPATH` were used to strip the directory portion
+of the ``install_name`` of a target, one may set ``INSTALL_NAME_DIR=""``
+instead.
+
+The ``OLD`` behavior of this policy is to use the ``RPATH`` settings for
+``install_name`` on macOS.  The ``NEW`` behavior of this policy is to ignore
+the ``RPATH`` settings for ``install_name`` on macOS.
+
+This policy was introduced in CMake version 3.9.  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.10/Help/policy/CMP0069.rst b/share/cmake-3.10/Help/policy/CMP0069.rst
new file mode 100644
index 0000000..0d5ddfd
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0069.rst
@@ -0,0 +1,92 @@
+CMP0069
+-------
+
+:prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` is enforced when enabled.
+
+CMake 3.9 and newer prefer to add IPO flags whenever the
+:prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property is enabled and
+produce an error if flags are not known to CMake for the current compiler.
+Since a given compiler may not support IPO flags in all environments in which
+it is used, it is now the project's responsibility to use the
+:module:`CheckIPOSupported` module to check for support before enabling the
+:prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property.  This approach
+allows a project to conditionally activate IPO when supported.  It also
+allows an end user to set the :variable:`CMAKE_INTERPROCEDURAL_OPTIMIZATION`
+variable in an environment known to support IPO even if the project does
+not enable the property.
+
+Since CMake 3.8 and lower only honored :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION`
+for the Intel compiler on Linux, some projects may unconditionally enable the
+target property.  Policy ``CMP0069`` provides compatibility with such projects.
+
+This policy takes effect whenever the IPO property is enabled.  The ``OLD``
+behavior for this policy is to add IPO flags only for Intel compiler on Linux.
+The ``NEW`` behavior for this policy is to add IPO flags for the current
+compiler or produce an error if CMake does not know the flags.
+
+This policy was introduced in CMake version 3.9.  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
+
+Examples
+^^^^^^^^
+
+Behave like CMake 3.8 and do not apply any IPO flags except for Intel compiler
+on Linux:
+
+.. code-block:: cmake
+
+  cmake_minimum_required(VERSION 3.8)
+  project(foo)
+
+  # ...
+
+  set_property(TARGET ... PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
+
+Use the :module:`CheckIPOSupported` module to detect whether IPO is
+supported by the current compiler, environment, and CMake version.
+Produce a fatal error if support is not available:
+
+.. code-block:: cmake
+
+  cmake_minimum_required(VERSION 3.9) # CMP0069 NEW
+  project(foo)
+
+  include(CheckIPOSupported)
+  check_ipo_supported()
+
+  # ...
+
+  set_property(TARGET ... PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
+
+Apply IPO flags only if compiler supports it:
+
+.. code-block:: cmake
+
+  cmake_minimum_required(VERSION 3.9) # CMP0069 NEW
+  project(foo)
+
+  include(CheckIPOSupported)
+
+  # ...
+
+  check_ipo_supported(RESULT result)
+  if(result)
+    set_property(TARGET ... PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
+  endif()
+
+Apply IPO flags without any checks.  This may lead to build errors if IPO
+is not supported by the compiler in the current environment.  Produce an
+error if CMake does not know IPO flags for the current compiler:
+
+.. code-block:: cmake
+
+  cmake_minimum_required(VERSION 3.9) # CMP0069 NEW
+  project(foo)
+
+  # ...
+
+  set_property(TARGET ... PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
diff --git a/share/cmake-3.10/Help/policy/CMP0070.rst b/share/cmake-3.10/Help/policy/CMP0070.rst
new file mode 100644
index 0000000..0fb3617
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0070.rst
@@ -0,0 +1,25 @@
+CMP0070
+-------
+
+Define :command:`file(GENERATE)` behavior for relative paths.
+
+CMake 3.10 and newer define that relative paths given to ``INPUT`` and
+``OUTPUT`` arguments of ``file(GENERATE)`` are interpreted relative to the
+current source and binary directories, respectively.  CMake 3.9 and lower did
+not define any behavior for relative paths but did not diagnose them either
+and accidentally treated them relative to the process working directory.
+Policy ``CMP0070`` provides compatibility with projects that used the old
+undefined behavior.
+
+This policy affects behavior of relative paths given to ``file(GENERATE)``.
+The ``OLD`` behavior for this policy is to treat the paths relative to the
+working directory of CMake.  The ``NEW`` behavior for this policy is to
+interpret relative paths with respect to the current source or binary
+directory of the caller.
+
+This policy was introduced in CMake version 3.10.  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.10/Help/policy/CMP0071.rst b/share/cmake-3.10/Help/policy/CMP0071.rst
new file mode 100644
index 0000000..ee33aa1
--- /dev/null
+++ b/share/cmake-3.10/Help/policy/CMP0071.rst
@@ -0,0 +1,42 @@
+CMP0071
+-------
+
+Let :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` process
+:prop_sf:`GENERATED` files.
+
+Since version 3.10, CMake processes **regular** and :prop_sf:`GENERATED`
+source files in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+In earlier CMake versions, only **regular** source files were processed.
+:prop_sf:`GENERATED` source files were ignored silently.
+
+This policy affects how source files that are :prop_sf:`GENERATED`
+get treated in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+
+The ``OLD`` behavior for this policy is to ignore :prop_sf:`GENERATED`
+source files in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
+
+The ``NEW`` behavior for this policy is to process :prop_sf:`GENERATED`
+source files in :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` just like regular
+source files.
+
+.. note::
+
+  To silence the CMP0071 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`.
+
+Source skip example::
+
+  # ...
+  set_property(SOURCE /path/to/file1.h PROPERTY SKIP_AUTOMOC ON)
+  set_property(SOURCE /path/to/file2.h PROPERTY SKIP_AUTOUIC ON)
+  set_property(SOURCE /path/to/file3.h PROPERTY SKIP_AUTOGEN ON)
+  # ...
+
+This policy was introduced in CMake version 3.10.  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.6/Help/policy/DEPRECATED.txt b/share/cmake-3.10/Help/policy/DEPRECATED.txt
similarity index 100%
rename from share/cmake-3.6/Help/policy/DEPRECATED.txt
rename to share/cmake-3.10/Help/policy/DEPRECATED.txt
diff --git a/share/cmake-3.6/Help/policy/DISALLOWED_COMMAND.txt b/share/cmake-3.10/Help/policy/DISALLOWED_COMMAND.txt
similarity index 100%
rename from share/cmake-3.6/Help/policy/DISALLOWED_COMMAND.txt
rename to share/cmake-3.10/Help/policy/DISALLOWED_COMMAND.txt
diff --git a/share/cmake-3.6/Help/prop_cache/ADVANCED.rst b/share/cmake-3.10/Help/prop_cache/ADVANCED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_cache/ADVANCED.rst
rename to share/cmake-3.10/Help/prop_cache/ADVANCED.rst
diff --git a/share/cmake-3.6/Help/prop_cache/HELPSTRING.rst b/share/cmake-3.10/Help/prop_cache/HELPSTRING.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_cache/HELPSTRING.rst
rename to share/cmake-3.10/Help/prop_cache/HELPSTRING.rst
diff --git a/share/cmake-3.6/Help/prop_cache/MODIFIED.rst b/share/cmake-3.10/Help/prop_cache/MODIFIED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_cache/MODIFIED.rst
rename to share/cmake-3.10/Help/prop_cache/MODIFIED.rst
diff --git a/share/cmake-3.6/Help/prop_cache/STRINGS.rst b/share/cmake-3.10/Help/prop_cache/STRINGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_cache/STRINGS.rst
rename to share/cmake-3.10/Help/prop_cache/STRINGS.rst
diff --git a/share/cmake-3.6/Help/prop_cache/TYPE.rst b/share/cmake-3.10/Help/prop_cache/TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_cache/TYPE.rst
rename to share/cmake-3.10/Help/prop_cache/TYPE.rst
diff --git a/share/cmake-3.6/Help/prop_cache/VALUE.rst b/share/cmake-3.10/Help/prop_cache/VALUE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_cache/VALUE.rst
rename to share/cmake-3.10/Help/prop_cache/VALUE.rst
diff --git a/share/cmake-3.6/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst b/share/cmake-3.10/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
rename to share/cmake-3.10/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
diff --git a/share/cmake-3.10/Help/prop_dir/BINARY_DIR.rst b/share/cmake-3.10/Help/prop_dir/BINARY_DIR.rst
new file mode 100644
index 0000000..597c79a
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/BINARY_DIR.rst
@@ -0,0 +1,5 @@
+BINARY_DIR
+----------
+
+This read-only directory property reports absolute path to the binary
+directory corresponding to the source on which it is read.
diff --git a/share/cmake-3.10/Help/prop_dir/BUILDSYSTEM_TARGETS.rst b/share/cmake-3.10/Help/prop_dir/BUILDSYSTEM_TARGETS.rst
new file mode 100644
index 0000000..da907cb
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/BUILDSYSTEM_TARGETS.rst
@@ -0,0 +1,11 @@
+BUILDSYSTEM_TARGETS
+-------------------
+
+This read-only directory property contains a
+:ref:`;-list <CMake Language Lists>` of buildsystem targets added in the
+directory by calls to the :command:`add_library`, :command:`add_executable`,
+and :command:`add_custom_target` commands.  The list does not include any
+:ref:`Imported Targets` or :ref:`Alias Targets`, but does include
+:ref:`Interface Libraries`.  Each entry in the list is the logical name
+of a target, suitable to pass to the :command:`get_property` command
+``TARGET`` option.
diff --git a/share/cmake-3.6/Help/prop_dir/CACHE_VARIABLES.rst b/share/cmake-3.10/Help/prop_dir/CACHE_VARIABLES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/CACHE_VARIABLES.rst
rename to share/cmake-3.10/Help/prop_dir/CACHE_VARIABLES.rst
diff --git a/share/cmake-3.6/Help/prop_dir/CLEAN_NO_CUSTOM.rst b/share/cmake-3.10/Help/prop_dir/CLEAN_NO_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/CLEAN_NO_CUSTOM.rst
rename to share/cmake-3.10/Help/prop_dir/CLEAN_NO_CUSTOM.rst
diff --git a/share/cmake-3.6/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst b/share/cmake-3.10/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
rename to share/cmake-3.10/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
diff --git a/share/cmake-3.6/Help/prop_dir/COMPILE_DEFINITIONS.rst b/share/cmake-3.10/Help/prop_dir/COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/COMPILE_DEFINITIONS.rst
rename to share/cmake-3.10/Help/prop_dir/COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.6/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst b/share/cmake-3.10/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
rename to share/cmake-3.10/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_dir/COMPILE_OPTIONS.rst b/share/cmake-3.10/Help/prop_dir/COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/COMPILE_OPTIONS.rst
rename to share/cmake-3.10/Help/prop_dir/COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/prop_dir/DEFINITIONS.rst b/share/cmake-3.10/Help/prop_dir/DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/DEFINITIONS.rst
rename to share/cmake-3.10/Help/prop_dir/DEFINITIONS.rst
diff --git a/share/cmake-3.6/Help/prop_dir/EXCLUDE_FROM_ALL.rst b/share/cmake-3.10/Help/prop_dir/EXCLUDE_FROM_ALL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/EXCLUDE_FROM_ALL.rst
rename to share/cmake-3.10/Help/prop_dir/EXCLUDE_FROM_ALL.rst
diff --git a/share/cmake-3.6/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst b/share/cmake-3.10/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
rename to share/cmake-3.10/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
diff --git a/share/cmake-3.6/Help/prop_dir/INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_dir/INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_dir/INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst b/share/cmake-3.10/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
rename to share/cmake-3.10/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.6/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.10/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
rename to share/cmake-3.10/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
diff --git a/share/cmake-3.6/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.10/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
rename to share/cmake-3.10/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
diff --git a/share/cmake-3.10/Help/prop_dir/LABELS.rst b/share/cmake-3.10/Help/prop_dir/LABELS.rst
new file mode 100644
index 0000000..de27d90
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/LABELS.rst
@@ -0,0 +1,13 @@
+LABELS
+------
+
+Specify a list of text labels associated with a directory and all of its
+subdirectories. This is equivalent to setting the :prop_tgt:`LABELS` target
+property and the :prop_test:`LABELS` test property on all targets and tests in
+the current directory and subdirectories. Note: Launchers must enabled to
+propagate labels to targets.
+
+The :variable:`CMAKE_DIRECTORY_LABELS` variable can be used to initialize this
+property.
+
+The list is reported in dashboard submissions.
diff --git a/share/cmake-3.6/Help/prop_dir/LINK_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_dir/LINK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/LINK_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_dir/LINK_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/prop_dir/LISTFILE_STACK.rst b/share/cmake-3.10/Help/prop_dir/LISTFILE_STACK.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/LISTFILE_STACK.rst
rename to share/cmake-3.10/Help/prop_dir/LISTFILE_STACK.rst
diff --git a/share/cmake-3.6/Help/prop_dir/MACROS.rst b/share/cmake-3.10/Help/prop_dir/MACROS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/MACROS.rst
rename to share/cmake-3.10/Help/prop_dir/MACROS.rst
diff --git a/share/cmake-3.6/Help/prop_dir/PARENT_DIRECTORY.rst b/share/cmake-3.10/Help/prop_dir/PARENT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/PARENT_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_dir/PARENT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_dir/RULE_LAUNCH_COMPILE.rst b/share/cmake-3.10/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
rename to share/cmake-3.10/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
diff --git a/share/cmake-3.6/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst b/share/cmake-3.10/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
rename to share/cmake-3.10/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
diff --git a/share/cmake-3.6/Help/prop_dir/RULE_LAUNCH_LINK.rst b/share/cmake-3.10/Help/prop_dir/RULE_LAUNCH_LINK.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/RULE_LAUNCH_LINK.rst
rename to share/cmake-3.10/Help/prop_dir/RULE_LAUNCH_LINK.rst
diff --git a/share/cmake-3.10/Help/prop_dir/SOURCE_DIR.rst b/share/cmake-3.10/Help/prop_dir/SOURCE_DIR.rst
new file mode 100644
index 0000000..ac98c3b
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/SOURCE_DIR.rst
@@ -0,0 +1,5 @@
+SOURCE_DIR
+----------
+
+This read-only directory property reports absolute path to the source
+directory on which it is read.
diff --git a/share/cmake-3.10/Help/prop_dir/SUBDIRECTORIES.rst b/share/cmake-3.10/Help/prop_dir/SUBDIRECTORIES.rst
new file mode 100644
index 0000000..2c2ea77
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/SUBDIRECTORIES.rst
@@ -0,0 +1,15 @@
+SUBDIRECTORIES
+--------------
+
+This read-only directory property contains a
+:ref:`;-list <CMake Language Lists>` of subdirectories processed so far by
+the :command:`add_subdirectory` or :command:`subdirs` commands.  Each entry is
+the absolute path to the source directory (containing the ``CMakeLists.txt``
+file).  This is suitable to pass to the :command:`get_property` command
+``DIRECTORY`` option.
+
+.. note::
+
+  The :command:`subdirs` command does not process its arguments until
+  after the calling directory is fully processed.  Therefore looking
+  up this property in the current directory will not see them.
diff --git a/share/cmake-3.10/Help/prop_dir/TEST_INCLUDE_FILE.rst b/share/cmake-3.10/Help/prop_dir/TEST_INCLUDE_FILE.rst
new file mode 100644
index 0000000..31b2382
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/TEST_INCLUDE_FILE.rst
@@ -0,0 +1,9 @@
+TEST_INCLUDE_FILE
+-----------------
+
+Deprecated.  Use :prop_dir:`TEST_INCLUDE_FILES` instead.
+
+A cmake file that will be included when ctest is run.
+
+If you specify ``TEST_INCLUDE_FILE``, that file will be included and
+processed when ctest is run on the directory.
diff --git a/share/cmake-3.10/Help/prop_dir/TEST_INCLUDE_FILES.rst b/share/cmake-3.10/Help/prop_dir/TEST_INCLUDE_FILES.rst
new file mode 100644
index 0000000..c3e4602
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/TEST_INCLUDE_FILES.rst
@@ -0,0 +1,7 @@
+TEST_INCLUDE_FILES
+------------------
+
+A list of cmake files that will be included when ctest is run.
+
+If you specify ``TEST_INCLUDE_FILES``, those files will be included and
+processed when ctest is run on the directory.
diff --git a/share/cmake-3.6/Help/prop_dir/VARIABLES.rst b/share/cmake-3.10/Help/prop_dir/VARIABLES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_dir/VARIABLES.rst
rename to share/cmake-3.10/Help/prop_dir/VARIABLES.rst
diff --git a/share/cmake-3.10/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst b/share/cmake-3.10/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
new file mode 100644
index 0000000..a316abe
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
@@ -0,0 +1,31 @@
+VS_GLOBAL_SECTION_POST_<section>
+--------------------------------
+
+Specify a postSolution global section in Visual Studio.
+
+Setting a property like this generates an entry of the following form
+in the solution file:
+
+::
+
+  GlobalSection(<section>) = postSolution
+    <contents based on property value>
+  EndGlobalSection
+
+The property must be set to a semicolon-separated list of key=value
+pairs.  Each such pair will be transformed into an entry in the
+solution global section.  Whitespace around key and value is ignored.
+List elements which do not contain an equal sign are skipped.
+
+This property only works for Visual Studio 8 and above; it is ignored
+on other generators.  The property only applies when set on a
+directory whose CMakeLists.txt contains a project() command.
+
+Note that CMake generates postSolution sections ExtensibilityGlobals
+and ExtensibilityAddIns by default.  If you set the corresponding
+property, it will override the default section.  For example, setting
+VS_GLOBAL_SECTION_POST_ExtensibilityGlobals will override the default
+contents of the ExtensibilityGlobals section, while keeping
+ExtensibilityAddIns on its default.  However, CMake will always
+add a ``SolutionGuid`` to the ``ExtensibilityGlobals`` section
+if it is not specified explicitly.
diff --git a/share/cmake-3.10/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst b/share/cmake-3.10/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
new file mode 100644
index 0000000..200e8e6
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
@@ -0,0 +1,22 @@
+VS_GLOBAL_SECTION_PRE_<section>
+-------------------------------
+
+Specify a preSolution global section in Visual Studio.
+
+Setting a property like this generates an entry of the following form
+in the solution file:
+
+::
+
+  GlobalSection(<section>) = preSolution
+    <contents based on property value>
+  EndGlobalSection
+
+The property must be set to a semicolon-separated list of key=value
+pairs.  Each such pair will be transformed into an entry in the
+solution global section.  Whitespace around key and value is ignored.
+List elements which do not contain an equal sign are skipped.
+
+This property only works for Visual Studio 8 and above; it is ignored
+on other generators.  The property only applies when set on a
+directory whose CMakeLists.txt contains a project() command.
diff --git a/share/cmake-3.10/Help/prop_dir/VS_STARTUP_PROJECT.rst b/share/cmake-3.10/Help/prop_dir/VS_STARTUP_PROJECT.rst
new file mode 100644
index 0000000..04441b6
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_dir/VS_STARTUP_PROJECT.rst
@@ -0,0 +1,18 @@
+VS_STARTUP_PROJECT
+------------------
+
+Specify the default startup project in a Visual Studio solution.
+
+The :ref:`Visual Studio Generators` create a ``.sln`` file for each directory
+whose ``CMakeLists.txt`` file calls the :command:`project` command.  Set this
+property in the same directory as a :command:`project` command call (e.g. in
+the top-level ``CMakeLists.txt`` file) to specify the default startup project
+for the correpsonding solution file.
+
+The property must be set to the name of an existing target.  This
+will cause that project to be listed first in the generated solution
+file causing Visual Studio to make it the startup project if the
+solution has never been opened before.
+
+If this property is not specified, then the ``ALL_BUILD`` project
+will be the default.
diff --git a/share/cmake-3.6/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst b/share/cmake-3.10/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
rename to share/cmake-3.10/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
diff --git a/share/cmake-3.10/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst b/share/cmake-3.10/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
new file mode 100644
index 0000000..d294eb1
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
@@ -0,0 +1,15 @@
+AUTOGEN_SOURCE_GROUP
+--------------------
+
+Name of the  :command:`source_group` for :prop_tgt:`AUTOMOC` and
+:prop_tgt:`AUTORCC` generated files.
+
+Files generated by :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTORCC` are not always
+known at configure time and therefore can't be passed to
+:command:`source_group`.
+:prop_gbl:`AUTOGEN_SOURCE_GROUP` an be used instead to generate or select
+a source group for :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTORCC` generated files.
+
+For :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTORCC` specific overrides see
+:prop_gbl:`AUTOMOC_SOURCE_GROUP` and :prop_gbl:`AUTORCC_SOURCE_GROUP`
+respectively.
diff --git a/share/cmake-3.10/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst b/share/cmake-3.10/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
new file mode 100644
index 0000000..0b747b2
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
@@ -0,0 +1,9 @@
+AUTOGEN_TARGETS_FOLDER
+----------------------
+
+Name of :prop_tgt:`FOLDER` for ``*_autogen`` targets that are added
+automatically by CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
+
+If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
+default value for this property.  See also the documentation for the
+:prop_tgt:`FOLDER` target property and the :prop_tgt:`AUTOMOC` target property.
diff --git a/share/cmake-3.10/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst b/share/cmake-3.10/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
new file mode 100644
index 0000000..2455dc7
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
@@ -0,0 +1,7 @@
+AUTOMOC_SOURCE_GROUP
+--------------------
+
+Name of the  :command:`source_group` for :prop_tgt:`AUTOMOC` generated files.
+
+When set this is used instead of :prop_gbl:`AUTOGEN_SOURCE_GROUP` for
+files generated by :prop_tgt:`AUTOMOC`.
diff --git a/share/cmake-3.10/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst b/share/cmake-3.10/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
new file mode 100644
index 0000000..17666e4
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
@@ -0,0 +1,11 @@
+AUTOMOC_TARGETS_FOLDER
+----------------------
+
+Name of :prop_tgt:`FOLDER` for ``*_autogen`` targets that are added automatically by
+CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
+
+This property is obsolete.  Use :prop_gbl:`AUTOGEN_TARGETS_FOLDER` instead.
+
+If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
+default value for this property.  See also the documentation for the
+:prop_tgt:`FOLDER` target property and the :prop_tgt:`AUTOMOC` target property.
diff --git a/share/cmake-3.10/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst b/share/cmake-3.10/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
new file mode 100644
index 0000000..65ea95b
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
@@ -0,0 +1,7 @@
+AUTORCC_SOURCE_GROUP
+--------------------
+
+Name of the  :command:`source_group` for :prop_tgt:`AUTORCC` generated files.
+
+When set this is used instead of :prop_gbl:`AUTOGEN_SOURCE_GROUP` for
+files generated by :prop_tgt:`AUTORCC`.
diff --git a/share/cmake-3.10/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst b/share/cmake-3.10/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
new file mode 100644
index 0000000..2ad8157
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
@@ -0,0 +1,315 @@
+CMAKE_CXX_KNOWN_FEATURES
+------------------------
+
+List of C++ features known to this version of CMake.
+
+The features listed in this global property may be known to be available to the
+C++ compiler.  If the feature is available with the C++ compiler, it will
+be listed in the :variable:`CMAKE_CXX_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:
+
+``cxx_std_98``
+  Compiler mode is aware of C++ 98.
+
+``cxx_std_11``
+  Compiler mode is aware of C++ 11.
+
+``cxx_std_14``
+  Compiler mode is aware of C++ 14.
+
+``cxx_std_17``
+  Compiler mode is aware of C++ 17.
+
+``cxx_aggregate_default_initializers``
+  Aggregate default initializers, as defined in N3605_.
+
+  .. _N3605: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3605.html
+
+``cxx_alias_templates``
+  Template aliases, as defined in N2258_.
+
+  .. _N2258: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
+
+``cxx_alignas``
+  Alignment control ``alignas``, as defined in N2341_.
+
+  .. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
+``cxx_alignof``
+  Alignment control ``alignof``, as defined in N2341_.
+
+  .. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
+``cxx_attributes``
+  Generic attributes, as defined in N2761_.
+
+  .. _N2761: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
+
+``cxx_attribute_deprecated``
+  ``[[deprecated]]`` attribute, as defined in N3760_.
+
+  .. _N3760: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html
+
+``cxx_auto_type``
+  Automatic type deduction, as defined in N1984_.
+
+  .. _N1984: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
+
+``cxx_binary_literals``
+  Binary literals, as defined in N3472_.
+
+  .. _N3472: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf
+
+``cxx_constexpr``
+  Constant expressions, as defined in N2235_.
+
+  .. _N2235: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
+
+``cxx_contextual_conversions``
+  Contextual conversions, as defined in N3323_.
+
+  .. _N3323: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf
+
+``cxx_decltype_incomplete_return_types``
+  Decltype on incomplete return types, as defined in N3276_.
+
+  .. _N3276 : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf
+
+``cxx_decltype``
+  Decltype, as defined in N2343_.
+
+  .. _N2343: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
+
+``cxx_decltype_auto``
+  ``decltype(auto)`` semantics, as defined in N3638_.
+
+  .. _N3638: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html
+
+``cxx_default_function_template_args``
+  Default template arguments for function templates, as defined in DR226_
+
+  .. _DR226: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
+
+``cxx_defaulted_functions``
+  Defaulted functions, as defined in N2346_.
+
+  .. _N2346: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
+
+``cxx_defaulted_move_initializers``
+  Defaulted move initializers, as defined in N3053_.
+
+  .. _N3053: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
+
+``cxx_delegating_constructors``
+  Delegating constructors, as defined in N1986_.
+
+  .. _N1986: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
+
+``cxx_deleted_functions``
+  Deleted functions, as defined in N2346_.
+
+  .. _N2346: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
+
+``cxx_digit_separators``
+  Digit separators, as defined in N3781_.
+
+  .. _N3781: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf
+
+``cxx_enum_forward_declarations``
+  Enum forward declarations, as defined in N2764_.
+
+  .. _N2764: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
+
+``cxx_explicit_conversions``
+  Explicit conversion operators, as defined in N2437_.
+
+  .. _N2437: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
+
+``cxx_extended_friend_declarations``
+  Extended friend declarations, as defined in N1791_.
+
+  .. _N1791: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
+
+``cxx_extern_templates``
+  Extern templates, as defined in N1987_.
+
+  .. _N1987: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
+
+``cxx_final``
+  Override control ``final`` keyword, as defined in N2928_, N3206_ and N3272_.
+
+  .. _N2928: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
+  .. _N3206: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
+  .. _N3272: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
+
+``cxx_func_identifier``
+  Predefined ``__func__`` identifier, as defined in N2340_.
+
+  .. _N2340: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
+
+``cxx_generalized_initializers``
+  Initializer lists, as defined in N2672_.
+
+  .. _N2672: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
+
+``cxx_generic_lambdas``
+  Generic lambdas, as defined in N3649_.
+
+  .. _N3649: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html
+
+``cxx_inheriting_constructors``
+  Inheriting constructors, as defined in N2540_.
+
+  .. _N2540: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
+
+``cxx_inline_namespaces``
+  Inline namespaces, as defined in N2535_.
+
+  .. _N2535: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
+
+``cxx_lambdas``
+  Lambda functions, as defined in N2927_.
+
+  .. _N2927: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf
+
+``cxx_lambda_init_captures``
+  Initialized lambda captures, as defined in N3648_.
+
+  .. _N3648: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html
+
+``cxx_local_type_template_args``
+  Local and unnamed types as template arguments, as defined in N2657_.
+
+  .. _N2657: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
+
+``cxx_long_long_type``
+  ``long long`` type, as defined in N1811_.
+
+  .. _N1811: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
+
+``cxx_noexcept``
+  Exception specifications, as defined in N3050_.
+
+  .. _N3050: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
+
+``cxx_nonstatic_member_init``
+  Non-static data member initialization, as defined in N2756_.
+
+  .. _N2756: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm
+
+``cxx_nullptr``
+  Null pointer, as defined in N2431_.
+
+  .. _N2431: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
+
+``cxx_override``
+  Override control ``override`` keyword, as defined in N2928_, N3206_
+  and N3272_.
+
+  .. _N2928: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
+  .. _N3206: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
+  .. _N3272: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
+
+``cxx_range_for``
+  Range-based for, as defined in N2930_.
+
+  .. _N2930: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
+
+``cxx_raw_string_literals``
+  Raw string literals, as defined in N2442_.
+
+  .. _N2442: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
+``cxx_reference_qualified_functions``
+  Reference qualified functions, as defined in N2439_.
+
+  .. _N2439: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
+
+``cxx_relaxed_constexpr``
+  Relaxed constexpr, as defined in N3652_.
+
+  .. _N3652: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html
+
+``cxx_return_type_deduction``
+  Return type deduction on normal functions, as defined in N3386_.
+
+  .. _N3386: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3386.html
+
+``cxx_right_angle_brackets``
+  Right angle bracket parsing, as defined in N1757_.
+
+  .. _N1757: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
+
+``cxx_rvalue_references``
+  R-value references, as defined in N2118_.
+
+  .. _N2118: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
+
+``cxx_sizeof_member``
+  Size of non-static data members, as defined in N2253_.
+
+  .. _N2253: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
+
+``cxx_static_assert``
+  Static assert, as defined in N1720_.
+
+  .. _N1720: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
+
+``cxx_strong_enums``
+  Strongly typed enums, as defined in N2347_.
+
+  .. _N2347: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
+
+``cxx_thread_local``
+  Thread-local variables, as defined in N2659_.
+
+  .. _N2659: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
+
+``cxx_trailing_return_types``
+  Automatic function return type, as defined in N2541_.
+
+  .. _N2541: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
+
+``cxx_unicode_literals``
+  Unicode string literals, as defined in N2442_.
+
+  .. _N2442: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
+``cxx_uniform_initialization``
+  Uniform initialization, as defined in N2640_.
+
+  .. _N2640: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf
+
+``cxx_unrestricted_unions``
+  Unrestricted unions, as defined in N2544_.
+
+  .. _N2544: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
+
+``cxx_user_literals``
+  User-defined literals, as defined in N2765_.
+
+  .. _N2765: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
+
+``cxx_variable_templates``
+  Variable templates, as defined in N3651_.
+
+  .. _N3651: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf
+
+``cxx_variadic_macros``
+  Variadic macros, as defined in N1653_.
+
+  .. _N1653: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
+
+``cxx_variadic_templates``
+  Variadic templates, as defined in N2242_.
+
+  .. _N2242: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
+
+``cxx_template_template_parameters``
+  Template template parameters, as defined in ``ISO/IEC 14882:1998``.
diff --git a/share/cmake-3.10/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst b/share/cmake-3.10/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
new file mode 100644
index 0000000..3707fef
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
@@ -0,0 +1,35 @@
+CMAKE_C_KNOWN_FEATURES
+----------------------
+
+List of C features known to this version of CMake.
+
+The features listed in this global property may be known to be available to the
+C compiler.  If the feature is available with the C compiler, it will
+be listed in the :variable:`CMAKE_C_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:
+
+``c_std_90``
+  Compiler mode is aware of C 90.
+
+``c_std_99``
+  Compiler mode is aware of C 99.
+
+``c_std_11``
+  Compiler mode is aware of C 11.
+
+``c_function_prototypes``
+  Function prototypes, as defined in ``ISO/IEC 9899:1990``.
+
+``c_restrict``
+  ``restrict`` keyword, as defined in ``ISO/IEC 9899:1999``.
+
+``c_static_assert``
+  Static assert, as defined in ``ISO/IEC 9899:2011``.
+
+``c_variadic_macros``
+  Variadic macros, as defined in ``ISO/IEC 9899:1999``.
diff --git a/share/cmake-3.6/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst b/share/cmake-3.10/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
rename to share/cmake-3.10/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/DISABLED_FEATURES.rst b/share/cmake-3.10/Help/prop_gbl/DISABLED_FEATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/DISABLED_FEATURES.rst
rename to share/cmake-3.10/Help/prop_gbl/DISABLED_FEATURES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst b/share/cmake-3.10/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
rename to share/cmake-3.10/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/ENABLED_FEATURES.rst b/share/cmake-3.10/Help/prop_gbl/ENABLED_FEATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/ENABLED_FEATURES.rst
rename to share/cmake-3.10/Help/prop_gbl/ENABLED_FEATURES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/ENABLED_LANGUAGES.rst b/share/cmake-3.10/Help/prop_gbl/ENABLED_LANGUAGES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/ENABLED_LANGUAGES.rst
rename to share/cmake-3.10/Help/prop_gbl/ENABLED_LANGUAGES.rst
diff --git a/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst
new file mode 100644
index 0000000..8396026
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst
@@ -0,0 +1,12 @@
+FIND_LIBRARY_USE_LIB32_PATHS
+----------------------------
+
+Whether the :command:`find_library` command should automatically search
+``lib32`` directories.
+
+``FIND_LIBRARY_USE_LIB32_PATHS`` is a boolean specifying whether the
+:command:`find_library` command should automatically search the ``lib32``
+variant of directories called ``lib`` in the search path when building 32-bit
+binaries.
+
+See also the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable.
diff --git a/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
new file mode 100644
index 0000000..ed343ba
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
@@ -0,0 +1,12 @@
+FIND_LIBRARY_USE_LIB64_PATHS
+----------------------------
+
+Whether :command:`find_library` should automatically search lib64
+directories.
+
+FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the
+:command:`find_library` command should automatically search the lib64
+variant of directories called lib in the search path when building
+64-bit binaries.
+
+See also the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable.
diff --git a/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
new file mode 100644
index 0000000..b87b09b
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
@@ -0,0 +1,12 @@
+FIND_LIBRARY_USE_LIBX32_PATHS
+-----------------------------
+
+Whether the :command:`find_library` command should automatically search
+``libx32`` directories.
+
+``FIND_LIBRARY_USE_LIBX32_PATHS`` is a boolean specifying whether the
+:command:`find_library` command should automatically search the ``libx32``
+variant of directories called ``lib`` in the search path when building
+x32-abi binaries.
+
+See also the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable.
diff --git a/share/cmake-3.6/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst b/share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
rename to share/cmake-3.10/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
diff --git a/share/cmake-3.10/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst b/share/cmake-3.10/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
new file mode 100644
index 0000000..b8ec8a6
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
@@ -0,0 +1,9 @@
+GENERATOR_IS_MULTI_CONFIG
+-------------------------
+
+Read-only property that is true on multi-configuration generators.
+
+True when using a multi-configuration generator
+(such as :ref:`Visual Studio Generators` or :generator:`Xcode`).
+Multi-config generators use :variable:`CMAKE_CONFIGURATION_TYPES`
+as the set of configurations and ignore :variable:`CMAKE_BUILD_TYPE`.
diff --git a/share/cmake-3.6/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst b/share/cmake-3.10/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
rename to share/cmake-3.10/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst b/share/cmake-3.10/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
rename to share/cmake-3.10/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/IN_TRY_COMPILE.rst b/share/cmake-3.10/Help/prop_gbl/IN_TRY_COMPILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/IN_TRY_COMPILE.rst
rename to share/cmake-3.10/Help/prop_gbl/IN_TRY_COMPILE.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/JOB_POOLS.rst b/share/cmake-3.10/Help/prop_gbl/JOB_POOLS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/JOB_POOLS.rst
rename to share/cmake-3.10/Help/prop_gbl/JOB_POOLS.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/PACKAGES_FOUND.rst b/share/cmake-3.10/Help/prop_gbl/PACKAGES_FOUND.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/PACKAGES_FOUND.rst
rename to share/cmake-3.10/Help/prop_gbl/PACKAGES_FOUND.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/PACKAGES_NOT_FOUND.rst b/share/cmake-3.10/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
rename to share/cmake-3.10/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst b/share/cmake-3.10/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
rename to share/cmake-3.10/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst b/share/cmake-3.10/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
rename to share/cmake-3.10/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst b/share/cmake-3.10/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
rename to share/cmake-3.10/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst b/share/cmake-3.10/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
rename to share/cmake-3.10/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/RULE_LAUNCH_LINK.rst b/share/cmake-3.10/Help/prop_gbl/RULE_LAUNCH_LINK.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/RULE_LAUNCH_LINK.rst
rename to share/cmake-3.10/Help/prop_gbl/RULE_LAUNCH_LINK.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/RULE_MESSAGES.rst b/share/cmake-3.10/Help/prop_gbl/RULE_MESSAGES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/RULE_MESSAGES.rst
rename to share/cmake-3.10/Help/prop_gbl/RULE_MESSAGES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst b/share/cmake-3.10/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
rename to share/cmake-3.10/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/TARGET_MESSAGES.rst b/share/cmake-3.10/Help/prop_gbl/TARGET_MESSAGES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/TARGET_MESSAGES.rst
rename to share/cmake-3.10/Help/prop_gbl/TARGET_MESSAGES.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst b/share/cmake-3.10/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
rename to share/cmake-3.10/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
diff --git a/share/cmake-3.6/Help/prop_gbl/USE_FOLDERS.rst b/share/cmake-3.10/Help/prop_gbl/USE_FOLDERS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_gbl/USE_FOLDERS.rst
rename to share/cmake-3.10/Help/prop_gbl/USE_FOLDERS.rst
diff --git a/share/cmake-3.10/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst b/share/cmake-3.10/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
new file mode 100644
index 0000000..9a6086e
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
@@ -0,0 +1,24 @@
+XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
+----------------------------------
+
+Control emission of ``EFFECTIVE_PLATFORM_NAME`` by the Xcode generator.
+
+It is required for building the same target with multiple SDKs. A
+common use case is the parallel use of ``iphoneos`` and
+``iphonesimulator`` SDKs.
+
+Three different states possible that control when the Xcode generator
+emits the ``EFFECTIVE_PLATFORM_NAME`` variable:
+
+- If set to ``ON`` it will always be emitted
+- If set to ``OFF`` it will never be emitted
+- If unset (the default) it will only be emitted when the project was
+  configured for an embedded Xcode SDK like iOS, tvOS, watchOS or any
+  of the simulators.
+
+.. note::
+
+  When this behavior is enable for generated Xcode projects, the
+  ``EFFECTIVE_PLATFORM_NAME`` variable will leak into
+  :manual:`Generator expressions <cmake-generator-expressions(7)>`
+  like ``TARGET_FILE`` and will render those mostly unusable.
diff --git a/share/cmake-3.6/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst b/share/cmake-3.10/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
rename to share/cmake-3.10/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
diff --git a/share/cmake-3.6/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst b/share/cmake-3.10/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
rename to share/cmake-3.10/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
diff --git a/share/cmake-3.6/Help/prop_inst/CPACK_PERMANENT.rst b/share/cmake-3.10/Help/prop_inst/CPACK_PERMANENT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_inst/CPACK_PERMANENT.rst
rename to share/cmake-3.10/Help/prop_inst/CPACK_PERMANENT.rst
diff --git a/share/cmake-3.6/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst b/share/cmake-3.10/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
rename to share/cmake-3.10/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
diff --git a/share/cmake-3.6/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst b/share/cmake-3.10/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
rename to share/cmake-3.10/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
diff --git a/share/cmake-3.6/Help/prop_inst/CPACK_WIX_ACL.rst b/share/cmake-3.10/Help/prop_inst/CPACK_WIX_ACL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_inst/CPACK_WIX_ACL.rst
rename to share/cmake-3.10/Help/prop_inst/CPACK_WIX_ACL.rst
diff --git a/share/cmake-3.6/Help/prop_sf/ABSTRACT.rst b/share/cmake-3.10/Help/prop_sf/ABSTRACT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/ABSTRACT.rst
rename to share/cmake-3.10/Help/prop_sf/ABSTRACT.rst
diff --git a/share/cmake-3.10/Help/prop_sf/AUTORCC_OPTIONS.rst b/share/cmake-3.10/Help/prop_sf/AUTORCC_OPTIONS.rst
new file mode 100644
index 0000000..2bec033
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/AUTORCC_OPTIONS.rst
@@ -0,0 +1,22 @@
+AUTORCC_OPTIONS
+---------------
+
+Additional options for ``rcc`` when using :prop_tgt:`AUTORCC`
+
+This property holds additional command line options which will be used when
+``rcc`` is executed during the build via :prop_tgt:`AUTORCC`, i.e. it is equivalent to the
+optional ``OPTIONS`` argument of the :module:`qt4_add_resources() <FindQt4>` macro.
+
+By default it is empty.
+
+The options set on the ``.qrc`` source file may override
+:prop_tgt:`AUTORCC_OPTIONS` set on the target.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(SOURCE resources.qrc PROPERTY AUTORCC_OPTIONS "--compress;9")
+  # ...
diff --git a/share/cmake-3.10/Help/prop_sf/AUTOUIC_OPTIONS.rst b/share/cmake-3.10/Help/prop_sf/AUTOUIC_OPTIONS.rst
new file mode 100644
index 0000000..e2f47ec
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/AUTOUIC_OPTIONS.rst
@@ -0,0 +1,23 @@
+AUTOUIC_OPTIONS
+---------------
+
+Additional options for ``uic`` when using :prop_tgt:`AUTOUIC`
+
+This property holds additional command line options
+which will be used when ``uic`` is executed during the build via
+:prop_tgt:`AUTOUIC`, i.e. it is equivalent to the optional ``OPTIONS``
+argument of the :module:`qt4_wrap_ui() <FindQt4>` macro.
+
+By default it is empty.
+
+The options set on the ``.ui`` source file may override
+:prop_tgt:`AUTOUIC_OPTIONS` set on the target.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(SOURCE widget.ui PROPERTY AUTOUIC_OPTIONS "--no-protection")
+  # ...
diff --git a/share/cmake-3.6/Help/prop_sf/COMPILE_DEFINITIONS.rst b/share/cmake-3.10/Help/prop_sf/COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/COMPILE_DEFINITIONS.rst
rename to share/cmake-3.10/Help/prop_sf/COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.6/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst b/share/cmake-3.10/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
rename to share/cmake-3.10/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
diff --git a/share/cmake-3.10/Help/prop_sf/COMPILE_FLAGS.rst b/share/cmake-3.10/Help/prop_sf/COMPILE_FLAGS.rst
new file mode 100644
index 0000000..1012164
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/COMPILE_FLAGS.rst
@@ -0,0 +1,15 @@
+COMPILE_FLAGS
+-------------
+
+Additional flags to be added when compiling this source file.
+
+These flags will be added to the list of compile flags when this
+source file builds.  Use :prop_sf:`COMPILE_DEFINITIONS` to pass
+additional preprocessor definitions.
+
+Contents of ``COMPILE_FLAGS`` may use "generator expressions"
+with the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions.  However, :generator:`Xcode`
+does not support per-config per-source settings, so expressions
+that depend on the build configuration are not allowed with that
+generator.
diff --git a/share/cmake-3.6/Help/prop_sf/EXTERNAL_OBJECT.rst b/share/cmake-3.10/Help/prop_sf/EXTERNAL_OBJECT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/EXTERNAL_OBJECT.rst
rename to share/cmake-3.10/Help/prop_sf/EXTERNAL_OBJECT.rst
diff --git a/share/cmake-3.6/Help/prop_sf/Fortran_FORMAT.rst b/share/cmake-3.10/Help/prop_sf/Fortran_FORMAT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/Fortran_FORMAT.rst
rename to share/cmake-3.10/Help/prop_sf/Fortran_FORMAT.rst
diff --git a/share/cmake-3.6/Help/prop_sf/GENERATED.rst b/share/cmake-3.10/Help/prop_sf/GENERATED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/GENERATED.rst
rename to share/cmake-3.10/Help/prop_sf/GENERATED.rst
diff --git a/share/cmake-3.10/Help/prop_sf/HEADER_FILE_ONLY.rst b/share/cmake-3.10/Help/prop_sf/HEADER_FILE_ONLY.rst
new file mode 100644
index 0000000..71d62ae
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/HEADER_FILE_ONLY.rst
@@ -0,0 +1,24 @@
+HEADER_FILE_ONLY
+----------------
+
+Is this source file only a header file.
+
+A property on a source file that indicates if the source file is a
+header file with no associated implementation.  This is set
+automatically based on the file extension and is used by CMake to
+determine if certain dependency information should be computed.
+
+By setting this property to ``ON``, you can disable compilation of
+the given source file, even if it should be compiled because it is
+part of the library's/executable's sources.
+
+This is useful if you have some source files which you somehow
+pre-process, and then add these pre-processed sources via
+:command:`add_library` or :command:`add_executable`. Normally, in IDE,
+there would be no reference of the original sources, only of these
+pre-processed sources. So by setting this property for all the original
+source files to ``ON``, and then either calling :command:`add_library`
+or :command:`add_executable` while passing both the pre-processed
+sources and the original sources, or by using :command:`target_sources`
+to add original source files will do exactly what would one expect, i.e.
+the original source files would be visible in IDE, and will not be built.
diff --git a/share/cmake-3.6/Help/prop_sf/KEEP_EXTENSION.rst b/share/cmake-3.10/Help/prop_sf/KEEP_EXTENSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/KEEP_EXTENSION.rst
rename to share/cmake-3.10/Help/prop_sf/KEEP_EXTENSION.rst
diff --git a/share/cmake-3.6/Help/prop_sf/LABELS.rst b/share/cmake-3.10/Help/prop_sf/LABELS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/LABELS.rst
rename to share/cmake-3.10/Help/prop_sf/LABELS.rst
diff --git a/share/cmake-3.6/Help/prop_sf/LANGUAGE.rst b/share/cmake-3.10/Help/prop_sf/LANGUAGE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/LANGUAGE.rst
rename to share/cmake-3.10/Help/prop_sf/LANGUAGE.rst
diff --git a/share/cmake-3.6/Help/prop_sf/LOCATION.rst b/share/cmake-3.10/Help/prop_sf/LOCATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/LOCATION.rst
rename to share/cmake-3.10/Help/prop_sf/LOCATION.rst
diff --git a/share/cmake-3.10/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst b/share/cmake-3.10/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
new file mode 100644
index 0000000..a064afa
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
@@ -0,0 +1,30 @@
+MACOSX_PACKAGE_LOCATION
+-----------------------
+
+Place a source file inside a Application Bundle
+(:prop_tgt:`MACOSX_BUNDLE`), Core Foundation Bundle (:prop_tgt:`BUNDLE`),
+or Framework Bundle (:prop_tgt:`FRAMEWORK`).  It is applicable for OS X
+and iOS.
+
+Executable targets with the :prop_tgt:`MACOSX_BUNDLE` property set are
+built as OS X or iOS application bundles on Apple platforms.  Shared
+library targets with the :prop_tgt:`FRAMEWORK` property set are built as
+OS X or iOS frameworks on Apple platforms.  Module library targets with
+the :prop_tgt:`BUNDLE` property set are built as OS X ``CFBundle`` bundles
+on Apple platforms.  Source files listed in the target with this property
+set will be copied to a directory inside the bundle or framework content
+folder specified by the property value.  For OS X Application Bundles the
+content folder is ``<name>.app/Contents``.  For OS X Frameworks the
+content folder is ``<name>.framework/Versions/<version>``.  For OS X
+CFBundles the content folder is ``<name>.bundle/Contents`` (unless the
+extension is changed).  See the :prop_tgt:`PUBLIC_HEADER`,
+:prop_tgt:`PRIVATE_HEADER`, and :prop_tgt:`RESOURCE` target properties for
+specifying files meant for ``Headers``, ``PrivateHeaders``, or
+``Resources`` directories.
+
+If the specified location is equal to ``Resources``, the resulting location
+will be the same as if the :prop_tgt:`RESOURCE` property had been used. If
+the specified location is a sub-folder of ``Resources``, it will be placed
+into the respective sub-folder. Note: For iOS Apple uses a flat bundle layout
+where no ``Resources`` folder exist. Therefore CMake strips the ``Resources``
+folder name from the specified location.
diff --git a/share/cmake-3.6/Help/prop_sf/OBJECT_DEPENDS.rst b/share/cmake-3.10/Help/prop_sf/OBJECT_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/OBJECT_DEPENDS.rst
rename to share/cmake-3.10/Help/prop_sf/OBJECT_DEPENDS.rst
diff --git a/share/cmake-3.6/Help/prop_sf/OBJECT_OUTPUTS.rst b/share/cmake-3.10/Help/prop_sf/OBJECT_OUTPUTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/OBJECT_OUTPUTS.rst
rename to share/cmake-3.10/Help/prop_sf/OBJECT_OUTPUTS.rst
diff --git a/share/cmake-3.10/Help/prop_sf/SKIP_AUTOGEN.rst b/share/cmake-3.10/Help/prop_sf/SKIP_AUTOGEN.rst
new file mode 100644
index 0000000..f31185a
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/SKIP_AUTOGEN.rst
@@ -0,0 +1,17 @@
+SKIP_AUTOGEN
+------------
+
+Exclude the source file from :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTOUIC` and
+:prop_tgt:`AUTORCC` processing (for Qt projects).
+
+For finer exclusion control see :prop_sf:`SKIP_AUTOMOC`,
+:prop_sf:`SKIP_AUTOUIC` and :prop_sf:`SKIP_AUTORCC`.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(SOURCE file.h PROPERTY SKIP_AUTOGEN ON)
+  # ...
diff --git a/share/cmake-3.10/Help/prop_sf/SKIP_AUTOMOC.rst b/share/cmake-3.10/Help/prop_sf/SKIP_AUTOMOC.rst
new file mode 100644
index 0000000..a929448
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/SKIP_AUTOMOC.rst
@@ -0,0 +1,15 @@
+SKIP_AUTOMOC
+------------
+
+Exclude the source file from :prop_tgt:`AUTOMOC` processing (for Qt projects).
+
+For broader exclusion control see :prop_sf:`SKIP_AUTOGEN`.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)
+  # ...
diff --git a/share/cmake-3.10/Help/prop_sf/SKIP_AUTORCC.rst b/share/cmake-3.10/Help/prop_sf/SKIP_AUTORCC.rst
new file mode 100644
index 0000000..bccccfc
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/SKIP_AUTORCC.rst
@@ -0,0 +1,15 @@
+SKIP_AUTORCC
+------------
+
+Exclude the source file from :prop_tgt:`AUTORCC` processing (for Qt projects).
+
+For broader exclusion control see :prop_sf:`SKIP_AUTOGEN`.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(SOURCE file.qrc PROPERTY SKIP_AUTORCC ON)
+  # ...
diff --git a/share/cmake-3.10/Help/prop_sf/SKIP_AUTOUIC.rst b/share/cmake-3.10/Help/prop_sf/SKIP_AUTOUIC.rst
new file mode 100644
index 0000000..8c962db
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/SKIP_AUTOUIC.rst
@@ -0,0 +1,20 @@
+SKIP_AUTOUIC
+------------
+
+Exclude the source file from :prop_tgt:`AUTOUIC` processing (for Qt projects).
+
+:prop_sf:`SKIP_AUTOUIC` can be set on C++ header and source files and on
+``.ui`` files.
+
+For broader exclusion control see :prop_sf:`SKIP_AUTOGEN`.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(SOURCE file.h PROPERTY SKIP_AUTOUIC ON)
+  set_property(SOURCE file.cpp PROPERTY SKIP_AUTOUIC ON)
+  set_property(SOURCE widget.ui PROPERTY SKIP_AUTOUIC ON)
+  # ...
diff --git a/share/cmake-3.6/Help/prop_sf/SYMBOLIC.rst b/share/cmake-3.10/Help/prop_sf/SYMBOLIC.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/SYMBOLIC.rst
rename to share/cmake-3.10/Help/prop_sf/SYMBOLIC.rst
diff --git a/share/cmake-3.10/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst b/share/cmake-3.10/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
new file mode 100644
index 0000000..16c8d83
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
@@ -0,0 +1,6 @@
+VS_COPY_TO_OUT_DIR
+------------------
+
+Sets the ``<CopyToOutputDirectory>`` tag for a source file in a
+Visual Studio project file. Valid values are ``Never``, ``Always``
+and ``PreserveNewest``.
diff --git a/share/cmake-3.10/Help/prop_sf/VS_CSHARP_tagname.rst b/share/cmake-3.10/Help/prop_sf/VS_CSHARP_tagname.rst
new file mode 100644
index 0000000..d42159f
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_CSHARP_tagname.rst
@@ -0,0 +1,19 @@
+VS_CSHARP_<tagname>
+-------------------
+
+Visual Studio and CSharp source-file-specific configuration.
+
+Tell the Visual Studio generator to set the source file tag
+``<tagname>`` to a given value in the generated Visual Studio CSharp
+project. Ignored on other generators and languages. This property
+can be used to define dependencies between source files or set any
+other Visual Studio specific parameters.
+
+Example usage:
+
+.. code-block:: cmake
+
+  set_source_files_property(<filename>
+           PROPERTIES
+           VS_CSHARP_DependentUpon <other file>
+           VS_CSHARP_SubType "Form")
diff --git a/share/cmake-3.6/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst b/share/cmake-3.10/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
rename to share/cmake-3.10/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
diff --git a/share/cmake-3.6/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst b/share/cmake-3.10/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
rename to share/cmake-3.10/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
diff --git a/share/cmake-3.10/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst b/share/cmake-3.10/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
new file mode 100644
index 0000000..30f471d
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
@@ -0,0 +1,6 @@
+VS_INCLUDE_IN_VSIX
+------------------
+
+Boolean property to specify if the file should be included within a VSIX
+extension package. This is needed for development of Visual Studio
+extensions.
diff --git a/share/cmake-3.10/Help/prop_sf/VS_RESOURCE_GENERATOR.rst b/share/cmake-3.10/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
new file mode 100644
index 0000000..97e5aac
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
@@ -0,0 +1,8 @@
+VS_RESOURCE_GENERATOR
+---------------------
+
+This property allows to specify the resource generator to be used
+on this file. It defaults to ``PublicResXFileCodeGenerator`` if
+not set.
+
+This property only applies to C# projects.
diff --git a/share/cmake-3.6/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst b/share/cmake-3.10/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
rename to share/cmake-3.10/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
diff --git a/share/cmake-3.6/Help/prop_sf/VS_SHADER_FLAGS.rst b/share/cmake-3.10/Help/prop_sf/VS_SHADER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_SHADER_FLAGS.rst
rename to share/cmake-3.10/Help/prop_sf/VS_SHADER_FLAGS.rst
diff --git a/share/cmake-3.6/Help/prop_sf/VS_SHADER_MODEL.rst b/share/cmake-3.10/Help/prop_sf/VS_SHADER_MODEL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_SHADER_MODEL.rst
rename to share/cmake-3.10/Help/prop_sf/VS_SHADER_MODEL.rst
diff --git a/share/cmake-3.10/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst b/share/cmake-3.10/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst
new file mode 100644
index 0000000..e6763d3
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst
@@ -0,0 +1,5 @@
+VS_SHADER_OUTPUT_HEADER_FILE
+----------------------------
+
+Set filename for output header file containing object code of a ``.hlsl``
+source file.
diff --git a/share/cmake-3.6/Help/prop_sf/VS_SHADER_TYPE.rst b/share/cmake-3.10/Help/prop_sf/VS_SHADER_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_SHADER_TYPE.rst
rename to share/cmake-3.10/Help/prop_sf/VS_SHADER_TYPE.rst
diff --git a/share/cmake-3.10/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst b/share/cmake-3.10/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst
new file mode 100644
index 0000000..1a5e369
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst
@@ -0,0 +1,5 @@
+VS_SHADER_VARIABLE_NAME
+-----------------------
+
+Set name of variable in header file containing object code of a ``.hlsl``
+source file.
diff --git a/share/cmake-3.10/Help/prop_sf/VS_TOOL_OVERRIDE.rst b/share/cmake-3.10/Help/prop_sf/VS_TOOL_OVERRIDE.rst
new file mode 100644
index 0000000..8bdc5ca
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/VS_TOOL_OVERRIDE.rst
@@ -0,0 +1,5 @@
+VS_TOOL_OVERRIDE
+----------------
+
+Override the default Visual Studio tool that will be applied to the source file
+with a new tool not based on the extension of the file.
diff --git a/share/cmake-3.6/Help/prop_sf/VS_XAML_TYPE.rst b/share/cmake-3.10/Help/prop_sf/VS_XAML_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/VS_XAML_TYPE.rst
rename to share/cmake-3.10/Help/prop_sf/VS_XAML_TYPE.rst
diff --git a/share/cmake-3.6/Help/prop_sf/WRAP_EXCLUDE.rst b/share/cmake-3.10/Help/prop_sf/WRAP_EXCLUDE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/WRAP_EXCLUDE.rst
rename to share/cmake-3.10/Help/prop_sf/WRAP_EXCLUDE.rst
diff --git a/share/cmake-3.6/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst b/share/cmake-3.10/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
rename to share/cmake-3.10/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
diff --git a/share/cmake-3.10/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst b/share/cmake-3.10/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst
new file mode 100644
index 0000000..39e6966
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst
@@ -0,0 +1,11 @@
+XCODE_FILE_ATTRIBUTES
+---------------------
+
+Add values to the Xcode ``ATTRIBUTES`` setting on its reference to a
+source file.  Among other things, this can be used to set the role on
+a mig file::
+
+  set_source_files_properties(defs.mig
+      PROPERTIES
+          XCODE_FILE_ATTRIBUTES "Client;Server"
+  )
diff --git a/share/cmake-3.6/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst b/share/cmake-3.10/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
rename to share/cmake-3.10/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
diff --git a/share/cmake-3.6/Help/prop_test/ATTACHED_FILES.rst b/share/cmake-3.10/Help/prop_test/ATTACHED_FILES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/ATTACHED_FILES.rst
rename to share/cmake-3.10/Help/prop_test/ATTACHED_FILES.rst
diff --git a/share/cmake-3.6/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst b/share/cmake-3.10/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
rename to share/cmake-3.10/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
diff --git a/share/cmake-3.6/Help/prop_test/COST.rst b/share/cmake-3.10/Help/prop_test/COST.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/COST.rst
rename to share/cmake-3.10/Help/prop_test/COST.rst
diff --git a/share/cmake-3.10/Help/prop_test/DEPENDS.rst b/share/cmake-3.10/Help/prop_test/DEPENDS.rst
new file mode 100644
index 0000000..89c7553
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/DEPENDS.rst
@@ -0,0 +1,10 @@
+DEPENDS
+-------
+
+Specifies that this test should only be run after the specified list of tests.
+
+Set this to a list of tests that must finish before this test is run. The
+results of those tests are not considered, the dependency relationship is
+purely for order of execution (i.e. it is really just a *run after*
+relationship). Consider using test fixtures with setup tests if a dependency
+with successful completion is required (see :prop_test:`FIXTURES_REQUIRED`).
diff --git a/share/cmake-3.10/Help/prop_test/DISABLED.rst b/share/cmake-3.10/Help/prop_test/DISABLED.rst
new file mode 100644
index 0000000..c18ae7f
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/DISABLED.rst
@@ -0,0 +1,15 @@
+DISABLED
+--------
+
+If set to true, the test will be skipped and its status will be 'Not Run'. A
+DISABLED test will not be counted in the total number of tests and its
+completion status will be reported to CDash as 'Disabled'.
+
+A DISABLED test does not participate in test fixture dependency resolution.
+If a DISABLED test has fixture requirements defined in its
+:prop_test:`FIXTURES_REQUIRED` property, it will not cause setup or cleanup
+tests for those fixtures to be added to the test set.
+
+If a test with the :prop_test:`FIXTURES_SETUP` property set is DISABLED, the
+fixture behavior will be as though that setup test was passing and any test
+case requiring that fixture will still run.
diff --git a/share/cmake-3.6/Help/prop_test/ENVIRONMENT.rst b/share/cmake-3.10/Help/prop_test/ENVIRONMENT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/ENVIRONMENT.rst
rename to share/cmake-3.10/Help/prop_test/ENVIRONMENT.rst
diff --git a/share/cmake-3.6/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst b/share/cmake-3.10/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
rename to share/cmake-3.10/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.10/Help/prop_test/FIXTURES_CLEANUP.rst b/share/cmake-3.10/Help/prop_test/FIXTURES_CLEANUP.rst
new file mode 100644
index 0000000..3075b4d
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/FIXTURES_CLEANUP.rst
@@ -0,0 +1,47 @@
+FIXTURES_CLEANUP
+----------------
+
+Specifies a list of fixtures for which the test is to be treated as a cleanup
+test. These fixture names are distinct from test case names and are not
+required to have any similarity to the names of tests associated with them.
+
+Fixture cleanup tests are ordinary tests with all of the usual test
+functionality. Setting the ``FIXTURES_CLEANUP`` property for a test has two
+primary effects:
+
+- CTest will ensure the test executes after all other tests which list any of
+  the fixtures in its :prop_test:`FIXTURES_REQUIRED` property.
+
+- If CTest is asked to run only a subset of tests (e.g. using regular
+  expressions or the ``--rerun-failed`` option) and the cleanup test is not in
+  the set of tests to run, it will automatically be added if any tests in the
+  set require any fixture listed in ``FIXTURES_CLEANUP``.
+
+A cleanup test can have multiple fixtures listed in its ``FIXTURES_CLEANUP``
+property. It will execute only once for the whole CTest run, not once for each
+fixture. A fixture can also have more than one cleanup test defined. If there
+are multiple cleanup tests for a fixture, projects can control their order with
+the usual :prop_test:`DEPENDS` test property if necessary.
+
+A cleanup test is allowed to require other fixtures, but not any fixture listed
+in its ``FIXTURES_CLEANUP`` property. For example:
+
+.. code-block:: cmake
+
+  # Ok: Dependent fixture is different to cleanup
+  set_tests_properties(cleanupFoo PROPERTIES
+    FIXTURES_CLEANUP  Foo
+    FIXTURES_REQUIRED Bar
+  )
+
+  # Error: cannot require same fixture as cleanup
+  set_tests_properties(cleanupFoo PROPERTIES
+    FIXTURES_CLEANUP  Foo
+    FIXTURES_REQUIRED Foo
+  )
+
+Cleanup tests will execute even if setup or regular tests for that fixture fail
+or are skipped.
+
+See :prop_test:`FIXTURES_REQUIRED` for a more complete discussion of how to use
+test fixtures.
diff --git a/share/cmake-3.10/Help/prop_test/FIXTURES_REQUIRED.rst b/share/cmake-3.10/Help/prop_test/FIXTURES_REQUIRED.rst
new file mode 100644
index 0000000..e3f60c4
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/FIXTURES_REQUIRED.rst
@@ -0,0 +1,96 @@
+FIXTURES_REQUIRED
+-----------------
+
+Specifies a list of fixtures the test requires. Fixture names are case
+sensitive and they are not required to have any similarity to test names.
+
+Fixtures are a way to attach setup and cleanup tasks to a set of tests. If a
+test requires a given fixture, then all tests marked as setup tasks for that
+fixture will be executed first (once for the whole set of tests, not once per
+test requiring the fixture). After all tests requiring a particular fixture
+have completed, CTest will ensure all tests marked as cleanup tasks for that
+fixture are then executed. Tests are marked as setup tasks with the
+:prop_test:`FIXTURES_SETUP` property and as cleanup tasks with the
+:prop_test:`FIXTURES_CLEANUP` property. If any of a fixture's setup tests fail,
+all tests listing that fixture in their ``FIXTURES_REQUIRED`` property will not
+be executed. The cleanup tests for the fixture will always be executed, even if
+some setup tests fail.
+
+When CTest is asked to execute only a subset of tests (e.g. by the use of
+regular expressions or when run with the ``--rerun-failed`` command line
+option), it will automatically add any setup or cleanup tests for fixtures
+required by any of the tests that are in the execution set. This behavior can
+be overridden with the ``-FS``, ``-FC`` and ``-FA`` command line options to
+:manual:`ctest(1)` if desired.
+
+Since setup and cleanup tasks are also tests, they can have an ordering
+specified by the :prop_test:`DEPENDS` test property just like any other tests.
+This can be exploited to implement setup or cleanup using multiple tests for a
+single fixture to modularise setup or cleanup logic.
+
+The concept of a fixture is different to that of a resource specified by
+:prop_test:`RESOURCE_LOCK`, but they may be used together. A fixture defines a
+set of tests which share setup and cleanup requirements, whereas a resource
+lock has the effect of ensuring a particular set of tests do not run in
+parallel. Some situations may need both, such as setting up a database,
+serialising test access to that database and deleting the database again at the
+end. For such cases, tests would populate both ``FIXTURES_REQUIRED`` and
+:prop_test:`RESOURCE_LOCK` to combine the two behaviours. Names used for
+:prop_test:`RESOURCE_LOCK` have no relationship with names of fixtures, so note
+that a resource lock does not imply a fixture and vice versa.
+
+Consider the following example which represents a database test scenario
+similar to that mentioned above:
+
+.. code-block:: cmake
+
+  add_test(NAME testsDone   COMMAND emailResults)
+  add_test(NAME fooOnly     COMMAND testFoo)
+  add_test(NAME dbOnly      COMMAND testDb)
+  add_test(NAME dbWithFoo   COMMAND testDbWithFoo)
+  add_test(NAME createDB    COMMAND initDB)
+  add_test(NAME setupUsers  COMMAND userCreation)
+  add_test(NAME cleanupDB   COMMAND deleteDB)
+  add_test(NAME cleanupFoo  COMMAND removeFoos)
+
+  set_tests_properties(setupUsers PROPERTIES DEPENDS createDB)
+
+  set_tests_properties(createDB   PROPERTIES FIXTURES_SETUP    DB)
+  set_tests_properties(setupUsers PROPERTIES FIXTURES_SETUP    DB)
+  set_tests_properties(cleanupDB  PROPERTIES FIXTURES_CLEANUP  DB)
+  set_tests_properties(cleanupFoo PROPERTIES FIXTURES_CLEANUP  Foo)
+  set_tests_properties(testsDone  PROPERTIES FIXTURES_CLEANUP  "DB;Foo")
+
+  set_tests_properties(fooOnly    PROPERTIES FIXTURES_REQUIRED Foo)
+  set_tests_properties(dbOnly     PROPERTIES FIXTURES_REQUIRED DB)
+  set_tests_properties(dbWithFoo  PROPERTIES FIXTURES_REQUIRED "DB;Foo")
+
+  set_tests_properties(dbOnly dbWithFoo createDB setupUsers cleanupDB
+                       PROPERTIES RESOURCE_LOCK DbAccess)
+
+Key points from this example:
+
+- Two fixtures are defined: ``DB`` and ``Foo``. Tests can require a single
+  fixture as ``fooOnly`` and ``dbOnly`` do, or they can depend on multiple
+  fixtures like ``dbWithFoo`` does.
+
+- A ``DEPENDS`` relationship is set up to ensure ``setupUsers`` happens after
+  ``createDB``, both of which are setup tests for the ``DB`` fixture and will
+  therefore be executed before the ``dbOnly`` and ``dbWithFoo`` tests
+  automatically.
+
+- No explicit ``DEPENDS`` relationships were needed to make the setup tests run
+  before or the cleanup tests run after the regular tests.
+
+- The ``Foo`` fixture has no setup tests defined, only a single cleanup test.
+
+- ``testsDone`` is a cleanup test for both the ``DB`` and ``Foo`` fixtures.
+  Therefore, it will only execute once regular tests for both fixtures have
+  finished (i.e. after ``fooOnly``, ``dbOnly`` and ``dbWithFoo``). No
+  ``DEPENDS`` relationship was specified for ``testsDone``, so it is free to
+  run before, after or concurrently with other cleanup tests for either
+  fixture.
+
+- The setup and cleanup tests never list the fixtures they are for in their own
+  ``FIXTURES_REQUIRED`` property, as that would result in a dependency on
+  themselves and be considered an error.
diff --git a/share/cmake-3.10/Help/prop_test/FIXTURES_SETUP.rst b/share/cmake-3.10/Help/prop_test/FIXTURES_SETUP.rst
new file mode 100644
index 0000000..fdb21cc
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/FIXTURES_SETUP.rst
@@ -0,0 +1,48 @@
+FIXTURES_SETUP
+--------------
+
+Specifies a list of fixtures for which the test is to be treated as a setup
+test. These fixture names are distinct from test case names and are not
+required to have any similarity to the names of tests associated with them.
+
+Fixture setup tests are ordinary tests with all of the usual test
+functionality. Setting the ``FIXTURES_SETUP`` property for a test has two
+primary effects:
+
+- CTest will ensure the test executes before any other test which lists the
+  fixture name(s) in its :prop_test:`FIXTURES_REQUIRED` property.
+
+- If CTest is asked to run only a subset of tests (e.g. using regular
+  expressions or the ``--rerun-failed`` option) and the setup test is not in
+  the set of tests to run, it will automatically be added if any tests in the
+  set require any fixture listed in ``FIXTURES_SETUP``.
+
+A setup test can have multiple fixtures listed in its ``FIXTURES_SETUP``
+property. It will execute only once for the whole CTest run, not once for each
+fixture. A fixture can also have more than one setup test defined. If there are
+multiple setup tests for a fixture, projects can control their order with the
+usual :prop_test:`DEPENDS` test property if necessary.
+
+A setup test is allowed to require other fixtures, but not any fixture listed
+in its ``FIXTURES_SETUP`` property. For example:
+
+.. code-block:: cmake
+
+  # Ok: dependent fixture is different to setup
+  set_tests_properties(setupFoo PROPERTIES
+    FIXTURES_SETUP    Foo
+    FIXTURES_REQUIRED Bar
+  )
+
+  # Error: cannot require same fixture as setup
+  set_tests_properties(setupFoo PROPERTIES
+    FIXTURES_SETUP    Foo
+    FIXTURES_REQUIRED Foo
+  )
+
+If any of a fixture's setup tests fail, none of the tests listing that fixture
+in its :prop_test:`FIXTURES_REQUIRED` property will be run. Cleanup tests will,
+however, still be executed.
+
+See :prop_test:`FIXTURES_REQUIRED` for a more complete discussion of how to use
+test fixtures.
diff --git a/share/cmake-3.6/Help/prop_test/LABELS.rst b/share/cmake-3.10/Help/prop_test/LABELS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/LABELS.rst
rename to share/cmake-3.10/Help/prop_test/LABELS.rst
diff --git a/share/cmake-3.6/Help/prop_test/MEASUREMENT.rst b/share/cmake-3.10/Help/prop_test/MEASUREMENT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/MEASUREMENT.rst
rename to share/cmake-3.10/Help/prop_test/MEASUREMENT.rst
diff --git a/share/cmake-3.6/Help/prop_test/PASS_REGULAR_EXPRESSION.rst b/share/cmake-3.10/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
rename to share/cmake-3.10/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
diff --git a/share/cmake-3.10/Help/prop_test/PROCESSORS.rst b/share/cmake-3.10/Help/prop_test/PROCESSORS.rst
new file mode 100644
index 0000000..a1211fb
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/PROCESSORS.rst
@@ -0,0 +1,13 @@
+PROCESSORS
+----------
+
+Set to specify how many process slots this test requires.
+
+Denotes the number of processors that this test will require.  This is
+typically used for MPI tests, and should be used in conjunction with
+the :command:`ctest_test` ``PARALLEL_LEVEL`` option.
+
+This will also be used to display a weighted test timing result in label and
+subproject summaries in the command line output of :manual:`ctest(1)`. The wall
+clock time for the test run will be multiplied by this property to give a
+better idea of how much cpu resource CTest allocated for the test.
diff --git a/share/cmake-3.6/Help/prop_test/REQUIRED_FILES.rst b/share/cmake-3.10/Help/prop_test/REQUIRED_FILES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/REQUIRED_FILES.rst
rename to share/cmake-3.10/Help/prop_test/REQUIRED_FILES.rst
diff --git a/share/cmake-3.10/Help/prop_test/RESOURCE_LOCK.rst b/share/cmake-3.10/Help/prop_test/RESOURCE_LOCK.rst
new file mode 100644
index 0000000..755e0aa
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/RESOURCE_LOCK.rst
@@ -0,0 +1,10 @@
+RESOURCE_LOCK
+-------------
+
+Specify a list of resources that are locked by this test.
+
+If multiple tests specify the same resource lock, they are guaranteed
+not to run concurrently.
+
+See also :prop_test:`FIXTURES_REQUIRED` if the resource requires any setup or
+cleanup steps.
diff --git a/share/cmake-3.6/Help/prop_test/RUN_SERIAL.rst b/share/cmake-3.10/Help/prop_test/RUN_SERIAL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/RUN_SERIAL.rst
rename to share/cmake-3.10/Help/prop_test/RUN_SERIAL.rst
diff --git a/share/cmake-3.6/Help/prop_test/SKIP_RETURN_CODE.rst b/share/cmake-3.10/Help/prop_test/SKIP_RETURN_CODE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/SKIP_RETURN_CODE.rst
rename to share/cmake-3.10/Help/prop_test/SKIP_RETURN_CODE.rst
diff --git a/share/cmake-3.6/Help/prop_test/TIMEOUT.rst b/share/cmake-3.10/Help/prop_test/TIMEOUT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/TIMEOUT.rst
rename to share/cmake-3.10/Help/prop_test/TIMEOUT.rst
diff --git a/share/cmake-3.10/Help/prop_test/TIMEOUT_AFTER_MATCH.rst b/share/cmake-3.10/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
new file mode 100644
index 0000000..d607992
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
@@ -0,0 +1,39 @@
+TIMEOUT_AFTER_MATCH
+-------------------
+
+Change a test's timeout duration after a matching line is encountered
+in its output.
+
+Usage
+^^^^^
+
+.. code-block:: cmake
+
+ add_test(mytest ...)
+ set_property(TEST mytest PROPERTY TIMEOUT_AFTER_MATCH "${seconds}" "${regex}")
+
+Description
+^^^^^^^^^^^
+
+Allow a test ``seconds`` to complete after ``regex`` is encountered in
+its output.
+
+When the test outputs a line that matches ``regex`` its start time is
+reset to the current time and its timeout duration is changed to
+``seconds``.  Prior to this, the timeout duration is determined by the
+:prop_test:`TIMEOUT` property or the :variable:`CTEST_TEST_TIMEOUT`
+variable if either of these are set.  Because the test's start time is
+reset, its execution time will not include any time that was spent
+waiting for the matching output.
+
+:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
+timeouts when your test must wait for some system resource to become
+available before it can execute.  Set :prop_test:`TIMEOUT` to a longer
+duration that accounts for resource acquisition and use
+:prop_test:`TIMEOUT_AFTER_MATCH` to control how long the actual test
+is allowed to run.
+
+If the required resource can be controlled by CTest you should use
+:prop_test:`RESOURCE_LOCK` instead of :prop_test:`TIMEOUT_AFTER_MATCH`.
+This property should be used when only the test itself can determine
+when its required resources are available.
diff --git a/share/cmake-3.6/Help/prop_test/WILL_FAIL.rst b/share/cmake-3.10/Help/prop_test/WILL_FAIL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/WILL_FAIL.rst
rename to share/cmake-3.10/Help/prop_test/WILL_FAIL.rst
diff --git a/share/cmake-3.6/Help/prop_test/WORKING_DIRECTORY.rst b/share/cmake-3.10/Help/prop_test/WORKING_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_test/WORKING_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_test/WORKING_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ALIASED_TARGET.rst b/share/cmake-3.10/Help/prop_tgt/ALIASED_TARGET.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ALIASED_TARGET.rst
rename to share/cmake-3.10/Help/prop_tgt/ALIASED_TARGET.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/ANDROID_API.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_API.rst
new file mode 100644
index 0000000..63464d7
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/ANDROID_API.rst
@@ -0,0 +1,8 @@
+ANDROID_API
+-----------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this property sets the Android target API version (e.g. ``15``).
+The version number must be a positive decimal integer.  This property is
+initialized by the value of the :variable:`CMAKE_ANDROID_API` variable if
+it is set when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_API_MIN.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_API_MIN.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_API_MIN.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_API_MIN.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/ANDROID_ARCH.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_ARCH.rst
new file mode 100644
index 0000000..3e07e5a
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/ANDROID_ARCH.rst
@@ -0,0 +1,18 @@
+ANDROID_ARCH
+------------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this property sets the Android target architecture.
+
+This is a string property that could be set to the one of
+the following values:
+
+* ``armv7-a``: "ARMv7-A (armv7-a)"
+* ``armv7-a-hard``: "ARMv7-A, hard-float ABI (armv7-a)"
+* ``arm64-v8a``: "ARMv8-A, 64bit (arm64-v8a)"
+* ``x86``: "x86 (x86)"
+* ``x86_64``: "x86_64 (x86_64)"
+
+This property is initialized by the value of the
+:variable:`CMAKE_ANDROID_ARCH` variable if it is set
+when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/ANDROID_GUI.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_GUI.rst
new file mode 100644
index 0000000..92e2041
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/ANDROID_GUI.rst
@@ -0,0 +1,15 @@
+ANDROID_GUI
+-----------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this property specifies whether to build an executable as an
+application package on Android.
+
+When this property is set to true the executable when built for Android
+will be created as an application package.  This property is initialized
+by the value of the :variable:`CMAKE_ANDROID_GUI` variable if it is set
+when a target is created.
+
+Add the ``AndroidManifest.xml`` source file explicitly to the
+target :command:`add_executable` command invocation to specify the
+root directory of the application package source.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_PROCESS_MAX.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_PROGUARD.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_PROGUARD.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_PROGUARD.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_PROGUARD.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
rename to share/cmake-3.10/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/ANDROID_STL_TYPE.rst b/share/cmake-3.10/Help/prop_tgt/ANDROID_STL_TYPE.rst
new file mode 100644
index 0000000..386e96e
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/ANDROID_STL_TYPE.rst
@@ -0,0 +1,27 @@
+ANDROID_STL_TYPE
+----------------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this property specifies the type of STL support for the project.
+This is a string property that could set to the one of the following values:
+
+``none``
+  No C++ Support
+``system``
+  Minimal C++ without STL
+``gabi++_static``
+  GAbi++ Static
+``gabi++_shared``
+  GAbi++ Shared
+``gnustl_static``
+  GNU libstdc++ Static
+``gnustl_shared``
+  GNU libstdc++ Shared
+``stlport_static``
+  STLport Static
+``stlport_shared``
+  STLport Shared
+
+This property is initialized by the value of the
+:variable:`CMAKE_ANDROID_STL_TYPE` variable if it is set when a target is
+created.
diff --git a/share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst b/share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst b/share/cmake-3.10/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
new file mode 100644
index 0000000..8db6ede
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
@@ -0,0 +1,17 @@
+AUTOGEN_BUILD_DIR
+-----------------
+
+Directory where :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTOUIC` and :prop_tgt:`AUTORCC`
+generate files for the target.
+
+The directory is created on demand and automatically added to the
+:prop_dir:`ADDITIONAL_MAKE_CLEAN_FILES`.
+
+When unset or empty the directory ``<dir>/<target-name>_autogen`` is used where
+``<dir>`` is :variable:`CMAKE_CURRENT_BINARY_DIR` and ``<target-name>``
+is :prop_tgt:`NAME`.
+
+By default :prop_tgt:`AUTOGEN_BUILD_DIR` is unset.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst b/share/cmake-3.10/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
new file mode 100644
index 0000000..f522c6b
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
@@ -0,0 +1,17 @@
+AUTOGEN_TARGET_DEPENDS
+----------------------
+
+Target dependencies of the corresponding ``_autogen`` target.
+
+Targets which have their :prop_tgt:`AUTOMOC` target ``ON`` have a
+corresponding ``_autogen`` target which is used to autogenerate generate moc
+files.  As this ``_autogen`` target is created at generate-time, it is not
+possible to define dependencies of it, such as to create inputs for the ``moc``
+executable.
+
+The ``AUTOGEN_TARGET_DEPENDS`` target property can be set instead to a list of
+dependencies for the ``_autogen`` target.  The buildsystem will be generated to
+depend on its contents.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOMOC.rst b/share/cmake-3.10/Help/prop_tgt/AUTOMOC.rst
new file mode 100644
index 0000000..9e5261f
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOMOC.rst
@@ -0,0 +1,86 @@
+AUTOMOC
+-------
+
+Should the target be processed with automoc (for Qt projects).
+
+AUTOMOC is a boolean specifying whether CMake will handle the Qt ``moc``
+preprocessor automatically, i.e.  without having to use the
+:module:`QT4_WRAP_CPP() <FindQt4>` or QT5_WRAP_CPP() macro.
+Currently Qt4 and Qt5 are supported.
+
+When this property is set ``ON``, CMake will scan the header and
+source files at build time and invoke moc accordingly.
+
+* If an ``#include`` statement like ``#include "moc_<basename>.cpp"`` is found,
+  a macro from :prop_tgt:`AUTOMOC_MACRO_NAMES` is expected to appear in the
+  ``<basename>.h(xx)`` header file. ``moc`` is run on the header
+  file to generate ``moc_<basename>.cpp`` in the
+  ``<AUTOGEN_BUILD_DIR>/include`` directory which is automatically added
+  to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
+  This allows the compiler to find the included ``moc_<basename>.cpp`` file
+  regardless of the location the original source.
+
+  * For :prop_gbl:`multi configuration generators <GENERATOR_IS_MULTI_CONFIG>`,
+    the include directory is ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
+
+  * See :prop_tgt:`AUTOGEN_BUILD_DIR`.
+
+* If an ``#include`` statement like ``#include "<basename>.moc"`` is found,
+  a macro from :prop_tgt:`AUTOMOC_MACRO_NAMES` is expected to appear in the
+  source file and ``moc`` is run on the source file itself.
+
+* Header files that are not included by an ``#include "moc_<basename>.cpp"``
+  statement are nonetheless scanned for a macro out of
+  :prop_tgt:`AUTOMOC_MACRO_NAMES`.
+  The resulting ``moc_<basename>.cpp`` files are generated in custom
+  directories and automatically included in a generated
+  ``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file,
+  which is compiled as part of the target.
+
+  * The custom directories with checksum
+    based names help to avoid name collisions for ``moc`` files with the same
+    ``<basename>``.
+
+  * See :prop_tgt:`AUTOGEN_BUILD_DIR`.
+
+* Additionally, header files with the same base name as a source file,
+  (like ``<basename>.h``) or ``_p`` appended to the base name (like
+  ``<basename>_p.h``), are scanned for a macro out of
+  :prop_tgt:`AUTOMOC_MACRO_NAMES`, and if found, ``moc``
+  is also executed on those files.
+
+* ``AUTOMOC`` always checks multiple header alternative extensions,
+  such as ``hpp``, ``hxx``, etc. when searching for headers.
+
+* ``AUTOMOC`` looks for the ``Q_PLUGIN_METADATA`` macro and reruns the
+  ``moc`` when the file addressed by the ``FILE`` argument of the macro changes.
+
+This property is initialized by the value of the :variable:`CMAKE_AUTOMOC`
+variable if it is set when a target is created.
+
+Additional command line options for ``moc`` can be set via the
+:prop_tgt:`AUTOMOC_MOC_OPTIONS` property.
+
+By enabling the :variable:`CMAKE_AUTOMOC_RELAXED_MODE` variable the
+rules for searching the files which will be processed by ``moc`` can be relaxed.
+See the documentation for this variable for more details.
+
+The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
+automoc targets together in an IDE, e.g.  in MSVS.
+
+The global property :prop_gbl:`AUTOGEN_SOURCE_GROUP` can be used to group
+files generated by :prop_tgt:`AUTOMOC` together in an IDE, e.g.  in MSVS.
+
+Additional macro names to search for can be added to :prop_tgt:`AUTOMOC_MACRO_NAMES`.
+
+Additional ``moc`` dependency file names can be extracted from source code
+by using :prop_tgt:`AUTOMOC_DEPEND_FILTERS`.
+
+Compiler pre definitions for ``moc`` are written to a ``moc_predefs.h`` file
+which is controlled by :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES`.
+
+Source C++ files can be excluded from :prop_tgt:`AUTOMOC` processing by
+enabling :prop_sf:`SKIP_AUTOMOC` or the broader :prop_sf:`SKIP_AUTOGEN`.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst
new file mode 100644
index 0000000..57a647f
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst
@@ -0,0 +1,24 @@
+AUTOMOC_COMPILER_PREDEFINES
+---------------------------
+
+Boolean value used by :prop_tgt:`AUTOMOC` to determine if the
+compiler pre definitions file ``moc_predefs.h`` should be generated.
+
+CMake generates a ``moc_predefs.h`` file with compiler pre definitions
+from the output of the command defined in
+:variable:`CMAKE_CXX_COMPILER_PREDEFINES_COMMAND <CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND>`
+when
+
+- :prop_tgt:`AUTOMOC` is enabled,
+- :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES` is enabled,
+- :variable:`CMAKE_CXX_COMPILER_PREDEFINES_COMMAND <CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND>` isn't empty and
+- the Qt version is greater or equal 5.8.
+
+The ``moc_predefs.h`` file, which is generated in :prop_tgt:`AUTOGEN_BUILD_DIR`,
+is passed to ``moc`` as the argument to the ``--include`` option.
+
+By default :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES` is initialized from
+:variable:`CMAKE_AUTOMOC_COMPILER_PREDEFINES`, which is ON by default.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
new file mode 100644
index 0000000..b738ecf
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
@@ -0,0 +1,45 @@
+AUTOMOC_DEPEND_FILTERS
+----------------------
+
+Filter definitions used by :prop_tgt:`AUTOMOC` to extract file names from
+source code as additional dependencies for the ``moc`` file.
+
+This property is only used if the :prop_tgt:`AUTOMOC` property is ``ON``
+for this target.
+
+Filters are defined as ``KEYWORD;REGULAR_EXPRESSION`` pairs. First the file
+content is searched for ``KEYWORD``. If it is found at least once, then file
+names are extracted by successively searching for ``REGULAR_EXPRESSION`` and
+taking the first match group.
+
+Consider a filter extracts the file name ``DEP`` from the content of a file
+``FOO``. If ``DEP`` changes, then the ``moc`` file for ``FOO`` gets rebuilt.
+The file ``DEP`` is searched for first in the vicinity
+of ``FOO`` and afterwards in the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
+
+By default :prop_tgt:`AUTOMOC_DEPEND_FILTERS` is initialized from
+:variable:`CMAKE_AUTOMOC_DEPEND_FILTERS`, which is empty by default.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
+
+
+Example
+^^^^^^^
+
+Consider a file ``FOO.hpp`` holds a custom macro ``OBJ_JSON_FILE`` and we
+want the ``moc`` file to depend on the macro`s file name argument::
+
+  class My_Class : public QObject
+  {
+    Q_OBJECT
+    OBJ_JSON_FILE ( "DEP.json" )
+  ...
+  };
+
+Then we might use :variable:`CMAKE_AUTOMOC_DEPEND_FILTERS` to
+define a filter like this::
+
+  set(CMAKE_AUTOMOC_DEPEND_FILTERS
+    "OBJ_JSON_FILE" "[\n][ \t]*OBJ_JSON_FILE[ \t]*\\([ \t]*\"([^\"]+)\""
+  )
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst
new file mode 100644
index 0000000..a5ad9d5
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst
@@ -0,0 +1,32 @@
+AUTOMOC_MACRO_NAMES
+-------------------
+
+A :ref:`;-list <CMake Language Lists>` list of macro names used by
+:prop_tgt:`AUTOMOC` to determine if a C++ file needs to be processed by ``moc``.
+
+This property is only used if the :prop_tgt:`AUTOMOC` property is ``ON``
+for this target.
+
+When running :prop_tgt:`AUTOMOC`, CMake searches for the strings listed in
+:prop_tgt:`AUTOMOC_MACRO_NAMES` in C++ source and header files.
+If any of the strings is found
+
+- as the first non space string on a new line or
+- as the first non space string after a ``{`` on a new line,
+
+then the file will be processed by ``moc``.
+
+By default :prop_tgt:`AUTOMOC_MACRO_NAMES` is initialized from
+:variable:`CMAKE_AUTOMOC_MACRO_NAMES`.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
+
+Example
+^^^^^^^
+
+In this case the the ``Q_OBJECT`` macro is hidden inside an other macro
+called ``CUSTOM_MACRO``. To let CMake know that source files, that contain
+``CUSTOM_MACRO``, need to be ``moc`` processed, we call::
+
+  set_property(TARGET tgt APPEND PROPERTY AUTOMOC_MACRO_NAMES "CUSTOM_MACRO")
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTORCC.rst b/share/cmake-3.10/Help/prop_tgt/AUTORCC.rst
new file mode 100644
index 0000000..c0f6a26
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTORCC.rst
@@ -0,0 +1,34 @@
+AUTORCC
+-------
+
+Should the target be processed with autorcc (for Qt projects).
+
+``AUTORCC`` is a boolean specifying whether CMake will handle
+the Qt ``rcc`` code generator automatically, i.e. without having to use
+the :module:`QT4_ADD_RESOURCES() <FindQt4>` or ``QT5_ADD_RESOURCES()``
+macro.  Currently Qt4 and Qt5 are supported.
+
+When this property is ``ON``, CMake will handle ``.qrc`` files added
+as target sources at build time and invoke ``rcc`` accordingly.
+This property is initialized by the value of the :variable:`CMAKE_AUTORCC`
+variable if it is set when a target is created.
+
+Additional command line options for rcc can be set via the
+:prop_sf:`AUTORCC_OPTIONS` source file property on the ``.qrc`` file.
+
+The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group
+the autorcc targets together in an IDE, e.g. in MSVS.
+
+The global property :prop_gbl:`AUTOGEN_SOURCE_GROUP` can be used to group
+files generated by :prop_tgt:`AUTORCC` together in an IDE, e.g.  in MSVS.
+
+When there are multiple ``.qrc`` files with the same name, CMake will
+generate unspecified unique names for ``rcc``.  Therefore if
+``Q_INIT_RESOURCE()`` or ``Q_CLEANUP_RESOURCE()`` need to be used the
+``.qrc`` file name must be unique.
+
+Source files can be excluded from :prop_tgt:`AUTORCC` processing by
+enabling :prop_sf:`SKIP_AUTORCC` or the broader :prop_sf:`SKIP_AUTOGEN`.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTORCC_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/AUTORCC_OPTIONS.rst
new file mode 100644
index 0000000..d6ade5a
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTORCC_OPTIONS.rst
@@ -0,0 +1,30 @@
+AUTORCC_OPTIONS
+---------------
+
+Additional options for ``rcc`` when using :prop_tgt:`AUTORCC`
+
+This property holds additional command line options which will be used
+when ``rcc`` is executed during the build via :prop_tgt:`AUTORCC`,
+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.
+
+The options set on the target may be overridden by :prop_sf:`AUTORCC_OPTIONS`
+set on the ``.qrc`` source file.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(TARGET tgt PROPERTY AUTORCC_OPTIONS "--compress;9")
+  # ...
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOUIC.rst b/share/cmake-3.10/Help/prop_tgt/AUTOUIC.rst
new file mode 100644
index 0000000..1791384
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOUIC.rst
@@ -0,0 +1,37 @@
+AUTOUIC
+-------
+
+Should the target be processed with autouic (for Qt projects).
+
+``AUTOUIC`` is a boolean specifying whether CMake will handle
+the Qt ``uic`` code generator automatically, i.e. without having to use
+the :module:`QT4_WRAP_UI() <FindQt4>` or ``QT5_WRAP_UI()`` macro. Currently
+Qt4 and Qt5 are supported.
+
+When this property is ``ON``, CMake will scan the source files at build time
+and invoke ``uic`` accordingly.  If an ``#include`` statement like
+``#include "ui_foo.h"`` is found in ``source.cpp``, a ``foo.ui`` file is
+searched for first in the vicinity of ``source.cpp`` and afterwards in the
+optional :prop_tgt:`AUTOUIC_SEARCH_PATHS` of the target.
+``uic`` is run on the ``foo.ui`` file to generate ``ui_foo.h`` in the directory
+``<AUTOGEN_BUILD_DIR>/include``,
+which is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
+
+* For :prop_gbl:`multi configuration generators <GENERATOR_IS_MULTI_CONFIG>`,
+  the include directory is ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
+
+* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
+
+This property is initialized by the value of the :variable:`CMAKE_AUTOUIC`
+variable if it is set when a target is created.
+
+Additional command line options for ``uic`` can be set via the
+:prop_sf:`AUTOUIC_OPTIONS` source file property on the ``foo.ui`` file.
+The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
+autouic targets together in an IDE, e.g. in MSVS.
+
+Source files can be excluded from :prop_tgt:`AUTOUIC` processing by
+enabling :prop_sf:`SKIP_AUTOUIC` or the broader :prop_sf:`SKIP_AUTOGEN`.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOUIC_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/AUTOUIC_OPTIONS.rst
new file mode 100644
index 0000000..3f613b9
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOUIC_OPTIONS.rst
@@ -0,0 +1,34 @@
+AUTOUIC_OPTIONS
+---------------
+
+Additional options for ``uic`` when using :prop_tgt:`AUTOUIC`
+
+This property holds additional command line options which will be used when
+``uic`` is executed during the build via :prop_tgt:`AUTOUIC`, i.e. it is
+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.
+
+The options set on the target may be overridden by :prop_sf:`AUTOUIC_OPTIONS`
+set on the ``.ui`` source file.
+
+This property may use "generator expressions" with the syntax ``$<...>``.
+See the :manual:`cmake-generator-expressions(7)` manual for available
+expressions.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(TARGET tgt PROPERTY AUTOUIC_OPTIONS "--no-protection")
+  # ...
diff --git a/share/cmake-3.10/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst b/share/cmake-3.10/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst
new file mode 100644
index 0000000..96d9f89
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst
@@ -0,0 +1,12 @@
+AUTOUIC_SEARCH_PATHS
+--------------------
+
+Search path list used by :prop_tgt:`AUTOUIC` to find included
+``.ui`` files.
+
+This property is initialized by the value of the
+:variable:`CMAKE_AUTOUIC_SEARCH_PATHS` variable if it is set
+when a target is created. Otherwise it is empty.
+
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
+with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/BINARY_DIR.rst b/share/cmake-3.10/Help/prop_tgt/BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/BINARY_DIR.rst
rename to share/cmake-3.10/Help/prop_tgt/BINARY_DIR.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/BUILD_RPATH.rst b/share/cmake-3.10/Help/prop_tgt/BUILD_RPATH.rst
new file mode 100644
index 0000000..27393f5
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/BUILD_RPATH.rst
@@ -0,0 +1,10 @@
+BUILD_RPATH
+-----------
+
+A :ref:`;-list <CMake Language Lists>` specifying runtime path (``RPATH``)
+entries to add to binaries linked in the build tree (for platforms that
+support it).  The entries will *not* be used for binaries in the install
+tree.  See also the :prop_tgt:`INSTALL_RPATH` target property.
+
+This property is initialized by the value of the variable
+:variable:`CMAKE_BUILD_RPATH` if it is set when a target is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst b/share/cmake-3.10/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
new file mode 100644
index 0000000..bbb9a24
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
@@ -0,0 +1,13 @@
+BUILD_WITH_INSTALL_NAME_DIR
+---------------------------
+
+``BUILD_WITH_INSTALL_NAME_DIR`` is a boolean specifying whether the macOS
+``install_name`` of a target in the build tree uses the directory given by
+:prop_tgt:`INSTALL_NAME_DIR`.  This setting only applies to targets on macOS.
+
+This property is initialized by the value of the variable
+:variable:`CMAKE_BUILD_WITH_INSTALL_NAME_DIR` if it is set when a target is
+created.
+
+If this property is not set and policy :policy:`CMP0068` is not ``NEW``, the
+value of :prop_tgt:`BUILD_WITH_INSTALL_RPATH` is used in its place.
diff --git a/share/cmake-3.10/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst b/share/cmake-3.10/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
new file mode 100644
index 0000000..0244351
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
@@ -0,0 +1,15 @@
+BUILD_WITH_INSTALL_RPATH
+------------------------
+
+``BUILD_WITH_INSTALL_RPATH`` is a boolean specifying whether to link the target
+in the build tree with the :prop_tgt:`INSTALL_RPATH`.  This takes precedence
+over :prop_tgt:`SKIP_BUILD_RPATH` and avoids the need for relinking before
+installation.
+
+This property is initialized by the value of the
+:variable:`CMAKE_BUILD_WITH_INSTALL_RPATH` variable if it is set when a target
+is created.
+
+If policy :policy:`CMP0068` is not ``NEW``, this property also controls use of
+:prop_tgt:`INSTALL_NAME_DIR` in the build tree on macOS.  Either way, the
+:prop_tgt:`BUILD_WITH_INSTALL_NAME_DIR` target property takes precedence.
diff --git a/share/cmake-3.6/Help/prop_tgt/BUNDLE.rst b/share/cmake-3.10/Help/prop_tgt/BUNDLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/BUNDLE.rst
rename to share/cmake-3.10/Help/prop_tgt/BUNDLE.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/BUNDLE_EXTENSION.rst b/share/cmake-3.10/Help/prop_tgt/BUNDLE_EXTENSION.rst
new file mode 100644
index 0000000..6b3d580
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/BUNDLE_EXTENSION.rst
@@ -0,0 +1,8 @@
+BUNDLE_EXTENSION
+----------------
+
+The file extension used to name a :prop_tgt:`BUNDLE`, a :prop_tgt:`FRAMEWORK`,
+or a :prop_tgt:`MACOSX_BUNDLE` target on the OS X and iOS.
+
+The default value is ``bundle``, ``framework``, or ``app`` for the respective
+target types.
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst b/share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst b/share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst b/share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst b/share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_DEFINITIONS.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_DEFINITIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_FEATURES.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_FEATURES.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_FEATURES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_FLAGS.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_FLAGS.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_FLAGS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_OPTIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_NAME.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_NOTE.txt b/share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_NOTE.txt
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_NOTE.txt
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_NOTE.txt
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst b/share/cmake-3.10/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/CONFIG_POSTFIX.rst b/share/cmake-3.10/Help/prop_tgt/CONFIG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/CONFIG_POSTFIX.rst
rename to share/cmake-3.10/Help/prop_tgt/CONFIG_POSTFIX.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst b/share/cmake-3.10/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
new file mode 100644
index 0000000..a0811bc
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
@@ -0,0 +1,11 @@
+CROSSCOMPILING_EMULATOR
+-----------------------
+
+Use the given emulator to run executables created when crosscompiling.
+This command will be added as a prefix to :command:`add_test`,
+:command:`add_custom_command`, and :command:`add_custom_target` commands
+for built target system executables.
+
+This property is initialized by the value of the
+:variable:`CMAKE_CROSSCOMPILING_EMULATOR` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/CUDA_EXTENSIONS.rst b/share/cmake-3.10/Help/prop_tgt/CUDA_EXTENSIONS.rst
new file mode 100644
index 0000000..098ca3c
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CUDA_EXTENSIONS.rst
@@ -0,0 +1,17 @@
+CUDA_EXTENSIONS
+---------------
+
+Boolean specifying whether compiler specific extensions are requested.
+
+This property specifies whether compiler specific extensions should be
+used.  For some compilers, this results in adding a flag such
+as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line.  This
+property is ``ON`` by default. The basic CUDA/C++ standard level is
+controlled by the :prop_tgt:`CUDA_STANDARD` target property.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_CUDA_EXTENSIONS` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/CUDA_PTX_COMPILATION.rst b/share/cmake-3.10/Help/prop_tgt/CUDA_PTX_COMPILATION.rst
new file mode 100644
index 0000000..0ee372b
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CUDA_PTX_COMPILATION.rst
@@ -0,0 +1,12 @@
+CUDA_PTX_COMPILATION
+--------------------
+
+Compile CUDA sources to ``.ptx`` files instead of ``.obj`` files
+within :ref:`Object Libraries`.
+
+For example:
+
+.. code-block:: cmake
+
+  add_library(myptx OBJECT a.cu b.cu)
+  set_property(TARGET myptx PROPERTY CUDA_PTX_COMPILATION ON)
diff --git a/share/cmake-3.10/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst b/share/cmake-3.10/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst
new file mode 100644
index 0000000..127d79f
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst
@@ -0,0 +1,15 @@
+CUDA_RESOLVE_DEVICE_SYMBOLS
+---------------------------
+
+CUDA only: Enables device linking for the specific static library target
+
+If set this will enable device linking on this static library target. Normally
+device linking is deferred until a shared library or executable is generated,
+allowing for multiple static libraries to resolve device symbols at the same
+time.
+
+For instance:
+
+.. code-block:: cmake
+
+  set_property(TARGET mystaticlib PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
diff --git a/share/cmake-3.10/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst b/share/cmake-3.10/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
new file mode 100644
index 0000000..1c7dd80
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
@@ -0,0 +1,13 @@
+CUDA_SEPARABLE_COMPILATION
+--------------------------
+
+CUDA only: Enables separate compilation of device code
+
+If set this will enable separable compilation for all CUDA files for
+the given target.
+
+For instance:
+
+.. code-block:: cmake
+
+  set_property(TARGET myexe PROPERTY CUDA_SEPARABLE_COMPILATION ON)
diff --git a/share/cmake-3.10/Help/prop_tgt/CUDA_STANDARD.rst b/share/cmake-3.10/Help/prop_tgt/CUDA_STANDARD.rst
new file mode 100644
index 0000000..a3a2f56
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CUDA_STANDARD.rst
@@ -0,0 +1,32 @@
+CUDA_STANDARD
+-------------
+
+The CUDA/C++ standard whose features are requested to build this target.
+
+This property specifies the CUDA/C++ standard whose features are requested
+to build this target.  For some compilers, this results in adding a
+flag such as ``-std=gnu++11`` to the compile line.
+
+Supported values are ``98``, ``11``, ``14``.
+
+If the value requested does not result in a compile flag being added for
+the compiler in use, a previous standard flag will be added instead.  This
+means that using:
+
+.. code-block:: cmake
+
+  set_property(TARGET tgt PROPERTY CUDA_STANDARD 11)
+
+with a compiler which does not support ``-std=gnu++11`` or an equivalent
+flag will not result in an error or warning, but will instead add the
+``-std=gnu++98`` flag if supported.  This "decay" behavior may be controlled
+with the :prop_tgt:`CUDA_STANDARD_REQUIRED` target property.
+Additionally, the :prop_tgt:`CUDA_EXTENSIONS` target property may be used to
+control whether compiler-specific extensions are enabled on a per-target basis.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_CUDA_STANDARD` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst b/share/cmake-3.10/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
new file mode 100644
index 0000000..b2d5b28
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
@@ -0,0 +1,18 @@
+CUDA_STANDARD_REQUIRED
+----------------------
+
+Boolean describing whether the value of :prop_tgt:`CUDA_STANDARD` is a requirement.
+
+If this property is set to ``ON``, then the value of the
+:prop_tgt:`CUDA_STANDARD` target property is treated as a requirement.  If this
+property is ``OFF`` or unset, the :prop_tgt:`CUDA_STANDARD` target property is
+treated as optional and may "decay" to a previous standard if the requested is
+not available.  For compilers that have no notion of a standard level, such as
+MSVC, this has no effect.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_CUDA_STANDARD_REQUIRED` variable if it is set when a
+target is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/CXX_EXTENSIONS.rst b/share/cmake-3.10/Help/prop_tgt/CXX_EXTENSIONS.rst
new file mode 100644
index 0000000..280bb3a
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CXX_EXTENSIONS.rst
@@ -0,0 +1,17 @@
+CXX_EXTENSIONS
+--------------
+
+Boolean specifying whether compiler specific extensions are requested.
+
+This property specifies whether compiler specific extensions should be
+used.  For some compilers, this results in adding a flag such
+as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line.  This
+property is ``ON`` by default. The basic C++ standard level is
+controlled by the :prop_tgt:`CXX_STANDARD` target property.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_CXX_EXTENSIONS` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/CXX_STANDARD.rst b/share/cmake-3.10/Help/prop_tgt/CXX_STANDARD.rst
new file mode 100644
index 0000000..0762033
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/CXX_STANDARD.rst
@@ -0,0 +1,34 @@
+CXX_STANDARD
+------------
+
+The C++ standard whose features are requested to build this target.
+
+This property specifies the C++ standard whose features are requested
+to build this target.  For some compilers, this results in adding a
+flag such as ``-std=gnu++11`` to the compile line.  For compilers that
+have no notion of a standard level, such as Microsoft Visual C++ before
+2015 Update 3, this has no effect.
+
+Supported values are ``98``, ``11``, ``14``, and ``17``.
+
+If the value requested does not result in a compile flag being added for
+the compiler in use, a previous standard flag will be added instead.  This
+means that using:
+
+.. code-block:: cmake
+
+  set_property(TARGET tgt PROPERTY CXX_STANDARD 11)
+
+with a compiler which does not support ``-std=gnu++11`` or an equivalent
+flag will not result in an error or warning, but will instead add the
+``-std=gnu++98`` flag if supported.  This "decay" behavior may be controlled
+with the :prop_tgt:`CXX_STANDARD_REQUIRED` target property.
+Additionally, the :prop_tgt:`CXX_EXTENSIONS` target property may be used to
+control whether compiler-specific extensions are enabled on a per-target basis.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_CXX_STANDARD` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst b/share/cmake-3.10/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
rename to share/cmake-3.10/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/C_EXTENSIONS.rst b/share/cmake-3.10/Help/prop_tgt/C_EXTENSIONS.rst
new file mode 100644
index 0000000..05b14ce
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/C_EXTENSIONS.rst
@@ -0,0 +1,17 @@
+C_EXTENSIONS
+------------
+
+Boolean specifying whether compiler specific extensions are requested.
+
+This property specifies whether compiler specific extensions should be
+used.  For some compilers, this results in adding a flag such
+as ``-std=gnu11`` instead of ``-std=c11`` to the compile line.  This
+property is ``ON`` by default. The basic C standard level is
+controlled by the :prop_tgt:`C_STANDARD` target property.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_C_EXTENSIONS` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/C_STANDARD.rst b/share/cmake-3.10/Help/prop_tgt/C_STANDARD.rst
new file mode 100644
index 0000000..e7f7904
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/C_STANDARD.rst
@@ -0,0 +1,34 @@
+C_STANDARD
+----------
+
+The C standard whose features are requested to build this target.
+
+This property specifies the C standard whose features are requested
+to build this target.  For some compilers, this results in adding a
+flag such as ``-std=gnu11`` to the compile line.  For compilers that
+have no notion of a standard level, such as Microsoft Visual C++ before
+2015 Update 3, this has no effect.
+
+Supported values are ``90``, ``99`` and ``11``.
+
+If the value requested does not result in a compile flag being added for
+the compiler in use, a previous standard flag will be added instead.  This
+means that using:
+
+.. code-block:: cmake
+
+  set_property(TARGET tgt PROPERTY C_STANDARD 11)
+
+with a compiler which does not support ``-std=gnu11`` or an equivalent
+flag will not result in an error or warning, but will instead add the
+``-std=gnu99`` or ``-std=gnu90`` flag if supported.  This "decay" behavior may
+be controlled with the :prop_tgt:`C_STANDARD_REQUIRED` target property.
+Additionally, the :prop_tgt:`C_EXTENSIONS` target property may be used to
+control whether compiler-specific extensions are enabled on a per-target basis.
+
+See the :manual:`cmake-compile-features(7)` manual for information on
+compile features and a list of supported compilers.
+
+This property is initialized by the value of
+the :variable:`CMAKE_C_STANDARD` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/C_STANDARD_REQUIRED.rst b/share/cmake-3.10/Help/prop_tgt/C_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/C_STANDARD_REQUIRED.rst
rename to share/cmake-3.10/Help/prop_tgt/C_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/DEBUG_POSTFIX.rst b/share/cmake-3.10/Help/prop_tgt/DEBUG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/DEBUG_POSTFIX.rst
rename to share/cmake-3.10/Help/prop_tgt/DEBUG_POSTFIX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/DEFINE_SYMBOL.rst b/share/cmake-3.10/Help/prop_tgt/DEFINE_SYMBOL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/DEFINE_SYMBOL.rst
rename to share/cmake-3.10/Help/prop_tgt/DEFINE_SYMBOL.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/ENABLE_EXPORTS.rst b/share/cmake-3.10/Help/prop_tgt/ENABLE_EXPORTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/ENABLE_EXPORTS.rst
rename to share/cmake-3.10/Help/prop_tgt/ENABLE_EXPORTS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_ALL.rst b/share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
rename to share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst b/share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
new file mode 100644
index 0000000..a14e48c
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
@@ -0,0 +1,8 @@
+EXCLUDE_FROM_DEFAULT_BUILD
+--------------------------
+
+Exclude target from "Build Solution".
+
+This property is only used by Visual Studio generators.
+When set to TRUE, the target will not be built when you press "Build
+Solution".
diff --git a/share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/EXPORT_NAME.rst b/share/cmake-3.10/Help/prop_tgt/EXPORT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/EXPORT_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/EXPORT_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/EchoString.rst b/share/cmake-3.10/Help/prop_tgt/EchoString.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/EchoString.rst
rename to share/cmake-3.10/Help/prop_tgt/EchoString.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/FOLDER.rst b/share/cmake-3.10/Help/prop_tgt/FOLDER.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/FOLDER.rst
rename to share/cmake-3.10/Help/prop_tgt/FOLDER.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/FRAMEWORK.rst b/share/cmake-3.10/Help/prop_tgt/FRAMEWORK.rst
new file mode 100644
index 0000000..495d30e
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/FRAMEWORK.rst
@@ -0,0 +1,35 @@
+FRAMEWORK
+---------
+
+Build ``SHARED`` or ``STATIC`` library as Framework Bundle on the OS X and iOS.
+
+If such a library target has this property set to ``TRUE`` it will be
+built as a framework when built on the OS X and iOS.  It will have the
+directory structure required for a framework and will be suitable to
+be used with the ``-framework`` option
+
+To customize ``Info.plist`` file in the framework, use
+:prop_tgt:`MACOSX_FRAMEWORK_INFO_PLIST` target property.
+
+For OS X see also the :prop_tgt:`FRAMEWORK_VERSION` target property.
+
+Example of creation ``dynamicFramework``:
+
+.. code-block:: cmake
+
+  add_library(dynamicFramework SHARED
+              dynamicFramework.c
+              dynamicFramework.h
+  )
+  set_target_properties(dynamicFramework PROPERTIES
+    FRAMEWORK TRUE
+    FRAMEWORK_VERSION C
+    MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
+    MACOSX_FRAMEWORK_INFO_PLIST Info.plist
+    # "current version" in semantic format in Mach-O binary file
+    VERSION 16.4.0
+    # "compatibility version" in semantic format in Mach-O binary file
+    SOVERSION 1.0.0
+    PUBLIC_HEADER dynamicFramework.h
+    XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
+  )
diff --git a/share/cmake-3.6/Help/prop_tgt/FRAMEWORK_VERSION.rst b/share/cmake-3.10/Help/prop_tgt/FRAMEWORK_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/FRAMEWORK_VERSION.rst
rename to share/cmake-3.10/Help/prop_tgt/FRAMEWORK_VERSION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/Fortran_FORMAT.rst b/share/cmake-3.10/Help/prop_tgt/Fortran_FORMAT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/Fortran_FORMAT.rst
rename to share/cmake-3.10/Help/prop_tgt/Fortran_FORMAT.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/GENERATOR_FILE_NAME.rst b/share/cmake-3.10/Help/prop_tgt/GENERATOR_FILE_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/GENERATOR_FILE_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/GENERATOR_FILE_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/GNUtoMS.rst b/share/cmake-3.10/Help/prop_tgt/GNUtoMS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/GNUtoMS.rst
rename to share/cmake-3.10/Help/prop_tgt/GNUtoMS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/HAS_CXX.rst b/share/cmake-3.10/Help/prop_tgt/HAS_CXX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/HAS_CXX.rst
rename to share/cmake-3.10/Help/prop_tgt/HAS_CXX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst b/share/cmake-3.10/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_IMPLIB.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_IMPLIB.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_IMPLIB.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_IMPLIB.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/IMPORTED_LIBNAME.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LIBNAME.rst
new file mode 100644
index 0000000..1943dba
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LIBNAME.rst
@@ -0,0 +1,23 @@
+IMPORTED_LIBNAME
+----------------
+
+Specify the link library name for an :ref:`imported <Imported Targets>`
+:ref:`Interface Library <Interface Libraries>`.
+
+An interface library builds no library file itself but does specify
+usage requirements for its consumers.  The ``IMPORTED_LIBNAME``
+property may be set to specify a single library name to be placed
+on the link line in place of the interface library target name as
+a requirement for using the interface.
+
+This property is intended for use in naming libraries provided by
+a platform SDK for which the full path to a library file may not
+be known.  The value may be a plain library name such as ``foo``
+but may *not* be a path (e.g. ``/usr/lib/libfoo.so``) or a flag
+(e.g. ``-Wl,...``).  The name is never treated as a library target
+name even if it happens to name one.
+
+The ``IMPORTED_LIBNAME`` property is allowed only on
+:ref:`imported <Imported Targets>` :ref:`Interface Libraries`
+and is rejected on targets of other types (for which
+the :prop_tgt:`IMPORTED_LOCATION` target property may be used).
diff --git a/share/cmake-3.10/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
new file mode 100644
index 0000000..a28b838
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
@@ -0,0 +1,7 @@
+IMPORTED_LIBNAME_<CONFIG>
+-------------------------
+
+<CONFIG>-specific version of :prop_tgt:`IMPORTED_LIBNAME` property.
+
+Configuration names correspond to those provided by the project from
+which the target is imported.
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LOCATION.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LOCATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LOCATION.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LOCATION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_NO_SONAME.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_NO_SONAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_NO_SONAME.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_NO_SONAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/IMPORTED_OBJECTS.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_OBJECTS.rst
new file mode 100644
index 0000000..222e6cc
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/IMPORTED_OBJECTS.rst
@@ -0,0 +1,11 @@
+IMPORTED_OBJECTS
+----------------
+
+:ref:`;-list <CMake Language Lists>` of absolute paths to the object
+files on disk for an :ref:`imported <Imported targets>`
+:ref:`object library <object libraries>`.
+
+Ignored for non-imported targets.
+
+Projects may skip ``IMPORTED_OBJECTS`` if the configuration-specific
+property :prop_tgt:`IMPORTED_OBJECTS_<CONFIG>` is set instead.
diff --git a/share/cmake-3.10/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst
new file mode 100644
index 0000000..4419ed1
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst
@@ -0,0 +1,7 @@
+IMPORTED_OBJECTS_<CONFIG>
+-------------------------
+
+<CONFIG>-specific version of :prop_tgt:`IMPORTED_OBJECTS` property.
+
+Configuration names correspond to those provided by the project from
+which the target is imported.
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_SONAME.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_SONAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_SONAME.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_SONAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORT_PREFIX.rst b/share/cmake-3.10/Help/prop_tgt/IMPORT_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORT_PREFIX.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORT_PREFIX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/IMPORT_SUFFIX.rst b/share/cmake-3.10/Help/prop_tgt/IMPORT_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IMPORT_SUFFIX.rst
rename to share/cmake-3.10/Help/prop_tgt/IMPORT_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INSTALL_NAME_DIR.rst b/share/cmake-3.10/Help/prop_tgt/INSTALL_NAME_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INSTALL_NAME_DIR.rst
rename to share/cmake-3.10/Help/prop_tgt/INSTALL_NAME_DIR.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INSTALL_RPATH.rst b/share/cmake-3.10/Help/prop_tgt/INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INSTALL_RPATH.rst
rename to share/cmake-3.10/Help/prop_tgt/INSTALL_RPATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst b/share/cmake-3.10/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
rename to share/cmake-3.10/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt b/share/cmake-3.10/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_SOURCES.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_SOURCES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_SOURCES.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_SOURCES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.10/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.10/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
new file mode 100644
index 0000000..3f68c31
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
@@ -0,0 +1,11 @@
+INTERPROCEDURAL_OPTIMIZATION
+----------------------------
+
+Enable interprocedural optimization for a target.
+
+If set to true, enables interprocedural optimizations if they are
+known to be supported by the compiler.
+
+This property is initialized by the
+:variable:`CMAKE_INTERPROCEDURAL_OPTIMIZATION` variable if it is set when a
+target is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
new file mode 100644
index 0000000..782b0f0
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
@@ -0,0 +1,12 @@
+INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
+-------------------------------------
+
+Per-configuration interprocedural optimization for a target.
+
+This is a per-configuration version of INTERPROCEDURAL_OPTIMIZATION.
+If set, this property overrides the generic property for the named
+configuration.
+
+This property is initialized by the
+:variable:`CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>` variable if it is set
+when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/IOS_INSTALL_COMBINED.rst b/share/cmake-3.10/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
rename to share/cmake-3.10/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/JOB_POOL_COMPILE.rst b/share/cmake-3.10/Help/prop_tgt/JOB_POOL_COMPILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/JOB_POOL_COMPILE.rst
rename to share/cmake-3.10/Help/prop_tgt/JOB_POOL_COMPILE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/JOB_POOL_LINK.rst b/share/cmake-3.10/Help/prop_tgt/JOB_POOL_LINK.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/JOB_POOL_LINK.rst
rename to share/cmake-3.10/Help/prop_tgt/JOB_POOL_LINK.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LABELS.rst b/share/cmake-3.10/Help/prop_tgt/LABELS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LABELS.rst
rename to share/cmake-3.10/Help/prop_tgt/LABELS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LANG_CLANG_TIDY.rst b/share/cmake-3.10/Help/prop_tgt/LANG_CLANG_TIDY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LANG_CLANG_TIDY.rst
rename to share/cmake-3.10/Help/prop_tgt/LANG_CLANG_TIDY.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.10/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
new file mode 100644
index 0000000..28925fc
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
@@ -0,0 +1,14 @@
+<LANG>_COMPILER_LAUNCHER
+------------------------
+
+This property is implemented only when ``<LANG>`` is ``C``, ``CXX``,
+or ``CUDA``.
+
+Specify a :ref:`;-list <CMake Language Lists>` containing a command line
+for a compiler launching tool. The :ref:`Makefile Generators` and the
+:generator:`Ninja` generator will run this tool and pass the compiler and
+its arguments to the tool. Some example tools are distcc and ccache.
+
+This property is initialized by the value of
+the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable if it is set
+when a target is created.
diff --git a/share/cmake-3.10/Help/prop_tgt/LANG_CPPCHECK.rst b/share/cmake-3.10/Help/prop_tgt/LANG_CPPCHECK.rst
new file mode 100644
index 0000000..5f8be00
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/LANG_CPPCHECK.rst
@@ -0,0 +1,13 @@
+<LANG>_CPPCHECK
+---------------
+
+This property is supported only when ``<LANG>`` is ``C`` or ``CXX``.
+
+Specify a :ref:`;-list <CMake Language Lists>` containing a command line
+for the ``cppcheck`` static analysis tool.  The :ref:`Makefile Generators`
+and the :generator:`Ninja` generator will run ``cppcheck`` along with the
+compiler and report any problems.
+
+This property is initialized by the value of the
+:variable:`CMAKE_<LANG>_CPPCHECK` variable if it is set when a target is
+created.
diff --git a/share/cmake-3.10/Help/prop_tgt/LANG_CPPLINT.rst b/share/cmake-3.10/Help/prop_tgt/LANG_CPPLINT.rst
new file mode 100644
index 0000000..14f47d4
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/LANG_CPPLINT.rst
@@ -0,0 +1,13 @@
+<LANG>_CPPLINT
+--------------
+
+This property is supported only when ``<LANG>`` is ``C`` or ``CXX``.
+
+Specify a :ref:`;-list <CMake Language Lists>` containing a command line
+for the ``cpplint`` style checker.  The :ref:`Makefile Generators` and the
+:generator:`Ninja` generator will run ``cpplint`` along with the compiler
+and report any problems.
+
+This property is initialized by the value of the
+:variable:`CMAKE_<LANG>_CPPLINT` variable if it is set when a target is
+created.
diff --git a/share/cmake-3.6/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst b/share/cmake-3.10/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
rename to share/cmake-3.10/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst b/share/cmake-3.10/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
rename to share/cmake-3.10/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst b/share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINKER_LANGUAGE.rst b/share/cmake-3.10/Help/prop_tgt/LINKER_LANGUAGE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINKER_LANGUAGE.rst
rename to share/cmake-3.10/Help/prop_tgt/LINKER_LANGUAGE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_DEPENDS.rst b/share/cmake-3.10/Help/prop_tgt/LINK_DEPENDS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_DEPENDS.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_DEPENDS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst b/share/cmake-3.10/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_FLAGS.rst b/share/cmake-3.10/Help/prop_tgt/LINK_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_FLAGS.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_FLAGS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_FLAGS_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst b/share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst b/share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_LIBRARIES.rst b/share/cmake-3.10/Help/prop_tgt/LINK_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_LIBRARIES.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst b/share/cmake-3.10/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst b/share/cmake-3.10/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
rename to share/cmake-3.10/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/LINK_WHAT_YOU_USE.rst b/share/cmake-3.10/Help/prop_tgt/LINK_WHAT_YOU_USE.rst
new file mode 100644
index 0000000..32d6edb
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/LINK_WHAT_YOU_USE.rst
@@ -0,0 +1,15 @@
+LINK_WHAT_YOU_USE
+---------------------------
+
+This is a boolean option that when set to ``TRUE`` will automatically run
+``ldd -r -u`` on the target after it is linked. In addition, the linker flag
+``-Wl,--no-as-needed`` will be passed to the target with the link command so
+that all libraries specified on the command line will be linked into the
+target. This will result in the link producing a list of libraries that
+provide no symbols used by this target but are being linked to it.
+This is only applicable to executable and shared library targets and
+will only work when ld and ldd accept the flags used.
+
+This property is initialized by the value of
+the :variable:`CMAKE_LINK_WHAT_YOU_USE` variable if it is set
+when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/LOCATION.rst b/share/cmake-3.10/Help/prop_tgt/LOCATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LOCATION.rst
rename to share/cmake-3.10/Help/prop_tgt/LOCATION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/LOCATION_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/LOCATION_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/LOCATION_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/LOCATION_CONFIG.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/MACOSX_BUNDLE.rst b/share/cmake-3.10/Help/prop_tgt/MACOSX_BUNDLE.rst
new file mode 100644
index 0000000..f9e11ee
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/MACOSX_BUNDLE.rst
@@ -0,0 +1,12 @@
+MACOSX_BUNDLE
+-------------
+
+Build an executable as an Application Bundle on OS X or iOS.
+
+When this property is set to ``TRUE`` the executable when built on OS X
+or iOS will be created as an application bundle.  This makes it
+a GUI executable that can be launched from the Finder.  See the
+:prop_tgt:`MACOSX_BUNDLE_INFO_PLIST` target property for information about
+creation of the ``Info.plist`` file for the application bundle.
+This property is initialized by the value of the variable
+:variable:`CMAKE_MACOSX_BUNDLE` if it is set when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst b/share/cmake-3.10/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
rename to share/cmake-3.10/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst b/share/cmake-3.10/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
rename to share/cmake-3.10/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/MACOSX_RPATH.rst b/share/cmake-3.10/Help/prop_tgt/MACOSX_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/MACOSX_RPATH.rst
rename to share/cmake-3.10/Help/prop_tgt/MACOSX_RPATH.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst b/share/cmake-3.10/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
new file mode 100644
index 0000000..c12ea14
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
@@ -0,0 +1,8 @@
+MANUALLY_ADDED_DEPENDENCIES
+---------------------------
+
+Get manually added dependencies to other top-level targets.
+
+This read-only property can be used to query all dependencies that
+were added for this target with the :command:`add_dependencies`
+command.
diff --git a/share/cmake-3.10/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
new file mode 100644
index 0000000..266ccf0
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
@@ -0,0 +1,70 @@
+MAP_IMPORTED_CONFIG_<CONFIG>
+----------------------------
+
+Map from project configuration to
+:ref:`imported target <IMPORTED targets>`'s configuration.
+
+Set this to the list of configurations of an imported target that may
+be used for the current project's ``<CONFIG>`` configuration.  Targets
+imported from another project may not provide the same set of
+configuration names available in the current project.  Setting this
+property tells CMake what imported configurations are suitable for use
+when building the ``<CONFIG>`` configuration.  The first configuration in
+the list found to be provided by the imported target (i.e. via
+:prop_tgt:`IMPORTED_LOCATION_<CONFIG>` for the mapped-to ``<CONFIG>``)
+is selected.  As a special case, an empty list element refers to the
+configuration-less imported target location
+(i.e. :prop_tgt:`IMPORTED_LOCATION`).
+
+If this property is set and no matching configurations are available,
+then the imported target is considered to be not found.  This property
+is ignored for non-imported targets.
+
+This property is initialized by the value of the
+:variable:`CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>` variable if it is set when a
+target is created.
+
+Example
+^^^^^^^
+
+For example creating imported C++ library ``foo``:
+
+.. code-block:: cmake
+
+  add_library(foo STATIC IMPORTED)
+
+Use ``foo_debug`` path for ``Debug`` build type:
+
+.. code-block:: cmake
+
+  set_property(
+    TARGET foo APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG
+    )
+
+  set_target_properties(foo PROPERTIES
+    IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+    IMPORTED_LOCATION_DEBUG "${foo_debug}"
+    )
+
+Use ``foo_release`` path for ``Release`` build type:
+
+.. code-block:: cmake
+
+  set_property(
+    TARGET foo APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE
+    )
+
+  set_target_properties(foo PROPERTIES
+    IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+    IMPORTED_LOCATION_RELEASE "${foo_release}"
+    )
+
+Use ``Release`` version of library for ``MinSizeRel`` and ``RelWithDebInfo``
+build types:
+
+.. code-block:: cmake
+
+  set_target_properties(foo PROPERTIES
+    MAP_IMPORTED_CONFIG_MINSIZEREL Release
+    MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
+    )
diff --git a/share/cmake-3.6/Help/prop_tgt/NAME.rst b/share/cmake-3.10/Help/prop_tgt/NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/NO_SONAME.rst b/share/cmake-3.10/Help/prop_tgt/NO_SONAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/NO_SONAME.rst
rename to share/cmake-3.10/Help/prop_tgt/NO_SONAME.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst b/share/cmake-3.10/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
new file mode 100644
index 0000000..880343d
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
@@ -0,0 +1,15 @@
+NO_SYSTEM_FROM_IMPORTED
+-----------------------
+
+Do not treat include directories from the interfaces of consumed
+:ref:`imported targets` as ``SYSTEM``.
+
+The contents of the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` target property
+of imported targets are treated as ``SYSTEM`` includes by default.  If this
+property is enabled on a target, compilation of sources in that target will
+not treat the contents of the ``INTERFACE_INCLUDE_DIRECTORIES`` of consumed
+imported targets as system includes.
+
+This property is initialized by the value of the
+:variable:`CMAKE_NO_SYSTEM_FROM_IMPORTED` variable if it is set when a target
+is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/OSX_ARCHITECTURES.rst b/share/cmake-3.10/Help/prop_tgt/OSX_ARCHITECTURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/OSX_ARCHITECTURES.rst
rename to share/cmake-3.10/Help/prop_tgt/OSX_ARCHITECTURES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/OUTPUT_NAME.rst b/share/cmake-3.10/Help/prop_tgt/OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/OUTPUT_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/OUTPUT_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PDB_NAME.rst b/share/cmake-3.10/Help/prop_tgt/PDB_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PDB_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/PDB_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PDB_NAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/PDB_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PDB_NAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/PDB_NAME_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PDB_NOTE.txt b/share/cmake-3.10/Help/prop_tgt/PDB_NOTE.txt
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PDB_NOTE.txt
rename to share/cmake-3.10/Help/prop_tgt/PDB_NOTE.txt
diff --git a/share/cmake-3.6/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst b/share/cmake-3.10/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
rename to share/cmake-3.10/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/POST_INSTALL_SCRIPT.rst b/share/cmake-3.10/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
rename to share/cmake-3.10/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PREFIX.rst b/share/cmake-3.10/Help/prop_tgt/PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PREFIX.rst
rename to share/cmake-3.10/Help/prop_tgt/PREFIX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst b/share/cmake-3.10/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
rename to share/cmake-3.10/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PRIVATE_HEADER.rst b/share/cmake-3.10/Help/prop_tgt/PRIVATE_HEADER.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PRIVATE_HEADER.rst
rename to share/cmake-3.10/Help/prop_tgt/PRIVATE_HEADER.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PROJECT_LABEL.rst b/share/cmake-3.10/Help/prop_tgt/PROJECT_LABEL.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PROJECT_LABEL.rst
rename to share/cmake-3.10/Help/prop_tgt/PROJECT_LABEL.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/PUBLIC_HEADER.rst b/share/cmake-3.10/Help/prop_tgt/PUBLIC_HEADER.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/PUBLIC_HEADER.rst
rename to share/cmake-3.10/Help/prop_tgt/PUBLIC_HEADER.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RESOURCE.rst b/share/cmake-3.10/Help/prop_tgt/RESOURCE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RESOURCE.rst
rename to share/cmake-3.10/Help/prop_tgt/RESOURCE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst b/share/cmake-3.10/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
rename to share/cmake-3.10/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst b/share/cmake-3.10/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
rename to share/cmake-3.10/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RULE_LAUNCH_LINK.rst b/share/cmake-3.10/Help/prop_tgt/RULE_LAUNCH_LINK.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RULE_LAUNCH_LINK.rst
rename to share/cmake-3.10/Help/prop_tgt/RULE_LAUNCH_LINK.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst b/share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
rename to share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/SKIP_BUILD_RPATH.rst b/share/cmake-3.10/Help/prop_tgt/SKIP_BUILD_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/SKIP_BUILD_RPATH.rst
rename to share/cmake-3.10/Help/prop_tgt/SKIP_BUILD_RPATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/SOURCES.rst b/share/cmake-3.10/Help/prop_tgt/SOURCES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/SOURCES.rst
rename to share/cmake-3.10/Help/prop_tgt/SOURCES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/SOURCE_DIR.rst b/share/cmake-3.10/Help/prop_tgt/SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/SOURCE_DIR.rst
rename to share/cmake-3.10/Help/prop_tgt/SOURCE_DIR.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/SOVERSION.rst b/share/cmake-3.10/Help/prop_tgt/SOVERSION.rst
new file mode 100644
index 0000000..82b6b97
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/SOVERSION.rst
@@ -0,0 +1,27 @@
+SOVERSION
+---------
+
+What version number is this target.
+
+For shared libraries :prop_tgt:`VERSION` and ``SOVERSION`` can be used to
+specify the build version and API version respectively.  When building or
+installing appropriate symlinks are created if the platform supports
+symlinks and the linker supports so-names.  If only one of both is
+specified the missing is assumed to have the same version number.
+``SOVERSION`` is ignored if :prop_tgt:`NO_SONAME` property is set.
+
+Windows Versions
+^^^^^^^^^^^^^^^^
+
+For shared libraries and executables on Windows the :prop_tgt:`VERSION`
+attribute is parsed to extract a ``<major>.<minor>`` version number.
+These numbers are used as the image version of the binary.
+
+Mach-O Versions
+^^^^^^^^^^^^^^^
+
+For shared libraries and executables on Mach-O systems (e.g. OS X, 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.
diff --git a/share/cmake-3.6/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst b/share/cmake-3.10/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
rename to share/cmake-3.10/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst b/share/cmake-3.10/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
rename to share/cmake-3.10/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/SUFFIX.rst b/share/cmake-3.10/Help/prop_tgt/SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/SUFFIX.rst
rename to share/cmake-3.10/Help/prop_tgt/SUFFIX.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/TYPE.rst b/share/cmake-3.10/Help/prop_tgt/TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/TYPE.rst
rename to share/cmake-3.10/Help/prop_tgt/TYPE.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/VERSION.rst b/share/cmake-3.10/Help/prop_tgt/VERSION.rst
new file mode 100644
index 0000000..66e7bde
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VERSION.rst
@@ -0,0 +1,29 @@
+VERSION
+-------
+
+What version number is this target.
+
+For shared libraries ``VERSION`` and :prop_tgt:`SOVERSION` can be used
+to specify the build version and API version respectively.  When building or
+installing appropriate symlinks are created if the platform supports
+symlinks and the linker supports so-names.  If only one of both is
+specified the missing is assumed to have the same version number.  For
+executables ``VERSION`` can be used to specify the build version.  When
+building or installing appropriate symlinks are created if the
+platform supports symlinks.
+
+Windows Versions
+^^^^^^^^^^^^^^^^
+
+For shared libraries and executables on Windows the ``VERSION``
+attribute is parsed to extract a ``<major>.<minor>`` version number.
+These numbers are used as the image version of the binary.
+
+Mach-O Versions
+^^^^^^^^^^^^^^^
+
+For shared libraries and executables on Mach-O systems (e.g. OS X, iOS),
+the :prop_tgt:`SOVERSION` property correspond to *compatibility version* and
+``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.
diff --git a/share/cmake-3.6/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst b/share/cmake-3.10/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
rename to share/cmake-3.10/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst b/share/cmake-3.10/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst b/share/cmake-3.10/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
new file mode 100644
index 0000000..0af85cb
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
@@ -0,0 +1,6 @@
+VS_DEBUGGER_WORKING_DIRECTORY
+-----------------------------
+
+Sets the local debugger working directory for Visual Studio C++ targets.
+This is defined in ``<LocalDebuggerWorkingDirectory>`` in the Visual Studio
+project file.
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst b/share/cmake-3.10/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst
new file mode 100644
index 0000000..ab311ea
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst
@@ -0,0 +1,14 @@
+VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>
+-----------------------------------------------
+
+Defines an XML property ``<tagname>`` for a .NET reference
+``<refname>``.
+
+Reference properties can be set for .NET references which are
+defined by the target properties :prop_tgt:`VS_DOTNET_REFERENCES`,
+:prop_tgt:`VS_DOTNET_REFERENCE_<refname>`
+and also for project references to other C# targets which are
+established by :command:`target_link_libraries()`.
+
+This property is only applicable to C# targets and Visual Studio
+generators 2010 and later.
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_DOTNET_REFERENCES.rst b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
new file mode 100644
index 0000000..7641ba5
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
@@ -0,0 +1,7 @@
+VS_DOTNET_REFERENCES_COPY_LOCAL
+-------------------------------
+
+Sets the **Copy Local** property for all .NET hint references in the target
+
+Boolean property to enable/disable copying of .NET hint references to
+output directory. The default is ``ON``.
diff --git a/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
new file mode 100644
index 0000000..5814005
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
@@ -0,0 +1,12 @@
+VS_DOTNET_REFERENCE_<refname>
+-----------------------------
+
+Visual Studio managed project .NET reference with name ``<refname>``
+and hint path.
+
+Adds one .NET reference to generated Visual Studio project. The
+reference will have the name ``<refname>`` and will point to the
+assembly given as value of the property.
+
+See also :prop_tgt:`VS_DOTNET_REFERENCES` and
+:prop_tgt:`VS_DOTNET_REFERENCES_COPY_LOCAL`
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst b/share/cmake-3.10/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst b/share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst b/share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst b/share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_variable.rst b/share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_variable.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_GLOBAL_variable.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_GLOBAL_variable.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst b/share/cmake-3.10/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst b/share/cmake-3.10/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_KEYWORD.rst b/share/cmake-3.10/Help/prop_tgt/VS_KEYWORD.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_KEYWORD.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_KEYWORD.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst b/share/cmake-3.10/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_SCC_AUXPATH.rst b/share/cmake-3.10/Help/prop_tgt/VS_SCC_AUXPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_SCC_AUXPATH.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_SCC_AUXPATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_SCC_LOCALPATH.rst b/share/cmake-3.10/Help/prop_tgt/VS_SCC_LOCALPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_SCC_LOCALPATH.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_SCC_LOCALPATH.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_SCC_PROJECTNAME.rst b/share/cmake-3.10/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_SCC_PROVIDER.rst b/share/cmake-3.10/Help/prop_tgt/VS_SCC_PROVIDER.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_SCC_PROVIDER.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_SCC_PROVIDER.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/VS_SDK_REFERENCES.rst b/share/cmake-3.10/Help/prop_tgt/VS_SDK_REFERENCES.rst
new file mode 100644
index 0000000..769a0d1
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VS_SDK_REFERENCES.rst
@@ -0,0 +1,7 @@
+VS_SDK_REFERENCES
+-----------------
+
+Visual Studio project SDK references.
+Specify a :ref:`;-list <CMake Language Lists>` of SDK references
+to be added to a generated Visual Studio project, e.g.
+``Microsoft.AdMediatorWindows81, Version=1.0``.
diff --git a/share/cmake-3.10/Help/prop_tgt/VS_USER_PROPS.rst b/share/cmake-3.10/Help/prop_tgt/VS_USER_PROPS.rst
new file mode 100644
index 0000000..1be222b
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/VS_USER_PROPS.rst
@@ -0,0 +1,12 @@
+VS_USER_PROPS
+-------------
+
+Sets the user props file to be included in the visual studio
+C++ project file. The standard path is
+``$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props``, which is
+in most cases the same as
+``%LOCALAPPDATA%\\Microsoft\\MSBuild\\v4.0\\Microsoft.Cpp.Win32.user.props``
+or ``%LOCALAPPDATA%\\Microsoft\\MSBuild\\v4.0\\Microsoft.Cpp.x64.user.props``.
+
+The ``*.user.props`` files can be used for Visual Studio wide
+configuration which is independent from cmake.
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst b/share/cmake-3.10/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_WINRT_COMPONENT.rst b/share/cmake-3.10/Help/prop_tgt/VS_WINRT_COMPONENT.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_WINRT_COMPONENT.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_WINRT_COMPONENT.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst b/share/cmake-3.10/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/VS_WINRT_REFERENCES.rst b/share/cmake-3.10/Help/prop_tgt/VS_WINRT_REFERENCES.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/VS_WINRT_REFERENCES.rst
rename to share/cmake-3.10/Help/prop_tgt/VS_WINRT_REFERENCES.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/WIN32_EXECUTABLE.rst b/share/cmake-3.10/Help/prop_tgt/WIN32_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/WIN32_EXECUTABLE.rst
rename to share/cmake-3.10/Help/prop_tgt/WIN32_EXECUTABLE.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.10/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
new file mode 100644
index 0000000..86711bf
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
@@ -0,0 +1,26 @@
+WINDOWS_EXPORT_ALL_SYMBOLS
+--------------------------
+
+This property is implemented only for MS-compatible tools on Windows.
+
+Enable this boolean property to automatically create a module definition
+(``.def``) file with all global symbols found in the input ``.obj`` files
+for a ``SHARED`` library (or executable with :prop_tgt:`ENABLE_EXPORTS`)
+on Windows.  The module definition file will be passed to the linker
+causing all symbols to be exported from the ``.dll``.
+For global *data* symbols, ``__declspec(dllimport)`` must still be used when
+compiling against the code in the ``.dll``.  All other function symbols will
+be automatically exported and imported by callers.  This simplifies porting
+projects to Windows by reducing the need for explicit ``dllexport`` markup,
+even in ``C++`` classes.
+
+When this property is enabled, zero or more ``.def`` files may also be
+specified as source files of the target.  The exports named by these files
+will be merged with those detected from the object files to generate a
+single module definition file to be passed to the linker.  This can be
+used to export symbols from a ``.dll`` that are not in any of its object
+files but are added by the linker from dependencies (e.g. ``msvcrt.lib``).
+
+This property is initialized by the value of
+the :variable:`CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` variable if it is set
+when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst b/share/cmake-3.10/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
rename to share/cmake-3.10/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
diff --git a/share/cmake-3.10/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst b/share/cmake-3.10/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
new file mode 100644
index 0000000..dc92902
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
@@ -0,0 +1,8 @@
+XCODE_EXPLICIT_FILE_TYPE
+------------------------
+
+Set the Xcode ``explicitFileType`` attribute on its reference to a
+target.  CMake computes a default based on target type but
+can be told explicitly with this property.
+
+See also :prop_tgt:`XCODE_PRODUCT_TYPE`.
diff --git a/share/cmake-3.10/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst b/share/cmake-3.10/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
new file mode 100644
index 0000000..f4ef5c0
--- /dev/null
+++ b/share/cmake-3.10/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
@@ -0,0 +1,8 @@
+XCODE_PRODUCT_TYPE
+------------------
+
+Set the Xcode ``productType`` attribute on its reference to a
+target.  CMake computes a default based on target type but
+can be told explicitly with this property.
+
+See also :prop_tgt:`XCODE_EXPLICIT_FILE_TYPE`.
diff --git a/share/cmake-3.6/Help/prop_tgt/XCTEST.rst b/share/cmake-3.10/Help/prop_tgt/XCTEST.rst
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/XCTEST.rst
rename to share/cmake-3.10/Help/prop_tgt/XCTEST.rst
diff --git a/share/cmake-3.6/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt b/share/cmake-3.10/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
rename to share/cmake-3.10/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
diff --git a/share/cmake-3.6/Help/prop_tgt/XXX_OUTPUT_NAME.txt b/share/cmake-3.10/Help/prop_tgt/XXX_OUTPUT_NAME.txt
similarity index 100%
rename from share/cmake-3.6/Help/prop_tgt/XXX_OUTPUT_NAME.txt
rename to share/cmake-3.10/Help/prop_tgt/XXX_OUTPUT_NAME.txt
diff --git a/share/cmake-3.6/Help/release/3.0.rst b/share/cmake-3.10/Help/release/3.0.rst
similarity index 100%
rename from share/cmake-3.6/Help/release/3.0.rst
rename to share/cmake-3.10/Help/release/3.0.rst
diff --git a/share/cmake-3.6/Help/release/3.1.rst b/share/cmake-3.10/Help/release/3.1.rst
similarity index 100%
rename from share/cmake-3.6/Help/release/3.1.rst
rename to share/cmake-3.10/Help/release/3.1.rst
diff --git a/share/cmake-3.10/Help/release/3.10.rst b/share/cmake-3.10/Help/release/3.10.rst
new file mode 100644
index 0000000..6a19dbf
--- /dev/null
+++ b/share/cmake-3.10/Help/release/3.10.rst
@@ -0,0 +1,269 @@
+CMake 3.10 Release Notes
+************************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.9 include the following.
+
+New Features
+============
+
+Platforms
+---------
+
+* The `flang`_ Fortran compiler is now supported, with compiler id ``Flang``.
+
+* A new minimal platform file for ``Midipix`` was added.
+
+* Support for the MSVC ARM64 architecture was added.
+  Visual Studio 2017 Update 4 and above offer an ARM64 toolchain.
+
+* Support for the IAR ARM Compiler was improved.
+
+.. _`flang`: https://github.com/flang-compiler/flang
+
+Generators
+----------
+
+* The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned
+  to add compiler launcher tools like ccache along with the compiler for the
+  ``CUDA`` language (``C`` and ``CXX`` were supported previously).  See the
+  :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and
+  :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details.
+
+* The :generator:`CodeBlocks` extra generator learned to optionally exclude
+  files from outside the project root directory from the generated project.
+  See the :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable.
+
+Commands
+--------
+
+* The :command:`cmake_host_system_information` command learned more keys
+  to get information about the processor capabilities and the host OS
+  version.
+
+* The :command:`configure_file` command learned to support indented
+  ``#  cmakedefine`` and ``#  cmakedefine01``. Spaces and/or tabs between
+  the ``#`` character and the ``cmakedefine``/``cmakedefine01`` words
+  are now understood and preserved in the output.
+
+* The :command:`execute_process` command gained a ``RESULTS_VARIABLE``
+  option to collect a list of results from all children in a pipeline
+  of processes when multiple ``COMMAND`` arguments are given.
+
+* The :command:`include_guard` command was introduced to allow guarding
+  CMake scripts from being included more than once. The command supports
+  ``DIRECTORY`` and ``GLOBAL`` options to adjust the corresponding include guard
+  scope. If no options given, include guard is similar to basic variable-based
+  check.
+
+* The :command:`string` command learned a new ``PREPEND`` subcommand.
+
+* The :command:`string(TIMESTAMP)` command now supports ``%A``
+  for full weekday name and ``%B`` for full month name.
+
+Variables
+---------
+
+* A :variable:`CMAKE_DIRECTORY_LABELS` variable was added to specify
+  labels for all tests in a directory.
+
+Properties
+----------
+
+* A :prop_tgt:`<LANG>_CPPCHECK` target property and supporting
+  :variable:`CMAKE_<LANG>_CPPCHECK` variable were introduced to tell
+  the :ref:`Makefile Generators` and the :generator:`Ninja` generator to
+  run ``cppcheck`` with the compiler for ``C`` and ``CXX`` languages.
+
+* A :prop_dir:`LABELS` directory property was added to specify labels
+  for all targets and tests in a directory.
+
+* A :prop_dir:`TEST_INCLUDE_FILES` directory property was added to
+  list any number of files to be included when running tests with
+  :manual:`ctest(1)`.  This generalizes the :prop_dir:`TEST_INCLUDE_FILE`
+  property.
+
+* The :prop_tgt:`VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>`
+  target property was added to support custom XML tags for reference
+  assemblies in C# targets.
+
+* Source file properties :prop_sf:`VS_SHADER_OUTPUT_HEADER_FILE` and
+  :prop_sf:`VS_SHADER_VARIABLE_NAME` have been added to specify more
+  details of ``.hlsl`` sources with :ref:`Visual Studio Generators`.
+
+Modules
+-------
+
+* The :module:`FindCurses` module gained a ``CURSES_NEED_WIDE`` option
+  to request the wide-character variant.
+
+* The :module:`FindEXPAT` module now provides imported targets.
+
+* The :module:`FindFreetype` module now provides imported targets.
+
+* :module:`FindMPI` gained a number of new features, including:
+
+  * Language-specific components have been added to the module.
+  * Many more MPI environments are now supported.
+  * The environmental support for Fortran has been improved.
+  * A user now has fine-grained control over the MPI selection process,
+    including passing custom parameters to the MPI compiler.
+  * The version of the implemented MPI standard is now being exposed.
+  * MPI-2 C++ bindings can now be detected and also suppressed if so desired.
+  * The available Fortran bindings are now being detected and verified.
+  * Various MPI-3 information can be requested, including the library version
+    and Fortran capabilities of the individual bindings.
+  * Statically linked MPI implementations are supported.
+
+* A :module:`FindOpenACC` module was added to detect compiler support
+  for OpenACC.  Currently only supports PGI, GNU and Cray compilers.
+
+* The :module:`FindOpenGL` module gained support for GLVND on Linux.
+
+* The :module:`FindOpenMP` module gained support for
+  language-specific components.
+
+* A :module:`FindPatch` module was added to find the ``patch``
+  command-line executable.
+
+* The :module:`FindProtobuf` module :command:`protobuf_generate_cpp` command
+  gained a ``DESCRIPTORS`` option to generate descriptor files.
+
+* The :module:`GoogleTest` module gained a new command
+  :command:`gtest_discover_tests` implementing dynamic (build-time) test
+  discovery.  Unlike the source parsing approach, dynamic discovery executes
+  the test (in 'list available tests' mode) at build time to discover tests.
+  This is robust against unusual ways of labeling tests, provides much better
+  support for advanced features such as parameterized tests, and does not
+  require re-running CMake to discover added or removed tests within a test
+  executable.
+
+* The :module:`InstallRequiredSystemLibraries` module gained support
+  for installing Intel compiler runtimes.
+
+Autogen
+-------
+
+* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC` with a
+  multi configuration generator (e.g. :generator:`Xcode`),
+  included ``*.moc``,  ``moc_*.cpp`` and ``ui_*.h`` files are generated in
+  ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>`` instead of
+  ``<AUTOGEN_BUILD_DIR>/include``.
+
+* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`,
+  source files that are :prop_sf:`GENERATED` will be processed as well.
+  They were ignored by :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`
+  in earlier releases.
+  See policy :policy:`CMP0071`.
+
+* When using :prop_tgt:`AUTOMOC`, CMake searches for the strings ``Q_OBJECT``,
+  ``Q_GADGET`` or ``Q_NAMESPACE`` in a source file to determine if it needs
+  to be ``moc`` processed.  The new :variable:`CMAKE_AUTOMOC_MACRO_NAMES`
+  variable and :prop_tgt:`AUTOMOC_MACRO_NAMES` target property may be set
+  to register additional strings (macro names) to search for.
+
+* When using :prop_tgt:`AUTOMOC`, the new
+  :variable:`CMAKE_AUTOMOC_COMPILER_PREDEFINES` variable and
+  :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES` target property specify whether
+  to enable or disable the generation of the compiler pre definitions file
+  ``moc_predefs.h``.
+
+CTest
+-----
+
+* A :variable:`CTEST_LABELS_FOR_SUBPROJECTS` CTest module variable and CTest
+  script variable were added to specify a list of labels that should be
+  treated as subprojects by CDash. To use this value in both the CTest module
+  and the ctest command line :ref:`Dashboard Client` mode (e.g. ``ctest -S``)
+  set it in the ``CTestConfig.cmake`` config file.
+
+CPack
+-----
+
+* CPack gained a ``FREEBSD`` generator for FreeBSD ``pkg(8)``, configured
+  by the :module:`CPackFreeBSD` module.
+
+* The CPack ``DEB`` generator, configured by the :module:`CPackDeb` module,
+  was enabled on Windows.  While not fully featured (due to the lack of
+  external UNIX tools) this will allow building basic cross-platform Debian
+  packages.
+
+* The :module:`CPackDeb` module learned to set package release version in
+  ``Version`` info property.
+  See the :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` variable.
+
+* The :module:`CPackDeb` module learned more strict package version checking
+  that complies with Debian rules.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
+  :command:`cpack_ifw_configure_component_group` commands gained a new
+  ``REPLACES`` and ``CHECKABLE`` options.
+
+* The :module:`CPackIFW` module gained new
+  :variable:`CPACK_IFW_PACKAGE_FILE_EXTENSION` variable to customize
+  target binary format.
+
+* The :module:`CPackIFW` module gained new
+  :variable:`CPACK_IFW_REPOSITORIES_DIRECTORIES` variable to specify
+  additional repositories dirs that will be used to resolve and
+  repack dependent components. This feature is only available when
+  using QtIFW 3.1 or later.
+
+* Modules :module:`CPackRPM` and :module:`CPackDeb` learned to set package epoch
+  version.
+  See :variable:`CPACK_RPM_PACKAGE_EPOCH` and
+  :variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables.
+
+Other
+-----
+
+* The :manual:`cmake(1)` ``-E`` mode gained support for ``sha1sum``,
+  ``sha224sum``, ``sha256sum``, ``sha384sum``, and ``sha512sum``.
+
+* The graphviz output now distinguishes among the different dependency types
+  ``PUBLIC``, ``PRIVATE`` and ``INTERFACE`` and represents them in the output
+  graph as solid, dashed and dotted edges.
+
+Deprecated and Removed Features
+===============================
+
+* Support for building CMake itself with C++98 compilers was dropped.
+  CMake is now implemented using C++11.
+
+* Support for building CMake on HP-UX has been dropped pending better
+  support for C++11 and a port of libuv.  See `CMake Issue 17137`_.
+  Use CMake 3.9 or lower instead for HP-UX support.
+
+.. _`CMake Issue 17137`: https://gitlab.kitware.com/cmake/cmake/issues/17137
+
+Other Changes
+=============
+
+* On FreeBSD the C++ compiler named ``c++`` is now the preferred default.
+
+* The :command:`file(GENERATE)` command now interprets relative paths
+  given to its ``OUTPUT`` and ``INPUT`` arguments with respect to the
+  caller's current binary and source directories, respectively.
+  See policy :policy:`CMP0070`.
+
+* The :command:`get_filename_component` ``PROGRAM`` mode semantics
+  have been revised to not tolerate unquoted spaces in the path
+  to the program while also accepting arguments.  While technically
+  incompatible with the old behavior, it is expected that behavior
+  under typical use cases with properly-quoted command-lines has
+  not changed.
+
+Updates
+=======
+
+Changes made since CMake 3.10.0 include the following.
+
+3.10.1
+------
+
+* The :manual:`cmake-server(7)` ``codemodel`` response ``crossReferences``
+  field added by 3.10.0 has been dropped due to excessive memory usage.
+  Another approach will be needed to provide backtrace information.
diff --git a/share/cmake-3.6/Help/release/3.2.rst b/share/cmake-3.10/Help/release/3.2.rst
similarity index 100%
rename from share/cmake-3.6/Help/release/3.2.rst
rename to share/cmake-3.10/Help/release/3.2.rst
diff --git a/share/cmake-3.6/Help/release/3.3.rst b/share/cmake-3.10/Help/release/3.3.rst
similarity index 100%
rename from share/cmake-3.6/Help/release/3.3.rst
rename to share/cmake-3.10/Help/release/3.3.rst
diff --git a/share/cmake-3.6/Help/release/3.4.rst b/share/cmake-3.10/Help/release/3.4.rst
similarity index 100%
rename from share/cmake-3.6/Help/release/3.4.rst
rename to share/cmake-3.10/Help/release/3.4.rst
diff --git a/share/cmake-3.6/Help/release/3.5.rst b/share/cmake-3.10/Help/release/3.5.rst
similarity index 100%
rename from share/cmake-3.6/Help/release/3.5.rst
rename to share/cmake-3.10/Help/release/3.5.rst
diff --git a/share/cmake-3.10/Help/release/3.6.rst b/share/cmake-3.10/Help/release/3.6.rst
new file mode 100644
index 0000000..144537d
--- /dev/null
+++ b/share/cmake-3.10/Help/release/3.6.rst
@@ -0,0 +1,316 @@
+CMake 3.6 Release Notes
+***********************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.5 include the following.
+
+New Features
+============
+
+Generators
+----------
+
+* The :generator:`Ninja` generator learned to produce phony targets
+  of the form ``sub/dir/all`` to drive the build of a subdirectory.
+  This is equivalent to ``cd sub/dir; make all`` with
+  :ref:`Makefile Generators`.
+
+* The :generator:`Ninja` generator now includes system header files in build
+  dependencies to ensure correct re-builds when system packages are updated.
+
+* The :generator:`Visual Studio 14 2015` generator learned to support the
+  Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option.
+  This feature is experimental.
+
+Commands
+--------
+
+* The :command:`add_custom_command` and :command:`add_custom_target` commands
+  learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable
+  target property.
+
+* The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option
+  to leave installation rules out of the default installation.
+
+* The :command:`list` command gained a ``FILTER`` sub-command to filter
+  list elements by regular expression.
+
+* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)`
+  commands gained support for the ``%s`` placeholder.  This is
+  the number of seconds since the UNIX Epoch.
+
+Variables
+---------
+
+* A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced
+  to tell :ref:`Makefile Generators` to limit dependency scanning only
+  to files in the project source and build trees.
+
+* A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to
+  indicate when CMake is running on an Oracle Solaris host.
+
+* A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was
+  added for use by toolchain files to specify system include directories
+  to be appended to all compiler command lines.
+
+* The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented.
+  It is intended for use by toolchain files to specify system libraries to be
+  added to all linker command lines.
+
+* A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced
+  to tell the :generator:`Ninja` generator to configure the generated
+  ``build.ninja`` file for use as a ``subninja``.
+
+* A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was
+  added for use by toolchain files to specify platform-specific
+  variables that must be propagated by the :command:`try_compile`
+  command into test projects.
+
+* A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added
+  to optionally tell the :command:`try_compile` command to build
+  a static library instead of an executable.  This is useful for
+  cross-compiling toolchains that cannot link binaries without
+  custom flags or scripts.
+
+Properties
+----------
+
+* A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced
+  to tell the :generator:`Visual Studio 9 2008` and
+  :generator:`Visual Studio 8 2005` generators to generate the "remote
+  directory" for WinCE project deployment and debugger settings.
+
+* A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting
+  :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the
+  :ref:`Makefile Generators` and the :generator:`Ninja` generator to run
+  ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages.
+
+* A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to
+  optionally tell CTest to enforce a secondary timeout after matching
+  certain output from a test.
+
+* A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced
+  to specify a custom project file type for :ref:`Visual Studio Generators`
+  supporting VS 2010 and above.
+
+* A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced
+  to specify for :ref:`Visual Studio Generators` the default startup
+  project for generated solutions (``.sln`` files).
+
+Modules
+-------
+
+* The :module:`CMakePushCheckState` module now pushes/pops/resets the variable
+  ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`.
+
+* The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1``
+  option to perform a shallow clone of a Git repository.
+
+* The :module:`ExternalProject` module learned to initialize Git submodules
+  recursively and also to initialize new submodules on updates.  Use the
+  ``GIT_SUBMODULES`` option to restrict which submodules are initalized and
+  updated.
+
+* The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1``
+  argument to skip extracting the file that is downloaded (e.g., for
+  self-extracting shell installers or ``.msi`` files).
+
+* The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching
+  from git repositories.
+
+* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to
+  support `OpenBLAS <http://www.openblas.net>`__.
+
+* The :module:`FindCUDA` module learned to find the ``cublas_device`` library.
+
+* The :module:`FindGTest` module ``gtest_add_tests`` function now causes
+  CMake to automatically re-run when test sources change so that they
+  can be re-scanned.
+
+* The :module:`FindLTTngUST` module was introduced to find the LTTng-UST
+  library.
+
+* The :module:`FindPkgConfig` module learned to optionally create imported
+  targets for the libraries it has found.
+
+* The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION``
+  variable and check the version number requested in a :command:`find_package`
+  call.
+
+* The :module:`InstallRequiredSystemLibraries` module learned a new
+  ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment
+  of the Windows Universal CRT libraries with Visual Studio 2015.
+
+Platforms
+---------
+
+* The Clang compiler is now supported on CYGWIN.
+
+* Support was added for the Bruce C Compiler with compiler id ``Bruce``.
+
+CTest
+-----
+
+* The :command:`ctest_update` command now looks at the
+  :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether
+  submodules should be updated or not before updating.
+
+* The :command:`ctest_update` command will now synchronize submodules on an
+  update. Updates which add submodules or change a submodule's URL will now be
+  pulled properly.
+
+CPack
+-----
+
+* The :module:`CPackDeb` module learned how to handle ``$ORIGIN``
+  in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
+  is used for dependency auto detection.
+
+* The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs``
+  contorl file when package contains shared libraries.
+
+* The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and
+  ``DEBIAN/postrm`` files if the package installs libraries in
+  ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``).
+
+* The :module:`CPackDeb` module learned how to generate dependencies between
+  Debian packages if multi-component setup is used and
+  :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set.
+  For backward compatibility this feature is disabled by default.
+  See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`.
+
+* The :module:`CPackDeb` module learned how to set custom package file names
+  including how to generate properly-named Debian packages::
+
+    <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
+
+  For backward compatibility this feature is disabled by default. See
+  :variable:`CPACK_DEBIAN_FILE_NAME` and
+  :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`.
+
+* The :module:`CPackDeb` module learned how to set the package release number
+  (``DebianRevisionNumber`` in package file name when used in combination with
+  ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`).  See
+  :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`.
+
+* The :module:`CPackDeb` module learned how to set the package architecture
+  per-component.  See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`.
+
+* The :module:`CPackDMG` module learned a new option to tell the CPack
+  ``DragNDrop`` generaor to skip the ``/Applications`` symlink.
+  See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable.
+
+* The :module:`CPackIFW` module gained a new
+  :command:`cpack_ifw_update_repository` command to update a QtIFW-specific
+  repository from a remote repository.
+
+* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of
+  RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for
+  e.g. on Fedora).
+  See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
+
+* The :module:`CPackRPM` module learned how to set default values for owning
+  user/group and file/directory permissions of package content.
+  See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`,
+  :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`,
+  :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component
+  counterparts.
+
+* The :module:`CPackRPM` module learned how to set user defined package file
+  names, how to specify that rpmbuild should decide on file name format as
+  well as handling of multiple rpm packages generated by a single user defined
+  spec file.
+  See :variable:`CPACK_RPM_PACKAGE_NAME` and
+  :variable:`CPACK_RPM_<component>_PACKAGE_NAME`.
+
+* The :module:`CPackRPM` module learned how to correctly handle symlinks
+  that are pointing outside generated packages.
+
+Other
+-----
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  is now aware of features supported by Intel C++ compilers versions 12.1
+  through 16.0 on UNIX platforms.
+
+Deprecated and Removed Features
+===============================
+
+* The :module:`CMakeForceCompiler` module and its macros are now deprecated.
+  See module documentation for an explanation.
+
+* The :command:`find_library`, :command:`find_path`, and :command:`find_file`
+  commands no longer search in installation prefixes derived from the ``PATH``
+  environment variable on non-Windows platforms.  This behavior was added in
+  CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts.
+  Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for
+  their tools do not necessarily want any supporting ``<prefix>/lib``
+  directories searched.  One may set the ``CMAKE_PREFIX_PATH`` environment
+  variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are
+  to be searched.
+
+* The :generator:`Visual Studio 7 .NET 2003` generator is now
+  deprecated and will be removed in a future version of CMake.
+
+* The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been
+  removed.  It had been deprecated since CMake 3.3.
+
+* The :generator:`Visual Studio 6` generator has been removed.
+  It had been deprecated since CMake 3.3.
+
+Other Changes
+=============
+
+* The precompiled OS X binary provided on ``cmake.org`` now requires
+  OS X 10.7 or newer.
+
+* On Linux and FreeBSD platforms, when building CMake itself from source and
+  not using a system-provided libcurl, OpenSSL is now used by default if it is
+  found on the system.  This enables SSL/TLS support for commands supporting
+  network communication via ``https``, such as :command:`file(DOWNLOAD)`,
+  :command:`file(UPLOAD)`, and :command:`ctest_submit`.
+
+* The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple
+  ``--target`` options with an error instead of silently ignoring all but the
+  last one.
+
+* :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source
+  files in different directories use ``#include <moc_foo.cpp>`` with the
+  same name (because the generated ``moc_foo.cpp`` files would collide).
+
+* The :module:`FindBISON` module ``BISON_TARGET`` macro now supports
+  special characters by passing the ``VERBATIM`` option to internal
+  :command:`add_custom_command` calls.  This may break clients that
+  added escaping manually to work around the bug.
+
+* The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports
+  special characters by passing the ``VERBATIM`` option to internal
+  :command:`add_custom_command` calls.  This may break clients that
+  added escaping manually to work around the bug.
+
+* The :module:`FindProtobuf` module input and output variables were all renamed
+  from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules.
+  Input variables of the old case will be honored if provided, and output
+  variables of the old case are always provided.
+
+* The :module:`CPackRPM` module now supports upper cased component
+  names in per component CPackRPM specific variables.
+  E.g. component named ``foo`` now expects component specific
+  variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before
+  it expected ``CPACK_RPM_foo_PACKAGE_NAME``.
+  Upper cased component name part in variables is compatible
+  with convention used for other CPack variables.
+  For back compatibility old format of variables is still valid
+  and preferred if both versions of variable are set, but the
+  preferred future use is upper cased component names in variables.
+  New variables that will be added to CPackRPM in later versions
+  will only support upper cased component variable format.
+
+* The CPack NSIS generator's configuration file template was fixed to
+  quote the path to the uninstaller tool used by the
+  :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option.
+  This avoids depending on an insecure Windows feature to run an
+  uninstaller tool with a space in the path.
diff --git a/share/cmake-3.10/Help/release/3.7.rst b/share/cmake-3.10/Help/release/3.7.rst
new file mode 100644
index 0000000..4c51af4
--- /dev/null
+++ b/share/cmake-3.10/Help/release/3.7.rst
@@ -0,0 +1,320 @@
+CMake 3.7 Release Notes
+***********************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.6 include the following.
+
+New Features
+============
+
+Platforms
+---------
+
+* CMake now supports :ref:`Cross Compiling for Android` with simple
+  toolchain files.
+
+* The Clang compiler is now supported on AIX.
+
+Generators
+----------
+
+* The :generator:`Ninja` generator learned to conditionally support
+  Fortran when using a ``ninja`` tool that has the necessary features.
+  See generator documentation for details.
+
+* The :generator:`Ninja` generator learned to produce phony targets
+  of the form ``sub/dir/{test,install,package}`` to drive the build
+  of a subdirectory installation, test or packaging target.
+  This is equivalent to ``cd sub/dir; make {test,install,package}``
+  with :ref:`Makefile Generators`.
+
+* The :generator:`Visual Studio 15 2017` generator was added.  This is
+  experimental and based on "Visual Studio 2017 RC" because this version
+  of VS has not been released.
+
+* :ref:`Visual Studio Generators` for VS 2010 and above learned to
+  place ``.natvis`` source files into VS project files properly.
+
+* The :generator:`Xcode` generator's rudimentary Swift language support
+  learned to honor a new :variable:`CMAKE_Swift_LANGUAGE_VERSION` variable
+  to tell Xcode what version of Swift is used by the source.
+
+* The :generator:`CodeLite` generator gained a new
+  :variable:`CMAKE_CODELITE_USE_TARGETS` option
+  to change project creation from projects to targets.
+
+Commands
+--------
+
+* The :command:`add_custom_command` command gained a new ``DEPFILE``
+  option that works with the :generator:`Ninja` generator to provide
+  implicit dependency information to the build tool.
+
+* The :command:`cmake_parse_arguments` command gained a new ``PARSE_ARGV``
+  mode to read arguments directly from ``ARGC`` and ``ARGV#``
+  variables inside a :command:`function` body.
+
+* The :command:`export` command gained an ``ANDROID_MK`` option
+  to generate ``Android.mk`` files referencing CMake-built
+  libraries as prebuilts for the Android NDK build system.
+
+* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands gained
+  ``HTTPHEADER <HTTP-header>`` and ``USERPWD <username>:<password>`` options.
+
+* The :command:`find_library` and :command:`find_package` commands learned
+  to search in ``lib32/`` directories when the build targets a 32-bit
+  architecture.  See the :prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS` global
+  property.
+
+* The :command:`find_package` command gained the possibility of
+  sorting compatible libraries by ``NAME`` or by ``NATURAL`` sorting by
+  setting the two new variables :variable:`CMAKE_FIND_PACKAGE_SORT_ORDER`
+  and :variable:`CMAKE_FIND_PACKAGE_SORT_DIRECTION`.
+
+* The :command:`if` command gained new boolean comparison operations
+  ``LESS_EQUAL``, ``GREATER_EQUAL``, ``STRLESS_EQUAL``, ``STRGREATER_EQUAL``,
+  ``VERSION_LESS_EQUAL``, and ``VERSION_GREATER_EQUAL``.
+
+* The :command:`install` command gained an ``EXPORT_ANDROID_MK``
+  subcommand to install ``Android.mk`` files referencing installed
+  libraries as prebuilts for the Android NDK build system.
+
+* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)`
+  commands gained support for the ``%a`` and ``%b`` placeholders.
+  These are the abbreviated weekday and month names.
+
+* The :command:`try_compile` command source file signature now honors
+  configuration-specific flags (e.g. :variable:`CMAKE_<LANG>_FLAGS_DEBUG`)
+  in the generated test project.  Previously only the default such flags
+  for the current toolchain were used.  See policy :policy:`CMP0066`.
+
+Variables
+---------
+
+* Variable :variable:`CMAKE_FIND_PACKAGE_SORT_ORDER` was added to control
+  the sorting mode of the :command:`find_package` command.
+
+* Variable :variable:`CMAKE_FIND_PACKAGE_SORT_DIRECTION` was added to control
+  the sorting direction the :command:`find_package` command.
+
+* :variable:`Toolchain files <CMAKE_TOOLCHAIN_FILE>` may now set a
+  :variable:`CMAKE_<LANG>_FLAGS_INIT` variable to initialize the
+  :variable:`CMAKE_<LANG>_FLAGS` cache entry the first time a language is
+  enabled in a build tree.
+
+* :variable:`Toolchain files <CMAKE_TOOLCHAIN_FILE>` may now set
+  :variable:`CMAKE_EXE_LINKER_FLAGS_INIT`,
+  :variable:`CMAKE_SHARED_LINKER_FLAGS_INIT`, and
+  :variable:`CMAKE_MODULE_LINKER_FLAGS_INIT` variables to initialize the
+  :variable:`CMAKE_EXE_LINKER_FLAGS`,
+  :variable:`CMAKE_SHARED_LINKER_FLAGS`, and
+  :variable:`CMAKE_MODULE_LINKER_FLAGS` cache entries the first time
+  a language is enabled in a build tree.
+
+Properties
+----------
+
+* On Apple platforms the :prop_tgt:`BUNDLE_EXTENSION` target property
+  now also applies to Frameworks and App Bundles.
+
+* A :prop_dir:`BINARY_DIR` directory property was added to get the
+  absolute path to the binary directory corresponding to the source
+  directory on which the property is read.
+
+* A :prop_dir:`BUILDSYSTEM_TARGETS` directory property was added to
+  get the list of logical buildsystem target names added by the
+  project in a directory.
+
+* A :prop_tgt:`LINK_WHAT_YOU_USE` target property and supporting
+  :variable:`CMAKE_LINK_WHAT_YOU_USE` variable were introduced
+  to detect (on UNIX) shared libraries that are linked but not
+  needed by running ``ldd -r -u``.
+
+* A :prop_dir:`SOURCE_DIR` directory property was added to get the
+  absolute path to the source directory associated with a directory.
+
+* A :prop_dir:`SUBDIRECTORIES` directory property was added to
+  get the list of subdirectories added by a project in a directory.
+
+* A :prop_tgt:`VS_SDK_REFERENCES` target property was added to tell
+  :ref:`Visual Studio Generators` to reference the named SDKs.
+
+* A :prop_sf:`VS_TOOL_OVERRIDE` source file property was created to tell
+  :ref:`Visual Studio Generators` what tool to use for a source file.
+
+* The :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property now applies
+  to executable targets with the :prop_tgt:`ENABLE_EXPORTS` property set.
+
+* A :prop_sf:`XCODE_FILE_ATTRIBUTES` source file property was
+  added to tell the :generator:`Xcode` generator to generate
+  custom content in the Xcode project attributes for the file.
+
+Modules
+-------
+
+* An :module:`AndroidTestUtilities` module was added to manage transfer
+  of test data to an Android device.
+
+* The :module:`CheckFortranSourceCompiles` module macro
+  ``CHECK_Fortran_SOURCE_COMPILES`` gained a ``SRC_EXT`` option
+  to specify a custom test Fortran source file extension.
+
+* The :module:`ExternalProject` module gained ``HTTP_USERNAME`` and
+  ``HTTP_PASSWORD`` options to set http download credentials.
+
+* The :module:`ExternalProject` module gained a ``HTTP_HEADER``
+  option to add http download headers.
+
+* The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new
+  ``REPORT_FILE`` option to specify the bison ``--report-file=`` option.
+
+* The :module:`FindBZip2` module now provides imported targets.
+
+* A :module:`FindICU` module was introduced to find the International
+  Components for Unicode (ICU) libraries and programs.
+
+* The :module:`FindMatlab` module learned to find the SIMULINK and MAT
+  components.
+
+* The :module:`FindMatlab` module :command:`matlab_add_mex` command learned
+  to add executables and modules.
+
+* The :module:`FindMatlab` module :command:`matlab_add_unit_test` command
+  learned to support inline Matlab test code.
+
+* The :module:`FindOpenCL` module now provides imported targets.
+
+* The :module:`FindOpenMP` module learned to detect the OpenMP
+  version (specification date) from the compiler.
+
+* A :module:`FindVulkan` module was added.
+
+* The :module:`GenerateExportHeader` module learned a new
+  ``CUSTOM_CONTENT_FROM_VARIABLE`` option to specify a variable
+  containing custom content for inclusion in the generated header.
+
+* The :module:`GNUInstallDirs` module gained a new
+  :command:`GNUInstallDirs_get_absolute_install_dir` command.
+
+* The :module:`UseJava` module gained APIs to "export" jar targets
+  for use by external CMake projects.  See the ``install_jar_exports``
+  and ``export_jars`` functions.
+
+CTest
+-----
+
+* CTest now supports test fixtures through the new :prop_test:`FIXTURES_SETUP`,
+  :prop_test:`FIXTURES_CLEANUP` and :prop_test:`FIXTURES_REQUIRED` test
+  properties. When using regular expressions or ``--rerun-failed`` to limit
+  the tests to be run, a fixture's setup and cleanup tests will automatically
+  be added to the execution set if any test requires that fixture.
+
+* The :command:`ctest_configure`, :command:`ctest_build`,
+  :command:`ctest_test`, :command:`ctest_coverage`, and :command:`ctest_upload`
+  commands gained a new ``CAPTURE_CMAKE_ERROR`` option to capture any errors
+  that occur as the commands run into a variable and avoid affecting the return
+  code of the :manual:`ctest(1)` process.
+
+CPack
+-----
+
+* CPack gained a ``productbuild`` generator on OS X, configured by
+  the :module:`CPackProductBuild` module.
+
+* CPack gained a new :variable:`CPACK_PACKAGE_CHECKSUM` variable to
+  enable generation of a checksum file for each package file.
+
+* The :module:`CPackDeb` module learned to support long file names
+  when archive format is set to GNU tar.
+  See :variable:`CPACK_DEBIAN_ARCHIVE_TYPE`
+
+* The :module:`CPackIFW` module gained a new
+  :command:`cpack_ifw_add_package_resources` command to include additional
+  resources in the installer binary.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
+  :command:`cpack_ifw_configure_component_group` commands gained a new
+  ``USER_INTERFACES`` option to add a list of additonal pages to the IFW
+  installer.
+
+* The :module:`CPackRPM` module learned to generate debuginfo
+  packages on demand. See :variable:`CPACK_RPM_DEBUGINFO_PACKAGE`
+  and its per component version.
+
+* The :module:`CPackRPM` module learned to generate source rpm
+  (SRPM) packages on demand. See :variable:`CPACK_RPM_PACKAGE_SOURCES`,
+  :variable:`CPACK_RPM_SOURCE_PKG_BUILD_PARAMS` and
+  :variable:`CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX`.
+
+* The CPack NSIS generator now supports
+  :variable:`CPACK_NSIS_<compName>_INSTALL_DIRECTORY`.
+  This can be used to set component specific installation directories.
+
+* The CPack WIX generator now supports
+  :variable:`CPACK_WIX_SKIP_PROGRAM_FOLDER` to allow specification
+  of a custom absolute installation prefix outside
+  of the ProgramFiles folders.
+
+* The CPack WIX generator now supports
+  :variable:`CPACK_COMPONENT_<compName>_DISABLED`.
+  This can be used to deselect a component from being installed by default.
+
+* The CPack WIX generator now supports :variable:`CPACK_WIX_PATCH_FILE`
+  fragments for Feature elements.
+
+* The CPack WIX generator now supports
+  :variable:`CPACK_WIX_ROOT_FEATURE_TITLE` and
+  :variable:`CPACK_WIX_ROOT_FEATURE_DESCRIPTION` to allow the specification
+  of a custom title and description for the root feature element.
+
+Other
+-----
+
+* :manual:`cmake(1)` gained a ``-E capabilities`` option to provide a
+  machine-readable (JSON) description of the capabilities of the
+  cmake tool (available generators, etc.).
+
+* A new :manual:`cmake-server(7)` mode was added to provide semantic
+  information about a CMake-generated buildsystem to clients through
+  a JSON protocol.  Currently all protocols are experimental and subject
+  to change.
+
+* The :manual:`cmake(1)` command learned a ``--trace-source=<file>`` option.
+
+* :manual:`ccmake(1)` learned to support vim-like navigation bindings.
+
+* :manual:`cmake-gui(1)` gained a button to open the generated project file
+  for :ref:`Visual Studio Generators` and the :generator:`Xcode` generator.
+
+Deprecated and Removed Features
+===============================
+
+* We no longer provide Linux i386 binaries for download from ``cmake.org``
+  for new versions of CMake.
+
+* Vim support files ``cmake-indent.vim``, ``cmake-syntax.vim``, and
+  ``cmake-help.vim`` have been removed in favor of the files now provided
+  from the `vim-cmake-syntax`_ project.
+
+* Support for building CMake itself with some compilers was dropped:
+
+  * Visual Studio 7.1 and 2005 -- superseded by VS 2008 and above
+  * MinGW.org mingw32 -- superseded by MSYS2 mingw32 and mingw64
+
+  CMake still supports generating build systems for other projects using
+  these compilers.
+
+Other Changes
+=============
+
+* The Fortran dependency scanner learned to support the syntax of
+  `Fortran Submodules`_.
+
+* Vim support files ``indent/cmake.vim`` and ``syntax/cmake.vim``
+  from the `vim-cmake-syntax`_ project are now distributed with CMake.
+
+.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
+.. _`vim-cmake-syntax`: https://github.com/pboettch/vim-cmake-syntax
diff --git a/share/cmake-3.10/Help/release/3.8.rst b/share/cmake-3.10/Help/release/3.8.rst
new file mode 100644
index 0000000..efb2aa5
--- /dev/null
+++ b/share/cmake-3.10/Help/release/3.8.rst
@@ -0,0 +1,417 @@
+CMake 3.8 Release Notes
+***********************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.7 include the following.
+
+New Features
+============
+
+Languages
+---------
+
+C#
+^^
+
+* CMake learned to support ``CSharp`` (C#) as a first-class language that
+  can be enabled via the :command:`project` and :command:`enable_language`
+  commands.  It is currently supported by the :ref:`Visual Studio Generators`
+  for VS 2010 and above.
+
+  C# assemblies and programs can be added just like common C++ targets using
+  the :command:`add_library` and :command:`add_executable` commands.
+  References between C# targets in the same source tree may be specified by
+  :command:`target_link_libraries` like for C++.  References to system or
+  3rd-party assemblies may be specified by the target properties
+  :prop_tgt:`VS_DOTNET_REFERENCE_<refname>` and
+  :prop_tgt:`VS_DOTNET_REFERENCES`.
+
+* More fine tuning of C# targets may be done using target and source
+  file properties.  Specifically the target properties related to
+  Visual Studio (``VS_*``) are worth a look (for setting toolset
+  versions, root namespaces, assembly icons, ...).
+
+CUDA
+^^^^
+
+* CMake learned to support ``CUDA`` as a first-class language that can be
+  enabled via the :command:`project` and :command:`enable_language` commands.
+
+* ``CUDA`` is currently supported by the :ref:`Makefile Generators`
+  and the :generator:`Ninja` generator on Linux, macOS, and Windows.
+  Support for the Visual Studio IDE is under development but not
+  included in this release.
+
+* The NVIDIA CUDA Toolkit compiler (``nvcc``) is supported.
+
+C & C++
+^^^^^^^
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  now offers meta-features that request compiler modes for specific language
+  standard levels (e.g. ``cxx_std_11``).  See
+  :prop_gbl:`CMAKE_C_KNOWN_FEATURES` and :prop_gbl:`CMAKE_CXX_KNOWN_FEATURES`.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  is now aware of C++ 17.  No specific features are yet enumerated besides
+  the ``cxx_std_17`` meta-feature.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  is now aware of the availability of C99 in gcc since version 3.4.
+
+Platforms
+---------
+
+* A new minimal platform file for ``Fuchsia`` was added.
+
+Generators
+----------
+
+* The :generator:`CodeBlocks` extra generator may now be used to
+  generate with :generator:`NMake Makefiles JOM`.
+
+* The :ref:`Visual Studio Generators` for VS 2013 and above learned to
+  support a ``host=x64`` option in the :variable:`CMAKE_GENERATOR_TOOLSET`
+  value (e.g.  via the :manual:`cmake(1)` ``-T`` option) to request use
+  of a VS 64-bit toolchain on 64-bit hosts.
+
+* The :ref:`Visual Studio Generators` learned to treat files passed to
+  :command:`target_link_libraries` whose names end in ``.targets``
+  as MSBuild "targets" files to be imported into generated project files.
+
+Commands
+--------
+
+* The :command:`add_custom_command` and :command:`add_custom_target` commands
+  learned the option ``COMMAND_EXPAND_LISTS`` which causes lists in the
+  ``COMMAND`` argument to be expanded, including lists created by generator
+  expressions.
+
+* The :command:`execute_process` command gained an ``ENCODING`` option to
+  specify on Windows which encoding is used for output from child process.
+
+* The :command:`math(EXPR)` command gained support for unary
+  ``+`` and ``-`` operators.
+
+* The :command:`source_group` command gained ``TREE`` and ``PREFIX``
+  options to add groups following source tree directory structure.
+
+* The :command:`string(TIMESTAMP)` command learned to treat ``%%``
+  as a way to encode plain ``%``.
+
+* The :command:`string(TIMESTAMP)` command will now honor the
+  ``SOURCE_DATE_EPOCH`` environment variable and use its value
+  instead of the current time.
+
+* The :command:`try_compile` command source file signature gained new options
+  to specify the language standard to use in the generated test project.
+
+* The :command:`try_compile` command source file signature now honors
+  language standard variables like :variable:`CMAKE_CXX_STANDARD`.
+  See policy :policy:`CMP0067`.
+
+Variables
+---------
+
+* A :variable:`CMAKE_CODELITE_USE_TARGETS` variable was added to tell the
+  :generator:`CodeLite` extra generator to change the generated project
+  to have target-centric organization.
+  The ``build``, ``rebuild``, and ``clean`` operations within ``CodeLite``
+  then work on a selected target rather than the whole workspace.
+  (Note that the :generator:`Ninja` clean operation on a target
+  includes its dependencies, though.)
+
+* The :variable:`CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS` variable was added to
+  tell the :generator:`Sublime Text 2` extra generator to place specified
+  environment variables in the generated ``.sublime-project``.
+
+* The :variable:`CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE` variable was added
+  to tell the :generator:`Sublime Text 2` extra generator whether to exclude
+  the build tree from the ``.sublime-project`` when it is inside the source
+  tree.
+
+* A :variable:`CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD` variable was
+  added to tell :ref:`Visual Studio Generators` for VS 2010 and above
+  to include the ``PACKAGE`` target in the default build, similar to
+  the existing :variable:`CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD`
+  variable for the ``INSTALL`` target.
+
+Properties
+----------
+
+* A :prop_tgt:`BUILD_RPATH` target property and corresponding
+  :variable:`CMAKE_BUILD_RPATH` variable were added to support custom
+  ``RPATH`` locations to be added to binaries in the build tree.
+
+* The :prop_sf:`COMPILE_FLAGS` source file property learned to support
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+* The :prop_tgt:`FRAMEWORK` target property may now also be applied to
+  static libraries on Apple targets.  It will result in a proper
+  Framework but with a static library inside.
+
+* :ref:`Imported <Imported Targets>` :ref:`Interface Libraries` learned new
+  :prop_tgt:`IMPORTED_LIBNAME` and :prop_tgt:`IMPORTED_LIBNAME_<CONFIG>`
+  target properties to specify a link library name since interface libraries
+  do not build their own library files.
+
+* A :prop_tgt:`<LANG>_CPPLINT` target property and supporting
+  :variable:`CMAKE_<LANG>_CPPLINT` variable were introduced to tell
+  the :ref:`Makefile Generators` and the :generator:`Ninja` generator to
+  run the ``cpplint`` style checker along with the compiler for ``C`` and
+  ``CXX`` languages.
+
+* A :prop_tgt:`MANUALLY_ADDED_DEPENDENCIES` target property has been added.
+  It provides a read-only list of dependencies that have been added with
+  the :command:`add_dependencies` command.
+
+* The :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` target property learned
+  to interpret empty list elements as referring to the configuration-less
+  imported location specified by :prop_tgt:`IMPORTED_LOCATION`.
+
+* The :prop_tgt:`NO_SYSTEM_FROM_IMPORTED` target property is now supported
+  on :ref:`Imported <Imported Targets>` :ref:`Interface Libraries`.
+
+* New source file properties :prop_sf:`SKIP_AUTOMOC`, :prop_sf:`SKIP_AUTOUIC`,
+  :prop_sf:`SKIP_AUTORCC`, and :prop_sf:`SKIP_AUTOGEN` were added to allow
+  source files to be excluded from processing by :prop_tgt:`AUTOMOC`,
+  :prop_tgt:`AUTOUIC`, and :prop_tgt:`AUTORCC` target properties.
+
+* A :prop_sf:`VS_COPY_TO_OUT_DIR` source file property was added to
+  tell :ref:`Visual Studio Generators` for VS 2010 and above whether
+  or not a file should e copied to the output directory.
+
+* A :prop_tgt:`VS_DEBUGGER_WORKING_DIRECTORY` target property was added
+  to tell :ref:`Visual Studio Generators` for VS 2010 and above what
+  debugger working directory should be set for the target.
+
+* A :prop_tgt:`VS_DOTNET_REFERENCES_COPY_LOCAL` target property was added
+  to specify whether to copy referenced assemblies to the output directory.
+
+* A :prop_tgt:`VS_DOTNET_REFERENCE_<refname>` target property was added
+  to tell :ref:`Visual Studio Generators` for VS 2010 and above to add
+  a .NET reference with a given hint path.
+
+* A :prop_sf:`VS_INCLUDE_IN_VSIX` source file property was added to
+  tell :ref:`Visual Studio Generators` for VS 2010 and above whether
+  to include the file in a Visual Studio extension package.
+
+* A :prop_sf:`VS_RESOURCE_GENERATOR` source file property was added to
+  give :ref:`Visual Studio Generators` for VS 2010 and above a setting
+  for the resource generator (``C#`` only).
+
+* A :prop_tgt:`VS_USER_PROPS` target property was added to tell
+  :ref:`Visual Studio Generators` for VS 2010 and above to use a
+  custom MSBuild user ``.props`` file.
+
+* A :prop_gbl:`XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` global property was
+  added to tell the :generator:`Xcode` generator whether to emit the
+  ``EFFECTIVE_PLATFORM_NAME`` variable.  This is useful when building
+  with multiple SDKs like ``macosx`` and ``iphoneos`` in parallel.
+
+* New :prop_tgt:`XCODE_PRODUCT_TYPE` and :prop_tgt:`XCODE_EXPLICIT_FILE_TYPE`
+  target properties were created to tell the :generator:`Xcode` generator
+  to use custom values of the corresponding attributes for a target in the
+  generated Xcode project.
+
+Modules
+-------
+
+* A :module:`CSharpUtilities` module was added to aid parameterization of
+  Visual Studio C# targets.  It provides functions to allow automated
+  setting of source file properties to support Windows Forms, WPF/XAML or
+  other technologies as needed.
+
+* The :module:`ExternalData` module learned to support multiple
+  content links for one data file using different hashes, e.g.
+  ``img.png.sha256`` and ``img.png.sha1``.  This allows objects
+  to be fetched from sources indexed by different hash algorithms.
+
+* The :module:`ExternalProject` module gained the ``GIT_PROGRESS`` option to
+  force Git to show progress when cloning repositories.
+
+* The :module:`ExternalProject` module gained a ``GIT_CONFIG`` option
+  to pass ``--config`` options to Git when cloning repositories.
+
+* The :module:`FeatureSummary` module :command:`feature_summary` command now
+  accepts a new ``QUIET_ON_EMPTY`` option that suppresses the output when
+  the list of packages that belong to the selected category is empty.
+
+* The :module:`FeatureSummary` module :command:`add_feature_info` command
+  now accepts lists of dependencies for deciding whether a feature is enabled
+  or not.
+
+* The package types accepted by the :module:`FeatureSummary` module can now
+  be tweaked by changing the :variable:`FeatureSummary_PKG_TYPES`,
+  :variable:`FeatureSummary_REQUIRED_PKG_TYPES` and
+  :variable:`FeatureSummary_DEFAULT_PKG_TYPE` global properties.
+
+* The :module:`FindOpenGL` module now provides imported targets
+  ``OpenGL::GL`` and ``OpenGL::GLU`` when the libraries are found.
+
+* The :module:`UseSWIG` module gained a ``swig_add_library`` command
+  to give more flexibility over the old ``swig_add_module`` command.
+
+* The :module:`UseSWIG` module ``swig_add_source_to_module`` command
+  learned a new ``SWIG_OUTFILE_DIR`` option to control the output
+  file location (``swig -o``).
+
+* The :module:`WriteCompilerDetectionHeader` module gained the
+  ``ALLOW_UNKNOWN_COMPILERS`` and ``ALLOW_UNKNOWN_COMPILER_VERSIONS`` options
+  that allow creation of headers that will work also with unknown or old
+  compilers by simply assuming they do not support any of the requested
+  features.
+
+CTest
+-----
+
+* The :command:`ctest_memcheck` command gained a ``DEFECT_COUNT <var>``
+  option to capture the number of memory defects detected.
+
+* The :command:`ctest_memcheck` command learned to read the location of
+  suppressions files for sanitizers from the
+  :variable:`CTEST_MEMORYCHECK_SUPPRESSIONS_FILE` variable.
+
+* The :command:`ctest_memcheck` command learned to support ``LeakSanitizer``
+  independently from ``AddressSanitizer``.
+
+* The :command:`ctest_update` command ``CDASH_UPLOAD`` signature was taught
+  to honor the ``RETRY_COUNT``, ``RETRY_DELAY``, and ``QUIET`` options.
+
+CPack
+-----
+
+* The :module:`CPackIFWConfigureFile` module was added to define a new
+  :command:`cpack_ifw_configure_file` command to configure file templates
+  prepared in QtIFW/SDK/Creator style.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
+  :command:`cpack_ifw_configure_component_group` commands gained a new
+  ``DEFAULT``, ``VIRTUAL``, ``FORCED_INSTALLATION``, ``REQUIRES_ADMIN_RIGHTS``,
+  ``DISPLAY_NAME``, ``UPDATE_TEXT``, ``DESCRIPTION``, ``RELEASE_DATE``,
+  ``AUTO_DEPEND_ON`` and ``TRANSLATIONS`` options to more specific
+  configuration.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component`
+  command gained a new ``DEPENDENCIES`` alias for ``DEPENDS`` option.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component_group`
+  command gained a new ``DEPENDS`` option. The ``DEPENDENCIES`` alias also
+  added.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
+  :command:`cpack_ifw_configure_component_group` commands ``PRIORITY``
+  option now is deprecated and will be removed in a future version of CMake.
+  Please use new ``SORTING_PRIORITY`` option instead.
+
+* The :module:`CPackIFW` module gained new
+  :variable:`CPACK_IFW_PACKAGE_WATERMARK`,
+  :variable:`CPACK_IFW_PACKAGE_BANNER`,
+  :variable:`CPACK_IFW_PACKAGE_BACKGROUND`,
+  :variable:`CPACK_IFW_PACKAGE_WIZARD_STYLE`,
+  :variable:`CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH`,
+  :variable:`CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT`, and
+  :variable:`CPACK_IFW_PACKAGE_TITLE_COLOR`
+  variables to customize a QtIFW installer look.
+
+* The :module:`CPackProductBuild` module gained options to sign packages.
+  See the variables :variable:`CPACK_PRODUCTBUILD_IDENTITY_NAME`,
+  :variable:`CPACK_PRODUCTBUILD_KEYCHAIN_PATH`,
+  :variable:`CPACK_PKGBUILD_IDENTITY_NAME`, and
+  :variable:`CPACK_PKGBUILD_KEYCHAIN_PATH`.
+
+* The :module:`CPackRPM` module learned to omit tags that are not supported by
+  provided ``rpmbuild`` tool. If unsupported tags are set they are ignored
+  and a developer warning is printed out.
+
+* The :module:`CPackRPM` module learned to generate main component package
+  which forces generation of a rpm for defined component without component
+  suffix in filename and package name.
+  See :variable:`CPACK_RPM_MAIN_COMPONENT` variable.
+
+* The :module:`CPackRPM` module learned to generate a single ``debuginfo``
+  package on demand even if components packaging is used.
+  See :variable:`CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE` variable.
+
+* The :module:`CPackRPM` module learned to support
+  multiple directives per file when using
+  :variable:`CPACK_RPM_USER_FILELIST` variable.
+
+Other
+-----
+
+* CMake functionality using cryptographic hashes now supports SHA-3 algorithms.
+
+* A new generator expression ``$<IF:cond,true-value,false-value>`` was added.
+  It resolves to the true-value if the condition is ``1`` and resolves to
+  the false-value if the condition is ``0``.
+
+Deprecated and Removed Features
+===============================
+
+* The :module:`FeatureSummary` module commands :command:`set_package_info`,
+  :command:`set_feature_info`, :command:`print_enabled_features`, and
+  :command:`print_disabled_features` are now deprecated.
+
+* The :module:`UseSWIG` module ``swig_add_module`` command is now
+  deprecated in favor of ``swig_add_library``.
+
+Other Changes
+=============
+
+* If a command specified by the :prop_tgt:`<LANG>_CLANG_TIDY` target property
+  returns non-zero at build time this is now treated as an error instead of
+  silently ignored.
+
+* The :command:`ctest_memcheck` command no longer automatically adds
+  ``leak_check=1`` to the options used by ``AddressSanitizer``. The default
+  behavior of ``AddressSanitizer`` is to run `LeakSanitizer` to check leaks
+  unless ``leak_check=0``.
+
+* The :command:`ctest_memcheck` command was fixed to correctly append extra
+  sanitizer options read from the
+  :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS` variable to the environment
+  variables used internally by the sanitizers.
+
+* The :module:`FeatureSummary` module :command:`set_package_properties`
+  command no longer forces the package type to ``OPTIONAL`` when the type
+  is not explicitly set.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  is now aware of features supported by Intel C++ compilers versions 12.1
+  through 17.0 on UNIX and Windows platforms.
+
+* Calls to the :module:`FindPkgConfig` module :command:`pkg_check_modules`
+  command following a successful call learned to re-evaluate the cached values
+  for a given prefix after changes to the parameters to the command for that
+  prefix.
+
+* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`, generated
+  ``moc_*``, ``*.moc`` and ``ui_*`` are placed in the
+  ``<CMAKE_CURRENT_BINARY_DIR>/<TARGETNAME>_autogen/include`` directory which
+  is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
+  It is therefore not necessary anymore to have
+  :variable:`CMAKE_CURRENT_BINARY_DIR` in the target's
+  :prop_tgt:`INCLUDE_DIRECTORIES`.
+
+* The :generator:`Sublime Text 2` generator no longer runs the native
+  build command (e.g. ``ninja`` or ``make``) with verbose build output
+  enabled.
+
+* The :command:`try_compile` command source file signature now
+  honors the :variable:`CMAKE_WARN_DEPRECATED` variable value
+  in the generated test project.
+
+* The :ref:`Visual Studio Generators` for VS 2010 and above now place
+  per-source file flags after target-wide flags when they are classified
+  as raw flags with no project file setting (``AdditionalOptions``).
+  This behavior is more consistent with the ordering of flags produced
+  by other generators, and allows flags on more-specific properties
+  (per-source) to override those on more general ones (per-target).
+
+* The precompiled Windows binary MSI package provided on ``cmake.org`` now
+  records the installation directory in the Windows Registry under the key
+  ``HKLM\Software\Kitware\CMake`` with a value named ``InstallDir``.
diff --git a/share/cmake-3.10/Help/release/3.9.rst b/share/cmake-3.10/Help/release/3.9.rst
new file mode 100644
index 0000000..897e268
--- /dev/null
+++ b/share/cmake-3.10/Help/release/3.9.rst
@@ -0,0 +1,342 @@
+CMake 3.9 Release Notes
+***********************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.8 include the following.
+
+New Features
+============
+
+Languages
+---------
+
+* ``CUDA`` is now supported by the :ref:`Visual Studio Generators`
+  for VS 2010 and above.  This complements the existing support by the
+  :ref:`Makefile Generators` and the :generator:`Ninja` generator.
+  CUDA 8.0.61 or higher is recommended due to known bugs in the VS
+  integration by earlier versions.
+
+* CMake is now aware of the :prop_tgt:`C++ standards <CXX_STANDARD>` and
+  :prop_tgt:`C standards <C_STANDARD>` and their associated meta-features for
+  the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>`: ``Cray``,
+  ``PGI``, and ``XL``.
+
+Generators
+----------
+
+* :ref:`Visual Studio Generators` for VS 2010 and above learned to support
+  the ``ASM_NASM`` language when ``nasm`` is installed.
+
+* The :generator:`Xcode` generator learned to create Xcode schema files.
+  This is an experimental feature and can be activated by setting the
+  :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable to a ``TRUE`` value.
+
+Commands
+--------
+
+* The :command:`add_library` command ``IMPORTED`` option learned to support
+  :ref:`Object Libraries`.
+
+* The :command:`find_library` command learned to search ``libx32`` paths
+  when the build targets the ``x32`` ABI.  See the
+  :prop_gbl:`FIND_LIBRARY_USE_LIBX32_PATHS` global property.
+
+* The :command:`include_external_msproject` command learned to use
+  the :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` target property
+  to map current configurations to the external configurations.
+
+* The :command:`install(TARGETS)` command learned a new ``OBJECTS`` option to
+  specify where to install :ref:`Object Libraries`.
+
+* The :command:`install(EXPORT)` command learned how to export
+  :ref:`Object Libraries`.
+
+* The :command:`project` command learned an optional ``DESCRIPTION``
+  parameter to set the :variable:`PROJECT_DESCRIPTION` variable.
+
+* The :command:`separate_arguments` command gained a ``NATIVE_COMMAND`` mode
+  that performs argument separation depending on the host operating system.
+
+Variables
+---------
+
+* A :variable:`CMAKE_ANDROID_NDK_DEPRECATED_HEADERS` variable was added
+  for use when :ref:`Cross Compiling for Android with the NDK` to request
+  use of the deprecated headers even when unified headers are available.
+  The default is now to use unified headers if available.
+
+* A :variable:`CMAKE_AUTOMOC_DEPEND_FILTERS` variable was introduced to
+  allow :variable:`CMAKE_AUTOMOC` to extract additional dependency file names
+  for ``moc`` from the contents of source files.
+
+* A :variable:`CMAKE_AUTOUIC_SEARCH_PATHS` variable was introduced to
+  allow :variable:`CMAKE_AUTOUIC` to search for ``foo.ui`` in more
+  places than the vicinity of the file including ``ui_foo.h``.
+
+* A :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable was added to
+  tell the :command:`find_library` command to search in a ``lib<suffix>``
+  directory before each ``lib`` directory that would normally be searched.
+
+* A :variable:`CMAKE_INTERPROCEDURAL_OPTIMIZATION` variable was added to
+  initialize the :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` property on all
+  targets.
+
+* A :variable:`CMAKE_<LANG>_COMPILER_AR` variable was added to hold
+  the path to the GCC/Clang wrapper of ``ar``.
+
+* A :variable:`CMAKE_<LANG>_COMPILER_RANLIB` variable was added to hold
+  the path to the GCC/Clang wrapper of ``ranlib``.
+
+* The :variable:`CMAKE_SYSROOT_COMPILE` and :variable:`CMAKE_SYSROOT_LINK`
+  variables were added to use separate sysroots for compiling and linking.
+
+Properties
+----------
+
+* A new :prop_tgt:`AUTOGEN_BUILD_DIR` target property was introduced to set
+  a custom output directory for :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTOUIC`,
+  and :prop_tgt:`AUTORCC`.
+
+* A new :prop_tgt:`AUTOMOC_DEPEND_FILTERS` target property was introduced to
+  allow :prop_tgt:`AUTOMOC` to extract additional dependency file names
+  for ``moc`` from the contents of source files.
+
+* A new :prop_tgt:`AUTOUIC_SEARCH_PATHS` target property was introduced to
+  allow :prop_tgt:`AUTOUIC` to search for ``foo.ui`` in more
+  places than the vicinity of the file including ``ui_foo.h``.
+
+* Global properties :prop_gbl:`AUTOGEN_SOURCE_GROUP`,
+  :prop_gbl:`AUTOMOC_SOURCE_GROUP` and
+  :prop_gbl:`AUTORCC_SOURCE_GROUP` were
+  introduced to allow files generated by :prop_tgt:`AUTOMOC` or
+  :prop_tgt:`AUTORCC` to be placed in a :command:`source_group`.
+
+* A :prop_tgt:`BUILD_WITH_INSTALL_NAME_DIR` target property and corresponding
+  :variable:`CMAKE_BUILD_WITH_INSTALL_NAME_DIR` variable were added to
+  control whether to use the :prop_tgt:`INSTALL_NAME_DIR` target property
+  value for binaries in the build tree.  This is for macOS ``install_name``
+  as :prop_tgt:`BUILD_WITH_INSTALL_RPATH` is for ``RPATH``.
+
+* A :prop_tgt:`CUDA_PTX_COMPILATION` target property was added to
+  :ref:`Object Libraries` to support compiling to ``.ptx`` files
+  instead of host object files.
+
+* A :prop_gbl:`GENERATOR_IS_MULTI_CONFIG` global property was
+  added to determine whether the current generator is a multi-configuration
+  generator (such as :ref:`Visual Studio Generators` or :generator:`Xcode`).
+
+* The :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property is now enforced
+  when enabled.  CMake will add IPO flags unconditionally or produce an error
+  if it does not know the flags for the current compiler.  The project is now
+  responsible to use the :module:`CheckIPOSupported` module to check for IPO
+  support before enabling the target property.  See policy :policy:`CMP0069`.
+
+* The :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property may now
+  be used in combination with explicit ``.def`` files in order to
+  export all symbols from the object files within a target plus
+  an explicit list of symbols that the linker finds in dependencies
+  (e.g. ``msvcrt.lib``).
+
+Modules
+-------
+
+* A :module:`CheckIPOSupported` module was added to help projects
+  check whether interprocedural optimization (IPO) is supported by
+  the current toolchain and CMake version.
+
+* The :module:`CMakeFindDependencyMacro` module ``find_dependency`` macro
+  now forwards all arguments to the underlying :command:`find_package`
+  call.  Existing uses will continue to function as before, but callers can
+  now access the full suite of arguments that ``find_package`` accepts.
+
+* The :module:`FeatureSummary` module :command:`feature_summary` command now
+  accepts the new ``DEFAULT_DESCRIPTION`` option that will print the default
+  title for the selected package type.
+
+* The :module:`FeatureSummary` module gained a new
+  :variable:`FeatureSummary_<TYPE>_DESCRIPTION` variable that can be defined
+  for each ``<TYPE>`` to replace the type name with the specified string
+  whenever the package type is used in an output string by the module.
+
+* The :module:`FindDoxygen` module learned to control Doxygen behavior using
+  CMake variables and generate documentation via the newly added
+  :command:`doxygen_add_docs` function. The Doxygen input file (``Doxyfile``)
+  is automatically generated and doxygen is run as part of a custom target.
+  Additional components can be specified to find optional tools: ``dot``,
+  ``mscgen`` and ``dia``.
+
+* The :module:`FindMPI` module now provides imported targets.
+
+* The :module:`FindProtobuf` module :command:`protobuf_generate_cpp`
+  command gained an ``EXPORT_MACRO`` option to specify the name of
+  a DLL export markup macro.
+
+* The :module:`FindProtobuf` module now supports usage of static libraries
+  for Unix via a new ``Protobuf_USE_STATIC_LIBS`` input variable.
+
+* The :module:`FindProtobuf` module now provides imported targets
+  when the libraries are found.
+
+* A new :module:`GoogleTest` module was added to provide the
+  :command:`gtest_add_tests` function independently of the :module:`FindGTest`
+  module. The function was also updated to support keyword arguments, with
+  functionality expanded to allow a test name prefix and suffix to be
+  specified, the dependency on the source files to be optional and the list of
+  discovered test cases to be returned to the caller.
+
+CTest
+-----
+
+* The :command:`ctest_submit` command gained a ``HTTPHEADER`` option
+  to specify custom headers to send during submission.
+
+* The :manual:`ctest(1)` executable gained new options which allow the
+  developer to disable automatically adding tests to the test set to satisfy
+  fixture dependencies. ``-FS`` prevents adding setup tests for fixtures
+  matching the provided regular expression, ``-FC`` prevents adding cleanup
+  tests for matching fixtures and ``-FA`` prevents adding any test for matching
+  fixtures.
+
+* A :prop_test:`DISABLED` test property was added to mark tests that
+  are configured but explicitly disabled so they do not run.
+
+CPack
+-----
+
+* The :module:`CPackArchive` module learned to modify the filename
+  per-component.  See the :variable:`CPACK_ARCHIVE_FILE_NAME` variable and
+  its per-component version :variable:`CPACK_ARCHIVE_<component>_FILE_NAME`.
+
+* The :module:`CPackComponent` module :command:`cpack_add_component` command
+  gained a new ``PLIST <filename>`` option to specify the ``pkgbuild``
+  ``--component-plist`` argument when using the
+  :module:`productbuild <CPackProductBuild>` generator.
+
+* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
+  :command:`cpack_ifw_configure_component_group` commands gained
+  internationalization support for ``DISPLAY_NAME`` and ``DESCRIPTION``
+  options.
+
+* The :module:`CPackIFW` module learned the new hint :variable:`CPACK_IFW_ROOT`
+  variable for finding the QtIFW tool suite installed in a non-standard place.
+
+* The :module:`CPackProductBuild` module gained a new
+  :variable:`CPACK_PRODUCTBUILD_RESOURCES_DIR` variable to
+  specify resources to be copied into the ``Resources``
+  directory.
+
+* The :module:`CPackRPM` module learned to modify the ``debuginfo`` package
+  name.  See the :variable:`CPACK_RPM_DEBUGINFO_FILE_NAME` variable.
+
+* The :module:`CPackWIX` module patching system now has the ability to set
+  additional attributes.  This can be done by specifying attributes with
+  the ``CPackWiXFragment`` XML tag after the ``Id`` attribute.
+  See the :variable:`CPACK_WIX_PATCH_FILE` variable.
+
+* The CPack WIX generator implemented a new
+  :variable:`CPACK_WIX_ROOT_FOLDER_ID` variable which allows
+  using a custom root folder ID instead of the default
+  ``ProgramFilesFolder`` / ``ProgramFiles64Folder``.
+
+Other
+-----
+
+* Interprocedural optimization (IPO) is now supported for GNU and Clang
+  compilers using link time optimization (LTO) flags.  See the
+  :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property and
+  :module:`CheckIPOSupported` module.
+
+* The ``TARGET_OBJECTS``
+  :manual:`generator expression <cmake-generator-expressions(7)>`
+  is now supported by the :command:`add_custom_command` and
+  :command:`file(GENERATE)` commands.
+
+* Two new informational generator expressions to retrieve Apple Bundle
+  directories have been added. The first one ``$<TARGET_BUNDLE_DIR:tgt>``
+  outputs the full path to the Bundle directory, the other one
+  ``$<TARGET_BUNDLE_CONTENT_DIR:tgt>`` outputs the full path to the
+  ``Contents`` directory of macOS Bundles and App Bundles. For all other
+  bundle types and SDKs it is identical with ``$<TARGET_BUNDLE_DIR:tgt>``.
+  The new expressions are helpful to query Bundle locations independent of
+  the different Bundle types and layouts on macOS and iOS.
+
+Deprecated and Removed Features
+===============================
+
+* An explicit deprecation diagnostic was added for policies ``CMP0036``
+  and below.  The :manual:`cmake-policies(7)` manual explains that the
+  OLD behaviors of all policies are deprecated and that projects should
+  always port to the NEW behaviors as soon as possible.
+
+* The :generator:`Visual Studio 8 2005` generator is now deprecated
+  and will be removed in a future version of CMake.
+
+* The :generator:`Visual Studio 7 .NET 2003` generator has been removed.
+
+* The :generator:`Xcode` generator dropped support for Xcode versions
+  older than 3.
+
+* The :module:`FindDoxygen` module has deprecated several variables.
+
+* The version of curl bundled with CMake no longer accepts URLs of the form
+  ``file://c:/...`` on Windows due to a change in upstream curl 7.52.  Use
+  the form ``file:///c:/...`` instead to work on all versions.
+
+Other Changes
+=============
+
+* When using :prop_tgt:`AUTOMOC`, CMake now scans for the presence of the
+  ``Q_PLUGIN_METADATA`` macro and reruns moc when the file from the
+  macro's ``FILE`` argument changes.
+
+* When :prop_tgt:`AUTOMOC` detects an include statement of the form
+  ``#include "moc_<basename>.cpp"`` the search for the respective header file
+  now looks in the :prop_tgt:`INCLUDE_DIRECTORIES` of the target as well.
+
+* When running tests, CTest learned to treat skipped tests (using the
+  :prop_test:`SKIP_RETURN_CODE` property) the same as tests with the new
+  :prop_test:`DISABLED` property. Due to this change, CTest will not indicate
+  failure when all tests are either skipped or pass.
+
+* The :generator:`Ninja` generator has loosened the dependencies of object
+  compilation.  Object compilation now depends only on custom targets
+  and custom commands associated with libraries on which the object's target
+  depends and no longer depends on the libraries themselves.  Source files
+  in dependent targets may now compile without waiting for their targets'
+  dependencies to link.
+
+* On macOS, ``RPATH`` settings such as :prop_tgt:`BUILD_WITH_INSTALL_RPATH`
+  no longer affect the ``install_name`` field.  See policy :policy:`CMP0068`.
+
+* The :generator:`Visual Studio 14 2015` generator has been taught about
+  a change to the ``v140`` toolset made by a VS 2015 update.  VS changed
+  the set of values it understands for the ``GenerateDebugInformation``
+  linker setting that produces the ``-DEBUG`` linker flag variants.
+
+Updates
+=======
+
+Changes made since CMake 3.9.0 include the following.
+
+3.9.1
+-----
+
+* The ``find_`` command ``PACKAGE_ROOT`` search path group added by
+  CMake 3.9.0 has been removed for the 3.9 series due to regressions
+  caused by new use of ``<PackageName>_ROOT`` variables.  The behavior
+  may be re-introduced in the future in a more-compatible way.
+
+3.9.2
+-----
+
+* On macOS, the default application bundle ``Info.plist`` file no longer
+  enables Hi-DPI support as it did in 3.9.0 and 3.9.1.  The change had
+  to be reverted because it broke iOS applications.
+
+* The Xcode generator no longer adds "outputPaths" to custom script
+  build phases as it did in 3.9.0 and 3.9.1.  This was added in an
+  attempt to support Xcode 9's new build system, but broke incremental
+  rebuilds for both the old and new Xcode build systems.
diff --git a/share/cmake-3.6/Help/release/dev.txt b/share/cmake-3.10/Help/release/dev.txt
similarity index 100%
rename from share/cmake-3.6/Help/release/dev.txt
rename to share/cmake-3.10/Help/release/dev.txt
diff --git a/share/cmake-3.10/Help/release/index.rst b/share/cmake-3.10/Help/release/index.rst
new file mode 100644
index 0000000..0c7572f
--- /dev/null
+++ b/share/cmake-3.10/Help/release/index.rst
@@ -0,0 +1,26 @@
+:orphan:
+
+CMake Release Notes
+*******************
+
+..
+  This file should include the adjacent "dev.txt" file
+  in development versions but not in release versions.
+
+Releases
+========
+
+.. toctree::
+   :maxdepth: 1
+
+   3.10 <3.10>
+   3.9 <3.9>
+   3.8 <3.8>
+   3.7 <3.7>
+   3.6 <3.6>
+   3.5 <3.5>
+   3.4 <3.4>
+   3.3 <3.3>
+   3.2 <3.2>
+   3.1 <3.1>
+   3.0 <3.0>
diff --git a/share/cmake-3.10/Help/variable/ANDROID.rst b/share/cmake-3.10/Help/variable/ANDROID.rst
new file mode 100644
index 0000000..fede4ca
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/ANDROID.rst
@@ -0,0 +1,5 @@
+ANDROID
+-------
+
+Set to ``1`` when the target system (:variable:`CMAKE_SYSTEM_NAME`) is
+``Android``.
diff --git a/share/cmake-3.10/Help/variable/APPLE.rst b/share/cmake-3.10/Help/variable/APPLE.rst
new file mode 100644
index 0000000..810d5fc
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/APPLE.rst
@@ -0,0 +1,5 @@
+APPLE
+-----
+
+Set to ``True`` when the target system is an Apple platform
+(macOS, iOS, tvOS or watchOS).
diff --git a/share/cmake-3.6/Help/variable/BORLAND.rst b/share/cmake-3.10/Help/variable/BORLAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/BORLAND.rst
rename to share/cmake-3.10/Help/variable/BORLAND.rst
diff --git a/share/cmake-3.6/Help/variable/BUILD_SHARED_LIBS.rst b/share/cmake-3.10/Help/variable/BUILD_SHARED_LIBS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/BUILD_SHARED_LIBS.rst
rename to share/cmake-3.10/Help/variable/BUILD_SHARED_LIBS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst b/share/cmake-3.10/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_API.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_API.rst
new file mode 100644
index 0000000..c07a05a
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_API.rst
@@ -0,0 +1,11 @@
+CMAKE_ANDROID_API
+-----------------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this variable may be set to specify the default value for the
+:prop_tgt:`ANDROID_API` target property.  See that target property for
+additional information.
+
+Otherwise, when :ref:`Cross Compiling for Android`, this variable provides
+the Android API version number targeted.  This will be the same value as
+the :variable:`CMAKE_SYSTEM_VERSION` variable for ``Android`` platforms.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_API_MIN.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_API_MIN.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_API_MIN.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_API_MIN.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARCH.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARCH.rst
new file mode 100644
index 0000000..b91ca57
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARCH.rst
@@ -0,0 +1,19 @@
+CMAKE_ANDROID_ARCH
+------------------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this variable may be set to specify the default value for the
+:prop_tgt:`ANDROID_ARCH` target property.  See that target property for
+additional information.
+
+Otherwise, when :ref:`Cross Compiling for Android`, this variable provides
+the name of the Android architecture corresponding to the value of the
+:variable:`CMAKE_ANDROID_ARCH_ABI` variable.  The architecture name
+may be one of:
+
+* ``arm``
+* ``arm64``
+* ``mips``
+* ``mips64``
+* ``x86``
+* ``x86_64``
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst
new file mode 100644
index 0000000..0a3ed3c
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst
@@ -0,0 +1,17 @@
+CMAKE_ANDROID_ARCH_ABI
+----------------------
+
+When :ref:`Cross Compiling for Android`, this variable specifies the
+target architecture and ABI to be used.  Valid values are:
+
+* ``arm64-v8a``
+* ``armeabi-v7a``
+* ``armeabi-v6``
+* ``armeabi``
+* ``mips``
+* ``mips64``
+* ``x86``
+* ``x86_64``
+
+See also the :variable:`CMAKE_ANDROID_ARM_MODE` and
+:variable:`CMAKE_ANDROID_ARM_NEON` variables.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARM_MODE.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARM_MODE.rst
new file mode 100644
index 0000000..ad3c37c
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARM_MODE.rst
@@ -0,0 +1,7 @@
+CMAKE_ANDROID_ARM_MODE
+----------------------
+
+When :ref:`Cross Compiling for Android` and :variable:`CMAKE_ANDROID_ARCH_ABI`
+is set to one of the ``armeabi`` architectures, set ``CMAKE_ANDROID_ARM_MODE``
+to ``ON`` to target 32-bit ARM processors (``-marm``).  Otherwise, the
+default is to target the 16-bit Thumb processors (``-mthumb``).
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARM_NEON.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARM_NEON.rst
new file mode 100644
index 0000000..4b7ae03
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ARM_NEON.rst
@@ -0,0 +1,6 @@
+CMAKE_ANDROID_ARM_NEON
+----------------------
+
+When :ref:`Cross Compiling for Android` and :variable:`CMAKE_ANDROID_ARCH_ABI`
+is set to ``armeabi-v7a`` set ``CMAKE_ANDROID_ARM_NEON`` to ``ON`` to target
+ARM NEON devices.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_GUI.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_GUI.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_GUI.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_GUI.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK.rst
new file mode 100644
index 0000000..d241dd0
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK.rst
@@ -0,0 +1,7 @@
+CMAKE_ANDROID_NDK
+-----------------
+
+When :ref:`Cross Compiling for Android with the NDK`, this variable holds
+the absolute path to the root directory of the NDK.  The directory must
+contain a ``platforms`` subdirectory holding the ``android-<api>``
+directories.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst
new file mode 100644
index 0000000..8ea1257
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst
@@ -0,0 +1,9 @@
+CMAKE_ANDROID_NDK_DEPRECATED_HEADERS
+------------------------------------
+
+When :ref:`Cross Compiling for Android with the NDK`, this variable
+may be set to specify whether to use the deprecated per-api-level
+headers instead of the unified headers.
+
+If not specified, the default will be *false* if using a NDK version
+that provides the unified headers and *true* otherwise.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst
new file mode 100644
index 0000000..207019a
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst
@@ -0,0 +1,6 @@
+CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG
+------------------------------------
+
+When :ref:`Cross Compiling for Android with the NDK`, this variable
+provides the NDK's "host tag" used to construct the path to prebuilt
+toolchains that run on the host.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst
new file mode 100644
index 0000000..5ae55d1
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst
@@ -0,0 +1,16 @@
+CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
+-----------------------------------
+
+When :ref:`Cross Compiling for Android with the NDK`, this variable
+may be set to specify the version of the toolchain to be used
+as the compiler.  The variable must be set to one of these forms:
+
+* ``<major>.<minor>``: GCC of specified version
+* ``clang<major>.<minor>``: Clang of specified version
+* ``clang``: Clang of most recent available version
+
+A toolchain of the requested version will be selected automatically to
+match the ABI named in the :variable:`CMAKE_ANDROID_ARCH_ABI` variable.
+
+If not specified, the default will be a value that selects the latest
+available GCC toolchain.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_PROGUARD.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_PROGUARD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_PROGUARD.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_PROGUARD.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst
new file mode 100644
index 0000000..ea62cab
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst
@@ -0,0 +1,6 @@
+CMAKE_ANDROID_STANDALONE_TOOLCHAIN
+----------------------------------
+
+When :ref:`Cross Compiling for Android with a Standalone Toolchain`, this
+variable holds the absolute path to the root directory of the toolchain.
+The specified directory must contain a ``sysroot`` subdirectory.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_ANDROID_STL_TYPE.rst b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
new file mode 100644
index 0000000..cfb76aa
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
@@ -0,0 +1,36 @@
+CMAKE_ANDROID_STL_TYPE
+----------------------
+
+When :ref:`Cross Compiling for Android with NVIDIA Nsight Tegra Visual Studio
+Edition`, this variable may be set to specify the default value for the
+:prop_tgt:`ANDROID_STL_TYPE` target property.  See that target property
+for additional information.
+
+When :ref:`Cross Compiling for Android with the NDK`, this variable may be
+set to specify the STL variant to be used.  The value may be one of:
+
+``none``
+  No C++ Support
+``system``
+  Minimal C++ without STL
+``gabi++_static``
+  GAbi++ Static
+``gabi++_shared``
+  GAbi++ Shared
+``gnustl_static``
+  GNU libstdc++ Static
+``gnustl_shared``
+  GNU libstdc++ Shared
+``c++_static``
+  LLVM libc++ Static
+``c++_shared``
+  LLVM libc++ Shared
+``stlport_static``
+  STLport Static
+``stlport_shared``
+  STLport Shared
+
+The default value is ``gnustl_static``.  Note that this default differs from
+the native NDK build system because CMake may be used to build projects for
+Android that are not natively implemented for it and use the C++ standard
+library.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_APPBUNDLE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_APPBUNDLE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_APPBUNDLE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_APPBUNDLE_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AR.rst b/share/cmake-3.10/Help/variable/CMAKE_AR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_AR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_AR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ARGC.rst b/share/cmake-3.10/Help/variable/CMAKE_ARGC.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ARGC.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ARGC.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ARGV0.rst b/share/cmake-3.10/Help/variable/CMAKE_ARGV0.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ARGV0.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ARGV0.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTOMOC.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_AUTOMOC.rst
rename to share/cmake-3.10/Help/variable/CMAKE_AUTOMOC.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst
new file mode 100644
index 0000000..7e1c53d
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst
@@ -0,0 +1,8 @@
+CMAKE_AUTOMOC_COMPILER_PREDEFINES
+---------------------------------
+
+This variable is used to initialize the :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES`
+property on all the targets. See that target property for additional
+information.
+
+By default it is ON.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst
new file mode 100644
index 0000000..5c3662d
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst
@@ -0,0 +1,12 @@
+CMAKE_AUTOMOC_DEPEND_FILTERS
+----------------------------
+
+Filter definitions used by :variable:`CMAKE_AUTOMOC`
+to extract file names from source code as additional dependencies
+for the ``moc`` file.
+
+This variable is used to initialize the :prop_tgt:`AUTOMOC_DEPEND_FILTERS`
+property on all the targets. See that target property for additional
+information.
+
+By default it is empty.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst
new file mode 100644
index 0000000..5b79c40
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst
@@ -0,0 +1,20 @@
+CMAKE_AUTOMOC_MACRO_NAMES
+----------------------------
+
+A :ref:`;-list <CMake Language Lists>` list of macro names used by
+:variable:`CMAKE_AUTOMOC` to determine if a C++ file needs to be
+processed by ``moc``.
+
+This variable is used to initialize the :prop_tgt:`AUTOMOC_MACRO_NAMES`
+property on all the targets. See that target property for additional
+information.
+
+The default value is ``Q_OBJECT;Q_GADGET;Q_NAMESPACE``.
+
+Example
+-------
+Let CMake know that source files that contain ``CUSTOM_MACRO`` must be ``moc``
+processed as well::
+
+  set(CMAKE_AUTOMOC ON)
+  list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "CUSTOM_MACRO")
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTORCC.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTORCC.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_AUTORCC.rst
rename to share/cmake-3.10/Help/variable/CMAKE_AUTORCC.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_AUTORCC_OPTIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
new file mode 100644
index 0000000..815d39d
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
@@ -0,0 +1,16 @@
+CMAKE_AUTORCC_OPTIONS
+---------------------
+
+Additional options for ``rcc`` when using :variable:`CMAKE_AUTORCC`.
+
+This variable is used to initialize the :prop_tgt:`AUTORCC_OPTIONS` property on
+all the targets.  See that target property for additional information.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set(CMAKE_AUTORCC_OPTIONS "--compress;9")
+  # ...
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTOUIC.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_AUTOUIC.rst
rename to share/cmake-3.10/Help/variable/CMAKE_AUTOUIC.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
new file mode 100644
index 0000000..28fa92f
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
@@ -0,0 +1,16 @@
+CMAKE_AUTOUIC_OPTIONS
+---------------------
+
+Additional options for ``uic`` when using :variable:`CMAKE_AUTOUIC`.
+
+This variable is used to initialize the :prop_tgt:`AUTOUIC_OPTIONS` property on
+all the targets.  See that target property for additional information.
+
+EXAMPLE
+^^^^^^^
+
+.. code-block:: cmake
+
+  # ...
+  set_property(CMAKE_AUTOUIC_OPTIONS "--no-protection")
+  # ...
diff --git a/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst b/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
new file mode 100644
index 0000000..aa132bf
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
@@ -0,0 +1,11 @@
+CMAKE_AUTOUIC_SEARCH_PATHS
+--------------------------
+
+Search path list used by :variable:`CMAKE_AUTOUIC` to find included
+``.ui`` files.
+
+This variable is used to initialize the :prop_tgt:`AUTOUIC_SEARCH_PATHS`
+property on all the targets. See that target property for additional
+information.
+
+By default it is empty.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst b/share/cmake-3.10/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_BINARY_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_BINARY_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_BINARY_DIR.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_BUILD_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_BUILD_RPATH.rst
new file mode 100644
index 0000000..f20eb41
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_BUILD_RPATH.rst
@@ -0,0 +1,10 @@
+CMAKE_BUILD_RPATH
+-----------------
+
+A :ref:`;-list <CMake Language Lists>` specifying runtime path (``RPATH``)
+entries to add to binaries linked in the build tree (for platforms that
+support it).  The entries will *not* be used for binaries in the install
+tree.  See also the :variable:`CMAKE_INSTALL_RPATH` variable.
+
+This is used to initialize the :prop_tgt:`BUILD_RPATH` target property
+for all targets.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_BUILD_TOOL.rst b/share/cmake-3.10/Help/variable/CMAKE_BUILD_TOOL.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_BUILD_TOOL.rst
rename to share/cmake-3.10/Help/variable/CMAKE_BUILD_TOOL.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_BUILD_TYPE.rst b/share/cmake-3.10/Help/variable/CMAKE_BUILD_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_BUILD_TYPE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_BUILD_TYPE.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
new file mode 100644
index 0000000..30d5d3b
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
@@ -0,0 +1,7 @@
+CMAKE_BUILD_WITH_INSTALL_NAME_DIR
+---------------------------------
+
+Whether to use :prop_tgt:`INSTALL_NAME_DIR` on targets in the build tree.
+
+This variable is used to initialize the :prop_tgt:`BUILD_WITH_INSTALL_NAME_DIR`
+property on all targets.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CACHEFILE_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_CACHEFILE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CACHEFILE_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CACHEFILE_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_CFG_INTDIR.rst b/share/cmake-3.10/Help/variable/CMAKE_CFG_INTDIR.rst
new file mode 100644
index 0000000..c36599a
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CFG_INTDIR.rst
@@ -0,0 +1,45 @@
+CMAKE_CFG_INTDIR
+----------------
+
+Build-time reference to per-configuration output subdirectory.
+
+For native build systems supporting multiple configurations in the
+build tree (such as :ref:`Visual Studio Generators` and :generator:`Xcode`),
+the value is a reference to a build-time variable specifying the name
+of the per-configuration output subdirectory.  On :ref:`Makefile Generators`
+this evaluates to `.` because there is only one configuration in a build tree.
+Example values:
+
+::
+
+  $(ConfigurationName) = Visual Studio 8, 9
+  $(Configuration)     = Visual Studio 10
+  $(CONFIGURATION)     = Xcode
+  .                    = Make-based tools
+
+Since these values are evaluated by the native build system, this
+variable is suitable only for use in command lines that will be
+evaluated at build time.  Example of intended usage:
+
+::
+
+  add_executable(mytool mytool.c)
+  add_custom_command(
+    OUTPUT out.txt
+    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
+            ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
+    DEPENDS mytool in.txt
+    )
+  add_custom_target(drive ALL DEPENDS out.txt)
+
+Note that ``CMAKE_CFG_INTDIR`` is no longer necessary for this purpose but
+has been left for compatibility with existing projects.  Instead
+:command:`add_custom_command` recognizes executable target names in its
+``COMMAND`` option, so
+``${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool`` can be replaced
+by just ``mytool``.
+
+This variable is read-only.  Setting it is undefined behavior.  In
+multi-configuration build systems the value of this variable is passed
+as the value of preprocessor symbol ``CMAKE_INTDIR`` to the compilation
+of all source files.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_CL_64.rst b/share/cmake-3.10/Help/variable/CMAKE_CL_64.rst
new file mode 100644
index 0000000..4e80d1f
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CL_64.rst
@@ -0,0 +1,7 @@
+CMAKE_CL_64
+-----------
+
+Discouraged.  Use :variable:`CMAKE_SIZEOF_VOID_P` instead.
+
+Set to a true value when using a Microsoft Visual Studio ``cl`` compiler that
+*targets* a 64-bit architecture.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst b/share/cmake-3.10/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst
new file mode 100644
index 0000000..80ffce3
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst
@@ -0,0 +1,7 @@
+CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES
+---------------------------------------
+
+Change the way the CodeBlocks generator creates project files.
+
+If this variable evaluates to ``ON`` the generator excludes from
+the project file any files that are located outside the project root.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst b/share/cmake-3.10/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst
new file mode 100644
index 0000000..33cdf6c
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst
@@ -0,0 +1,8 @@
+CMAKE_CODELITE_USE_TARGETS
+--------------------------
+
+Change the way the CodeLite generator creates projectfiles.
+
+If this variable evaluates to ``ON`` at the end of the top-level
+``CMakeLists.txt`` file, the generator creates projectfiles based on targets
+rather than projects.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_COLOR_MAKEFILE.rst b/share/cmake-3.10/Help/variable/CMAKE_COLOR_MAKEFILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_COLOR_MAKEFILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_COLOR_MAKEFILE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_COMMAND.rst b/share/cmake-3.10/Help/variable/CMAKE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CMAKE_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_COMPILER_2005.rst b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_2005.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_COMPILER_2005.rst
rename to share/cmake-3.10/Help/variable/CMAKE_COMPILER_2005.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
new file mode 100644
index 0000000..a40667e
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
@@ -0,0 +1,5 @@
+CMAKE_COMPILER_IS_GNUCC
+-----------------------
+
+True if the ``C`` compiler is GNU.
+Use :variable:`CMAKE_C_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` instead.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
new file mode 100644
index 0000000..f1f5cf7
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
@@ -0,0 +1,5 @@
+CMAKE_COMPILER_IS_GNUCXX
+------------------------
+
+True if the C++ (``CXX``) compiler is GNU.
+Use :variable:`CMAKE_CXX_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` instead.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst
new file mode 100644
index 0000000..3d6dab4
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst
@@ -0,0 +1,5 @@
+CMAKE_COMPILER_IS_GNUG77
+------------------------
+
+True if the ``Fortran`` compiler is GNU.
+Use :variable:`CMAKE_Fortran_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` instead.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CONFIGURATION_TYPES.rst b/share/cmake-3.10/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CONFIG_POSTFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_CONFIG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CONFIG_POSTFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CONFIG_POSTFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CROSSCOMPILING.rst b/share/cmake-3.10/Help/variable/CMAKE_CROSSCOMPILING.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CROSSCOMPILING.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CROSSCOMPILING.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst b/share/cmake-3.10/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CTEST_COMMAND.rst b/share/cmake-3.10/Help/variable/CMAKE_CTEST_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CTEST_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CTEST_COMMAND.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_CUDA_EXTENSIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_CUDA_EXTENSIONS.rst
new file mode 100644
index 0000000..4fe758e
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CUDA_EXTENSIONS.rst
@@ -0,0 +1,11 @@
+CMAKE_CUDA_EXTENSIONS
+---------------------
+
+Default value for :prop_tgt:`CUDA_EXTENSIONS` property of targets.
+
+This variable is used to initialize the :prop_tgt:`CUDA_EXTENSIONS`
+property on all targets.  See that target property for additional
+information.
+
+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.10/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst b/share/cmake-3.10/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst
new file mode 100644
index 0000000..72e8e66
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst
@@ -0,0 +1,7 @@
+CMAKE_CUDA_HOST_COMPILER
+------------------------
+
+Executable to use when compiling host code when compiling ``CUDA`` language
+files. Maps to the nvcc -ccbin option.  Will only be used by CMake on the first
+configuration to determine a valid host compiler for ``CUDA``. After a valid
+host compiler has been found, this value is read-only.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_CUDA_STANDARD.rst b/share/cmake-3.10/Help/variable/CMAKE_CUDA_STANDARD.rst
new file mode 100644
index 0000000..6c23031
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CUDA_STANDARD.rst
@@ -0,0 +1,11 @@
+CMAKE_CUDA_STANDARD
+-------------------
+
+Default value for :prop_tgt:`CUDA_STANDARD` property of targets.
+
+This variable is used to initialize the :prop_tgt:`CUDA_STANDARD`
+property on all targets.  See that target property for additional
+information.
+
+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.10/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst b/share/cmake-3.10/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
new file mode 100644
index 0000000..935d605
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
@@ -0,0 +1,11 @@
+CMAKE_CUDA_STANDARD_REQUIRED
+----------------------------
+
+Default value for :prop_tgt:`CUDA_STANDARD_REQUIRED` property of targets.
+
+This variable is used to initialize the :prop_tgt:`CUDA_STANDARD_REQUIRED`
+property on all targets.  See that target property for additional
+information.
+
+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.10/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
new file mode 100644
index 0000000..768f571
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
@@ -0,0 +1,7 @@
+CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
+--------------------------------------
+
+When the ``CUDA`` language has been enabled, this provides a
+:ref:`;-list <CMake Language Lists>` of include directories provided
+by the CUDA Toolkit.  The value may be useful for C++ source files
+to include CUDA headers.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CURRENT_LIST_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CURRENT_LIST_FILE.rst b/share/cmake-3.10/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CURRENT_LIST_LINE.rst b/share/cmake-3.10/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst b/share/cmake-3.10/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CXX_EXTENSIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_CXX_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CXX_EXTENSIONS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CXX_EXTENSIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CXX_STANDARD.rst b/share/cmake-3.10/Help/variable/CMAKE_CXX_STANDARD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CXX_STANDARD.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CXX_STANDARD.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst b/share/cmake-3.10/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_C_COMPILE_FEATURES.rst b/share/cmake-3.10/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_C_EXTENSIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_C_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_C_EXTENSIONS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_C_EXTENSIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_C_STANDARD.rst b/share/cmake-3.10/Help/variable/CMAKE_C_STANDARD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_C_STANDARD.rst
rename to share/cmake-3.10/Help/variable/CMAKE_C_STANDARD.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst b/share/cmake-3.10/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_DEBUG_POSTFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_DEBUG_POSTFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_DEBUG_POSTFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_DEBUG_POSTFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst b/share/cmake-3.10/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst b/share/cmake-3.10/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_DIRECTORY_LABELS.rst b/share/cmake-3.10/Help/variable/CMAKE_DIRECTORY_LABELS.rst
new file mode 100644
index 0000000..2a6c410
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_DIRECTORY_LABELS.rst
@@ -0,0 +1,6 @@
+CMAKE_DIRECTORY_LABELS
+-----------------------
+
+Specify labels for the current directory.
+
+This is used to initialize the :prop_dir:`LABELS` directory property.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst b/share/cmake-3.10/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
rename to share/cmake-3.10/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_DL_LIBS.rst b/share/cmake-3.10/Help/variable/CMAKE_DL_LIBS.rst
new file mode 100644
index 0000000..50d313d
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_DL_LIBS.rst
@@ -0,0 +1,7 @@
+CMAKE_DL_LIBS
+-------------
+
+Name of library containing ``dlopen`` and ``dlclose``.
+
+The name of the library that has ``dlopen`` and ``dlclose`` in it, usually
+``-ldl`` on most UNIX machines.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst b/share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst b/share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst b/share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ECLIPSE_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ECLIPSE_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EDIT_COMMAND.rst b/share/cmake-3.10/Help/variable/CMAKE_EDIT_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EDIT_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EDIT_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ENABLE_EXPORTS.rst b/share/cmake-3.10/Help/variable/CMAKE_ENABLE_EXPORTS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ENABLE_EXPORTS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ENABLE_EXPORTS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ERROR_DEPRECATED.rst b/share/cmake-3.10/Help/variable/CMAKE_ERROR_DEPRECATED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ERROR_DEPRECATED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ERROR_DEPRECATED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.10/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst b/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst
new file mode 100644
index 0000000..592a369
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_EXE_LINKER_FLAGS_<CONFIG>_INIT
+------------------------------------
+
+Value used to initialize the :variable:`CMAKE_EXE_LINKER_FLAGS_<CONFIG>`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_EXE_LINKER_FLAGS_INIT`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst
new file mode 100644
index 0000000..0b8afe4
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst
@@ -0,0 +1,11 @@
+CMAKE_EXE_LINKER_FLAGS_INIT
+---------------------------
+
+Value used to initialize the :variable:`CMAKE_EXE_LINKER_FLAGS`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also the configuration-specific variable
+:variable:`CMAKE_EXE_LINKER_FLAGS_<CONFIG>_INIT`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst b/share/cmake-3.10/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst b/share/cmake-3.10/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXTRA_GENERATOR.rst b/share/cmake-3.10/Help/variable/CMAKE_EXTRA_GENERATOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXTRA_GENERATOR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXTRA_GENERATOR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst b/share/cmake-3.10/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_APPBUNDLE.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_APPBUNDLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_APPBUNDLE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_APPBUNDLE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_FRAMEWORK.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_FRAMEWORK.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_FRAMEWORK.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_FRAMEWORK.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
new file mode 100644
index 0000000..ada8955
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
@@ -0,0 +1,12 @@
+CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX
+------------------------------------
+
+Specify a ``<suffix>`` to tell the :command:`find_library` command to
+search in a ``lib<suffix>`` directory before each ``lib`` directory that
+would normally be searched.
+
+This overrides the behavior of related global properties:
+
+* :prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS`
+* :prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS`
+* :prop_gbl:`FIND_LIBRARY_USE_LIBX32_PATHS`
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
new file mode 100644
index 0000000..789dc99
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
@@ -0,0 +1,19 @@
+CMAKE_FIND_NO_INSTALL_PREFIX
+----------------------------
+
+Exclude the values of the :variable:`CMAKE_INSTALL_PREFIX` and
+:variable:`CMAKE_STAGING_PREFIX` variables from
+:variable:`CMAKE_SYSTEM_PREFIX_PATH`.  CMake adds these project-destination
+prefixes to :variable:`CMAKE_SYSTEM_PREFIX_PATH` by default in order to
+support building a series of dependent packages and installing them into
+a common prefix.  Set ``CMAKE_FIND_NO_INSTALL_PREFIX`` to ``TRUE``
+to suppress this behavior.
+
+The :variable:`CMAKE_SYSTEM_PREFIX_PATH` is initialized on the first call to a
+:command:`project` or :command:`enable_language` command.  Therefore one must
+set ``CMAKE_FIND_NO_INSTALL_PREFIX`` before this in order to take effect.  A
+user may set the variable as a cache entry on the command line to achieve this.
+
+Note that the prefix(es) may still be searched for other reasons, such as being
+the same prefix as the CMake installation, or for being a built-in system
+prefix.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst
new file mode 100644
index 0000000..99e4ec1
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst
@@ -0,0 +1,16 @@
+CMAKE_FIND_PACKAGE_SORT_DIRECTION
+---------------------------------
+
+The sorting direction used by :variable:`CMAKE_FIND_PACKAGE_SORT_ORDER`.
+It can assume one of the following values:
+
+``DEC``
+  Default.  Ordering is done in descending mode.
+  The highest folder found will be tested first.
+
+``ASC``
+  Ordering is done in ascending mode.
+  The lowest folder found will be tested first.
+
+If :variable:`CMAKE_FIND_PACKAGE_SORT_ORDER` is not set or is set to ``NONE``
+this variable has no effect.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst
new file mode 100644
index 0000000..ba5f3a8
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst
@@ -0,0 +1,36 @@
+CMAKE_FIND_PACKAGE_SORT_ORDER
+-----------------------------
+
+The default order for sorting packages found using :command:`find_package`.
+It can assume one of the following values:
+
+``NONE``
+  Default.  No attempt is done to sort packages.
+  The first valid package found will be selected.
+
+``NAME``
+  Sort packages lexicographically before selecting one.
+
+``NATURAL``
+  Sort packages using natural order (see ``strverscmp(3)`` manual),
+  i.e. such that contiguous digits are compared as whole numbers.
+
+Natural sorting can be employed to return the highest version when multiple
+versions of the same library are found by :command:`find_package`.  For
+example suppose that the following libraries have been found:
+
+* libX-1.1.0
+* libX-1.2.9
+* libX-1.2.10
+
+By setting ``NATURAL`` order we can select the one with the highest
+version number ``libX-1.2.10``.
+
+.. code-block:: cmake
+
+  set(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)
+  find_package(libX CONFIG)
+
+The sort direction can be controlled using the
+:variable:`CMAKE_FIND_PACKAGE_SORT_DIRECTION` variable
+(by default decrescent, e.g. lib-B will be tested before lib-A).
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst b/share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt b/share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
rename to share/cmake-3.10/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FRAMEWORK_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_FRAMEWORK_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_FRAMEWORK_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_FRAMEWORK_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_Fortran_FORMAT.rst b/share/cmake-3.10/Help/variable/CMAKE_Fortran_FORMAT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_Fortran_FORMAT.rst
rename to share/cmake-3.10/Help/variable/CMAKE_Fortran_FORMAT.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst b/share/cmake-3.10/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
rename to share/cmake-3.10/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_GENERATOR.rst b/share/cmake-3.10/Help/variable/CMAKE_GENERATOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_GENERATOR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_GENERATOR.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_GENERATOR_PLATFORM.rst b/share/cmake-3.10/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
new file mode 100644
index 0000000..50412ff
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
@@ -0,0 +1,28 @@
+CMAKE_GENERATOR_PLATFORM
+------------------------
+
+Generator-specific target platform specification provided by user.
+
+Some CMake generators support a target platform name to be given
+to the native build system to choose a compiler toolchain.
+If the user specifies a platform name (e.g. via the :manual:`cmake(1)` ``-A``
+option) the value will be available in this variable.
+
+The value of this variable should never be modified by project code.
+A toolchain file specified by the :variable:`CMAKE_TOOLCHAIN_FILE`
+variable may initialize ``CMAKE_GENERATOR_PLATFORM``.  Once a given
+build tree has been initialized with a particular value for this
+variable, changing the value has undefined behavior.
+
+Platform specification is supported only on specific generators:
+
+* For :ref:`Visual Studio Generators` with VS 2005 and above this
+  specifies the target architecture.
+
+See native build system documentation for allowed platform names.
+
+Visual Studio Platform Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+On :ref:`Visual Studio Generators` the selected platform name
+is provided in the :variable:`CMAKE_VS_PLATFORM_NAME` variable.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_GENERATOR_TOOLSET.rst b/share/cmake-3.10/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
new file mode 100644
index 0000000..11c37d7
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
@@ -0,0 +1,50 @@
+CMAKE_GENERATOR_TOOLSET
+-----------------------
+
+Native build system toolset specification provided by user.
+
+Some CMake generators support a toolset specification to tell the
+native build system how to choose a compiler.  If the user specifies
+a toolset (e.g.  via the :manual:`cmake(1)` ``-T`` option) the value
+will be available in this variable.
+
+The value of this variable should never be modified by project code.
+A toolchain file specified by the :variable:`CMAKE_TOOLCHAIN_FILE`
+variable may initialize ``CMAKE_GENERATOR_TOOLSET``.  Once a given
+build tree has been initialized with a particular value for this
+variable, changing the value has undefined behavior.
+
+Toolset specification is supported only on specific generators:
+
+* :ref:`Visual Studio Generators` for VS 2010 and above
+* The :generator:`Xcode` generator for Xcode 3.0 and above
+
+See native build system documentation for allowed toolset names.
+
+Visual Studio Toolset Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The :ref:`Visual Studio Generators` support toolset specification
+using one of these forms:
+
+* ``toolset``
+* ``toolset[,key=value]*``
+* ``key=value[,key=value]*``
+
+The ``toolset`` specifies the toolset name.  The selected toolset name
+is provided in the :variable:`CMAKE_VS_PLATFORM_TOOLSET` variable.
+
+The ``key=value`` pairs form a comma-separated list of options to
+specify generator-specific details of the toolset selection.
+Supported pairs are:
+
+``cuda=<version>``
+  Specify the CUDA toolkit version to use.  Supported by VS 2010
+  and above with the CUDA toolkit VS integration installed.
+  See the :variable:`CMAKE_VS_PLATFORM_TOOLSET_CUDA` variable.
+
+``host=x64``
+  Request use of the native ``x64`` toolchain on ``x64`` hosts.
+  Supported by VS 2013 and above.
+  See the :variable:`CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE`
+  variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_GNUtoMS.rst b/share/cmake-3.10/Help/variable/CMAKE_GNUtoMS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_GNUtoMS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_GNUtoMS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOME_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_HOME_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOME_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOME_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_APPLE.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_APPLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_APPLE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_APPLE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_SOLARIS.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_SOLARIS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_SOLARIS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_SOLARIS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_UNIX.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_UNIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_HOST_UNIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_HOST_UNIX.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_HOST_WIN32.rst b/share/cmake-3.10/Help/variable/CMAKE_HOST_WIN32.rst
new file mode 100644
index 0000000..876b34c
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_HOST_WIN32.rst
@@ -0,0 +1,6 @@
+CMAKE_HOST_WIN32
+----------------
+
+``True`` if the host system is running Windows, including Windows 64-bit and MSYS.
+
+Set to ``false`` on Cygwin.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_IGNORE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_IGNORE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_IGNORE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_IGNORE_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst b/share/cmake-3.10/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst b/share/cmake-3.10/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst b/share/cmake-3.10/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INCLUDE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_INCLUDE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INCLUDE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INCLUDE_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_MESSAGE.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_MESSAGE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INSTALL_MESSAGE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INSTALL_MESSAGE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_NAME_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_INSTALL_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_PREFIX.rst
new file mode 100644
index 0000000..7bd87d6
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_PREFIX.rst
@@ -0,0 +1,37 @@
+CMAKE_INSTALL_PREFIX
+--------------------
+
+Install directory used by :command:`install`.
+
+If ``make install`` is invoked or ``INSTALL`` is built, this directory is
+prepended onto all install directories.  This variable defaults to
+``/usr/local`` on UNIX and ``c:/Program Files/${PROJECT_NAME}`` on Windows.
+See :variable:`CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT` for how a
+project might choose its own default.
+
+On UNIX one can use the ``DESTDIR`` mechanism in order to relocate the
+whole installation.  ``DESTDIR`` means DESTination DIRectory.  It is
+commonly used by makefile users in order to install software at
+non-default location.  It is usually invoked like this:
+
+::
+
+ make DESTDIR=/home/john install
+
+which will install the concerned software using the installation
+prefix, e.g.  ``/usr/local`` prepended with the ``DESTDIR`` value which
+finally gives ``/home/john/usr/local``.
+
+WARNING: ``DESTDIR`` may not be used on Windows because installation
+prefix usually contains a drive letter like in ``C:/Program Files``
+which cannot be prepended with some other prefix.
+
+The installation prefix is also added to :variable:`CMAKE_SYSTEM_PREFIX_PATH`
+so that :command:`find_package`, :command:`find_program`,
+:command:`find_library`, :command:`find_path`, and :command:`find_file`
+will search the prefix for other software.
+
+.. note::
+
+  Use the :module:`GNUInstallDirs` module to provide GNU-style
+  options for the layout of directories within the installation.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst
new file mode 100644
index 0000000..2a5842d
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst
@@ -0,0 +1,14 @@
+CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
+-------------------------------------------
+
+CMake sets this variable to a ``TRUE`` value when the
+:variable:`CMAKE_INSTALL_PREFIX` has just been initialized to
+its default value, typically on the first run of CMake within
+a new build tree.  This can be used by project code to change
+the default without overriding a user-provided value:
+
+.. code-block:: cmake
+
+  if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+    set(CMAKE_INSTALL_PREFIX "/my/default" CACHE PATH "..." FORCE)
+  endif()
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INSTALL_RPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INSTALL_RPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst b/share/cmake-3.10/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
rename to share/cmake-3.10/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.10/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst
new file mode 100644
index 0000000..b0cbb62
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst
@@ -0,0 +1,8 @@
+CMAKE_INTERPROCEDURAL_OPTIMIZATION
+----------------------------------
+
+Default value for :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` of targets.
+
+This variable is used to initialize the :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION`
+property on all the targets.  See that target property for additional
+information.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
new file mode 100644
index 0000000..b291102
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
@@ -0,0 +1,8 @@
+CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
+-------------------------------------------
+
+Default value for :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION_<CONFIG>` of targets.
+
+This variable is used to initialize the :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION_<CONFIG>`
+property on all the targets.  See that target property for additional
+information.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst b/share/cmake-3.10/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_JOB_POOL_COMPILE.rst b/share/cmake-3.10/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_JOB_POOL_LINK.rst b/share/cmake-3.10/Help/variable/CMAKE_JOB_POOL_LINK.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_JOB_POOL_LINK.rst
rename to share/cmake-3.10/Help/variable/CMAKE_JOB_POOL_LINK.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst
new file mode 100644
index 0000000..d336364
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst
@@ -0,0 +1,9 @@
+CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
+--------------------------------------
+
+When :ref:`Cross Compiling for Android` this variable contains the
+toolchain binutils machine name (e.g. ``gcc -dumpmachine``).  The
+binutils typically have a ``<machine>-`` prefix on their name.
+
+See also :variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX`
+and :variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst
new file mode 100644
index 0000000..db04af3
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst
@@ -0,0 +1,12 @@
+CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX
+-------------------------------------
+
+When :ref:`Cross Compiling for Android` this variable contains the absolute
+path prefixing the toolchain GNU compiler and its binutils.
+
+See also :variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX`
+and :variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE`.
+
+For example, the path to the linker is::
+
+  ${CMAKE_CXX_ANDROID_TOOLCHAIN_PREFIX}ld${CMAKE_CXX_ANDROID_TOOLCHAIN_SUFFIX}
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst
new file mode 100644
index 0000000..159eb22
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst
@@ -0,0 +1,8 @@
+CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX
+-------------------------------------
+
+When :ref:`Cross Compiling for Android` this variable contains the
+host platform suffix of the toolchain GNU compiler and its binutils.
+
+See also :variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX`
+and :variable:`CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_CLANG_TIDY.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_ABI.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_AR.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_AR.rst
new file mode 100644
index 0000000..b83a1d4
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_AR.rst
@@ -0,0 +1,7 @@
+CMAKE_<LANG>_COMPILER_AR
+------------------------
+
+A wrapper around ``ar`` adding the appropriate ``--plugin`` option for the
+compiler.
+
+See also :variable:`CMAKE_AR`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
new file mode 100644
index 0000000..054c648
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
@@ -0,0 +1,8 @@
+CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
+-------------------------------------
+
+An internal variable subject to change.
+
+This is used to identify the variant of a compiler based on its target
+architecture.  For some compilers this is needed to determine the correct
+usage.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ID.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ID.rst
new file mode 100644
index 0000000..2264269
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_ID.rst
@@ -0,0 +1,39 @@
+CMAKE_<LANG>_COMPILER_ID
+------------------------
+
+Compiler identification string.
+
+A short string unique to the compiler vendor.  Possible values
+include:
+
+::
+
+  Absoft = Absoft Fortran (absoft.com)
+  ADSP = Analog VisualDSP++ (analog.com)
+  AppleClang = Apple Clang (apple.com)
+  ARMCC = ARM Compiler (arm.com)
+  Bruce = Bruce C Compiler
+  CCur = Concurrent Fortran (ccur.com)
+  Clang = LLVM Clang (clang.llvm.org)
+  Cray = Cray Compiler (cray.com)
+  Embarcadero, Borland = Embarcadero (embarcadero.com)
+  G95 = G95 Fortran (g95.org)
+  GNU = GNU Compiler Collection (gcc.gnu.org)
+  HP = Hewlett-Packard Compiler (hp.com)
+  IAR = IAR Systems (iar.com)
+  Intel = Intel Compiler (intel.com)
+  MIPSpro = SGI MIPSpro (sgi.com)
+  MSVC = Microsoft Visual Studio (microsoft.com)
+  NVIDIA = NVIDIA CUDA Compiler (nvidia.com)
+  OpenWatcom = Open Watcom (openwatcom.org)
+  PGI = The Portland Group (pgroup.com)
+  Flang = Flang Fortran Compiler
+  PathScale = PathScale (pathscale.com)
+  SDCC = Small Device C Compiler (sdcc.sourceforge.net)
+  SunPro = Oracle Solaris Studio (oracle.com)
+  TI = Texas Instruments (ti.com)
+  TinyCC = Tiny C Compiler (tinycc.org)
+  XL, VisualAge, zOS = IBM XL (ibm.com)
+
+This variable is not guaranteed to be defined for all compilers or
+languages.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
new file mode 100644
index 0000000..f4e2ba5
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
@@ -0,0 +1,6 @@
+CMAKE_<LANG>_COMPILER_LAUNCHER
+------------------------------
+
+Default value for :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property.
+This variable is used to initialize the property on each target as it is
+created.  This is done only when ``<LANG>`` is ``C``, ``CXX``, or ``CUDA``.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst
new file mode 100644
index 0000000..e050f43
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst
@@ -0,0 +1,8 @@
+CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND
+----------------------------------------
+
+Command that outputs the compiler pre definitions.
+
+See :prop_tgt:`AUTOMOC` which uses
+:variable:`CMAKE_CXX_COMPILER_PREDEFINES_COMMAND <CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND>`
+to generate the :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
new file mode 100644
index 0000000..945160b
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
@@ -0,0 +1,7 @@
+CMAKE_<LANG>_COMPILER_RANLIB
+----------------------------
+
+A wrapper around ``ranlib`` adding the appropriate ``--plugin`` option for the
+compiler.
+
+See also :variable:`CMAKE_RANLIB`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
new file mode 100644
index 0000000..27b0cad
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
@@ -0,0 +1,12 @@
+CMAKE_<LANG>_COMPILER_VERSION
+-----------------------------
+
+Compiler version string.
+
+Compiler version in major[.minor[.patch[.tweak]]] format.  This
+variable is not guaranteed to be defined for all compilers or
+languages.
+
+For example ``CMAKE_C_COMPILER_VERSION`` and
+``CMAKE_CXX_COMPILER_VERSION`` might indicate the respective C and C++
+compiler version.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst
new file mode 100644
index 0000000..c3cd980
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst
@@ -0,0 +1,8 @@
+CMAKE_<LANG>_COMPILER_VERSION_INTERNAL
+--------------------------------------
+
+An internal variable subject to change.
+
+This is used to identify the variant of a compiler based on an internal
+version number.  For some compilers this is needed to determine the
+correct usage.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_CPPCHECK.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_CPPCHECK.rst
new file mode 100644
index 0000000..50b478f
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_CPPCHECK.rst
@@ -0,0 +1,6 @@
+CMAKE_<LANG>_CPPCHECK
+---------------------
+
+Default value for :prop_tgt:`<LANG>_CPPCHECK` target property. This variable
+is used to initialize the property on each target as it is created.  This
+is done only when ``<LANG>`` is ``C`` or ``CXX``.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_CPPLINT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_CPPLINT.rst
new file mode 100644
index 0000000..3b6f452
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_CPPLINT.rst
@@ -0,0 +1,6 @@
+CMAKE_<LANG>_CPPLINT
+--------------------
+
+Default value for :prop_tgt:`<LANG>_CPPLINT` target property. This variable
+is used to initialize the property on each target as it is created.  This
+is done only when ``<LANG>`` is ``C`` or ``CXX``.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst
new file mode 100644
index 0000000..dcddb2e
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_<LANG>_FLAGS_DEBUG_INIT
+-----------------------------
+
+Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_DEBUG` cache
+entry the first time a build tree is configured for language ``<LANG>``.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_INIT.rst
new file mode 100644
index 0000000..1d32cc3
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_INIT.rst
@@ -0,0 +1,15 @@
+CMAKE_<LANG>_FLAGS_INIT
+-----------------------
+
+Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS` cache entry
+the first time a build tree is configured for language ``<LANG>``.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also the configuration-specific variables:
+
+* :variable:`CMAKE_<LANG>_FLAGS_DEBUG_INIT`
+* :variable:`CMAKE_<LANG>_FLAGS_RELEASE_INIT`
+* :variable:`CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT`
+* :variable:`CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT`
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst
new file mode 100644
index 0000000..c0aedf4
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT
+----------------------------------
+
+Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_MINSIZEREL`
+cache entry the first time a build tree is configured for language ``<LANG>``.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst
new file mode 100644
index 0000000..59f92ff
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_<LANG>_FLAGS_RELEASE_INIT
+-------------------------------
+
+Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_RELEASE`
+cache entry the first time a build tree is configured for language ``<LANG>``.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst
new file mode 100644
index 0000000..915f023
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT
+--------------------------------------
+
+Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_RELWITHDEBINFO`
+cache entry the first time a build tree is configured for language ``<LANG>``.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_PLATFORM_ID.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_SIMULATE_ID.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst b/share/cmake-3.10/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst b/share/cmake-3.10/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst b/share/cmake-3.10/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LIBRARY_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_LIBRARY_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LIBRARY_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LIBRARY_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
rename to share/cmake-3.10/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst b/share/cmake-3.10/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst
new file mode 100644
index 0000000..90c4d3f
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst
@@ -0,0 +1,6 @@
+CMAKE_LINK_WHAT_YOU_USE
+---------------------------------
+
+Default value for :prop_tgt:`LINK_WHAT_YOU_USE` target property.
+This variable is used to initialize the property on each target as it is
+created.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MACOSX_BUNDLE.rst b/share/cmake-3.10/Help/variable/CMAKE_MACOSX_BUNDLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MACOSX_BUNDLE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MACOSX_BUNDLE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MACOSX_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_MACOSX_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MACOSX_RPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MACOSX_RPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MAJOR_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_MAJOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MAJOR_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MAJOR_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MAKE_PROGRAM.rst b/share/cmake-3.10/Help/variable/CMAKE_MAKE_PROGRAM.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MAKE_PROGRAM.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MAKE_PROGRAM.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_MATCH_COUNT.rst b/share/cmake-3.10/Help/variable/CMAKE_MATCH_COUNT.rst
new file mode 100644
index 0000000..355e834
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_MATCH_COUNT.rst
@@ -0,0 +1,9 @@
+CMAKE_MATCH_COUNT
+-----------------
+
+The number of matches with the last regular expression.
+
+When a regular expression match is used, CMake fills in
+:variable:`CMAKE_MATCH_<n>` variables with the match contents.
+The ``CMAKE_MATCH_COUNT`` variable holds the number of match
+expressions when these are filled.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_MATCH_n.rst b/share/cmake-3.10/Help/variable/CMAKE_MATCH_n.rst
new file mode 100644
index 0000000..c7dd623
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_MATCH_n.rst
@@ -0,0 +1,10 @@
+CMAKE_MATCH_<n>
+---------------
+
+Capture group ``<n>`` matched by the last regular expression, for groups
+0 through 9.  Group 0 is the entire match.  Groups 1 through 9 are the
+subexpressions captured by ``()`` syntax.
+
+When a regular expression match is used, CMake fills in ``CMAKE_MATCH_<n>``
+variables with the match contents.  The :variable:`CMAKE_MATCH_COUNT`
+variable holds the number of match expressions when these are filled.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_MFC_FLAG.rst b/share/cmake-3.10/Help/variable/CMAKE_MFC_FLAG.rst
new file mode 100644
index 0000000..5a392bf
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_MFC_FLAG.rst
@@ -0,0 +1,16 @@
+CMAKE_MFC_FLAG
+--------------
+
+Tell cmake to use MFC for an executable or dll.
+
+This can be set in a ``CMakeLists.txt`` file and will enable MFC in the
+application.  It should be set to ``1`` for the static MFC library, and ``2``
+for the shared MFC library.  This is used in Visual Studio
+project files.  The CMakeSetup dialog used MFC and the ``CMakeLists.txt``
+looks like this:
+
+::
+
+  add_definitions(-D_AFXDLL)
+  set(CMAKE_MFC_FLAG 2)
+  add_executable(CMakeSetup WIN32 ${SRCS})
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MINOR_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_MINOR_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MINOR_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MINOR_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst b/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst
new file mode 100644
index 0000000..3279014
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_MODULE_LINKER_FLAGS_<CONFIG>_INIT
+---------------------------------------
+
+Value used to initialize the :variable:`CMAKE_MODULE_LINKER_FLAGS_<CONFIG>`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_MODULE_LINKER_FLAGS_INIT`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst
new file mode 100644
index 0000000..91b39f6
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst
@@ -0,0 +1,11 @@
+CMAKE_MODULE_LINKER_FLAGS_INIT
+------------------------------
+
+Value used to initialize the :variable:`CMAKE_MODULE_LINKER_FLAGS`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also the configuration-specific variable
+:variable:`CMAKE_MODULE_LINKER_FLAGS_<CONFIG>_INIT`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MODULE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_MODULE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_MODULE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_MODULE_PATH.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
new file mode 100644
index 0000000..22e727f
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
@@ -0,0 +1,10 @@
+CMAKE_MSVCIDE_RUN_PATH
+----------------------
+
+Extra PATH locations that should be used when executing
+:command:`add_custom_command` or :command:`add_custom_target` when using the
+:generator:`Visual Studio 9 2008` (or above) generator. This allows
+for running commands and using dll's that the IDE environment is not aware of.
+
+If not set explicitly the value is initialized by the ``CMAKE_MSVCIDE_RUN_PATH``
+environment variable, if set, and otherwise left empty.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst b/share/cmake-3.10/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst b/share/cmake-3.10/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_OBJECT_PATH_MAX.rst b/share/cmake-3.10/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_OSX_ARCHITECTURES.rst b/share/cmake-3.10/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst b/share/cmake-3.10/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
rename to share/cmake-3.10/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_OSX_SYSROOT.rst b/share/cmake-3.10/Help/variable/CMAKE_OSX_SYSROOT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_OSX_SYSROOT.rst
rename to share/cmake-3.10/Help/variable/CMAKE_OSX_SYSROOT.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_OSX_VARIABLE.txt b/share/cmake-3.10/Help/variable/CMAKE_OSX_VARIABLE.txt
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_OSX_VARIABLE.txt
rename to share/cmake-3.10/Help/variable/CMAKE_OSX_VARIABLE.txt
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PARENT_LIST_FILE.rst b/share/cmake-3.10/Help/variable/CMAKE_PARENT_LIST_FILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PARENT_LIST_FILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PARENT_LIST_FILE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PATCH_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_PATCH_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PATCH_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PATCH_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst b/share/cmake-3.10/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
rename to share/cmake-3.10/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst b/share/cmake-3.10/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
new file mode 100644
index 0000000..aa23b65
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
@@ -0,0 +1,27 @@
+CMAKE_POLICY_WARNING_CMP<NNNN>
+------------------------------
+
+Explicitly enable or disable the warning when CMake Policy ``CMP<NNNN>``
+is not set.  This is meaningful only for the few policies that do not
+warn by default:
+
+* ``CMAKE_POLICY_WARNING_CMP0025`` controls the warning for
+  policy :policy:`CMP0025`.
+* ``CMAKE_POLICY_WARNING_CMP0047`` controls the warning for
+  policy :policy:`CMP0047`.
+* ``CMAKE_POLICY_WARNING_CMP0056`` controls the warning for
+  policy :policy:`CMP0056`.
+* ``CMAKE_POLICY_WARNING_CMP0060`` controls the warning for
+  policy :policy:`CMP0060`.
+* ``CMAKE_POLICY_WARNING_CMP0065`` controls the warning for
+  policy :policy:`CMP0065`.
+* ``CMAKE_POLICY_WARNING_CMP0066`` controls the warning for
+  policy :policy:`CMP0066`.
+* ``CMAKE_POLICY_WARNING_CMP0067`` controls the warning for
+  policy :policy:`CMP0067`.
+
+This variable should not be set by a project in CMake code.  Project
+developers running CMake may set this variable in their cache to
+enable the warning (e.g. ``-DCMAKE_POLICY_WARNING_CMP<NNNN>=ON``).
+Alternatively, running :manual:`cmake(1)` with the ``--debug-output``,
+``--trace``, or ``--trace-expand`` option will also enable the warning.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst b/share/cmake-3.10/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PREFIX_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_PREFIX_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PREFIX_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PREFIX_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PROGRAM_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_PROGRAM_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PROGRAM_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PROGRAM_PATH.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst b/share/cmake-3.10/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst
new file mode 100644
index 0000000..f1911ec
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst
@@ -0,0 +1,7 @@
+CMAKE_PROJECT_DESCRIPTION
+-------------------------
+
+The description of the current project.
+
+This specifies description of the current project from the closest inherited
+:command:`project` command.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PROJECT_NAME.rst b/share/cmake-3.10/Help/variable/CMAKE_PROJECT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PROJECT_NAME.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PROJECT_NAME.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst b/share/cmake-3.10/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_RANLIB.rst b/share/cmake-3.10/Help/variable/CMAKE_RANLIB.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_RANLIB.rst
rename to share/cmake-3.10/Help/variable/CMAKE_RANLIB.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ROOT.rst b/share/cmake-3.10/Help/variable/CMAKE_ROOT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_ROOT.rst
rename to share/cmake-3.10/Help/variable/CMAKE_ROOT.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst b/share/cmake-3.10/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst
new file mode 100644
index 0000000..185df38
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_SHARED_LINKER_FLAGS_<CONFIG>_INIT
+---------------------------------------
+
+Value used to initialize the :variable:`CMAKE_SHARED_LINKER_FLAGS_<CONFIG>`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_SHARED_LINKER_FLAGS_INIT`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst
new file mode 100644
index 0000000..cb819a7
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst
@@ -0,0 +1,11 @@
+CMAKE_SHARED_LINKER_FLAGS_INIT
+------------------------------
+
+Value used to initialize the :variable:`CMAKE_SHARED_LINKER_FLAGS`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also the configuration-specific variable
+:variable:`CMAKE_SHARED_LINKER_FLAGS_<CONFIG>_INIT`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SIZEOF_VOID_P.rst b/share/cmake-3.10/Help/variable/CMAKE_SIZEOF_VOID_P.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SIZEOF_VOID_P.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SIZEOF_VOID_P.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst b/share/cmake-3.10/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst b/share/cmake-3.10/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SKIP_RPATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SKIP_RPATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SKIP_RPATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SKIP_RPATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SOURCE_DIR.rst b/share/cmake-3.10/Help/variable/CMAKE_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SOURCE_DIR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SOURCE_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_STAGING_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_STAGING_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_STAGING_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_STAGING_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
rename to share/cmake-3.10/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst
new file mode 100644
index 0000000..a49d1cb
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst
@@ -0,0 +1,10 @@
+CMAKE_STATIC_LINKER_FLAGS_<CONFIG>_INIT
+---------------------------------------
+
+Value used to initialize the :variable:`CMAKE_STATIC_LINKER_FLAGS_<CONFIG>`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also :variable:`CMAKE_STATIC_LINKER_FLAGS_INIT`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst
new file mode 100644
index 0000000..113ca71
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst
@@ -0,0 +1,11 @@
+CMAKE_STATIC_LINKER_FLAGS_INIT
+------------------------------
+
+Value used to initialize the :variable:`CMAKE_STATIC_LINKER_FLAGS`
+cache entry the first time a build tree is configured.
+This variable is meant to be set by a :variable:`toolchain file
+<CMAKE_TOOLCHAIN_FILE>`.  CMake may prepend or append content to
+the value based on the environment and target platform.
+
+See also the configuration-specific variable
+:variable:`CMAKE_STATIC_LINKER_FLAGS_<CONFIG>_INIT`.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst b/share/cmake-3.10/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
new file mode 100644
index 0000000..02c8663
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
@@ -0,0 +1,25 @@
+CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
+---------------------------------
+
+This variable contains a list of env vars as a list of tokens with the
+syntax ``var=value``.
+
+Example:
+
+.. code-block:: cmake
+
+  set(CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
+     "FOO=FOO1\;FOO2\;FOON"
+     "BAR=BAR1\;BAR2\;BARN"
+     "BAZ=BAZ1\;BAZ2\;BAZN"
+     "FOOBAR=FOOBAR1\;FOOBAR2\;FOOBARN"
+     "VALID="
+     )
+
+In case of malformed variables CMake will fail:
+
+.. code-block:: cmake
+
+  set(CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
+      "THIS_IS_NOT_VALID"
+      )
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst b/share/cmake-3.10/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst
new file mode 100644
index 0000000..d654425
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst
@@ -0,0 +1,7 @@
+CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
+---------------------------------------
+
+If this variable evaluates to ``ON`` at the end of the top-level
+``CMakeLists.txt`` file, the :generator:`Sublime Text 2` extra generator
+excludes the build tree from the ``.sublime-project`` if it is inside the
+source tree.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SYSROOT.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSROOT.rst
new file mode 100644
index 0000000..64f81bb
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SYSROOT.rst
@@ -0,0 +1,15 @@
+CMAKE_SYSROOT
+-------------
+
+Path to pass to the compiler in the ``--sysroot`` flag.
+
+The ``CMAKE_SYSROOT`` content is passed to the compiler in the ``--sysroot``
+flag, if supported.  The path is also stripped from the RPATH/RUNPATH if
+necessary on installation.  The ``CMAKE_SYSROOT`` is also used to prefix
+paths searched by the ``find_*`` commands.
+
+This variable may only be set in a toolchain file specified by
+the :variable:`CMAKE_TOOLCHAIN_FILE` variable.
+
+See also the :variable:`CMAKE_SYSROOT_COMPILE` and
+:variable:`CMAKE_SYSROOT_LINK` variables.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SYSROOT_COMPILE.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSROOT_COMPILE.rst
new file mode 100644
index 0000000..e96c62b
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SYSROOT_COMPILE.rst
@@ -0,0 +1,9 @@
+CMAKE_SYSROOT_COMPILE
+---------------------
+
+Path to pass to the compiler in the ``--sysroot`` flag when compiling source
+files.  This is the same as :variable:`CMAKE_SYSROOT` but is used only for
+compiling sources and not linking.
+
+This variable may only be set in a toolchain file specified by
+the :variable:`CMAKE_TOOLCHAIN_FILE` variable.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SYSROOT_LINK.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSROOT_LINK.rst
new file mode 100644
index 0000000..88b48ef
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SYSROOT_LINK.rst
@@ -0,0 +1,9 @@
+CMAKE_SYSROOT_LINK
+------------------
+
+Path to pass to the compiler in the ``--sysroot`` flag when linking.  This is
+the same as :variable:`CMAKE_SYSROOT` but is used only for linking and not
+compiling sources.
+
+This variable may only be set in a toolchain file specified by
+the :variable:`CMAKE_TOOLCHAIN_FILE` variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_NAME.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_NAME.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_NAME.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
new file mode 100644
index 0000000..38b2f8d
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
@@ -0,0 +1,21 @@
+CMAKE_SYSTEM_PREFIX_PATH
+------------------------
+
+:ref:`;-list <CMake Language Lists>` of directories specifying installation
+*prefixes* to be searched by the :command:`find_package`,
+:command:`find_program`, :command:`find_library`, :command:`find_file`, and
+:command:`find_path` commands.  Each command will add appropriate
+subdirectories (like ``bin``, ``lib``, or ``include``) as specified in its own
+documentation.
+
+By default this contains the standard directories for the current system, the
+:variable:`CMAKE_INSTALL_PREFIX`, and the :variable:`CMAKE_STAGING_PREFIX`.
+The installation and staging prefixes may be excluded by setting
+the :variable:`CMAKE_FIND_NO_INSTALL_PREFIX` variable.
+
+``CMAKE_SYSTEM_PREFIX_PATH`` is *not* intended to be modified by the project;
+use :variable:`CMAKE_PREFIX_PATH` for this.
+
+See also :variable:`CMAKE_SYSTEM_INCLUDE_PATH`,
+:variable:`CMAKE_SYSTEM_LIBRARY_PATH`, :variable:`CMAKE_SYSTEM_PROGRAM_PATH`,
+and :variable:`CMAKE_SYSTEM_IGNORE_PATH`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_SYSTEM_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_SYSTEM_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_SYSTEM_VERSION.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
new file mode 100644
index 0000000..50121e2
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
@@ -0,0 +1,5 @@
+CMAKE_Swift_LANGUAGE_VERSION
+----------------------------
+
+Set to the Swift language version number.  If not set, the legacy "2.3"
+version is assumed.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_TOOLCHAIN_FILE.rst b/share/cmake-3.10/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst b/share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst b/share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
new file mode 100644
index 0000000..0f96787
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
@@ -0,0 +1,26 @@
+CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
+------------------------------------
+
+List of variables that the :command:`try_compile` command source file signature
+must propagate into the test project in order to target the same platform as
+the host project.
+
+This variable should not be set by project code.  It is meant to be set by
+CMake's platform information modules for the current toolchain, or by a
+toolchain file when used with :variable:`CMAKE_TOOLCHAIN_FILE`.
+
+Variables meaningful to CMake, such as :variable:`CMAKE_<LANG>_FLAGS`, are
+propagated automatically.  The ``CMAKE_TRY_COMPILE_PLATFORM_VARIABLES``
+variable may be set to pass custom variables meaningful to a toolchain file.
+For example, a toolchain file may contain:
+
+.. code-block:: cmake
+
+  set(CMAKE_SYSTEM_NAME ...)
+  set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES MY_CUSTOM_VARIABLE)
+  # ... use MY_CUSTOM_VARIABLE ...
+
+If a user passes ``-DMY_CUSTOM_VARIABLE=SomeValue`` to CMake then this
+setting will be made visible to the toolchain file both for the main
+project and for test projects generated by the :command:`try_compile`
+command source file signature.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst b/share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_TWEAK_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_TWEAK_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_TWEAK_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_TWEAK_VERSION.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst b/share/cmake-3.10/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
new file mode 100644
index 0000000..622278e
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
@@ -0,0 +1,25 @@
+CMAKE_USER_MAKE_RULES_OVERRIDE
+------------------------------
+
+Specify a CMake file that overrides platform information.
+
+CMake loads the specified file while enabling support for each
+language from either the :command:`project` or :command:`enable_language`
+commands.  It is loaded after CMake's builtin compiler and platform information
+modules have been loaded but before the information is used.  The file
+may set platform information variables to override CMake's defaults.
+
+This feature is intended for use only in overriding information
+variables that must be set before CMake builds its first test project
+to check that the compiler for a language works.  It should not be
+used to load a file in cases that a normal :command:`include` will work.  Use
+it only as a last resort for behavior that cannot be achieved any
+other way.  For example, one may set the
+:variable:`CMAKE_C_FLAGS_INIT <CMAKE_<LANG>_FLAGS_INIT>` variable
+to change the default value used to initialize the
+:variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>` variable
+before it is cached.  The override file should NOT be used to set anything
+that could be set after languages are enabled, such as variables like
+:variable:`CMAKE_RUNTIME_OUTPUT_DIRECTORY` that affect the placement of
+binaries.  Information set in the file will be used for :command:`try_compile`
+and :command:`try_run` builds too.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst b/share/cmake-3.10/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
rename to share/cmake-3.10/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst b/share/cmake-3.10/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst b/share/cmake-3.10/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_VERSION.rst
new file mode 100644
index 0000000..872e2fa
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VERSION.rst
@@ -0,0 +1,51 @@
+CMAKE_VERSION
+-------------
+
+The CMake version string as three non-negative integer components
+separated by ``.`` and possibly followed by ``-`` and other information.
+The first two components represent the feature level and the third
+component represents either a bug-fix level or development date.
+
+Release versions and release candidate versions of CMake use the format::
+
+  <major>.<minor>.<patch>[-rc<n>]
+
+where the ``<patch>`` component is less than ``20000000``.  Development
+versions of CMake use the format::
+
+  <major>.<minor>.<date>[-<id>]
+
+where the ``<date>`` component is of format ``CCYYMMDD`` and ``<id>``
+may contain arbitrary text.  This represents development as of a
+particular date following the ``<major>.<minor>`` feature release.
+
+Individual component values are also available in variables:
+
+* :variable:`CMAKE_MAJOR_VERSION`
+* :variable:`CMAKE_MINOR_VERSION`
+* :variable:`CMAKE_PATCH_VERSION`
+* :variable:`CMAKE_TWEAK_VERSION`
+
+Use the :command:`if` command ``VERSION_LESS``, ``VERSION_GREATER``,
+``VERSION_EQUAL``, ``VERSION_LESS_EQUAL``, or ``VERSION_GREATER_EQUAL``
+operators to compare version string values against ``CMAKE_VERSION`` using a
+component-wise test.  Version component values may be 10 or larger so do not
+attempt to compare version strings as floating-point numbers.
+
+.. note::
+
+  CMake versions 2.8.2 through 2.8.12 used three components for the
+  feature level.  Release versions represented the bug-fix level in a
+  fourth component, i.e. ``<major>.<minor>.<patch>[.<tweak>][-rc<n>]``.
+  Development versions represented the development date in the fourth
+  component, i.e. ``<major>.<minor>.<patch>.<date>[-<id>]``.
+
+  CMake versions prior to 2.8.2 used three components for the
+  feature level and had no bug-fix component.  Release versions
+  used an even-valued second component, i.e.
+  ``<major>.<even-minor>.<patch>[-rc<n>]``.  Development versions
+  used an odd-valued second component with the development date as
+  the third component, i.e. ``<major>.<odd-minor>.<date>``.
+
+  The ``CMAKE_VERSION`` variable is defined by CMake 2.6.3 and higher.
+  Earlier versions defined only the individual component variables.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst b/share/cmake-3.10/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
rename to share/cmake-3.10/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
new file mode 100644
index 0000000..51b42dd
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
@@ -0,0 +1,14 @@
+CMAKE_VS_DEVENV_COMMAND
+-----------------------
+
+The generators for :generator:`Visual Studio 8 2005` and above set this
+variable to the ``devenv.com`` command installed with the corresponding
+Visual Studio version.  Note that this variable may be empty on
+Visual Studio Express editions because they do not provide this tool.
+
+This variable is not defined by other generators even if ``devenv.com``
+is installed on the computer.
+
+The :variable:`CMAKE_VS_MSBUILD_COMMAND` is also provided for
+:generator:`Visual Studio 10 2010` and above.
+See also the :variable:`CMAKE_MAKE_PROGRAM` variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
rename to share/cmake-3.10/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
new file mode 100644
index 0000000..693ba45
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
@@ -0,0 +1,8 @@
+CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
+-----------------------------------------
+
+Include ``PACKAGE`` target to default build.
+
+In Visual Studio solution, by default the ``PACKAGE`` target will not be part
+of the default build. Setting this variable will enable the ``PACKAGE`` target
+to be part of the default build.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
new file mode 100644
index 0000000..6d196f9
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
@@ -0,0 +1,7 @@
+CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
+--------------------------------------
+
+When generating for :generator:`Visual Studio 8 2005` or greater with the Intel
+Fortran plugin installed, this specifies the ``.vfproj`` project file format
+version.  This is intended for internal use by CMake and should not be
+used by project code.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_NAME.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
new file mode 100644
index 0000000..a532743
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
@@ -0,0 +1,8 @@
+CMAKE_VS_PLATFORM_NAME
+----------------------
+
+Visual Studio target platform name.
+
+VS 8 and above allow project files to specify a target platform.
+CMake provides the name of the chosen platform in this variable.
+See the :variable:`CMAKE_GENERATOR_PLATFORM` variable for details.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
new file mode 100644
index 0000000..ed2d3f3
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
@@ -0,0 +1,12 @@
+CMAKE_VS_PLATFORM_TOOLSET
+-------------------------
+
+Visual Studio Platform Toolset name.
+
+VS 10 and above use MSBuild under the hood and support multiple
+compiler toolchains.  CMake may specify a toolset explicitly, such as
+``v110`` for VS 11 or ``Windows7.1SDK`` for 64-bit support in VS 10
+Express.  CMake provides the name of the chosen toolset in this
+variable.
+
+See the :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
new file mode 100644
index 0000000..1604a76
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
@@ -0,0 +1,12 @@
+CMAKE_VS_PLATFORM_TOOLSET_CUDA
+------------------------------
+
+NVIDIA CUDA Toolkit version whose Visual Studio toolset to use.
+
+The :ref:`Visual Studio Generators` for VS 2010 and above support using
+a CUDA toolset provided by a CUDA Toolkit.  The toolset version number
+may be specified by a field in :variable:`CMAKE_GENERATOR_TOOLSET` of
+the form ``cuda=8.0``.  If none is specified CMake will choose a default
+version.  CMake provides the selected CUDA toolset version in this variable.
+The value may be empty if no CUDA Toolkit with Visual Studio integration
+is installed.
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst
new file mode 100644
index 0000000..9b59c52
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst
@@ -0,0 +1,10 @@
+CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
+-------------------------------------------
+
+Visual Studio preferred tool architecture.
+
+The :ref:`Visual Studio Generators` for VS 2013 and above support optional
+selection of a 64-bit toolchain on 64-bit hosts by specifying a ``host=x64``
+value in the :variable:`CMAKE_GENERATOR_TOOLSET` option.  CMake provides
+the selected toolchain architecture preference in this variable (either
+``x64`` or empty).
diff --git a/share/cmake-3.10/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst b/share/cmake-3.10/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
new file mode 100644
index 0000000..83b9bc1
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
@@ -0,0 +1,17 @@
+CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
+----------------------------------------
+
+Visual Studio Windows Target Platform Version.
+
+When targeting Windows 10 and above Visual Studio 2015 and above support
+specification of a target Windows version to select a corresponding SDK.
+The :variable:`CMAKE_SYSTEM_VERSION` variable may be set to specify a
+version.  Otherwise CMake computes a default version based on the Windows
+SDK versions available.  The chosen Windows target version number is provided
+in ``CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION``.  If no Windows 10 SDK
+is available this value will be empty.
+
+One may set a ``CMAKE_WINDOWS_KITS_10_DIR`` *environment variable*
+to an absolute path to tell CMake to look for Windows 10 SDKs in
+a custom location.  The specified directory is expected to contain
+``Include/10.0.*`` directories.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_WARN_DEPRECATED.rst b/share/cmake-3.10/Help/variable/CMAKE_WARN_DEPRECATED.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_WARN_DEPRECATED.rst
rename to share/cmake-3.10/Help/variable/CMAKE_WARN_DEPRECATED.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.10/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.10/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_WIN32_EXECUTABLE.rst b/share/cmake-3.10/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
rename to share/cmake-3.10/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.10/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
rename to share/cmake-3.10/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
diff --git a/share/cmake-3.6/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst b/share/cmake-3.10/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
rename to share/cmake-3.10/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
diff --git a/share/cmake-3.10/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst b/share/cmake-3.10/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
new file mode 100644
index 0000000..c9fcc92
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
@@ -0,0 +1,11 @@
+CMAKE_XCODE_GENERATE_SCHEME
+---------------------------
+
+If enabled, the Xcode generator will generate schema files. Those are
+are useful to invoke analyze, archive, build-for-testing and test
+actions from the command line.
+
+.. note::
+
+  The Xcode Schema Generator is still experimental and subject to
+  change.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst b/share/cmake-3.10/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
rename to share/cmake-3.10/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst b/share/cmake-3.10/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
rename to share/cmake-3.10/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.10/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.10/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_INSTALL_SCRIPT.rst b/share/cmake-3.10/Help/variable/CPACK_INSTALL_SCRIPT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_INSTALL_SCRIPT.rst
rename to share/cmake-3.10/Help/variable/CPACK_INSTALL_SCRIPT.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst b/share/cmake-3.10/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
rename to share/cmake-3.10/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_SET_DESTDIR.rst b/share/cmake-3.10/Help/variable/CPACK_SET_DESTDIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_SET_DESTDIR.rst
rename to share/cmake-3.10/Help/variable/CPACK_SET_DESTDIR.rst
diff --git a/share/cmake-3.6/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/share/cmake-3.10/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
rename to share/cmake-3.10/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_BINARY_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CTEST_BINARY_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_BINARY_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CTEST_BINARY_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_BUILD_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_BUILD_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_BUILD_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_BUILD_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_BUILD_NAME.rst b/share/cmake-3.10/Help/variable/CTEST_BUILD_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_BUILD_NAME.rst
rename to share/cmake-3.10/Help/variable/CTEST_BUILD_NAME.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_BZR_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_BZR_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_BZR_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_BZR_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CHANGE_ID.rst b/share/cmake-3.10/Help/variable/CTEST_CHANGE_ID.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CHANGE_ID.rst
rename to share/cmake-3.10/Help/variable/CTEST_CHANGE_ID.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CHECKOUT_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_CHECKOUT_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CHECKOUT_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_CHECKOUT_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CONFIGURATION_TYPE.rst b/share/cmake-3.10/Help/variable/CTEST_CONFIGURATION_TYPE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CONFIGURATION_TYPE.rst
rename to share/cmake-3.10/Help/variable/CTEST_CONFIGURATION_TYPE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CONFIGURE_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_CONFIGURE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CONFIGURE_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_CONFIGURE_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_COVERAGE_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_COVERAGE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_COVERAGE_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_COVERAGE_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst b/share/cmake-3.10/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
rename to share/cmake-3.10/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CURL_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_CURL_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CURL_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_CURL_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_POST_TEST.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_POST_TEST.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_POST_TEST.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_POST_TEST.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_PRE_TEST.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_TEST_IGNORE.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_TEST_IGNORE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_TEST_IGNORE.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_TEST_IGNORE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CUSTOM_XXX.txt b/share/cmake-3.10/Help/variable/CTEST_CUSTOM_XXX.txt
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CUSTOM_XXX.txt
rename to share/cmake-3.10/Help/variable/CTEST_CUSTOM_XXX.txt
diff --git a/share/cmake-3.6/Help/variable/CTEST_CVS_CHECKOUT.rst b/share/cmake-3.10/Help/variable/CTEST_CVS_CHECKOUT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CVS_CHECKOUT.rst
rename to share/cmake-3.10/Help/variable/CTEST_CVS_CHECKOUT.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CVS_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_CVS_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CVS_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_CVS_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_DROP_LOCATION.rst b/share/cmake-3.10/Help/variable/CTEST_DROP_LOCATION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_DROP_LOCATION.rst
rename to share/cmake-3.10/Help/variable/CTEST_DROP_LOCATION.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_DROP_METHOD.rst b/share/cmake-3.10/Help/variable/CTEST_DROP_METHOD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_DROP_METHOD.rst
rename to share/cmake-3.10/Help/variable/CTEST_DROP_METHOD.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_DROP_SITE.rst b/share/cmake-3.10/Help/variable/CTEST_DROP_SITE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_DROP_SITE.rst
rename to share/cmake-3.10/Help/variable/CTEST_DROP_SITE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_DROP_SITE_CDASH.rst b/share/cmake-3.10/Help/variable/CTEST_DROP_SITE_CDASH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_DROP_SITE_CDASH.rst
rename to share/cmake-3.10/Help/variable/CTEST_DROP_SITE_CDASH.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_DROP_SITE_PASSWORD.rst b/share/cmake-3.10/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
rename to share/cmake-3.10/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_DROP_SITE_USER.rst b/share/cmake-3.10/Help/variable/CTEST_DROP_SITE_USER.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_DROP_SITE_USER.rst
rename to share/cmake-3.10/Help/variable/CTEST_DROP_SITE_USER.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst b/share/cmake-3.10/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
rename to share/cmake-3.10/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_GIT_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_GIT_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_GIT_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_GIT_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst b/share/cmake-3.10/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
rename to share/cmake-3.10/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst b/share/cmake-3.10/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
rename to share/cmake-3.10/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_HG_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_HG_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_HG_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_HG_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.10/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst b/share/cmake-3.10/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst
new file mode 100644
index 0000000..959596b
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst
@@ -0,0 +1,5 @@
+CTEST_LABELS_FOR_SUBPROJECTS
+----------------------------
+
+Specify the CTest ``LabelsForSubprojects`` setting
+in a :manual:`ctest(1)` dashboard client script.
diff --git a/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst b/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
rename to share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
diff --git a/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_TYPE.rst b/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
new file mode 100644
index 0000000..b8b4c30
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
@@ -0,0 +1,8 @@
+CTEST_MEMORYCHECK_TYPE
+----------------------
+
+Specify the CTest ``MemoryCheckType`` setting
+in a :manual:`ctest(1)` dashboard client script.
+Valid values are ``Valgrind``, ``Purify``, ``BoundsChecker``, and
+``ThreadSanitizer``, ``AddressSanitizer``, ``LeakSanitizer``, ``MemorySanitizer``, and
+``UndefinedBehaviorSanitizer``.
diff --git a/share/cmake-3.6/Help/variable/CTEST_NIGHTLY_START_TIME.rst b/share/cmake-3.10/Help/variable/CTEST_NIGHTLY_START_TIME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_NIGHTLY_START_TIME.rst
rename to share/cmake-3.10/Help/variable/CTEST_NIGHTLY_START_TIME.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_P4_CLIENT.rst b/share/cmake-3.10/Help/variable/CTEST_P4_CLIENT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_P4_CLIENT.rst
rename to share/cmake-3.10/Help/variable/CTEST_P4_CLIENT.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_P4_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_P4_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_P4_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_P4_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_P4_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_P4_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_P4_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_P4_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_SCP_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_SCP_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_SCP_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_SCP_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_SITE.rst b/share/cmake-3.10/Help/variable/CTEST_SITE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_SITE.rst
rename to share/cmake-3.10/Help/variable/CTEST_SITE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_SOURCE_DIRECTORY.rst b/share/cmake-3.10/Help/variable/CTEST_SOURCE_DIRECTORY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_SOURCE_DIRECTORY.rst
rename to share/cmake-3.10/Help/variable/CTEST_SOURCE_DIRECTORY.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_SVN_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_SVN_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_SVN_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_SVN_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_SVN_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_SVN_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_SVN_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_SVN_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_TEST_LOAD.rst b/share/cmake-3.10/Help/variable/CTEST_TEST_LOAD.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_TEST_LOAD.rst
rename to share/cmake-3.10/Help/variable/CTEST_TEST_LOAD.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_TEST_TIMEOUT.rst b/share/cmake-3.10/Help/variable/CTEST_TEST_TIMEOUT.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_TEST_TIMEOUT.rst
rename to share/cmake-3.10/Help/variable/CTEST_TEST_TIMEOUT.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_TRIGGER_SITE.rst b/share/cmake-3.10/Help/variable/CTEST_TRIGGER_SITE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_TRIGGER_SITE.rst
rename to share/cmake-3.10/Help/variable/CTEST_TRIGGER_SITE.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_UPDATE_COMMAND.rst b/share/cmake-3.10/Help/variable/CTEST_UPDATE_COMMAND.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_UPDATE_COMMAND.rst
rename to share/cmake-3.10/Help/variable/CTEST_UPDATE_COMMAND.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_UPDATE_OPTIONS.rst b/share/cmake-3.10/Help/variable/CTEST_UPDATE_OPTIONS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_UPDATE_OPTIONS.rst
rename to share/cmake-3.10/Help/variable/CTEST_UPDATE_OPTIONS.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst b/share/cmake-3.10/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
rename to share/cmake-3.10/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
diff --git a/share/cmake-3.6/Help/variable/CTEST_USE_LAUNCHERS.rst b/share/cmake-3.10/Help/variable/CTEST_USE_LAUNCHERS.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CTEST_USE_LAUNCHERS.rst
rename to share/cmake-3.10/Help/variable/CTEST_USE_LAUNCHERS.rst
diff --git a/share/cmake-3.6/Help/variable/CYGWIN.rst b/share/cmake-3.10/Help/variable/CYGWIN.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/CYGWIN.rst
rename to share/cmake-3.10/Help/variable/CYGWIN.rst
diff --git a/share/cmake-3.6/Help/variable/ENV.rst b/share/cmake-3.10/Help/variable/ENV.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/ENV.rst
rename to share/cmake-3.10/Help/variable/ENV.rst
diff --git a/share/cmake-3.6/Help/variable/EXECUTABLE_OUTPUT_PATH.rst b/share/cmake-3.10/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
rename to share/cmake-3.10/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/GHS-MULTI.rst b/share/cmake-3.10/Help/variable/GHS-MULTI.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/GHS-MULTI.rst
rename to share/cmake-3.10/Help/variable/GHS-MULTI.rst
diff --git a/share/cmake-3.6/Help/variable/LIBRARY_OUTPUT_PATH.rst b/share/cmake-3.10/Help/variable/LIBRARY_OUTPUT_PATH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/LIBRARY_OUTPUT_PATH.rst
rename to share/cmake-3.10/Help/variable/LIBRARY_OUTPUT_PATH.rst
diff --git a/share/cmake-3.6/Help/variable/MINGW.rst b/share/cmake-3.10/Help/variable/MINGW.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/MINGW.rst
rename to share/cmake-3.10/Help/variable/MINGW.rst
diff --git a/share/cmake-3.10/Help/variable/MSVC.rst b/share/cmake-3.10/Help/variable/MSVC.rst
new file mode 100644
index 0000000..22a087a
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC.rst
@@ -0,0 +1,8 @@
+MSVC
+----
+
+``True`` when using Microsoft Visual C++.
+
+Set to ``true`` when the compiler is some version of Microsoft Visual C++.
+
+See also the :variable:`MSVC_VERSION` variable.
diff --git a/share/cmake-3.10/Help/variable/MSVC10.rst b/share/cmake-3.10/Help/variable/MSVC10.rst
new file mode 100644
index 0000000..55c6337
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC10.rst
@@ -0,0 +1,7 @@
+MSVC10
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using the Microsoft Visual Studio ``v100`` toolset
+(``cl`` version 16) or another compiler that simulates it.
diff --git a/share/cmake-3.10/Help/variable/MSVC11.rst b/share/cmake-3.10/Help/variable/MSVC11.rst
new file mode 100644
index 0000000..17943dc
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC11.rst
@@ -0,0 +1,7 @@
+MSVC11
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using the Microsoft Visual Studio ``v110`` toolset
+(``cl`` version 17) or another compiler that simulates it.
diff --git a/share/cmake-3.10/Help/variable/MSVC12.rst b/share/cmake-3.10/Help/variable/MSVC12.rst
new file mode 100644
index 0000000..a524fab
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC12.rst
@@ -0,0 +1,7 @@
+MSVC12
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using the Microsoft Visual Studio ``v120`` toolset
+(``cl`` version 18) or another compiler that simulates it.
diff --git a/share/cmake-3.10/Help/variable/MSVC14.rst b/share/cmake-3.10/Help/variable/MSVC14.rst
new file mode 100644
index 0000000..79e0c10
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC14.rst
@@ -0,0 +1,7 @@
+MSVC14
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using the Microsoft Visual Studio ``v140`` or ``v141``
+toolset (``cl`` version 19) or another compiler that simulates it.
diff --git a/share/cmake-3.10/Help/variable/MSVC60.rst b/share/cmake-3.10/Help/variable/MSVC60.rst
new file mode 100644
index 0000000..14164bf
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC60.rst
@@ -0,0 +1,8 @@
+MSVC60
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using Microsoft Visual C++ 6.0.
+
+Set to ``true`` when the compiler is version 6.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.10/Help/variable/MSVC70.rst b/share/cmake-3.10/Help/variable/MSVC70.rst
new file mode 100644
index 0000000..ed3b0bb
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC70.rst
@@ -0,0 +1,8 @@
+MSVC70
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using Microsoft Visual C++ 7.0.
+
+Set to ``true`` when the compiler is version 7.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.10/Help/variable/MSVC71.rst b/share/cmake-3.10/Help/variable/MSVC71.rst
new file mode 100644
index 0000000..0237592
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC71.rst
@@ -0,0 +1,8 @@
+MSVC71
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using Microsoft Visual C++ 7.1.
+
+Set to ``true`` when the compiler is version 7.1 of Microsoft Visual C++.
diff --git a/share/cmake-3.10/Help/variable/MSVC80.rst b/share/cmake-3.10/Help/variable/MSVC80.rst
new file mode 100644
index 0000000..1533218
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC80.rst
@@ -0,0 +1,7 @@
+MSVC80
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using the Microsoft Visual Studio ``v80`` toolset
+(``cl`` version 14) or another compiler that simulates it.
diff --git a/share/cmake-3.10/Help/variable/MSVC90.rst b/share/cmake-3.10/Help/variable/MSVC90.rst
new file mode 100644
index 0000000..4981ecf
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC90.rst
@@ -0,0 +1,7 @@
+MSVC90
+------
+
+Discouraged.  Use the :variable:`MSVC_VERSION` variable instead.
+
+``True`` when using the Microsoft Visual Studio ``v90`` toolset
+(``cl`` version 15) or another compiler that simulates it.
diff --git a/share/cmake-3.6/Help/variable/MSVC_IDE.rst b/share/cmake-3.10/Help/variable/MSVC_IDE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/MSVC_IDE.rst
rename to share/cmake-3.10/Help/variable/MSVC_IDE.rst
diff --git a/share/cmake-3.10/Help/variable/MSVC_VERSION.rst b/share/cmake-3.10/Help/variable/MSVC_VERSION.rst
new file mode 100644
index 0000000..0a3a7a6
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/MSVC_VERSION.rst
@@ -0,0 +1,19 @@
+MSVC_VERSION
+------------
+
+The version of Microsoft Visual C/C++ being used if any.
+
+Known version numbers are::
+
+  1200      = VS  6.0
+  1300      = VS  7.0
+  1310      = VS  7.1
+  1400      = VS  8.0 (v80 toolset)
+  1500      = VS  9.0 (v90 toolset)
+  1600      = VS 10.0 (v100 toolset)
+  1700      = VS 11.0 (v110 toolset)
+  1800      = VS 12.0 (v120 toolset)
+  1900      = VS 14.0 (v140 toolset)
+  1910-1919 = VS 15.0 (v141 toolset)
+
+See also the  :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable.
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_BINARY_DIR.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_BINARY_DIR.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_BINARY_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_SOURCE_DIR.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_MINOR.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_PATCH.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst b/share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
rename to share/cmake-3.10/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_BINARY_DIR.rst b/share/cmake-3.10/Help/variable/PROJECT_BINARY_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_BINARY_DIR.rst
rename to share/cmake-3.10/Help/variable/PROJECT_BINARY_DIR.rst
diff --git a/share/cmake-3.10/Help/variable/PROJECT_DESCRIPTION.rst b/share/cmake-3.10/Help/variable/PROJECT_DESCRIPTION.rst
new file mode 100644
index 0000000..05ede8f
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/PROJECT_DESCRIPTION.rst
@@ -0,0 +1,6 @@
+PROJECT_DESCRIPTION
+-------------------
+
+Short project description given to the project command.
+
+This is the description given to the most recent :command:`project` command.
diff --git a/share/cmake-3.6/Help/variable/PROJECT_NAME.rst b/share/cmake-3.10/Help/variable/PROJECT_NAME.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_NAME.rst
rename to share/cmake-3.10/Help/variable/PROJECT_NAME.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_SOURCE_DIR.rst b/share/cmake-3.10/Help/variable/PROJECT_SOURCE_DIR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_SOURCE_DIR.rst
rename to share/cmake-3.10/Help/variable/PROJECT_SOURCE_DIR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_VERSION.rst b/share/cmake-3.10/Help/variable/PROJECT_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_VERSION.rst
rename to share/cmake-3.10/Help/variable/PROJECT_VERSION.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_VERSION_MAJOR.rst b/share/cmake-3.10/Help/variable/PROJECT_VERSION_MAJOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_VERSION_MAJOR.rst
rename to share/cmake-3.10/Help/variable/PROJECT_VERSION_MAJOR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_VERSION_MINOR.rst b/share/cmake-3.10/Help/variable/PROJECT_VERSION_MINOR.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_VERSION_MINOR.rst
rename to share/cmake-3.10/Help/variable/PROJECT_VERSION_MINOR.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_VERSION_PATCH.rst b/share/cmake-3.10/Help/variable/PROJECT_VERSION_PATCH.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_VERSION_PATCH.rst
rename to share/cmake-3.10/Help/variable/PROJECT_VERSION_PATCH.rst
diff --git a/share/cmake-3.6/Help/variable/PROJECT_VERSION_TWEAK.rst b/share/cmake-3.10/Help/variable/PROJECT_VERSION_TWEAK.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/PROJECT_VERSION_TWEAK.rst
rename to share/cmake-3.10/Help/variable/PROJECT_VERSION_TWEAK.rst
diff --git a/share/cmake-3.10/Help/variable/UNIX.rst b/share/cmake-3.10/Help/variable/UNIX.rst
new file mode 100644
index 0000000..49d8668
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/UNIX.rst
@@ -0,0 +1,7 @@
+UNIX
+----
+
+Set to ``True`` when the target system is UNIX or UNIX-like
+(e.g. :variable:`APPLE` and :variable:`CYGWIN`).  The
+:variable:`CMAKE_SYSTEM_NAME` variable should be queried if
+a more specific understanding of the target system is required.
diff --git a/share/cmake-3.10/Help/variable/WIN32.rst b/share/cmake-3.10/Help/variable/WIN32.rst
new file mode 100644
index 0000000..78ab772
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/WIN32.rst
@@ -0,0 +1,4 @@
+WIN32
+-----
+
+Set to ``True`` when the target system is Windows, including Win64.
diff --git a/share/cmake-3.6/Help/variable/WINCE.rst b/share/cmake-3.10/Help/variable/WINCE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/WINCE.rst
rename to share/cmake-3.10/Help/variable/WINCE.rst
diff --git a/share/cmake-3.6/Help/variable/WINDOWS_PHONE.rst b/share/cmake-3.10/Help/variable/WINDOWS_PHONE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/WINDOWS_PHONE.rst
rename to share/cmake-3.10/Help/variable/WINDOWS_PHONE.rst
diff --git a/share/cmake-3.6/Help/variable/WINDOWS_STORE.rst b/share/cmake-3.10/Help/variable/WINDOWS_STORE.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/WINDOWS_STORE.rst
rename to share/cmake-3.10/Help/variable/WINDOWS_STORE.rst
diff --git a/share/cmake-3.10/Help/variable/XCODE.rst b/share/cmake-3.10/Help/variable/XCODE.rst
new file mode 100644
index 0000000..99f20fb
--- /dev/null
+++ b/share/cmake-3.10/Help/variable/XCODE.rst
@@ -0,0 +1,4 @@
+XCODE
+-----
+
+``True`` when using :generator:`Xcode` generator.
diff --git a/share/cmake-3.6/Help/variable/XCODE_VERSION.rst b/share/cmake-3.10/Help/variable/XCODE_VERSION.rst
similarity index 100%
rename from share/cmake-3.6/Help/variable/XCODE_VERSION.rst
rename to share/cmake-3.10/Help/variable/XCODE_VERSION.rst
diff --git a/share/cmake-3.10/Modules/AddFileDependencies.cmake b/share/cmake-3.10/Modules/AddFileDependencies.cmake
new file mode 100644
index 0000000..fdd8432
--- /dev/null
+++ b/share/cmake-3.10/Modules/AddFileDependencies.cmake
@@ -0,0 +1,23 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# AddFileDependencies
+# -------------------
+#
+# ADD_FILE_DEPENDENCIES(source_file depend_files...)
+#
+# Adds the given files as dependencies to source_file
+
+macro(ADD_FILE_DEPENDENCIES _file)
+
+   get_source_file_property(_deps ${_file} OBJECT_DEPENDS)
+   if (_deps)
+      set(_deps ${_deps} ${ARGN})
+   else ()
+      set(_deps ${ARGN})
+   endif ()
+
+   set_source_files_properties(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
+
+endmacro()
diff --git a/share/cmake-3.6/Modules/AndroidNdkGdb.cmake b/share/cmake-3.10/Modules/AndroidNdkGdb.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/AndroidNdkGdb.cmake
rename to share/cmake-3.10/Modules/AndroidNdkGdb.cmake
diff --git a/share/cmake-3.6/Modules/AndroidNdkModules.cmake b/share/cmake-3.10/Modules/AndroidNdkModules.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/AndroidNdkModules.cmake
rename to share/cmake-3.10/Modules/AndroidNdkModules.cmake
diff --git a/share/cmake-3.10/Modules/AndroidTestUtilities.cmake b/share/cmake-3.10/Modules/AndroidTestUtilities.cmake
new file mode 100644
index 0000000..62d04f3
--- /dev/null
+++ b/share/cmake-3.10/Modules/AndroidTestUtilities.cmake
@@ -0,0 +1,164 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[======================================================================[.rst:
+AndroidTestUtilities
+------------------------
+
+Create a test that automatically loads specified data onto an Android device.
+
+Introduction
+^^^^^^^^^^^^
+
+Use this module to push data needed for testing an Android device behavior
+onto a connected Android device. The module will accept files and libraries as
+well as separate destinations for each. It will create a test that loads the
+files into a device object store and link to them from the specified
+destination. The files are only uploaded if they are not already in the object
+store.
+
+For example:
+
+.. code-block:: cmake
+
+  include(AndroidTestUtilities)
+  android_add_test_data(
+    example_setup_test
+    FILES <files>...
+    LIBS <libs>...
+    DEVICE_TEST_DIR "/data/local/tests/example"
+    DEVICE_OBJECT_STORE "/sdcard/.ExternalData/SHA"
+    )
+
+
+At build time a test named "example_setup_test" will be created.  Run this test
+on the command line with :manual:`ctest(1)` to load the data onto the Android
+device.
+
+Module Functions
+^^^^^^^^^^^^^^^^
+
+.. command:: android_add_test_data
+
+  ::
+
+    android_add_test_data(<test-name>
+      [FILES <files>...] [FILES_DEST <device-dir>]
+      [LIBS <libs>...]   [LIBS_DEST <device-dir>]
+      [DEVICE_OBJECT_STORE <device-dir>]
+      [DEVICE_TEST_DIR <device-dir>]
+      [NO_LINK_REGEX <strings>...]
+      )
+
+  The ``android_add_test_data`` function is used to copy files and libraries
+  needed to run project-specific tests. On the host operating system, this is
+  done at build time. For on-device testing, the files are loaded onto the
+  device by the manufactured test at run time.
+
+  This function accepts the following named parameters:
+
+  ``FILES <files>...``
+    zero or more files needed for testing
+  ``LIBS <libs>...``
+    zero or more libraries needed for testing
+  ``FILES_DEST <device-dir>``
+    absolute path where the data files are expected to be
+  ``LIBS_DEST <device-dir>``
+    absolute path where the libraries are expected to be
+  ``DEVICE_OBJECT_STORE <device-dir>``
+    absolute path to the location where the data is stored on-device
+  ``DEVICE_TEST_DIR <device-dir>``
+    absolute path to the root directory of the on-device test location
+  ``NO_LINK_REGEX <strings>...``
+    list of regex strings matching the names of files that should be
+    copied from the object store to the testing directory
+#]======================================================================]
+
+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)
+  # As the names suggest, oneValueArgs lists the arguments that specify a
+  # single value, while multiValueArgs can contain one or more values.
+  set(keywordArgs)
+  set(oneValueArgs FILES_DEST LIBS_DEST DEVICE_OBJECT_STORE DEVICE_TEST_DIR)
+  set(multiValueArgs FILES LIBS NO_LINK_REGEX)
+
+  # For example, if you called this function with FILES </path/to/file>
+  # then this path would be stored in the variable AST_FILES.
+  # The AST prefix stands for the name of this function (android_add_test_data).
+  cmake_parse_arguments(AST "${keywordArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+  if(NOT AST_DEVICE_TEST_DIR)
+    message(FATAL_ERROR "-- You must specify the location of the on device test directory.")
+  endif()
+  if(NOT AST_DEVICE_OBJECT_STORE)
+    message(FATAL_ERROR "-- You must specify the location of the on device object store.")
+  endif()
+  if(${AST_DEVICE_TEST_DIR} STREQUAL "/")
+    message(FATAL_ERROR "-- The device test directory cannot be '/'")
+  endif()
+
+  # Copy all test data files into the binary directory, where tests are run.
+  # ExternalData will handle fetching DATA{...} references.
+  string(REPLACE "|" ";" hash_algs "${_ExternalData_REGEX_EXT}")
+  # Convert ExternalData placeholder file names to DATA{} syntax.
+  foreach(alg ${hash_algs})
+    string(REGEX REPLACE "([^ ;]+)\\.${alg}" "DATA{\\1}" AST_FILES "${AST_FILES}")
+  endforeach()
+
+  set(DATA_TARGET_NAME "${test_name}")
+  string(FIND "${AST_FILES}" "DATA{" data_files_found)
+  if(${data_files_found} GREATER "-1")
+    # Use ExternalData if any DATA{} files were found.
+    ExternalData_Expand_Arguments(
+      ${DATA_TARGET_NAME}
+      extern_data_output
+      ${AST_FILES})
+    ExternalData_Add_Target(${DATA_TARGET_NAME})
+  else()
+    add_custom_target(${DATA_TARGET_NAME} ALL)
+    set(extern_data_output ${AST_FILES})
+  endif()
+
+  # For regular files on Linux, just copy them directly.
+  foreach(path ${AST_FILES})
+    foreach(output ${extern_data_output})
+      if(${output} STREQUAL ${path})
+        # Check if a destination was specified.  If not, we copy by default
+        # into this project's binary directory, preserving its relative path.
+        if(AST_${VAR}_DEST)
+          set(DEST ${CMAKE_BINARY_DIR}/${parent_dir}/${AST_${VAR}_DEST})
+        else()
+          get_filename_component(parent_dir ${path} DIRECTORY)
+          set(DEST "${CMAKE_BINARY_DIR}/${parent_dir}")
+        endif()
+        get_filename_component(extern_data_source ${output} REALPATH)
+        get_filename_component(extern_data_basename ${output} NAME)
+        add_custom_command(
+          TARGET ${DATA_TARGET_NAME} POST_BUILD
+          DEPENDS ${extern_data_source}
+          COMMAND ${CMAKE_COMMAND} -E copy_if_different ${extern_data_source} ${DEST}/${extern_data_basename}
+        )
+      endif()
+    endforeach()
+  endforeach()
+
+  if(ANDROID)
+    string(REGEX REPLACE "DATA{([^ ;]+)}" "\\1"  processed_FILES "${AST_FILES}")
+    add_test(
+      NAME ${test_name}
+      COMMAND ${CMAKE_COMMAND}
+      "-Darg_files_dest=${AST_FILES_DEST}"
+      "-Darg_libs_dest=${AST_LIBS_DEST}"
+      "-Darg_dev_test_dir=${AST_DEVICE_TEST_DIR}"
+      "-Darg_dev_obj_store=${AST_DEVICE_OBJECT_STORE}"
+      "-Darg_no_link_regex=${AST_NO_LINK_REGEX}"
+      "-Darg_files=${processed_FILES}"
+      "-Darg_libs=${AST_LIBS}"
+      "-Darg_src_dir=${CMAKE_CURRENT_SOURCE_DIR}"
+      -P ${_AndroidTestUtilities_SELF_DIR}/AndroidTestUtilities/PushToAndroidDevice.cmake)
+  endif()
+endfunction()
diff --git a/share/cmake-3.10/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake b/share/cmake-3.10/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake
new file mode 100644
index 0000000..04529b1
--- /dev/null
+++ b/share/cmake-3.10/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake
@@ -0,0 +1,176 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This function handles pushing all of the test files needed to the device.
+# It places the data files in the object store and makes links to them from
+# the appropriate directories.
+#
+# This function accepts the following named parameters:
+# DIRS          : one or more directories needed for testing.
+# FILES         : one or more files needed for testing.
+# LIBS          : one or more libraries needed for testing.
+# DIRS_DEST     : specify where the directories should be installed.
+# FILES_DEST    : specify where the files should be installed.
+# LIBS_DEST     : specify where the libraries should be installed.
+# DEV_OBJ_STORE : specify where the actual data files should be placed.
+# DEV_TEST_DIR  : specify the root file for the module test directory.
+# The DEV_OBJ_STORE and DEV_TEST_DIR variables are required.
+
+# 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_push_test_files_to_device)
+
+  # The functions in the module need the adb executable.
+  find_program(adb_executable adb)
+  if(NOT adb_executable)
+    message(FATAL_ERROR "could not find adb")
+  endif()
+
+  function(execute_adb_command)
+    execute_process(COMMAND ${adb_executable} ${ARGN} RESULT_VARIABLE res_var OUTPUT_VARIABLE out_var ERROR_VARIABLE err_var)
+    set(out_var ${out_var} PARENT_SCOPE)
+    if(res_var)
+      string(REGEX REPLACE ";" " " com "${ARGN}")
+      message(FATAL_ERROR "Error occured during adb command: adb ${com}\nError: ${err_var}.")
+    endif()
+  endfunction()
+
+  # Checks to make sure that a given file exists on the device. If it does,
+  # if(file_exists) will return true.
+  macro(check_device_file_exists device_file file_exists)
+    set(${file_exists} "")
+    execute_process(
+      COMMAND ${adb_executable} shell ls ${device_file}
+      OUTPUT_VARIABLE out_var ERROR_VARIABLE out_var)
+    if(NOT out_var) # when a directory exists but is empty the output is empty
+      set(${file_exists} "YES")
+    else()
+      string(FIND ${out_var} "No such file or directory" no_file_exists)
+      if(${no_file_exists} STREQUAL "-1") # -1 means the file exists
+        set(${file_exists} "YES")
+      endif()
+    endif()
+  endmacro()
+
+  # Checks to see if a filename matches a regex.
+  function(filename_regex filename reg_ex)
+    string(REGEX MATCH ${reg_ex} filename_match ${filename})
+    set(filename_match ${filename_match} PARENT_SCOPE)
+  endfunction()
+
+  # If a file with given name exists in the CMAKE_BINARY_DIR then use that file.
+  # Otherwise use the file with root in CMAKE_CURRENT_SOURCE_DIR.
+  macro(set_absolute_path relative_path absolute_path)
+    set(${absolute_path} ${arg_src_dir}/${relative_path})
+    if(EXISTS ${CMAKE_BINARY_DIR}/${relative_path})
+      set(${absolute_path} ${CMAKE_BINARY_DIR}/${relative_path})
+    endif()
+    if(NOT EXISTS ${${absolute_path}})
+      if(EXISTS ${relative_path})
+        set(${absolute_path} ${relative_path})
+      else()
+        message(FATAL_ERROR "Cannot find file for specified path: ${relative_path}")
+      endif()
+    endif()
+  endmacro()
+
+  # This function pushes the data into the device object store and
+  # creates a link to that data file in a specified location.
+  #
+  # This function requires the following un-named parameters:
+  # data_path        : absolute path to data to load into dev obj store.
+  # dev_object_store : absolute path to the device object store directory.
+  # link_origin      : absolute path to the origin of the link to the dev obj store data file.
+  function(push_and_link data_path dev_object_store link_origin)
+    FILE(SHA1 ${data_path} hash_val)
+    set(obj_store_dst ${dev_object_store}/${hash_val})
+    check_device_file_exists(${obj_store_dst} obj_store_file_exists)
+    # TODO: Verify that the object store file is indeed hashed correctly. Could use md5.
+    if(NOT obj_store_file_exists)
+      execute_adb_command(push ${data_path} ${obj_store_dst})
+    endif()
+    check_device_file_exists(${link_origin} link_exists)
+    if(link_exists)
+      execute_adb_command(shell rm -f ${link_origin})
+    endif()
+    foreach(ex ${arg_no_link_regex})
+      filename_regex(${data_path} ${ex})
+      LIST(APPEND match_ex ${filename_match})
+    endforeach()
+    if(match_ex)
+      execute_adb_command(shell cp ${obj_store_dst} ${link_origin})
+    else()
+      execute_adb_command(shell ln -s ${obj_store_dst} ${link_origin})
+    endif()
+  endfunction()
+
+  #----------------------------------------------------------------------------
+  #--------------------Beginning of actual function----------------------------
+  #----------------------------------------------------------------------------
+  set(oneValueArgs FILES_DEST LIBS_DEST DEV_TEST_DIR DEV_OBJ_STORE)
+  set(multiValueArgs FILES LIBS)
+  cmake_parse_arguments(_ptd "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+  # Setup of object store and test dir.
+  check_device_file_exists(${_ptd_DEV_OBJ_STORE} dev_obj_store_exists)
+  if(NOT dev_obj_store_exists)
+    execute_adb_command(shell mkdir -p ${_ptd_DEV_OBJ_STORE})
+  endif()
+  check_device_file_exists(${_ptd_DEV_TEST_DIR} test_dir_exists)
+  if(test_dir_exists)
+    # This is protected in the SetupProjectTests module.
+    execute_adb_command(shell rm -r ${_ptd_DEV_TEST_DIR})
+  endif()
+  execute_adb_command(shell mkdir -p ${_ptd_DEV_TEST_DIR})
+
+  # Looping over the various types of test data possible.
+  foreach(TYPE ${multiValueArgs})
+    if(_ptd_${TYPE})
+
+      # determine if the data type destination has been explicitly specified.
+      if(_ptd_${TYPE}_DEST)
+        set(dest ${_ptd_${TYPE}_DEST})
+      else()
+        if(${TYPE} STREQUAL LIBS)
+          set(dest ${_ptd_DEV_TEST_DIR}/lib)
+        else()
+          set(dest ${_ptd_DEV_TEST_DIR})
+        endif()
+      endif()
+      execute_adb_command(shell mkdir -p ${dest})
+
+      # Loop over the files passed in
+      foreach(relative_path ${_ptd_${TYPE}})
+        # The absolute path can be through the source directory or the build directory.
+        # If the file/dir exists in the build directory that version is chosen.
+        set_absolute_path(${relative_path} absolute_path)
+        # Need to transfer all data files in the data directories to the device
+        # except those explicitly ignored.
+        if(${TYPE} STREQUAL FILES)
+          get_filename_component(file_dir ${relative_path} DIRECTORY)
+          # dest was determined earlier, relative_path is a dir, file is path from relative path to a data
+          set(cur_dest ${dest}/${relative_path})
+          set(on_dev_dir ${dest}/${file_dir})
+          execute_adb_command(shell mkdir -p ${on_dev_dir})
+          if(IS_SYMLINK ${absolute_path})
+            get_filename_component(real_data_origin ${absolute_path} REALPATH)
+            push_and_link(${real_data_origin} ${_ptd_DEV_OBJ_STORE} ${cur_dest})
+          else()
+            push_and_link(${absolute_path} ${_ptd_DEV_OBJ_STORE} ${cur_dest})
+          endif()
+        else() # LIBS
+          execute_adb_command(push ${absolute_path} ${dest})
+        endif()
+      endforeach()
+    endif()
+  endforeach()
+endfunction()
+
+android_push_test_files_to_device(
+  FILES_DEST ${arg_files_dest}
+  LIBS_DEST ${arg_libs_dest}
+  DEV_TEST_DIR ${arg_dev_test_dir}
+  DEV_OBJ_STORE ${arg_dev_obj_store}
+  FILES ${arg_files}
+  LIBS ${arg_libs}
+  )
diff --git a/share/cmake-3.10/Modules/AutogenInfo.cmake.in b/share/cmake-3.10/Modules/AutogenInfo.cmake.in
new file mode 100644
index 0000000..7f4b398
--- /dev/null
+++ b/share/cmake-3.10/Modules/AutogenInfo.cmake.in
@@ -0,0 +1,37 @@
+# Meta
+set(AM_MULTI_CONFIG @_multi_config@)
+# Directories and files
+set(AM_CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@/")
+set(AM_CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@/")
+set(AM_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@/")
+set(AM_CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@/")
+set(AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE "@CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE@")
+set(AM_BUILD_DIR @_build_dir@)
+set(AM_SOURCES @_sources@)
+set(AM_HEADERS @_headers@)
+# Qt environment
+set(AM_QT_VERSION_MAJOR @_qt_version_major@)
+set(AM_QT_VERSION_MINOR @_qt_version_minor@)
+set(AM_QT_MOC_EXECUTABLE @_qt_moc_executable@)
+set(AM_QT_UIC_EXECUTABLE @_qt_uic_executable@)
+set(AM_QT_RCC_EXECUTABLE @_qt_rcc_executable@)
+# MOC settings
+set(AM_MOC_SKIP @_moc_skip@)
+set(AM_MOC_DEFINITIONS @_moc_compile_defs@)
+set(AM_MOC_INCLUDES @_moc_include_dirs@)
+set(AM_MOC_OPTIONS @_moc_options@)
+set(AM_MOC_RELAXED_MODE @_moc_relaxed_mode@)
+set(AM_MOC_MACRO_NAMES @_moc_macro_names@)
+set(AM_MOC_DEPEND_FILTERS @_moc_depend_filters@)
+set(AM_MOC_PREDEFS_CMD @_moc_predefs_cmd@)
+# UIC settings
+set(AM_UIC_SKIP @_uic_skip@)
+set(AM_UIC_TARGET_OPTIONS @_uic_target_options@)
+set(AM_UIC_OPTIONS_FILES @_qt_uic_options_files@)
+set(AM_UIC_OPTIONS_OPTIONS @_qt_uic_options_options@)
+set(AM_UIC_SEARCH_PATHS @_uic_search_paths@)
+# RCC settings
+set(AM_RCC_SOURCES @_rcc_files@)
+set(AM_RCC_BUILDS @_rcc_builds@)
+set(AM_RCC_OPTIONS @_rcc_options@)
+set(AM_RCC_INPUTS @_rcc_inputs@)
diff --git a/share/cmake-3.6/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in b/share/cmake-3.10/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
rename to share/cmake-3.10/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
diff --git a/share/cmake-3.6/Modules/BasicConfigVersion-ExactVersion.cmake.in b/share/cmake-3.10/Modules/BasicConfigVersion-ExactVersion.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/BasicConfigVersion-ExactVersion.cmake.in
rename to share/cmake-3.10/Modules/BasicConfigVersion-ExactVersion.cmake.in
diff --git a/share/cmake-3.6/Modules/BasicConfigVersion-SameMajorVersion.cmake.in b/share/cmake-3.10/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
rename to share/cmake-3.10/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
diff --git a/share/cmake-3.10/Modules/BundleUtilities.cmake b/share/cmake-3.10/Modules/BundleUtilities.cmake
new file mode 100644
index 0000000..121a8f0
--- /dev/null
+++ b/share/cmake-3.10/Modules/BundleUtilities.cmake
@@ -0,0 +1,1108 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# BundleUtilities
+# ---------------
+#
+# Functions to help assemble a standalone bundle application.
+#
+# A collection of CMake utility functions useful for dealing with .app
+# bundles on the Mac and bundle-like directories on any OS.
+#
+# The following functions are provided by this module:
+#
+# ::
+#
+#    fixup_bundle
+#    copy_and_fixup_bundle
+#    verify_app
+#    get_bundle_main_executable
+#    get_dotapp_dir
+#    get_bundle_and_executable
+#    get_bundle_all_executables
+#    get_item_key
+#    get_item_rpaths
+#    clear_bundle_keys
+#    set_bundle_key_values
+#    get_bundle_keys
+#    copy_resolved_item_into_bundle
+#    copy_resolved_framework_into_bundle
+#    fixup_bundle_item
+#    verify_bundle_prerequisites
+#    verify_bundle_symlinks
+#
+# Requires CMake 2.6 or greater because it uses function, break and
+# PARENT_SCOPE.  Also depends on GetPrerequisites.cmake.
+#
+# ::
+#
+#   FIXUP_BUNDLE(<app> <libs> <dirs>)
+#
+# Fix up a bundle in-place and make it standalone, such that it can be
+# drag-n-drop copied to another machine and run on that machine as long
+# as all of the system libraries are compatible.
+#
+# If you pass plugins to fixup_bundle as the libs parameter, you should
+# install them or copy them into the bundle before calling fixup_bundle.
+# The "libs" parameter is a list of libraries that must be fixed up, but
+# that cannot be determined by otool output analysis.  (i.e., plugins)
+#
+# Gather all the keys for all the executables and libraries in a bundle,
+# and then, for each key, copy each prerequisite into the bundle.  Then
+# fix each one up according to its own list of prerequisites.
+#
+# Then clear all the keys and call verify_app on the final bundle to
+# ensure that it is truly standalone.
+#
+# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
+# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
+#
+# ::
+#
+#   COPY_AND_FIXUP_BUNDLE(<src> <dst> <libs> <dirs>)
+#
+# Makes a copy of the bundle <src> at location <dst> and then fixes up
+# the new copied bundle in-place at <dst>...
+#
+# ::
+#
+#   VERIFY_APP(<app>)
+#
+# Verifies that an application <app> appears valid based on running
+# analysis tools on it.  Calls "message(FATAL_ERROR" if the application
+# is not verified.
+#
+# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
+# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
+#
+# ::
+#
+#   GET_BUNDLE_MAIN_EXECUTABLE(<bundle> <result_var>)
+#
+# The result will be the full path name of the bundle's main executable
+# file or an "error:" prefixed string if it could not be determined.
+#
+# ::
+#
+#   GET_DOTAPP_DIR(<exe> <dotapp_dir_var>)
+#
+# Returns the nearest parent dir whose name ends with ".app" given the
+# full path to an executable.  If there is no such parent dir, then
+# simply return the dir containing the executable.
+#
+# The returned directory may or may not exist.
+#
+# ::
+#
+#   GET_BUNDLE_AND_EXECUTABLE(<app> <bundle_var> <executable_var> <valid_var>)
+#
+# Takes either a ".app" directory name or the name of an executable
+# nested inside a ".app" directory and returns the path to the ".app"
+# directory in <bundle_var> and the path to its main executable in
+# <executable_var>
+#
+# ::
+#
+#   GET_BUNDLE_ALL_EXECUTABLES(<bundle> <exes_var>)
+#
+# Scans the given bundle recursively for all executable files and
+# accumulates them into a variable.
+#
+# ::
+#
+#   GET_ITEM_KEY(<item> <key_var>)
+#
+# Given a file (item) name, generate a key that should be unique
+# considering the set of libraries that need copying or fixing up to
+# make a bundle standalone.  This is essentially the file name including
+# extension with "." replaced by "_"
+#
+# This key is used as a prefix for CMake variables so that we can
+# associate a set of variables with a given item based on its key.
+#
+# ::
+#
+#   CLEAR_BUNDLE_KEYS(<keys_var>)
+#
+# Loop over the list of keys, clearing all the variables associated with
+# each key.  After the loop, clear the list of keys itself.
+#
+# Caller of get_bundle_keys should call clear_bundle_keys when done with
+# list of keys.
+#
+# ::
+#
+#   SET_BUNDLE_KEY_VALUES(<keys_var> <context> <item> <exepath> <dirs>
+#                         <copyflag> [<rpaths>])
+#
+# Add a key to the list (if necessary) for the given item.  If added,
+# also set all the variables associated with that key.
+#
+# ::
+#
+#   GET_BUNDLE_KEYS(<app> <libs> <dirs> <keys_var>)
+#
+# Loop over all the executable and library files within the bundle (and
+# given as extra <libs>) and accumulate a list of keys representing
+# them.  Set values associated with each key such that we can loop over
+# all of them and copy prerequisite libs into the bundle and then do
+# appropriate install_name_tool fixups.
+#
+# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
+# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
+#
+# ::
+#
+#   COPY_RESOLVED_ITEM_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
+#
+# Copy a resolved item into the bundle if necessary.  Copy is not
+# necessary if the resolved_item is "the same as" the
+# resolved_embedded_item.
+#
+# ::
+#
+#   COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
+#
+# Copy a resolved framework into the bundle if necessary.  Copy is not
+# necessary if the resolved_item is "the same as" the
+# resolved_embedded_item.
+#
+# By default, BU_COPY_FULL_FRAMEWORK_CONTENTS is not set.  If you want
+# full frameworks embedded in your bundles, set
+# BU_COPY_FULL_FRAMEWORK_CONTENTS to ON before calling fixup_bundle.  By
+# default, COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE copies the framework
+# dylib itself plus the framework Resources directory.
+#
+# ::
+#
+#   FIXUP_BUNDLE_ITEM(<resolved_embedded_item> <exepath> <dirs>)
+#
+# Get the direct/non-system prerequisites of the resolved embedded item.
+# For each prerequisite, change the way it is referenced to the value of
+# the _EMBEDDED_ITEM keyed variable for that prerequisite.  (Most likely
+# changing to an "@executable_path" style reference.)
+#
+# This function requires that the resolved_embedded_item be "inside" the
+# bundle already.  In other words, if you pass plugins to fixup_bundle
+# as the libs parameter, you should install them or copy them into the
+# bundle before calling fixup_bundle.  The "libs" parameter is a list of
+# libraries that must be fixed up, but that cannot be determined by
+# otool output analysis.  (i.e., plugins)
+#
+# Also, change the id of the item being fixed up to its own
+# _EMBEDDED_ITEM value.
+#
+# Accumulate changes in a local variable and make *one* call to
+# install_name_tool at the end of the function with all the changes at
+# once.
+#
+# If the BU_CHMOD_BUNDLE_ITEMS variable is set then bundle items will be
+# marked writable before install_name_tool tries to change them.
+#
+# ::
+#
+#   VERIFY_BUNDLE_PREREQUISITES(<bundle> <result_var> <info_var>)
+#
+# Verifies that the sum of all prerequisites of all files inside the
+# bundle are contained within the bundle or are "system" libraries,
+# presumed to exist everywhere.
+#
+# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
+# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
+#
+# ::
+#
+#   VERIFY_BUNDLE_SYMLINKS(<bundle> <result_var> <info_var>)
+#
+# Verifies that any symlinks found in the bundle point to other files
+# that are already also in the bundle...  Anything that points to an
+# external file causes this function to fail the verification.
+
+# The functions defined in this file depend on the get_prerequisites function
+# (and possibly others) found in:
+#
+get_filename_component(BundleUtilities_cmake_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+include("${BundleUtilities_cmake_dir}/GetPrerequisites.cmake")
+
+
+function(get_bundle_main_executable bundle result_var)
+  set(result "error: '${bundle}/Contents/Info.plist' file does not exist")
+
+  if(EXISTS "${bundle}/Contents/Info.plist")
+    set(result "error: no CFBundleExecutable in '${bundle}/Contents/Info.plist' file")
+    set(line_is_main_executable 0)
+    set(bundle_executable "")
+
+    # Read Info.plist as a list of lines:
+    #
+    set(eol_char "E")
+    file(READ "${bundle}/Contents/Info.plist" info_plist)
+    string(REPLACE ";" "\\;" info_plist "${info_plist}")
+    string(REPLACE "\n" "${eol_char};" info_plist "${info_plist}")
+    string(REPLACE "\r" "${eol_char};" info_plist "${info_plist}")
+
+    # Scan the lines for "<key>CFBundleExecutable</key>" - the line after that
+    # is the name of the main executable.
+    #
+    foreach(line ${info_plist})
+      if(line_is_main_executable)
+        string(REGEX REPLACE "^.*<string>(.*)</string>.*$" "\\1" bundle_executable "${line}")
+        break()
+      endif()
+
+      if(line MATCHES "<key>CFBundleExecutable</key>")
+        set(line_is_main_executable 1)
+      endif()
+    endforeach()
+
+    if(NOT "${bundle_executable}" STREQUAL "")
+      if(EXISTS "${bundle}/Contents/MacOS/${bundle_executable}")
+        set(result "${bundle}/Contents/MacOS/${bundle_executable}")
+      else()
+
+        # Ultimate goal:
+        # If not in "Contents/MacOS" then scan the bundle for matching files. If
+        # there is only one executable file that matches, then use it, otherwise
+        # it's an error...
+        #
+        #file(GLOB_RECURSE file_list "${bundle}/${bundle_executable}")
+
+        # But for now, pragmatically, it's an error. Expect the main executable
+        # for the bundle to be in Contents/MacOS, it's an error if it's not:
+        #
+        set(result "error: '${bundle}/Contents/MacOS/${bundle_executable}' does not exist")
+      endif()
+    endif()
+  else()
+    #
+    # More inclusive technique... (This one would work on Windows and Linux
+    # too, if a developer followed the typical Mac bundle naming convention...)
+    #
+    # If there is no Info.plist file, try to find an executable with the same
+    # base name as the .app directory:
+    #
+  endif()
+
+  set(${result_var} "${result}" PARENT_SCOPE)
+endfunction()
+
+
+function(get_dotapp_dir exe dotapp_dir_var)
+  set(s "${exe}")
+
+  if(s MATCHES "/.*\\.app/")
+    # If there is a ".app" parent directory,
+    # ascend until we hit it:
+    #   (typical of a Mac bundle executable)
+    #
+    set(done 0)
+    while(NOT ${done})
+      get_filename_component(snamewe "${s}" NAME_WE)
+      get_filename_component(sname "${s}" NAME)
+      get_filename_component(sdir "${s}" PATH)
+      set(s "${sdir}")
+      if(sname MATCHES "\\.app$")
+        set(done 1)
+        set(dotapp_dir "${sdir}/${sname}")
+      endif()
+    endwhile()
+  else()
+    # Otherwise use a directory containing the exe
+    #   (typical of a non-bundle executable on Mac, Windows or Linux)
+    #
+    is_file_executable("${s}" is_executable)
+    if(is_executable)
+      get_filename_component(sdir "${s}" PATH)
+      set(dotapp_dir "${sdir}")
+    else()
+      set(dotapp_dir "${s}")
+    endif()
+  endif()
+
+
+  set(${dotapp_dir_var} "${dotapp_dir}" PARENT_SCOPE)
+endfunction()
+
+
+function(get_bundle_and_executable app bundle_var executable_var valid_var)
+  set(valid 0)
+
+  if(EXISTS "${app}")
+    # Is it a directory ending in .app?
+    if(IS_DIRECTORY "${app}")
+      if(app MATCHES "\\.app$")
+        get_bundle_main_executable("${app}" executable)
+        if(EXISTS "${app}" AND EXISTS "${executable}")
+          set(${bundle_var} "${app}" PARENT_SCOPE)
+          set(${executable_var} "${executable}" PARENT_SCOPE)
+          set(valid 1)
+          #message(STATUS "info: handled .app directory case...")
+        else()
+          message(STATUS "warning: *NOT* handled - .app directory case...")
+        endif()
+      else()
+        message(STATUS "warning: *NOT* handled - directory but not .app case...")
+      endif()
+    else()
+      # Is it an executable file?
+      is_file_executable("${app}" is_executable)
+      if(is_executable)
+        get_dotapp_dir("${app}" dotapp_dir)
+        if(EXISTS "${dotapp_dir}")
+          set(${bundle_var} "${dotapp_dir}" PARENT_SCOPE)
+          set(${executable_var} "${app}" PARENT_SCOPE)
+          set(valid 1)
+          #message(STATUS "info: handled executable file in .app dir case...")
+        else()
+          get_filename_component(app_dir "${app}" PATH)
+          set(${bundle_var} "${app_dir}" PARENT_SCOPE)
+          set(${executable_var} "${app}" PARENT_SCOPE)
+          set(valid 1)
+          #message(STATUS "info: handled executable file in any dir case...")
+        endif()
+      else()
+        message(STATUS "warning: *NOT* handled - not .app dir, not executable file...")
+      endif()
+    endif()
+  else()
+    message(STATUS "warning: *NOT* handled - directory/file does not exist...")
+  endif()
+
+  if(NOT valid)
+    set(${bundle_var} "error: not a bundle" PARENT_SCOPE)
+    set(${executable_var} "error: not a bundle" PARENT_SCOPE)
+  endif()
+
+  set(${valid_var} ${valid} PARENT_SCOPE)
+endfunction()
+
+
+function(get_bundle_all_executables bundle exes_var)
+  set(exes "")
+
+  if(UNIX)
+    find_program(find_cmd "find")
+    mark_as_advanced(find_cmd)
+  endif()
+
+  # find command is much quicker than checking every file one by one on Unix
+  # which can take long time for large bundles, and since anyway we expect
+  # executable to have execute flag set we can narrow the list much quicker.
+  if(find_cmd)
+    execute_process(COMMAND "${find_cmd}" "${bundle}"
+      -type f \( -perm -0100 -o -perm -0010 -o -perm -0001 \)
+      OUTPUT_VARIABLE file_list
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      )
+    string(REPLACE "\n" ";" file_list "${file_list}")
+  else()
+    file(GLOB_RECURSE file_list "${bundle}/*")
+  endif()
+
+  foreach(f ${file_list})
+    is_file_executable("${f}" is_executable)
+    if(is_executable)
+      set(exes ${exes} "${f}")
+    endif()
+  endforeach()
+
+  set(${exes_var} "${exes}" PARENT_SCOPE)
+endfunction()
+
+
+function(get_item_rpaths item rpaths_var)
+  if(APPLE)
+    find_program(otool_cmd "otool")
+    mark_as_advanced(otool_cmd)
+  endif()
+
+  if(otool_cmd)
+    execute_process(
+      COMMAND "${otool_cmd}" -l "${item}"
+      OUTPUT_VARIABLE load_cmds_ov
+      )
+    string(REGEX REPLACE "[^\n]+cmd LC_RPATH\n[^\n]+\n[^\n]+path ([^\n]+) \\(offset[^\n]+\n" "rpath \\1\n" load_cmds_ov "${load_cmds_ov}")
+    string(REGEX MATCHALL "rpath [^\n]+" load_cmds_ov "${load_cmds_ov}")
+    string(REGEX REPLACE "rpath " "" load_cmds_ov "${load_cmds_ov}")
+    if(load_cmds_ov)
+      foreach(rpath ${load_cmds_ov})
+        gp_append_unique(${rpaths_var} "${rpath}")
+      endforeach()
+    endif()
+  endif()
+
+  if(UNIX AND NOT APPLE)
+    file(READ_ELF ${item} RPATH rpath_var RUNPATH runpath_var CAPTURE_ERROR error_var)
+    get_filename_component(item_dir ${item} DIRECTORY)
+    foreach(rpath ${rpath_var} ${runpath_var})
+      # Substitute $ORIGIN with the exepath and add to the found rpaths
+      string(REPLACE "$ORIGIN" "${item_dir}" rpath "${rpath}")
+      gp_append_unique(${rpaths_var} "${rpath}")
+    endforeach()
+  endif()
+
+  set(${rpaths_var} ${${rpaths_var}} PARENT_SCOPE)
+endfunction()
+
+
+function(get_item_key item key_var)
+  get_filename_component(item_name "${item}" NAME)
+  if(WIN32)
+    string(TOLOWER "${item_name}" item_name)
+  endif()
+  string(REPLACE "." "_" ${key_var} "${item_name}")
+  set(${key_var} ${${key_var}} PARENT_SCOPE)
+endfunction()
+
+
+function(clear_bundle_keys keys_var)
+  foreach(key ${${keys_var}})
+    set(${key}_ITEM PARENT_SCOPE)
+    set(${key}_RESOLVED_ITEM PARENT_SCOPE)
+    set(${key}_DEFAULT_EMBEDDED_PATH PARENT_SCOPE)
+    set(${key}_EMBEDDED_ITEM PARENT_SCOPE)
+    set(${key}_RESOLVED_EMBEDDED_ITEM PARENT_SCOPE)
+    set(${key}_COPYFLAG PARENT_SCOPE)
+    set(${key}_RPATHS PARENT_SCOPE)
+  endforeach()
+  set(${keys_var} PARENT_SCOPE)
+endfunction()
+
+
+function(set_bundle_key_values keys_var context item exepath dirs copyflag)
+  if(ARGC GREATER 6)
+    set(rpaths "${ARGV6}")
+  else()
+    set(rpaths "")
+  endif()
+  get_filename_component(item_name "${item}" NAME)
+
+  get_item_key("${item}" key)
+
+  list(LENGTH ${keys_var} length_before)
+  gp_append_unique(${keys_var} "${key}")
+  list(LENGTH ${keys_var} length_after)
+
+  if(NOT length_before EQUAL length_after)
+    gp_resolve_item("${context}" "${item}" "${exepath}" "${dirs}" resolved_item "${rpaths}")
+
+    gp_item_default_embedded_path("${item}" default_embedded_path)
+
+    get_item_rpaths("${resolved_item}" item_rpaths)
+
+    if((NOT item MATCHES "\\.dylib$") AND (item MATCHES "[^/]+\\.framework/"))
+      # For frameworks, construct the name under the embedded path from the
+      # opening "${item_name}.framework/" to the closing "/${item_name}":
+      #
+      string(REGEX REPLACE "^.*(${item_name}.framework/.*/?${item_name}).*$" "${default_embedded_path}/\\1" embedded_item "${item}")
+    else()
+      # For other items, just use the same name as the original, but in the
+      # embedded path:
+      #
+      set(embedded_item "${default_embedded_path}/${item_name}")
+    endif()
+
+    # Replace @executable_path and resolve ".." references:
+    #
+    string(REPLACE "@executable_path" "${exepath}" resolved_embedded_item "${embedded_item}")
+    get_filename_component(resolved_embedded_item "${resolved_embedded_item}" ABSOLUTE)
+
+    # *But* -- if we are not copying, then force resolved_embedded_item to be
+    # the same as resolved_item. In the case of multiple executables in the
+    # original bundle, using the default_embedded_path results in looking for
+    # the resolved executable next to the main bundle executable. This is here
+    # so that exes in the other sibling directories (like "bin") get fixed up
+    # properly...
+    #
+    if(NOT copyflag)
+      set(resolved_embedded_item "${resolved_item}")
+    endif()
+
+    set(${keys_var} ${${keys_var}} PARENT_SCOPE)
+    set(${key}_ITEM "${item}" PARENT_SCOPE)
+    set(${key}_RESOLVED_ITEM "${resolved_item}" PARENT_SCOPE)
+    set(${key}_DEFAULT_EMBEDDED_PATH "${default_embedded_path}" PARENT_SCOPE)
+    set(${key}_EMBEDDED_ITEM "${embedded_item}" PARENT_SCOPE)
+    set(${key}_RESOLVED_EMBEDDED_ITEM "${resolved_embedded_item}" PARENT_SCOPE)
+    set(${key}_COPYFLAG "${copyflag}" PARENT_SCOPE)
+    set(${key}_RPATHS "${item_rpaths}" PARENT_SCOPE)
+    set(${key}_RDEP_RPATHS "${rpaths}" PARENT_SCOPE)
+  else()
+    #message("warning: item key '${key}' already in the list, subsequent references assumed identical to first")
+  endif()
+endfunction()
+
+
+function(get_bundle_keys app libs dirs keys_var)
+  set(${keys_var} PARENT_SCOPE)
+
+  set(options)
+  set(oneValueArgs)
+  set(multiValueArgs IGNORE_ITEM)
+  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+
+  get_bundle_and_executable("${app}" bundle executable valid)
+  if(valid)
+    # Always use the exepath of the main bundle executable for @executable_path
+    # replacements:
+    #
+    get_filename_component(exepath "${executable}" PATH)
+
+    # But do fixups on all executables in the bundle:
+    #
+    get_bundle_all_executables("${bundle}" exes)
+
+    # Set keys for main executable first:
+    #
+    set_bundle_key_values(${keys_var} "${executable}" "${executable}" "${exepath}" "${dirs}" 0)
+
+    # Get rpaths specified by main executable:
+    #
+    get_item_key("${executable}" executable_key)
+    set(main_rpaths "${${executable_key}_RPATHS}")
+
+    # For each extra lib, accumulate a key as well and then also accumulate
+    # any of its prerequisites. (Extra libs are typically dynamically loaded
+    # plugins: libraries that are prerequisites for full runtime functionality
+    # but that do not show up in otool -L output...)
+    #
+    foreach(lib ${libs})
+      set_bundle_key_values(${keys_var} "${lib}" "${lib}" "${exepath}" "${dirs}" 0 "${main_rpaths}")
+
+      set(prereqs "")
+      set(ignoreFile FALSE)
+      get_filename_component(prereq_filename ${lib} NAME)
+      if(NOT "${CFG_IGNORE_ITEM}" STREQUAL "" )
+        foreach(item ${CFG_IGNORE_ITEM})
+            if("${item}" STREQUAL "${prereq_filename}")
+              set(ignoreFile TRUE)
+            endif()
+        endforeach()
+      endif()
+
+      if(NOT ignoreFile)
+        get_prerequisites("${lib}" prereqs 1 1 "${exepath}" "${dirs}" "${main_rpaths}")
+        foreach(pr ${prereqs})
+          set_bundle_key_values(${keys_var} "${lib}" "${pr}" "${exepath}" "${dirs}" 1 "${main_rpaths}")
+        endforeach()
+      else()
+        message(STATUS "Ignoring file: ${prereq_filename}")
+      endif()
+    endforeach()
+
+    # For each executable found in the bundle, accumulate keys as we go.
+    # The list of keys should be complete when all prerequisites of all
+    # binaries in the bundle have been analyzed.
+    #
+    foreach(exe ${exes})
+      # Main executable is scanned first above:
+      #
+      if(NOT "${exe}" STREQUAL "${executable}")
+        # Add the exe itself to the keys:
+        #
+        set_bundle_key_values(${keys_var} "${exe}" "${exe}" "${exepath}" "${dirs}" 0 "${main_rpaths}")
+
+        # Get rpaths specified by executable:
+        #
+        get_item_key("${exe}" exe_key)
+        set(exe_rpaths "${main_rpaths}" "${${exe_key}_RPATHS}")
+      else()
+        set(exe_rpaths "${main_rpaths}")
+      endif()
+
+      # Add each prerequisite to the keys:
+      #
+      set(prereqs "")
+      set(ignoreFile FALSE)
+      get_filename_component(prereq_filename ${exe} NAME)
+      if(NOT "${CFG_IGNORE_ITEM}" STREQUAL "" )
+        foreach(item ${CFG_IGNORE_ITEM})
+            if("${item}" STREQUAL "${prereq_filename}")
+              set(ignoreFile TRUE)
+            endif()
+        endforeach()
+      endif()
+
+      if(NOT ignoreFile)
+        get_prerequisites("${exe}" prereqs 1 1 "${exepath}" "${dirs}" "${exe_rpaths}")
+        foreach(pr ${prereqs})
+          set_bundle_key_values(${keys_var} "${exe}" "${pr}" "${exepath}" "${dirs}" 1 "${exe_rpaths}")
+        endforeach()
+      else()
+        message(STATUS "Ignoring file: ${prereq_filename}")
+      endif()
+    endforeach()
+
+    # preserve library symlink structure
+    foreach(key ${${keys_var}})
+      if("${${key}_COPYFLAG}" STREQUAL 1)
+        if(IS_SYMLINK "${${key}_RESOLVED_ITEM}")
+          get_filename_component(target "${${key}_RESOLVED_ITEM}" REALPATH)
+          set_bundle_key_values(${keys_var} "${exe}" "${target}" "${exepath}" "${dirs}" 1 "${exe_rpaths}")
+          get_item_key("${target}" targetkey)
+
+          if(WIN32)
+            # ignore case on Windows
+            string(TOLOWER "${${key}_RESOLVED_ITEM}" resolved_item_compare)
+            string(TOLOWER "${${targetkey}_RESOLVED_EMBEDDED_ITEM}" resolved_embedded_item_compare)
+          else()
+            set(resolved_item_compare "${${key}_RESOLVED_ITEM}")
+            set(resolved_embedded_item_compare "${${targetkey}_RESOLVED_EMBEDDED_ITEM}")
+          endif()
+          get_filename_component(resolved_item_compare "${resolved_item_compare}" NAME)
+          get_filename_component(resolved_embedded_item_compare "${resolved_embedded_item_compare}" NAME)
+
+          if(NOT "${resolved_item_compare}" STREQUAL "${resolved_embedded_item_compare}")
+            set(${key}_COPYFLAG "2")
+            set(${key}_RESOLVED_ITEM "${${targetkey}_RESOLVED_EMBEDDED_ITEM}")
+          endif()
+
+        endif()
+      endif()
+    endforeach()
+    # Propagate values to caller's scope:
+    #
+    set(${keys_var} ${${keys_var}} PARENT_SCOPE)
+    foreach(key ${${keys_var}})
+      set(${key}_ITEM "${${key}_ITEM}" PARENT_SCOPE)
+      set(${key}_RESOLVED_ITEM "${${key}_RESOLVED_ITEM}" PARENT_SCOPE)
+      set(${key}_DEFAULT_EMBEDDED_PATH "${${key}_DEFAULT_EMBEDDED_PATH}" PARENT_SCOPE)
+      set(${key}_EMBEDDED_ITEM "${${key}_EMBEDDED_ITEM}" PARENT_SCOPE)
+      set(${key}_RESOLVED_EMBEDDED_ITEM "${${key}_RESOLVED_EMBEDDED_ITEM}" PARENT_SCOPE)
+      set(${key}_COPYFLAG "${${key}_COPYFLAG}" PARENT_SCOPE)
+      set(${key}_RPATHS "${${key}_RPATHS}" PARENT_SCOPE)
+      set(${key}_RDEP_RPATHS "${${key}_RDEP_RPATHS}" PARENT_SCOPE)
+    endforeach()
+  endif()
+endfunction()
+
+function(link_resolved_item_into_bundle resolved_item resolved_embedded_item)
+  if(WIN32)
+    # ignore case on Windows
+    string(TOLOWER "${resolved_item}" resolved_item_compare)
+    string(TOLOWER "${resolved_embedded_item}" resolved_embedded_item_compare)
+  else()
+    set(resolved_item_compare "${resolved_item}")
+    set(resolved_embedded_item_compare "${resolved_embedded_item}")
+  endif()
+
+  if("${resolved_item_compare}" STREQUAL "${resolved_embedded_item_compare}")
+    message(STATUS "warning: resolved_item == resolved_embedded_item - not linking...")
+  else()
+    get_filename_component(target_dir "${resolved_embedded_item}" DIRECTORY)
+    file(RELATIVE_PATH symlink_target "${target_dir}" "${resolved_item}")
+    execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${symlink_target}" "${resolved_embedded_item}")
+  endif()
+endfunction()
+
+function(copy_resolved_item_into_bundle resolved_item resolved_embedded_item)
+  if(WIN32)
+    # ignore case on Windows
+    string(TOLOWER "${resolved_item}" resolved_item_compare)
+    string(TOLOWER "${resolved_embedded_item}" resolved_embedded_item_compare)
+  else()
+    set(resolved_item_compare "${resolved_item}")
+    set(resolved_embedded_item_compare "${resolved_embedded_item}")
+  endif()
+
+  if("${resolved_item_compare}" STREQUAL "${resolved_embedded_item_compare}")
+    message(STATUS "warning: resolved_item == resolved_embedded_item - not copying...")
+  else()
+    #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy ${resolved_item} ${resolved_embedded_item}")
+    execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_item}" "${resolved_embedded_item}")
+    if(UNIX AND NOT APPLE)
+      file(RPATH_REMOVE FILE "${resolved_embedded_item}")
+    endif()
+  endif()
+
+endfunction()
+
+
+function(copy_resolved_framework_into_bundle resolved_item resolved_embedded_item)
+  if(WIN32)
+    # ignore case on Windows
+    string(TOLOWER "${resolved_item}" resolved_item_compare)
+    string(TOLOWER "${resolved_embedded_item}" resolved_embedded_item_compare)
+  else()
+    set(resolved_item_compare "${resolved_item}")
+    set(resolved_embedded_item_compare "${resolved_embedded_item}")
+  endif()
+
+  if("${resolved_item_compare}" STREQUAL "${resolved_embedded_item_compare}")
+    message(STATUS "warning: resolved_item == resolved_embedded_item - not copying...")
+  else()
+    if(BU_COPY_FULL_FRAMEWORK_CONTENTS)
+      # Full Framework (everything):
+      get_filename_component(resolved_dir "${resolved_item}" PATH)
+      get_filename_component(resolved_dir "${resolved_dir}/../.." ABSOLUTE)
+      get_filename_component(resolved_embedded_dir "${resolved_embedded_item}" PATH)
+      get_filename_component(resolved_embedded_dir "${resolved_embedded_dir}/../.." ABSOLUTE)
+      #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy_directory '${resolved_dir}' '${resolved_embedded_dir}'")
+      execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${resolved_dir}" "${resolved_embedded_dir}")
+    else()
+      # Framework lib itself:
+      #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy ${resolved_item} ${resolved_embedded_item}")
+      execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_item}" "${resolved_embedded_item}")
+
+      # Plus Resources, if they exist:
+      string(REGEX REPLACE "^(.*)/[^/]+$" "\\1/Resources" resolved_resources "${resolved_item}")
+      string(REGEX REPLACE "^(.*)/[^/]+$" "\\1/Resources" resolved_embedded_resources "${resolved_embedded_item}")
+      if(EXISTS "${resolved_resources}")
+        #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy_directory '${resolved_resources}' '${resolved_embedded_resources}'")
+        execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${resolved_resources}" "${resolved_embedded_resources}")
+      endif()
+
+      # Some frameworks e.g. Qt put Info.plist in wrong place, so when it is
+      # missing in resources, copy it from other well known incorrect locations:
+      if(NOT EXISTS "${resolved_resources}/Info.plist")
+        # Check for Contents/Info.plist in framework root (older Qt SDK):
+        string(REGEX REPLACE "^(.*)/[^/]+/[^/]+/[^/]+$" "\\1/Contents/Info.plist" resolved_info_plist "${resolved_item}")
+        string(REGEX REPLACE "^(.*)/[^/]+$" "\\1/Resources/Info.plist" resolved_embedded_info_plist "${resolved_embedded_item}")
+        if(EXISTS "${resolved_info_plist}")
+          #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy_directory '${resolved_info_plist}' '${resolved_embedded_info_plist}'")
+          execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_info_plist}" "${resolved_embedded_info_plist}")
+        endif()
+      endif()
+
+      # Check if framework is versioned and fix it layout
+      string(REGEX REPLACE "^.*/([^/]+)/[^/]+$" "\\1" resolved_embedded_version "${resolved_embedded_item}")
+      string(REGEX REPLACE "^(.*)/[^/]+/[^/]+$" "\\1" resolved_embedded_versions "${resolved_embedded_item}")
+      string(REGEX REPLACE "^.*/([^/]+)/[^/]+/[^/]+$" "\\1" resolved_embedded_versions_basename "${resolved_embedded_item}")
+      if(resolved_embedded_versions_basename STREQUAL "Versions")
+        # Ensure Current symlink points to the framework version
+        if(NOT EXISTS "${resolved_embedded_versions}/Current")
+          execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${resolved_embedded_version}" "${resolved_embedded_versions}/Current")
+        endif()
+        # Restore symlinks in framework root pointing to current framework
+        # binary and resources:
+        string(REGEX REPLACE "^(.*)/[^/]+/[^/]+/[^/]+$" "\\1" resolved_embedded_root "${resolved_embedded_item}")
+        string(REGEX REPLACE "^.*/([^/]+)$" "\\1" resolved_embedded_item_basename "${resolved_embedded_item}")
+        if(NOT EXISTS "${resolved_embedded_root}/${resolved_embedded_item_basename}")
+          execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "Versions/Current/${resolved_embedded_item_basename}" "${resolved_embedded_root}/${resolved_embedded_item_basename}")
+        endif()
+        if(NOT EXISTS "${resolved_embedded_root}/Resources")
+          execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "Versions/Current/Resources" "${resolved_embedded_root}/Resources")
+        endif()
+      endif()
+    endif()
+    if(UNIX AND NOT APPLE)
+      file(RPATH_REMOVE FILE "${resolved_embedded_item}")
+    endif()
+  endif()
+
+endfunction()
+
+
+function(fixup_bundle_item resolved_embedded_item exepath dirs)
+  # This item's key is "ikey":
+  #
+  get_item_key("${resolved_embedded_item}" ikey)
+
+  # Ensure the item is "inside the .app bundle" -- it should not be fixed up if
+  # it is not in the .app bundle... Otherwise, we'll modify files in the build
+  # tree, or in other varied locations around the file system, with our call to
+  # install_name_tool. Make sure that doesn't happen here:
+  #
+  get_dotapp_dir("${exepath}" exe_dotapp_dir)
+  string(LENGTH "${exe_dotapp_dir}/" exe_dotapp_dir_length)
+  string(LENGTH "${resolved_embedded_item}" resolved_embedded_item_length)
+  set(path_too_short 0)
+  set(is_embedded 0)
+  if(${resolved_embedded_item_length} LESS ${exe_dotapp_dir_length})
+    set(path_too_short 1)
+  endif()
+  if(NOT path_too_short)
+    string(SUBSTRING "${resolved_embedded_item}" 0 ${exe_dotapp_dir_length} item_substring)
+    if("${exe_dotapp_dir}/" STREQUAL "${item_substring}")
+      set(is_embedded 1)
+    endif()
+  endif()
+  if(NOT is_embedded)
+    message("  exe_dotapp_dir/='${exe_dotapp_dir}/'")
+    message("  item_substring='${item_substring}'")
+    message("  resolved_embedded_item='${resolved_embedded_item}'")
+    message("")
+    message("Install or copy the item into the bundle before calling fixup_bundle.")
+    message("Or maybe there's a typo or incorrect path in one of the args to fixup_bundle?")
+    message("")
+    message(FATAL_ERROR "cannot fixup an item that is not in the bundle...")
+  endif()
+
+  set(rpaths "${${ikey}_RPATHS}" "${${ikey}_RDEP_RPATHS}")
+
+  set(prereqs "")
+  get_prerequisites("${resolved_embedded_item}" prereqs 1 0 "${exepath}" "${dirs}" "${rpaths}")
+
+  set(changes "")
+
+  foreach(pr ${prereqs})
+    # Each referenced item's key is "rkey" in the loop:
+    #
+    get_item_key("${pr}" rkey)
+
+    if(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
+      set(changes ${changes} "-change" "${pr}" "${${rkey}_EMBEDDED_ITEM}")
+    else()
+      message("warning: unexpected reference to '${pr}'")
+    endif()
+  endforeach()
+
+  if(BU_CHMOD_BUNDLE_ITEMS)
+    execute_process(COMMAND chmod u+w "${resolved_embedded_item}")
+  endif()
+
+  # Only if install_name_tool supports -delete_rpath:
+  #
+  execute_process(COMMAND install_name_tool
+    OUTPUT_VARIABLE install_name_tool_usage
+    ERROR_VARIABLE  install_name_tool_usage
+    )
+  if(install_name_tool_usage MATCHES ".*-delete_rpath.*")
+    foreach(rpath ${${ikey}_RPATHS})
+      set(changes ${changes} -delete_rpath "${rpath}")
+    endforeach()
+  endif()
+
+  if(${ikey}_EMBEDDED_ITEM)
+    set(changes ${changes} -id "${${ikey}_EMBEDDED_ITEM}")
+  endif()
+
+  # Change this item's id and all of its references in one call
+  # to install_name_tool:
+  #
+  if(changes)
+    set(cmd install_name_tool ${changes} "${resolved_embedded_item}")
+    execute_process(COMMAND ${cmd} RESULT_VARIABLE install_name_tool_result)
+    if(NOT install_name_tool_result EQUAL 0)
+      string(REPLACE ";" "' '" msg "'${cmd}'")
+      message(FATAL_ERROR "Command failed:\n ${msg}")
+    endif()
+  endif()
+endfunction()
+
+
+function(fixup_bundle app libs dirs)
+  message(STATUS "fixup_bundle")
+  message(STATUS "  app='${app}'")
+  message(STATUS "  libs='${libs}'")
+  message(STATUS "  dirs='${dirs}'")
+
+  set(options)
+  set(oneValueArgs)
+  set(multiValueArgs IGNORE_ITEM)
+  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+
+  message(STATUS "  ignoreItems='${CFG_IGNORE_ITEM}'")
+
+  get_bundle_and_executable("${app}" bundle executable valid)
+  if(valid)
+    get_filename_component(exepath "${executable}" PATH)
+
+    message(STATUS "fixup_bundle: preparing...")
+    get_bundle_keys("${app}" "${libs}" "${dirs}" keys IGNORE_ITEM "${CFG_IGNORE_ITEM}")
+
+    message(STATUS "fixup_bundle: copying...")
+    list(LENGTH keys n)
+    math(EXPR n ${n}*2)
+
+    set(i 0)
+    foreach(key ${keys})
+      math(EXPR i ${i}+1)
+      if("${${key}_COPYFLAG}" STREQUAL "2")
+        message(STATUS "${i}/${n}: linking '${${key}_RESOLVED_ITEM}' -> '${${key}_RESOLVED_EMBEDDED_ITEM}'")
+      elseif(${${key}_COPYFLAG})
+        message(STATUS "${i}/${n}: copying '${${key}_RESOLVED_ITEM}'")
+      else()
+        message(STATUS "${i}/${n}: *NOT* copying '${${key}_RESOLVED_ITEM}'")
+      endif()
+
+      set(show_status 0)
+      if(show_status)
+        message(STATUS "key='${key}'")
+        message(STATUS "item='${${key}_ITEM}'")
+        message(STATUS "resolved_item='${${key}_RESOLVED_ITEM}'")
+        message(STATUS "default_embedded_path='${${key}_DEFAULT_EMBEDDED_PATH}'")
+        message(STATUS "embedded_item='${${key}_EMBEDDED_ITEM}'")
+        message(STATUS "resolved_embedded_item='${${key}_RESOLVED_EMBEDDED_ITEM}'")
+        message(STATUS "copyflag='${${key}_COPYFLAG}'")
+        message(STATUS "")
+      endif()
+
+      if("${${key}_COPYFLAG}" STREQUAL "2")
+        link_resolved_item_into_bundle("${${key}_RESOLVED_ITEM}"
+          "${${key}_RESOLVED_EMBEDDED_ITEM}")
+      elseif(${${key}_COPYFLAG})
+        set(item "${${key}_ITEM}")
+        if(item MATCHES "[^/]+\\.framework/")
+          copy_resolved_framework_into_bundle("${${key}_RESOLVED_ITEM}"
+            "${${key}_RESOLVED_EMBEDDED_ITEM}")
+        else()
+          copy_resolved_item_into_bundle("${${key}_RESOLVED_ITEM}"
+            "${${key}_RESOLVED_EMBEDDED_ITEM}")
+        endif()
+      endif()
+    endforeach()
+
+    message(STATUS "fixup_bundle: fixing...")
+    foreach(key ${keys})
+      math(EXPR i ${i}+1)
+      if(APPLE)
+        message(STATUS "${i}/${n}: fixing up '${${key}_RESOLVED_EMBEDDED_ITEM}'")
+        if(NOT "${${key}_COPYFLAG}" STREQUAL "2")
+          fixup_bundle_item("${${key}_RESOLVED_EMBEDDED_ITEM}" "${exepath}" "${dirs}")
+        endif()
+      else()
+        message(STATUS "${i}/${n}: fix-up not required on this platform '${${key}_RESOLVED_EMBEDDED_ITEM}'")
+      endif()
+    endforeach()
+
+    message(STATUS "fixup_bundle: cleaning up...")
+    clear_bundle_keys(keys)
+
+    message(STATUS "fixup_bundle: verifying...")
+    verify_app("${app}" IGNORE_ITEM "${CFG_IGNORE_ITEM}")
+  else()
+    message(SEND_ERROR "error: fixup_bundle: not a valid bundle")
+  endif()
+
+  message(STATUS "fixup_bundle: done")
+endfunction()
+
+
+function(copy_and_fixup_bundle src dst libs dirs)
+  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${src}" "${dst}")
+  fixup_bundle("${dst}" "${libs}" "${dirs}")
+endfunction()
+
+
+function(verify_bundle_prerequisites bundle result_var info_var)
+  set(result 1)
+  set(info "")
+  set(count 0)
+
+  set(options)
+  set(oneValueArgs)
+  set(multiValueArgs IGNORE_ITEM)
+  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+
+  get_bundle_main_executable("${bundle}" main_bundle_exe)
+
+  get_bundle_all_executables("${bundle}" file_list)
+  foreach(f ${file_list})
+      get_filename_component(exepath "${f}" PATH)
+      math(EXPR count "${count} + 1")
+
+      message(STATUS "executable file ${count}: ${f}")
+
+      set(prereqs "")
+      set(ignoreFile FALSE)
+      get_filename_component(prereq_filename ${f} NAME)
+
+      if(NOT "${CFG_IGNORE_ITEM}" STREQUAL "" )
+        foreach(item ${CFG_IGNORE_ITEM})
+            if("${item}" STREQUAL "${prereq_filename}")
+              set(ignoreFile TRUE)
+            endif()
+        endforeach()
+      endif()
+
+      if(NOT ignoreFile)
+        get_item_rpaths(${f} _main_exe_rpaths)
+        get_prerequisites("${f}" prereqs 1 1 "${exepath}" "${_main_exe_rpaths}")
+
+        # On the Mac,
+        # "embedded" and "system" prerequisites are fine... anything else means
+        # the bundle's prerequisites are not verified (i.e., the bundle is not
+        # really "standalone")
+        #
+        # On Windows (and others? Linux/Unix/...?)
+        # "local" and "system" prereqs are fine...
+        #
+
+        set(external_prereqs "")
+
+        foreach(p ${prereqs})
+          set(p_type "")
+          gp_file_type("${f}" "${p}" p_type)
+
+          if(APPLE)
+            if(NOT "${p_type}" STREQUAL "embedded" AND NOT "${p_type}" STREQUAL "system")
+              set(external_prereqs ${external_prereqs} "${p}")
+            endif()
+          else()
+            if(NOT "${p_type}" STREQUAL "local" AND NOT "${p_type}" STREQUAL "system")
+              set(external_prereqs ${external_prereqs} "${p}")
+            endif()
+          endif()
+        endforeach()
+
+        if(external_prereqs)
+          # Found non-system/somehow-unacceptable prerequisites:
+          set(result 0)
+          set(info ${info} "external prerequisites found:\nf='${f}'\nexternal_prereqs='${external_prereqs}'\n")
+        endif()
+      else()
+        message(STATUS "Ignoring file: ${prereq_filename}")
+      endif()
+  endforeach()
+
+  if(result)
+    set(info "Verified ${count} executable files in '${bundle}'")
+  endif()
+
+  set(${result_var} "${result}" PARENT_SCOPE)
+  set(${info_var} "${info}" PARENT_SCOPE)
+endfunction()
+
+
+function(verify_bundle_symlinks bundle result_var info_var)
+  set(result 1)
+  set(info "")
+  set(count 0)
+
+  # TODO: implement this function for real...
+  # Right now, it is just a stub that verifies unconditionally...
+
+  set(${result_var} "${result}" PARENT_SCOPE)
+  set(${info_var} "${info}" PARENT_SCOPE)
+endfunction()
+
+
+function(verify_app app)
+  set(verified 0)
+  set(info "")
+
+  set(options)
+  set(oneValueArgs)
+  set(multiValueArgs IGNORE_ITEM)
+  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+
+  get_bundle_and_executable("${app}" bundle executable valid)
+
+  message(STATUS "===========================================================================")
+  message(STATUS "Analyzing app='${app}'")
+  message(STATUS "bundle='${bundle}'")
+  message(STATUS "executable='${executable}'")
+  message(STATUS "valid='${valid}'")
+
+  # Verify that the bundle does not have any "external" prerequisites:
+  #
+  verify_bundle_prerequisites("${bundle}" verified info IGNORE_ITEM "${CFG_IGNORE_ITEM}")
+  message(STATUS "verified='${verified}'")
+  message(STATUS "info='${info}'")
+  message(STATUS "")
+
+  if(verified)
+    # Verify that the bundle does not have any symlinks to external files:
+    #
+    verify_bundle_symlinks("${bundle}" verified info)
+    message(STATUS "verified='${verified}'")
+    message(STATUS "info='${info}'")
+    message(STATUS "")
+  endif()
+
+  if(NOT verified)
+    message(FATAL_ERROR "error: verify_app failed")
+  endif()
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMake.cmake b/share/cmake-3.10/Modules/CMake.cmake
new file mode 100644
index 0000000..caa5479
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMake.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by cmake.cxx to compute the CMAKE_ROOT location.
+# Do not remove this file from cvs without updating cmake.cxx to look
+# for a different file.
diff --git a/share/cmake-3.10/Modules/CMakeASM-ATTInformation.cmake b/share/cmake-3.10/Modules/CMakeASM-ATTInformation.cmake
new file mode 100644
index 0000000..d1970a2
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeASM-ATTInformation.cmake
@@ -0,0 +1,15 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# support for AT&T syntax assemblers, e.g. GNU as
+
+set(ASM_DIALECT "-ATT")
+# *.S files are supposed to be preprocessed, so they should not be passed to
+# assembler but should be processed by gcc
+set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;asm)
+
+set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")
+
+include(CMakeASMInformation)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeASMCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeASMCompiler.cmake.in
new file mode 100644
index 0000000..a6465f6
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeASMCompiler.cmake.in
@@ -0,0 +1,17 @@
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER "@_CMAKE_ASM_COMPILER@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ARG1 "@_CMAKE_ASM_COMPILER_ARG1@")
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_AR "@_CMAKE_ASM_COMPILER_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_RANLIB "@_CMAKE_ASM_COMPILER_RANLIB@")
+set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_LOADED 1)
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_VERSION "@_CMAKE_ASM_COMPILER_VERSION@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ENV_VAR "@_CMAKE_ASM_COMPILER_ENV_VAR@")
+@_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID@
+
+set(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_ASM@ASM_DIALECT@_LINKER_PREFERENCE 0)
+
+@CMAKE_ASM_COMPILER_CUSTOM_CODE@
diff --git a/share/cmake-3.10/Modules/CMakeASMInformation.cmake b/share/cmake-3.10/Modules/CMakeASMInformation.cmake
new file mode 100644
index 0000000..f7cf900
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeASMInformation.cmake
@@ -0,0 +1,141 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(UNIX)
+  set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .o)
+else()
+  set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .obj)
+endif()
+
+set(CMAKE_INCLUDE_FLAG_ASM${ASM_DIALECT} "-I")       # -I
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME_WE)
+
+if("${CMAKE_BASE_NAME}" STREQUAL "as")
+  set(CMAKE_BASE_NAME gas)
+endif()
+
+# Load compiler-specific information.
+set(_INCLUDED_FILE "")
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+  include(Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL  RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if(NOT _INCLUDED_FILE)
+  if("ASM${ASM_DIALECT}" STREQUAL "ASM")
+    message(STATUS "Warning: Did not find file Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}")
+  endif()
+  include(Platform/${CMAKE_BASE_NAME} OPTIONAL)
+endif()
+
+if(CMAKE_SYSTEM_PROCESSOR)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL  RESULT_VARIABLE _INCLUDED_FILE)
+  if(NOT _INCLUDED_FILE)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+  endif()
+endif()
+
+include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL  RESULT_VARIABLE _INCLUDED_FILE)
+if(NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+endif()
+
+# This should be included before the _INIT variables are
+# used to initialize the cache.  Since the rule variables
+# have if blocks on them, users can still define them here.
+# But, it should still be after the platform file so changes can
+# be made to those values.
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_ASM)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_ASM} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE_ASM "${_override}")
+endif()
+
+# Set default assembler file extensions:
+if(NOT CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS)
+  set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;S;asm)
+endif()
+
+
+# Support for CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT and friends:
+set(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT "$ENV{ASM${ASM_DIALECT}FLAGS} ${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}")
+
+foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+  string(STRIP "${CMAKE_ASM${ASM_DIALECT}_FLAGS${c}_INIT}" CMAKE_ASM${ASM_DIALECT}_FLAGS${c}_INIT)
+endforeach()
+
+set (CMAKE_ASM${ASM_DIALECT}_FLAGS "${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}" CACHE STRING
+     "Flags used by the assembler during all build types.")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+  # default build type is none
+  if(NOT _GENERATOR_IS_MULTI_CONFIG AND NOT CMAKE_NO_BUILD_TYPE)
+    set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
+      "Choose the type of build, options are: None, Debug Release RelWithDebInfo MinSizeRel.")
+  endif()
+  unset(_GENERATOR_IS_MULTI_CONFIG)
+  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG "${CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG_INIT}" CACHE STRING
+    "Flags used by the assembler during debug builds.")
+  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL "${CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+    "Flags used by the assembler during release minsize builds.")
+  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE_INIT}" CACHE STRING
+    "Flags used by the assembler during release builds.")
+  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+    "Flags used by the assembler during Release with Debug Info builds.")
+endif()
+
+mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_FLAGS
+                 CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG
+                 CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL
+                 CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE
+                 CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO
+                )
+
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+endif()
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY)
+  set(CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY
+      "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
+      "<CMAKE_RANLIB> <TARGET> ")
+endif()
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE)
+  set(CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE
+    "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> <CMAKE_ASM${ASM_DIALECT}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG)
+  set(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP)
+  set(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG)
+  set(CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_ASM${ASM_DIALECT}_FLAG})
+endif()
+
+# to be done
+if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
+  set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
+endif()
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
+  set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
+endif()
+
+
+set(CMAKE_ASM${ASM_DIALECT}_INFOMATION_LOADED 1)
+
diff --git a/share/cmake-3.10/Modules/CMakeASM_MASMInformation.cmake b/share/cmake-3.10/Modules/CMakeASM_MASMInformation.cmake
new file mode 100644
index 0000000..a38c114
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeASM_MASMInformation.cmake
@@ -0,0 +1,14 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# support for the MS assembler, masm and masm64
+
+set(ASM_DIALECT "_MASM")
+
+set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
+
+set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> /c  /Fo <OBJECT> <SOURCE>")
+
+include(CMakeASMInformation)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeASM_NASMInformation.cmake b/share/cmake-3.10/Modules/CMakeASM_NASMInformation.cmake
new file mode 100644
index 0000000..1e3c608
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeASM_NASMInformation.cmake
@@ -0,0 +1,36 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# support for the nasm assembler
+
+set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
+
+if(NOT CMAKE_ASM_NASM_OBJECT_FORMAT)
+  if(WIN32)
+    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
+      set(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
+    else()
+      set(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
+    endif()
+  elseif(APPLE)
+    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
+      set(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
+    else()
+      set(CMAKE_ASM_NASM_OBJECT_FORMAT macho)
+    endif()
+  else()
+    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
+      set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
+    else()
+      set(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
+    endif()
+  endif()
+endif()
+
+set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> <FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
+
+# Load the generic ASMInformation file:
+set(ASM_DIALECT "_NASM")
+include(CMakeASMInformation)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeAddFortranSubdirectory.cmake b/share/cmake-3.10/Modules/CMakeAddFortranSubdirectory.cmake
new file mode 100644
index 0000000..4649f35
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeAddFortranSubdirectory.cmake
@@ -0,0 +1,202 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeAddFortranSubdirectory
+# ---------------------------
+#
+# Use MinGW gfortran from VS if a fortran compiler is not found.
+#
+# The 'add_fortran_subdirectory' function adds a subdirectory to a
+# project that contains a fortran only sub-project.  The module will
+# check the current compiler and see if it can support fortran.  If no
+# fortran compiler is found and the compiler is MSVC, then this module
+# will find the MinGW gfortran.  It will then use an external project to
+# build with the MinGW tools.  It will also create imported targets for
+# the libraries created.  This will only work if the fortran code is
+# built into a dll, so BUILD_SHARED_LIBS is turned on in the project.
+# In addition the CMAKE_GNUtoMS option is set to on, so that the MS .lib
+# files are created.  Usage is as follows:
+#
+# ::
+#
+#   cmake_add_fortran_subdirectory(
+#    <subdir>                # name of subdirectory
+#    PROJECT <project_name>  # project name in subdir top CMakeLists.txt
+#    ARCHIVE_DIR <dir>       # dir where project places .lib files
+#    RUNTIME_DIR <dir>       # dir where project places .dll files
+#    LIBRARIES <lib>...      # names of library targets to import
+#    LINK_LIBRARIES          # link interface libraries for LIBRARIES
+#     [LINK_LIBS <lib> <dep>...]...
+#    CMAKE_COMMAND_LINE ...  # extra command line flags to pass to cmake
+#    NO_EXTERNAL_INSTALL     # skip installation of external project
+#    )
+#
+# Relative paths in ARCHIVE_DIR and RUNTIME_DIR are interpreted with
+# respect to the build directory corresponding to the source directory
+# in which the function is invoked.
+#
+# Limitations:
+#
+# NO_EXTERNAL_INSTALL is required for forward compatibility with a
+# future version that supports installation of the external project
+# binaries during "make install".
+
+set(_MS_MINGW_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
+include(CheckLanguage)
+include(ExternalProject)
+
+function(_setup_mingw_config_and_build source_dir build_dir)
+  # Look for a MinGW gfortran.
+  find_program(MINGW_GFORTRAN
+    NAMES gfortran
+    PATHS
+      c:/MinGW/bin
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
+    )
+  if(NOT MINGW_GFORTRAN)
+    message(FATAL_ERROR
+      "gfortran not found, please install MinGW with the gfortran option."
+      "Or set the cache variable MINGW_GFORTRAN to the full path. "
+      " This is required to build")
+  endif()
+
+  # Validate the MinGW gfortran we found.
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    set(_mingw_target "Target:.*64.*mingw")
+  else()
+    set(_mingw_target "Target:.*mingw32")
+  endif()
+  execute_process(COMMAND "${MINGW_GFORTRAN}" -v
+    ERROR_VARIABLE out ERROR_STRIP_TRAILING_WHITESPACE)
+  if(NOT "${out}" MATCHES "${_mingw_target}")
+    string(REPLACE "\n" "\n  " out "  ${out}")
+    message(FATAL_ERROR
+      "MINGW_GFORTRAN is set to\n"
+      "  ${MINGW_GFORTRAN}\n"
+      "which is not a MinGW gfortran for this architecture.  "
+      "The output from -v does not match \"${_mingw_target}\":\n"
+      "${out}\n"
+      "Set MINGW_GFORTRAN to a proper MinGW gfortran for this architecture."
+      )
+  endif()
+
+  # Configure scripts to run MinGW tools with the proper PATH.
+  get_filename_component(MINGW_PATH ${MINGW_GFORTRAN} PATH)
+  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
+    ${build_dir}/config_mingw.cmake
+    @ONLY)
+  configure_file(
+    ${_MS_MINGW_SOURCE_DIR}/CMakeAddFortranSubdirectory/build_mingw.cmake.in
+    ${build_dir}/build_mingw.cmake
+    @ONLY)
+endfunction()
+
+function(_add_fortran_library_link_interface library depend_library)
+  set_target_properties(${library} PROPERTIES
+    IMPORTED_LINK_INTERFACE_LIBRARIES_NOCONFIG "${depend_library}")
+endfunction()
+
+
+function(cmake_add_fortran_subdirectory subdir)
+  # Parse arguments to function
+  set(options NO_EXTERNAL_INSTALL)
+  set(oneValueArgs PROJECT ARCHIVE_DIR RUNTIME_DIR)
+  set(multiValueArgs LIBRARIES LINK_LIBRARIES CMAKE_COMMAND_LINE)
+  cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+  if(NOT ARGS_NO_EXTERNAL_INSTALL)
+    message(FATAL_ERROR
+      "Option NO_EXTERNAL_INSTALL is required (for forward compatibility) "
+      "but was not given."
+      )
+  endif()
+
+  # if we are not using MSVC without fortran support
+  # then just use the usual add_subdirectory to build
+  # the fortran library
+  check_language(Fortran)
+  if(NOT (MSVC AND (NOT CMAKE_Fortran_COMPILER)))
+    add_subdirectory(${subdir})
+    return()
+  endif()
+
+  # if we have MSVC without Intel fortran then setup
+  # external projects to build with mingw fortran
+
+  set(source_dir "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}")
+  set(project_name "${ARGS_PROJECT}")
+  set(library_dir "${ARGS_ARCHIVE_DIR}")
+  set(binary_dir "${ARGS_RUNTIME_DIR}")
+  set(libraries ${ARGS_LIBRARIES})
+  # use the same directory that add_subdirectory would have used
+  set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/${subdir}")
+  foreach(dir_var library_dir binary_dir)
+    if(NOT IS_ABSOLUTE "${${dir_var}}")
+      get_filename_component(${dir_var}
+        "${CMAKE_CURRENT_BINARY_DIR}/${${dir_var}}" ABSOLUTE)
+    endif()
+  endforeach()
+  # create build and configure wrapper scripts
+  _setup_mingw_config_and_build("${source_dir}" "${build_dir}")
+  # create the external project
+  externalproject_add(${project_name}_build
+    SOURCE_DIR ${source_dir}
+    BINARY_DIR ${build_dir}
+    CONFIGURE_COMMAND ${CMAKE_COMMAND}
+    -P ${build_dir}/config_mingw.cmake
+    BUILD_COMMAND ${CMAKE_COMMAND}
+    -P ${build_dir}/build_mingw.cmake
+    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)
+    set_property(TARGET ${lib} APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
+    set_target_properties(${lib} PROPERTIES
+      IMPORTED_IMPLIB_NOCONFIG   "${library_dir}/lib${lib}.lib"
+      IMPORTED_LOCATION_NOCONFIG "${binary_dir}/lib${lib}.dll"
+      )
+    add_dependencies(${lib} ${project_name}_build)
+  endforeach()
+
+  # now setup link libraries for targets
+  set(start FALSE)
+  set(target)
+  foreach(lib ${ARGS_LINK_LIBRARIES})
+    if("${lib}" STREQUAL "LINK_LIBS")
+      set(start TRUE)
+    else()
+      if(start)
+        if(DEFINED target)
+          # process current target and target_libs
+          _add_fortran_library_link_interface(${target} "${target_libs}")
+          # zero out target and target_libs
+          set(target)
+          set(target_libs)
+        endif()
+        # save the current target and set start to FALSE
+        set(target ${lib})
+        set(start FALSE)
+      else()
+        # append the lib to target_libs
+        list(APPEND target_libs "${lib}")
+      endif()
+    endif()
+  endforeach()
+  # process anything that is left in target and target_libs
+  if(DEFINED target)
+    _add_fortran_library_link_interface(${target} "${target_libs}")
+  endif()
+endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in b/share/cmake-3.10/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
rename to share/cmake-3.10/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
diff --git a/share/cmake-3.6/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in b/share/cmake-3.10/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
rename to share/cmake-3.10/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
diff --git a/share/cmake-3.6/Modules/CMakeAddNewLanguage.txt b/share/cmake-3.10/Modules/CMakeAddNewLanguage.txt
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeAddNewLanguage.txt
rename to share/cmake-3.10/Modules/CMakeAddNewLanguage.txt
diff --git a/share/cmake-3.10/Modules/CMakeBackwardCompatibilityC.cmake b/share/cmake-3.10/Modules/CMakeBackwardCompatibilityC.cmake
new file mode 100644
index 0000000..5d86d73
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeBackwardCompatibilityC.cmake
@@ -0,0 +1,80 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
+  # Old CMake versions did not support OS X universal binaries anyway,
+  # so just get through this with at least some size for the types.
+  list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHS)
+  if(${NUM_ARCHS} GREATER 1)
+    if(NOT DEFINED CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+      message(WARNING "This module does not work with OS X universal binaries.")
+      set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES 1)
+      list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+    endif()
+  endif()
+
+  include (CheckTypeSize)
+  CHECK_TYPE_SIZE(int      CMAKE_SIZEOF_INT)
+  CHECK_TYPE_SIZE(long     CMAKE_SIZEOF_LONG)
+  CHECK_TYPE_SIZE("void*"  CMAKE_SIZEOF_VOID_P)
+  CHECK_TYPE_SIZE(char     CMAKE_SIZEOF_CHAR)
+  CHECK_TYPE_SIZE(short    CMAKE_SIZEOF_SHORT)
+  CHECK_TYPE_SIZE(float    CMAKE_SIZEOF_FLOAT)
+  CHECK_TYPE_SIZE(double   CMAKE_SIZEOF_DOUBLE)
+
+  include (CheckIncludeFile)
+  CHECK_INCLUDE_FILE("limits.h"       CMAKE_HAVE_LIMITS_H)
+  CHECK_INCLUDE_FILE("unistd.h"       CMAKE_HAVE_UNISTD_H)
+  CHECK_INCLUDE_FILE("pthread.h"      CMAKE_HAVE_PTHREAD_H)
+
+  include (CheckIncludeFiles)
+  CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h"    CMAKE_HAVE_SYS_PRCTL_H)
+
+  include (TestBigEndian)
+  TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
+  include (FindX11)
+
+  if("${X11_X11_INCLUDE_PATH}" STREQUAL "/usr/include")
+    set (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
+  else()
+    set (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
+         "X11 extra flags.")
+  endif()
+  set (CMAKE_X_LIBS "${X11_LIBRARIES}" CACHE STRING
+       "Libraries and options used in X11 programs.")
+  set (CMAKE_HAS_X "${X11_FOUND}" CACHE INTERNAL "Is X11 around.")
+
+  include (FindThreads)
+
+  set (CMAKE_THREAD_LIBS        "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING
+    "Thread library used.")
+
+  set (CMAKE_USE_PTHREADS       "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL
+     "Use the pthreads library.")
+
+  set (CMAKE_USE_WIN32_THREADS  "${CMAKE_USE_WIN32_THREADS_INIT}" CACHE BOOL
+       "Use the win32 thread library.")
+
+  set (CMAKE_HP_PTHREADS        ${CMAKE_HP_PTHREADS_INIT} CACHE BOOL
+     "Use HP pthreads.")
+
+  set (CMAKE_USE_SPROC          ${CMAKE_USE_SPROC_INIT} CACHE BOOL
+     "Use sproc libs.")
+
+  if(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+    set(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+    set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+  endif()
+endif()
+
+mark_as_advanced(
+CMAKE_HP_PTHREADS
+CMAKE_THREAD_LIBS
+CMAKE_USE_PTHREADS
+CMAKE_USE_SPROC
+CMAKE_USE_WIN32_THREADS
+CMAKE_X_CFLAGS
+CMAKE_X_LIBS
+)
+
diff --git a/share/cmake-3.10/Modules/CMakeBackwardCompatibilityCXX.cmake b/share/cmake-3.10/Modules/CMakeBackwardCompatibilityCXX.cmake
new file mode 100644
index 0000000..cbd5ea7
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeBackwardCompatibilityCXX.cmake
@@ -0,0 +1,51 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeBackwardCompatibilityCXX
+# -----------------------------
+#
+# define a bunch of backwards compatibility variables
+#
+# ::
+#
+#   CMAKE_ANSI_CXXFLAGS - flag for ansi c++
+#   CMAKE_HAS_ANSI_STRING_STREAM - has <strstream>
+#   include(TestForANSIStreamHeaders)
+#   include(CheckIncludeFileCXX)
+#   include(TestForSTDNamespace)
+#   include(TestForANSIForScope)
+
+if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
+  # check for some ANSI flags in the CXX compiler if it is not gnu
+  if(NOT CMAKE_COMPILER_IS_GNUCXX)
+    include(TestCXXAcceptsFlag)
+    set(CMAKE_TRY_ANSI_CXX_FLAGS "")
+    if(CMAKE_SYSTEM_NAME MATCHES "IRIX")
+      set(CMAKE_TRY_ANSI_CXX_FLAGS "-LANG:std")
+    endif()
+    if(CMAKE_SYSTEM_NAME MATCHES "OSF")
+      set(CMAKE_TRY_ANSI_CXX_FLAGS "-std strict_ansi -nopure_cname")
+    endif()
+    # if CMAKE_TRY_ANSI_CXX_FLAGS has something in it, see
+    # if the compiler accepts it
+    if(NOT CMAKE_TRY_ANSI_CXX_FLAGS STREQUAL "")
+      CHECK_CXX_ACCEPTS_FLAG(${CMAKE_TRY_ANSI_CXX_FLAGS} CMAKE_CXX_ACCEPTS_FLAGS)
+      # if the compiler liked the flag then set CMAKE_ANSI_CXXFLAGS
+      # to the flag
+      if(CMAKE_CXX_ACCEPTS_FLAGS)
+        set(CMAKE_ANSI_CXXFLAGS ${CMAKE_TRY_ANSI_CXX_FLAGS} CACHE INTERNAL
+        "What flags are required by the c++ compiler to make it ansi." )
+      endif()
+    endif()
+  endif()
+  set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
+  string(APPEND CMAKE_CXX_FLAGS " ${CMAKE_ANSI_CXXFLAGS}")
+  include(TestForANSIStreamHeaders)
+  include(CheckIncludeFileCXX)
+  include(TestForSTDNamespace)
+  include(TestForANSIForScope)
+  include(TestForSSTREAM)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_SAVE}")
+endif()
+
diff --git a/share/cmake-3.10/Modules/CMakeBorlandFindMake.cmake b/share/cmake-3.10/Modules/CMakeBorlandFindMake.cmake
new file mode 100644
index 0000000..18b9962
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeBorlandFindMake.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+set (CMAKE_MAKE_PROGRAM "make" CACHE STRING
+     "Program used to build from makefiles.")
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeBuildSettings.cmake.in b/share/cmake-3.10/Modules/CMakeBuildSettings.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeBuildSettings.cmake.in
rename to share/cmake-3.10/Modules/CMakeBuildSettings.cmake.in
diff --git a/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in
new file mode 100644
index 0000000..8ad0c01
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in
@@ -0,0 +1,73 @@
+set(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@")
+set(CMAKE_C_COMPILER_ARG1 "@CMAKE_C_COMPILER_ARG1@")
+set(CMAKE_C_COMPILER_ID "@CMAKE_C_COMPILER_ID@")
+set(CMAKE_C_COMPILER_VERSION "@CMAKE_C_COMPILER_VERSION@")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "@CMAKE_C_COMPILER_VERSION_INTERNAL@")
+set(CMAKE_C_COMPILER_WRAPPER "@CMAKE_C_COMPILER_WRAPPER@")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "@CMAKE_C_STANDARD_COMPUTED_DEFAULT@")
+set(CMAKE_C_COMPILE_FEATURES "@CMAKE_C_COMPILE_FEATURES@")
+set(CMAKE_C90_COMPILE_FEATURES "@CMAKE_C90_COMPILE_FEATURES@")
+set(CMAKE_C99_COMPILE_FEATURES "@CMAKE_C99_COMPILE_FEATURES@")
+set(CMAKE_C11_COMPILE_FEATURES "@CMAKE_C11_COMPILE_FEATURES@")
+
+set(CMAKE_C_PLATFORM_ID "@CMAKE_C_PLATFORM_ID@")
+set(CMAKE_C_SIMULATE_ID "@CMAKE_C_SIMULATE_ID@")
+set(CMAKE_C_SIMULATE_VERSION "@CMAKE_C_SIMULATE_VERSION@")
+@_SET_CMAKE_C_COMPILER_ARCHITECTURE_ID@
+@SET_MSVC_C_ARCHITECTURE_ID@
+@SET_CMAKE_XCODE_CURRENT_ARCH@
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_C_COMPILER_AR "@CMAKE_C_COMPILER_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_C_COMPILER_RANLIB "@CMAKE_C_COMPILER_RANLIB@")
+set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS @CMAKE_C_COMPILER_WORKS@)
+set(CMAKE_C_ABI_COMPILED @CMAKE_C_ABI_COMPILED@)
+set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
+set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "@CMAKE_C_SIZEOF_DATA_PTR@")
+set(CMAKE_C_COMPILER_ABI "@CMAKE_C_COMPILER_ABI@")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "@CMAKE_C_CL_SHOWINCLUDES_PREFIX@")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+@CMAKE_C_COMPILER_CUSTOM_CODE@
+@CMAKE_C_SYSROOT_FLAG_CODE@
+@CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
+
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "@CMAKE_C_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.6/Modules/CMakeCCompilerABI.c b/share/cmake-3.10/Modules/CMakeCCompilerABI.c
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeCCompilerABI.c
rename to share/cmake-3.10/Modules/CMakeCCompilerABI.c
diff --git a/share/cmake-3.10/Modules/CMakeCCompilerId.c.in b/share/cmake-3.10/Modules/CMakeCCompilerId.c.in
new file mode 100644
index 0000000..10f7318
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCCompilerId.c.in
@@ -0,0 +1,86 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+@CMAKE_C_COMPILER_ID_CONTENT@
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+@CMAKE_C_COMPILER_ID_PLATFORM_CONTENT@
+@CMAKE_C_COMPILER_ID_ERROR_FOR_TEST@
+
+#if !defined(__STDC__)
+# if defined(_MSC_VER) && !defined(__clang__)
+#  define C_DIALECT "90"
+# else
+#  define C_DIALECT
+# endif
+#elif __STDC_VERSION__ >= 201000L
+# define C_DIALECT "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_DIALECT "99"
+#else
+# define C_DIALECT "90"
+#endif
+const char* info_language_dialect_default =
+  "INFO" ":" "dialect_default[" C_DIALECT "]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+  require += info_cray[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}
+#endif
diff --git a/share/cmake-3.10/Modules/CMakeCInformation.cmake b/share/cmake-3.10/Modules/CMakeCInformation.cmake
new file mode 100644
index 0000000..71aadb4
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCInformation.cmake
@@ -0,0 +1,220 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file sets the basic flags for the C language in CMake.
+# It also loads the available platform file for the system-compiler
+# if it exists.
+# It also loads a system - compiler - processor (or target hardware)
+# specific file, which is mainly useful for crosscompiling and embedded systems.
+
+include(CMakeLanguageInformation)
+
+# some compilers use different extensions (e.g. sdcc uses .rel)
+# so set the extension here first so it can be overridden by the compiler specific file
+if(UNIX)
+  set(CMAKE_C_OUTPUT_EXTENSION .o)
+else()
+  set(CMAKE_C_OUTPUT_EXTENSION .obj)
+endif()
+
+set(_INCLUDED_FILE 0)
+
+# Load compiler-specific information.
+if(CMAKE_C_COMPILER_ID)
+  include(Compiler/${CMAKE_C_COMPILER_ID}-C OPTIONAL)
+endif()
+
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_C_COMPILER}" NAME_WE)
+if(CMAKE_COMPILER_IS_GNUCC)
+  set(CMAKE_BASE_NAME gcc)
+endif()
+
+
+# load a hardware specific file, mostly useful for embedded compilers
+if(CMAKE_SYSTEM_PROCESSOR)
+  if(CMAKE_C_COMPILER_ID)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+  endif()
+  if (NOT _INCLUDED_FILE)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+  endif ()
+endif()
+
+
+# load the system- and compiler specific files
+if(CMAKE_C_COMPILER_ID)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C
+    OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if (NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
+    OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif ()
+
+# load any compiler-wrapper specific information
+if (CMAKE_C_COMPILER_WRAPPER)
+  __cmake_include_compiler_wrapper(C)
+endif ()
+
+# We specify the compiler information in the system file for some
+# platforms, but this language may not have been enabled when the file
+# was first included.  Include it again to get the language info.
+# Remove this when all compiler info is removed from system files.
+if (NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
+endif ()
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  foreach(f ${CMAKE_C_ABI_FILES})
+    include(${f})
+  endforeach()
+  unset(CMAKE_C_ABI_FILES)
+endif()
+
+# This should be included before the _INIT variables are
+# used to initialize the cache.  Since the rule variables
+# have if blocks on them, users can still define them here.
+# But, it should still be after the platform file so changes can
+# be made to those values.
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_C)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_C} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE_C "${_override}")
+endif()
+
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_C_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+  set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
+endif()
+
+set(CMAKE_C_FLAGS_INIT "$ENV{CFLAGS} ${CMAKE_C_FLAGS_INIT}")
+
+foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+  string(STRIP "${CMAKE_C_FLAGS${c}_INIT}" CMAKE_C_FLAGS${c}_INIT)
+endforeach()
+
+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_INIT}" CACHE STRING
+     "Flags used by the compiler during all build types.")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+  # default build type is none
+  if(NOT _GENERATOR_IS_MULTI_CONFIG AND NOT CMAKE_NO_BUILD_TYPE)
+    set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
+      "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
+  endif()
+  unset(_GENERATOR_IS_MULTI_CONFIG)
+  set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG_INIT}" CACHE STRING
+    "Flags used by the compiler during debug builds.")
+  set (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+    "Flags used by the compiler during release builds for minimum size.")
+  set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE_INIT}" CACHE STRING
+    "Flags used by the compiler during release builds.")
+  set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+    "Flags used by the compiler during release builds with debug info.")
+endif()
+
+if(CMAKE_C_STANDARD_LIBRARIES_INIT)
+  set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES_INIT}"
+    CACHE STRING "Libraries linked by default with all C applications.")
+  mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
+endif()
+
+include(CMakeCommonLanguageInclude)
+
+# now define the following rule variables
+
+# CMAKE_C_CREATE_SHARED_LIBRARY
+# CMAKE_C_CREATE_SHARED_MODULE
+# CMAKE_C_COMPILE_OBJECT
+# CMAKE_C_LINK_EXECUTABLE
+
+# variables supplied by the generator at use time
+# <TARGET>
+# <TARGET_BASE> the target without the suffix
+# <OBJECTS>
+# <OBJECT>
+# <LINK_LIBRARIES>
+# <FLAGS>
+# <LINK_FLAGS>
+
+# C compiler information
+# <CMAKE_C_COMPILER>
+# <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS>
+# <CMAKE_SHARED_MODULE_CREATE_C_FLAGS>
+# <CMAKE_C_LINK_FLAGS>
+
+# Static library tools
+# <CMAKE_AR>
+# <CMAKE_RANLIB>
+
+
+# create a C shared library
+if(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
+  set(CMAKE_C_CREATE_SHARED_LIBRARY
+      "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+endif()
+
+# create a C shared module just copy the shared library rule
+if(NOT CMAKE_C_CREATE_SHARED_MODULE)
+  set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
+endif()
+
+# Create a static archive incrementally for large object file counts.
+# If CMAKE_C_CREATE_STATIC_LIBRARY is set it will override these.
+if(NOT DEFINED CMAKE_C_ARCHIVE_CREATE)
+  set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_C_ARCHIVE_APPEND)
+  set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_C_ARCHIVE_FINISH)
+  set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
+
+# compile a C file into an object file
+if(NOT CMAKE_C_COMPILE_OBJECT)
+  set(CMAKE_C_COMPILE_OBJECT
+    "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>   -c <SOURCE>")
+endif()
+
+if(NOT CMAKE_C_LINK_EXECUTABLE)
+  set(CMAKE_C_LINK_EXECUTABLE
+    "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
+  set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
+  set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG)
+  set(CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
+
+mark_as_advanced(
+CMAKE_C_FLAGS
+CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELWITHDEBINFO
+)
+set(CMAKE_C_INFORMATION_LOADED 1)
+
+
diff --git a/share/cmake-3.10/Modules/CMakeCSharpCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeCSharpCompiler.cmake.in
new file mode 100644
index 0000000..5ecc480
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCSharpCompiler.cmake.in
@@ -0,0 +1,9 @@
+set(CMAKE_CSharp_COMPILER "@CMAKE_CSharp_COMPILER@")
+set(CMAKE_CSharp_COMPILER_ID "@CMAKE_CSharp_COMPILER_ID@")
+set(CMAKE_CSharp_COMPILER_VERSION "@CMAKE_CSharp_COMPILER_VERSION@")
+
+set(CMAKE_CSharp_COMPILER_WORKS "@CMAKE_CSharp_COMPILER_WORKS@")
+
+set(CMAKE_CSharp_COMPILER_ID_RUN "@CMAKE_CSharp_COMPILER_ID_RUN@")
+set(CMAKE_CSharp_IGNORE_EXTENSIONS "inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC")
+set(CMAKE_CSharp_SOURCE_FILE_EXTENSIONS "cs")
diff --git a/share/cmake-3.10/Modules/CMakeCSharpCompilerId.cs.in b/share/cmake-3.10/Modules/CMakeCSharpCompilerId.cs.in
new file mode 100644
index 0000000..987f63a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCSharpCompilerId.cs.in
@@ -0,0 +1,63 @@
+using System;
+
+namespace CSharp
+{
+    public class CSharpApp
+    {
+        const string InfoCompiler = "INFO:compiler[Microsoft "
+#if PlatformToolsetv100
+        + "Visual Studio"
+#elif PlatformToolsetv110
+        + "Visual Studio"
+#elif PlatformToolsetv120
+        + "Visual Studio"
+#elif PlatformToolsetv140
+        + "Visual Studio"
+#elif PlatformToolsetv141
+        + "Visual Studio"
+#else
+        + "unknown"
+#endif
+        + "]";
+
+        const string InfoPlatform = "INFO:platform[Windows]";
+
+        const string InfoArchitecture = "INFO:arch["
+#if Platformx64
+        + "x64"
+#elif Platformx86
+        + "x86"
+#elif PlatformxWin32
+        + "Win32]"
+#else
+        + "unknown"
+#endif
+        + "]";
+
+        const string InfoCompilerVersion = "INFO:compiler_version["
+#if PlatformToolsetv100
+        + "2010"
+#elif PlatformToolsetv110
+        + "2012"
+#elif PlatformToolsetv120
+        + "2013"
+#elif PlatformToolsetv140
+        + "2015"
+#elif PlatformToolsetv141
+        + "2017"
+#else
+        + "9999"
+#endif
+        + "]";
+
+        static void Main(string[] args)
+        {
+            // we have to print the lines to make sure
+            // the compiler does not optimize them away ...
+            System.Console.WriteLine(InfoCompiler);
+            System.Console.WriteLine(InfoPlatform);
+            System.Console.WriteLine(InfoArchitecture);
+            System.Console.WriteLine(InfoCompilerVersion);
+        }
+    }
+}
diff --git a/share/cmake-3.10/Modules/CMakeCSharpInformation.cmake b/share/cmake-3.10/Modules/CMakeCSharpInformation.cmake
new file mode 100644
index 0000000..25f869c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCSharpInformation.cmake
@@ -0,0 +1,119 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This file sets the basic flags for the C# language in CMake.
+# It also loads the available platform file for the system-compiler
+# if it exists.
+
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_CSharp_COMPILER}" NAME_WE)
+
+set(CMAKE_BUILD_TYPE_INIT Debug)
+
+set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE /langversion:3")
+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-")
+set(CMAKE_CSharp_FLAGS_MINSIZEREL_INIT "/debug:none /optimize")
+set(CMAKE_CSharp_LINKER_SUPPORTS_PDB ON)
+
+set(CMAKE_CSharp_STANDARD_LIBRARIES_INIT "System")
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+  set(CMAKE_CSharp_FLAGS_INIT "/platform:x86 ${CMAKE_CSharp_FLAGS_INIT}")
+else()
+  set(CMAKE_CSharp_FLAGS_INIT "/platform:x64 ${CMAKE_CSharp_FLAGS_INIT}")
+endif()
+
+# This should be included before the _INIT variables are
+# used to initialize the cache.  Since the rule variables
+# have if blocks on them, users can still define them here.
+# But, it should still be after the platform file so changes can
+# be made to those values.
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_CSharp_FLAGS ${CMAKE_SHARED_LIBRARY_CSharp_FLAGS})
+  set(CMAKE_SHARED_MODULE_CREATE_CSharp_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CSharp_FLAGS})
+endif()
+
+# add the flags to the cache based
+# on the initial values computed in the platform/*.cmake files
+# use _INIT variables so that this only happens the first time
+# and you can set these flags in the cmake cache
+set(CMAKE_CSharp_FLAGS_INIT "$ENV{CSFLAGS} ${CMAKE_CSharp_FLAGS_INIT}")
+# avoid just having a space as the initial value for the cache
+if(CMAKE_CSharp_FLAGS_INIT STREQUAL " ")
+  set(CMAKE_CSharp_FLAGS_INIT)
+endif()
+set (CMAKE_CSharp_FLAGS "${CMAKE_CSharp_FLAGS_INIT}" CACHE STRING
+     "Flags used by the C# compiler during all build types.")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_CSharp_FLAGS_DEBUG "${CMAKE_CSharp_FLAGS_DEBUG_INIT}" CACHE STRING
+     "Flags used by the C# compiler during debug builds.")
+  set (CMAKE_CSharp_FLAGS_MINSIZEREL "${CMAKE_CSharp_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+     "Flags used by the C# compiler during release builds for minimum size.")
+  set (CMAKE_CSharp_FLAGS_RELEASE "${CMAKE_CSharp_FLAGS_RELEASE_INIT}" CACHE STRING
+     "Flags used by the C# compiler during release builds.")
+  set (CMAKE_CSharp_FLAGS_RELWITHDEBINFO "${CMAKE_CSharp_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+     "Flags used by the C# compiler during release builds with debug info.")
+endif()
+
+if(CMAKE_CSharp_STANDARD_LIBRARIES_INIT)
+  set(CMAKE_CSharp_STANDARD_LIBRARIES "${CMAKE_CSharp_STANDARD_LIBRARIES_INIT}"
+    CACHE STRING "Libraries linked by default with all C# applications.")
+  mark_as_advanced(CMAKE_CSharp_STANDARD_LIBRARIES)
+endif()
+
+# set missing flags (if they are not defined). This is needed in the
+# unlikely case that you have only C# and no C/C++ targets in your
+# project.
+if(NOT DEFINED CMAKE_SHARED_LINKER_FLAGS)
+    set(CMAKE_SHARED_LINKER_FLAGS "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_SHARED_LINKER_FLAGS_DEBUG)
+    set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_SHARED_LINKER_FLAGS_RELEASE)
+    set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL)
+    set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO)
+    set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE STRING "" FORCE)
+endif()
+
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS)
+    set(CMAKE_EXE_LINKER_FLAGS "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_DEBUG)
+    set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_RELEASE)
+    set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_MINSIZEREL)
+    set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE STRING "" FORCE)
+endif()
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO)
+    set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE STRING "" FORCE)
+endif()
+
+set(CMAKE_CSharp_CREATE_SHARED_LIBRARY "CSharp_NO_CREATE_SHARED_LIBRARY")
+set(CMAKE_CSharp_CREATE_SHARED_MODULE "CSharp_NO_CREATE_SHARED_MODULE")
+set(CMAKE_CSharp_LINK_EXECUTABLE "CSharp_NO_LINK_EXECUTABLE")
+
+mark_as_advanced(
+    CMAKE_CSharp_FLAGS
+    CMAKE_CSharp_FLAGS_RELEASE
+    CMAKE_CSharp_FLAGS_RELWITHDEBINFO
+    CMAKE_CSharp_FLAGS_MINSIZEREL
+    CMAKE_CSharp_FLAGS_DEBUG
+    )
+
+set(CMAKE_CSharp_USE_RESPONSE_FILE_FOR_OBJECTS 1)
+set(CMAKE_CSharp_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeCUDACompiler.cmake.in b/share/cmake-3.10/Modules/CMakeCUDACompiler.cmake.in
new file mode 100644
index 0000000..f524e5f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCUDACompiler.cmake.in
@@ -0,0 +1,27 @@
+set(CMAKE_CUDA_COMPILER "@CMAKE_CUDA_COMPILER@")
+set(CMAKE_CUDA_HOST_COMPILER "@CMAKE_CUDA_HOST_COMPILER@")
+set(CMAKE_CUDA_HOST_LINK_LAUNCHER "@CMAKE_CUDA_HOST_LINK_LAUNCHER@")
+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_SIMULATE_ID "@CMAKE_CUDA_SIMULATE_ID@")
+set(CMAKE_CUDA_SIMULATE_VERSION "@CMAKE_CUDA_SIMULATE_VERSION@")
+@SET_MSVC_CUDA_ARCHITECTURE_ID@
+
+set(CMAKE_CUDA_COMPILER_ENV_VAR "CUDACXX")
+set(CMAKE_CUDA_HOST_COMPILER_ENV_VAR "CUDAHOSTCXX")
+
+set(CMAKE_CUDA_COMPILER_ID_RUN 1)
+set(CMAKE_CUDA_SOURCE_FILE_EXTENSIONS cu)
+set(CMAKE_CUDA_LINKER_PREFERENCE 15)
+set(CMAKE_CUDA_LINKER_PREFERENCE_PROPAGATES 1)
+
+set(CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES "@CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES@")
+
+set(CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES "@CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_CUDA_HOST_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CUDA_HOST_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
+
+set(CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES "@CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.10/Modules/CMakeCUDACompilerABI.cu b/share/cmake-3.10/Modules/CMakeCUDACompilerABI.cu
new file mode 100644
index 0000000..99bacef
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCUDACompilerABI.cu
@@ -0,0 +1,16 @@
+#ifndef __CUDACC__
+#error "A C or C++ compiler has been selected for CUDA"
+#endif
+
+#include "CMakeCompilerABI.h"
+
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_sizeof_dptr[argc];
+#if defined(ABI_ID)
+  require += info_abi[argc];
+#endif
+  (void)argv;
+  return require;
+}
diff --git a/share/cmake-3.10/Modules/CMakeCUDACompilerId.cu.in b/share/cmake-3.10/Modules/CMakeCUDACompilerId.cu.in
new file mode 100644
index 0000000..018bab7
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCUDACompilerId.cu.in
@@ -0,0 +1,50 @@
+#ifndef __CUDACC__
+# error "A C or C++ compiler has been selected for CUDA"
+#endif
+
+@CMAKE_CUDA_COMPILER_ID_CONTENT@
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+@CMAKE_CUDA_COMPILER_ID_PLATFORM_CONTENT@
+@CMAKE_CUDA_COMPILER_ID_ERROR_FOR_TEST@
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if __cplusplus > 201402L
+  "17"
+#elif __cplusplus >= 201402L
+  "14"
+#elif __cplusplus >= 201103L
+  "11"
+#else
+  "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}
diff --git a/share/cmake-3.10/Modules/CMakeCUDAInformation.cmake b/share/cmake-3.10/Modules/CMakeCUDAInformation.cmake
new file mode 100644
index 0000000..f4609cd
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCUDAInformation.cmake
@@ -0,0 +1,217 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+if(UNIX)
+  set(CMAKE_CUDA_OUTPUT_EXTENSION .o)
+else()
+  set(CMAKE_CUDA_OUTPUT_EXTENSION .obj)
+endif()
+set(CMAKE_INCLUDE_FLAG_CUDA "-I")
+
+# Load compiler-specific information.
+if(CMAKE_CUDA_COMPILER_ID)
+  include(Compiler/${CMAKE_CUDA_COMPILER_ID}-CUDA OPTIONAL)
+endif()
+
+# load the system- and compiler specific files
+if(CMAKE_CUDA_COMPILER_ID)
+  # load a hardware specific file, mostly useful for embedded compilers
+  if(CMAKE_SYSTEM_PROCESSOR)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CUDA_COMPILER_ID}-CUDA-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+  endif()
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CUDA_COMPILER_ID}-CUDA OPTIONAL)
+endif()
+
+
+if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CUDA_FLAG)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_CUDA_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
+
+if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CUDA_FLAG_SEP)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_CUDA_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
+
+if(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_CUDA_FLAG)
+  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CUDA_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_EXE_EXPORTS_CUDA_FLAG)
+  set(CMAKE_EXE_EXPORTS_CUDA_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_CUDA_FLAG)
+  set(CMAKE_SHARED_LIBRARY_SONAME_CUDA_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_CUDA_FLAG)
+  set(CMAKE_EXECUTABLE_RUNTIME_CUDA_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CUDA_FLAG})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_CUDA_FLAG_SEP)
+  set(CMAKE_EXECUTABLE_RUNTIME_CUDA_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CUDA_FLAG_SEP})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_CUDA_FLAG)
+  set(CMAKE_EXECUTABLE_RPATH_LINK_CUDA_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_CUDA_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CUDA_WITH_RUNTIME_PATH)
+  set(CMAKE_SHARED_LIBRARY_LINK_CUDA_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+endif()
+
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_CUDA_FLAGS ${CMAKE_SHARED_LIBRARY_CUDA_FLAGS})
+  set(CMAKE_SHARED_MODULE_CREATE_CUDA_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS})
+endif()
+
+# add the flags to the cache based
+# on the initial values computed in the platform/*.cmake files
+# use _INIT variables so that this only happens the first time
+# and you can set these flags in the cmake cache
+set(CMAKE_CUDA_FLAGS_INIT "$ENV{CUDAFLAGS} ${CMAKE_CUDA_FLAGS_INIT}")
+
+foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+  string(STRIP "${CMAKE_CUDA_FLAGS${c}_INIT}" CMAKE_CUDA_FLAGS${c}_INIT)
+endforeach()
+
+set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS_INIT}" CACHE STRING
+     "Flags used by the compiler during all build types.")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_CUDA_FLAGS_DEBUG "${CMAKE_CUDA_FLAGS_DEBUG_INIT}" CACHE STRING
+     "Flags used by the compiler during debug builds.")
+  set (CMAKE_CUDA_FLAGS_MINSIZEREL "${CMAKE_CUDA_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds for minimum size.")
+  set (CMAKE_CUDA_FLAGS_RELEASE "${CMAKE_CUDA_FLAGS_RELEASE_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds.")
+  set (CMAKE_CUDA_FLAGS_RELWITHDEBINFO "${CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds with debug info.")
+
+endif()
+
+if(CMAKE_CUDA_STANDARD_LIBRARIES_INIT)
+  set(CMAKE_CUDA_STANDARD_LIBRARIES "${CMAKE_CUDA_STANDARD_LIBRARIES_INIT}"
+    CACHE STRING "Libraries linked by default with all CUDA applications.")
+  mark_as_advanced(CMAKE_CUDA_STANDARD_LIBRARIES)
+endif()
+
+include(CMakeCommonLanguageInclude)
+
+# now define the following rules:
+# CMAKE_CUDA_CREATE_SHARED_LIBRARY
+# CMAKE_CUDA_CREATE_SHARED_MODULE
+# CMAKE_CUDA_COMPILE_WHOLE_COMPILATION
+# CMAKE_CUDA_COMPILE_PTX_COMPILATION
+# CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION
+# 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 "")
+endif()
+
+set(__IMPLICT_LINKS )
+foreach(dir ${CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES})
+  string(APPEND __IMPLICT_LINKS " -L\"${dir}\"")
+endforeach()
+foreach(lib ${CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES})
+  if(${lib} MATCHES "/")
+    string(APPEND __IMPLICT_LINKS " \"${lib}\"")
+  else()
+    string(APPEND __IMPLICT_LINKS " -l${lib}")
+  endif()
+endforeach()
+
+# create a shared library
+if(NOT CMAKE_CUDA_CREATE_SHARED_LIBRARY)
+  set(CMAKE_CUDA_CREATE_SHARED_LIBRARY
+      "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <CMAKE_SHARED_LIBRARY_CUDA_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
+endif()
+
+# create a shared module copy the shared library rule by default
+if(NOT CMAKE_CUDA_CREATE_SHARED_MODULE)
+  set(CMAKE_CUDA_CREATE_SHARED_MODULE ${CMAKE_CUDA_CREATE_SHARED_LIBRARY})
+endif()
+
+# Create a static archive incrementally for large object file counts.
+if(NOT DEFINED CMAKE_CUDA_ARCHIVE_CREATE)
+  set(CMAKE_CUDA_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_CUDA_ARCHIVE_APPEND)
+  set(CMAKE_CUDA_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_CUDA_ARCHIVE_FINISH)
+  set(CMAKE_CUDA_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
+
+#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>")
+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>")
+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>")
+endif()
+
+if(CMAKE_GENERATOR STREQUAL "Ninja")
+  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")
+  #The Ninja generator uses the make file dependency files to determine what
+  #files need to be recompiled. Unfortunately, nvcc 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.
+  #
+  #The makefile generators uses the custom CMake dependency scanner, and thus
+  #it is exempt from this logic.
+  list(APPEND CMAKE_CUDA_COMPILE_PTX_COMPILATION "${CMAKE_CUDA_COMPILE_DEPENDENCY_DETECTION}")
+  list(APPEND CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION "${CMAKE_CUDA_COMPILE_DEPENDENCY_DETECTION}")
+  list(APPEND CMAKE_CUDA_COMPILE_WHOLE_COMPILATION "${CMAKE_CUDA_COMPILE_DEPENDENCY_DETECTION}")
+endif()
+
+# compile a cu file into an executable
+if(NOT CMAKE_CUDA_LINK_EXECUTABLE)
+  set(CMAKE_CUDA_LINK_EXECUTABLE
+    "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <CMAKE_CUDA_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
+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()
+
+
+#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} <CMAKE_CUDA_LINK_FLAGS> <LANGUAGE_COMPILE_FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+endif()
+if(NOT CMAKE_CUDA_DEVICE_LINK_EXECUTABLE)
+  set(CMAKE_CUDA_DEVICE_LINK_EXECUTABLE
+    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <FLAGS> <CMAKE_CUDA_LINK_FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+endif()
+
+unset(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS)
+
+mark_as_advanced(
+CMAKE_CUDA_FLAGS
+CMAKE_CUDA_FLAGS_RELEASE
+CMAKE_CUDA_FLAGS_RELWITHDEBINFO
+CMAKE_CUDA_FLAGS_MINSIZEREL
+CMAKE_CUDA_FLAGS_DEBUG)
+
+set(CMAKE_CUDA_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in
new file mode 100644
index 0000000..df57a4f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in
@@ -0,0 +1,75 @@
+set(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
+set(CMAKE_CXX_COMPILER_ARG1 "@CMAKE_CXX_COMPILER_ARG1@")
+set(CMAKE_CXX_COMPILER_ID "@CMAKE_CXX_COMPILER_ID@")
+set(CMAKE_CXX_COMPILER_VERSION "@CMAKE_CXX_COMPILER_VERSION@")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "@CMAKE_CXX_COMPILER_VERSION_INTERNAL@")
+set(CMAKE_CXX_COMPILER_WRAPPER "@CMAKE_CXX_COMPILER_WRAPPER@")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "@CMAKE_CXX_STANDARD_COMPUTED_DEFAULT@")
+set(CMAKE_CXX_COMPILE_FEATURES "@CMAKE_CXX_COMPILE_FEATURES@")
+set(CMAKE_CXX98_COMPILE_FEATURES "@CMAKE_CXX98_COMPILE_FEATURES@")
+set(CMAKE_CXX11_COMPILE_FEATURES "@CMAKE_CXX11_COMPILE_FEATURES@")
+set(CMAKE_CXX14_COMPILE_FEATURES "@CMAKE_CXX14_COMPILE_FEATURES@")
+set(CMAKE_CXX17_COMPILE_FEATURES "@CMAKE_CXX17_COMPILE_FEATURES@")
+
+set(CMAKE_CXX_PLATFORM_ID "@CMAKE_CXX_PLATFORM_ID@")
+set(CMAKE_CXX_SIMULATE_ID "@CMAKE_CXX_SIMULATE_ID@")
+set(CMAKE_CXX_SIMULATE_VERSION "@CMAKE_CXX_SIMULATE_VERSION@")
+@_SET_CMAKE_CXX_COMPILER_ARCHITECTURE_ID@
+@SET_MSVC_CXX_ARCHITECTURE_ID@
+@SET_CMAKE_XCODE_CURRENT_ARCH@
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_CXX_COMPILER_AR "@CMAKE_CXX_COMPILER_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_CXX_COMPILER_RANLIB "@CMAKE_CXX_COMPILER_RANLIB@")
+set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS @CMAKE_CXX_COMPILER_WORKS@)
+set(CMAKE_CXX_ABI_COMPILED @CMAKE_CXX_ABI_COMPILED@)
+set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
+set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "@CMAKE_CXX_SIZEOF_DATA_PTR@")
+set(CMAKE_CXX_COMPILER_ABI "@CMAKE_CXX_COMPILER_ABI@")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "@CMAKE_CXX_CL_SHOWINCLUDES_PREFIX@")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+@CMAKE_CXX_COMPILER_CUSTOM_CODE@
+@CMAKE_CXX_SYSROOT_FLAG_CODE@
+@CMAKE_CXX_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
+
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "@CMAKE_CXX_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.6/Modules/CMakeCXXCompilerABI.cpp b/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeCXXCompilerABI.cpp
rename to share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp
diff --git a/share/cmake-3.10/Modules/CMakeCXXCompilerId.cpp.in b/share/cmake-3.10/Modules/CMakeCXXCompilerId.cpp.in
new file mode 100644
index 0000000..4cb2267
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCXXCompilerId.cpp.in
@@ -0,0 +1,73 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+   recognize the extension without flags.  Borland does not know .cxx for
+   example.  */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+@CMAKE_CXX_COMPILER_ID_CONTENT@
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+@CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT@
+@CMAKE_CXX_COMPILER_ID_ERROR_FOR_TEST@
+
+#if defined(_MSC_VER) && defined(_MSVC_LANG)
+#define CXX_STD _MSVC_LANG
+#else
+#define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201402L
+  "17"
+#elif CXX_STD >= 201402L
+  "14"
+#elif CXX_STD >= 201103L
+  "11"
+#else
+  "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+  require += info_cray[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}
diff --git a/share/cmake-3.10/Modules/CMakeCXXInformation.cmake b/share/cmake-3.10/Modules/CMakeCXXInformation.cmake
new file mode 100644
index 0000000..ec731fa
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCXXInformation.cmake
@@ -0,0 +1,297 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file sets the basic flags for the C++ language in CMake.
+# It also loads the available platform file for the system-compiler
+# if it exists.
+# It also loads a system - compiler - processor (or target hardware)
+# specific file, which is mainly useful for crosscompiling and embedded systems.
+
+include(CMakeLanguageInformation)
+
+# some compilers use different extensions (e.g. sdcc uses .rel)
+# so set the extension here first so it can be overridden by the compiler specific file
+if(UNIX)
+  set(CMAKE_CXX_OUTPUT_EXTENSION .o)
+else()
+  set(CMAKE_CXX_OUTPUT_EXTENSION .obj)
+endif()
+
+set(_INCLUDED_FILE 0)
+
+# Load compiler-specific information.
+if(CMAKE_CXX_COMPILER_ID)
+  include(Compiler/${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL)
+endif()
+
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_CXX_COMPILER}" NAME_WE)
+# since the gnu compiler has several names force g++
+if(CMAKE_COMPILER_IS_GNUCXX)
+  set(CMAKE_BASE_NAME g++)
+endif()
+
+
+# load a hardware specific file, mostly useful for embedded compilers
+if(CMAKE_SYSTEM_PROCESSOR)
+  if(CMAKE_CXX_COMPILER_ID)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+  endif()
+  if (NOT _INCLUDED_FILE)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+  endif ()
+endif()
+
+# load the system- and compiler specific files
+if(CMAKE_CXX_COMPILER_ID)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if (NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
+          RESULT_VARIABLE _INCLUDED_FILE)
+endif ()
+
+# load any compiler-wrapper specific information
+if (CMAKE_CXX_COMPILER_WRAPPER)
+  __cmake_include_compiler_wrapper(CXX)
+endif ()
+
+# We specify the compiler information in the system file for some
+# platforms, but this language may not have been enabled when the file
+# was first included.  Include it again to get the language info.
+# Remove this when all compiler info is removed from system files.
+if (NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
+endif ()
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+  foreach(f ${CMAKE_CXX_ABI_FILES})
+    include(${f})
+  endforeach()
+  unset(CMAKE_CXX_ABI_FILES)
+endif()
+
+# This should be included before the _INIT variables are
+# used to initialize the cache.  Since the rule variables
+# have if blocks on them, users can still define them here.
+# But, it should still be after the platform file so changes can
+# be made to those values.
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${_override}")
+endif()
+
+
+# Create a set of shared library variable specific to C++
+# For 90% of the systems, these are the same flags as the C versions
+# so if these are not set just copy the flags from the c version
+if(NOT CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS)
+  set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
+endif()
+
+if(NOT CMAKE_CXX_COMPILE_OPTIONS_PIC)
+  set(CMAKE_CXX_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
+endif()
+
+if(NOT CMAKE_CXX_COMPILE_OPTIONS_PIE)
+  set(CMAKE_CXX_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
+endif()
+
+if(NOT CMAKE_CXX_COMPILE_OPTIONS_DLL)
+  set(CMAKE_CXX_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
+endif()
+
+if(NOT CMAKE_SHARED_LIBRARY_CXX_FLAGS)
+  set(CMAKE_SHARED_LIBRARY_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
+  set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
+endif()
+
+if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
+
+if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
+
+if(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG)
+  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_EXE_EXPORTS_CXX_FLAG)
+  set(CMAKE_EXE_EXPORTS_CXX_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG)
+  set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
+  set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
+  set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP})
+endif()
+
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG)
+  set(CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
+  set(CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+endif()
+
+if(NOT CMAKE_INCLUDE_FLAG_CXX)
+  set(CMAKE_INCLUDE_FLAG_CXX ${CMAKE_INCLUDE_FLAG_C})
+endif()
+
+if(NOT CMAKE_INCLUDE_FLAG_SEP_CXX)
+  set(CMAKE_INCLUDE_FLAG_SEP_CXX ${CMAKE_INCLUDE_FLAG_SEP_C})
+endif()
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
+  set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS})
+endif()
+
+# repeat for modules
+if(NOT CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS)
+  set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
+endif()
+
+if(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
+  set(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
+endif()
+
+# Initialize CXX link type selection flags from C versions.
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+  if(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
+    set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
+      ${CMAKE_${type}_LINK_STATIC_C_FLAGS})
+  endif()
+  if(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
+    set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS
+      ${CMAKE_${type}_LINK_DYNAMIC_C_FLAGS})
+  endif()
+endforeach()
+
+# add the flags to the cache based
+# on the initial values computed in the platform/*.cmake files
+# use _INIT variables so that this only happens the first time
+# and you can set these flags in the cmake cache
+set(CMAKE_CXX_FLAGS_INIT "$ENV{CXXFLAGS} ${CMAKE_CXX_FLAGS_INIT}")
+
+foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+  string(STRIP "${CMAKE_CXX_FLAGS${c}_INIT}" CMAKE_CXX_FLAGS${c}_INIT)
+endforeach()
+
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_INIT}" CACHE STRING
+     "Flags used by the compiler during all build types.")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG_INIT}" CACHE STRING
+     "Flags used by the compiler during debug builds.")
+  set (CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds for minimum size.")
+  set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds.")
+  set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds with debug info.")
+
+endif()
+
+if(CMAKE_CXX_STANDARD_LIBRARIES_INIT)
+  set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES_INIT}"
+    CACHE STRING "Libraries linked by default with all C++ applications.")
+  mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
+endif()
+
+include(CMakeCommonLanguageInclude)
+
+# now define the following rules:
+# CMAKE_CXX_CREATE_SHARED_LIBRARY
+# CMAKE_CXX_CREATE_SHARED_MODULE
+# CMAKE_CXX_COMPILE_OBJECT
+# CMAKE_CXX_LINK_EXECUTABLE
+
+# variables supplied by the generator at use time
+# <TARGET>
+# <TARGET_BASE> the target without the suffix
+# <OBJECTS>
+# <OBJECT>
+# <LINK_LIBRARIES>
+# <FLAGS>
+# <LINK_FLAGS>
+
+# CXX compiler information
+# <CMAKE_CXX_COMPILER>
+# <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
+# <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS>
+# <CMAKE_CXX_LINK_FLAGS>
+
+# Static library tools
+# <CMAKE_AR>
+# <CMAKE_RANLIB>
+
+
+# create a shared C++ library
+if(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
+  set(CMAKE_CXX_CREATE_SHARED_LIBRARY
+      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+endif()
+
+# create a c++ shared module copy the shared library rule by default
+if(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
+  set(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
+endif()
+
+
+# Create a static archive incrementally for large object file counts.
+# If CMAKE_CXX_CREATE_STATIC_LIBRARY is set it will override these.
+if(NOT DEFINED CMAKE_CXX_ARCHIVE_CREATE)
+  set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_CXX_ARCHIVE_APPEND)
+  set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_CXX_ARCHIVE_FINISH)
+  set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
+
+# compile a C++ file into an object file
+if(NOT CMAKE_CXX_COMPILE_OBJECT)
+  set(CMAKE_CXX_COMPILE_OBJECT
+    "<CMAKE_CXX_COMPILER>  <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+endif()
+
+if(NOT CMAKE_CXX_LINK_EXECUTABLE)
+  set(CMAKE_CXX_LINK_EXECUTABLE
+    "<CMAKE_CXX_COMPILER>  <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+endif()
+
+mark_as_advanced(
+CMAKE_VERBOSE_MAKEFILE
+CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_DEBUG)
+
+set(CMAKE_CXX_INFORMATION_LOADED 1)
+
diff --git a/share/cmake-3.10/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake b/share/cmake-3.10/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
new file mode 100644
index 0000000..e60ffe0
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
@@ -0,0 +1,34 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Do NOT include this module directly into any of your code. It is meant as
+# a library for Check*CompilerFlag.cmake modules. It's content may change in
+# any way between releases.
+
+macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
+   set(${_VAR}
+     FAIL_REGEX "[Uu]nrecogni[sz]ed .*option"               # GNU, NAG
+     FAIL_REGEX "unknown .*option"                          # Clang
+     FAIL_REGEX "optimization flag .* not supported"        # Clang
+     FAIL_REGEX "unknown argument ignored"                  # Clang (cl)
+     FAIL_REGEX "ignoring unknown option"                   # MSVC, Intel
+     FAIL_REGEX "warning D9002"                             # MSVC, any lang
+     FAIL_REGEX "option.*not supported"                     # Intel
+     FAIL_REGEX "invalid argument .*option"                 # Intel
+     FAIL_REGEX "ignoring option .*argument required"       # Intel
+     FAIL_REGEX "ignoring option .*argument is of wrong type" # Intel
+     FAIL_REGEX "[Uu]nknown option"                         # HP
+     FAIL_REGEX "[Ww]arning: [Oo]ption"                     # SunPro
+     FAIL_REGEX "command option .* is not recognized"       # XL
+     FAIL_REGEX "command option .* contains an incorrect subargument" # XL
+     FAIL_REGEX "Option .* is not recognized.  Option will be ignored." # XL
+     FAIL_REGEX "not supported in this configuration. ignored"       # AIX
+     FAIL_REGEX "File with unknown suffix passed to linker" # PGI
+     FAIL_REGEX "[Uu]nknown switch"                         # PGI
+     FAIL_REGEX "WARNING: unknown flag:"                    # Open64
+     FAIL_REGEX "Incorrect command line option:"            # Borland
+     FAIL_REGEX "Warning: illegal option"                   # SunStudio 12
+     FAIL_REGEX "[Ww]arning: Invalid suboption"             # Fujitsu
+   )
+endmacro ()
diff --git a/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake b/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake
new file mode 100644
index 0000000..43b5da0
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake
@@ -0,0 +1,129 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# this file has flags that are shared across languages and sets
+# cache values that can be initialized in the platform-compiler.cmake file
+# it may be included by more than one language.
+
+string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " $ENV{LDFLAGS}")
+string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " $ENV{LDFLAGS}")
+string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " $ENV{LDFLAGS}")
+
+foreach(t EXE SHARED MODULE STATIC)
+  foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+    string(STRIP "${CMAKE_${t}_LINKER_FLAGS${c}_INIT}" CMAKE_${t}_LINKER_FLAGS${c}_INIT)
+  endforeach()
+endforeach()
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+  # default build type is none
+  if(NOT _GENERATOR_IS_MULTI_CONFIG AND NOT CMAKE_NO_BUILD_TYPE)
+    set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
+      "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
+  endif()
+  unset(_GENERATOR_IS_MULTI_CONFIG)
+
+  set (CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+     "Flags used by the linker during debug builds.")
+
+  set (CMAKE_EXE_LINKER_FLAGS_MINSIZEREL ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT} CACHE STRING
+     "Flags used by the linker during release minsize builds.")
+
+  set (CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+     "Flags used by the linker during release builds.")
+
+  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+     ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
+     "Flags used by the linker during Release with Debug Info builds.")
+
+  set (CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+     "Flags used by the linker during debug builds.")
+
+  set (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL ${CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT}
+     CACHE STRING
+     "Flags used by the linker during release minsize builds.")
+
+  set (CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+     "Flags used by the linker during release builds.")
+
+  set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+     ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
+     "Flags used by the linker during Release with Debug Info builds.")
+
+  set (CMAKE_MODULE_LINKER_FLAGS_DEBUG ${CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+     "Flags used by the linker during debug builds.")
+
+  set (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL ${CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT}
+     CACHE STRING
+     "Flags used by the linker during release minsize builds.")
+
+  set (CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+     "Flags used by the linker during release builds.")
+
+  set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+     ${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
+     "Flags used by the linker during Release with Debug Info builds.")
+
+  set (CMAKE_STATIC_LINKER_FLAGS_DEBUG ${CMAKE_STATIC_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+     "Flags used by the linker during debug builds.")
+
+  set (CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL ${CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL_INIT}
+     CACHE STRING
+     "Flags used by the linker during release minsize builds.")
+
+  set (CMAKE_STATIC_LINKER_FLAGS_RELEASE ${CMAKE_STATIC_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+     "Flags used by the linker during release builds.")
+
+  set (CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+     ${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
+     "Flags used by the linker during Release with Debug Info builds.")
+endif()
+
+# executable linker flags
+set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS_INIT}"
+     CACHE STRING "Flags used by the linker.")
+
+# shared linker flags
+set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT}"
+     CACHE STRING "Flags used by the linker during the creation of dll's.")
+
+# module linker flags
+set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS_INIT}"
+     CACHE STRING "Flags used by the linker during the creation of modules.")
+
+# static linker flags
+set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS_INIT}"
+     CACHE STRING "Flags used by the linker during the creation of static libraries.")
+
+# Alias the build tool variable for backward compatibility.
+set(CMAKE_BUILD_TOOL ${CMAKE_MAKE_PROGRAM})
+
+mark_as_advanced(
+CMAKE_VERBOSE_MAKEFILE
+
+CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+
+CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+
+CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+
+CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+)
diff --git a/share/cmake-3.10/Modules/CMakeCompilerABI.h b/share/cmake-3.10/Modules/CMakeCompilerABI.h
new file mode 100644
index 0000000..ad481d6
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCompilerABI.h
@@ -0,0 +1,38 @@
+
+/* Size of a pointer-to-data in bytes.  */
+#define SIZEOF_DPTR (sizeof(void*))
+const char info_sizeof_dptr[] = {
+  'I', 'N', 'F', 'O', ':', 's', 'i', 'z', 'e', 'o', 'f', '_', 'd', 'p', 't',
+  'r', '[', ('0' + ((SIZEOF_DPTR / 10) % 10)), ('0' + (SIZEOF_DPTR % 10)), ']',
+  '\0'
+  /* clang-format needs this comment to break after the opening brace */
+};
+
+/* Application Binary Interface.  */
+#if defined(__sgi) && defined(_ABIO32)
+#define ABI_ID "ELF O32"
+#elif defined(__sgi) && defined(_ABIN32)
+#define ABI_ID "ELF N32"
+#elif defined(__sgi) && defined(_ABI64)
+#define ABI_ID "ELF 64"
+
+/* Check for (some) ARM ABIs.
+ * See e.g. http://wiki.debian.org/ArmEabiPort for some information on this. */
+#elif defined(__GNU__) && defined(__ELF__) && defined(__ARM_EABI__)
+#define ABI_ID "ELF ARMEABI"
+#elif defined(__GNU__) && defined(__ELF__) && defined(__ARMEB__)
+#define ABI_ID "ELF ARM"
+#elif defined(__GNU__) && defined(__ELF__) && defined(__ARMEL__)
+#define ABI_ID "ELF ARM"
+
+#elif defined(__linux__) && defined(__ELF__) && defined(__amd64__) &&         \
+  defined(__ILP32__)
+#define ABI_ID "ELF X32"
+
+#elif defined(__ELF__)
+#define ABI_ID "ELF"
+#endif
+
+#if defined(ABI_ID)
+static char const info_abi[] = "INFO:abi[" ABI_ID "]";
+#endif
diff --git a/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake b/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake
new file mode 100644
index 0000000..f2d43b6
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake
@@ -0,0 +1,152 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+function(_readFile file)
+  include(${file})
+  get_filename_component(name ${file} NAME_WE)
+  string(REGEX REPLACE "-.*" "" CompilerId ${name})
+  set(_compiler_id_version_compute_${CompilerId} ${_compiler_id_version_compute} PARENT_SCOPE)
+  set(_compiler_id_simulate_${CompilerId} ${_compiler_id_simulate} PARENT_SCOPE)
+  set(_compiler_id_pp_test_${CompilerId} ${_compiler_id_pp_test} PARENT_SCOPE)
+endfunction()
+
+function(compiler_id_detection outvar lang)
+
+  if (NOT lang STREQUAL Fortran AND NOT lang STREQUAL CSharp)
+    file(GLOB lang_files
+      "${CMAKE_ROOT}/Modules/Compiler/*-DetermineCompiler.cmake")
+    set(nonlang CXX)
+    if (lang STREQUAL CXX)
+      set(nonlang C)
+    endif()
+
+    file(GLOB nonlang_files
+      "${CMAKE_ROOT}/Modules/Compiler/*-${nonlang}-DetermineCompiler.cmake")
+    list(REMOVE_ITEM lang_files ${nonlang_files})
+  endif()
+
+  set(files ${lang_files})
+  if (files)
+    foreach(file ${files})
+      _readFile(${file})
+    endforeach()
+
+    set(options ID_STRING VERSION_STRINGS ID_DEFINE PLATFORM_DEFAULT_COMPILER)
+    set(oneValueArgs PREFIX)
+    cmake_parse_arguments(CID "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+    if (CID_UNPARSED_ARGUMENTS)
+      message(FATAL_ERROR "Unrecognized arguments: \"${CID_UNPARSED_ARGUMENTS}\"")
+    endif()
+
+    # Order is relevant here. For example, compilers which pretend to be
+    # GCC must appear before the actual GCC.
+    if (lang STREQUAL CXX)
+      list(APPEND ordered_compilers
+        Comeau
+      )
+    endif()
+    list(APPEND ordered_compilers
+      Intel
+      PathScale
+      Embarcadero
+      Borland
+      Watcom
+      OpenWatcom
+      SunPro
+      HP
+      Compaq
+      zOS
+      XL
+      VisualAge
+      PGI
+      Cray
+      TI
+      Fujitsu
+    )
+    if (lang STREQUAL C)
+      list(APPEND ordered_compilers
+        TinyCC
+        Bruce
+      )
+    endif()
+    list(APPEND ordered_compilers
+      SCO
+      AppleClang
+      Clang
+      GNU
+      MSVC
+      ADSP
+      IAR
+      ARMCC
+    )
+    if (lang STREQUAL C)
+      list(APPEND ordered_compilers
+        SDCC
+      )
+    endif()
+    list(APPEND ordered_compilers
+      MIPSpro)
+
+    #Currently the only CUDA compilers are NVIDIA
+    if(lang STREQUAL CUDA)
+      set(ordered_compilers NVIDIA)
+    endif()
+
+    if(CID_ID_DEFINE)
+      foreach(Id ${ordered_compilers})
+        string(APPEND CMAKE_${lang}_COMPILER_ID_CONTENT "# define ${CID_PREFIX}COMPILER_IS_${Id} 0\n")
+      endforeach()
+    endif()
+
+    set(pp_if "#if")
+    if (CID_VERSION_STRINGS)
+      string(APPEND CMAKE_${lang}_COMPILER_ID_CONTENT "\n/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */\n")
+    endif()
+
+    foreach(Id ${ordered_compilers})
+      if (NOT _compiler_id_pp_test_${Id})
+        message(FATAL_ERROR "No preprocessor test for \"${Id}\"")
+      endif()
+      set(id_content "${pp_if} ${_compiler_id_pp_test_${Id}}\n")
+      if (CID_ID_STRING)
+        set(PREFIX ${CID_PREFIX})
+        string(CONFIGURE "${_compiler_id_simulate_${Id}}" SIMULATE_BLOCK @ONLY)
+        string(APPEND id_content "# define ${CID_PREFIX}COMPILER_ID \"${Id}\"${SIMULATE_BLOCK}")
+      endif()
+      if (CID_ID_DEFINE)
+        string(APPEND id_content "# undef ${CID_PREFIX}COMPILER_IS_${Id}\n")
+        string(APPEND id_content "# define ${CID_PREFIX}COMPILER_IS_${Id} 1\n")
+      endif()
+      if (CID_VERSION_STRINGS)
+        set(PREFIX ${CID_PREFIX})
+        set(MACRO_DEC DEC)
+        set(MACRO_HEX HEX)
+        string(CONFIGURE "${_compiler_id_version_compute_${Id}}" VERSION_BLOCK @ONLY)
+        string(APPEND id_content "${VERSION_BLOCK}\n")
+      endif()
+      string(APPEND CMAKE_${lang}_COMPILER_ID_CONTENT "\n${id_content}")
+      set(pp_if "#elif")
+    endforeach()
+
+    if (CID_PLATFORM_DEFAULT_COMPILER)
+      set(platform_compiler_detection "
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__sgi)
+# define ${CID_PREFIX}COMPILER_ID \"MIPSpro\"
+
+#elif defined(__hpux) || defined(__hpua)
+# define ${CID_PREFIX}COMPILER_ID \"HP\"
+
+#else /* unknown compiler */
+# define ${CID_PREFIX}COMPILER_ID \"\"")
+    endif()
+
+    string(APPEND CMAKE_${lang}_COMPILER_ID_CONTENT "\n${platform_compiler_detection}\n#endif")
+  endif()
+
+  set(${outvar} ${CMAKE_${lang}_COMPILER_ID_CONTENT} PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeConfigurableFile.in b/share/cmake-3.10/Modules/CMakeConfigurableFile.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeConfigurableFile.in
rename to share/cmake-3.10/Modules/CMakeConfigurableFile.in
diff --git a/share/cmake-3.10/Modules/CMakeDependentOption.cmake b/share/cmake-3.10/Modules/CMakeDependentOption.cmake
new file mode 100644
index 0000000..21d3c96
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDependentOption.cmake
@@ -0,0 +1,49 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeDependentOption
+# --------------------
+#
+# Macro to provide an option dependent on other options.
+#
+# This macro presents an option to the user only if a set of other
+# conditions are true.  When the option is not presented a default value
+# is used, but any value set by the user is preserved for when the
+# option is presented again.  Example invocation:
+#
+# ::
+#
+#   CMAKE_DEPENDENT_OPTION(USE_FOO "Use Foo" ON
+#                          "USE_BAR;NOT USE_ZOT" OFF)
+#
+# If USE_BAR is true and USE_ZOT is false, this provides an option
+# called USE_FOO that defaults to ON.  Otherwise, it sets USE_FOO to
+# OFF.  If the status of USE_BAR or USE_ZOT ever changes, any value for
+# the USE_FOO option is saved so that when the option is re-enabled it
+# retains its old value.
+
+macro(CMAKE_DEPENDENT_OPTION option doc default depends force)
+  if(${option}_ISSET MATCHES "^${option}_ISSET$")
+    set(${option}_AVAILABLE 1)
+    foreach(d ${depends})
+      string(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}")
+      if(${CMAKE_DEPENDENT_OPTION_DEP})
+      else()
+        set(${option}_AVAILABLE 0)
+      endif()
+    endforeach()
+    if(${option}_AVAILABLE)
+      option(${option} "${doc}" "${default}")
+      set(${option} "${${option}}" CACHE BOOL "${doc}" FORCE)
+    else()
+      if(${option} MATCHES "^${option}$")
+      else()
+        set(${option} "${${option}}" CACHE INTERNAL "${doc}")
+      endif()
+      set(${option} ${force})
+    endif()
+  else()
+    set(${option} "${${option}_ISSET}")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineASM-ATTCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineASM-ATTCompiler.cmake
new file mode 100644
index 0000000..a2efb6a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineASM-ATTCompiler.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for ASM using AT&T syntax, e.g. GNU as
+
+set(ASM_DIALECT "-ATT")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gas ${_CMAKE_TOOLCHAIN_PREFIX}as)
+include(CMakeDetermineASMCompiler)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeDetermineASMCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineASMCompiler.cmake
new file mode 100644
index 0000000..f7cf54a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineASMCompiler.cmake
@@ -0,0 +1,212 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for ASM programs
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
+  # prefer the environment variable ASM
+  if(NOT $ENV{ASM${ASM_DIALECT}} STREQUAL "")
+    get_filename_component(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT $ENV{ASM${ASM_DIALECT}} PROGRAM PROGRAM_ARGS CMAKE_ASM${ASM_DIALECT}_FLAGS_ENV_INIT)
+    if(CMAKE_ASM${ASM_DIALECT}_FLAGS_ENV_INIT)
+      set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "${CMAKE_ASM${ASM_DIALECT}_FLAGS_ENV_INIT}" CACHE STRING "First argument to ASM${ASM_DIALECT} compiler")
+    endif()
+    if(NOT EXISTS ${CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT})
+      message(FATAL_ERROR "Could not find compiler set in environment variable ASM${ASM_DIALECT}:\n$ENV{ASM${ASM_DIALECT}}.")
+    endif()
+  endif()
+
+  # finally list compilers to try
+  if("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
+    if(NOT CMAKE_ASM_COMPILER_INIT)
+      if(CMAKE_C_COMPILER)
+        set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "The ASM compiler")
+        set(CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
+      elseif(CMAKE_CXX_COMPILER)
+        set(CMAKE_ASM_COMPILER "${CMAKE_CXX_COMPILER}" CACHE FILEPATH "The ASM compiler")
+        set(CMAKE_ASM_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
+      else()
+        # List all default C and CXX compilers
+        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST
+             ${_CMAKE_TOOLCHAIN_PREFIX}cc  ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc
+          CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC)
+      endif()
+    endif()
+  else() # some specific assembler "dialect"
+    if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT  AND NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST)
+      message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT or CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST must be preset !")
+    endif()
+  endif()
+
+  # Find the compiler.
+  _cmake_find_compiler(ASM${ASM_DIALECT})
+
+else()
+  _cmake_find_compiler_path(ASM${ASM_DIALECT})
+endif()
+mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
+endif ()
+
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+
+  # Table of per-vendor compiler id flags with expected output.
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS GNU )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_GNU "--version")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_GNU "(GNU assembler)|(GCC)|(Free Software Foundation)")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS HP )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_HP "-V")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_HP "HP C")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS Intel )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_Intel "--version")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_Intel "(ICC)")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS SunPro )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_SunPro "-V")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_SunPro "Sun C")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS XL )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_XL "-qversion")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_XL "XL C")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS MSVC )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_MSVC "/?")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_MSVC "Microsoft")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS TI )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_TI "-h")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_TI "Texas Instruments")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS IAR)
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_IAR )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_IAR "IAR Assembler")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS ARMCC)
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_ARMCC )
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_ARMCC "(ARM Compiler)|(ARM Assembler)")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS NASM)
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_NASM "-v")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_NASM "(NASM version)")
+
+  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS YASM)
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_YASM "--version")
+  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_YASM "(yasm)")
+
+  include(CMakeDetermineCompilerId)
+  set(userflags)
+  CMAKE_DETERMINE_COMPILER_ID_VENDOR(ASM${ASM_DIALECT} "${userflags}")
+  if("x${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}" STREQUAL "xIAR")
+    # primary necessary to detect architecture, so the right archiver and linker can be picked
+    # eg. IAR Assembler V8.10.1.12857/W32 for ARM
+    # Cut out identification first, newline handling is a pain
+    string(REGEX MATCH "IAR Assembler[^\r\n]*" _compileid "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_OUTPUT}")
+    if("${_compileid}" MATCHES "V([0-9]+\\.[0-9]+\\.[0-9]+)")
+      set(CMAKE_ASM${ASM_DIALECT}_COMPILER_VERSION ${CMAKE_MATCH_1})
+    endif()
+    if("${_compileid}" MATCHES "for[ ]+([A-Za-z0-9]+)")
+      set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID ${CMAKE_MATCH_1})
+    endif()
+  endif()
+  unset(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_OUTPUT)
+  unset(_compileid)
+endif()
+
+
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+  if(CMAKE_ASM${ASM_DIALECT}_COMPILER_VERSION)
+    set(_version " ${CMAKE_ASM${ASM_DIALECT}_COMPILER_VERSION}")
+  else()
+    set(_version "")
+  endif()
+  message(STATUS "The ASM${ASM_DIALECT} compiler identification is ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}${_version}")
+  unset(_version)
+else()
+  message(STATUS "The ASM${ASM_DIALECT} compiler identification is unknown")
+endif()
+
+
+
+# If we have a gas/as cross compiler, they have usually some prefix, like
+# e.g. powerpc-linux-gas, arm-elf-gas or i586-mingw32msvc-gas , optionally
+# with a 3-component version number at the end
+# The other tools of the toolchain usually have the same prefix
+# NAME_WE cannot be used since then this test will fail for names like
+# "arm-unknown-nto-qnx6.3.0-gas.exe", where BASENAME would be
+# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
+if (NOT _CMAKE_TOOLCHAIN_PREFIX)
+  get_filename_component(COMPILER_BASENAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME)
+  if (COMPILER_BASENAME MATCHES "^(.+-)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+    set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+  endif ()
+endif ()
+
+# Now try the C compiler regexp:
+if (NOT _CMAKE_TOOLCHAIN_PREFIX)
+  if (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+    set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+  endif ()
+endif ()
+
+# Finally try the CXX compiler regexp:
+if (NOT _CMAKE_TOOLCHAIN_PREFIX)
+  if (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+    set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+  endif ()
+endif ()
+
+
+include(CMakeFindBinUtils)
+set(_CMAKE_PROCESSING_LANGUAGE "ASM")
+include(Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-FindBinUtils OPTIONAL)
+unset(_CMAKE_PROCESSING_LANGUAGE)
+
+set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR "ASM${ASM_DIALECT}")
+
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+  message(STATUS "Found assembler: ${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
+else()
+  message(STATUS "Didn't find assembler")
+endif()
+
+foreach(_var
+    COMPILER
+    COMPILER_ID
+    COMPILER_ARG1
+    COMPILER_ENV_VAR
+    COMPILER_AR
+    COMPILER_RANLIB
+    COMPILER_VERSION
+    )
+  set(_CMAKE_ASM_${_var} "${CMAKE_ASM${ASM_DIALECT}_${_var}}")
+endforeach()
+
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID)
+  set(_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID
+    "set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID})")
+else()
+  set(_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID "")
+endif()
+
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeASMCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeASM${ASM_DIALECT}Compiler.cmake @ONLY)
+
+foreach(_var
+    COMPILER
+    COMPILER_ID
+    COMPILER_ARG1
+    COMPILER_ENV_VAR
+    COMPILER_AR
+    COMPILER_RANLIB
+    COMPILER_VERSION
+    )
+  unset(_CMAKE_ASM_${_var})
+endforeach()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineASM_MASMCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineASM_MASMCompiler.cmake
new file mode 100644
index 0000000..789b049
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineASM_MASMCompiler.cmake
@@ -0,0 +1,18 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Find the MS assembler (masm or masm64)
+
+set(ASM_DIALECT "_MASM")
+
+# if we are using the 64bit cl compiler, assume we also want the 64bit assembler
+if(";${CMAKE_VS_PLATFORM_NAME};${MSVC_C_ARCHITECTURE_ID};${MSVC_CXX_ARCHITECTURE_ID};"
+    MATCHES ";(Win64|Itanium|x64|IA64);")
+   set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml64)
+else()
+   set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml)
+endif()
+
+include(CMakeDetermineASMCompiler)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeDetermineASM_NASMCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineASM_NASMCompiler.cmake
new file mode 100644
index 0000000..dd75310
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineASM_NASMCompiler.cmake
@@ -0,0 +1,30 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Find the nasm assembler. yasm (http://www.tortall.net/projects/yasm/) is nasm compatible
+
+set(CMAKE_ASM_NASM_COMPILER_LIST nasm yasm)
+
+if(NOT CMAKE_ASM_NASM_COMPILER)
+  set(_CMAKE_ENV_VARX86 "ProgramFiles(x86)")
+  set(_CMAKE_ASM_NASM_COMPILER_PATHS
+    "[HKEY_CURRENT_USER\\SOFTWARE\\nasm]"
+    "$ENV{ProgramFiles}/NASM"
+    "$ENV{${ENV_VARX86}}/NASM"
+    "$ENV{LOCALAPPDATA}/NASM"
+    )
+  find_program(CMAKE_ASM_NASM_COMPILER
+    NAMES ${CMAKE_ASM_NASM_COMPILER_LIST}
+    PATHS ${_CMAKE_ASM_NASM_COMPILER_PATHS}
+    NO_DEFAULT_PATH
+    DOC "NASM compiler"
+  )
+  unset(_CMAKE_ENV_VARX86)
+  unset(_CMAKE_ASM_NASM_COMPILER_PATHS)
+endif()
+
+# Load the generic DetermineASM compiler file with the DIALECT set properly:
+set(ASM_DIALECT "_NASM")
+include(CMakeDetermineASMCompiler)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake
new file mode 100644
index 0000000..4e56ce1
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake
@@ -0,0 +1,196 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for C programs
+# NOTE, a generator may set CMAKE_C_COMPILER before
+# loading this file to force a compiler.
+# use environment variable CC first if defined by user, next use
+# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
+# as a default compiler
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# as prefix for the tools (e.g. arm-elf-gcc, arm-elf-ar etc.). This works
+# currently with the GNU crosscompilers.
+#
+# Sets the following variables:
+#   CMAKE_C_COMPILER
+#   CMAKE_AR
+#   CMAKE_RANLIB
+#   CMAKE_COMPILER_IS_GNUCC
+#
+# If not already set before, it also sets
+#   _CMAKE_TOOLCHAIN_PREFIX
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+# Load system-specific compiler preferences for this language.
+include(Platform/${CMAKE_SYSTEM_NAME}-Determine-C OPTIONAL)
+include(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL)
+if(NOT CMAKE_C_COMPILER_NAMES)
+  set(CMAKE_C_COMPILER_NAMES cc)
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+  set(CMAKE_C_COMPILER_XCODE_TYPE sourcecode.c.c)
+  _cmake_find_compiler_path(C)
+else()
+  if(NOT CMAKE_C_COMPILER)
+    set(CMAKE_C_COMPILER_INIT NOTFOUND)
+
+    # prefer the environment variable CC
+    if(NOT $ENV{CC} STREQUAL "")
+      get_filename_component(CMAKE_C_COMPILER_INIT $ENV{CC} PROGRAM PROGRAM_ARGS CMAKE_C_FLAGS_ENV_INIT)
+      if(CMAKE_C_FLAGS_ENV_INIT)
+        set(CMAKE_C_COMPILER_ARG1 "${CMAKE_C_FLAGS_ENV_INIT}" CACHE STRING "First argument to C compiler")
+      endif()
+      if(NOT EXISTS ${CMAKE_C_COMPILER_INIT})
+        message(FATAL_ERROR "Could not find compiler set in environment variable CC:\n$ENV{CC}.")
+      endif()
+    endif()
+
+    # next try prefer the compiler specified by the generator
+    if(CMAKE_GENERATOR_CC)
+      if(NOT CMAKE_C_COMPILER_INIT)
+        set(CMAKE_C_COMPILER_INIT ${CMAKE_GENERATOR_CC})
+      endif()
+    endif()
+
+    # finally list compilers to try
+    if(NOT CMAKE_C_COMPILER_INIT)
+      set(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc clang)
+    endif()
+
+    _cmake_find_compiler(C)
+
+  else()
+    _cmake_find_compiler_path(C)
+  endif()
+  mark_as_advanced(CMAKE_C_COMPILER)
+
+  # Each entry in this list is a set of extra flags to try
+  # adding to the compile line to see if it helps produce
+  # a valid identification file.
+  set(CMAKE_C_COMPILER_ID_TEST_FLAGS_FIRST)
+  set(CMAKE_C_COMPILER_ID_TEST_FLAGS
+    # Try compiling to an object file only.
+    "-c"
+
+    # Try enabling ANSI mode on HP.
+    "-Aa"
+
+    # Try compiling K&R-compatible code (needed by Bruce C Compiler).
+    "-D__CLASSIC_C__"
+    )
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_C_COMPILER_ID_RUN)
+  set(CMAKE_C_COMPILER_ID_RUN 1)
+
+  # Try to identify the compiler.
+  set(CMAKE_C_COMPILER_ID)
+  set(CMAKE_C_PLATFORM_ID)
+  file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
+    CMAKE_C_COMPILER_ID_PLATFORM_CONTENT)
+
+  # The IAR compiler produces weird output.
+  # See https://gitlab.kitware.com/cmake/cmake/issues/10176#note_153591
+  list(APPEND CMAKE_C_COMPILER_ID_VENDORS IAR)
+  set(CMAKE_C_COMPILER_ID_VENDOR_FLAGS_IAR )
+  set(CMAKE_C_COMPILER_ID_VENDOR_REGEX_IAR "IAR .+ Compiler")
+
+  # Match the link line from xcodebuild output of the form
+  #  Ld ...
+  #      ...
+  #      /path/to/cc ...CompilerIdC/...
+  # to extract the compiler front-end for the language.
+  set(CMAKE_C_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdC/(\\./)?(CompilerIdC.xctest/)?CompilerIdC[ \t\n\\\"]")
+  set(CMAKE_C_COMPILER_ID_TOOL_MATCH_INDEX 2)
+
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+  CMAKE_DETERMINE_COMPILER_ID(C CFLAGS CMakeCCompilerId.c)
+  CMAKE_DIAGNOSE_UNSUPPORTED_CLANG(C CC)
+
+  # Set old compiler and platform id variables.
+  if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+    set(CMAKE_COMPILER_IS_GNUCC 1)
+  endif()
+  if(CMAKE_C_PLATFORM_ID MATCHES "MinGW")
+    set(CMAKE_COMPILER_IS_MINGW 1)
+  elseif(CMAKE_C_PLATFORM_ID MATCHES "Cygwin")
+    set(CMAKE_COMPILER_IS_CYGWIN 1)
+  endif()
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
+endif ()
+
+# If we have a gcc cross compiler, they have usually some prefix, like
+# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc, optionally
+# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
+# The other tools of the toolchain usually have the same prefix
+# NAME_WE cannot be used since then this test will fail for names like
+# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
+# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
+if (CMAKE_CROSSCOMPILING  AND NOT _CMAKE_TOOLCHAIN_PREFIX)
+
+  if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
+    get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
+    if (COMPILER_BASENAME MATCHES "^(.+-)(clang|g?cc)(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+    elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
+      if(CMAKE_C_COMPILER_TARGET)
+        set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_C_COMPILER_TARGET}-)
+      endif()
+    elseif(COMPILER_BASENAME MATCHES "qcc(\\.exe)?$")
+      if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?")
+        set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-)
+      endif()
+    endif ()
+
+    # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
+    # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
+    if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+    endif ()
+  elseif(CMAKE_C_COMPILER_ID MATCHES "TI")
+    # TI compilers are named e.g. cl6x, cl470 or armcl.exe
+    get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
+    if (COMPILER_BASENAME MATCHES "^(.+)?cl([^.]+)?(\\.exe)?$")
+      set(_CMAKE_TOOLCHAIN_PREFIX "${CMAKE_MATCH_1}")
+      set(_CMAKE_TOOLCHAIN_SUFFIX "${CMAKE_MATCH_2}")
+    endif ()
+  endif()
+
+endif ()
+
+include(CMakeFindBinUtils)
+set(_CMAKE_PROCESSING_LANGUAGE "C")
+include(Compiler/${CMAKE_C_COMPILER_ID}-FindBinUtils OPTIONAL)
+unset(_CMAKE_PROCESSING_LANGUAGE)
+
+if(CMAKE_C_COMPILER_ARCHITECTURE_ID)
+  set(_SET_CMAKE_C_COMPILER_ARCHITECTURE_ID
+    "set(CMAKE_C_COMPILER_ARCHITECTURE_ID ${CMAKE_C_COMPILER_ARCHITECTURE_ID})")
+else()
+  set(_SET_CMAKE_C_COMPILER_ARCHITECTURE_ID "")
+endif()
+
+if(MSVC_C_ARCHITECTURE_ID)
+  set(SET_MSVC_C_ARCHITECTURE_ID
+    "set(MSVC_C_ARCHITECTURE_ID ${MSVC_C_ARCHITECTURE_ID})")
+endif()
+
+if(CMAKE_C_XCODE_CURRENT_ARCH)
+  set(SET_CMAKE_XCODE_CURRENT_ARCH
+    "set(CMAKE_XCODE_CURRENT_ARCH ${CMAKE_C_XCODE_CURRENT_ARCH})")
+endif()
+
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
+  @ONLY
+  )
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCSharpCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineCSharpCompiler.cmake
new file mode 100644
index 0000000..eb825a5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCSharpCompiler.cmake
@@ -0,0 +1,43 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+if(NOT ${CMAKE_GENERATOR} MATCHES "Visual Studio ([^89]|[89][0-9])")
+   message(FATAL_ERROR
+    "C# is currently only supported for Microsoft Visual Studio 2010 and later.")
+endif()
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+#include(Platform/${CMAKE_SYSTEM_NAME}-Determine-CSharp OPTIONAL)
+#include(Platform/${CMAKE_SYSTEM_NAME}-CSharp OPTIONAL)
+if(NOT CMAKE_CSharp_COMPILER_NAMES)
+  set(CMAKE_CSharp_COMPILER_NAMES csc)
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_CSharp_COMPILER_ID_RUN)
+  set(CMAKE_CSharp_COMPILER_ID_RUN 1)
+
+  # Try to identify the compiler.
+  set(CMAKE_CSharp_COMPILER_ID_STRINGS_PARAMETERS ENCODING UTF-16LE)
+  set(CMAKE_CSharp_COMPILER_ID)
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+  CMAKE_DETERMINE_COMPILER_ID(CSharp CSFLAGS CMakeCSharpCompilerId.cs)
+
+  execute_process(COMMAND "${CMAKE_CSharp_COMPILER}" "/help /preferreduilang:en-US" OUTPUT_VARIABLE output)
+  string(REPLACE "\n" ";" output "${output}")
+  foreach(line ${output})
+    string(TOUPPER ${line} line)
+    string(REGEX REPLACE "^.*COMPILER.*VERSION[^\\.0-9]*([\\.0-9]+).*$" "\\1" version "${line}")
+    if(version AND NOT "x${line}" STREQUAL "x${version}")
+      set(CMAKE_CSharp_COMPILER_VERSION ${version})
+      break()
+    endif()
+  endforeach()
+  message(STATUS "The CSharp compiler version is ${CMAKE_CSharp_COMPILER_VERSION}")
+endif()
+
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeCSharpCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeCSharpCompiler.cmake
+  @ONLY
+  )
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCUDACompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineCUDACompiler.cmake
new file mode 100644
index 0000000..c9cd7e2
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCUDACompiler.cmake
@@ -0,0 +1,218 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+include(${CMAKE_ROOT}/Modules//CMakeParseImplicitLinkInfo.cmake)
+
+if( NOT ( ("${CMAKE_GENERATOR}" MATCHES "Make") OR
+          ("${CMAKE_GENERATOR}" MATCHES "Ninja") OR
+          ("${CMAKE_GENERATOR}" MATCHES "Visual Studio (1|[89][0-9])") ) )
+  message(FATAL_ERROR "CUDA language not currently supported by \"${CMAKE_GENERATOR}\" generator")
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+else()
+  if(NOT CMAKE_CUDA_COMPILER)
+    set(CMAKE_CUDA_COMPILER_INIT NOTFOUND)
+
+      # prefer the environment variable CUDACXX
+      if(NOT $ENV{CUDACXX} STREQUAL "")
+        get_filename_component(CMAKE_CUDA_COMPILER_INIT $ENV{CUDACXX} PROGRAM PROGRAM_ARGS CMAKE_CUDA_FLAGS_ENV_INIT)
+        if(CMAKE_CUDA_FLAGS_ENV_INIT)
+          set(CMAKE_CUDA_COMPILER_ARG1 "${CMAKE_CUDA_FLAGS_ENV_INIT}" CACHE STRING "First argument to CXX compiler")
+        endif()
+        if(NOT EXISTS ${CMAKE_CUDA_COMPILER_INIT})
+          message(FATAL_ERROR "Could not find compiler set in environment variable CUDACXX:\n$ENV{CUDACXX}.\n${CMAKE_CUDA_COMPILER_INIT}")
+        endif()
+      endif()
+
+    # finally list compilers to try
+    if(NOT CMAKE_CUDA_COMPILER_INIT)
+      set(CMAKE_CUDA_COMPILER_LIST nvcc)
+    endif()
+
+    _cmake_find_compiler(CUDA)
+  else()
+    _cmake_find_compiler_path(CUDA)
+  endif()
+
+  mark_as_advanced(CMAKE_CUDA_COMPILER)
+endif()
+
+#Allow the user to specify a host compiler
+set(CMAKE_CUDA_HOST_COMPILER "" CACHE FILEPATH "Host compiler to be used by nvcc")
+if(NOT $ENV{CUDAHOSTCXX} STREQUAL "")
+  get_filename_component(CMAKE_CUDA_HOST_COMPILER $ENV{CUDAHOSTCXX} PROGRAM)
+  if(NOT EXISTS ${CMAKE_CUDA_HOST_COMPILER})
+    message(FATAL_ERROR "Could not find compiler set in environment variable CUDAHOSTCXX:\n$ENV{CUDAHOSTCXX}.\n${CMAKE_CUDA_HOST_COMPILER}")
+  endif()
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_CUDA_COMPILER_ID_RUN)
+  set(CMAKE_CUDA_COMPILER_ID_RUN 1)
+
+  # Try to identify the compiler.
+  set(CMAKE_CUDA_COMPILER_ID)
+  set(CMAKE_CUDA_PLATFORM_ID)
+  file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
+    CMAKE_CUDA_COMPILER_ID_PLATFORM_CONTENT)
+
+  list(APPEND CMAKE_CUDA_COMPILER_ID_MATCH_VENDORS NVIDIA)
+  set(CMAKE_CUDA_COMPILER_ID_MATCH_VENDOR_REGEX_NVIDIA "nvcc: NVIDIA \(R\) Cuda compiler driver")
+
+  set(CMAKE_CXX_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdCUDA/(\\./)?(CompilerIdCUDA.xctest/)?CompilerIdCUDA[ \t\n\\\"]")
+  set(CMAKE_CXX_COMPILER_ID_TOOL_MATCH_INDEX 2)
+
+  set(CMAKE_CUDA_COMPILER_ID_FLAGS_ALWAYS -v --keep --keep-dir tmp)
+  if(CMAKE_CUDA_HOST_COMPILER)
+      list(APPEND CMAKE_CUDA_COMPILER_ID_FLAGS_ALWAYS "-ccbin=${CMAKE_CUDA_HOST_COMPILER}")
+  endif()
+
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+  CMAKE_DETERMINE_COMPILER_ID(CUDA CUDAFLAGS CMakeCUDACompilerId.cu)
+endif()
+
+include(CMakeFindBinUtils)
+if(MSVC_CUDA_ARCHITECTURE_ID)
+  set(SET_MSVC_CUDA_ARCHITECTURE_ID
+    "set(MSVC_CUDA_ARCHITECTURE_ID ${MSVC_CUDA_ARCHITECTURE_ID})")
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+  set(CMAKE_CUDA_HOST_LINK_LAUNCHER "${CMAKE_LINKER}")
+  set(CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES "")
+  set(CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES "")
+  set(CMAKE_CUDA_HOST_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
+elseif(CMAKE_CUDA_COMPILER_ID STREQUAL NVIDIA)
+  set(_nvcc_log "")
+  string(REPLACE "\r" "" _nvcc_output_orig "${CMAKE_CUDA_COMPILER_PRODUCED_OUTPUT}")
+  if(_nvcc_output_orig MATCHES "#\\\$ +PATH= *([^\n]*)\n")
+    set(_nvcc_path "${CMAKE_MATCH_1}")
+    string(APPEND _nvcc_log "  found 'PATH=' string: [${_nvcc_path}]\n")
+    string(REPLACE ":" ";" _nvcc_path "${_nvcc_path}")
+  else()
+    set(_nvcc_path "")
+    string(REPLACE "\n" "\n    " _nvcc_output_log "\n${_nvcc_output_orig}")
+    string(APPEND _nvcc_log "  no 'PATH=' string found in nvcc output:${_nvcc_output_log}\n")
+  endif()
+  if(_nvcc_output_orig MATCHES "#\\\$ +LIBRARIES= *([^\n]*)\n")
+    set(_nvcc_libraries "${CMAKE_MATCH_1}")
+    string(APPEND _nvcc_log "  found 'LIBRARIES=' string: [${_nvcc_libraries}]\n")
+  else()
+    set(_nvcc_libraries "")
+    string(REPLACE "\n" "\n    " _nvcc_output_log "\n${_nvcc_output_orig}")
+    string(APPEND _nvcc_log "  no 'LIBRARIES=' string found in nvcc output:${_nvcc_output_log}\n")
+  endif()
+
+  set(_nvcc_link_line "")
+  if(_nvcc_libraries)
+    # Remove variable assignments.
+    string(REGEX REPLACE "#\\\$ *[^= ]+=[^\n]*\n" "" _nvcc_output "${_nvcc_output_orig}")
+    # Split lines.
+    string(REGEX REPLACE "\n+(#\\\$ )?" ";" _nvcc_output "${_nvcc_output}")
+    foreach(line IN LISTS _nvcc_output)
+      set(_nvcc_output_line "${line}")
+      string(APPEND _nvcc_log "  considering line: [${_nvcc_output_line}]\n")
+      if("${_nvcc_output_line}" MATCHES "^ *nvlink")
+        string(APPEND _nvcc_log "    ignoring nvlink line\n")
+      elseif(_nvcc_libraries)
+        if("${_nvcc_output_line}" MATCHES "(@\"?tmp/a\\.exe\\.res\"?)")
+          set(_nvcc_link_res_arg "${CMAKE_MATCH_1}")
+          set(_nvcc_link_res "${CMAKE_PLATFORM_INFO_DIR}/CompilerIdCUDA/tmp/a.exe.res")
+          if(EXISTS "${_nvcc_link_res}")
+            file(READ "${_nvcc_link_res}" _nvcc_link_res_content)
+            string(REPLACE "${_nvcc_link_res_arg}" "${_nvcc_link_res_content}" _nvcc_output_line "${_nvcc_output_line}")
+          endif()
+        endif()
+        string(FIND "${_nvcc_output_line}" "${_nvcc_libraries}" _nvcc_libraries_pos)
+        if(NOT _nvcc_libraries_pos EQUAL -1)
+          set(_nvcc_link_line "${_nvcc_output_line}")
+          string(APPEND _nvcc_log "    extracted link line: [${_nvcc_link_line}]\n")
+        endif()
+      endif()
+    endforeach()
+  endif()
+
+  if(_nvcc_link_line)
+    if("x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
+      set(CMAKE_CUDA_HOST_LINK_LAUNCHER "${CMAKE_LINKER}")
+    else()
+      #extract the compiler that is being used for linking
+      separate_arguments(_nvcc_link_line_args UNIX_COMMAND "${_nvcc_link_line}")
+      list(GET _nvcc_link_line_args 0 _nvcc_host_link_launcher)
+      if(IS_ABSOLUTE "${_nvcc_host_link_launcher}")
+        string(APPEND _nvcc_log "  extracted link launcher absolute path: [${_nvcc_host_link_launcher}]\n")
+        set(CMAKE_CUDA_HOST_LINK_LAUNCHER "${_nvcc_host_link_launcher}")
+      else()
+        string(APPEND _nvcc_log "  extracted link launcher name: [${_nvcc_host_link_launcher}]\n")
+        find_program(_nvcc_find_host_link_launcher
+          NAMES ${_nvcc_host_link_launcher}
+          PATHS ${_nvcc_path} NO_DEFAULT_PATH)
+        find_program(_nvcc_find_host_link_launcher
+          NAMES ${_nvcc_host_link_launcher})
+        if(_nvcc_find_host_link_launcher)
+          string(APPEND _nvcc_log "  found link launcher absolute path: [${_nvcc_find_host_link_launcher}]\n")
+          set(CMAKE_CUDA_HOST_LINK_LAUNCHER "${_nvcc_find_host_link_launcher}")
+        else()
+          string(APPEND _nvcc_log "  could not find link launcher absolute path\n")
+          set(CMAKE_CUDA_HOST_LINK_LAUNCHER "${_nvcc_host_link_launcher}")
+        endif()
+        unset(_nvcc_find_host_link_launcher CACHE)
+      endif()
+    endif()
+
+    #prefix the line with cuda-fake-ld so that implicit link info believes it is
+    #a link line
+    set(_nvcc_link_line "cuda-fake-ld ${_nvcc_link_line}")
+    CMAKE_PARSE_IMPLICIT_LINK_INFO("${_nvcc_link_line}"
+                                   CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES
+                                   CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES
+                                   CMAKE_CUDA_HOST_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+                                   log
+                                   "${CMAKE_CUDA_IMPLICIT_OBJECT_REGEX}")
+
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+      "Parsed CUDA nvcc implicit link information from above output:\n${_nvcc_log}\n${log}\n\n")
+  else()
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+      "Failed to parsed CUDA nvcc implicit link information:\n${_nvcc_log}\n\n")
+    message(FATAL_ERROR "Failed to extract nvcc implicit link line.")
+  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()
+
+    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()
+
+
+endif()
+
+# configure all variables set in this file
+configure_file(${CMAKE_ROOT}/Modules/CMakeCUDACompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeCUDACompiler.cmake
+  @ONLY
+  )
+
+set(CMAKE_CUDA_COMPILER_ENV_VAR "CUDACXX")
+set(CMAKE_CUDA_HOST_COMPILER_ENV_VAR "CUDAHOSTCXX")
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake
new file mode 100644
index 0000000..4541844
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake
@@ -0,0 +1,195 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for C++ programs
+# NOTE, a generator may set CMAKE_CXX_COMPILER before
+# loading this file to force a compiler.
+# use environment variable CXX first if defined by user, next use
+# the cmake variable CMAKE_GENERATOR_CXX which can be defined by a generator
+# as a default compiler
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# as prefix for the tools (e.g. arm-elf-g++, arm-elf-ar etc.)
+#
+# Sets the following variables:
+#   CMAKE_CXX_COMPILER
+#   CMAKE_COMPILER_IS_GNUCXX
+#   CMAKE_AR
+#   CMAKE_RANLIB
+#
+# If not already set before, it also sets
+#   _CMAKE_TOOLCHAIN_PREFIX
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+# Load system-specific compiler preferences for this language.
+include(Platform/${CMAKE_SYSTEM_NAME}-Determine-CXX OPTIONAL)
+include(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL)
+if(NOT CMAKE_CXX_COMPILER_NAMES)
+  set(CMAKE_CXX_COMPILER_NAMES CC)
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+  set(CMAKE_CXX_COMPILER_XCODE_TYPE sourcecode.cpp.cpp)
+  _cmake_find_compiler_path(CXX)
+else()
+  if(NOT CMAKE_CXX_COMPILER)
+    set(CMAKE_CXX_COMPILER_INIT NOTFOUND)
+
+    # prefer the environment variable CXX
+    if(NOT $ENV{CXX} STREQUAL "")
+      get_filename_component(CMAKE_CXX_COMPILER_INIT $ENV{CXX} PROGRAM PROGRAM_ARGS CMAKE_CXX_FLAGS_ENV_INIT)
+      if(CMAKE_CXX_FLAGS_ENV_INIT)
+        set(CMAKE_CXX_COMPILER_ARG1 "${CMAKE_CXX_FLAGS_ENV_INIT}" CACHE STRING "First argument to CXX compiler")
+      endif()
+      if(NOT EXISTS ${CMAKE_CXX_COMPILER_INIT})
+        message(FATAL_ERROR "Could not find compiler set in environment variable CXX:\n$ENV{CXX}.\n${CMAKE_CXX_COMPILER_INIT}")
+      endif()
+    endif()
+
+    # next prefer the generator specified compiler
+    if(CMAKE_GENERATOR_CXX)
+      if(NOT CMAKE_CXX_COMPILER_INIT)
+        set(CMAKE_CXX_COMPILER_INIT ${CMAKE_GENERATOR_CXX})
+      endif()
+    endif()
+
+    # finally list compilers to try
+    if(NOT CMAKE_CXX_COMPILER_INIT)
+      set(CMAKE_CXX_COMPILER_LIST CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC clang++)
+    endif()
+
+    _cmake_find_compiler(CXX)
+  else()
+    _cmake_find_compiler_path(CXX)
+  endif()
+  mark_as_advanced(CMAKE_CXX_COMPILER)
+
+  # Each entry in this list is a set of extra flags to try
+  # adding to the compile line to see if it helps produce
+  # a valid identification file.
+  set(CMAKE_CXX_COMPILER_ID_TEST_FLAGS_FIRST)
+  set(CMAKE_CXX_COMPILER_ID_TEST_FLAGS
+    # Try compiling to an object file only.
+    "-c"
+    # IAR does not detect language automatically
+    "--c++"
+    "--ec++"
+    )
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_CXX_COMPILER_ID_RUN)
+  set(CMAKE_CXX_COMPILER_ID_RUN 1)
+
+  # Try to identify the compiler.
+  set(CMAKE_CXX_COMPILER_ID)
+  set(CMAKE_CXX_PLATFORM_ID)
+  file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
+    CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT)
+
+  # The IAR compiler produces weird output.
+  # See https://gitlab.kitware.com/cmake/cmake/issues/10176#note_153591
+  list(APPEND CMAKE_CXX_COMPILER_ID_VENDORS IAR)
+  set(CMAKE_CXX_COMPILER_ID_VENDOR_FLAGS_IAR )
+  set(CMAKE_CXX_COMPILER_ID_VENDOR_REGEX_IAR "IAR .+ Compiler")
+
+  # Match the link line from xcodebuild output of the form
+  #  Ld ...
+  #      ...
+  #      /path/to/cc ...CompilerIdCXX/...
+  # to extract the compiler front-end for the language.
+  set(CMAKE_CXX_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdCXX/(\\./)?(CompilerIdCXX.xctest/)?CompilerIdCXX[ \t\n\\\"]")
+  set(CMAKE_CXX_COMPILER_ID_TOOL_MATCH_INDEX 2)
+
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+  CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp)
+  CMAKE_DIAGNOSE_UNSUPPORTED_CLANG(CXX CXX)
+
+  # Set old compiler and platform id variables.
+  if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+    set(CMAKE_COMPILER_IS_GNUCXX 1)
+  endif()
+  if(CMAKE_CXX_PLATFORM_ID MATCHES "MinGW")
+    set(CMAKE_COMPILER_IS_MINGW 1)
+  elseif(CMAKE_CXX_PLATFORM_ID MATCHES "Cygwin")
+    set(CMAKE_COMPILER_IS_CYGWIN 1)
+  endif()
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
+endif ()
+
+# if we have a g++ cross compiler, they have usually some prefix, like
+# e.g. powerpc-linux-g++, arm-elf-g++ or i586-mingw32msvc-g++ , optionally
+# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
+# The other tools of the toolchain usually have the same prefix
+# NAME_WE cannot be used since then this test will fail for names like
+# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
+# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
+
+
+if (CMAKE_CROSSCOMPILING  AND NOT  _CMAKE_TOOLCHAIN_PREFIX)
+
+  if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+    get_filename_component(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
+    if (COMPILER_BASENAME MATCHES "^(.+-)(clan)?[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+    elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+      if(CMAKE_CXX_COMPILER_TARGET)
+        set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_CXX_COMPILER_TARGET}-)
+      endif()
+    elseif(COMPILER_BASENAME MATCHES "QCC(\\.exe)?$")
+      if(CMAKE_CXX_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?")
+        set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-)
+      endif()
+    endif ()
+
+    # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
+    # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
+    if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+    endif ()
+  elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "TI")
+    # TI compilers are named e.g. cl6x, cl470 or armcl.exe
+    get_filename_component(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
+    if (COMPILER_BASENAME MATCHES "^(.+)?cl([^.]+)?(\\.exe)?$")
+      set(_CMAKE_TOOLCHAIN_PREFIX "${CMAKE_MATCH_1}")
+      set(_CMAKE_TOOLCHAIN_SUFFIX "${CMAKE_MATCH_2}")
+    endif ()
+
+  endif()
+
+endif ()
+
+include(CMakeFindBinUtils)
+set(_CMAKE_PROCESSING_LANGUAGE "CXX")
+include(Compiler/${CMAKE_CXX_COMPILER_ID}-FindBinUtils OPTIONAL)
+unset(_CMAKE_PROCESSING_LANGUAGE)
+
+if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID)
+  set(_SET_CMAKE_CXX_COMPILER_ARCHITECTURE_ID
+    "set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID})")
+else()
+  set(_SET_CMAKE_CXX_COMPILER_ARCHITECTURE_ID "")
+endif()
+
+if(MSVC_CXX_ARCHITECTURE_ID)
+  set(SET_MSVC_CXX_ARCHITECTURE_ID
+    "set(MSVC_CXX_ARCHITECTURE_ID ${MSVC_CXX_ARCHITECTURE_ID})")
+endif()
+
+if(CMAKE_CXX_XCODE_CURRENT_ARCH)
+  set(SET_CMAKE_XCODE_CURRENT_ARCH
+    "set(CMAKE_XCODE_CURRENT_ARCH ${CMAKE_CXX_XCODE_CURRENT_ARCH})")
+endif()
+
+# configure all variables set in this file
+configure_file(${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
+  @ONLY
+  )
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake b/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake
new file mode 100644
index 0000000..3ed92be
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake
@@ -0,0 +1,90 @@
+# 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)
+
+    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_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}
+      )
+    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)
+
+    message(STATUS "Detecting ${lang} compile features - done")
+  endif()
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake
new file mode 100644
index 0000000..c37adae
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake
@@ -0,0 +1,120 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+macro(_cmake_find_compiler lang)
+  # Use already-enabled languages for reference.
+  get_property(_languages GLOBAL PROPERTY ENABLED_LANGUAGES)
+  list(REMOVE_ITEM _languages "${lang}")
+
+  if(CMAKE_${lang}_COMPILER_INIT)
+    # Search only for the specified compiler.
+    set(CMAKE_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_INIT}")
+  else()
+    # Re-order the compiler list with preferred vendors first.
+    set(_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_LIST}")
+    set(CMAKE_${lang}_COMPILER_LIST "")
+    # Prefer vendors of compilers from reference languages.
+    foreach(l ${_languages})
+      list(APPEND CMAKE_${lang}_COMPILER_LIST
+        ${_${lang}_COMPILER_NAMES_${CMAKE_${l}_COMPILER_ID}})
+    endforeach()
+    # Prefer vendors based on the platform.
+    list(APPEND CMAKE_${lang}_COMPILER_LIST ${CMAKE_${lang}_COMPILER_NAMES})
+    # Append the rest of the list and remove duplicates.
+    list(APPEND CMAKE_${lang}_COMPILER_LIST ${_${lang}_COMPILER_LIST})
+    unset(_${lang}_COMPILER_LIST)
+    list(REMOVE_DUPLICATES CMAKE_${lang}_COMPILER_LIST)
+    if(CMAKE_${lang}_COMPILER_EXCLUDE)
+      list(REMOVE_ITEM CMAKE_${lang}_COMPILER_LIST
+        ${CMAKE_${lang}_COMPILER_EXCLUDE})
+    endif()
+  endif()
+
+  # Look for directories containing compilers of reference languages.
+  set(_${lang}_COMPILER_HINTS)
+  foreach(l ${_languages})
+    if(CMAKE_${l}_COMPILER AND IS_ABSOLUTE "${CMAKE_${l}_COMPILER}")
+      get_filename_component(_hint "${CMAKE_${l}_COMPILER}" PATH)
+      if(IS_DIRECTORY "${_hint}")
+        list(APPEND _${lang}_COMPILER_HINTS "${_hint}")
+      endif()
+      unset(_hint)
+    endif()
+  endforeach()
+
+  # Find the compiler.
+  if(_${lang}_COMPILER_HINTS)
+    # Prefer directories containing compilers of reference languages.
+    list(REMOVE_DUPLICATES _${lang}_COMPILER_HINTS)
+    find_program(CMAKE_${lang}_COMPILER
+      NAMES ${CMAKE_${lang}_COMPILER_LIST}
+      PATHS ${_${lang}_COMPILER_HINTS}
+      NO_DEFAULT_PATH
+      DOC "${lang} compiler")
+  endif()
+  find_program(CMAKE_${lang}_COMPILER NAMES ${CMAKE_${lang}_COMPILER_LIST} DOC "${lang} compiler")
+  if(CMAKE_${lang}_COMPILER_INIT AND NOT CMAKE_${lang}_COMPILER)
+    set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${CMAKE_${lang}_COMPILER_INIT}")
+  endif()
+  unset(_${lang}_COMPILER_HINTS)
+  unset(_languages)
+
+  # Look for a make tool provided by Xcode
+  if(CMAKE_HOST_APPLE)
+    macro(_query_xcrun compiler_name result_var_keyword result_var)
+      if(NOT "x${result_var_keyword}" STREQUAL "xRESULT_VAR")
+        message(FATAL_ERROR "Bad arguments to macro")
+      endif()
+      execute_process(COMMAND xcrun --find ${compiler_name}
+        OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
+        ERROR_VARIABLE _xcrun_err)
+      set("${result_var}" "${_xcrun_out}")
+    endmacro()
+
+    set(xcrun_result)
+    if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
+      _query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
+    elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
+      foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
+        _query_xcrun("${comp}" RESULT_VAR xcrun_result)
+        if(xcrun_result)
+          break()
+        endif()
+      endforeach()
+    endif()
+    if (xcrun_result)
+      set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${xcrun_result}")
+    endif()
+  endif()
+endmacro()
+
+macro(_cmake_find_compiler_path lang)
+  if(CMAKE_${lang}_COMPILER)
+    # we only get here if CMAKE_${lang}_COMPILER was specified using -D or a pre-made CMakeCache.txt
+    # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
+    # if CMAKE_${lang}_COMPILER is a list of length 2, use the first item as
+    # CMAKE_${lang}_COMPILER and the 2nd one as CMAKE_${lang}_COMPILER_ARG1
+    list(LENGTH CMAKE_${lang}_COMPILER _CMAKE_${lang}_COMPILER_LIST_LENGTH)
+    if("${_CMAKE_${lang}_COMPILER_LIST_LENGTH}" EQUAL 2)
+      list(GET CMAKE_${lang}_COMPILER 1 CMAKE_${lang}_COMPILER_ARG1)
+      list(GET CMAKE_${lang}_COMPILER 0 CMAKE_${lang}_COMPILER)
+    endif()
+    unset(_CMAKE_${lang}_COMPILER_LIST_LENGTH)
+
+    # find the compiler in the PATH if necessary
+    get_filename_component(_CMAKE_USER_${lang}_COMPILER_PATH "${CMAKE_${lang}_COMPILER}" PATH)
+    if(NOT _CMAKE_USER_${lang}_COMPILER_PATH)
+      find_program(CMAKE_${lang}_COMPILER_WITH_PATH NAMES ${CMAKE_${lang}_COMPILER})
+      if(CMAKE_${lang}_COMPILER_WITH_PATH)
+        set(CMAKE_${lang}_COMPILER ${CMAKE_${lang}_COMPILER_WITH_PATH})
+        get_property(_CMAKE_${lang}_COMPILER_CACHED CACHE CMAKE_${lang}_COMPILER PROPERTY TYPE)
+        if(_CMAKE_${lang}_COMPILER_CACHED)
+          set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER}" CACHE STRING "${lang} compiler" FORCE)
+        endif()
+        unset(_CMAKE_${lang}_COMPILER_CACHED)
+      endif()
+      unset(CMAKE_${lang}_COMPILER_WITH_PATH CACHE)
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake b/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake
new file mode 100644
index 0000000..604ac27
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake
@@ -0,0 +1,127 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Function to compile a source file to identify the compiler ABI.
+# This is used internally by CMake and should not be included by user
+# code.
+
+include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
+
+function(CMAKE_DETERMINE_COMPILER_ABI lang src)
+  if(NOT DEFINED CMAKE_${lang}_ABI_COMPILED)
+    message(STATUS "Detecting ${lang} compiler ABI info")
+
+    # Compile the ABI identification source.
+    set(BIN "${CMAKE_PLATFORM_INFO_DIR}/CMakeDetermineCompilerABI_${lang}.bin")
+    set(CMAKE_FLAGS )
+    if(DEFINED CMAKE_${lang}_VERBOSE_FLAG)
+      set(CMAKE_FLAGS "-DEXE_LINKER_FLAGS=${CMAKE_${lang}_VERBOSE_FLAG}")
+    endif()
+    if(NOT "x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xMSVC")
+      # Avoid adding our own platform standard libraries for compilers
+      # from which we might detect implicit link libraries.
+      list(APPEND CMAKE_FLAGS "-DCMAKE_${lang}_STANDARD_LIBRARIES=")
+    endif()
+    try_compile(CMAKE_${lang}_ABI_COMPILED
+      ${CMAKE_BINARY_DIR} ${src}
+      CMAKE_FLAGS ${CMAKE_FLAGS}
+                  # Ignore unused flags when we are just determining the ABI.
+                  "--no-warn-unused-cli"
+      OUTPUT_VARIABLE OUTPUT
+      COPY_FILE "${BIN}"
+      COPY_FILE_ERROR _copy_error
+      )
+    # Move result from cache to normal variable.
+    set(CMAKE_${lang}_ABI_COMPILED ${CMAKE_${lang}_ABI_COMPILED})
+    unset(CMAKE_${lang}_ABI_COMPILED CACHE)
+    set(CMAKE_${lang}_ABI_COMPILED ${CMAKE_${lang}_ABI_COMPILED} PARENT_SCOPE)
+
+    # Load the resulting information strings.
+    if(CMAKE_${lang}_ABI_COMPILED AND NOT _copy_error)
+      message(STATUS "Detecting ${lang} compiler ABI info - 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_]+\\[[^]]*\\]")
+      foreach(info ${ABI_STRINGS})
+        if("${info}" MATCHES "INFO:sizeof_dptr\\[0*([^]]*)\\]")
+          set(ABI_SIZEOF_DPTR "${CMAKE_MATCH_1}")
+        endif()
+        if("${info}" MATCHES "INFO:abi\\[([^]]*)\\]")
+          set(ABI_NAME "${CMAKE_MATCH_1}")
+        endif()
+      endforeach()
+
+      if(ABI_SIZEOF_DPTR)
+        set(CMAKE_${lang}_SIZEOF_DATA_PTR "${ABI_SIZEOF_DPTR}" PARENT_SCOPE)
+      elseif(CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT)
+        set(CMAKE_${lang}_SIZEOF_DATA_PTR "${CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT}" PARENT_SCOPE)
+      endif()
+
+      if(ABI_NAME)
+        set(CMAKE_${lang}_COMPILER_ABI "${ABI_NAME}" PARENT_SCOPE)
+      endif()
+
+      # Parse implicit linker information for this language, if available.
+      set(implicit_dirs "")
+      set(implicit_libs "")
+      set(implicit_fwks "")
+      if(CMAKE_${lang}_VERBOSE_FLAG)
+        CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs implicit_fwks log
+          "${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "Parsed ${lang} implicit link information from above output:\n${log}\n\n")
+      endif()
+      # for VS IDE Intel Fortran we have to figure out the
+      # implicit link path for the fortran run time using
+      # 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}")
+        # Build a sample project which reports symbols.
+        try_compile(IFORT_LIB_PATH_COMPILED
+          ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath
+          ${CMAKE_ROOT}/Modules/IntelVSImplicitPath
+          IntelFortranImplicit
+          CMAKE_FLAGS
+          "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
+          OUTPUT_VARIABLE _output)
+        file(WRITE
+          "${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}")
+      endif()
+
+      # Implicit link libraries cannot be used explicitly for multiple
+      # OS X architectures, so we skip it.
+      if(DEFINED CMAKE_OSX_ARCHITECTURES)
+        if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ";")
+          set(implicit_libs "")
+        endif()
+      endif()
+
+      set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)
+      set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
+      set(CMAKE_${lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "${implicit_fwks}" PARENT_SCOPE)
+
+      # Detect library architecture directory name.
+      if(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
+        foreach(dir ${implicit_dirs})
+          if("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$")
+            get_filename_component(arch "${dir}" NAME)
+            set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${arch}" PARENT_SCOPE)
+            break()
+          endif()
+        endforeach()
+      endif()
+
+    else()
+      message(STATUS "Detecting ${lang} compiler ABI info - 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()
+  endif()
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake b/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake
new file mode 100644
index 0000000..15c304c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake
@@ -0,0 +1,772 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Function to compile a source file to identify the compiler.  This is
+# used internally by CMake and should not be included by user code.
+# If successful, sets CMAKE_<lang>_COMPILER_ID and CMAKE_<lang>_PLATFORM_ID
+
+function(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
+  # Make sure the compiler arguments are clean.
+  string(STRIP "${CMAKE_${lang}_COMPILER_ARG1}" CMAKE_${lang}_COMPILER_ID_ARG1)
+  string(REGEX REPLACE " +" ";" CMAKE_${lang}_COMPILER_ID_ARG1 "${CMAKE_${lang}_COMPILER_ID_ARG1}")
+
+  # Make sure user-specified compiler flags are used.
+  if(CMAKE_${lang}_FLAGS)
+    set(CMAKE_${lang}_COMPILER_ID_FLAGS ${CMAKE_${lang}_FLAGS})
+  else()
+    set(CMAKE_${lang}_COMPILER_ID_FLAGS $ENV{${flagvar}})
+  endif()
+  string(REPLACE " " ";" CMAKE_${lang}_COMPILER_ID_FLAGS_LIST "${CMAKE_${lang}_COMPILER_ID_FLAGS}")
+
+  # Compute the directory in which to run the test.
+  set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})
+
+  # Try building with no extra flags and then try each set
+  # of helper flags.  Stop when the compiler is identified.
+  foreach(userflags "${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}" "")
+    foreach(testflags ${CMAKE_${lang}_COMPILER_ID_TEST_FLAGS_FIRST}
+                      ""
+                      ${CMAKE_${lang}_COMPILER_ID_TEST_FLAGS})
+      CMAKE_DETERMINE_COMPILER_ID_BUILD("${lang}" "${testflags}" "${userflags}" "${src}")
+      CMAKE_DETERMINE_COMPILER_ID_MATCH_VENDOR("${lang}" "${COMPILER_${lang}_PRODUCED_OUTPUT}")
+      if(CMAKE_${lang}_COMPILER_ID)
+        break()
+      endif()
+      foreach(file ${COMPILER_${lang}_PRODUCED_FILES})
+        CMAKE_DETERMINE_COMPILER_ID_CHECK("${lang}" "${CMAKE_${lang}_COMPILER_ID_DIR}/${file}" "${src}")
+      endforeach()
+      if(CMAKE_${lang}_COMPILER_ID)
+        break()
+      endif()
+    endforeach()
+    if(CMAKE_${lang}_COMPILER_ID)
+      break()
+    endif()
+  endforeach()
+
+  # If the compiler is still unknown, try to query its vendor.
+  if(CMAKE_${lang}_COMPILER AND NOT CMAKE_${lang}_COMPILER_ID)
+    foreach(userflags "${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}" "")
+      CMAKE_DETERMINE_COMPILER_ID_VENDOR(${lang} "${userflags}")
+    endforeach()
+  endif()
+
+  if (COMPILER_QNXNTO AND CMAKE_${lang}_COMPILER_ID STREQUAL "GNU")
+    execute_process(
+      COMMAND "${CMAKE_${lang}_COMPILER}"
+      -V
+      OUTPUT_VARIABLE output ERROR_VARIABLE output
+      RESULT_VARIABLE result
+      TIMEOUT 10
+      )
+    if (output MATCHES "targets available")
+      set(CMAKE_${lang}_COMPILER_ID QCC)
+      # http://community.qnx.com/sf/discussion/do/listPosts/projects.community/discussion.qnx_momentics_community_support.topc3555?_pagenum=2
+      # The qcc driver does not itself have a version.
+    endif()
+  endif()
+
+  # if the format is unknown after all files have been checked, put "Unknown" in the cache
+  if(NOT CMAKE_EXECUTABLE_FORMAT)
+    set(CMAKE_EXECUTABLE_FORMAT "Unknown" CACHE INTERNAL "Executable file format")
+  endif()
+
+  if(CMAKE_GENERATOR STREQUAL "Ninja" AND MSVC_${lang}_ARCHITECTURE_ID)
+    foreach(userflags "${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}" "")
+      CMAKE_DETERMINE_MSVC_SHOWINCLUDES_PREFIX(${lang} "${userflags}")
+    endforeach()
+  else()
+    set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "")
+  endif()
+
+  # Display the final identification result.
+  if(CMAKE_${lang}_COMPILER_ID)
+    if(CMAKE_${lang}_COMPILER_VERSION)
+      set(_version " ${CMAKE_${lang}_COMPILER_VERSION}")
+    else()
+      set(_version "")
+    endif()
+    message(STATUS "The ${lang} compiler identification is "
+      "${CMAKE_${lang}_COMPILER_ID}${_version}")
+  else()
+    message(STATUS "The ${lang} compiler identification is unknown")
+  endif()
+
+  # Check if compiler id detection gave us the compiler tool.
+  if(CMAKE_${lang}_COMPILER_ID_TOOL)
+    set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER_ID_TOOL}" PARENT_SCOPE)
+  elseif(NOT CMAKE_${lang}_COMPILER)
+    set(CMAKE_${lang}_COMPILER "CMAKE_${lang}_COMPILER-NOTFOUND" 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)
+  set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
+    PARENT_SCOPE)
+  set(CMAKE_${lang}_XCODE_CURRENT_ARCH "${CMAKE_${lang}_XCODE_CURRENT_ARCH}" PARENT_SCOPE)
+  set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "${CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_VERSION_INTERNAL "${CMAKE_${lang}_COMPILER_VERSION_INTERNAL}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_WRAPPER "${CMAKE_${lang}_COMPILER_WRAPPER}" PARENT_SCOPE)
+  set(CMAKE_${lang}_SIMULATE_ID "${CMAKE_${lang}_SIMULATE_ID}" PARENT_SCOPE)
+  set(CMAKE_${lang}_SIMULATE_VERSION "${CMAKE_${lang}_SIMULATE_VERSION}" PARENT_SCOPE)
+  set(CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT "${CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_PRODUCED_OUTPUT "${COMPILER_${lang}_PRODUCED_OUTPUT}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_PRODUCED_FILES "${COMPILER_${lang}_PRODUCED_FILES}" PARENT_SCOPE)
+endfunction()
+
+include(CMakeCompilerIdDetection)
+
+#-----------------------------------------------------------------------------
+# Function to write the compiler id source file.
+function(CMAKE_DETERMINE_COMPILER_ID_WRITE lang src)
+  find_file(src_in ${src}.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  file(READ ${src_in} ID_CONTENT_IN)
+
+  compiler_id_detection(CMAKE_${lang}_COMPILER_ID_CONTENT ${lang}
+    ID_STRING
+    VERSION_STRINGS
+    PLATFORM_DEFAULT_COMPILER
+  )
+
+  unset(src_in CACHE)
+  string(CONFIGURE "${ID_CONTENT_IN}" ID_CONTENT_OUT @ONLY)
+  file(WRITE ${CMAKE_${lang}_COMPILER_ID_DIR}/${src} "${ID_CONTENT_OUT}")
+endfunction()
+
+#-----------------------------------------------------------------------------
+# Function to build the compiler id source file and look for output
+# files.
+function(CMAKE_DETERMINE_COMPILER_ID_BUILD lang testflags userflags src)
+  # Create a clean working directory.
+  file(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
+  file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
+  file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}/tmp)
+  CMAKE_DETERMINE_COMPILER_ID_WRITE("${lang}" "${src}")
+
+  # Construct a description of this test case.
+  set(COMPILER_DESCRIPTION
+    "Compiler: ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_ARG1}
+Build flags: ${userflags}
+Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
+")
+
+  # Compile the compiler identification source.
+  if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([0-9]+)")
+    set(vs_version ${CMAKE_MATCH_1})
+    set(id_platform ${CMAKE_VS_PLATFORM_NAME})
+    set(id_lang "${lang}")
+    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
+      set(id_cl clang.exe)
+    else()
+      set(id_cl cl.exe)
+    endif()
+    if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+      set(v NsightTegra)
+      set(ext vcxproj)
+      if(lang STREQUAL CXX)
+        set(id_gcc g++)
+        set(id_clang clang++)
+      else()
+        set(id_gcc gcc)
+        set(id_clang clang)
+      endif()
+    elseif(lang STREQUAL Fortran)
+      set(v Intel)
+      set(ext vfproj)
+      set(id_cl ifort.exe)
+    elseif(lang STREQUAL CSharp)
+      set(v 10)
+      set(ext csproj)
+      set(id_cl csc.exe)
+    elseif(NOT "${vs_version}" VERSION_LESS 10)
+      set(v 10)
+      set(ext vcxproj)
+    else()
+      set(id_version ${vs_version}.00)
+      set(v 7)
+      set(ext vcproj)
+    endif()
+    if(CMAKE_VS_PLATFORM_TOOLSET)
+      if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+        set(id_toolset "<NdkToolchainVersion>${CMAKE_VS_PLATFORM_TOOLSET}</NdkToolchainVersion>")
+      else()
+        set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
+        if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "Intel")
+          set(id_cl icl.exe)
+        endif()
+      endif()
+    else()
+      set(id_toolset "")
+    endif()
+    if(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE)
+      set(id_PreferredToolArchitecture "<PreferredToolArchitecture>${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}</PreferredToolArchitecture>")
+    else()
+      set(id_PreferredToolArchitecture "")
+    endif()
+    if(CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone")
+      set(id_system "<ApplicationType>Windows Phone</ApplicationType>")
+    elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+      set(id_system "<ApplicationType>Windows Store</ApplicationType>")
+    else()
+      set(id_system "")
+    endif()
+    if(id_system AND CMAKE_SYSTEM_VERSION)
+      set(id_system_version "<ApplicationTypeRevision>${CMAKE_SYSTEM_VERSION}</ApplicationTypeRevision>")
+    else()
+      set(id_system_version "")
+    endif()
+    if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION)
+      set(id_WindowsTargetPlatformVersion "<WindowsTargetPlatformVersion>${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}</WindowsTargetPlatformVersion>")
+    endif()
+    if(id_platform STREQUAL ARM64)
+      set(id_WindowsSDKDesktopARMSupport "<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>")
+    elseif(id_platform STREQUAL ARM)
+      set(id_WindowsSDKDesktopARMSupport "<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>")
+    else()
+      set(id_WindowsSDKDesktopARMSupport "")
+    endif()
+    if(CMAKE_VS_WINCE_VERSION)
+      set(id_entrypoint "mainACRTStartup")
+      if("${vs_version}" VERSION_LESS 9)
+        set(id_subsystem 9)
+      else()
+        set(id_subsystem 8)
+      endif()
+    else()
+      set(id_subsystem 1)
+    endif()
+    set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
+    set(id_src "${src}")
+    set(id_compile "ClCompile")
+    set(id_PostBuildEvent_Command "for %%i in (${id_cl}) do %40echo CMAKE_${lang}_COMPILER=%%~$PATH:i")
+    set(id_Import_props "")
+    set(id_Import_targets "")
+    set(id_ItemDefinitionGroup_entry "")
+    set(id_Link_AdditionalDependencies "")
+    if(lang STREQUAL CUDA)
+      if(NOT CMAKE_VS_PLATFORM_TOOLSET_CUDA)
+        message(FATAL_ERROR "No CUDA toolset found.")
+      endif()
+      set(cuda_tools "CUDA ${CMAKE_VS_PLATFORM_TOOLSET_CUDA}")
+      set(id_compile "CudaCompile")
+      set(id_PostBuildEvent_Command [[echo CMAKE_CUDA_COMPILER=$(CudaToolkitBinDir)\nvcc.exe]])
+      string(CONCAT id_Import_props [[<Import Project="$(VCTargetsPath)\BuildCustomizations\]] "${cuda_tools}" [[.props" />]])
+      string(CONCAT id_Import_targets [[<Import Project="$(VCTargetsPath)\BuildCustomizations\]] "${cuda_tools}" [[.targets" />]])
+      if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
+        set(id_ItemDefinitionGroup_entry "<CudaCompile><TargetMachinePlatform>64</TargetMachinePlatform></CudaCompile>")
+      endif()
+      set(id_Link_AdditionalDependencies "<AdditionalDependencies>cudart.lib</AdditionalDependencies>")
+    endif()
+    configure_file(${CMAKE_ROOT}/Modules/CompilerId/VS-${v}.${ext}.in
+      ${id_dir}/CompilerId${lang}.${ext} @ONLY)
+    if(CMAKE_VS_MSBUILD_COMMAND AND NOT lang STREQUAL "Fortran")
+      set(command "${CMAKE_VS_MSBUILD_COMMAND}" "CompilerId${lang}.${ext}"
+        "/p:Configuration=Debug" "/p:Platform=${id_platform}" "/p:VisualStudioVersion=${vs_version}.0"
+        )
+    elseif(CMAKE_VS_DEVENV_COMMAND)
+      set(command "${CMAKE_VS_DEVENV_COMMAND}" "CompilerId${lang}.${ext}" "/build" "Debug")
+    else()
+      set(command "")
+    endif()
+    if(command)
+      execute_process(
+        COMMAND ${command}
+        WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
+        OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+        ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+        RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
+        )
+    else()
+      set(CMAKE_${lang}_COMPILER_ID_RESULT 1)
+      set(CMAKE_${lang}_COMPILER_ID_OUTPUT "VS environment not known to support ${lang}")
+    endif()
+    # Match the compiler location line printed out.
+    if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "CMAKE_${lang}_COMPILER=([^%\r\n]+)[\r\n]")
+      # Strip VS diagnostic output from the end of the line.
+      string(REGEX REPLACE " \\(TaskId:[0-9]*\\)$" "" _comp "${CMAKE_MATCH_1}")
+      if(EXISTS "${_comp}")
+        file(TO_CMAKE_PATH "${_comp}" _comp)
+        set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
+      endif()
+    endif()
+  elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+    set(id_lang "${lang}")
+    set(id_type ${CMAKE_${lang}_COMPILER_XCODE_TYPE})
+    set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
+    set(id_src "${src}")
+    if(CMAKE_XCODE_PLATFORM_TOOLSET)
+      set(id_toolset "GCC_VERSION = ${CMAKE_XCODE_PLATFORM_TOOLSET};")
+    else()
+      set(id_toolset "")
+    endif()
+    if("${lang}" STREQUAL "Swift")
+      if(CMAKE_Swift_LANGUAGE_VERSION)
+        set(id_lang_version "SWIFT_VERSION = ${CMAKE_Swift_LANGUAGE_VERSION};")
+      elseif(XCODE_VERSION VERSION_GREATER_EQUAL 8.3)
+        set(id_lang_version "SWIFT_VERSION = 3.0;")
+      else()
+        set(id_lang_version "SWIFT_VERSION = 2.3;")
+      endif()
+    else()
+      set(id_lang_version "")
+    endif()
+    if(CMAKE_OSX_DEPLOYMENT_TARGET)
+      set(id_deployment_target
+        "MACOSX_DEPLOYMENT_TARGET = \"${CMAKE_OSX_DEPLOYMENT_TARGET}\";")
+    else()
+      set(id_deployment_target "")
+    endif()
+    set(id_product_type "com.apple.product-type.tool")
+    if(CMAKE_OSX_SYSROOT)
+      set(id_sdkroot "SDKROOT = \"${CMAKE_OSX_SYSROOT}\";")
+      if(CMAKE_OSX_SYSROOT MATCHES "(^|/)[Ii][Pp][Hh][Oo][Nn][Ee]" OR
+        CMAKE_OSX_SYSROOT MATCHES "(^|/)[Aa][Pp][Pp][Ll][Ee][Tt][Vv]")
+        set(id_product_type "com.apple.product-type.bundle.unit-test")
+      endif()
+    else()
+      set(id_sdkroot "")
+    endif()
+    if(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM)
+      set(id_development_team
+        "DEVELOPMENT_TEAM = \"${CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM}\";")
+    else()
+      set(id_development_team "")
+    endif()
+    configure_file(${CMAKE_ROOT}/Modules/CompilerId/Xcode-3.pbxproj.in
+      ${id_dir}/CompilerId${lang}.xcodeproj/project.pbxproj @ONLY)
+    unset(_ENV_MACOSX_DEPLOYMENT_TARGET)
+    if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
+      set(_ENV_MACOSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}")
+      set(ENV{MACOSX_DEPLOYMENT_TARGET} "")
+    endif()
+    execute_process(COMMAND xcodebuild
+      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
+      OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+      ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+      RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
+      )
+    if(DEFINED _ENV_MACOSX_DEPLOYMENT_TARGET)
+      set(ENV{MACOSX_DEPLOYMENT_TARGET} "${_ENV_MACOSX_DEPLOYMENT_TARGET}")
+    endif()
+
+    if(DEFINED CMAKE_${lang}_COMPILER_ID_TOOL_MATCH_REGEX)
+      if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "${CMAKE_${lang}_COMPILER_ID_TOOL_MATCH_REGEX}")
+        set(_comp "${CMAKE_MATCH_${CMAKE_${lang}_COMPILER_ID_TOOL_MATCH_INDEX}}")
+        if(EXISTS "${_comp}")
+          set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
+        endif()
+      endif()
+    endif()
+    if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "CURRENT_ARCH=([^%\r\n]+)[\r\n]")
+      set(CMAKE_${lang}_XCODE_CURRENT_ARCH "${CMAKE_MATCH_1}" PARENT_SCOPE)
+    endif()
+  else()
+    execute_process(
+      COMMAND "${CMAKE_${lang}_COMPILER}"
+              ${CMAKE_${lang}_COMPILER_ID_ARG1}
+              ${userflags}
+              ${testflags}
+              ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
+              "${src}"
+      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
+      OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+      ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+      RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
+      )
+  endif()
+
+  # Check the result of compilation.
+  if(CMAKE_${lang}_COMPILER_ID_RESULT
+     # Intel Fortran warns and ignores preprocessor lines without /fpp
+     OR CMAKE_${lang}_COMPILER_ID_OUTPUT MATCHES "Bad # preprocessor line"
+     )
+    # Compilation failed.
+    set(MSG
+      "Compiling the ${lang} compiler identification source file \"${src}\" failed.
+${COMPILER_DESCRIPTION}
+The output was:
+${CMAKE_${lang}_COMPILER_ID_RESULT}
+${CMAKE_${lang}_COMPILER_ID_OUTPUT}
+
+")
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${MSG}")
+    #if(NOT CMAKE_${lang}_COMPILER_ID_ALLOW_FAIL)
+    #  message(FATAL_ERROR "${MSG}")
+    #endif()
+
+    # No output files should be inspected.
+    set(COMPILER_${lang}_PRODUCED_FILES)
+    set(COMPILER_${lang}_PRODUCED_OUTPUT)
+  else()
+    # Compilation succeeded.
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+      "Compiling the ${lang} compiler identification source file \"${src}\" succeeded.
+${COMPILER_DESCRIPTION}
+The output was:
+${CMAKE_${lang}_COMPILER_ID_RESULT}
+${CMAKE_${lang}_COMPILER_ID_OUTPUT}
+
+")
+
+    # Find the executable produced by the compiler, try all files in the
+    # binary dir.
+    string(REGEX REPLACE "([][])" "[\\1]" _glob_id_dir "${CMAKE_${lang}_COMPILER_ID_DIR}")
+    file(GLOB files
+      RELATIVE ${CMAKE_${lang}_COMPILER_ID_DIR}
+
+      # normal case
+      ${_glob_id_dir}/*
+
+      # com.apple.package-type.bundle.unit-test
+      ${_glob_id_dir}/*.xctest/*
+      )
+    list(REMOVE_ITEM files "${src}")
+    set(COMPILER_${lang}_PRODUCED_FILES "")
+    foreach(file ${files})
+      if(NOT IS_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}/${file})
+        list(APPEND COMPILER_${lang}_PRODUCED_FILES ${file})
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "Compilation of the ${lang} compiler identification source \""
+          "${src}\" produced \"${file}\"\n\n")
+      endif()
+    endforeach()
+
+    if(NOT COMPILER_${lang}_PRODUCED_FILES)
+      # No executable was found.
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Compilation of the ${lang} compiler identification source \""
+        "${src}\" did not produce an executable in \""
+        "${CMAKE_${lang}_COMPILER_ID_DIR}\".\n\n")
+    endif()
+
+    set(COMPILER_${lang}_PRODUCED_OUTPUT "${CMAKE_${lang}_COMPILER_ID_OUTPUT}")
+  endif()
+
+  # Return the files produced by the compilation.
+  set(COMPILER_${lang}_PRODUCED_FILES "${COMPILER_${lang}_PRODUCED_FILES}" PARENT_SCOPE)
+  set(COMPILER_${lang}_PRODUCED_OUTPUT "${COMPILER_${lang}_PRODUCED_OUTPUT}" PARENT_SCOPE)
+
+endfunction()
+
+#-----------------------------------------------------------------------------
+# Function to extract the compiler id from compiler output.
+function(CMAKE_DETERMINE_COMPILER_ID_MATCH_VENDOR lang output)
+  foreach(vendor ${CMAKE_${lang}_COMPILER_ID_MATCH_VENDORS})
+    if(output MATCHES "${CMAKE_${lang}_COMPILER_ID_MATCH_VENDOR_REGEX_${vendor}}")
+      set(CMAKE_${lang}_COMPILER_ID "${vendor}")
+    endif()
+  endforeach()
+  set(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
+endfunction()
+
+#-----------------------------------------------------------------------------
+# Function to extract the compiler id from an executable.
+function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
+  # Look for a compiler id if not yet known.
+  if(NOT CMAKE_${lang}_COMPILER_ID)
+    # Read the compiler identification string from the executable file.
+    set(COMPILER_ID)
+    set(COMPILER_VERSION)
+    set(COMPILER_VERSION_MAJOR 0)
+    set(COMPILER_VERSION_MINOR 0)
+    set(COMPILER_VERSION_PATCH 0)
+    set(COMPILER_VERSION_TWEAK 0)
+    set(COMPILER_VERSION_INTERNAL "")
+    set(HAVE_COMPILER_VERSION_MAJOR 0)
+    set(HAVE_COMPILER_VERSION_MINOR 0)
+    set(HAVE_COMPILER_VERSION_PATCH 0)
+    set(HAVE_COMPILER_VERSION_TWEAK 0)
+    set(COMPILER_WRAPPER)
+    set(DIGIT_VALUE_1 1)
+    set(DIGIT_VALUE_2 10)
+    set(DIGIT_VALUE_3 100)
+    set(DIGIT_VALUE_4 1000)
+    set(DIGIT_VALUE_5 10000)
+    set(DIGIT_VALUE_6 100000)
+    set(DIGIT_VALUE_7 1000000)
+    set(DIGIT_VALUE_8 10000000)
+    set(PLATFORM_ID)
+    set(ARCHITECTURE_ID)
+    set(SIMULATE_ID)
+    set(SIMULATE_VERSION)
+    file(STRINGS ${file}
+      CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 38
+      ${CMAKE_${lang}_COMPILER_ID_STRINGS_PARAMETERS}
+      REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
+    set(COMPILER_ID_TWICE)
+    # In C# binaries, some strings are found more than once.
+    list(REMOVE_DUPLICATES CMAKE_${lang}_COMPILER_ID_STRINGS)
+    foreach(info ${CMAKE_${lang}_COMPILER_ID_STRINGS})
+      if("${info}" MATCHES "INFO:compiler\\[([^]\"]*)\\]")
+        if(COMPILER_ID)
+          set(COMPILER_ID_TWICE 1)
+        endif()
+        set(COMPILER_ID "${CMAKE_MATCH_1}")
+      endif()
+      if("${info}" MATCHES "INFO:platform\\[([^]\"]*)\\]")
+        set(PLATFORM_ID "${CMAKE_MATCH_1}")
+      endif()
+      if("${info}" MATCHES "INFO:arch\\[([^]\"]*)\\]")
+        set(ARCHITECTURE_ID "${CMAKE_MATCH_1}")
+      endif()
+      if("${info}" MATCHES "INFO:compiler_version\\[([^]\"]*)\\]")
+        string(REGEX REPLACE "^0+([0-9])" "\\1" COMPILER_VERSION "${CMAKE_MATCH_1}")
+        string(REGEX REPLACE "\\.0+([0-9])" ".\\1" COMPILER_VERSION "${COMPILER_VERSION}")
+      endif()
+      if("${info}" MATCHES "INFO:compiler_version_internal\\[([^]\"]*)\\]")
+        string(REGEX REPLACE "^0+([0-9])" "\\1" COMPILER_VERSION_INTERNAL "${CMAKE_MATCH_1}")
+        string(REGEX REPLACE "\\.0+([0-9])" ".\\1" COMPILER_VERSION_INTERNAL "${COMPILER_VERSION_INTERNAL}")
+      endif()
+      foreach(comp MAJOR MINOR PATCH TWEAK)
+        foreach(digit 1 2 3 4 5 6 7 8 9)
+          if("${info}" MATCHES "INFO:compiler_version_${comp}_digit_${digit}\\[([0-9])\\]")
+            set(value ${CMAKE_MATCH_1})
+            math(EXPR COMPILER_VERSION_${comp} "${COMPILER_VERSION_${comp}} + ${value} * ${DIGIT_VALUE_${digit}}")
+            set(HAVE_COMPILER_VERSION_${comp} 1)
+          endif()
+        endforeach()
+      endforeach()
+      if("${info}" MATCHES "INFO:compiler_wrapper\\[([^]\"]*)\\]")
+        set(COMPILER_WRAPPER "${CMAKE_MATCH_1}")
+      endif()
+      if("${info}" MATCHES "INFO:simulate\\[([^]\"]*)\\]")
+        set(SIMULATE_ID "${CMAKE_MATCH_1}")
+      endif()
+      if("${info}" MATCHES "INFO:simulate_version\\[([^]\"]*)\\]")
+        string(REGEX REPLACE "^0+([0-9])" "\\1" SIMULATE_VERSION "${CMAKE_MATCH_1}")
+        string(REGEX REPLACE "\\.0+([0-9])" ".\\1" SIMULATE_VERSION "${SIMULATE_VERSION}")
+      endif()
+      if("${info}" MATCHES "INFO:qnxnto\\[\\]")
+        set(COMPILER_QNXNTO 1)
+      endif()
+      if("${info}" MATCHES "INFO:dialect_default\\[([^]\"]*)\\]")
+        set(CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT "${CMAKE_MATCH_1}")
+      endif()
+    endforeach()
+
+    # Construct compiler version from components if needed.
+    if(NOT DEFINED COMPILER_VERSION AND HAVE_COMPILER_VERSION_MAJOR)
+      set(COMPILER_VERSION "${COMPILER_VERSION_MAJOR}")
+      if(HAVE_COMPILER_VERSION_MINOR)
+        string(APPEND COMPILER_VERSION ".${COMPILER_VERSION_MINOR}")
+        if(HAVE_COMPILER_VERSION_PATCH)
+          string(APPEND COMPILER_VERSION ".${COMPILER_VERSION_PATCH}")
+          if(HAVE_COMPILER_VERSION_TWEAK)
+            string(APPEND COMPILER_VERSION ".${COMPILER_VERSION_TWEAK}")
+          endif()
+        endif()
+      endif()
+    endif()
+
+    # Detect the exact architecture from the PE header.
+    if(WIN32)
+      # The offset to the PE signature is stored at 0x3c.
+      file(READ ${file} peoffsethex LIMIT 1 OFFSET 60 HEX)
+      string(SUBSTRING "${peoffsethex}" 0 1 peoffsethex1)
+      string(SUBSTRING "${peoffsethex}" 1 1 peoffsethex2)
+      set(peoffsetexpression "${peoffsethex1} * 16 + ${peoffsethex2}")
+      string(REPLACE "a" "10" peoffsetexpression "${peoffsetexpression}")
+      string(REPLACE "b" "11" peoffsetexpression "${peoffsetexpression}")
+      string(REPLACE "c" "12" peoffsetexpression "${peoffsetexpression}")
+      string(REPLACE "d" "13" peoffsetexpression "${peoffsetexpression}")
+      string(REPLACE "e" "14" peoffsetexpression "${peoffsetexpression}")
+      string(REPLACE "f" "15" peoffsetexpression "${peoffsetexpression}")
+      math(EXPR peoffset "${peoffsetexpression}")
+
+      file(READ ${file} peheader LIMIT 6 OFFSET ${peoffset} HEX)
+      if(peheader STREQUAL "50450000a201")
+        set(ARCHITECTURE_ID "SH3")
+      elseif(peheader STREQUAL "50450000a301")
+        set(ARCHITECTURE_ID "SH3DSP")
+      elseif(peheader STREQUAL "50450000a601")
+        set(ARCHITECTURE_ID "SH4")
+      elseif(peheader STREQUAL "50450000a801")
+        set(ARCHITECTURE_ID "SH5")
+      endif()
+    endif()
+
+    # Check if a valid compiler and platform were found.
+    if(COMPILER_ID AND NOT COMPILER_ID_TWICE)
+      set(CMAKE_${lang}_COMPILER_ID "${COMPILER_ID}")
+      set(CMAKE_${lang}_PLATFORM_ID "${PLATFORM_ID}")
+      set(CMAKE_${lang}_COMPILER_ARCHITECTURE_ID "${ARCHITECTURE_ID}")
+      set(MSVC_${lang}_ARCHITECTURE_ID "${ARCHITECTURE_ID}")
+      set(CMAKE_${lang}_COMPILER_VERSION "${COMPILER_VERSION}")
+      set(CMAKE_${lang}_COMPILER_VERSION_INTERNAL "${COMPILER_VERSION_INTERNAL}")
+      set(CMAKE_${lang}_SIMULATE_ID "${SIMULATE_ID}")
+      set(CMAKE_${lang}_SIMULATE_VERSION "${SIMULATE_VERSION}")
+    endif()
+
+    # Check the compiler identification string.
+    if(CMAKE_${lang}_COMPILER_ID)
+      # The compiler identification was found.
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "The ${lang} compiler identification is ${CMAKE_${lang}_COMPILER_ID}, found in \""
+        "${file}\"\n\n")
+    else()
+      # The compiler identification could not be found.
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "The ${lang} compiler identification could not be found in \""
+        "${file}\"\n\n")
+    endif()
+  endif()
+
+  # try to figure out the executable format: ELF, COFF, Mach-O
+  if(NOT CMAKE_EXECUTABLE_FORMAT)
+    file(READ ${file} CMAKE_EXECUTABLE_MAGIC LIMIT 4 HEX)
+
+    # ELF files start with 0x7f"ELF"
+    if("${CMAKE_EXECUTABLE_MAGIC}" STREQUAL "7f454c46")
+      set(CMAKE_EXECUTABLE_FORMAT "ELF" CACHE INTERNAL "Executable file format")
+    endif()
+
+#    # COFF (.exe) files start with "MZ"
+#    if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "4d5a....")
+#      set(CMAKE_EXECUTABLE_FORMAT "COFF" CACHE STRING "Executable file format")
+#    endif()
+#
+#    # Mach-O files start with CAFEBABE or FEEDFACE, according to http://radio.weblogs.com/0100490/2003/01/28.html
+#    if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "cafebabe")
+#      set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
+#    endif()
+#    if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface")
+#      set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
+#    endif()
+
+  endif()
+  if(NOT DEFINED CMAKE_EXECUTABLE_FORMAT)
+    set(CMAKE_EXECUTABLE_FORMAT)
+  endif()
+  # Return the information extracted.
+  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)
+  set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
+    PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_VERSION_INTERNAL "${CMAKE_${lang}_COMPILER_VERSION_INTERNAL}" PARENT_SCOPE)
+  set(CMAKE_${lang}_COMPILER_WRAPPER "${COMPILER_WRAPPER}" PARENT_SCOPE)
+  set(CMAKE_${lang}_SIMULATE_ID "${CMAKE_${lang}_SIMULATE_ID}" PARENT_SCOPE)
+  set(CMAKE_${lang}_SIMULATE_VERSION "${CMAKE_${lang}_SIMULATE_VERSION}" PARENT_SCOPE)
+  set(CMAKE_EXECUTABLE_FORMAT "${CMAKE_EXECUTABLE_FORMAT}" PARENT_SCOPE)
+  set(COMPILER_QNXNTO "${COMPILER_QNXNTO}" PARENT_SCOPE)
+  set(CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT "${CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT}" PARENT_SCOPE)
+endfunction()
+
+#-----------------------------------------------------------------------------
+# Function to query the compiler vendor.
+# This uses a table with entries of the form
+#   list(APPEND CMAKE_${lang}_COMPILER_ID_VENDORS ${vendor})
+#   set(CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor} -some-vendor-flag)
+#   set(CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor} "Some Vendor Output")
+# We try running the compiler with the flag for each vendor and
+# matching its regular expression in the output.
+function(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang userflags)
+
+  if(NOT CMAKE_${lang}_COMPILER_ID_DIR)
+    # We get here when this function is called not from within CMAKE_DETERMINE_COMPILER_ID()
+    # This is done e.g. for detecting the compiler ID for assemblers.
+    # Compute the directory in which to run the test and Create a clean working directory.
+    set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})
+    file(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
+    file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
+  endif()
+
+
+  foreach(vendor ${CMAKE_${lang}_COMPILER_ID_VENDORS})
+    set(flags ${CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor}})
+    set(regex ${CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor}})
+    execute_process(
+      COMMAND "${CMAKE_${lang}_COMPILER}"
+      ${CMAKE_${lang}_COMPILER_ID_ARG1}
+      ${userflags}
+      ${flags}
+      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
+      OUTPUT_VARIABLE output ERROR_VARIABLE output
+      RESULT_VARIABLE result
+      TIMEOUT 10
+      )
+
+    if("${output}" MATCHES "${regex}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
+        "matched \"${regex}\":\n${output}")
+      set(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
+      set(CMAKE_${lang}_COMPILER_ID_OUTPUT "${output}" PARENT_SCOPE)
+      break()
+    else()
+      if("${result}" MATCHES  "timeout")
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+          "Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
+          "terminated after 10 s due to timeout.")
+      else()
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+          "Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
+          "did not match \"${regex}\":\n${output}")
+       endif()
+    endif()
+  endforeach()
+endfunction()
+
+function(CMAKE_DETERMINE_MSVC_SHOWINCLUDES_PREFIX lang userflags)
+  # Run this MSVC-compatible compiler to detect what the /showIncludes
+  # option displays.  We can use a C source even with the C++ compiler
+  # because MSVC-compatible compilers handle both and show the same output.
+  set(showdir ${CMAKE_BINARY_DIR}/CMakeFiles/ShowIncludes)
+  file(WRITE ${showdir}/foo.h "\n")
+  file(WRITE ${showdir}/main.c "#include \"foo.h\" \nint main(){}\n")
+  execute_process(
+    COMMAND "${CMAKE_${lang}_COMPILER}"
+            ${CMAKE_${lang}_COMPILER_ID_ARG1}
+            ${userflags}
+            /nologo /showIncludes /c main.c
+    WORKING_DIRECTORY ${showdir}
+    OUTPUT_VARIABLE out
+    ERROR_VARIABLE err
+    RESULT_VARIABLE res
+    ENCODING AUTO # cl prints in current code page
+    )
+  if(res EQUAL 0 AND "${out}" MATCHES "(^|\n)([^:\n]*:[^:\n]*:[ \t]*)")
+    set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "${CMAKE_MATCH_2}" PARENT_SCOPE)
+  else()
+    set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "" PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(CMAKE_DIAGNOSE_UNSUPPORTED_CLANG lang envvar)
+  if(NOT CMAKE_HOST_WIN32 OR CMAKE_GENERATOR MATCHES "Visual Studio" OR
+      NOT "${CMAKE_${lang}_COMPILER_ID};${CMAKE_${lang}_SIMULATE_ID}" STREQUAL "Clang;MSVC")
+    return()
+  endif()
+
+  # Test whether an MSVC-like command-line option works.
+  execute_process(COMMAND "${CMAKE_${lang}_COMPILER}" /?
+    RESULT_VARIABLE _clang_result
+    OUTPUT_VARIABLE _clang_stdout
+    ERROR_VARIABLE _clang_stderr)
+  if(_clang_result EQUAL 0)
+    return()
+  endif()
+
+  # Help the user configure the environment to use the MSVC-like Clang.
+  string(CONCAT _msg
+    "The Clang compiler tool\n"
+    "  \"${CMAKE_${lang}_COMPILER}\"\n"
+    "targets the MSVC ABI but has a GNU-like command-line interface.  "
+    "This is not supported.  "
+    "Use 'clang-cl' instead, e.g. by setting '${envvar}=clang-cl' in the environment."
+    )
+  execute_process(COMMAND rc -help
+    RESULT_VARIABLE _rc_result
+    OUTPUT_VARIABLE _rc_stdout
+    ERROR_VARIABLE _rc_stderr)
+  if(NOT _rc_result EQUAL 0)
+    string(APPEND _msg "  "
+      "Furthermore, use the MSVC command-line environment."
+      )
+  endif()
+  message(FATAL_ERROR "${_msg}")
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineFortranCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineFortranCompiler.cmake
new file mode 100644
index 0000000..2549c22
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineFortranCompiler.cmake
@@ -0,0 +1,282 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for Fortran programs
+# NOTE, a generator may set CMAKE_Fortran_COMPILER before
+# loading this file to force a compiler.
+# use environment variable FC first if defined by user, next use
+# the cmake variable CMAKE_GENERATOR_FC which can be defined by a generator
+# as a default compiler
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+include(Platform/${CMAKE_SYSTEM_NAME}-Determine-Fortran OPTIONAL)
+include(Platform/${CMAKE_SYSTEM_NAME}-Fortran OPTIONAL)
+if(NOT CMAKE_Fortran_COMPILER_NAMES)
+  set(CMAKE_Fortran_COMPILER_NAMES f95)
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+  set(CMAKE_Fortran_COMPILER_XCODE_TYPE sourcecode.fortran.f90)
+  _cmake_find_compiler_path(Fortran)
+else()
+  if(NOT CMAKE_Fortran_COMPILER)
+    # prefer the environment variable CC
+    if(NOT $ENV{FC} STREQUAL "")
+      get_filename_component(CMAKE_Fortran_COMPILER_INIT $ENV{FC} PROGRAM PROGRAM_ARGS CMAKE_Fortran_FLAGS_ENV_INIT)
+      if(CMAKE_Fortran_FLAGS_ENV_INIT)
+        set(CMAKE_Fortran_COMPILER_ARG1 "${CMAKE_Fortran_FLAGS_ENV_INIT}" CACHE STRING "First argument to Fortran compiler")
+      endif()
+      if(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
+      else()
+        message(FATAL_ERROR "Could not find compiler set in environment variable FC:\n$ENV{FC}.")
+      endif()
+    endif()
+
+    # next try prefer the compiler specified by the generator
+    if(CMAKE_GENERATOR_FC)
+      if(NOT CMAKE_Fortran_COMPILER_INIT)
+        set(CMAKE_Fortran_COMPILER_INIT ${CMAKE_GENERATOR_FC})
+      endif()
+    endif()
+
+    # finally list compilers to try
+    if(NOT CMAKE_Fortran_COMPILER_INIT)
+      # Known compilers:
+      #  f77/f90/f95: generic compiler names
+      #  ftn: Cray fortran compiler wrapper
+      #  g77: GNU Fortran 77 compiler
+      #  gfortran: putative GNU Fortran 95+ compiler (in progress)
+      #  fort77: native F77 compiler under HP-UX (and some older Crays)
+      #  frt: Fujitsu F77 compiler
+      #  pathf90/pathf95/pathf2003: PathScale Fortran compiler
+      #  pgf77/pgf90/pgf95/pgfortran: Portland Group F77/F90/F95 compilers
+      #  flang: Flang Fortran compiler
+      #  xlf/xlf90/xlf95: IBM (AIX) F77/F90/F95 compilers
+      #  lf95: Lahey-Fujitsu F95 compiler
+      #  fl32: Microsoft Fortran 77 "PowerStation" compiler
+      #  af77: Apogee F77 compiler for Intergraph hardware running CLIX
+      #  epcf90: "Edinburgh Portable Compiler" F90
+      #  fort: Compaq (now HP) Fortran 90/95 compiler for Tru64 and Linux/Alpha
+      #  ifc: Intel Fortran 95 compiler for Linux/x86
+      #  efc: Intel Fortran 95 compiler for IA64
+      #  nagfor: NAG Fortran compiler
+      #
+      #  The order is 95 or newer compilers first, then 90,
+      #  then 77 or older compilers, gnu is always last in the group,
+      #  so if you paid for a compiler it is picked by default.
+      set(CMAKE_Fortran_COMPILER_LIST
+        ftn
+        ifort ifc af95 af90 efc f95 pathf2003 pathf95 pgf95 pgfortran lf95 xlf95
+        fort flang gfortran gfortran-4 g95 f90 pathf90 pgf90 xlf90 epcf90 fort77
+        frt pgf77 xlf fl32 af77 g77 f77 nag
+        )
+
+      # Vendor-specific compiler names.
+      set(_Fortran_COMPILER_NAMES_GNU       gfortran gfortran-4 g95 g77)
+      set(_Fortran_COMPILER_NAMES_Intel     ifort ifc efc)
+      set(_Fortran_COMPILER_NAMES_Absoft    af95 af90 af77)
+      set(_Fortran_COMPILER_NAMES_PGI       pgf95 pgfortran pgf90 pgf77)
+      set(_Fortran_COMPILER_NAMES_Flang     flang)
+      set(_Fortran_COMPILER_NAMES_PathScale pathf2003 pathf95 pathf90)
+      set(_Fortran_COMPILER_NAMES_XL        xlf)
+      set(_Fortran_COMPILER_NAMES_VisualAge xlf95 xlf90 xlf)
+      set(_Fortran_COMPILER_NAMES_NAG       nagfor)
+    endif()
+
+    _cmake_find_compiler(Fortran)
+
+  else()
+    _cmake_find_compiler_path(Fortran)
+  endif()
+  mark_as_advanced(CMAKE_Fortran_COMPILER)
+
+  # Each entry in this list is a set of extra flags to try
+  # adding to the compile line to see if it helps produce
+  # a valid identification executable.
+  set(CMAKE_Fortran_COMPILER_ID_TEST_FLAGS_FIRST
+    # Get verbose output to help distinguish compilers.
+    "-v"
+    )
+  set(CMAKE_Fortran_COMPILER_ID_TEST_FLAGS
+    # Try compiling to an object file only.
+    "-c"
+
+    # Intel on windows does not preprocess by default.
+    "-fpp"
+    )
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_Fortran_COMPILER_ID_RUN)
+  set(CMAKE_Fortran_COMPILER_ID_RUN 1)
+
+  # Table of per-vendor compiler output regular expressions.
+  list(APPEND CMAKE_Fortran_COMPILER_ID_MATCH_VENDORS CCur)
+  set(CMAKE_Fortran_COMPILER_ID_MATCH_VENDOR_REGEX_CCur "Concurrent Fortran [0-9]+ Compiler")
+
+  # Table of per-vendor compiler id flags with expected output.
+  list(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS Compaq)
+  set(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_Compaq "-what")
+  set(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_Compaq "Compaq Visual Fortran")
+  list(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS NAG) # Numerical Algorithms Group
+  set(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_NAG "-V")
+  set(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_NAG "NAG Fortran Compiler")
+
+  # Match the link line from xcodebuild output of the form
+  #  Ld ...
+  #      ...
+  #      /path/to/cc ...CompilerIdFortran/...
+  # to extract the compiler front-end for the language.
+  set(CMAKE_Fortran_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdFortran/(\\./)?(CompilerIdFortran.xctest/)?CompilerIdFortran[ \t\n\\\"]")
+  set(CMAKE_Fortran_COMPILER_ID_TOOL_MATCH_INDEX 2)
+
+  set(_version_info "")
+  foreach(m MAJOR MINOR PATCH TWEAK)
+    set(_COMP "_${m}")
+    string(APPEND _version_info "
+#if defined(COMPILER_VERSION${_COMP})")
+    foreach(d 1 2 3 4 5 6 7 8)
+      string(APPEND _version_info "
+# undef DEC
+# undef HEX
+# define DEC(n) DEC_${d}(n)
+# define HEX(n) HEX_${d}(n)
+# if COMPILER_VERSION${_COMP} == 0
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[0]'
+# elif COMPILER_VERSION${_COMP} == 1
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[1]'
+# elif COMPILER_VERSION${_COMP} == 2
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[2]'
+# elif COMPILER_VERSION${_COMP} == 3
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[3]'
+# elif COMPILER_VERSION${_COMP} == 4
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[4]'
+# elif COMPILER_VERSION${_COMP} == 5
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[5]'
+# elif COMPILER_VERSION${_COMP} == 6
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[6]'
+# elif COMPILER_VERSION${_COMP} == 7
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[7]'
+# elif COMPILER_VERSION${_COMP} == 8
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[8]'
+# elif COMPILER_VERSION${_COMP} == 9
+        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[9]'
+# endif
+")
+    endforeach()
+    string(APPEND _version_info "
+#endif")
+  endforeach()
+  set(CMAKE_Fortran_COMPILER_ID_VERSION_INFO "${_version_info}")
+  unset(_version_info)
+  unset(_COMP)
+
+  # Try to identify the compiler.
+  set(CMAKE_Fortran_COMPILER_ID)
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+  CMAKE_DETERMINE_COMPILER_ID(Fortran FFLAGS CMakeFortranCompilerId.F)
+
+  # Fall back to old is-GNU test.
+  if(NOT CMAKE_Fortran_COMPILER_ID)
+    execute_process(COMMAND ${CMAKE_Fortran_COMPILER} ${CMAKE_Fortran_COMPILER_ID_FLAGS_LIST} -E "${CMAKE_ROOT}/Modules/CMakeTestGNU.c"
+      OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RESULT_VARIABLE CMAKE_COMPILER_RETURN)
+    if(NOT CMAKE_COMPILER_RETURN)
+      if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_GNU")
+        set(CMAKE_Fortran_COMPILER_ID "GNU")
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "Determining if the Fortran compiler is GNU succeeded with "
+          "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
+      else()
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "Determining if the Fortran compiler is GNU failed with "
+          "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
+      endif()
+      if(NOT CMAKE_Fortran_PLATFORM_ID)
+        if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_MINGW")
+          set(CMAKE_Fortran_PLATFORM_ID "MinGW")
+        endif()
+        if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_CYGWIN")
+          set(CMAKE_Fortran_PLATFORM_ID "Cygwin")
+        endif()
+      endif()
+    endif()
+  endif()
+
+  # Fall back for GNU MINGW, which is not always detected correctly
+  # (__MINGW32__ is defined for the C language, but perhaps not for Fortran!)
+  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU" AND NOT CMAKE_Fortran_PLATFORM_ID)
+    execute_process(COMMAND ${CMAKE_Fortran_COMPILER} ${CMAKE_Fortran_COMPILER_ID_FLAGS_LIST} -E "${CMAKE_ROOT}/Modules/CMakeTestGNU.c"
+      OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RESULT_VARIABLE CMAKE_COMPILER_RETURN)
+    if(NOT CMAKE_COMPILER_RETURN)
+      if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_MINGW")
+        set(CMAKE_Fortran_PLATFORM_ID "MinGW")
+      endif()
+      if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_CYGWIN")
+        set(CMAKE_Fortran_PLATFORM_ID "Cygwin")
+      endif()
+    endif()
+  endif()
+
+  # Set old compiler and platform id variables.
+  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
+    set(CMAKE_COMPILER_IS_GNUG77 1)
+  endif()
+  if(CMAKE_Fortran_PLATFORM_ID MATCHES "MinGW")
+    set(CMAKE_COMPILER_IS_MINGW 1)
+  elseif(CMAKE_Fortran_PLATFORM_ID MATCHES "Cygwin")
+    set(CMAKE_COMPILER_IS_CYGWIN 1)
+  endif()
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_Fortran_COMPILER}" PATH)
+endif ()
+
+# if we have a fortran cross compiler, they have usually some prefix, like
+# e.g. powerpc-linux-gfortran, arm-elf-gfortran or i586-mingw32msvc-gfortran , optionally
+# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
+# The other tools of the toolchain usually have the same prefix
+# NAME_WE cannot be used since then this test will fail for names like
+# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
+# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
+if (CMAKE_CROSSCOMPILING  AND NOT _CMAKE_TOOLCHAIN_PREFIX)
+
+  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
+    get_filename_component(COMPILER_BASENAME "${CMAKE_Fortran_COMPILER}" NAME)
+    if (COMPILER_BASENAME MATCHES "^(.+-)g?fortran(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+    endif ()
+
+    # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
+    # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
+    if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+    endif ()
+  endif()
+
+endif ()
+
+include(CMakeFindBinUtils)
+set(_CMAKE_PROCESSING_LANGUAGE "Fortran")
+include(Compiler/${CMAKE_Fortran_COMPILER_ID}-FindBinUtils OPTIONAL)
+unset(_CMAKE_PROCESSING_LANGUAGE)
+
+if(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID)
+  set(_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID
+    "set(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID ${CMAKE_Fortran_COMPILER_ARCHITECTURE_ID})")
+else()
+  set(_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID "")
+endif()
+
+if(MSVC_Fortran_ARCHITECTURE_ID)
+  set(SET_MSVC_Fortran_ARCHITECTURE_ID
+    "set(MSVC_Fortran_ARCHITECTURE_ID ${MSVC_Fortran_ARCHITECTURE_ID})")
+endif()
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
+  @ONLY
+  )
+set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
diff --git a/share/cmake-3.10/Modules/CMakeDetermineJavaCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineJavaCompiler.cmake
new file mode 100644
index 0000000..3092bb5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineJavaCompiler.cmake
@@ -0,0 +1,94 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for Java programs
+# NOTE, a generator may set CMAKE_Java_COMPILER before
+# loading this file to force a compiler.
+
+if(NOT CMAKE_Java_COMPILER)
+  # prefer the environment variable CC
+  if(NOT $ENV{JAVA_COMPILER} STREQUAL "")
+    get_filename_component(CMAKE_Java_COMPILER_INIT $ENV{JAVA_COMPILER} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
+    if(CMAKE_Java_FLAGS_ENV_INIT)
+      set(CMAKE_Java_COMPILER_ARG1 "${CMAKE_Java_FLAGS_ENV_INIT}" CACHE STRING "First argument to Java compiler")
+    endif()
+    if(NOT EXISTS ${CMAKE_Java_COMPILER_INIT})
+      message(SEND_ERROR "Could not find compiler set in environment variable JAVA_COMPILER:\n$ENV{JAVA_COMPILER}.")
+    endif()
+  endif()
+
+  if(NOT $ENV{JAVA_RUNTIME} STREQUAL "")
+    get_filename_component(CMAKE_Java_RUNTIME_INIT $ENV{JAVA_RUNTIME} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
+    if(NOT EXISTS ${CMAKE_Java_RUNTIME_INIT})
+      message(SEND_ERROR "Could not find compiler set in environment variable JAVA_RUNTIME:\n$ENV{JAVA_RUNTIME}.")
+    endif()
+  endif()
+
+  if(NOT $ENV{JAVA_ARCHIVE} STREQUAL "")
+    get_filename_component(CMAKE_Java_ARCHIVE_INIT $ENV{JAVA_ARCHIVE} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
+    if(NOT EXISTS ${CMAKE_Java_ARCHIVE_INIT})
+      message(SEND_ERROR "Could not find compiler set in environment variable JAVA_ARCHIVE:\n$ENV{JAVA_ARCHIVE}.")
+    endif()
+  endif()
+
+  set(Java_BIN_PATH
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
+    $ENV{JAVA_HOME}/bin
+    /usr/bin
+    /usr/lib/java/bin
+    /usr/share/java/bin
+    /usr/local/bin
+    /usr/local/java/bin
+    /usr/local/java/share/bin
+    /usr/java/j2sdk1.4.2_04
+    /usr/lib/j2sdk1.4-sun/bin
+    /usr/java/j2sdk1.4.2_09/bin
+    /usr/lib/j2sdk1.5-sun/bin
+    /opt/sun-jdk-1.5.0.04/bin
+    /usr/local/jdk-1.7.0/bin
+    /usr/local/jdk-1.6.0/bin
+    )
+  # if no compiler has been specified yet, then look for one
+  if(CMAKE_Java_COMPILER_INIT)
+    set(CMAKE_Java_COMPILER ${CMAKE_Java_COMPILER_INIT} CACHE PATH "Java Compiler")
+  else()
+    find_program(CMAKE_Java_COMPILER
+      NAMES javac
+      PATHS ${Java_BIN_PATH}
+    )
+  endif()
+
+  # if no runtime has been specified yet, then look for one
+  if(CMAKE_Java_RUNTIME_INIT)
+    set(CMAKE_Java_RUNTIME ${CMAKE_Java_RUNTIME_INIT} CACHE PATH "Java Compiler")
+  else()
+    find_program(CMAKE_Java_RUNTIME
+      NAMES java
+      PATHS ${Java_BIN_PATH}
+    )
+  endif()
+
+  # if no archive has been specified yet, then look for one
+  if(CMAKE_Java_ARCHIVE_INIT)
+    set(CMAKE_Java_ARCHIVE ${CMAKE_Java_ARCHIVE_INIT} CACHE PATH "Java Compiler")
+  else()
+    find_program(CMAKE_Java_ARCHIVE
+      NAMES jar
+      PATHS ${Java_BIN_PATH}
+    )
+  endif()
+endif()
+mark_as_advanced(CMAKE_Java_COMPILER)
+
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeJavaCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeJavaCompiler.cmake @ONLY)
+set(CMAKE_Java_COMPILER_ENV_VAR "JAVA_COMPILER")
diff --git a/share/cmake-3.10/Modules/CMakeDetermineRCCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineRCCompiler.cmake
new file mode 100644
index 0000000..8801e16
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineRCCompiler.cmake
@@ -0,0 +1,57 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# determine the compiler to use for RC programs
+# NOTE, a generator may set CMAKE_RC_COMPILER before
+# loading this file to force a compiler.
+# use environment variable RC first if defined by user, next use
+# the cmake variable CMAKE_GENERATOR_RC which can be defined by a generator
+# as a default compiler
+if(NOT CMAKE_RC_COMPILER)
+  # prefer the environment variable RC
+  if(NOT $ENV{RC} STREQUAL "")
+    get_filename_component(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
+    if(CMAKE_RC_FLAGS_ENV_INIT)
+      set(CMAKE_RC_COMPILER_ARG1 "${CMAKE_RC_FLAGS_ENV_INIT}" CACHE STRING "First argument to RC compiler")
+    endif()
+    if(EXISTS ${CMAKE_RC_COMPILER_INIT})
+    else()
+      message(FATAL_ERROR "Could not find compiler set in environment variable RC:\n$ENV{RC}.")
+    endif()
+  endif()
+
+  # next try prefer the compiler specified by the generator
+  if(CMAKE_GENERATOR_RC)
+    if(NOT CMAKE_RC_COMPILER_INIT)
+      set(CMAKE_RC_COMPILER_INIT ${CMAKE_GENERATOR_RC})
+    endif()
+  endif()
+
+  # finally list compilers to try
+  if(CMAKE_RC_COMPILER_INIT)
+    set(CMAKE_RC_COMPILER_LIST ${CMAKE_RC_COMPILER_INIT})
+  else()
+    set(CMAKE_RC_COMPILER_LIST rc)
+  endif()
+
+  # Find the compiler.
+  find_program(CMAKE_RC_COMPILER NAMES ${CMAKE_RC_COMPILER_LIST} DOC "RC compiler")
+  if(CMAKE_RC_COMPILER_INIT AND NOT CMAKE_RC_COMPILER)
+    set(CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER_INIT}" CACHE FILEPATH "RC compiler" FORCE)
+  endif()
+endif()
+
+mark_as_advanced(CMAKE_RC_COMPILER)
+
+get_filename_component(_CMAKE_RC_COMPILER_NAME_WE ${CMAKE_RC_COMPILER} NAME_WE)
+if(_CMAKE_RC_COMPILER_NAME_WE STREQUAL "windres")
+  set(CMAKE_RC_OUTPUT_EXTENSION .obj)
+else()
+  set(CMAKE_RC_OUTPUT_EXTENSION .res)
+endif()
+
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeRCCompiler.cmake.in
+               ${CMAKE_PLATFORM_INFO_DIR}/CMakeRCCompiler.cmake)
+set(CMAKE_RC_COMPILER_ENV_VAR "RC")
diff --git a/share/cmake-3.10/Modules/CMakeDetermineSwiftCompiler.cmake b/share/cmake-3.10/Modules/CMakeDetermineSwiftCompiler.cmake
new file mode 100644
index 0000000..2604906
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineSwiftCompiler.cmake
@@ -0,0 +1,43 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+if("${CMAKE_GENERATOR}" STREQUAL "Xcode")
+  if(XCODE_VERSION VERSION_LESS 6.1)
+    message(FATAL_ERROR "Swift language not supported by Xcode ${XCODE_VERSION}")
+  endif()
+  set(CMAKE_Swift_COMPILER_XCODE_TYPE sourcecode.swift)
+  _cmake_find_compiler_path(Swift)
+else()
+  message(FATAL_ERROR "Swift language not supported by \"${CMAKE_GENERATOR}\" generator")
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_Swift_COMPILER_ID_RUN)
+  set(CMAKE_Swift_COMPILER_ID_RUN 1)
+
+  list(APPEND CMAKE_Swift_COMPILER_ID_MATCH_VENDORS Apple)
+  set(CMAKE_Swift_COMPILER_ID_MATCH_VENDOR_REGEX_Apple "com.apple.xcode.tools.swift.compiler")
+
+  set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_REGEX "\nCompileSwiftSources[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]* -c[^\r\n]*CompilerIdSwift/CompilerId/main.swift")
+  set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_INDEX 2)
+
+  # Try to identify the compiler.
+  set(CMAKE_Swift_COMPILER_ID)
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+  CMAKE_DETERMINE_COMPILER_ID(Swift "" CompilerId/main.swift)
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_Swift_COMPILER}" PATH)
+endif ()
+
+include(CMakeFindBinUtils)
+
+# configure variables set in this file for fast reload later on
+configure_file(${CMAKE_ROOT}/Modules/CMakeSwiftCompiler.cmake.in
+  ${CMAKE_PLATFORM_INFO_DIR}/CMakeSwiftCompiler.cmake
+  @ONLY
+  )
diff --git a/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake b/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake
new file mode 100644
index 0000000..20dcf1b
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake
@@ -0,0 +1,190 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is used by the Makefile generator to determin the following variables:
+# CMAKE_SYSTEM_NAME - on unix this is uname -s, for windows it is Windows
+# CMAKE_SYSTEM_VERSION - on unix this is uname -r, for windows it is empty
+# CMAKE_SYSTEM - ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION}, for windows: ${CMAKE_SYSTEM}
+#
+#  Expected uname -s output:
+#
+# AIX                           AIX
+# BSD/OS                        BSD/OS
+# FreeBSD                       FreeBSD
+# HP-UX                         HP-UX
+# IRIX                          IRIX
+# Linux                         Linux
+# GNU/kFreeBSD                  GNU/kFreeBSD
+# NetBSD                        NetBSD
+# OpenBSD                       OpenBSD
+# OFS/1 (Digital Unix)          OSF1
+# SCO OpenServer 5              SCO_SV
+# SCO UnixWare 7                UnixWare
+# SCO UnixWare (pre release 7)  UNIX_SV
+# SCO XENIX                     Xenix
+# Solaris                       SunOS
+# SunOS                         SunOS
+# Tru64                         Tru64
+# Ultrix                        ULTRIX
+# cygwin                        CYGWIN_NT-5.1
+# MacOSX                        Darwin
+
+
+# find out on which system cmake runs
+if(CMAKE_HOST_UNIX)
+  find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
+  if(CMAKE_UNAME)
+    if(CMAKE_HOST_SYSTEM_NAME STREQUAL "AIX")
+      exec_program(${CMAKE_UNAME} ARGS -v OUTPUT_VARIABLE _CMAKE_HOST_SYSTEM_MAJOR_VERSION)
+      exec_program(${CMAKE_UNAME} ARGS -r OUTPUT_VARIABLE _CMAKE_HOST_SYSTEM_MINOR_VERSION)
+      set(CMAKE_HOST_SYSTEM_VERSION "${_CMAKE_HOST_SYSTEM_MAJOR_VERSION}.${_CMAKE_HOST_SYSTEM_MINOR_VERSION}")
+      unset(_CMAKE_HOST_SYSTEM_MAJOR_VERSION)
+      unset(_CMAKE_HOST_SYSTEM_MINOR_VERSION)
+    else()
+      exec_program(${CMAKE_UNAME} ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
+    endif()
+    if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|Darwin|^GNU$")
+      exec_program(${CMAKE_UNAME} ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+        RETURN_VALUE val)
+      if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND
+         CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
+        # OS X ppc 'uname -m' may report 'Power Macintosh' instead of 'powerpc'
+        set(CMAKE_HOST_SYSTEM_PROCESSOR "powerpc")
+      endif()
+    elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD")
+      exec_program(arch ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+        RETURN_VALUE val)
+    else()
+      exec_program(${CMAKE_UNAME} ARGS -p OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+        RETURN_VALUE val)
+      if("${val}" GREATER 0)
+        exec_program(${CMAKE_UNAME} ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+          RETURN_VALUE val)
+      endif()
+    endif()
+    # check the return of the last uname -m or -p
+    if("${val}" GREATER 0)
+        set(CMAKE_HOST_SYSTEM_PROCESSOR "unknown")
+    endif()
+    set(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
+    # processor may have double quote in the name, and that needs to be removed
+    string(REPLACE "\"" "" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+    string(REPLACE "/" "_" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+  endif()
+else()
+  if(CMAKE_HOST_WIN32)
+    if (DEFINED ENV{PROCESSOR_ARCHITEW6432})
+      set (CMAKE_HOST_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITEW6432}")
+    else()
+      set (CMAKE_HOST_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
+    endif()
+  endif()
+endif()
+
+# if a toolchain file is used, the user wants to cross compile.
+# in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
+# variables around so they can be used in CMakeLists.txt.
+# In all other cases, the host and target platform are the same.
+if(CMAKE_TOOLCHAIN_FILE)
+  # at first try to load it as path relative to the directory from which cmake has been run
+  include("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
+  if(NOT _INCLUDED_TOOLCHAIN_FILE)
+     # if the file isn't found there, check the default locations
+     include("${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
+  endif()
+
+  if(_INCLUDED_TOOLCHAIN_FILE)
+    set(CMAKE_TOOLCHAIN_FILE "${_INCLUDED_TOOLCHAIN_FILE}" CACHE FILEPATH "The CMake toolchain file" FORCE)
+  else()
+    message(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
+    set(CMAKE_TOOLCHAIN_FILE "NOTFOUND" CACHE FILEPATH "The CMake toolchain file" FORCE)
+  endif()
+endif()
+
+
+# if CMAKE_SYSTEM_NAME is here already set, either it comes from a toolchain file
+# or it was set via -DCMAKE_SYSTEM_NAME=...
+# if that's the case, assume we are crosscompiling
+if(CMAKE_SYSTEM_NAME)
+  if(NOT DEFINED CMAKE_CROSSCOMPILING)
+    set(CMAKE_CROSSCOMPILING TRUE)
+  endif()
+  set(PRESET_CMAKE_SYSTEM_NAME TRUE)
+elseif(CMAKE_VS_WINCE_VERSION)
+  set(CMAKE_SYSTEM_NAME      "WindowsCE")
+  set(CMAKE_SYSTEM_VERSION   "${CMAKE_VS_WINCE_VERSION}")
+  set(CMAKE_SYSTEM_PROCESSOR "${MSVC_C_ARCHITECTURE_ID}")
+  set(CMAKE_CROSSCOMPILING TRUE)
+  set(PRESET_CMAKE_SYSTEM_NAME TRUE)
+else()
+  set(CMAKE_SYSTEM_NAME      "${CMAKE_HOST_SYSTEM_NAME}")
+  if(NOT DEFINED CMAKE_SYSTEM_VERSION)
+    set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
+  endif()
+  set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+  set(CMAKE_CROSSCOMPILING FALSE)
+  set(PRESET_CMAKE_SYSTEM_NAME FALSE)
+endif()
+
+include(Platform/${CMAKE_SYSTEM_NAME}-Determine OPTIONAL)
+
+macro(ADJUST_CMAKE_SYSTEM_VARIABLES _PREFIX)
+  if(NOT ${_PREFIX}_NAME)
+    set(${_PREFIX}_NAME "UnknownOS")
+  endif()
+
+  # fix for BSD/OS , remove the /
+  if(${_PREFIX}_NAME MATCHES BSD.OS)
+    set(${_PREFIX}_NAME BSDOS)
+  endif()
+
+  # fix for GNU/kFreeBSD, remove the GNU/
+  if(${_PREFIX}_NAME MATCHES kFreeBSD)
+    set(${_PREFIX}_NAME kFreeBSD)
+  endif()
+
+  # fix for CYGWIN which has windows version in it
+  if(${_PREFIX}_NAME MATCHES CYGWIN)
+    set(${_PREFIX}_NAME CYGWIN)
+  endif()
+
+  # set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
+  set(${_PREFIX}  ${${_PREFIX}_NAME})
+  # if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION}
+  if(${_PREFIX}_VERSION)
+    set(${_PREFIX} ${${_PREFIX}}-${${_PREFIX}_VERSION})
+  endif()
+
+endmacro()
+
+ADJUST_CMAKE_SYSTEM_VARIABLES(CMAKE_SYSTEM)
+ADJUST_CMAKE_SYSTEM_VARIABLES(CMAKE_HOST_SYSTEM)
+
+# this file is also executed from cpack, then we don't need to generate these files
+# in this case there is no CMAKE_BINARY_DIR
+if(CMAKE_BINARY_DIR)
+  # write entry to the log file
+  if(PRESET_CMAKE_SYSTEM_NAME)
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+                "The target system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+                "The host system is: ${CMAKE_HOST_SYSTEM_NAME} - ${CMAKE_HOST_SYSTEM_VERSION} - ${CMAKE_HOST_SYSTEM_PROCESSOR}\n")
+  else()
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+                "The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
+  endif()
+
+  # if a toolchain file is used, it needs to be included in the configured file,
+  # so settings done there are also available if they don't go in the cache and in try_compile()
+  set(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED)
+  if(CMAKE_TOOLCHAIN_FILE)
+    set(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED "include(\"${CMAKE_TOOLCHAIN_FILE}\")")
+  endif()
+
+  # configure variables set in this file for fast reload, the template file is defined at the top of this file
+  configure_file(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
+                ${CMAKE_PLATFORM_INFO_DIR}/CMakeSystem.cmake
+                @ONLY)
+
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeDetermineVSServicePack.cmake b/share/cmake-3.10/Modules/CMakeDetermineVSServicePack.cmake
new file mode 100644
index 0000000..0264621
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeDetermineVSServicePack.cmake
@@ -0,0 +1,172 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeDetermineVSServicePack
+# ---------------------------
+#
+# Deprecated.  Do not use.
+#
+# The functionality of this module has been superseded by the
+# :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable that contains
+# the compiler version number.
+#
+# Determine the Visual Studio service pack of the 'cl' in use.
+#
+# Usage::
+#
+#   if(MSVC)
+#     include(CMakeDetermineVSServicePack)
+#     DetermineVSServicePack( my_service_pack )
+#     if( my_service_pack )
+#       message(STATUS "Detected: ${my_service_pack}")
+#     endif()
+#   endif()
+#
+# Function DetermineVSServicePack sets the given variable to one of the
+# following values or an empty string if unknown::
+#
+#   vc80, vc80sp1
+#   vc90, vc90sp1
+#   vc100, vc100sp1
+#   vc110, vc110sp1, vc110sp2, vc110sp3, vc110sp4
+
+if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.8)
+  message(DEPRECATION
+    "This module is deprecated and should not be used.  "
+    "Use the CMAKE_<LANG>_COMPILER_VERSION variable instead."
+    )
+endif()
+
+# [INTERNAL]
+# Please do not call this function directly
+function(_DetermineVSServicePackFromCompiler _OUT_VAR _cl_version)
+   if    (${_cl_version} VERSION_EQUAL "14.00.50727.42")
+       set(_version "vc80")
+   elseif(${_cl_version} VERSION_EQUAL "14.00.50727.762")
+       set(_version "vc80sp1")
+   elseif(${_cl_version} VERSION_EQUAL "15.00.21022.08")
+       set(_version "vc90")
+   elseif(${_cl_version} VERSION_EQUAL "15.00.30729.01")
+       set(_version "vc90sp1")
+   elseif(${_cl_version} VERSION_EQUAL "16.00.30319.01")
+       set(_version "vc100")
+   elseif(${_cl_version} VERSION_EQUAL "16.00.40219.01")
+       set(_version "vc100sp1")
+   elseif(${_cl_version} VERSION_EQUAL "17.00.50727.1")
+       set(_version "vc110")
+   elseif(${_cl_version} VERSION_EQUAL "17.00.51106.1")
+       set(_version "vc110sp1")
+   elseif(${_cl_version} VERSION_EQUAL "17.00.60315.1")
+       set(_version "vc110sp2")
+   elseif(${_cl_version} VERSION_EQUAL "17.00.60610.1")
+       set(_version "vc110sp3")
+   elseif(${_cl_version} VERSION_EQUAL "17.00.61030")
+       set(_version "vc110sp4")
+   else()
+       set(_version "")
+   endif()
+   set(${_OUT_VAR} ${_version} PARENT_SCOPE)
+endfunction()
+
+
+############################################################
+# [INTERNAL]
+# Please do not call this function directly
+function(_DetermineVSServicePack_FastCheckVersionWithCompiler _SUCCESS_VAR  _VERSION_VAR)
+    if(EXISTS ${CMAKE_CXX_COMPILER})
+      execute_process(
+          COMMAND ${CMAKE_CXX_COMPILER} /?
+          ERROR_VARIABLE _output
+          OUTPUT_QUIET
+        )
+
+      if(_output MATCHES "Compiler Version (([0-9]+)\\.([0-9]+)\\.([0-9]+)(\\.([0-9]+))?)")
+        set(_cl_version ${CMAKE_MATCH_1})
+        set(_major ${CMAKE_MATCH_2})
+        set(_minor ${CMAKE_MATCH_3})
+        if("${_major}${_minor}" STREQUAL "${MSVC_VERSION}")
+          set(${_SUCCESS_VAR} true PARENT_SCOPE)
+          set(${_VERSION_VAR} ${_cl_version} PARENT_SCOPE)
+        endif()
+      endif()
+    endif()
+endfunction()
+
+############################################################
+# [INTERNAL]
+# Please do not call this function directly
+function(_DetermineVSServicePack_CheckVersionWithTryCompile _SUCCESS_VAR  _VERSION_VAR)
+    file(WRITE "${CMAKE_BINARY_DIR}/return0.cc"
+      "int main() { return 0; }\n")
+
+    try_compile(
+      _CompileResult
+      "${CMAKE_BINARY_DIR}"
+      "${CMAKE_BINARY_DIR}/return0.cc"
+      OUTPUT_VARIABLE _output
+      COPY_FILE "${CMAKE_BINARY_DIR}/return0.cc")
+
+    file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc")
+
+    if(_output MATCHES "Compiler Version (([0-9]+)\\.([0-9]+)\\.([0-9]+)(\\.([0-9]+))?)")
+      set(${_SUCCESS_VAR} true PARENT_SCOPE)
+      set(${_VERSION_VAR} "${CMAKE_MATCH_1}" PARENT_SCOPE)
+    endif()
+endfunction()
+
+############################################################
+# [INTERNAL]
+# Please do not call this function directly
+function(_DetermineVSServicePack_CheckVersionWithTryRun _SUCCESS_VAR  _VERSION_VAR)
+    file(WRITE "${CMAKE_BINARY_DIR}/return0.cc"
+        "#include <stdio.h>\n\nconst unsigned int CompilerVersion=_MSC_FULL_VER;\n\nint main(int argc, char* argv[])\n{\n  int M( CompilerVersion/10000000);\n  int m((CompilerVersion%10000000)/100000);\n  int b(CompilerVersion%100000);\n\n  printf(\"%d.%02d.%05d.01\",M,m,b);\n return 0;\n}\n")
+
+    try_run(
+        _RunResult
+        _CompileResult
+        "${CMAKE_BINARY_DIR}"
+        "${CMAKE_BINARY_DIR}/return0.cc"
+        RUN_OUTPUT_VARIABLE  _runoutput
+        )
+
+    file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc")
+
+    string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+.[0-9]+"
+        _cl_version "${_runoutput}")
+
+    if(_cl_version)
+      set(${_SUCCESS_VAR} true PARENT_SCOPE)
+      set(${_VERSION_VAR} ${_cl_version} PARENT_SCOPE)
+    endif()
+endfunction()
+
+
+#
+# A function to call to determine the Visual Studio service pack
+# in use.  See documentation above.
+function(DetermineVSServicePack _pack)
+    if(NOT DETERMINED_VS_SERVICE_PACK OR NOT ${_pack})
+
+        _DetermineVSServicePack_FastCheckVersionWithCompiler(DETERMINED_VS_SERVICE_PACK _cl_version)
+        if(NOT DETERMINED_VS_SERVICE_PACK)
+            _DetermineVSServicePack_CheckVersionWithTryCompile(DETERMINED_VS_SERVICE_PACK _cl_version)
+            if(NOT DETERMINED_VS_SERVICE_PACK)
+                _DetermineVSServicePack_CheckVersionWithTryRun(DETERMINED_VS_SERVICE_PACK _cl_version)
+            endif()
+        endif()
+
+        if(DETERMINED_VS_SERVICE_PACK)
+
+            if(_cl_version)
+                # Call helper function to determine VS version
+                _DetermineVSServicePackFromCompiler(_sp "${_cl_version}")
+                if(_sp)
+                    set(${_pack} ${_sp} CACHE INTERNAL
+                        "The Visual Studio Release with Service Pack")
+                endif()
+            endif()
+        endif()
+    endif()
+endfunction()
+
diff --git a/share/cmake-3.10/Modules/CMakeExpandImportedTargets.cmake b/share/cmake-3.10/Modules/CMakeExpandImportedTargets.cmake
new file mode 100644
index 0000000..ad065f0
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeExpandImportedTargets.cmake
@@ -0,0 +1,142 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeExpandImportedTargets
+# --------------------------
+#
+# Deprecated.  Do not use.
+#
+# This module was once needed to expand imported targets to the underlying
+# libraries they reference on disk for use with the :command:`try_compile`
+# and :command:`try_run` commands.  These commands now support imported
+# libraries in their ``LINK_LIBRARIES`` options (since CMake 2.8.11
+# for :command:`try_compile` and since CMake 3.2 for :command:`try_run`).
+#
+# This module does not support the policy :policy:`CMP0022` ``NEW``
+# behavior or use of the :prop_tgt:`INTERFACE_LINK_LIBRARIES` property
+# because :manual:`generator expressions <cmake-generator-expressions(7)>`
+# cannot be evaluated during configuration.
+#
+# ::
+#
+#  CMAKE_EXPAND_IMPORTED_TARGETS(<var> LIBRARIES lib1 lib2...libN
+#                                [CONFIGURATION <config>])
+#
+# CMAKE_EXPAND_IMPORTED_TARGETS() takes a list of libraries and replaces
+# all imported targets contained in this list with their actual file
+# paths of the referenced libraries on disk, including the libraries
+# from their link interfaces.  If a CONFIGURATION is given, it uses the
+# respective configuration of the imported targets if it exists.  If no
+# CONFIGURATION is given, it uses the first configuration from
+# ${CMAKE_CONFIGURATION_TYPES} if set, otherwise ${CMAKE_BUILD_TYPE}.
+#
+# ::
+#
+#     cmake_expand_imported_targets(expandedLibs
+#       LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
+#       CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )
+
+function(CMAKE_EXPAND_IMPORTED_TARGETS _RESULT )
+
+   set(options )
+   set(oneValueArgs CONFIGURATION )
+   set(multiValueArgs LIBRARIES )
+
+   cmake_parse_arguments(CEIT "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+
+   if(CEIT_UNPARSED_ARGUMENTS)
+      message(FATAL_ERROR "Unknown keywords given to CMAKE_EXPAND_IMPORTED_TARGETS(): \"${CEIT_UNPARSED_ARGUMENTS}\"")
+   endif()
+
+   if(NOT CEIT_CONFIGURATION)
+      if(CMAKE_CONFIGURATION_TYPES)
+         list(GET CMAKE_CONFIGURATION_TYPES 0 CEIT_CONFIGURATION)
+      else()
+         set(CEIT_CONFIGURATION ${CMAKE_BUILD_TYPE})
+      endif()
+   endif()
+
+   # handle imported library targets
+
+   set(_CCSR_REQ_LIBS ${CEIT_LIBRARIES})
+
+   set(_CHECK_FOR_IMPORTED_TARGETS TRUE)
+   set(_CCSR_LOOP_COUNTER 0)
+   while(_CHECK_FOR_IMPORTED_TARGETS)
+      math(EXPR _CCSR_LOOP_COUNTER "${_CCSR_LOOP_COUNTER} + 1 ")
+      set(_CCSR_NEW_REQ_LIBS )
+      set(_CHECK_FOR_IMPORTED_TARGETS FALSE)
+      foreach(_CURRENT_LIB ${_CCSR_REQ_LIBS})
+         if(TARGET "${_CURRENT_LIB}")
+           get_target_property(_importedConfigs "${_CURRENT_LIB}" IMPORTED_CONFIGURATIONS)
+         else()
+           set(_importedConfigs "")
+         endif()
+         if (_importedConfigs)
+#            message(STATUS "Detected imported target ${_CURRENT_LIB}")
+            # Ok, so this is an imported target.
+            # First we get the imported configurations.
+            # Then we get the location of the actual library on disk of the first configuration.
+            # then we'll get its link interface libraries property,
+            # iterate through it and replace all imported targets we find there
+            # with there actual location.
+
+            # guard against infinite loop: abort after 100 iterations ( 100 is arbitrary chosen)
+            if ("${_CCSR_LOOP_COUNTER}" LESS 100)
+               set(_CHECK_FOR_IMPORTED_TARGETS TRUE)
+#                else ()
+#                   message(STATUS "********* aborting loop, counter : ${_CCSR_LOOP_COUNTER}")
+            endif ()
+
+            # if one of the imported configurations equals ${CMAKE_TRY_COMPILE_CONFIGURATION},
+            # use it, otherwise simply use the first one:
+            list(FIND _importedConfigs "${CEIT_CONFIGURATION}" _configIndexToUse)
+            if("${_configIndexToUse}" EQUAL -1)
+              set(_configIndexToUse 0)
+            endif()
+            list(GET _importedConfigs ${_configIndexToUse} _importedConfigToUse)
+
+            get_target_property(_importedLocation "${_CURRENT_LIB}" IMPORTED_LOCATION_${_importedConfigToUse})
+            get_target_property(_linkInterfaceLibs "${_CURRENT_LIB}" IMPORTED_LINK_INTERFACE_LIBRARIES_${_importedConfigToUse} )
+
+            list(APPEND _CCSR_NEW_REQ_LIBS  "${_importedLocation}")
+#            message(STATUS "Appending lib ${_CURRENT_LIB} as ${_importedLocation}")
+            if(_linkInterfaceLibs)
+               foreach(_currentLinkInterfaceLib ${_linkInterfaceLibs})
+#                  message(STATUS "Appending link interface lib ${_currentLinkInterfaceLib}")
+                  if(_currentLinkInterfaceLib)
+                     list(APPEND _CCSR_NEW_REQ_LIBS "${_currentLinkInterfaceLib}" )
+                  endif()
+               endforeach()
+            endif()
+         else()
+            # "Normal" libraries are just used as they are.
+            list(APPEND _CCSR_NEW_REQ_LIBS "${_CURRENT_LIB}" )
+#            message(STATUS "Appending lib directly: ${_CURRENT_LIB}")
+         endif()
+      endforeach()
+
+      set(_CCSR_REQ_LIBS ${_CCSR_NEW_REQ_LIBS} )
+   endwhile()
+
+   # Finally we iterate once more over all libraries. This loop only removes
+   # all remaining imported target names (there shouldn't be any left anyway).
+   set(_CCSR_NEW_REQ_LIBS )
+   foreach(_CURRENT_LIB ${_CCSR_REQ_LIBS})
+      if(TARGET "${_CURRENT_LIB}")
+        get_target_property(_importedConfigs "${_CURRENT_LIB}" IMPORTED_CONFIGURATIONS)
+      else()
+        set(_importedConfigs "")
+      endif()
+      if (NOT _importedConfigs)
+         list(APPEND _CCSR_NEW_REQ_LIBS "${_CURRENT_LIB}" )
+#         message(STATUS "final: appending ${_CURRENT_LIB}")
+      else ()
+#             message(STATUS "final: skipping ${_CURRENT_LIB}")
+      endif ()
+   endforeach()
+#   message(STATUS "setting -${_RESULT}- to -${_CCSR_NEW_REQ_LIBS}-")
+   set(${_RESULT} "${_CCSR_NEW_REQ_LIBS}" PARENT_SCOPE)
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeExportBuildSettings.cmake b/share/cmake-3.10/Modules/CMakeExportBuildSettings.cmake
new file mode 100644
index 0000000..cafc830
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeExportBuildSettings.cmake
@@ -0,0 +1,26 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is purposely no longer documented.  It does nothing useful.
+if(NOT "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7)
+  message(FATAL_ERROR
+    "The functionality of this module has been dropped as of CMake 2.8.  "
+    "It was deemed harmful (confusing users by changing their compiler).  "
+    "Please remove calls to the CMAKE_EXPORT_BUILD_SETTINGS macro and "
+    "stop including this module.  "
+    "If this project generates any files for use by external projects, "
+    "remove any use of the CMakeImportBuildSettings module from them.")
+endif()
+
+# This macro used to store build settings of a project in a file to be
+# loaded by another project using CMAKE_IMPORT_BUILD_SETTINGS.  Now it
+# creates a file that refuses to load (with comment explaining why).
+macro(CMAKE_EXPORT_BUILD_SETTINGS SETTINGS_FILE)
+  if(NOT ${SETTINGS_FILE} STREQUAL "")
+    configure_file(${CMAKE_ROOT}/Modules/CMakeBuildSettings.cmake.in
+                   ${SETTINGS_FILE} @ONLY)
+  else()
+    message(SEND_ERROR "CMAKE_EXPORT_BUILD_SETTINGS called with no argument.")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake b/share/cmake-3.10/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
new file mode 100644
index 0000000..3a72622
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
@@ -0,0 +1,113 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included by CMakeFindEclipseCDT4.cmake and CMakeFindCodeBlocks.cmake
+
+# The Eclipse and the CodeBlocks generators need to know the standard include path
+# so that they can find the headers at runtime and parsing etc. works better
+# This is done here by actually running gcc with the options so it prints its
+# system include directories, which are parsed then and stored in the cache.
+macro(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _resultIncludeDirs _resultDefines)
+  set(${_resultIncludeDirs})
+  set(_gccOutput)
+  file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n" )
+
+  if (${_lang} STREQUAL "c++")
+    set(_compilerExecutable "${CMAKE_CXX_COMPILER}")
+    set(_arg1 "${CMAKE_CXX_COMPILER_ARG1}")
+
+    if (CMAKE_CXX_FLAGS MATCHES "(-stdlib=[^ ]+)")
+      set(_stdlib "${CMAKE_MATCH_1}")
+    endif ()
+    if (CMAKE_CXX_FLAGS MATCHES "(-std=[^ ]+)")
+      set(_stdver "${CMAKE_MATCH_1}")
+    endif ()
+  else ()
+    set(_compilerExecutable "${CMAKE_C_COMPILER}")
+    set(_arg1 "${CMAKE_C_COMPILER_ARG1}")
+  endif ()
+  execute_process(COMMAND ${_compilerExecutable} ${_arg1} ${_stdver} ${_stdlib} -v -E -x ${_lang} -dD dummy
+                  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles
+                  ERROR_VARIABLE _gccOutput
+                  OUTPUT_VARIABLE _gccStdout )
+  file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
+
+  # First find the system include dirs:
+  if( "${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+ *\n) *End of (search) list" )
+
+    # split the output into lines and then remove leading and trailing spaces from each of them:
+    string(REGEX MATCHALL "[^\n]+\n" _includeLines "${CMAKE_MATCH_1}")
+    foreach(nextLine ${_includeLines})
+      # on OSX, gcc says things like this:  "/System/Library/Frameworks (framework directory)", strip the last part
+      string(REGEX REPLACE "\\(framework directory\\)" "" nextLineNoFramework "${nextLine}")
+      # strip spaces at the beginning and the end
+      string(STRIP "${nextLineNoFramework}" _includePath)
+      list(APPEND ${_resultIncludeDirs} "${_includePath}")
+    endforeach()
+
+  endif()
+
+
+  # now find the builtin macros:
+  string(REGEX MATCHALL "#define[^\n]+\n" _defineLines "${_gccStdout}")
+# A few example lines which the regexp below has to match properly:
+#  #define   MAX(a,b) ((a) > (b) ? (a) : (b))
+#  #define __fastcall __attribute__((__fastcall__))
+#  #define   FOO (23)
+#  #define __UINTMAX_TYPE__ long long unsigned int
+#  #define __UINTMAX_TYPE__ long long unsigned int
+#  #define __i386__  1
+
+  foreach(nextLine ${_defineLines})
+    string(REGEX MATCH "^#define +([A-Za-z_][A-Za-z0-9_]*)(\\([^\\)]+\\))? +(.+) *$" _dummy "${nextLine}")
+    set(_name "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
+    string(STRIP "${CMAKE_MATCH_3}" _value)
+    #message(STATUS "m1: -${CMAKE_MATCH_1}- m2: -${CMAKE_MATCH_2}- m3: -${CMAKE_MATCH_3}-")
+
+    list(APPEND ${_resultDefines} "${_name}")
+    if(_value)
+      list(APPEND ${_resultDefines} "${_value}")
+    else()
+      list(APPEND ${_resultDefines} " ")
+    endif()
+  endforeach()
+
+endmacro()
+
+# 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.
+set(_orig_lc_all      $ENV{LC_ALL})
+set(_orig_lc_messages $ENV{LC_MESSAGES})
+set(_orig_lang        $ENV{LANG})
+
+set(ENV{LC_ALL}      C)
+set(ENV{LC_MESSAGES} C)
+set(ENV{LANG}        C)
+
+# Now check for C, works for gcc and Intel compiler at least
+if (NOT CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS)
+  if (CMAKE_C_COMPILER_ID MATCHES GNU  OR  CMAKE_C_COMPILER_ID MATCHES Intel  OR  CMAKE_C_COMPILER_ID MATCHES Clang)
+    _DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c _dirs _defines)
+    set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "C compiler system include directories")
+    set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "C compiler system defined macros")
+  elseif ("${CMAKE_C_COMPILER_ID}" MATCHES MSVC)
+    set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS "$ENV{INCLUDE}" CACHE INTERNAL "C compiler system include directories")
+  endif ()
+endif ()
+
+# And now the same for C++
+if (NOT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS)
+  if ("${CMAKE_CXX_COMPILER_ID}" MATCHES GNU  OR  "${CMAKE_CXX_COMPILER_ID}" MATCHES Intel  OR  "${CMAKE_CXX_COMPILER_ID}" MATCHES Clang)
+    _DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c++ _dirs _defines)
+    set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "CXX compiler system include directories")
+    set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "CXX compiler system defined macros")
+  elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES MSVC)
+    set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS "$ENV{INCLUDE}" CACHE INTERNAL "CXX compiler system include directories")
+  endif ()
+endif ()
+
+# Restore original LC_ALL, LC_MESSAGES, and LANG
+set(ENV{LC_ALL}      ${_orig_lc_all})
+set(ENV{LC_MESSAGES} ${_orig_lc_messages})
+set(ENV{LANG}        ${_orig_lang})
diff --git a/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake b/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake
new file mode 100644
index 0000000..e4103d0
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake
@@ -0,0 +1,73 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# search for additional tools required for C/C++ (and other languages ?)
+#
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# as prefix for the tools (e.g. arm-elf-gcc etc.)
+# If the cmake variable _CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
+# searched only there. The other tools are at first searched there, then
+# also in the default locations.
+#
+# Sets the following variables:
+#   CMAKE_AR
+#   CMAKE_RANLIB
+#   CMAKE_LINKER
+#   CMAKE_STRIP
+#   CMAKE_INSTALL_NAME_TOOL
+
+# on UNIX, cygwin and mingw
+
+# if it's the MS C/CXX compiler, search for link
+if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
+   OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"
+   OR "x${CMAKE_Fortran_SIMULATE_ID}" STREQUAL "xMSVC"
+   OR "x${CMAKE_C_COMPILER_ID}" STREQUAL "xMSVC"
+   OR "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC"
+   OR "x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC"
+   OR (CMAKE_HOST_WIN32 AND (
+        "x${CMAKE_C_COMPILER_ID}" STREQUAL "xPGI"
+         OR "x${CMAKE_Fortran_COMPILER_ID}" STREQUAL "xPGI"
+   ))
+   OR (CMAKE_GENERATOR MATCHES "Visual Studio"
+       AND NOT CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android"))
+
+  find_program(CMAKE_LINKER NAMES link HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+
+  mark_as_advanced(CMAKE_LINKER)
+
+# in all other cases search for ar, ranlib, etc.
+else()
+  if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN)
+    set(_CMAKE_TOOLCHAIN_LOCATION ${_CMAKE_TOOLCHAIN_LOCATION} ${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}/bin)
+  endif()
+  if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN)
+    set(_CMAKE_TOOLCHAIN_LOCATION ${_CMAKE_TOOLCHAIN_LOCATION} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}/bin)
+  endif()
+  find_program(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar${_CMAKE_TOOLCHAIN_SUFFIX} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+
+  find_program(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+  if(NOT CMAKE_RANLIB)
+    set(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
+  endif()
+
+  find_program(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip${_CMAKE_TOOLCHAIN_SUFFIX} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+  find_program(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+  find_program(CMAKE_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+  find_program(CMAKE_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+  find_program(CMAKE_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+
+  mark_as_advanced(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER CMAKE_NM CMAKE_OBJDUMP CMAKE_OBJCOPY)
+
+endif()
+
+if(CMAKE_PLATFORM_HAS_INSTALLNAME)
+  find_program(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+
+  if(NOT CMAKE_INSTALL_NAME_TOOL)
+    message(FATAL_ERROR "Could not find install_name_tool, please check your installation.")
+  endif()
+
+  mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeFindCodeBlocks.cmake b/share/cmake-3.10/Modules/CMakeFindCodeBlocks.cmake
new file mode 100644
index 0000000..b76e5c5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindCodeBlocks.cmake
@@ -0,0 +1,30 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included in CMakeSystemSpecificInformation.cmake if
+# the CodeBlocks extra generator has been selected.
+
+find_program(CMAKE_CODEBLOCKS_EXECUTABLE NAMES codeblocks DOC "The CodeBlocks executable")
+
+if(CMAKE_CODEBLOCKS_EXECUTABLE)
+   set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_CODEBLOCKS_EXECUTABLE} <PROJECT_FILE>" )
+endif()
+
+# Determine builtin macros and include dirs:
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
+
+# Try to find out how many CPUs we have and set the -j argument for make accordingly
+set(_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS "")
+
+include(ProcessorCount)
+processorcount(_CMAKE_CODEBLOCKS_PROCESSOR_COUNT)
+
+# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
+# (we may also get here in the future e.g. for ninja)
+if("${_CMAKE_CODEBLOCKS_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
+  set(_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS "-j${_CMAKE_CODEBLOCKS_PROCESSOR_COUNT}")
+endif()
+
+# This variable is used by the CodeBlocks generator and appended to the make invocation commands.
+set(CMAKE_CODEBLOCKS_MAKE_ARGUMENTS "${_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when CodeBlocks invokes make. Enter e.g. -j<some_number> to get parallel builds")
diff --git a/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake b/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake
new file mode 100644
index 0000000..6a89fff
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake
@@ -0,0 +1,66 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CMakeFindDependencyMacro
+-------------------------
+
+.. command:: find_dependency
+
+  The ``find_dependency()`` macro wraps a :command:`find_package` call for
+  a package dependency::
+
+    find_dependency(<dep> [...])
+
+  It is designed to be used in a
+  :ref:`Package Configuration File <Config File Packages>`
+  (``<package>Config.cmake``).  ``find_dependency`` forwards the correct
+  parameters for ``QUIET`` and ``REQUIRED`` which were passed to
+  the original :command:`find_package` call.  Any additional arguments
+  specified are forwarded to :command:`find_package`.
+
+  If the dependency could not be found it sets an informative diagnostic
+  message and calls :command:`return` to end processing of the calling
+  package configuration file and return to the :command:`find_package`
+  command that loaded it.
+
+  .. note::
+
+    The call to :command:`return` makes this macro unsuitable to call
+    from :ref:`Find Modules`.
+#]=======================================================================]
+
+macro(find_dependency dep)
+  if (NOT ${dep}_FOUND)
+    set(cmake_fd_quiet_arg)
+    if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
+      set(cmake_fd_quiet_arg QUIET)
+    endif()
+    set(cmake_fd_required_arg)
+    if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
+      set(cmake_fd_required_arg REQUIRED)
+    endif()
+
+    get_property(cmake_fd_alreadyTransitive GLOBAL PROPERTY
+      _CMAKE_${dep}_TRANSITIVE_DEPENDENCY
+    )
+
+    find_package(${dep} ${ARGN}
+      ${cmake_fd_quiet_arg}
+      ${cmake_fd_required_arg}
+    )
+
+    if(NOT DEFINED cmake_fd_alreadyTransitive OR cmake_fd_alreadyTransitive)
+      set_property(GLOBAL PROPERTY _CMAKE_${dep}_TRANSITIVE_DEPENDENCY TRUE)
+    endif()
+
+    if (NOT ${dep}_FOUND)
+      set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency ${dep} could not be found.")
+      set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
+      return()
+    endif()
+    set(cmake_fd_required_arg)
+    set(cmake_fd_quiet_arg)
+    set(cmake_fd_exact_arg)
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CMakeFindEclipseCDT4.cmake b/share/cmake-3.10/Modules/CMakeFindEclipseCDT4.cmake
new file mode 100644
index 0000000..199005d
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindEclipseCDT4.cmake
@@ -0,0 +1,89 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included in CMakeSystemSpecificInformation.cmake if
+# the Eclipse CDT4 extra generator has been selected.
+
+find_program(CMAKE_ECLIPSE_EXECUTABLE NAMES eclipse DOC "The Eclipse executable")
+
+function(_FIND_ECLIPSE_VERSION)
+  # This code is in a function so the variables used here have only local scope
+
+  # Set up a map with the names of the Eclipse releases:
+  set(_ECLIPSE_VERSION_NAME_    "Unknown" )
+  set(_ECLIPSE_VERSION_NAME_3.2 "Callisto" )
+  set(_ECLIPSE_VERSION_NAME_3.3 "Europa" )
+  set(_ECLIPSE_VERSION_NAME_3.4 "Ganymede" )
+  set(_ECLIPSE_VERSION_NAME_3.5 "Galileo" )
+  set(_ECLIPSE_VERSION_NAME_3.6 "Helios" )
+  set(_ECLIPSE_VERSION_NAME_3.7 "Indigo" )
+  set(_ECLIPSE_VERSION_NAME_4.2 "Juno" )
+  set(_ECLIPSE_VERSION_NAME_4.3 "Kepler" )
+  set(_ECLIPSE_VERSION_NAME_4.4 "Luna" )
+  set(_ECLIPSE_VERSION_NAME_4.5 "Mars" )
+
+  if(NOT DEFINED CMAKE_ECLIPSE_VERSION)
+    if(CMAKE_ECLIPSE_EXECUTABLE)
+      # use REALPATH to resolve symlinks (https://gitlab.kitware.com/cmake/cmake/issues/13036)
+      get_filename_component(_REALPATH_CMAKE_ECLIPSE_EXECUTABLE "${CMAKE_ECLIPSE_EXECUTABLE}" REALPATH)
+      get_filename_component(_ECLIPSE_DIR "${_REALPATH_CMAKE_ECLIPSE_EXECUTABLE}" PATH)
+      file(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/features/org.eclipse.platform*")
+      if(APPLE AND NOT _ECLIPSE_FEATURE_DIR)
+        file(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/../../../features/org.eclipse.platform*")
+      endif()
+      if("${_ECLIPSE_FEATURE_DIR}" MATCHES ".+org.eclipse.platform_([0-9]+\\.[0-9]+).+")
+        set(_ECLIPSE_VERSION ${CMAKE_MATCH_1})
+      endif()
+    endif()
+
+    if(_ECLIPSE_VERSION)
+      message(STATUS "Found Eclipse version ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})")
+    else()
+      set(_ECLIPSE_VERSION "3.6" )
+      message(STATUS "Could not determine Eclipse version, assuming at least ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}}). Adjust CMAKE_ECLIPSE_VERSION if this is wrong.")
+    endif()
+
+    set(CMAKE_ECLIPSE_VERSION "${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})" CACHE STRING "The version of Eclipse. If Eclipse has not been found, 3.6 (Helios) is assumed.")
+  else()
+    message(STATUS "Eclipse version is set to ${CMAKE_ECLIPSE_VERSION}. Adjust CMAKE_ECLIPSE_VERSION if this is wrong.")
+  endif()
+
+  set_property(CACHE CMAKE_ECLIPSE_VERSION PROPERTY STRINGS "3.2 (${_ECLIPSE_VERSION_NAME_3.2})"
+                                                            "3.3 (${_ECLIPSE_VERSION_NAME_3.3})"
+                                                            "3.4 (${_ECLIPSE_VERSION_NAME_3.4})"
+                                                            "3.5 (${_ECLIPSE_VERSION_NAME_3.5})"
+                                                            "3.6 (${_ECLIPSE_VERSION_NAME_3.6})"
+                                                            "3.7 (${_ECLIPSE_VERSION_NAME_3.7})"
+                                                            "4.2 (${_ECLIPSE_VERSION_NAME_4.2})"
+                                                            "4.3 (${_ECLIPSE_VERSION_NAME_4.3})"
+                                                            "4.4 (${_ECLIPSE_VERSION_NAME_4.4})"
+                                                            "4.5 (${_ECLIPSE_VERSION_NAME_4.5})"
+              )
+endfunction()
+
+_find_eclipse_version()
+
+# Try to find out how many CPUs we have and set the -j argument for make accordingly
+set(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "")
+
+include(ProcessorCount)
+processorcount(_CMAKE_ECLIPSE_PROCESSOR_COUNT)
+
+# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
+# (we may also get here in the future e.g. for ninja)
+if("${_CMAKE_ECLIPSE_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
+  set(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "-j${_CMAKE_ECLIPSE_PROCESSOR_COUNT}")
+endif()
+
+# This variable is used by the Eclipse generator and appended to the make invocation commands.
+set(CMAKE_ECLIPSE_MAKE_ARGUMENTS "${_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
+
+set(CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES TRUE CACHE BOOL "If disabled, CMake will not generate linked resource to the subprojects and to the source files within targets")
+
+# This variable is used by the Eclipse generator in out-of-source builds only.
+set(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT FALSE CACHE BOOL "If enabled, CMake will generate a source project for Eclipse in CMAKE_SOURCE_DIR")
+mark_as_advanced(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT)
+
+# Determine builtin macros and include dirs:
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
diff --git a/share/cmake-3.10/Modules/CMakeFindFrameworks.cmake b/share/cmake-3.10/Modules/CMakeFindFrameworks.cmake
new file mode 100644
index 0000000..6c4c527
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindFrameworks.cmake
@@ -0,0 +1,32 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeFindFrameworks
+# -------------------
+#
+# helper module to find OSX frameworks
+#
+# This module reads hints about search locations from variables::
+#
+#   CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS - Extra directories
+
+if(NOT CMAKE_FIND_FRAMEWORKS_INCLUDED)
+  set(CMAKE_FIND_FRAMEWORKS_INCLUDED 1)
+  macro(CMAKE_FIND_FRAMEWORKS fwk)
+    set(${fwk}_FRAMEWORKS)
+    if(APPLE)
+      foreach(dir
+          ~/Library/Frameworks/${fwk}.framework
+          /usr/local/Frameworks/${fwk}.framework
+          /Library/Frameworks/${fwk}.framework
+          /System/Library/Frameworks/${fwk}.framework
+          /Network/Library/Frameworks/${fwk}.framework
+          ${CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS})
+        if(EXISTS ${dir})
+          set(${fwk}_FRAMEWORKS ${${fwk}_FRAMEWORKS} ${dir})
+        endif()
+      endforeach()
+    endif()
+  endmacro()
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeFindJavaCommon.cmake b/share/cmake-3.10/Modules/CMakeFindJavaCommon.cmake
new file mode 100644
index 0000000..46b6280
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindJavaCommon.cmake
@@ -0,0 +1,31 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Do not include this module directly from code outside CMake!
+set(_JAVA_HOME "")
+if(JAVA_HOME AND IS_DIRECTORY "${JAVA_HOME}")
+  set(_JAVA_HOME "${JAVA_HOME}")
+  set(_JAVA_HOME_EXPLICIT 1)
+else()
+  set(_ENV_JAVA_HOME "")
+  if(DEFINED ENV{JAVA_HOME})
+    file(TO_CMAKE_PATH "$ENV{JAVA_HOME}" _ENV_JAVA_HOME)
+  endif()
+  if(_ENV_JAVA_HOME AND IS_DIRECTORY "${_ENV_JAVA_HOME}")
+    set(_JAVA_HOME "${_ENV_JAVA_HOME}")
+    set(_JAVA_HOME_EXPLICIT 1)
+  else()
+    set(_CMD_JAVA_HOME "")
+    if(APPLE AND EXISTS /usr/libexec/java_home)
+      execute_process(COMMAND /usr/libexec/java_home
+        OUTPUT_VARIABLE _CMD_JAVA_HOME OUTPUT_STRIP_TRAILING_WHITESPACE)
+    endif()
+    if(_CMD_JAVA_HOME AND IS_DIRECTORY "${_CMD_JAVA_HOME}")
+      set(_JAVA_HOME "${_CMD_JAVA_HOME}")
+      set(_JAVA_HOME_EXPLICIT 0)
+    endif()
+    unset(_CMD_JAVA_HOME)
+  endif()
+  unset(_ENV_JAVA_HOME)
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeFindKDevelop3.cmake b/share/cmake-3.10/Modules/CMakeFindKDevelop3.cmake
new file mode 100644
index 0000000..488acf7
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindKDevelop3.cmake
@@ -0,0 +1,13 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included in CMakeSystemSpecificInformation.cmake if
+# the KDevelop3 extra generator has been selected.
+
+find_program(CMAKE_KDEVELOP3_EXECUTABLE NAMES kdevelop DOC "The KDevelop3 executable")
+
+if(CMAKE_KDEVELOP3_EXECUTABLE)
+   set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_KDEVELOP3_EXECUTABLE} <PROJECT_FILE>" )
+endif()
+
diff --git a/share/cmake-3.10/Modules/CMakeFindKate.cmake b/share/cmake-3.10/Modules/CMakeFindKate.cmake
new file mode 100644
index 0000000..9aaf6e5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindKate.cmake
@@ -0,0 +1,21 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included in CMakeSystemSpecificInformation.cmake if
+# the Eclipse CDT4 extra generator has been selected.
+
+
+# Try to find out how many CPUs we have and set the -j argument for make accordingly
+
+include(ProcessorCount)
+processorcount(_CMAKE_KATE_PROCESSOR_COUNT)
+
+# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
+# (we may also get here in the future e.g. for ninja)
+if("${_CMAKE_KATE_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
+  set(_CMAKE_KATE_INITIAL_MAKE_ARGS "-j${_CMAKE_KATE_PROCESSOR_COUNT}")
+endif()
+
+# This variable is used by the Eclipse generator and appended to the make invocation commands.
+set(CMAKE_KATE_MAKE_ARGUMENTS "${_CMAKE_KATE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Kate invokes make. Enter e.g. -j<some_number> to get parallel builds")
diff --git a/share/cmake-3.10/Modules/CMakeFindPackageMode.cmake b/share/cmake-3.10/Modules/CMakeFindPackageMode.cmake
new file mode 100644
index 0000000..1261137
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindPackageMode.cmake
@@ -0,0 +1,201 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeFindPackageMode
+# --------------------
+#
+#
+#
+# This file is executed by cmake when invoked with --find-package.  It
+# expects that the following variables are set using -D:
+#
+# ``NAME``
+#   name of the package
+# ``COMPILER_ID``
+#   the CMake compiler ID for which the result is,
+#   i.e. GNU/Intel/Clang/MSVC, etc.
+# ``LANGUAGE``
+#   language for which the result will be used,
+#   i.e. C/CXX/Fortan/ASM
+# ``MODE``
+#   ``EXIST``
+#     only check for existence of the given package
+#   ``COMPILE``
+#     print the flags needed for compiling an object file which uses
+#     the given package
+#   ``LINK``
+#     print the flags needed for linking when using the given package
+# ``QUIET``
+#   if TRUE, don't print anything
+
+if(NOT NAME)
+  message(FATAL_ERROR "Name of the package to be searched not specified. Set the CMake variable NAME, e.g. -DNAME=JPEG .")
+endif()
+
+if(NOT COMPILER_ID)
+  message(FATAL_ERROR "COMPILER_ID argument not specified. In doubt, use GNU.")
+endif()
+
+if(NOT LANGUAGE)
+  message(FATAL_ERROR "LANGUAGE argument not specified. Use C, CXX or Fortran.")
+endif()
+
+if(NOT MODE)
+  message(FATAL_ERROR "MODE argument not specified. Use either EXIST, COMPILE or LINK.")
+endif()
+
+# require the current version. If we don't do this, Platforms/CYGWIN.cmake complains because
+# it doesn't know whether it should set WIN32 or not:
+cmake_minimum_required(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} )
+
+macro(ENABLE_LANGUAGE)
+  # disable the enable_language() command, otherwise --find-package breaks on Windows.
+  # On Windows, enable_language(RC) is called in the platform files unconditionally.
+  # But in --find-package mode, we don't want (and can't) enable any language.
+endmacro()
+
+set(CMAKE_PLATFORM_INFO_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
+
+include(CMakeDetermineSystem)
+
+# short-cut some tests on Darwin, see Darwin-GNU.cmake:
+if("${CMAKE_SYSTEM_NAME}" MATCHES Darwin  AND  "${COMPILER_ID}" MATCHES GNU)
+  set(CMAKE_${LANGUAGE}_SYSROOT_FLAG "")
+  set(CMAKE_${LANGUAGE}_OSX_DEPLOYMENT_TARGET_FLAG "")
+endif()
+
+# Also load the system specific file, which sets up e.g. the search paths.
+# This makes the FIND_XXX() calls work much better
+include(CMakeSystemSpecificInformation)
+
+if(UNIX)
+
+  # try to guess whether we have a 64bit system, if it has not been set
+  # from the outside
+  if(NOT CMAKE_SIZEOF_VOID_P)
+    set(CMAKE_SIZEOF_VOID_P 4)
+    if(EXISTS /usr/lib64)
+      set(CMAKE_SIZEOF_VOID_P 8)
+    else()
+      # use the file utility to check whether itself is 64 bit:
+      find_program(FILE_EXECUTABLE file)
+      if(FILE_EXECUTABLE)
+        get_filename_component(FILE_ABSPATH "${FILE_EXECUTABLE}" ABSOLUTE)
+        execute_process(COMMAND "${FILE_ABSPATH}" "${FILE_ABSPATH}" OUTPUT_VARIABLE fileOutput ERROR_QUIET)
+        if("${fileOutput}" MATCHES "64-bit")
+          set(CMAKE_SIZEOF_VOID_P 8)
+        endif()
+      endif()
+    endif()
+  endif()
+
+  # guess Debian multiarch if it has not been set:
+  if(EXISTS /etc/debian_version)
+    if(NOT CMAKE_${LANGUAGE}_LIBRARY_ARCHITECTURE )
+      file(GLOB filesInLib RELATIVE /lib /lib/*-linux-gnu* )
+      foreach(file ${filesInLib})
+        if("${file}" MATCHES "${CMAKE_LIBRARY_ARCHITECTURE_REGEX}")
+          set(CMAKE_${LANGUAGE}_LIBRARY_ARCHITECTURE ${file})
+          break()
+        endif()
+      endforeach()
+    endif()
+    if(NOT CMAKE_LIBRARY_ARCHITECTURE)
+      set(CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_${LANGUAGE}_LIBRARY_ARCHITECTURE})
+    endif()
+  endif()
+
+endif()
+
+set(CMAKE_${LANGUAGE}_COMPILER "dummy")
+set(CMAKE_${LANGUAGE}_COMPILER_ID "${COMPILER_ID}")
+include(CMake${LANGUAGE}Information)
+
+
+function(set_compile_flags_var _packageName)
+  string(TOUPPER "${_packageName}" PACKAGE_NAME)
+  # Check the following variables:
+  # FOO_INCLUDE_DIRS
+  # Foo_INCLUDE_DIRS
+  # FOO_INCLUDES
+  # Foo_INCLUDES
+  # FOO_INCLUDE_DIR
+  # Foo_INCLUDE_DIR
+  set(includes)
+  if(DEFINED ${_packageName}_INCLUDE_DIRS)
+    set(includes ${_packageName}_INCLUDE_DIRS)
+  elseif(DEFINED ${PACKAGE_NAME}_INCLUDE_DIRS)
+    set(includes ${PACKAGE_NAME}_INCLUDE_DIRS)
+  elseif(DEFINED ${_packageName}_INCLUDES)
+    set(includes ${_packageName}_INCLUDES)
+  elseif(DEFINED ${PACKAGE_NAME}_INCLUDES)
+    set(includes ${PACKAGE_NAME}_INCLUDES)
+  elseif(DEFINED ${_packageName}_INCLUDE_DIR)
+    set(includes ${_packageName}_INCLUDE_DIR)
+  elseif(DEFINED ${PACKAGE_NAME}_INCLUDE_DIR)
+    set(includes ${PACKAGE_NAME}_INCLUDE_DIR)
+  endif()
+
+  set(PACKAGE_INCLUDE_DIRS "${${includes}}" PARENT_SCOPE)
+
+  # Check the following variables:
+  # FOO_DEFINITIONS
+  # Foo_DEFINITIONS
+  set(definitions)
+  if(DEFINED ${_packageName}_DEFINITIONS)
+    set(definitions ${_packageName}_DEFINITIONS)
+  elseif(DEFINED ${PACKAGE_NAME}_DEFINITIONS)
+    set(definitions ${PACKAGE_NAME}_DEFINITIONS)
+  endif()
+
+  set(PACKAGE_DEFINITIONS  "${${definitions}}" )
+
+endfunction()
+
+
+function(set_link_flags_var _packageName)
+  string(TOUPPER "${_packageName}" PACKAGE_NAME)
+  # Check the following variables:
+  # FOO_LIBRARIES
+  # Foo_LIBRARIES
+  # FOO_LIBS
+  # Foo_LIBS
+  set(libs)
+  if(DEFINED ${_packageName}_LIBRARIES)
+    set(libs ${_packageName}_LIBRARIES)
+  elseif(DEFINED ${PACKAGE_NAME}_LIBRARIES)
+    set(libs ${PACKAGE_NAME}_LIBRARIES)
+  elseif(DEFINED ${_packageName}_LIBS)
+    set(libs ${_packageName}_LIBS)
+  elseif(DEFINED ${PACKAGE_NAME}_LIBS)
+    set(libs ${PACKAGE_NAME}_LIBS)
+  endif()
+
+  set(PACKAGE_LIBRARIES "${${libs}}" PARENT_SCOPE )
+
+endfunction()
+
+
+find_package("${NAME}" QUIET)
+
+set(PACKAGE_FOUND FALSE)
+
+string(TOUPPER "${NAME}" UPPERCASE_NAME)
+
+if(${NAME}_FOUND  OR  ${UPPERCASE_NAME}_FOUND)
+  set(PACKAGE_FOUND TRUE)
+
+  if("${MODE}" STREQUAL "EXIST")
+    # do nothing
+  elseif("${MODE}" STREQUAL "COMPILE")
+    set_compile_flags_var(${NAME})
+  elseif("${MODE}" STREQUAL "LINK")
+    set_link_flags_var(${NAME})
+  else()
+    message(FATAL_ERROR "Invalid mode argument ${MODE} given.")
+  endif()
+
+endif()
+
+set(PACKAGE_QUIET ${SILENT} )
diff --git a/share/cmake-3.10/Modules/CMakeFindWMake.cmake b/share/cmake-3.10/Modules/CMakeFindWMake.cmake
new file mode 100644
index 0000000..a20d069
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindWMake.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+set (CMAKE_MAKE_PROGRAM "wmake" CACHE STRING
+     "Program used to build from makefiles.")
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.10/Modules/CMakeFindXCode.cmake b/share/cmake-3.10/Modules/CMakeFindXCode.cmake
new file mode 100644
index 0000000..281af96
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFindXCode.cmake
@@ -0,0 +1,6 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Empty placeholder for input dependencies in existing
+# build trees produced by older versions of CMake.
diff --git a/share/cmake-3.10/Modules/CMakeForceCompiler.cmake b/share/cmake-3.10/Modules/CMakeForceCompiler.cmake
new file mode 100644
index 0000000..1bc80fd
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeForceCompiler.cmake
@@ -0,0 +1,108 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeForceCompiler
+# ------------------
+#
+# Deprecated.  Do not use.
+#
+# The macros provided by this module were once intended for use by
+# cross-compiling toolchain files when CMake was not able to automatically
+# detect the compiler identification.  Since the introduction of this module,
+# CMake's compiler identification capabilities have improved and can now be
+# taught to recognize any compiler.  Furthermore, the suite of information
+# CMake detects from a compiler is now too extensive to be provided by
+# toolchain files using these macros.
+#
+# One common use case for this module was to skip CMake's checks for a
+# working compiler when using a cross-compiler that cannot link binaries
+# without special flags or custom linker scripts.  This case is now supported
+# by setting the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable in the
+# toolchain file instead.
+#
+# -------------------------------------------------------------------------
+#
+# Macro CMAKE_FORCE_C_COMPILER has the following signature:
+#
+# ::
+#
+#    CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
+#
+# It sets CMAKE_C_COMPILER to the given compiler and the cmake internal
+# variable CMAKE_C_COMPILER_ID to the given compiler-id.  It also
+# bypasses the check for working compiler and basic compiler information
+# tests.
+#
+# Macro CMAKE_FORCE_CXX_COMPILER has the following signature:
+#
+# ::
+#
+#    CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
+#
+# It sets CMAKE_CXX_COMPILER to the given compiler and the cmake
+# internal variable CMAKE_CXX_COMPILER_ID to the given compiler-id.  It
+# also bypasses the check for working compiler and basic compiler
+# information tests.
+#
+# Macro CMAKE_FORCE_Fortran_COMPILER has the following signature:
+#
+# ::
+#
+#    CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>)
+#
+# It sets CMAKE_Fortran_COMPILER to the given compiler and the cmake
+# internal variable CMAKE_Fortran_COMPILER_ID to the given compiler-id.
+# It also bypasses the check for working compiler and basic compiler
+# information tests.
+#
+# So a simple toolchain file could look like this:
+#
+# ::
+#
+#    include (CMakeForceCompiler)
+#    set(CMAKE_SYSTEM_NAME Generic)
+#    CMAKE_FORCE_C_COMPILER   (chc12 MetrowerksHicross)
+#    CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
+
+macro(CMAKE_FORCE_C_COMPILER compiler id)
+  message(DEPRECATION "The CMAKE_FORCE_C_COMPILER macro is deprecated.  "
+    "Instead just set CMAKE_C_COMPILER and allow CMake to identify the compiler.")
+  set(CMAKE_C_COMPILER "${compiler}")
+  set(CMAKE_C_COMPILER_ID_RUN TRUE)
+  set(CMAKE_C_COMPILER_ID ${id})
+  set(CMAKE_C_COMPILER_FORCED TRUE)
+
+  # Set old compiler id variables.
+  if(CMAKE_C_COMPILER_ID MATCHES "GNU")
+    set(CMAKE_COMPILER_IS_GNUCC 1)
+  endif()
+endmacro()
+
+macro(CMAKE_FORCE_CXX_COMPILER compiler id)
+  message(DEPRECATION "The CMAKE_FORCE_CXX_COMPILER macro is deprecated.  "
+    "Instead just set CMAKE_CXX_COMPILER and allow CMake to identify the compiler.")
+  set(CMAKE_CXX_COMPILER "${compiler}")
+  set(CMAKE_CXX_COMPILER_ID_RUN TRUE)
+  set(CMAKE_CXX_COMPILER_ID ${id})
+  set(CMAKE_CXX_COMPILER_FORCED TRUE)
+
+  # Set old compiler id variables.
+  if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+    set(CMAKE_COMPILER_IS_GNUCXX 1)
+  endif()
+endmacro()
+
+macro(CMAKE_FORCE_Fortran_COMPILER compiler id)
+  message(DEPRECATION "The CMAKE_FORCE_Fortran_COMPILER macro is deprecated.  "
+    "Instead just set CMAKE_Fortran_COMPILER and allow CMake to identify the compiler.")
+  set(CMAKE_Fortran_COMPILER "${compiler}")
+  set(CMAKE_Fortran_COMPILER_ID_RUN TRUE)
+  set(CMAKE_Fortran_COMPILER_ID ${id})
+  set(CMAKE_Fortran_COMPILER_FORCED TRUE)
+
+  # Set old compiler id variables.
+  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
+    set(CMAKE_COMPILER_IS_GNUG77 1)
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CMakeFortranCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeFortranCompiler.cmake.in
new file mode 100644
index 0000000..2e34cbb
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFortranCompiler.cmake.in
@@ -0,0 +1,66 @@
+set(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
+set(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
+set(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
+set(CMAKE_Fortran_COMPILER_VERSION "@CMAKE_Fortran_COMPILER_VERSION@")
+set(CMAKE_Fortran_COMPILER_WRAPPER "@CMAKE_Fortran_COMPILER_WRAPPER@")
+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_COMPILER_ARCHITECTURE_ID@
+@SET_MSVC_Fortran_ARCHITECTURE_ID@
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_Fortran_COMPILER_AR "@CMAKE_Fortran_COMPILER_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_Fortran_COMPILER_RANLIB "@CMAKE_Fortran_COMPILER_RANLIB@")
+set(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
+set(CMAKE_Fortran_COMPILER_LOADED 1)
+set(CMAKE_Fortran_COMPILER_WORKS @CMAKE_Fortran_COMPILER_WORKS@)
+set(CMAKE_Fortran_ABI_COMPILED @CMAKE_Fortran_ABI_COMPILED@)
+set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
+set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
+
+set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 @CMAKE_Fortran_COMPILER_SUPPORTS_F90@)
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_Fortran_COMPILER_ID_RUN 1)
+set(CMAKE_Fortran_SOURCE_FILE_EXTENSIONS f;F;f77;F77;f90;F90;for;For;FOR;f95;F95)
+set(CMAKE_Fortran_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_Fortran_LINKER_PREFERENCE 20)
+if(UNIX)
+  set(CMAKE_Fortran_OUTPUT_EXTENSION .o)
+else()
+  set(CMAKE_Fortran_OUTPUT_EXTENSION .obj)
+endif()
+
+# Save compiler ABI information.
+set(CMAKE_Fortran_SIZEOF_DATA_PTR "@CMAKE_Fortran_SIZEOF_DATA_PTR@")
+set(CMAKE_Fortran_COMPILER_ABI "@CMAKE_Fortran_COMPILER_ABI@")
+set(CMAKE_Fortran_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
+
+if(CMAKE_Fortran_SIZEOF_DATA_PTR AND NOT CMAKE_SIZEOF_VOID_P)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_Fortran_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_Fortran_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_Fortran_COMPILER_ABI}")
+endif()
+
+if(CMAKE_Fortran_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
+endif()
+
+@CMAKE_Fortran_COMPILER_CUSTOM_CODE@
+@CMAKE_Fortran_SYSROOT_FLAG_CODE@
+@CMAKE_Fortran_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
+
+set(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES "@CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.6/Modules/CMakeFortranCompilerABI.F b/share/cmake-3.10/Modules/CMakeFortranCompilerABI.F
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeFortranCompilerABI.F
rename to share/cmake-3.10/Modules/CMakeFortranCompilerABI.F
diff --git a/share/cmake-3.10/Modules/CMakeFortranCompilerId.F.in b/share/cmake-3.10/Modules/CMakeFortranCompilerId.F.in
new file mode 100644
index 0000000..49789f1
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFortranCompilerId.F.in
@@ -0,0 +1,220 @@
+      PROGRAM CMakeFortranCompilerId
+#if 0
+! Identify the compiler
+#endif
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+        PRINT *, 'INFO:compiler[Intel]'
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+
+# if defined(_MSC_VER)
+        PRINT *, 'INFO:simulate[MSVC]'
+#  if _MSC_VER >= 1900
+        PRINT *, 'INFO:simulate_version[019.00]'
+#  elif _MSC_VER >= 1800
+        PRINT *, 'INFO:simulate_version[018.00]'
+#  elif _MSC_VER >= 1700
+        PRINT *, 'INFO:simulate_version[017.00]'
+#  elif _MSC_VER >= 1600
+        PRINT *, 'INFO:simulate_version[016.00]'
+#  elif _MSC_VER >= 1500
+        PRINT *, 'INFO:simulate_version[015.00]'
+#  elif _MSC_VER >= 1400
+        PRINT *, 'INFO:simulate_version[014.00]'
+#  elif _MSC_VER >= 1310
+        PRINT *, 'INFO:simulate_version[013.01]'
+#  else
+        PRINT *, 'INFO:simulate_version[013.00]'
+#  endif
+# endif
+#elif defined(__SUNPRO_F95)
+        PRINT *, 'INFO:compiler[SunPro]'
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_F95>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_F95>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_F95    & 0xF)
+#elif defined(__SUNPRO_F90)
+        PRINT *, 'INFO:compiler[SunPro]'
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_F90>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_F90>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_F90    & 0xF)
+#elif defined(_CRAYFTN)
+        PRINT *, 'INFO:compiler[Cray]'
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+#elif defined(__G95__)
+        PRINT *, 'INFO:compiler[G95]'
+# define COMPILER_VERSION_MAJOR DEC(__G95__)
+# define COMPILER_VERSION_MINOR DEC(__G95_MINOR__)
+#elif defined(__PATHSCALE__)
+        PRINT *, 'INFO:compiler[PathScale]'
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+#elif defined(__ABSOFT__)
+        PRINT *, 'INFO:compiler[Absoft]'
+#elif defined(__GNUC__)
+        PRINT *, 'INFO:compiler[GNU]'
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+#elif defined(__IBMC__)
+# if defined(__COMPILER_VER__)
+        PRINT *, 'INFO:compiler[zOS]'
+# elif __IBMC__ >= 800
+        PRINT *, 'INFO:compiler[XL]'
+#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+# else
+        PRINT *, 'INFO:compiler[VisualAge]'
+#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+# endif
+#elif defined(__PGI)
+        PRINT *, 'INFO:compiler[PGI]'
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+#elif defined(__FLANG)
+        PRINT *, 'INFO:compiler[Flang]'
+# define COMPILER_VERSION_MAJOR DEC(__FLANG_MAJOR__)
+# define COMPILER_VERSION_MINOR DEC(__FLANG_MINOR__)
+# if defined(__FLANG_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__FLANG_PATCHLEVEL__)
+# endif
+#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
+        PRINT *, 'INFO:compiler[MIPSpro]'
+#       if 0
+!       This compiler is either not known or is too old to define an
+!       identification macro.  Try to identify the platform and guess that
+!       it is the native compiler.
+#       endif
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+        PRINT *, 'INFO:compiler[VisualAge]'
+#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
+        PRINT *, 'INFO:compiler[MIPSpro]'
+#elif defined(__hpux) || defined(__hpux__)
+        PRINT *, 'INFO:compiler[HP]'
+#elif defined(NAGFOR)
+        PRINT *, 'INFO:compiler[NAG]'
+#define COMPILER_VERSION_MAJOR DEC(__NAG_COMPILER_RELEASE/10)
+#define COMPILER_VERSION_MINOR DEC(__NAG_COMPILER_RELEASE % 10)
+#define COMPILER_VERSION_PATCH DEC(__NAG_COMPILER_BUILD)
+#elif 1
+#       if 0
+!       The above 'elif 1' instead of 'else' is to work around a bug in the
+!       SGI preprocessor which produces both the __sgi and else blocks.
+#       endif
+        PRINT *, 'INFO:compiler[]'
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+        PRINT *, 'INFO:compiler_wrapper[CrayPrgEnv]'
+#endif
+
+#if 0
+! Identify the platform
+#endif
+#if defined(__linux) || defined(__linux__) || defined(linux)
+        PRINT *, 'INFO:platform[Linux]'
+#elif defined(__CYGWIN__)
+        PRINT *, 'INFO:platform[Cygwin]'
+#elif defined(__MINGW32__)
+        PRINT *, 'INFO:platform[MinGW]'
+#elif defined(__APPLE__)
+        PRINT *, 'INFO:platform[Darwin]'
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+        PRINT *, 'INFO:platform[Windows]'
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+        PRINT *, 'INFO:platform[FreeBSD]'
+#elif defined(__NetBSD__) || defined(__NetBSD)
+        PRINT *, 'INFO:platform[NetBSD]'
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+        PRINT *, 'INFO:platform[OpenBSD]'
+#elif defined(__sun) || defined(sun)
+        PRINT *, 'INFO:platform[SunOS]'
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+        PRINT *, 'INFO:platform[AIX]'
+#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
+        PRINT *, 'INFO:platform[IRIX]'
+#elif defined(__hpux) || defined(__hpux__)
+        PRINT *, 'INFO:platform[HP-UX]'
+#elif defined(__HAIKU__)
+        PRINT *, 'INFO:platform[Haiku]'
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+        PRINT *, 'INFO:platform[BeOS]'
+#elif defined(__QNX__) || defined(__QNXNTO__)
+        PRINT *, 'INFO:platform[QNX]'
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+        PRINT *, 'INFO:platform[Tru64]'
+#elif defined(__riscos) || defined(__riscos__)
+        PRINT *, 'INFO:platform[RISCos]'
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+        PRINT *, 'INFO:platform[SINIX]'
+#elif defined(__UNIX_SV__)
+        PRINT *, 'INFO:platform[UNIX_SV]'
+#elif defined(__bsdos__)
+        PRINT *, 'INFO:platform[BSDOS]'
+#elif defined(_MPRAS) || defined(MPRAS)
+        PRINT *, 'INFO:platform[MP-RAS]'
+#elif defined(__osf) || defined(__osf__)
+        PRINT *, 'INFO:platform[OSF1]'
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+        PRINT *, 'INFO:platform[SCO_SV]'
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+        PRINT *, 'INFO:platform[ULTRIX]'
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+        PRINT *, 'INFO:platform[Xenix]'
+#elif 1
+#       if 0
+!       The above 'elif 1' instead of 'else' is to work around a bug in the
+!       SGI preprocessor which produces both the __sgi and else blocks.
+#       endif
+        PRINT *, 'INFO:platform[]'
+#endif
+#if defined(_WIN32) && (defined(__INTEL_COMPILER) || defined(__ICC))
+# if defined(_M_IA64)
+        PRINT *, 'INFO:arch[IA64]'
+# elif defined(_M_X64) || defined(_M_AMD64)
+        PRINT *, 'INFO:arch[x64]'
+# elif defined(_M_IX86)
+        PRINT *, 'INFO:arch[X86]'
+# endif
+#endif
+
+#if 0
+! Encode compiler version digits
+#endif
+#define DEC_8(n) (((n) / 10000000) % 10)
+#define DEC_7(n) (((n) / 1000000)  % 10)
+#define DEC_6(n) (((n) / 100000)   % 10)
+#define DEC_5(n) (((n) / 10000)    % 10)
+#define DEC_4(n) (((n) / 1000)     % 10)
+#define DEC_3(n) (((n) / 100)      % 10)
+#define DEC_2(n) (((n) / 10)       % 10)
+#define DEC_1(n) (((n)    )        % 10)
+#define HEX_8(n) ((n)>>28 & 0xF)
+#define HEX_7(n) ((n)>>24 & 0xF)
+#define HEX_6(n) ((n)>>20 & 0xF)
+#define HEX_5(n) ((n)>>16 & 0xF)
+#define HEX_4(n) ((n)>>12 & 0xF)
+#define HEX_3(n) ((n)>>8  & 0xF)
+#define HEX_2(n) ((n)>>4  & 0xF)
+#define HEX_1(n) ((n)     & 0xF)
+@CMAKE_Fortran_COMPILER_ID_VERSION_INFO@
+
+      END
diff --git a/share/cmake-3.10/Modules/CMakeFortranInformation.cmake b/share/cmake-3.10/Modules/CMakeFortranInformation.cmake
new file mode 100644
index 0000000..8005da6
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeFortranInformation.cmake
@@ -0,0 +1,244 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(CMakeLanguageInformation)
+
+# This file sets the basic flags for the Fortran language in CMake.
+# It also loads the available platform file for the system-compiler
+# if it exists.
+
+set(_INCLUDED_FILE 0)
+
+# Load compiler-specific information.
+if(CMAKE_Fortran_COMPILER_ID)
+  include(Compiler/${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL)
+endif()
+
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_Fortran_COMPILER}" NAME_WE)
+# since the gnu compiler has several names force g++
+if(CMAKE_COMPILER_IS_GNUG77)
+  set(CMAKE_BASE_NAME g77)
+endif()
+if(CMAKE_Fortran_COMPILER_ID)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if (NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
+          RESULT_VARIABLE _INCLUDED_FILE)
+endif ()
+
+# load any compiler-wrapper specific information
+if (CMAKE_Fortran_COMPILER_WRAPPER)
+  __cmake_include_compiler_wrapper(Fortran)
+endif ()
+
+# We specify the compiler information in the system file for some
+# platforms, but this language may not have been enabled when the file
+# was first included.  Include it again to get the language info.
+# Remove this when all compiler info is removed from system files.
+if (NOT _INCLUDED_FILE)
+  include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
+endif ()
+
+if(CMAKE_Fortran_SIZEOF_DATA_PTR)
+  foreach(f ${CMAKE_Fortran_ABI_FILES})
+    include(${f})
+  endforeach()
+  unset(CMAKE_Fortran_ABI_FILES)
+endif()
+
+# This should be included before the _INIT variables are
+# used to initialize the cache.  Since the rule variables
+# have if blocks on them, users can still define them here.
+# But, it should still be after the platform file so changes can
+# be made to those values.
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran "${_override}")
+endif()
+
+
+# Fortran needs cmake to do a requires step during its build process to
+# catch any modules
+set(CMAKE_NEEDS_REQUIRES_STEP_Fortran_FLAG 1)
+
+if(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIC)
+  set(CMAKE_Fortran_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
+endif()
+
+if(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIE)
+  set(CMAKE_Fortran_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
+endif()
+
+if(NOT CMAKE_Fortran_COMPILE_OPTIONS_DLL)
+  set(CMAKE_Fortran_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
+endif()
+
+# Create a set of shared library variable specific to Fortran
+# For 90% of the systems, these are the same flags as the C versions
+# so if these are not set just copy the flags from the c version
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS)
+  set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_Fortran_FLAGS)
+  set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
+  set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG)
+  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_EXE_EXPORTS_Fortran_FLAG)
+  set(CMAKE_EXE_EXPORTS_Fortran_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG)
+  set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
+endif()
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_Fortran_FLAGS})
+  set(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS})
+endif()
+
+# repeat for modules
+if(NOT DEFINED CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS)
+  set(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_MODULE_Fortran_FLAGS)
+  set(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG)
+  set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP)
+  set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP})
+endif()
+
+if(NOT DEFINED CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG)
+  set(CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
+  set(CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+endif()
+
+if(NOT CMAKE_INCLUDE_FLAG_Fortran)
+  set(CMAKE_INCLUDE_FLAG_Fortran ${CMAKE_INCLUDE_FLAG_C})
+endif()
+
+if(NOT CMAKE_INCLUDE_FLAG_SEP_Fortran)
+  set(CMAKE_INCLUDE_FLAG_SEP_Fortran ${CMAKE_INCLUDE_FLAG_SEP_C})
+endif()
+
+set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make.  This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
+
+set(CMAKE_Fortran_FLAGS_INIT "$ENV{FFLAGS} ${CMAKE_Fortran_FLAGS_INIT}")
+
+foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+  string(STRIP "${CMAKE_Fortran_FLAGS${c}_INIT}" CMAKE_Fortran_FLAGS${c}_INIT)
+endforeach()
+
+set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_INIT}" CACHE STRING
+     "Flags for Fortran compiler.")
+
+include(CMakeCommonLanguageInclude)
+
+# now define the following rule variables
+# CMAKE_Fortran_CREATE_SHARED_LIBRARY
+# CMAKE_Fortran_CREATE_SHARED_MODULE
+# CMAKE_Fortran_COMPILE_OBJECT
+# CMAKE_Fortran_LINK_EXECUTABLE
+
+# create a Fortran shared library
+if(NOT CMAKE_Fortran_CREATE_SHARED_LIBRARY)
+  set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+      "<CMAKE_Fortran_COMPILER> <CMAKE_SHARED_LIBRARY_Fortran_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+endif()
+
+# create a Fortran shared module just copy the shared library rule
+if(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
+  set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
+endif()
+
+# Create a static archive incrementally for large object file counts.
+# If CMAKE_Fortran_CREATE_STATIC_LIBRARY is set it will override these.
+if(NOT DEFINED CMAKE_Fortran_ARCHIVE_CREATE)
+  set(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_Fortran_ARCHIVE_APPEND)
+  set(CMAKE_Fortran_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_Fortran_ARCHIVE_FINISH)
+  set(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
+
+# compile a Fortran file into an object file
+# (put -o after -c to workaround bug in at least one mpif77 wrapper)
+if(NOT CMAKE_Fortran_COMPILE_OBJECT)
+  set(CMAKE_Fortran_COMPILE_OBJECT
+    "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -c <SOURCE> -o <OBJECT>")
+endif()
+
+# link a fortran program
+if(NOT CMAKE_Fortran_LINK_EXECUTABLE)
+  set(CMAKE_Fortran_LINK_EXECUTABLE
+    "<CMAKE_Fortran_COMPILER> <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+endif()
+
+if(CMAKE_Fortran_STANDARD_LIBRARIES_INIT)
+  set(CMAKE_Fortran_STANDARD_LIBRARIES "${CMAKE_Fortran_STANDARD_LIBRARIES_INIT}"
+    CACHE STRING "Libraries linked by default with all Fortran applications.")
+  mark_as_advanced(CMAKE_Fortran_STANDARD_LIBRARIES)
+endif()
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG_INIT}" CACHE STRING
+     "Flags used by the compiler during debug builds.")
+  set (CMAKE_Fortran_FLAGS_MINSIZEREL "${CMAKE_Fortran_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds for minimum size.")
+  set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds.")
+  set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+     "Flags used by the compiler during release builds with debug info.")
+
+endif()
+
+mark_as_advanced(
+CMAKE_Fortran_FLAGS
+CMAKE_Fortran_FLAGS_DEBUG
+CMAKE_Fortran_FLAGS_MINSIZEREL
+CMAKE_Fortran_FLAGS_RELEASE
+CMAKE_Fortran_FLAGS_RELWITHDEBINFO)
+
+# set this variable so we can avoid loading this more than once.
+set(CMAKE_Fortran_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeGenericSystem.cmake b/share/cmake-3.10/Modules/CMakeGenericSystem.cmake
new file mode 100644
index 0000000..324a279
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeGenericSystem.cmake
@@ -0,0 +1,184 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "")            # -pic
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")       # -shared
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")         # +s, flag for exe link to use shared lib
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")       # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")   # : or empty
+set(CMAKE_INCLUDE_FLAG_C "-I")       # -I
+set(CMAKE_INCLUDE_FLAG_C_SEP "")     # , or empty
+set(CMAKE_LIBRARY_PATH_FLAG "-L")
+set(CMAKE_LIBRARY_PATH_TERMINATOR "")  # for the Digital Mars D compiler the link paths have to be terminated with a "/"
+set(CMAKE_LINK_LIBRARY_FLAG "-l")
+
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")          # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")          # .so
+set(CMAKE_EXECUTABLE_SUFFIX "")          # .exe
+set(CMAKE_DL_LIBS "dl")
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
+set(CMAKE_AUTOMOC_COMPILER_PREDEFINES ON)
+set(CMAKE_AUTOMOC_MACRO_NAMES "Q_OBJECT" "Q_GADGET" "Q_NAMESPACE")
+
+# basically all general purpose OSs support shared libs
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
+
+set (CMAKE_SKIP_RPATH "NO" CACHE BOOL
+     "If set, runtime paths are not added when using shared libraries.")
+set (CMAKE_SKIP_INSTALL_RPATH "NO" CACHE BOOL
+     "If set, runtime paths are not added when installing shared libraries, but are added when building.")
+
+set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make.  This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
+
+if(CMAKE_GENERATOR MATCHES "Make")
+  set(CMAKE_COLOR_MAKEFILE ON CACHE BOOL
+    "Enable/Disable color output during build."
+    )
+  mark_as_advanced(CMAKE_COLOR_MAKEFILE)
+  if(DEFINED CMAKE_RULE_MESSAGES)
+    set_property(GLOBAL PROPERTY RULE_MESSAGES ${CMAKE_RULE_MESSAGES})
+  endif()
+  if(DEFINED CMAKE_TARGET_MESSAGES)
+    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."
+      )
+    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."
+    )
+  mark_as_advanced(CMAKE_EXPORT_COMPILE_COMMANDS)
+endif()
+
+# GetDefaultWindowsPrefixBase
+#
+# Compute the base directory for CMAKE_INSTALL_PREFIX based on:
+#  - is this 32-bit or 64-bit Windows
+#  - is this 32-bit or 64-bit CMake running
+#  - what architecture targets will be built
+#
+function(GetDefaultWindowsPrefixBase var)
+
+  # Try to guess what architecture targets will end up being built as,
+  # even if CMAKE_SIZEOF_VOID_P is not computed yet... We need to know
+  # the architecture of the targets being built to choose the right
+  # default value for CMAKE_INSTALL_PREFIX.
+  #
+  if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
+    set(arch_hint "x64")
+  elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "ARM64")
+    set(arch_hint "ARM64")
+  elseif("${CMAKE_GENERATOR}" MATCHES "ARM")
+    set(arch_hint "ARM")
+  elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
+    set(arch_hint "x64")
+  elseif("$ENV{LIB}" MATCHES "(amd64|ia64)")
+    set(arch_hint "x64")
+  endif()
+
+  if(NOT arch_hint)
+    set(arch_hint "x86")
+  endif()
+
+  # default env in a 64-bit app on Win64:
+  # ProgramFiles=C:\Program Files
+  # ProgramFiles(x86)=C:\Program Files (x86)
+  # ProgramW6432=C:\Program Files
+  #
+  # default env in a 32-bit app on Win64:
+  # ProgramFiles=C:\Program Files (x86)
+  # ProgramFiles(x86)=C:\Program Files (x86)
+  # ProgramW6432=C:\Program Files
+  #
+  # default env in a 32-bit app on Win32:
+  # ProgramFiles=C:\Program Files
+  # ProgramFiles(x86) NOT DEFINED
+  # ProgramW6432 NOT DEFINED
+
+  # By default, use the ProgramFiles env var as the base value of
+  # CMAKE_INSTALL_PREFIX:
+  #
+  set(_PREFIX_ENV_VAR "ProgramFiles")
+
+  if ("$ENV{ProgramW6432}" STREQUAL "")
+    # running on 32-bit Windows
+    # must be a 32-bit CMake, too...
+    #message("guess: this is a 32-bit CMake running on 32-bit Windows")
+  else()
+    # running on 64-bit Windows
+    if ("$ENV{ProgramW6432}" STREQUAL "$ENV{ProgramFiles}")
+      # 64-bit CMake
+      #message("guess: this is a 64-bit CMake running on 64-bit Windows")
+      if(NOT "${arch_hint}" STREQUAL "x64")
+      # building 32-bit targets
+        set(_PREFIX_ENV_VAR "ProgramFiles(x86)")
+      endif()
+    else()
+      # 32-bit CMake
+      #message("guess: this is a 32-bit CMake running on 64-bit Windows")
+      if("${arch_hint}" STREQUAL "x64")
+      # building 64-bit targets
+        set(_PREFIX_ENV_VAR "ProgramW6432")
+      endif()
+    endif()
+  endif()
+
+  #if("${arch_hint}" STREQUAL "x64")
+  #  message("guess: you are building a 64-bit app")
+  #else()
+  #  message("guess: you are building a 32-bit app")
+  #endif()
+
+  if(NOT "$ENV{${_PREFIX_ENV_VAR}}" STREQUAL "")
+    file(TO_CMAKE_PATH "$ENV{${_PREFIX_ENV_VAR}}" _base)
+  elseif(NOT "$ENV{SystemDrive}" STREQUAL "")
+    set(_base "$ENV{SystemDrive}/Program Files")
+  else()
+    set(_base "C:/Program Files")
+  endif()
+
+  set(${var} "${_base}" PARENT_SCOPE)
+endfunction()
+
+
+# Set a variable to indicate whether the value of CMAKE_INSTALL_PREFIX
+# was initialized by the block below.  This is useful for user
+# projects to change the default prefix while still allowing the
+# command line to override it.
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 1)
+endif()
+
+# Choose a default install prefix for this platform.
+if(CMAKE_HOST_UNIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local"
+    CACHE PATH "Install path prefix, prepended onto install directories.")
+else()
+  GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
+  set(CMAKE_INSTALL_PREFIX
+    "${CMAKE_GENERIC_PROGRAM_FILES}/${PROJECT_NAME}"
+    CACHE PATH "Install path prefix, prepended onto install directories.")
+  set(CMAKE_GENERIC_PROGRAM_FILES)
+endif()
+
+# Set a variable which will be used as component name in install() commands
+# where no COMPONENT has been given:
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "Unspecified")
+
+mark_as_advanced(
+  CMAKE_SKIP_RPATH
+  CMAKE_SKIP_INSTALL_RPATH
+  CMAKE_VERBOSE_MAKEFILE
+)
diff --git a/share/cmake-3.10/Modules/CMakeGraphVizOptions.cmake b/share/cmake-3.10/Modules/CMakeGraphVizOptions.cmake
new file mode 100644
index 0000000..0d7f1d9
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeGraphVizOptions.cmake
@@ -0,0 +1,122 @@
+# 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.10/Modules/CMakeIOSInstallCombined.cmake b/share/cmake-3.10/Modules/CMakeIOSInstallCombined.cmake
new file mode 100644
index 0000000..fad2e8f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeIOSInstallCombined.cmake
@@ -0,0 +1,307 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Function to print messages of this module
+function(_ios_install_combined_message)
+  message("[iOS combined] " ${ARGN})
+endfunction()
+
+# Get build settings for the current target/config/SDK by running
+# `xcodebuild -sdk ... -showBuildSettings` and parsing it's output
+function(_ios_install_combined_get_build_setting sdk variable resultvar)
+  if("${sdk}" STREQUAL "")
+    message(FATAL_ERROR "`sdk` is empty")
+  endif()
+
+  if("${variable}" STREQUAL "")
+    message(FATAL_ERROR "`variable` is empty")
+  endif()
+
+  if("${resultvar}" STREQUAL "")
+    message(FATAL_ERROR "`resultvar` is empty")
+  endif()
+
+  set(
+      cmd
+      xcodebuild -showBuildSettings
+      -sdk "${sdk}"
+      -target "${CURRENT_TARGET}"
+      -config "${CURRENT_CONFIG}"
+  )
+
+  execute_process(
+      COMMAND ${cmd}
+      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+      RESULT_VARIABLE result
+      OUTPUT_VARIABLE output
+  )
+
+  if(NOT result EQUAL 0)
+    message(FATAL_ERROR "Command failed (${result}): ${cmd}")
+  endif()
+
+  if(NOT output MATCHES " ${variable} = ([^\n]*)")
+    if("${variable}" STREQUAL "VALID_ARCHS")
+      # VALID_ARCHS may be unset by user for given SDK
+      # (e.g. for build without simulator).
+      set("${resultvar}" "" PARENT_SCOPE)
+      return()
+    else()
+      message(FATAL_ERROR "${variable} not found.")
+    endif()
+  endif()
+
+  set("${resultvar}" "${CMAKE_MATCH_1}" PARENT_SCOPE)
+endfunction()
+
+# Get architectures of given SDK (iphonesimulator/iphoneos)
+function(_ios_install_combined_get_valid_archs sdk resultvar)
+  cmake_policy(SET CMP0007 NEW)
+
+  if("${resultvar}" STREQUAL "")
+    message(FATAL_ERROR "`resultvar` is empty")
+  endif()
+
+  _ios_install_combined_get_build_setting("${sdk}" "VALID_ARCHS" valid_archs)
+
+  separate_arguments(valid_archs)
+  list(REMOVE_ITEM valid_archs "") # remove empty elements
+  list(REMOVE_DUPLICATES valid_archs)
+
+  string(REPLACE ";" " " printable "${valid_archs}")
+  _ios_install_combined_message("Architectures (${sdk}): ${printable}")
+
+  set("${resultvar}" "${valid_archs}" PARENT_SCOPE)
+endfunction()
+
+# Final target can contain more architectures that specified by SDK. This
+# function will run 'lipo -info' and parse output. Result will be returned
+# as a CMake list.
+function(_ios_install_combined_get_real_archs filename resultvar)
+  set(cmd "${_lipo_path}" -info "${filename}")
+  execute_process(
+      COMMAND ${cmd}
+      RESULT_VARIABLE result
+      OUTPUT_VARIABLE output
+      ERROR_VARIABLE output
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      ERROR_STRIP_TRAILING_WHITESPACE
+  )
+  if(NOT result EQUAL 0)
+    message(
+        FATAL_ERROR "Command failed (${result}): ${cmd}\n\nOutput:\n${output}"
+    )
+  endif()
+
+  if(NOT output MATCHES "(Architectures in the fat file: [^\n]+ are|Non-fat file: [^\n]+ is architecture): ([^\n]*)")
+    message(FATAL_ERROR "Could not detect architecture from: ${output}")
+  endif()
+
+  separate_arguments(CMAKE_MATCH_2)
+  set(${resultvar} ${CMAKE_MATCH_2} PARENT_SCOPE)
+endfunction()
+
+# Run build command for the given SDK
+function(_ios_install_combined_build sdk)
+  if("${sdk}" STREQUAL "")
+    message(FATAL_ERROR "`sdk` is empty")
+  endif()
+
+  _ios_install_combined_message("Build `${CURRENT_TARGET}` for `${sdk}`")
+
+  execute_process(
+      COMMAND
+      "${CMAKE_COMMAND}"
+      --build
+      .
+      --target "${CURRENT_TARGET}"
+      --config ${CURRENT_CONFIG}
+      --
+      -sdk "${sdk}"
+      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+      RESULT_VARIABLE result
+  )
+
+  if(NOT result EQUAL 0)
+    message(FATAL_ERROR "Build failed")
+  endif()
+endfunction()
+
+# Remove given architecture from file. This step needed only in rare cases
+# when target was built in "unusual" way. Emit warning message.
+function(_ios_install_combined_remove_arch lib arch)
+  _ios_install_combined_message(
+    "Warning! Unexpected architecture `${arch}` detected and will be removed "
+    "from file `${lib}`")
+  set(cmd "${_lipo_path}" -remove ${arch} -output ${lib} ${lib})
+  execute_process(
+      COMMAND ${cmd}
+      RESULT_VARIABLE result
+      OUTPUT_VARIABLE output
+      ERROR_VARIABLE output
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      ERROR_STRIP_TRAILING_WHITESPACE
+  )
+  if(NOT result EQUAL 0)
+    message(
+        FATAL_ERROR "Command failed (${result}): ${cmd}\n\nOutput:\n${output}"
+    )
+  endif()
+endfunction()
+
+# Check that 'lib' contains only 'archs' architectures (remove others).
+function(_ios_install_combined_keep_archs lib archs)
+  _ios_install_combined_get_real_archs("${lib}" real_archs)
+  set(archs_to_remove ${real_archs})
+  list(REMOVE_ITEM archs_to_remove ${archs})
+  foreach(x ${archs_to_remove})
+    _ios_install_combined_remove_arch("${lib}" "${x}")
+  endforeach()
+endfunction()
+
+function(_ios_install_combined_detect_sdks this_sdk_var corr_sdk_var)
+  cmake_policy(SET CMP0057 NEW)
+
+  set(this_sdk "$ENV{PLATFORM_NAME}")
+  if("${this_sdk}" STREQUAL "")
+    message(FATAL_ERROR "Environment variable PLATFORM_NAME is empty")
+  endif()
+
+  set(all_platforms "$ENV{SUPPORTED_PLATFORMS}")
+  if("${all_platforms}" STREQUAL "")
+    message(FATAL_ERROR "Environment variable SUPPORTED_PLATFORMS is empty")
+  endif()
+
+  separate_arguments(all_platforms)
+  if(NOT this_sdk IN_LIST all_platforms)
+    message(FATAL_ERROR "`${this_sdk}` not found in `${all_platforms}`")
+  endif()
+
+  list(REMOVE_ITEM all_platforms "" "${this_sdk}")
+  list(LENGTH all_platforms all_platforms_length)
+  if(NOT all_platforms_length EQUAL 1)
+    message(FATAL_ERROR "Expected one element: ${all_platforms}")
+  endif()
+
+  set(${this_sdk_var} "${this_sdk}" PARENT_SCOPE)
+  set(${corr_sdk_var} "${all_platforms}" PARENT_SCOPE)
+endfunction()
+
+# Create combined binary for the given target.
+#
+# Preconditions:
+#  * Target already installed at ${destination}
+#    for the ${PLATFORM_NAME} platform
+#
+# This function will:
+#  * Run build for the lacking platform, i.e. opposite to the ${PLATFORM_NAME}
+#  * Fuse both libraries by running lipo
+function(ios_install_combined target destination)
+  if("${target}" STREQUAL "")
+    message(FATAL_ERROR "`target` is empty")
+  endif()
+
+  if("${destination}" STREQUAL "")
+    message(FATAL_ERROR "`destination` is empty")
+  endif()
+
+  if(NOT IS_ABSOLUTE "${destination}")
+    message(FATAL_ERROR "`destination` is not absolute: ${destination}")
+  endif()
+
+  if(IS_DIRECTORY "${destination}" OR IS_SYMLINK "${destination}")
+    message(FATAL_ERROR "`destination` is no regular file: ${destination}")
+  endif()
+
+  if("${CMAKE_BINARY_DIR}" STREQUAL "")
+    message(FATAL_ERROR "`CMAKE_BINARY_DIR` is empty")
+  endif()
+
+  if(NOT IS_DIRECTORY "${CMAKE_BINARY_DIR}")
+    message(FATAL_ERROR "Is not a directory: ${CMAKE_BINARY_DIR}")
+  endif()
+
+  if("${CMAKE_INSTALL_CONFIG_NAME}" STREQUAL "")
+    message(FATAL_ERROR "CMAKE_INSTALL_CONFIG_NAME is empty")
+  endif()
+
+  set(cmd xcrun -f lipo)
+
+  # Do not merge OUTPUT_VARIABLE and ERROR_VARIABLE since latter may contain
+  # some diagnostic information even for the successful run.
+  execute_process(
+      COMMAND ${cmd}
+      RESULT_VARIABLE result
+      OUTPUT_VARIABLE output
+      ERROR_VARIABLE error_output
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      ERROR_STRIP_TRAILING_WHITESPACE
+  )
+  if(NOT result EQUAL 0)
+    message(
+        FATAL_ERROR "Command failed (${result}): ${cmd}\n\nOutput:\n${output}\nOutput(error):\n${error_output}"
+    )
+  endif()
+  set(_lipo_path ${output})
+  list(LENGTH _lipo_path len)
+  if(NOT len EQUAL 1)
+    message(FATAL_ERROR "Unexpected xcrun output: ${_lipo_path}")
+  endif()
+  if(NOT EXISTS "${_lipo_path}")
+    message(FATAL_ERROR "File not found: ${_lipo_path}")
+  endif()
+
+  set(CURRENT_CONFIG "${CMAKE_INSTALL_CONFIG_NAME}")
+  set(CURRENT_TARGET "${target}")
+
+  _ios_install_combined_message("Target: ${CURRENT_TARGET}")
+  _ios_install_combined_message("Config: ${CURRENT_CONFIG}")
+  _ios_install_combined_message("Destination: ${destination}")
+
+  # Get SDKs
+  _ios_install_combined_detect_sdks(this_sdk corr_sdk)
+
+  # Get architectures of the target
+  _ios_install_combined_get_valid_archs("${corr_sdk}" corr_valid_archs)
+  _ios_install_combined_get_valid_archs("${this_sdk}" this_valid_archs)
+
+  # Return if there are no valid architectures for the SDK.
+  # (note that library already installed)
+  if("${corr_valid_archs}" STREQUAL "")
+    _ios_install_combined_message(
+        "No architectures detected for `${corr_sdk}` (skip)"
+    )
+    return()
+  endif()
+
+  # Trigger build of corresponding target
+  _ios_install_combined_build("${corr_sdk}")
+
+  # Get location of the library in build directory
+  _ios_install_combined_get_build_setting(
+    "${corr_sdk}" "CONFIGURATION_BUILD_DIR" corr_build_dir)
+  _ios_install_combined_get_build_setting(
+    "${corr_sdk}" "EXECUTABLE_PATH" corr_executable_path)
+  set(corr "${corr_build_dir}/${corr_executable_path}")
+
+  _ios_install_combined_keep_archs("${corr}" "${corr_valid_archs}")
+  _ios_install_combined_keep_archs("${destination}" "${this_valid_archs}")
+
+  _ios_install_combined_message("Current: ${destination}")
+  _ios_install_combined_message("Corresponding: ${corr}")
+
+  set(cmd "${_lipo_path}" -create ${corr} ${destination} -output ${destination})
+
+  execute_process(
+      COMMAND ${cmd}
+      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+      RESULT_VARIABLE result
+  )
+
+  if(NOT result EQUAL 0)
+    message(FATAL_ERROR "Command failed: ${cmd}")
+  endif()
+
+  _ios_install_combined_message("Install done: ${destination}")
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeImportBuildSettings.cmake b/share/cmake-3.10/Modules/CMakeImportBuildSettings.cmake
new file mode 100644
index 0000000..ec1effb
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeImportBuildSettings.cmake
@@ -0,0 +1,13 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is purposely no longer documented.  It does nothing useful.
+
+# This macro used to load build settings from another project that
+# stored settings using the CMAKE_EXPORT_BUILD_SETTINGS macro.
+macro(CMAKE_IMPORT_BUILD_SETTINGS SETTINGS_FILE)
+  if("${SETTINGS_FILE}" STREQUAL "")
+    message(SEND_ERROR "CMAKE_IMPORT_BUILD_SETTINGS called with no argument.")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CMakeJOMFindMake.cmake b/share/cmake-3.10/Modules/CMakeJOMFindMake.cmake
new file mode 100644
index 0000000..f56a588
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeJOMFindMake.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+set (CMAKE_MAKE_PROGRAM "jom" CACHE STRING
+     "Program used to build from makefiles.")
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeJavaCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeJavaCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeJavaCompiler.cmake.in
rename to share/cmake-3.10/Modules/CMakeJavaCompiler.cmake.in
diff --git a/share/cmake-3.10/Modules/CMakeJavaInformation.cmake b/share/cmake-3.10/Modules/CMakeJavaInformation.cmake
new file mode 100644
index 0000000..844bbbb
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeJavaInformation.cmake
@@ -0,0 +1,49 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This should be included before the _INIT variables are
+# used to initialize the cache.  Since the rule variables
+# have if blocks on them, users can still define them here.
+# But, it should still be after the platform file so changes can
+# be made to those values.
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
+  # Save the full path of the file so try_compile can use it.
+  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
+
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_Java)
+  # Save the full path of the file so try_compile can use it.
+   include(${CMAKE_USER_MAKE_RULES_OVERRIDE_Java} RESULT_VARIABLE _override)
+   set(CMAKE_USER_MAKE_RULES_OVERRIDE_Java "${_override}")
+endif()
+
+# this is a place holder if java needed flags for javac they would go here.
+if(NOT CMAKE_Java_CREATE_STATIC_LIBRARY)
+#  if(WIN32)
+#    set(class_files_mask "*.class")
+#  else()
+    set(class_files_mask ".")
+#  endif()
+
+  set(CMAKE_Java_CREATE_STATIC_LIBRARY
+      "<CMAKE_Java_ARCHIVE> -cf <TARGET> -C <OBJECT_DIR> ${class_files_mask}")
+    # "${class_files_mask}" should really be "<OBJECTS>" but compling a *.java
+    # file can create more than one *.class file...
+endif()
+
+# compile a Java file into an object file
+if(NOT CMAKE_Java_COMPILE_OBJECT)
+  set(CMAKE_Java_COMPILE_OBJECT
+    "<CMAKE_Java_COMPILER> <FLAGS> <SOURCE> -d <OBJECT_DIR>")
+endif()
+
+# set java include flag option and the separator for multiple include paths
+set(CMAKE_INCLUDE_FLAG_Java "-classpath ")
+if(WIN32 AND NOT CYGWIN)
+  set(CMAKE_INCLUDE_FLAG_SEP_Java ";")
+else()
+  set(CMAKE_INCLUDE_FLAG_SEP_Java ":")
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake b/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake
new file mode 100644
index 0000000..18c8624
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake
@@ -0,0 +1,27 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file contains common code blocks used by all the language information
+# files
+
+# load any compiler-wrapper specific information
+macro(__cmake_include_compiler_wrapper lang)
+  set(_INCLUDED_WRAPPER_FILE 0)
+  if (CMAKE_${lang}_COMPILER_ID)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_${lang}_COMPILER_WRAPPER}-${CMAKE_${lang}_COMPILER_ID}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
+  endif()
+  if (NOT _INCLUDED_WRAPPER_FILE)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_${lang}_COMPILER_WRAPPER}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
+  endif ()
+
+  # No platform - wrapper - lang information so maybe there's just wrapper - lang information
+  if(NOT _INCLUDED_WRAPPER_FILE)
+    if (CMAKE_${lang}_COMPILER_ID)
+      include(Compiler/${CMAKE_${lang}_COMPILER_WRAPPER}-${CMAKE_${lang}_COMPILER_ID}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
+    endif()
+    if (NOT _INCLUDED_WRAPPER_FILE)
+      include(Compiler/${CMAKE_${lang}_COMPILER_WRAPPER}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
+    endif ()
+  endif ()
+endmacro ()
diff --git a/share/cmake-3.10/Modules/CMakeMSYSFindMake.cmake b/share/cmake-3.10/Modules/CMakeMSYSFindMake.cmake
new file mode 100644
index 0000000..33b02c9
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeMSYSFindMake.cmake
@@ -0,0 +1,10 @@
+# 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 make
+  PATHS
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MSYS-1.0_is1;Inno Setup: App Path]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
+  c:/msys/1.0/bin /msys/1.0/bin)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.10/Modules/CMakeMinGWFindMake.cmake b/share/cmake-3.10/Modules/CMakeMinGWFindMake.cmake
new file mode 100644
index 0000000..523f00c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeMinGWFindMake.cmake
@@ -0,0 +1,16 @@
+# 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.10/Modules/CMakeNMakeFindMake.cmake b/share/cmake-3.10/Modules/CMakeNMakeFindMake.cmake
new file mode 100644
index 0000000..0335744
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeNMakeFindMake.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+set (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING
+     "Program used to build from makefiles.")
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake b/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake
new file mode 100644
index 0000000..6a0c47e
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeNinjaFindMake.cmake
@@ -0,0 +1,8 @@
+# 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
+  NAMES ninja-build ninja
+  DOC "Program used to build from build.ninja files.")
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.10/Modules/CMakePackageConfigHelpers.cmake b/share/cmake-3.10/Modules/CMakePackageConfigHelpers.cmake
new file mode 100644
index 0000000..90c2a57
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakePackageConfigHelpers.cmake
@@ -0,0 +1,314 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakePackageConfigHelpers
+# -------------------------
+#
+# Helpers functions for creating config files that can be included by other
+# projects to find and use a package.
+#
+# Adds the :command:`configure_package_config_file()` and
+# :command:`write_basic_package_version_file()` commands.
+#
+# Generating a Package Configuration File
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# .. command:: configure_package_config_file
+#
+#  Create a config file for a project::
+#
+#    configure_package_config_file(<input> <output>
+#      INSTALL_DESTINATION <path>
+#      [PATH_VARS <var1> <var2> ... <varN>]
+#      [NO_SET_AND_CHECK_MACRO]
+#      [NO_CHECK_REQUIRED_COMPONENTS_MACRO]
+#      [INSTALL_PREFIX <path>]
+#      )
+#
+# ``configure_package_config_file()`` should be used instead of the plain
+# :command:`configure_file()` command when creating the ``<Name>Config.cmake``
+# or ``<Name>-config.cmake`` file for installing a project or library.  It helps
+# making the resulting package relocatable by avoiding hardcoded paths in the
+# installed ``Config.cmake`` file.
+#
+# In a ``FooConfig.cmake`` file there may be code like this to make the install
+# destinations know to the using project:
+#
+# .. code-block:: cmake
+#
+#    set(FOO_INCLUDE_DIR   "@CMAKE_INSTALL_FULL_INCLUDEDIR@" )
+#    set(FOO_DATA_DIR   "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" )
+#    set(FOO_ICONS_DIR   "@CMAKE_INSTALL_PREFIX@/share/icons" )
+#    #...logic to determine installedPrefix from the own location...
+#    set(FOO_CONFIG_DIR  "${installedPrefix}/@CONFIG_INSTALL_DIR@" )
+#
+# All 4 options shown above are not sufficient, since the first 3 hardcode the
+# absolute directory locations, and the 4th case works only if the logic to
+# determine the ``installedPrefix`` is correct, and if ``CONFIG_INSTALL_DIR``
+# contains a relative path, which in general cannot be guaranteed.  This has the
+# effect that the resulting ``FooConfig.cmake`` file would work poorly under
+# Windows and OSX, where users are used to choose the install location of a
+# binary package at install time, independent from how
+# :variable:`CMAKE_INSTALL_PREFIX` was set at build/cmake time.
+#
+# Using ``configure_package_config_file`` helps.  If used correctly, it makes
+# the resulting ``FooConfig.cmake`` file relocatable.  Usage:
+#
+# 1. write a ``FooConfig.cmake.in`` file as you are used to
+# 2. insert a line containing only the string ``@PACKAGE_INIT@``
+# 3. instead of ``set(FOO_DIR "@SOME_INSTALL_DIR@")``, use
+#    ``set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")`` (this must be after the
+#    ``@PACKAGE_INIT@`` line)
+# 4. instead of using the normal :command:`configure_file()`, use
+#    ``configure_package_config_file()``
+#
+#
+#
+# The ``<input>`` and ``<output>`` arguments are the input and output file, the
+# same way as in :command:`configure_file()`.
+#
+# The ``<path>`` given to ``INSTALL_DESTINATION`` must be the destination where
+# the ``FooConfig.cmake`` file will be installed to.  This path can either be
+# absolute, or relative to the ``INSTALL_PREFIX`` path.
+#
+# The variables ``<var1>`` to ``<varN>`` given as ``PATH_VARS`` are the
+# variables which contain install destinations.  For each of them the macro will
+# create a helper variable ``PACKAGE_<var...>``.  These helper variables must be
+# used in the ``FooConfig.cmake.in`` file for setting the installed location.
+# They are calculated by ``configure_package_config_file`` so that they are
+# always relative to the installed location of the package.  This works both for
+# relative and also for absolute locations.  For absolute locations it works
+# only if the absolute location is a subdirectory of ``INSTALL_PREFIX``.
+#
+# If the ``INSTALL_PREFIX`` argument is passed, this is used as base path to
+# calculate all the relative paths.  The ``<path>`` argument must be an absolute
+# path.  If this argument is not passed, the :variable:`CMAKE_INSTALL_PREFIX`
+# variable will be used instead.  The default value is good when generating a
+# FooConfig.cmake file to use your package from the install tree.  When
+# generating a FooConfig.cmake file to use your package from the build tree this
+# option should be used.
+#
+# By default ``configure_package_config_file`` also generates two helper macros,
+# ``set_and_check()`` and ``check_required_components()`` into the
+# ``FooConfig.cmake`` file.
+#
+# ``set_and_check()`` should be used instead of the normal ``set()`` command for
+# setting directories and file locations.  Additionally to setting the variable
+# it also checks that the referenced file or directory actually exists and fails
+# with a ``FATAL_ERROR`` otherwise.  This makes sure that the created
+# ``FooConfig.cmake`` file does not contain wrong references.
+# When using the ``NO_SET_AND_CHECK_MACRO``, this macro is not generated
+# into the ``FooConfig.cmake`` file.
+#
+# ``check_required_components(<package_name>)`` should be called at the end of
+# the ``FooConfig.cmake`` file if the package supports components.  This macro
+# checks whether all requested, non-optional components have been found, and if
+# this is not the case, sets the ``Foo_FOUND`` variable to ``FALSE``, so that
+# the package is considered to be not found.  It does that by testing the
+# ``Foo_<Component>_FOUND`` variables for all requested required components.
+# When using the ``NO_CHECK_REQUIRED_COMPONENTS_MACRO`` option, this macro is
+# not generated into the ``FooConfig.cmake`` file.
+#
+# For an example see below the documentation for
+# :command:`write_basic_package_version_file()`.
+#
+# Generating a Package Version File
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# .. command:: write_basic_package_version_file
+#
+#  Create a version file for a project::
+#
+#    write_basic_package_version_file(<filename>
+#      [VERSION <major.minor.patch>]
+#      COMPATIBILITY <AnyNewerVersion|SameMajorVersion|ExactVersion> )
+#
+#
+# Writes a file for use as ``<package>ConfigVersion.cmake`` file to
+# ``<filename>``.  See the documentation of :command:`find_package()` for
+# details on this.
+#
+# ``<filename>`` is the output filename, it should be in the build tree.
+# ``<major.minor.patch>`` is the version number of the project to be installed.
+#
+# If no ``VERSION`` is given, the :variable:`PROJECT_VERSION` variable is used.
+# If this hasn't been set, it errors out.
+#
+# The ``COMPATIBILITY`` mode ``AnyNewerVersion`` means that the installed
+# package version will be considered compatible if it is newer or exactly the
+# same as the requested version.  This mode should be used for packages which
+# are fully backward compatible, also across major versions.
+# If ``SameMajorVersion`` is used instead, then the behaviour differs from
+# ``AnyNewerVersion`` in that the major version number must be the same as
+# requested, e.g.  version 2.0 will not be considered compatible if 1.0 is
+# requested.  This mode should be used for packages which guarantee backward
+# compatibility within the same major version.
+# If ``ExactVersion`` is used, then the package is only considered compatible if
+# the requested version matches exactly its own version number (not considering
+# the tweak version).  For example, version 1.2.3 of a package is only
+# considered compatible to requested version 1.2.3.  This mode is for packages
+# without compatibility guarantees.
+# If your project has more elaborated version matching rules, you will need to
+# write your own custom ``ConfigVersion.cmake`` file instead of using this
+# macro.
+#
+# Internally, this macro executes :command:`configure_file()` to create the
+# resulting version file.  Depending on the ``COMPATIBLITY``, either the file
+# ``BasicConfigVersion-SameMajorVersion.cmake.in`` or
+# ``BasicConfigVersion-AnyNewerVersion.cmake.in`` is used.  Please note that
+# these two files are internal to CMake and you should not call
+# :command:`configure_file()` on them yourself, but they can be used as starting
+# point to create more sophisticted custom ``ConfigVersion.cmake`` files.
+#
+# Example Generating Package Files
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# Example using both :command:`configure_package_config_file` and
+# ``write_basic_package_version_file()``:
+#
+# ``CMakeLists.txt``:
+#
+# .. code-block:: cmake
+#
+#    set(INCLUDE_INSTALL_DIR include/ ... CACHE )
+#    set(LIB_INSTALL_DIR lib/ ... CACHE )
+#    set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE )
+#    #...
+#    include(CMakePackageConfigHelpers)
+#    configure_package_config_file(FooConfig.cmake.in
+#      ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
+#      INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
+#      PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
+#    write_basic_package_version_file(
+#      ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
+#      VERSION 1.2.3
+#      COMPATIBILITY SameMajorVersion )
+#    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
+#                  ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
+#            DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
+#
+# ``FooConfig.cmake.in``:
+#
+# ::
+#
+#    set(FOO_VERSION x.y.z)
+#    ...
+#    @PACKAGE_INIT@
+#    ...
+#    set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
+#    set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@")
+#
+#    check_required_components(Foo)
+
+include(WriteBasicConfigVersionFile)
+
+macro(WRITE_BASIC_PACKAGE_VERSION_FILE)
+  write_basic_config_version_file(${ARGN})
+endmacro()
+
+function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile)
+  set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO)
+  set(oneValueArgs INSTALL_DESTINATION INSTALL_PREFIX)
+  set(multiValueArgs PATH_VARS )
+
+  cmake_parse_arguments(CCF "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+
+  if(CCF_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to CONFIGURE_PACKAGE_CONFIG_FILE(): \"${CCF_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  if(NOT CCF_INSTALL_DESTINATION)
+    message(FATAL_ERROR "No INSTALL_DESTINATION given to CONFIGURE_PACKAGE_CONFIG_FILE()")
+  endif()
+
+  if(DEFINED CCF_INSTALL_PREFIX)
+    if(IS_ABSOLUTE "${CCF_INSTALL_PREFIX}")
+      set(installPrefix "${CCF_INSTALL_PREFIX}")
+    else()
+      message(FATAL_ERROR "INSTALL_PREFIX must be an absolute path")
+    endif()
+  elseif(IS_ABSOLUTE "${CMAKE_INSTALL_PREFIX}")
+    set(installPrefix "${CMAKE_INSTALL_PREFIX}")
+  else()
+    get_filename_component(installPrefix "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
+  endif()
+
+  if(IS_ABSOLUTE "${CCF_INSTALL_DESTINATION}")
+    set(absInstallDir "${CCF_INSTALL_DESTINATION}")
+  else()
+    set(absInstallDir "${installPrefix}/${CCF_INSTALL_DESTINATION}")
+  endif()
+
+  file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${absInstallDir}" "${installPrefix}" )
+
+  foreach(var ${CCF_PATH_VARS})
+    if(NOT DEFINED ${var})
+      message(FATAL_ERROR "Variable ${var} does not exist")
+    else()
+      if(IS_ABSOLUTE "${${var}}")
+        string(REPLACE "${installPrefix}" "\${PACKAGE_PREFIX_DIR}"
+                        PACKAGE_${var} "${${var}}")
+      else()
+        set(PACKAGE_${var} "\${PACKAGE_PREFIX_DIR}/${${var}}")
+      endif()
+    endif()
+  endforeach()
+
+  get_filename_component(inputFileName "${_inputFile}" NAME)
+
+  set(PACKAGE_INIT "
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+####### Any changes to this file will be overwritten by the next CMake run ####
+####### The input file was ${inputFileName}                            ########
+
+get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/${PACKAGE_RELATIVE_PATH}\" ABSOLUTE)
+")
+
+  if("${absInstallDir}" MATCHES "^(/usr)?/lib(64)?/.+")
+    # Handle "/usr move" symlinks created by some Linux distros.
+    string(APPEND PACKAGE_INIT "
+# Use original install prefix when loaded through a \"/usr move\"
+# cross-prefix symbolic link such as /lib -> /usr/lib.
+get_filename_component(_realCurr \"\${CMAKE_CURRENT_LIST_DIR}\" REALPATH)
+get_filename_component(_realOrig \"${absInstallDir}\" REALPATH)
+if(_realCurr STREQUAL _realOrig)
+  set(PACKAGE_PREFIX_DIR \"${installPrefix}\")
+endif()
+unset(_realOrig)
+unset(_realCurr)
+")
+  endif()
+
+  if(NOT CCF_NO_SET_AND_CHECK_MACRO)
+    string(APPEND PACKAGE_INIT "
+macro(set_and_check _var _file)
+  set(\${_var} \"\${_file}\")
+  if(NOT EXISTS \"\${_file}\")
+    message(FATAL_ERROR \"File or directory \${_file} referenced by variable \${_var} does not exist !\")
+  endif()
+endmacro()
+")
+  endif()
+
+
+  if(NOT CCF_NO_CHECK_REQUIRED_COMPONENTS_MACRO)
+    string(APPEND PACKAGE_INIT "
+macro(check_required_components _NAME)
+  foreach(comp \${\${_NAME}_FIND_COMPONENTS})
+    if(NOT \${_NAME}_\${comp}_FOUND)
+      if(\${_NAME}_FIND_REQUIRED_\${comp})
+        set(\${_NAME}_FOUND FALSE)
+      endif()
+    endif()
+  endforeach()
+endmacro()
+")
+  endif()
+
+  string(APPEND PACKAGE_INIT "
+####################################################################################")
+
+  configure_file("${_inputFile}" "${_outputFile}" @ONLY)
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeParseArguments.cmake b/share/cmake-3.10/Modules/CMakeParseArguments.cmake
new file mode 100644
index 0000000..7ee2bba
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeParseArguments.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.
+
+#.rst:
+# CMakeParseArguments
+# -------------------
+#
+# This module once implemented the :command:`cmake_parse_arguments` command
+# that is now implemented natively by CMake.  It is now an empty placeholder
+# for compatibility with projects that include it to get the command from
+# CMake 3.4 and lower.
diff --git a/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake b/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake
new file mode 100644
index 0000000..63d18ab
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake
@@ -0,0 +1,187 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Function parse implicit linker options.
+# This is used internally by CMake and should not be included by user
+# code.
+
+function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj_regex)
+  set(implicit_libs_tmp "")
+  set(implicit_dirs_tmp)
+  set(implicit_fwks_tmp)
+  set(log "")
+
+  # Parse implicit linker arguments.
+  set(linker "CMAKE_LINKER-NOTFOUND")
+  if(CMAKE_LINKER)
+    get_filename_component(linker ${CMAKE_LINKER} NAME)
+    string(REGEX REPLACE "([][+.*?()^$])" "\\\\\\1" linker "${linker}")
+  endif()
+  set(startfile "CMAKE_LINK_STARTFILE-NOTFOUND")
+  if(CMAKE_LINK_STARTFILE)
+    set(startfile "${CMAKE_LINK_STARTFILE}")
+  endif()
+  # Construct a regex to match linker lines.  It must match both the
+  # whole line and just the command (argv[0]).
+  set(linker_regex "^( *|.*[/\\])(${linker}|${startfile}|([^/\\]+-)?ld|collect2)[^/\\]*( |$)")
+  set(linker_exclude_regex "collect2 version |^[A-Za-z0-9_]+=|/ldfe ")
+  string(APPEND log "  link line regex: [${linker_regex}]\n")
+  string(REGEX REPLACE "\r?\n" ";" output_lines "${text}")
+  foreach(line IN LISTS output_lines)
+    set(cmd)
+    if("${line}" MATCHES "${linker_regex}" AND
+        NOT "${line}" MATCHES "${linker_exclude_regex}")
+      if(XCODE)
+        # Xcode unconditionally adds a path under the project build tree and
+        # on older versions it is not reported with proper quotes.  Remove it.
+        string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" _dir_regex "${CMAKE_BINARY_DIR}")
+        string(REGEX REPLACE " -[FL]${_dir_regex}/([^ ]| [^-])+( |$)" " " xline "${line}")
+        if(NOT "x${xline}" STREQUAL "x${line}")
+          string(APPEND log "  reduced line: [${line}]\n            to: [${xline}]\n")
+          set(line "${xline}")
+        endif()
+      endif()
+      separate_arguments(args NATIVE_COMMAND "${line}")
+      list(GET args 0 cmd)
+    endif()
+    set(is_msvc 0)
+    if("${cmd}" MATCHES "${linker_regex}")
+      string(APPEND log "  link line: [${line}]\n")
+      string(REGEX REPLACE ";-([LYz]);" ";-\\1" args "${args}")
+      set(skip_value_of "")
+      foreach(arg IN LISTS args)
+        if(skip_value_of)
+          string(APPEND log "    arg [${arg}] ==> skip value of ${skip_value_of}\n")
+          set(skip_value_of "")
+        elseif("${arg}" MATCHES "^-L(.:)?[/\\]")
+          # Unix search path.
+          string(REGEX REPLACE "^-L" "" dir "${arg}")
+          list(APPEND implicit_dirs_tmp ${dir})
+          string(APPEND log "    arg [${arg}] ==> dir [${dir}]\n")
+        elseif("${arg}" MATCHES "^[-/](LIBPATH|libpath):(.+)")
+          # MSVC search path.
+          set(dir "${CMAKE_MATCH_2}")
+          list(APPEND implicit_dirs_tmp ${dir})
+          string(APPEND log "    arg [${arg}] ==> dir [${dir}]\n")
+        elseif(is_msvc AND "${arg}" STREQUAL "-link")
+          string(APPEND log "    arg [${arg}] ==> ignore MSVC cl option\n")
+        elseif(is_msvc AND "${arg}" MATCHES "^(.*\\.[Ll][Ii][Bb])$")
+          set(lib "${CMAKE_MATCH_1}")
+          list(APPEND implicit_libs_tmp ${lib})
+          string(APPEND log "    arg [${arg}] ==> lib [${lib}]\n")
+        elseif("${arg}" STREQUAL "-lto_library")
+          # ld argument "-lto_library <path>"
+          set(skip_value_of "${arg}")
+          string(APPEND log "    arg [${arg}] ==> ignore, skip following value\n")
+        elseif("${arg}" MATCHES "^-l([^:].*)$")
+          # Unix library.
+          set(lib "${CMAKE_MATCH_1}")
+          list(APPEND implicit_libs_tmp ${lib})
+          string(APPEND log "    arg [${arg}] ==> lib [${lib}]\n")
+        elseif("${arg}" MATCHES "^(.:)?[/\\].*\\.a$")
+          # Unix library full path.
+          list(APPEND implicit_libs_tmp ${arg})
+          string(APPEND log "    arg [${arg}] ==> lib [${arg}]\n")
+        elseif("${arg}" MATCHES "^[-/](DEFAULTLIB|defaultlib):(.+)")
+          # Windows library.
+          set(lib "${CMAKE_MATCH_2}")
+          list(APPEND implicit_libs_tmp ${lib})
+          string(APPEND log "    arg [${arg}] ==> lib [${lib}]\n")
+        elseif("${arg}" MATCHES "^(.:)?[/\\].*\\.o$"
+            AND obj_regex AND "${arg}" MATCHES "${obj_regex}")
+          # Object file full path.
+          list(APPEND implicit_libs_tmp ${arg})
+          string(APPEND log "    arg [${arg}] ==> obj [${arg}]\n")
+        elseif("${arg}" MATCHES "^-Y(P,)?[^0-9]")
+          # Sun search path ([^0-9] avoids conflict with Mac -Y<num>).
+          string(REGEX REPLACE "^-Y(P,)?" "" dirs "${arg}")
+          string(REPLACE ":" ";" dirs "${dirs}")
+          list(APPEND implicit_dirs_tmp ${dirs})
+          string(APPEND log "    arg [${arg}] ==> dirs [${dirs}]\n")
+        elseif("${arg}" MATCHES "^-l:")
+          # HP named library.
+          list(APPEND implicit_libs_tmp ${arg})
+          string(APPEND log "    arg [${arg}] ==> lib [${arg}]\n")
+        elseif("${arg}" MATCHES "^-z(all|default|weak)extract")
+          # Link editor option.
+          list(APPEND implicit_libs_tmp ${arg})
+          string(APPEND log "    arg [${arg}] ==> opt [${arg}]\n")
+        elseif("${arg}" STREQUAL "cl.exe")
+          string(APPEND log "    arg [${arg}] ==> recognize MSVC cl\n")
+          set(is_msvc 1)
+        else()
+          string(APPEND log "    arg [${arg}] ==> ignore\n")
+        endif()
+      endforeach()
+      break()
+    elseif("${line}" MATCHES "LPATH(=| is:? *)(.*)$")
+      string(APPEND log "  LPATH line: [${line}]\n")
+      # HP search path.
+      string(REPLACE ":" ";" paths "${CMAKE_MATCH_2}")
+      list(APPEND implicit_dirs_tmp ${paths})
+      string(APPEND log "    dirs [${paths}]\n")
+    else()
+      string(APPEND log "  ignore line: [${line}]\n")
+    endif()
+  endforeach()
+
+  # Look for library search paths reported by linker.
+  if("${output_lines}" MATCHES ";Library search paths:((;\t[^;]+)+)")
+    string(REPLACE ";\t" ";" implicit_dirs_match "${CMAKE_MATCH_1}")
+    string(APPEND log "  Library search paths: [${implicit_dirs_match}]\n")
+    list(APPEND implicit_dirs_tmp ${implicit_dirs_match})
+  endif()
+  if("${output_lines}" MATCHES ";Framework search paths:((;\t[^;]+)+)")
+    string(REPLACE ";\t" ";" implicit_fwks_match "${CMAKE_MATCH_1}")
+    string(APPEND log "  Framework search paths: [${implicit_fwks_match}]\n")
+    list(APPEND implicit_fwks_tmp ${implicit_fwks_match})
+  endif()
+
+  # Cleanup list of libraries and flags.
+  # We remove items that are not language-specific.
+  set(implicit_libs "")
+  foreach(lib IN LISTS implicit_libs_tmp)
+    if("x${lib}" MATCHES "^x(crt.*\\.o|gcc_eh.*|System.*|.*libclang_rt.*|msvcrt.*|libvcruntime.*|libucrt.*|libcmt.*)$")
+      string(APPEND log "  remove lib [${lib}]\n")
+    elseif(IS_ABSOLUTE "${lib}")
+      get_filename_component(abs "${lib}" ABSOLUTE)
+      if(NOT "x${lib}" STREQUAL "x${abs}")
+        string(APPEND log "  collapse lib [${lib}] ==> [${abs}]\n")
+      endif()
+      list(APPEND implicit_libs "${abs}")
+    else()
+      list(APPEND implicit_libs "${lib}")
+    endif()
+  endforeach()
+
+  # Cleanup list of library and framework directories.
+  set(desc_dirs "library")
+  set(desc_fwks "framework")
+  foreach(t dirs fwks)
+    set(implicit_${t} "")
+    foreach(d IN LISTS implicit_${t}_tmp)
+      get_filename_component(dir "${d}" ABSOLUTE)
+      string(FIND "${dir}" "${CMAKE_FILES_DIRECTORY}/" pos)
+      if(NOT pos LESS 0)
+        set(msg ", skipping non-system directory")
+      else()
+        set(msg "")
+        list(APPEND implicit_${t} "${dir}")
+      endif()
+      string(APPEND log "  collapse ${desc_${t}} dir [${d}] ==> [${dir}]${msg}\n")
+    endforeach()
+    list(REMOVE_DUPLICATES implicit_${t})
+  endforeach()
+
+  # Log results.
+  string(APPEND log "  implicit libs: [${implicit_libs}]\n")
+  string(APPEND log "  implicit dirs: [${implicit_dirs}]\n")
+  string(APPEND log "  implicit fwks: [${implicit_fwks}]\n")
+
+  # Return results.
+  set(${lib_var} "${implicit_libs}" PARENT_SCOPE)
+  set(${dir_var} "${implicit_dirs}" PARENT_SCOPE)
+  set(${fwk_var} "${implicit_fwks}" PARENT_SCOPE)
+  set(${log_var} "${log}" PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakePlatformId.h.in b/share/cmake-3.10/Modules/CMakePlatformId.h.in
new file mode 100644
index 0000000..dd77379
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakePlatformId.h.in
@@ -0,0 +1,237 @@
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
+# define PLATFORM_ID "IRIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+#  define PLATFORM_ID
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+#  define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+#else
+#  define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+  'i','n','t','e','r','n','a','l','[',
+  COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
diff --git a/share/cmake-3.10/Modules/CMakePrintHelpers.cmake b/share/cmake-3.10/Modules/CMakePrintHelpers.cmake
new file mode 100644
index 0000000..21c333e
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakePrintHelpers.cmake
@@ -0,0 +1,145 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakePrintHelpers
+# -----------------
+#
+# Convenience macros for printing properties and variables, useful e.g. for debugging.
+#
+# ::
+#
+#  CMAKE_PRINT_PROPERTIES([TARGETS target1 ..  targetN]
+#                         [SOURCES source1 .. sourceN]
+#                         [DIRECTORIES dir1 .. dirN]
+#                         [TESTS test1 .. testN]
+#                         [CACHE_ENTRIES entry1 .. entryN]
+#                         PROPERTIES prop1 .. propN )
+#
+# This macro prints the values of the properties of the given targets,
+# source files, directories, tests or cache entries.  Exactly one of the
+# scope keywords must be used.  Example::
+#
+#    cmake_print_properties(TARGETS foo bar PROPERTIES
+#                           LOCATION INTERFACE_INCLUDE_DIRS)
+#
+# This will print the LOCATION and INTERFACE_INCLUDE_DIRS properties for
+# both targets foo and bar.
+#
+#
+#
+# CMAKE_PRINT_VARIABLES(var1 var2 ..  varN)
+#
+# This macro will print the name of each variable followed by its value.
+# Example::
+#
+#   cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION DOES_NOT_EXIST)
+#
+# Gives::
+#
+#   -- CMAKE_C_COMPILER="/usr/bin/gcc" ; CMAKE_MAJOR_VERSION="2" ; DOES_NOT_EXIST=""
+
+function(CMAKE_PRINT_VARIABLES)
+   set(msg "")
+   foreach(var ${ARGN})
+      if(msg)
+         string(APPEND msg " ; ")
+      endif()
+      string(APPEND msg "${var}=\"${${var}}\"")
+   endforeach()
+   message(STATUS "${msg}")
+endfunction()
+
+
+function(CMAKE_PRINT_PROPERTIES )
+  set(options )
+  set(oneValueArgs )
+  set(multiValueArgs TARGETS SOURCES TESTS DIRECTORIES CACHE_ENTRIES PROPERTIES )
+
+  cmake_parse_arguments(CPP "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+
+  if(CPP_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to cmake_print_properties(): \"${CPP_UNPARSED_ARGUMENTS}\"")
+    return()
+  endif()
+
+  if(NOT CPP_PROPERTIES)
+    message(FATAL_ERROR "Required argument PROPERTIES missing in cmake_print_properties() call")
+    return()
+  endif()
+
+  set(mode)
+  set(items)
+  set(keyword)
+
+  if(CPP_TARGETS)
+    set(items ${CPP_TARGETS})
+    set(mode ${mode} TARGETS)
+    set(keyword TARGET)
+  endif()
+
+  if(CPP_SOURCES)
+    set(items ${CPP_SOURCES})
+    set(mode ${mode} SOURCES)
+    set(keyword SOURCE)
+  endif()
+
+  if(CPP_TESTS)
+    set(items ${CPP_TESTS})
+    set(mode ${mode} TESTS)
+    set(keyword TEST)
+  endif()
+
+  if(CPP_DIRECTORIES)
+    set(items ${CPP_DIRECTORIES})
+    set(mode ${mode} DIRECTORIES)
+    set(keyword DIRECTORY)
+  endif()
+
+  if(CPP_CACHE_ENTRIES)
+    set(items ${CPP_CACHE_ENTRIES})
+    set(mode ${mode} CACHE_ENTRIES)
+    set(keyword CACHE)
+  endif()
+
+  if(NOT mode)
+    message(FATAL_ERROR "Mode keyword missing in cmake_print_properties() call, must be one of TARGETS SOURCES TESTS DIRECTORIES CACHE_ENTRIES PROPERTIES")
+    return()
+  endif()
+
+  list(LENGTH mode modeLength)
+  if("${modeLength}" GREATER 1)
+    message(FATAL_ERROR "Multiple mode keyword used in cmake_print_properties() call, it must be exactly one of TARGETS SOURCES TESTS DIRECTORIES CACHE_ENTRIES PROPERTIES")
+    return()
+  endif()
+
+  set(msg "\n")
+  foreach(item ${items})
+
+    set(itemExists TRUE)
+    if(keyword STREQUAL "TARGET")
+      if(NOT TARGET ${item})
+      set(itemExists FALSE)
+      string(APPEND msg "\n No such TARGET \"${item}\" !\n\n")
+      endif()
+    endif()
+
+    if (itemExists)
+      string(APPEND msg " Properties for ${keyword} ${item}:\n")
+      foreach(prop ${CPP_PROPERTIES})
+
+        get_property(propertySet ${keyword} ${item} PROPERTY "${prop}" SET)
+
+        if(propertySet)
+          get_property(property ${keyword} ${item} PROPERTY "${prop}")
+          string(APPEND msg "   ${item}.${prop} = \"${property}\"\n")
+        else()
+          string(APPEND msg "   ${item}.${prop} = <NOTFOUND>\n")
+        endif()
+      endforeach()
+    endif()
+
+  endforeach()
+  message(STATUS "${msg}")
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakePrintSystemInformation.cmake b/share/cmake-3.10/Modules/CMakePrintSystemInformation.cmake
new file mode 100644
index 0000000..e74c801
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakePrintSystemInformation.cmake
@@ -0,0 +1,40 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakePrintSystemInformation
+# ---------------------------
+#
+# print system information
+#
+# This file can be used for diagnostic purposes just include it in a
+# project to see various internal CMake variables.
+
+message("CMAKE_SYSTEM is ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}")
+message("CMAKE_SYSTEM file is ${CMAKE_SYSTEM_INFO_FILE}")
+message("CMAKE_C_COMPILER is ${CMAKE_C_COMPILER}")
+message("CMAKE_CXX_COMPILER is ${CMAKE_CXX_COMPILER}")
+
+
+message("CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")
+message("CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
+message("CMAKE_DL_LIBS is ${CMAKE_DL_LIBS}")
+message("CMAKE_SHARED_LIBRARY_PREFIX is ${CMAKE_SHARED_LIBRARY_PREFIX}")
+message("CMAKE_SHARED_LIBRARY_SUFFIX is ${CMAKE_SHARED_LIBRARY_SUFFIX}")
+message("CMAKE_COMPILER_IS_GNUCC = ${CMAKE_COMPILER_IS_GNUCC}")
+message("CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
+
+message("CMAKE_CXX_CREATE_SHARED_LIBRARY is ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
+message("CMAKE_CXX_CREATE_SHARED_MODULE is ${CMAKE_CXX_CREATE_SHARED_MODULE}")
+message("CMAKE_CXX_CREATE_STATIC_LIBRARY is ${CMAKE_CXX_CREATE_STATIC_LIBRARY}")
+message("CMAKE_CXX_COMPILE_OBJECT is ${CMAKE_CXX_COMPILE_OBJECT}")
+message("CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE}")
+
+message("CMAKE_C_CREATE_SHARED_LIBRARY is ${CMAKE_C_CREATE_SHARED_LIBRARY}")
+message("CMAKE_C_CREATE_SHARED_MODULE is ${CMAKE_C_CREATE_SHARED_MODULE}")
+message("CMAKE_C_CREATE_STATIC_LIBRARY is ${CMAKE_C_CREATE_STATIC_LIBRARY}")
+message("CMAKE_C_COMPILE_OBJECT is ${CMAKE_C_COMPILE_OBJECT}")
+message("CMAKE_C_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE}")
+
+message("CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE}")
+message("CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE}")
diff --git a/share/cmake-3.10/Modules/CMakePushCheckState.cmake b/share/cmake-3.10/Modules/CMakePushCheckState.cmake
new file mode 100644
index 0000000..98eea05
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakePushCheckState.cmake
@@ -0,0 +1,86 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakePushCheckState
+# -------------------
+#
+#
+#
+# This module defines three macros: CMAKE_PUSH_CHECK_STATE()
+# CMAKE_POP_CHECK_STATE() and CMAKE_RESET_CHECK_STATE() These macros can
+# be used to save, restore and reset (i.e., clear contents) the state of
+# the variables CMAKE_REQUIRED_FLAGS, CMAKE_REQUIRED_DEFINITIONS,
+# CMAKE_REQUIRED_LIBRARIES, CMAKE_REQUIRED_INCLUDES and CMAKE_EXTRA_INCLUDE_FILES
+# used by the various Check-files coming with CMake, like e.g.
+# check_function_exists() etc.  The variable contents are pushed on a
+# stack, pushing multiple times is supported.  This is useful e.g.  when
+# executing such tests in a Find-module, where they have to be set, but
+# after the Find-module has been executed they should have the same
+# value as they had before.
+#
+# CMAKE_PUSH_CHECK_STATE() macro receives optional argument RESET.
+# Whether it's specified, CMAKE_PUSH_CHECK_STATE() will set all
+# CMAKE_REQUIRED_* variables to empty values, same as
+# CMAKE_RESET_CHECK_STATE() call will do.
+#
+# Usage:
+#
+# ::
+#
+#    cmake_push_check_state(RESET)
+#    set(CMAKE_REQUIRED_DEFINITIONS -DSOME_MORE_DEF)
+#    check_function_exists(...)
+#    cmake_reset_check_state()
+#    set(CMAKE_REQUIRED_DEFINITIONS -DANOTHER_DEF)
+#    check_function_exists(...)
+#    cmake_pop_check_state()
+
+macro(CMAKE_RESET_CHECK_STATE)
+
+   set(CMAKE_EXTRA_INCLUDE_FILES)
+   set(CMAKE_REQUIRED_INCLUDES)
+   set(CMAKE_REQUIRED_DEFINITIONS)
+   set(CMAKE_REQUIRED_LIBRARIES)
+   set(CMAKE_REQUIRED_FLAGS)
+   set(CMAKE_REQUIRED_QUIET)
+
+endmacro()
+
+macro(CMAKE_PUSH_CHECK_STATE)
+
+   if(NOT DEFINED _CMAKE_PUSH_CHECK_STATE_COUNTER)
+      set(_CMAKE_PUSH_CHECK_STATE_COUNTER 0)
+   endif()
+
+   math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}+1")
+
+   set(_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}  ${CMAKE_EXTRA_INCLUDE_FILES})
+   set(_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}    ${CMAKE_REQUIRED_INCLUDES})
+   set(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS})
+   set(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}   ${CMAKE_REQUIRED_LIBRARIES})
+   set(_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}       ${CMAKE_REQUIRED_FLAGS})
+   set(_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}       ${CMAKE_REQUIRED_QUIET})
+
+   if (${ARGC} GREATER 0 AND "${ARGV0}" STREQUAL "RESET")
+      cmake_reset_check_state()
+   endif()
+
+endmacro()
+
+macro(CMAKE_POP_CHECK_STATE)
+
+# don't pop more than we pushed
+   if("${_CMAKE_PUSH_CHECK_STATE_COUNTER}" GREATER "0")
+
+      set(CMAKE_EXTRA_INCLUDE_FILES  ${_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+      set(CMAKE_REQUIRED_INCLUDES    ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+      set(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+      set(CMAKE_REQUIRED_LIBRARIES   ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+      set(CMAKE_REQUIRED_FLAGS       ${_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+      set(CMAKE_REQUIRED_QUIET       ${_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+
+      math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}-1")
+   endif()
+
+endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeRCCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeRCCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeRCCompiler.cmake.in
rename to share/cmake-3.10/Modules/CMakeRCCompiler.cmake.in
diff --git a/share/cmake-3.10/Modules/CMakeRCInformation.cmake b/share/cmake-3.10/Modules/CMakeRCInformation.cmake
new file mode 100644
index 0000000..a340288
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeRCInformation.cmake
@@ -0,0 +1,62 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file sets the basic flags for the Windows Resource Compiler.
+# It also loads the available platform file for the system-compiler
+# if it exists.
+
+# make sure we don't use CMAKE_BASE_NAME from somewhere else
+set(CMAKE_BASE_NAME)
+if(CMAKE_RC_COMPILER MATCHES "windres[^/]*$")
+ set(CMAKE_BASE_NAME "windres")
+else()
+ get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
+endif()
+set(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
+  ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
+include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+
+set(CMAKE_RC_FLAGS_INIT "$ENV{RCFLAGS} ${CMAKE_RC_FLAGS_INIT}")
+
+foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
+  string(STRIP "${CMAKE_RC_FLAGS${c}_INIT}" CMAKE_RC_FLAGS${c}_INIT)
+endforeach()
+
+set (CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS_INIT}" CACHE STRING
+     "Flags for Windows Resource Compiler.")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_RC_FLAGS_DEBUG "${CMAKE_RC_FLAGS_DEBUG_INIT}" CACHE STRING
+    "Flags for Windows Resource Compiler during debug builds.")
+  set (CMAKE_RC_FLAGS_MINSIZEREL "${CMAKE_RC_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+    "Flags for Windows Resource Compiler during release builds for minimum size.")
+  set (CMAKE_RC_FLAGS_RELEASE "${CMAKE_RC_FLAGS_RELEASE_INIT}" CACHE STRING
+    "Flags for Windows Resource Compiler during release builds.")
+  set (CMAKE_RC_FLAGS_RELWITHDEBINFO "${CMAKE_RC_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+    "Flags for Windows Resource Compiler during release builds with debug info.")
+endif()
+
+# These are the only types of flags that should be passed to the rc
+# command, if COMPILE_FLAGS is used on a target this will be used
+# to filter out any other flags
+set(CMAKE_RC_FLAG_REGEX "^[-/](D|I)")
+
+# now define the following rule variables
+# CMAKE_RC_COMPILE_OBJECT
+set(CMAKE_INCLUDE_FLAG_RC "-I")
+# compile a Resource file into an object file
+if(NOT CMAKE_RC_COMPILE_OBJECT)
+  set(CMAKE_RC_COMPILE_OBJECT
+    "<CMAKE_RC_COMPILER> <DEFINES> <INCLUDES> <FLAGS> /fo<OBJECT> <SOURCE>")
+endif()
+
+mark_as_advanced(
+CMAKE_RC_FLAGS
+CMAKE_RC_FLAGS_DEBUG
+CMAKE_RC_FLAGS_MINSIZEREL
+CMAKE_RC_FLAGS_RELEASE
+CMAKE_RC_FLAGS_RELWITHDEBINFO
+)
+# set this variable so we can avoid loading this more than once.
+set(CMAKE_RC_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeSwiftCompiler.cmake.in b/share/cmake-3.10/Modules/CMakeSwiftCompiler.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeSwiftCompiler.cmake.in
rename to share/cmake-3.10/Modules/CMakeSwiftCompiler.cmake.in
diff --git a/share/cmake-3.10/Modules/CMakeSwiftInformation.cmake b/share/cmake-3.10/Modules/CMakeSwiftInformation.cmake
new file mode 100644
index 0000000..d9b408d
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeSwiftInformation.cmake
@@ -0,0 +1,32 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+set(CMAKE_Swift_OUTPUT_EXTENSION .o)
+set(CMAKE_INCLUDE_FLAG_Swift "-I")
+
+# Load compiler-specific information.
+if(CMAKE_Swift_COMPILER_ID)
+  include(Compiler/${CMAKE_Swift_COMPILER_ID}-Swift OPTIONAL)
+endif()
+
+# load the system- and compiler specific files
+if(CMAKE_Swift_COMPILER_ID)
+  # load a hardware specific file, mostly useful for embedded compilers
+  if(CMAKE_SYSTEM_PROCESSOR)
+    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Swift_COMPILER_ID}-Swift-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+  endif()
+  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Swift_COMPILER_ID}-Swift OPTIONAL)
+endif()
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_Swift_FLAGS ${CMAKE_SHARED_LIBRARY_Swift_FLAGS})
+  set(CMAKE_SHARED_MODULE_CREATE_Swift_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Swift_FLAGS})
+endif()
+
+include(CMakeCommonLanguageInclude)
+
+set(CMAKE_Swift_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeSystem.cmake.in b/share/cmake-3.10/Modules/CMakeSystem.cmake.in
new file mode 100644
index 0000000..ef8aaa0
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeSystem.cmake.in
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
+set(CMAKE_HOST_SYSTEM_NAME "@CMAKE_HOST_SYSTEM_NAME@")
+set(CMAKE_HOST_SYSTEM_VERSION "@CMAKE_HOST_SYSTEM_VERSION@")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
+
+@INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED@
+
+set(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
+set(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
+set(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
+set(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
+@CMAKE_SYSTEM_CUSTOM_CODE@
+set(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake b/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake
new file mode 100644
index 0000000..03f348d
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake
@@ -0,0 +1,59 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included by cmGlobalGenerator::EnableLanguage.
+# It is included after the compiler has been determined, so
+# we know things like the compiler name and if the compiler is gnu.
+
+# before cmake 2.6 these variables were set in cmMakefile.cxx. This is still
+# done to keep scripts and custom language and compiler modules working.
+# But they are reset here and set again in the platform files for the target
+# platform, so they can be used for testing the target platform instead
+# of testing the host platform.
+set(APPLE  )
+set(UNIX   )
+set(CYGWIN )
+set(WIN32  )
+
+
+# include Generic system information
+include(CMakeGenericSystem)
+
+# 2. now include SystemName.cmake file to set the system specific information
+set(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
+
+include(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_SYSTEM_INFO_FILE)
+
+if(NOT _INCLUDED_SYSTEM_INFO_FILE)
+  message("System is unknown to cmake, create:\n${CMAKE_SYSTEM_INFO_FILE}"
+          " to use this system, please send your config file to "
+          "cmake@www.cmake.org so it can be added to cmake")
+  if(EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
+    configure_file(${CMAKE_BINARY_DIR}/CMakeCache.txt
+                   ${CMAKE_BINARY_DIR}/CopyOfCMakeCache.txt COPYONLY)
+    message("Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. "
+            "Please send that file to cmake@www.cmake.org.")
+   endif()
+endif()
+
+
+# optionally include a file which can do extra-generator specific things, e.g.
+# CMakeFindEclipseCDT4.cmake asks gcc for the system include dirs for the Eclipse CDT4 generator
+if(CMAKE_EXTRA_GENERATOR)
+  string(REPLACE " " "" _CMAKE_EXTRA_GENERATOR_NO_SPACES ${CMAKE_EXTRA_GENERATOR} )
+  include("CMakeFind${_CMAKE_EXTRA_GENERATOR_NO_SPACES}" OPTIONAL)
+endif()
+
+
+# for most systems a module is the same as a shared library
+# so unless the variable CMAKE_MODULE_EXISTS is set just
+# copy the values from the LIBRARY variables
+# this has to be done after the system information has been loaded
+if(NOT CMAKE_MODULE_EXISTS)
+  set(CMAKE_SHARED_MODULE_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
+  set(CMAKE_SHARED_MODULE_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
+endif()
+
+
+set(CMAKE_SYSTEM_SPECIFIC_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake b/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake
new file mode 100644
index 0000000..6200e9c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is included by cmGlobalGenerator::EnableLanguage.
+# It is included before the compiler has been determined.
+
+include(Platform/${CMAKE_SYSTEM_NAME}-Initialize OPTIONAL)
+
+set(CMAKE_SYSTEM_SPECIFIC_INITIALIZE_LOADED 1)
diff --git a/share/cmake-3.10/Modules/CMakeTestASM-ATTCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestASM-ATTCompiler.cmake
new file mode 100644
index 0000000..df735c4
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestASM-ATTCompiler.cmake
@@ -0,0 +1,13 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that the selected ASM-ATT "compiler" works.
+# For assembler this can only check whether the compiler has been found,
+# because otherwise there would have to be a separate assembler source file
+# for each assembler on every architecture.
+
+set(ASM_DIALECT "-ATT")
+include(CMakeTestASMCompiler)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeTestASMCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestASMCompiler.cmake
new file mode 100644
index 0000000..7f0b9a7
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestASMCompiler.cmake
@@ -0,0 +1,25 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that the selected ASM compiler works.
+# For assembler this can only check whether the compiler has been found,
+# because otherwise there would have to be a separate assembler source file
+# for each assembler on every architecture.
+
+
+set(_ASM_COMPILER_WORKS 0)
+
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+  set(_ASM_COMPILER_WORKS 1)
+endif()
+
+# when using generic "ASM" support, we must have detected the compiler ID, fail otherwise:
+if("ASM${ASM_DIALECT}" STREQUAL "ASM")
+  if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+    set(_ASM_COMPILER_WORKS 0)
+  endif()
+endif()
+
+set(CMAKE_ASM${ASM_DIALECT}_COMPILER_WORKS ${_ASM_COMPILER_WORKS} CACHE INTERNAL "")
diff --git a/share/cmake-3.10/Modules/CMakeTestASM_MASMCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestASM_MASMCompiler.cmake
new file mode 100644
index 0000000..c1308ff
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestASM_MASMCompiler.cmake
@@ -0,0 +1,13 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that the selected ASM_MASM "compiler" (should be masm or masm64)
+# works. For assembler this can only check whether the compiler has been found,
+# because otherwise there would have to be a separate assembler source file
+# for each assembler on every architecture.
+
+set(ASM_DIALECT "_MASM")
+include(CMakeTestASMCompiler)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeTestASM_NASMCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestASM_NASMCompiler.cmake
new file mode 100644
index 0000000..a9ee39d
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestASM_NASMCompiler.cmake
@@ -0,0 +1,13 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that the selected ASM_NASM "compiler" works.
+# For assembler this can only check whether the compiler has been found,
+# because otherwise there would have to be a separate assembler source file
+# for each assembler on every architecture.
+
+set(ASM_DIALECT "_NASM")
+include(CMakeTestASMCompiler)
+set(ASM_DIALECT)
diff --git a/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake
new file mode 100644
index 0000000..e34ae75
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake
@@ -0,0 +1,87 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(CMAKE_C_COMPILER_FORCED)
+  # The compiler configuration was forced by the user.
+  # Assume the user has configured all compiler information.
+  set(CMAKE_C_COMPILER_WORKS TRUE)
+  return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeCCompiler.cmake.
+unset(CMAKE_C_COMPILER_WORKS CACHE)
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected C compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+if(NOT CMAKE_C_COMPILER_WORKS)
+  PrintTestCompilerStatus("C" "")
+  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
+    "#ifdef __cplusplus\n"
+    "# error \"The CMAKE_C_COMPILER is set to a C++ compiler\"\n"
+    "#endif\n"
+    "#if defined(__CLASSIC_C__)\n"
+    "int main(argc, argv)\n"
+    "  int argc;\n"
+    "  char* argv[];\n"
+    "#else\n"
+    "int main(int argc, char* argv[])\n"
+    "#endif\n"
+    "{ (void)argv; return argc-1;}\n")
+  try_compile(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
+    OUTPUT_VARIABLE __CMAKE_C_COMPILER_OUTPUT)
+  # Move result from cache to normal variable.
+  set(CMAKE_C_COMPILER_WORKS ${CMAKE_C_COMPILER_WORKS})
+  unset(CMAKE_C_COMPILER_WORKS CACHE)
+  set(C_TEST_WAS_RUN 1)
+endif()
+
+if(NOT CMAKE_C_COMPILER_WORKS)
+  PrintTestCompilerStatus("C" " -- 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")
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_C_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The C compiler\n  \"${CMAKE_C_COMPILER}\"\n"
+    "is not able to compile a simple test program.\nIt fails "
+    "with the following output:\n  ${_output}\n\n"
+    "CMake will not be able to correctly generate this project.")
+else()
+  if(C_TEST_WAS_RUN)
+    PrintTestCompilerStatus("C" " -- 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")
+  endif()
+
+  # Try to identify the ABI and configure it into CMakeCCompiler.cmake
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+  CMAKE_DETERMINE_COMPILER_ABI(C ${CMAKE_ROOT}/Modules/CMakeCCompilerABI.c)
+  # Try to identify the compiler features
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake)
+  CMAKE_DETERMINE_COMPILE_FEATURES(C)
+
+  # Re-configure to save learned information.
+  configure_file(
+    ${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
+    ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
+    @ONLY
+    )
+  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake)
+
+  if(CMAKE_C_SIZEOF_DATA_PTR)
+    foreach(f ${CMAKE_C_ABI_FILES})
+      include(${f})
+    endforeach()
+    unset(CMAKE_C_ABI_FILES)
+  endif()
+endif()
+
+unset(__CMAKE_C_COMPILER_OUTPUT)
diff --git a/share/cmake-3.10/Modules/CMakeTestCSharpCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestCSharpCompiler.cmake
new file mode 100644
index 0000000..f3b95fd
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestCSharpCompiler.cmake
@@ -0,0 +1,65 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+if(CMAKE_CSharp_COMPILER_FORCED)
+  # The compiler configuration was forced by the user.
+  # Assume the user has configured all compiler information.
+  set(CMAKE_CSharp_COMPILER_WORKS TRUE)
+  return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+unset(CMAKE_CSharp_COMPILER_WORKS CACHE)
+
+set(test_compile_file "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCSharpCompiler.cs")
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected C# compiler can actually compile
+# and link the most basic of programs. If not, a fatal error
+# 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}")
+  file(WRITE "${test_compile_file}"
+    "namespace Test {"
+    "   public class CSharp {"
+    "       static void Main(string[] args) {}"
+    "   }"
+    "}"
+    )
+  try_compile(CMAKE_CSharp_COMPILER_WORKS ${CMAKE_BINARY_DIR} "${test_compile_file}"
+    OUTPUT_VARIABLE __CMAKE_CSharp_COMPILER_OUTPUT
+    )
+  # Move result from cache to normal variable.
+  set(CMAKE_CSharp_COMPILER_WORKS ${CMAKE_CSharp_COMPILER_WORKS})
+  unset(CMAKE_CSharp_COMPILER_WORKS CACHE)
+  set(CSharp_TEST_WAS_RUN 1)
+endif()
+
+if(NOT CMAKE_CSharp_COMPILER_WORKS)
+  PrintTestCompilerStatus("C#" "${CMAKE_CSharp_COMPILER} -- 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")
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_CSharp_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The C# compiler\n  \"${CMAKE_CSharp_COMPILER}\"\n"
+    "is not able to compile a simple test program.\nIt fails "
+    "with the following output:\n  ${_output}\n\n"
+    "CMake will not be able to correctly generate this project.")
+else()
+  if(CSharp_TEST_WAS_RUN)
+    PrintTestCompilerStatus("C#" "${CMAKE_CSharp_COMPILER} -- 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")
+  endif()
+
+  # Re-configure to save learned information.
+  configure_file(
+    ${CMAKE_ROOT}/Modules/CMakeCSharpCompiler.cmake.in
+    ${CMAKE_PLATFORM_INFO_DIR}/CMakeCSharpCompiler.cmake
+    @ONLY
+    )
+  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCSharpCompiler.cmake)
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeTestCUDACompiler.cmake b/share/cmake-3.10/Modules/CMakeTestCUDACompiler.cmake
new file mode 100644
index 0000000..df5ec72
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestCUDACompiler.cmake
@@ -0,0 +1,77 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+if(CMAKE_CUDA_COMPILER_FORCED)
+  # The compiler configuration was forced by the user.
+  # Assume the user has configured all compiler information.
+  set(CMAKE_CUDA_COMPILER_WORKS TRUE)
+  return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeCUDACompiler.cmake.
+unset(CMAKE_CUDA_COMPILER_WORKS CACHE)
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected cuda compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+if(NOT CMAKE_CUDA_COMPILER_WORKS)
+  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"
+    "#endif\n"
+    "int main(){return 0;}\n")
+
+  try_compile(CMAKE_CUDA_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.cu
+    OUTPUT_VARIABLE __CMAKE_CUDA_COMPILER_OUTPUT)
+
+  # Move result from cache to normal variable.
+  set(CMAKE_CUDA_COMPILER_WORKS ${CMAKE_CUDA_COMPILER_WORKS})
+  unset(CMAKE_CUDA_COMPILER_WORKS CACHE)
+  set(CUDA_TEST_WAS_RUN 1)
+endif()
+
+if(NOT CMAKE_CUDA_COMPILER_WORKS)
+  PrintTestCompilerStatus("CUDA" " -- 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")
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_CUDA_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The CUDA compiler\n  \"${CMAKE_CUDA_COMPILER}\"\n"
+    "is not able to compile a simple test program.\nIt fails "
+    "with the following output:\n  ${_output}\n\n"
+    "CMake will not be able to correctly generate this project.")
+else()
+  if(CUDA_TEST_WAS_RUN)
+    PrintTestCompilerStatus("CUDA" " -- 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")
+  endif()
+
+  # 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)
+
+  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()
+
+  # Re-configure to save learned information.
+  configure_file(
+    ${CMAKE_ROOT}/Modules/CMakeCUDACompiler.cmake.in
+    ${CMAKE_PLATFORM_INFO_DIR}/CMakeCUDACompiler.cmake
+    @ONLY
+    )
+  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCUDACompiler.cmake)
+endif()
+
+
+unset(__CMAKE_CUDA_COMPILER_OUTPUT)
diff --git a/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake
new file mode 100644
index 0000000..7b80dc0
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake
@@ -0,0 +1,80 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(CMAKE_CXX_COMPILER_FORCED)
+  # The compiler configuration was forced by the user.
+  # Assume the user has configured all compiler information.
+  set(CMAKE_CXX_COMPILER_WORKS TRUE)
+  return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeCXXCompiler.cmake.
+unset(CMAKE_CXX_COMPILER_WORKS CACHE)
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected C++ compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+if(NOT CMAKE_CXX_COMPILER_WORKS)
+  PrintTestCompilerStatus("CXX" "")
+  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
+    "#ifndef __cplusplus\n"
+    "# error \"The CMAKE_CXX_COMPILER is set to a C compiler\"\n"
+    "#endif\n"
+    "int main(){return 0;}\n")
+  try_compile(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
+    OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
+  # Move result from cache to normal variable.
+  set(CMAKE_CXX_COMPILER_WORKS ${CMAKE_CXX_COMPILER_WORKS})
+  unset(CMAKE_CXX_COMPILER_WORKS CACHE)
+  set(CXX_TEST_WAS_RUN 1)
+endif()
+
+if(NOT CMAKE_CXX_COMPILER_WORKS)
+  PrintTestCompilerStatus("CXX" " -- 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")
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_CXX_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The C++ compiler\n  \"${CMAKE_CXX_COMPILER}\"\n"
+    "is not able to compile a simple test program.\nIt fails "
+    "with the following output:\n  ${_output}\n\n"
+    "CMake will not be able to correctly generate this project.")
+else()
+  if(CXX_TEST_WAS_RUN)
+    PrintTestCompilerStatus("CXX" " -- 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")
+  endif()
+
+  # Try to identify the ABI and configure it into CMakeCXXCompiler.cmake
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+  CMAKE_DETERMINE_COMPILER_ABI(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp)
+  # Try to identify the compiler features
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake)
+  CMAKE_DETERMINE_COMPILE_FEATURES(CXX)
+
+  # Re-configure to save learned information.
+  configure_file(
+    ${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
+    ${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
+    @ONLY
+    )
+  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake)
+
+  if(CMAKE_CXX_SIZEOF_DATA_PTR)
+    foreach(f ${CMAKE_CXX_ABI_FILES})
+      include(${f})
+    endforeach()
+    unset(CMAKE_CXX_ABI_FILES)
+  endif()
+endif()
+
+unset(__CMAKE_CXX_COMPILER_OUTPUT)
diff --git a/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake b/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake
new file mode 100644
index 0000000..f76076f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# 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}")
+endfunction()
diff --git a/share/cmake-3.10/Modules/CMakeTestFortranCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestFortranCompiler.cmake
new file mode 100644
index 0000000..3c150a8
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestFortranCompiler.cmake
@@ -0,0 +1,102 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(CMAKE_Fortran_COMPILER_FORCED)
+  # The compiler configuration was forced by the user.
+  # Assume the user has configured all compiler information.
+  set(CMAKE_Fortran_COMPILER_WORKS TRUE)
+  return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeFortranCompiler.cmake.
+unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected Fortran compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+if(NOT CMAKE_Fortran_COMPILER_WORKS)
+  PrintTestCompilerStatus("Fortran" "")
+  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f "
+        PROGRAM TESTFortran
+        PRINT *, 'Hello'
+        END
+  ")
+  try_compile(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
+    OUTPUT_VARIABLE OUTPUT)
+  # Move result from cache to normal variable.
+  set(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_Fortran_COMPILER_WORKS})
+  unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
+  set(FORTRAN_TEST_WAS_RUN 1)
+endif()
+
+if(NOT CMAKE_Fortran_COMPILER_WORKS)
+  PrintTestCompilerStatus("Fortran" "  -- 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")
+  string(REPLACE "\n" "\n  " _output "${OUTPUT}")
+  message(FATAL_ERROR "The Fortran compiler\n  \"${CMAKE_Fortran_COMPILER}\"\n"
+    "is not able to compile a simple test program.\nIt fails "
+    "with the following output:\n  ${_output}\n\n"
+    "CMake will not be able to correctly generate this project.")
+else()
+  if(FORTRAN_TEST_WAS_RUN)
+    PrintTestCompilerStatus("Fortran" "  -- 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")
+  endif()
+
+  # Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
+  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+  CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
+
+  # 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")
+    file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90 "
+      PROGRAM TESTFortran90
+      integer stop ; stop = 1 ; do while ( stop .eq. 0 ) ; end do
+      END PROGRAM TESTFortran90
+")
+    try_compile(CMAKE_Fortran_COMPILER_SUPPORTS_F90 ${CMAKE_BINARY_DIR}
+      ${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")
+      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")
+      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")
+      set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0)
+    endif()
+    unset(CMAKE_Fortran_COMPILER_SUPPORTS_F90 CACHE)
+  endif()
+
+  # Re-configure to save learned information.
+  configure_file(
+    ${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
+    ${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
+    @ONLY
+    )
+  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake)
+
+  if(CMAKE_Fortran_SIZEOF_DATA_PTR)
+    foreach(f ${CMAKE_Fortran_ABI_FILES})
+      include(${f})
+    endforeach()
+    unset(CMAKE_Fortran_ABI_FILES)
+  endif()
+endif()
diff --git a/share/cmake-3.6/Modules/CMakeTestGNU.c b/share/cmake-3.10/Modules/CMakeTestGNU.c
similarity index 100%
rename from share/cmake-3.6/Modules/CMakeTestGNU.c
rename to share/cmake-3.10/Modules/CMakeTestGNU.c
diff --git a/share/cmake-3.10/Modules/CMakeTestJavaCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestJavaCompiler.cmake
new file mode 100644
index 0000000..23fdbdc
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestJavaCompiler.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected Fortran compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+set(CMAKE_Java_COMPILER_WORKS 1 CACHE INTERNAL "")
diff --git a/share/cmake-3.10/Modules/CMakeTestRCCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestRCCompiler.cmake
new file mode 100644
index 0000000..c510d3a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestRCCompiler.cmake
@@ -0,0 +1,13 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected RC compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+
+# For now there is no way to do a try compile on just a .rc file
+# so just do nothing in here.
+set(CMAKE_RC_COMPILER_WORKS 1 CACHE INTERNAL "")
diff --git a/share/cmake-3.10/Modules/CMakeTestSwiftCompiler.cmake b/share/cmake-3.10/Modules/CMakeTestSwiftCompiler.cmake
new file mode 100644
index 0000000..bcd5c33
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeTestSwiftCompiler.cmake
@@ -0,0 +1,56 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(CMAKE_Swift_COMPILER_FORCED)
+  # The compiler configuration was forced by the user.
+  # Assume the user has configured all compiler information.
+  set(CMAKE_Swift_COMPILER_WORKS TRUE)
+  return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeSwiftCompiler.cmake.
+unset(CMAKE_Swift_COMPILER_WORKS CACHE)
+
+# This file is used by EnableLanguage in cmGlobalGenerator to
+# determine that that selected C++ compiler can actually compile
+# and link the most basic of programs.   If not, a fatal error
+# is set and cmake stops processing commands and will not generate
+# any makefiles or projects.
+if(NOT CMAKE_Swift_COMPILER_WORKS)
+  PrintTestCompilerStatus("Swift" "")
+  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
+    "import Foundation\n"
+    "print(\"CMake\")\n")
+  try_compile(CMAKE_Swift_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
+    OUTPUT_VARIABLE __CMAKE_Swift_COMPILER_OUTPUT)
+  # Move result from cache to normal variable.
+  set(CMAKE_Swift_COMPILER_WORKS ${CMAKE_Swift_COMPILER_WORKS})
+  unset(CMAKE_Swift_COMPILER_WORKS CACHE)
+  set(Swift_TEST_WAS_RUN 1)
+endif()
+
+if(NOT CMAKE_Swift_COMPILER_WORKS)
+  PrintTestCompilerStatus("Swift" " -- 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")
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_Swift_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The Swift compiler\n  \"${CMAKE_Swift_COMPILER}\"\n"
+    "is not able to compile a simple test program.\nIt fails "
+    "with the following output:\n  ${_output}\n\n"
+    "CMake will not be able to correctly generate this project.")
+else()
+  if(Swift_TEST_WAS_RUN)
+    PrintTestCompilerStatus("Swift" " -- 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()
+endif()
+
+unset(__CMAKE_Swift_COMPILER_OUTPUT)
diff --git a/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake b/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake
new file mode 100644
index 0000000..1165656
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake
@@ -0,0 +1,16 @@
+# 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 NAMES gmake make smake)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+
+# Look for a make tool provided by Xcode
+if(NOT CMAKE_MAKE_PROGRAM AND CMAKE_HOST_APPLE)
+  execute_process(COMMAND xcrun --find make
+    OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_VARIABLE _xcrun_err)
+  if(_xcrun_out)
+    set_property(CACHE CMAKE_MAKE_PROGRAM PROPERTY VALUE "${_xcrun_out}")
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/CMakeVerifyManifest.cmake b/share/cmake-3.10/Modules/CMakeVerifyManifest.cmake
new file mode 100644
index 0000000..c477ab1
--- /dev/null
+++ b/share/cmake-3.10/Modules/CMakeVerifyManifest.cmake
@@ -0,0 +1,109 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CMakeVerifyManifest
+# -------------------
+#
+#
+#
+# CMakeVerifyManifest.cmake
+#
+# This script is used to verify that embedded manifests and side by side
+# manifests for a project match.  To run this script, cd to a directory
+# and run the script with cmake -P.  On the command line you can pass in
+# versions that are OK even if not found in the .manifest files.  For
+# example, cmake -Dallow_versions=8.0.50608.0
+# -PCmakeVerifyManifest.cmake could be used to allow an embedded manifest
+# of 8.0.50608.0 to be used in a project even if that version was not
+# found in the .manifest file.
+
+# This script first recursively globs *.manifest files from
+# the current directory.  Then globs *.exe and *.dll.  Each
+# .exe and .dll is scanned for embedded manifests and the versions
+# of CRT are compared to those found in the .manifest files
+# from the first glob.
+
+# crt_version:
+# function to extract the CRT version from a file
+# this can be passed a .exe, .dll, or a .manifest file
+# it will put the list of versions found into the variable
+# specified by list_var
+function(crt_version file list_var)
+  file(STRINGS "${file}" strings REGEX "Microsoft.VC...CRT" NEWLINE_CONSUME)
+  foreach(s ${strings})
+    set(has_match 1)
+    string(REGEX
+      REPLACE ".*<assembly.*\"Microsoft.VC...CRT\".*version=\"([^\"]*)\".*</assembly>.*$" "\\1"
+      version "${s}")
+    if(NOT "${version}" STREQUAL "")
+      list(APPEND version_list ${version})
+    else()
+      message(FATAL_ERROR "Parse error could not find version in [${s}]")
+    endif()
+  endforeach()
+  if(NOT DEFINED has_match)
+    message("Information: no embedded manifest in: ${file}")
+    return()
+  endif()
+  list(APPEND version_list ${${list_var}})
+  list(REMOVE_DUPLICATES version_list)
+  if(version_list)
+    set(${list_var} ${version_list} PARENT_SCOPE)
+  endif()
+endfunction()
+set(fatal_error FALSE)
+
+# check_version:
+#
+# test a file against the shipped manifest versions
+# for a directory
+function(check_version file manifest_versions)
+  set(manifest_versions ${manifest_versions} ${allow_versions})
+  # collect versions for a given file
+  crt_version(${file} file_versions)
+  # see if the versions
+  foreach(ver ${file_versions})
+    list(FIND manifest_versions "${ver}" found_version)
+    if("${found_version}" EQUAL -1)
+      message("ERROR: ${file} uses ${ver} not found in shipped manifests:[${manifest_versions}].")
+      set(fatal_error TRUE PARENT_SCOPE)
+    endif()
+  endforeach()
+  list(LENGTH file_versions len)
+  if(${len} GREATER 1)
+    message("WARNING: found more than one version of MICROSOFT.VC80.CRT referenced in ${file}: [${file_versions}]")
+  endif()
+endfunction()
+
+# collect up the versions of CRT that are shipped
+# in .manifest files
+set(manifest_version_list )
+file(GLOB_RECURSE manifest_files "*.manifest")
+foreach(f ${manifest_files})
+  crt_version("${f}" manifest_version_list)
+endforeach()
+list(LENGTH manifest_version_list LEN)
+if(LEN EQUAL 0)
+  message(FATAL_ERROR "No .manifest files found, no version check can be done.")
+endif()
+message("Versions found in ${manifest_files}: ${manifest_version_list}")
+if(DEFINED allow_versions)
+  message("Extra versions allowed: ${allow_versions}")
+endif()
+
+# now find all .exe and .dll files
+# and call check_version on each of them
+file(GLOB_RECURSE exe_files "*.exe")
+file(GLOB_RECURSE dll_files "*.dll")
+set(exe_files ${exe_files} ${dll_files})
+foreach(f ${exe_files})
+  check_version(${f} "${manifest_version_list}")
+endforeach()
+
+# report a fatal error if there were any so that cmake will return
+# a non zero value
+if(fatal_error)
+  message(FATAL_ERROR "This distribution embeds dll "
+    " versions that it does not ship, and may not work on other machines.")
+endif()
diff --git a/share/cmake-3.6/Modules/CPack.DS_Store.in b/share/cmake-3.10/Modules/CPack.DS_Store.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.DS_Store.in
rename to share/cmake-3.10/Modules/CPack.DS_Store.in
Binary files differ
diff --git a/share/cmake-3.6/Modules/CPack.Description.plist.in b/share/cmake-3.10/Modules/CPack.Description.plist.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.Description.plist.in
rename to share/cmake-3.10/Modules/CPack.Description.plist.in
diff --git a/share/cmake-3.6/Modules/CPack.Info.plist.in b/share/cmake-3.10/Modules/CPack.Info.plist.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.Info.plist.in
rename to share/cmake-3.10/Modules/CPack.Info.plist.in
diff --git a/share/cmake-3.6/Modules/CPack.OSXScriptLauncher.in b/share/cmake-3.10/Modules/CPack.OSXScriptLauncher.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.OSXScriptLauncher.in
rename to share/cmake-3.10/Modules/CPack.OSXScriptLauncher.in
Binary files differ
diff --git a/share/cmake-3.6/Modules/CPack.OSXScriptLauncher.rsrc.in b/share/cmake-3.10/Modules/CPack.OSXScriptLauncher.rsrc.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.OSXScriptLauncher.rsrc.in
rename to share/cmake-3.10/Modules/CPack.OSXScriptLauncher.rsrc.in
Binary files differ
diff --git a/share/cmake-3.6/Modules/CPack.OSXX11.Info.plist.in b/share/cmake-3.10/Modules/CPack.OSXX11.Info.plist.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.OSXX11.Info.plist.in
rename to share/cmake-3.10/Modules/CPack.OSXX11.Info.plist.in
diff --git a/share/cmake-3.6/Modules/CPack.OSXX11.main.scpt.in b/share/cmake-3.10/Modules/CPack.OSXX11.main.scpt.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.OSXX11.main.scpt.in
rename to share/cmake-3.10/Modules/CPack.OSXX11.main.scpt.in
Binary files differ
diff --git a/share/cmake-3.6/Modules/CPack.RuntimeScript.in b/share/cmake-3.10/Modules/CPack.RuntimeScript.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.RuntimeScript.in
rename to share/cmake-3.10/Modules/CPack.RuntimeScript.in
diff --git a/share/cmake-3.10/Modules/CPack.STGZ_Header.sh.in b/share/cmake-3.10/Modules/CPack.STGZ_Header.sh.in
new file mode 100755
index 0000000..70f63d2
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPack.STGZ_Header.sh.in
@@ -0,0 +1,146 @@
+#!/bin/sh
+
+# Display usage
+cpack_usage()
+{
+  cat <<EOF
+Usage: $0 [options]
+Options: [defaults in brackets after descriptions]
+  --help            print this message
+  --version         print cmake installer version
+  --prefix=dir      directory in which to install
+  --include-subdir  include the @CPACK_PACKAGE_FILE_NAME@ subdirectory
+  --exclude-subdir  exclude the @CPACK_PACKAGE_FILE_NAME@ subdirectory
+  --skip-license    accept license
+EOF
+  exit 1
+}
+
+cpack_echo_exit()
+{
+  echo $1
+  exit 1
+}
+
+# Display version
+cpack_version()
+{
+  echo "@CPACK_PACKAGE_NAME@ Installer Version: @CPACK_PACKAGE_VERSION@, Copyright (c) @CPACK_PACKAGE_VENDOR@"
+}
+
+# Helper function to fix windows paths.
+cpack_fix_slashes ()
+{
+  echo "$1" | sed 's/\\/\//g'
+}
+
+interactive=TRUE
+cpack_skip_license=FALSE
+cpack_include_subdir=""
+for a in "$@CPACK_AT_SIGN@"; do
+  if echo $a | grep "^--prefix=" > /dev/null 2> /dev/null; then
+    cpack_prefix_dir=`echo $a | sed "s/^--prefix=//"`
+    cpack_prefix_dir=`cpack_fix_slashes "${cpack_prefix_dir}"`
+  fi
+  if echo $a | grep "^--help" > /dev/null 2> /dev/null; then
+    cpack_usage 
+  fi
+  if echo $a | grep "^--version" > /dev/null 2> /dev/null; then
+    cpack_version 
+    exit 2
+  fi
+  if echo $a | grep "^--include-subdir" > /dev/null 2> /dev/null; then
+    cpack_include_subdir=TRUE
+  fi
+  if echo $a | grep "^--exclude-subdir" > /dev/null 2> /dev/null; then
+    cpack_include_subdir=FALSE
+  fi
+  if echo $a | grep "^--skip-license" > /dev/null 2> /dev/null; then
+    cpack_skip_license=TRUE
+  fi
+done
+
+if [ "x${cpack_include_subdir}x" != "xx" -o "x${cpack_skip_license}x" = "xTRUEx" ]
+then
+  interactive=FALSE
+fi
+
+cpack_version
+echo "This is a self-extracting archive."
+toplevel="`pwd`"
+if [ "x${cpack_prefix_dir}x" != "xx" ]
+then
+  toplevel="${cpack_prefix_dir}"
+fi
+
+echo "The archive will be extracted to: ${toplevel}"
+
+if [ "x${interactive}x" = "xTRUEx" ]
+then
+  echo ""
+  echo "If you want to stop extracting, please press <ctrl-C>."
+
+  if [ "x${cpack_skip_license}x" != "xTRUEx" ]
+  then
+    more << '____cpack__here_doc____'
+@CPACK_RESOURCE_FILE_LICENSE_CONTENT@
+____cpack__here_doc____
+    echo
+    echo "Do you accept the license? [yN]: "
+    read line leftover
+    case ${line} in
+      y* | Y*)
+        cpack_license_accepted=TRUE;;
+      *)
+        echo "License not accepted. Exiting ..."
+        exit 1;;
+    esac
+  fi
+
+  if [ "x${cpack_include_subdir}x" = "xx" ]
+  then
+    echo "By default the @CPACK_PACKAGE_NAME@ will be installed in:"
+    echo "  \"${toplevel}/@CPACK_PACKAGE_FILE_NAME@\""
+    echo "Do you want to include the subdirectory @CPACK_PACKAGE_FILE_NAME@?"
+    echo "Saying no will install in: \"${toplevel}\" [Yn]: "
+    read line leftover
+    cpack_include_subdir=TRUE
+    case ${line} in
+      n* | N*)
+        cpack_include_subdir=FALSE
+    esac
+  fi
+fi
+
+if [ "x${cpack_include_subdir}x" = "xTRUEx" ]
+then
+  toplevel="${toplevel}/@CPACK_PACKAGE_FILE_NAME@"
+  mkdir -p "${toplevel}"
+fi
+echo
+echo "Using target directory: ${toplevel}"
+echo "Extracting, please wait..."
+echo ""
+
+# take the archive portion of this file and pipe it to tar
+# the NUMERIC parameter in this command should be one more
+# than the number of lines in this header file
+# there are tails which don't understand the "-n" argument, e.g. on SunOS
+# OTOH there are tails which complain when not using the "-n" argument (e.g. GNU)
+# so at first try to tail some file to see if tail fails if used with "-n"
+# if so, don't use "-n"
+use_new_tail_syntax="-n"
+tail $use_new_tail_syntax +1 "$0" > /dev/null 2> /dev/null || use_new_tail_syntax=""
+
+extractor="pax -r"
+command -v pax > /dev/null 2> /dev/null || extractor="tar xf -"
+
+tail $use_new_tail_syntax +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && ${extractor}) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@"
+
+echo "Unpacking finished successfully"
+
+exit 0
+#-----------------------------------------------------------
+#      Start of TAR.GZ file
+#-----------------------------------------------------------;
+
diff --git a/share/cmake-3.6/Modules/CPack.VolumeIcon.icns.in b/share/cmake-3.10/Modules/CPack.VolumeIcon.icns.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.VolumeIcon.icns.in
rename to share/cmake-3.10/Modules/CPack.VolumeIcon.icns.in
Binary files differ
diff --git a/share/cmake-3.6/Modules/CPack.background.png.in b/share/cmake-3.10/Modules/CPack.background.png.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.background.png.in
rename to share/cmake-3.10/Modules/CPack.background.png.in
Binary files differ
diff --git a/share/cmake-3.10/Modules/CPack.cmake b/share/cmake-3.10/Modules/CPack.cmake
new file mode 100644
index 0000000..3915943
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPack.cmake
@@ -0,0 +1,677 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPack
+# -----
+#
+# Build binary and source package installers.
+#
+# Variables common to all CPack generators
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The
+# CPack module generates binary and source installers in a variety of
+# formats using the cpack program.  Inclusion of the CPack module adds
+# two new targets to the resulting makefiles, package and
+# package_source, which build the binary and source installers,
+# respectively.  The generated binary installers contain everything
+# installed via CMake's INSTALL command (and the deprecated
+# INSTALL_FILES, INSTALL_PROGRAMS, and INSTALL_TARGETS commands).
+#
+# For certain kinds of binary installers (including the graphical
+# installers on Mac OS X and Windows), CPack generates installers that
+# allow users to select individual application components to install.
+# See CPackComponent module for that.
+#
+# The CPACK_GENERATOR variable has different meanings in different
+# contexts.  In your CMakeLists.txt file, CPACK_GENERATOR is a *list of
+# generators*: when run with no other arguments, CPack will iterate over
+# that list and produce one package for each generator.  In a
+# CPACK_PROJECT_CONFIG_FILE, though, CPACK_GENERATOR is a *string naming
+# a single generator*.  If you need per-cpack- generator logic to
+# control *other* cpack settings, then you need a
+# CPACK_PROJECT_CONFIG_FILE.
+#
+# The CMake source tree itself contains a CPACK_PROJECT_CONFIG_FILE.
+# See the top level file CMakeCPackOptions.cmake.in for an example.
+#
+# If set, the CPACK_PROJECT_CONFIG_FILE is included automatically on a
+# per-generator basis.  It only need contain overrides.
+#
+# Here's how it works:
+#
+# * cpack runs
+# * it includes CPackConfig.cmake
+# * it iterates over the generators listed in that file's
+#   CPACK_GENERATOR list variable (unless told to use just a
+#   specific one via -G on the command line...)
+# * foreach generator, it then
+#
+#   - sets CPACK_GENERATOR to the one currently being iterated
+#   - includes the CPACK_PROJECT_CONFIG_FILE
+#   - produces the package for that generator
+#
+# This is the key: For each generator listed in CPACK_GENERATOR in
+# CPackConfig.cmake, cpack will *reset* CPACK_GENERATOR internally to
+# *the one currently being used* and then include the
+# CPACK_PROJECT_CONFIG_FILE.
+#
+# Before including this CPack module in your CMakeLists.txt file, there
+# are a variety of variables that can be set to customize the resulting
+# installers.  The most commonly-used variables are:
+#
+# .. variable:: CPACK_PACKAGE_NAME
+#
+#  The name of the package (or application). If not specified, defaults to
+#  the project name.
+#
+# .. variable:: CPACK_PACKAGE_VENDOR
+#
+#  The name of the package vendor. (e.g., "Kitware").
+#
+# .. variable:: CPACK_PACKAGE_DIRECTORY
+#
+#  The directory in which CPack is doing its packaging. If it is not set
+#  then this will default (internally) to the build dir. This variable may
+#  be defined in CPack config file or from the cpack command line option
+#  "-B". If set the command line option override the value found in the
+#  config file.
+#
+# .. variable:: CPACK_PACKAGE_VERSION_MAJOR
+#
+#  Package major Version
+#
+# .. variable:: CPACK_PACKAGE_VERSION_MINOR
+#
+#  Package minor Version
+#
+# .. variable:: CPACK_PACKAGE_VERSION_PATCH
+#
+#  Package patch Version
+#
+# .. variable:: CPACK_PACKAGE_DESCRIPTION_FILE
+#
+#  A text file used to describe the project. Used, for example, the
+#  introduction screen of a CPack-generated Windows installer to describe
+#  the project.
+#
+# .. variable:: CPACK_PACKAGE_DESCRIPTION_SUMMARY
+#
+#  Short description of the project (only a few words). Default value is::
+#
+#    ${PROJECT_DESCRIPTION}
+#
+#  if DESCRIPTION has given to the project() call or
+#  CMake generated string with PROJECT_NAME otherwise.
+#
+# .. variable:: CPACK_PACKAGE_FILE_NAME
+#
+#  The name of the package file to generate, not including the
+#  extension. For example, cmake-2.6.1-Linux-i686.  The default value is::
+#
+#   ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}.
+#
+# .. variable:: CPACK_PACKAGE_INSTALL_DIRECTORY
+#
+#  Installation directory on the target system. This may be used by some
+#  CPack generators like NSIS to create an installation directory e.g.,
+#  "CMake 2.5" below the installation prefix. All installed element will be
+#  put inside this directory.
+#
+# .. variable:: CPACK_PACKAGE_ICON
+#
+#  A branding image that will be displayed inside the installer (used by GUI
+#  installers).
+#
+# .. variable:: CPACK_PACKAGE_CHECKSUM
+#
+#  An algorithm that will be used to generate additional file with checksum
+#  of the package. Output file name will be::
+#
+#     ${CPACK_PACKAGE_FILE_NAME}.${CPACK_PACKAGE_CHECKSUM}
+#
+#  Supported algorithms are those listed by the
+#  :ref:`string(\<HASH\>) <Supported Hash Algorithms>`
+#  command.
+#
+# .. variable:: CPACK_PROJECT_CONFIG_FILE
+#
+#  CPack-time project CPack configuration file. This file included at cpack
+#  time, once per generator after CPack has set CPACK_GENERATOR to the
+#  actual generator being used. It allows per-generator setting of CPACK_*
+#  variables at cpack time.
+#
+# .. variable:: CPACK_RESOURCE_FILE_LICENSE
+#
+#  License to be embedded in the installer. It will typically be displayed
+#  to the user by the produced installer (often with an explicit "Accept"
+#  button, for graphical installers) prior to installation. This license
+#  file is NOT added to installed file but is used by some CPack generators
+#  like NSIS. If you want to install a license file (may be the same as this
+#  one) along with your project you must add an appropriate CMake INSTALL
+#  command in your CMakeLists.txt.
+#
+# .. variable:: CPACK_RESOURCE_FILE_README
+#
+#  ReadMe file to be embedded in the installer. It typically describes in
+#  some detail the purpose of the project during the installation. Not all
+#  CPack generators uses this file.
+#
+# .. variable:: CPACK_RESOURCE_FILE_WELCOME
+#
+#  Welcome file to be embedded in the installer. It welcomes users to this
+#  installer.  Typically used in the graphical installers on Windows and Mac
+#  OS X.
+#
+# .. variable:: CPACK_MONOLITHIC_INSTALL
+#
+#  Disables the component-based installation mechanism. When set the
+#  component specification is ignored and all installed items are put in a
+#  single "MONOLITHIC" package.  Some CPack generators do monolithic
+#  packaging by default and may be asked to do component packaging by
+#  setting CPACK_<GENNAME>_COMPONENT_INSTALL to 1/TRUE.
+#
+# .. variable:: CPACK_GENERATOR
+#
+#  List of CPack generators to use. If not specified, CPack will create a
+#  set of options CPACK_BINARY_<GENNAME> (e.g., CPACK_BINARY_NSIS) allowing
+#  the user to enable/disable individual generators. This variable may be
+#  used on the command line as well as in::
+#
+#   cpack -D CPACK_GENERATOR="ZIP;TGZ" /path/to/build/tree
+#
+# .. variable:: CPACK_OUTPUT_CONFIG_FILE
+#
+#  The name of the CPack binary configuration file. This file is the CPack
+#  configuration generated by the CPack module for binary
+#  installers. Defaults to CPackConfig.cmake.
+#
+# .. variable:: CPACK_PACKAGE_EXECUTABLES
+#
+#  Lists each of the executables and associated text label to be used to
+#  create Start Menu shortcuts. For example, setting this to the list
+#  ccmake;CMake will create a shortcut named "CMake" that will execute the
+#  installed executable ccmake. Not all CPack generators use it (at least
+#  NSIS, WIX and OSXX11 do).
+#
+# .. variable:: CPACK_STRIP_FILES
+#
+#  List of files to be stripped. Starting with CMake 2.6.0 CPACK_STRIP_FILES
+#  will be a boolean variable which enables stripping of all files (a list
+#  of files evaluates to TRUE in CMake, so this change is compatible).
+#
+# .. variable:: CPACK_VERBATIM_VARIABLES
+#
+#  If set to TRUE, values of variables prefixed with CPACK_ will be escaped
+#  before being written to the configuration files, so that the cpack program
+#  receives them exactly as they were specified. If not, characters like quotes
+#  and backslashes can cause parsing errors or alter the value received by the
+#  cpack program. Defaults to FALSE for backwards compatibility.
+#
+#  * Mandatory : NO
+#  * Default   : FALSE
+#
+# The following CPack variables are specific to source packages, and
+# will not affect binary packages:
+#
+# .. variable:: CPACK_SOURCE_PACKAGE_FILE_NAME
+#
+#  The name of the source package. For example cmake-2.6.1.
+#
+# .. variable:: CPACK_SOURCE_STRIP_FILES
+#
+#  List of files in the source tree that will be stripped. Starting with
+#  CMake 2.6.0 CPACK_SOURCE_STRIP_FILES will be a boolean variable which
+#  enables stripping of all files (a list of files evaluates to TRUE in
+#  CMake, so this change is compatible).
+#
+# .. variable:: CPACK_SOURCE_GENERATOR
+#
+#  List of generators used for the source packages. As with CPACK_GENERATOR,
+#  if this is not specified then CPack will create a set of options (e.g.,
+#  CPACK_SOURCE_ZIP) allowing users to select which packages will be
+#  generated.
+#
+# .. variable:: CPACK_SOURCE_OUTPUT_CONFIG_FILE
+#
+#  The name of the CPack source configuration file. This file is the CPack
+#  configuration generated by the CPack module for source
+#  installers. Defaults to CPackSourceConfig.cmake.
+#
+# .. variable:: CPACK_SOURCE_IGNORE_FILES
+#
+#  Pattern of files in the source tree that won't be packaged when building
+#  a source package. This is a list of regular expression patterns (that
+#  must be properly escaped), e.g.,
+#  /CVS/;/\\.svn/;\\.swp$;\\.#;/#;.*~;cscope.*
+#
+# The following variables are for advanced uses of CPack:
+#
+# .. variable:: CPACK_CMAKE_GENERATOR
+#
+#  What CMake generator should be used if the project is CMake
+#  project. Defaults to the value of CMAKE_GENERATOR few users will want to
+#  change this setting.
+#
+# .. variable:: CPACK_INSTALL_CMAKE_PROJECTS
+#
+#  List of four values that specify what project to install. The four values
+#  are: Build directory, Project Name, Project Component, Directory. If
+#  omitted, CPack will build an installer that installs everything.
+#
+# .. variable:: CPACK_SYSTEM_NAME
+#
+#  System name, defaults to the value of ${CMAKE_SYSTEM_NAME}.
+#
+# .. variable:: CPACK_PACKAGE_VERSION
+#
+#  Package full version, used internally. By default, this is built from
+#  CPACK_PACKAGE_VERSION_MAJOR, CPACK_PACKAGE_VERSION_MINOR, and
+#  CPACK_PACKAGE_VERSION_PATCH.
+#
+# .. variable:: CPACK_TOPLEVEL_TAG
+#
+#  Directory for the installed files.
+#
+# .. variable:: CPACK_INSTALL_COMMANDS
+#
+#  Extra commands to install components.
+#
+# .. variable:: CPACK_INSTALLED_DIRECTORIES
+#
+#  Extra directories to install.
+#
+# .. variable:: CPACK_PACKAGE_INSTALL_REGISTRY_KEY
+#
+#  Registry key used when installing this project. This is only used by
+#  installer for Windows.  The default value is based on the installation
+#  directory.
+#
+# .. variable:: CPACK_CREATE_DESKTOP_LINKS
+#
+#  List of desktop links to create.
+#  Each desktop link requires a corresponding start menu shortcut
+#  as created by :variable:`CPACK_PACKAGE_EXECUTABLES`.
+
+# Define this var in order to avoid (or warn) concerning multiple inclusion
+if(CPack_CMake_INCLUDED)
+  message(WARNING "CPack.cmake has already been included!!")
+else()
+  set(CPack_CMake_INCLUDED 1)
+endif()
+
+# Pick a configuration file
+set(cpack_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
+if(EXISTS "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
+  set(cpack_input_file "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
+endif()
+set(cpack_source_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
+if(EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
+  set(cpack_source_input_file "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
+endif()
+
+# Backward compatibility
+# Include CPackComponent macros if it has not already been included before.
+include(CPackComponent)
+
+# Macro for setting values if a user did not overwrite them
+# Mangles CMake-special characters. Only kept for backwards compatibility.
+macro(cpack_set_if_not_set name value)
+  message(DEPRECATION "cpack_set_if_not_set is obsolete; do not use.")
+  _cpack_set_default("${name}" "${value}")
+endmacro()
+
+# cpack_encode_variables - Function to encode variables for the configuration file
+# find any variable that starts with CPACK and create a variable
+# _CPACK_OTHER_VARIABLES_ that contains SET commands for
+# each cpack variable.  _CPACK_OTHER_VARIABLES_ is then
+# used as an @ replacment in configure_file for the CPackConfig.
+function(cpack_encode_variables)
+  set(commands "")
+  get_cmake_property(res VARIABLES)
+  foreach(var ${res})
+    if(var MATCHES "^CPACK")
+      if(CPACK_VERBATIM_VARIABLES)
+        _cpack_escape_for_cmake(value "${${var}}")
+      else()
+        set(value "${${var}}")
+      endif()
+
+      string(APPEND commands "\nSET(${var} \"${value}\")")
+    endif()
+  endforeach()
+
+  set(_CPACK_OTHER_VARIABLES_ "${commands}" PARENT_SCOPE)
+endfunction()
+
+# Internal use functions
+function(_cpack_set_default name value)
+  if(NOT DEFINED "${name}")
+    set("${name}" "${value}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(_cpack_escape_for_cmake var value)
+  string(REGEX REPLACE "([\\\$\"])" "\\\\\\1" escaped "${value}")
+  set("${var}" "${escaped}" PARENT_SCOPE)
+endfunction()
+
+# Set the package name
+_cpack_set_default(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
+_cpack_set_default(CPACK_PACKAGE_VERSION_MAJOR "0")
+_cpack_set_default(CPACK_PACKAGE_VERSION_MINOR "1")
+_cpack_set_default(CPACK_PACKAGE_VERSION_PATCH "1")
+_cpack_set_default(CPACK_PACKAGE_VERSION
+  "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+_cpack_set_default(CPACK_PACKAGE_VENDOR "Humanity")
+if(CMAKE_PROJECT_DESCRIPTION)
+  _cpack_set_default(CPACK_PACKAGE_DESCRIPTION_SUMMARY
+    "${CMAKE_PROJECT_DESCRIPTION}")
+else()
+  _cpack_set_default(CPACK_PACKAGE_DESCRIPTION_SUMMARY
+    "${CMAKE_PROJECT_NAME} built using CMake")
+endif()
+
+_cpack_set_default(CPACK_PACKAGE_DESCRIPTION_FILE
+  "${CMAKE_ROOT}/Templates/CPack.GenericDescription.txt")
+_cpack_set_default(CPACK_RESOURCE_FILE_LICENSE
+  "${CMAKE_ROOT}/Templates/CPack.GenericLicense.txt")
+_cpack_set_default(CPACK_RESOURCE_FILE_README
+  "${CMAKE_ROOT}/Templates/CPack.GenericDescription.txt")
+_cpack_set_default(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_ROOT}/Templates/CPack.GenericWelcome.txt")
+
+_cpack_set_default(CPACK_MODULE_PATH "${CMAKE_MODULE_PATH}")
+
+if(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL)
+  set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
+endif()
+
+if(CPACK_NSIS_MODIFY_PATH)
+  set(CPACK_NSIS_MODIFY_PATH ON)
+endif()
+
+set(__cpack_system_name ${CMAKE_SYSTEM_NAME})
+if(__cpack_system_name MATCHES "Windows")
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    set(__cpack_system_name win64)
+  else()
+    set(__cpack_system_name win32)
+  endif()
+endif()
+_cpack_set_default(CPACK_SYSTEM_NAME "${__cpack_system_name}")
+
+# Root dir: default value should be the string literal "$PROGRAMFILES"
+# for backwards compatibility. Projects may set this value to anything.
+# When creating 64 bit binaries we set the default value to "$PROGRAMFILES64"
+if("x${__cpack_system_name}" STREQUAL "xwin64")
+  set(__cpack_root_default "$PROGRAMFILES64")
+else()
+  set(__cpack_root_default "$PROGRAMFILES")
+endif()
+_cpack_set_default(CPACK_NSIS_INSTALL_ROOT "${__cpack_root_default}")
+
+# <project>-<major>.<minor>.<patch>-<release>-<platform>.<pkgtype>
+_cpack_set_default(CPACK_PACKAGE_FILE_NAME
+  "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}")
+_cpack_set_default(CPACK_PACKAGE_INSTALL_DIRECTORY
+  "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
+_cpack_set_default(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
+  "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+_cpack_set_default(CPACK_PACKAGE_DEFAULT_LOCATION "/")
+_cpack_set_default(CPACK_PACKAGE_RELOCATABLE "true")
+
+# always force to exactly "true" or "false" for CPack.Info.plist.in:
+if(CPACK_PACKAGE_RELOCATABLE)
+  set(CPACK_PACKAGE_RELOCATABLE "true")
+else()
+  set(CPACK_PACKAGE_RELOCATABLE "false")
+endif()
+
+macro(cpack_check_file_exists file description)
+  if(NOT EXISTS "${file}")
+    message(SEND_ERROR "CPack ${description} file: \"${file}\" could not be found.")
+  endif()
+endmacro()
+
+cpack_check_file_exists("${CPACK_PACKAGE_DESCRIPTION_FILE}" "package description")
+cpack_check_file_exists("${CPACK_RESOURCE_FILE_LICENSE}"    "license resource")
+cpack_check_file_exists("${CPACK_RESOURCE_FILE_README}"     "readme resource")
+cpack_check_file_exists("${CPACK_RESOURCE_FILE_WELCOME}"    "welcome resource")
+
+macro(cpack_optional_append _list _cond _item)
+  if(${_cond})
+    set(${_list} ${${_list}} ${_item})
+  endif()
+endmacro()
+
+#.rst:
+# .. variable:: CPACK_BINARY_<GENNAME>
+#
+#  CPack generated options for binary generators. The CPack.cmake module
+#  generates (when CPACK_GENERATOR is not set) a set of CMake options (see
+#  CMake option command) which may then be used to select the CPack
+#  generator(s) to be used when launching the package target.
+#
+#  Provide options to choose generators we might check here if the required
+#  tools for the generates exist and set the defaults according to the results
+if(NOT CPACK_GENERATOR)
+  if(UNIX)
+    if(CYGWIN)
+      option(CPACK_BINARY_CYGWIN "Enable to build Cygwin binary packages" ON)
+    else()
+      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_PRODUCTBUILD "Enable to build productbuild packages" OFF)
+      else()
+        option(CPACK_BINARY_TZ  "Enable to build TZ packages"     ON)
+      endif()
+      option(CPACK_BINARY_DEB  "Enable to build Debian packages"  OFF)
+      option(CPACK_BINARY_FREEBSD  "Enable to build FreeBSD packages"  OFF)
+      option(CPACK_BINARY_NSIS "Enable to build NSIS packages"    OFF)
+      option(CPACK_BINARY_RPM  "Enable to build RPM packages"     OFF)
+      option(CPACK_BINARY_STGZ "Enable to build STGZ packages"    ON)
+      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)
+    endif()
+  else()
+    option(CPACK_BINARY_7Z   "Enable to build 7-Zip packages" OFF)
+    option(CPACK_BINARY_NSIS "Enable to build NSIS packages" ON)
+    option(CPACK_BINARY_WIX  "Enable to build WiX packages" OFF)
+    option(CPACK_BINARY_ZIP  "Enable to build ZIP packages" OFF)
+  endif()
+  option(CPACK_BINARY_IFW "Enable to build IFW packages" OFF)
+
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_7Z           7Z)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_BUNDLE       Bundle)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_CYGWIN       CygwinBinary)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_DEB          DEB)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_DRAGNDROP    DragNDrop)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_FREEBSD      FREEBSD)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_IFW          IFW)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_NSIS         NSIS)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_OSXX11       OSXX11)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_PACKAGEMAKER PackageMaker)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_PRODUCTBUILD productbuild)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_RPM          RPM)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_STGZ         STGZ)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TBZ2         TBZ2)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TGZ          TGZ)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TXZ          TXZ)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TZ           TZ)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_WIX          WIX)
+  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_ZIP          ZIP)
+
+endif()
+
+# Provide options to choose source generators
+if(NOT CPACK_SOURCE_GENERATOR)
+  if(UNIX)
+    if(CYGWIN)
+      option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON)
+    else()
+      option(CPACK_SOURCE_RPM  "Enable to build RPM source packages"  OFF)
+      option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON)
+      option(CPACK_SOURCE_TGZ  "Enable to build TGZ source packages"  ON)
+      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)
+    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)
+  endif()
+
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_7Z      7Z)
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_CYGWIN  CygwinSource)
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_RPM     RPM)
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TBZ2    TBZ2)
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TGZ     TGZ)
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TXZ     TXZ)
+  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TZ      TZ)
+  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_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;/")
+_cpack_set_default(CPACK_CMAKE_GENERATOR "${CMAKE_GENERATOR}")
+_cpack_set_default(CPACK_TOPLEVEL_TAG "${CPACK_SYSTEM_NAME}")
+# if the user has set CPACK_NSIS_DISPLAY_NAME remember it
+if(DEFINED CPACK_NSIS_DISPLAY_NAME)
+  set(CPACK_NSIS_DISPLAY_NAME_SET TRUE)
+endif()
+# if the user has set CPACK_NSIS_DISPLAY
+# explicitly, then use that as the default
+# value of CPACK_NSIS_PACKAGE_NAME  instead
+# of CPACK_PACKAGE_INSTALL_DIRECTORY
+_cpack_set_default(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+
+if(CPACK_NSIS_DISPLAY_NAME_SET)
+  _cpack_set_default(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_DISPLAY_NAME}")
+else()
+  _cpack_set_default(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+endif()
+
+_cpack_set_default(CPACK_OUTPUT_CONFIG_FILE
+  "${CMAKE_BINARY_DIR}/CPackConfig.cmake")
+
+_cpack_set_default(CPACK_SOURCE_OUTPUT_CONFIG_FILE
+  "${CMAKE_BINARY_DIR}/CPackSourceConfig.cmake")
+
+_cpack_set_default(CPACK_SET_DESTDIR OFF)
+_cpack_set_default(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+_cpack_set_default(CPACK_NSIS_INSTALLER_ICON_CODE "")
+_cpack_set_default(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
+
+# WiX specific variables
+_cpack_set_default(CPACK_WIX_SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}")
+
+# set sysroot so SDK tools can be used
+if(CMAKE_OSX_SYSROOT)
+  _cpack_set_default(CPACK_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}")
+endif()
+
+_cpack_set_default(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR};${CMAKE_BINARY_DIR}")
+
+if(DEFINED CPACK_COMPONENTS_ALL)
+  if(CPACK_MONOLITHIC_INSTALL)
+    message("CPack warning: both CPACK_COMPONENTS_ALL and CPACK_MONOLITHIC_INSTALL have been set.\nDefaulting to a monolithic installation.")
+    set(CPACK_COMPONENTS_ALL)
+  else()
+    # The user has provided the set of components to be installed as
+    # part of a component-based installation; trust her.
+    set(CPACK_COMPONENTS_ALL_SET_BY_USER TRUE)
+  endif()
+else()
+  # If the user has not specifically requested a monolithic installer
+  # but has specified components in various "install" commands, tell
+  # CPack about those components.
+  if(NOT CPACK_MONOLITHIC_INSTALL)
+    get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
+    list(LENGTH CPACK_COMPONENTS_ALL CPACK_COMPONENTS_LEN)
+    if(CPACK_COMPONENTS_LEN EQUAL 1)
+      # Only one component: this is not a component-based installation
+      # (at least, it isn't a component-based installation, but may
+      # become one later if the user uses the cpack_add_* commands).
+      set(CPACK_COMPONENTS_ALL)
+    endif()
+    set(CPACK_COMPONENTS_LEN)
+  endif()
+endif()
+
+# CMake always generates a component named "Unspecified", which is
+# used to install everything that doesn't have an explicitly-provided
+# component. Since these files should always be installed, we'll make
+# them hidden and required.
+set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN TRUE)
+set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED TRUE)
+
+cpack_encode_variables()
+configure_file("${cpack_input_file}" "${CPACK_OUTPUT_CONFIG_FILE}" @ONLY)
+
+# Generate source file
+_cpack_set_default(CPACK_SOURCE_INSTALLED_DIRECTORIES
+  "${CMAKE_SOURCE_DIR};/")
+_cpack_set_default(CPACK_SOURCE_TOPLEVEL_TAG "${CPACK_SYSTEM_NAME}-Source")
+_cpack_set_default(CPACK_SOURCE_PACKAGE_FILE_NAME
+  "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Source")
+
+set(__cpack_source_ignore_files_default
+  "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp$;\\.#;/#")
+if(NOT CPACK_VERBATIM_VARIABLES)
+  _cpack_escape_for_cmake(__cpack_source_ignore_files_default
+    "${__cpack_source_ignore_files_default}")
+endif()
+_cpack_set_default(CPACK_SOURCE_IGNORE_FILES "${__cpack_source_ignore_files_default}")
+
+set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_SOURCE_INSTALL_CMAKE_PROJECTS}")
+set(CPACK_INSTALLED_DIRECTORIES "${CPACK_SOURCE_INSTALLED_DIRECTORIES}")
+set(CPACK_GENERATOR "${CPACK_SOURCE_GENERATOR}")
+set(CPACK_TOPLEVEL_TAG "${CPACK_SOURCE_TOPLEVEL_TAG}")
+set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
+set(CPACK_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES}")
+set(CPACK_STRIP_FILES "${CPACK_SOURCE_STRIP_FILES}")
+
+set(CPACK_RPM_PACKAGE_SOURCES "ON")
+
+cpack_encode_variables()
+configure_file("${cpack_source_input_file}"
+  "${CPACK_SOURCE_OUTPUT_CONFIG_FILE}" @ONLY)
diff --git a/share/cmake-3.6/Modules/CPack.distribution.dist.in b/share/cmake-3.10/Modules/CPack.distribution.dist.in
similarity index 100%
rename from share/cmake-3.6/Modules/CPack.distribution.dist.in
rename to share/cmake-3.10/Modules/CPack.distribution.dist.in
diff --git a/share/cmake-3.10/Modules/CPackArchive.cmake b/share/cmake-3.10/Modules/CPackArchive.cmake
new file mode 100644
index 0000000..741fb1f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackArchive.cmake
@@ -0,0 +1,39 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackArchive
+# ------------
+#
+# Archive CPack generator that supports packaging of sources and binaries in
+# different formats:
+#
+#   - 7Z - 7zip - (.7z)
+#   - TBZ2 (.tar.bz2)
+#   - TGZ (.tar.gz)
+#   - TXZ (.tar.xz)
+#   - TZ (.tar.Z)
+#   - ZIP (.zip)
+#
+# Variables specific to CPack Archive generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# .. variable:: CPACK_ARCHIVE_FILE_NAME
+#               CPACK_ARCHIVE_<component>_FILE_NAME
+#
+#  Package file name without extension which is added automatically depending
+#  on the archive format.
+#
+#  * Mandatory : YES
+#  * Default   : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].<extension>`` with
+#                spaces replaced by '-'
+#
+# .. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
+#
+#  Enable component packaging for CPackArchive
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+#  If enabled (ON) multiple packages are generated. By default a single package
+#  containing files of all components is generated.
diff --git a/share/cmake-3.10/Modules/CPackBundle.cmake b/share/cmake-3.10/Modules/CPackBundle.cmake
new file mode 100644
index 0000000..8f37ef8
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackBundle.cmake
@@ -0,0 +1,70 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackBundle
+# -----------
+#
+# CPack Bundle generator (Mac OS X) specific options
+#
+# Variables specific to CPack Bundle generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# Installers built on Mac OS X using the Bundle generator use the
+# aforementioned DragNDrop (CPACK_DMG_xxx) variables, plus the following
+# Bundle-specific parameters (CPACK_BUNDLE_xxx).
+#
+# .. variable:: CPACK_BUNDLE_NAME
+#
+#  The name of the generated bundle. This appears in the OSX finder as the
+#  bundle name. Required.
+#
+# .. variable:: CPACK_BUNDLE_PLIST
+#
+#  Path to an OSX plist file that will be used for the generated bundle. This
+#  assumes that the caller has generated or specified their own Info.plist
+#  file. Required.
+#
+# .. variable:: CPACK_BUNDLE_ICON
+#
+#  Path to an OSX icon file that will be used as the icon for the generated
+#  bundle. This is the icon that appears in the OSX finder for the bundle, and
+#  in the OSX dock when the bundle is opened.  Required.
+#
+# .. variable:: CPACK_BUNDLE_STARTUP_COMMAND
+#
+#  Path to a startup script. This is a path to an executable or script that
+#  will be run whenever an end-user double-clicks the generated bundle in the
+#  OSX Finder. Optional.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_CERT_APP
+#
+#  The name of your Apple supplied code signing certificate for the application.
+#  The name usually takes the form "Developer ID Application: [Name]" or
+#  "3rd Party Mac Developer Application: [Name]". If this variable is not set
+#  the application will not be signed.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_ENTITLEMENTS
+#
+#  The name of the plist file that contains your apple entitlements for sandboxing
+#  your application. This file is required for submission to the Mac App Store.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_FILES
+#
+#  A list of additional files that you wish to be signed. You do not need to
+#  list the main application folder, or the main executable. You should
+#  list any frameworks and plugins that are included in your app bundle.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
+#
+#  Additional parameter that will passed to codesign.
+#  Default value: "--deep -f"
+#
+# .. variable:: CPACK_COMMAND_CODESIGN
+#
+#  Path to the codesign(1) command used to sign applications with an
+#  Apple cert. This variable can be used to override the automatically
+#  detected command (or specify its location if the auto-detection fails
+#  to find it.)
+
+#Bundle Generator specific code should be put here
diff --git a/share/cmake-3.10/Modules/CPackComponent.cmake b/share/cmake-3.10/Modules/CPackComponent.cmake
new file mode 100644
index 0000000..2374fbd
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackComponent.cmake
@@ -0,0 +1,540 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackComponent
+# --------------
+#
+# Build binary and source package installers
+#
+# Variables concerning CPack Components
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The CPackComponent module is the module which handles the component
+# part of CPack.  See CPack module for general information about CPack.
+#
+# For certain kinds of binary installers (including the graphical
+# installers on Mac OS X and Windows), CPack generates installers that
+# allow users to select individual application components to install.
+# The contents of each of the components are identified by the COMPONENT
+# argument of CMake's INSTALL command.  These components can be
+# annotated with user-friendly names and descriptions, inter-component
+# dependencies, etc., and grouped in various ways to customize the
+# resulting installer.  See the cpack_add_* commands, described below,
+# for more information about component-specific installations.
+#
+# Component-specific installation allows users to select specific sets
+# of components to install during the install process.  Installation
+# components are identified by the COMPONENT argument of CMake's INSTALL
+# commands, and should be further described by the following CPack
+# commands:
+#
+# .. variable:: CPACK_COMPONENTS_ALL
+#
+#  The list of component to install.
+#
+#  The default value of this variable is computed by CPack and contains all
+#  components defined by the project.  The user may set it to only include the
+#  specified components.
+#
+#  Instead of specifying all the desired components, it is possible to obtain a
+#  list of all defined components and then remove the unwanted ones from the
+#  list. The :command:`get_cmake_property` command can be used to obtain the
+#  ``COMPONENTS`` property, then the :command:`list(REMOVE_ITEM)` command can be
+#  used to remove the unwanted ones. For example, to use all defined components
+#  except ``foo`` and ``bar``::
+#
+#    get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
+#    list(REMOVE_ITEM CPACK_COMPONENTS_ALL "foo" "bar")
+#
+# .. variable:: CPACK_<GENNAME>_COMPONENT_INSTALL
+#
+#  Enable/Disable component install for CPack generator <GENNAME>.
+#
+#  Each CPack Generator (RPM, DEB, ARCHIVE, NSIS, DMG, etc...) has a legacy
+#  default behavior.  e.g.  RPM builds monolithic whereas NSIS builds
+#  component.  One can change the default behavior by setting this variable to
+#  0/1 or OFF/ON.
+#
+# .. variable:: CPACK_COMPONENTS_GROUPING
+#
+#  Specify how components are grouped for multi-package component-aware CPack
+#  generators.
+#
+#  Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates
+#  several packages files when asked for component packaging.  They group
+#  the component differently depending on the value of this variable:
+#
+#  * ONE_PER_GROUP (default): creates one package file per component group
+#  * ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
+#  * IGNORE : creates one package per component, i.e. IGNORE component group
+#
+#  One can specify different grouping for different CPack generator by
+#  using a CPACK_PROJECT_CONFIG_FILE.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_DISPLAY_NAME
+#
+#  The name to be displayed for a component.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_DESCRIPTION
+#
+#  The description of a component.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_GROUP
+#
+#  The group of a component.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_DEPENDS
+#
+#  The dependencies (list of components) on which this component depends.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_HIDDEN
+#
+#  True if this component is hidden from the user.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_REQUIRED
+#
+#  True if this component is required.
+#
+# .. variable:: CPACK_COMPONENT_<compName>_DISABLED
+#
+#  True if this component is not selected to be installed by default.
+#
+# .. command:: cpack_add_component
+#
+# Describes a CPack installation
+# component named by the COMPONENT argument to a CMake INSTALL command.
+#
+# ::
+#
+#   cpack_add_component(compname
+#                       [DISPLAY_NAME name]
+#                       [DESCRIPTION description]
+#                       [HIDDEN | REQUIRED | DISABLED ]
+#                       [GROUP group]
+#                       [DEPENDS comp1 comp2 ... ]
+#                       [INSTALL_TYPES type1 type2 ... ]
+#                       [DOWNLOADED]
+#                       [ARCHIVE_FILE filename]
+#                       [PLIST filename])
+#
+#
+#
+# The cmake_add_component command describes an installation component,
+# which the user can opt to install or remove as part of the graphical
+# installation process.  compname is the name of the component, as
+# provided to the COMPONENT argument of one or more CMake INSTALL
+# commands.
+#
+# DISPLAY_NAME is the displayed name of the component, used in graphical
+# installers to display the component name.  This value can be any
+# string.
+#
+# DESCRIPTION is an extended description of the component, used in
+# graphical installers to give the user additional information about the
+# component.  Descriptions can span multiple lines using ``\n`` as the
+# line separator.  Typically, these descriptions should be no more than
+# a few lines long.
+#
+# HIDDEN indicates that this component will be hidden in the graphical
+# installer, so that the user cannot directly change whether it is
+# installed or not.
+#
+# REQUIRED indicates that this component is required, and therefore will
+# always be installed.  It will be visible in the graphical installer,
+# but it cannot be unselected.  (Typically, required components are
+# shown greyed out).
+#
+# DISABLED indicates that this component should be disabled (unselected)
+# by default.  The user is free to select this component for
+# installation, unless it is also HIDDEN.
+#
+# DEPENDS lists the components on which this component depends.  If this
+# component is selected, then each of the components listed must also be
+# selected.  The dependency information is encoded within the installer
+# itself, so that users cannot install inconsistent sets of components.
+#
+# GROUP names the component group of which this component is a part.  If
+# not provided, the component will be a standalone component, not part
+# of any component group.  Component groups are described with the
+# cpack_add_component_group command, detailed below.
+#
+# INSTALL_TYPES lists the installation types of which this component is
+# a part.  When one of these installations types is selected, this
+# component will automatically be selected.  Installation types are
+# described with the cpack_add_install_type command, detailed below.
+#
+# DOWNLOADED indicates that this component should be downloaded
+# on-the-fly by the installer, rather than packaged in with the
+# installer itself.  For more information, see the
+# cpack_configure_downloads command.
+#
+# ARCHIVE_FILE provides a name for the archive file created by CPack to
+# be used for downloaded components.  If not supplied, CPack will create
+# a file with some name based on CPACK_PACKAGE_FILE_NAME and the name of
+# the component.  See cpack_configure_downloads for more information.
+#
+# PLIST gives a filename that is passed to pkgbuild with the
+# ``--component-plist`` argument when using the productbuild generator.
+#
+# .. command:: cpack_add_component_group
+#
+# Describes a group of related CPack installation components.
+#
+# ::
+#
+#   cpack_add_component_group(groupname
+#                            [DISPLAY_NAME name]
+#                            [DESCRIPTION description]
+#                            [PARENT_GROUP parent]
+#                            [EXPANDED]
+#                            [BOLD_TITLE])
+#
+#
+#
+# The cpack_add_component_group describes a group of installation
+# components, which will be placed together within the listing of
+# options.  Typically, component groups allow the user to
+# select/deselect all of the components within a single group via a
+# single group-level option.  Use component groups to reduce the
+# complexity of installers with many options.  groupname is an arbitrary
+# name used to identify the group in the GROUP argument of the
+# cpack_add_component command, which is used to place a component in a
+# group.  The name of the group must not conflict with the name of any
+# component.
+#
+# DISPLAY_NAME is the displayed name of the component group, used in
+# graphical installers to display the component group name.  This value
+# can be any string.
+#
+# DESCRIPTION is an extended description of the component group, used in
+# graphical installers to give the user additional information about the
+# components within that group.  Descriptions can span multiple lines
+# using ``\n`` as the line separator.  Typically, these descriptions
+# should be no more than a few lines long.
+#
+# PARENT_GROUP, if supplied, names the parent group of this group.
+# Parent groups are used to establish a hierarchy of groups, providing
+# an arbitrary hierarchy of groups.
+#
+# EXPANDED indicates that, by default, the group should show up as
+# "expanded", so that the user immediately sees all of the components
+# within the group.  Otherwise, the group will initially show up as a
+# single entry.
+#
+# BOLD_TITLE indicates that the group title should appear in bold, to
+# call the user's attention to the group.
+#
+# .. command:: cpack_add_install_type
+#
+# Add a new installation type containing
+# a set of predefined component selections to the graphical installer.
+#
+# ::
+#
+#   cpack_add_install_type(typename
+#                          [DISPLAY_NAME name])
+#
+#
+#
+# The cpack_add_install_type command identifies a set of preselected
+# components that represents a common use case for an application.  For
+# example, a "Developer" install type might include an application along
+# with its header and library files, while an "End user" install type
+# might just include the application's executable.  Each component
+# identifies itself with one or more install types via the INSTALL_TYPES
+# argument to cpack_add_component.
+#
+# DISPLAY_NAME is the displayed name of the install type, which will
+# typically show up in a drop-down box within a graphical installer.
+# This value can be any string.
+#
+# .. command:: cpack_configure_downloads
+#
+# Configure CPack to download
+# selected components on-the-fly as part of the installation process.
+#
+# ::
+#
+#   cpack_configure_downloads(site
+#                             [UPLOAD_DIRECTORY dirname]
+#                             [ALL]
+#                             [ADD_REMOVE|NO_ADD_REMOVE])
+#
+#
+#
+# The cpack_configure_downloads command configures installation-time
+# downloads of selected components.  For each downloadable component,
+# CPack will create an archive containing the contents of that
+# component, which should be uploaded to the given site.  When the user
+# selects that component for installation, the installer will download
+# and extract the component in place.  This feature is useful for
+# creating small installers that only download the requested components,
+# saving bandwidth.  Additionally, the installers are small enough that
+# they will be installed as part of the normal installation process, and
+# the "Change" button in Windows Add/Remove Programs control panel will
+# allow one to add or remove parts of the application after the original
+# installation.  On Windows, the downloaded-components functionality
+# requires the ZipDLL plug-in for NSIS, available at:
+#
+# ::
+#
+#   http://nsis.sourceforge.net/ZipDLL_plug-in
+#
+#
+#
+# On Mac OS X, installers that download components on-the-fly can only
+# be built and installed on system using Mac OS X 10.5 or later.
+#
+# The site argument is a URL where the archives for downloadable
+# components will reside, e.g.,
+# https://cmake.org/files/2.6.1/installer/ All of the archives
+# produced by CPack should be uploaded to that location.
+#
+# UPLOAD_DIRECTORY is the local directory where CPack will create the
+# various archives for each of the components.  The contents of this
+# directory should be uploaded to a location accessible by the URL given
+# in the site argument.  If omitted, CPack will use the directory
+# CPackUploads inside the CMake binary directory to store the generated
+# archives.
+#
+# The ALL flag indicates that all components be downloaded.  Otherwise,
+# only those components explicitly marked as DOWNLOADED or that have a
+# specified ARCHIVE_FILE will be downloaded.  Additionally, the ALL
+# option implies ADD_REMOVE (unless NO_ADD_REMOVE is specified).
+#
+# ADD_REMOVE indicates that CPack should install a copy of the installer
+# that can be called from Windows' Add/Remove Programs dialog (via the
+# "Modify" button) to change the set of installed components.
+# NO_ADD_REMOVE turns off this behavior.  This option is ignored on Mac
+# OS X.
+
+# Define var in order to avoid multiple inclusion
+if(NOT CPackComponent_CMake_INCLUDED)
+set(CPackComponent_CMake_INCLUDED 1)
+
+# Macro that appends a SET command for the given variable name (var)
+# to the macro named strvar, but only if the variable named "var"
+# has been defined. The string will eventually be appended to a CPack
+# configuration file.
+macro(cpack_append_variable_set_command var strvar)
+  if (DEFINED ${var})
+    string(APPEND ${strvar} "set(${var}")
+    foreach(APPENDVAL ${${var}})
+      string(APPEND ${strvar} " ${APPENDVAL}")
+    endforeach()
+    string(APPEND ${strvar} ")\n")
+  endif ()
+endmacro()
+
+# Macro that appends a SET command for the given variable name (var)
+# to the macro named strvar, but only if the variable named "var"
+# has been defined and is a string. The string will eventually be
+# appended to a CPack configuration file.
+macro(cpack_append_string_variable_set_command var strvar)
+  if (DEFINED ${var})
+    list(LENGTH ${var} CPACK_APP_VALUE_LEN)
+    if(${CPACK_APP_VALUE_LEN} EQUAL 1)
+      string(APPEND ${strvar} "set(${var} \"${${var}}\")\n")
+    endif()
+  endif ()
+endmacro()
+
+# Macro that appends a SET command for the given list variable name (var)
+# to the macro named strvar, but only if the variable named "var"
+# has been defined. It's like add variable, but wrap each item to quotes.
+# The string will eventually be appended to a CPack configuration file.
+macro(cpack_append_list_variable_set_command var strvar)
+  if (DEFINED ${var})
+    string(APPEND ${strvar} "set(${var}")
+    foreach(_val IN LISTS ${var})
+      string(APPEND ${strvar} "\n  \"${_val}\"")
+    endforeach()
+    string(APPEND ${strvar} ")\n")
+  endif ()
+endmacro()
+
+# Macro that appends a SET command for the given variable name (var)
+# to the macro named strvar, but only if the variable named "var"
+# has been set to true. The string will eventually be
+# appended to a CPack configuration file.
+macro(cpack_append_option_set_command var strvar)
+  if (${var})
+    list(LENGTH ${var} CPACK_APP_VALUE_LEN)
+    if(${CPACK_APP_VALUE_LEN} EQUAL 1)
+      string(APPEND ${strvar} "set(${var} TRUE)\n")
+    endif()
+  endif ()
+endmacro()
+
+# Macro that adds a component to the CPack installer
+macro(cpack_add_component compname)
+  string(TOUPPER ${compname} _CPACK_ADDCOMP_UNAME)
+  cmake_parse_arguments(CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}
+    "HIDDEN;REQUIRED;DISABLED;DOWNLOADED"
+    "DISPLAY_NAME;DESCRIPTION;GROUP;ARCHIVE_FILE;PLIST"
+    "DEPENDS;INSTALL_TYPES"
+    ${ARGN}
+    )
+
+  if (CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DOWNLOADED)
+    set(_CPACK_ADDCOMP_STR "\n# Configuration for downloaded component \"${compname}\"\n")
+  else ()
+    set(_CPACK_ADDCOMP_STR "\n# Configuration for component \"${compname}\"\n")
+  endif ()
+
+  if(NOT CPACK_MONOLITHIC_INSTALL)
+    # If the user didn't set CPACK_COMPONENTS_ALL explicitly, update the
+    # value of CPACK_COMPONENTS_ALL in the configuration file. This will
+    # take care of any components that have been added after the CPack
+    # moduled was included.
+    if(NOT CPACK_COMPONENTS_ALL_SET_BY_USER)
+      get_cmake_property(_CPACK_ADDCOMP_COMPONENTS COMPONENTS)
+      string(APPEND _CPACK_ADDCOMP_STR "\nSET(CPACK_COMPONENTS_ALL")
+      foreach(COMP ${_CPACK_ADDCOMP_COMPONENTS})
+       string(APPEND _CPACK_ADDCOMP_STR " ${COMP}")
+      endforeach()
+      string(APPEND _CPACK_ADDCOMP_STR ")\n")
+    endif()
+  endif()
+
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DISPLAY_NAME
+    _CPACK_ADDCOMP_STR)
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DESCRIPTION
+    _CPACK_ADDCOMP_STR)
+  cpack_append_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_GROUP
+    _CPACK_ADDCOMP_STR)
+  cpack_append_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DEPENDS
+    _CPACK_ADDCOMP_STR)
+  cpack_append_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_INSTALL_TYPES
+    _CPACK_ADDCOMP_STR)
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_ARCHIVE_FILE
+    _CPACK_ADDCOMP_STR)
+  cpack_append_option_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_HIDDEN
+    _CPACK_ADDCOMP_STR)
+  cpack_append_option_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_REQUIRED
+    _CPACK_ADDCOMP_STR)
+  cpack_append_option_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DISABLED
+    _CPACK_ADDCOMP_STR)
+  cpack_append_option_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DOWNLOADED
+    _CPACK_ADDCOMP_STR)
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_PLIST
+    _CPACK_ADDCOMP_STR)
+  # Backward compatibility issue.
+  # Write to config iff the macros is used after CPack.cmake has been
+  # included, other it's not necessary because the variables
+  # will be encoded by cpack_encode_variables.
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_ADDCOMP_STR}")
+  endif()
+endmacro()
+
+# Macro that adds a component group to the CPack installer
+macro(cpack_add_component_group grpname)
+  string(TOUPPER ${grpname} _CPACK_ADDGRP_UNAME)
+  cmake_parse_arguments(CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}
+    "EXPANDED;BOLD_TITLE"
+    "DISPLAY_NAME;DESCRIPTION;PARENT_GROUP"
+    ""
+    ${ARGN}
+    )
+
+  set(_CPACK_ADDGRP_STR "\n# Configuration for component group \"${grpname}\"\n")
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_DISPLAY_NAME
+    _CPACK_ADDGRP_STR)
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_DESCRIPTION
+    _CPACK_ADDGRP_STR)
+  cpack_append_string_variable_set_command(
+    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_PARENT_GROUP
+    _CPACK_ADDGRP_STR)
+  cpack_append_option_set_command(
+    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_EXPANDED
+    _CPACK_ADDGRP_STR)
+  cpack_append_option_set_command(
+    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_BOLD_TITLE
+    _CPACK_ADDGRP_STR)
+  # Backward compatibility issue.
+  # Write to config iff the macros is used after CPack.cmake has been
+  # included, other it's not necessary because the variables
+  # will be encoded by cpack_encode_variables.
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_ADDGRP_STR}")
+  endif()
+endmacro()
+
+# Macro that adds an installation type to the CPack installer
+macro(cpack_add_install_type insttype)
+  string(TOUPPER ${insttype} _CPACK_INSTTYPE_UNAME)
+  cmake_parse_arguments(CPACK_INSTALL_TYPE_${_CPACK_INSTTYPE_UNAME}
+    ""
+    "DISPLAY_NAME"
+    ""
+    ${ARGN}
+    )
+
+  set(_CPACK_INSTTYPE_STR
+    "\n# Configuration for installation type \"${insttype}\"\n")
+  string(APPEND _CPACK_INSTTYPE_STR
+    "list(APPEND CPACK_ALL_INSTALL_TYPES ${insttype})\n")
+  cpack_append_string_variable_set_command(
+    CPACK_INSTALL_TYPE_${_CPACK_INSTTYPE_UNAME}_DISPLAY_NAME
+    _CPACK_INSTTYPE_STR)
+  # Backward compatibility issue.
+  # Write to config iff the macros is used after CPack.cmake has been
+  # included, other it's not necessary because the variables
+  # will be encoded by cpack_encode_variables.
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_INSTTYPE_STR}")
+  endif()
+endmacro()
+
+macro(cpack_configure_downloads site)
+  cmake_parse_arguments(CPACK_DOWNLOAD
+    "ALL;ADD_REMOVE;NO_ADD_REMOVE"
+    "UPLOAD_DIRECTORY"
+    ""
+    ${ARGN}
+    )
+
+  set(CPACK_CONFIG_DL_STR
+    "\n# Downloaded components configuration\n")
+  set(CPACK_UPLOAD_DIRECTORY ${CPACK_DOWNLOAD_UPLOAD_DIRECTORY})
+  set(CPACK_DOWNLOAD_SITE ${site})
+  cpack_append_string_variable_set_command(
+    CPACK_DOWNLOAD_SITE
+    CPACK_CONFIG_DL_STR)
+  cpack_append_string_variable_set_command(
+    CPACK_UPLOAD_DIRECTORY
+    CPACK_CONFIG_DL_STR)
+  cpack_append_option_set_command(
+    CPACK_DOWNLOAD_ALL
+    CPACK_CONFIG_DL_STR)
+  if (${CPACK_DOWNLOAD_ALL} AND NOT ${CPACK_DOWNLOAD_NO_ADD_REMOVE})
+    set(CPACK_DOWNLOAD_ADD_REMOVE ON)
+  endif ()
+  set(CPACK_ADD_REMOVE ${CPACK_DOWNLOAD_ADD_REMOVE})
+  cpack_append_option_set_command(
+    CPACK_ADD_REMOVE
+    CPACK_CONFIG_DL_STR)
+  # Backward compatibility issue.
+  # Write to config iff the macros is used after CPack.cmake has been
+  # included, other it's not necessary because the variables
+  # will be encoded by cpack_encode_variables.
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_CONFIG_DL_STR}")
+  endif()
+endmacro()
+endif()
diff --git a/share/cmake-3.10/Modules/CPackCygwin.cmake b/share/cmake-3.10/Modules/CPackCygwin.cmake
new file mode 100644
index 0000000..6d203c3
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackCygwin.cmake
@@ -0,0 +1,27 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackCygwin
+# -----------
+#
+# Cygwin CPack generator (Cygwin).
+#
+# Variables specific to CPack Cygwin generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The
+# following variable is specific to installers build on and/or for
+# Cygwin:
+#
+# .. variable:: CPACK_CYGWIN_PATCH_NUMBER
+#
+#  The Cygwin patch number.  FIXME: This documentation is incomplete.
+#
+# .. variable:: CPACK_CYGWIN_PATCH_FILE
+#
+#  The Cygwin patch file.  FIXME: This documentation is incomplete.
+#
+# .. variable:: CPACK_CYGWIN_BUILD_SCRIPT
+#
+#  The Cygwin build script.  FIXME: This documentation is incomplete.
diff --git a/share/cmake-3.10/Modules/CPackDMG.cmake b/share/cmake-3.10/Modules/CPackDMG.cmake
new file mode 100644
index 0000000..bda600f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackDMG.cmake
@@ -0,0 +1,105 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackDMG
+# --------
+#
+# DragNDrop CPack generator (Mac OS X).
+#
+# Variables specific to CPack DragNDrop generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variables are specific to the DragNDrop installers built
+# on Mac OS X:
+#
+# .. variable:: CPACK_DMG_VOLUME_NAME
+#
+#  The volume name of the generated disk image. Defaults to
+#  CPACK_PACKAGE_FILE_NAME.
+#
+# .. variable:: CPACK_DMG_FORMAT
+#
+#  The disk image format. Common values are UDRO (UDIF read-only), UDZO (UDIF
+#  zlib-compressed) or UDBZ (UDIF bzip2-compressed). Refer to hdiutil(1) for
+#  more information on other available formats. Defaults to UDZO.
+#
+# .. variable:: CPACK_DMG_DS_STORE
+#
+#  Path to a custom DS_Store file. This .DS_Store file e.g. can be used to
+#  specify the Finder window position/geometry and layout (such as hidden
+#  toolbars, placement of the icons etc.). This file has to be generated by
+#  the Finder (either manually or through AppleScript) using a normal folder
+#  from which the .DS_Store file can then be extracted.
+#
+# .. variable:: CPACK_DMG_DS_STORE_SETUP_SCRIPT
+#
+#  Path to a custom AppleScript file.  This AppleScript is used to generate
+#  a .DS_Store file which specifies the Finder window position/geometry and
+#  layout (such as hidden toolbars, placement of the icons etc.).
+#  By specifying a custom AppleScript there is no need to use
+#  CPACK_DMG_DS_STORE, as the .DS_Store that is generated by the AppleScript
+#  will be packaged.
+#
+# .. variable:: CPACK_DMG_BACKGROUND_IMAGE
+#
+#  Path to an image file to be used as the background.  This file will be
+#  copied to .background/background.<ext>, where ext is the original image file
+#  extension.  The background image is installed into the image before
+#  CPACK_DMG_DS_STORE_SETUP_SCRIPT is executed or CPACK_DMG_DS_STORE is
+#  installed.  By default no background image is set.
+#
+# .. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
+#
+#  Default behaviour is to include a symlink to ``/Applications`` in the DMG.
+#  Set this option to ``ON`` to avoid adding the symlink.
+#
+# .. variable:: CPACK_DMG_SLA_DIR
+#
+#   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
+#   ``CPACK_RESOURCE_FILE_LICENSE`` are set, CPack will only look for the menu
+#   files and use the same license file for all languages.
+#
+# .. variable:: CPACK_DMG_SLA_LANGUAGES
+#
+#   Languages for which a license agreement is provided when mounting the
+#   generated DMG. A menu file consists of 9 lines of text. The first line is
+#   is the name of the language itself, uppercase, in English (e.g. German).
+#   The other lines are translations of the following strings:
+#
+#   - Agree
+#   - Disagree
+#   - Print
+#   - Save...
+#   - You agree to the terms of the License Agreement when you click the
+#     "Agree" button.
+#   - Software License Agreement
+#   - This text cannot be saved. The disk may be full or locked, or the file
+#     may be locked.
+#   - Unable to print. Make sure you have selected a printer.
+#
+#   For every language in this list, CPack will try to find files
+#   ``<language>.menu.txt`` and ``<language>.license.txt`` in the directory
+#   specified by the :variable:`CPACK_DMG_SLA_DIR` variable.
+#
+# .. variable:: CPACK_COMMAND_HDIUTIL
+#
+#  Path to the hdiutil(1) command used to operate on disk image files on Mac
+#  OS X. 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_COMMAND_SETFILE
+#
+#  Path to the SetFile(1) command used to set extended attributes on files and
+#  directories on Mac OS X. 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_COMMAND_REZ
+#
+#  Path to the Rez(1) command used to compile resources on Mac OS X. This
+#  variable can be used to override the automatically detected command (or
+#  specify its location if the auto-detection fails to find it.)
diff --git a/share/cmake-3.10/Modules/CPackDeb.cmake b/share/cmake-3.10/Modules/CPackDeb.cmake
new file mode 100644
index 0000000..1879827
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackDeb.cmake
@@ -0,0 +1,1119 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackDeb
+# --------
+#
+# The built in (binary) CPack Deb generator (Unix only)
+#
+# Variables specific to CPack Debian (DEB) generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# CPackDeb may be used to create Deb package using :module:`CPack`.
+# CPackDeb is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
+# variables used by :module:`CPack`.
+#
+# CPackDeb generator should work on any Linux host but it will produce
+# better deb package when Debian specific tools ``dpkg-xxx`` are usable on
+# the build system.
+#
+# CPackDeb has specific features which are controlled by the specifics
+# :code:`CPACK_DEBIAN_XXX` variables.
+#
+# :code:`CPACK_DEBIAN_<COMPONENT>_XXXX` variables may be used in order to have
+# **component** specific values.  Note however that ``<COMPONENT>`` refers to
+# the **grouping name** written in upper case. It may be either a component name
+# or a component GROUP name.
+#
+# Here are some CPackDeb wiki resources that are here for historic reasons and
+# are no longer maintained but may still prove useful:
+#
+#  - https://cmake.org/Wiki/CMake:CPackConfiguration
+#  - https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29
+#
+# List of CPackDEB specific variables:
+#
+# .. variable:: CPACK_DEB_COMPONENT_INSTALL
+#
+#  Enable component packaging for CPackDEB
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+#  If enabled (ON) multiple packages are generated. By default a single package
+#  containing files of all components is generated.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_NAME
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
+#
+#  Set Package control field (variable is automatically transformed to lower
+#  case).
+#
+#  * Mandatory : YES
+#  * Default   :
+#
+#    - :variable:`CPACK_PACKAGE_NAME` for non-component based
+#      installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
+#      for component-based installations.
+#
+#  See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
+#
+# .. variable:: CPACK_DEBIAN_FILE_NAME
+#               CPACK_DEBIAN_<COMPONENT>_FILE_NAME
+#
+#  Package file name.
+#
+#  * Mandatory : YES
+#  * Default   : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].deb``
+#
+#  This may be set to ``DEB-DEFAULT`` to allow CPackDeb to generate package file
+#  name by itself in deb format::
+#
+#    <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
+#
+#  Alternatively provided package file name must end
+#  with either ``.deb`` or ``.ipk`` suffix.
+#
+#  .. note::
+#
+#    Preferred setting of this variable is ``DEB-DEFAULT`` but for backward
+#    compatibility with CPackDeb in CMake prior to version 3.6 this feature
+#    is disabled by default.
+#
+#  .. note::
+#
+#    By using non default filenames duplicate names may occur. Duplicate files
+#    get overwritten and it is up to the packager to set the variables in a
+#    manner that will prevent such errors.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_EPOCH
+#
+#  The Debian package epoch
+#
+#  * Mandatory : No
+#  * Default   : -
+#
+#  Optional number that should be incremented when changing versioning schemas
+#  or fixing mistakes in the version numbers of older packages.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_VERSION
+#
+#  The Debian package version
+#
+#  * Mandatory : YES
+#  * Default   : :variable:`CPACK_PACKAGE_VERSION`
+#
+#  This variable may contain only alphanumerics (A-Za-z0-9) and the characters
+#  . + - ~ (full stop, plus, hyphen, tilde) and should start with a digit. If
+#  :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` is not set then hyphens are not
+#  allowed.
+#
+#  .. note::
+#
+#    For backward compatibility with CMake 3.9 and lower a failed test of this
+#    variable's content is not a hard error when both
+#    :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` and
+#    :variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables are not set. An author
+#    warning is reported instead.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_RELEASE
+#
+#  The Debian package release - Debian revision number.
+#
+#  * Mandatory : No
+#  * Default   : -
+#
+#  This is the numbering of the DEB package itself, i.e. the version of the
+#  packaging and not the version of the content (see
+#  :variable:`CPACK_DEBIAN_PACKAGE_VERSION`). One may change the default value
+#  if the previous packaging was buggy and/or you want to put here a fancy Linux
+#  distro specific numbering.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_ARCHITECTURE
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
+#
+#  The Debian package architecture
+#
+#  * Mandatory : YES
+#  * Default   : Output of :code:`dpkg --print-architecture` (or :code:`i386`
+#    if :code:`dpkg` is not found)
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
+#
+#  Sets the Debian dependencies of this package.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based
+#      installations.
+#
+#  .. note::
+#
+#    If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or
+#    more specifically :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`
+#    is set for this component, the discovered dependencies will be appended
+#    to :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` instead of
+#    :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If
+#    :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` is an empty string,
+#    only the automatically discovered dependencies will be set for this
+#    component.
+#
+#  Example::
+#
+#    set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
+#
+# .. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
+#
+#  Sets inter component dependencies if listed with
+#  :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER
+#
+#  The Debian package maintainer
+#
+#  * Mandatory : YES
+#  * Default   : :code:`CPACK_PACKAGE_CONTACT`
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION
+#               CPACK_COMPONENT_<COMPONENT>_DESCRIPTION
+#
+#  The Debian package description
+#
+#  * Mandatory : YES
+#  * Default   :
+#
+#    - :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or
+#    - :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
+#
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_SECTION
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
+#
+#  Set Section control field e.g. admin, devel, doc, ...
+#
+#  * Mandatory : YES
+#  * Default   : "devel"
+#
+#  See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
+#
+# .. variable:: CPACK_DEBIAN_ARCHIVE_TYPE
+#
+#  The archive format used for creating the Debian package.
+#
+#  * Mandatory : YES
+#  * Default   : "paxr"
+#
+#  Possible values are:
+#
+#  - paxr
+#  - gnutar
+#
+#  .. note::
+#
+#    Default pax archive format is the most portable format and generates
+#    packages that do not treat sparse files specially.
+#    GNU tar format on the other hand supports longer filenames.
+#
+# .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
+#
+#  The compression used for creating the Debian package.
+#
+#  * Mandatory : YES
+#  * Default   : "gzip"
+#
+#  Possible values are:
+#
+#  - lzma
+#  - xz
+#  - bzip2
+#  - gzip
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
+#
+#  Set Priority control field e.g. required, important, standard, optional,
+#  extra
+#
+#  * Mandatory : YES
+#  * Default   : "optional"
+#
+#  See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE
+#
+#  The URL of the web site for this package, preferably (when applicable) the
+#  site from which the original source can be obtained and any additional
+#  upstream documentation or information may be found.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  .. note::
+#
+#    The content of this field is a simple URL without any surrounding
+#    characters such as <>.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
+#
+#  May be set to ON in order to use :code:`dpkg-shlibdeps` to generate
+#  better package dependency list.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or
+#    - OFF
+#
+#  .. note::
+#
+#    You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value
+#    if you use this feature, because if you don't :code:`dpkg-shlibdeps`
+#    may fail to find your own shared libs.
+#    See https://cmake.org/Wiki/CMake_RPATH_handling.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_DEBUG
+#
+#  May be set when invoking cpack in order to trace debug information
+#  during CPackDeb run.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
+#
+#  Sets the `Pre-Depends` field of the Debian package.
+#  Like :variable:`Depends <CPACK_DEBIAN_PACKAGE_DEPENDS>`, except that it
+#  also forces :code:`dpkg` to complete installation of the packages named
+#  before even starting the installation of the package which declares the
+#  pre-dependency.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based
+#      installations.
+#
+#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
+#
+#  Sets the `Enhances` field of the Debian package.
+#  Similar to :variable:`Suggests <CPACK_DEBIAN_PACKAGE_SUGGESTS>` but works
+#  in the opposite direction: declares that a package can enhance the
+#  functionality of another package.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based
+#      installations.
+#
+#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_BREAKS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
+#
+#  Sets the `Breaks` field of the Debian package.
+#  When a binary package (P) declares that it breaks other packages (B),
+#  :code:`dpkg` will not allow the package (P) which declares `Breaks` be
+#  **unpacked** unless the packages that will be broken (B) are deconfigured
+#  first.
+#  As long as the package (P) is configured, the previously deconfigured
+#  packages (B) cannot be reconfigured again.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based
+#      installations.
+#
+#  See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
+#
+#  Sets the `Conflicts` field of the Debian package.
+#  When one binary package declares a conflict with another using a `Conflicts`
+#  field, :code:`dpkg` will not allow them to be unpacked on the system at
+#  the same time.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based
+#      installations.
+#
+#  See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
+#
+#  .. note::
+#
+#    This is a stronger restriction than
+#    :variable:`Breaks <CPACK_DEBIAN_PACKAGE_BREAKS>`, which prevents the
+#    broken package from being configured while the breaking package is in
+#    the "Unpacked" state but allows both packages to be unpacked at the same
+#    time.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_PROVIDES
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
+#
+#  Sets the `Provides` field of the Debian package.
+#  A virtual package is one which appears in the `Provides` control field of
+#  another package.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_PROVIDES` for component-based
+#      installations.
+#
+#  See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_REPLACES
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
+#
+#  Sets the `Replaces` field of the Debian package.
+#  Packages can declare in their control file that they should overwrite
+#  files in certain other packages, or completely replace other packages.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_REPLACES` for component-based
+#      installations.
+#
+#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
+#
+#  Sets the `Recommends` field of the Debian package.
+#  Allows packages to declare a strong, but not absolute, dependency on other
+#  packages.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_RECOMMENDS` for component-based
+#      installations.
+#
+#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
+#
+#  Sets the `Suggests` field of the Debian package.
+#  Allows packages to declare a suggested package install grouping.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_SUGGESTS` for component-based
+#      installations.
+#
+#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+#  Allows to generate shlibs control file automatically. Compatibility is defined by
+#  :variable:`CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY` variable value.
+#
+#  .. note::
+#
+#    Libraries are only considered if they have both library name and version
+#    set. This can be done by setting SOVERSION property with
+#    :command:`set_target_properties` command.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
+#
+#  Compatibility policy for auto-generated shlibs control file.
+#
+#  * Mandatory : NO
+#  * Default   : "="
+#
+#  Defines compatibility policy for auto-generated shlibs control file.
+#  Possible values: "=", ">="
+#
+#  See https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
+#
+#  This variable allow advanced user to add custom script to the
+#  control.tar.gz.
+#  Typical usage is for conffiles, postinst, postrm, prerm.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  Usage::
+#
+#   set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+#       "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
+#
+#  .. note::
+#
+#    The original permissions of the files will be used in the final
+#    package unless the variable
+#    :variable:`CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION` is set.
+#    In particular, the scripts should have the proper executable
+#    flag prior to the generation of the package.
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
+#
+#  This variable indicates if the Debian policy on control files should be
+#  strictly followed.
+#
+#  * Mandatory : NO
+#  * Default   : FALSE
+#
+#  Usage::
+#
+#   set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
+#
+#  .. note::
+#
+#    This overrides the permissions on the original files, following the rules
+#    set by Debian policy
+#    https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
+#
+# .. variable:: CPACK_DEBIAN_PACKAGE_SOURCE
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
+#
+#  Sets the ``Source`` field of the binary Debian package.
+#  When the binary package name is not the same as the source package name
+#  (in particular when several components/binaries are generated from one
+#  source) the source from which the binary has been generated should be
+#  indicated with the field ``Source``.
+#
+#  * Mandatory : NO
+#  * Default   :
+#
+#    - An empty string for non-component based installations
+#    - :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based
+#      installations.
+#
+#  See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
+#
+#  .. note::
+#
+#    This value is not interpreted. It is possible to pass an optional
+#    revision number of the referenced source package as well.
+#
+# Building Debian packages on Windows
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# To communicate UNIX file permissions from the install stage
+# to the CPack DEB generator the "cmake_mode_t" NTFS
+# alternate data stream (ADT) is used.
+#
+# When a filesystem without ADT support is used only owner read/write
+# permissions can be preserved.
+
+# CPack script for creating Debian package
+# Author: Mathieu Malaterre
+#
+# http://wiki.debian.org/HowToPackageForDebian
+
+if(CMAKE_BINARY_DIR)
+  message(FATAL_ERROR "CPackDeb.cmake may only be used by CPack internally.")
+endif()
+
+function(cpack_deb_variable_fallback OUTPUT_VAR_NAME)
+  set(FALLBACK_VAR_NAMES ${ARGN})
+
+  foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
+    if(${variable_name})
+      set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
+      break()
+    endif()
+  endforeach()
+endfunction()
+
+function(get_component_package_name var component)
+  string(TOUPPER "${component}" component_upcase)
+  if(CPACK_DEBIAN_${component_upcase}_PACKAGE_NAME)
+    string(TOLOWER "${CPACK_DEBIAN_${component_upcase}_PACKAGE_NAME}" package_name)
+  else()
+    string(TOLOWER "${CPACK_DEBIAN_PACKAGE_NAME}-${component}" package_name)
+  endif()
+
+  set("${var}" "${package_name}" PARENT_SCOPE)
+endfunction()
+
+#extract library name and version for given shared object
+function(extract_so_info shared_object libname version)
+  if(READELF_EXECUTABLE)
+    execute_process(COMMAND "${READELF_EXECUTABLE}" -d "${shared_object}"
+      WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+      RESULT_VARIABLE result
+      OUTPUT_VARIABLE output
+      ERROR_QUIET
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if(result EQUAL 0)
+      string(REGEX MATCH "\\(SONAME\\)[^\n]*\\[([^\n]+)\\.so\\.([^\n]*)\\]" soname "${output}")
+      set(${libname} "${CMAKE_MATCH_1}" PARENT_SCOPE)
+      set(${version} "${CMAKE_MATCH_2}" PARENT_SCOPE)
+    else()
+      message(WARNING "Error running readelf for \"${shared_object}\"")
+    endif()
+  else()
+    message(FATAL_ERROR "Readelf utility is not available.")
+  endif()
+endfunction()
+
+function(cpack_deb_prepare_package_vars)
+  # CPACK_DEBIAN_PACKAGE_SHLIBDEPS
+  # If specify OFF, only user depends are used
+  if(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+    set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
+  endif()
+
+  set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_PATH}")
+
+  # per component automatic discover: some of the component might not have
+  # binaries.
+  if(CPACK_DEB_PACKAGE_COMPONENT)
+    string(TOUPPER "${CPACK_DEB_PACKAGE_COMPONENT}" _local_component_name)
+    set(_component_shlibdeps_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_SHLIBDEPS")
+
+    # if set, overrides the global configuration
+    if(DEFINED ${_component_shlibdeps_var})
+      set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "${${_component_shlibdeps_var}}")
+      if(CPACK_DEBIAN_PACKAGE_DEBUG)
+        message("CPackDeb Debug: component '${CPACK_DEB_PACKAGE_COMPONENT}' dpkg-shlibdeps set to ${CPACK_DEBIAN_PACKAGE_SHLIBDEPS}")
+      endif()
+    endif()
+  endif()
+
+  if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OR CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS)
+    # Generating binary list - Get type of all install files
+    cmake_policy(PUSH)
+      # Tell file(GLOB_RECURSE) not to follow directory symlinks
+      # even if the project does not set this policy to NEW.
+      cmake_policy(SET CMP0009 NEW)
+      file(GLOB_RECURSE FILE_PATHS_ LIST_DIRECTORIES false RELATIVE "${WDIR}" "${WDIR}/*")
+    cmake_policy(POP)
+
+    find_program(FILE_EXECUTABLE file)
+    if(NOT FILE_EXECUTABLE)
+      message(FATAL_ERROR "CPackDeb: file utility is not available. CPACK_DEBIAN_PACKAGE_SHLIBDEPS and CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS options are not available.")
+    endif()
+
+    # get file info so that we can determine if file is executable or not
+    unset(CPACK_DEB_INSTALL_FILES)
+    foreach(FILE_ IN LISTS FILE_PATHS_)
+      execute_process(COMMAND env LC_ALL=C ${FILE_EXECUTABLE} "./${FILE_}"
+        WORKING_DIRECTORY "${WDIR}"
+        RESULT_VARIABLE FILE_RESULT_
+        OUTPUT_VARIABLE INSTALL_FILE_)
+      if(NOT FILE_RESULT_ EQUAL 0)
+        message (FATAL_ERROR "CPackDeb: execution of command: '${FILE_EXECUTABLE} ./${FILE_}' failed with exit code: ${FILE_RESULT_}")
+      endif()
+      list(APPEND CPACK_DEB_INSTALL_FILES "${INSTALL_FILE_}")
+    endforeach()
+
+    # Only dynamically linked ELF files are included
+    # Extract only file name infront of ":"
+    foreach(_FILE IN LISTS CPACK_DEB_INSTALL_FILES)
+      if(_FILE MATCHES "ELF.*dynamically linked")
+        string(REGEX MATCH "(^.*):" _FILE_NAME "${_FILE}")
+        list(APPEND CPACK_DEB_BINARY_FILES "${CMAKE_MATCH_1}")
+        set(CONTAINS_EXECUTABLE_FILES_ TRUE)
+      endif()
+      if(_FILE MATCHES "ELF.*shared object")
+        string(REGEX MATCH "(^.*):" _FILE_NAME "${_FILE}")
+        list(APPEND CPACK_DEB_SHARED_OBJECT_FILES "${CMAKE_MATCH_1}")
+      endif()
+    endforeach()
+  endif()
+
+  if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+    # dpkg-shlibdeps is a Debian utility for generating dependency list
+    find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps)
+
+    if(SHLIBDEPS_EXECUTABLE)
+      # Check version of the dpkg-shlibdeps tool using CPackDEB method
+      execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --version
+        OUTPUT_VARIABLE _TMP_VERSION
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE)
+      if(_TMP_VERSION MATCHES "dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+)")
+        set(SHLIBDEPS_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
+      else()
+        set(SHLIBDEPS_EXECUTABLE_VERSION "")
+      endif()
+
+      if(CPACK_DEBIAN_PACKAGE_DEBUG)
+        message("CPackDeb Debug: dpkg-shlibdeps --version output is '${_TMP_VERSION}'")
+        message("CPackDeb Debug: dpkg-shlibdeps version is <${SHLIBDEPS_EXECUTABLE_VERSION}>")
+      endif()
+
+      if(CONTAINS_EXECUTABLE_FILES_)
+        message("CPackDeb: - Generating dependency list")
+
+        # Create blank control file for running dpkg-shlibdeps
+        # There might be some other way to invoke dpkg-shlibdeps without creating this file
+        # but standard debian package should not have anything that can collide with this file or directory
+        file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian)
+        file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "")
+
+        # Create a DEBIAN directory so that dpkg-shlibdeps can find the package dir when resolving $ORIGIN.
+        file(MAKE_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}/DEBIAN")
+
+        # Add --ignore-missing-info if the tool supports it
+        execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --help
+          OUTPUT_VARIABLE _TMP_HELP
+          ERROR_QUIET
+          OUTPUT_STRIP_TRAILING_WHITESPACE)
+        if(_TMP_HELP MATCHES "--ignore-missing-info")
+          set(IGNORE_MISSING_INFO_FLAG "--ignore-missing-info")
+        endif()
+
+        # Execute dpkg-shlibdeps
+        # --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package
+        # -O : print to STDOUT
+        execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}
+          WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+          OUTPUT_VARIABLE SHLIBDEPS_OUTPUT
+          RESULT_VARIABLE SHLIBDEPS_RESULT
+          ERROR_VARIABLE SHLIBDEPS_ERROR
+          OUTPUT_STRIP_TRAILING_WHITESPACE )
+        if(CPACK_DEBIAN_PACKAGE_DEBUG)
+          # dpkg-shlibdeps will throw some warnings if some input files are not binary
+          message( "CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}")
+        endif()
+        if(NOT SHLIBDEPS_RESULT EQUAL 0)
+          message (FATAL_ERROR "CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}';\n"
+              "executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}';\n"
+              "found files: '${INSTALL_FILE_}';\n"
+              "files info: '${CPACK_DEB_INSTALL_FILES}';\n"
+              "binary files: '${CPACK_DEB_BINARY_FILES}'")
+        endif()
+
+        #Get rid of prefix generated by dpkg-shlibdeps
+        string(REGEX REPLACE "^.*Depends=" "" CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS "${SHLIBDEPS_OUTPUT}")
+
+        if(CPACK_DEBIAN_PACKAGE_DEBUG)
+          message("CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS} from output ${SHLIBDEPS_OUTPUT}")
+        endif()
+
+        # Remove blank control file
+        # Might not be safe if package actual contain file or directory named debian
+        file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian")
+
+        # remove temporary directory that was created only for dpkg-shlibdeps execution
+        file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/DEBIAN")
+      else()
+        if(CPACK_DEBIAN_PACKAGE_DEBUG)
+          message(AUTHOR_WARNING "CPackDeb Debug: Using only user-provided depends because package does not contain executable files that link to shared libraries.")
+        endif()
+      endif()
+    else()
+      message("CPackDeb: Using only user-provided dependencies because dpkg-shlibdeps is not found.")
+    endif()
+
+  else()
+    if(CPACK_DEBIAN_PACKAGE_DEBUG)
+      message("CPackDeb Debug: Using only user-provided dependencies")
+    endif()
+  endif()
+
+  # Let's define the control file found in debian package:
+
+  # Binary package:
+  # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-binarycontrolfiles
+
+  # DEBIAN/control
+  # debian policy enforce lower case for package name
+  # Package: (mandatory)
+  if(NOT CPACK_DEBIAN_PACKAGE_NAME)
+    string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
+  endif()
+
+  # Version: (mandatory)
+  if(NOT CPACK_DEBIAN_PACKAGE_VERSION)
+    if(NOT CPACK_PACKAGE_VERSION)
+      message(FATAL_ERROR "CPackDeb: Debian package requires a package version")
+    endif()
+    set(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
+  endif()
+
+  if(DEFINED CPACK_DEBIAN_PACKAGE_RELEASE OR DEFINED CPACK_DEBIAN_PACKAGE_EPOCH)
+    # only test the version format if CPACK_DEBIAN_PACKAGE_RELEASE or
+    # CPACK_DEBIAN_PACKAGE_EPOCH is set
+    if(NOT CPACK_DEBIAN_PACKAGE_VERSION MATCHES "^[0-9][A-Za-z0-9.+~-]*$")
+      message(FATAL_ERROR
+        "CPackDeb: Debian package version must confirm to \"^[0-9][A-Za-z0-9.+~-]*$\" regex!")
+    endif()
+  else()
+    # before CMake 3.10 version format was not tested so only warn to preserve
+    # backward compatibility
+    if(NOT CPACK_DEBIAN_PACKAGE_VERSION MATCHES "^([0-9]+:)?[0-9][A-Za-z0-9.+~-]*$")
+      message(AUTHOR_WARNING
+        "CPackDeb: Debian package versioning ([<epoch>:]<version>[-<release>])"
+        " should confirm to \"^([0-9]+:)?[0-9][A-Za-z0-9.+~-]*$\" regex in"
+        " order to satisfy Debian packaging rules.")
+    endif()
+  endif()
+
+  if(CPACK_DEBIAN_PACKAGE_RELEASE)
+    if(NOT CPACK_DEBIAN_PACKAGE_RELEASE MATCHES "^[A-Za-z0-9.+~]+$")
+      message(FATAL_ERROR
+        "CPackDeb: Debian package release must confirm to \"^[A-Za-z0-9.+~]+$\" regex!")
+    endif()
+    string(APPEND CPACK_DEBIAN_PACKAGE_VERSION
+      "-${CPACK_DEBIAN_PACKAGE_RELEASE}")
+  elseif(DEFINED CPACK_DEBIAN_PACKAGE_EPOCH)
+    # only test the version format if CPACK_DEBIAN_PACKAGE_RELEASE or
+    # CPACK_DEBIAN_PACKAGE_EPOCH is set - versions CPack/Deb generator before
+    # CMake 3.10 did not check for version format so we have to preserve
+    # backward compatibility
+    if(CPACK_DEBIAN_PACKAGE_VERSION MATCHES ".*-.*")
+      message(FATAL_ERROR
+        "CPackDeb: Debian package version must not contain hyphens when CPACK_DEBIAN_PACKAGE_RELEASE is not provided!")
+    endif()
+  endif()
+
+  if(CPACK_DEBIAN_PACKAGE_EPOCH)
+    if(NOT CPACK_DEBIAN_PACKAGE_EPOCH MATCHES "^[0-9]+$")
+      message(FATAL_ERROR
+        "CPackDeb: Debian package epoch must confirm to \"^[0-9]+$\" regex!")
+    endif()
+    set(CPACK_DEBIAN_PACKAGE_VERSION
+      "${CPACK_DEBIAN_PACKAGE_EPOCH}:${CPACK_DEBIAN_PACKAGE_VERSION}")
+  endif()
+
+  # Architecture: (mandatory)
+  if(CPACK_DEB_PACKAGE_COMPONENT AND CPACK_DEBIAN_${_local_component_name}_PACKAGE_ARCHITECTURE)
+    set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CPACK_DEBIAN_${_local_component_name}_PACKAGE_ARCHITECTURE}")
+  elseif(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
+    # There is no such thing as i686 architecture on debian, you should use i386 instead
+    # $ dpkg --print-architecture
+    find_program(DPKG_CMD dpkg)
+    if(NOT DPKG_CMD)
+      message(STATUS "CPackDeb: Can not find dpkg in your path, default to i386.")
+      set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
+    endif()
+    execute_process(COMMAND "${DPKG_CMD}" --print-architecture
+      OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      )
+  endif()
+
+  # Source: (optional)
+  # in case several packages are constructed from a unique source
+  # (multipackaging), the source may be indicated as well.
+  # The source might contain a version if the generated package
+  # version is different from the source version
+  if(NOT CPACK_DEBIAN_PACKAGE_SOURCE)
+    set(CPACK_DEBIAN_PACKAGE_SOURCE "")
+  endif()
+
+  # have a look at get_property(result GLOBAL PROPERTY ENABLED_FEATURES),
+  # this returns the successful find_package() calls, maybe this can help
+  # Depends:
+  # You should set: DEBIAN_PACKAGE_DEPENDS
+  # TODO: automate 'objdump -p | grep NEEDED'
+
+  # if per-component variable, overrides the global CPACK_DEBIAN_PACKAGE_${variable_type_}
+  # automatic dependency discovery will be performed afterwards.
+  if(CPACK_DEB_PACKAGE_COMPONENT)
+    foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION PRIORITY NAME)
+      set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${value_type_}")
+
+      # if set, overrides the global variable
+      if(DEFINED ${_component_var})
+        set(CPACK_DEBIAN_PACKAGE_${value_type_} "${${_component_var}}")
+        if(CPACK_DEBIAN_PACKAGE_DEBUG)
+          message("CPackDeb Debug: component '${_local_component_name}' ${value_type_} "
+            "value set to '${CPACK_DEBIAN_PACKAGE_${value_type_}}'")
+        endif()
+      endif()
+    endforeach()
+
+    if(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS)
+      set(COMPONENT_DEPENDS "")
+      foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS})
+        get_component_package_name(_PACK_NAME "${_PACK}")
+        if(COMPONENT_DEPENDS)
+          set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION}), ${COMPONENT_DEPENDS}")
+        else()
+          set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION})")
+        endif()
+      endforeach()
+      if(COMPONENT_DEPENDS)
+        if(CPACK_DEBIAN_PACKAGE_DEPENDS)
+          set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
+        else()
+          set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}")
+        endif()
+      endif()
+    endif()
+  endif()
+
+  # at this point, the CPACK_DEBIAN_PACKAGE_DEPENDS is properly set
+  # to the minimal dependency of the package
+  # Append automatically discovered dependencies .
+  if(NOT "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}" STREQUAL "")
+    if (CPACK_DEBIAN_PACKAGE_DEPENDS)
+      set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
+    else ()
+      set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
+    endif ()
+  endif()
+
+  if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
+    message(STATUS "CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.")
+  endif()
+
+  # Maintainer: (mandatory)
+  if(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
+    if(NOT CPACK_PACKAGE_CONTACT)
+      message(FATAL_ERROR "CPackDeb: Debian package requires a maintainer for a package, set CPACK_PACKAGE_CONTACT or CPACK_DEBIAN_PACKAGE_MAINTAINER")
+    endif()
+    set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
+  endif()
+
+  # Description: (mandatory)
+  if(NOT CPACK_DEB_PACKAGE_COMPONENT)
+    if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
+      if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+        message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION")
+      endif()
+      set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
+    endif()
+  else()
+    set(component_description_var CPACK_COMPONENT_${_local_component_name}_DESCRIPTION)
+
+    # component description overrides package description
+    if(${component_description_var})
+      set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${${component_description_var}})
+    elseif(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
+      if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+        message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION or ${component_description_var}")
+      endif()
+      set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
+    endif()
+  endif()
+
+  # Section: (recommended)
+  if(NOT CPACK_DEBIAN_PACKAGE_SECTION)
+    set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
+  endif()
+
+  # Priority: (recommended)
+  if(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
+    set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+  endif()
+
+  if(CPACK_DEBIAN_ARCHIVE_TYPE)
+    set(archive_types_ "paxr;gnutar")
+    cmake_policy(PUSH)
+      cmake_policy(SET CMP0057 NEW)
+      if(NOT CPACK_DEBIAN_ARCHIVE_TYPE IN_LIST archive_types_)
+        message(FATAL_ERROR "CPACK_DEBIAN_ARCHIVE_TYPE set to unsupported"
+          "type ${CPACK_DEBIAN_ARCHIVE_TYPE}")
+      endif()
+    cmake_policy(POP)
+  else()
+    set(CPACK_DEBIAN_ARCHIVE_TYPE "paxr")
+  endif()
+
+  # Compression: (recommended)
+  if(NOT CPACK_DEBIAN_COMPRESSION_TYPE)
+    set(CPACK_DEBIAN_COMPRESSION_TYPE "gzip")
+  endif()
+
+  # Recommends:
+  # You should set: CPACK_DEBIAN_PACKAGE_RECOMMENDS
+
+  # Suggests:
+  # You should set: CPACK_DEBIAN_PACKAGE_SUGGESTS
+
+  # CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+  # This variable allow advanced user to add custom script to the control.tar.gz (inside the .deb archive)
+  # Typical examples are:
+  # - conffiles
+  # - postinst
+  # - postrm
+  # - prerm
+  # Usage:
+  # set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+  #    "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
+
+  # Are we packaging components ?
+  if(CPACK_DEB_PACKAGE_COMPONENT)
+    # override values with per component version if set
+    foreach(VAR_NAME_ "PACKAGE_CONTROL_EXTRA" "PACKAGE_CONTROL_STRICT_PERMISSION")
+      if(CPACK_DEBIAN_${_local_component_name}_${VAR_NAME_})
+        set(CPACK_DEBIAN_${VAR_NAME_} "${CPACK_DEBIAN_${_local_component_name}_${VAR_NAME_}}")
+      endif()
+    endforeach()
+    get_component_package_name(CPACK_DEBIAN_PACKAGE_NAME ${_local_component_name})
+  endif()
+
+  set(CPACK_DEBIAN_PACKAGE_SHLIBS_LIST "")
+
+  if (NOT CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY)
+    set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY "=")
+  endif()
+
+  find_program(READELF_EXECUTABLE NAMES readelf)
+
+  if(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS)
+    if(READELF_EXECUTABLE)
+      foreach(_FILE IN LISTS CPACK_DEB_SHARED_OBJECT_FILES)
+        extract_so_info("${_FILE}" libname soversion)
+        if(libname AND soversion)
+          list(APPEND CPACK_DEBIAN_PACKAGE_SHLIBS_LIST
+               "${libname} ${soversion} ${CPACK_DEBIAN_PACKAGE_NAME} (${CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY} ${CPACK_DEBIAN_PACKAGE_VERSION})")
+        else()
+          message(AUTHOR_WARNING "Shared library '${_FILE}' is missing soname or soversion. Library will not be added to DEBIAN/shlibs control file.")
+        endif()
+      endforeach()
+      if (CPACK_DEBIAN_PACKAGE_SHLIBS_LIST)
+        string(REPLACE ";" "\n" CPACK_DEBIAN_PACKAGE_SHLIBS_LIST "${CPACK_DEBIAN_PACKAGE_SHLIBS_LIST}")
+      endif()
+    else()
+      message(FATAL_ERROR "Readelf utility is not available. CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS option is not available.")
+    endif()
+  endif()
+
+  # add ldconfig call in default postrm and postint
+  set(CPACK_ADD_LDCONFIG_CALL 0)
+  foreach(_FILE ${CPACK_DEB_SHARED_OBJECT_FILES})
+    get_filename_component(_DIR ${_FILE} DIRECTORY)
+    # all files in CPACK_DEB_SHARED_OBJECT_FILES have dot at the beginning
+    if(_DIR STREQUAL "./lib" OR _DIR STREQUAL "./usr/lib")
+      set(CPACK_ADD_LDCONFIG_CALL 1)
+    endif()
+  endforeach()
+
+  if(CPACK_ADD_LDCONFIG_CALL)
+    set(CPACK_DEBIAN_GENERATE_POSTINST 1)
+    set(CPACK_DEBIAN_GENERATE_POSTRM 1)
+    foreach(f ${PACKAGE_CONTROL_EXTRA})
+      get_filename_component(n "${f}" NAME)
+      if("${n}" STREQUAL "postinst")
+        set(CPACK_DEBIAN_GENERATE_POSTINST 0)
+      endif()
+      if("${n}" STREQUAL "postrm")
+        set(CPACK_DEBIAN_GENERATE_POSTRM 0)
+      endif()
+    endforeach()
+  else()
+    set(CPACK_DEBIAN_GENERATE_POSTINST 0)
+    set(CPACK_DEBIAN_GENERATE_POSTRM 0)
+  endif()
+
+  cpack_deb_variable_fallback("CPACK_DEBIAN_FILE_NAME"
+    "CPACK_DEBIAN_${_local_component_name}_FILE_NAME"
+    "CPACK_DEBIAN_FILE_NAME")
+  if(CPACK_DEBIAN_FILE_NAME)
+    if(CPACK_DEBIAN_FILE_NAME STREQUAL "DEB-DEFAULT")
+      # Patch package file name to be in corrent debian format:
+      # <foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
+      set(CPACK_OUTPUT_FILE_NAME
+        "${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_DEBIAN_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb")
+    else()
+      cmake_policy(PUSH)
+        cmake_policy(SET CMP0010 NEW)
+        if(NOT CPACK_DEBIAN_FILE_NAME MATCHES ".*\\.(deb|ipk)")
+      cmake_policy(POP)
+          message(FATAL_ERROR "'${CPACK_DEBIAN_FILE_NAME}' is not a valid DEB package file name as it must end with '.deb' or '.ipk'!")
+        endif()
+      cmake_policy(POP)
+
+      set(CPACK_OUTPUT_FILE_NAME "${CPACK_DEBIAN_FILE_NAME}")
+    endif()
+
+    set(CPACK_TEMPORARY_PACKAGE_FILE_NAME "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_OUTPUT_FILE_NAME}")
+    get_filename_component(BINARY_DIR "${CPACK_OUTPUT_FILE_PATH}" DIRECTORY)
+    set(CPACK_OUTPUT_FILE_PATH "${BINARY_DIR}/${CPACK_OUTPUT_FILE_NAME}")
+  endif() # else() back compatibility - don't change the name
+
+  # Print out some debug information if we were asked for that
+  if(CPACK_DEBIAN_PACKAGE_DEBUG)
+     message("CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY          = '${CPACK_TOPLEVEL_DIRECTORY}'")
+     message("CPackDeb:Debug: CPACK_TOPLEVEL_TAG                = '${CPACK_TOPLEVEL_TAG}'")
+     message("CPackDeb:Debug: CPACK_TEMPORARY_DIRECTORY         = '${CPACK_TEMPORARY_DIRECTORY}'")
+     message("CPackDeb:Debug: CPACK_OUTPUT_FILE_NAME            = '${CPACK_OUTPUT_FILE_NAME}'")
+     message("CPackDeb:Debug: CPACK_OUTPUT_FILE_PATH            = '${CPACK_OUTPUT_FILE_PATH}'")
+     message("CPackDeb:Debug: CPACK_PACKAGE_FILE_NAME           = '${CPACK_PACKAGE_FILE_NAME}'")
+     message("CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY   = '${CPACK_PACKAGE_INSTALL_DIRECTORY}'")
+     message("CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = '${CPACK_TEMPORARY_PACKAGE_FILE_NAME}'")
+     message("CPackDeb:Debug: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION = '${CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION}'")
+     message("CPackDeb:Debug: CPACK_DEBIAN_PACKAGE_SOURCE       = '${CPACK_DEBIAN_PACKAGE_SOURCE}'")
+  endif()
+
+  # For debian source packages:
+  # debian/control
+  # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-sourcecontrolfiles
+
+  # .dsc
+  # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-debiansourcecontrolfiles
+
+  # Builds-Depends:
+  #if(NOT CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS)
+  #  set(CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS
+  #    "debhelper (>> 5.0.0), libncurses5-dev, tcl8.4"
+  #  )
+  #endif()
+
+  # move variables to parent scope so that they may be used to create debian package
+  set(GEN_CPACK_OUTPUT_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}" PARENT_SCOPE)
+  set(GEN_CPACK_TEMPORARY_PACKAGE_FILE_NAME "${CPACK_TEMPORARY_PACKAGE_FILE_NAME}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_NAME "${CPACK_DEBIAN_PACKAGE_NAME}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_DEBIAN_PACKAGE_VERSION}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_SECTION "${CPACK_DEBIAN_PACKAGE_SECTION}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_PRIORITY "${CPACK_DEBIAN_PACKAGE_PRIORITY}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_DEBIAN_PACKAGE_MAINTAINER}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_PACKAGE_DESCRIPTION}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_ARCHIVE_TYPE "${CPACK_DEBIAN_ARCHIVE_TYPE}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_COMPRESSION_TYPE "${CPACK_DEBIAN_COMPRESSION_TYPE}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_RECOMMENDS "${CPACK_DEBIAN_PACKAGE_RECOMMENDS}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_SUGGESTS "${CPACK_DEBIAN_PACKAGE_SUGGESTS}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CPACK_DEBIAN_PACKAGE_HOMEPAGE}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_PREDEPENDS "${CPACK_DEBIAN_PACKAGE_PREDEPENDS}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_ENHANCES "${CPACK_DEBIAN_PACKAGE_ENHANCES}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_BREAKS "${CPACK_DEBIAN_PACKAGE_BREAKS}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_CONFLICTS "${CPACK_DEBIAN_PACKAGE_CONFLICTS}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_PROVIDES "${CPACK_DEBIAN_PACKAGE_PROVIDES}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_REPLACES "${CPACK_DEBIAN_PACKAGE_REPLACES}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_SHLIBS "${CPACK_DEBIAN_PACKAGE_SHLIBS_LIST}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
+      "${CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_PACKAGE_SOURCE
+     "${CPACK_DEBIAN_PACKAGE_SOURCE}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_GENERATE_POSTINST "${CPACK_DEBIAN_GENERATE_POSTINST}" PARENT_SCOPE)
+  set(GEN_CPACK_DEBIAN_GENERATE_POSTRM "${CPACK_DEBIAN_GENERATE_POSTRM}" PARENT_SCOPE)
+  set(GEN_WDIR "${WDIR}" PARENT_SCOPE)
+endfunction()
+
+cpack_deb_prepare_package_vars()
diff --git a/share/cmake-3.10/Modules/CPackFreeBSD.cmake b/share/cmake-3.10/Modules/CPackFreeBSD.cmake
new file mode 100644
index 0000000..7fec78a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackFreeBSD.cmake
@@ -0,0 +1,246 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CPackFreeBSD
+------------
+
+The built in (binary) CPack FreeBSD (pkg) generator (Unix only)
+
+Variables specific to CPack FreeBSD (pkg) generator
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+CPackFreeBSD may be used to create pkg(8) packages -- these may be used
+on FreeBSD, DragonflyBSD, NetBSD, OpenBSD, but also on Linux or OSX,
+depending on the installed package-management tools -- using :module:`CPack`.
+
+CPackFreeBSD is a :module:`CPack` generator and uses the ``CPACK_XXX``
+variables used by :module:`CPack`. It tries to re-use packaging information
+that may already be specified for Debian packages for the :module:`CPackDeb`
+generator. it also tries to re-use RPM packaging information when Debian
+does not specify.
+
+CPackFreeBSD generator should work on any host with libpkg installed. The
+packages it produces are specific to the host architecture and ABI.
+
+CPackFreeBSD sets package-metadata through :code:`CPACK_FREEBSD_XXX` variables.
+CPackFreeBSD, unlike CPackDeb, does not specially support componentized
+packages; a single package is created from all the software artifacts
+created through CMake.
+
+All of the variables can be set specifically for FreeBSD packaging in
+the CPackConfig file or in CMakeLists.txt, but most of them have defaults
+that use general settings (e.g. CMAKE_PROJECT_NAME) or Debian-specific
+variables when those make sense (e.g. the homepage of an upstream project
+is usually unchanged by the flavor of packaging). When there is no Debian
+information to fall back on, but the RPM packaging has it, fall back to
+the RPM information (e.g. package license).
+
+.. variable:: CPACK_FREEBSD_PACKAGE_NAME
+
+  Sets the package name (in the package manifest, but also affects the
+  output filename).
+
+  * Mandatory: YES
+  * Default:
+
+    - :variable:`CPACK_PACKAGE_NAME` (this is always set by CPack itself,
+      based on CMAKE_PROJECT_NAME).
+
+.. variable:: CPACK_FREEBSD_PACKAGE_COMMENT
+
+  Sets the package comment. This is the short description displayed by
+  pkg(8) in standard "pkg info" output.
+
+  * Mandatory: YES
+  * Default:
+
+    - :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` (this is always set
+      by CPack itself, if nothing else sets it explicitly).
+    - :variable:`PROJECT_DESCRIPTION` (this can be set with the DESCRIPTION
+      parameter for :command:`project`).
+
+.. variable:: CPACK_FREEBSD_PACKAGE_DESCRIPTION
+
+  Sets the package description. This is the long description of the package,
+  given by "pkg info" with a specific package as argument.
+
+  * Mandatory: YES
+  * Default:
+
+    - :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` (this may be set already
+      for Debian packaging, so we may as well re-use it).
+
+.. variable:: CPACK_FREEBSD_PACKAGE_WWW
+
+  The URL of the web site for this package, preferably (when applicable) the
+  site from which the original source can be obtained and any additional
+  upstream documentation or information may be found.
+
+  * Mandatory: YES
+  * Default:
+
+   - :variable:`CPACK_DEBIAN_PACKAGE_HOMEPAGE` (this may be set already
+     for Debian packaging, so we may as well re-use it).
+
+.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE
+
+  The license, or licenses, which apply to this software package. This must
+  be one or more license-identifiers that pkg recognizes as acceptable license
+  identifiers (e.g. "GPLv2").
+
+  * Mandatory: YES
+  * Default:
+
+    - :variable:`CPACK_RPM_PACKAGE_LICENSE`
+
+.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC
+
+  This variable is only of importance if there is more than one license.
+  The default is "single", which is only applicable to a single license.
+  Other acceptable values are determined by pkg -- those are "dual" or "multi" --
+  meaning choice (OR) or simultaneous (AND) application of the licenses.
+
+  * Mandatory: NO
+  * Default: single
+
+.. variable:: CPACK_FREEBSD_PACKAGE_MAINTAINER
+
+  The FreeBSD maintainer (e.g. kde@freebsd.org) of this package.
+
+  * Mandatory: YES
+  * Default: none
+
+.. variable:: CPACK_FREEBSD_PACKAGE_ORIGIN
+
+  The origin (ports label) of this package; for packages built by CPack
+  outside of the ports system this is of less importance. The default
+  puts the package somewhere under misc/, as a stopgap.
+
+  * Mandatory: YES
+  * Default: misc/<package name>
+
+.. variable:: CPACK_FREEBSD_PACKAGE_CATEGORIES
+
+  The ports categories where this package lives (if it were to be built
+  from ports). If none is set a single category is determined based on
+  the package origin.
+
+  * Mandatory: YES
+  * Default: derived from ORIGIN
+
+.. variable:: CPACK_FREEBSD_PACKAGE_DEPS
+
+  A list of package origins that should be added as package dependencies.
+  These are in the form <category>/<packagename>, e.g. x11/libkonq.
+  No version information needs to be provided (this is not included
+  in the manifest).
+
+  * Mandatory: NO
+  * Default: empty
+#]=======================================================================]
+
+
+
+if(CMAKE_BINARY_DIR)
+  message(FATAL_ERROR "CPackFreeBSD.cmake may only be used by CPack internally.")
+endif()
+
+if(NOT UNIX)
+  message(FATAL_ERROR "CPackFreeBSD.cmake may only be used under UNIX.")
+endif()
+
+
+###
+#
+# These bits are copied from the Debian packaging file; slightly modified.
+# They are used for filling in FreeBSD-packaging variables that can take
+# on values from elsewhere -- e.g. the package description may as well be
+# copied from Debian.
+#
+function(_cpack_freebsd_fallback_var OUTPUT_VAR_NAME)
+  set(FALLBACK_VAR_NAMES ${ARGN})
+
+  set(VALUE "${${OUTPUT_VAR_NAME}}")
+  if(VALUE)
+    return()
+  endif()
+
+  foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
+    if(${variable_name})
+      set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
+      set(VALUE "${${variable_name}}")
+      break()
+    endif()
+  endforeach()
+  if(NOT VALUE)
+    message(WARNING "Variable ${OUTPUT_VAR_NAME} could not be given a fallback value from any variable ${FALLBACK_VAR_NAMES}.")
+  endif()
+endfunction()
+
+function(check_required_var VAR_NAME)
+  if(NOT ${VAR_NAME})
+    message(FATAL_ERROR "Variable ${VAR_NAME} is not set.")
+  endif()
+endfunction()
+
+set(_cpack_freebsd_fallback_origin "misc/bogus")
+
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_NAME"
+    "CPACK_PACKAGE_NAME"
+    "CMAKE_PROJECT_NAME"
+    )
+
+set(_cpack_freebsd_fallback_www "http://example.com/?pkg=${CPACK_FREEBSD_PACKAGE_NAME}")
+
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_COMMENT"
+    "CPACK_PACKAGE_DESCRIPTION_SUMMARY"
+    )
+
+# TODO: maybe read the PACKAGE_DESCRIPTION file for the longer
+#       FreeBSD pkg-descr?
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_DESCRIPTION"
+    "CPACK_DEBIAN_PACKAGE_DESCRIPTION"
+    "CPACK_PACKAGE_DESCRIPTION_SUMMARY"
+    "PACKAGE_DESCRIPTION"
+    )
+
+# 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"
+    "CPACK_DEBIAN_PACKAGE_HOMEPAGE"
+    "_cpack_freebsd_fallback_www"
+    )
+
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_VERSION"
+    "CMAKE_PROJECT_VERSION"
+    "${CMAKE_PROJECT_NAME}_VERSION"
+    "PROJECT_VERSION"
+    "CPACK_PACKAGE_VERSION"
+    "CPACK_PACKAGE_VERSION"
+    )
+
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_MAINTAINER"
+    "CPACK_PACKAGE_CONTACT"
+    )
+
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_LICENSE"
+    "CPACK_RPM_PACKAGE_LICENSE"
+    )
+
+_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_ORIGIN"
+  "_cpack_freebsd_fallback_origin"
+  )
+
+if(NOT CPACK_FREEBSD_PACKAGE_CATEGORIES)
+  string(REGEX REPLACE "/.*" "" CPACK_FREEBSD_PACKAGE_CATEGORIES ${CPACK_FREEBSD_PACKAGE_ORIGIN})
+endif()
+
+check_required_var("CPACK_FREEBSD_PACKAGE_NAME")
+check_required_var("CPACK_FREEBSD_PACKAGE_ORIGIN")
+check_required_var("CPACK_FREEBSD_PACKAGE_VERSION")
+check_required_var("CPACK_FREEBSD_PACKAGE_MAINTAINER")
+check_required_var("CPACK_FREEBSD_PACKAGE_COMMENT")
+check_required_var("CPACK_FREEBSD_PACKAGE_DESCRIPTION")
+check_required_var("CPACK_FREEBSD_PACKAGE_WWW")
+check_required_var("CPACK_FREEBSD_PACKAGE_LICENSE")
diff --git a/share/cmake-3.10/Modules/CPackIFW.cmake b/share/cmake-3.10/Modules/CPackIFW.cmake
new file mode 100644
index 0000000..8d8b070
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackIFW.cmake
@@ -0,0 +1,1074 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackIFW
+# --------
+#
+# .. _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_).
+#
+# The module also defines several commands to control the behavior of the
+# CPack ``IFW`` generator.
+#
+#
+# Overview
+# ^^^^^^^^
+#
+# CPack ``IFW`` generator helps you to create online and offline
+# binary cross-platform installers with a graphical user interface.
+#
+# CPack IFW generator prepares project installation and generates configuration
+# and meta information for QtIFW_ tools.
+#
+# The QtIFW_ provides a set of tools and utilities to create
+# installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
+# and Mac OS X.
+#
+# You should also install QtIFW_ to use CPack ``IFW`` generator.
+#
+# 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,
+# 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.
+#
+#  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
+#  suite.
+#
+# .. note::
+#   The specified path should not contain "bin" at the end
+#   (for example: "D:\\DevTools\\QtIFW2.0.5").
+#
+# The :variable:`CPACK_IFW_ROOT` variable has a higher priority and overrides
+# the value of the :variable:`QTIFWDIR` variable.
+#
+# Internationalization
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# 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
+# 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.
+#
+# Localization of the description of your components and groups is useful for
+# users of your installers.
+#
+# A localized variable or argument can contain a single default value, and a
+# set of pairs the name of the locale and the localized value.
+#
+# For example:
+#
+# .. code-block:: cmake
+#
+#    set(LOCALIZABLE_VARIABLE "Default value"
+#      en "English value"
+#      en_US "American value"
+#      en_GB "Great Britain value"
+#      )
+#
+# Variables
+# ^^^^^^^^^
+#
+# You can use the following variables to change behavior of CPack ``IFW``
+# generator.
+#
+# Debug
+# """"""
+#
+# .. variable:: CPACK_IFW_VERBOSE
+#
+#  Set to ``ON`` to enable addition debug output.
+#  By default is ``OFF``.
+#
+# Package
+# """""""
+#
+# .. variable:: CPACK_IFW_PACKAGE_TITLE
+#
+#  Name of the installer as displayed on the title bar.
+#  By default used :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
+#
+# .. variable:: CPACK_IFW_PACKAGE_PUBLISHER
+#
+#  Publisher of the software (as shown in the Windows Control Panel).
+#  By default used :variable:`CPACK_PACKAGE_VENDOR`.
+#
+# .. variable:: CPACK_IFW_PRODUCT_URL
+#
+#  URL to a page that contains product information on your web site.
+#
+# .. variable:: CPACK_IFW_PACKAGE_ICON
+#
+#  Filename for a custom installer icon. The actual file is '.icns' (Mac OS X),
+#  '.ico' (Windows). No functionality on Unix.
+#
+# .. variable:: CPACK_IFW_PACKAGE_WINDOW_ICON
+#
+#  Filename for a custom window icon in PNG format for the Installer
+#  application.
+#
+# .. variable:: CPACK_IFW_PACKAGE_LOGO
+#
+#  Filename for a logo is used as QWizard::LogoPixmap.
+#
+# .. variable:: CPACK_IFW_PACKAGE_WATERMARK
+#
+#  Filename for a watermark is used as QWizard::WatermarkPixmap.
+#
+# .. variable:: CPACK_IFW_PACKAGE_BANNER
+#
+#  Filename for a banner is used as QWizard::BannerPixmap.
+#
+# .. variable:: CPACK_IFW_PACKAGE_BACKGROUND
+#
+#  Filename for an image used as QWizard::BackgroundPixmap (only used by MacStyle).
+#
+# .. variable:: CPACK_IFW_PACKAGE_WIZARD_STYLE
+#
+#  Wizard style to be used ("Modern", "Mac", "Aero" or "Classic").
+#
+# .. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
+#
+#  Default width of the wizard in pixels. Setting a banner image will override this.
+#
+# .. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
+#
+#  Default height of the wizard in pixels. Setting a watermark image will override this.
+#
+# .. variable:: CPACK_IFW_PACKAGE_TITLE_COLOR
+#
+#  Color of the titles and subtitles (takes an HTML color code, such as "#88FF33").
+#
+# .. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
+#
+#  Name of the default program group for the product in the Windows Start menu.
+#
+#  By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
+#
+# .. variable:: CPACK_IFW_TARGET_DIRECTORY
+#
+#  Default target directory for installation.
+#  By default used
+#  "@ApplicationsDir@/:variable:`CPACK_PACKAGE_INSTALL_DIRECTORY`"
+#
+#  You can use predefined variables.
+#
+# .. variable:: CPACK_IFW_ADMIN_TARGET_DIRECTORY
+#
+#  Default target directory for installation with administrator rights.
+#
+#  You can use predefined variables.
+#
+# .. variable:: CPACK_IFW_PACKAGE_GROUP
+#
+#  The group, which will be used to configure the root package
+#
+# .. variable:: CPACK_IFW_PACKAGE_NAME
+#
+#  The root package name, which will be used if configuration group is not
+#  specified
+#
+# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
+#
+#  Filename of the generated maintenance tool.
+#  The platform-specific executable file extension is appended.
+#
+#  By default used QtIFW_ defaults (``maintenancetool``).
+#
+# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
+#
+#  Filename for the configuration of the generated maintenance tool.
+#
+#  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.
+#
+# .. 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.
+#
+# .. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
+#
+#  Filename for a custom installer control script.
+#
+# .. variable:: CPACK_IFW_PACKAGE_RESOURCES
+#
+#  List of additional resources ('.qrc' files) to include in the installer
+#  binary.
+#
+#  You can use :command:`cpack_ifw_add_package_resources` command to resolve
+#  relative paths.
+#
+# .. variable:: CPACK_IFW_PACKAGE_FILE_EXTENSION
+#
+#  The target binary extension.
+#
+#  On Linux, the name of the target binary is automatically extended with
+#  '.run', if you do not specify the extension.
+#
+#  On Windows, the target is created as an application with the extension
+#  '.exe', which is automatically added, if not supplied.
+#
+#  On Mac, the target is created as an DMG disk image with the extension
+#  '.dmg', which is automatically added, if not supplied.
+#
+# .. variable:: CPACK_IFW_REPOSITORIES_ALL
+#
+#  The list of remote repositories.
+#
+#  The default value of this variable is computed by CPack and contains
+#  all repositories added with command :command:`cpack_ifw_add_repository`
+#  or updated with command :command:`cpack_ifw_update_repository`.
+#
+# .. variable:: CPACK_IFW_DOWNLOAD_ALL
+#
+#  If this is ``ON`` all components will be downloaded.
+#  By default is ``OFF`` or used value
+#  from ``CPACK_DOWNLOAD_ALL`` if set
+#
+# Components
+# """"""""""
+#
+# .. variable:: CPACK_IFW_RESOLVE_DUPLICATE_NAMES
+#
+#  Resolve duplicate names when installing components with groups.
+#
+# .. variable:: CPACK_IFW_PACKAGES_DIRECTORIES
+#
+#  Additional prepared packages dirs that will be used to resolve
+#  dependent components.
+#
+# .. variable:: CPACK_IFW_REPOSITORIES_DIRECTORIES
+#
+#  Additional prepared repository dirs that will be used to resolve and
+#  repack dependent components. This feature available only
+#  since QtIFW_ 3.1.
+#
+# Tools
+# """""
+#
+# .. variable:: CPACK_IFW_FRAMEWORK_VERSION
+#
+#  The version of used QtIFW_ tools.
+#
+# .. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
+#
+#  The path to "binarycreator" command line client.
+#
+#  This variable is cached and may be configured if needed.
+#
+# .. variable:: CPACK_IFW_REPOGEN_EXECUTABLE
+#
+#  The path to "repogen" command line client.
+#
+#  This variable is cached and may be configured if needed.
+#
+# .. variable:: CPACK_IFW_INSTALLERBASE_EXECUTABLE
+#
+#  The path to "installerbase" installer executable base.
+#
+#  This variable is cached and may be configured if needed.
+#
+# .. variable:: CPACK_IFW_DEVTOOL_EXECUTABLE
+#
+#  The path to "devtool" command line client.
+#
+#  This variable is cached and may be configured if needed.
+#
+# Commands
+# ^^^^^^^^^
+#
+# The module defines the following commands:
+#
+# .. command:: cpack_ifw_configure_component
+#
+#   Sets the arguments specific to the CPack IFW generator.
+#
+#   ::
+#
+#     cpack_ifw_configure_component(<compname> [COMMON] [ESSENTIAL] [VIRTUAL]
+#                         [FORCED_INSTALLATION] [REQUIRES_ADMIN_RIGHTS]
+#                         [NAME <name>]
+#                         [DISPLAY_NAME <display_name>] # Note: Internationalization supported
+#                         [DESCRIPTION <description>] # Note: Internationalization supported
+#                         [UPDATE_TEXT <update_text>]
+#                         [VERSION <version>]
+#                         [RELEASE_DATE <release_date>]
+#                         [SCRIPT <script>]
+#                         [PRIORITY|SORTING_PRIORITY <sorting_priority>] # Note: PRIORITY is deprecated
+#                         [DEPENDS|DEPENDENCIES <com_id> ...]
+#                         [AUTO_DEPEND_ON <comp_id> ...]
+#                         [LICENSES <display_name> <file_path> ...]
+#                         [DEFAULT <value>]
+#                         [USER_INTERFACES <file_path> <file_path> ...]
+#                         [TRANSLATIONS <file_path> <file_path> ...]
+#                         [REPLACES <comp_id> ...]
+#                         [CHECKABLE <value>])
+#
+#   This command should be called after :command:`cpack_add_component` command.
+#
+#   ``COMMON``
+#     if set, then the component will be packaged and installed as part
+#     of a group to which it belongs.
+#
+#   ``ESSENTIAL``
+#     if set, then the package manager stays disabled until that
+#     component is updated.
+#
+#   ``VIRTUAL``
+#     if set, then the component will be hidden from the installer.
+#     It is a equivalent of the ``HIDDEN`` option from the
+#     :command:`cpack_add_component` command.
+#
+#   ``FORCED_INSTALLATION``
+#     if set, then the component must always be installed.
+#     It is a equivalent of the ``REQUARED`` option from the
+#     :command:`cpack_add_component` command.
+#
+#   ``REQUIRES_ADMIN_RIGHTS``
+#     set it if the component needs to be installed with elevated permissions.
+#
+#   ``NAME``
+#     is used to create domain-like identification for this component.
+#     By default used origin component name.
+#
+#   ``DISPLAY_NAME``
+#     set to rewrite original name configured by
+#     :command:`cpack_add_component` command.
+#
+#   ``DESCRIPTION``
+#     set to rewrite original description configured by
+#     :command:`cpack_add_component` command.
+#
+#   ``UPDATE_TEXT``
+#     will be added to the component description if this is an update to
+#     the component.
+#
+#   ``VERSION``
+#     is version of component.
+#     By default used :variable:`CPACK_PACKAGE_VERSION`.
+#
+#   ``RELEASE_DATE``
+#     keep empty to auto generate.
+#
+#   ``SCRIPT``
+#     is a relative or absolute path to operations script
+#     for this component.
+#
+#   ``PRIORITY`` | ``SORTING_PRIORITY``
+#     is priority of the component in the tree.
+#     The ``PRIORITY`` option is deprecated and will be removed in a future
+#     version of CMake. Please use ``SORTING_PRIORITY`` option instead.
+#
+#   ``DEPENDS`` | ``DEPENDENCIES``
+#     list of dependency component or component group identifiers in
+#     QtIFW_ style.
+#
+#   ``AUTO_DEPEND_ON``
+#     list of identifiers of component or component group in QtIFW_ style
+#     that this component has an automatic dependency on.
+#
+#   ``LICENSES``
+#     pair of <display_name> and <file_path> of license text for this
+#     component. You can specify more then one license.
+#
+#   ``DEFAULT``
+#     Possible values are: TRUE, FALSE, and SCRIPT.
+#     Set to FALSE to disable the component in the installer or to SCRIPT
+#     to resolved during runtime (don't forget add the file of the script
+#     as a value of the ``SCRIPT`` option).
+#
+#   ``USER_INTERFACES``
+#     is a list of <file_path> ('.ui' files) representing pages to load.
+#
+#   ``TRANSLATIONS``
+#     is a list of <file_path> ('.qm' files) representing translations to load.
+#
+#   ``REPLACES``
+#     list of identifiers of component or component group to replace.
+#
+#   ``CHECKABLE``
+#     Possible values are: TRUE, FALSE.
+#     Set to FALSE if you want to hide the checkbox for an item.
+#     This is useful when only a few subcomponents should be selected
+#     instead of all.
+#
+#
+# .. command:: cpack_ifw_configure_component_group
+#
+#   Sets the arguments specific to the CPack IFW generator.
+#
+#   ::
+#
+#     cpack_ifw_configure_component_group(<groupname> [VIRTUAL]
+#                         [FORCED_INSTALLATION] [REQUIRES_ADMIN_RIGHTS]
+#                         [NAME <name>]
+#                         [DISPLAY_NAME <display_name>] # Note: Internationalization supported
+#                         [DESCRIPTION <description>] # Note: Internationalization supported
+#                         [UPDATE_TEXT <update_text>]
+#                         [VERSION <version>]
+#                         [RELEASE_DATE <release_date>]
+#                         [SCRIPT <script>]
+#                         [PRIORITY|SORTING_PRIORITY <sorting_priority>] # Note: PRIORITY is deprecated
+#                         [DEPENDS|DEPENDENCIES <com_id> ...]
+#                         [AUTO_DEPEND_ON <comp_id> ...]
+#                         [LICENSES <display_name> <file_path> ...]
+#                         [DEFAULT <value>]
+#                         [USER_INTERFACES <file_path> <file_path> ...]
+#                         [TRANSLATIONS <file_path> <file_path> ...]
+#                         [REPLACES <comp_id> ...]
+#                         [CHECKABLE <value>])
+#
+#   This command should be called after :command:`cpack_add_component_group`
+#   command.
+#
+#   ``VIRTUAL``
+#     if set, then the group will be hidden from the installer.
+#     Note that setting this on a root component does not work.
+#
+#   ``FORCED_INSTALLATION``
+#     if set, then the group must always be installed.
+#
+#   ``REQUIRES_ADMIN_RIGHTS``
+#     set it if the component group needs to be installed with elevated
+#     permissions.
+#
+#   ``NAME``
+#     is used to create domain-like identification for this component group.
+#     By default used origin component group name.
+#
+#   ``DISPLAY_NAME``
+#     set to rewrite original name configured by
+#     :command:`cpack_add_component_group` command.
+#
+#   ``DESCRIPTION``
+#     set to rewrite original description configured by
+#     :command:`cpack_add_component_group` command.
+#
+#   ``UPDATE_TEXT``
+#     will be added to the component group description if this is an update to
+#     the component group.
+#
+#   ``VERSION``
+#     is version of component group.
+#     By default used :variable:`CPACK_PACKAGE_VERSION`.
+#
+#   ``RELEASE_DATE``
+#     keep empty to auto generate.
+#
+#   ``SCRIPT``
+#     is a relative or absolute path to operations script
+#     for this component group.
+#
+#   ``PRIORITY`` | ``SORTING_PRIORITY``
+#     is priority of the component group in the tree.
+#     The ``PRIORITY`` option is deprecated and will be removed in a future
+#     version of CMake. Please use ``SORTING_PRIORITY`` option instead.
+#
+#   ``DEPENDS`` | ``DEPENDENCIES``
+#     list of dependency component or component group identifiers in
+#     QtIFW_ style.
+#
+#   ``AUTO_DEPEND_ON``
+#     list of identifiers of component or component group in QtIFW_ style
+#     that this component group has an automatic dependency on.
+#
+#   ``LICENSES``
+#     pair of <display_name> and <file_path> of license text for this
+#     component group. You can specify more then one license.
+#
+#   ``DEFAULT``
+#     Possible values are: TRUE, FALSE, and SCRIPT.
+#     Set to TRUE to preselect the group in the installer
+#     (this takes effect only on groups that have no visible child components)
+#     or to SCRIPT to resolved during runtime (don't forget add the file of
+#     the script as a value of the ``SCRIPT`` option).
+#
+#   ``USER_INTERFACES``
+#     is a list of <file_path> ('.ui' files) representing pages to load.
+#
+#   ``TRANSLATIONS``
+#     is a list of <file_path> ('.qm' files) representing translations to load.
+#
+#   ``REPLACES``
+#     list of identifiers of component or component group to replace.
+#
+#   ``CHECKABLE``
+#     Possible values are: TRUE, FALSE.
+#     Set to FALSE if you want to hide the checkbox for an item.
+#     This is useful when only a few subcomponents should be selected
+#     instead of all.
+#
+#
+# .. command:: cpack_ifw_add_repository
+#
+#   Add QtIFW_ specific remote repository to binary installer.
+#
+#   ::
+#
+#     cpack_ifw_add_repository(<reponame> [DISABLED]
+#                         URL <url>
+#                         [USERNAME <username>]
+#                         [PASSWORD <password>]
+#                         [DISPLAY_NAME <display_name>])
+#
+#   This command will also add the <reponame> repository
+#   to a variable :variable:`CPACK_IFW_REPOSITORIES_ALL`.
+#
+#   ``DISABLED``
+#     if set, then the repository will be disabled by default.
+#
+#   ``URL``
+#     is points to a list of available components.
+#
+#   ``USERNAME``
+#     is used as user on a protected repository.
+#
+#   ``PASSWORD``
+#     is password to use on a protected repository.
+#
+#   ``DISPLAY_NAME``
+#     is string to display instead of the URL.
+#
+#
+# .. command:: cpack_ifw_update_repository
+#
+#   Update QtIFW_ specific repository from remote repository.
+#
+#   ::
+#
+#     cpack_ifw_update_repository(<reponame>
+#                         [[ADD|REMOVE] URL <url>]|
+#                          [REPLACE OLD_URL <old_url> NEW_URL <new_url>]]
+#                         [USERNAME <username>]
+#                         [PASSWORD <password>]
+#                         [DISPLAY_NAME <display_name>])
+#
+#   This command will also add the <reponame> repository
+#   to a variable :variable:`CPACK_IFW_REPOSITORIES_ALL`.
+#
+#   ``URL``
+#     is points to a list of available components.
+#
+#   ``OLD_URL``
+#     is points to a list that will replaced.
+#
+#   ``NEW_URL``
+#     is points to a list that will replace to.
+#
+#   ``USERNAME``
+#     is used as user on a protected repository.
+#
+#   ``PASSWORD``
+#     is password to use on a protected repository.
+#
+#   ``DISPLAY_NAME``
+#     is string to display instead of the URL.
+#
+#
+# .. command:: cpack_ifw_add_package_resources
+#
+#   Add additional resources in the installer binary.
+#
+#   ::
+#
+#     cpack_ifw_add_package_resources(<file_path> <file_path> ...)
+#
+#   This command will also add the specified files
+#   to a variable :variable:`CPACK_IFW_PACKAGE_RESOURCES`.
+#
+#
+# Example usage
+# ^^^^^^^^^^^^^
+#
+# .. code-block:: cmake
+#
+#    set(CPACK_PACKAGE_NAME "MyPackage")
+#    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyPackage Installation Example")
+#    set(CPACK_PACKAGE_VERSION "1.0.0") # Version of installer
+#
+#    include(CPack)
+#    include(CPackIFW)
+#
+#    cpack_add_component(myapp
+#        DISPLAY_NAME "MyApp"
+#        DESCRIPTION "My Application") # Default description
+#    cpack_ifw_configure_component(myapp
+#        DESCRIPTION ru_RU "Мое Приложение" # Localized description
+#        VERSION "1.2.3" # Version of component
+#        SCRIPT "operations.qs")
+#    cpack_add_component(mybigplugin
+#        DISPLAY_NAME "MyBigPlugin"
+#        DESCRIPTION "My Big Downloadable Plugin"
+#        DOWNLOADED)
+#    cpack_ifw_add_repository(myrepo
+#        URL "http://example.com/ifw/repo/myapp"
+#        DISPLAY_NAME "My Application Repository")
+#
+#
+# Online installer
+# ^^^^^^^^^^^^^^^^
+#
+# By default CPack IFW generator makes offline installer. This means that all
+# components will be packaged into a binary file.
+#
+# To make a component downloaded, you must set the ``DOWNLOADED`` option in
+# :command:`cpack_add_component`.
+#
+# Then you would use the command :command:`cpack_configure_downloads`.
+# If you set ``ALL`` option all components will be downloaded.
+#
+# You also can use command :command:`cpack_ifw_add_repository` and
+# variable :variable:`CPACK_IFW_DOWNLOAD_ALL` for more specific configuration.
+#
+# CPack IFW generator creates "repository" dir in current binary dir. You
+# would copy content of this dir to specified ``site`` (``url``).
+#
+# See Also
+# ^^^^^^^^
+#
+# Qt Installer Framework Manual:
+#
+# * Index page:
+#   http://doc.qt.io/qtinstallerframework/index.html
+#
+# * Component Scripting:
+#   http://doc.qt.io/qtinstallerframework/scripting.html
+#
+# * Predefined Variables:
+#   http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
+#
+# * Promoting Updates:
+#   http://doc.qt.io/qtinstallerframework/ifw-updates.html
+#
+# Download Qt Installer Framework for you platform from Qt site:
+#  http://download.qt.io/official_releases/qt-installer-framework
+#
+
+#=============================================================================
+# Search Qt Installer Framework tools
+#=============================================================================
+
+# Default path
+
+foreach(_CPACK_IFW_PATH_VAR "CPACK_IFW_ROOT" "QTIFWDIR" "QTDIR")
+  if(DEFINED ${_CPACK_IFW_PATH_VAR}
+    AND NOT "${${_CPACK_IFW_PATH_VAR}}" STREQUAL "")
+    list(APPEND _CPACK_IFW_PATHS "${${_CPACK_IFW_PATH_VAR}}")
+  endif()
+  if(NOT "$ENV{${_CPACK_IFW_PATH_VAR}}" STREQUAL "")
+    list(APPEND _CPACK_IFW_PATHS "$ENV{${_CPACK_IFW_PATH_VAR}}")
+  endif()
+endforeach()
+if(WIN32)
+  list(APPEND _CPACK_IFW_PATHS
+    "$ENV{HOMEDRIVE}/Qt"
+    "C:/Qt")
+else()
+  list(APPEND _CPACK_IFW_PATHS
+    "$ENV{HOME}/Qt"
+    "/opt/Qt")
+endif()
+list(REMOVE_DUPLICATES _CPACK_IFW_PATHS)
+
+set(_CPACK_IFW_PREFIXES
+  # QtSDK
+  "Tools/QtInstallerFramework/"
+  # Second branch
+  "QtIFW"
+  # First branch
+  "QtIFW-")
+
+set(_CPACK_IFW_VERSIONS
+  "3.1"
+  "3.1.0"
+  "3.0"
+  "3.0.0"
+  "2.3"
+  "2.3.0"
+  "2.2"
+  "2.2.0"
+  "2.1"
+  "2.1.0"
+  "2.0"
+  "2.0.5"
+  "2.0.3"
+  "2.0.2"
+  "2.0.1"
+  "2.0.0"
+  "1.6"
+  "1.6.0"
+  "1.5"
+  "1.5.0"
+  "1.4"
+  "1.4.0"
+  "1.3"
+  "1.3.0")
+
+set(_CPACK_IFW_SUFFIXES "bin")
+foreach(_CPACK_IFW_PREFIX ${_CPACK_IFW_PREFIXES})
+  foreach(_CPACK_IFW_VERSION ${_CPACK_IFW_VERSIONS})
+    list(APPEND
+      _CPACK_IFW_SUFFIXES "${_CPACK_IFW_PREFIX}${_CPACK_IFW_VERSION}/bin")
+  endforeach()
+endforeach()
+
+# Look for 'binarycreator'
+
+find_program(CPACK_IFW_BINARYCREATOR_EXECUTABLE
+  NAMES binarycreator
+  PATHS ${_CPACK_IFW_PATHS}
+  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
+  DOC "QtIFW binarycreator command line client")
+
+mark_as_advanced(CPACK_IFW_BINARYCREATOR_EXECUTABLE)
+
+# Look for 'repogen'
+
+find_program(CPACK_IFW_REPOGEN_EXECUTABLE
+  NAMES repogen
+  PATHS ${_CPACK_IFW_PATHS}
+  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
+  DOC "QtIFW repogen command line client"
+  )
+mark_as_advanced(CPACK_IFW_REPOGEN_EXECUTABLE)
+
+# Look for 'installerbase'
+
+find_program(CPACK_IFW_INSTALLERBASE_EXECUTABLE
+  NAMES installerbase
+  PATHS ${_CPACK_IFW_PATHS}
+  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
+  DOC "QtIFW installer executable base"
+  )
+mark_as_advanced(CPACK_IFW_INSTALLERBASE_EXECUTABLE)
+
+# Look for 'devtool' (appeared in the second branch)
+
+find_program(CPACK_IFW_DEVTOOL_EXECUTABLE
+  NAMES devtool
+  PATHS ${_CPACK_IFW_PATHS}
+  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
+  DOC "QtIFW devtool command line client"
+  )
+mark_as_advanced(CPACK_IFW_DEVTOOL_EXECUTABLE)
+
+#
+## Next code is included only once
+#
+
+if(NOT CPackIFW_CMake_INCLUDED)
+set(CPackIFW_CMake_INCLUDED 1)
+
+#=============================================================================
+# Framework version
+#=============================================================================
+
+set(CPACK_IFW_FRAMEWORK_VERSION_FORCED ""
+  CACHE STRING "The forced version of used QtIFW tools")
+mark_as_advanced(CPACK_IFW_FRAMEWORK_VERSION_FORCED)
+set(CPACK_IFW_FRAMEWORK_VERSION_TIMEOUT 1
+  CACHE STRING "The timeout to return QtIFW framework version string from \"installerbase\" executable")
+mark_as_advanced(CPACK_IFW_FRAMEWORK_VERSION_TIMEOUT)
+if(CPACK_IFW_INSTALLERBASE_EXECUTABLE AND NOT CPACK_IFW_FRAMEWORK_VERSION_FORCED)
+  set(CPACK_IFW_FRAMEWORK_VERSION)
+  # Invoke version from "installerbase" executable
+  foreach(_ifw_version_argument --framework-version --version)
+    if(NOT CPACK_IFW_FRAMEWORK_VERSION)
+      execute_process(COMMAND
+        "${CPACK_IFW_INSTALLERBASE_EXECUTABLE}" ${_ifw_version_argument}
+        TIMEOUT ${CPACK_IFW_FRAMEWORK_VERSION_TIMEOUT}
+        RESULT_VARIABLE CPACK_IFW_FRAMEWORK_VERSION_RESULT
+        OUTPUT_VARIABLE CPACK_IFW_FRAMEWORK_VERSION_OUTPUT
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        ENCODING UTF8)
+      if(NOT CPACK_IFW_FRAMEWORK_VERSION_RESULT AND CPACK_IFW_FRAMEWORK_VERSION_OUTPUT)
+        string(REGEX MATCH "[0-9]+(\\.[0-9]+)*"
+          CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION_OUTPUT}")
+        if(CPACK_IFW_FRAMEWORK_VERSION)
+          if("${_ifw_version_argument}" STREQUAL "--framework-version")
+            set(CPACK_IFW_FRAMEWORK_VERSION_SOURCE "INSTALLERBASE_FRAMEWORK_VERSION")
+          elseif("${_ifw_version_argument}" STREQUAL "--version")
+            set(CPACK_IFW_FRAMEWORK_VERSION_SOURCE "INSTALLERBASE_FRAMEWORK_VERSION")
+          endif()
+        endif()
+      endif()
+    endif()
+  endforeach()
+  # Finaly try to get version from executable path
+  if(NOT CPACK_IFW_FRAMEWORK_VERSION)
+    string(REGEX MATCH "[0-9]+(\\.[0-9]+)*"
+      CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_INSTALLERBASE_EXECUTABLE}")
+    if(CPACK_IFW_FRAMEWORK_VERSION)
+      set(CPACK_IFW_FRAMEWORK_VERSION_SOURCE "INSTALLERBASE_PATH")
+    endif()
+  endif()
+elseif(CPACK_IFW_FRAMEWORK_VERSION_FORCED)
+  set(CPACK_IFW_FRAMEWORK_VERSION ${CPACK_IFW_FRAMEWORK_VERSION_FORCED})
+  set(CPACK_IFW_FRAMEWORK_VERSION_SOURCE "FORCED")
+endif()
+if(CPACK_IFW_VERBOSE)
+  if(CPACK_IFW_FRAMEWORK_VERSION AND CPACK_IFW_FRAMEWORK_VERSION_FORCED)
+    message(STATUS "Found QtIFW ${CPACK_IFW_FRAMEWORK_VERSION} (forced) version")
+  elseif(CPACK_IFW_FRAMEWORK_VERSION)
+    message(STATUS "Found QtIFW ${CPACK_IFW_FRAMEWORK_VERSION} version")
+  endif()
+endif()
+if(CPACK_IFW_INSTALLERBASE_EXECUTABLE AND NOT CPACK_IFW_FRAMEWORK_VERSION)
+  message(WARNING "Could not detect QtIFW tools version. Set used version to variable \"CPACK_IFW_FRAMEWORK_VERSION_FORCED\" manualy.")
+endif()
+
+#=============================================================================
+# Macro definition
+#=============================================================================
+
+# Macro definition based on CPackComponent
+
+if(NOT CPackComponent_CMake_INCLUDED)
+    include(CPackComponent)
+endif()
+
+# Resolve full filename for script file
+macro(_cpack_ifw_resolve_script _variable)
+  set(_ifw_script_macro ${_variable})
+  set(_ifw_script_file ${${_ifw_script_macro}})
+  if(DEFINED ${_ifw_script_macro})
+    get_filename_component(${_ifw_script_macro} ${_ifw_script_file} ABSOLUTE)
+    set(_ifw_script_file ${${_ifw_script_macro}})
+    if(NOT EXISTS ${_ifw_script_file})
+      message(WARNING "CPack IFW: script file \"${_ifw_script_file}\" is not exists")
+      set(${_ifw_script_macro})
+    endif()
+  endif()
+endmacro()
+
+# Resolve full path to lisense file
+macro(_cpack_ifw_resolve_lisenses _variable)
+  if(${_variable})
+    set(_ifw_license_file FALSE)
+    set(_ifw_licenses_fix)
+    foreach(_ifw_licenses_arg ${${_variable}})
+      if(_ifw_license_file)
+        get_filename_component(_ifw_licenses_arg "${_ifw_licenses_arg}" ABSOLUTE)
+        set(_ifw_license_file FALSE)
+      else()
+        set(_ifw_license_file TRUE)
+      endif()
+      list(APPEND _ifw_licenses_fix "${_ifw_licenses_arg}")
+    endforeach(_ifw_licenses_arg)
+    set(${_variable} "${_ifw_licenses_fix}")
+  endif()
+endmacro()
+
+# Resolve full path to a list of provided files
+macro(_cpack_ifw_resolve_file_list _variable)
+  if(${_variable})
+    set(_ifw_list_fix)
+    foreach(_ifw_file_arg ${${_variable}})
+      get_filename_component(_ifw_file_arg "${_ifw_file_arg}" ABSOLUTE)
+      if(EXISTS ${_ifw_file_arg})
+        list(APPEND _ifw_list_fix "${_ifw_file_arg}")
+      else()
+        message(WARNING "CPack IFW: page file \"${_ifw_file_arg}\" does not exist. Skipping")
+      endif()
+    endforeach(_ifw_file_arg)
+    set(${_variable} "${_ifw_list_fix}")
+  endif()
+endmacro()
+
+# Macro for configure component
+macro(cpack_ifw_configure_component compname)
+
+  string(TOUPPER ${compname} _CPACK_IFWCOMP_UNAME)
+
+  set(_IFW_OPT COMMON ESSENTIAL VIRTUAL FORCED_INSTALLATION REQUIRES_ADMIN_RIGHTS)
+  set(_IFW_ARGS NAME VERSION RELEASE_DATE SCRIPT PRIORITY SORTING_PRIORITY UPDATE_TEXT DEFAULT CHECKABLE)
+  set(_IFW_MULTI_ARGS DISPLAY_NAME DESCRIPTION DEPENDS DEPENDENCIES AUTO_DEPEND_ON LICENSES USER_INTERFACES TRANSLATIONS REPLACES)
+  cmake_parse_arguments(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
+
+  _cpack_ifw_resolve_script(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_SCRIPT)
+  _cpack_ifw_resolve_lisenses(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_LICENSES)
+  _cpack_ifw_resolve_file_list(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_USER_INTERFACES)
+  _cpack_ifw_resolve_file_list(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_TRANSLATIONS)
+
+  set(_CPACK_IFWCOMP_STR "\n# Configuration for IFW component \"${compname}\"\n")
+
+  foreach(_IFW_ARG_NAME ${_IFW_OPT})
+  cpack_append_option_set_command(
+    CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWCOMP_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
+  cpack_append_string_variable_set_command(
+    CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWCOMP_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
+  cpack_append_list_variable_set_command(
+    CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWCOMP_STR)
+  endforeach()
+
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWCOMP_STR}")
+  endif()
+
+endmacro()
+
+# Macro for configure group
+macro(cpack_ifw_configure_component_group grpname)
+
+  string(TOUPPER ${grpname} _CPACK_IFWGRP_UNAME)
+
+  set(_IFW_OPT VIRTUAL FORCED_INSTALLATION REQUIRES_ADMIN_RIGHTS)
+  set(_IFW_ARGS NAME VERSION RELEASE_DATE SCRIPT PRIORITY SORTING_PRIORITY UPDATE_TEXT DEFAULT CHECKABLE)
+  set(_IFW_MULTI_ARGS DISPLAY_NAME DESCRIPTION DEPENDS DEPENDENCIES AUTO_DEPEND_ON LICENSES USER_INTERFACES TRANSLATIONS REPLACES)
+  cmake_parse_arguments(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
+
+  _cpack_ifw_resolve_script(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_SCRIPT)
+  _cpack_ifw_resolve_lisenses(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_LICENSES)
+  _cpack_ifw_resolve_file_list(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_USER_INTERFACES)
+  _cpack_ifw_resolve_file_list(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_TRANSLATIONS)
+
+  set(_CPACK_IFWGRP_STR "\n# Configuration for IFW component group \"${grpname}\"\n")
+
+  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
+  cpack_append_string_variable_set_command(
+    CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWGRP_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
+  cpack_append_list_variable_set_command(
+    CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWGRP_STR)
+  endforeach()
+
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWGRP_STR}")
+  endif()
+endmacro()
+
+# Macro for adding repository
+macro(cpack_ifw_add_repository reponame)
+
+  string(TOUPPER ${reponame} _CPACK_IFWREPO_UNAME)
+
+  set(_IFW_OPT DISABLED)
+  set(_IFW_ARGS URL USERNAME PASSWORD DISPLAY_NAME)
+  set(_IFW_MULTI_ARGS)
+  cmake_parse_arguments(CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
+
+  set(_CPACK_IFWREPO_STR "\n# Configuration for IFW repository \"${reponame}\"\n")
+
+  foreach(_IFW_ARG_NAME ${_IFW_OPT})
+  cpack_append_option_set_command(
+    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWREPO_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
+  cpack_append_string_variable_set_command(
+    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWREPO_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
+  cpack_append_variable_set_command(
+    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWREPO_STR)
+  endforeach()
+
+  list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})
+  string(APPEND _CPACK_IFWREPO_STR "list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})\n")
+
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWREPO_STR}")
+  endif()
+
+endmacro()
+
+# Macro for updating repository
+macro(cpack_ifw_update_repository reponame)
+
+  string(TOUPPER ${reponame} _CPACK_IFWREPO_UNAME)
+
+  set(_IFW_OPT ADD REMOVE REPLACE DISABLED)
+  set(_IFW_ARGS URL OLD_URL NEW_URL USERNAME PASSWORD DISPLAY_NAME)
+  set(_IFW_MULTI_ARGS)
+  cmake_parse_arguments(CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
+
+  set(_CPACK_IFWREPO_STR "\n# Configuration for IFW repository \"${reponame}\" update\n")
+
+  foreach(_IFW_ARG_NAME ${_IFW_OPT})
+  cpack_append_option_set_command(
+    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWREPO_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
+  cpack_append_string_variable_set_command(
+    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWREPO_STR)
+  endforeach()
+
+  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
+  cpack_append_variable_set_command(
+    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
+    _CPACK_IFWREPO_STR)
+  endforeach()
+
+  if(CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_ADD
+    OR CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_REMOVE
+    OR CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_REPLACE)
+    list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})
+    string(APPEND _CPACK_IFWREPO_STR "list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})\n")
+  else()
+    set(_CPACK_IFWREPO_STR)
+  endif()
+
+  if(CPack_CMake_INCLUDED AND _CPACK_IFWREPO_STR)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWREPO_STR}")
+  endif()
+
+endmacro()
+
+# Macro for adding resources
+macro(cpack_ifw_add_package_resources)
+  set(_CPACK_IFW_PACKAGE_RESOURCES ${ARGV})
+  _cpack_ifw_resolve_file_list(_CPACK_IFW_PACKAGE_RESOURCES)
+  list(APPEND CPACK_IFW_PACKAGE_RESOURCES ${_CPACK_IFW_PACKAGE_RESOURCES})
+  set(_CPACK_IFWQRC_STR "list(APPEND CPACK_IFW_PACKAGE_RESOURCES \"${_CPACK_IFW_PACKAGE_RESOURCES}\")\n")
+  if(CPack_CMake_INCLUDED)
+    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWQRC_STR}")
+  endif()
+endmacro()
+
+# Resolve package control script
+_cpack_ifw_resolve_script(CPACK_IFW_PACKAGE_CONTROL_SCRIPT)
+
+endif() # NOT CPackIFW_CMake_INCLUDED
diff --git a/share/cmake-3.10/Modules/CPackIFWConfigureFile.cmake b/share/cmake-3.10/Modules/CPackIFWConfigureFile.cmake
new file mode 100644
index 0000000..790574a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackIFWConfigureFile.cmake
@@ -0,0 +1,65 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackIFWConfigureFile
+# ---------------------
+#
+# The module defines :command:`configure_file` similar command to
+# configure file templates prepared in QtIFW/SDK/Creator style.
+#
+#
+# Commands
+# ^^^^^^^^
+#
+# The module defines the following commands:
+#
+# .. command:: cpack_ifw_configure_file
+#
+#   Copy a file to another location and modify its contents.
+#
+#   ::
+#
+#     cpack_ifw_configure_file(<input> <output>)
+#
+#   Copies an ``<input>`` file to an ``<output>`` file and substitutes variable
+#   values referenced as ``%{VAR}`` or ``%VAR%`` in the input file content.
+#   Each variable reference will be replaced with the current value of the
+#   variable, or the empty string if the variable is not defined.
+#
+
+# NOTE: This file used to himself packaging via CPack IFW generator and
+# should be compatible with minimal CMake version defined in
+# ../CMakeLists.txt file.
+
+if(NOT DEFINED CPackIFWConfigureFile_CMake_INCLUDED)
+set(CPackIFWConfigureFile_CMake_INCLUDED 1)
+
+macro(cpack_ifw_configure_file INPUT OUTPUT)
+  file(READ "${INPUT}" _tmp)
+  foreach(_tmp_regex "%{([^%}]+)}" "%([^%]+)%")
+    string(REGEX MATCHALL "${_tmp_regex}" _tmp_vars "${_tmp}")
+    while(_tmp_vars)
+      foreach(_tmp_var ${_tmp_vars})
+        string(REGEX REPLACE "${_tmp_regex}" "\\1"
+          _tmp_var_name "${_tmp_var}")
+        if(DEFINED ${_tmp_var_name})
+          set(_tmp_var_value "${${_tmp_var_name}}")
+        elseif(NOT "$ENV{${_tmp_var_name}}" STREQUAL "")
+          set(_tmp_var_value "$ENV{${_tmp_var_name}}")
+        else()
+          set(_tmp_var_value "")
+        endif()
+        string(REPLACE "${_tmp_var}" "${_tmp_var_value}" _tmp "${_tmp}")
+      endforeach()
+      string(REGEX MATCHALL "${_tmp_regex}" _tmp_vars "${_tmp}")
+    endwhile()
+  endforeach()
+  if(IS_ABSOLUTE "${OUTPUT}")
+    file(WRITE "${OUTPUT}" "${_tmp}")
+  else()
+    file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT}" "${_tmp}")
+  endif()
+endmacro()
+
+endif() # NOT DEFINED CPackIFWConfigureFile_CMake_INCLUDED
diff --git a/share/cmake-3.10/Modules/CPackNSIS.cmake b/share/cmake-3.10/Modules/CPackNSIS.cmake
new file mode 100644
index 0000000..18d1871
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackNSIS.cmake
@@ -0,0 +1,138 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackNSIS
+# ---------
+#
+# CPack NSIS generator specific options
+#
+# Variables specific to CPack NSIS generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variables are specific to the graphical installers built
+# on Windows using the Nullsoft Installation System.
+#
+# .. variable:: CPACK_NSIS_INSTALL_ROOT
+#
+#  The default installation directory presented to the end user by the NSIS
+#  installer is under this root dir. The full directory presented to the end
+#  user is: ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
+#
+# .. variable:: CPACK_NSIS_MUI_ICON
+#
+#  An icon filename.  The name of a ``*.ico`` file used as the main icon for the
+#  generated install program.
+#
+# .. variable:: CPACK_NSIS_MUI_UNIICON
+#
+#  An icon filename.  The name of a ``*.ico`` file used as the main icon for the
+#  generated uninstall program.
+#
+# .. variable:: CPACK_NSIS_INSTALLER_MUI_ICON_CODE
+#
+#  undocumented.
+#
+# .. variable:: CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
+#
+#  The filename of a bitmap to use as the NSIS MUI_WELCOMEFINISHPAGE_BITMAP.
+#
+# .. variable:: CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
+#
+#  The filename of a bitmap to use as the NSIS MUI_UNWELCOMEFINISHPAGE_BITMAP.
+#
+# .. variable:: CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS
+#
+#  Extra NSIS commands that will be added to the beginning of the install
+#  Section, before your install tree is available on the target system.
+#
+# .. variable:: CPACK_NSIS_EXTRA_INSTALL_COMMANDS
+#
+#  Extra NSIS commands that will be added to the end of the install Section,
+#  after your install tree is available on the target system.
+#
+# .. variable:: CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
+#
+#  Extra NSIS commands that will be added to the uninstall Section, before
+#  your install tree is removed from the target system.
+#
+# .. variable:: CPACK_NSIS_COMPRESSOR
+#
+#  The arguments that will be passed to the NSIS SetCompressor command.
+#
+# .. variable:: CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
+#
+#  Ask about uninstalling previous versions first.  If this is set to "ON",
+#  then an installer will look for previous installed versions and if one is
+#  found, ask the user whether to uninstall it before proceeding with the
+#  install.
+#
+# .. variable:: CPACK_NSIS_MODIFY_PATH
+#
+#  Modify PATH toggle.  If this is set to "ON", then an extra page will appear
+#  in the installer that will allow the user to choose whether the program
+#  directory should be added to the system PATH variable.
+#
+# .. variable:: CPACK_NSIS_DISPLAY_NAME
+#
+#  The display name string that appears in the Windows Add/Remove Program
+#  control panel
+#
+# .. variable:: CPACK_NSIS_PACKAGE_NAME
+#
+#  The title displayed at the top of the installer.
+#
+# .. variable:: CPACK_NSIS_INSTALLED_ICON_NAME
+#
+#  A path to the executable that contains the installer icon.
+#
+# .. variable:: CPACK_NSIS_HELP_LINK
+#
+#  URL to a web site providing assistance in installing your application.
+#
+# .. variable:: CPACK_NSIS_URL_INFO_ABOUT
+#
+#  URL to a web site providing more information about your application.
+#
+# .. variable:: CPACK_NSIS_CONTACT
+#
+#  Contact information for questions and comments about the installation
+#  process.
+#
+# .. variable:: CPACK_NSIS_<compName>_INSTALL_DIRECTORY
+#
+#  Custom install directory for the specified component <compName> instead
+#  of $INSTDIR.
+#
+# .. variable:: CPACK_NSIS_CREATE_ICONS_EXTRA
+#
+#  Additional NSIS commands for creating start menu shortcuts.
+#
+# .. variable:: CPACK_NSIS_DELETE_ICONS_EXTRA
+#
+#  Additional NSIS commands to uninstall start menu shortcuts.
+#
+# .. variable:: CPACK_NSIS_EXECUTABLES_DIRECTORY
+#
+#  Creating NSIS start menu links assumes that they are in 'bin' unless this
+#  variable is set.  For example, you would set this to 'exec' if your
+#  executables are in an exec directory.
+#
+# .. variable:: CPACK_NSIS_MUI_FINISHPAGE_RUN
+#
+#  Specify an executable to add an option to run on the finish page of the
+#  NSIS installer.
+#
+# .. variable:: CPACK_NSIS_MENU_LINKS
+#
+#  Specify links in [application] menu.  This should contain a list of pair
+#  "link" "link name". The link may be an URL or a path relative to
+#  installation prefix.  Like::
+#
+#   set(CPACK_NSIS_MENU_LINKS
+#       "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
+#       "CMake Help" "https://cmake.org" "CMake Web Site")
+#
+
+#FIXME we should put NSIS specific code here
+#FIXME but I'm not doing it because I'm not able to test it...
diff --git a/share/cmake-3.10/Modules/CPackPackageMaker.cmake b/share/cmake-3.10/Modules/CPackPackageMaker.cmake
new file mode 100644
index 0000000..c2ca4c6
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackPackageMaker.cmake
@@ -0,0 +1,27 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackPackageMaker
+# -----------------
+#
+# PackageMaker CPack generator (Mac OS X).
+#
+# Variables specific to CPack PackageMaker generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variable is specific to installers built on Mac
+# OS X using PackageMaker:
+#
+# .. variable:: CPACK_OSX_PACKAGE_VERSION
+#
+#  The version of Mac OS X that the resulting PackageMaker archive should be
+#  compatible with. Different versions of Mac OS X support different
+#  features. For example, CPack can only build component-based installers for
+#  Mac OS X 10.4 or newer, and can only build installers that download
+#  component son-the-fly for Mac OS X 10.5 or newer. If left blank, this value
+#  will be set to the minimum version of Mac OS X 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 Mac OS X, and
+#  don't mind missing extra features available in the installer shipping with
+#  later versions of Mac OS X.
diff --git a/share/cmake-3.10/Modules/CPackProductBuild.cmake b/share/cmake-3.10/Modules/CPackProductBuild.cmake
new file mode 100644
index 0000000..4779b95
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackProductBuild.cmake
@@ -0,0 +1,56 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackProductBuild
+# -----------------
+#
+# productbuild CPack generator (Mac OS X).
+#
+# Variables specific to CPack productbuild generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variable is specific to installers built on Mac
+# OS X using productbuild:
+#
+# .. variable:: CPACK_COMMAND_PRODUCTBUILD
+#
+#  Path to the productbuild(1) command used to generate a product archive for
+#  the OS X 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 OS X component package
+#  on OS X.  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_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.10/Modules/CPackRPM.cmake b/share/cmake-3.10/Modules/CPackRPM.cmake
new file mode 100644
index 0000000..9f77ec3
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackRPM.cmake
@@ -0,0 +1,2774 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackRPM
+# --------
+#
+# The built in (binary) CPack RPM generator (Unix only)
+#
+# Variables specific to CPack RPM generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# CPackRPM may be used to create RPM packages using :module:`CPack`.
+# CPackRPM is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
+# variables used by :module:`CPack`.
+#
+# CPackRPM has specific features which are controlled by the specifics
+# :code:`CPACK_RPM_XXX` variables.
+#
+# :code:`CPACK_RPM_<COMPONENT>_XXXX` variables may be used in order to have
+# **component** specific values.  Note however that ``<COMPONENT>`` refers to the
+# **grouping name** written in upper case. It may be either a component name or
+# a component GROUP name. Usually those variables correspond to RPM spec file
+# entities. One may find information about spec files here
+# http://www.rpm.org/wiki/Docs
+#
+# .. note::
+#
+#  `<COMPONENT>` part of variables is preferred to be in upper case (for e.g. if
+#  component is named `foo` then use `CPACK_RPM_FOO_XXXX` variable name format)
+#  as is with other `CPACK_<COMPONENT>_XXXX` variables.
+#  For the purposes of back compatibility (CMake/CPack version 3.5 and lower)
+#  support for same cased component (e.g. `fOo` would be used as
+#  `CPACK_RPM_fOo_XXXX`) is still supported for variables defined in older
+#  versions of CMake/CPack but is not guaranteed for variables that
+#  will be added in the future. For the sake of back compatibility same cased
+#  component variables also override upper cased versions where both are
+#  present.
+#
+# Here are some CPackRPM wiki resources that are here for historic reasons and
+# are no longer maintained but may still prove useful:
+#
+#  - https://cmake.org/Wiki/CMake:CPackConfiguration
+#  - https://cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
+#
+# List of CPackRPM specific variables:
+#
+# .. variable:: CPACK_RPM_COMPONENT_INSTALL
+#
+#  Enable component packaging for CPackRPM
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+#  If enabled (ON) multiple packages are generated. By default a single package
+#  containing files of all components is generated.
+#
+# .. variable:: CPACK_RPM_PACKAGE_SUMMARY
+#               CPACK_RPM_<component>_PACKAGE_SUMMARY
+#
+#  The RPM package summary.
+#
+#  * Mandatory : YES
+#  * Default   : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
+#
+# .. variable:: CPACK_RPM_PACKAGE_NAME
+#               CPACK_RPM_<component>_PACKAGE_NAME
+#
+#  The RPM package name.
+#
+#  * Mandatory : YES
+#  * Default   : :variable:`CPACK_PACKAGE_NAME`
+#
+# .. variable:: CPACK_RPM_FILE_NAME
+#               CPACK_RPM_<component>_FILE_NAME
+#
+#  Package file name.
+#
+#  * Mandatory : YES
+#  * Default   : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].rpm`` with spaces
+#                replaced by '-'
+#
+#  This may be set to ``RPM-DEFAULT`` to allow rpmbuild tool to generate package
+#  file name by itself.
+#  Alternatively provided package file name must end with ``.rpm`` suffix.
+#
+#  .. note::
+#
+#    By using user provided spec file, rpm macro extensions such as for
+#    generating debuginfo packages or by simply using multiple components more
+#    than one rpm file may be generated, either from a single spec file or from
+#    multiple spec files (each component execution produces it's own spec file).
+#    In such cases duplicate file names may occur as a result of this variable
+#    setting or spec file content structure. Duplicate files get overwritten
+#    and it is up to the packager to set the variables in a manner that will
+#    prevent such errors.
+#
+# .. variable:: CPACK_RPM_MAIN_COMPONENT
+#
+#  Main component that is packaged without component suffix.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  This variable can be set to any component or group name so that component or
+#  group rpm package is generated without component suffix in filename and
+#  package name.
+#
+# .. variable:: CPACK_RPM_PACKAGE_EPOCH
+#
+#  The RPM package epoch
+#
+#  * Mandatory : No
+#  * Default   : -
+#
+#  Optional number that should be incremented when changing versioning schemas
+#  or fixing mistakes in the version numbers of older packages.
+#
+# .. variable:: CPACK_RPM_PACKAGE_VERSION
+#
+#  The RPM package version.
+#
+#  * Mandatory : YES
+#  * Default   : :variable:`CPACK_PACKAGE_VERSION`
+#
+# .. variable:: CPACK_RPM_PACKAGE_ARCHITECTURE
+#               CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
+#
+#  The RPM package architecture.
+#
+#  * Mandatory : YES
+#  * Default   : Native architecture output by ``uname -m``
+#
+#  This may be set to ``noarch`` if you know you are building a noarch package.
+#
+# .. variable:: CPACK_RPM_PACKAGE_RELEASE
+#
+#  The RPM package release.
+#
+#  * Mandatory : YES
+#  * Default   : 1
+#
+#  This is the numbering of the RPM package itself, i.e. the version of the
+#  packaging and not the version of the content (see
+#  :variable:`CPACK_RPM_PACKAGE_VERSION`). One may change the default value if
+#  the previous packaging was buggy and/or you want to put here a fancy Linux
+#  distro specific numbering.
+#
+# .. note::
+#
+#  This is the string that goes into the RPM ``Release:`` field. Some distros
+#  (e.g. Fedora, CentOS) require ``1%{?dist}`` format and not just a number.
+#  ``%{?dist}`` part can be added by setting :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
+#
+# .. variable:: CPACK_RPM_PACKAGE_RELEASE_DIST
+#
+#  The dist tag that is added  RPM ``Release:`` field.
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+#  This is the reported ``%{dist}`` tag from the current distribution or empty
+#  ``%{dist}`` if RPM macro is not set. If this variable is set then RPM
+#  ``Release:`` field value is set to ``${CPACK_RPM_PACKAGE_RELEASE}%{?dist}``.
+#
+# .. variable:: CPACK_RPM_PACKAGE_LICENSE
+#
+#  The RPM package license policy.
+#
+#  * Mandatory : YES
+#  * Default   : "unknown"
+#
+# .. variable:: CPACK_RPM_PACKAGE_GROUP
+#               CPACK_RPM_<component>_PACKAGE_GROUP
+#
+#  The RPM package group.
+#
+#  * Mandatory : YES
+#  * Default   : "unknown"
+#
+# .. variable:: CPACK_RPM_PACKAGE_VENDOR
+#
+#  The RPM package vendor.
+#
+#  * Mandatory : YES
+#  * Default   : CPACK_PACKAGE_VENDOR if set or "unknown"
+#
+# .. variable:: CPACK_RPM_PACKAGE_URL
+#               CPACK_RPM_<component>_PACKAGE_URL
+#
+#  The projects URL.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+# .. variable:: CPACK_RPM_PACKAGE_DESCRIPTION
+#               CPACK_RPM_<component>_PACKAGE_DESCRIPTION
+#
+#  RPM package description.
+#
+#  * Mandatory : YES
+#  * Default : :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION` (component
+#    based installers only) if set, :variable:`CPACK_PACKAGE_DESCRIPTION_FILE`
+#    if set or "no package description available"
+#
+# .. variable:: CPACK_RPM_COMPRESSION_TYPE
+#
+#  RPM compression type.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to override RPM compression type to be used to build the
+#  RPM. For example some Linux distribution now default to lzma or xz
+#  compression whereas older cannot use such RPM. Using this one can enforce
+#  compression type to be used.
+#
+#  Possible values are:
+#
+#  - lzma
+#  - xz
+#  - bzip2
+#  - gzip
+#
+# .. variable:: CPACK_RPM_PACKAGE_AUTOREQ
+#               CPACK_RPM_<component>_PACKAGE_AUTOREQ
+#
+#  RPM spec autoreq field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to enable (1, yes) or disable (0, no) automatic shared libraries
+#  dependency detection. Dependencies are added to requires list.
+#
+#  .. note::
+#
+#    By default automatic dependency detection is enabled by rpm generator.
+#
+# .. variable:: CPACK_RPM_PACKAGE_AUTOPROV
+#               CPACK_RPM_<component>_PACKAGE_AUTOPROV
+#
+#  RPM spec autoprov field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to enable (1, yes) or disable (0, no) automatic listing of shared
+#  libraries that are provided by the package. Shared libraries are added to
+#  provides list.
+#
+#  .. note::
+#
+#    By default automatic provides detection is enabled by rpm generator.
+#
+# .. variable:: CPACK_RPM_PACKAGE_AUTOREQPROV
+#               CPACK_RPM_<component>_PACKAGE_AUTOREQPROV
+#
+#  RPM spec autoreqprov field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  Variable enables/disables autoreq and autoprov at the same time.
+#  See :variable:`CPACK_RPM_PACKAGE_AUTOREQ` and :variable:`CPACK_RPM_PACKAGE_AUTOPROV`
+#  for more details.
+#
+#  .. note::
+#
+#    By default automatic detection feature is enabled by rpm.
+#
+# .. variable:: CPACK_RPM_PACKAGE_REQUIRES
+#               CPACK_RPM_<component>_PACKAGE_REQUIRES
+#
+#  RPM spec requires field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM dependencies (requires). Note that you must enclose
+#  the complete requires string between quotes, for example::
+#
+#   set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
+#
+#  The required package list of an RPM file could be printed with::
+#
+#   rpm -qp --requires file.rpm
+#
+# .. variable:: CPACK_RPM_PACKAGE_CONFLICTS
+#               CPACK_RPM_<component>_PACKAGE_CONFLICTS
+#
+#  RPM spec conflicts field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set negative RPM dependencies (conflicts). Note that you must
+#  enclose the complete requires string between quotes, for example::
+#
+#   set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")
+#
+#  The conflicting package list of an RPM file could be printed with::
+#
+#   rpm -qp --conflicts file.rpm
+#
+# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_PRE
+#               CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
+#
+#  RPM spec requires(pre) field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM preinstall dependencies (requires(pre)). Note that
+#  you must enclose the complete requires string between quotes, for example::
+#
+#   set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils, initscripts")
+#
+# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_POST
+#               CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
+#
+#  RPM spec requires(post) field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM postinstall dependencies (requires(post)). Note that
+#  you must enclose the complete requires string between quotes, for example::
+#
+#   set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow-utils, initscripts")
+#
+# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_POSTUN
+#               CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
+#
+#  RPM spec requires(postun) field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM postuninstall dependencies (requires(postun)). Note
+#  that you must enclose the complete requires string between quotes, for
+#  example::
+#
+#   set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow-utils, initscripts")
+#
+# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_PREUN
+#               CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
+#
+#  RPM spec requires(preun) field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM preuninstall dependencies (requires(preun)). Note that
+#  you must enclose the complete requires string between quotes, for example::
+#
+#   set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow-utils, initscripts")
+#
+# .. variable:: CPACK_RPM_PACKAGE_SUGGESTS
+#               CPACK_RPM_<component>_PACKAGE_SUGGESTS
+#
+#  RPM spec suggest field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set weak RPM dependencies (suggests). Note that you must
+#  enclose the complete requires string between quotes.
+#
+# .. variable:: CPACK_RPM_PACKAGE_PROVIDES
+#               CPACK_RPM_<component>_PACKAGE_PROVIDES
+#
+#  RPM spec provides field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM dependencies (provides). The provided package list
+#  of an RPM file could be printed with::
+#
+#   rpm -qp --provides file.rpm
+#
+# .. variable:: CPACK_RPM_PACKAGE_OBSOLETES
+#               CPACK_RPM_<component>_PACKAGE_OBSOLETES
+#
+#  RPM spec obsoletes field.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set RPM packages that are obsoleted by this one.
+#
+# .. variable:: CPACK_RPM_PACKAGE_RELOCATABLE
+#
+#  build a relocatable RPM.
+#
+#  * Mandatory : NO
+#  * Default   : CPACK_PACKAGE_RELOCATABLE
+#
+#  If this variable is set to TRUE or ON CPackRPM will try
+#  to build a relocatable RPM package. A relocatable RPM may
+#  be installed using::
+#
+#   rpm --prefix or --relocate
+#
+#  in order to install it at an alternate place see rpm(8). Note that
+#  currently this may fail if :variable:`CPACK_SET_DESTDIR` is set to ``ON``. If
+#  :variable:`CPACK_SET_DESTDIR` is set then you will get a warning message but
+#  if there is file installed with absolute path you'll get unexpected behavior.
+#
+# .. variable:: CPACK_RPM_SPEC_INSTALL_POST
+#
+#  Deprecated - use :variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE` instead.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#  * Deprecated: YES
+#
+#  This way of specifying post-install script is deprecated, use
+#  :variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE`.
+#  May be used to set an RPM post-install command inside the spec file.
+#  For example setting it to ``/bin/true`` may be used to prevent
+#  rpmbuild to strip binaries.
+#
+# .. variable:: CPACK_RPM_SPEC_MORE_DEFINE
+#
+#  RPM extended spec definitions lines.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to add any ``%define`` lines to the generated spec file.
+#
+# .. variable:: CPACK_RPM_PACKAGE_DEBUG
+#
+#  Toggle CPackRPM debug output.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be set when invoking cpack in order to trace debug information
+#  during CPack RPM run. For example you may launch CPack like this::
+#
+#   cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
+#
+# .. variable:: CPACK_RPM_USER_BINARY_SPECFILE
+#               CPACK_RPM_<componentName>_USER_BINARY_SPECFILE
+#
+#  A user provided spec file.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be set by the user in order to specify a USER binary spec file
+#  to be used by CPackRPM instead of generating the file.
+#  The specified file will be processed by configure_file( @ONLY).
+#
+# .. variable:: CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
+#
+#  Spec file template.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  If set CPack will generate a template for USER specified binary
+#  spec file and stop with an error. For example launch CPack like this::
+#
+#   cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
+#
+#  The user may then use this file in order to hand-craft is own
+#  binary spec file which may be used with
+#  :variable:`CPACK_RPM_USER_BINARY_SPECFILE`.
+#
+# .. variable:: CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
+#               CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
+#
+#  Path to file containing pre (un)install script.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to embed a pre (un)installation script in the spec file.
+#  The referred script file (or both) will be read and directly
+#  put after the ``%pre`` or ``%preun`` section
+#  If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install
+#  script for each component can be overridden with
+#  ``CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE`` and
+#  ``CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE``.
+#  One may verify which scriptlet has been included with::
+#
+#   rpm -qp --scripts  package.rpm
+#
+# .. variable:: CPACK_RPM_POST_INSTALL_SCRIPT_FILE
+#               CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
+#
+#  Path to file containing post (un)install script.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to embed a post (un)installation script in the spec file.
+#  The referred script file (or both) will be read and directly
+#  put after the ``%post`` or ``%postun`` section.
+#  If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install
+#  script for each component can be overridden with
+#  ``CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE`` and
+#  ``CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE``.
+#  One may verify which scriptlet has been included with::
+#
+#   rpm -qp --scripts  package.rpm
+#
+# .. variable:: CPACK_RPM_USER_FILELIST
+#               CPACK_RPM_<COMPONENT>_USER_FILELIST
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to explicitly specify ``%(<directive>)`` file line
+#  in the spec file. Like ``%config(noreplace)`` or any other directive
+#  that be found in the ``%files`` section. You can have multiple directives
+#  per line, as in ``%attr(600,root,root) %config(noreplace)``. Since
+#  CPackRPM is generating the list of files (and directories) the user
+#  specified files of the ``CPACK_RPM_<COMPONENT>_USER_FILELIST`` list will
+#  be removed from the generated list. If referring to directories do
+#  not add a trailing slash.
+#
+# .. variable:: CPACK_RPM_CHANGELOG_FILE
+#
+#  RPM changelog file.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to embed a changelog in the spec file.
+#  The referred file will be read and directly put after the ``%changelog``
+#  section.
+#
+# .. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
+#
+#  list of path to be excluded.
+#
+#  * Mandatory : NO
+#  * Default   : /etc /etc/init.d /usr /usr/bin /usr/include /usr/lib
+#                /usr/libx32 /usr/lib64 /usr/share /usr/share/aclocal
+#                /usr/share/doc
+#
+#  May be used to exclude path (directories or files) from the auto-generated
+#  list of paths discovered by CPack RPM. The defaut value contains a
+#  reasonable set of values if the variable is not defined by the user. If the
+#  variable is defined by the user then CPackRPM will NOT any of the default
+#  path. If you want to add some path to the default list then you can use
+#  :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION` variable.
+#
+# .. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
+#
+#  additional list of path to be excluded.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to add more exclude path (directories or files) from the initial
+#  default list of excluded paths. See
+#  :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST`.
+#
+# .. variable:: CPACK_RPM_RELOCATION_PATHS
+#
+#  Packages relocation paths list.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to specify more than one relocation path per relocatable RPM.
+#  Variable contains a list of relocation paths that if relative are prefixed
+#  by the value of :variable:`CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX` or by the
+#  value of :variable:`CPACK_PACKAGING_INSTALL_PREFIX` if the component version
+#  is not provided.
+#  Variable is not component based as its content can be used to set a different
+#  path prefix for e.g. binary dir and documentation dir at the same time.
+#  Only prefixes that are required by a certain component are added to that
+#  component - component must contain at least one file/directory/symbolic link
+#  with :variable:`CPACK_RPM_RELOCATION_PATHS` prefix for a certain relocation
+#  path to be added. Package will not contain any relocation paths if there are
+#  no files/directories/symbolic links on any of the provided prefix locations.
+#  Packages that either do not contain any relocation paths or contain
+#  files/directories/symbolic links that are outside relocation paths print
+#  out an ``AUTHOR_WARNING`` that RPM will be partially relocatable.
+#
+# .. variable:: CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+#
+#  Per component relocation path install prefix.
+#
+#  * Mandatory : NO
+#  * Default   : CPACK_PACKAGING_INSTALL_PREFIX
+#
+#  May be used to set per component :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
+#  for relocatable RPM packages.
+#
+# .. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
+#               CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
+#
+#  Removal of default install prefix from relocation paths list.
+#
+#  * Mandatory : NO
+#  * Default   : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+#                are treated as one of relocation paths
+#
+#  May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+#  from relocatable RPM prefix paths.
+#
+# .. variable:: CPACK_RPM_ADDITIONAL_MAN_DIRS
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set additional man dirs that could potentially be compressed
+#  by brp-compress RPM macro. Variable content must be a list of regular
+#  expressions that point to directories containing man files or to man files
+#  directly. Note that in order to compress man pages a path must also be
+#  present in brp-compress RPM script and that brp-compress script must be
+#  added to RPM configuration by the operating system.
+#
+#  Regular expressions that are added by default were taken from brp-compress
+#  RPM macro:
+#
+#  - /usr/man/man.*
+#  - /usr/man/.*/man.*
+#  - /usr/info.*
+#  - /usr/share/man/man.*
+#  - /usr/share/man/.*/man.*
+#  - /usr/share/info.*
+#  - /usr/kerberos/man.*
+#  - /usr/X11R6/man/man.*
+#  - /usr/lib/perl5/man/man.*
+#  - /usr/share/doc/.*/man/man.*
+#  - /usr/lib/.*/man/man.*
+#
+# .. variable:: CPACK_RPM_DEFAULT_USER
+#               CPACK_RPM_<compName>_DEFAULT_USER
+#
+#  default user ownership of RPM content
+#
+#  * Mandatory : NO
+#  * Default   : root
+#
+#  Value should be user name and not UID.
+#  Note that <compName> must be in upper-case.
+#
+# .. variable:: CPACK_RPM_DEFAULT_GROUP
+#               CPACK_RPM_<compName>_DEFAULT_GROUP
+#
+#  default group ownership of RPM content
+#
+#  * Mandatory : NO
+#  * Default   : root
+#
+#  Value should be group name and not GID.
+#  Note that <compName> must be in upper-case.
+#
+# .. variable:: CPACK_RPM_DEFAULT_FILE_PERMISSIONS
+#               CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
+#
+#  default permissions used for packaged files
+#
+#  * Mandatory : NO
+#  * Default   : - (system default)
+#
+#  Accepted values are lists with ``PERMISSIONS``. Valid permissions
+#  are:
+#
+#  - OWNER_READ
+#  - OWNER_WRITE
+#  - OWNER_EXECUTE
+#  - GROUP_READ
+#  - GROUP_WRITE
+#  - GROUP_EXECUTE
+#  - WORLD_READ
+#  - WORLD_WRITE
+#  - WORLD_EXECUTE
+#
+#  Note that <compName> must be in upper-case.
+#
+# .. variable:: CPACK_RPM_DEFAULT_DIR_PERMISSIONS
+#               CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
+#
+#  default permissions used for packaged directories
+#
+#  * Mandatory : NO
+#  * Default   : - (system default)
+#
+#  Accepted values are lists with PERMISSIONS. Valid permissions
+#  are the same as for :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`.
+#  Note that <compName> must be in upper-case.
+#
+# Packaging of Symbolic Links
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# CPackRPM supports packaging of symbolic links::
+#
+#   execute_process(COMMAND ${CMAKE_COMMAND}
+#     -E create_symlink <relative_path_location> <symlink_name>)
+#   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/<symlink_name>
+#     DESTINATION <symlink_location> COMPONENT libraries)
+#
+# Symbolic links will be optimized (paths will be shortened if possible)
+# before being added to the package or if multiple relocation paths are
+# detected, a post install symlink relocation script will be generated.
+#
+# Symbolic links may point to locations that are not packaged by the same
+# package (either a different component or even not packaged at all) but
+# those locations will be treated as if they were a part of the package
+# while determining if symlink should be either created or present in a
+# post install script - depending on relocation paths.
+#
+# Symbolic links that point to locations outside packaging path produce a
+# warning and are treated as non relocatable permanent symbolic links.
+#
+# Currently there are a few limitations though:
+#
+# * For component based packaging component interdependency is not checked
+#   when processing symbolic links. Symbolic links pointing to content of
+#   a different component are treated the same way as if pointing to location
+#   that will not be packaged.
+#
+# * Symbolic links pointing to a location through one or more intermediate
+#   symbolic links will not be handled differently - if the intermediate
+#   symbolic link(s) is also on a relocatable path, relocating it during
+#   package installation may cause initial symbolic link to point to an
+#   invalid location.
+#
+# Packaging of debug information
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# Debuginfo packages contain debug symbols and sources for debugging packaged
+# binaries.
+#
+# Debuginfo RPM packaging has it's own set of variables:
+#
+# .. variable:: CPACK_RPM_DEBUGINFO_PACKAGE
+#               CPACK_RPM_<component>_DEBUGINFO_PACKAGE
+#
+#  Enable generation of debuginfo RPM package(s).
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+# .. note::
+#
+#  Binaries must contain debug symbols before packaging so use either ``Debug``
+#  or ``RelWithDebInfo`` for :variable:`CMAKE_BUILD_TYPE` variable value.
+#
+# .. note::
+#
+#  Packages generated from packages without binary files, with binary files but
+#  without execute permissions or without debug symbols will be empty.
+#
+# .. variable:: CPACK_BUILD_SOURCE_DIRS
+#
+#  Provides locations of root directories of source files from which binaries
+#  were built.
+#
+#  * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set
+#  * Default   : -
+#
+# .. note::
+#
+#  For CMake project :variable:`CPACK_BUILD_SOURCE_DIRS` is set by default to
+#  point to :variable:`CMAKE_SOURCE_DIR` and :variable:`CMAKE_BINARY_DIR` paths.
+#
+# .. note::
+#
+#  Sources with path prefixes that do not fall under any location provided with
+#  :variable:`CPACK_BUILD_SOURCE_DIRS` will not be present in debuginfo package.
+#
+# .. variable:: CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
+#               CPACK_RPM_<component>_BUILD_SOURCE_DIRS_PREFIX
+#
+#  Prefix of location where sources will be placed during package installation.
+#
+#  * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set
+#  * Default   : "/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>" and
+#                for component packaging "/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>-<component>"
+#
+# .. note::
+#
+#  Each source path prefix is additionaly suffixed by ``src_<index>`` where
+#  index is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS`
+#  variable. This produces ``<CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX>/src_<index>``
+#  replacement path.
+#  Limitation is that replaced path part must be shorter or of equal
+#  length than the length of its replacement. If that is not the case either
+#  :variable:`CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX` variable has to be set to
+#  a shorter path or source directories must be placed on a longer path.
+#
+# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS
+#
+#  Directories containing sources that should be excluded from debuginfo packages.
+#
+#  * Mandatory : NO
+#  * Default   : "/usr /usr/src /usr/src/debug"
+#
+#  Listed paths are owned by other RPM packages and should therefore not be
+#  deleted on debuginfo package uninstallation.
+#
+# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION
+#
+#  Paths that should be appended to :variable:`CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS`
+#  for exclusion.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+# .. variable:: CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
+#
+#  Create a single debuginfo package even if components packaging is set.
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+#  When this variable is enabled it produces a single debuginfo package even if
+#  component packaging is enabled.
+#
+#  When using this feature in combination with components packaging and there is
+#  more than one component this variable requires :variable:`CPACK_RPM_MAIN_COMPONENT`
+#  to be set.
+#
+# .. note::
+#
+#  If none of the :variable:`CPACK_RPM_<component>_DEBUGINFO_PACKAGE` variables
+#  is set then :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is automatically set to
+#  ``ON`` when :variable:`CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE` is set.
+#
+# .. variable:: CPACK_RPM_DEBUGINFO_FILE_NAME
+#               CPACK_RPM_<component>_DEBUGINFO_FILE_NAME
+#
+#  Debuginfo package file name.
+#
+#  * Mandatory : NO
+#  * Default   : rpmbuild tool generated package file name
+#
+#  Alternatively provided debuginfo package file name must end with ``.rpm``
+#  suffix and should differ from file names of other generated packages.
+#
+#  Variable may contain ``@cpack_component@`` placeholder which will be
+#  replaced by component name if component packaging is enabled otherwise it
+#  deletes the placeholder.
+#
+#  Setting the variable to ``RPM-DEFAULT`` may be used to explicitly set
+#  filename generation to default.
+#
+# .. note::
+#
+#  :variable:`CPACK_RPM_FILE_NAME` also supports rpmbuild tool generated package
+#  file name - disabled by default but can be enabled by setting the variable to
+#  ``RPM-DEFAULT``.
+#
+# Packaging of sources (SRPM)
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# SRPM packaging is enabled by setting :variable:`CPACK_RPM_PACKAGE_SOURCES`
+# variable while usually using :variable:`CPACK_INSTALLED_DIRECTORIES` variable
+# to provide directory containing CMakeLists.txt and source files.
+#
+# For CMake projects SRPM package would be product by executing:
+#
+# ``cpack -G RPM --config ./CPackSourceConfig.cmake``
+#
+# .. note::
+#
+#  Produced SRPM package is expected to be built with :manual:`cmake(1)` executable
+#  and packaged with :manual:`cpack(1)` executable so CMakeLists.txt has to be
+#  located in root source directory and must be able to generate binary rpm
+#  packages by executing ``cpack -G`` command. The two executables as well as
+#  rpmbuild must also be present when generating binary rpm packages from the
+#  produced SRPM package.
+#
+# Once the SRPM package is generated it can be used to generate binary packages
+# by creating a directory structure for rpm generation and executing rpmbuild
+# tool:
+#
+# ``mkdir -p build_dir/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}``
+# ``rpmbuild --define "_topdir <path_to_build_dir>" --rebuild <SRPM_file_name>``
+#
+# Generated packages will be located in build_dir/RPMS directory or its sub
+# directories.
+#
+# .. note::
+#
+#  SRPM package internally uses CPack/RPM generator to generate binary packages
+#  so CMakeScripts.txt can decide during the SRPM to binary rpm generation step
+#  what content the package(s) should have as well as how they should be packaged
+#  (monolithic or components). CMake can decide this for e.g. by reading environment
+#  variables set by the package manager before starting the process of generating
+#  binary rpm packages. This way a single SRPM package can be used to produce
+#  different binary rpm packages on different platforms depending on the platform's
+#  packaging rules.
+#
+# Source RPM packaging has it's own set of variables:
+#
+# .. variable:: CPACK_RPM_PACKAGE_SOURCES
+#
+#  Should the content be packaged as a source rpm (default is binary rpm).
+#
+#  * Mandatory : NO
+#  * Default   : OFF
+#
+# .. note::
+#
+#  For cmake projects :variable:`CPACK_RPM_PACKAGE_SOURCES` variable is set
+#  to ``OFF`` in CPackConfig.cmake and ``ON`` in CPackSourceConfig.cmake
+#  generated files.
+#
+# .. variable:: CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
+#
+#  Additional command-line parameters provided to :manual:`cmake(1)` executable.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+# .. variable:: CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
+#
+#  Packaging install prefix that would be provided in :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
+#  variable for producing binary RPM packages.
+#
+#  * Mandatory : YES
+#  * Default   : "/"
+#
+# .. VARIABLE:: CPACK_RPM_BUILDREQUIRES
+#
+#  List of source rpm build dependencies.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set source RPM build dependencies (BuildRequires). Note that
+#  you must enclose the complete build requirements string between quotes, for
+#  example::
+#
+#   set(CPACK_RPM_BUILDREQUIRES "python >= 2.5.0, cmake >= 2.8")
+
+# Author: Eric Noulard with the help of Alexander Neundorf.
+
+function(get_unix_permissions_octal_notation PERMISSIONS_VAR RETURN_VAR)
+  set(PERMISSIONS ${${PERMISSIONS_VAR}})
+  list(LENGTH PERMISSIONS PERM_LEN_PRE)
+  list(REMOVE_DUPLICATES PERMISSIONS)
+  list(LENGTH PERMISSIONS PERM_LEN_POST)
+
+  if(NOT ${PERM_LEN_PRE} EQUAL ${PERM_LEN_POST})
+    message(FATAL_ERROR "${PERMISSIONS_VAR} contains duplicate values.")
+  endif()
+
+  foreach(PERMISSION_TYPE "OWNER" "GROUP" "WORLD")
+    set(${PERMISSION_TYPE}_PERMISSIONS 0)
+
+    foreach(PERMISSION ${PERMISSIONS})
+      if("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_READ")
+        math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 4")
+      elseif("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_WRITE")
+        math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 2")
+      elseif("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_EXECUTE")
+        math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 1")
+      elseif(PERMISSION MATCHES "${PERMISSION_TYPE}.*")
+        message(FATAL_ERROR "${PERMISSIONS_VAR} contains invalid values.")
+      endif()
+    endforeach()
+  endforeach()
+
+  set(${RETURN_VAR} "${OWNER_PERMISSIONS}${GROUP_PERMISSIONS}${WORLD_PERMISSIONS}" PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_prepare_relocation_paths)
+  # set appropriate prefix, remove possible trailing slash and convert backslashes to slashes
+  if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX)
+    file(TO_CMAKE_PATH "${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX}" PATH_PREFIX)
+  elseif(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_PREFIX)
+    file(TO_CMAKE_PATH "${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_PREFIX}" PATH_PREFIX)
+  else()
+    file(TO_CMAKE_PATH "${CPACK_PACKAGING_INSTALL_PREFIX}" PATH_PREFIX)
+  endif()
+
+  set(RPM_RELOCATION_PATHS "${CPACK_RPM_RELOCATION_PATHS}")
+  list(REMOVE_DUPLICATES RPM_RELOCATION_PATHS)
+
+  # set base path prefix
+  if(EXISTS "${WDIR}/${PATH_PREFIX}")
+    if(NOT CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION AND
+       NOT CPACK_RPM_NO_${CPACK_RPM_PACKAGE_COMPONENT}_INSTALL_PREFIX_RELOCATION AND
+       NOT CPACK_RPM_NO_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_INSTALL_PREFIX_RELOCATION)
+      string(APPEND TMP_RPM_PREFIXES "Prefix: ${PATH_PREFIX}\n")
+      list(APPEND RPM_USED_PACKAGE_PREFIXES "${PATH_PREFIX}")
+
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: removing '${PATH_PREFIX}' from relocation paths")
+      endif()
+    endif()
+  endif()
+
+  # set other path prefixes
+  foreach(RELOCATION_PATH ${RPM_RELOCATION_PATHS})
+    if(IS_ABSOLUTE "${RELOCATION_PATH}")
+      set(PREPARED_RELOCATION_PATH "${RELOCATION_PATH}")
+    elseif(PATH_PREFIX STREQUAL "/")
+      # don't prefix path with a second slash as "//" is treated as network path
+      # by get_filename_component() so it remains in path even inside rpm
+      # package where it may cause problems with relocation
+      set(PREPARED_RELOCATION_PATH "/${RELOCATION_PATH}")
+    else()
+      set(PREPARED_RELOCATION_PATH "${PATH_PREFIX}/${RELOCATION_PATH}")
+    endif()
+
+    # handle cases where path contains extra slashes (e.g. /a//b/ instead of
+    # /a/b)
+    get_filename_component(PREPARED_RELOCATION_PATH
+      "${PREPARED_RELOCATION_PATH}" ABSOLUTE)
+
+    if(EXISTS "${WDIR}/${PREPARED_RELOCATION_PATH}")
+      string(APPEND TMP_RPM_PREFIXES "Prefix: ${PREPARED_RELOCATION_PATH}\n")
+      list(APPEND RPM_USED_PACKAGE_PREFIXES "${PREPARED_RELOCATION_PATH}")
+    endif()
+  endforeach()
+
+  # warn about all the paths that are not relocatable
+  cmake_policy(PUSH)
+    # Tell file(GLOB_RECURSE) not to follow directory symlinks
+    # even if the project does not set this policy to NEW.
+    cmake_policy(SET CMP0009 NEW)
+    file(GLOB_RECURSE FILE_PATHS_ "${WDIR}/*")
+  cmake_policy(POP)
+  foreach(TMP_PATH ${FILE_PATHS_})
+    string(LENGTH "${WDIR}" WDIR_LEN)
+    string(SUBSTRING "${TMP_PATH}" ${WDIR_LEN} -1 TMP_PATH)
+    unset(TMP_PATH_FOUND_)
+
+    foreach(RELOCATION_PATH ${RPM_USED_PACKAGE_PREFIXES})
+      file(RELATIVE_PATH REL_PATH_ "${RELOCATION_PATH}" "${TMP_PATH}")
+      string(SUBSTRING "${REL_PATH_}" 0 2 PREFIX_)
+
+      if(NOT "${PREFIX_}" STREQUAL "..")
+        set(TPM_PATH_FOUND_ TRUE)
+        break()
+      endif()
+    endforeach()
+
+    if(NOT TPM_PATH_FOUND_)
+      message(AUTHOR_WARNING "CPackRPM:Warning: Path ${TMP_PATH} is not on one of the relocatable paths! Package will be partially relocatable.")
+    endif()
+  endforeach()
+
+  set(RPM_USED_PACKAGE_PREFIXES "${RPM_USED_PACKAGE_PREFIXES}" PARENT_SCOPE)
+  set(TMP_RPM_PREFIXES "${TMP_RPM_PREFIXES}" PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_prepare_content_list)
+  # get files list
+  cmake_policy(PUSH)
+    cmake_policy(SET CMP0009 NEW)
+    file(GLOB_RECURSE CPACK_RPM_INSTALL_FILES LIST_DIRECTORIES true RELATIVE "${WDIR}" "${WDIR}/*")
+  cmake_policy(POP)
+  set(CPACK_RPM_INSTALL_FILES "/${CPACK_RPM_INSTALL_FILES}")
+  string(REPLACE ";" ";/" CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}")
+
+  # if we are creating a relocatable package, omit parent directories of
+  # CPACK_RPM_PACKAGE_PREFIX. This is achieved by building a "filter list"
+  # which is passed to the find command that generates the content-list
+  if(CPACK_RPM_PACKAGE_RELOCATABLE)
+    # get a list of the elements in CPACK_RPM_PACKAGE_PREFIXES that are
+    # destinct parent paths of other relocation paths and remove the
+    # final element (so the install-prefix dir itself is not omitted
+    # from the RPM's content-list)
+    list(SORT RPM_USED_PACKAGE_PREFIXES)
+    set(_DISTINCT_PATH "NOT_SET")
+    foreach(_RPM_RELOCATION_PREFIX ${RPM_USED_PACKAGE_PREFIXES})
+      if(NOT "${_RPM_RELOCATION_PREFIX}" MATCHES "${_DISTINCT_PATH}/.*")
+        set(_DISTINCT_PATH "${_RPM_RELOCATION_PREFIX}")
+
+        string(REPLACE "/" ";" _CPACK_RPM_PACKAGE_PREFIX_ELEMS " ${_RPM_RELOCATION_PREFIX}")
+        cmake_policy(PUSH)
+          cmake_policy(SET CMP0007 NEW)
+          list(REMOVE_AT _CPACK_RPM_PACKAGE_PREFIX_ELEMS -1)
+        cmake_policy(POP)
+        unset(_TMP_LIST)
+        # Now generate all of the parent dirs of the relocation path
+        foreach(_PREFIX_PATH_ELEM ${_CPACK_RPM_PACKAGE_PREFIX_ELEMS})
+          list(APPEND _TMP_LIST "${_PREFIX_PATH_ELEM}")
+          string(REPLACE ";" "/" _OMIT_DIR "${_TMP_LIST}")
+          separate_arguments(_OMIT_DIR)
+          list(APPEND _RPM_DIRS_TO_OMIT ${_OMIT_DIR})
+        endforeach()
+      endif()
+    endforeach()
+  endif()
+
+  if(CPACK_RPM_PACKAGE_DEBUG)
+    message("CPackRPM:Debug: Initial list of path to OMIT in RPM: ${_RPM_DIRS_TO_OMIT}")
+  endif()
+
+  if(NOT DEFINED CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST)
+    set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST /etc /etc/init.d /usr /usr/bin
+        /usr/include /usr/lib /usr/libx32 /usr/lib64
+        /usr/share /usr/share/aclocal /usr/share/doc )
+    if(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION)
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: Adding ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION} to builtin omit list.")
+      endif()
+      list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST "${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION}")
+    endif()
+  endif()
+
+  if(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST= ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST}")
+    endif()
+    list(APPEND _RPM_DIRS_TO_OMIT ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST})
+  endif()
+
+  if(CPACK_RPM_PACKAGE_DEBUG)
+    message("CPackRPM:Debug: Final list of path to OMIT in RPM: ${_RPM_DIRS_TO_OMIT}")
+  endif()
+
+  list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES ${_RPM_DIRS_TO_OMIT})
+
+  # add man paths that will be compressed
+  # (copied from /usr/lib/rpm/brp-compress - script that does the actual
+  # compressing)
+  list(APPEND MAN_LOCATIONS "/usr/man/man.*" "/usr/man/.*/man.*" "/usr/info.*"
+    "/usr/share/man/man.*" "/usr/share/man/.*/man.*" "/usr/share/info.*"
+    "/usr/kerberos/man.*" "/usr/X11R6/man/man.*" "/usr/lib/perl5/man/man.*"
+    "/usr/share/doc/.*/man/man.*" "/usr/lib/.*/man/man.*")
+
+  if(CPACK_RPM_ADDITIONAL_MAN_DIRS)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: CPACK_RPM_ADDITIONAL_MAN_DIRS= ${CPACK_RPM_ADDITIONAL_MAN_DIRS}")
+    endif()
+    list(APPEND MAN_LOCATIONS ${CPACK_RPM_ADDITIONAL_MAN_DIRS})
+  endif()
+
+  foreach(PACK_LOCATION IN LISTS CPACK_RPM_INSTALL_FILES)
+    foreach(MAN_LOCATION IN LISTS MAN_LOCATIONS)
+      # man pages are files inside a certain location
+      if(PACK_LOCATION MATCHES "${MAN_LOCATION}/"
+        AND NOT IS_DIRECTORY "${WDIR}${PACK_LOCATION}"
+        AND NOT IS_SYMLINK "${WDIR}${PACK_LOCATION}")
+        list(FIND CPACK_RPM_INSTALL_FILES "${PACK_LOCATION}" INDEX)
+        # insert file location that covers compressed man pages
+        # even if using a wildcard causes duplicates as those are
+        # handled by RPM and we still keep the same file list
+        # in spec file - wildcard only represents file type (e.g. .gz)
+        list(INSERT CPACK_RPM_INSTALL_FILES ${INDEX} "${PACK_LOCATION}*")
+        # remove file location that doesn't cover compressed man pages
+        math(EXPR INDEX ${INDEX}+1)
+        list(REMOVE_AT CPACK_RPM_INSTALL_FILES ${INDEX})
+
+        break()
+      endif()
+    endforeach()
+  endforeach()
+
+  set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}" PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_symlink_get_relocation_prefixes LOCATION PACKAGE_PREFIXES RETURN_VARIABLE)
+  foreach(PKG_PREFIX IN LISTS PACKAGE_PREFIXES)
+    string(REGEX MATCH "^${PKG_PREFIX}/.*" FOUND_ "${LOCATION}")
+    if(FOUND_)
+      list(APPEND TMP_PREFIXES "${PKG_PREFIX}")
+    endif()
+  endforeach()
+
+  set(${RETURN_VARIABLE} "${TMP_PREFIXES}" PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_symlink_create_relocation_script PACKAGE_PREFIXES)
+  list(LENGTH PACKAGE_PREFIXES LAST_INDEX)
+  set(SORTED_PACKAGE_PREFIXES "${PACKAGE_PREFIXES}")
+  list(SORT SORTED_PACKAGE_PREFIXES)
+  list(REVERSE SORTED_PACKAGE_PREFIXES)
+  math(EXPR LAST_INDEX ${LAST_INDEX}-1)
+
+  foreach(SYMLINK_INDEX RANGE ${LAST_INDEX})
+    list(GET SORTED_PACKAGE_PREFIXES ${SYMLINK_INDEX} SRC_PATH)
+    list(FIND PACKAGE_PREFIXES "${SRC_PATH}" SYMLINK_INDEX) # reverse magic
+    string(LENGTH "${SRC_PATH}" SRC_PATH_LEN)
+
+    set(PARTS_CNT 0)
+    set(SCRIPT_PART "if [ \"$RPM_INSTALL_PREFIX${SYMLINK_INDEX}\" != \"${SRC_PATH}\" ]; then\n")
+
+    # both paths relocated
+    foreach(POINT_INDEX RANGE ${LAST_INDEX})
+      list(GET SORTED_PACKAGE_PREFIXES ${POINT_INDEX} POINT_PATH)
+      list(FIND PACKAGE_PREFIXES "${POINT_PATH}" POINT_INDEX) # reverse magic
+      string(LENGTH "${POINT_PATH}" POINT_PATH_LEN)
+
+      if(_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX})
+        if("${SYMLINK_INDEX}" EQUAL "${POINT_INDEX}")
+          set(INDENT "")
+        else()
+          string(APPEND SCRIPT_PART "  if [ \"$RPM_INSTALL_PREFIX${POINT_INDEX}\" != \"${POINT_PATH}\" ]; then\n")
+          set(INDENT "  ")
+        endif()
+
+        foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX})
+          math(EXPR PARTS_CNT ${PARTS_CNT}+1)
+
+          math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
+          list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
+          string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
+
+          math(EXPR SRC_PATH_END ${SPLIT_INDEX}-${SRC_PATH_LEN})
+          string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${SRC_PATH_LEN} ${SRC_PATH_END} SYMLINK_)
+
+          math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1+${POINT_PATH_LEN})
+          string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
+
+          string(APPEND SCRIPT_PART "  ${INDENT}if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
+          string(APPEND SCRIPT_PART "    ${INDENT}ln -s \"$RPM_INSTALL_PREFIX${POINT_INDEX}${POINT_}\" \"$RPM_INSTALL_PREFIX${SYMLINK_INDEX}${SYMLINK_}\"\n")
+          string(APPEND SCRIPT_PART "    ${INDENT}CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}=true\n")
+          string(APPEND SCRIPT_PART "  ${INDENT}fi\n")
+        endforeach()
+
+        if(NOT "${SYMLINK_INDEX}" EQUAL "${POINT_INDEX}")
+          string(APPEND SCRIPT_PART "  fi\n")
+        endif()
+      endif()
+    endforeach()
+
+    # source path relocated
+    if(_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X)
+      foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X)
+        math(EXPR PARTS_CNT ${PARTS_CNT}+1)
+
+        math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
+        list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
+        string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
+
+        math(EXPR SRC_PATH_END ${SPLIT_INDEX}-${SRC_PATH_LEN})
+        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${SRC_PATH_LEN} ${SRC_PATH_END} SYMLINK_)
+
+        math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1)
+        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
+
+        string(APPEND SCRIPT_PART "  if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
+        string(APPEND SCRIPT_PART "    ln -s \"${POINT_}\" \"$RPM_INSTALL_PREFIX${SYMLINK_INDEX}${SYMLINK_}\"\n")
+        string(APPEND SCRIPT_PART "    CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}=true\n")
+        string(APPEND SCRIPT_PART "  fi\n")
+      endforeach()
+    endif()
+
+    if(PARTS_CNT)
+      set(SCRIPT "${SCRIPT_PART}")
+      string(APPEND SCRIPT "fi\n")
+    endif()
+  endforeach()
+
+  # point path relocated
+  foreach(POINT_INDEX RANGE ${LAST_INDEX})
+    list(GET SORTED_PACKAGE_PREFIXES ${POINT_INDEX} POINT_PATH)
+    list(FIND PACKAGE_PREFIXES "${POINT_PATH}" POINT_INDEX) # reverse magic
+    string(LENGTH "${POINT_PATH}" POINT_PATH_LEN)
+
+    if(_RPM_RELOCATION_SCRIPT_X_${POINT_INDEX})
+      string(APPEND SCRIPT "if [ \"$RPM_INSTALL_PREFIX${POINT_INDEX}\" != \"${POINT_PATH}\" ]; then\n")
+
+      foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_X_${POINT_INDEX})
+        math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
+        list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
+        string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
+
+        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} 0 ${SPLIT_INDEX} SYMLINK_)
+
+        math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1+${POINT_PATH_LEN})
+        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
+
+        string(APPEND SCRIPT "  if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
+        string(APPEND SCRIPT "    ln -s \"$RPM_INSTALL_PREFIX${POINT_INDEX}${POINT_}\" \"${SYMLINK_}\"\n")
+        string(APPEND SCRIPT "    CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}=true\n")
+        string(APPEND SCRIPT "  fi\n")
+      endforeach()
+
+      string(APPEND SCRIPT "fi\n")
+    endif()
+  endforeach()
+
+  # no path relocated
+  if(_RPM_RELOCATION_SCRIPT_X_X)
+    foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_X_X)
+      math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
+      list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
+      string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
+
+      string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} 0 ${SPLIT_INDEX} SYMLINK_)
+
+      math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1)
+      string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
+
+      string(APPEND SCRIPT "if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
+      string(APPEND SCRIPT "  ln -s \"${POINT_}\" \"${SYMLINK_}\"\n")
+      string(APPEND SCRIPT "fi\n")
+    endforeach()
+  endif()
+
+  set(RPM_SYMLINK_POSTINSTALL "${SCRIPT}" PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_symlink_add_for_relocation_script PACKAGE_PREFIXES SYMLINK SYMLINK_RELOCATION_PATHS POINT POINT_RELOCATION_PATHS)
+  list(LENGTH SYMLINK_RELOCATION_PATHS SYMLINK_PATHS_COUTN)
+  list(LENGTH POINT_RELOCATION_PATHS POINT_PATHS_COUNT)
+
+  list(APPEND _RPM_RELOCATION_SCRIPT_PAIRS "${SYMLINK}:${POINT}")
+  list(LENGTH _RPM_RELOCATION_SCRIPT_PAIRS PAIR_NO)
+
+  if(SYMLINK_PATHS_COUTN)
+    foreach(SYMLINK_RELOC_PATH IN LISTS SYMLINK_RELOCATION_PATHS)
+      list(FIND PACKAGE_PREFIXES "${SYMLINK_RELOC_PATH}" SYMLINK_INDEX)
+
+      # source path relocated
+      list(APPEND _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X "${PAIR_NO}")
+      list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X")
+
+      foreach(POINT_RELOC_PATH IN LISTS POINT_RELOCATION_PATHS)
+        list(FIND PACKAGE_PREFIXES "${POINT_RELOC_PATH}" POINT_INDEX)
+
+        # both paths relocated
+        list(APPEND _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX} "${PAIR_NO}")
+        list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX}")
+
+        # point path relocated
+        list(APPEND _RPM_RELOCATION_SCRIPT_X_${POINT_INDEX} "${PAIR_NO}")
+        list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_X_${POINT_INDEX}")
+      endforeach()
+    endforeach()
+  elseif(POINT_PATHS_COUNT)
+    foreach(POINT_RELOC_PATH IN LISTS POINT_RELOCATION_PATHS)
+      list(FIND PACKAGE_PREFIXES "${POINT_RELOC_PATH}" POINT_INDEX)
+
+      # point path relocated
+      list(APPEND _RPM_RELOCATION_SCRIPT_X_${POINT_INDEX} "${PAIR_NO}")
+      list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_X_${POINT_INDEX}")
+    endforeach()
+  endif()
+
+  # no path relocated
+  list(APPEND _RPM_RELOCATION_SCRIPT_X_X "${PAIR_NO}")
+  list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_X_X")
+
+  # place variables into parent scope
+  foreach(VAR IN LISTS RELOCATION_VARS)
+    set(${VAR} "${${VAR}}" PARENT_SCOPE)
+  endforeach()
+  set(_RPM_RELOCATION_SCRIPT_PAIRS "${_RPM_RELOCATION_SCRIPT_PAIRS}" PARENT_SCOPE)
+  set(REQUIRES_SYMLINK_RELOCATION_SCRIPT "true" PARENT_SCOPE)
+  set(DIRECTIVE "%ghost " PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_prepare_install_files INSTALL_FILES_LIST WDIR PACKAGE_PREFIXES IS_RELOCATABLE)
+  # Prepend directories in ${CPACK_RPM_INSTALL_FILES} with %dir
+  # This is necessary to avoid duplicate files since rpmbuild does
+  # recursion on its own when encountering a pathname which is a directory
+  # which is not flagged as %dir
+  string(STRIP "${INSTALL_FILES_LIST}" INSTALL_FILES_LIST)
+  string(REPLACE "\n" ";" INSTALL_FILES_LIST
+                          "${INSTALL_FILES_LIST}")
+  string(REPLACE "\"" "" INSTALL_FILES_LIST
+                          "${INSTALL_FILES_LIST}")
+  string(LENGTH "${WDIR}" WDR_LEN_)
+
+  list(SORT INSTALL_FILES_LIST) # make file order consistent on all platforms
+
+  foreach(F IN LISTS INSTALL_FILES_LIST)
+    unset(DIRECTIVE)
+
+    if(IS_SYMLINK "${WDIR}/${F}")
+      if(IS_RELOCATABLE)
+        # check that symlink has relocatable format
+        get_filename_component(SYMLINK_LOCATION_ "${WDIR}/${F}" DIRECTORY)
+        execute_process(COMMAND ls -la "${WDIR}/${F}"
+                  WORKING_DIRECTORY "${WDIR}"
+                  OUTPUT_VARIABLE SYMLINK_POINT_
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+        string(FIND "${SYMLINK_POINT_}" "->" SYMLINK_POINT_INDEX_ REVERSE)
+        math(EXPR SYMLINK_POINT_INDEX_ ${SYMLINK_POINT_INDEX_}+3)
+        string(LENGTH "${SYMLINK_POINT_}" SYMLINK_POINT_LENGTH_)
+
+        # get destination path
+        string(SUBSTRING "${SYMLINK_POINT_}" ${SYMLINK_POINT_INDEX_} ${SYMLINK_POINT_LENGTH_} SYMLINK_POINT_)
+
+        # check if path is relative or absolute
+        string(SUBSTRING "${SYMLINK_POINT_}" 0 1 SYMLINK_IS_ABSOLUTE_)
+
+        if(${SYMLINK_IS_ABSOLUTE_} STREQUAL "/")
+          # prevent absolute paths from having /../ or /./ section inside of them
+          get_filename_component(SYMLINK_POINT_ "${SYMLINK_POINT_}" ABSOLUTE)
+        else()
+          # handle relative path
+          get_filename_component(SYMLINK_POINT_ "${SYMLINK_LOCATION_}/${SYMLINK_POINT_}" ABSOLUTE)
+        endif()
+
+        # recalculate path length after conversion to canonical form
+        string(LENGTH "${SYMLINK_POINT_}" SYMLINK_POINT_LENGTH_)
+
+        if(SYMLINK_POINT_ MATCHES "${WDIR}/.*")
+          # only symlinks that are pointing inside the packaging structure should be checked for relocation
+          string(SUBSTRING "${SYMLINK_POINT_}" ${WDR_LEN_} -1 SYMLINK_POINT_WD_)
+          cpack_rpm_symlink_get_relocation_prefixes("${F}" "${PACKAGE_PREFIXES}" "SYMLINK_RELOCATIONS")
+          cpack_rpm_symlink_get_relocation_prefixes("${SYMLINK_POINT_WD_}" "${PACKAGE_PREFIXES}" "POINT_RELOCATIONS")
+
+          list(LENGTH SYMLINK_RELOCATIONS SYMLINK_RELOCATIONS_COUNT)
+          list(LENGTH POINT_RELOCATIONS POINT_RELOCATIONS_COUNT)
+        else()
+          # location pointed to is ouside WDR so it should be treated as a permanent symlink
+          set(SYMLINK_POINT_WD_ "${SYMLINK_POINT_}")
+
+          unset(SYMLINK_RELOCATIONS)
+          unset(POINT_RELOCATIONS)
+          unset(SYMLINK_RELOCATIONS_COUNT)
+          unset(POINT_RELOCATIONS_COUNT)
+
+          message(AUTHOR_WARNING "CPackRPM:Warning: Symbolic link '${F}' points to location that is outside packaging path! Link will possibly not be relocatable.")
+        endif()
+
+        if(SYMLINK_RELOCATIONS_COUNT AND POINT_RELOCATIONS_COUNT)
+          # find matching
+          foreach(SYMLINK_RELOCATION_PREFIX IN LISTS SYMLINK_RELOCATIONS)
+            list(FIND POINT_RELOCATIONS "${SYMLINK_RELOCATION_PREFIX}" FOUND_INDEX)
+            if(NOT ${FOUND_INDEX} EQUAL -1)
+              break()
+            endif()
+          endforeach()
+
+          if(NOT ${FOUND_INDEX} EQUAL -1)
+            # symlinks have the same subpath
+            if(${SYMLINK_RELOCATIONS_COUNT} EQUAL 1 AND ${POINT_RELOCATIONS_COUNT} EQUAL 1)
+              # permanent symlink
+              get_filename_component(SYMLINK_LOCATION_ "${F}" DIRECTORY)
+              file(RELATIVE_PATH FINAL_PATH_ ${SYMLINK_LOCATION_} ${SYMLINK_POINT_WD_})
+              execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${FINAL_PATH_}" "${WDIR}/${F}")
+            else()
+              # relocation subpaths
+              cpack_rpm_symlink_add_for_relocation_script("${PACKAGE_PREFIXES}" "${F}" "${SYMLINK_RELOCATIONS}"
+                  "${SYMLINK_POINT_WD_}" "${POINT_RELOCATIONS}")
+            endif()
+          else()
+            # not on the same relocation path
+            cpack_rpm_symlink_add_for_relocation_script("${PACKAGE_PREFIXES}" "${F}" "${SYMLINK_RELOCATIONS}"
+                "${SYMLINK_POINT_WD_}" "${POINT_RELOCATIONS}")
+          endif()
+        elseif(POINT_RELOCATIONS_COUNT)
+          # point is relocatable
+          cpack_rpm_symlink_add_for_relocation_script("${PACKAGE_PREFIXES}" "${F}" "${SYMLINK_RELOCATIONS}"
+              "${SYMLINK_POINT_WD_}" "${POINT_RELOCATIONS}")
+        else()
+          # is not relocatable or points to non relocatable path - permanent symlink
+          execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${SYMLINK_POINT_WD_}" "${WDIR}/${F}")
+        endif()
+      endif()
+    elseif(IS_DIRECTORY "${WDIR}/${F}")
+      set(DIRECTIVE "%dir ")
+    endif()
+
+    string(APPEND INSTALL_FILES "${DIRECTIVE}\"${F}\"\n")
+  endforeach()
+
+  if(REQUIRES_SYMLINK_RELOCATION_SCRIPT)
+    cpack_rpm_symlink_create_relocation_script("${PACKAGE_PREFIXES}")
+  endif()
+
+  set(RPM_SYMLINK_POSTINSTALL "${RPM_SYMLINK_POSTINSTALL}" PARENT_SCOPE)
+  set(CPACK_RPM_INSTALL_FILES "${INSTALL_FILES}" PARENT_SCOPE)
+endfunction()
+
+if(CMAKE_BINARY_DIR)
+  message(FATAL_ERROR "CPackRPM.cmake may only be used by CPack internally.")
+endif()
+
+if(NOT UNIX)
+  message(FATAL_ERROR "CPackRPM.cmake may only be used under UNIX.")
+endif()
+
+# We need to check if the binaries were compiled with debug symbols
+# because without them the package will be useless
+function(cpack_rpm_debugsymbol_check INSTALL_FILES WORKING_DIR)
+  if(NOT CPACK_BUILD_SOURCE_DIRS)
+    message(FATAL_ERROR "CPackRPM: CPACK_BUILD_SOURCE_DIRS variable is not set!"
+      " Required for debuginfo packaging. See documentation of"
+      " CPACK_RPM_DEBUGINFO_PACKAGE variable for details.")
+  endif()
+
+  # With objdump we should check the debug symbols
+  find_program(OBJDUMP_EXECUTABLE objdump)
+  if(NOT OBJDUMP_EXECUTABLE)
+    message(FATAL_ERROR "CPackRPM: objdump binary could not be found!"
+      " Required for debuginfo packaging. See documentation of"
+      " CPACK_RPM_DEBUGINFO_PACKAGE variable for details.")
+  endif()
+
+  # With debugedit we prepare source files list
+  find_program(DEBUGEDIT_EXECUTABLE debugedit "/usr/lib/rpm/")
+  if(NOT DEBUGEDIT_EXECUTABLE)
+    message(FATAL_ERROR "CPackRPM: debugedit binary could not be found!"
+      " Required for debuginfo packaging. See documentation of"
+      " CPACK_RPM_DEBUGINFO_PACKAGE variable for details.")
+  endif()
+
+  unset(mkdir_list_)
+  unset(cp_list_)
+  unset(additional_sources_)
+
+  foreach(F IN LISTS INSTALL_FILES)
+    if(IS_DIRECTORY "${WORKING_DIR}/${F}" OR IS_SYMLINK "${WORKING_DIR}/${F}")
+      continue()
+    endif()
+
+    execute_process(COMMAND "${OBJDUMP_EXECUTABLE}" -h ${WORKING_DIR}/${F}
+                    WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}"
+                    RESULT_VARIABLE OBJDUMP_EXEC_RESULT
+                    OUTPUT_VARIABLE OBJDUMP_OUT
+                    ERROR_QUIET)
+    # Check that if the given file was executable or not
+    if(NOT OBJDUMP_EXEC_RESULT)
+      string(FIND "${OBJDUMP_OUT}" "debug" FIND_RESULT)
+      if(FIND_RESULT GREATER -1)
+        set(index_ 0)
+        foreach(source_dir_ IN LISTS CPACK_BUILD_SOURCE_DIRS)
+          string(LENGTH "${source_dir_}" source_dir_len_)
+          string(LENGTH "${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}" debuginfo_dir_len)
+          if(source_dir_len_ LESS debuginfo_dir_len)
+            message(FATAL_ERROR "CPackRPM: source dir path '${source_dir_}' is"
+              " shorter than debuginfo sources dir path '${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}'!"
+              " Source dir path must be longer than debuginfo sources dir path."
+              " Set CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX variable to a shorter value"
+              " or make source dir path longer."
+              " Required for debuginfo packaging. See documentation of"
+              " CPACK_RPM_DEBUGINFO_PACKAGE variable for details.")
+          endif()
+
+          file(REMOVE "${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}/debugsources_add.list")
+          execute_process(COMMAND "${DEBUGEDIT_EXECUTABLE}" -b "${source_dir_}" -d "${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}" -i -l "${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}/debugsources_add.list" "${WORKING_DIR}/${F}"
+              RESULT_VARIABLE res_
+              OUTPUT_VARIABLE opt_
+              ERROR_VARIABLE err_
+            )
+
+          file(STRINGS
+            "${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}/debugsources_add.list"
+            sources_)
+          list(REMOVE_DUPLICATES sources_)
+
+          foreach(source_ IN LISTS sources_)
+            if(EXISTS "${source_dir_}/${source_}" AND NOT IS_DIRECTORY "${source_dir_}/${source_}")
+              get_filename_component(path_part_ "${source_}" DIRECTORY)
+              list(APPEND mkdir_list_ "%{buildroot}${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}/${path_part_}")
+              list(APPEND cp_list_ "cp \"${source_dir_}/${source_}\" \"%{buildroot}${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}/${path_part_}\"")
+
+              list(APPEND additional_sources_ "${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}/${source_}")
+            endif()
+          endforeach()
+
+          math(EXPR index_ "${index_} + 1")
+        endforeach()
+      else()
+        message(WARNING "CPackRPM: File: ${F} does not contain debug symbols. They will possibly be missing from debuginfo package!")
+      endif()
+    endif()
+  endforeach()
+
+  list(LENGTH mkdir_list_ len_)
+  if(len_)
+    list(REMOVE_DUPLICATES mkdir_list_)
+    unset(TMP_RPM_DEBUGINFO_INSTALL)
+    foreach(part_ IN LISTS mkdir_list_)
+      string(APPEND TMP_RPM_DEBUGINFO_INSTALL "mkdir -p \"${part_}\"\n")
+    endforeach()
+  endif()
+
+  list(LENGTH cp_list_ len_)
+  if(len_)
+    list(REMOVE_DUPLICATES cp_list_)
+    foreach(part_ IN LISTS cp_list_)
+      string(APPEND TMP_RPM_DEBUGINFO_INSTALL "${part_}\n")
+    endforeach()
+  endif()
+
+  if(NOT DEFINED CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS)
+    set(CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS /usr /usr/src /usr/src/debug)
+    if(CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION)
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: Adding ${CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION} to builtin omit list.")
+      endif()
+      list(APPEND CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS "${CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION}")
+    endif()
+  endif()
+  if(CPACK_RPM_PACKAGE_DEBUG)
+    message("CPackRPM:Debug: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS= ${CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS}")
+  endif()
+
+  list(LENGTH additional_sources_ len_)
+  if(len_)
+    list(REMOVE_DUPLICATES additional_sources_)
+    unset(additional_sources_all_)
+    foreach(source_ IN LISTS additional_sources_)
+      string(REPLACE "/" ";" split_source_ " ${source_}")
+      list(REMOVE_AT split_source_ 0)
+      unset(tmp_path_)
+      # Now generate all segments of the path
+      foreach(segment_ IN LISTS split_source_)
+        string(APPEND tmp_path_ "/${segment_}")
+        list(APPEND additional_sources_all_ "${tmp_path_}")
+      endforeach()
+    endforeach()
+
+    list(REMOVE_DUPLICATES additional_sources_all_)
+    list(REMOVE_ITEM additional_sources_all_
+      ${CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS})
+
+    unset(TMP_DEBUGINFO_ADDITIONAL_SOURCES)
+    foreach(source_ IN LISTS additional_sources_all_)
+      string(APPEND TMP_DEBUGINFO_ADDITIONAL_SOURCES "${source_}\n")
+    endforeach()
+  endif()
+
+  set(TMP_RPM_DEBUGINFO_INSTALL "${TMP_RPM_DEBUGINFO_INSTALL}" PARENT_SCOPE)
+  set(TMP_DEBUGINFO_ADDITIONAL_SOURCES "${TMP_DEBUGINFO_ADDITIONAL_SOURCES}"
+    PARENT_SCOPE)
+endfunction()
+
+function(cpack_rpm_variable_fallback OUTPUT_VAR_NAME)
+  set(FALLBACK_VAR_NAMES ${ARGN})
+
+  foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
+    if(${variable_name})
+      set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
+      break()
+    endif()
+  endforeach()
+endfunction()
+
+function(cpack_rpm_generate_package)
+  # rpmbuild is the basic command for building RPM package
+  # it may be a simple (symbolic) link to rpm command.
+  find_program(RPMBUILD_EXECUTABLE rpmbuild)
+
+  # Check version of the rpmbuild tool this would be easier to
+  # track bugs with users and CPackRPM debug mode.
+  # We may use RPM version in order to check for available version dependent features
+  if(RPMBUILD_EXECUTABLE)
+    execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --version
+                    OUTPUT_VARIABLE _TMP_VERSION
+                    ERROR_QUIET
+                    OUTPUT_STRIP_TRAILING_WHITESPACE)
+    string(REGEX REPLACE "^.* " ""
+           RPMBUILD_EXECUTABLE_VERSION
+           ${_TMP_VERSION})
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: rpmbuild version is <${RPMBUILD_EXECUTABLE_VERSION}>")
+    endif()
+  endif()
+
+  if(NOT RPMBUILD_EXECUTABLE)
+    message(FATAL_ERROR "RPM package requires rpmbuild executable")
+  endif()
+
+  # Display lsb_release output if DEBUG mode enable
+  # This will help to diagnose problem with CPackRPM
+  # because we will know on which kind of Linux we are
+  if(CPACK_RPM_PACKAGE_DEBUG)
+    find_program(LSB_RELEASE_EXECUTABLE lsb_release)
+    if(LSB_RELEASE_EXECUTABLE)
+      execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -a
+                      OUTPUT_VARIABLE _TMP_LSB_RELEASE_OUTPUT
+                      ERROR_QUIET
+                      OUTPUT_STRIP_TRAILING_WHITESPACE)
+      string(REGEX REPLACE "\n" ", "
+             LSB_RELEASE_OUTPUT
+             ${_TMP_LSB_RELEASE_OUTPUT})
+    else ()
+      set(LSB_RELEASE_OUTPUT "lsb_release not installed/found!")
+    endif()
+    message("CPackRPM:Debug: LSB_RELEASE  = ${LSB_RELEASE_OUTPUT}")
+  endif()
+
+  # We may use RPM version in the future in order
+  # to shut down warning about space in buildtree
+  # some recent RPM version should support space in different places.
+  # not checked [yet].
+  if(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
+    message(FATAL_ERROR "${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs.")
+  endif()
+
+  # If rpmbuild is found
+  # we try to discover alien since we may be on non RPM distro like Debian.
+  # In this case we may try to to use more advanced features
+  # like generating RPM directly from DEB using alien.
+  # FIXME feature not finished (yet)
+  find_program(ALIEN_EXECUTABLE alien)
+  if(ALIEN_EXECUTABLE)
+    message(STATUS "alien found, we may be on a Debian based distro.")
+  endif()
+
+  # Are we packaging components ?
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    string(TOUPPER ${CPACK_RPM_PACKAGE_COMPONENT} CPACK_RPM_PACKAGE_COMPONENT_UPPER)
+  endif()
+
+  set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}")
+
+  #
+  # Use user-defined RPM specific variables value
+  # or generate reasonable default value from
+  # CPACK_xxx generic values.
+  # The variables comes from the needed (mandatory or not)
+  # values found in the RPM specification file aka ".spec" file.
+  # The variables which may/should be defined are:
+  #
+
+  # CPACK_RPM_PACKAGE_SUMMARY (mandatory)
+
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_SUMMARY"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_SUMMARY"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_SUMMARY")
+  endif()
+
+  if(NOT CPACK_RPM_PACKAGE_SUMMARY)
+    if(CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+      set(CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
+    else()
+      # if neither var is defined lets use the name as summary
+      string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_SUMMARY)
+    endif()
+  endif()
+
+  # CPACK_RPM_PACKAGE_NAME (mandatory)
+  if(NOT CPACK_RPM_PACKAGE_NAME)
+    string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_NAME)
+  endif()
+
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    string(TOUPPER "${CPACK_RPM_MAIN_COMPONENT}"
+      CPACK_RPM_MAIN_COMPONENT_UPPER)
+
+    if(NOT CPACK_RPM_MAIN_COMPONENT_UPPER STREQUAL CPACK_RPM_PACKAGE_COMPONENT_UPPER)
+      string(APPEND CPACK_RPM_PACKAGE_NAME "-${CPACK_RPM_PACKAGE_COMPONENT}")
+
+      cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_NAME"
+        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_NAME"
+        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_NAME")
+    endif()
+  endif()
+
+  # CPACK_RPM_PACKAGE_VERSION (mandatory)
+  if(NOT CPACK_RPM_PACKAGE_VERSION)
+    if(NOT CPACK_PACKAGE_VERSION)
+      message(FATAL_ERROR "RPM package requires a package version")
+    endif()
+    set(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
+  endif()
+  # Replace '-' in version with '_'
+  # '-' character is  an Illegal RPM version character
+  # it is illegal because it is used to separate
+  # RPM "Version" from RPM "Release"
+  string(REPLACE "-" "_" CPACK_RPM_PACKAGE_VERSION ${CPACK_RPM_PACKAGE_VERSION})
+
+  # CPACK_RPM_PACKAGE_ARCHITECTURE (mandatory)
+  if(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
+    execute_process(COMMAND uname "-m"
+                    OUTPUT_VARIABLE CPACK_RPM_PACKAGE_ARCHITECTURE
+                    OUTPUT_STRIP_TRAILING_WHITESPACE)
+  else()
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: using user-specified build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
+    endif()
+  endif()
+
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_ARCHITECTURE"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_ARCHITECTURE"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_ARCHITECTURE")
+
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: using component build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
+    endif()
+  endif()
+
+  if(${CPACK_RPM_PACKAGE_ARCHITECTURE} STREQUAL "noarch")
+    set(TMP_RPM_BUILDARCH "Buildarch: ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
+  else()
+    set(TMP_RPM_BUILDARCH "")
+  endif()
+
+  # CPACK_RPM_PACKAGE_RELEASE
+  # The RPM release is the numbering of the RPM package ITSELF
+  # this is the version of the PACKAGING and NOT the version
+  # of the CONTENT of the package.
+  # You may well need to generate a new RPM package release
+  # without changing the version of the packaged software.
+  # This is the case when the packaging is buggy (not) the software :=)
+  # If not set, 1 is a good candidate
+  if(NOT CPACK_RPM_PACKAGE_RELEASE)
+    set(CPACK_RPM_PACKAGE_RELEASE "1")
+  endif()
+
+  if(CPACK_RPM_PACKAGE_RELEASE_DIST)
+    string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}")
+  endif()
+
+  # CPACK_RPM_PACKAGE_LICENSE
+  if(NOT CPACK_RPM_PACKAGE_LICENSE)
+    set(CPACK_RPM_PACKAGE_LICENSE "unknown")
+  endif()
+
+  # CPACK_RPM_PACKAGE_GROUP
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_GROUP"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_GROUP"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_GROUP")
+  endif()
+
+  if(NOT CPACK_RPM_PACKAGE_GROUP)
+    set(CPACK_RPM_PACKAGE_GROUP "unknown")
+  endif()
+
+  # CPACK_RPM_PACKAGE_VENDOR
+  if(NOT CPACK_RPM_PACKAGE_VENDOR)
+    if(CPACK_PACKAGE_VENDOR)
+      set(CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}")
+    else()
+      set(CPACK_RPM_PACKAGE_VENDOR "unknown")
+    endif()
+  endif()
+
+  # CPACK_RPM_PACKAGE_SOURCE
+  # The name of the source tarball in case we generate a source RPM
+
+  # CPACK_RPM_PACKAGE_DESCRIPTION
+  # The variable content may be either
+  #   - explicitly given by the user or
+  #   - filled with the content of CPACK_PACKAGE_DESCRIPTION_FILE
+  #     if it is defined
+  #   - set to a default value
+  #
+
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_DESCRIPTION"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_DESCRIPTION"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_DESCRIPTION"
+      "CPACK_COMPONENT_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DESCRIPTION")
+  endif()
+
+  if(NOT CPACK_RPM_PACKAGE_DESCRIPTION)
+    if(CPACK_PACKAGE_DESCRIPTION_FILE)
+      file(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_RPM_PACKAGE_DESCRIPTION)
+    else ()
+      set(CPACK_RPM_PACKAGE_DESCRIPTION "no package description available")
+    endif ()
+  endif ()
+
+  # CPACK_RPM_COMPRESSION_TYPE
+  #
+  if (CPACK_RPM_COMPRESSION_TYPE)
+     if(CPACK_RPM_PACKAGE_DEBUG)
+       message("CPackRPM:Debug: User Specified RPM compression type: ${CPACK_RPM_COMPRESSION_TYPE}")
+     endif()
+     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "lzma")
+       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.lzdio")
+     endif()
+     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "xz")
+       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w7.xzdio")
+     endif()
+     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "bzip2")
+       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.bzdio")
+     endif()
+     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "gzip")
+       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.gzdio")
+     endif()
+  else()
+     set(CPACK_RPM_COMPRESSION_TYPE_TMP "")
+  endif()
+
+  if(NOT CPACK_RPM_PACKAGE_SOURCES)
+    if(CPACK_PACKAGE_RELOCATABLE OR CPACK_RPM_PACKAGE_RELOCATABLE)
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: Trying to build a relocatable package")
+      endif()
+      if(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
+        message("CPackRPM:Warning: CPACK_SET_DESTDIR is set (=${CPACK_SET_DESTDIR}) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.")
+        set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE)
+      else()
+        set(CPACK_RPM_PACKAGE_PREFIX ${CPACK_PACKAGING_INSTALL_PREFIX}) # kept for back compatibility (provided external RPM spec files)
+        cpack_rpm_prepare_relocation_paths()
+        set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE)
+      endif()
+    endif()
+  else()
+    if(CPACK_RPM_PACKAGE_COMPONENT)
+      message(FATAL_ERROR "CPACK_RPM_PACKAGE_SOURCES parameter can not be used"
+        " in combination with CPACK_RPM_PACKAGE_COMPONENT parameter!")
+    endif()
+
+    set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE) # disable relocatable option if building source RPM
+  endif()
+
+  execute_process(
+    COMMAND "${RPMBUILD_EXECUTABLE}" --querytags
+    OUTPUT_VARIABLE RPMBUILD_TAG_LIST
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+  string(REPLACE "\n" ";" RPMBUILD_TAG_LIST "${RPMBUILD_TAG_LIST}")
+
+  if(CPACK_RPM_PACKAGE_EPOCH)
+    set(TMP_RPM_EPOCH "Epoch: ${CPACK_RPM_PACKAGE_EPOCH}")
+  endif()
+
+  # Check if additional fields for RPM spec header are given
+  # There may be some COMPONENT specific variables as well
+  # If component specific var is not provided we use the global one
+  # for each component
+  foreach(_RPM_SPEC_HEADER URL REQUIRES SUGGESTS PROVIDES OBSOLETES PREFIX CONFLICTS AUTOPROV AUTOREQ AUTOREQPROV REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN)
+
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: processing ${_RPM_SPEC_HEADER}")
+    endif()
+
+    if(CPACK_RPM_PACKAGE_COMPONENT)
+      cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}"
+        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER}"
+        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_${_RPM_SPEC_HEADER}")
+    endif()
+
+    if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER})
+      cmake_policy(PUSH)
+        cmake_policy(SET CMP0057 NEW)
+        # Prefix can be replaced by Prefixes but the old version stil works so we'll ignore it for now
+        # Requires* is a special case because it gets transformed to Requires(pre/post/preun/postun)
+        # Auto* is a special case because the tags can not be queried by querytags rpmbuild flag
+        set(special_case_tags_ PREFIX REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN AUTOPROV AUTOREQ AUTOREQPROV)
+        if(NOT _RPM_SPEC_HEADER IN_LIST RPMBUILD_TAG_LIST AND NOT _RPM_SPEC_HEADER IN_LIST special_case_tags_)
+          cmake_policy(POP)
+          message(AUTHOR_WARNING "CPackRPM:Warning: ${_RPM_SPEC_HEADER} not "
+              "supported in provided rpmbuild. Tag will not be used.")
+          continue()
+        endif()
+      cmake_policy(POP)
+
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: using CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}")
+      endif()
+
+      set(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}})
+    endif()
+
+    # Treat the RPM Spec keyword iff it has been properly defined
+    if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
+      # Transform NAME --> Name e.g. PROVIDES --> Provides
+      # The Upper-case first letter and lowercase tail is the
+      # appropriate value required in the final RPM spec file.
+      string(SUBSTRING ${_RPM_SPEC_HEADER} 1 -1 _PACKAGE_HEADER_TAIL)
+      string(TOLOWER "${_PACKAGE_HEADER_TAIL}" _PACKAGE_HEADER_TAIL)
+      string(SUBSTRING ${_RPM_SPEC_HEADER} 0 1 _PACKAGE_HEADER_NAME)
+      string(APPEND _PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_TAIL}")
+      # The following keywords require parentheses around the "pre" or "post" suffix in the final RPM spec file.
+      set(SCRIPTS_REQUIREMENTS_LIST REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN)
+      list(FIND SCRIPTS_REQUIREMENTS_LIST ${_RPM_SPEC_HEADER} IS_SCRIPTS_REQUIREMENT_FOUND)
+      if(NOT ${IS_SCRIPTS_REQUIREMENT_FOUND} EQUAL -1)
+        string(REPLACE "_" "(" _PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME}")
+        string(APPEND _PACKAGE_HEADER_NAME ")")
+      endif()
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: User defined ${_PACKAGE_HEADER_NAME}:\n ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
+      endif()
+      set(TMP_RPM_${_RPM_SPEC_HEADER} "${_PACKAGE_HEADER_NAME}: ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
+      unset(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
+    endif()
+  endforeach()
+
+  # CPACK_RPM_SPEC_INSTALL_POST
+  # May be used to define a RPM post intallation script
+  # for example setting it to "/bin/true" may prevent
+  # rpmbuild from stripping binaries.
+  if(CPACK_RPM_SPEC_INSTALL_POST)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: User defined CPACK_RPM_SPEC_INSTALL_POST = ${CPACK_RPM_SPEC_INSTALL_POST}")
+    endif()
+    set(TMP_RPM_SPEC_INSTALL_POST "%define __spec_install_post ${CPACK_RPM_SPEC_INSTALL_POST}")
+  endif()
+
+  # CPACK_RPM_POST_INSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE)
+  # CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE)
+  # May be used to embed a post (un)installation script in the spec file.
+  # The refered script file(s) will be read and directly
+  # put after the %post or %postun section
+  # ----------------------------------------------------------------
+  # CPACK_RPM_PRE_INSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE)
+  # CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE)
+  # May be used to embed a pre (un)installation script in the spec file.
+  # The refered script file(s) will be read and directly
+  # put after the %pre or %preun section
+  foreach(RPM_SCRIPT_FILE_TYPE_ "INSTALL" "UNINSTALL")
+    foreach(RPM_SCRIPT_FILE_TIME_ "PRE" "POST")
+      set("CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE"
+        "${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE}")
+
+      if(CPACK_RPM_PACKAGE_COMPONENT)
+        cpack_rpm_variable_fallback("CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE"
+          "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE"
+          "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE")
+      endif()
+
+      # Handle file if it has been specified
+      if(CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE)
+        if(EXISTS ${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE})
+          file(READ ${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE}
+            "CPACK_RPM_SPEC_${RPM_SCRIPT_FILE_TIME_}${RPM_SCRIPT_FILE_TYPE_}")
+        else()
+          message("CPackRPM:Warning: CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE <${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE}> does not exists - ignoring")
+        endif()
+      else()
+        # reset SPEC var value if no file has been specified
+        # (either globally or component-wise)
+        set("CPACK_RPM_SPEC_${RPM_SCRIPT_FILE_TIME_}${RPM_SCRIPT_FILE_TYPE_}" "")
+      endif()
+    endforeach()
+  endforeach()
+
+  # CPACK_RPM_CHANGELOG_FILE
+  # May be used to embed a changelog in the spec file.
+  # The refered file will be read and directly put after the %changelog section
+  if(CPACK_RPM_CHANGELOG_FILE)
+    if(EXISTS ${CPACK_RPM_CHANGELOG_FILE})
+      file(READ ${CPACK_RPM_CHANGELOG_FILE} CPACK_RPM_SPEC_CHANGELOG)
+    else()
+      message(SEND_ERROR "CPackRPM:Warning: CPACK_RPM_CHANGELOG_FILE <${CPACK_RPM_CHANGELOG_FILE}> does not exists - ignoring")
+    endif()
+  else()
+    set(CPACK_RPM_SPEC_CHANGELOG "* Sun Jul 4 2010 Eric Noulard <eric.noulard@gmail.com> - ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}\n  Generated by CPack RPM (no Changelog file were provided)")
+  endif()
+
+  # CPACK_RPM_SPEC_MORE_DEFINE
+  # This is a generated spec rpm file spaceholder
+  if(CPACK_RPM_SPEC_MORE_DEFINE)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: User defined more define spec line specified:\n ${CPACK_RPM_SPEC_MORE_DEFINE}")
+    endif()
+  endif()
+
+  # Now we may create the RPM build tree structure
+  set(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
+  message(STATUS "CPackRPM:Debug: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
+  # Prepare RPM build tree
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR})
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/tmp)
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/BUILD)
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/RPMS)
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SOURCES)
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SPECS)
+  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SRPMS)
+
+  # it seems rpmbuild can't handle spaces in the path
+  # neither escaping (as below) nor putting quotes around the path seem to help
+  #string(REGEX REPLACE " " "\\\\ " CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
+  set(CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
+
+  cpack_rpm_prepare_content_list()
+
+  # In component case, put CPACK_ABSOLUTE_DESTINATION_FILES_<COMPONENT>
+  #                   into CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
+  #         otherwise, put CPACK_ABSOLUTE_DESTINATION_FILES
+  # This must be done BEFORE the CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL handling
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    if(CPACK_ABSOLUTE_DESTINATION_FILES)
+      cpack_rpm_variable_fallback("COMPONENT_FILES_TAG"
+        "CPACK_ABSOLUTE_DESTINATION_FILES_${CPACK_RPM_PACKAGE_COMPONENT}"
+        "CPACK_ABSOLUTE_DESTINATION_FILES_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}")
+      set(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL "${${COMPONENT_FILES_TAG}}")
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: Handling Absolute Destination Files: <${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL}>")
+        message("CPackRPM:Debug: in component = ${CPACK_RPM_PACKAGE_COMPONENT}")
+      endif()
+    endif()
+  else()
+    if(CPACK_ABSOLUTE_DESTINATION_FILES)
+      set(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL "${CPACK_ABSOLUTE_DESTINATION_FILES}")
+    endif()
+  endif()
+
+  # In component case, set CPACK_RPM_USER_FILELIST_INTERNAL with CPACK_RPM_<COMPONENT>_USER_FILELIST.
+  set(CPACK_RPM_USER_FILELIST_INTERNAL "")
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    cpack_rpm_variable_fallback("CPACK_RPM_USER_FILELIST_INTERNAL"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_USER_FILELIST"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_USER_FILELIST")
+
+    if(CPACK_RPM_PACKAGE_DEBUG AND CPACK_RPM_USER_FILELIST_INTERNAL)
+      message("CPackRPM:Debug: Handling User Filelist: <${CPACK_RPM_USER_FILELIST_INTERNAL}>")
+      message("CPackRPM:Debug: in component = ${CPACK_RPM_PACKAGE_COMPONENT}")
+    endif()
+  elseif(CPACK_RPM_USER_FILELIST)
+    set(CPACK_RPM_USER_FILELIST_INTERNAL "${CPACK_RPM_USER_FILELIST}")
+  endif()
+
+  # Handle user specified file line list in CPACK_RPM_USER_FILELIST_INTERNAL
+  # Remove those files from CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
+  #                      or CPACK_RPM_INSTALL_FILES,
+  # hence it must be done before these auto-generated lists are processed.
+  if(CPACK_RPM_USER_FILELIST_INTERNAL)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: Handling User Filelist: <${CPACK_RPM_USER_FILELIST_INTERNAL}>")
+    endif()
+
+    # Create CMake list from CPACK_RPM_INSTALL_FILES
+    string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
+    string(REPLACE "\n" ";" CPACK_RPM_INSTALL_FILES_LIST
+                            "${CPACK_RPM_INSTALL_FILES_LIST}")
+    string(REPLACE "\"" "" CPACK_RPM_INSTALL_FILES_LIST
+                            "${CPACK_RPM_INSTALL_FILES_LIST}")
+
+    set(CPACK_RPM_USER_INSTALL_FILES "")
+    foreach(F IN LISTS CPACK_RPM_USER_FILELIST_INTERNAL)
+      string(REGEX REPLACE "%[A-Za-z]+(\\([^()]*\\))? " "" F_PATH ${F})
+      string(REGEX MATCH "(%[A-Za-z]+(\\([^()]*\\))? )*" F_PREFIX ${F})
+      string(STRIP ${F_PREFIX} F_PREFIX)
+
+      if(CPACK_RPM_PACKAGE_DEBUG)
+        message("CPackRPM:Debug: F_PREFIX=<${F_PREFIX}>, F_PATH=<${F_PATH}>")
+      endif()
+      if(F_PREFIX)
+        string(APPEND F_PREFIX " ")
+      endif()
+      # Rebuild the user list file
+      string(APPEND CPACK_RPM_USER_INSTALL_FILES "${F_PREFIX}\"${F_PATH}\"\n")
+
+      # Remove from CPACK_RPM_INSTALL_FILES and CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
+      list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${F_PATH})
+      # ABSOLUTE destination files list may not exists at all
+      if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
+        list(REMOVE_ITEM CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL ${F_PATH})
+      endif()
+    endforeach()
+
+    # Rebuild CPACK_RPM_INSTALL_FILES
+    set(CPACK_RPM_INSTALL_FILES "")
+    foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
+      string(APPEND CPACK_RPM_INSTALL_FILES "\"${F}\"\n")
+    endforeach()
+  else()
+    set(CPACK_RPM_USER_INSTALL_FILES "")
+  endif()
+
+  if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: Handling Absolute Destination Files: ${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL}")
+    endif()
+    # Remove trailing space
+    string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
+    # Transform endline separated - string into CMake List
+    string(REPLACE "\n" ";" CPACK_RPM_INSTALL_FILES_LIST "${CPACK_RPM_INSTALL_FILES_LIST}")
+    # Remove unecessary quotes
+    string(REPLACE "\"" "" CPACK_RPM_INSTALL_FILES_LIST "${CPACK_RPM_INSTALL_FILES_LIST}")
+    # Remove ABSOLUTE install file from INSTALL FILE LIST
+    list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL})
+    # Rebuild INSTALL_FILES
+    set(CPACK_RPM_INSTALL_FILES "")
+    foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
+      string(APPEND CPACK_RPM_INSTALL_FILES "\"${F}\"\n")
+    endforeach()
+    # Build ABSOLUTE_INSTALL_FILES
+    set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
+    foreach(F IN LISTS CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
+      string(APPEND CPACK_RPM_ABSOLUTE_INSTALL_FILES "%config \"${F}\"\n")
+    endforeach()
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: CPACK_RPM_ABSOLUTE_INSTALL_FILES=${CPACK_RPM_ABSOLUTE_INSTALL_FILES}")
+      message("CPackRPM:Debug: CPACK_RPM_INSTALL_FILES=${CPACK_RPM_INSTALL_FILES}")
+    endif()
+  else()
+    # reset vars in order to avoid leakage of value(s) from one component to another
+    set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
+  endif()
+
+  cpack_rpm_variable_fallback("CPACK_RPM_DEBUGINFO_PACKAGE"
+    "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_DEBUGINFO_PACKAGE"
+    "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEBUGINFO_PACKAGE"
+    "CPACK_RPM_DEBUGINFO_PACKAGE")
+  if(CPACK_RPM_DEBUGINFO_PACKAGE OR (CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE AND NOT GENERATE_SPEC_PARTS))
+    cpack_rpm_variable_fallback("CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_BUILD_SOURCE_DIRS_PREFIX"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_BUILD_SOURCE_DIRS_PREFIX"
+      "CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX")
+    if(NOT CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX)
+      set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX "/usr/src/debug/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}")
+    endif()
+
+    # handle cases where path contains extra slashes (e.g. /a//b/ instead of
+    # /a/b)
+    get_filename_component(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
+      "${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}" ABSOLUTE)
+
+    if(CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE AND GENERATE_SPEC_PARTS)
+      file(WRITE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_COMPONENT}.files"
+        "${CPACK_RPM_INSTALL_FILES}")
+    else()
+      if(CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE AND CPACK_RPM_PACKAGE_COMPONENT)
+        # this part is only required by components packaging - with monolithic
+        # packages we can be certain that there are no other components present
+        # so CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE is a noop
+        if(CPACK_RPM_DEBUGINFO_PACKAGE)
+          # only add current package files to debuginfo list if debuginfo
+          # generation is enabled for current package
+          string(STRIP "${CPACK_RPM_INSTALL_FILES}" install_files_)
+          string(REPLACE "\n" ";" install_files_ "${install_files_}")
+          string(REPLACE "\"" "" install_files_ "${install_files_}")
+        else()
+          unset(install_files_)
+        endif()
+
+        file(GLOB files_ "${CPACK_RPM_DIRECTORY}/SPECS/*.files")
+
+        foreach(f_ IN LISTS files_)
+          file(READ "${f_}" tmp_)
+          string(APPEND install_files_ ";${tmp_}")
+        endforeach()
+
+        # if there were other components/groups so we need to move files from them
+        # to current component otherwise those files won't be found
+        file(GLOB components_ LIST_DIRECTORIES true RELATIVE
+          "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
+          "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/*")
+        foreach(component_ IN LISTS components_)
+          string(TOUPPER "${component_}" component_dir_upper_)
+          if(component_dir_upper_ STREQUAL CPACK_RPM_PACKAGE_COMPONENT_UPPER)
+            # skip current component
+            continue()
+          endif()
+
+          cmake_policy(PUSH)
+            cmake_policy(SET CMP0009 NEW)
+            file(GLOB_RECURSE files_for_move_ LIST_DIRECTORIES false RELATIVE
+              "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${component_}"
+              "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${component_}/*")
+          cmake_policy(POP)
+
+          foreach(f_ IN LISTS files_for_move_)
+            get_filename_component(dir_path_ "${f_}" DIRECTORY)
+            set(src_file_
+              "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${component_}/${f_}")
+
+            # check that we are not overriding an existing file that doesn't
+            # match the file that we want to copy
+            if(EXISTS "${src_file_}" AND EXISTS "${WDIR}/${f_}")
+              execute_process(
+                  COMMAND ${CMAKE_COMMAND} -E compare_files "${src_file_}" "${WDIR}/${f_}"
+                  RESULT_VARIABLE res_
+                )
+              if(res_)
+                message(FATAL_ERROR "CPackRPM:Error: File on path '${WDIR}/${f_}'"
+                  " already exists but is a different than the one in component"
+                  " '${component_}'! Packages will not be generated.")
+              endif()
+            endif()
+
+            file(MAKE_DIRECTORY "${WDIR}/${dir_path_}")
+            file(RENAME "${src_file_}"
+              "${WDIR}/${f_}")
+          endforeach()
+        endforeach()
+
+        cpack_rpm_debugsymbol_check("${install_files_}" "${WDIR}")
+      else()
+        string(STRIP "${CPACK_RPM_INSTALL_FILES}" install_files_)
+        string(REPLACE "\n" ";" install_files_ "${install_files_}")
+        string(REPLACE "\"" "" install_files_ "${install_files_}")
+
+        cpack_rpm_debugsymbol_check("${install_files_}" "${WDIR}")
+      endif()
+
+      if(TMP_DEBUGINFO_ADDITIONAL_SOURCES)
+        set(TMP_RPM_DEBUGINFO "
+# Modified version of %%debug_package macro
+# defined in /usr/lib/rpm/macros as that one
+# can't handle injection of extra source files.
+%ifnarch noarch
+%global __debug_package 1
+%package debuginfo
+Summary: Debug information for package %{name}
+Group: Development/Debug
+AutoReqProv: 0
+%description debuginfo
+This package provides debug information for package %{name}.
+Debug information is useful when developing applications that use this
+package or when debugging this package.
+%files debuginfo -f debugfiles.list
+%defattr(-,root,root)
+${TMP_DEBUGINFO_ADDITIONAL_SOURCES}
+%endif
+")
+      elseif(CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE)
+        message(AUTHOR_WARNING "CPackRPM:Warning: debuginfo package was requested"
+          " but will not be generated as no source files were found!")
+      else()
+        message(AUTHOR_WARNING "CPackRPM:Warning: debuginfo package was requested"
+          " but will not be generated as no source files were found! Component: '"
+          "${CPACK_RPM_PACKAGE_COMPONENT}'.")
+      endif()
+    endif()
+  endif()
+
+  # Prepare install files
+  cpack_rpm_prepare_install_files(
+      "${CPACK_RPM_INSTALL_FILES}"
+      "${WDIR}"
+      "${RPM_USED_PACKAGE_PREFIXES}"
+      "${CPACK_RPM_PACKAGE_RELOCATABLE}"
+    )
+
+  # set default user and group
+  foreach(_PERM_TYPE "USER" "GROUP")
+    if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE})
+      set(TMP_DEFAULT_${_PERM_TYPE} "${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}}")
+    elseif(CPACK_RPM_DEFAULT_${_PERM_TYPE})
+      set(TMP_DEFAULT_${_PERM_TYPE} "${CPACK_RPM_DEFAULT_${_PERM_TYPE}}")
+    else()
+      set(TMP_DEFAULT_${_PERM_TYPE} "root")
+    endif()
+  endforeach()
+
+  # set default file and dir permissions
+  foreach(_PERM_TYPE "FILE" "DIR")
+    if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}_PERMISSIONS)
+      get_unix_permissions_octal_notation("CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}_PERMISSIONS" "TMP_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
+      set(_PERMISSIONS_VAR "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
+    elseif(CPACK_RPM_DEFAULT_${_PERM_TYPE}_PERMISSIONS)
+      get_unix_permissions_octal_notation("CPACK_RPM_DEFAULT_${_PERM_TYPE}_PERMISSIONS" "TMP_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
+      set(_PERMISSIONS_VAR "CPACK_RPM_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
+    else()
+      set(TMP_DEFAULT_${_PERM_TYPE}_PERMISSIONS "-")
+    endif()
+  endforeach()
+
+  # The name of the final spec file to be used by rpmbuild
+  set(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}.spec")
+
+  # Print out some debug information if we were asked for that
+  if(CPACK_RPM_PACKAGE_DEBUG)
+     message("CPackRPM:Debug: CPACK_TOPLEVEL_DIRECTORY          = ${CPACK_TOPLEVEL_DIRECTORY}")
+     message("CPackRPM:Debug: CPACK_TOPLEVEL_TAG                = ${CPACK_TOPLEVEL_TAG}")
+     message("CPackRPM:Debug: CPACK_TEMPORARY_DIRECTORY         = ${CPACK_TEMPORARY_DIRECTORY}")
+     message("CPackRPM:Debug: CPACK_OUTPUT_FILE_NAME            = ${CPACK_OUTPUT_FILE_NAME}")
+     message("CPackRPM:Debug: CPACK_OUTPUT_FILE_PATH            = ${CPACK_OUTPUT_FILE_PATH}")
+     message("CPackRPM:Debug: CPACK_PACKAGE_FILE_NAME           = ${CPACK_PACKAGE_FILE_NAME}")
+     message("CPackRPM:Debug: CPACK_RPM_BINARY_SPECFILE         = ${CPACK_RPM_BINARY_SPECFILE}")
+     message("CPackRPM:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY   = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+     message("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
+  endif()
+
+  #
+  # USER generated/provided spec file handling.
+  #
+
+  # We can have a component specific spec file.
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    cpack_rpm_variable_fallback("CPACK_RPM_USER_BINARY_SPECFILE"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_USER_BINARY_SPECFILE"
+      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_USER_BINARY_SPECFILE")
+  endif()
+
+  cpack_rpm_variable_fallback("CPACK_RPM_FILE_NAME"
+    "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_FILE_NAME"
+    "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_FILE_NAME"
+    "CPACK_RPM_FILE_NAME")
+  if(NOT CPACK_RPM_FILE_NAME STREQUAL "RPM-DEFAULT")
+    if(CPACK_RPM_FILE_NAME)
+      cmake_policy(PUSH)
+        cmake_policy(SET CMP0010 NEW)
+        if(NOT CPACK_RPM_FILE_NAME MATCHES ".*\\.rpm")
+      cmake_policy(POP)
+          message(FATAL_ERROR "'${CPACK_RPM_FILE_NAME}' is not a valid RPM package file name as it must end with '.rpm'!")
+        endif()
+      cmake_policy(POP)
+    else()
+      # old file name format for back compatibility
+      string(TOUPPER "${CPACK_RPM_MAIN_COMPONENT}"
+        CPACK_RPM_MAIN_COMPONENT_UPPER)
+
+      if(CPACK_RPM_MAIN_COMPONENT_UPPER STREQUAL CPACK_RPM_PACKAGE_COMPONENT_UPPER)
+        # this is the main component so ignore the component filename part
+        set(CPACK_RPM_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}.rpm")
+      else()
+        set(CPACK_RPM_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}")
+      endif()
+    endif()
+    # else example:
+    #set(CPACK_RPM_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm")
+
+    if(CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE AND GENERATE_SPEC_PARTS)
+      string(TOLOWER "${CPACK_RPM_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.*\\.rpm" expected_filename_)
+
+      file(WRITE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_COMPONENT}.rpm_name"
+        "${expected_filename_};${CPACK_RPM_FILE_NAME}")
+    elseif(NOT CPACK_RPM_DEBUGINFO_PACKAGE)
+      set(FILE_NAME_DEFINE "%define _rpmfilename ${CPACK_RPM_FILE_NAME}")
+    endif()
+  endif()
+
+  if(CPACK_RPM_PACKAGE_SOURCES) # source rpm
+    set(archive_name_ "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}")
+
+    execute_process(
+        COMMAND ${CMAKE_COMMAND} -E tar "cfvz" "${CPACK_RPM_DIRECTORY}/SOURCES/${archive_name_}.tar.gz" "${CPACK_PACKAGE_FILE_NAME}"
+        WORKING_DIRECTORY ${CPACK_RPM_DIRECTORY}
+      )
+    set(TMP_RPM_SOURCE "Source: ${archive_name_}.tar.gz")
+
+    if(CPACK_RPM_BUILDREQUIRES)
+      set(TMP_RPM_BUILD_REQUIRES "BuildRequires: ${CPACK_RPM_BUILDREQUIRES}")
+    endif()
+
+    # Disable debuginfo packages - srpm generates invalid packages due to
+    # releasing controll to cpack to generate binary packages.
+    # Note however that this doesn't prevent cpack to generate debuginfo
+    # packages when run from srpm with --rebuild.
+    set(TMP_RPM_DISABLE_DEBUGINFO "%define debug_package %{nil}")
+
+    if(NOT CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX)
+      set(CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX "/")
+    endif()
+
+    set(TMP_RPM_BUILD
+      "
+%build
+mkdir cpack_rpm_build_dir
+cd cpack_rpm_build_dir
+cmake ${CPACK_RPM_SOURCE_PKG_BUILD_PARAMS} -DCPACK_PACKAGING_INSTALL_PREFIX=${CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX} ../${CPACK_PACKAGE_FILE_NAME}
+make %{?_smp_mflags}" # %{?_smp_mflags} -> -j option
+      )
+    set(TMP_RPM_INSTALL
+      "
+cd cpack_rpm_build_dir
+cpack -G RPM
+mv *.rpm %_rpmdir"
+      )
+    set(TMP_RPM_PREP "%setup -c")
+
+    set(RPMBUILD_FLAGS "-bs")
+
+     file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
+      "# Restore old style debuginfo creation for rpm >= 4.14.
+%undefine _debugsource_packages
+%undefine _debuginfo_subpackages
+
+# -*- rpm-spec -*-
+BuildRoot:      %_topdir/\@CPACK_PACKAGE_FILE_NAME\@
+Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
+Name:           \@CPACK_RPM_PACKAGE_NAME\@
+Version:        \@CPACK_RPM_PACKAGE_VERSION\@
+Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
+License:        \@CPACK_RPM_PACKAGE_LICENSE\@
+Group:          \@CPACK_RPM_PACKAGE_GROUP\@
+Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
+
+\@TMP_RPM_SOURCE\@
+\@TMP_RPM_BUILD_REQUIRES\@
+\@TMP_RPM_BUILDARCH\@
+\@TMP_RPM_PREFIXES\@
+
+\@TMP_RPM_DISABLE_DEBUGINFO\@
+
+%define _rpmdir %_topdir/RPMS
+%define _srcrpmdir %_topdir/SRPMS
+\@FILE_NAME_DEFINE\@
+%define _unpackaged_files_terminate_build 0
+\@TMP_RPM_SPEC_INSTALL_POST\@
+\@CPACK_RPM_SPEC_MORE_DEFINE\@
+\@CPACK_RPM_COMPRESSION_TYPE_TMP\@
+
+%description
+\@CPACK_RPM_PACKAGE_DESCRIPTION\@
+
+# This is a shortcutted spec file generated by CMake RPM generator
+# we skip _install step because CPack does that for us.
+# We do only save CPack installed tree in _prepr
+# and then restore it in build.
+%prep
+\@TMP_RPM_PREP\@
+
+\@TMP_RPM_BUILD\@
+
+#p build
+
+%install
+\@TMP_RPM_INSTALL\@
+
+%clean
+
+%changelog
+\@CPACK_RPM_SPEC_CHANGELOG\@
+"
+    )
+
+  elseif(GENERATE_SPEC_PARTS) # binary rpm with single debuginfo package
+    file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
+        "# -*- rpm-spec -*-
+%package -n \@CPACK_RPM_PACKAGE_NAME\@
+Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
+Version:        \@CPACK_RPM_PACKAGE_VERSION\@
+Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
+License:        \@CPACK_RPM_PACKAGE_LICENSE\@
+Group:          \@CPACK_RPM_PACKAGE_GROUP\@
+Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
+
+\@TMP_RPM_URL\@
+\@TMP_RPM_REQUIRES\@
+\@TMP_RPM_REQUIRES_PRE\@
+\@TMP_RPM_REQUIRES_POST\@
+\@TMP_RPM_REQUIRES_PREUN\@
+\@TMP_RPM_REQUIRES_POSTUN\@
+\@TMP_RPM_PROVIDES\@
+\@TMP_RPM_OBSOLETES\@
+\@TMP_RPM_CONFLICTS\@
+\@TMP_RPM_SUGGESTS\@
+\@TMP_RPM_AUTOPROV\@
+\@TMP_RPM_AUTOREQ\@
+\@TMP_RPM_AUTOREQPROV\@
+\@TMP_RPM_BUILDARCH\@
+\@TMP_RPM_PREFIXES\@
+\@TMP_RPM_EPOCH\@
+
+%description -n \@CPACK_RPM_PACKAGE_NAME\@
+\@CPACK_RPM_PACKAGE_DESCRIPTION\@
+
+%files -n \@CPACK_RPM_PACKAGE_NAME\@
+%defattr(\@TMP_DEFAULT_FILE_PERMISSIONS\@,\@TMP_DEFAULT_USER\@,\@TMP_DEFAULT_GROUP\@,\@TMP_DEFAULT_DIR_PERMISSIONS\@)
+\@CPACK_RPM_INSTALL_FILES\@
+\@CPACK_RPM_ABSOLUTE_INSTALL_FILES\@
+\@CPACK_RPM_USER_INSTALL_FILES\@
+"
+    )
+
+  else()  # binary rpm
+    if(CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE)
+      # find generated spec file and take its name
+      file(GLOB spec_files_ "${CPACK_RPM_DIRECTORY}/SPECS/*.spec")
+
+      foreach(f_ IN LISTS spec_files_)
+        file(READ "${f_}" tmp_)
+        string(APPEND TMP_OTHER_COMPONENTS "\n${tmp_}\n")
+      endforeach()
+    endif()
+
+    # We should generate a USER spec file template:
+    #  - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
+    #  - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
+    set(RPMBUILD_FLAGS "-bb")
+    if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
+
+      file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
+        "# Restore old style debuginfo creation for rpm >= 4.14.
+%undefine _debugsource_packages
+%undefine _debuginfo_subpackages
+
+# -*- rpm-spec -*-
+BuildRoot:      %_topdir/\@CPACK_PACKAGE_FILE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH\@
+Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
+Name:           \@CPACK_RPM_PACKAGE_NAME\@
+Version:        \@CPACK_RPM_PACKAGE_VERSION\@
+Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
+License:        \@CPACK_RPM_PACKAGE_LICENSE\@
+Group:          \@CPACK_RPM_PACKAGE_GROUP\@
+Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
+
+\@TMP_RPM_URL\@
+\@TMP_RPM_REQUIRES\@
+\@TMP_RPM_REQUIRES_PRE\@
+\@TMP_RPM_REQUIRES_POST\@
+\@TMP_RPM_REQUIRES_PREUN\@
+\@TMP_RPM_REQUIRES_POSTUN\@
+\@TMP_RPM_PROVIDES\@
+\@TMP_RPM_OBSOLETES\@
+\@TMP_RPM_CONFLICTS\@
+\@TMP_RPM_SUGGESTS\@
+\@TMP_RPM_AUTOPROV\@
+\@TMP_RPM_AUTOREQ\@
+\@TMP_RPM_AUTOREQPROV\@
+\@TMP_RPM_BUILDARCH\@
+\@TMP_RPM_PREFIXES\@
+\@TMP_RPM_EPOCH\@
+
+\@TMP_RPM_DEBUGINFO\@
+
+%define _rpmdir %_topdir/RPMS
+%define _srcrpmdir %_topdir/SRPMS
+\@FILE_NAME_DEFINE\@
+%define _unpackaged_files_terminate_build 0
+\@TMP_RPM_SPEC_INSTALL_POST\@
+\@CPACK_RPM_SPEC_MORE_DEFINE\@
+\@CPACK_RPM_COMPRESSION_TYPE_TMP\@
+
+%description
+\@CPACK_RPM_PACKAGE_DESCRIPTION\@
+
+# This is a shortcutted spec file generated by CMake RPM generator
+# we skip _install step because CPack does that for us.
+# We do only save CPack installed tree in _prepr
+# and then restore it in build.
+%prep
+mv $RPM_BUILD_ROOT %_topdir/tmpBBroot
+
+%install
+if [ -e $RPM_BUILD_ROOT ];
+then
+  rm -rf $RPM_BUILD_ROOT
+fi
+mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
+
+\@TMP_RPM_DEBUGINFO_INSTALL\@
+
+%clean
+
+%post
+\@RPM_SYMLINK_POSTINSTALL\@
+\@CPACK_RPM_SPEC_POSTINSTALL\@
+
+%postun
+\@CPACK_RPM_SPEC_POSTUNINSTALL\@
+
+%pre
+\@CPACK_RPM_SPEC_PREINSTALL\@
+
+%preun
+\@CPACK_RPM_SPEC_PREUNINSTALL\@
+
+%files
+%defattr(\@TMP_DEFAULT_FILE_PERMISSIONS\@,\@TMP_DEFAULT_USER\@,\@TMP_DEFAULT_GROUP\@,\@TMP_DEFAULT_DIR_PERMISSIONS\@)
+\@CPACK_RPM_INSTALL_FILES\@
+\@CPACK_RPM_ABSOLUTE_INSTALL_FILES\@
+\@CPACK_RPM_USER_INSTALL_FILES\@
+
+%changelog
+\@CPACK_RPM_SPEC_CHANGELOG\@
+
+\@TMP_OTHER_COMPONENTS\@
+"
+      )
+    endif()
+
+    # Stop here if we were asked to only generate a template USER spec file
+    # The generated file may then be used as a template by user who wants
+    # to customize their own spec file.
+    if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE)
+      message(FATAL_ERROR "CPackRPM: STOP here Generated USER binary spec file template is: ${CPACK_RPM_BINARY_SPECFILE}.in")
+    endif()
+  endif()
+
+  # After that we may either use a user provided spec file
+  # or generate one using appropriate variables value.
+  if(CPACK_RPM_USER_BINARY_SPECFILE)
+    # User may have specified SPECFILE just use it
+    message("CPackRPM: Will use USER specified spec file: ${CPACK_RPM_USER_BINARY_SPECFILE}")
+    # The user provided file is processed for @var replacement
+    configure_file(${CPACK_RPM_USER_BINARY_SPECFILE} ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
+  else()
+    # No User specified spec file, will use the generated spec file
+    message("CPackRPM: Will use GENERATED spec file: ${CPACK_RPM_BINARY_SPECFILE}")
+    # Note the just created file is processed for @var replacement
+    configure_file(${CPACK_RPM_BINARY_SPECFILE}.in ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
+  endif()
+
+  if(NOT GENERATE_SPEC_PARTS) # generate package
+    if(RPMBUILD_EXECUTABLE)
+      # Now call rpmbuild using the SPECFILE
+      execute_process(
+        COMMAND "${RPMBUILD_EXECUTABLE}" ${RPMBUILD_FLAGS}
+                --define "_topdir ${CPACK_RPM_DIRECTORY}"
+                --buildroot "%_topdir/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
+                --target "${CPACK_RPM_PACKAGE_ARCHITECTURE}"
+                "${CPACK_RPM_BINARY_SPECFILE}"
+        WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
+        RESULT_VARIABLE CPACK_RPMBUILD_EXEC_RESULT
+        ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err"
+        OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out")
+      if(CPACK_RPM_PACKAGE_DEBUG OR CPACK_RPMBUILD_EXEC_RESULT)
+        file(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err RPMBUILDERR)
+        file(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out RPMBUILDOUT)
+        message("CPackRPM:Debug: You may consult rpmbuild logs in: ")
+        message("CPackRPM:Debug:    - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err")
+        message("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
+        message("CPackRPM:Debug:    - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out")
+        message("CPackRPM:Debug: *** ${RPMBUILDOUT} ***")
+      endif()
+    else()
+      if(ALIEN_EXECUTABLE)
+        message(FATAL_ERROR "RPM packaging through alien not done (yet)")
+      endif()
+    endif()
+
+    # find generated rpm files and take their names
+    cmake_policy(PUSH)
+      # Tell file(GLOB_RECURSE) not to follow directory symlinks
+      # even if the project does not set this policy to NEW.
+      cmake_policy(SET CMP0009 NEW)
+      file(GLOB_RECURSE GENERATED_FILES "${CPACK_RPM_DIRECTORY}/RPMS/*.rpm"
+        "${CPACK_RPM_DIRECTORY}/SRPMS/*.rpm")
+    cmake_policy(POP)
+
+    if(NOT GENERATED_FILES)
+      message(FATAL_ERROR "RPM package was not generated! ${CPACK_RPM_DIRECTORY}")
+    endif()
+
+    unset(expected_filenames_)
+    unset(filenames_)
+    if(CPACK_RPM_DEBUGINFO_PACKAGE AND NOT CPACK_RPM_FILE_NAME STREQUAL "RPM-DEFAULT")
+      list(APPEND expected_filenames_
+        "${CPACK_RPM_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.*\\.rpm")
+      list(APPEND filenames_ "${CPACK_RPM_FILE_NAME}")
+    endif()
+
+    if(CPACK_RPM_DEBUGINFO_PACKAGE)
+      cpack_rpm_variable_fallback("CPACK_RPM_DEBUGINFO_FILE_NAME"
+        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_DEBUGINFO_FILE_NAME"
+        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEBUGINFO_FILE_NAME"
+        "CPACK_RPM_DEBUGINFO_FILE_NAME")
+
+      if(CPACK_RPM_DEBUGINFO_FILE_NAME AND
+        NOT CPACK_RPM_DEBUGINFO_FILE_NAME STREQUAL "RPM-DEFAULT")
+        list(APPEND expected_filenames_
+          "${CPACK_RPM_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}.*\\.rpm")
+        string(REPLACE "@cpack_component@" "${CPACK_RPM_PACKAGE_COMPONENT}"
+          CPACK_RPM_DEBUGINFO_FILE_NAME "${CPACK_RPM_DEBUGINFO_FILE_NAME}")
+        list(APPEND filenames_ "${CPACK_RPM_DEBUGINFO_FILE_NAME}")
+      endif()
+    endif()
+
+    # check if other files have to be renamed
+    file(GLOB rename_files_ "${CPACK_RPM_DIRECTORY}/SPECS/*.rpm_name")
+    if(rename_files_)
+      foreach(f_ IN LISTS rename_files_)
+        file(READ "${f_}" tmp_)
+        list(GET tmp_ 0 efn_)
+        list(APPEND expected_filenames_ "${efn_}")
+        list(GET tmp_ 1 fn_)
+        list(APPEND filenames_ "${fn_}")
+      endforeach()
+    endif()
+
+    if(expected_filenames_)
+      foreach(F IN LISTS GENERATED_FILES)
+        unset(matched_)
+        foreach(expected_ IN LISTS expected_filenames_)
+          if(F MATCHES ".*/${expected_}")
+            list(FIND expected_filenames_ "${expected_}" idx_)
+            list(GET filenames_ ${idx_} filename_)
+            get_filename_component(FILE_PATH "${F}" DIRECTORY)
+            file(RENAME "${F}" "${FILE_PATH}/${filename_}")
+            list(APPEND new_files_list_ "${FILE_PATH}/${filename_}")
+            set(matched_ "YES")
+
+            break()
+          endif()
+        endforeach()
+
+        if(NOT matched_)
+          list(APPEND new_files_list_ "${F}")
+        endif()
+      endforeach()
+
+      set(GENERATED_FILES "${new_files_list_}")
+    endif()
+  endif()
+
+  set(GEN_CPACK_OUTPUT_FILES "${GENERATED_FILES}" PARENT_SCOPE)
+
+  if(CPACK_RPM_PACKAGE_DEBUG)
+     message("CPackRPM:Debug: GEN_CPACK_OUTPUT_FILES = ${GENERATED_FILES}")
+  endif()
+endfunction()
+
+cpack_rpm_generate_package()
diff --git a/share/cmake-3.10/Modules/CPackWIX.cmake b/share/cmake-3.10/Modules/CPackWIX.cmake
new file mode 100644
index 0000000..1dc37d4
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackWIX.cmake
@@ -0,0 +1,307 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CPackWIX
+# --------
+#
+# CPack WiX generator specific options
+#
+# Variables specific to CPack WiX generator
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variables are specific to the installers built on
+# Windows using WiX.
+#
+# .. variable:: CPACK_WIX_UPGRADE_GUID
+#
+#  Upgrade GUID (``Product/@UpgradeCode``)
+#
+#  Will be automatically generated unless explicitly provided.
+#
+#  It should be explicitly set to a constant generated globally unique
+#  identifier (GUID) to allow your installers to replace existing
+#  installations that use the same GUID.
+#
+#  You may for example explicitly set this variable in your
+#  CMakeLists.txt to the value that has been generated per default.  You
+#  should not use GUIDs that you did not generate yourself or which may
+#  belong to other projects.
+#
+#  A GUID shall have the following fixed length syntax::
+#
+#   XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
+#
+#  (each X represents an uppercase hexadecimal digit)
+#
+# .. variable:: CPACK_WIX_PRODUCT_GUID
+#
+#  Product GUID (``Product/@Id``)
+#
+#  Will be automatically generated unless explicitly provided.
+#
+#  If explicitly provided this will set the Product Id of your installer.
+#
+#  The installer will abort if it detects a pre-existing installation that
+#  uses the same GUID.
+#
+#  The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
+#
+# .. variable:: CPACK_WIX_LICENSE_RTF
+#
+#  RTF License File
+#
+#  If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as-is.
+#
+#  If CPACK_RESOURCE_FILE_LICENSE has an .txt extension it is implicitly
+#  converted to RTF by the WiX Generator.
+#  The expected encoding of the .txt file is UTF-8.
+#
+#  With CPACK_WIX_LICENSE_RTF you can override the license file used by the
+#  WiX Generator in case CPACK_RESOURCE_FILE_LICENSE is in an unsupported
+#  format or the .txt -> .rtf conversion does not work as expected.
+#
+# .. variable:: CPACK_WIX_PRODUCT_ICON
+#
+#  The Icon shown next to the program name in Add/Remove programs.
+#
+#  If set, this icon is used in place of the default icon.
+#
+# .. variable:: CPACK_WIX_UI_REF
+#
+#  This variable allows you to override the Id of the ``<UIRef>`` element
+#  in the WiX template.
+#
+#  The default is ``WixUI_InstallDir`` in case no CPack components have
+#  been defined and ``WixUI_FeatureTree`` otherwise.
+#
+# .. variable:: CPACK_WIX_UI_BANNER
+#
+#  The bitmap will appear at the top of all installer pages other than the
+#  welcome and completion dialogs.
+#
+#  If set, this image will replace the default banner image.
+#
+#  This image must be 493 by 58 pixels.
+#
+# .. variable:: CPACK_WIX_UI_DIALOG
+#
+#  Background bitmap used on the welcome and completion dialogs.
+#
+#  If this variable is set, the installer will replace the default dialog
+#  image.
+#
+#  This image must be 493 by 312 pixels.
+#
+# .. variable:: CPACK_WIX_PROGRAM_MENU_FOLDER
+#
+#  Start menu folder name for launcher.
+#
+#  If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
+#
+# .. variable:: CPACK_WIX_CULTURES
+#
+#  Language(s) of the installer
+#
+#  Languages are compiled into the WixUI extension library.  To use them,
+#  simply provide the name of the culture.  If you specify more than one
+#  culture identifier in a comma or semicolon delimited list, the first one
+#  that is found will be used.  You can find a list of supported languages at:
+#  http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
+#
+# .. variable:: CPACK_WIX_TEMPLATE
+#
+#  Template file for WiX generation
+#
+#  If this variable is set, the specified template will be used to generate
+#  the WiX wxs file.  This should be used if further customization of the
+#  output is required.
+#
+#  If this variable is not set, the default MSI template included with CMake
+#  will be used.
+#
+# .. variable:: CPACK_WIX_PATCH_FILE
+#
+#  Optional list of XML files with fragments to be inserted into
+#  generated WiX sources
+#
+#  This optional variable can be used to specify an XML file that the
+#  WiX generator will use to inject fragments into its generated
+#  source files.
+#
+#  Patch files understood by the CPack WiX generator
+#  roughly follow this RELAX NG compact schema:
+#
+#  .. code-block:: none
+#
+#     start = CPackWiXPatch
+#
+#     CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
+#
+#     CPackWiXFragment = element CPackWiXFragment
+#     {
+#         attribute Id { string },
+#         fragmentContent*
+#     }
+#
+#     fragmentContent = element * - CPackWiXFragment
+#     {
+#         (attribute * { text } | text | fragmentContent)*
+#     }
+#
+#  Currently fragments can be injected into most
+#  Component, File, Directory and Feature elements.
+#
+#  The following additional special Ids can be used:
+#
+#  * ``#PRODUCT`` for the ``<Product>`` element.
+#  * ``#PRODUCTFEATURE`` for the root ``<Feature>`` element.
+#
+#  The following example illustrates how this works.
+#
+#  Given that the WiX generator creates the following XML element:
+#
+#  .. code-block:: xml
+#
+#     <Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
+#
+#  The following XML patch file may be used to inject an Environment element
+#  into it:
+#
+#  .. code-block:: xml
+#
+#     <CPackWiXPatch>
+#       <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
+#         <Environment Id="MyEnvironment" Action="set"
+#           Name="MyVariableName" Value="MyVariableValue"/>
+#       </CPackWiXFragment>
+#     </CPackWiXPatch>
+#
+# .. variable:: CPACK_WIX_EXTRA_SOURCES
+#
+#  Extra WiX source files
+#
+#  This variable provides an optional list of extra WiX source files (.wxs)
+#  that should be compiled and linked.  The full path to source files is
+#  required.
+#
+# .. variable:: CPACK_WIX_EXTRA_OBJECTS
+#
+#  Extra WiX object files or libraries
+#
+#  This variable provides an optional list of extra WiX object (.wixobj)
+#  and/or WiX library (.wixlib) files.  The full path to objects and libraries
+#  is required.
+#
+# .. variable:: CPACK_WIX_EXTENSIONS
+#
+#  This variable provides a list of additional extensions for the WiX
+#  tools light and candle.
+#
+# .. variable:: CPACK_WIX_<TOOL>_EXTENSIONS
+#
+#  This is the tool specific version of CPACK_WIX_EXTENSIONS.
+#  ``<TOOL>`` can be either LIGHT or CANDLE.
+#
+# .. variable:: CPACK_WIX_<TOOL>_EXTRA_FLAGS
+#
+#  This list variable allows you to pass additional
+#  flags to the WiX tool ``<TOOL>``.
+#
+#  Use it at your own risk.
+#  Future versions of CPack may generate flags which may be in conflict
+#  with your own flags.
+#
+#  ``<TOOL>`` can be either LIGHT or CANDLE.
+#
+# .. variable:: CPACK_WIX_CMAKE_PACKAGE_REGISTRY
+#
+#  If this variable is set the generated installer will create
+#  an entry in the windows registry key
+#  ``HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>``
+#  The value for ``<package>`` is provided by this variable.
+#
+#  Assuming you also install a CMake configuration file this will
+#  allow other CMake projects to find your package with
+#  the :command:`find_package` command.
+#
+# .. variable:: CPACK_WIX_PROPERTY_<PROPERTY>
+#
+#  This variable can be used to provide a value for
+#  the Windows Installer property ``<PROPERTY>``
+#
+#  The following list contains some example properties that can be used to
+#  customize information under
+#  "Programs and Features" (also known as "Add or Remove Programs")
+#
+#  * ARPCOMMENTS - Comments
+#  * ARPHELPLINK - Help and support information URL
+#  * ARPURLINFOABOUT - General information URL
+#  * ARPURLUPDATEINFO - Update information URL
+#  * ARPHELPTELEPHONE - Help and support telephone number
+#  * ARPSIZE - Size (in kilobytes) of the application
+#
+# .. variable:: CPACK_WIX_ROOT_FEATURE_TITLE
+#
+#  Sets the name of the root install feature in the WIX installer. Same as
+#  CPACK_COMPONENT_<compName>_DISPLAY_NAME for components.
+#
+# .. variable:: CPACK_WIX_ROOT_FEATURE_DESCRIPTION
+#
+#  Sets the description of the root install feature in the WIX installer. Same as
+#  CPACK_COMPONENT_<compName>_DESCRIPTION for components.
+#
+# .. variable:: CPACK_WIX_SKIP_PROGRAM_FOLDER
+#
+#  If this variable is set to true, the default install location
+#  of the generated package will be CPACK_PACKAGE_INSTALL_DIRECTORY directly.
+#  The install location will not be located relatively below
+#  ProgramFiles or ProgramFiles64.
+#
+#   .. note::
+#     Installers created with this feature do not take differences
+#     between the system on which the installer is created
+#     and the system on which the installer might be used into account.
+#
+#     It is therefor possible that the installer e.g. might try to install
+#     onto a drive that is unavailable or unintended or a path that does not
+#     follow the localization or convention of the system on which the
+#     installation is performed.
+#
+# .. variable:: CPACK_WIX_ROOT_FOLDER_ID
+#
+#  This variable allows specification of a custom root folder ID.
+#  The generator specific ``<64>`` token can be used for
+#  folder IDs that come in 32-bit and 64-bit variants.
+#  In 32-bit builds the token will expand empty while in 64-bit builds
+#  it will expand to ``64``.
+#
+#  When unset generated installers will default installing to
+#  ``ProgramFiles<64>Folder``.
+#
+# .. variable:: CPACK_WIX_ROOT
+#
+#  This variable can optionally be set to the root directory
+#  of a custom WiX Toolset installation.
+#
+#  When unspecified CPack will try to locate a WiX Toolset
+#  installation via the ``WIX`` environment variable instead.
+#
+
+if(NOT CPACK_WIX_ROOT)
+  file(TO_CMAKE_PATH "$ENV{WIX}" CPACK_WIX_ROOT)
+endif()
+
+find_program(CPACK_WIX_CANDLE_EXECUTABLE candle
+  PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
+
+if(NOT CPACK_WIX_CANDLE_EXECUTABLE)
+  message(FATAL_ERROR "Could not find the WiX candle executable.")
+endif()
+
+find_program(CPACK_WIX_LIGHT_EXECUTABLE light
+  PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
+
+if(NOT CPACK_WIX_LIGHT_EXECUTABLE)
+  message(FATAL_ERROR "Could not find the WiX light executable.")
+endif()
diff --git a/share/cmake-3.10/Modules/CPackZIP.cmake b/share/cmake-3.10/Modules/CPackZIP.cmake
new file mode 100644
index 0000000..376520c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CPackZIP.cmake
@@ -0,0 +1,31 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(CMAKE_BINARY_DIR)
+  message(FATAL_ERROR "CPackZIP.cmake may only be used by CPack internally.")
+endif()
+
+find_program(ZIP_EXECUTABLE wzzip PATHS "$ENV{ProgramFiles}/WinZip")
+if(ZIP_EXECUTABLE)
+  set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -P \"<ARCHIVE>\" @<FILELIST>")
+  set(CPACK_ZIP_NEED_QUOTES TRUE)
+endif()
+
+if(NOT ZIP_EXECUTABLE)
+  find_program(ZIP_EXECUTABLE 7z PATHS "$ENV{ProgramFiles}/7-Zip")
+  if(ZIP_EXECUTABLE)
+    set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" a -tzip \"<ARCHIVE>\" @<FILELIST>")
+  set(CPACK_ZIP_NEED_QUOTES TRUE)
+  endif()
+endif()
+
+if(NOT ZIP_EXECUTABLE)
+  find_package(Cygwin)
+  find_program(ZIP_EXECUTABLE zip PATHS "${CYGWIN_INSTALL_PATH}/bin")
+  if(ZIP_EXECUTABLE)
+    set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -r \"<ARCHIVE>\" . -i@<FILELIST>")
+    set(CPACK_ZIP_NEED_QUOTES FALSE)
+  endif()
+endif()
+
diff --git a/share/cmake-3.10/Modules/CSharpUtilities.cmake b/share/cmake-3.10/Modules/CSharpUtilities.cmake
new file mode 100644
index 0000000..e9e1510
--- /dev/null
+++ b/share/cmake-3.10/Modules/CSharpUtilities.cmake
@@ -0,0 +1,306 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CSharpUtilities
+---------------
+
+Functions to make configuration of CSharp/.NET targets easier.
+
+A collection of CMake utility functions useful for dealing with CSharp
+targets for Visual Studio generators from version 2010 and later.
+
+The following functions are provided by this module:
+
+**Main functions**
+
+- :command:`csharp_set_windows_forms_properties`
+- :command:`csharp_set_designer_cs_properties`
+- :command:`csharp_set_xaml_cs_properties`
+
+**Helper functions**
+
+- :command:`csharp_get_filename_keys`
+- :command:`csharp_get_filename_key_base`
+- :command:`csharp_get_dependentupon_name`
+
+Main functions provided by the module
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. command:: csharp_set_windows_forms_properties
+
+  Sets source file properties for use of Windows Forms. Use this, if your CSharp
+  target uses Windows Forms::
+
+    csharp_set_windows_forms_properties([<file1> [<file2> [...]]])
+
+  ``<fileN>``
+    List of all source files which are relevant for setting the
+    :prop_sf:`VS_CSHARP_<tagname>` properties (including ``.cs``, ``.resx`` and
+    ``.Designer.cs`` extensions).
+
+  In the list of all given files for all files ending with ``.Designer.cs`` and
+  ``.resx`` is searched.  For every *designer* or *resource* file a file with the
+  same base name but only ``.cs`` as extension is searched.  If this is found, the
+  :prop_sf:`VS_CSHARP_<tagname>` properties are set as follows:
+
+  for the **.cs** file:
+   - VS_CSHARP_SubType "Form"
+
+  for the **.Designer.cs** file (if it exists):
+   - VS_CSHARP_DependentUpon <cs-filename>
+   - VS_CSHARP_DesignTime "" (delete tag if previously defined)
+   - VS_CSHARP_AutoGen ""(delete tag if previously defined)
+
+  for the **.resx** file (if it exists):
+   - VS_RESOURCE_GENERATOR "" (delete tag if previously defined)
+   - VS_CSHARP_DependentUpon <cs-filename>
+   - VS_CSHARP_SubType "Designer"
+
+.. command:: csharp_set_designer_cs_properties
+
+  Sets source file properties of ``.Designer.cs`` files depending on
+  sibling filenames. Use this, if your CSharp target does **not**
+  use Windows Forms (for Windows Forms use
+  :command:`csharp_set_designer_cs_properties` instead)::
+
+    csharp_set_designer_cs_properties([<file1> [<file2> [...]]])
+
+  ``<fileN>``
+    List of all source files which are relevant for setting the
+    :prop_sf:`VS_CSHARP_<tagname>` properties (including ``.cs``,
+    ``.resx``, ``.settings`` and ``.Designer.cs`` extensions).
+
+  In the list of all given files for all files ending with
+  ``.Designer.cs`` is searched. For every *designer* file all files
+  with the same base name but different extensions are searched. If
+  a match is found, the source file properties of the *designer* file
+  are set depending on the extension of the matched file:
+
+  if match is **.resx** file:
+   - VS_CSHARP_AutoGen "True"
+   - VS_CSHARP_DesignTime "True"
+   - VS_CSHARP_DependentUpon <resx-filename>
+
+  if match is **.cs** file:
+   - VS_CSHARP_DependentUpon <cs-filename>
+
+  if match is **.settings** file:
+   - VS_CSHARP_AutoGen "True"
+   - VS_CSHARP_DesignTimeSharedInput "True"
+   - VS_CSHARP_DependentUpon <settings-filename>
+
+.. note::
+
+    Because the source file properties of the ``.Designer.cs`` file are set according
+    to the found matches and every match sets the **VS_CSHARP_DependentUpon**
+    property, there should only be one match for each ``Designer.cs`` file.
+
+.. command:: csharp_set_xaml_cs_properties
+
+  Sets source file properties for use of Windows Presentation Foundation (WPF) and
+  XAML. Use this, if your CSharp target uses WPF/XAML::
+
+    csharp_set_xaml_cs_properties([<file1> [<file2> [...]]])
+
+  ``<fileN>``
+    List of all source files which are relevant for setting the
+    :prop_sf:`VS_CSHARP_<tagname>` properties (including ``.cs``,
+    ``.xaml``, and ``.xaml.cs`` extensions).
+
+  In the list of all given files for all files ending with
+  ``.xaml.cs`` is searched. For every *xaml-cs* file, a file
+  with the same base name but extension ``.xaml`` is searched.
+  If a match is found, the source file properties of the ``.xaml.cs``
+  file are set:
+
+   - VS_CSHARP_DependentUpon <xaml-filename>
+
+Helper functions which are used by the above ones
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. command:: csharp_get_filename_keys
+
+  Helper function which computes a list of key values to identify
+  source files independently of relative/absolute paths given in cmake
+  and eliminates case sensitivity::
+
+    csharp_get_filename_keys(OUT [<file1> [<file2> [...]]])
+
+  ``OUT``
+    Name of the variable in which the list of keys is stored
+
+  ``<fileN>``
+    filename(s) as given to to CSharp target using :command:`add_library`
+    or :command:`add_executable`
+
+  In some way the function applies a canonicalization to the source names.
+  This is necessary to find file matches if the files have been added to
+  the target with different directory prefixes:
+
+  .. code-block:: cmake
+
+    add_library(lib
+      myfile.cs
+      ${CMAKE_CURRENT_SOURCE_DIR}/myfile.Designer.cs)
+
+    set_source_files_properties(myfile.Designer.cs PROPERTIES
+      VS_CSHARP_DependentUpon myfile.cs)
+
+    # this will fail, because in cmake
+    #  - ${CMAKE_CURRENT_SOURCE_DIR}/myfile.Designer.cs
+    #  - myfile.Designer.cs
+    # are not the same source file. The source file property is not set.
+
+.. command:: csharp_get_filename_key_base
+
+  Returns the full filepath and name **without** extension of a key.
+  KEY is expected to be a key from csharp_get_filename_keys. In BASE
+  the value of KEY without the file extension is returned::
+
+    csharp_get_filename_key_base(BASE KEY)
+
+  ``BASE``
+    Name of the variable with the computed "base" of ``KEY``.
+
+  ``KEY``
+    The key of which the base will be computed. Expected to be a
+    upper case full filename.
+
+.. command:: csharp_get_dependentupon_name
+
+  Computes a string which can be used as value for the source file property
+  :prop_sf:`VS_CSHARP_<tagname>` with *target* being ``DependentUpon``::
+
+    csharp_get_dependentupon_name(NAME FILE)
+
+  ``NAME``
+    Name of the variable with the result value
+
+  ``FILE``
+    Filename to convert to ``<DependentUpon>`` value
+
+  Actually this is only the filename without any path given at the moment.
+
+#]=======================================================================]
+
+function(csharp_get_filename_keys OUT)
+  set(${OUT} "")
+  foreach(f ${ARGN})
+    get_filename_component(f ${f} REALPATH)
+    string(TOUPPER ${f} f)
+    list(APPEND ${OUT} ${f})
+  endforeach()
+  set(${OUT} "${${OUT}}" PARENT_SCOPE)
+endfunction()
+
+function(csharp_get_filename_key_base base key)
+  get_filename_component(dir ${key} DIRECTORY)
+  get_filename_component(fil ${key} NAME_WE)
+  set(${base} "${dir}/${fil}" PARENT_SCOPE)
+endfunction()
+
+function(csharp_get_dependentupon_name out in)
+  get_filename_component(${out} ${in} NAME)
+  set(${out} ${${out}} PARENT_SCOPE)
+endfunction()
+
+function(csharp_set_windows_forms_properties)
+  csharp_get_filename_keys(fileKeys ${ARGN})
+  foreach(key ${fileKeys})
+    get_filename_component(ext ${key} EXT)
+    if(${ext} STREQUAL ".DESIGNER.CS" OR
+       ${ext} STREQUAL ".RESX")
+      csharp_get_filename_key_base(NAME_BASE ${key})
+      list(FIND fileKeys "${NAME_BASE}.CS" FILE_INDEX)
+      if(NOT ${FILE_INDEX} EQUAL -1)
+        list(GET ARGN ${FILE_INDEX} FILE_NAME)
+        # set properties of main form file
+        set_source_files_properties("${FILE_NAME}"
+          PROPERTIES
+          VS_CSHARP_SubType "Form")
+        csharp_get_dependentupon_name(LINK "${FILE_NAME}")
+        # set properties of designer file (if found)
+        list(FIND fileKeys "${NAME_BASE}.DESIGNER.CS" FILE_INDEX)
+        if(NOT ${FILE_INDEX} EQUAL -1)
+          list(GET ARGN ${FILE_INDEX} FILE_NAME)
+          set_source_files_properties("${FILE_NAME}"
+            PROPERTIES
+            VS_CSHARP_DependentUpon "${LINK}"
+            VS_CSHARP_DesignTime ""
+            VS_CSHARP_AutoGen "")
+        endif()
+        # set properties of corresponding resource file (if found)
+        list(FIND fileKeys "${NAME_BASE}.RESX" FILE_INDEX)
+        if(NOT ${FILE_INDEX} EQUAL -1)
+          list(GET ARGN ${FILE_INDEX} FILE_NAME)
+          set_source_files_properties("${FILE_NAME}"
+            PROPERTIES
+            VS_RESOURCE_GENERATOR ""
+            VS_CSHARP_DependentUpon "${LINK}"
+            VS_CSHARP_SubType "Designer")
+        endif()
+      endif()
+    endif()
+  endforeach()
+endfunction()
+
+function(csharp_set_designer_cs_properties)
+  csharp_get_filename_keys(fileKeys ${ARGN})
+  set(INDEX -1)
+  foreach(key ${fileKeys})
+    math(EXPR INDEX "${INDEX}+1")
+    list(GET ARGN ${INDEX} source)
+    get_filename_component(ext ${key} EXT)
+    if(${ext} STREQUAL ".DESIGNER.CS")
+      csharp_get_filename_key_base(NAME_BASE ${key})
+      if("${NAME_BASE}.RESX" IN_LIST fileKeys)
+        list(FIND fileKeys "${NAME_BASE}.RESX" FILE_INDEX)
+        list(GET ARGN ${FILE_INDEX} FILE_NAME)
+        csharp_get_dependentupon_name(LINK "${FILE_NAME}")
+        set_source_files_properties("${source}"
+          PROPERTIES
+          VS_CSHARP_AutoGen "True"
+          VS_CSHARP_DesignTime "True"
+          VS_CSHARP_DependentUpon "${LINK}")
+      elseif("${NAME_BASE}.CS" IN_LIST fileKeys)
+        list(FIND fileKeys "${NAME_BASE}.CS" FILE_INDEX)
+        list(GET ARGN ${FILE_INDEX} FILE_NAME)
+        csharp_get_dependentupon_name(LINK "${FILE_NAME}")
+        set_source_files_properties("${source}"
+          PROPERTIES
+          VS_CSHARP_DependentUpon "${LINK}")
+      elseif("${NAME_BASE}.SETTINGS" IN_LIST fileKeys)
+        list(FIND fileKeys "${NAME_BASE}.SETTINGS" FILE_INDEX)
+        list(GET ARGN ${FILE_INDEX} FILE_NAME)
+        csharp_get_dependentupon_name(LINK "${FILE_NAME}")
+        set_source_files_properties("${source}"
+          PROPERTIES
+          VS_CSHARP_AutoGen "True"
+          VS_CSHARP_DesignTimeSharedInput "True"
+          VS_CSHARP_DependentUpon "${LINK}")
+      endif()
+    endif()
+  endforeach()
+endfunction()
+
+function(csharp_set_xaml_cs_properties)
+  csharp_get_filename_keys(fileKeys ${ARGN})
+  set(INDEX -1)
+  foreach(key ${fileKeys})
+    math(EXPR INDEX "${INDEX}+1")
+    list(GET ARGN ${INDEX} source)
+    get_filename_component(ext ${key} EXT)
+    if(${ext} STREQUAL ".XAML.CS")
+      csharp_get_filename_key_base(NAME_BASE ${key})
+      if("${NAME_BASE}.XAML" IN_LIST fileKeys)
+        list(FIND fileKeys "${NAME_BASE}.XAML" FILE_INDEX)
+        list(GET ARGN ${FILE_INDEX} FILE_NAME)
+        csharp_get_dependentupon_name(LINK "${FILE_NAME}")
+        set_source_files_properties("${source}"
+          PROPERTIES
+          VS_CSHARP_DependentUpon "${LINK}")
+      endif()
+    endif()
+  endforeach()
+endfunction()
diff --git a/share/cmake-3.10/Modules/CTest.cmake b/share/cmake-3.10/Modules/CTest.cmake
new file mode 100644
index 0000000..9370596
--- /dev/null
+++ b/share/cmake-3.10/Modules/CTest.cmake
@@ -0,0 +1,267 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CTest
+-----
+
+Configure a project for testing with CTest/CDash
+
+Include this module in the top CMakeLists.txt file of a project to
+enable testing with CTest and dashboard submissions to CDash::
+
+  project(MyProject)
+  ...
+  include(CTest)
+
+The module automatically creates a ``BUILD_TESTING`` option that selects
+whether to enable testing support (``ON`` by default).  After including
+the module, use code like::
+
+  if(BUILD_TESTING)
+    # ... CMake code to create tests ...
+  endif()
+
+to creating tests when testing is enabled.
+
+To enable submissions to a CDash server, create a ``CTestConfig.cmake``
+file at the top of the project with content such as::
+
+  set(CTEST_PROJECT_NAME "MyProject")
+  set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
+  set(CTEST_DROP_METHOD "http")
+  set(CTEST_DROP_SITE "my.cdash.org")
+  set(CTEST_DROP_LOCATION "/submit.php?project=MyProject")
+  set(CTEST_DROP_SITE_CDASH TRUE)
+
+(the CDash server can provide the file to a project administrator who
+configures ``MyProject``).  Settings in the config file are shared by
+both this ``CTest`` module and the :manual:`ctest(1)` command-line
+:ref:`Dashboard Client` mode (``ctest -S``).
+
+While building a project for submission to CDash, CTest scans the
+build output for errors and warnings and reports them with surrounding
+context from the build log.  This generic approach works for all build
+tools, but does not give details about the command invocation that
+produced a given problem.  One may get more detailed reports by setting
+the :variable:`CTEST_USE_LAUNCHERS` variable::
+
+  set(CTEST_USE_LAUNCHERS 1)
+
+in the ``CTestConfig.cmake`` file.
+#]=======================================================================]
+
+option(BUILD_TESTING "Build the testing tree." ON)
+
+# function to turn generator name into a version string
+# like vs8 vs9
+function(GET_VS_VERSION_STRING generator var)
+  string(REGEX REPLACE "Visual Studio ([0-9][0-9]?)($|.*)" "\\1"
+    NUMBER "${generator}")
+    set(ver_string "vs${NUMBER}")
+  set(${var} ${ver_string} PARENT_SCOPE)
+endfunction()
+
+include(CTestUseLaunchers)
+
+if(BUILD_TESTING)
+  # Setup some auxilary macros
+  macro(SET_IF_NOT_SET var val)
+    if(NOT DEFINED "${var}")
+      set("${var}" "${val}")
+    endif()
+  endmacro()
+
+  macro(SET_IF_SET var val)
+    if(NOT "${val}" STREQUAL "")
+      set("${var}" "${val}")
+    endif()
+  endmacro()
+
+  macro(SET_IF_SET_AND_NOT_SET var val)
+    if(NOT "${val}" STREQUAL "")
+      SET_IF_NOT_SET("${var}" "${val}")
+    endif()
+  endmacro()
+
+  # Make sure testing is enabled
+  enable_testing()
+
+  if(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
+    include("${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
+    SET_IF_SET_AND_NOT_SET(NIGHTLY_START_TIME "${CTEST_NIGHTLY_START_TIME}")
+    SET_IF_SET_AND_NOT_SET(DROP_METHOD "${CTEST_DROP_METHOD}")
+    SET_IF_SET_AND_NOT_SET(DROP_SITE "${CTEST_DROP_SITE}")
+    SET_IF_SET_AND_NOT_SET(DROP_SITE_USER "${CTEST_DROP_SITE_USER}")
+    SET_IF_SET_AND_NOT_SET(DROP_SITE_PASSWORD "${CTEST_DROP_SITE_PASWORD}")
+    SET_IF_SET_AND_NOT_SET(DROP_SITE_MODE "${CTEST_DROP_SITE_MODE}")
+    SET_IF_SET_AND_NOT_SET(DROP_LOCATION "${CTEST_DROP_LOCATION}")
+    SET_IF_SET_AND_NOT_SET(TRIGGER_SITE "${CTEST_TRIGGER_SITE}")
+    SET_IF_SET_AND_NOT_SET(UPDATE_TYPE "${CTEST_UPDATE_TYPE}")
+  endif()
+
+  # the project can have a DartConfig.cmake file
+  if(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
+    include("${PROJECT_SOURCE_DIR}/DartConfig.cmake")
+  else()
+    # Dashboard is opened for submissions for a 24 hour period starting at
+    # the specified NIGHTLY_START_TIME. Time is specified in 24 hour format.
+    SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
+    SET_IF_NOT_SET(DROP_METHOD "http")
+    SET_IF_NOT_SET (COMPRESS_SUBMISSION ON)
+  endif()
+  SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
+
+  find_program(CVSCOMMAND cvs )
+  set(CVS_UPDATE_OPTIONS "-d -A -P" CACHE STRING
+    "Options passed to the cvs update command.")
+  find_program(SVNCOMMAND svn)
+  find_program(BZRCOMMAND bzr)
+  find_program(HGCOMMAND hg)
+  find_program(GITCOMMAND git)
+  find_program(P4COMMAND p4)
+
+  if(NOT UPDATE_TYPE)
+    if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
+      set(UPDATE_TYPE cvs)
+    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
+      set(UPDATE_TYPE svn)
+    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.bzr")
+      set(UPDATE_TYPE bzr)
+    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.hg")
+      set(UPDATE_TYPE hg)
+    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
+      set(UPDATE_TYPE git)
+    endif()
+  endif()
+
+  string(TOLOWER "${UPDATE_TYPE}" _update_type)
+  if("${_update_type}" STREQUAL "cvs")
+    set(UPDATE_COMMAND "${CVSCOMMAND}")
+    set(UPDATE_OPTIONS "${CVS_UPDATE_OPTIONS}")
+  elseif("${_update_type}" STREQUAL "svn")
+    set(UPDATE_COMMAND "${SVNCOMMAND}")
+    set(UPDATE_OPTIONS "${SVN_UPDATE_OPTIONS}")
+  elseif("${_update_type}" STREQUAL "bzr")
+    set(UPDATE_COMMAND "${BZRCOMMAND}")
+    set(UPDATE_OPTIONS "${BZR_UPDATE_OPTIONS}")
+  elseif("${_update_type}" STREQUAL "hg")
+    set(UPDATE_COMMAND "${HGCOMMAND}")
+    set(UPDATE_OPTIONS "${HG_UPDATE_OPTIONS}")
+  elseif("${_update_type}" STREQUAL "git")
+    set(UPDATE_COMMAND "${GITCOMMAND}")
+    set(UPDATE_OPTIONS "${GIT_UPDATE_OPTIONS}")
+  elseif("${_update_type}" STREQUAL "p4")
+    set(UPDATE_COMMAND "${P4COMMAND}")
+    set(UPDATE_OPTIONS "${P4_UPDATE_OPTIONS}")
+  endif()
+
+  set(DART_TESTING_TIMEOUT 1500 CACHE STRING
+    "Maximum time allowed before CTest will kill the test.")
+
+  set(CTEST_SUBMIT_RETRY_DELAY 5 CACHE STRING
+    "How long to wait between timed-out CTest submissions.")
+  set(CTEST_SUBMIT_RETRY_COUNT 3 CACHE STRING
+    "How many times to retry timed-out CTest submissions.")
+
+  find_program(MEMORYCHECK_COMMAND
+    NAMES purify valgrind boundscheck
+    PATHS
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
+    DOC "Path to the memory checking command, used for memory error detection."
+    )
+  find_program(SLURM_SBATCH_COMMAND sbatch DOC
+    "Path to the SLURM sbatch executable"
+    )
+  find_program(SLURM_SRUN_COMMAND srun DOC
+    "Path to the SLURM srun executable"
+    )
+  set(MEMORYCHECK_SUPPRESSIONS_FILE "" CACHE FILEPATH
+    "File that contains suppressions for the memory checker")
+  find_program(SCPCOMMAND scp DOC
+    "Path to scp command, used by CTest for submitting results to a Dart server"
+    )
+  find_program(COVERAGE_COMMAND gcov DOC
+    "Path to the coverage program that CTest uses for performing coverage inspection"
+    )
+  set(COVERAGE_EXTRA_FLAGS "-l" CACHE STRING
+    "Extra command line flags to pass to the coverage tool")
+
+  # set the site name
+  site_name(SITE)
+  # set the build name
+  if(NOT BUILDNAME)
+    set(DART_COMPILER "${CMAKE_CXX_COMPILER}")
+    if(NOT DART_COMPILER)
+      set(DART_COMPILER "${CMAKE_C_COMPILER}")
+    endif()
+    if(NOT DART_COMPILER)
+      set(DART_COMPILER "unknown")
+    endif()
+    if(WIN32)
+      set(DART_NAME_COMPONENT "NAME_WE")
+    else()
+      set(DART_NAME_COMPONENT "NAME")
+    endif()
+    if(NOT BUILD_NAME_SYSTEM_NAME)
+      set(BUILD_NAME_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
+    endif()
+    if(WIN32)
+      set(BUILD_NAME_SYSTEM_NAME "Win32")
+    endif()
+    if(UNIX OR BORLAND)
+      get_filename_component(DART_COMPILER_NAME
+        "${DART_COMPILER}" ${DART_NAME_COMPONENT})
+    else()
+      get_filename_component(DART_COMPILER_NAME
+        "${CMAKE_MAKE_PROGRAM}" ${DART_NAME_COMPONENT})
+    endif()
+    if(DART_COMPILER_NAME MATCHES "devenv")
+      GET_VS_VERSION_STRING("${CMAKE_GENERATOR}" DART_COMPILER_NAME)
+    endif()
+    set(BUILDNAME "${BUILD_NAME_SYSTEM_NAME}-${DART_COMPILER_NAME}")
+  endif()
+
+  # the build command
+  build_command(MAKECOMMAND_DEFAULT_VALUE
+    CONFIGURATION "\${CTEST_CONFIGURATION_TYPE}")
+  set(MAKECOMMAND ${MAKECOMMAND_DEFAULT_VALUE}
+    CACHE STRING "Command to build the project")
+
+  # the default build configuration the ctest build handler will use
+  # if there is no -C arg given to ctest:
+  set(DEFAULT_CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
+  if(DEFAULT_CTEST_CONFIGURATION_TYPE STREQUAL "")
+    set(DEFAULT_CTEST_CONFIGURATION_TYPE "Release")
+  endif()
+
+  mark_as_advanced(
+    BZRCOMMAND
+    BZR_UPDATE_OPTIONS
+    COVERAGE_COMMAND
+    COVERAGE_EXTRA_FLAGS
+    CTEST_SUBMIT_RETRY_DELAY
+    CTEST_SUBMIT_RETRY_COUNT
+    CVSCOMMAND
+    CVS_UPDATE_OPTIONS
+    DART_TESTING_TIMEOUT
+    GITCOMMAND
+    P4COMMAND
+    HGCOMMAND
+    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)
+    include(CTestTargets)
+    set(RUN_FROM_CTEST_OR_DART)
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/CTestCoverageCollectGCOV.cmake b/share/cmake-3.10/Modules/CTestCoverageCollectGCOV.cmake
new file mode 100644
index 0000000..1203be4
--- /dev/null
+++ b/share/cmake-3.10/Modules/CTestCoverageCollectGCOV.cmake
@@ -0,0 +1,290 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CTestCoverageCollectGCOV
+# ------------------------
+#
+# This module provides the ``ctest_coverage_collect_gcov`` function.
+#
+# This function runs gcov on all .gcda files found in the binary tree
+# and packages the resulting .gcov files into a tar file.
+# This tarball also contains the following:
+#
+# * *data.json* defines the source and build directories for use by CDash.
+# * *Labels.json* indicates any :prop_sf:`LABELS` that have been set on the
+#   source files.
+# * The *uncovered* directory holds any uncovered files found by
+#   :variable:`CTEST_EXTRA_COVERAGE_GLOB`.
+#
+# After generating this tar file, it can be sent to CDash for display with the
+# :command:`ctest_submit(CDASH_UPLOAD)` command.
+#
+# .. command:: cdash_coverage_collect_gcov
+#
+#   ::
+#
+#     ctest_coverage_collect_gcov(TARBALL <tarfile>
+#       [SOURCE <source_dir>][BUILD <build_dir>]
+#       [GCOV_COMMAND <gcov_command>]
+#       [GCOV_OPTIONS <options>...]
+#       )
+#
+#   Run gcov and package a tar file for CDash.  The options are:
+#
+#   ``TARBALL <tarfile>``
+#     Specify the location of the ``.tar`` file to be created for later
+#     upload to CDash.  Relative paths will be interpreted with respect
+#     to the top-level build directory.
+#
+#   ``SOURCE <source_dir>``
+#     Specify the top-level source directory for the build.
+#     Default is the value of :variable:`CTEST_SOURCE_DIRECTORY`.
+#
+#   ``BUILD <build_dir>``
+#     Specify the top-level build directory for the build.
+#     Default is the value of :variable:`CTEST_BINARY_DIRECTORY`.
+#
+#   ``GCOV_COMMAND <gcov_command>``
+#     Specify the full path to the ``gcov`` command on the machine.
+#     Default is the value of :variable:`CTEST_COVERAGE_COMMAND`.
+#
+#   ``GCOV_OPTIONS <options>...``
+#     Specify options to be passed to gcov.  The ``gcov`` command
+#     is run as ``gcov <options>... -o <gcov-dir> <file>.gcda``.
+#     If not specified, the default option is just ``-b``.
+#
+#   ``GLOB``
+#     Recursively search for .gcda files in build_dir rather than
+#     determining search locations by reading TargetDirectories.txt.
+#
+#   ``DELETE``
+#     Delete coverage files after they've been packaged into the .tar.
+#
+#   ``QUIET``
+#     Suppress non-error messages that otherwise would have been
+#     printed out by this function.
+
+function(ctest_coverage_collect_gcov)
+  set(options QUIET GLOB DELETE)
+  set(oneValueArgs TARBALL SOURCE BUILD GCOV_COMMAND)
+  set(multiValueArgs GCOV_OPTIONS)
+  cmake_parse_arguments(GCOV  "${options}" "${oneValueArgs}"
+    "${multiValueArgs}" "" ${ARGN} )
+  if(NOT DEFINED GCOV_TARBALL)
+    message(FATAL_ERROR
+      "TARBALL must be specified. for ctest_coverage_collect_gcov")
+  endif()
+  if(NOT DEFINED GCOV_SOURCE)
+    set(source_dir "${CTEST_SOURCE_DIRECTORY}")
+  else()
+    set(source_dir "${GCOV_SOURCE}")
+  endif()
+  if(NOT DEFINED GCOV_BUILD)
+    set(binary_dir "${CTEST_BINARY_DIRECTORY}")
+  else()
+    set(binary_dir "${GCOV_BUILD}")
+  endif()
+  if(NOT DEFINED GCOV_GCOV_COMMAND)
+    set(gcov_command "${CTEST_COVERAGE_COMMAND}")
+  else()
+    set(gcov_command "${GCOV_GCOV_COMMAND}")
+  endif()
+  # run gcov on each gcda file in the binary tree
+  set(gcda_files)
+  set(label_files)
+  if (GCOV_GLOB)
+      file(GLOB_RECURSE gfiles RELATIVE ${binary_dir} "${binary_dir}/*.gcda")
+      list(LENGTH gfiles len)
+      # if we have gcda files then also grab the labels file for that target
+      if(${len} GREATER 0)
+        file(GLOB_RECURSE lfiles RELATIVE ${binary_dir} "${binary_dir}/Labels.json")
+        list(APPEND gcda_files ${gfiles})
+        list(APPEND label_files ${lfiles})
+      endif()
+  else()
+    # look for gcda files in the target directories
+    # this will be faster and only look where the files will be
+    file(STRINGS "${binary_dir}/CMakeFiles/TargetDirectories.txt" target_dirs
+         ENCODING UTF-8)
+    foreach(target_dir ${target_dirs})
+      file(GLOB_RECURSE gfiles RELATIVE ${binary_dir} "${target_dir}/*.gcda")
+      list(LENGTH gfiles len)
+      # if we have gcda files then also grab the labels file for that target
+      if(${len} GREATER 0)
+        file(GLOB_RECURSE lfiles RELATIVE ${binary_dir}
+          "${target_dir}/Labels.json")
+        list(APPEND gcda_files ${gfiles})
+        list(APPEND label_files ${lfiles})
+      endif()
+    endforeach()
+  endif()
+  # return early if no coverage files were found
+  list(LENGTH gcda_files len)
+  if(len EQUAL 0)
+    if (NOT GCOV_QUIET)
+      message("ctest_coverage_collect_gcov: No .gcda files found, "
+        "ignoring coverage request.")
+    endif()
+    return()
+  endif()
+  # setup the dir for the coverage files
+  set(coverage_dir "${binary_dir}/Testing/CoverageInfo")
+  file(MAKE_DIRECTORY  "${coverage_dir}")
+  # call gcov on each .gcda file
+  foreach (gcda_file ${gcda_files})
+    # get the directory of the gcda file
+    get_filename_component(gcda_file ${binary_dir}/${gcda_file} ABSOLUTE)
+    get_filename_component(gcov_dir ${gcda_file} DIRECTORY)
+    # run gcov, this will produce the .gcov file in the current
+    # working directory
+    if(NOT DEFINED GCOV_GCOV_OPTIONS)
+      set(GCOV_GCOV_OPTIONS -b)
+    endif()
+    execute_process(COMMAND
+      ${gcov_command} ${GCOV_GCOV_OPTIONS} -o ${gcov_dir} ${gcda_file}
+      OUTPUT_VARIABLE out
+      RESULT_VARIABLE res
+      WORKING_DIRECTORY ${coverage_dir})
+
+    if (GCOV_DELETE)
+      file(REMOVE ${gcda_file})
+    endif()
+
+  endforeach()
+  if(NOT "${res}" EQUAL 0)
+    if (NOT GCOV_QUIET)
+      message(STATUS "Error running gcov: ${res} ${out}")
+    endif()
+  endif()
+  # create json file with project information
+  file(WRITE ${coverage_dir}/data.json
+    "{
+    \"Source\": \"${source_dir}\",
+    \"Binary\": \"${binary_dir}\"
+}")
+  # collect the gcov files
+  set(unfiltered_gcov_files)
+  file(GLOB_RECURSE unfiltered_gcov_files RELATIVE ${binary_dir} "${coverage_dir}/*.gcov")
+
+  # if CTEST_EXTRA_COVERAGE_GLOB was specified we search for files
+  # that might be uncovered
+  if (DEFINED CTEST_EXTRA_COVERAGE_GLOB)
+    set(uncovered_files)
+    foreach(search_entry IN LISTS CTEST_EXTRA_COVERAGE_GLOB)
+      if(NOT GCOV_QUIET)
+        message("Add coverage glob: ${search_entry}")
+      endif()
+      file(GLOB_RECURSE matching_files "${source_dir}/${search_entry}")
+      if (matching_files)
+        list(APPEND uncovered_files "${matching_files}")
+      endif()
+    endforeach()
+  endif()
+
+  set(gcov_files)
+  foreach(gcov_file ${unfiltered_gcov_files})
+    file(STRINGS ${binary_dir}/${gcov_file} first_line LIMIT_COUNT 1 ENCODING UTF-8)
+
+    set(is_excluded false)
+    if(first_line MATCHES "^        -:    0:Source:(.*)$")
+      set(source_file ${CMAKE_MATCH_1})
+    elseif(NOT GCOV_QUIET)
+      message(STATUS "Could not determine source file corresponding to: ${gcov_file}")
+    endif()
+
+    foreach(exclude_entry IN LISTS CTEST_CUSTOM_COVERAGE_EXCLUDE)
+      if(source_file MATCHES "${exclude_entry}")
+        set(is_excluded true)
+
+        if(NOT GCOV_QUIET)
+          message("Excluding coverage for: ${source_file} which matches ${exclude_entry}")
+        endif()
+
+        break()
+      endif()
+    endforeach()
+
+    get_filename_component(resolved_source_file "${source_file}" ABSOLUTE)
+    foreach(uncovered_file IN LISTS uncovered_files)
+      get_filename_component(resolved_uncovered_file "${uncovered_file}" ABSOLUTE)
+      if (resolved_uncovered_file STREQUAL resolved_source_file)
+        list(REMOVE_ITEM uncovered_files "${uncovered_file}")
+      endif()
+    endforeach()
+
+    if(NOT is_excluded)
+      list(APPEND gcov_files ${gcov_file})
+    endif()
+  endforeach()
+
+  foreach (uncovered_file ${uncovered_files})
+    # Check if this uncovered file should be excluded.
+    set(is_excluded false)
+    foreach(exclude_entry IN LISTS CTEST_CUSTOM_COVERAGE_EXCLUDE)
+      if(uncovered_file MATCHES "${exclude_entry}")
+        set(is_excluded true)
+        if(NOT GCOV_QUIET)
+          message("Excluding coverage for: ${uncovered_file} which matches ${exclude_entry}")
+        endif()
+        break()
+      endif()
+    endforeach()
+    if(is_excluded)
+      continue()
+    endif()
+
+    # Copy from source to binary dir, preserving any intermediate subdirectories.
+    get_filename_component(filename "${uncovered_file}" NAME)
+    get_filename_component(relative_path "${uncovered_file}" DIRECTORY)
+    string(REPLACE "${source_dir}" "" relative_path "${relative_path}")
+    if (relative_path)
+      # Strip leading slash.
+      string(SUBSTRING "${relative_path}" 1 -1 relative_path)
+    endif()
+    file(COPY ${uncovered_file} DESTINATION ${binary_dir}/uncovered/${relative_path})
+    if(relative_path)
+      list(APPEND uncovered_files_for_tar uncovered/${relative_path}/${filename})
+    else()
+      list(APPEND uncovered_files_for_tar uncovered/${filename})
+    endif()
+  endforeach()
+
+  # tar up the coverage info with the same date so that the md5
+  # sum will be the same for the tar file independent of file time
+  # stamps
+  string(REPLACE ";" "\n" gcov_files "${gcov_files}")
+  string(REPLACE ";" "\n" label_files "${label_files}")
+  string(REPLACE ";" "\n" uncovered_files_for_tar "${uncovered_files_for_tar}")
+  file(WRITE "${coverage_dir}/coverage_file_list.txt"
+    "${gcov_files}
+${coverage_dir}/data.json
+${label_files}
+${uncovered_files_for_tar}
+")
+
+  if (GCOV_QUIET)
+    set(tar_opts "cfj")
+  else()
+    set(tar_opts "cvfj")
+  endif()
+
+  execute_process(COMMAND
+    ${CMAKE_COMMAND} -E tar ${tar_opts} ${GCOV_TARBALL}
+    "--mtime=1970-01-01 0:0:0 UTC"
+    "--format=gnutar"
+    --files-from=${coverage_dir}/coverage_file_list.txt
+    WORKING_DIRECTORY ${binary_dir})
+
+  if (GCOV_DELETE)
+    foreach(gcov_file ${unfiltered_gcov_files})
+      file(REMOVE ${binary_dir}/${gcov_file})
+    endforeach()
+    file(REMOVE ${coverage_dir}/coverage_file_list.txt)
+    file(REMOVE ${coverage_dir}/data.json)
+    if (EXISTS ${binary_dir}/uncovered)
+      file(REMOVE ${binary_dir}/uncovered)
+    endif()
+  endif()
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/CTestScriptMode.cmake b/share/cmake-3.10/Modules/CTestScriptMode.cmake
new file mode 100644
index 0000000..5be78d5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CTestScriptMode.cmake
@@ -0,0 +1,19 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CTestScriptMode
+# ---------------
+#
+#
+#
+# This file is read by ctest in script mode (-S)
+
+# Determine the current system, so this information can be used
+# in ctest scripts
+include(CMakeDetermineSystem)
+
+# Also load the system specific file, which sets up e.g. the search paths.
+# This makes the FIND_XXX() calls work much better
+include(CMakeSystemSpecificInformation)
+
diff --git a/share/cmake-3.10/Modules/CTestTargets.cmake b/share/cmake-3.10/Modules/CTestTargets.cmake
new file mode 100644
index 0000000..ff9aada
--- /dev/null
+++ b/share/cmake-3.10/Modules/CTestTargets.cmake
@@ -0,0 +1,92 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(NOT RUN_FROM_CTEST_OR_DART)
+  message(FATAL_ERROR "Do not incldue CTestTargets.cmake directly")
+endif()
+
+if(NOT PROJECT_BINARY_DIR)
+  message(FATAL_ERROR "Do not include(CTest) before calling project().")
+endif()
+
+# make directories in the binary tree
+file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary)
+get_filename_component(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH)
+set(CMAKE_TARGET_PATH ${EXECUTABLE_OUTPUT_PATH})
+find_program(CMAKE_CTEST_COMMAND ctest ${CMAKE_HOST_PATH} ${CMAKE_TARGET_PATH})
+mark_as_advanced(CMAKE_CTEST_COMMAND)
+
+# Use CTest
+# configure files
+
+if(CTEST_NEW_FORMAT)
+  configure_file(
+    ${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
+    ${PROJECT_BINARY_DIR}/CTestConfiguration.ini )
+else()
+  configure_file(
+    ${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
+    ${PROJECT_BINARY_DIR}/DartConfiguration.tcl )
+endif()
+
+#
+# Section 3:
+#
+# Custom targets to perform dashboard builds and submissions.
+# These should NOT need to be modified from project to project.
+#
+
+set(__conf_types "")
+if(CMAKE_CONFIGURATION_TYPES)
+  # We need to pass the configuration type on the test command line.
+  set(__conf_types -C "${CMAKE_CFG_INTDIR}")
+endif()
+
+# Add convenience targets.  Do this at most once in case of nested
+# projects.
+define_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED
+  BRIEF_DOCS "Internal property used by CTestTargets module."
+  FULL_DOCS "Set by the CTestTargets module to track addition of testing targets."
+  )
+get_property(_CTEST_TARGETS_ADDED GLOBAL PROPERTY CTEST_TARGETS_ADDED)
+if(NOT _CTEST_TARGETS_ADDED)
+  set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1)
+
+  # For all generators add basic testing targets.
+  foreach(mode Experimental Nightly Continuous NightlyMemoryCheck)
+    add_custom_target(${mode}
+      ${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}
+      USES_TERMINAL
+      )
+    set_property(TARGET ${mode} PROPERTY RULE_LAUNCH_CUSTOM "")
+    set_property(TARGET ${mode} PROPERTY FOLDER "CTestDashboardTargets")
+  endforeach()
+
+  # For Makefile generators add more granular targets.
+  if("${CMAKE_GENERATOR}" MATCHES "(Ninja|Make)")
+    # Make targets for Experimental builds
+    foreach(mode Nightly Experimental Continuous)
+      foreach(testtype
+          Start Update Configure Build Test Coverage MemCheck Submit
+          # missing purify
+          )
+        add_custom_target(${mode}${testtype}
+          ${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}${testtype}
+          USES_TERMINAL
+          )
+        set_property(TARGET ${mode}${testtype} PROPERTY RULE_LAUNCH_CUSTOM "")
+        set_property(TARGET ${mode}${testtype} PROPERTY FOLDER "CTestDashboardTargets")
+      endforeach()
+    endforeach()
+  endif()
+
+  # If requested, add an alias that is the equivalent of the built-in "test"
+  # or "RUN_TESTS" target:
+  if(CTEST_TEST_TARGET_ALIAS)
+    add_custom_target(${CTEST_TEST_TARGET_ALIAS}
+      ${CMAKE_CTEST_COMMAND} ${__conf_types}
+      USES_TERMINAL
+      )
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/CTestUseLaunchers.cmake b/share/cmake-3.10/Modules/CTestUseLaunchers.cmake
new file mode 100644
index 0000000..dc90513
--- /dev/null
+++ b/share/cmake-3.10/Modules/CTestUseLaunchers.cmake
@@ -0,0 +1,69 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CTestUseLaunchers
+# -----------------
+#
+# Set the RULE_LAUNCH_* global properties when CTEST_USE_LAUNCHERS is on.
+#
+# CTestUseLaunchers is automatically included when you include(CTest).
+# However, it is split out into its own module file so projects can use
+# the CTEST_USE_LAUNCHERS functionality independently.
+#
+# To use launchers, set CTEST_USE_LAUNCHERS to ON in a ctest -S
+# dashboard script, and then also set it in the cache of the configured
+# project.  Both cmake and ctest need to know the value of it for the
+# launchers to work properly.  CMake needs to know in order to generate
+# proper build rules, and ctest, in order to produce the proper error
+# and warning analysis.
+#
+# For convenience, you may set the ENV variable
+# CTEST_USE_LAUNCHERS_DEFAULT in your ctest -S script, too.  Then, as
+# long as your CMakeLists uses include(CTest) or
+# include(CTestUseLaunchers), it will use the value of the ENV variable
+# to initialize a CTEST_USE_LAUNCHERS cache variable.  This cache
+# variable initialization only occurs if CTEST_USE_LAUNCHERS is not
+# already defined. If CTEST_USE_LAUNCHERS is on in a ctest -S script
+# the ctest_configure command will add -DCTEST_USE_LAUNCHERS:BOOL=TRUE
+# to the cmake command used to configure the project.
+
+if(NOT DEFINED CTEST_USE_LAUNCHERS AND DEFINED ENV{CTEST_USE_LAUNCHERS_DEFAULT})
+  set(CTEST_USE_LAUNCHERS "$ENV{CTEST_USE_LAUNCHERS_DEFAULT}"
+    CACHE INTERNAL "CTEST_USE_LAUNCHERS initial value from ENV")
+endif()
+
+if(NOT "${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
+  set(CTEST_USE_LAUNCHERS 0)
+endif()
+
+if(CTEST_USE_LAUNCHERS)
+  set(__launch_common_options
+    "--target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR>")
+
+  set(__launch_compile_options
+    "${__launch_common_options} --output <OBJECT> --source <SOURCE> --language <LANGUAGE>")
+
+  set(__launch_link_options
+    "${__launch_common_options} --output <TARGET> --target-type <TARGET_TYPE> --language <LANGUAGE>")
+
+  set(__launch_custom_options
+    "${__launch_common_options} --output <OUTPUT>")
+
+  if("${CMAKE_GENERATOR}" MATCHES "Ninja")
+    string(APPEND __launch_compile_options " --filter-prefix <CMAKE_CL_SHOWINCLUDES_PREFIX>")
+  endif()
+
+  set(CTEST_LAUNCH_COMPILE
+    "\"${CMAKE_CTEST_COMMAND}\" --launch ${__launch_compile_options} --")
+
+  set(CTEST_LAUNCH_LINK
+    "\"${CMAKE_CTEST_COMMAND}\" --launch ${__launch_link_options} --")
+
+  set(CTEST_LAUNCH_CUSTOM
+    "\"${CMAKE_CTEST_COMMAND}\" --launch ${__launch_custom_options} --")
+
+  set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CTEST_LAUNCH_COMPILE}")
+  set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CTEST_LAUNCH_LINK}")
+  set_property(GLOBAL PROPERTY RULE_LAUNCH_CUSTOM "${CTEST_LAUNCH_CUSTOM}")
+endif()
diff --git a/share/cmake-3.10/Modules/CheckCCompilerFlag.cmake b/share/cmake-3.10/Modules/CheckCCompilerFlag.cmake
new file mode 100644
index 0000000..5a7298b
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCCompilerFlag.cmake
@@ -0,0 +1,62 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckCCompilerFlag
+------------------
+
+Check whether the C compiler supports a given flag.
+
+.. command:: check_c_compiler_flag
+
+  ::
+
+    check_c_compiler_flag(<flag> <var>)
+
+  Check that the ``<flag>`` is accepted by the compiler without
+  a diagnostic.  Stores the result in an internal cache entry
+  named ``<var>``.
+
+This command temporarily sets the ``CMAKE_REQUIRED_DEFINITIONS`` variable
+and calls the ``check_c_source_compiles`` macro from the
+:module:`CheckCSourceCompiles` module.  See documentation of that
+module for a listing of variables that can otherwise modify the build.
+
+A positive result from this check indicates only that the compiler did not
+issue a diagnostic message when given the flag.  Whether the flag has any
+effect or even a specific one is beyond the scope of this module.
+
+.. note::
+  Since the :command:`try_compile` command forwards flags from variables
+  like :variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>`, unknown flags
+  in such variables may cause a false negative for this check.
+#]=======================================================================]
+
+include(CheckCSourceCompiles)
+include(CMakeCheckCompilerFlagCommonPatterns)
+
+macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
+   set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
+   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}}")
+     set(ENV{${v}} C)
+   endforeach()
+   CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCCompilerFlag_COMMON_PATTERNS)
+   CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT}
+     # 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}
+     )
+   foreach(v ${_CheckCCompilerFlag_LOCALE_VARS})
+     set(ENV{${v}} ${_CheckCCompilerFlag_SAVED_${v}})
+     unset(_CheckCCompilerFlag_SAVED_${v})
+   endforeach()
+   unset(_CheckCCompilerFlag_LOCALE_VARS)
+   unset(_CheckCCompilerFlag_COMMON_PATTERNS)
+
+   set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
+endmacro ()
diff --git a/share/cmake-3.10/Modules/CheckCSourceCompiles.cmake b/share/cmake-3.10/Modules/CheckCSourceCompiles.cmake
new file mode 100644
index 0000000..56e68d5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCSourceCompiles.cmake
@@ -0,0 +1,133 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckCSourceCompiles
+--------------------
+
+Check if given C source compiles and links into an executable.
+
+.. command:: check_c_source_compiles
+
+  ::
+
+    check_c_source_compiles(code resultVar [FAIL_REGEX regex1 [regex2...]])
+
+  Check that the source supplied in ``code`` can be compiled as a C source
+  file and linked as an executable (so it must contain at least a ``main()``
+  function). The result will be stored in the internal cache variable specified
+  by ``resultVar``, with a boolean true value for success and boolean false for
+  failure. If ``FAIL_REGEX`` is provided, then failure is determined by
+  checking if anything in the output matches any of the specified regular
+  expressions.
+
+  The underlying check is performed by the :command:`try_compile` command. The
+  compile and link commands can be influenced by setting any of the following
+  variables prior to calling ``check_c_source_compiles()``:
+
+  ``CMAKE_REQUIRED_FLAGS``
+    Additional flags to pass to the compiler. Note that the contents of
+    :variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>` and its associated
+    configuration-specific variable are automatically added to the compiler
+    command before the contents of ``CMAKE_REQUIRED_FLAGS``.
+
+  ``CMAKE_REQUIRED_DEFINITIONS``
+    A :ref:`;-list <CMake Language Lists>` of compiler definitions of the form
+    ``-DFOO`` or ``-DFOO=bar``. A definition for the name specified by
+    ``resultVar`` will also be added automatically.
+
+  ``CMAKE_REQUIRED_INCLUDES``
+    A :ref:`;-list <CMake Language Lists>` of header search paths to pass to
+    the compiler. These will be the only header search paths used by
+    ``try_compile()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES`
+    directory property will be ignored.
+
+  ``CMAKE_REQUIRED_LIBRARIES``
+    A :ref:`;-list <CMake Language Lists>` of libraries to add to the link
+    command. These can be the name of system libraries or they can be
+    :ref:`Imported Targets <Imported Targets>` (see :command:`try_compile` for
+    further details).
+
+  ``CMAKE_REQUIRED_QUIET``
+    If this variable evaluates to a boolean true value, all status messages
+    associated with the check will be suppressed.
+
+  The check is only performed once, with the result cached in the variable
+  named by ``resultVar``. Every subsequent CMake run will re-use this cached
+  value rather than performing the check again, even if the ``code`` changes.
+  In order to force the check to be re-evaluated, the variable named by
+  ``resultVar`` must be manually removed from the cache.
+
+#]=======================================================================]
+
+
+macro(CHECK_C_SOURCE_COMPILES SOURCE VAR)
+  if(NOT DEFINED "${VAR}")
+    set(_FAIL_REGEX)
+    set(_key)
+    foreach(arg ${ARGN})
+      if("${arg}" MATCHES "^(FAIL_REGEX)$")
+        set(_key "${arg}")
+      elseif(_key)
+        list(APPEND _${_key} "${arg}")
+      else()
+        message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
+      endif()
+    endforeach()
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+    endif()
+    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+      "${SOURCE}\n")
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Performing Test ${VAR}")
+    endif()
+    try_compile(${VAR}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+
+    foreach(_regex ${_FAIL_REGEX})
+      if("${OUTPUT}" MATCHES "${_regex}")
+        set(${VAR} 0)
+      endif()
+    endforeach()
+
+    if(${VAR})
+      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Success")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C SOURCE FILE Test ${VAR} succeeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${SOURCE}\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Failed")
+      endif()
+      set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${SOURCE}\n")
+    endif()
+  endif()
+endmacro()
+
diff --git a/share/cmake-3.10/Modules/CheckCSourceRuns.cmake b/share/cmake-3.10/Modules/CheckCSourceRuns.cmake
new file mode 100644
index 0000000..8da9f1e
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCSourceRuns.cmake
@@ -0,0 +1,128 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckCSourceRuns
+----------------
+
+Check if given C source compiles and links into an executable and can
+subsequently be run.
+
+.. command:: check_c_source_runs
+
+  ::
+
+    check_c_source_runs(code resultVar)
+
+  Check that the source supplied in ``code`` can be compiled as a C source
+  file, linked as an executable and then run. The ``code`` must contain at
+  least a ``main()`` function. If the code could be built and run successfully,
+  the internal cache variable specified by ``resultVar`` will be set to 1,
+  otherwise it will be set to an value that evaluates to boolean false (e.g.
+  an empty string or an error message).
+
+  The underlying check is performed by the :command:`try_run` command. The
+  compile and link commands can be influenced by setting any of the following
+  variables prior to calling ``check_c_source_runs()``:
+
+  ``CMAKE_REQUIRED_FLAGS``
+    Additional flags to pass to the compiler. Note that the contents of
+    :variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>` and its associated
+    configuration-specific variable are automatically added to the compiler
+    command before the contents of ``CMAKE_REQUIRED_FLAGS``.
+
+  ``CMAKE_REQUIRED_DEFINITIONS``
+    A :ref:`;-list <CMake Language Lists>` of compiler definitions of the form
+    ``-DFOO`` or ``-DFOO=bar``. A definition for the name specified by
+    ``resultVar`` will also be added automatically.
+
+  ``CMAKE_REQUIRED_INCLUDES``
+    A :ref:`;-list <CMake Language Lists>` of header search paths to pass to
+    the compiler. These will be the only header search paths used by
+    ``try_run()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES`
+    directory property will be ignored.
+
+  ``CMAKE_REQUIRED_LIBRARIES``
+    A :ref:`;-list <CMake Language Lists>` of libraries to add to the link
+    command. These can be the name of system libraries or they can be
+    :ref:`Imported Targets <Imported Targets>` (see :command:`try_run` for
+    further details).
+
+  ``CMAKE_REQUIRED_QUIET``
+    If this variable evaluates to a boolean true value, all status messages
+    associated with the check will be suppressed.
+
+  The check is only performed once, with the result cached in the variable
+  named by ``resultVar``. Every subsequent CMake run will re-use this cached
+  value rather than performing the check again, even if the ``code`` changes.
+  In order to force the check to be re-evaluated, the variable named by
+  ``resultVar`` must be manually removed from the cache.
+
+#]=======================================================================]
+
+macro(CHECK_C_SOURCE_RUNS SOURCE VAR)
+  if(NOT DEFINED "${VAR}")
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+    endif()
+    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+      "${SOURCE}\n")
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Performing Test ${VAR}")
+    endif()
+    try_run(${VAR}_EXITCODE ${VAR}_COMPILED
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
+      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+      COMPILE_OUTPUT_VARIABLE OUTPUT)
+    # if it did not compile make the return value fail code of 1
+    if(NOT ${VAR}_COMPILED)
+      set(${VAR}_EXITCODE 1)
+    endif()
+    # if the return value was 0 then it worked
+    if("${${VAR}_EXITCODE}" EQUAL 0)
+      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Success")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C SOURCE FILE Test ${VAR} succeeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}}\n"
+        "Source file was:\n${SOURCE}\n")
+    else()
+      if(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  "FAILED_TO_RUN")
+        set(${VAR} "${${VAR}_EXITCODE}")
+      else()
+        set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      endif()
+
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Failed")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}_EXITCODE}\n"
+        "Source file was:\n${SOURCE}\n")
+
+    endif()
+  endif()
+endmacro()
+
diff --git a/share/cmake-3.10/Modules/CheckCXXCompilerFlag.cmake b/share/cmake-3.10/Modules/CheckCXXCompilerFlag.cmake
new file mode 100644
index 0000000..f731b70
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCXXCompilerFlag.cmake
@@ -0,0 +1,63 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckCXXCompilerFlag
+------------------------
+
+Check whether the CXX compiler supports a given flag.
+
+.. command:: check_cxx_compiler_flag
+
+  ::
+
+    check_cxx_compiler_flag(<flag> <var>)
+
+  Check that the ``<flag>`` is accepted by the compiler without
+  a diagnostic.  Stores the result in an internal cache entry
+  named ``<var>``.
+
+This command temporarily sets the ``CMAKE_REQUIRED_DEFINITIONS`` variable
+and calls the ``check_cxx_source_compiles`` macro from the
+:module:`CheckCXXSourceCompiles` module.  See documentation of that
+module for a listing of variables that can otherwise modify the build.
+
+A positive result from this check indicates only that the compiler did not
+issue a diagnostic message when given the flag.  Whether the flag has any
+effect or even a specific one is beyond the scope of this module.
+
+.. note::
+  Since the :command:`try_compile` command forwards flags from variables
+  like :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>`, unknown flags
+  in such variables may cause a false negative for this check.
+#]=======================================================================]
+
+include(CheckCXXSourceCompiles)
+include(CMakeCheckCompilerFlagCommonPatterns)
+
+macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
+   set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
+   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(ENV{${v}} C)
+   endforeach()
+   CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCXXCompilerFlag_COMMON_PATTERNS)
+   CHECK_CXX_SOURCE_COMPILES("int main() { return 0; }" ${_RESULT}
+     # 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}
+     )
+   foreach(v ${_CheckCXXCompilerFlag_LOCALE_VARS})
+     set(ENV{${v}} ${_CheckCXXCompilerFlag_SAVED_${v}})
+     unset(_CheckCXXCompilerFlag_SAVED_${v})
+   endforeach()
+   unset(_CheckCXXCompilerFlag_LOCALE_VARS)
+   unset(_CheckCXXCompilerFlag_COMMON_PATTERNS)
+
+   set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
+endmacro ()
+
diff --git a/share/cmake-3.10/Modules/CheckCXXSourceCompiles.cmake b/share/cmake-3.10/Modules/CheckCXXSourceCompiles.cmake
new file mode 100644
index 0000000..4634a7b
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCXXSourceCompiles.cmake
@@ -0,0 +1,133 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckCXXSourceCompiles
+----------------------
+
+Check if given C++ source compiles and links into an executable.
+
+.. command:: check_cxx_source_compiles
+
+  ::
+
+    check_cxx_source_compiles(code resultVar [FAIL_REGEX regex1 [regex2...]])
+
+  Check that the source supplied in ``code`` can be compiled as a C++ source
+  file and linked as an executable (so it must contain at least a ``main()``
+  function). The result will be stored in the internal cache variable specified
+  by ``resultVar``, with a boolean true value for success and boolean false for
+  failure. If ``FAIL_REGEX`` is provided, then failure is determined by
+  checking if anything in the output matches any of the specified regular
+  expressions.
+
+  The underlying check is performed by the :command:`try_compile` command. The
+  compile and link commands can be influenced by setting any of the following
+  variables prior to calling ``check_cxx_source_compiles()``:
+
+  ``CMAKE_REQUIRED_FLAGS``
+    Additional flags to pass to the compiler. Note that the contents of
+    :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>` and its associated
+    configuration-specific variable are automatically added to the compiler
+    command before the contents of ``CMAKE_REQUIRED_FLAGS``.
+
+  ``CMAKE_REQUIRED_DEFINITIONS``
+    A :ref:`;-list <CMake Language Lists>` of compiler definitions of the form
+    ``-DFOO`` or ``-DFOO=bar``. A definition for the name specified by
+    ``resultVar`` will also be added automatically.
+
+  ``CMAKE_REQUIRED_INCLUDES``
+    A :ref:`;-list <CMake Language Lists>` of header search paths to pass to
+    the compiler. These will be the only header search paths used by
+    ``try_compile()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES`
+    directory property will be ignored.
+
+  ``CMAKE_REQUIRED_LIBRARIES``
+    A :ref:`;-list <CMake Language Lists>` of libraries to add to the link
+    command. These can be the name of system libraries or they can be
+    :ref:`Imported Targets <Imported Targets>` (see :command:`try_compile` for
+    further details).
+
+  ``CMAKE_REQUIRED_QUIET``
+    If this variable evaluates to a boolean true value, all status messages
+    associated with the check will be suppressed.
+
+  The check is only performed once, with the result cached in the variable
+  named by ``resultVar``. Every subsequent CMake run will re-use this cached
+  value rather than performing the check again, even if the ``code`` changes.
+  In order to force the check to be re-evaluated, the variable named by
+  ``resultVar`` must be manually removed from the cache.
+
+#]=======================================================================]
+
+macro(CHECK_CXX_SOURCE_COMPILES SOURCE VAR)
+  if(NOT DEFINED "${VAR}")
+    set(_FAIL_REGEX)
+    set(_key)
+    foreach(arg ${ARGN})
+      if("${arg}" MATCHES "^(FAIL_REGEX)$")
+        set(_key "${arg}")
+      elseif(_key)
+        list(APPEND _${_key} "${arg}")
+      else()
+        message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
+      endif()
+    endforeach()
+
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
+    endif()
+    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
+      "${SOURCE}\n")
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Performing Test ${VAR}")
+    endif()
+    try_compile(${VAR}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+
+    foreach(_regex ${_FAIL_REGEX})
+      if("${OUTPUT}" MATCHES "${_regex}")
+        set(${VAR} 0)
+      endif()
+    endforeach()
+
+    if(${VAR})
+      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Success")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${SOURCE}\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Failed")
+      endif()
+      set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${SOURCE}\n")
+    endif()
+  endif()
+endmacro()
+
diff --git a/share/cmake-3.10/Modules/CheckCXXSourceRuns.cmake b/share/cmake-3.10/Modules/CheckCXXSourceRuns.cmake
new file mode 100644
index 0000000..558708c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCXXSourceRuns.cmake
@@ -0,0 +1,128 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckCXXSourceRuns
+------------------
+
+Check if given C++ source compiles and links into an executable and can
+subsequently be run.
+
+.. command:: check_cxx_source_runs
+
+  ::
+
+    check_cxx_source_runs(code resultVar)
+
+  Check that the source supplied in ``code`` can be compiled as a C++ source
+  file, linked as an executable and then run. The ``code`` must contain at
+  least a ``main()`` function. If the code could be built and run successfully,
+  the internal cache variable specified by ``resultVar`` will be set to 1,
+  otherwise it will be set to an value that evaluates to boolean false (e.g.
+  an empty string or an error message).
+
+  The underlying check is performed by the :command:`try_run` command. The
+  compile and link commands can be influenced by setting any of the following
+  variables prior to calling ``check_cxx_source_runs()``:
+
+  ``CMAKE_REQUIRED_FLAGS``
+    Additional flags to pass to the compiler. Note that the contents of
+    :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>` and its associated
+    configuration-specific variable are automatically added to the compiler
+    command before the contents of ``CMAKE_REQUIRED_FLAGS``.
+
+  ``CMAKE_REQUIRED_DEFINITIONS``
+    A :ref:`;-list <CMake Language Lists>` of compiler definitions of the form
+    ``-DFOO`` or ``-DFOO=bar``. A definition for the name specified by
+    ``resultVar`` will also be added automatically.
+
+  ``CMAKE_REQUIRED_INCLUDES``
+    A :ref:`;-list <CMake Language Lists>` of header search paths to pass to
+    the compiler. These will be the only header search paths used by
+    ``try_run()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES`
+    directory property will be ignored.
+
+  ``CMAKE_REQUIRED_LIBRARIES``
+    A :ref:`;-list <CMake Language Lists>` of libraries to add to the link
+    command. These can be the name of system libraries or they can be
+    :ref:`Imported Targets <Imported Targets>` (see :command:`try_run` for
+    further details).
+
+  ``CMAKE_REQUIRED_QUIET``
+    If this variable evaluates to a boolean true value, all status messages
+    associated with the check will be suppressed.
+
+  The check is only performed once, with the result cached in the variable
+  named by ``resultVar``. Every subsequent CMake run will re-use this cached
+  value rather than performing the check again, even if the ``code`` changes.
+  In order to force the check to be re-evaluated, the variable named by
+  ``resultVar`` must be manually removed from the cache.
+
+#]=======================================================================]
+
+macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
+  if(NOT DEFINED "${VAR}")
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
+    endif()
+    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
+      "${SOURCE}\n")
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Performing Test ${VAR}")
+    endif()
+    try_run(${VAR}_EXITCODE ${VAR}_COMPILED
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
+      "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
+      COMPILE_OUTPUT_VARIABLE OUTPUT)
+
+    # if it did not compile make the return value fail code of 1
+    if(NOT ${VAR}_COMPILED)
+      set(${VAR}_EXITCODE 1)
+    endif()
+    # if the return value was 0 then it worked
+    if("${${VAR}_EXITCODE}" EQUAL 0)
+      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Success")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}}\n"
+        "Source file was:\n${SOURCE}\n")
+    else()
+      if(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  "FAILED_TO_RUN")
+        set(${VAR} "${${VAR}_EXITCODE}")
+      else()
+        set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      endif()
+
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Failed")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}_EXITCODE}\n"
+        "Source file was:\n${SOURCE}\n")
+    endif()
+  endif()
+endmacro()
+
diff --git a/share/cmake-3.10/Modules/CheckCXXSymbolExists.cmake b/share/cmake-3.10/Modules/CheckCXXSymbolExists.cmake
new file mode 100644
index 0000000..8552154
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckCXXSymbolExists.cmake
@@ -0,0 +1,39 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckCXXSymbolExists
+# --------------------
+#
+# Check if a symbol exists as a function, variable, or macro in C++
+#
+# CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
+#
+# Check that the <symbol> is available after including given header
+# <files> and store the result in a <variable>.  Specify the list of
+# files in one argument as a semicolon-separated list.
+# CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as
+# opposed to CHECK_SYMBOL_EXISTS(), which works only for C.
+#
+# If the header files define the symbol as a macro it is considered
+# available and assumed to work.  If the header files declare the symbol
+# as a function or variable then the symbol must also be available for
+# linking.  If the symbol is a type or enum value it will not be
+# recognized (consider using CheckTypeSize or CheckCSourceCompiles).
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_INCLUDES = list of include directories
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+
+include(CheckSymbolExists)
+
+macro(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+  __CHECK_SYMBOL_EXISTS_IMPL("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckForPthreads.c b/share/cmake-3.10/Modules/CheckForPthreads.c
new file mode 100644
index 0000000..e70ceb1
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckForPthreads.c
@@ -0,0 +1,15 @@
+#include <pthread.h>
+
+void* start_routine(void* args)
+{
+  return args;
+}
+
+int main(void)
+{
+  /* This is a compile and link test, no code to actually run things. */
+  pthread_t thread;
+  pthread_create(&thread, 0, start_routine, 0);
+  pthread_join(thread, 0);
+  return 0;
+}
diff --git a/share/cmake-3.10/Modules/CheckFortranCompilerFlag.cmake b/share/cmake-3.10/Modules/CheckFortranCompilerFlag.cmake
new file mode 100644
index 0000000..8a1a8b9
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckFortranCompilerFlag.cmake
@@ -0,0 +1,62 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckFortranCompilerFlag
+------------------------
+
+Check whether the Fortran compiler supports a given flag.
+
+.. command:: check_fortran_compiler_flag
+
+  ::
+
+    check_fortran_compiler_flag(<flag> <var>)
+
+  Check that the ``<flag>`` is accepted by the compiler without
+  a diagnostic.  Stores the result in an internal cache entry
+  named ``<var>``.
+
+This command temporarily sets the ``CMAKE_REQUIRED_DEFINITIONS`` variable
+and calls the ``check_fortran_source_compiles`` macro from the
+:module:`CheckFortranSourceCompiles` module.  See documentation of that
+module for a listing of variables that can otherwise modify the build.
+
+A positive result from this check indicates only that the compiler did not
+issue a diagnostic message when given the flag.  Whether the flag has any
+effect or even a specific one is beyond the scope of this module.
+
+.. note::
+  Since the :command:`try_compile` command forwards flags from variables
+  like :variable:`CMAKE_Fortran_FLAGS <CMAKE_<LANG>_FLAGS>`, unknown flags
+  in such variables may cause a false negative for this check.
+#]=======================================================================]
+
+include(CheckFortranSourceCompiles)
+include(CMakeCheckCompilerFlagCommonPatterns)
+
+macro (CHECK_Fortran_COMPILER_FLAG _FLAG _RESULT)
+  set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
+  set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
+
+  # Normalize locale during test compilation.
+  set(_CheckFortranCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
+  foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
+    set(_CheckFortranCompilerFlag_SAVED_${v} "$ENV{${v}}")
+    set(ENV{${v}} C)
+  endforeach()
+  CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckFortranCompilerFlag_COMMON_PATTERNS)
+  CHECK_Fortran_SOURCE_COMPILES("       program test\n       stop\n       end program" ${_RESULT}
+    # Some compilers do not fail with a bad flag
+    FAIL_REGEX "command line option .* is valid for .* but not for Fortran" # GNU
+    ${_CheckFortranCompilerFlag_COMMON_PATTERNS}
+    )
+  foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
+    set(ENV{${v}} ${_CheckFortranCompilerFlag_SAVED_${v}})
+    unset(_CheckFortranCompilerFlag_SAVED_${v})
+  endforeach()
+  unset(_CheckFortranCompilerFlag_LOCALE_VARS)
+  unset(_CheckFortranCompilerFlag_COMMON_PATTERNS)
+
+  set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
+endmacro ()
diff --git a/share/cmake-3.10/Modules/CheckFortranFunctionExists.cmake b/share/cmake-3.10/Modules/CheckFortranFunctionExists.cmake
new file mode 100644
index 0000000..5fc740a
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckFortranFunctionExists.cmake
@@ -0,0 +1,66 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckFortranFunctionExists
+# --------------------------
+#
+# macro which checks if the Fortran function exists
+#
+# CHECK_FORTRAN_FUNCTION_EXISTS(FUNCTION VARIABLE)
+#
+# ::
+#
+#   FUNCTION - the name of the Fortran function
+#   VARIABLE - variable to store the result
+#              Will be created as an internal cache variable.
+#
+#
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+
+macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
+  if(NOT DEFINED ${VARIABLE})
+    message(STATUS "Looking for Fortran ${FUNCTION}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
+    endif()
+    file(WRITE
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
+    "
+      program TESTFortran
+      external ${FUNCTION}
+      call ${FUNCTION}()
+      end program TESTFortran
+    "
+    )
+    try_compile(${VARIABLE}
+    ${CMAKE_BINARY_DIR}
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
+    ${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")
+      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")
+      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"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckFortranSourceCompiles.cmake b/share/cmake-3.10/Modules/CheckFortranSourceCompiles.cmake
new file mode 100644
index 0000000..4df17e3
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckFortranSourceCompiles.cmake
@@ -0,0 +1,142 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckFortranSourceCompiles
+--------------------------
+
+Check if given Fortran source compiles and links into an executable.
+
+.. command:: check_fortran_source_compiles
+
+  ::
+
+    check_fortran_source_compiles(code resultVar
+        [FAIL_REGEX regex1 [regex2...]]
+        [SRC_EXT ext]
+    )
+
+  Check that the source supplied in ``code`` can be compiled as a Fortran
+  source file and linked as an executable (so it must contain at least a
+  ``PROGRAM`` entry point). The result will be stored in the internal cache
+  variable specified by ``resultVar``, with a boolean true value for success
+  and boolean false for failure. If ``FAIL_REGEX`` is provided, then failure is
+  determined by checking if anything in the output matches any of the specified
+  regular expressions.
+
+  By default, the test source file will be given a ``.F`` file extension. The
+  ``SRC_EXT`` option can be used to override this with ``.ext`` instead.
+
+  The underlying check is performed by the :command:`try_compile` command. The
+  compile and link commands can be influenced by setting any of the following
+  variables prior to calling ``check_fortran_source_compiles()``:
+
+  ``CMAKE_REQUIRED_FLAGS``
+    Additional flags to pass to the compiler. Note that the contents of
+    :variable:`CMAKE_Fortran_FLAGS <CMAKE_<LANG>_FLAGS>` and its associated
+    configuration-specific variable are automatically added to the compiler
+    command before the contents of ``CMAKE_REQUIRED_FLAGS``.
+
+  ``CMAKE_REQUIRED_DEFINITIONS``
+    A :ref:`;-list <CMake Language Lists>` of compiler definitions of the form
+    ``-DFOO`` or ``-DFOO=bar``. A definition for the name specified by
+    ``resultVar`` will also be added automatically.
+
+  ``CMAKE_REQUIRED_INCLUDES``
+    A :ref:`;-list <CMake Language Lists>` of header search paths to pass to
+    the compiler. These will be the only header search paths used by
+    ``try_compile()``, i.e. the contents of the :prop_dir:`INCLUDE_DIRECTORIES`
+    directory property will be ignored.
+
+  ``CMAKE_REQUIRED_LIBRARIES``
+    A :ref:`;-list <CMake Language Lists>` of libraries to add to the link
+    command. These can be the name of system libraries or they can be
+    :ref:`Imported Targets <Imported Targets>` (see :command:`try_compile` for
+    further details).
+
+  ``CMAKE_REQUIRED_QUIET``
+    If this variable evaluates to a boolean true value, all status messages
+    associated with the check will be suppressed.
+
+  The check is only performed once, with the result cached in the variable
+  named by ``resultVar``. Every subsequent CMake run will re-use this cached
+  value rather than performing the check again, even if the ``code`` changes.
+  In order to force the check to be re-evaluated, the variable named by
+  ``resultVar`` must be manually removed from the cache.
+
+#]=======================================================================]
+
+
+macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR)
+  if(NOT DEFINED "${VAR}")
+    set(_FAIL_REGEX)
+    set(_SRC_EXT)
+    set(_key)
+    foreach(arg ${ARGN})
+      if("${arg}" MATCHES "^(FAIL_REGEX|SRC_EXT)$")
+        set(_key "${arg}")
+      elseif(_key)
+        list(APPEND _${_key} "${arg}")
+      else()
+        message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
+      endif()
+    endforeach()
+    if(NOT _SRC_EXT)
+      set(_SRC_EXT F)
+    endif()
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES)
+    endif()
+    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.${_SRC_EXT}"
+      "${SOURCE}\n")
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Performing Test ${VAR}")
+    endif()
+    try_compile(${VAR}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.${_SRC_EXT}
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+
+    foreach(_regex ${_FAIL_REGEX})
+      if("${OUTPUT}" MATCHES "${_regex}")
+        set(${VAR} 0)
+      endif()
+    endforeach()
+
+    if(${VAR})
+      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Success")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing Fortran SOURCE FILE Test ${VAR} succeeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${SOURCE}\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Performing Test ${VAR} - Failed")
+      endif()
+      set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing Fortran SOURCE FILE Test ${VAR} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${SOURCE}\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckFunctionExists.c b/share/cmake-3.10/Modules/CheckFunctionExists.c
new file mode 100644
index 0000000..224e340
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckFunctionExists.c
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+#ifdef __cplusplus
+extern "C"
+#endif
+  char
+  CHECK_FUNCTION_EXISTS(void);
+#ifdef __CLASSIC_C__
+int main()
+{
+  int ac;
+  char* av[];
+#else
+int main(int ac, char* av[])
+{
+#endif
+  CHECK_FUNCTION_EXISTS();
+  if (ac > 1000) {
+    return *av[0];
+  }
+  return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+#error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/share/cmake-3.10/Modules/CheckFunctionExists.cmake b/share/cmake-3.10/Modules/CheckFunctionExists.cmake
new file mode 100644
index 0000000..ef08062
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckFunctionExists.cmake
@@ -0,0 +1,98 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckFunctionExists
+# -------------------
+#
+# Check if a C function can be linked::
+#
+#   check_function_exists(<function> <variable>)
+#
+# Check that the ``<function>`` is provided by libraries on the system and store
+# the result in a ``<variable>``. ``<variable>`` will be created as an internal
+# cache variable.
+#
+# The following variables may be set before calling this macro to modify the
+# way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_INCLUDES = list of include directories
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+#
+# .. note::
+#
+#   Prefer using :Module:`CheckSymbolExists` instead of this module,
+#   for the following reasons:
+#
+#   * ``check_function_exists()`` can't detect functions that are inlined
+#     in headers or specified as a macro.
+#
+#   * ``check_function_exists()`` can't detect anything in the 32-bit
+#     versions of the Win32 API, because of a mismatch in calling conventions.
+#
+#   * ``check_function_exists()`` only verifies linking, it does not verify
+#     that the function is declared in system headers.
+
+macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
+  if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Looking for ${FUNCTION}")
+    endif()
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_FUNCTION_EXISTS_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_FUNCTION_EXISTS_ADD_INCLUDES)
+    endif()
+
+    if(CMAKE_C_COMPILER_LOADED)
+      set(_cfe_source ${CMAKE_ROOT}/Modules/CheckFunctionExists.c)
+    elseif(CMAKE_CXX_COMPILER_LOADED)
+      set(_cfe_source ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckFunctionExists/CheckFunctionExists.cxx)
+      configure_file(${CMAKE_ROOT}/Modules/CheckFunctionExists.c "${_cfe_source}" COPYONLY)
+    else()
+      message(FATAL_ERROR "CHECK_FUNCTION_EXISTS needs either C or CXX language enabled")
+    endif()
+
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${_cfe_source}
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CHECK_FUNCTION_EXISTS_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+    unset(_cfe_source)
+
+    if(${VARIABLE})
+      set(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${FUNCTION} - 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")
+      endif()
+      set(${VARIABLE} "" CACHE INTERNAL "Have function ${FUNCTION}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if the function ${FUNCTION} exists failed with the following output:\n"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported.cmake b/share/cmake-3.10/Modules/CheckIPOSupported.cmake
new file mode 100644
index 0000000..e04ab1c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported.cmake
@@ -0,0 +1,232 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckIPOSupported
+-----------------
+
+Check whether the compiler supports an interprocedural optimization (IPO/LTO).
+Use this before enabling the :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target
+property.
+
+.. command:: check_ipo_supported
+
+  ::
+
+    check_ipo_supported([RESULT <result>] [OUTPUT <output>]
+                        [LANGUAGES <lang>...])
+
+  Options are:
+
+  ``RESULT <result>``
+    Set ``<result>`` variable to ``YES`` if IPO is supported by the
+    compiler and ``NO`` otherwise.  If this option is not given then
+    the command will issue a fatal error if IPO is not supported.
+  ``OUTPUT <output>``
+    Set ``<output>`` variable with details about any error.
+  ``LANGUAGES <lang>...``
+    Specify languages whose compilers to check.
+    Languages ``C`` and ``CXX`` are supported.
+
+It makes no sense to use this module when :policy:`CMP0069` is set to ``OLD`` so
+module will return error in this case. See policy :policy:`CMP0069` for details.
+
+Examples
+^^^^^^^^
+
+.. code-block:: cmake
+
+  check_ipo_supported() # fatal error if IPO is not supported
+  set_property(TARGET foo PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
+
+.. code-block:: cmake
+
+  # Optional IPO. Do not use IPO if it's not supported by compiler.
+  check_ipo_supported(RESULT result OUTPUT output)
+  if(result)
+    set_property(TARGET foo PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
+  else()
+    message(WARNING "IPO is not supported: ${output}")
+  endif()
+
+#]=======================================================================]
+
+include(CMakeParseArguments) # cmake_parse_arguments
+
+# X_RESULT - name of the final result variable
+# X_OUTPUT - name of the variable with information about error
+macro(_ipo_not_supported output)
+  string(COMPARE EQUAL "${X_RESULT}" "" is_empty)
+  if(is_empty)
+    message(FATAL_ERROR "IPO is not supported (${output}).")
+  endif()
+
+  set("${X_RESULT}" NO PARENT_SCOPE)
+  set("${X_OUTPUT}" "${output}" PARENT_SCOPE)
+endmacro()
+
+# Run IPO/LTO test
+macro(_ipo_run_language_check language)
+  set(testdir "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/_CMakeLTOTest-${language}")
+
+  file(REMOVE_RECURSE "${testdir}")
+  file(MAKE_DIRECTORY "${testdir}")
+
+  set(bindir "${testdir}/bin")
+  set(srcdir "${testdir}/src")
+
+  file(MAKE_DIRECTORY "${bindir}")
+  file(MAKE_DIRECTORY "${srcdir}")
+
+  set(TRY_COMPILE_PROJECT_NAME "lto-test")
+
+  set(try_compile_src "${CMAKE_ROOT}/Modules/CheckIPOSupported")
+
+  # Use:
+  # * TRY_COMPILE_PROJECT_NAME
+  # * CMAKE_VERSION
+  configure_file(
+      "${try_compile_src}/CMakeLists-${language}.txt.in"
+      "${srcdir}/CMakeLists.txt"
+      @ONLY
+  )
+
+  string(COMPARE EQUAL "${language}" "C" is_c)
+  string(COMPARE EQUAL "${language}" "CXX" is_cxx)
+  string(COMPARE EQUAL "${language}" "Fortran" is_fortran)
+
+  if(is_c)
+    set(copy_sources foo.c main.c)
+  elseif(is_cxx)
+    set(copy_sources foo.cpp main.cpp)
+  elseif(is_fortran)
+    set(copy_sources foo.f main.f)
+  else()
+    message(FATAL_ERROR "Language not supported")
+  endif()
+
+  foreach(x ${copy_sources})
+    configure_file(
+        "${try_compile_src}/${x}"
+        "${srcdir}/${x}"
+        COPYONLY
+    )
+  endforeach()
+
+  try_compile(
+      result
+      "${bindir}"
+      "${srcdir}"
+      "${TRY_COMPILE_PROJECT_NAME}"
+      CMAKE_FLAGS
+      "-DCMAKE_VERBOSE_MAKEFILE=ON"
+      "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
+      OUTPUT_VARIABLE output
+  )
+
+  if(NOT result)
+    _ipo_not_supported("${output}")
+    return()
+  endif()
+endmacro()
+
+function(check_ipo_supported)
+  cmake_policy(GET CMP0069 x)
+
+  string(COMPARE EQUAL "${x}" "" not_set)
+  if(not_set)
+    message(FATAL_ERROR "Policy CMP0069 is not set")
+  endif()
+
+  string(COMPARE EQUAL "${x}" "OLD" is_old)
+  if(is_old)
+    message(FATAL_ERROR "Policy CMP0069 set to OLD")
+  endif()
+
+  set(optional)
+  set(one RESULT OUTPUT)
+  set(multiple LANGUAGES)
+
+  # Introduce:
+  # * X_RESULT
+  # * X_OUTPUT
+  # * X_LANGUAGES
+  cmake_parse_arguments(X "${optional}" "${one}" "${multiple}" "${ARGV}")
+
+  string(COMPARE NOTEQUAL "${X_UNPARSED_ARGUMENTS}" "" has_unparsed)
+  if(has_unparsed)
+    message(FATAL_ERROR "Unparsed arguments: ${X_UNPARSED_ARGUMENTS}")
+  endif()
+
+  string(COMPARE EQUAL "${X_LANGUAGES}" "" no_languages)
+  if(no_languages)
+    # User did not set any languages, use defaults
+    get_property(enabled_languages GLOBAL PROPERTY ENABLED_LANGUAGES)
+    string(COMPARE EQUAL "${enabled_languages}" "" no_languages)
+    if(no_languages)
+      _ipo_not_supported(
+          "no languages found in ENABLED_LANGUAGES global property"
+      )
+      return()
+    endif()
+
+    set(languages "")
+    list(FIND enabled_languages "CXX" result)
+    if(NOT result EQUAL -1)
+      list(APPEND languages "CXX")
+    endif()
+
+    list(FIND enabled_languages "C" result)
+    if(NOT result EQUAL -1)
+      list(APPEND languages "C")
+    endif()
+
+    list(FIND enabled_languages "Fortran" result)
+    if(NOT result EQUAL -1)
+      list(APPEND languages "Fortran")
+    endif()
+
+    string(COMPARE EQUAL "${languages}" "" no_languages)
+    if(no_languages)
+      _ipo_not_supported(
+          "no C/CXX/Fortran languages found in ENABLED_LANGUAGES global property"
+      )
+      return()
+    endif()
+  else()
+    set(languages "${X_LANGUAGES}")
+
+    set(unsupported_languages "${languages}")
+    list(REMOVE_ITEM unsupported_languages "C" "CXX" "Fortran")
+    string(COMPARE NOTEQUAL "${unsupported_languages}" "" has_unsupported)
+    if(has_unsupported)
+      _ipo_not_supported(
+          "language(s) '${unsupported_languages}' not supported"
+      )
+      return()
+    endif()
+  endif()
+
+  foreach(lang ${languages})
+    if(NOT _CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE)
+      _ipo_not_supported("CMake doesn't support IPO for current ${lang} compiler")
+      return()
+    endif()
+
+    if(NOT _CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER)
+      _ipo_not_supported("${lang} compiler doesn't support IPO")
+      return()
+    endif()
+  endforeach()
+
+  if(CMAKE_GENERATOR MATCHES "^Visual Studio ")
+    _ipo_not_supported("CMake doesn't support IPO for current generator")
+    return()
+  endif()
+
+  foreach(x ${languages})
+    _ipo_run_language_check(${x})
+  endforeach()
+
+  set("${X_RESULT}" YES PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-C.txt.in b/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-C.txt.in
new file mode 100644
index 0000000..5a3b8ee
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-C.txt.in
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION "@CMAKE_VERSION@")
+project("@TRY_COMPILE_PROJECT_NAME@" LANGUAGES C)
+
+cmake_policy(SET CMP0069 NEW)
+
+add_library(foo foo.c)
+add_executable(boo main.c)
+target_link_libraries(boo PUBLIC foo)
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in b/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in
new file mode 100644
index 0000000..30993fa
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION "@CMAKE_VERSION@")
+project("@TRY_COMPILE_PROJECT_NAME@" LANGUAGES CXX)
+
+cmake_policy(SET CMP0069 NEW)
+
+add_library(foo foo.cpp)
+add_executable(boo main.cpp)
+target_link_libraries(boo PUBLIC foo)
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in b/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in
new file mode 100644
index 0000000..9fab077
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION "@CMAKE_VERSION@")
+project("@TRY_COMPILE_PROJECT_NAME@" LANGUAGES Fortran)
+
+cmake_policy(SET CMP0069 NEW)
+
+add_library(foo foo.f)
+add_executable(boo main.f)
+target_link_libraries(boo PUBLIC foo)
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/foo.c b/share/cmake-3.10/Modules/CheckIPOSupported/foo.c
new file mode 100644
index 0000000..1e56597
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/foo.c
@@ -0,0 +1,4 @@
+int foo()
+{
+  return 0x42;
+}
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/foo.cpp b/share/cmake-3.10/Modules/CheckIPOSupported/foo.cpp
new file mode 100644
index 0000000..1e56597
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/foo.cpp
@@ -0,0 +1,4 @@
+int foo()
+{
+  return 0x42;
+}
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/foo.f b/share/cmake-3.10/Modules/CheckIPOSupported/foo.f
new file mode 100644
index 0000000..945d2d5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/foo.f
@@ -0,0 +1,2 @@
+	SUBROUTINE FOO
+	END
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/main.c b/share/cmake-3.10/Modules/CheckIPOSupported/main.c
new file mode 100644
index 0000000..5be0864
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/main.c
@@ -0,0 +1,6 @@
+int foo();
+
+int main()
+{
+  return foo();
+}
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/main.cpp b/share/cmake-3.10/Modules/CheckIPOSupported/main.cpp
new file mode 100644
index 0000000..5be0864
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/main.cpp
@@ -0,0 +1,6 @@
+int foo();
+
+int main()
+{
+  return foo();
+}
diff --git a/share/cmake-3.10/Modules/CheckIPOSupported/main.f b/share/cmake-3.10/Modules/CheckIPOSupported/main.f
new file mode 100644
index 0000000..9d1de9f
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIPOSupported/main.f
@@ -0,0 +1,3 @@
+	PROGRAM BOO
+	CALL FOO()
+	END
diff --git a/share/cmake-3.6/Modules/CheckIncludeFile.c.in b/share/cmake-3.10/Modules/CheckIncludeFile.c.in
similarity index 100%
rename from share/cmake-3.6/Modules/CheckIncludeFile.c.in
rename to share/cmake-3.10/Modules/CheckIncludeFile.c.in
diff --git a/share/cmake-3.10/Modules/CheckIncludeFile.cmake b/share/cmake-3.10/Modules/CheckIncludeFile.cmake
new file mode 100644
index 0000000..c566e14
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIncludeFile.cmake
@@ -0,0 +1,89 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckIncludeFile
+# ----------------
+#
+# Provides a macro to check if a header file can be included in ``C``.
+#
+# .. command:: CHECK_INCLUDE_FILE
+#
+#   ::
+#
+#     CHECK_INCLUDE_FILE(<include> <variable> [<flags>])
+#
+#   Check if the given ``<include>`` file may be included in a ``C``
+#   source file and store the result in an internal cache entry named
+#   ``<variable>``.  The optional third argument may be used to add
+#   compilation flags to the check (or use ``CMAKE_REQUIRED_FLAGS`` below).
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ``CMAKE_REQUIRED_FLAGS``
+#   string of compile command line flags
+# ``CMAKE_REQUIRED_DEFINITIONS``
+#   list of macros to define (-DFOO=bar)
+# ``CMAKE_REQUIRED_INCLUDES``
+#   list of include directories
+# ``CMAKE_REQUIRED_QUIET``
+#   execute quietly without messages
+#
+# See the :module:`CheckIncludeFiles` module to check for multiple headers
+# at once.  See the :module:`CheckIncludeFileCXX` module to check for headers
+# using the ``CXX`` language.
+
+macro(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
+  if(NOT DEFINED "${VARIABLE}")
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS)
+    endif()
+    set(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
+    set(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
+    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}")
+    endif()
+    if(${ARGC} EQUAL 3)
+      set(CMAKE_C_FLAGS_SAVE ${CMAKE_C_FLAGS})
+      string(APPEND CMAKE_C_FLAGS " ${ARGV2}")
+    endif()
+
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS
+      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}
+      "${CHECK_INCLUDE_FILE_C_INCLUDE_DIRS}"
+      OUTPUT_VARIABLE OUTPUT)
+
+    if(${ARGC} EQUAL 3)
+      set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS_SAVE})
+    endif()
+
+    if(${VARIABLE})
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${INCLUDE} - found")
+      endif()
+      set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if the include file ${INCLUDE} "
+        "exists passed with the following output:\n"
+        "${OUTPUT}\n\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${INCLUDE} - not found")
+      endif()
+      set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if the include file ${INCLUDE} "
+        "exists failed with the following output:\n"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/CheckIncludeFile.cxx.in b/share/cmake-3.10/Modules/CheckIncludeFile.cxx.in
similarity index 100%
rename from share/cmake-3.6/Modules/CheckIncludeFile.cxx.in
rename to share/cmake-3.10/Modules/CheckIncludeFile.cxx.in
diff --git a/share/cmake-3.10/Modules/CheckIncludeFileCXX.cmake b/share/cmake-3.10/Modules/CheckIncludeFileCXX.cmake
new file mode 100644
index 0000000..19b1ef6
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIncludeFileCXX.cmake
@@ -0,0 +1,88 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckIncludeFileCXX
+# -------------------
+#
+# Provides a macro to check if a header file can be included in ``CXX``.
+#
+# .. command:: CHECK_INCLUDE_FILE_CXX
+#
+#   ::
+#
+#     CHECK_INCLUDE_FILE_CXX(<include> <variable> [<flags>])
+#
+#   Check if the given ``<include>`` file may be included in a ``CXX``
+#   source file and store the result in an internal cache entry named
+#   ``<variable>``.  The optional third argument may be used to add
+#   compilation flags to the check (or use ``CMAKE_REQUIRED_FLAGS`` below).
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ``CMAKE_REQUIRED_FLAGS``
+#   string of compile command line flags
+# ``CMAKE_REQUIRED_DEFINITIONS``
+#   list of macros to define (-DFOO=bar)
+# ``CMAKE_REQUIRED_INCLUDES``
+#   list of include directories
+# ``CMAKE_REQUIRED_QUIET``
+#   execute quietly without messages
+#
+# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFiles`
+# to check for one or more ``C`` headers.
+
+macro(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
+  if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS)
+    endif()
+    set(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
+    set(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
+    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}")
+    endif()
+    if(${ARGC} EQUAL 3)
+      set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
+      string(APPEND CMAKE_CXX_FLAGS " ${ARGV2}")
+    endif()
+
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS
+      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}
+      "${CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS}"
+      OUTPUT_VARIABLE OUTPUT)
+
+    if(${ARGC} EQUAL 3)
+      set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_SAVE})
+    endif()
+
+    if(${VARIABLE})
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for C++ include ${INCLUDE} - found")
+      endif()
+      set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if the include file ${INCLUDE} "
+        "exists passed with the following output:\n"
+        "${OUTPUT}\n\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for C++ include ${INCLUDE} - not found")
+      endif()
+      set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if the include file ${INCLUDE} "
+        "exists failed with the following output:\n"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckIncludeFiles.cmake b/share/cmake-3.10/Modules/CheckIncludeFiles.cmake
new file mode 100644
index 0000000..bef11a5
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckIncludeFiles.cmake
@@ -0,0 +1,97 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckIncludeFiles
+# -----------------
+#
+# Provides a macro to check if a list of one or more header files can
+# be included together in ``C``.
+#
+# .. command:: CHECK_INCLUDE_FILES
+#
+#   ::
+#
+#     CHECK_INCLUDE_FILES("<includes>" <variable>)
+#
+#   Check if the given ``<includes>`` list may be included together
+#   in a ``C`` source file and store the result in an internal cache
+#   entry named ``<variable>``.  Specify the ``<includes>`` argument
+#   as a :ref:`;-list <CMake Language Lists>` of header file names.
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ``CMAKE_REQUIRED_FLAGS``
+#   string of compile command line flags
+# ``CMAKE_REQUIRED_DEFINITIONS``
+#   list of macros to define (-DFOO=bar)
+# ``CMAKE_REQUIRED_INCLUDES``
+#   list of include directories
+# ``CMAKE_REQUIRED_QUIET``
+#   execute quietly without messages
+#
+# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFileCXX`
+# to check for a single header file in ``C`` or ``CXX`` languages.
+
+macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
+  if(NOT DEFINED "${VARIABLE}")
+    set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CHECK_INCLUDE_FILES_INCLUDE_DIRS)
+    endif()
+    set(CHECK_INCLUDE_FILES_CONTENT "/* */\n")
+    set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS})
+    foreach(FILE ${INCLUDE})
+      string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
+        "#include <${FILE}>\n")
+    endforeach()
+    string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
+      "\n\nint main(void){return 0;}\n")
+    configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c" @ONLY)
+
+    set(_INCLUDE ${INCLUDE}) # remove empty elements
+    if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$")
+      list(LENGTH _INCLUDE _INCLUDE_LEN)
+      set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}")
+    elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$")
+      set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}")
+    else()
+      set(_description "include file ${_INCLUDE}")
+    endif()
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Looking for ${_description}")
+    endif()
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS
+      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS}
+      "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}"
+      OUTPUT_VARIABLE OUTPUT)
+    if(${VARIABLE})
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${_description} - found")
+      endif()
+      set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if files ${INCLUDE} "
+        "exist passed with the following output:\n"
+        "${OUTPUT}\n\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${_description} - not found")
+      endif()
+      set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if files ${INCLUDE} "
+        "exist failed with the following output:\n"
+        "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckLanguage.cmake b/share/cmake-3.10/Modules/CheckLanguage.cmake
new file mode 100644
index 0000000..1ea91d2
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckLanguage.cmake
@@ -0,0 +1,70 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckLanguage
+# -------------
+#
+# Check if a language can be enabled
+#
+# Usage:
+#
+# ::
+#
+#   check_language(<lang>)
+#
+# where <lang> is a language that may be passed to enable_language()
+# such as "Fortran".  If CMAKE_<lang>_COMPILER is already defined the
+# check does nothing.  Otherwise it tries enabling the language in a
+# test project.  The result is cached in CMAKE_<lang>_COMPILER as the
+# compiler that was found, or NOTFOUND if the language cannot be
+# enabled.
+#
+# Example:
+#
+# ::
+#
+#   check_language(Fortran)
+#   if(CMAKE_Fortran_COMPILER)
+#     enable_language(Fortran)
+#   else()
+#     message(STATUS "No Fortran support")
+#   endif()
+
+macro(check_language lang)
+  if(NOT DEFINED CMAKE_${lang}_COMPILER)
+    set(_desc "Looking for a ${lang} compiler")
+    message(STATUS ${_desc})
+    file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang})
+    file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}/CMakeLists.txt"
+      "cmake_minimum_required(VERSION ${CMAKE_VERSION})
+project(Check${lang} ${lang})
+file(WRITE \"\${CMAKE_CURRENT_BINARY_DIR}/result.cmake\"
+  \"set(CMAKE_${lang}_COMPILER \\\"\${CMAKE_${lang}_COMPILER}\\\")\\n\"
+  )
+")
+    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}"
+      OUTPUT_VARIABLE output
+      ERROR_VARIABLE output
+      RESULT_VARIABLE result
+      )
+    include(${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}/result.cmake OPTIONAL)
+    if(CMAKE_${lang}_COMPILER AND "${result}" STREQUAL "0")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "${_desc} passed with the following output:\n"
+        "${output}\n")
+    else()
+      set(CMAKE_${lang}_COMPILER NOTFOUND)
+      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}")
+    set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER}" CACHE FILEPATH "${lang} compiler")
+    mark_as_advanced(CMAKE_${lang}_COMPILER)
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckLibraryExists.cmake b/share/cmake-3.10/Modules/CheckLibraryExists.cmake
new file mode 100644
index 0000000..528a450
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckLibraryExists.cmake
@@ -0,0 +1,85 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckLibraryExists
+# ------------------
+#
+# Check if the function exists.
+#
+# CHECK_LIBRARY_EXISTS (LIBRARY FUNCTION LOCATION VARIABLE)
+#
+# ::
+#
+#   LIBRARY  - the name of the library you are looking for
+#   FUNCTION - the name of the function
+#   LOCATION - location where the library should be found
+#   VARIABLE - variable to store the result
+#              Will be created as an internal cache variable.
+#
+#
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+
+macro(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
+  if(NOT DEFINED "${VARIABLE}")
+    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}")
+    endif()
+    set(CHECK_LIBRARY_EXISTS_LIBRARIES ${LIBRARY})
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_LIBRARY_EXISTS_LIBRARIES
+        ${CHECK_LIBRARY_EXISTS_LIBRARIES} ${CMAKE_REQUIRED_LIBRARIES})
+    endif()
+
+    if(CMAKE_C_COMPILER_LOADED)
+      set(_cle_source ${CMAKE_ROOT}/Modules/CheckFunctionExists.c)
+    elseif(CMAKE_CXX_COMPILER_LOADED)
+      set(_cle_source ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckLibraryExists/CheckFunctionExists.cxx)
+      configure_file(${CMAKE_ROOT}/Modules/CheckFunctionExists.c "${_cle_source}" COPYONLY)
+    else()
+      message(FATAL_ERROR "CHECK_FUNCTION_EXISTS needs either C or CXX language enabled")
+    endif()
+
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${_cle_source}
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      LINK_LIBRARIES ${CHECK_LIBRARY_EXISTS_LIBRARIES}
+      CMAKE_FLAGS
+      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_LIBRARY_EXISTS_DEFINITION}
+      -DLINK_DIRECTORIES:STRING=${LOCATION}
+      OUTPUT_VARIABLE OUTPUT)
+    unset(_cle_source)
+
+    if(${VARIABLE})
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - found")
+      endif()
+      set(${VARIABLE} 1 CACHE INTERNAL "Have library ${LIBRARY}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if the function ${FUNCTION} exists in the ${LIBRARY} "
+        "passed with the following output:\n"
+        "${OUTPUT}\n\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - not found")
+      endif()
+      set(${VARIABLE} "" CACHE INTERNAL "Have library ${LIBRARY}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if the function ${FUNCTION} exists in the ${LIBRARY} "
+        "failed with the following output:\n"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/CheckLibraryExists.lists.in b/share/cmake-3.10/Modules/CheckLibraryExists.lists.in
similarity index 100%
rename from share/cmake-3.6/Modules/CheckLibraryExists.lists.in
rename to share/cmake-3.10/Modules/CheckLibraryExists.lists.in
diff --git a/share/cmake-3.6/Modules/CheckPrototypeDefinition.c.in b/share/cmake-3.10/Modules/CheckPrototypeDefinition.c.in
similarity index 100%
rename from share/cmake-3.6/Modules/CheckPrototypeDefinition.c.in
rename to share/cmake-3.10/Modules/CheckPrototypeDefinition.c.in
diff --git a/share/cmake-3.10/Modules/CheckPrototypeDefinition.cmake b/share/cmake-3.10/Modules/CheckPrototypeDefinition.cmake
new file mode 100644
index 0000000..7859594
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckPrototypeDefinition.cmake
@@ -0,0 +1,109 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckPrototypeDefinition
+# ------------------------
+#
+# Check if the protoype we expect is correct.
+#
+# check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)
+#
+# ::
+#
+#   FUNCTION - The name of the function (used to check if prototype exists)
+#   PROTOTYPE- The prototype to check.
+#   RETURN - The return value of the function.
+#   HEADER - The header files required.
+#   VARIABLE - The variable to store the result.
+#              Will be created as an internal cache variable.
+#
+# Example:
+#
+# ::
+#
+#   check_prototype_definition(getpwent_r
+#    "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)"
+#    "NULL"
+#    "unistd.h;pwd.h"
+#    SOLARIS_GETPWENT_R)
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_INCLUDES = list of include directories
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+
+#
+
+
+get_filename_component(__check_proto_def_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+
+function(CHECK_PROTOTYPE_DEFINITION _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIABLE)
+
+  if (NOT DEFINED ${_VARIABLE})
+    set(CHECK_PROTOTYPE_DEFINITION_CONTENT "/* */\n")
+
+    set(CHECK_PROTOTYPE_DEFINITION_FLAGS ${CMAKE_REQUIRED_FLAGS})
+    if (CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_PROTOTYPE_DEFINITION_LIBS
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_PROTOTYPE_DEFINITION_LIBS)
+    endif()
+    if (CMAKE_REQUIRED_INCLUDES)
+      set(CMAKE_SYMBOL_EXISTS_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CMAKE_SYMBOL_EXISTS_INCLUDES)
+    endif()
+
+    foreach(_FILE ${_HEADER})
+      string(APPEND CHECK_PROTOTYPE_DEFINITION_HEADER
+        "#include <${_FILE}>\n")
+    endforeach()
+
+    set(CHECK_PROTOTYPE_DEFINITION_SYMBOL ${_FUNCTION})
+    set(CHECK_PROTOTYPE_DEFINITION_PROTO ${_PROTOTYPE})
+    set(CHECK_PROTOTYPE_DEFINITION_RETURN ${_RETURN})
+
+    configure_file("${__check_proto_def_dir}/CheckPrototypeDefinition.c.in"
+      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c" @ONLY)
+
+    file(READ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c _SOURCE)
+
+    try_compile(${_VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_PROTOTYPE_DEFINITION_LIBS}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CHECK_PROTOTYPE_DEFINITION_FLAGS}
+      "${CMAKE_SYMBOL_EXISTS_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+
+    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")
+      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")
+      endif()
+      set(${_VARIABLE} 0 CACHE INTERNAL "Have correct prototype for ${_FUNCTION}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if the prototype ${_FUNCTION} exists for ${_VARIABLE} failed with the following output:\n"
+        "${OUTPUT}\n\n${_SOURCE}\n\n")
+    endif ()
+  endif()
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/CheckSizeOf.cmake b/share/cmake-3.10/Modules/CheckSizeOf.cmake
new file mode 100644
index 0000000..bd439e1
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckSizeOf.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+message(SEND_ERROR
+        "Modules/CheckSizeOf.cmake has been removed.  "
+        "Use Modules/CheckTypeSize.cmake instead.  This "
+        "compatibility check may be removed before the next release!")
diff --git a/share/cmake-3.10/Modules/CheckStructHasMember.cmake b/share/cmake-3.10/Modules/CheckStructHasMember.cmake
new file mode 100644
index 0000000..085b464
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckStructHasMember.cmake
@@ -0,0 +1,74 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckStructHasMember
+# --------------------
+#
+# Check if the given struct or class has the specified member variable
+#
+# ::
+#
+#  CHECK_STRUCT_HAS_MEMBER(<struct> <member> <header> <variable>
+#                          [LANGUAGE <language>])
+#
+# ::
+#
+#   <struct> - the name of the struct or class you are interested in
+#   <member> - the member which existence you want to check
+#   <header> - the header(s) where the prototype should be declared
+#   <variable> - variable to store the result
+#   <language> - the compiler to use (C or CXX)
+#
+#
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_INCLUDES = list of include directories
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+#
+#
+#
+# Example: CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h
+# HAVE_TIMEVAL_TV_SEC LANGUAGE C)
+
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+
+macro (CHECK_STRUCT_HAS_MEMBER _STRUCT _MEMBER _HEADER _RESULT)
+   set(_INCLUDE_FILES)
+   foreach (it ${_HEADER})
+      string(APPEND _INCLUDE_FILES "#include <${it}>\n")
+   endforeach ()
+
+   if("x${ARGN}" STREQUAL "x")
+      set(_lang C)
+   elseif("x${ARGN}" MATCHES "^xLANGUAGE;([a-zA-Z]+)$")
+      set(_lang "${CMAKE_MATCH_1}")
+   else()
+      message(FATAL_ERROR "Unknown arguments:\n  ${ARGN}\n")
+   endif()
+
+   set(_CHECK_STRUCT_MEMBER_SOURCE_CODE "
+${_INCLUDE_FILES}
+int main()
+{
+   (void)sizeof(((${_STRUCT} *)0)->${_MEMBER});
+   return 0;
+}
+")
+
+   if("${_lang}" STREQUAL "C")
+      CHECK_C_SOURCE_COMPILES("${_CHECK_STRUCT_MEMBER_SOURCE_CODE}" ${_RESULT})
+   elseif("${_lang}" STREQUAL "CXX")
+      CHECK_CXX_SOURCE_COMPILES("${_CHECK_STRUCT_MEMBER_SOURCE_CODE}" ${_RESULT})
+   else()
+      message(FATAL_ERROR "Unknown language:\n  ${_lang}\nSupported languages: C, CXX.\n")
+   endif()
+endmacro ()
diff --git a/share/cmake-3.10/Modules/CheckSymbolExists.cmake b/share/cmake-3.10/Modules/CheckSymbolExists.cmake
new file mode 100644
index 0000000..6d52d56
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckSymbolExists.cmake
@@ -0,0 +1,116 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+CheckSymbolExists
+-----------------
+
+Provides a macro to check if a symbol exists as a function, variable,
+or macro in ``C``.
+
+.. command:: check_symbol_exists
+
+  ::
+
+    check_symbol_exists(<symbol> <files> <variable>)
+
+  Check that the ``<symbol>`` is available after including given header
+  ``<files>`` and store the result in a ``<variable>``.  Specify the list
+  of files in one argument as a semicolon-separated list.
+  ``<variable>`` will be created as an internal cache variable.
+
+If the header files define the symbol as a macro it is considered
+available and assumed to work.  If the header files declare the symbol
+as a function or variable then the symbol must also be available for
+linking (so intrinsics may not be detected).
+If the symbol is a type, enum value, or intrinsic it will not be recognized
+(consider using :module:`CheckTypeSize` or :module:`CheckCSourceCompiles`).
+If the check needs to be done in C++, consider using
+:module:`CheckCXXSymbolExists` instead.
+
+The following variables may be set before calling this macro to modify
+the way the check is run:
+
+``CMAKE_REQUIRED_FLAGS``
+  string of compile command line flags
+``CMAKE_REQUIRED_DEFINITIONS``
+  list of macros to define (-DFOO=bar)
+``CMAKE_REQUIRED_INCLUDES``
+  list of include directories
+``CMAKE_REQUIRED_LIBRARIES``
+  list of libraries to link
+``CMAKE_REQUIRED_QUIET``
+  execute quietly without messages
+#]=======================================================================]
+
+macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+  if(CMAKE_C_COMPILER_LOADED)
+    __CHECK_SYMBOL_EXISTS_IMPL("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
+  elseif(CMAKE_CXX_COMPILER_LOADED)
+    __CHECK_SYMBOL_EXISTS_IMPL("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
+  else()
+    message(FATAL_ERROR "CHECK_SYMBOL_EXISTS needs either C or CXX language enabled")
+  endif()
+endmacro()
+
+macro(__CHECK_SYMBOL_EXISTS_IMPL SOURCEFILE SYMBOL FILES VARIABLE)
+  if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
+    set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+    set(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_SYMBOL_EXISTS_LIBS
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_SYMBOL_EXISTS_LIBS)
+    endif()
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CMAKE_SYMBOL_EXISTS_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else()
+      set(CMAKE_SYMBOL_EXISTS_INCLUDES)
+    endif()
+    foreach(FILE ${FILES})
+      string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
+        "#include <${FILE}>\n")
+    endforeach()
+    string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT
+      "\nint main(int argc, char** argv)\n{\n  (void)argv;\n#ifndef ${SYMBOL}\n  return ((int*)(&${SYMBOL}))[argc];\n#else\n  (void)argc;\n  return 0;\n#endif\n}\n")
+
+    configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+      "${SOURCEFILE}" @ONLY)
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Looking for ${SYMBOL}")
+    endif()
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      "${SOURCEFILE}"
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_SYMBOL_EXISTS_LIBS}
+      CMAKE_FLAGS
+      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
+      "${CMAKE_SYMBOL_EXISTS_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+    if(${VARIABLE})
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${SYMBOL} - found")
+      endif()
+      set(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if the ${SYMBOL} "
+        "exist passed with the following output:\n"
+        "${OUTPUT}\nFile ${SOURCEFILE}:\n"
+        "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
+    else()
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${SYMBOL} - not found")
+      endif()
+      set(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if the ${SYMBOL} "
+        "exist failed with the following output:\n"
+        "${OUTPUT}\nFile ${SOURCEFILE}:\n"
+        "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/CheckTypeSize.c.in b/share/cmake-3.10/Modules/CheckTypeSize.c.in
new file mode 100644
index 0000000..2303c4e
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckTypeSize.c.in
@@ -0,0 +1,43 @@
+@headers@
+
+#undef KEY
+#if defined(__i386)
+# define KEY '_','_','i','3','8','6'
+#elif defined(__x86_64)
+# define KEY '_','_','x','8','6','_','6','4'
+#elif defined(__ppc__)
+# define KEY '_','_','p','p','c','_','_'
+#elif defined(__ppc64__)
+# define KEY '_','_','p','p','c','6','4','_','_'
+#elif defined(__aarch64__)
+# define KEY '_','_','a','a','r','c','h','6','4','_','_'
+#elif defined(__ARM_ARCH_7A__)
+# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_'
+#elif defined(__ARM_ARCH_7S__)
+# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_'
+#endif
+
+#define SIZE (sizeof(@type@))
+char info_size[] =  {'I', 'N', 'F', 'O', ':', 's','i','z','e','[',
+  ('0' + ((SIZE / 10000)%10)),
+  ('0' + ((SIZE / 1000)%10)),
+  ('0' + ((SIZE / 100)%10)),
+  ('0' + ((SIZE / 10)%10)),
+  ('0' +  (SIZE    % 10)),
+  ']',
+#ifdef KEY
+  ' ','k','e','y','[', KEY, ']',
+#endif
+  '\0'};
+
+#ifdef __CLASSIC_C__
+int main(argc, argv) int argc; char *argv[];
+#else
+int main(int argc, char *argv[])
+#endif
+{
+  int require = 0;
+  require += info_size[argc];
+  (void)argv;
+  return require;
+}
diff --git a/share/cmake-3.10/Modules/CheckTypeSize.cmake b/share/cmake-3.10/Modules/CheckTypeSize.cmake
new file mode 100644
index 0000000..fcf1df7
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckTypeSize.cmake
@@ -0,0 +1,263 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckTypeSize
+# -------------
+#
+# Check sizeof a type
+#
+# ::
+#
+#   CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY]
+#                                 [LANGUAGE <language>])
+#
+# Check if the type exists and determine its size.  On return,
+# "HAVE_${VARIABLE}" holds the existence of the type, and "${VARIABLE}"
+# holds one of the following:
+#
+# ::
+#
+#    <size> = type has non-zero size <size>
+#    "0"    = type has arch-dependent size (see below)
+#    ""     = type does not exist
+#
+# Both ``HAVE_${VARIABLE}`` and ``${VARIABLE}`` will be created as internal
+# cache variables.
+#
+# Furthermore, the variable "${VARIABLE}_CODE" holds C preprocessor code
+# to define the macro "${VARIABLE}" to the size of the type, or leave
+# the macro undefined if the type does not exist.
+#
+# The variable "${VARIABLE}" may be "0" when CMAKE_OSX_ARCHITECTURES has
+# multiple architectures for building OS X universal binaries.  This
+# indicates that the type size varies across architectures.  In this
+# case "${VARIABLE}_CODE" contains C preprocessor tests mapping from
+# each architecture macro to the corresponding type size.  The list of
+# architecture macros is stored in "${VARIABLE}_KEYS", and the value for
+# each key is stored in "${VARIABLE}-${KEY}".
+#
+# If the BUILTIN_TYPES_ONLY option is not given, the macro checks for
+# headers <sys/types.h>, <stdint.h>, and <stddef.h>, and saves results
+# in HAVE_SYS_TYPES_H, HAVE_STDINT_H, and HAVE_STDDEF_H.  The type size
+# check automatically includes the available headers, thus supporting
+# checks of types defined in the headers.
+#
+# If LANGUAGE is set, the specified compiler will be used to perform the
+# check. Acceptable values are C and CXX
+#
+# Despite the name of the macro you may use it to check the size of more
+# complex expressions, too.  To check e.g.  for the size of a struct
+# member you can do something like this:
+#
+# ::
+#
+#   check_type_size("((struct something*)0)->member" SIZEOF_MEMBER)
+#
+#
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_INCLUDES = list of include directories
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+#   CMAKE_EXTRA_INCLUDE_FILES = list of extra headers to include
+
+include(CheckIncludeFile)
+include(CheckIncludeFileCXX)
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0054 NEW)
+
+get_filename_component(__check_type_size_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+#-----------------------------------------------------------------------------
+# 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}")
+  endif()
+
+  # Include header files.
+  set(headers)
+  if(builtin)
+    if(HAVE_SYS_TYPES_H)
+      string(APPEND headers "#include <sys/types.h>\n")
+    endif()
+    if(HAVE_STDINT_H)
+      string(APPEND headers "#include <stdint.h>\n")
+    endif()
+    if(HAVE_STDDEF_H)
+      string(APPEND headers "#include <stddef.h>\n")
+    endif()
+  endif()
+  foreach(h ${CMAKE_EXTRA_INCLUDE_FILES})
+    string(APPEND headers "#include \"${h}\"\n")
+  endforeach()
+
+  # Perform the check.
+
+  if(language STREQUAL "C")
+    set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${var}.c)
+  elseif(language STREQUAL "CXX")
+    set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${var}.cpp)
+  else()
+    message(FATAL_ERROR "Unknown language:\n  ${language}\nSupported languages: C, CXX.\n")
+  endif()
+  set(bin ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${var}.bin)
+  configure_file(${__check_type_size_dir}/CheckTypeSize.c.in ${src} @ONLY)
+  try_compile(HAVE_${var} ${CMAKE_BINARY_DIR} ${src}
+    COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+    LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
+    CMAKE_FLAGS
+      "-DCOMPILE_DEFINITIONS:STRING=${CMAKE_REQUIRED_FLAGS}"
+      "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+    OUTPUT_VARIABLE output
+    COPY_FILE ${bin}
+    )
+
+  if(HAVE_${var})
+    # The check compiled.  Load information from the binary.
+    file(STRINGS ${bin} strings LIMIT_COUNT 10 REGEX "INFO:size")
+
+    # Parse the information strings.
+    set(regex_size ".*INFO:size\\[0*([^]]*)\\].*")
+    set(regex_key " key\\[([^]]*)\\]")
+    set(keys)
+    set(code)
+    set(mismatch)
+    set(first 1)
+    foreach(info ${strings})
+      if("${info}" MATCHES "${regex_size}")
+        # Get the type size.
+        set(size "${CMAKE_MATCH_1}")
+        if(first)
+          set(${var} ${size})
+        elseif(NOT "${size}" STREQUAL "${${var}}")
+          set(mismatch 1)
+        endif()
+        set(first 0)
+
+        # Get the architecture map key.
+        string(REGEX MATCH   "${regex_key}"       key "${info}")
+        string(REGEX REPLACE "${regex_key}" "\\1" key "${key}")
+        if(key)
+          string(APPEND code "\nset(${var}-${key} \"${size}\")")
+          list(APPEND keys ${key})
+        endif()
+      endif()
+    endforeach()
+
+    # Update the architecture-to-size map.
+    if(mismatch AND keys)
+      configure_file(${__check_type_size_dir}/CheckTypeSizeMap.cmake.in ${map} @ONLY)
+      set(${var} 0)
+    else()
+      file(REMOVE ${map})
+    endif()
+
+    if(mismatch AND NOT keys)
+      message(SEND_ERROR "CHECK_TYPE_SIZE found different results, consider setting CMAKE_OSX_ARCHITECTURES or CMAKE_TRY_COMPILE_OSX_ARCHITECTURES to one or no architecture !")
+    endif()
+
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Check size of ${type} - 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")
+    set(${var} "${${var}}" CACHE INTERNAL "CHECK_TYPE_SIZE: sizeof(${type})")
+  else()
+    # The check failed to compile.
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Check size of ${type} - failed")
+    endif()
+    file(READ ${src} content)
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+      "Determining size of ${type} failed with the following output:\n${output}\n${src}:\n${content}\n\n")
+    set(${var} "" CACHE INTERNAL "CHECK_TYPE_SIZE: ${type} unknown")
+    file(REMOVE ${map})
+  endif()
+endfunction()
+
+#-----------------------------------------------------------------------------
+macro(CHECK_TYPE_SIZE TYPE VARIABLE)
+  # parse arguments
+  unset(doing)
+  foreach(arg ${ARGN})
+    if("x${arg}" STREQUAL "xBUILTIN_TYPES_ONLY")
+      set(_CHECK_TYPE_SIZE_${arg} 1)
+      unset(doing)
+    elseif("x${arg}" STREQUAL "xLANGUAGE") # change to MATCHES for more keys
+      set(doing "${arg}")
+      set(_CHECK_TYPE_SIZE_${doing} "")
+    elseif("x${doing}" STREQUAL "xLANGUAGE")
+      set(_CHECK_TYPE_SIZE_${doing} "${arg}")
+      unset(doing)
+    else()
+      message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
+    endif()
+  endforeach()
+  if("x${doing}" MATCHES "^x(LANGUAGE)$")
+    message(FATAL_ERROR "Missing argument:\n  ${doing} arguments requires a value\n")
+  endif()
+  if(DEFINED _CHECK_TYPE_SIZE_LANGUAGE)
+    if(NOT "x${_CHECK_TYPE_SIZE_LANGUAGE}" MATCHES "^x(C|CXX)$")
+      message(FATAL_ERROR "Unknown language:\n  ${_CHECK_TYPE_SIZE_LANGUAGE}.\nSupported languages: C, CXX.\n")
+    endif()
+    set(_language ${_CHECK_TYPE_SIZE_LANGUAGE})
+  else()
+    set(_language C)
+  endif()
+
+  # Optionally check for standard headers.
+  if(_CHECK_TYPE_SIZE_BUILTIN_TYPES_ONLY)
+    set(_builtin 0)
+  else()
+    set(_builtin 1)
+    if(_language STREQUAL "C")
+      check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+      check_include_file(stdint.h HAVE_STDINT_H)
+      check_include_file(stddef.h HAVE_STDDEF_H)
+    elseif(_language STREQUAL "CXX")
+      check_include_file_cxx(sys/types.h HAVE_SYS_TYPES_H)
+      check_include_file_cxx(stdint.h HAVE_STDINT_H)
+      check_include_file_cxx(stddef.h HAVE_STDDEF_H)
+    endif()
+  endif()
+  unset(_CHECK_TYPE_SIZE_BUILTIN_TYPES_ONLY)
+  unset(_CHECK_TYPE_SIZE_LANGUAGE)
+
+  # Compute or load the size or size map.
+  set(${VARIABLE}_KEYS)
+  set(_map_file ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${VARIABLE}.cmake)
+  if(NOT DEFINED HAVE_${VARIABLE})
+    __check_type_size_impl(${TYPE} ${VARIABLE} ${_map_file} ${_builtin} ${_language})
+  endif()
+  include(${_map_file} OPTIONAL)
+  set(_map_file)
+  set(_builtin)
+
+  # Create preprocessor code.
+  if(${VARIABLE}_KEYS)
+    set(${VARIABLE}_CODE)
+    set(_if if)
+    foreach(key ${${VARIABLE}_KEYS})
+      string(APPEND ${VARIABLE}_CODE "#${_if} defined(${key})\n# define ${VARIABLE} ${${VARIABLE}-${key}}\n")
+      set(_if elif)
+    endforeach()
+    string(APPEND ${VARIABLE}_CODE "#else\n# error ${VARIABLE} unknown\n#endif")
+    set(_if)
+  elseif(${VARIABLE})
+    set(${VARIABLE}_CODE "#define ${VARIABLE} ${${VARIABLE}}")
+  else()
+    set(${VARIABLE}_CODE "/* #undef ${VARIABLE} */")
+  endif()
+endmacro()
+
+#-----------------------------------------------------------------------------
+cmake_policy(POP)
diff --git a/share/cmake-3.6/Modules/CheckTypeSizeMap.cmake.in b/share/cmake-3.10/Modules/CheckTypeSizeMap.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/CheckTypeSizeMap.cmake.in
rename to share/cmake-3.10/Modules/CheckTypeSizeMap.cmake.in
diff --git a/share/cmake-3.6/Modules/CheckVariableExists.c b/share/cmake-3.10/Modules/CheckVariableExists.c
similarity index 100%
rename from share/cmake-3.6/Modules/CheckVariableExists.c
rename to share/cmake-3.10/Modules/CheckVariableExists.c
diff --git a/share/cmake-3.10/Modules/CheckVariableExists.cmake b/share/cmake-3.10/Modules/CheckVariableExists.cmake
new file mode 100644
index 0000000..fd5c36c
--- /dev/null
+++ b/share/cmake-3.10/Modules/CheckVariableExists.cmake
@@ -0,0 +1,73 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# CheckVariableExists
+# -------------------
+#
+# Check if the variable exists.
+#
+# ::
+#
+#   CHECK_VARIABLE_EXISTS(VAR VARIABLE)
+#
+#
+#
+# ::
+#
+#   VAR      - the name of the variable
+#   VARIABLE - variable to store the result
+#              Will be created as an internal cache variable.
+#
+#
+# This macro is only for C variables.
+#
+# The following variables may be set before calling this macro to modify
+# the way the check is run:
+#
+# ::
+#
+#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#   CMAKE_REQUIRED_QUIET = execute quietly without messages
+
+macro(CHECK_VARIABLE_EXISTS VAR VARIABLE)
+  if(NOT DEFINED "${VARIABLE}")
+    set(MACRO_CHECK_VARIABLE_DEFINITIONS
+      "-DCHECK_VARIABLE_EXISTS=${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(NOT CMAKE_REQUIRED_QUIET)
+      message(STATUS "Looking for ${VAR}")
+    endif()
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES
+        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+    else()
+      set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES)
+    endif()
+    try_compile(${VARIABLE}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_ROOT}/Modules/CheckVariableExists.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      ${CHECK_VARIABLE_EXISTS_ADD_LIBRARIES}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS}
+      OUTPUT_VARIABLE OUTPUT)
+    if(${VARIABLE})
+      set(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${VAR} - found")
+      endif()
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if the variable ${VAR} exists passed with the following output:\n"
+        "${OUTPUT}\n\n")
+    else()
+      set(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
+      if(NOT CMAKE_REQUIRED_QUIET)
+        message(STATUS "Looking for ${VAR} - 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"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/ADSP-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/ADSP-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/ARMCC-ASM.cmake b/share/cmake-3.10/Modules/Compiler/ARMCC-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/ARMCC-ASM.cmake
rename to share/cmake-3.10/Modules/Compiler/ARMCC-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/ARMCC-C.cmake b/share/cmake-3.10/Modules/Compiler/ARMCC-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/ARMCC-C.cmake
rename to share/cmake-3.10/Modules/Compiler/ARMCC-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/ARMCC-CXX.cmake b/share/cmake-3.10/Modules/Compiler/ARMCC-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/ARMCC-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/ARMCC-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/ARMCC-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/ARMCC-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/ARMCC.cmake b/share/cmake-3.10/Modules/Compiler/ARMCC.cmake
new file mode 100644
index 0000000..250a8f4
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/ARMCC.cmake
@@ -0,0 +1,37 @@
+if(_ARMCC_CMAKE_LOADED)
+  return()
+endif()
+set(_ARMCC_CMAKE_LOADED TRUE)
+
+# See ARM Compiler documentation at:
+# http://infocenter.arm.com/help/topic/com.arm.doc.set.swdev/index.html
+
+get_filename_component(_CMAKE_C_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
+get_filename_component(_CMAKE_CXX_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
+
+set(CMAKE_EXECUTABLE_SUFFIX ".elf")
+
+find_program(CMAKE_ARMCC_LINKER armlink HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" )
+find_program(CMAKE_ARMCC_AR     armar   HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" )
+
+set(CMAKE_LINKER "${CMAKE_ARMCC_LINKER}" CACHE FILEPATH "The ARMCC linker" FORCE)
+mark_as_advanced(CMAKE_ARMCC_LINKER)
+set(CMAKE_AR "${CMAKE_ARMCC_AR}" CACHE FILEPATH "The ARMCC archiver" FORCE)
+mark_as_advanced(CMAKE_ARMCC_AR)
+
+macro(__compiler_armcc lang)
+  string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Ospace -DNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Otime -DNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
+
+  set(CMAKE_${lang}_OUTPUT_EXTENSION ".o")
+  set(CMAKE_${lang}_OUTPUT_EXTENSION_REPLACE 1)
+  set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "--via=")
+
+  set(CMAKE_${lang}_LINK_EXECUTABLE      "<CMAKE_LINKER> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS> -o <TARGET> --list <TARGET_BASE>.map")
+  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY  "<CMAKE_AR> --create -cr <TARGET> <LINK_FLAGS> <OBJECTS>")
+
+  set(CMAKE_DEPFILE_FLAGS_${lang} "--depend=<DEPFILE> --depend_single_line --no_depend_system_headers")
+endmacro()
diff --git a/share/cmake-3.10/Modules/Compiler/Absoft-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/Absoft-Fortran.cmake
new file mode 100644
index 0000000..da1fc80
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Absoft-Fortran.cmake
@@ -0,0 +1,10 @@
+string(APPEND CMAKE_Fortran_FLAGS_INIT " ")
+string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " ")
+string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -O3")
+string(APPEND CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
+set(CMAKE_Fortran_MODDIR_FLAG "-YMOD_OUT_DIR=")
+set(CMAKE_Fortran_MODPATH_FLAG "-p")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree")
diff --git a/share/cmake-3.6/Modules/Compiler/AppleClang-ASM.cmake b/share/cmake-3.10/Modules/Compiler/AppleClang-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/AppleClang-ASM.cmake
rename to share/cmake-3.10/Modules/Compiler/AppleClang-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/AppleClang-C-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/AppleClang-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/AppleClang-C-FeatureTests.cmake
rename to share/cmake-3.10/Modules/Compiler/AppleClang-C-FeatureTests.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/AppleClang-C.cmake b/share/cmake-3.10/Modules/Compiler/AppleClang-C.cmake
new file mode 100644
index 0000000..a48adec
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/AppleClang-C.cmake
@@ -0,0 +1,15 @@
+include(Compiler/Clang)
+__compiler_clang(C)
+
+if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
+
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+
+  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
+  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+endif()
+
+__compiler_check_default_language_standard(C 4.0 99)
diff --git a/share/cmake-3.6/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
rename to share/cmake-3.10/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/AppleClang-CXX.cmake b/share/cmake-3.10/Modules/Compiler/AppleClang-CXX.cmake
new file mode 100644
index 0000000..e5fd647
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/AppleClang-CXX.cmake
@@ -0,0 +1,30 @@
+include(Compiler/Clang)
+__compiler_clang(CXX)
+
+if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
+endif()
+
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+endif()
+
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1)
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
+  # AppleClang 5.0 knows this flag, but does not set a __cplusplus macro greater than 201103L
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
+endif()
+
+if (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()
+
+__compiler_check_default_language_standard(CXX 4.0 98)
diff --git a/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake
new file mode 100644
index 0000000..83817f7
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake
@@ -0,0 +1,7 @@
+
+set(_compiler_id_pp_test "defined(__clang__) && defined(__apple_build_version__)")
+
+include("${CMAKE_CURRENT_LIST_DIR}/Clang-DetermineCompilerInternal.cmake")
+
+string(APPEND _compiler_id_version_compute "
+# define @PREFIX@COMPILER_VERSION_TWEAK @MACRO_DEC@(__apple_build_version__)")
diff --git a/share/cmake-3.6/Modules/Compiler/Borland-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Borland-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Bruce-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Bruce-C.cmake b/share/cmake-3.10/Modules/Compiler/Bruce-C.cmake
new file mode 100644
index 0000000..cfabe65
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Bruce-C.cmake
@@ -0,0 +1,7 @@
+# Bruce C Compiler ignores "-g" flag and optimization cannot be
+# enabled here (it is implemented only for 8086 target).
+string(APPEND CMAKE_C_FLAGS_INIT " -D__CLASSIC_C__")
+string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -g -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/CCur-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/CCur-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CCur-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/CCur-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake b/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake
new file mode 100644
index 0000000..684fd30
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake
@@ -0,0 +1,93 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages and compilers; use include guard
+if (__COMPILER_CMAKE_COMMON_COMPILER_MACROS)
+  return()
+endif ()
+set(__COMPILER_CMAKE_COMMON_COMPILER_MACROS 1)
+
+
+# Check that a compiler's language standard is properly detected
+# Parameters:
+#   lang   - Language to check
+#   stdver1 - Minimum version to set a given default for
+#   std1    - Default to use for compiler ver >= stdver1
+#   stdverN - Minimum version to set a given default for
+#   stdN    - Default to use for compiler ver >= stdverN
+#
+#   The order of stdverN stdN pairs passed as arguments is expected to be in
+#   monotonically increasing version order.
+#
+# Note:
+#   This macro can be called with multiple version / std pairs to convey that
+#   newer compiler versions may use a newer standard default.
+#
+# Example:
+#   To specify that compiler version 6.1 and newer defaults to C++11 while
+#   4.8 <= ver < 6.1 default to C++98, you would call:
+#
+# __compiler_check_default_language_standard(CXX 4.8 98 6.1 11)
+#
+macro(__compiler_check_default_language_standard lang stdver1 std1)
+  set(__std_ver_pairs "${stdver1};${std1};${ARGN}")
+  string(REGEX REPLACE " *; *" " " __std_ver_pairs "${__std_ver_pairs}")
+  string(REGEX MATCHALL "[^ ]+ [^ ]+" __std_ver_pairs "${__std_ver_pairs}")
+
+  # If the compiler version is below the threshold of even having CMake
+  # support for language standards, then don't bother.
+  if (CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL "${stdver1}")
+    if (NOT CMAKE_${lang}_COMPILER_FORCED)
+      if (NOT CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT)
+        message(FATAL_ERROR "CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_${lang}_COMPILER_ID} (${CMAKE_${lang}_COMPILER}) version ${CMAKE_${lang}_COMPILER_VERSION}")
+      endif ()
+      set(CMAKE_${lang}_STANDARD_DEFAULT ${CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT})
+    else ()
+      list(REVERSE __std_ver_pairs)
+      foreach (__std_ver_pair IN LISTS __std_ver_pairs)
+        string(REGEX MATCH "([^ ]+) (.+)" __std_ver_pair "${__std_ver_pair}")
+        set(__stdver ${CMAKE_MATCH_1})
+        set(__std ${CMAKE_MATCH_2})
+        if (CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL __stdver AND
+          NOT DEFINED CMAKE_${lang}_STANDARD_DEFAULT)
+          # Compiler id was forced so just guess the default standard level.
+          set(CMAKE_${lang}_STANDARD_DEFAULT ${__std})
+        endif ()
+        unset(__std)
+        unset(__stdver)
+      endforeach ()
+    endif ()
+  endif ()
+  unset(__std_ver_pairs)
+endmacro()
+
+# Define to allow compile features to be automatically determined
+macro(cmake_record_c_compile_features)
+  set(_result 0)
+  if(_result EQUAL 0 AND DEFINED CMAKE_C11_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_c(11)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_C99_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_c(99)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_C90_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_c(90)
+  endif()
+endmacro()
+
+# Define to allow compile features to be automatically determined
+macro(cmake_record_cxx_compile_features)
+  set(_result 0)
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX17_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(17)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX14_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(14)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX11_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(11)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX98_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(98)
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-ASM.cmake b/share/cmake-3.10/Modules/Compiler/Clang-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Clang-ASM.cmake
rename to share/cmake-3.10/Modules/Compiler/Clang-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-C-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/Clang-C-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Clang-C-FeatureTests.cmake
rename to share/cmake-3.10/Modules/Compiler/Clang-C-FeatureTests.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Clang-C.cmake b/share/cmake-3.10/Modules/Compiler/Clang-C.cmake
new file mode 100644
index 0000000..a07ae40
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Clang-C.cmake
@@ -0,0 +1,36 @@
+include(Compiler/Clang)
+__compiler_clang(C)
+
+cmake_policy(GET CMP0025 appleClangPolicy)
+if(APPLE AND NOT appleClangPolicy STREQUAL NEW)
+  return()
+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")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
+
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+  else()
+    # clang-cl doesn't have any of these
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "")
+
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "")
+
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION "")
+  endif()
+endif()
+
+if(NOT "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
+  __compiler_check_default_language_standard(C 3.4 99 3.6 11)
+else()
+  set(CMAKE_C_STANDARD_DEFAULT "")
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake
new file mode 100644
index 0000000..cd04190
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Clang-CXX-FeatureTests.cmake
@@ -0,0 +1,33 @@
+
+# Reference: http://clang.llvm.org/cxx_status.html
+# http://clang.llvm.org/docs/LanguageExtensions.html
+
+set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 301")
+
+include("${CMAKE_CURRENT_LIST_DIR}/Clang-CXX-TestableFeatures.cmake")
+
+set(Clang34_CXX14 "((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus > 201103L")
+# http://llvm.org/bugs/show_bug.cgi?id=19242
+set(_cmake_feature_test_cxx_attribute_deprecated "${Clang34_CXX14}")
+# http://llvm.org/bugs/show_bug.cgi?id=19698
+set(_cmake_feature_test_cxx_decltype_auto "${Clang34_CXX14}")
+set(_cmake_feature_test_cxx_digit_separators "${Clang34_CXX14}")
+# http://llvm.org/bugs/show_bug.cgi?id=19674
+set(_cmake_feature_test_cxx_generic_lambdas "${Clang34_CXX14}")
+
+set(Clang31_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_enum_forward_declarations "${Clang31_CXX11}")
+set(_cmake_feature_test_cxx_sizeof_member "${Clang31_CXX11}")
+# TODO: Should be supported by Clang 2.9
+set(Clang29_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_extended_friend_declarations "${Clang29_CXX11}")
+set(_cmake_feature_test_cxx_extern_templates "${Clang29_CXX11}")
+set(_cmake_feature_test_cxx_func_identifier "${Clang29_CXX11}")
+set(_cmake_feature_test_cxx_inline_namespaces "${Clang29_CXX11}")
+set(_cmake_feature_test_cxx_long_long_type "${Clang29_CXX11}")
+set(_cmake_feature_test_cxx_right_angle_brackets "${Clang29_CXX11}")
+set(_cmake_feature_test_cxx_variadic_macros "${Clang29_CXX11}")
+
+# TODO: Should be supported forever?
+set(Clang_CXX98 "${_cmake_oldestSupported} && __cplusplus >= 199711L")
+set(_cmake_feature_test_cxx_template_template_parameters "${Clang_CXX98}")
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-CXX-TestableFeatures.cmake b/share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
rename to share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake b/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake
new file mode 100644
index 0000000..efc68b3
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake
@@ -0,0 +1,55 @@
+include(Compiler/Clang)
+__compiler_clang(CXX)
+
+if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
+endif()
+
+cmake_policy(GET CMP0025 appleClangPolicy)
+if(APPLE AND NOT appleClangPolicy STREQUAL NEW)
+  return()
+endif()
+
+if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+  endif()
+
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+  elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
+  endif()
+
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
+    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
+    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+  elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
+    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
+  endif()
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
+    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++1z")
+    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
+  endif()
+else()
+  # clang-cl does not know these options because it behaves like cl.exe
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "")
+endif()
+
+if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+  __compiler_check_default_language_standard(CXX 2.1 98)
+else()
+  set(CMAKE_CXX_STANDARD_DEFAULT "")
+endif()
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Clang-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-DetermineCompilerInternal.cmake b/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
rename to share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake b/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake
new file mode 100644
index 0000000..b852660
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Clang-FindBinUtils.cmake
@@ -0,0 +1,35 @@
+if(NOT DEFINED _CMAKE_PROCESSING_LANGUAGE OR _CMAKE_PROCESSING_LANGUAGE STREQUAL "")
+  message(FATAL_ERROR "Internal error: _CMAKE_PROCESSING_LANGUAGE is not set")
+endif()
+
+# Debian:
+# * /usr/bin/llvm-ar-4.0
+# * /usr/bin/llvm-ranlib-4.0
+string(REGEX MATCH "^([0-9]+\\.[0-9]+)" __version_x_y
+    "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}")
+
+# Try to find tools in the same directory as Clang itself
+get_filename_component(__clang_hint_1 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" REALPATH)
+get_filename_component(__clang_hint_1 "${__clang_hint_1}" DIRECTORY)
+
+get_filename_component(__clang_hint_2 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" DIRECTORY)
+
+set(__clang_hints ${__clang_hint_1} ${__clang_hint_2})
+
+# http://manpages.ubuntu.com/manpages/precise/en/man1/llvm-ar.1.html
+find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR NAMES
+    "${_CMAKE_TOOLCHAIN_PREFIX}llvm-ar-${__version_x_y}"
+    "${_CMAKE_TOOLCHAIN_PREFIX}llvm-ar"
+    HINTS ${__clang_hints}
+    DOC "LLVM archiver"
+)
+mark_as_advanced(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR)
+
+# http://manpages.ubuntu.com/manpages/precise/en/man1/llvm-ranlib.1.html
+find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB NAMES
+    "${_CMAKE_TOOLCHAIN_PREFIX}llvm-ranlib-${__version_x_y}"
+    "${_CMAKE_TOOLCHAIN_PREFIX}llvm-ranlib"
+    HINTS ${__clang_hints}
+    DOC "Generate index for LLVM archive"
+)
+mark_as_advanced(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB)
diff --git a/share/cmake-3.10/Modules/Compiler/Clang.cmake b/share/cmake-3.10/Modules/Compiler/Clang.cmake
new file mode 100644
index 0000000..9f5e921
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Clang.cmake
@@ -0,0 +1,83 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_CLANG)
+  return()
+endif()
+set(__COMPILER_CLANG 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
+
+if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
+    OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+  macro(__compiler_clang lang)
+  endmacro()
+else()
+  include(Compiler/GNU)
+
+  macro(__compiler_clang lang)
+    __compiler_gnu(${lang})
+    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
+    set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
+    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
+    if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4.0)
+      set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-target ")
+      set(CMAKE_${lang}_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN "-gcc-toolchain ")
+    else()
+      set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "--target=")
+      set(CMAKE_${lang}_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN "--gcc-toolchain=")
+    endif()
+
+    set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+
+    string(COMPARE EQUAL "${CMAKE_${lang}_COMPILER_ID}" "AppleClang" __is_apple_clang)
+
+    # '-flto=thin' available since Clang 3.9 and Xcode 8
+    # * http://clang.llvm.org/docs/ThinLTO.html#clang-llvm
+    # * https://trac.macports.org/wiki/XcodeVersionInfo
+    set(_CMAKE_LTO_THIN TRUE)
+    if(__is_apple_clang)
+      if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 8.0)
+        set(_CMAKE_LTO_THIN FALSE)
+      endif()
+    else()
+      if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.9)
+        set(_CMAKE_LTO_THIN FALSE)
+      endif()
+    endif()
+
+    if(_CMAKE_LTO_THIN)
+      set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-flto=thin")
+    else()
+      set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-flto")
+    endif()
+
+    if(ANDROID)
+      # https://github.com/android-ndk/ndk/issues/242
+      set(CMAKE_${lang}_LINK_OPTIONS_IPO "-fuse-ld=gold")
+    endif()
+
+    if(ANDROID OR __is_apple_clang)
+      set(__ar "${CMAKE_AR}")
+      set(__ranlib "${CMAKE_RANLIB}")
+    else()
+      set(__ar "${CMAKE_${lang}_COMPILER_AR}")
+      set(__ranlib "${CMAKE_${lang}_COMPILER_RANLIB}")
+    endif()
+
+    set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
+      "\"${__ar}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>"
+    )
+
+    set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
+      "\"${__ar}\" r <TARGET> <LINK_FLAGS> <OBJECTS>"
+    )
+
+    set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
+      "\"${__ranlib}\" <TARGET>"
+    )
+  endmacro()
+endif()
diff --git a/share/cmake-3.6/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Compaq-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Cray-C.cmake b/share/cmake-3.10/Modules/Compiler/Cray-C.cmake
new file mode 100644
index 0000000..87ce20f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Cray-C.cmake
@@ -0,0 +1,22 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Compiler/Cray)
+
+set(CMAKE_C_VERBOSE_FLAG "-v")
+
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+
+if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION  -h noc99,conform)
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION -h noc99,gnu)
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION  -h c99,conform)
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION -h c99,gnu)
+  if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.5)
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION  -h std=c11,conform)
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION -h std=c11,gnu)
+  endif ()
+endif ()
+
+__compiler_check_default_language_standard(C 8.1 99)
diff --git a/share/cmake-3.10/Modules/Compiler/Cray-CXX.cmake b/share/cmake-3.10/Modules/Compiler/Cray-CXX.cmake
new file mode 100644
index 0000000..8506c09
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Cray-CXX.cmake
@@ -0,0 +1,20 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Compiler/Cray)
+
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
+
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
+
+if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1)
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION  -h conform)
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION -h gnu)
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.4)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION  -h std=c++11)
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION -h std=c++11,gnu)
+  endif ()
+endif ()
+
+__compiler_check_default_language_standard(CXX 8.1 98)
diff --git a/share/cmake-3.6/Modules/Compiler/Cray-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Cray-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Cray-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/Cray-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Cray-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/Cray-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Cray.cmake b/share/cmake-3.10/Modules/Compiler/Cray.cmake
new file mode 100644
index 0000000..8fe8eeb
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Cray.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_CRAY)
+  return()
+endif()
+set(__COMPILER_CRAY 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-C.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-C.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-CXX.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Cray-C.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Cray-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Cray-C.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Cray-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Cray-CXX.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Cray-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Cray-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Cray-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Cray-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Cray-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Cray-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Cray-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-GNU-C.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-GNU-C.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-GNU-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-GNU-CXX.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-GNU-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-GNU-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-GNU-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Intel-C.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Intel-C.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Intel-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Intel-CXX.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Intel-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Intel-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Intel-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Intel-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-Intel-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-Intel-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-PGI-C.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-PGI-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-PGI-C.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-PGI-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-PGI-CXX.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-PGI-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-PGI-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-PGI-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv-PGI-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv-PGI-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/CrayPrgEnv-PGI-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/CrayPrgEnv-PGI-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/CrayPrgEnv.cmake b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv.cmake
new file mode 100644
index 0000000..9f8befd
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/CrayPrgEnv.cmake
@@ -0,0 +1,93 @@
+# Guard against multiple inclusions
+if(__craylinux_crayprgenv)
+  return()
+endif()
+set(__craylinux_crayprgenv 1)
+
+macro(__cray_extract_args cmd tag_regex out_var make_absolute)
+  string(REGEX MATCHALL "${tag_regex}" args "${cmd}")
+  foreach(arg IN LISTS args)
+    string(REGEX REPLACE "^${tag_regex}$" "\\2" param "${arg}")
+    if(make_absolute)
+      get_filename_component(param "${param}" ABSOLUTE)
+    endif()
+    list(APPEND ${out_var} ${param})
+  endforeach()
+endmacro()
+
+function(__cray_extract_implicit src compiler_cmd link_cmd lang include_dirs_var link_dirs_var link_libs_var)
+  set(BIN "${CMAKE_PLATFORM_INFO_DIR}/CrayExtractImplicit_${lang}.bin")
+  execute_process(
+    COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_VERBOSE_FLAG} -o ${BIN}
+    RESULT_VARIABLE result
+    OUTPUT_VARIABLE output
+    ERROR_VARIABLE error
+    )
+  if(EXISTS "${BIN}")
+    file(REMOVE "${BIN}")
+  endif()
+  set(include_dirs)
+  set(link_dirs)
+  set(link_libs)
+  string(REGEX REPLACE "\r?\n" ";" output_lines "${output}\n${error}")
+  foreach(line IN LISTS output_lines)
+    if("${line}" MATCHES "${compiler_cmd}")
+      __cray_extract_args("${line}" " -(I ?|isystem )([^ ]*)" include_dirs 1)
+      set(processed_include 1)
+    endif()
+    if("${line}" MATCHES "${link_cmd}")
+      __cray_extract_args("${line}" " -(L ?)([^ ]*)" link_dirs 1)
+      __cray_extract_args("${line}" " -(l ?)([^ ]*)" link_libs 0)
+      set(processed_link 1)
+    endif()
+    if(processed_include AND processed_link)
+      break()
+    endif()
+  endforeach()
+
+  set(${include_dirs_var} "${include_dirs}" PARENT_SCOPE)
+  set(${link_dirs_var}    "${link_dirs}" PARENT_SCOPE)
+  set(${link_libs_var}    "${link_libs}" PARENT_SCOPE)
+  set(CRAY_${lang}_EXTRACTED_IMPLICIT 1 CACHE INTERNAL "" FORCE)
+endfunction()
+
+macro(__CrayPrgEnv_setup lang test_src compiler_cmd link_cmd)
+  if(DEFINED ENV{CRAYPE_VERSION})
+    message(STATUS "Cray Programming Environment $ENV{CRAYPE_VERSION} ${lang}")
+  elseif(DEFINED ENV{ASYNCPE_VERSION})
+    message(STATUS "Cray XT Programming Environment $ENV{ASYNCPE_VERSION} ${lang}")
+  else()
+    message(STATUS "Cray Programming Environment (unknown version) ${lang}")
+  endif()
+
+  # Flags for the Cray wrappers
+  set(CMAKE_STATIC_LIBRARY_LINK_${lang}_FLAGS "-static")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-dynamic")
+
+  # If the link type is not explicitly specified in the environment then
+  # the Cray wrappers assume that the code will be built staticly so
+  # we check the following condition(s) are NOT met
+  #  Compiler flags are explicitly dynamic
+  #  Env var is dynamic and compiler flags are not explicitly static
+  if(NOT (((CMAKE_${lang}_FLAGS MATCHES "(^| )-dynamic($| )") OR
+         (CMAKE_EXE_LINKER_FLAGS MATCHES "(^| )-dynamic($| )"))
+         OR
+         (("$ENV{CRAYPE_LINK_TYPE}" STREQUAL "dynamic") AND
+          NOT ((CMAKE_${lang}_FLAGS MATCHES "(^| )-static($| )") OR
+               (CMAKE_EXE_LINKER_FLAGS MATCHES "(^| )-static($| )")))))
+    set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
+    set(BUILD_SHARED_LIBS FALSE CACHE BOOL "")
+    set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+    set(CMAKE_LINK_SEARCH_START_STATIC TRUE)
+  endif()
+  if(NOT CRAY_${lang}_EXTRACTED_IMPLICIT)
+    __cray_extract_implicit(
+      ${test_src} ${compiler_cmd} ${link_cmd} ${lang}
+      CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES
+      CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES
+      CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES
+      )
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/Embarcadero-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Flang-FindBinUtils.cmake b/share/cmake-3.10/Modules/Compiler/Flang-FindBinUtils.cmake
new file mode 100644
index 0000000..e721c87
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Flang-FindBinUtils.cmake
@@ -0,0 +1 @@
+include(Compiler/Clang-FindBinUtils)
diff --git a/share/cmake-3.10/Modules/Compiler/Flang-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/Flang-Fortran.cmake
new file mode 100644
index 0000000..a1051f4
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Flang-Fortran.cmake
@@ -0,0 +1,10 @@
+include(Compiler/Clang)
+__compiler_clang(Fortran)
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+    "<CMAKE_Fortran_COMPILER> -cpp <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> -o <PREPROCESSED_SOURCE>")
+
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
+
+set(CMAKE_Fortran_MODDIR_FLAG "-J")
diff --git a/share/cmake-3.6/Modules/Compiler/Fujitsu-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/G95-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/G95-Fortran.cmake
new file mode 100644
index 0000000..2c83fb8
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/G95-Fortran.cmake
@@ -0,0 +1,9 @@
+string(APPEND CMAKE_Fortran_FLAGS_INIT " ")
+string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " -Os")
+string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -O3")
+string(APPEND CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
+set(CMAKE_Fortran_MODDIR_FLAG "-fmod=")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
diff --git a/share/cmake-3.10/Modules/Compiler/GHS-C.cmake b/share/cmake-3.10/Modules/Compiler/GHS-C.cmake
new file mode 100644
index 0000000..c30bdec
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GHS-C.cmake
@@ -0,0 +1,30 @@
+include(Compiler/GHS)
+
+set(CMAKE_C_VERBOSE_FLAG "-v")
+set(CMAKE_C_OUTPUT_EXTENSION ".o")
+
+string(APPEND CMAKE_C_FLAGS_INIT " ")
+string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -Odebug -g")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -Ospace")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -O")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -O -g")
+
+set(CMAKE_C_GHS_KERNEL_FLAGS_DEBUG_INIT "-ldebug ${CMAKE_C_FLAGS_DEBUG_INIT}")
+set(CMAKE_C_GHS_KERNEL_FLAGS_MINSIZEREL_INIT "${CMAKE_C_FLAGS_MINSIZEREL_INIT}")
+set(CMAKE_C_GHS_KERNEL_FLAGS_RELEASE_INIT "${CMAKE_C_FLAGS_RELEASE_INIT}")
+set(CMAKE_C_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT
+  "-ldebug ${CMAKE_C_FLAGS_RELWITHDEBINFO_INIT}")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_C_GHS_KERNEL_FLAGS_DEBUG "${CMAKE_C_GHS_KERNEL_FLAGS_DEBUG_INIT}"
+    CACHE STRING "Kernel flags used by the compiler during debug builds.")
+  set (CMAKE_C_GHS_KERNEL_FLAGS_MINSIZEREL
+    "${CMAKE_C_GHS_KERNEL_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+    "Kernel flags used by the compiler during release builds for minimum size.")
+  set (CMAKE_C_GHS_KERNEL_FLAGS_RELEASE
+    "${CMAKE_C_GHS_KERNEL_FLAGS_RELEASE_INIT}"
+    CACHE STRING "Kernel flags used by the compiler during release builds.")
+  set (CMAKE_C_GHS_KERNEL_FLAGS_RELWITHDEBINFO
+    "${CMAKE_C_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+    "Kernel flags used by the compiler during release builds with debug info.")
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/GHS-CXX.cmake b/share/cmake-3.10/Modules/Compiler/GHS-CXX.cmake
new file mode 100644
index 0000000..b3018a7
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GHS-CXX.cmake
@@ -0,0 +1,34 @@
+include(Compiler/GHS)
+
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
+set(CMAKE_CXX_OUTPUT_EXTENSION ".o")
+
+string(APPEND CMAKE_CXX_FLAGS_INIT " ")
+string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " -Odebug -g")
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -Ospace")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -O")
+string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -O -g")
+
+set(CMAKE_CXX_GHS_KERNEL_FLAGS_DEBUG_INIT
+  "-ldebug ${CMAKE_CXX_FLAGS_DEBUG_INIT}")
+set(CMAKE_CXX_GHS_KERNEL_FLAGS_MINSIZEREL_INIT
+  "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT}")
+set(CMAKE_CXX_GHS_KERNEL_FLAGS_RELEASE_INIT
+  "${CMAKE_CXX_FLAGS_RELEASE_INIT}")
+set(CMAKE_CXX_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT
+  "-ldebug ${CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT}")
+
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+  set (CMAKE_CXX_GHS_KERNEL_FLAGS_DEBUG
+    "${CMAKE_CXX_GHS_KERNEL_FLAGS_DEBUG_INIT}"
+    CACHE STRING "Kernel flags used by the compiler during debug builds.")
+  set (CMAKE_CXX_GHS_KERNEL_FLAGS_MINSIZEREL
+    "${CMAKE_CXX_GHS_KERNEL_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+    "Kernel flags used by the compiler during release builds for minimum size.")
+  set (CMAKE_CXX_GHS_KERNEL_FLAGS_RELEASE
+    "${CMAKE_CXX_GHS_KERNEL_FLAGS_RELEASE_INIT}"
+    CACHE STRING "Kernel flags used by the compiler during release builds.")
+  set (CMAKE_CXX_GHS_KERNEL_FLAGS_RELWITHDEBINFO
+    "${CMAKE_CXX_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+    "Kernel flags used by the compiler during release builds with debug info.")
+endif()
diff --git a/share/cmake-3.6/Modules/Compiler/GHS-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/GHS-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/GHS.cmake b/share/cmake-3.10/Modules/Compiler/GHS.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/GHS.cmake
rename to share/cmake-3.10/Modules/Compiler/GHS.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-ASM.cmake b/share/cmake-3.10/Modules/Compiler/GNU-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/GNU-ASM.cmake
rename to share/cmake-3.10/Modules/Compiler/GNU-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/GNU-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake
new file mode 100644
index 0000000..0ab5265
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake
@@ -0,0 +1,17 @@
+
+set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 304")
+
+# GNU 4.7 correctly sets __STDC_VERSION__ to 201112L, but GNU 4.6 sets it
+# to 201000L.  As the former is strictly greater than the latter, test only
+# for the latter.  If in the future CMake learns about a C feature which was
+# introduced with GNU 4.7, that should test for the correct version, similar
+# to the distinction between __cplusplus and __GXX_EXPERIMENTAL_CXX0X__ tests.
+set(GNU46_C11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L")
+set(_cmake_feature_test_c_static_assert "${GNU46_C11}")
+# Since 3.4 at least:
+set(GNU34_C99 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
+set(_cmake_feature_test_c_restrict "${GNU34_C99}")
+set(_cmake_feature_test_c_variadic_macros "${GNU34_C99}")
+
+set(GNU_C90 "${_cmake_oldestSupported}")
+set(_cmake_feature_test_c_function_prototypes "${GNU_C90}")
diff --git a/share/cmake-3.10/Modules/Compiler/GNU-C.cmake b/share/cmake-3.10/Modules/Compiler/GNU-C.cmake
new file mode 100644
index 0000000..f072c54
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU-C.cmake
@@ -0,0 +1,25 @@
+include(Compiler/GNU)
+__compiler_gnu(C)
+
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
+elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
+endif()
+
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+endif()
+
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
+  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
+  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
+  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c1x")
+  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
+endif()
+
+__compiler_check_default_language_standard(C 3.4 90 5.0 11)
diff --git a/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
new file mode 100644
index 0000000..c25b147
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
@@ -0,0 +1,15 @@
+
+set(_compiler_id_pp_test "defined(__GNUC__) || defined(__GNUG__)")
+
+set(_compiler_id_version_compute "
+# if defined(__GNUC__)
+#  define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUC__)
+# else
+#  define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__GNUC_PATCHLEVEL__)
+# endif")
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/GNU-CXX-FeatureTests.cmake
rename to share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake b/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake
new file mode 100644
index 0000000..4f1f30e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake
@@ -0,0 +1,41 @@
+include(Compiler/GNU)
+__compiler_gnu(CXX)
+
+if (WIN32)
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
+    set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fno-keep-inline-dllexport")
+  endif()
+else()
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
+    set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
+  endif()
+endif()
+
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+endif()
+
+if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
+  # 4.3 supports 0x variants
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
+endif()
+
+if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
+endif()
+
+if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
+  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++1z")
+  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
+endif()
+
+__compiler_check_default_language_standard(CXX 3.4 98 6.0 14)
diff --git a/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake b/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake
new file mode 100644
index 0000000..16b7bbd
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake
@@ -0,0 +1,35 @@
+if(NOT DEFINED _CMAKE_PROCESSING_LANGUAGE OR _CMAKE_PROCESSING_LANGUAGE STREQUAL "")
+  message(FATAL_ERROR "Internal error: _CMAKE_PROCESSING_LANGUAGE is not set")
+endif()
+
+# Ubuntu 16.04:
+# * /usr/bin/gcc-ar-5
+# * /usr/bin/gcc-ranlib-5
+string(REGEX MATCH "^([0-9]+)" __version_x
+    "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}")
+
+string(REGEX MATCH "^([0-9]+\\.[0-9]+)" __version_x_y
+    "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}")
+
+# Try to find tools in the same directory as GCC itself
+get_filename_component(__gcc_hints "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" DIRECTORY)
+
+# http://manpages.ubuntu.com/manpages/wily/en/man1/gcc-ar.1.html
+find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR NAMES
+    "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar-${__version_x_y}"
+    "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar-${__version_x}"
+    "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar"
+    HINTS ${__gcc_hints}
+    DOC "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler"
+)
+mark_as_advanced(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR)
+
+# http://manpages.ubuntu.com/manpages/wily/en/man1/gcc-ranlib.1.html
+find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB NAMES
+    "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib-${__version_x_y}"
+    "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib-${__version_x}"
+    "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib"
+    HINTS ${__gcc_hints}
+    DOC "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler"
+)
+mark_as_advanced(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB)
diff --git a/share/cmake-3.10/Modules/Compiler/GNU-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/GNU-Fortran.cmake
new file mode 100644
index 0000000..c333d50
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU-Fortran.cmake
@@ -0,0 +1,20 @@
+include(Compiler/GNU)
+__compiler_gnu(Fortran)
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+  "<CMAKE_Fortran_COMPILER> -cpp <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> -o <PREPROCESSED_SOURCE>")
+
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
+
+set(CMAKE_Fortran_POSTPROCESS_FLAG "-fpreprocessed")
+
+# No -DNDEBUG for Fortran.
+string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " -Os")
+string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -O3")
+
+# No -isystem for Fortran because it will not find .mod files.
+unset(CMAKE_INCLUDE_SYSTEM_FLAG_Fortran)
+
+# Fortran-specific feature flags.
+set(CMAKE_Fortran_MODDIR_FLAG -J)
diff --git a/share/cmake-3.10/Modules/Compiler/GNU.cmake b/share/cmake-3.10/Modules/Compiler/GNU.cmake
new file mode 100644
index 0000000..d962688
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/GNU.cmake
@@ -0,0 +1,89 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_GNU)
+  return()
+endif()
+set(__COMPILER_GNU 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
+
+macro(__compiler_gnu lang)
+  # Feature flags.
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
+  endif()
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.0)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
+  endif()
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_SYSROOT "--sysroot=")
+
+  # Older versions of gcc (< 4.5) contain a bug causing them to report a missing
+  # header file as a warning if depfiles are enabled, causing check_header_file
+  # tests to always succeed.  Work around this by disabling dependency tracking
+  # in try_compile mode.
+  get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
+  if(NOT _IN_TC OR CMAKE_FORCE_DEPFILES)
+    # distcc does not transform -o to -MT when invoking the preprocessor
+    # internally, as it ought to.  Work around this bug by setting -MT here
+    # even though it isn't strictly necessary.
+    set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <OBJECT> -MF <DEPFILE>")
+  endif()
+
+  # Initial configuration flags.
+  string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")
+  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+  if(NOT APPLE OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4) # work around #4462
+    set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
+  endif()
+
+  set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
+  set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+
+  # '-flto' introduced since GCC 4.5:
+  # * https://gcc.gnu.org/onlinedocs/gcc-4.4.7/gcc/Option-Summary.html (no)
+  # * https://gcc.gnu.org/onlinedocs/gcc-4.5.4/gcc/Option-Summary.html (yes)
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.5)
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+    set(__lto_flags -flto)
+
+    if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.7)
+      # '-ffat-lto-objects' introduced since GCC 4.7:
+      # * https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gcc/Option-Summary.html (no)
+      # * https://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/Option-Summary.html (yes)
+      list(APPEND __lto_flags -fno-fat-lto-objects)
+    endif()
+
+    set(CMAKE_${lang}_COMPILE_OPTIONS_IPO ${__lto_flags})
+
+    # Need to use version of 'ar'/'ranlib' with plugin support.
+    # Quote from [documentation][1]:
+    #
+    #   To create static libraries suitable for LTO,
+    #   use gcc-ar and gcc-ranlib instead of ar and ranlib
+    #
+    # [1]: https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Optimize-Options.html
+    set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
+      "\"${CMAKE_${lang}_COMPILER_AR}\" cr <TARGET> <LINK_FLAGS> <OBJECTS>"
+    )
+
+    set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
+      "\"${CMAKE_${lang}_COMPILER_AR}\" r <TARGET> <LINK_FLAGS> <OBJECTS>"
+    )
+
+    set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
+      "\"${CMAKE_${lang}_COMPILER_RANLIB}\" <TARGET>"
+    )
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/HP-ASM.cmake b/share/cmake-3.10/Modules/Compiler/HP-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/HP-ASM.cmake
rename to share/cmake-3.10/Modules/Compiler/HP-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/HP-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/HP-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/HP-C.cmake b/share/cmake-3.10/Modules/Compiler/HP-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/HP-C.cmake
rename to share/cmake-3.10/Modules/Compiler/HP-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/HP-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/HP-CXX.cmake b/share/cmake-3.10/Modules/Compiler/HP-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/HP-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/HP-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/HP-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/HP-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/HP-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/HP-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/IAR-ASM.cmake b/share/cmake-3.10/Modules/Compiler/IAR-ASM.cmake
new file mode 100644
index 0000000..651bc3a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/IAR-ASM.cmake
@@ -0,0 +1,21 @@
+# This file is processed when the IAR compiler is used for an assembler file
+
+include(Compiler/IAR)
+
+if("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM")
+set(CMAKE_ASM_COMPILE_OBJECT  "<CMAKE_ASM_COMPILER> -S <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
+  __compiler_iar_ARM(ASM)
+  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;asm;msa)
+
+  string(APPEND CMAKE_ASM_FLAGS_INIT " ")
+  string(APPEND CMAKE_ASM_FLAGS_DEBUG_INIT " -r")
+  string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+  string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -DNDEBUG")
+  string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -r -DNDEBUG")
+
+elseif("${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
+  set(CMAKE_ASM_COMPILE_OBJECT  "<CMAKE_ASM_COMPILER> -S <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
+  __compiler_iar_AVR(ASM)
+  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;asm;msa)
+
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/IAR-C.cmake b/share/cmake-3.10/Modules/Compiler/IAR-C.cmake
new file mode 100644
index 0000000..55e019e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/IAR-C.cmake
@@ -0,0 +1,43 @@
+# This file is processed when the IAR compiler is used for a C file
+
+include(Compiler/IAR)
+include(Compiler/CMakeCommonCompilerMacros)
+
+# The toolchains for ARM and AVR are quite different:
+if("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM")
+
+  set(CMAKE_C_EXTENSION_COMPILE_OPTION -e)
+
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION -e)
+
+  if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.10)
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION --c89)
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION --c89 -e)
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION -e)
+  endif()
+  if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.10)
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION -e)
+  endif()
+
+  __compiler_iar_ARM(C)
+  __compiler_check_default_language_standard(C 1.10 90 6.10 99 8.10 11)
+
+elseif("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
+  __compiler_iar_AVR(C)
+  set(CMAKE_C_OUTPUT_EXTENSION ".r90")
+
+  if(NOT CMAKE_C_LINK_FLAGS)
+    set(CMAKE_C_LINK_FLAGS "-Fmotorola")
+  endif()
+
+  set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
+  set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> -o <TARGET> <OBJECTS> ")
+
+  # add the target specific include directory:
+  get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
+  get_filename_component(_compilerDir "${_compilerDir}" PATH)
+  include_directories("${_compilerDir}/inc" )
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/IAR-CXX.cmake b/share/cmake-3.10/Modules/Compiler/IAR-CXX.cmake
new file mode 100644
index 0000000..8d86100
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/IAR-CXX.cmake
@@ -0,0 +1,51 @@
+# This file is processed when the IAR compiler is used for a C++ file
+
+include(Compiler/IAR)
+include(Compiler/CMakeCommonCompilerMacros)
+
+if("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM")
+  # "(extended) embedded C++" Mode
+  # old version: --ec++ or --eec++
+  # since 8.10:  --c++ --no_exceptions --no_rtti
+  #
+  # --c++ is full C++ and supported since 6.10
+  if(NOT CMAKE_IAR_CXX_FLAG)
+    if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.10)
+      set(CMAKE_IAR_CXX_FLAG --c++)
+    else()
+      set(CMAKE_IAR_CXX_FLAG --eec++)
+    endif()
+  endif()
+
+  set(CMAKE_CXX_EXTENSION_COMPILE_OPTION -e)
+
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION -e)
+
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.10)
+  set(CMAKE_CXX03_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX03_EXTENSION_COMPILE_OPTION -e)
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION -e)
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION -e)
+  endif()
+
+  __compiler_iar_ARM(CXX)
+  __compiler_check_default_language_standard(CXX 6.10 98 8.10 14)
+
+elseif("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
+  __compiler_iar_AVR(CXX)
+  set(CMAKE_CXX_OUTPUT_EXTENSION ".r90")
+  if(NOT CMAKE_CXX_LINK_FLAGS)
+    set(CMAKE_CXX_LINK_FLAGS "-Fmotorola")
+  endif()
+
+  set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
+  set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> -o <TARGET> <OBJECTS> ")
+
+  # add the target specific include directory:
+  get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
+  get_filename_component(_compilerDir "${_compilerDir}" PATH)
+  include_directories("${_compilerDir}/inc")
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake
new file mode 100644
index 0000000..a1bffeb
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake
@@ -0,0 +1,21 @@
+# IAR Systems compiler for embedded systems.
+#   http://www.iar.com
+#   http://supp.iar.com/FilesPublic/UPDINFO/004916/arm/doc/EWARM_DevelopmentGuide.ENU.pdf
+#
+# __IAR_SYSTEMS_ICC__ An integer that identifies the IAR compiler platform:
+#                       9 and higher means C11 and C++14 as language default
+#                       8 means C99 and C++03 as language default
+#                       7 and lower means C89 and EC++ as language default.
+# __ICCARM__          An integer that is set to 1 when the code is compiled with the IAR C/C++ Compiler for ARM
+# __VER__             An integer that identifies the version number of the IAR compiler in use. For example,
+#                     version 5.11.3 is returned as 5011003.
+
+set(_compiler_id_pp_test "defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)")
+
+set(_compiler_id_version_compute "
+# if defined(__VER__)
+#  define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@((__VER__) / 1000000)
+#  define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(((__VER__) / 1000) % 1000)
+#  define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@((__VER__) % 1000)
+#  define @PREFIX@COMPILER_VERSION_INTERNAL @MACRO_DEC@(__IAR_SYSTEMS_ICC__)
+# endif")
diff --git a/share/cmake-3.10/Modules/Compiler/IAR-FindBinUtils.cmake b/share/cmake-3.10/Modules/Compiler/IAR-FindBinUtils.cmake
new file mode 100644
index 0000000..d662f56
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/IAR-FindBinUtils.cmake
@@ -0,0 +1,54 @@
+if(NOT DEFINED _CMAKE_PROCESSING_LANGUAGE OR _CMAKE_PROCESSING_LANGUAGE STREQUAL "")
+  message(FATAL_ERROR "Internal error: _CMAKE_PROCESSING_LANGUAGE is not set")
+endif()
+
+# Try to find tools in the same directory as Clang itself
+get_filename_component(__iar_hint_1 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" REALPATH)
+get_filename_component(__iar_hint_1 "${__iar_hint_1}" DIRECTORY)
+
+get_filename_component(__iar_hint_2 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" DIRECTORY)
+
+set(__iar_hints "${__iar_hint_1}" "${__iar_hint_2}")
+
+if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM")
+  # could allow using normal binutils ar, since objects are normal ELF files?
+  find_program(CMAKE_IAR_LINKARM ilinkarm.exe HINTS ${__iar_hints}
+      DOC "The IAR ARM linker")
+  find_program(CMAKE_IAR_ARCHIVE iarchive.exe HINTS ${__iar_hints}
+      DOC "The IAR archiver")
+
+  # find auxillary tools
+  find_program(CMAKE_IAR_ELFTOOL ielftool.exe HINTS ${__iar_hints}
+      DOC "The IAR ELF Tool")
+    find_program(CMAKE_IAR_ELFDUMP ielfdumparm.exe HINTS ${__iar_hints}
+      DOC "The IAR ELF Dumper")
+  find_program(CMAKE_IAR_OBJMANIP iobjmanip.exe HINTS ${__iar_hints}
+      DOC "The IAR ELF Object Tool")
+  find_program(CMAKE_IAR_SYMEXPORT isymexport.exe HINTS ${__iar_hints}
+      DOC "The IAR Absolute Symbol Exporter")
+  mark_as_advanced(CMAKE_IAR_LINKARM CMAKE_IAR_ARCHIVE CMAKE_IAR_ELFTOOL CMAKE_IAR_ELFDUMP CMAKE_IAR_OBJMANIP CMAKE_IAR_SYMEXPORT)
+
+  set(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_CUSTOM_CODE
+"set(CMAKE_IAR_LINKARM \"${CMAKE_IAR_LINKARM}\")
+set(CMAKE_IAR_ARCHIVE \"${CMAKE_IAR_ARCHIVE}\")
+set(CMAKE_IAR_ELFTOOL \"${CMAKE_IAR_ELFTOOL}\")
+set(CMAKE_IAR_ELFDUMP \"${CMAKE_IAR_ELFDUMP}\")
+set(CMAKE_IAR_OBJMANIP \"${CMAKE_IAR_OBJMANIP}\")
+set(CMAKE_IAR_LINKARM \"${CMAKE_IAR_LINKARM}\")
+")
+
+
+elseif("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ARCHITECTURE_ID}" STREQUAL "AVR")
+
+  # For AVR and AVR32, IAR uses the "xlink" linker and the "xar" archiver:
+  find_program(CMAKE_IAR_LINKER xlink.exe HINTS ${__iar_hints}
+      DOC "The IAR AVR linker")
+  find_program(CMAKE_IAR_AR xar.exe HINTS ${__iar_hints}
+      DOC "The IAR archiver")
+  mark_as_advanced(CMAKE_IAR_LINKER CMAKE_IAR_AR)
+
+  set(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_CUSTOM_CODE
+"set(CMAKE_IAR_LINKER \"${CMAKE_IAR_LINKER}\")
+set(CMAKE_IAR_AR \"${CMAKE_IAR_AR}\")
+")
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/IAR.cmake b/share/cmake-3.10/Modules/Compiler/IAR.cmake
new file mode 100644
index 0000000..52ebaf2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/IAR.cmake
@@ -0,0 +1,76 @@
+# This file is processed when the IAR compiler is used for a C or C++ file
+# Documentation can be downloaded here: http://www.iar.com/website1/1.0.1.0/675/1/
+# The initial feature request is here: https://gitlab.kitware.com/cmake/cmake/issues/10176
+# It also contains additional links and information.
+# See USER GUIDES -> C/C++ Development Guide and ReleaseNotes for:
+# version 6.30.8: http://supp.iar.com/FilesPublic/UPDINFO/006607/arm/doc/infocenter/index.ENU.html
+# version 7.60.1: http://supp.iar.com/FilesPublic/UPDINFO/011006/arm/doc/infocenter/index.ENU.html
+# version 8.10.1: http://netstorage.iar.com/SuppDB/Public/UPDINFO/011854/arm/doc/infocenter/index.ENU.html
+
+# C/C++ Standard versions
+#
+# IAR typically only supports one C and C++ Standard version,
+# the exception is C89 which is always supported and can be selected
+# if its not the default
+#
+# C++ is trickier, there were historically 3 switches,
+# and some IAR versions support multiple of those.
+# they are --eec++, --ec++ and --c++ and where used to
+# enable various language features like exceptions
+#
+# recent versions only have --c++ for full support
+# but can choose to disable features with further arguments
+#
+# C/C++ Standard compliance
+#
+# IAR has 3 modes: default, strict and extended
+# the extended mode is needed for popular libraries like CMSIS
+#
+# "Silent" Operation
+#
+# this really is different to most programs I know.
+# nothing meaningfull from the operation is lost, just some redundant
+# code and data size printouts (that can be inspected with common tools).
+
+# This module is shared by multiple languages; use include blocker.
+if(_IARARM_CMAKE_LOADED)
+  return()
+endif()
+set(_IARARM_CMAKE_LOADED 1)
+
+macro(__compiler_iar_ARM lang)
+  set(CMAKE_EXECUTABLE_SUFFIX ".elf")
+  if (${lang} STREQUAL "C" OR ${lang} STREQUAL "CXX")
+
+    set(CMAKE_${lang}_COMPILE_OBJECT             "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
+    set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>")
+    set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE     "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy")
+
+    set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-f ")
+    set(CMAKE_DEPFILE_FLAGS_${lang} "--dependencies=ns <DEPFILE>")
+
+    string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -r")
+    string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Ohz -DNDEBUG")
+    string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Oh -DNDEBUG")
+    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -Oh -r -DNDEBUG")
+  endif()
+
+  set(CMAKE_${lang}_LINK_EXECUTABLE "\"${CMAKE_IAR_LINKARM}\" --silent <OBJECTS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
+  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "\"${CMAKE_IAR_ARCHIVE}\" <TARGET> --create <LINK_FLAGS> <OBJECTS>")
+  set(CMAKE_${lang}_ARCHIVE_CREATE "\"${CMAKE_IAR_ARCHIVE}\" <TARGET> --create <LINK_FLAGS> <OBJECTS>")
+  set(CMAKE_${lang}_ARCHIVE_APPEND "\"${CMAKE_IAR_ARCHIVE}\" <TARGET> --replace <LINK_FLAGS> <OBJECTS>")
+  set(CMAKE_${lang}_ARCHIVE_FINISH "")
+
+  set(CMAKE_LINKER "${CMAKE_IAR_LINKARM}" CACHE FILEPATH "The IAR linker" FORCE)
+  set(CMAKE_AR "${CMAKE_IAR_ARCHIVE}" CACHE FILEPATH "The IAR archiver" FORCE)
+endmacro()
+
+macro(__compiler_iar_AVR lang)
+  set(CMAKE_EXECUTABLE_SUFFIX ".bin")
+
+  set(CMAKE_LIBRARY_PATH_FLAG "-I")
+
+  set(CMAKE_LINKER "${CMAKE_IAR_LINKER}" CACHE FILEPATH "The IAR linker" FORCE)
+  set(CMAKE_AR "${CMAKE_IAR_AR}" CACHE FILEPATH "The IAR archiver" FORCE)
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake b/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
rename to share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake b/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
rename to share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Intel-ASM.cmake b/share/cmake-3.10/Modules/Compiler/Intel-ASM.cmake
new file mode 100644
index 0000000..c2bf465
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel-ASM.cmake
@@ -0,0 +1,12 @@
+include(Compiler/Intel)
+__compiler_intel(ASM)
+
+string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
+
+if(UNIX)
+  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S)
+else()
+  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
+endif()
diff --git a/share/cmake-3.10/Modules/Compiler/Intel-C-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/Intel-C-FeatureTests.cmake
new file mode 100644
index 0000000..5d09767
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel-C-FeatureTests.cmake
@@ -0,0 +1,20 @@
+# References:
+#   - https://software.intel.com/en-us/articles/iso-iec-standards-language-conformance-for-intel-c-compiler
+#   - https://software.intel.com/en-us/articles/c99-support-in-intel-c-compiler
+#   - https://software.intel.com/en-us/articles/c11-support-in-intel-c-compiler
+
+set(DETECT_C99 "defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
+set(DETECT_C11 "defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L")
+
+#static assert is only around in version 1500 update 2 and above
+set(_cmake_feature_test_c_static_assert "(__INTEL_COMPILER > 1500 || (__INTEL_COMPILER == 1500 && __INTEL_COMPILER_UPDATE > 1) ) && (${DETECT_C11} || ${DETECT_C99} && !defined(_MSC_VER))")
+
+set(_cmake_oldestSupported "__INTEL_COMPILER >= 1110")
+set(Intel_C99 "${_cmake_oldestSupported} && ${DETECT_C99}")
+set(_cmake_feature_test_c_restrict "${Intel_C99}")
+set(_cmake_feature_test_c_variadic_macros "${Intel_C99}")
+set(_cmake_feature_test_c_function_prototypes "${_cmake_oldestSupported}")
+unset(Intel_C99)
+
+unset(DETECT_C99)
+unset(DETECT_C11)
diff --git a/share/cmake-3.10/Modules/Compiler/Intel-C.cmake b/share/cmake-3.10/Modules/Compiler/Intel-C.cmake
new file mode 100644
index 0000000..4e4af29
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel-C.cmake
@@ -0,0 +1,43 @@
+include(Compiler/Intel)
+__compiler_intel(C)
+
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
+
+set(CMAKE_DEPFILE_FLAGS_C "-MD -MT <OBJECT> -MF <DEPFILE>")
+
+if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
+
+  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")
+  endif()
+
+  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION "-Qstd=c89")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-Qstd=c89")
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "-Qstd=c99")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-Qstd=c99")
+  endif()
+
+else()
+
+  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+  endif()
+
+  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+  endif()
+
+endif()
+
+__compiler_check_default_language_standard(C 12.0 90 15.0.0 11)
+
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.10/Modules/Compiler/Intel-CXX-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/Intel-CXX-FeatureTests.cmake
new file mode 100644
index 0000000..929a7c6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel-CXX-FeatureTests.cmake
@@ -0,0 +1,115 @@
+# References:
+#   - https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler
+#   - https://software.intel.com/en-us/articles/c14-features-supported-by-intel-c-compiler
+#   - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0096r3.html
+
+# Notes:
+# [1] Some Intel versions define some feature macros under -std=gnu++98
+#     that do not work in that mode (or work with warnings):
+#     - __cpp_attributes 200809
+#     - __cpp_init_captures 201304
+#     - __cpp_lambdas 200907
+#     - __cpp_rvalue_references 200610
+#     - __cpp_variadic_templates 200704
+
+set(_cmake_feature_test_cxx_variable_templates "__cpp_variable_templates >= 201304")
+
+set(_cmake_oldestSupported "__INTEL_COMPILER >= 1210")
+set(DETECT_CXX11 "((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))")
+#ICC version 15 update 1 has a bug where __cplusplus is defined as 1 no matter
+#if you are compiling as 98/11/14. So to properly detect C++14 with this version
+#we look for the existence of __GXX_EXPERIMENTAL_CXX0X__ but not __INTEL_CXX11_MODE__
+set(DETECT_BUGGY_ICC15 "((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))")
+set(DETECT_CXX14 "((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) || ((${DETECT_BUGGY_ICC15}) && defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(__INTEL_CXX11_MODE__) ) || (defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)) )")
+unset(DETECT_BUGGY_ICC15)
+
+set(Intel17_CXX14 "__INTEL_COMPILER >= 1700 && ${DETECT_CXX14}")
+set(_cmake_feature_test_cxx_relaxed_constexpr "__cpp_constexpr >= 201304 || (${Intel17_CXX14} && !defined(_MSC_VER))")
+
+set(Intel16_CXX14 "__INTEL_COMPILER >= 1600 && ${DETECT_CXX14}")
+set(_cmake_feature_test_cxx_aggregate_default_initializers "${Intel16_CXX14}")
+set(_cmake_feature_test_cxx_contextual_conversions "${Intel16_CXX14}")
+set(_cmake_feature_test_cxx_generic_lambdas "__cpp_generic_lambdas >= 201304")
+set(_cmake_feature_test_cxx_digit_separators "${Intel16_CXX14}")
+# This test is supposed to work in Intel 14 but the compiler has a bug
+# in versions 14 and 15::
+# https://software.intel.com/en-us/forums/intel-c-compiler/topic/600514
+# It also appears to fail with an internal compiler error on Intel 16 and 17.
+#set(_cmake_feature_test_cxx_generalized_initializers "${Intel16_CXX14}")
+unset(Intel16_CXX14)
+
+set(Intel15 "__INTEL_COMPILER >= 1500")
+set(Intel15_CXX14 "${Intel15} && ${DETECT_CXX14}")
+set(_cmake_feature_test_cxx_decltype_auto "__cpp_decltype_auto >= 201304 || ${Intel15_CXX14}")
+set(_cmake_feature_test_cxx_lambda_init_captures "(__cpp_init_captures >= 201304 || ${Intel15}) && ${DETECT_CXX14}") # [1]
+set(_cmake_feature_test_cxx_attribute_deprecated "${Intel15_CXX14}")
+set(_cmake_feature_test_cxx_return_type_deduction "__cpp_return_type_deduction >= 201304 || ${Intel15_CXX14}")
+unset(Intel15_CXX14)
+unset(Intel15)
+
+set(Intel15_CXX11 "__INTEL_COMPILER >= 1500 && ${DETECT_CXX11}")
+set(_cmake_feature_test_cxx_alignas "${Intel15_CXX11}")
+set(_cmake_feature_test_cxx_alignof "${Intel15_CXX11}")
+set(_cmake_feature_test_cxx_inheriting_constructors "${Intel15_CXX11}")
+set(_cmake_feature_test_cxx_user_literals "__cpp_user_defined_literals >= 200809 || (${Intel15_CXX11} && (!defined(_MSC_VER) || __INTEL_COMPILER >= 1600))")
+set(_cmake_feature_test_cxx_thread_local "${Intel15_CXX11}")
+unset(Intel15_CXX11)
+
+set(Intel14_CXX11 "${DETECT_CXX11} && (__INTEL_COMPILER > 1400 || (__INTEL_COMPILER == 1400 && __INTEL_COMPILER_UPDATE >= 2))")
+# Documented as 12.0+ but in testing it only works on 14.0.2+
+set(_cmake_feature_test_cxx_decltype_incomplete_return_types "${Intel14_CXX11} && !defined(_MSC_VER)")
+
+set(Intel14_CXX11 "__INTEL_COMPILER >= 1400 && ${DETECT_CXX11}")
+set(_cmake_feature_test_cxx_delegating_constructors "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_constexpr "__cpp_constexpr >= 200704 || ${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_sizeof_member "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_strong_enums "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_reference_qualified_functions "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_raw_string_literals "__cpp_raw_strings >= 200710 || ${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_unicode_literals "__cpp_unicode_literals >= 200710 || (${Intel14_CXX11} && (!defined(_MSC_VER) || __INTEL_COMPILER >= 1600))")
+set(_cmake_feature_test_cxx_inline_namespaces "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_unrestricted_unions "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_nonstatic_member_init "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_enum_forward_declarations "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_override "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_final "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_noexcept "${Intel14_CXX11}")
+set(_cmake_feature_test_cxx_defaulted_move_initializers "${Intel14_CXX11}")
+unset(Intel14_CXX11)
+
+set(Intel13_CXX11 "__INTEL_COMPILER >= 1300 && ${DETECT_CXX11}")
+set(_cmake_feature_test_cxx_explicit_conversions "${Intel13_CXX11}")
+set(_cmake_feature_test_cxx_range_for "${Intel13_CXX11}")
+# Cannot find Intel documentation for N2640: cxx_uniform_initialization
+set(_cmake_feature_test_cxx_uniform_initialization "${Intel13_CXX11}")
+unset(Intel13_CXX11)
+
+set(Intel121 "${_cmake_oldestSupported}")
+set(Intel121_CXX11 "${Intel121} && ${DETECT_CXX11}")
+set(_cmake_feature_test_cxx_variadic_templates "(__cpp_variadic_templates >= 200704 || ${Intel121}) && ${DETECT_CXX11}") # [1]
+set(_cmake_feature_test_cxx_alias_templates "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_nullptr "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_trailing_return_types "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_attributes "(__cpp_attributes >= 200809 || ${Intel121}) && ${DETECT_CXX11}") # [1]
+set(_cmake_feature_test_cxx_default_function_template_args "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_extended_friend_declarations "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_rvalue_references "(__cpp_rvalue_references >= 200610 || ${Intel121}) && ${DETECT_CXX11}") # [1]
+set(_cmake_feature_test_cxx_decltype "__cpp_decltype >= 200707 || ${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_defaulted_functions "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_deleted_functions "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_local_type_template_args "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_lambdas "(__cpp_lambdas >= 200907 || ${Intel121}) && ${DETECT_CXX11}") # [1]
+set(_cmake_feature_test_cxx_binary_literals "__cpp_binary_literals >= 201304 || ${Intel121}")
+set(_cmake_feature_test_cxx_static_assert "(__cpp_static_assert >= 200410 || ${Intel121}) && ${DETECT_CXX11}")
+set(_cmake_feature_test_cxx_right_angle_brackets "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_auto_type "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_extern_templates "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_variadic_macros "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_long_long_type "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_func_identifier "${Intel121_CXX11}")
+set(_cmake_feature_test_cxx_template_template_parameters "${Intel121_CXX11}")
+unset(Intel121_CXX11)
+unset(Intel121)
+
+unset(DETECT_CXX11)
+unset(DETECT_CXX14)
diff --git a/share/cmake-3.10/Modules/Compiler/Intel-CXX.cmake b/share/cmake-3.10/Modules/Compiler/Intel-CXX.cmake
new file mode 100644
index 0000000..0eb9e1f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel-CXX.cmake
@@ -0,0 +1,60 @@
+include(Compiler/Intel)
+__compiler_intel(CXX)
+
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
+
+set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT <OBJECT> -MF <DEPFILE>")
+
+if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.0)
+    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-Qstd=c++14")
+    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-Qstd=c++14")
+  endif()
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-Qstd=c++11")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-Qstd=c++11")
+  elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-Qstd=c++0x")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-Qstd=c++0x")
+  endif()
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
+  endif()
+
+else()
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.2)
+    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
+    # todo: there is no gnu++14 value supported; figure out what to do
+    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=c++14")
+  elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.0)
+    set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+    # todo: there is no gnu++14 value supported; figure out what to do
+    set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=c++1y")
+  endif()
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+  elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
+  endif()
+
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+  endif()
+
+endif()
+
+__compiler_check_default_language_standard(CXX 12.1 98)
+
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Intel-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/Intel-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/Intel-Fortran.cmake
new file mode 100644
index 0000000..a132055
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel-Fortran.cmake
@@ -0,0 +1,12 @@
+include(Compiler/Intel)
+__compiler_intel(Fortran)
+
+set(CMAKE_Fortran_MODDIR_FLAG "-module ")
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
+
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+  "<CMAKE_Fortran_COMPILER> -fpp <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
diff --git a/share/cmake-3.10/Modules/Compiler/Intel.cmake b/share/cmake-3.10/Modules/Compiler/Intel.cmake
new file mode 100644
index 0000000..635ac4d
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/Intel.cmake
@@ -0,0 +1,30 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_INTEL)
+  return()
+endif()
+set(__COMPILER_INTEL 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
+
+if(CMAKE_HOST_WIN32)
+  # MSVC-like
+  macro(__compiler_intel lang)
+  endmacro()
+else()
+  # GNU-like
+  macro(__compiler_intel lang)
+    set(CMAKE_${lang}_VERBOSE_FLAG "-v")
+
+    string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g")
+    string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os")
+    string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3")
+    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
+
+    set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" "-QdM" "-P" "-Za" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
+  endmacro()
+endif()
diff --git a/share/cmake-3.6/Modules/Compiler/MIPSpro-C.cmake b/share/cmake-3.10/Modules/Compiler/MIPSpro-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/MIPSpro-C.cmake
rename to share/cmake-3.10/Modules/Compiler/MIPSpro-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/MIPSpro-CXX.cmake b/share/cmake-3.10/Modules/Compiler/MIPSpro-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/MIPSpro-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/MIPSpro-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/MIPSpro-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/MIPSpro-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/MIPSpro-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/MIPSpro-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/MIPSpro-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/MIPSpro-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/MSVC-CXX-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
new file mode 100644
index 0000000..5969586
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
@@ -0,0 +1,117 @@
+
+# Reference: http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx
+# http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx
+# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
+# http://www.visualstudio.com/en-us/news/vs2015-preview-vs.aspx
+# http://blogs.msdn.com/b/vcblog/archive/2015/04/29/c-11-14-17-features-in-vs-2015-rc.aspx
+# http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
+
+
+set(_cmake_oldestSupported "_MSC_VER >= 1600")
+
+# VS version 15 (not 2015) introduces support for aggregate initializers.
+set(_cmake_feature_test_cxx_aggregate_default_initializers "_MSC_FULL_VER >= 190024406")
+
+# VS 2015 Update 2 introduces support for variable templates.
+# https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx
+set(_cmake_feature_test_cxx_variable_templates "_MSC_FULL_VER >= 190023918")
+
+set(MSVC_2015 "_MSC_VER >= 1900")
+set(_cmake_feature_test_cxx_alignas "${MSVC_2015}")
+set(_cmake_feature_test_cxx_alignof "${MSVC_2015}")
+set(_cmake_feature_test_cxx_attributes "${MSVC_2015}")
+set(_cmake_feature_test_cxx_attribute_deprecated "${MSVC_2015}")
+set(_cmake_feature_test_cxx_binary_literals "${MSVC_2015}")
+set(_cmake_feature_test_cxx_constexpr "${MSVC_2015}")
+set(_cmake_feature_test_cxx_decltype_auto "${MSVC_2015}")
+set(_cmake_feature_test_cxx_digit_separators "${MSVC_2015}")
+set(_cmake_feature_test_cxx_func_identifier "${MSVC_2015}")
+set(_cmake_feature_test_cxx_nonstatic_member_init "${MSVC_2015}")
+# Microsoft calls this 'rvalue references v3'
+set(_cmake_feature_test_cxx_defaulted_move_initializers "${MSVC_2015}")
+set(_cmake_feature_test_cxx_generic_lambdas "${MSVC_2015}")
+set(_cmake_feature_test_cxx_inheriting_constructors "${MSVC_2015}")
+set(_cmake_feature_test_cxx_inline_namespaces "${MSVC_2015}")
+set(_cmake_feature_test_cxx_lambda_init_captures "${MSVC_2015}")
+set(_cmake_feature_test_cxx_noexcept "${MSVC_2015}")
+set(_cmake_feature_test_cxx_return_type_deduction "${MSVC_2015}")
+set(_cmake_feature_test_cxx_sizeof_member "${MSVC_2015}")
+set(_cmake_feature_test_cxx_thread_local "${MSVC_2015}")
+set(_cmake_feature_test_cxx_unicode_literals "${MSVC_2015}")
+set(_cmake_feature_test_cxx_unrestricted_unions "${MSVC_2015}")
+set(_cmake_feature_test_cxx_user_literals "${MSVC_2015}")
+set(_cmake_feature_test_cxx_reference_qualified_functions "${MSVC_2015}")
+# "The copies and moves don't interact precisely like the Standard says they
+# should. For example, deletion of moves is specified to also suppress
+# copies, but Visual C++ in Visual Studio 2013 does not."
+# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
+# lists this as 'partial' in 2013
+set(_cmake_feature_test_cxx_deleted_functions "${MSVC_2015}")
+
+set(MSVC_2013_v30723 "_MSC_FULL_VER >= 180030723")
+# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
+# Note 1. While previous version of VisualStudio said they supported these
+# they silently produced bad code, and are now marked as having partial
+# support in previous versions. The footnote says the support will be complete
+# in MSVC 2015, so support the feature for that version, assuming that is true.
+# The blog post also says that VS 2013 Update 3 generates an error in cases
+# that previously produced bad code.
+set(_cmake_feature_test_cxx_generalized_initializers "${MSVC_2013_v30723}")
+
+set(MSVC_2013 "_MSC_VER >= 1800")
+set(_cmake_feature_test_cxx_alias_templates "${MSVC_2013}")
+# Microsoft now states they support contextual conversions in 2013 and above.
+# See footnote 6 at:
+# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
+set(_cmake_feature_test_cxx_contextual_conversions "${MSVC_2013}")
+set(_cmake_feature_test_cxx_default_function_template_args "${MSVC_2013}")
+set(_cmake_feature_test_cxx_defaulted_functions "${MSVC_2013}")
+set(_cmake_feature_test_cxx_delegating_constructors "${MSVC_2013}")
+set(_cmake_feature_test_cxx_explicit_conversions "${MSVC_2013}")
+set(_cmake_feature_test_cxx_raw_string_literals "${MSVC_2013}")
+set(_cmake_feature_test_cxx_uniform_initialization "${MSVC_2013}")
+# Support is documented, but possibly partly broken:
+# https://msdn.microsoft.com/en-us/library/hh567368.aspx
+# http://thread.gmane.org/gmane.comp.lib.boost.devel/244986/focus=245333
+set(_cmake_feature_test_cxx_variadic_templates "${MSVC_2013}")
+
+set(MSVC_2012 "_MSC_VER >= 1700")
+set(_cmake_feature_test_cxx_enum_forward_declarations "${MSVC_2012}")
+set(_cmake_feature_test_cxx_final "${MSVC_2012}")
+set(_cmake_feature_test_cxx_range_for "${MSVC_2012}")
+set(_cmake_feature_test_cxx_strong_enums "${MSVC_2012}")
+
+set(MSVC_2010 "_MSC_VER >= 1600")
+set(_cmake_feature_test_cxx_auto_type "${MSVC_2010}")
+set(_cmake_feature_test_cxx_decltype "${MSVC_2010}")
+set(_cmake_feature_test_cxx_extended_friend_declarations "${MSVC_2010}")
+set(_cmake_feature_test_cxx_extern_templates "${MSVC_2010}")
+set(_cmake_feature_test_cxx_lambdas "${MSVC_2010}")
+set(_cmake_feature_test_cxx_local_type_template_args "${MSVC_2010}")
+set(_cmake_feature_test_cxx_long_long_type "${MSVC_2010}")
+set(_cmake_feature_test_cxx_nullptr "${MSVC_2010}")
+set(_cmake_feature_test_cxx_override "${MSVC_2010}")
+set(_cmake_feature_test_cxx_right_angle_brackets "${MSVC_2010}")
+set(_cmake_feature_test_cxx_rvalue_references "${MSVC_2010}")
+set(_cmake_feature_test_cxx_static_assert "${MSVC_2010}")
+set(_cmake_feature_test_cxx_template_template_parameters "${MSVC_2010}")
+set(_cmake_feature_test_cxx_trailing_return_types "${MSVC_2010}")
+set(_cmake_feature_test_cxx_variadic_macros "${MSVC_2010}")
+
+# Currently unsupported:
+# set(_cmake_feature_test_cxx_relaxed_constexpr )
+# 'NSDMIs for aggregates'
+# set(_cmake_feature_test_cxx_aggregate_default_initializers )
+
+# In theory decltype incomplete return types was added in 2012
+# but without support for decltype_auto and return type deduction this
+# feature is unusable.  This remains so as of VS 2015 Preview.
+# set(_cmake_feature_test_cxx_decltype_incomplete_return_types )
+
+# Unset all the variables that we don't need exposed.
+# _cmake_oldestSupported is required by WriteCompilerDetectionHeader
+set(MSVC_2015)
+set(MSVC_2013_v30723)
+set(MSVC_2013)
+set(MSVC_2012)
+set(MSVC_2010)
diff --git a/share/cmake-3.10/Modules/Compiler/MSVC-CXX.cmake b/share/cmake-3.10/Modules/Compiler/MSVC-CXX.cmake
new file mode 100644
index 0000000..789fff5
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/MSVC-CXX.cmake
@@ -0,0 +1,66 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Compiler/CMakeCommonCompilerMacros)
+
+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)
+
+  # VS 2015 Update 3 and above support language standard level flags,
+  # with the default and minimum level being C++14.
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std:c++14")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std:c++14")
+  if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.11.25505)
+    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std:c++17")
+    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std:c++17")
+  else()
+    set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std:c++latest")
+    set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std:c++latest")
+  endif()
+
+  __compiler_check_default_language_standard(CXX 19.0 14)
+
+  # All features that we define are available in the base mode, except
+  # for meta-features for C++14 and above.  Override the default macro
+  # to avoid doing unnecessary work.
+  macro(cmake_record_cxx_compile_features)
+    list(APPEND CMAKE_CXX17_COMPILE_FEATURES cxx_std_17)
+    list(APPEND CMAKE_CXX14_COMPILE_FEATURES cxx_std_14)
+    list(APPEND CMAKE_CXX98_COMPILE_FEATURES cxx_std_11) # no flag needed for 11
+    _record_compiler_features_cxx(98)
+  endmacro()
+elseif (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
+  # MSVC has no specific options to set language standards, but set them as
+  # empty strings anyways so the feature test infrastructure can at least check
+  # to see if they are defined.
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "")
+
+  # There is no meaningful default for this
+  set(CMAKE_CXX_STANDARD_DEFAULT "")
+
+  # There are no compiler modes so we only need to test features once.
+  # Override the default macro for this special case.  Pretend that
+  # all language standards are available so that at least compilation
+  # can be attempted.
+  macro(cmake_record_cxx_compile_features)
+    list(APPEND CMAKE_CXX_COMPILE_FEATURES
+      cxx_std_98
+      cxx_std_11
+      cxx_std_14
+      cxx_std_17
+      )
+    _record_compiler_features(CXX "" CMAKE_CXX_COMPILE_FEATURES)
+  endmacro()
+endif()
diff --git a/share/cmake-3.6/Modules/Compiler/MSVC-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/MSVC-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/NAG-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/NAG-Fortran.cmake
new file mode 100644
index 0000000..39aae18
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/NAG-Fortran.cmake
@@ -0,0 +1,36 @@
+# 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")
+  # Run with -dryrun to see sample "link" line.
+  execute_process(
+    COMMAND ${CMAKE_Fortran_COMPILER} dummy.o -dryrun
+    OUTPUT_VARIABLE _dryrun
+    ERROR_VARIABLE _dryrun
+    )
+  # Match an object file.
+  string(REGEX MATCH "/[^ ]*/[^ /][^ /]*\\.o" _nag_obj "${_dryrun}")
+  if(_nag_obj)
+    # Parse object directory and convert to a regex.
+    string(REGEX REPLACE "/[^/]*$" "" _nag_dir "${_nag_obj}")
+    string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" _nag_regex "${_nag_dir}")
+    set(CMAKE_Fortran_IMPLICIT_OBJECT_REGEX "^${_nag_regex}/")
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+      "Detecting NAG Fortran directory with -dryrun found\n"
+      "  object: ${_nag_obj}\n"
+      "  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}")
+  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")
+  endif()
+endif()
+
+set(CMAKE_Fortran_MODDIR_FLAG "-mdir ")
+set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-PIC")
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
+set(CMAKE_Fortran_COMPILE_OPTIONS_PIC "-PIC")
+set(CMAKE_Fortran_COMPILE_OPTIONS_PIE "-PIC")
diff --git a/share/cmake-3.10/Modules/Compiler/NVIDIA-CUDA.cmake b/share/cmake-3.10/Modules/Compiler/NVIDIA-CUDA.cmake
new file mode 100644
index 0000000..1c91654
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/NVIDIA-CUDA.cmake
@@ -0,0 +1,35 @@
+set(CMAKE_CUDA_VERBOSE_FLAG "-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()
diff --git a/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
new file mode 100644
index 0000000..cb0beaf
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
@@ -0,0 +1,17 @@
+
+set(_compiler_id_pp_test "defined(__NVCC__)")
+
+set(_compiler_id_version_compute "
+# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__CUDACC_VER_MAJOR__)
+# define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__CUDACC_VER_MINOR__)
+# define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__CUDACC_VER_BUILD__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define @PREFIX@SIMULATE_VERSION_MAJOR @MACRO_DEC@(_MSC_VER / 100)
+#  define @PREFIX@SIMULATE_VERSION_MINOR @MACRO_DEC@(_MSC_VER % 100)
+# endif")
+
+set(_compiler_id_simulate "
+# if defined(_MSC_VER)
+#  define @PREFIX@SIMULATE_ID \"MSVC\"
+# endif")
diff --git a/share/cmake-3.6/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/PGI-C.cmake b/share/cmake-3.10/Modules/Compiler/PGI-C.cmake
new file mode 100644
index 0000000..3b3848a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PGI-C.cmake
@@ -0,0 +1,17 @@
+include(Compiler/PGI)
+__compiler_pgi(C)
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+
+if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12.10)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION -c89)
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION -c89)
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION -c99)
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION -c99)
+  if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 15.3)
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION -c11)
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION -c11)
+  endif ()
+endif ()
+
+__compiler_check_default_language_standard(C 12.10 90)
diff --git a/share/cmake-3.10/Modules/Compiler/PGI-CXX.cmake b/share/cmake-3.10/Modules/Compiler/PGI-CXX.cmake
new file mode 100644
index 0000000..35076bb
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PGI-CXX.cmake
@@ -0,0 +1,23 @@
+include(Compiler/PGI)
+__compiler_pgi(CXX)
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
+
+if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12.10)
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION  -A)
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION --gnu_extensions)
+  if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.10)
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION  --c++11 -A)
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION --c++11 --gnu_extensions)
+    if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.7)
+      set(CMAKE_CXX14_STANDARD_COMPILE_OPTION  --c++14 -A)
+      set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION --c++14 --gnu_extensions)
+      if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 17.1)
+        set(CMAKE_CXX17_STANDARD_COMPILE_OPTION  --c++17 -A)
+        set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION --c++17 --gnu_extensions)
+      endif()
+    endif()
+  endif()
+endif()
+
+__compiler_check_default_language_standard(CXX 12.10 98)
diff --git a/share/cmake-3.6/Modules/Compiler/PGI-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/PGI-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/PGI-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/PGI-Fortran.cmake
new file mode 100644
index 0000000..a183c33
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PGI-Fortran.cmake
@@ -0,0 +1,12 @@
+include(Compiler/PGI)
+__compiler_pgi(Fortran)
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+  "<CMAKE_Fortran_COMPILER> -Mpreprocess <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-Mnofreeform")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-Mfreeform")
+
+string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " -Mbounds")
+
+set(CMAKE_Fortran_MODDIR_FLAG "-module ")
diff --git a/share/cmake-3.10/Modules/Compiler/PGI.cmake b/share/cmake-3.10/Modules/Compiler/PGI.cmake
new file mode 100644
index 0000000..d5a57ee
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PGI.cmake
@@ -0,0 +1,39 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_PGI)
+  return()
+endif()
+set(__COMPILER_PGI 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
+
+macro(__compiler_pgi lang)
+  # Feature flags.
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v")
+
+  # Initial configuration flags.
+  string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -O0")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -O2 -s")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -fast -O3")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -gopt")
+
+  if(CMAKE_HOST_WIN32)
+    string(APPEND CMAKE_${lang}_FLAGS_INIT " -Bdynamic")
+  endif()
+
+  set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
+  if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL ppc64le AND (NOT CMAKE_HOST_WIN32 OR CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 16.3))
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-Mipa=fast,inline")
+  else()
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+  endif()
+
+  # Preprocessing and assembly rules.
+  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+endmacro()
diff --git a/share/cmake-3.10/Modules/Compiler/PathScale-C.cmake b/share/cmake-3.10/Modules/Compiler/PathScale-C.cmake
new file mode 100644
index 0000000..94c7d08
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PathScale-C.cmake
@@ -0,0 +1,4 @@
+include(Compiler/PathScale)
+__compiler_pathscale(C)
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
diff --git a/share/cmake-3.10/Modules/Compiler/PathScale-CXX.cmake b/share/cmake-3.10/Modules/Compiler/PathScale-CXX.cmake
new file mode 100644
index 0000000..276b81b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PathScale-CXX.cmake
@@ -0,0 +1,4 @@
+include(Compiler/PathScale)
+__compiler_pathscale(CXX)
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/PathScale-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/PathScale-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/PathScale-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/PathScale-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/PathScale-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/PathScale-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/PathScale.cmake b/share/cmake-3.10/Modules/Compiler/PathScale.cmake
new file mode 100644
index 0000000..d5f8cb1
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/PathScale.cmake
@@ -0,0 +1,21 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_PATHSCALE)
+  return()
+endif()
+set(__COMPILER_PATHSCALE 1)
+
+macro(__compiler_pathscale lang)
+  # Feature flags.
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v")
+
+  # Initial configuration flags.
+  string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -O0")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -g -O2")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/QCC-C.cmake b/share/cmake-3.10/Modules/Compiler/QCC-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/QCC-C.cmake
rename to share/cmake-3.10/Modules/Compiler/QCC-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/QCC-CXX.cmake b/share/cmake-3.10/Modules/Compiler/QCC-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/QCC-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/QCC-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/QCC.cmake b/share/cmake-3.10/Modules/Compiler/QCC.cmake
new file mode 100644
index 0000000..0da7050
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/QCC.cmake
@@ -0,0 +1,23 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(Compiler/GNU)
+
+macro(__compiler_qcc lang)
+  __compiler_gnu(${lang})
+
+  # http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/q/qcc.html#examples
+  set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-V")
+
+  set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-Wp,-isystem,")
+  set(CMAKE_DEPFILE_FLAGS_${lang} "-Wc,-MD,<DEPFILE>,-MT,<OBJECT>,-MF,<DEPFILE>")
+
+  set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE NO)
+  set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+
+  unset(CMAKE_${lang}_COMPILE_OPTIONS_IPO)
+  unset(CMAKE_${lang}_ARCHIVE_CREATE_IPO)
+  unset(CMAKE_${lang}_ARCHIVE_APPEND_IPO)
+  unset(CMAKE_${lang}_ARCHIVE_FINISH_IPO)
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/SCO-C.cmake b/share/cmake-3.10/Modules/Compiler/SCO-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/SCO-C.cmake
rename to share/cmake-3.10/Modules/Compiler/SCO-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/SCO-CXX.cmake b/share/cmake-3.10/Modules/Compiler/SCO-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/SCO-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/SCO-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/SCO-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/SCO-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/SCO.cmake b/share/cmake-3.10/Modules/Compiler/SCO.cmake
new file mode 100644
index 0000000..c55a048
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SCO.cmake
@@ -0,0 +1,18 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_SCO)
+  return()
+endif()
+set(__COMPILER_SCO 1)
+
+macro(__compiler_sco lang)
+  # Feature flags.
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC -Kpic)
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE -Kpie)
+  set(CMAKE_${lang}_COMPILE_OPTIONS_DLL -belf)
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-Kpic -belf")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-belf -Wl,-Bexport")
+endmacro()
diff --git a/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
new file mode 100644
index 0000000..4c70c5e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
@@ -0,0 +1,16 @@
+
+# sdcc, the small devices C compiler for embedded systems,
+#   http://sdcc.sourceforge.net  */
+set(_compiler_id_pp_test "defined(__SDCC_VERSION_MAJOR) || defined(SDCC)")
+
+set(_compiler_id_version_compute "
+# if defined(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MAJOR @MACRO_DEC@(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MINOR @MACRO_DEC@(__SDCC_VERSION_MINOR)
+#  define COMPILER_VERSION_PATCH @MACRO_DEC@(__SDCC_VERSION_PATCH)
+# else
+  /* SDCC = VRP */
+#  define COMPILER_VERSION_MAJOR @MACRO_DEC@(SDCC/100)
+#  define COMPILER_VERSION_MINOR @MACRO_DEC@(SDCC/10 % 10)
+#  define COMPILER_VERSION_PATCH @MACRO_DEC@(SDCC    % 10)
+# endif")
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro-ASM.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-ASM.cmake
new file mode 100644
index 0000000..0d67400
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro-ASM.cmake
@@ -0,0 +1,24 @@
+set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
+
+set(CMAKE_ASM_VERBOSE_FLAG "-#")
+
+set(CMAKE_SHARED_LIBRARY_ASM_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_ASM_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_ASM_FLAG "-h")
+
+string(APPEND CMAKE_ASM_FLAGS_INIT " ")
+string(APPEND CMAKE_ASM_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -xO2 -xspace -DNDEBUG")
+string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -xO3 -DNDEBUG")
+string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -g -xO2 -DNDEBUG")
+
+# Initialize ASM link type selection flags.  These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+  set(CMAKE_${type}_LINK_STATIC_ASM_FLAGS "-Bstatic")
+  set(CMAKE_${type}_LINK_DYNAMIC_ASM_FLAGS "-Bdynamic")
+endforeach()
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro-C-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-C-FeatureTests.cmake
new file mode 100644
index 0000000..cccf3ae
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro-C-FeatureTests.cmake
@@ -0,0 +1,14 @@
+set(_cmake_oldestSupported "__SUNPRO_C >= 0x5130")
+
+set(SunPro_C11 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L || __STDC_VERSION__ >= 199901L && defined(__C11FEATURES__))")
+set(_cmake_feature_test_c_static_assert "${SunPro_C11}")
+unset(SunPro_C11)
+
+set(SunPro_C99 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
+set(_cmake_feature_test_c_restrict "${SunPro_C99}")
+set(_cmake_feature_test_c_variadic_macros "${SunPro_C99}")
+unset(SunPro_C99)
+
+set(SunPro_C90 "${_cmake_oldestSupported}")
+set(_cmake_feature_test_c_function_prototypes "${SunPro_C90}")
+unset(SunPro_C90)
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro-C.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-C.cmake
new file mode 100644
index 0000000..29c2f22
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro-C.cmake
@@ -0,0 +1,47 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Compiler/SunPro)
+
+set(CMAKE_C_VERBOSE_FLAG "-#")
+
+set(CMAKE_C_COMPILE_OPTIONS_PIC -KPIC)
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h")
+
+string(APPEND CMAKE_C_FLAGS_INIT " ")
+string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -xO2 -xspace -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -xO3 -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -g -xO2 -DNDEBUG")
+
+# Initialize C link type selection flags.  These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+  set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Bstatic")
+  set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Bdynamic")
+endforeach()
+
+if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 5.13)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=c89")
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=c99")
+  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
+  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=c11")
+elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 5.11)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION "")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "")
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-xc99")
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-xc99")
+endif()
+
+__compiler_check_default_language_standard(C 5.11 90 5.14 11)
+
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro-CXX-FeatureTests.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
new file mode 100644
index 0000000..60280ca
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
@@ -0,0 +1,56 @@
+
+# Based on GNU 4.8.2
+# http://docs.oracle.com/cd/E37069_01/html/E37071/gncix.html
+# Reference: http://gcc.gnu.org/projects/cxx0x.html
+
+set(_cmake_oldestSupported "__SUNPRO_CC >= 0x5130")
+
+set(SolarisStudio125_CXX11 "(__SUNPRO_CC >= 0x5140) && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_binary_literals "${SolarisStudio125_CXX11}")
+set(_cmake_feature_test_cxx_reference_qualified_functions "${SolarisStudio125_CXX11}")
+
+set(SolarisStudio124_CXX11 "(__SUNPRO_CC >= 0x5130) && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_alignas "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_alignof "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_attributes "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_inheriting_constructors "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_thread_local "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_alias_templates "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_delegating_constructors "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_extended_friend_declarations "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_final "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_noexcept "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_nonstatic_member_init "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_override "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_constexpr "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_defaulted_move_initializers "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_enum_forward_declarations "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_nullptr "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_range_for "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_unrestricted_unions "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_explicit_conversions "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_lambdas "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_local_type_template_args "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_raw_string_literals "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_auto_type "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_defaulted_functions "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_deleted_functions "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_generalized_initializers "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_inline_namespaces "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_sizeof_member "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_strong_enums "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_trailing_return_types "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_unicode_literals "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_uniform_initialization "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_variadic_templates "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_decltype "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_default_function_template_args "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_long_long_type "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_right_angle_brackets "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_rvalue_references "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_static_assert "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_extern_templates "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_func_identifier "${SolarisStudio124_CXX11}")
+set(_cmake_feature_test_cxx_variadic_macros "${SolarisStudio124_CXX11}")
+
+set(_cmake_feature_test_cxx_template_template_parameters "${_cmake_oldestSupported} && __cplusplus")
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro-CXX.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-CXX.cmake
new file mode 100644
index 0000000..5cb7edc
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro-CXX.cmake
@@ -0,0 +1,51 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Compiler/SunPro)
+
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
+
+set(CMAKE_CXX_COMPILE_OPTIONS_PIC -KPIC)
+set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-h")
+
+string(APPEND CMAKE_CXX_FLAGS_INIT " ")
+string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -xO2 -xspace -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -xO3 -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -g -xO2 -DNDEBUG")
+
+# Initialize C link type selection flags.  These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+  set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Bstatic")
+  set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Bdynamic")
+endforeach()
+
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+
+# Create archives with "CC -xar" in case user adds "-instances=extern"
+# so that template instantiations are available to archive members.
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY
+  "<CMAKE_CXX_COMPILER> -xar -o <TARGET> <OBJECTS> "
+  "<CMAKE_RANLIB> <TARGET> ")
+
+if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++03")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=c++03")
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=c++11")
+  set(CMAKE_CXX_LINK_WITH_STANDARD_COMPILE_OPTION 1)
+else()
+  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-library=stlport4")
+  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-library=stlport4")
+  set(CMAKE_CXX_LINK_WITH_STANDARD_COMPILE_OPTION 1)
+endif()
+
+__compiler_check_default_language_standard(CXX 1 98)
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/SunPro-Fortran.cmake
new file mode 100644
index 0000000..9b25c0b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro-Fortran.cmake
@@ -0,0 +1,25 @@
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
+
+set(CMAKE_Fortran_COMPILE_OPTIONS_PIC "-KPIC")
+set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-h")
+set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG "-R")
+
+string(APPEND CMAKE_Fortran_FLAGS_INIT " ")
+string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " -xO2 -xspace -DNDEBUG")
+string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -xO3 -DNDEBUG")
+string(APPEND CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT " -g -xO2 -DNDEBUG")
+set(CMAKE_Fortran_MODDIR_FLAG "-moddir=")
+set(CMAKE_Fortran_MODPATH_FLAG "-M")
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+  "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -F -fpp <SOURCE> -o <PREPROCESSED_SOURCE>")
+
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -F -fpp <SOURCE> -o <PREPROCESSED_SOURCE>")
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.10/Modules/Compiler/SunPro.cmake b/share/cmake-3.10/Modules/Compiler/SunPro.cmake
new file mode 100644
index 0000000..52da39a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/SunPro.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_SUNPRO)
+  return()
+endif()
+set(__COMPILER_SUNPRO 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
diff --git a/share/cmake-3.6/Modules/Compiler/TI-ASM.cmake b/share/cmake-3.10/Modules/Compiler/TI-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/TI-ASM.cmake
rename to share/cmake-3.10/Modules/Compiler/TI-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/TI-C.cmake b/share/cmake-3.10/Modules/Compiler/TI-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/TI-C.cmake
rename to share/cmake-3.10/Modules/Compiler/TI-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/TI-CXX.cmake b/share/cmake-3.10/Modules/Compiler/TI-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/TI-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/TI-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/TI-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/TI-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/TinyCC-C.cmake b/share/cmake-3.10/Modules/Compiler/TinyCC-C.cmake
new file mode 100644
index 0000000..fbd2841
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/TinyCC-C.cmake
@@ -0,0 +1,8 @@
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
+
+# no optimization in tcc:
+string(APPEND CMAKE_C_FLAGS_INIT " ")
+string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -g -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/VisualAge-C.cmake b/share/cmake-3.10/Modules/Compiler/VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/VisualAge-C.cmake
rename to share/cmake-3.10/Modules/Compiler/VisualAge-C.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/VisualAge-CXX.cmake b/share/cmake-3.10/Modules/Compiler/VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/VisualAge-CXX.cmake
rename to share/cmake-3.10/Modules/Compiler/VisualAge-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/VisualAge-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/VisualAge-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/VisualAge-Fortran.cmake
rename to share/cmake-3.10/Modules/Compiler/VisualAge-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/Watcom-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/Watcom-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/XL-ASM.cmake b/share/cmake-3.10/Modules/Compiler/XL-ASM.cmake
new file mode 100644
index 0000000..9177b39
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/XL-ASM.cmake
@@ -0,0 +1,12 @@
+set(CMAKE_ASM_VERBOSE_FLAG "-V")
+
+# -qthreaded     = Ensures that all optimizations will be thread-safe
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_ASM_FLAGS_INIT " -qthreaded -qhalt=e -qsourcetype=assembler")
+
+string(APPEND CMAKE_ASM_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -O -DNDEBUG")
+string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -O -DNDEBUG")
+string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -g -DNDEBUG")
+
+set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
diff --git a/share/cmake-3.6/Modules/Compiler/XL-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/XL-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/XL-C.cmake b/share/cmake-3.10/Modules/Compiler/XL-C.cmake
new file mode 100644
index 0000000..5dc8bc1
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/XL-C.cmake
@@ -0,0 +1,41 @@
+include(Compiler/XL)
+__compiler_xl(C)
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+
+# -qthreaded = Ensures that all optimizations will be thread-safe
+string(APPEND CMAKE_C_FLAGS_INIT " -qthreaded")
+
+# XL v13.1.1 for Linux ppc64 little-endian switched to using a clang based
+# front end and accepts the -std= option while only reserving -qlanglevel= for
+# compatibility.  All other versions (previous versions on Linux ppc64
+# little-endian, all versions on Linux ppc64 big-endian, all versions on AIX
+# and BGQ, etc) are derived from the UNIX compiler and only accept the
+# -qlanglvl option.
+if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+  if (CMAKE_SYSTEM MATCHES "Linux.*ppc64le" AND
+      CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.1)
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION  "-std=c89")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION  "-std=c99")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+    if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.2)
+      set(CMAKE_C11_STANDARD_COMPILE_OPTION  "-std=c11")
+      set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+    else ()
+      set(CMAKE_C11_STANDARD_COMPILE_OPTION "-qlanglvl=extc1x")
+      set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-qlanglvl=extc1x")
+    endif ()
+  else ()
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION "-qlanglvl=stdc89")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-qlanglvl=extc89")
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "-qlanglvl=stdc99")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-qlanglvl=extc99")
+    if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12.1)
+      set(CMAKE_C11_STANDARD_COMPILE_OPTION "-qlanglvl=extc1x")
+      set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-qlanglvl=extc1x")
+    endif ()
+  endif ()
+endif()
+
+__compiler_check_default_language_standard(C 10.1 90)
diff --git a/share/cmake-3.6/Modules/Compiler/XL-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/Compiler/XL-CXX.cmake b/share/cmake-3.10/Modules/Compiler/XL-CXX.cmake
new file mode 100644
index 0000000..b87e923
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/XL-CXX.cmake
@@ -0,0 +1,49 @@
+include(Compiler/XL)
+__compiler_xl(CXX)
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+
+# -qthreaded = Ensures that all optimizations will be thread-safe
+string(APPEND CMAKE_CXX_FLAGS_INIT " -qthreaded")
+
+# XL v13.1.1 for Linux ppc64 little-endian switched to using a clang based
+# front end and accepts the -std= option while only reserving -qlanglevel= for
+# compatibility.  All other versions (previous versions on Linux ppc64
+# little-endian, all versions on Linux ppc64 big-endian, all versions on AIX
+# and BGQ, etc) are derived from the UNIX compiler and only accept the
+# -qlanglvl option.
+if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+  if (CMAKE_SYSTEM MATCHES "Linux.*ppc64")
+    if (CMAKE_SYSTEM MATCHES "Linux.*ppc64le" AND
+        CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.1)
+      set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+      set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+      if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.2)
+        set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+        set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+        set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+        set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-qlanglvl=extended1y")
+      else ()
+        set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+        set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+      endif ()
+    else ()
+      # The non-clang based Linux ppc64 compiler, both big-endian and
+      # little-endian lacks, the non-extension language level flags
+      set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-qlanglvl=extended")
+      set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-qlanglvl=extended")
+      set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+      set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+    endif ()
+  else ()
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-qlanglvl=strict98")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-qlanglvl=extended")
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+  endif ()
+endif ()
+
+__compiler_check_default_language_standard(CXX 10.1 98)
+
+set(CMAKE_CXX_COMPILE_OBJECT
+  "<CMAKE_CXX_COMPILER> -+ <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
diff --git a/share/cmake-3.10/Modules/Compiler/XL-Fortran.cmake b/share/cmake-3.10/Modules/Compiler/XL-Fortran.cmake
new file mode 100644
index 0000000..6bab6f6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/XL-Fortran.cmake
@@ -0,0 +1,17 @@
+include(Compiler/XL)
+__compiler_xl(Fortran)
+
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-qfixed") # [=<right_margin>]
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-qfree") # [=f90|ibm]
+
+set(CMAKE_Fortran_MODDIR_FLAG "-qmoddir=")
+
+set(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")
+
+# -qthreaded     = Ensures that all optimizations will be thread-safe
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_Fortran_FLAGS_INIT " -qthreaded -qhalt=e")
+
+# xlf: 1501-214 (W) command option E reserved for future use - ignored
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
diff --git a/share/cmake-3.10/Modules/Compiler/XL.cmake b/share/cmake-3.10/Modules/Compiler/XL.cmake
new file mode 100644
index 0000000..4783785
--- /dev/null
+++ b/share/cmake-3.10/Modules/Compiler/XL.cmake
@@ -0,0 +1,46 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_XL)
+  return()
+endif()
+set(__COMPILER_XL 1)
+
+include(Compiler/CMakeCommonCompilerMacros)
+
+# Find the CreateExportList program that comes with this toolchain.
+find_program(CMAKE_XL_CreateExportList
+  NAMES CreateExportList
+  DOC "IBM XL CreateExportList tool"
+  )
+
+macro(__compiler_xl lang)
+  # Feature flags.
+  set(CMAKE_${lang}_VERBOSE_FLAG "-V")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-qpic")
+
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -O")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -g")
+  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE     "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+
+  # CMAKE_XL_CreateExportList is part of the AIX XL compilers but not the linux ones.
+  # If we found the tool, we'll use it to create exports, otherwise stick with the regular
+  # create shared library compile line.
+  if (CMAKE_XL_CreateExportList)
+    # The compiler front-end passes all object files, archive files, and shared
+    # library files named on the command line to CreateExportList to create a
+    # list of all symbols to be exported from the shared library.  This causes
+    # all archive members to be copied into the shared library whether they are
+    # needed or not.  Instead we run the tool 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_XL_CreateExportList} <OBJECT_DIR>/objects.exp <OBJECTS>"
+      "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/objects.exp <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
+      )
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/zOS-C-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/zOS-C-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake
diff --git a/share/cmake-3.6/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake b/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
rename to share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
diff --git a/share/cmake-3.10/Modules/CompilerId/VS-10.csproj.in b/share/cmake-3.10/Modules/CompilerId/VS-10.csproj.in
new file mode 100644
index 0000000..ed5e847
--- /dev/null
+++ b/share/cmake-3.10/Modules/CompilerId/VS-10.csproj.in
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
+    <RootNamespace>CompilerId@id_lang@</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    @id_system@
+    @id_system_version@
+    @id_WindowsTargetPlatformVersion@
+    @id_WindowsSDKDesktopARMSupport@
+  </PropertyGroup>
+  <PropertyGroup>
+    @id_PreferredToolArchitecture@
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    @id_toolset@
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <!-- ============================================================ -->
+  <!-- ==                set preprocessor definitions            == -->
+  <!-- ============================================================ -->
+  <PropertyGroup>
+    <DefineConstants></DefineConstants>
+    <UnknownValue>Unknown</UnknownValue>
+  </PropertyGroup>
+  <!-- Platform -->
+  <PropertyGroup Condition="'$(Platform)'!=''">
+    <DefineConstants>$(DefineConstants);Platform$(Platform)</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Platform)'==''">
+    <DefineConstants>$(DefineConstants);Platform$(UnknownValue)</DefineConstants>
+  </PropertyGroup>
+  <!-- PlatformToolset -->
+  <PropertyGroup Condition="'$(PlatformToolset)'!=''">
+    <DefineConstants>$(DefineConstants);PlatformToolset$(PlatformToolset)</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(PlatformToolset)'==''">
+    <DefineConstants>$(DefineConstants);PlatformToolset$(UnknownValue)</DefineConstants>
+  </PropertyGroup>
+  <!-- ============================================================ -->
+  <PropertyGroup>
+    <OutputPath Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">.\</OutputPath>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="@id_src@" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PostBuildEvent>if not "$(RoslynTargetsPath)"=="" if exist "$(RoslynTargetsPath)\@id_cl@" set _CSC=$(RoslynTargetsPath)
+if exist "$(MSBuildToolsPath)\@id_cl@" set _CSC=$(MSBuildToolsPath)
+if "%_CSC%"=="" exit -1
+%40echo CMAKE_@id_lang@_COMPILER=%_CSC%\@id_cl@</PostBuildEvent>
+  </PropertyGroup>
+</Project>
diff --git a/share/cmake-3.10/Modules/CompilerId/VS-10.vcxproj.in b/share/cmake-3.10/Modules/CompilerId/VS-10.vcxproj.in
new file mode 100644
index 0000000..6b9b361
--- /dev/null
+++ b/share/cmake-3.10/Modules/CompilerId/VS-10.vcxproj.in
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|@id_platform@">
+      <Configuration>Debug</Configuration>
+      <Platform>@id_platform@</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
+    <RootNamespace>CompilerId@id_lang@</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    @id_system@
+    @id_system_version@
+    @id_WindowsTargetPlatformVersion@
+    @id_WindowsSDKDesktopARMSupport@
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup>
+    @id_PreferredToolArchitecture@
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    @id_toolset@
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+    @id_Import_props@
+  </ImportGroup>
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">.\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>TurnOffAllWarnings</WarningLevel>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+    </ClCompile>
+    @id_ItemDefinitionGroup_entry@
+    <Link>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      @id_Link_AdditionalDependencies@
+    </Link>
+    <PostBuildEvent>
+      <Command>@id_PostBuildEvent_Command@</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <@id_compile@ Include="@id_src@" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+    @id_Import_targets@
+  </ImportGroup>
+</Project>
diff --git a/share/cmake-3.6/Modules/CompilerId/VS-7.vcproj.in b/share/cmake-3.10/Modules/CompilerId/VS-7.vcproj.in
similarity index 100%
rename from share/cmake-3.6/Modules/CompilerId/VS-7.vcproj.in
rename to share/cmake-3.10/Modules/CompilerId/VS-7.vcproj.in
diff --git a/share/cmake-3.6/Modules/CompilerId/VS-Intel.vfproj.in b/share/cmake-3.10/Modules/CompilerId/VS-Intel.vfproj.in
similarity index 100%
rename from share/cmake-3.6/Modules/CompilerId/VS-Intel.vfproj.in
rename to share/cmake-3.10/Modules/CompilerId/VS-Intel.vfproj.in
diff --git a/share/cmake-3.6/Modules/CompilerId/VS-NsightTegra.vcxproj.in b/share/cmake-3.10/Modules/CompilerId/VS-NsightTegra.vcxproj.in
similarity index 100%
rename from share/cmake-3.6/Modules/CompilerId/VS-NsightTegra.vcxproj.in
rename to share/cmake-3.10/Modules/CompilerId/VS-NsightTegra.vcxproj.in
diff --git a/share/cmake-3.10/Modules/CompilerId/Xcode-3.pbxproj.in b/share/cmake-3.10/Modules/CompilerId/Xcode-3.pbxproj.in
new file mode 100644
index 0000000..1cbaa57
--- /dev/null
+++ b/share/cmake-3.10/Modules/CompilerId/Xcode-3.pbxproj.in
@@ -0,0 +1,112 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 45;
+	objects = {
+
+		2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
+		2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; explicitFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
+		08FB7794FE84155DC02AAC07 = {
+			isa = PBXGroup;
+			children = (
+				2C18F0B415DC1DC700593670,
+			);
+			name = CompilerId@id_lang@;
+			sourceTree = "<group>";
+		};
+		8DD76FA90486AB0100D96B5E = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1DEB928508733DD80010E9CD;
+			buildPhases = (
+				2C18F0B515DC1DCE00593670,
+				2C8FEB8E15DC1A1A00E56A5D,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = CompilerId@id_lang@;
+			productName = CompilerId@id_lang@;
+			productType = "@id_product_type@";
+		};
+		08FB7793FE84155DC02AAC07 = {
+			isa = PBXProject;
+			buildConfigurationList = 1DEB928908733DD80010E9CD;
+			compatibilityVersion = "Xcode 3.1";
+			developmentRegion = English;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				en,
+			);
+			mainGroup = 08FB7794FE84155DC02AAC07;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				8DD76FA90486AB0100D96B5E,
+			);
+		};
+		2C8FEB8E15DC1A1A00E56A5D = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "echo \"GCC_VERSION=$GCC_VERSION\" ; echo \"CURRENT_ARCH=$CURRENT_ARCH\"";
+			showEnvVarsInLog = 0;
+		};
+		2C18F0B515DC1DCE00593670 = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				2C18F0B615DC1E0300593670,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		1DEB928608733DD80010E9CD = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				@id_development_team@
+				PRODUCT_NAME = CompilerId@id_lang@;
+			};
+			name = Debug;
+		};
+		1DEB928A08733DD80010E9CD = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ONLY_ACTIVE_ARCH = YES;
+				CODE_SIGNING_REQUIRED = NO;
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				SYMROOT = .;
+				@id_toolset@
+				@id_lang_version@
+				@id_deployment_target@
+				@id_sdkroot@
+			};
+			name = Debug;
+		};
+		1DEB928508733DD80010E9CD = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB928608733DD80010E9CD,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Debug;
+		};
+		1DEB928908733DD80010E9CD = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB928A08733DD80010E9CD,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Debug;
+		};
+	};
+	rootObject = 08FB7793FE84155DC02AAC07;
+}
diff --git a/share/cmake-3.6/Modules/CompilerId/main.swift.in b/share/cmake-3.10/Modules/CompilerId/main.swift.in
similarity index 100%
rename from share/cmake-3.6/Modules/CompilerId/main.swift.in
rename to share/cmake-3.10/Modules/CompilerId/main.swift.in
diff --git a/share/cmake-3.10/Modules/Dart.cmake b/share/cmake-3.10/Modules/Dart.cmake
new file mode 100644
index 0000000..e003cd5
--- /dev/null
+++ b/share/cmake-3.10/Modules/Dart.cmake
@@ -0,0 +1,124 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Dart
+# ----
+#
+# Configure a project for testing with CTest or old Dart Tcl Client
+#
+# This file is the backwards-compatibility version of the CTest module.
+# It supports using the old Dart 1 Tcl client for driving dashboard
+# submissions as well as testing with CTest.  This module should be
+# included in the CMakeLists.txt file at the top of a project.  Typical
+# usage:
+#
+# ::
+#
+#   include(Dart)
+#   if(BUILD_TESTING)
+#     # ... testing related CMake code ...
+#   endif()
+#
+# The BUILD_TESTING option is created by the Dart module to determine
+# whether testing support should be enabled.  The default is ON.
+
+# This file configures a project to use the Dart testing/dashboard process.
+# It is broken into 3 sections.
+#
+#  Section #1: Locate programs on the client and determine site and build name
+#  Section #2: Configure or copy Tcl scripts from the source tree to build tree
+#  Section #3: Custom targets for performing dashboard builds.
+#
+#
+
+option(BUILD_TESTING "Build the testing tree." ON)
+
+if(BUILD_TESTING)
+  find_package(Dart QUIET)
+
+  #
+  # Section #1:
+  #
+  # CMake commands that will not vary from project to project. Locates programs
+  # on the client and configure site name and build name.
+  #
+
+  set(RUN_FROM_DART 1)
+  include(CTest)
+  set(RUN_FROM_DART)
+
+  find_program(COMPRESSIONCOMMAND NAMES gzip compress zip
+    DOC "Path to program used to compress files for transfer to the dart server")
+  find_program(GUNZIPCOMMAND gunzip DOC "Path to gunzip executable")
+  find_program(JAVACOMMAND java DOC "Path to java command, used by the Dart server to create html.")
+  option(DART_VERBOSE_BUILD "Show the actual output of the build, or if off show a . for each 1024 bytes."
+    OFF)
+  option(DART_BUILD_ERROR_REPORT_LIMIT "Limit of reported errors, -1 reports all." -1 )
+  option(DART_BUILD_WARNING_REPORT_LIMIT "Limit of reported warnings, -1 reports all." -1 )
+
+  set(VERBOSE_BUILD ${DART_VERBOSE_BUILD})
+  set(BUILD_ERROR_REPORT_LIMIT ${DART_BUILD_ERROR_REPORT_LIMIT})
+  set(BUILD_WARNING_REPORT_LIMIT ${DART_BUILD_WARNING_REPORT_LIMIT})
+  set (DELIVER_CONTINUOUS_EMAIL "Off" CACHE BOOL "Should Dart server send email when build errors are found in Continuous builds?")
+
+  mark_as_advanced(
+    COMPRESSIONCOMMAND
+    DART_BUILD_ERROR_REPORT_LIMIT
+    DART_BUILD_WARNING_REPORT_LIMIT
+    DART_TESTING_TIMEOUT
+    DART_VERBOSE_BUILD
+    DELIVER_CONTINUOUS_EMAIL
+    GUNZIPCOMMAND
+    JAVACOMMAND
+    )
+
+  set(HAVE_DART)
+  if(EXISTS "${DART_ROOT}/Source/Client/Dart.conf.in")
+    set(HAVE_DART 1)
+  endif()
+
+  #
+  # Section #2:
+  #
+  # Make necessary directories and configure testing scripts
+  #
+  # find a tcl shell command
+  if(HAVE_DART)
+    find_package(Tclsh)
+  endif()
+
+
+  if (HAVE_DART)
+    # make directories in the binary tree
+    file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Dashboard"
+      "${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Sites/${SITE}/${BUILDNAME}")
+
+    # configure files
+    configure_file(
+      "${DART_ROOT}/Source/Client/Dart.conf.in"
+      "${PROJECT_BINARY_DIR}/DartConfiguration.tcl" )
+
+    #
+    # Section 3:
+    #
+    # Custom targets to perform dashboard builds and submissions.
+    # These should NOT need to be modified from project to project.
+    #
+
+    # add testing targets
+    set(DART_EXPERIMENTAL_NAME Experimental)
+    if(DART_EXPERIMENTAL_USE_PROJECT_NAME)
+      string(APPEND DART_EXPERIMENTAL_NAME "${PROJECT_NAME}")
+    endif()
+  endif ()
+
+  set(RUN_FROM_CTEST_OR_DART 1)
+  include(CTestTargets)
+  set(RUN_FROM_CTEST_OR_DART)
+endif()
+
+#
+# End of Dart.cmake
+#
+
diff --git a/share/cmake-3.10/Modules/DartConfiguration.tcl.in b/share/cmake-3.10/Modules/DartConfiguration.tcl.in
new file mode 100644
index 0000000..b86a5a9
--- /dev/null
+++ b/share/cmake-3.10/Modules/DartConfiguration.tcl.in
@@ -0,0 +1,115 @@
+# This file is configured by CMake automatically as DartConfiguration.tcl
+# If you choose not to use CMake, this file may be hand configured, by
+# filling in the required variables.
+
+
+# Configuration directories and files
+SourceDirectory: @PROJECT_SOURCE_DIR@
+BuildDirectory: @PROJECT_BINARY_DIR@
+
+# Where to place the cost data store
+CostDataFile: @CTEST_COST_DATA_FILE@
+
+# Site is something like machine.domain, i.e. pragmatic.crd
+Site: @SITE@
+
+# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++
+BuildName: @BUILDNAME@
+
+# Subprojects
+LabelsForSubprojects: @CTEST_LABELS_FOR_SUBPROJECTS@
+
+# Submission information
+IsCDash: @CTEST_DROP_SITE_CDASH@
+CDashVersion: @CTEST_CDASH_VERSION@
+QueryCDashVersion: @CTEST_CDASH_QUERY_VERSION@
+DropSite: @DROP_SITE@
+DropLocation: @DROP_LOCATION@
+DropSiteUser: @DROP_SITE_USER@
+DropSitePassword: @DROP_SITE_PASSWORD@
+DropSiteMode: @DROP_SITE_MODE@
+DropMethod: @DROP_METHOD@
+TriggerSite: @TRIGGER_SITE@
+ScpCommand: @SCPCOMMAND@
+
+# Dashboard start time
+NightlyStartTime: @NIGHTLY_START_TIME@
+
+# Commands for the build/test/submit cycle
+ConfigureCommand: "@CMAKE_COMMAND@" "@PROJECT_SOURCE_DIR@"
+MakeCommand: @MAKECOMMAND@
+DefaultCTestConfigurationType: @DEFAULT_CTEST_CONFIGURATION_TYPE@
+
+# version control
+UpdateVersionOnly: @CTEST_UPDATE_VERSION_ONLY@
+
+# CVS options
+# Default is "-d -P -A"
+CVSCommand: @CVSCOMMAND@
+CVSUpdateOptions: @CVS_UPDATE_OPTIONS@
+
+# Subversion options
+SVNCommand: @SVNCOMMAND@
+SVNOptions: @CTEST_SVN_OPTIONS@
+SVNUpdateOptions: @SVN_UPDATE_OPTIONS@
+
+# Git options
+GITCommand: @GITCOMMAND@
+GITInitSubmodules: @CTEST_GIT_INIT_SUBMODULES@
+GITUpdateOptions: @GIT_UPDATE_OPTIONS@
+GITUpdateCustom: @CTEST_GIT_UPDATE_CUSTOM@
+
+# Perforce options
+P4Command: @P4COMMAND@
+P4Client: @CTEST_P4_CLIENT@
+P4Options: @CTEST_P4_OPTIONS@
+P4UpdateOptions: @CTEST_P4_UPDATE_OPTIONS@
+P4UpdateCustom: @CTEST_P4_UPDATE_CUSTOM@
+
+# Generic update command
+UpdateCommand: @UPDATE_COMMAND@
+UpdateOptions: @UPDATE_OPTIONS@
+UpdateType: @UPDATE_TYPE@
+
+# Compiler info
+Compiler: @CMAKE_CXX_COMPILER@
+CompilerVersion: @CMAKE_CXX_COMPILER_VERSION@
+
+# Dynamic analysis (MemCheck)
+PurifyCommand: @PURIFYCOMMAND@
+ValgrindCommand: @VALGRIND_COMMAND@
+ValgrindCommandOptions: @VALGRIND_COMMAND_OPTIONS@
+MemoryCheckType: @MEMORYCHECK_TYPE@
+MemoryCheckSanitizerOptions: @MEMORYCHECK_SANITIZER_OPTIONS@
+MemoryCheckCommand: @MEMORYCHECK_COMMAND@
+MemoryCheckCommandOptions: @MEMORYCHECK_COMMAND_OPTIONS@
+MemoryCheckSuppressionFile: @MEMORYCHECK_SUPPRESSIONS_FILE@
+
+# Coverage
+CoverageCommand: @COVERAGE_COMMAND@
+CoverageExtraFlags: @COVERAGE_EXTRA_FLAGS@
+
+# Cluster commands
+SlurmBatchCommand: @SLURM_SBATCH_COMMAND@
+SlurmRunCommand: @SLURM_SRUN_COMMAND@
+
+# Testing options
+# TimeOut is the amount of time in seconds to wait for processes
+# to complete during testing.  After TimeOut seconds, the
+# process will be summarily terminated.
+# Currently set to 25 minutes
+TimeOut: @DART_TESTING_TIMEOUT@
+
+# During parallel testing CTest will not start a new test if doing
+# so would cause the system load to exceed this value.
+TestLoad: @CTEST_TEST_LOAD@
+
+UseLaunchers: @CTEST_USE_LAUNCHERS@
+CurlOptions: @CTEST_CURL_OPTIONS@
+# warning, if you add new options here that have to do with submit,
+# you have to update cmCTestSubmitCommand.cxx
+
+# For CTest submissions that timeout, these options
+# specify behavior for retrying the submission
+CTestSubmitRetryDelay: @CTEST_SUBMIT_RETRY_DELAY@
+CTestSubmitRetryCount: @CTEST_SUBMIT_RETRY_COUNT@
diff --git a/share/cmake-3.10/Modules/DeployQt4.cmake b/share/cmake-3.10/Modules/DeployQt4.cmake
new file mode 100644
index 0000000..8ada451
--- /dev/null
+++ b/share/cmake-3.10/Modules/DeployQt4.cmake
@@ -0,0 +1,380 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# DeployQt4
+# ---------
+#
+# Functions to help assemble a standalone Qt4 executable.
+#
+# A collection of CMake utility functions useful for deploying Qt4
+# executables.
+#
+# The following functions are provided by this module:
+#
+# ::
+#
+#    write_qt4_conf
+#    resolve_qt4_paths
+#    fixup_qt4_executable
+#    install_qt4_plugin_path
+#    install_qt4_plugin
+#    install_qt4_executable
+#
+# Requires CMake 2.6 or greater because it uses function and
+# PARENT_SCOPE.  Also depends on BundleUtilities.cmake.
+#
+# ::
+#
+#   WRITE_QT4_CONF(<qt_conf_dir> <qt_conf_contents>)
+#
+# Writes a qt.conf file with the <qt_conf_contents> into <qt_conf_dir>.
+#
+# ::
+#
+#   RESOLVE_QT4_PATHS(<paths_var> [<executable_path>])
+#
+# Loop through <paths_var> list and if any don't exist resolve them
+# relative to the <executable_path> (if supplied) or the
+# CMAKE_INSTALL_PREFIX.
+#
+# ::
+#
+#   FIXUP_QT4_EXECUTABLE(<executable>
+#     [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf>])
+#
+# Copies Qt plugins, writes a Qt configuration file (if needed) and
+# fixes up a Qt4 executable using BundleUtilities so it is standalone
+# and can be drag-and-drop copied to another machine as long as all of
+# the system libraries are compatible.
+#
+# <executable> should point to the executable to be fixed-up.
+#
+# <qtplugins> should contain a list of the names or paths of any Qt
+# plugins to be installed.
+#
+# <libs> will be passed to BundleUtilities and should be a list of any
+# already installed plugins, libraries or executables to also be
+# fixed-up.
+#
+# <dirs> will be passed to BundleUtilities and should contain and
+# directories to be searched to find library dependencies.
+#
+# <plugins_dir> allows an custom plugins directory to be used.
+#
+# <request_qt_conf> will force a qt.conf file to be written even if not
+# needed.
+#
+# ::
+#
+#   INSTALL_QT4_PLUGIN_PATH(plugin executable copy installed_plugin_path_var
+#                           <plugins_dir> <component> <configurations>)
+#
+# Install (or copy) a resolved <plugin> to the default plugins directory
+# (or <plugins_dir>) relative to <executable> and store the result in
+# <installed_plugin_path_var>.
+#
+# If <copy> is set to TRUE then the plugins will be copied rather than
+# installed.  This is to allow this module to be used at CMake time
+# rather than install time.
+#
+# If <component> is set then anything installed will use this COMPONENT.
+#
+# ::
+#
+#   INSTALL_QT4_PLUGIN(plugin executable copy installed_plugin_path_var
+#                      <plugins_dir> <component>)
+#
+# Install (or copy) an unresolved <plugin> to the default plugins
+# directory (or <plugins_dir>) relative to <executable> and store the
+# result in <installed_plugin_path_var>.  See documentation of
+# INSTALL_QT4_PLUGIN_PATH.
+#
+# ::
+#
+#   INSTALL_QT4_EXECUTABLE(<executable>
+#     [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf> <component>])
+#
+# Installs Qt plugins, writes a Qt configuration file (if needed) and
+# fixes up a Qt4 executable using BundleUtilities so it is standalone
+# and can be drag-and-drop copied to another machine as long as all of
+# the system libraries are compatible.  The executable will be fixed-up
+# at install time.  <component> is the COMPONENT used for bundle fixup
+# and plugin installation.  See documentation of FIXUP_QT4_BUNDLE.
+
+# The functions defined in this file depend on the fixup_bundle function
+# (and others) found in BundleUtilities.cmake
+
+include("${CMAKE_CURRENT_LIST_DIR}/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)
+        set(qt_conf_path "${qt_conf_dir}/qt.conf")
+        message(STATUS "Writing ${qt_conf_path}")
+        file(WRITE "${qt_conf_path}" "${qt_conf_contents}")
+endfunction()
+
+function(resolve_qt4_paths paths_var)
+        unset(executable_path)
+        if(ARGC GREATER 1)
+                set(executable_path ${ARGV1})
+        endif()
+
+        set(paths_resolved)
+        foreach(path ${${paths_var}})
+                if(EXISTS "${path}")
+                        list(APPEND paths_resolved "${path}")
+                else()
+                        if(${executable_path})
+                                list(APPEND paths_resolved "${executable_path}/${path}")
+                        else()
+                                list(APPEND paths_resolved "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${path}")
+                        endif()
+                endif()
+        endforeach()
+        set(${paths_var} ${paths_resolved} PARENT_SCOPE)
+endfunction()
+
+function(fixup_qt4_executable executable)
+        unset(qtplugins)
+        if(ARGC GREATER 1)
+                set(qtplugins ${ARGV1})
+        endif()
+        unset(libs)
+        if(ARGC GREATER 2)
+                set(libs ${ARGV2})
+        endif()
+        unset(dirs)
+        if(ARGC GREATER 3)
+                set(dirs ${ARGV3})
+        endif()
+        unset(plugins_dir)
+        if(ARGC GREATER 4)
+                set(plugins_dir ${ARGV4})
+        endif()
+        unset(request_qt_conf)
+        if(ARGC GREATER 5)
+                set(request_qt_conf ${ARGV5})
+        endif()
+
+        message(STATUS "fixup_qt4_executable")
+        message(STATUS "  executable='${executable}'")
+        message(STATUS "  qtplugins='${qtplugins}'")
+        message(STATUS "  libs='${libs}'")
+        message(STATUS "  dirs='${dirs}'")
+        message(STATUS "  plugins_dir='${plugins_dir}'")
+        message(STATUS "  request_qt_conf='${request_qt_conf}'")
+
+        if(QT_LIBRARY_DIR)
+                list(APPEND dirs "${QT_LIBRARY_DIR}")
+        endif()
+        if(QT_BINARY_DIR)
+                list(APPEND dirs "${QT_BINARY_DIR}")
+        endif()
+
+        if(APPLE)
+                set(qt_conf_dir "${executable}/Contents/Resources")
+                set(executable_path "${executable}")
+                set(write_qt_conf TRUE)
+                if(NOT DEFINED plugins_dir)
+                        set(plugins_dir "${DeployQt4_apple_plugins_dir}")
+                endif()
+        else()
+                get_filename_component(executable_path "${executable}" PATH)
+                if(NOT executable_path)
+                        set(executable_path ".")
+                endif()
+                set(qt_conf_dir "${executable_path}")
+                set(write_qt_conf ${request_qt_conf})
+        endif()
+
+        foreach(plugin ${qtplugins})
+                set(installed_plugin_path "")
+                install_qt4_plugin("${plugin}" "${executable}" 1 installed_plugin_path)
+                list(APPEND libs ${installed_plugin_path})
+        endforeach()
+
+        foreach(lib ${libs})
+                if(NOT EXISTS "${lib}")
+                        message(FATAL_ERROR "Library does not exist: ${lib}")
+                endif()
+        endforeach()
+
+        resolve_qt4_paths(libs "${executable_path}")
+
+        if(write_qt_conf)
+                set(qt_conf_contents "[Paths]\nPlugins = ${plugins_dir}")
+                write_qt4_conf("${qt_conf_dir}" "${qt_conf_contents}")
+        endif()
+
+        fixup_bundle("${executable}" "${libs}" "${dirs}")
+endfunction()
+
+function(install_qt4_plugin_path plugin executable copy installed_plugin_path_var)
+        unset(plugins_dir)
+        if(ARGC GREATER 4)
+                set(plugins_dir ${ARGV4})
+        endif()
+        unset(component)
+        if(ARGC GREATER 5)
+                set(component ${ARGV5})
+        endif()
+        unset(configurations)
+        if(ARGC GREATER 6)
+                set(configurations ${ARGV6})
+        endif()
+
+        if(EXISTS "${plugin}")
+                if(APPLE)
+                        if(NOT plugins_dir)
+                                set(plugins_dir "${DeployQt4_apple_plugins_dir}")
+                        endif()
+                        set(plugins_path "${executable}/Contents/${plugins_dir}")
+                else()
+                        get_filename_component(plugins_path "${executable}" PATH)
+                        if(NOT plugins_path)
+                                set(plugins_path ".")
+                        endif()
+                        if(plugins_dir)
+                                string(APPEND plugins_path "/${plugins_dir}")
+                        endif()
+                endif()
+
+                set(plugin_group "")
+
+                get_filename_component(plugin_path "${plugin}" PATH)
+                get_filename_component(plugin_parent_path "${plugin_path}" PATH)
+                get_filename_component(plugin_parent_dir_name "${plugin_parent_path}" NAME)
+                get_filename_component(plugin_name "${plugin}" NAME)
+                string(TOLOWER "${plugin_parent_dir_name}" plugin_parent_dir_name)
+
+                if("${plugin_parent_dir_name}" STREQUAL "plugins")
+                        get_filename_component(plugin_group "${plugin_path}" NAME)
+                        set(${plugin_group_var} "${plugin_group}")
+                endif()
+                string(APPEND plugins_path "/${plugin_group}")
+
+                if(${copy})
+                        file(MAKE_DIRECTORY "${plugins_path}")
+                        file(COPY "${plugin}" DESTINATION "${plugins_path}")
+                else()
+                        if(configurations AND (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE))
+                                set(configurations CONFIGURATIONS ${configurations})
+                        else()
+                                unset(configurations)
+                        endif()
+                        install(FILES "${plugin}" DESTINATION "${plugins_path}" ${configurations} ${component})
+                endif()
+                set(${installed_plugin_path_var} "${plugins_path}/${plugin_name}" PARENT_SCOPE)
+        endif()
+endfunction()
+
+function(install_qt4_plugin plugin executable copy installed_plugin_path_var)
+        unset(plugins_dir)
+        if(ARGC GREATER 4)
+                set(plugins_dir ${ARGV4})
+        endif()
+        unset(component)
+        if(ARGC GREATER 5)
+                set(component ${ARGV5})
+        endif()
+
+        if(EXISTS "${plugin}")
+                install_qt4_plugin_path("${plugin}" "${executable}" "${copy}" "${installed_plugin_path_var}" "${plugins_dir}" "${component}")
+        else()
+                string(TOUPPER "QT_${plugin}_PLUGIN" plugin_var)
+                set(plugin_release_var "${plugin_var}_RELEASE")
+                set(plugin_debug_var "${plugin_var}_DEBUG")
+                set(plugin_release "${${plugin_release_var}}")
+                set(plugin_debug "${${plugin_debug_var}}")
+                if(DEFINED "${plugin_release_var}" AND DEFINED "${plugin_debug_var}" AND NOT EXISTS "${plugin_release}" AND NOT EXISTS "${plugin_debug}")
+                        message(WARNING "Qt plugin \"${plugin}\" not recognized or found.")
+                endif()
+                if(NOT EXISTS "${${plugin_debug_var}}")
+                        set(plugin_debug "${plugin_release}")
+                endif()
+
+                if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+                        install_qt4_plugin_path("${plugin_release}" "${executable}" "${copy}" "${installed_plugin_path_var}_release" "${plugins_dir}" "${component}" "Release|RelWithDebInfo|MinSizeRel")
+                        install_qt4_plugin_path("${plugin_debug}" "${executable}" "${copy}" "${installed_plugin_path_var}_debug" "${plugins_dir}" "${component}" "Debug")
+
+                        if(CMAKE_BUILD_TYPE MATCHES "^Debug$")
+                                set(${installed_plugin_path_var} ${${installed_plugin_path_var}_debug})
+                        else()
+                                set(${installed_plugin_path_var} ${${installed_plugin_path_var}_release})
+                        endif()
+                else()
+                        install_qt4_plugin_path("${plugin_release}" "${executable}" "${copy}" "${installed_plugin_path_var}" "${plugins_dir}" "${component}")
+                endif()
+        endif()
+        set(${installed_plugin_path_var} ${${installed_plugin_path_var}} PARENT_SCOPE)
+endfunction()
+
+function(install_qt4_executable executable)
+        unset(qtplugins)
+        if(ARGC GREATER 1)
+                set(qtplugins ${ARGV1})
+        endif()
+        unset(libs)
+        if(ARGC GREATER 2)
+                set(libs ${ARGV2})
+        endif()
+        unset(dirs)
+        if(ARGC GREATER 3)
+                set(dirs ${ARGV3})
+        endif()
+        unset(plugins_dir)
+        if(ARGC GREATER 4)
+                set(plugins_dir ${ARGV4})
+        endif()
+        unset(request_qt_conf)
+        if(ARGC GREATER 5)
+                set(request_qt_conf ${ARGV5})
+        endif()
+        unset(component)
+        if(ARGC GREATER 6)
+                set(component ${ARGV6})
+        endif()
+
+        if(QT_LIBRARY_DIR)
+                list(APPEND dirs "${QT_LIBRARY_DIR}")
+        endif()
+        if(QT_BINARY_DIR)
+                list(APPEND dirs "${QT_BINARY_DIR}")
+        endif()
+        if(component)
+                set(component COMPONENT ${component})
+        else()
+                unset(component)
+        endif()
+
+        get_filename_component(executable_absolute "${executable}" ABSOLUTE)
+        if(EXISTS "${QT_QTCORE_LIBRARY_RELEASE}")
+            gp_file_type("${executable_absolute}" "${QT_QTCORE_LIBRARY_RELEASE}" qtcore_type)
+        elseif(EXISTS "${QT_QTCORE_LIBRARY_DEBUG}")
+            gp_file_type("${executable_absolute}" "${QT_QTCORE_LIBRARY_DEBUG}" qtcore_type)
+        endif()
+        if(qtcore_type STREQUAL "system")
+                set(qt_plugins_dir "")
+        endif()
+
+        if(QT_IS_STATIC)
+                message(WARNING "Qt built statically: not installing plugins.")
+        else()
+                foreach(plugin ${qtplugins})
+                        set(installed_plugin_paths "")
+                        install_qt4_plugin("${plugin}" "${executable}" 0 installed_plugin_paths "${plugins_dir}" "${component}")
+                        list(APPEND libs ${installed_plugin_paths})
+                endforeach()
+        endif()
+
+        resolve_qt4_paths(libs "")
+
+        install(CODE
+  "include(\"${DeployQt4_cmake_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}
+        )
+endfunction()
diff --git a/share/cmake-3.10/Modules/Documentation.cmake b/share/cmake-3.10/Modules/Documentation.cmake
new file mode 100644
index 0000000..fc398e6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Documentation.cmake
@@ -0,0 +1,47 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Documentation
+# -------------
+#
+# DocumentationVTK.cmake
+#
+# This file provides support for the VTK documentation framework.  It
+# relies on several tools (Doxygen, Perl, etc).
+
+#
+# Build the documentation ?
+#
+option(BUILD_DOCUMENTATION "Build the documentation (Doxygen)." OFF)
+mark_as_advanced(BUILD_DOCUMENTATION)
+
+if (BUILD_DOCUMENTATION)
+
+  #
+  # Check for the tools
+  #
+  find_package(UnixCommands)
+  find_package(Doxygen)
+  find_package(Gnuplot)
+  find_package(HTMLHelp)
+  find_package(Perl)
+  find_package(Wget)
+
+  option(DOCUMENTATION_HTML_HELP
+    "Build the HTML Help file (CHM)." OFF)
+
+  option(DOCUMENTATION_HTML_TARZ
+    "Build a compressed tar archive of the HTML doc." OFF)
+
+  mark_as_advanced(
+    DOCUMENTATION_HTML_HELP
+    DOCUMENTATION_HTML_TARZ
+    )
+
+  #
+  # The documentation process is controled by a batch file.
+  # We will probably need bash to create the custom target
+  #
+
+endif ()
diff --git a/share/cmake-3.6/Modules/DummyCXXFile.cxx b/share/cmake-3.10/Modules/DummyCXXFile.cxx
similarity index 100%
rename from share/cmake-3.6/Modules/DummyCXXFile.cxx
rename to share/cmake-3.10/Modules/DummyCXXFile.cxx
diff --git a/share/cmake-3.10/Modules/ExternalData.cmake b/share/cmake-3.10/Modules/ExternalData.cmake
new file mode 100644
index 0000000..7331fb2
--- /dev/null
+++ b/share/cmake-3.10/Modules/ExternalData.cmake
@@ -0,0 +1,1152 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+ExternalData
+------------
+
+.. only:: html
+
+   .. contents::
+
+Manage data files stored outside source tree
+
+Introduction
+^^^^^^^^^^^^
+
+Use this module to unambiguously reference data files stored outside
+the source tree and fetch them at build time from arbitrary local and
+remote content-addressed locations.  Functions provided by this module
+recognize arguments with the syntax ``DATA{<name>}`` as references to
+external data, replace them with full paths to local copies of those
+data, and create build rules to fetch and update the local copies.
+
+For example:
+
+.. code-block:: cmake
+
+ include(ExternalData)
+ set(ExternalData_URL_TEMPLATES "file:///local/%(algo)/%(hash)"
+                                "file:////host/share/%(algo)/%(hash)"
+                                "http://data.org/%(algo)/%(hash)")
+ ExternalData_Add_Test(MyData
+   NAME MyTest
+   COMMAND MyExe DATA{MyInput.png}
+   )
+ ExternalData_Add_Target(MyData)
+
+When test ``MyTest`` runs the ``DATA{MyInput.png}`` argument will be
+replaced by the full path to a real instance of the data file
+``MyInput.png`` on disk.  If the source tree contains a content link
+such as ``MyInput.png.md5`` then the ``MyData`` target creates a real
+``MyInput.png`` in the build tree.
+
+Module Functions
+^^^^^^^^^^^^^^^^
+
+.. command:: ExternalData_Expand_Arguments
+
+  The ``ExternalData_Expand_Arguments`` function evaluates ``DATA{}``
+  references in its arguments and constructs a new list of arguments::
+
+    ExternalData_Expand_Arguments(
+      <target>   # Name of data management target
+      <outVar>   # Output variable
+      [args...]  # Input arguments, DATA{} allowed
+      )
+
+  It replaces each ``DATA{}`` reference in an argument with the full path of
+  a real data file on disk that will exist after the ``<target>`` builds.
+
+.. command:: ExternalData_Add_Test
+
+  The ``ExternalData_Add_Test`` function wraps around the CMake
+  :command:`add_test` command but supports ``DATA{}`` references in
+  its arguments::
+
+    ExternalData_Add_Test(
+      <target>   # Name of data management target
+      ...        # Arguments of add_test(), DATA{} allowed
+      )
+
+  It passes its arguments through ``ExternalData_Expand_Arguments`` and then
+  invokes the :command:`add_test` command using the results.
+
+.. command:: ExternalData_Add_Target
+
+  The ``ExternalData_Add_Target`` function creates a custom target to
+  manage local instances of data files stored externally::
+
+    ExternalData_Add_Target(
+      <target>   # Name of data management target
+      )
+
+  It creates custom commands in the target as necessary to make data
+  files available for each ``DATA{}`` reference previously evaluated by
+  other functions provided by this module.
+  Data files may be fetched from one of the URL templates specified in
+  the ``ExternalData_URL_TEMPLATES`` variable, or may be found locally
+  in one of the paths specified in the ``ExternalData_OBJECT_STORES``
+  variable.
+
+  Typically only one target is needed to manage all external data within
+  a project.  Call this function once at the end of configuration after
+  all data references have been processed.
+
+Module Variables
+^^^^^^^^^^^^^^^^
+
+The following variables configure behavior.  They should be set before
+calling any of the functions provided by this module.
+
+.. variable:: ExternalData_BINARY_ROOT
+
+  The ``ExternalData_BINARY_ROOT`` variable may be set to the directory to
+  hold the real data files named by expanded ``DATA{}`` references.  The
+  default is ``CMAKE_BINARY_DIR``.  The directory layout will mirror that of
+  content links under ``ExternalData_SOURCE_ROOT``.
+
+.. variable:: ExternalData_CUSTOM_SCRIPT_<key>
+
+  Specify a full path to a ``.cmake`` custom fetch script identified by
+  ``<key>`` in entries of the ``ExternalData_URL_TEMPLATES`` list.
+  See `Custom Fetch Scripts`_.
+
+.. variable:: ExternalData_LINK_CONTENT
+
+  The ``ExternalData_LINK_CONTENT`` variable may be set to the name of a
+  supported hash algorithm to enable automatic conversion of real data
+  files referenced by the ``DATA{}`` syntax into content links.  For each
+  such ``<file>`` a content link named ``<file><ext>`` is created.  The
+  original file is renamed to the form ``.ExternalData_<algo>_<hash>`` to
+  stage it for future transmission to one of the locations in the list
+  of URL templates (by means outside the scope of this module).  The
+  data fetch rule created for the content link will use the staged
+  object if it cannot be found using any URL template.
+
+.. variable:: ExternalData_NO_SYMLINKS
+
+  The real data files named by expanded ``DATA{}`` references may be made
+  available under ``ExternalData_BINARY_ROOT`` using symbolic links on
+  some platforms.  The ``ExternalData_NO_SYMLINKS`` variable may be set
+  to disable use of symbolic links and enable use of copies instead.
+
+.. variable:: ExternalData_OBJECT_STORES
+
+  The ``ExternalData_OBJECT_STORES`` variable may be set to a list of local
+  directories that store objects using the layout ``<dir>/%(algo)/%(hash)``.
+  These directories will be searched first for a needed object.  If the
+  object is not available in any store then it will be fetched remotely
+  using the URL templates and added to the first local store listed.  If
+  no stores are specified the default is a location inside the build
+  tree.
+
+.. variable:: ExternalData_SERIES_PARSE
+              ExternalData_SERIES_PARSE_PREFIX
+              ExternalData_SERIES_PARSE_NUMBER
+              ExternalData_SERIES_PARSE_SUFFIX
+              ExternalData_SERIES_MATCH
+
+  See `Referencing File Series`_.
+
+.. variable:: ExternalData_SOURCE_ROOT
+
+  The ``ExternalData_SOURCE_ROOT`` variable may be set to the highest source
+  directory containing any path named by a ``DATA{}`` reference.  The
+  default is ``CMAKE_SOURCE_DIR``.  ``ExternalData_SOURCE_ROOT`` and
+  ``CMAKE_SOURCE_DIR`` must refer to directories within a single source
+  distribution (e.g.  they come together in one tarball).
+
+.. variable:: ExternalData_TIMEOUT_ABSOLUTE
+
+  The ``ExternalData_TIMEOUT_ABSOLUTE`` variable sets the download
+  absolute timeout, in seconds, with a default of ``300`` seconds.
+  Set to ``0`` to disable enforcement.
+
+.. variable:: ExternalData_TIMEOUT_INACTIVITY
+
+  The ``ExternalData_TIMEOUT_INACTIVITY`` variable sets the download
+  inactivity timeout, in seconds, with a default of ``60`` seconds.
+  Set to ``0`` to disable enforcement.
+
+.. variable:: ExternalData_URL_ALGO_<algo>_<key>
+
+  Specify a custom URL component to be substituted for URL template
+  placeholders of the form ``%(algo:<key>)``, where ``<key>`` is a
+  valid C identifier, when fetching an object referenced via hash
+  algorithm ``<algo>``.  If not defined, the default URL component
+  is just ``<algo>`` for any ``<key>``.
+
+.. variable:: ExternalData_URL_TEMPLATES
+
+  The ``ExternalData_URL_TEMPLATES`` may be set to provide a list of
+  of URL templates using the placeholders ``%(algo)`` and ``%(hash)``
+  in each template.  Data fetch rules try each URL template in order
+  by substituting the hash algorithm name for ``%(algo)`` and the hash
+  value for ``%(hash)``.  Alternatively one may use ``%(algo:<key>)``
+  with ``ExternalData_URL_ALGO_<algo>_<key>`` variables to gain more
+  flexibility in remote URLs.
+
+Referencing Files
+^^^^^^^^^^^^^^^^^
+
+Referencing Single Files
+""""""""""""""""""""""""
+
+The ``DATA{}`` syntax is literal and the ``<name>`` is a full or relative path
+within the source tree.  The source tree must contain either a real
+data file at ``<name>`` or a "content link" at ``<name><ext>`` containing a
+hash of the real file using a hash algorithm corresponding to ``<ext>``.
+For example, the argument ``DATA{img.png}`` may be satisfied by either a
+real ``img.png`` file in the current source directory or a ``img.png.md5``
+file containing its MD5 sum.
+
+Multiple content links of the same name with different hash algorithms
+are supported (e.g. ``img.png.sha256`` and ``img.png.sha1``) so long as
+they all correspond to the same real file.  This allows objects to be
+fetched from sources indexed by different hash algorithms.
+
+Referencing File Series
+"""""""""""""""""""""""
+
+The ``DATA{}`` syntax can be told to fetch a file series using the form
+``DATA{<name>,:}``, where the ``:`` is literal.  If the source tree
+contains a group of files or content links named like a series then a
+reference to one member adds rules to fetch all of them.  Although all
+members of a series are fetched, only the file originally named by the
+``DATA{}`` argument is substituted for it.  The default configuration
+recognizes file series names ending with ``#.ext``, ``_#.ext``, ``.#.ext``,
+or ``-#.ext`` where ``#`` is a sequence of decimal digits and ``.ext`` is
+any single extension.  Configure it with a regex that parses ``<number>``
+and ``<suffix>`` parts from the end of ``<name>``::
+
+ ExternalData_SERIES_PARSE = regex of the form (<number>)(<suffix>)$
+
+For more complicated cases set::
+
+ ExternalData_SERIES_PARSE = regex with at least two () groups
+ ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any
+ ExternalData_SERIES_PARSE_NUMBER = <number> regex group number
+ ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number
+
+Configure series number matching with a regex that matches the
+``<number>`` part of series members named ``<prefix><number><suffix>``::
+
+ ExternalData_SERIES_MATCH = regex matching <number> in all series members
+
+Note that the ``<suffix>`` of a series does not include a hash-algorithm
+extension.
+
+Referencing Associated Files
+""""""""""""""""""""""""""""
+
+The ``DATA{}`` syntax can alternatively match files associated with the
+named file and contained in the same directory.  Associated files may
+be specified by options using the syntax
+``DATA{<name>,<opt1>,<opt2>,...}``.  Each option may specify one file by
+name or specify a regular expression to match file names using the
+syntax ``REGEX:<regex>``.  For example, the arguments::
+
+ DATA{MyData/MyInput.mhd,MyInput.img}                   # File pair
+ DATA{MyData/MyFrames00.png,REGEX:MyFrames[0-9]+\\.png} # Series
+
+will pass ``MyInput.mha`` and ``MyFrames00.png`` on the command line but
+ensure that the associated files are present next to them.
+
+Referencing Directories
+"""""""""""""""""""""""
+
+The ``DATA{}`` syntax may reference a directory using a trailing slash and
+a list of associated files.  The form ``DATA{<name>/,<opt1>,<opt2>,...}``
+adds rules to fetch any files in the directory that match one of the
+associated file options.  For example, the argument
+``DATA{MyDataDir/,REGEX:.*}`` will pass the full path to a ``MyDataDir``
+directory on the command line and ensure that the directory contains
+files corresponding to every file or content link in the ``MyDataDir``
+source directory.  In order to match associated files in subdirectories,
+specify a ``RECURSE:`` option, e.g. ``DATA{MyDataDir/,RECURSE:,REGEX:.*}``.
+
+Hash Algorithms
+^^^^^^^^^^^^^^^
+
+The following hash algorithms are supported::
+
+ %(algo)     <ext>     Description
+ -------     -----     -----------
+ MD5         .md5      Message-Digest Algorithm 5, RFC 1321
+ SHA1        .sha1     US Secure Hash Algorithm 1, RFC 3174
+ SHA224      .sha224   US Secure Hash Algorithms, RFC 4634
+ SHA256      .sha256   US Secure Hash Algorithms, RFC 4634
+ SHA384      .sha384   US Secure Hash Algorithms, RFC 4634
+ SHA512      .sha512   US Secure Hash Algorithms, RFC 4634
+ SHA3_224    .sha3-224 Keccak SHA-3
+ SHA3_256    .sha3-256 Keccak SHA-3
+ SHA3_384    .sha3-384 Keccak SHA-3
+ SHA3_512    .sha3-512 Keccak SHA-3
+
+Note that the hashes are used only for unique data identification and
+download verification.
+
+.. _`ExternalData Custom Fetch Scripts`:
+
+Custom Fetch Scripts
+^^^^^^^^^^^^^^^^^^^^
+
+When a data file must be fetched from one of the URL templates
+specified in the ``ExternalData_URL_TEMPLATES`` variable, it is
+normally downloaded using the :command:`file(DOWNLOAD)` command.
+One may specify usage of a custom fetch script by using a URL
+template of the form ``ExternalDataCustomScript://<key>/<loc>``.
+The ``<key>`` must be a C identifier, and the ``<loc>`` must
+contain the ``%(algo)`` and ``%(hash)`` placeholders.
+A variable corresponding to the key, ``ExternalData_CUSTOM_SCRIPT_<key>``,
+must be set to the full path to a ``.cmake`` script file.  The script
+will be included to perform the actual fetch, and provided with
+the following variables:
+
+.. variable:: ExternalData_CUSTOM_LOCATION
+
+  When a custom fetch script is loaded, this variable is set to the
+  location part of the URL, which will contain the substituted hash
+  algorithm name and content hash value.
+
+.. variable:: ExternalData_CUSTOM_FILE
+
+  When a custom fetch script is loaded, this variable is set to the
+  full path to a file in which the script must store the fetched
+  content.  The name of the file is unspecified and should not be
+  interpreted in any way.
+
+The custom fetch script is expected to store fetched content in the
+file or set a variable:
+
+.. variable:: ExternalData_CUSTOM_ERROR
+
+  When a custom fetch script fails to fetch the requested content,
+  it must set this variable to a short one-line message describing
+  the reason for failure.
+
+#]=======================================================================]
+
+function(ExternalData_add_test target)
+  # Expand all arguments as a single string to preserve escaped semicolons.
+  ExternalData_expand_arguments("${target}" testArgs "${ARGN}")
+  add_test(${testArgs})
+endfunction()
+
+function(ExternalData_add_target target)
+  if(NOT ExternalData_URL_TEMPLATES AND NOT ExternalData_OBJECT_STORES)
+    message(FATAL_ERROR
+      "Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set!")
+  endif()
+  if(NOT ExternalData_OBJECT_STORES)
+    set(ExternalData_OBJECT_STORES ${CMAKE_BINARY_DIR}/ExternalData/Objects)
+  endif()
+  set(_ExternalData_CONFIG_CODE "")
+
+  # Store custom script configuration.
+  foreach(url_template IN LISTS ExternalData_URL_TEMPLATES)
+    if("${url_template}" MATCHES "^ExternalDataCustomScript://([^/]*)/(.*)$")
+      set(key "${CMAKE_MATCH_1}")
+      if(key MATCHES "^[A-Za-z_][A-Za-z0-9_]*$")
+        if(ExternalData_CUSTOM_SCRIPT_${key})
+          if(IS_ABSOLUTE "${ExternalData_CUSTOM_SCRIPT_${key}}")
+            string(CONCAT _ExternalData_CONFIG_CODE "${_ExternalData_CONFIG_CODE}\n"
+              "set(ExternalData_CUSTOM_SCRIPT_${key} \"${ExternalData_CUSTOM_SCRIPT_${key}}\")")
+          else()
+            message(FATAL_ERROR
+              "No ExternalData_CUSTOM_SCRIPT_${key} is not set to a full path:\n"
+              " ${ExternalData_CUSTOM_SCRIPT_${key}}")
+          endif()
+        else()
+          message(FATAL_ERROR
+            "No ExternalData_CUSTOM_SCRIPT_${key} is set for URL template:\n"
+            " ${url_template}")
+        endif()
+      else()
+        message(FATAL_ERROR
+          "Bad ExternalDataCustomScript key '${key}' in URL template:\n"
+          " ${url_template}\n"
+          "The key must be a valid C identifier.")
+      endif()
+    endif()
+
+    # Store custom algorithm name to URL component maps.
+    if("${url_template}" MATCHES "%\\(algo:([^)]*)\\)")
+      set(key "${CMAKE_MATCH_1}")
+      if(key MATCHES "^[A-Za-z_][A-Za-z0-9_]*$")
+        string(REPLACE "|" ";" _algos "${_ExternalData_REGEX_ALGO}")
+        foreach(algo ${_algos})
+          if(DEFINED ExternalData_URL_ALGO_${algo}_${key})
+            string(CONCAT _ExternalData_CONFIG_CODE "${_ExternalData_CONFIG_CODE}\n"
+              "set(ExternalData_URL_ALGO_${algo}_${key} \"${ExternalData_URL_ALGO_${algo}_${key}}\")")
+          endif()
+        endforeach()
+      else()
+        message(FATAL_ERROR
+          "Bad %(algo:${key}) in URL template:\n"
+          " ${url_template}\n"
+          "The transform name must be a valid C identifier.")
+      endif()
+    endif()
+  endforeach()
+
+  # Store configuration for use by build-time script.
+  set(config ${CMAKE_CURRENT_BINARY_DIR}/${target}_config.cmake)
+  configure_file(${_ExternalData_SELF_DIR}/ExternalData_config.cmake.in ${config} @ONLY)
+
+  set(files "")
+
+  # Set a "_ExternalData_FILE_${file}" variable for each output file to avoid
+  # duplicate entries within this target.  Set a directory property of the same
+  # name to avoid repeating custom commands with the same output in this directory.
+  # Repeating custom commands with the same output across directories or across
+  # targets in the same directory may be a race, but this is likely okay because
+  # we use atomic replacement of output files.
+  #
+  # Use local data first to prefer real files over content links.
+
+  # Custom commands to copy or link local data.
+  get_property(data_local GLOBAL PROPERTY _ExternalData_${target}_LOCAL)
+  foreach(entry IN LISTS data_local)
+    string(REPLACE "|" ";" tuple "${entry}")
+    list(GET tuple 0 file)
+    list(GET tuple 1 name)
+    if(NOT DEFINED "_ExternalData_FILE_${file}")
+      set("_ExternalData_FILE_${file}" 1)
+      get_property(added DIRECTORY PROPERTY "_ExternalData_FILE_${file}")
+      if(NOT added)
+        set_property(DIRECTORY PROPERTY "_ExternalData_FILE_${file}" 1)
+        add_custom_command(
+          COMMENT "Generating ${file}"
+          OUTPUT "${file}"
+          COMMAND ${CMAKE_COMMAND} -Drelative_top=${CMAKE_BINARY_DIR}
+                                   -Dfile=${file} -Dname=${name}
+                                   -DExternalData_ACTION=local
+                                   -DExternalData_CONFIG=${config}
+                                   -P ${_ExternalData_SELF}
+          MAIN_DEPENDENCY "${name}"
+          )
+      endif()
+      list(APPEND files "${file}")
+    endif()
+  endforeach()
+
+  # Custom commands to fetch remote data.
+  get_property(data_fetch GLOBAL PROPERTY _ExternalData_${target}_FETCH)
+  foreach(entry IN LISTS data_fetch)
+    string(REPLACE "|" ";" tuple "${entry}")
+    list(GET tuple 0 file)
+    list(GET tuple 1 name)
+    list(GET tuple 2 exts)
+    string(REPLACE "+" ";" exts_list "${exts}")
+    list(GET exts_list 0 first_ext)
+    set(stamp "-hash-stamp")
+    if(NOT DEFINED "_ExternalData_FILE_${file}")
+      set("_ExternalData_FILE_${file}" 1)
+      get_property(added DIRECTORY PROPERTY "_ExternalData_FILE_${file}")
+      if(NOT added)
+        set_property(DIRECTORY PROPERTY "_ExternalData_FILE_${file}" 1)
+        add_custom_command(
+          # Users care about the data file, so hide the hash/timestamp file.
+          COMMENT "Generating ${file}"
+          # The hash/timestamp file is the output from the build perspective.
+          # List the real file as a second output in case it is a broken link.
+          # The files must be listed in this order so CMake can hide from the
+          # make tool that a symlink target may not be newer than the input.
+          OUTPUT "${file}${stamp}" "${file}"
+          # Run the data fetch/update script.
+          COMMAND ${CMAKE_COMMAND} -Drelative_top=${CMAKE_BINARY_DIR}
+                                   -Dfile=${file} -Dname=${name} -Dexts=${exts}
+                                   -DExternalData_ACTION=fetch
+                                   -DExternalData_CONFIG=${config}
+                                   -P ${_ExternalData_SELF}
+          # Update whenever the object hash changes.
+          MAIN_DEPENDENCY "${name}${first_ext}"
+          )
+      endif()
+      list(APPEND files "${file}${stamp}")
+    endif()
+  endforeach()
+
+  # Custom target to drive all update commands.
+  add_custom_target(${target} ALL DEPENDS ${files})
+endfunction()
+
+function(ExternalData_expand_arguments target outArgsVar)
+  # Replace DATA{} references with real arguments.
+  set(data_regex "DATA{([^;{}\r\n]*)}")
+  set(other_regex "([^D]|D[^A]|DA[^T]|DAT[^A]|DATA[^{])+|.")
+  set(outArgs "")
+  # This list expansion un-escapes semicolons in list element values so we
+  # must re-escape them below anywhere a new list expansion will occur.
+  foreach(arg IN LISTS ARGN)
+    if("x${arg}" MATCHES "${data_regex}")
+      # Re-escape in-value semicolons before expansion in foreach below.
+      string(REPLACE ";" "\\;" tmp "${arg}")
+      # Split argument into DATA{}-pieces and other pieces.
+      string(REGEX MATCHALL "${data_regex}|${other_regex}" pieces "${tmp}")
+      # Compose output argument with DATA{}-pieces replaced.
+      set(outArg "")
+      foreach(piece IN LISTS pieces)
+        if("x${piece}" MATCHES "^x${data_regex}$")
+          # Replace this DATA{}-piece with a file path.
+          _ExternalData_arg("${target}" "${piece}" "${CMAKE_MATCH_1}" file)
+          string(APPEND outArg "${file}")
+        else()
+          # No replacement needed for this piece.
+          string(APPEND outArg "${piece}")
+        endif()
+      endforeach()
+    else()
+      # No replacements needed in this argument.
+      set(outArg "${arg}")
+    endif()
+    # Re-escape in-value semicolons in resulting list.
+    string(REPLACE ";" "\\;" outArg "${outArg}")
+    list(APPEND outArgs "${outArg}")
+  endforeach()
+  set("${outArgsVar}" "${outArgs}" PARENT_SCOPE)
+endfunction()
+
+#-----------------------------------------------------------------------------
+# Private helper interface
+
+set(_ExternalData_REGEX_ALGO "MD5|SHA1|SHA224|SHA256|SHA384|SHA512|SHA3_224|SHA3_256|SHA3_384|SHA3_512")
+set(_ExternalData_REGEX_EXT "md5|sha1|sha224|sha256|sha384|sha512|sha3-224|sha3-256|sha3-384|sha3-512")
+set(_ExternalData_SELF "${CMAKE_CURRENT_LIST_FILE}")
+get_filename_component(_ExternalData_SELF_DIR "${_ExternalData_SELF}" PATH)
+
+function(_ExternalData_compute_hash var_hash algo file)
+  if("${algo}" MATCHES "^${_ExternalData_REGEX_ALGO}$")
+    file("${algo}" "${file}" hash)
+    set("${var_hash}" "${hash}" PARENT_SCOPE)
+  else()
+    message(FATAL_ERROR "Hash algorithm ${algo} unimplemented.")
+  endif()
+endfunction()
+
+function(_ExternalData_random var)
+  string(RANDOM LENGTH 6 random)
+  set("${var}" "${random}" PARENT_SCOPE)
+endfunction()
+
+function(_ExternalData_exact_regex regex_var string)
+  string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" regex "${string}")
+  set("${regex_var}" "${regex}" PARENT_SCOPE)
+endfunction()
+
+function(_ExternalData_atomic_write file content)
+  _ExternalData_random(random)
+  set(tmp "${file}.tmp${random}")
+  file(WRITE "${tmp}" "${content}")
+  file(RENAME "${tmp}" "${file}")
+endfunction()
+
+function(_ExternalData_link_content name var_ext)
+  if("${ExternalData_LINK_CONTENT}" MATCHES "^(${_ExternalData_REGEX_ALGO})$")
+    set(algo "${ExternalData_LINK_CONTENT}")
+  else()
+    message(FATAL_ERROR
+      "Unknown hash algorithm specified by ExternalData_LINK_CONTENT:\n"
+      "  ${ExternalData_LINK_CONTENT}")
+  endif()
+  _ExternalData_compute_hash(hash "${algo}" "${name}")
+  get_filename_component(dir "${name}" PATH)
+  set(staged "${dir}/.ExternalData_${algo}_${hash}")
+  string(TOLOWER ".${algo}" ext)
+  _ExternalData_atomic_write("${name}${ext}" "${hash}\n")
+  file(RENAME "${name}" "${staged}")
+  set("${var_ext}" "${ext}" PARENT_SCOPE)
+
+  file(RELATIVE_PATH relname "${ExternalData_SOURCE_ROOT}" "${name}${ext}")
+  message(STATUS "Linked ${relname} to ExternalData ${algo}/${hash}")
+endfunction()
+
+function(_ExternalData_arg target arg options var_file)
+  # Separate data path from the options.
+  string(REPLACE "," ";" options "${options}")
+  list(GET options 0 data)
+  list(REMOVE_AT options 0)
+
+  # Interpret trailing slashes as directories.
+  set(data_is_directory 0)
+  if("x${data}" MATCHES "^x(.*)([/\\])$")
+    set(data_is_directory 1)
+    set(data "${CMAKE_MATCH_1}")
+  endif()
+
+  # Convert to full path.
+  if(IS_ABSOLUTE "${data}")
+    set(absdata "${data}")
+  else()
+    set(absdata "${CMAKE_CURRENT_SOURCE_DIR}/${data}")
+  endif()
+  get_filename_component(absdata "${absdata}" ABSOLUTE)
+
+  # Convert to relative path under the source tree.
+  if(NOT ExternalData_SOURCE_ROOT)
+    set(ExternalData_SOURCE_ROOT "${CMAKE_SOURCE_DIR}")
+  endif()
+  set(top_src "${ExternalData_SOURCE_ROOT}")
+  file(RELATIVE_PATH reldata "${top_src}" "${absdata}")
+  if(IS_ABSOLUTE "${reldata}" OR "${reldata}" MATCHES "^\\.\\./")
+    message(FATAL_ERROR "Data file referenced by argument\n"
+      "  ${arg}\n"
+      "does not lie under the top-level source directory\n"
+      "  ${top_src}\n")
+  endif()
+  if(data_is_directory AND NOT IS_DIRECTORY "${top_src}/${reldata}")
+    message(FATAL_ERROR "Data directory referenced by argument\n"
+      "  ${arg}\n"
+      "corresponds to source tree path\n"
+      "  ${reldata}\n"
+      "that does not exist as a directory!")
+  endif()
+  if(NOT ExternalData_BINARY_ROOT)
+    set(ExternalData_BINARY_ROOT "${CMAKE_BINARY_DIR}")
+  endif()
+  set(top_bin "${ExternalData_BINARY_ROOT}")
+
+  # Handle in-source builds gracefully.
+  if("${top_src}" STREQUAL "${top_bin}")
+    if(ExternalData_LINK_CONTENT)
+      message(WARNING "ExternalData_LINK_CONTENT cannot be used in-source")
+      set(ExternalData_LINK_CONTENT 0)
+    endif()
+    set(top_same 1)
+  endif()
+
+  set(external "") # Entries external to the source tree.
+  set(internal "") # Entries internal to the source tree.
+  set(have_original ${data_is_directory})
+  set(have_original_as_dir 0)
+
+  # Process options.
+  set(series_option "")
+  set(recurse_option "")
+  set(associated_files "")
+  set(associated_regex "")
+  foreach(opt ${options})
+    # Regular expression to match associated files.
+    if("x${opt}" MATCHES "^xREGEX:([^:/]+)$")
+      list(APPEND associated_regex "${CMAKE_MATCH_1}")
+    elseif(opt STREQUAL ":")
+      # Activate series matching.
+      set(series_option "${opt}")
+    elseif(opt STREQUAL "RECURSE:")
+      # Activate recursive matching in directories.
+      set(recurse_option "${opt}")
+    elseif("x${opt}" MATCHES "^[^][:/*?]+$")
+      # Specific associated file.
+      list(APPEND associated_files "${opt}")
+    else()
+      message(FATAL_ERROR "Unknown option \"${opt}\" in argument\n"
+        "  ${arg}\n")
+    endif()
+  endforeach()
+
+  if(series_option)
+    if(data_is_directory)
+      message(FATAL_ERROR "Series option \"${series_option}\" not allowed with directories.")
+    endif()
+    if(associated_files OR associated_regex)
+      message(FATAL_ERROR "Series option \"${series_option}\" not allowed with associated files.")
+    endif()
+    if(recurse_option)
+      message(FATAL_ERROR "Recurse option \"${recurse_option}\" allowed only with directories.")
+    endif()
+    # Load a whole file series.
+    _ExternalData_arg_series()
+  elseif(data_is_directory)
+    if(associated_files OR associated_regex)
+      # Load listed/matching associated files in the directory.
+      _ExternalData_arg_associated()
+    else()
+      message(FATAL_ERROR "Data directory referenced by argument\n"
+        "  ${arg}\n"
+        "must list associated files.")
+    endif()
+  else()
+    if(recurse_option)
+      message(FATAL_ERROR "Recurse option \"${recurse_option}\" allowed only with directories.")
+    endif()
+    # Load the named data file.
+    _ExternalData_arg_single()
+    if(associated_files OR associated_regex)
+      # Load listed/matching associated files.
+      _ExternalData_arg_associated()
+    endif()
+  endif()
+
+  if(NOT have_original)
+    if(have_original_as_dir)
+      set(msg_kind FATAL_ERROR)
+      set(msg "that is directory instead of a file!")
+    else()
+      set(msg_kind AUTHOR_WARNING)
+      set(msg "that does not exist as a file (with or without an extension)!")
+    endif()
+    message(${msg_kind} "Data file referenced by argument\n"
+      "  ${arg}\n"
+      "corresponds to source tree path\n"
+      "  ${reldata}\n"
+      "${msg}")
+  endif()
+
+  if(external)
+    # Make the series available in the build tree.
+    set_property(GLOBAL APPEND PROPERTY
+      _ExternalData_${target}_FETCH "${external}")
+    set_property(GLOBAL APPEND PROPERTY
+      _ExternalData_${target}_LOCAL "${internal}")
+    set("${var_file}" "${top_bin}/${reldata}" PARENT_SCOPE)
+  else()
+    # The whole series is in the source tree.
+    set("${var_file}" "${top_src}/${reldata}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+macro(_ExternalData_arg_associated)
+  # Associated files lie in the same directory.
+  if(data_is_directory)
+    set(reldir "${reldata}")
+  else()
+    get_filename_component(reldir "${reldata}" PATH)
+  endif()
+  if(reldir)
+    string(APPEND reldir "/")
+  endif()
+  _ExternalData_exact_regex(reldir_regex "${reldir}")
+  if(recurse_option)
+    set(glob GLOB_RECURSE)
+    string(APPEND reldir_regex "(.+/)?")
+  else()
+    set(glob GLOB)
+  endif()
+
+  # Find files named explicitly.
+  foreach(file ${associated_files})
+    _ExternalData_exact_regex(file_regex "${file}")
+    _ExternalData_arg_find_files(${glob} "${reldir}${file}"
+      "${reldir_regex}${file_regex}")
+  endforeach()
+
+  # Find files matching the given regular expressions.
+  set(all "")
+  set(sep "")
+  foreach(regex ${associated_regex})
+    string(APPEND all "${sep}${reldir_regex}${regex}")
+    set(sep "|")
+  endforeach()
+  _ExternalData_arg_find_files(${glob} "${reldir}" "${all}")
+endmacro()
+
+macro(_ExternalData_arg_single)
+  # Match only the named data by itself.
+  _ExternalData_exact_regex(data_regex "${reldata}")
+  _ExternalData_arg_find_files(GLOB "${reldata}" "${data_regex}")
+endmacro()
+
+macro(_ExternalData_arg_series)
+  # Configure series parsing and matching.
+  set(series_parse_prefix "")
+  set(series_parse_number "\\1")
+  set(series_parse_suffix "\\2")
+  if(ExternalData_SERIES_PARSE)
+    if(ExternalData_SERIES_PARSE_NUMBER AND ExternalData_SERIES_PARSE_SUFFIX)
+      if(ExternalData_SERIES_PARSE_PREFIX)
+        set(series_parse_prefix "\\${ExternalData_SERIES_PARSE_PREFIX}")
+      endif()
+      set(series_parse_number "\\${ExternalData_SERIES_PARSE_NUMBER}")
+      set(series_parse_suffix "\\${ExternalData_SERIES_PARSE_SUFFIX}")
+    elseif(NOT "x${ExternalData_SERIES_PARSE}" MATCHES "^x\\([^()]*\\)\\([^()]*\\)\\$$")
+      message(FATAL_ERROR
+        "ExternalData_SERIES_PARSE is set to\n"
+        "  ${ExternalData_SERIES_PARSE}\n"
+        "which is not of the form\n"
+        "  (<number>)(<suffix>)$\n"
+        "Fix the regular expression or set variables\n"
+        "  ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any\n"
+        "  ExternalData_SERIES_PARSE_NUMBER = <number> regex group number\n"
+        "  ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number\n"
+        )
+    endif()
+    set(series_parse "${ExternalData_SERIES_PARSE}")
+  else()
+    set(series_parse "([0-9]*)(\\.[^./]*)$")
+  endif()
+  if(ExternalData_SERIES_MATCH)
+    set(series_match "${ExternalData_SERIES_MATCH}")
+  else()
+    set(series_match "[_.-]?[0-9]*")
+  endif()
+
+  # Parse the base, number, and extension components of the series.
+  string(REGEX REPLACE "${series_parse}" "${series_parse_prefix};${series_parse_number};${series_parse_suffix}" tuple "${reldata}")
+  list(LENGTH tuple len)
+  if(NOT "${len}" EQUAL 3)
+    message(FATAL_ERROR "Data file referenced by argument\n"
+      "  ${arg}\n"
+      "corresponds to path\n"
+      "  ${reldata}\n"
+      "that does not match regular expression\n"
+      "  ${series_parse}")
+  endif()
+  list(GET tuple 0 relbase)
+  list(GET tuple 2 ext)
+
+  # Glob files that might match the series.
+  # Then match base, number, and extension.
+  _ExternalData_exact_regex(series_base "${relbase}")
+  _ExternalData_exact_regex(series_ext "${ext}")
+  _ExternalData_arg_find_files(GLOB "${relbase}*${ext}"
+    "${series_base}${series_match}${series_ext}")
+endmacro()
+
+function(_ExternalData_arg_find_files glob pattern regex)
+  cmake_policy(PUSH)
+  cmake_policy(SET CMP0009 NEW)
+  file(${glob} globbed RELATIVE "${top_src}" "${top_src}/${pattern}*")
+  cmake_policy(POP)
+  set(externals_count -1)
+  foreach(entry IN LISTS globbed)
+    if("x${entry}" MATCHES "^x(.*)(\\.(${_ExternalData_REGEX_EXT}))$")
+      set(relname "${CMAKE_MATCH_1}")
+      set(alg "${CMAKE_MATCH_2}")
+    else()
+      set(relname "${entry}")
+      set(alg "")
+    endif()
+    if("x${relname}" MATCHES "^x${regex}$" # matches
+        AND NOT "x${relname}" MATCHES "(^x|/)\\.ExternalData_" # not staged obj
+        )
+      if(IS_DIRECTORY "${top_src}/${entry}")
+        if("${relname}" STREQUAL "${reldata}")
+          set(have_original_as_dir 1)
+        endif()
+      else()
+        set(name "${top_src}/${relname}")
+        set(file "${top_bin}/${relname}")
+        if(alg)
+          if(NOT "${external_${externals_count}_file_name}" STREQUAL "${file}|${name}")
+            math(EXPR externals_count "${externals_count} + 1")
+            set(external_${externals_count}_file_name "${file}|${name}")
+          endif()
+          list(APPEND external_${externals_count}_algs "${alg}")
+        elseif(ExternalData_LINK_CONTENT)
+          _ExternalData_link_content("${name}" alg)
+          list(APPEND external "${file}|${name}|${alg}")
+        elseif(NOT top_same)
+          list(APPEND internal "${file}|${name}")
+        endif()
+        if("${relname}" STREQUAL "${reldata}")
+          set(have_original 1)
+        endif()
+      endif()
+    endif()
+  endforeach()
+  if(${externals_count} GREATER -1)
+    foreach(ii RANGE ${externals_count})
+      string(REPLACE ";" "+" algs_delim "${external_${ii}_algs}")
+      list(APPEND external "${external_${ii}_file_name}|${algs_delim}")
+      unset(external_${ii}_algs)
+      unset(external_${ii}_file_name)
+    endforeach()
+  endif()
+  set(external "${external}" PARENT_SCOPE)
+  set(internal "${internal}" PARENT_SCOPE)
+  set(have_original "${have_original}" PARENT_SCOPE)
+  set(have_original_as_dir "${have_original_as_dir}" PARENT_SCOPE)
+endfunction()
+
+#-----------------------------------------------------------------------------
+# Private script mode interface
+
+if(CMAKE_GENERATOR OR NOT ExternalData_ACTION)
+  return()
+endif()
+
+if(ExternalData_CONFIG)
+  include(${ExternalData_CONFIG})
+endif()
+if(NOT ExternalData_URL_TEMPLATES AND NOT ExternalData_OBJECT_STORES)
+  message(FATAL_ERROR
+    "Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set!")
+endif()
+
+function(_ExternalData_link_or_copy src dst)
+  # Create a temporary file first.
+  get_filename_component(dst_dir "${dst}" PATH)
+  file(MAKE_DIRECTORY "${dst_dir}")
+  _ExternalData_random(random)
+  set(tmp "${dst}.tmp${random}")
+  if(UNIX AND NOT ExternalData_NO_SYMLINKS)
+    # Create a symbolic link.
+    set(tgt "${src}")
+    if(relative_top)
+      # Use relative path if files are close enough.
+      file(RELATIVE_PATH relsrc "${relative_top}" "${src}")
+      file(RELATIVE_PATH relfile "${relative_top}" "${dst}")
+      if(NOT IS_ABSOLUTE "${relsrc}" AND NOT "${relsrc}" MATCHES "^\\.\\./" AND
+          NOT IS_ABSOLUTE "${reldst}" AND NOT "${reldst}" MATCHES "^\\.\\./")
+        file(RELATIVE_PATH tgt "${dst_dir}" "${src}")
+      endif()
+    endif()
+    execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${tgt}" "${tmp}" RESULT_VARIABLE result)
+  else()
+    # Create a copy.
+    execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${src}" "${tmp}" RESULT_VARIABLE result)
+  endif()
+  if(result)
+    file(REMOVE "${tmp}")
+    message(FATAL_ERROR "Failed to create\n  ${tmp}\nfrom\n  ${obj}")
+  endif()
+
+  # Atomically create/replace the real destination.
+  file(RENAME "${tmp}" "${dst}")
+endfunction()
+
+function(_ExternalData_download_file url file err_var msg_var)
+  set(retry 3)
+  while(retry)
+    math(EXPR retry "${retry} - 1")
+    if(ExternalData_TIMEOUT_INACTIVITY)
+      set(inactivity_timeout INACTIVITY_TIMEOUT ${ExternalData_TIMEOUT_INACTIVITY})
+    elseif(NOT "${ExternalData_TIMEOUT_INACTIVITY}" EQUAL 0)
+      set(inactivity_timeout INACTIVITY_TIMEOUT 60)
+    else()
+      set(inactivity_timeout "")
+    endif()
+    if(ExternalData_TIMEOUT_ABSOLUTE)
+      set(absolute_timeout TIMEOUT ${ExternalData_TIMEOUT_ABSOLUTE})
+    elseif(NOT "${ExternalData_TIMEOUT_ABSOLUTE}" EQUAL 0)
+      set(absolute_timeout TIMEOUT 300)
+    else()
+      set(absolute_timeout "")
+    endif()
+    file(DOWNLOAD "${url}" "${file}" STATUS status LOG log ${inactivity_timeout} ${absolute_timeout} SHOW_PROGRESS)
+    list(GET status 0 err)
+    list(GET status 1 msg)
+    if(err)
+      if("${msg}" MATCHES "HTTP response code said error" AND
+          "${log}" MATCHES "error: 503")
+        set(msg "temporarily unavailable")
+      endif()
+    elseif("${log}" MATCHES "\nHTTP[^\n]* 503")
+      set(err TRUE)
+      set(msg "temporarily unavailable")
+    endif()
+    if(NOT err OR NOT "${msg}" MATCHES "partial|timeout|temporarily")
+      break()
+    elseif(retry)
+      message(STATUS "[download terminated: ${msg}, retries left: ${retry}]")
+    endif()
+  endwhile()
+  set("${err_var}" "${err}" PARENT_SCOPE)
+  set("${msg_var}" "${msg}" PARENT_SCOPE)
+endfunction()
+
+function(_ExternalData_custom_fetch key loc file err_var msg_var)
+  if(NOT ExternalData_CUSTOM_SCRIPT_${key})
+    set(err 1)
+    set(msg "No ExternalData_CUSTOM_SCRIPT_${key} set!")
+  elseif(NOT EXISTS "${ExternalData_CUSTOM_SCRIPT_${key}}")
+    set(err 1)
+    set(msg "No '${ExternalData_CUSTOM_SCRIPT_${key}}' exists!")
+  else()
+    set(ExternalData_CUSTOM_LOCATION "${loc}")
+    set(ExternalData_CUSTOM_FILE "${file}")
+    unset(ExternalData_CUSTOM_ERROR)
+    include("${ExternalData_CUSTOM_SCRIPT_${key}}")
+    if(DEFINED ExternalData_CUSTOM_ERROR)
+      set(err 1)
+      set(msg "${ExternalData_CUSTOM_ERROR}")
+    else()
+      set(err 0)
+      set(msg "no error")
+    endif()
+  endif()
+  set("${err_var}" "${err}" PARENT_SCOPE)
+  set("${msg_var}" "${msg}" PARENT_SCOPE)
+endfunction()
+
+function(_ExternalData_get_from_object_store hash algo var_obj var_success)
+  # Search all object stores for an existing object.
+  foreach(dir ${ExternalData_OBJECT_STORES})
+    set(obj "${dir}/${algo}/${hash}")
+    if(EXISTS "${obj}")
+      message(STATUS "Found object: \"${obj}\"")
+      set("${var_obj}" "${obj}" PARENT_SCOPE)
+      set("${var_success}" 1 PARENT_SCOPE)
+      return()
+    endif()
+  endforeach()
+endfunction()
+
+function(_ExternalData_download_object name hash algo var_obj var_success var_errorMsg)
+  # Search all object stores for an existing object.
+  set(success 1)
+  foreach(dir ${ExternalData_OBJECT_STORES})
+    set(obj "${dir}/${algo}/${hash}")
+    if(EXISTS "${obj}")
+      message(STATUS "Found object: \"${obj}\"")
+      set("${var_obj}" "${obj}" PARENT_SCOPE)
+      set("${var_success}" "${success}" PARENT_SCOPE)
+      return()
+    endif()
+  endforeach()
+
+  # Download object to the first store.
+  list(GET ExternalData_OBJECT_STORES 0 store)
+  set(obj "${store}/${algo}/${hash}")
+
+  _ExternalData_random(random)
+  set(tmp "${obj}.tmp${random}")
+  set(found 0)
+  set(tried "")
+  foreach(url_template IN LISTS ExternalData_URL_TEMPLATES)
+    string(REPLACE "%(hash)" "${hash}" url_tmp "${url_template}")
+    string(REPLACE "%(algo)" "${algo}" url "${url_tmp}")
+    if(url MATCHES "^(.*)%\\(algo:([A-Za-z_][A-Za-z0-9_]*)\\)(.*)$")
+      set(lhs "${CMAKE_MATCH_1}")
+      set(key "${CMAKE_MATCH_2}")
+      set(rhs "${CMAKE_MATCH_3}")
+      if(DEFINED ExternalData_URL_ALGO_${algo}_${key})
+        set(url "${lhs}${ExternalData_URL_ALGO_${algo}_${key}}${rhs}")
+      else()
+        set(url "${lhs}${algo}${rhs}")
+      endif()
+    endif()
+    string(REGEX REPLACE "((https?|ftp)://)([^@]+@)?(.*)" "\\1\\4" secured_url "${url}")
+    message(STATUS "Fetching \"${secured_url}\"")
+    if(url MATCHES "^ExternalDataCustomScript://([A-Za-z_][A-Za-z0-9_]*)/(.*)$")
+      _ExternalData_custom_fetch("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}" "${tmp}" err errMsg)
+    else()
+      _ExternalData_download_file("${url}" "${tmp}" err errMsg)
+    endif()
+    string(APPEND tried "\n  ${url}")
+    if(err)
+      string(APPEND tried " (${errMsg})")
+    else()
+      # Verify downloaded object.
+      _ExternalData_compute_hash(dl_hash "${algo}" "${tmp}")
+      if("${dl_hash}" STREQUAL "${hash}")
+        set(found 1)
+        break()
+      else()
+        string(APPEND tried " (wrong hash ${algo}=${dl_hash})")
+        if("$ENV{ExternalData_DEBUG_DOWNLOAD}" MATCHES ".")
+          file(RENAME "${tmp}" "${store}/${algo}/${dl_hash}")
+        endif()
+      endif()
+    endif()
+    file(REMOVE "${tmp}")
+  endforeach()
+
+  get_filename_component(dir "${name}" PATH)
+  set(staged "${dir}/.ExternalData_${algo}_${hash}")
+
+  set(success 1)
+  if(found)
+    file(RENAME "${tmp}" "${obj}")
+    message(STATUS "Downloaded object: \"${obj}\"")
+  elseif(EXISTS "${staged}")
+    set(obj "${staged}")
+    message(STATUS "Staged object: \"${obj}\"")
+  else()
+    if(NOT tried)
+      set(tried "\n  (No ExternalData_URL_TEMPLATES given)")
+    endif()
+    set(success 0)
+    set("${var_errorMsg}" "Object ${algo}=${hash} not found at:${tried}" PARENT_SCOPE)
+  endif()
+
+  set("${var_obj}" "${obj}" PARENT_SCOPE)
+  set("${var_success}" "${success}" PARENT_SCOPE)
+endfunction()
+
+if("${ExternalData_ACTION}" STREQUAL "fetch")
+  foreach(v ExternalData_OBJECT_STORES file name exts)
+    if(NOT DEFINED "${v}")
+      message(FATAL_ERROR "No \"-D${v}=\" value provided!")
+    endif()
+  endforeach()
+
+  string(REPLACE "+" ";" exts_list "${exts}")
+  set(succeeded 0)
+  set(errorMsg "")
+  set(hash_list )
+  set(algo_list )
+  set(hash )
+  set(algo )
+  foreach(ext ${exts_list})
+    file(READ "${name}${ext}" hash)
+    string(STRIP "${hash}" hash)
+
+    if("${ext}" MATCHES "^\\.(${_ExternalData_REGEX_EXT})$")
+      string(TOUPPER "${CMAKE_MATCH_1}" algo)
+      string(REPLACE "-" "_" algo "${algo}")
+    else()
+      message(FATAL_ERROR "Unknown hash algorithm extension \"${ext}\"")
+    endif()
+
+    list(APPEND hash_list ${hash})
+    list(APPEND algo_list ${algo})
+  endforeach()
+
+  list(LENGTH exts_list num_extensions)
+  math(EXPR exts_range "${num_extensions} - 1")
+  foreach(ii RANGE 0 ${exts_range})
+    list(GET hash_list ${ii} hash)
+    list(GET algo_list ${ii} algo)
+    _ExternalData_get_from_object_store("${hash}" "${algo}" obj succeeded)
+    if(succeeded)
+      break()
+    endif()
+  endforeach()
+  if(NOT succeeded)
+    foreach(ii RANGE 0 ${exts_range})
+      list(GET hash_list ${ii} hash)
+      list(GET algo_list ${ii} algo)
+      _ExternalData_download_object("${name}" "${hash}" "${algo}"
+        obj succeeded algoErrorMsg)
+      string(APPEND errorMsg "\n${algoErrorMsg}")
+      if(succeeded)
+        break()
+      endif()
+    endforeach()
+  endif()
+  if(NOT succeeded)
+    message(FATAL_ERROR "${errorMsg}")
+  endif()
+  # Check if file already corresponds to the object.
+  set(stamp "-hash-stamp")
+  set(file_up_to_date 0)
+  if(EXISTS "${file}" AND EXISTS "${file}${stamp}")
+    file(READ "${file}${stamp}" f_hash)
+    string(STRIP "${f_hash}" f_hash)
+    if("${f_hash}" STREQUAL "${hash}")
+      set(file_up_to_date 1)
+    endif()
+  endif()
+
+  if(file_up_to_date)
+    # Touch the file to convince the build system it is up to date.
+    execute_process(COMMAND "${CMAKE_COMMAND}" -E touch "${file}")
+  else()
+    _ExternalData_link_or_copy("${obj}" "${file}")
+  endif()
+
+  # Atomically update the hash/timestamp file to record the object referenced.
+  _ExternalData_atomic_write("${file}${stamp}" "${hash}\n")
+elseif("${ExternalData_ACTION}" STREQUAL "local")
+  foreach(v file name)
+    if(NOT DEFINED "${v}")
+      message(FATAL_ERROR "No \"-D${v}=\" value provided!")
+    endif()
+  endforeach()
+  _ExternalData_link_or_copy("${name}" "${file}")
+else()
+  message(FATAL_ERROR "Unknown ExternalData_ACTION=[${ExternalData_ACTION}]")
+endif()
diff --git a/share/cmake-3.6/Modules/ExternalData_config.cmake.in b/share/cmake-3.10/Modules/ExternalData_config.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/ExternalData_config.cmake.in
rename to share/cmake-3.10/Modules/ExternalData_config.cmake.in
diff --git a/share/cmake-3.10/Modules/ExternalProject-download.cmake.in b/share/cmake-3.10/Modules/ExternalProject-download.cmake.in
new file mode 100644
index 0000000..7f92596
--- /dev/null
+++ b/share/cmake-3.10/Modules/ExternalProject-download.cmake.in
@@ -0,0 +1,160 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION 3.5)
+
+function(check_file_hash has_hash hash_is_good)
+  if("${has_hash}" STREQUAL "")
+    message(FATAL_ERROR "has_hash Can't be empty")
+  endif()
+
+  if("${hash_is_good}" STREQUAL "")
+    message(FATAL_ERROR "hash_is_good Can't be empty")
+  endif()
+
+  if("@ALGO@" STREQUAL "")
+    # No check
+    set("${has_hash}" FALSE PARENT_SCOPE)
+    set("${hash_is_good}" FALSE PARENT_SCOPE)
+    return()
+  endif()
+
+  set("${has_hash}" TRUE PARENT_SCOPE)
+
+  message(STATUS "verifying file...
+       file='@LOCAL@'")
+
+  file("@ALGO@" "@LOCAL@" actual_value)
+
+  if(NOT "${actual_value}" STREQUAL "@EXPECT_VALUE@")
+    set("${hash_is_good}" FALSE PARENT_SCOPE)
+    message(STATUS "@ALGO@ hash of
+    @LOCAL@
+  does not match expected value
+    expected: '@EXPECT_VALUE@'
+      actual: '${actual_value}'")
+  else()
+    set("${hash_is_good}" TRUE PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(sleep_before_download attempt)
+  if(attempt EQUAL 0)
+    return()
+  endif()
+
+  if(attempt EQUAL 1)
+    message(STATUS "Retrying...")
+    return()
+  endif()
+
+  set(sleep_seconds 0)
+
+  if(attempt EQUAL 2)
+    set(sleep_seconds 5)
+  elseif(attempt EQUAL 3)
+    set(sleep_seconds 5)
+  elseif(attempt EQUAL 4)
+    set(sleep_seconds 15)
+  elseif(attempt EQUAL 5)
+    set(sleep_seconds 60)
+  elseif(attempt EQUAL 6)
+    set(sleep_seconds 90)
+  elseif(attempt EQUAL 7)
+    set(sleep_seconds 300)
+  else()
+    set(sleep_seconds 1200)
+  endif()
+
+  message(STATUS "Retry after ${sleep_seconds} seconds (attempt #${attempt}) ...")
+
+  execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep "${sleep_seconds}")
+endfunction()
+
+if("@LOCAL@" STREQUAL "")
+  message(FATAL_ERROR "LOCAL can't be empty")
+endif()
+
+if("@REMOTE@" STREQUAL "")
+  message(FATAL_ERROR "REMOTE can't be empty")
+endif()
+
+if(EXISTS "@LOCAL@")
+  check_file_hash(has_hash hash_is_good)
+  if(has_hash)
+    if(hash_is_good)
+      message(STATUS "File already exists and hash match (skip download):
+  file='@LOCAL@'
+  @ALGO@='@EXPECT_VALUE@'"
+      )
+      return()
+    else()
+      message(STATUS "File already exists but hash mismatch. Removing...")
+      file(REMOVE "@LOCAL@")
+    endif()
+  else()
+    message(STATUS "File already exists but no hash specified (use URL_HASH):
+  file='@LOCAL@'
+Old file will be removed and new file downloaded from URL."
+    )
+    file(REMOVE "@LOCAL@")
+  endif()
+endif()
+
+set(retry_number 5)
+
+message(STATUS "Downloading...
+   dst='@LOCAL@'
+   timeout='@TIMEOUT_MSG@'"
+)
+
+foreach(i RANGE ${retry_number})
+  sleep_before_download(${i})
+
+  foreach(url @REMOTE@)
+    message(STATUS "Using src='${url}'")
+
+    @TLS_VERIFY_CODE@
+    @TLS_CAINFO_CODE@
+
+    file(
+        DOWNLOAD
+        "${url}" "@LOCAL@"
+        @SHOW_PROGRESS@
+        @TIMEOUT_ARGS@
+        STATUS status
+        LOG log
+        @USERPWD_ARGS@
+        @HTTP_HEADERS_ARGS@
+    )
+
+    list(GET status 0 status_code)
+    list(GET status 1 status_string)
+
+    if(status_code EQUAL 0)
+      check_file_hash(has_hash hash_is_good)
+      if(has_hash AND NOT hash_is_good)
+        message(STATUS "Hash mismatch, removing...")
+        file(REMOVE "@LOCAL@")
+      else()
+        message(STATUS "Downloading... done")
+        return()
+      endif()
+    else()
+      string(APPEND logFailedURLs "error: downloading '${url}' failed
+       status_code: ${status_code}
+       status_string: ${status_string}
+       log:
+       --- LOG BEGIN ---
+       ${log}
+       --- LOG END ---
+       "
+      )
+    endif()
+  endforeach()
+endforeach()
+
+message(FATAL_ERROR "Each download failed!
+  ${logFailedURLs}
+  "
+)
diff --git a/share/cmake-3.10/Modules/ExternalProject-verify.cmake.in b/share/cmake-3.10/Modules/ExternalProject-verify.cmake.in
new file mode 100644
index 0000000..c06da4e
--- /dev/null
+++ b/share/cmake-3.10/Modules/ExternalProject-verify.cmake.in
@@ -0,0 +1,37 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION 3.5)
+
+if("@LOCAL@" STREQUAL "")
+  message(FATAL_ERROR "LOCAL can't be empty")
+endif()
+
+if(NOT EXISTS "@LOCAL@")
+  message(FATAL_ERROR "File not found: @LOCAL@")
+endif()
+
+if("@ALGO@" STREQUAL "")
+  message(WARNING "File will not be verified since no URL_HASH specified")
+  return()
+endif()
+
+if("@EXPECT_VALUE@" STREQUAL "")
+  message(FATAL_ERROR "EXPECT_VALUE can't be empty")
+endif()
+
+message(STATUS "verifying file...
+     file='@LOCAL@'")
+
+file("@ALGO@" "@LOCAL@" actual_value)
+
+if(NOT "${actual_value}" STREQUAL "@EXPECT_VALUE@")
+  message(FATAL_ERROR "error: @ALGO@ hash of
+  @LOCAL@
+does not match expected value
+  expected: '@EXPECT_VALUE@'
+    actual: '${actual_value}'
+")
+endif()
+
+message(STATUS "verifying file... done")
diff --git a/share/cmake-3.10/Modules/ExternalProject.cmake b/share/cmake-3.10/Modules/ExternalProject.cmake
new file mode 100644
index 0000000..419c9d6
--- /dev/null
+++ b/share/cmake-3.10/Modules/ExternalProject.cmake
@@ -0,0 +1,3042 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+ExternalProject
+---------------
+
+.. only:: html
+
+   .. contents::
+
+External Project Definition
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. command:: ExternalProject_Add
+
+  The ``ExternalProject_Add()`` function creates a custom target to drive
+  download, update/patch, configure, build, install and test steps of an
+  external project::
+
+    ExternalProject_Add(<name> [<option>...])
+
+  The individual steps within the process can be driven independently if
+  required (e.g. for CDash submission) and extra custom steps can be defined,
+  along with the ability to control the step dependencies. The directory
+  structure used for the management of the external project can also be
+  customized. The function supports a large number of options which can be used
+  to tailor the external project behavior.
+
+  **Directory Options:**
+    Most of the time, the default directory layout is sufficient. It is largely
+    an implementation detail that the main project usually doesn't need to
+    change. In some circumstances, however, control over the directory layout
+    can be useful or necessary. The directory options are potentially more
+    useful from the point of view that the main build can use the
+    :command:`ExternalProject_Get_Property` command to retrieve their values,
+    thereby allowing the main project to refer to build artifacts of the
+    external project.
+
+    ``PREFIX <dir>``
+      Root directory for the external project. Unless otherwise noted below,
+      all other directories associated with the external project will be
+      created under here.
+
+    ``TMP_DIR <dir>``
+      Directory in which to store temporary files.
+
+    ``STAMP_DIR <dir>``
+      Directory in which to store the timestamps of each step. Log files from
+      individual steps are also created in here (see *Logging Options* below).
+
+    ``DOWNLOAD_DIR <dir>``
+      Directory in which to store downloaded files before unpacking them. This
+      directory is only used by the URL download method, all other download
+      methods use ``SOURCE_DIR`` directly instead.
+
+    ``SOURCE_DIR <dir>``
+      Source directory into which downloaded contents will be unpacked, or for
+      non-URL download methods, the directory in which the repository should be
+      checked out, cloned, etc. If no download method is specified, this must
+      point to an existing directory where the external project has already
+      been unpacked or cloned/checked out.
+
+      .. note::
+         If a download method is specified, any existing contents of the source
+         directory may be deleted. Only the URL download method checks whether
+         this directory is either missing or empty before initiating the
+         download, stopping with an error if it is not empty. All other
+         download methods silently discard any previous contents of the source
+         directory.
+
+    ``BINARY_DIR <dir>``
+      Specify the build directory location. This option is ignored if
+      ``BUILD_IN_SOURCE`` is enabled.
+
+    ``INSTALL_DIR <dir>``
+      Installation prefix to be placed in the ``<INSTALL_DIR>`` placeholder.
+      This does not actually configure the external project to install to
+      the given prefix. That must be done by passing appropriate arguments
+      to the external project configuration step, e.g. using ``<INSTALL_DIR>``.
+
+    If any of the above ``..._DIR`` options are not specified, their defaults
+    are computed as follows. If the ``PREFIX`` option is given or the
+    ``EP_PREFIX`` directory property is set, then an external project is built
+    and installed under the specified prefix::
+
+      TMP_DIR      = <prefix>/tmp
+      STAMP_DIR    = <prefix>/src/<name>-stamp
+      DOWNLOAD_DIR = <prefix>/src
+      SOURCE_DIR   = <prefix>/src/<name>
+      BINARY_DIR   = <prefix>/src/<name>-build
+      INSTALL_DIR  = <prefix>
+
+    Otherwise, if the ``EP_BASE`` directory property is set then components
+    of an external project are stored under the specified base::
+
+      TMP_DIR      = <base>/tmp/<name>
+      STAMP_DIR    = <base>/Stamp/<name>
+      DOWNLOAD_DIR = <base>/Download/<name>
+      SOURCE_DIR   = <base>/Source/<name>
+      BINARY_DIR   = <base>/Build/<name>
+      INSTALL_DIR  = <base>/Install/<name>
+
+    If no ``PREFIX``, ``EP_PREFIX``, or ``EP_BASE`` is specified, then the
+    default is to set ``PREFIX`` to ``<name>-prefix``. Relative paths are
+    interpreted with respect to :variable:`CMAKE_CURRENT_BINARY_DIR` at the
+    point where ``ExternalProject_Add()`` is called.
+
+  **Download Step Options:**
+    A download method can be omitted if the ``SOURCE_DIR`` option is used to
+    point to an existing non-empty directory. Otherwise, one of the download
+    methods below must be specified (multiple download methods should not be
+    given) or a custom ``DOWNLOAD_COMMAND`` provided.
+
+    ``DOWNLOAD_COMMAND <cmd>...``
+      Overrides the command used for the download step
+      (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+      supported). If this option is specified, all other download options will
+      be ignored. Providing an empty string for ``<cmd>`` effectively disables
+      the download step.
+
+    *URL Download*
+      ``URL <url1> [<url2>...]``
+        List of paths and/or URL(s) of the external project's source. When more
+        than one URL is given, they are tried in turn until one succeeds. A URL
+        may be an ordinary path in the local file system (in which case it
+        must be the only URL provided) or any downloadable URL supported by the
+        :command:`file(DOWNLOAD)` command. A local filesystem path may refer to
+        either an existing directory or to an archive file, whereas a URL is
+        expected to point to a file which can be treated as an archive. When an
+        archive is used, it will be unpacked automatically unless the
+        ``DOWNLOAD_NO_EXTRACT`` option is set to prevent it. The archive type
+        is determined by inspecting the actual content rather than using logic
+        based on the file extension.
+
+      ``URL_HASH ALGO=<value>``
+        Hash of the archive file to be downloaded. The ``<value>`` should be of
+        the form ``algo=hashValue`` where ``algo`` can be any of the hashing
+        algorithms supported by the :command:`file()` command. Specifying this
+        option is strongly recommended for URL downloads, as it ensures the
+        integrity of the downloaded content. It is also used as a check for a
+        previously downloaded file, allowing connection to the remote location
+        to be avoided altogether if the local directory already has a file from
+        an earlier download that matches the specified hash.
+
+      ``URL_MD5 <md5>``
+        Equivalent to ``URL_HASH MD5=<md5>``.
+
+      ``DOWNLOAD_NAME <fname>``
+        File name to use for the downloaded file. If not given, the end of the
+        URL is used to determine the file name. This option is rarely needed,
+        the default name is generally suitable and is not normally used outside
+        of code internal to the ``ExternalProject`` module.
+
+      ``DOWNLOAD_NO_EXTRACT <bool>``
+        Allows the extraction part of the download step to be disabled by
+        passing a boolean true value for this option. If this option is not
+        given, the downloaded contents will be unpacked automatically if
+        required. If extraction has been disabled, the full path to the
+        downloaded file is available as ``<DOWNLOADED_FILE>`` in subsequent
+        steps or as the property ``DOWNLOADED_FILE`` with the
+        :command:`ExternalProject_Get_Property` command.
+
+      ``DOWNLOAD_NO_PROGRESS <bool>``
+        Can be used to disable logging the download progress. If this option is
+        not given, download progress messages will be logged.
+
+      ``TIMEOUT <seconds>``
+        Maximum time allowed for file download operations.
+
+      ``HTTP_USERNAME <username>``
+        Username for the download operation if authentication is required.
+
+      ``HTTP_PASSWORD <password>``
+        Password for the download operation if authentication is required.
+
+      ``HTTP_HEADER <header1> [<header2>...]``
+        Provides an arbitrary list of HTTP headers for the download operation.
+        This can be useful for accessing content in systems like AWS, etc.
+
+      ``TLS_VERIFY <bool>``
+        Specifies whether certificate verification should be performed for
+        https URLs. If this option is not provided, the default behavior is
+        determined by the ``CMAKE_TLS_VERIFY`` variable (see
+        :command:`file(DOWNLOAD)`). If that is also not set, certificate
+        verification will not be performed. In situations where ``URL_HASH``
+        cannot be provided, this option can be an alternative verification
+        measure.
+
+      ``TLS_CAINFO <file>``
+        Specify a custom certificate authority file to use if ``TLS_VERIFY``
+        is enabled. If this option is not specified, the value of the
+        ``CMAKE_TLS_CAINFO`` variable will be used instead (see
+        :command:`file(DOWNLOAD)`)
+
+    *Git*
+      NOTE: A git version of 1.6.5 or later is required if this download method
+      is used.
+
+      ``GIT_REPOSITORY <url>``
+        URL of the git repository. Any URL understood by the ``git`` command
+        may be used.
+
+      ``GIT_TAG <tag>``
+        Git branch name, tag or commit hash. Note that branch names and tags
+        should generally be specified as remote names (i.e. ``origin/myBranch``
+        rather than simply ``myBranch``). This ensures that if the remote end
+        has its tag moved or branch rebased or history rewritten, the local
+        clone will still be updated correctly. In general, however, specifying
+        a commit hash should be preferred for a number of reasons:
+
+        - If the local clone already has the commit corresponding to the hash,
+          no ``git fetch`` needs to be performed to check for changes each time
+          CMake is re-run. This can result in a significant speed up if many
+          external projects are being used.
+        - Using a specific git hash ensures that the main project's own history
+          is fully traceable to a specific point in the external project's
+          evolution. If a branch or tag name is used instead, then checking out
+          a specific commit of the main project doesn't necessarily pin the
+          whole build to a specific point in the life of the external project.
+          The lack of such deterministic behavior makes the main project lose
+          traceability and repeatability.
+
+      ``GIT_REMOTE_NAME <name>``
+        The optional name of the remote. If this option is not specified, it
+        defaults to ``origin``.
+
+      ``GIT_SUBMODULES <module>...``
+        Specific git submodules that should also be updated. If this option is
+        not provided, all git submodules will be updated.
+
+      ``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
+        downloading the whole history and instead retrieves just the commit
+        denoted by the ``GIT_TAG`` option.
+
+      ``GIT_PROGRESS <bool>``
+        When enabled, this option instructs the ``git clone`` operation to
+        report its progress by passing it the ``--progress`` option. Without
+        this option, the clone step for large projects may appear to make the
+        build stall, since nothing will be logged until the clone operation
+        finishes. While this option can be used to provide progress to prevent
+        the appearance of the build having stalled, it may also make the build
+        overly noisy if lots of external projects are used.
+
+      ``GIT_CONFIG <option1> [<option2>...]``
+        Specify a list of config options to pass to ``git clone``. Each option
+        listed will be transformed into its own ``--config <option>`` on the
+        ``git clone`` command line, with each option required to be in the
+        form ``key=value``.
+
+    *Subversion*
+      ``SVN_REPOSITORY <url>``
+        URL of the Subversion repository.
+
+      ``SVN_REVISION -r<rev>``
+        Revision to checkout from the Subversion repository.
+
+      ``SVN_USERNAME <username>``
+        Username for the Subversion checkout and update.
+
+      ``SVN_PASSWORD <password>``
+        Password for the Subversion checkout and update.
+
+      ``SVN_TRUST_CERT <bool>``
+        Specifies whether to trust the Subversion server site certificate. If
+        enabled, the ``--trust-server-cert`` option is passed to the ``svn``
+        checkout and update commands.
+
+    *Mercurial*
+      ``HG_REPOSITORY <url>``
+        URL of the mercurial repository.
+
+      ``HG_TAG <tag>``
+        Mercurial branch name, tag or commit id.
+
+    *CVS*
+      ``CVS_REPOSITORY <cvsroot>``
+        CVSROOT of the CVS repository.
+
+      ``CVS_MODULE <mod>``
+        Module to checkout from the CVS repository.
+
+      ``CVS_TAG <tag>``
+        Tag to checkout from the CVS repository.
+
+  **Update/Patch Step Options:**
+    Whenever CMake is re-run, by default the external project's sources will be
+    updated if the download method supports updates (e.g. a git repository
+    would be checked if the ``GIT_TAG`` does not refer to a specific commit).
+
+    ``UPDATE_COMMAND <cmd>...``
+      Overrides the download method's update step with a custom command.
+      The command may use
+      :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+    ``UPDATE_DISCONNECTED <bool>``
+      When enabled, this option causes the update step to be skipped. It does
+      not, however, prevent the download step. The update step can still be
+      added as a step target (see :command:`ExternalProject_Add_StepTargets`)
+      and called manually. This is useful if you want to allow developers to
+      build the project when disconnected from the network (the network may
+      still be needed for the download step though).
+
+      When this option is present, it is generally advisable to make the value
+      a cache variable under the developer's control rather than hard-coding
+      it. If this option is not present, the default value is taken from the
+      ``EP_UPDATE_DISCONNECTED`` directory property. If that is also not
+      defined, updates are performed as normal. The ``EP_UPDATE_DISCONNECTED``
+      directory property is intended as a convenience for controlling the
+      ``UPDATE_DISCONNECTED`` behavior for an entire section of a project's
+      directory hierarchy and may be a more convenient method of giving
+      developers control over whether or not to perform updates (assuming the
+      project also provides a cache variable or some other convenient method
+      for setting the directory property).
+
+    ``PATCH_COMMAND <cmd>...``
+      Specifies a custom command to patch the sources after an update. By
+      default, no patch command is defined. Note that it can be quite difficult
+      to define an appropriate patch command that performs robustly, especially
+      for download methods such as git where changing the ``GIT_TAG`` will not
+      discard changes from a previous patch, but the patch command will be
+      called again after updating to the new tag.
+
+  **Configure Step Options:**
+    The configure step is run after the download and update steps. By default,
+    the external project is assumed to be a CMake project, but this can be
+    overridden if required.
+
+    ``CONFIGURE_COMMAND <cmd>...``
+      The default configure command runs CMake with options based on the main
+      project. For non-CMake external projects, the ``CONFIGURE_COMMAND``
+      option must be used to override this behavior
+      (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+      supported). For projects that require no configure step, specify this
+      option with an empty string as the command to execute.
+
+    ``CMAKE_COMMAND /.../cmake``
+      Specify an alternative cmake executable for the configure step (use an
+      absolute path). This is generally not recommended, since it is
+      usually desirable to use the same CMake version throughout the whole
+      build. This option is ignored if a custom configure command has been
+      specified with ``CONFIGURE_COMMAND``.
+
+    ``CMAKE_GENERATOR <gen>``
+      Override the CMake generator used for the configure step. Without this
+      option, the same generator as the main build will be used. This option is
+      ignored if a custom configure command has been specified with the
+      ``CONFIGURE_COMMAND`` option.
+
+    ``CMAKE_GENERATOR_PLATFORM <platform>``
+      Pass a generator-specific platform name to the CMake command (see
+      :variable:`CMAKE_GENERATOR_PLATFORM`). It is an error to provide this
+      option without the ``CMAKE_GENERATOR`` option.
+
+    ``CMAKE_GENERATOR_TOOLSET <toolset>``
+      Pass a generator-specific toolset name to the CMake command (see
+      :variable:`CMAKE_GENERATOR_TOOLSET`). It is an error to provide this
+      option without the ``CMAKE_GENERATOR`` option.
+
+    ``CMAKE_ARGS <arg>...``
+      The specified arguments are passed to the ``cmake`` command line. They
+      can be any argument the ``cmake`` command understands, not just cache
+      values defined by ``-D...`` arguments (see also
+      :manual:`CMake Options <cmake(1)>`). In addition, arguments may use
+      :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+    ``CMAKE_CACHE_ARGS <arg>...``
+      This is an alternate way of specifying cache variables where command line
+      length issues may become a problem. The arguments are expected to be in
+      the form ``-Dvar:STRING=value``, which are then transformed into
+      CMake :command:`set` commands with the ``FORCE`` option used. These
+      ``set()`` commands are written to a pre-load script which is then applied
+      using the :manual:`cmake -C <cmake(1)>` command line option. Arguments
+      may use :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+    ``CMAKE_CACHE_DEFAULT_ARGS <arg>...``
+      This is the same as the ``CMAKE_CACHE_ARGS`` option except the ``set()``
+      commands do not include the ``FORCE`` keyword. This means the values act
+      as initial defaults only and will not override any variables already set
+      from a previous run. Use this option with care, as it can lead to
+      different behavior depending on whether the build starts from a fresh
+      build directory or re-uses previous build contents.
+
+    ``SOURCE_SUBDIR <dir>``
+      When no ``CONFIGURE_COMMAND`` option is specified, the configure step
+      assumes the external project has a ``CMakeLists.txt`` file at the top of
+      its source tree (i.e. in ``SOURCE_DIR``). The ``SOURCE_SUBDIR`` option
+      can be used to point to an alternative directory within the source tree
+      to use as the top of the CMake source tree instead. This must be a
+      relative path and it will be interpreted as being relative to
+      ``SOURCE_DIR``.
+
+  **Build Step Options:**
+    If the configure step assumed the external project uses CMake as its build
+    system, the build step will also. Otherwise, the build step will assume a
+    Makefile-based build and simply run ``make`` with no arguments as the
+    default build step. This can be overridden with custom build commands if
+    required.
+
+    ``BUILD_COMMAND <cmd>...``
+      Overrides the default build command
+      (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+      supported). If this option is not given, the default build command will
+      be chosen to integrate with the main build in the most appropriate way
+      (e.g. using recursive ``make`` for Makefile generators or
+      ``cmake --build`` if the project uses a CMake build). This option can be
+      specified with an empty string as the command to make the build step do
+      nothing.
+
+    ``BUILD_IN_SOURCE <bool>``
+      When this option is enabled, the build will be done directly within the
+      external project's source tree. This should generally be avoided, the use
+      of a separate build directory is usually preferred, but it can be useful
+      when the external project assumes an in-source build. The ``BINARY_DIR``
+      option should not be specified if building in-source.
+
+    ``BUILD_ALWAYS <bool>``
+      Enabling this option forces the build step to always be run. This can be
+      the easiest way to robustly ensure that the external project's own build
+      dependencies are evaluated rather than relying on the default
+      success timestamp-based method. This option is not normally needed unless
+      developers are expected to modify something the external project's build
+      depends on in a way that is not detectable via the step target
+      dependencies (e.g. ``SOURCE_DIR`` is used without a download method and
+      developers might modify the sources in ``SOURCE_DIR``).
+
+    ``BUILD_BYPRODUCTS <file>...``
+      Specifies files that will be generated by the build command but which
+      might or might not have their modification time updated by subsequent
+      builds. These ultimately get passed through as ``BYPRODUCTS`` to the
+      build step's own underlying call to :command:`add_custom_command`.
+
+  **Install Step Options:**
+    If the configure step assumed the external project uses CMake as its build
+    system, the install step will also. Otherwise, the install step will assume
+    a Makefile-based build and simply run ``make install`` as the default build
+    step. This can be overridden with custom install commands if required.
+
+    ``INSTALL_COMMAND <cmd>...``
+      The external project's own install step is invoked as part of the main
+      project's *build*. It is done after the external project's build step
+      and may be before or after the external project's test step (see the
+      ``TEST_BEFORE_INSTALL`` option below). The external project's install
+      rules are not part of the main project's install rules, so if anything
+      from the external project should be installed as part of the main build,
+      these need to be specified in the main build as additional
+      :command:`install` commands. The default install step builds the
+      ``install`` target of the external project, but this can be overridden
+      with a custom command using this option
+      (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+      supported). Passing an empty string as the ``<cmd>`` makes the install
+      step do nothing.
+
+  **Test Step Options:**
+    The test step is only defined if at least one of the following ``TEST_...``
+    options are provided.
+
+    ``TEST_COMMAND <cmd>...``
+      Overrides the default test command
+      (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+      supported). If this option is not given, the default behavior of the test
+      step is to build the external project's own ``test`` target. This option
+      can be specified with ``<cmd>`` as an empty string, which allows the test
+      step to still be defined, but it will do nothing. Do not specify any of
+      the other ``TEST_...`` options if providing an empty string as the test
+      command, but prefer to omit all ``TEST_...`` options altogether if the
+      test step target is not needed.
+
+    ``TEST_BEFORE_INSTALL <bool>``
+      When this option is enabled, the test step will be executed before the
+      install step. The default behavior is for the test step to run after the
+      install step.
+
+    ``TEST_AFTER_INSTALL <bool>``
+      This option is mainly useful as a way to indicate that the test step is
+      desired but all default behavior is sufficient. Specifying this option
+      with a boolean true value ensures the test step is defined and that it
+      comes after the install step. If both ``TEST_BEFORE_INSTALL`` and
+      ``TEST_AFTER_INSTALL`` are enabled, the latter is silently ignored.
+
+    ``TEST_EXCLUDE_FROM_MAIN <bool>``
+      If enabled, the main build's default ALL target will not depend on the
+      test step. This can be a useful way of ensuring the test step is defined
+      but only gets invoked when manually requested.
+
+  **Output Logging Options:**
+    Each of the following ``LOG_...`` options can be used to wrap the relevant
+    step in a script to capture its output to files. The log files will be
+    created in the ``STAMP_DIR`` directory with step-specific file names.
+
+    ``LOG_DOWNLOAD <bool>``
+      When enabled, the output of the download step is logged to files.
+
+    ``LOG_UPDATE <bool>``
+      When enabled, the output of the update step is logged to files.
+
+    ``LOG_CONFIGURE <bool>``
+      When enabled, the output of the configure step is logged to files.
+
+    ``LOG_BUILD <bool>``
+      When enabled, the output of the build step is logged to files.
+
+    ``LOG_INSTALL <bool>``
+      When enabled, the output of the install step is logged to files.
+
+    ``LOG_TEST <bool>``
+      When enabled, the output of the test step is logged to files.
+
+  **Terminal Access Options:**
+    Steps can be given direct access to the terminal in some cases. Giving a
+    step access to the terminal may allow it to receive terminal input if
+    required, such as for authentication details not provided by other options.
+    With the :generator:`Ninja` generator, these options place the steps in the
+    ``console`` :prop_gbl:`job pool <JOB_POOLS>`. Each step can be given access
+    to the terminal individually via the following options:
+
+    ``USES_TERMINAL_DOWNLOAD <bool>``
+      Give the download step access to the terminal.
+
+    ``USES_TERMINAL_UPDATE <bool>``
+      Give the update step access to the terminal.
+
+    ``USES_TERMINAL_CONFIGURE <bool>``
+      Give the configure step access to the terminal.
+
+    ``USES_TERMINAL_BUILD <bool>``
+      Give the build step access to the terminal.
+
+    ``USES_TERMINAL_INSTALL <bool>``
+      Give the install step access to the terminal.
+
+    ``USES_TERMINAL_TEST <bool>``
+      Give the test step access to the terminal.
+
+  **Target Options:**
+    ``DEPENDS <targets>...``
+      Specify other targets on which the external project depends. The other
+      targets will be brought up to date before any of the external project's
+      steps are executed. Because the external project uses additional custom
+      targets internally for each step, the ``DEPENDS`` option is the most
+      convenient way to ensure all of those steps depend on the other targets.
+      Simply doing
+      :command:`add_dependencies(\<name\> \<targets\>) <add_dependencies>` will
+      not make any of the steps dependent on ``<targets>``.
+
+    ``EXCLUDE_FROM_ALL <bool>``
+      When enabled, this option excludes the external project from the default
+      ALL target of the main build.
+
+    ``STEP_TARGETS <step-target>...``
+      Generate custom targets for the specified steps. This is required if the
+      steps need to be triggered manually or if they need to be used as
+      dependencies of other targets. If this option is not specified, the
+      default value is taken from the ``EP_STEP_TARGETS`` directory property.
+      See :command:`ExternalProject_Add_Step` below for further discussion of
+      the effects of this option.
+
+    ``INDEPENDENT_STEP_TARGETS <step-target>...``
+      Generate custom targets for the specified steps and prevent these targets
+      from having the usual dependencies applied to them. If this option is not
+      specified, the default value is taken from the
+      ``EP_INDEPENDENT_STEP_TARGETS`` directory property. This option is mostly
+      useful for allowing individual steps to be driven independently, such as
+      for a CDash setup where each step should be initiated and reported
+      individually rather than as one whole build. See
+      :command:`ExternalProject_Add_Step` below for further discussion of the
+      effects of this option.
+
+  **Miscellaneous Options:**
+    ``LIST_SEPARATOR <sep>``
+      For any of the various ``..._COMMAND`` options, replace ``;`` with
+      ``<sep>`` in the specified command lines. This can be useful where list
+      variables may be given in commands where they should end up as
+      space-separated arguments (``<sep>`` would be a single space character
+      string in this case).
+
+    ``COMMAND <cmd>...``
+      Any of the other ``..._COMMAND`` options can have additional commands
+      appended to them by following them with as many ``COMMAND ...`` options
+      as needed
+      (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+      supported). For example::
+
+        ExternalProject_Add(example
+          ... # Download options, etc.
+          BUILD_COMMAND ${CMAKE_COMMAND} -E echo "Starting $<CONFIG> build"
+          COMMAND       ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG>
+          COMMAND       ${CMAKE_COMMAND} -E echo "$<CONFIG> build complete"
+        )
+
+  It should also be noted that each build step is created via a call to
+  :command:`ExternalProject_Add_Step`. See that command's documentation for the
+  automatic substitutions that are supported for some options.
+
+Obtaining Project Properties
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. command:: ExternalProject_Get_Property
+
+  The ``ExternalProject_Get_Property()`` function retrieves external project
+  target properties::
+
+    ExternalProject_Get_Property(<name> <prop1> [<prop2>...])
+
+  The function stores property values in variables of the same name. Property
+  names correspond to the keyword argument names of ``ExternalProject_Add()``.
+  For example, the source directory might be retrieved like so:
+
+  .. code-block:: cmake
+
+    ExternalProject_Get_property(myExtProj SOURCE_DIR)
+    message("Source dir of myExtProj = ${SOURCE_DIR}")
+
+Explicit Step Management
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+The ``ExternalProject_Add()`` function on its own is often sufficient for
+incorporating an external project into the main build. Certain scenarios
+require additional work to implement desired behavior, such as adding in a
+custom step or making steps available as manually triggerable targets. The
+``ExternalProject_Add_Step()``, ``ExternalProject_Add_StepTargets()`` and
+``ExternalProject_Add_StepDependencies`` functions provide the lower level
+control needed to implement such step-level capabilities.
+
+.. command:: ExternalProject_Add_Step
+
+  The ``ExternalProject_Add_Step()`` function specifies an additional custom
+  step for an external project defined by an earlier call to
+  :command:`ExternalProject_Add`::
+
+    ExternalProject_Add_Step(<name> <step> [<option>...])
+
+  ``<name>`` is the same as the name passed to the original call to
+  :command:`ExternalProject_Add`. The specified ``<step>`` must not be one of
+  the pre-defined steps (``mkdir``, ``download``, ``update``, ``skip-update``,
+  ``patch``, ``configure``, ``build``, ``install`` or ``test``). The supported
+  options are:
+
+  ``COMMAND <cmd>...``
+    The command line to be executed by this custom step
+    (:manual:`generator expressions <cmake-generator-expressions(7)>` are
+    supported). This option can be repeated multiple times to specify multiple
+    commands to be executed in order.
+
+  ``COMMENT "<text>..."``
+    Text to be printed when the custom step executes.
+
+  ``DEPENDEES <step>...``
+    Other steps (custom or pre-defined) on which this step depends.
+
+  ``DEPENDERS <step>...``
+    Other steps (custom or pre-defined) that depend on this new custom step.
+
+  ``DEPENDS <file>...``
+    Files on which this custom step depends.
+
+  ``BYPRODUCTS <file>...``
+    Files that will be generated by this custom step but which might or might
+    not have their modification time updated by subsequent builds. This list of
+    files will ultimately be passed through as the ``BYPRODUCTS`` option to the
+    :command:`add_custom_command` used to implement the custom step internally.
+
+  ``ALWAYS <bool>``
+    When enabled, this option specifies that the custom step should always be
+    run (i.e. that it is always considered out of date).
+
+  ``EXCLUDE_FROM_MAIN <bool>``
+    When enabled, this option specifies that the external project's main target
+    does not depend on the custom step.
+
+  ``WORKING_DIRECTORY <dir>``
+    Specifies the working directory to set before running the custom step's
+    command. If this option is not specified, the directory will be the value
+    of the :variable:`CMAKE_CURRENT_BINARY_DIR` at the point where
+    ``ExternalProject_Add_Step()`` was called.
+
+  ``LOG <bool>``
+    If set, this causes the output from the custom step to be captured to files
+    in the external project's ``STAMP_DIR``.
+
+  ``USES_TERMINAL <bool>``
+    If enabled, this gives the custom step direct access to the terminal if
+    possible.
+
+  The command line, comment, working directory and byproducts of every
+  standard and custom step are processed to replace the tokens
+  ``<SOURCE_DIR>``, ``<SOURCE_SUBDIR>``, ``<BINARY_DIR>``, ``<INSTALL_DIR>``
+  and ``<TMP_DIR>`` with their corresponding property values defined in the
+  original call to :command:`ExternalProject_Add`.
+
+.. command:: ExternalProject_Add_StepTargets
+
+  The ``ExternalProject_Add_StepTargets()`` function generates targets for the
+  steps listed. The name of each created target will be of the form
+  ``<name>-<step>``::
+
+    ExternalProject_Add_StepTargets(<name> [NO_DEPENDS] <step1> [<step2>...])
+
+  Creating a target for a step allows it to be used as a dependency of another
+  target or to be triggered manually. Having targets for specific steps also
+  allows them to be driven independently of each other by specifying targets on
+  build command lines. For example, you may be submitting to a sub-project
+  based dashboard where you want to drive the configure portion of the build,
+  then submit to the dashboard, followed by the build portion, followed
+  by tests. If you invoke a custom target that depends on a step halfway
+  through the step dependency chain, then all the previous steps will also run
+  to ensure everything is up to date.
+
+  If the ``NO_DEPENDS`` option is specified, the step target will not depend on
+  the dependencies of the external project (i.e. on any dependencies of the
+  ``<name>`` custom target created by :command:`ExternalProject_Add`). This is
+  usually safe for the ``download``, ``update`` and ``patch`` steps, since they
+  do not typically require that the dependencies are updated and built. Using
+  ``NO_DEPENDS`` for any of the other pre-defined steps, however, may break
+  parallel builds. Only use ``NO_DEPENDS`` where it is certain that the named
+  steps genuinely do not have dependencies. For custom steps, consider whether
+  or not the custom commands require the dependencies to be configured, built
+  and installed.
+
+  Internally, :command:`ExternalProject_Add` calls
+  :command:`ExternalProject_Add_Step` to create each step. If any
+  ``STEP_TARGETS`` or ``INDEPENDENT_STEP_TARGETS`` were specified, then
+  ``ExternalProject_Add_StepTargets()`` will also be called after
+  :command:`ExternalProject_Add_Step`. ``INDEPENDENT_STEP_TARGETS`` have the
+  ``NO_DEPENDS`` option set, whereas ``STEP_TARGETS`` do not. Other than that,
+  the two options result in ``ExternalProject_Add_StepTargets()`` being called
+  in the same way. Even if a step is not mentioned in either of those two
+  options, ``ExternalProject_Add_StepTargets()`` can still be called later to
+  manually define a target for the step.
+
+  The ``STEP_TARGETS`` and ``INDEPENDENT_STEP_TARGETS`` options for
+  :command:`ExternalProject_Add` are generally the easiest way to ensure
+  targets are created for specific steps of interest. For custom steps,
+  ``ExternalProject_Add_StepTargets()`` must be called explicitly if a target
+  should also be created for that custom step. An alternative to these two
+  options is to populate the ``EP_STEP_TARGETS`` and
+  ``EP_INDEPENDENT_STEP_TARGETS`` directory properties. These act as defaults
+  for the step target options and can save having to repeatedly specify the
+  same set of step targets when multiple external projects are being defined.
+
+.. command:: ExternalProject_Add_StepDependencies
+
+  The ``ExternalProject_Add_StepDependencies()`` function can be used to add
+  dependencies to a step. The dependencies added must be targets CMake already
+  knows about (these can be ordinary executable or library targets, custom
+  targets or even step targets of another external project)::
+
+    ExternalProject_Add_StepDependencies(<name> <step> <target1> [<target2>...])
+
+  This function takes care to set both target and file level dependencies and
+  will ensure that parallel builds will not break. It should be used instead of
+  :command:`add_dependencies` whenever adding a dependency for some of the step
+  targets generated by the ``ExternalProject`` module.
+
+Examples
+^^^^^^^^
+
+The following example shows how to download and build a hypothetical project
+called *FooBar* from github:
+
+.. code-block:: cmake
+
+  include(ExternalProject)
+  ExternalProject_Add(foobar
+    GIT_REPOSITORY    git@github.com:FooCo/FooBar.git
+    GIT_TAG           origin/release/1.2.3
+  )
+
+For the sake of the example, also define a second hypothetical external project
+called *SecretSauce*, which is downloaded from a web server. Two URLs are given
+to take advantage of a faster internal network if available, with a fallback to
+a slower external server. The project is a typical ``Makefile`` project with no
+configure step, so some of the default commands are overridden. The build is
+only required to build the *sauce* target:
+
+.. code-block:: cmake
+
+  find_program(MAKE_EXE NAMES gmake nmake make)
+  ExternalProject_Add(secretsauce
+    URL               http://intranet.somecompany.com/artifacts/sauce-2.7.tgz
+                      https://www.somecompany.com/downloads/sauce-2.7.zip
+    URL_HASH          MD5=d41d8cd98f00b204e9800998ecf8427e
+    CONFIGURE_COMMAND ""
+    BUILD_COMMAND     ${MAKE_EXE} sauce
+  )
+
+Suppose the build step of ``secretsauce`` requires that ``foobar`` must already
+be built. This could be enforced like so:
+
+.. code-block:: cmake
+
+  ExternalProject_Add_StepDependencies(secretsauce build foobar)
+
+Another alternative would be to create a custom target for ``foobar``'s build
+step and make ``secretsauce`` depend on that rather than the whole ``foobar``
+project. This would mean ``foobar`` only needs to be built, it doesn't need to
+run its install or test steps before ``secretsauce`` can be built. The
+dependency can also be defined along with the ``secretsauce`` project:
+
+.. code-block:: cmake
+
+  ExternalProject_Add_StepTargets(foobar build)
+  ExternalProject_Add(secretsauce
+    URL               http://intranet.somecompany.com/artifacts/sauce-2.7.tgz
+                      https://www.somecompany.com/downloads/sauce-2.7.zip
+    URL_HASH          MD5=d41d8cd98f00b204e9800998ecf8427e
+    CONFIGURE_COMMAND ""
+    BUILD_COMMAND     ${MAKE_EXE} sauce
+    DEPENDS           foobar-build
+  )
+
+Instead of calling :command:`ExternalProject_Add_StepTargets`, the target could
+be defined along with the ``foobar`` project itself:
+
+.. code-block:: cmake
+
+  ExternalProject_Add(foobar
+    GIT_REPOSITORY git@github.com:FooCo/FooBar.git
+    GIT_TAG        origin/release/1.2.3
+    STEP_TARGETS   build
+  )
+
+If many external projects should have the same set of step targets, setting a
+directory property may be more convenient. The ``build`` step target could be
+created automatically by setting the ``EP_STEP_TARGETS`` directory property
+before creating the external projects with :command:`ExternalProject_Add`:
+
+.. code-block:: cmake
+
+  set_property(DIRECTORY PROPERTY EP_STEP_TARGETS build)
+
+Lastly, suppose that ``secretsauce`` provides a script called ``makedoc`` which
+can be used to generate its own documentation. Further suppose that the script
+expects the output directory to be provided as the only parameter and that it
+should be run from the ``secretsauce`` source directory. A custom step and a
+custom target to trigger the script can be defined like so:
+
+.. code-block:: cmake
+
+  ExternalProject_Add_Step(secretsauce docs
+    COMMAND           <SOURCE_DIR>/makedoc <BINARY_DIR>
+    WORKING_DIRECTORY <SOURCE_DIR>
+    COMMENT           "Building secretsauce docs"
+    ALWAYS            TRUE
+    EXCLUDE_FROM_MAIN TRUE
+  )
+  ExternalProject_Add_StepTargets(secretsauce docs)
+
+The custom step could then be triggered from the main build like so::
+
+  cmake --build . --target secretsauce-docs
+
+#]=======================================================================]
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0054 NEW) # if() quoted variables not dereferenced
+
+# Pre-compute a regex to match documented keywords for each command.
+math(EXPR _ep_documentation_line_count "${CMAKE_CURRENT_LIST_LINE} - 4")
+file(STRINGS "${CMAKE_CURRENT_LIST_FILE}" lines
+     LIMIT_COUNT ${_ep_documentation_line_count}
+     REGEX "^\\.\\. command:: [A-Za-z0-9_]+|^ +``[A-Z0-9_]+ [^`]*``$")
+foreach(line IN LISTS lines)
+  if("${line}" MATCHES "^\\.\\. command:: ([A-Za-z0-9_]+)")
+    if(_ep_func)
+      string(APPEND _ep_keywords_${_ep_func} ")$")
+    endif()
+    set(_ep_func "${CMAKE_MATCH_1}")
+    #message("function [${_ep_func}]")
+    set(_ep_keywords_${_ep_func} "^(")
+    set(_ep_keyword_sep)
+  elseif("${line}" MATCHES "^ +``([A-Z0-9_]+) [^`]*``$")
+    set(_ep_key "${CMAKE_MATCH_1}")
+    # COMMAND should never be included as a keyword,
+    # for ExternalProject_Add(), as it is treated as a
+    # special case by argument parsing as an extension
+    # of a previous ..._COMMAND
+    if("x${_ep_key}x" STREQUAL "xCOMMANDx" AND
+       "x${_ep_func}x" STREQUAL "xExternalProject_Addx")
+      continue()
+    endif()
+    #message("  keyword [${_ep_key}]")
+    string(APPEND _ep_keywords_${_ep_func}
+      "${_ep_keyword_sep}${_ep_key}")
+    set(_ep_keyword_sep "|")
+  endif()
+endforeach()
+if(_ep_func)
+  string(APPEND _ep_keywords_${_ep_func} ")$")
+endif()
+
+# Save regex matching supported hash algorithm names.
+set(_ep_hash_algos "MD5|SHA1|SHA224|SHA256|SHA384|SHA512|SHA3_224|SHA3_256|SHA3_384|SHA3_512")
+set(_ep_hash_regex "^(${_ep_hash_algos})=([0-9A-Fa-f]+)$")
+
+set(_ExternalProject_SELF "${CMAKE_CURRENT_LIST_FILE}")
+get_filename_component(_ExternalProject_SELF_DIR "${_ExternalProject_SELF}" PATH)
+
+function(_ep_parse_arguments f name ns args)
+  # Transfer the arguments to this function into target properties for the
+  # new custom target we just added so that we can set up all the build steps
+  # correctly based on target properties.
+  #
+  # We loop through ARGN and consider the namespace starting with an
+  # upper-case letter followed by at least two more upper-case letters,
+  # numbers or underscores to be keywords.
+  set(key)
+
+  foreach(arg IN LISTS args)
+    set(is_value 1)
+
+    if(arg MATCHES "^[A-Z][A-Z0-9_][A-Z0-9_]+$" AND
+        NOT (("x${arg}x" STREQUAL "x${key}x") AND ("x${key}x" STREQUAL "xCOMMANDx")) AND
+        NOT arg MATCHES "^(TRUE|FALSE)$")
+      if(_ep_keywords_${f} AND arg MATCHES "${_ep_keywords_${f}}")
+        set(is_value 0)
+      endif()
+    endif()
+
+    if(is_value)
+      if(key)
+        # Value
+        if(NOT arg STREQUAL "")
+          set_property(TARGET ${name} APPEND PROPERTY ${ns}${key} "${arg}")
+        else()
+          get_property(have_key TARGET ${name} PROPERTY ${ns}${key} SET)
+          if(have_key)
+            get_property(value TARGET ${name} PROPERTY ${ns}${key})
+            set_property(TARGET ${name} PROPERTY ${ns}${key} "${value};${arg}")
+          else()
+            set_property(TARGET ${name} PROPERTY ${ns}${key} "${arg}")
+          endif()
+        endif()
+      else()
+        # Missing Keyword
+        message(AUTHOR_WARNING "value '${arg}' with no previous keyword in ${f}")
+      endif()
+    else()
+      set(key "${arg}")
+    endif()
+  endforeach()
+endfunction()
+
+
+define_property(DIRECTORY PROPERTY "EP_BASE" INHERITED
+  BRIEF_DOCS "Base directory for External Project storage."
+  FULL_DOCS
+  "See documentation of the ExternalProject_Add() function in the "
+  "ExternalProject module."
+  )
+
+define_property(DIRECTORY PROPERTY "EP_PREFIX" INHERITED
+  BRIEF_DOCS "Top prefix for External Project storage."
+  FULL_DOCS
+  "See documentation of the ExternalProject_Add() function in the "
+  "ExternalProject module."
+  )
+
+define_property(DIRECTORY PROPERTY "EP_STEP_TARGETS" INHERITED
+  BRIEF_DOCS
+  "List of ExternalProject steps that automatically get corresponding targets"
+  FULL_DOCS
+  "These targets will be dependent on the main target dependencies. "
+  "See documentation of the ExternalProject_Add_StepTargets() function in the "
+  "ExternalProject module."
+  )
+
+define_property(DIRECTORY PROPERTY "EP_INDEPENDENT_STEP_TARGETS" INHERITED
+  BRIEF_DOCS
+  "List of ExternalProject steps that automatically get corresponding targets"
+  FULL_DOCS
+  "These targets will not be dependent on the main target dependencies. "
+  "See documentation of the ExternalProject_Add_StepTargets() function in the "
+  "ExternalProject module."
+  )
+
+define_property(DIRECTORY PROPERTY "EP_UPDATE_DISCONNECTED" INHERITED
+  BRIEF_DOCS "Never update automatically from the remote repo."
+  FULL_DOCS
+  "See documentation of the ExternalProject_Add() function in the "
+  "ExternalProject module."
+  )
+
+function(_ep_write_gitclone_script script_filename source_dir git_EXECUTABLE git_repository git_tag git_remote_name 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.7.10)
+    set(git_clone_shallow_options "--depth 1 --no-single-branch")
+  else()
+    set(git_clone_shallow_options "--depth 1")
+  endif()
+  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-- "--")
+  else()
+    # Use `git checkout <branch>` even though this risks ambiguity with a
+    # local path.  Unfortunately we cannot use `git checkout <tree-ish> --`
+    # because that will not search for remote branch names, a common use case.
+    set(git_checkout_explicit-- "")
+  endif()
+  file(WRITE ${script_filename}
+"if(\"${git_tag}\" STREQUAL \"\")
+  message(FATAL_ERROR \"Tag for git checkout should not be empty.\")
+endif()
+
+set(run 0)
+
+if(\"${gitclone_infofile}\" IS_NEWER_THAN \"${gitclone_stampfile}\")
+  set(run 1)
+endif()
+
+if(NOT run)
+  message(STATUS \"Avoiding repeated git clone, stamp file is up to date: '${gitclone_stampfile}'\")
+  return()
+endif()
+
+execute_process(
+  COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
+endif()
+
+set(git_options)
+
+# disable cert checking if explicitly told not to do it
+set(tls_verify \"${tls_verify}\")
+if(NOT \"x${tls_verify}\" STREQUAL \"x\" AND NOT tls_verify)
+  list(APPEND git_options
+    -c http.sslVerify=false)
+endif()
+
+set(git_clone_options)
+
+set(git_shallow \"${git_shallow}\")
+if(git_shallow)
+  list(APPEND git_clone_options ${git_clone_shallow_options})
+endif()
+
+set(git_progress \"${git_progress}\")
+if(git_progress)
+  list(APPEND git_clone_options --progress)
+endif()
+
+set(git_config \"${git_config}\")
+foreach(config IN LISTS git_config)
+  list(APPEND git_clone_options --config \${config})
+endforeach()
+
+# try the clone 3 times incase there is an odd git clone issue
+set(error_code 1)
+set(number_of_tries 0)
+while(error_code AND number_of_tries LESS 3)
+  execute_process(
+    COMMAND \"${git_EXECUTABLE}\" \${git_options} clone \${git_clone_options} --origin \"${git_remote_name}\" \"${git_repository}\" \"${src_name}\"
+    WORKING_DIRECTORY \"${work_dir}\"
+    RESULT_VARIABLE error_code
+    )
+  math(EXPR number_of_tries \"\${number_of_tries} + 1\")
+endwhile()
+if(number_of_tries GREATER 1)
+  message(STATUS \"Had to git clone more than once:
+          \${number_of_tries} times.\")
+endif()
+if(error_code)
+  message(FATAL_ERROR \"Failed to clone repository: '${git_repository}'\")
+endif()
+
+execute_process(
+  COMMAND \"${git_EXECUTABLE}\" \${git_options} checkout ${git_tag} ${git_checkout_explicit--}
+  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to checkout tag: '${git_tag}'\")
+endif()
+
+execute_process(
+  COMMAND \"${git_EXECUTABLE}\" \${git_options} submodule init ${git_submodules}
+  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to init submodules in: '${work_dir}/${src_name}'\")
+endif()
+
+execute_process(
+  COMMAND \"${git_EXECUTABLE}\" \${git_options} submodule update --recursive --init ${git_submodules}
+  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to update submodules in: '${work_dir}/${src_name}'\")
+endif()
+
+# Complete success, update the script-last-run stamp file:
+#
+execute_process(
+  COMMAND \${CMAKE_COMMAND} -E copy
+    \"${gitclone_infofile}\"
+    \"${gitclone_stampfile}\"
+  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to copy script-last-run stamp file: '${gitclone_stampfile}'\")
+endif()
+
+"
+)
+
+endfunction()
+
+function(_ep_write_hgclone_script script_filename source_dir hg_EXECUTABLE hg_repository hg_tag src_name work_dir hgclone_infofile hgclone_stampfile)
+  file(WRITE ${script_filename}
+"if(\"${hg_tag}\" STREQUAL \"\")
+  message(FATAL_ERROR \"Tag for hg checkout should not be empty.\")
+endif()
+
+set(run 0)
+
+if(\"${hgclone_infofile}\" IS_NEWER_THAN \"${hgclone_stampfile}\")
+  set(run 1)
+endif()
+
+if(NOT run)
+  message(STATUS \"Avoiding repeated hg clone, stamp file is up to date: '${hgclone_stampfile}'\")
+  return()
+endif()
+
+execute_process(
+  COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
+endif()
+
+execute_process(
+  COMMAND \"${hg_EXECUTABLE}\" clone -U \"${hg_repository}\" \"${src_name}\"
+  WORKING_DIRECTORY \"${work_dir}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to clone repository: '${hg_repository}'\")
+endif()
+
+execute_process(
+  COMMAND \"${hg_EXECUTABLE}\" update ${hg_tag}
+  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to checkout tag: '${hg_tag}'\")
+endif()
+
+# Complete success, update the script-last-run stamp file:
+#
+execute_process(
+  COMMAND \${CMAKE_COMMAND} -E copy
+    \"${hgclone_infofile}\"
+    \"${hgclone_stampfile}\"
+  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+  RESULT_VARIABLE error_code
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to copy script-last-run stamp file: '${hgclone_stampfile}'\")
+endif()
+
+"
+)
+
+endfunction()
+
+
+function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_remote_name git_submodules git_repository work_dir)
+  if(NOT GIT_VERSION_STRING VERSION_LESS 1.7.6)
+    set(git_stash_save_options --all --quiet)
+  else()
+    set(git_stash_save_options --quiet)
+  endif()
+  file(WRITE ${script_filename}
+"if(\"${git_tag}\" STREQUAL \"\")
+  message(FATAL_ERROR \"Tag for git checkout should not be empty.\")
+endif()
+
+execute_process(
+  COMMAND \"${git_EXECUTABLE}\" rev-list --max-count=1 HEAD
+  WORKING_DIRECTORY \"${work_dir}\"
+  RESULT_VARIABLE error_code
+  OUTPUT_VARIABLE head_sha
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+if(error_code)
+  message(FATAL_ERROR \"Failed to get the hash for HEAD\")
+endif()
+
+execute_process(
+  COMMAND \"${git_EXECUTABLE}\" show-ref ${git_tag}
+  WORKING_DIRECTORY \"${work_dir}\"
+  OUTPUT_VARIABLE show_ref_output
+  )
+# If a remote ref is asked for, which can possibly move around,
+# we must always do a fetch and checkout.
+if(\"\${show_ref_output}\" MATCHES \"remotes\")
+  set(is_remote_ref 1)
+else()
+  set(is_remote_ref 0)
+endif()
+
+# Tag is in the form <remote>/<tag> (i.e. origin/master) we must strip
+# the remote from the tag.
+if(\"\${show_ref_output}\" MATCHES \"refs/remotes/${git_tag}\")
+  string(REGEX MATCH \"^([^/]+)/(.+)$\" _unused \"${git_tag}\")
+  set(git_remote \"\${CMAKE_MATCH_1}\")
+  set(git_tag \"\${CMAKE_MATCH_2}\")
+else()
+  set(git_remote \"${git_remote_name}\")
+  set(git_tag \"${git_tag}\")
+endif()
+
+# This will fail if the tag does not exist (it probably has not been fetched
+# yet).
+execute_process(
+  COMMAND \"${git_EXECUTABLE}\" rev-list --max-count=1 ${git_tag}
+  WORKING_DIRECTORY \"${work_dir}\"
+  RESULT_VARIABLE error_code
+  OUTPUT_VARIABLE tag_sha
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+
+# Is the hash checkout out that we want?
+if(error_code OR is_remote_ref OR NOT (\"\${tag_sha}\" STREQUAL \"\${head_sha}\"))
+  execute_process(
+    COMMAND \"${git_EXECUTABLE}\" fetch
+    WORKING_DIRECTORY \"${work_dir}\"
+    RESULT_VARIABLE error_code
+    )
+  if(error_code)
+    message(FATAL_ERROR \"Failed to fetch repository '${git_repository}'\")
+  endif()
+
+  if(is_remote_ref)
+    # Check if stash is needed
+    execute_process(
+      COMMAND \"${git_EXECUTABLE}\" status --porcelain
+      WORKING_DIRECTORY \"${work_dir}\"
+      RESULT_VARIABLE error_code
+      OUTPUT_VARIABLE repo_status
+      )
+    if(error_code)
+      message(FATAL_ERROR \"Failed to get the status\")
+    endif()
+    string(LENGTH \"\${repo_status}\" need_stash)
+
+    # If not in clean state, stash changes in order to be able to be able to
+    # perform git pull --rebase
+    if(need_stash)
+      execute_process(
+        COMMAND \"${git_EXECUTABLE}\" stash save ${git_stash_save_options}
+        WORKING_DIRECTORY \"${work_dir}\"
+        RESULT_VARIABLE error_code
+        )
+      if(error_code)
+        message(FATAL_ERROR \"Failed to stash changes\")
+      endif()
+    endif()
+
+    # Pull changes from the remote branch
+    execute_process(
+      COMMAND \"${git_EXECUTABLE}\" rebase \${git_remote}/\${git_tag}
+      WORKING_DIRECTORY \"${work_dir}\"
+      RESULT_VARIABLE error_code
+      )
+    if(error_code)
+      # Rebase failed: Restore previous state.
+      execute_process(
+        COMMAND \"${git_EXECUTABLE}\" rebase --abort
+        WORKING_DIRECTORY \"${work_dir}\"
+      )
+      if(need_stash)
+        execute_process(
+          COMMAND \"${git_EXECUTABLE}\" stash pop --index --quiet
+          WORKING_DIRECTORY \"${work_dir}\"
+          )
+      endif()
+      message(FATAL_ERROR \"\\nFailed to rebase in: '${work_dir}/${src_name}'.\\nYou will have to resolve the conflicts manually\")
+    endif()
+
+    if(need_stash)
+      execute_process(
+        COMMAND \"${git_EXECUTABLE}\" stash pop --index --quiet
+        WORKING_DIRECTORY \"${work_dir}\"
+        RESULT_VARIABLE error_code
+        )
+      if(error_code)
+        # Stash pop --index failed: Try again dropping the index
+        execute_process(
+          COMMAND \"${git_EXECUTABLE}\" reset --hard --quiet
+          WORKING_DIRECTORY \"${work_dir}\"
+          RESULT_VARIABLE error_code
+          )
+        execute_process(
+          COMMAND \"${git_EXECUTABLE}\" stash pop --quiet
+          WORKING_DIRECTORY \"${work_dir}\"
+          RESULT_VARIABLE error_code
+          )
+        if(error_code)
+          # Stash pop failed: Restore previous state.
+          execute_process(
+            COMMAND \"${git_EXECUTABLE}\" reset --hard --quiet \${head_sha}
+            WORKING_DIRECTORY \"${work_dir}\"
+          )
+          execute_process(
+            COMMAND \"${git_EXECUTABLE}\" stash pop --index --quiet
+            WORKING_DIRECTORY \"${work_dir}\"
+          )
+          message(FATAL_ERROR \"\\nFailed to unstash changes in: '${work_dir}/${src_name}'.\\nYou will have to resolve the conflicts manually\")
+        endif()
+      endif()
+    endif()
+  else()
+    execute_process(
+      COMMAND \"${git_EXECUTABLE}\" checkout ${git_tag}
+      WORKING_DIRECTORY \"${work_dir}\"
+      RESULT_VARIABLE error_code
+      )
+    if(error_code)
+      message(FATAL_ERROR \"Failed to checkout tag: '${git_tag}'\")
+    endif()
+  endif()
+
+  execute_process(
+    COMMAND \"${git_EXECUTABLE}\" submodule update --recursive --init ${git_submodules}
+    WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+    RESULT_VARIABLE error_code
+    )
+  if(error_code)
+    message(FATAL_ERROR \"Failed to update submodules in: '${work_dir}/${src_name}'\")
+  endif()
+endif()
+
+"
+)
+
+endfunction(_ep_write_gitupdate_script)
+
+function(_ep_write_downloadfile_script script_filename REMOTE LOCAL timeout no_progress hash tls_verify tls_cainfo userpwd http_headers)
+  if(timeout)
+    set(TIMEOUT_ARGS TIMEOUT ${timeout})
+    set(TIMEOUT_MSG "${timeout} seconds")
+  else()
+    set(TIMEOUT_ARGS "# no TIMEOUT")
+    set(TIMEOUT_MSG "none")
+  endif()
+
+  if(no_progress)
+    set(SHOW_PROGRESS "")
+  else()
+    set(SHOW_PROGRESS "SHOW_PROGRESS")
+  endif()
+
+  if("${hash}" MATCHES "${_ep_hash_regex}")
+    set(ALGO "${CMAKE_MATCH_1}")
+    string(TOLOWER "${CMAKE_MATCH_2}" EXPECT_VALUE)
+  else()
+    set(ALGO "")
+    set(EXPECT_VALUE "")
+  endif()
+
+  set(TLS_VERIFY_CODE "")
+  set(TLS_CAINFO_CODE "")
+
+  # check for curl globals in the project
+  if(DEFINED CMAKE_TLS_VERIFY)
+    set(TLS_VERIFY_CODE "set(CMAKE_TLS_VERIFY ${CMAKE_TLS_VERIFY})")
+  endif()
+  if(DEFINED CMAKE_TLS_CAINFO)
+    set(TLS_CAINFO_CODE "set(CMAKE_TLS_CAINFO \"${CMAKE_TLS_CAINFO}\")")
+  endif()
+
+  # now check for curl locals so that the local values
+  # will override the globals
+
+  # check for tls_verify argument
+  string(LENGTH "${tls_verify}" tls_verify_len)
+  if(tls_verify_len GREATER 0)
+    set(TLS_VERIFY_CODE "set(CMAKE_TLS_VERIFY ${tls_verify})")
+  endif()
+  # check for tls_cainfo argument
+  string(LENGTH "${tls_cainfo}" tls_cainfo_len)
+  if(tls_cainfo_len GREATER 0)
+    set(TLS_CAINFO_CODE "set(CMAKE_TLS_CAINFO \"${tls_cainfo}\")")
+  endif()
+
+  if(userpwd STREQUAL ":")
+    set(USERPWD_ARGS)
+  else()
+    set(USERPWD_ARGS USERPWD "${userpwd}")
+  endif()
+
+  set(HTTP_HEADERS_ARGS "")
+  if(NOT http_headers STREQUAL "")
+    foreach(header ${http_headers})
+      set(
+          HTTP_HEADERS_ARGS
+          "HTTPHEADER \"${header}\"\n        ${HTTP_HEADERS_ARGS}"
+      )
+    endforeach()
+  endif()
+
+  # Used variables:
+  # * TLS_VERIFY_CODE
+  # * TLS_CAINFO_CODE
+  # * ALGO
+  # * EXPECT_VALUE
+  # * REMOTE
+  # * LOCAL
+  # * SHOW_PROGRESS
+  # * TIMEOUT_ARGS
+  # * TIMEOUT_MSG
+  # * USERPWD_ARGS
+  # * HTTP_HEADERS_ARGS
+  configure_file(
+      "${_ExternalProject_SELF_DIR}/ExternalProject-download.cmake.in"
+      "${script_filename}"
+      @ONLY
+  )
+endfunction()
+
+function(_ep_write_verifyfile_script script_filename LOCAL hash)
+  if("${hash}" MATCHES "${_ep_hash_regex}")
+    set(ALGO "${CMAKE_MATCH_1}")
+    string(TOLOWER "${CMAKE_MATCH_2}" EXPECT_VALUE)
+  else()
+    set(ALGO "")
+    set(EXPECT_VALUE "")
+  endif()
+
+  # Used variables:
+  # * ALGO
+  # * EXPECT_VALUE
+  # * LOCAL
+  configure_file(
+      "${_ExternalProject_SELF_DIR}/ExternalProject-verify.cmake.in"
+      "${script_filename}"
+      @ONLY
+  )
+endfunction()
+
+
+function(_ep_write_extractfile_script script_filename name filename directory)
+  set(args "")
+
+  if(filename MATCHES "(\\.|=)(7z|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
+    set(args xfz)
+  endif()
+
+  if(filename MATCHES "(\\.|=)tar$")
+    set(args xf)
+  endif()
+
+  if(args STREQUAL "")
+    message(SEND_ERROR "error: do not know how to extract '${filename}' -- known types are .7z, .tar, .tar.bz2, .tar.gz, .tar.xz, .tbz2, .tgz, .txz and .zip")
+    return()
+  endif()
+
+  file(WRITE ${script_filename}
+"# Make file names absolute:
+#
+get_filename_component(filename \"${filename}\" ABSOLUTE)
+get_filename_component(directory \"${directory}\" ABSOLUTE)
+
+message(STATUS \"extracting...
+     src='\${filename}'
+     dst='\${directory}'\")
+
+if(NOT EXISTS \"\${filename}\")
+  message(FATAL_ERROR \"error: file to extract does not exist: '\${filename}'\")
+endif()
+
+# Prepare a space for extracting:
+#
+set(i 1234)
+while(EXISTS \"\${directory}/../ex-${name}\${i}\")
+  math(EXPR i \"\${i} + 1\")
+endwhile()
+set(ut_dir \"\${directory}/../ex-${name}\${i}\")
+file(MAKE_DIRECTORY \"\${ut_dir}\")
+
+# Extract it:
+#
+message(STATUS \"extracting... [tar ${args}]\")
+execute_process(COMMAND \${CMAKE_COMMAND} -E tar ${args} \${filename}
+  WORKING_DIRECTORY \${ut_dir}
+  RESULT_VARIABLE rv)
+
+if(NOT rv EQUAL 0)
+  message(STATUS \"extracting... [error clean up]\")
+  file(REMOVE_RECURSE \"\${ut_dir}\")
+  message(FATAL_ERROR \"error: extract of '\${filename}' failed\")
+endif()
+
+# Analyze what came out of the tar file:
+#
+message(STATUS \"extracting... [analysis]\")
+file(GLOB contents \"\${ut_dir}/*\")
+list(REMOVE_ITEM contents \"\${ut_dir}/.DS_Store\")
+list(LENGTH contents n)
+if(NOT n EQUAL 1 OR NOT IS_DIRECTORY \"\${contents}\")
+  set(contents \"\${ut_dir}\")
+endif()
+
+# Move \"the one\" directory to the final directory:
+#
+message(STATUS \"extracting... [rename]\")
+file(REMOVE_RECURSE \${directory})
+get_filename_component(contents \${contents} ABSOLUTE)
+file(RENAME \${contents} \${directory})
+
+# Clean up:
+#
+message(STATUS \"extracting... [clean up]\")
+file(REMOVE_RECURSE \"\${ut_dir}\")
+
+message(STATUS \"extracting... done\")
+"
+)
+
+endfunction()
+
+
+function(_ep_set_directories name)
+  get_property(prefix TARGET ${name} PROPERTY _EP_PREFIX)
+  if(NOT prefix)
+    get_property(prefix DIRECTORY PROPERTY EP_PREFIX)
+    if(NOT prefix)
+      get_property(base DIRECTORY PROPERTY EP_BASE)
+      if(NOT base)
+        set(prefix "${name}-prefix")
+      endif()
+    endif()
+  endif()
+  if(prefix)
+    set(tmp_default "${prefix}/tmp")
+    set(download_default "${prefix}/src")
+    set(source_default "${prefix}/src/${name}")
+    set(binary_default "${prefix}/src/${name}-build")
+    set(stamp_default "${prefix}/src/${name}-stamp")
+    set(install_default "${prefix}")
+  else()
+    set(tmp_default "${base}/tmp/${name}")
+    set(download_default "${base}/Download/${name}")
+    set(source_default "${base}/Source/${name}")
+    set(binary_default "${base}/Build/${name}")
+    set(stamp_default "${base}/Stamp/${name}")
+    set(install_default "${base}/Install/${name}")
+  endif()
+  get_property(build_in_source TARGET ${name} PROPERTY _EP_BUILD_IN_SOURCE)
+  if(build_in_source)
+    get_property(have_binary_dir TARGET ${name} PROPERTY _EP_BINARY_DIR SET)
+    if(have_binary_dir)
+      message(FATAL_ERROR
+        "External project ${name} has both BINARY_DIR and BUILD_IN_SOURCE!")
+    endif()
+  endif()
+  set(top "${CMAKE_CURRENT_BINARY_DIR}")
+  set(places stamp download source binary install tmp)
+  foreach(var ${places})
+    string(TOUPPER "${var}" VAR)
+    get_property(${var}_dir TARGET ${name} PROPERTY _EP_${VAR}_DIR)
+    if(NOT ${var}_dir)
+      set(${var}_dir "${${var}_default}")
+    endif()
+    if(NOT IS_ABSOLUTE "${${var}_dir}")
+      get_filename_component(${var}_dir "${top}/${${var}_dir}" ABSOLUTE)
+    endif()
+    set_property(TARGET ${name} PROPERTY _EP_${VAR}_DIR "${${var}_dir}")
+  endforeach()
+  get_property(source_subdir TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR)
+  if(NOT source_subdir)
+    set_property(TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR "")
+  elseif(IS_ABSOLUTE "${source_subdir}")
+    message(FATAL_ERROR
+      "External project ${name} has non-relative SOURCE_SUBDIR!")
+  else()
+    # Prefix with a slash so that when appended to the source directory, it
+    # behaves as expected.
+    set_property(TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR "/${source_subdir}")
+  endif()
+  if(build_in_source)
+    get_property(source_dir TARGET ${name} PROPERTY _EP_SOURCE_DIR)
+    set_property(TARGET ${name} PROPERTY _EP_BINARY_DIR "${source_dir}")
+  endif()
+
+  # Make the directories at CMake configure time *and* add a custom command
+  # to make them at build time. They need to exist at makefile generation
+  # time for Borland make and wmake so that CMake may generate makefiles
+  # with "cd C:\short\paths\with\no\spaces" commands in them.
+  #
+  # Additionally, the add_custom_command is still used in case somebody
+  # removes one of the necessary directories and tries to rebuild without
+  # re-running cmake.
+  foreach(var ${places})
+    string(TOUPPER "${var}" VAR)
+    get_property(dir TARGET ${name} PROPERTY _EP_${VAR}_DIR)
+    file(MAKE_DIRECTORY "${dir}")
+    if(NOT EXISTS "${dir}")
+      message(FATAL_ERROR "dir '${dir}' does not exist after file(MAKE_DIRECTORY)")
+    endif()
+  endforeach()
+endfunction()
+
+
+# IMPORTANT: this MUST be a macro and not a function because of the
+# in-place replacements that occur in each ${var}
+#
+macro(_ep_replace_location_tags target_name)
+  set(vars ${ARGN})
+  foreach(var ${vars})
+    if(${var})
+      foreach(dir SOURCE_DIR SOURCE_SUBDIR BINARY_DIR INSTALL_DIR TMP_DIR DOWNLOADED_FILE)
+        get_property(val TARGET ${target_name} PROPERTY _EP_${dir})
+        string(REPLACE "<${dir}>" "${val}" ${var} "${${var}}")
+      endforeach()
+    endif()
+  endforeach()
+endmacro()
+
+
+function(_ep_command_line_to_initial_cache var args force)
+  set(script_initial_cache "")
+  set(regex "^([^:]+):([^=]+)=(.*)$")
+  set(setArg "")
+  set(forceArg "")
+  if(force)
+    set(forceArg "FORCE")
+  endif()
+  foreach(line ${args})
+    if("${line}" MATCHES "^-D(.*)")
+      set(line "${CMAKE_MATCH_1}")
+      if(setArg)
+        # This is required to build up lists in variables, or complete an entry
+        string(APPEND setArg "${accumulator}\" CACHE ${type} \"Initial cache\" ${forceArg})")
+        string(APPEND script_initial_cache "\n${setArg}")
+        set(accumulator "")
+        set(setArg "")
+      endif()
+      if("${line}" MATCHES "${regex}")
+        set(name "${CMAKE_MATCH_1}")
+        set(type "${CMAKE_MATCH_2}")
+        set(value "${CMAKE_MATCH_3}")
+        set(setArg "set(${name} \"${value}")
+      else()
+        message(WARNING "Line '${line}' does not match regex. Ignoring.")
+      endif()
+    else()
+      # Assume this is a list to append to the last var
+      string(APPEND accumulator ";${line}")
+    endif()
+  endforeach()
+  # Catch the final line of the args
+  if(setArg)
+    string(APPEND setArg "${accumulator}\" CACHE ${type} \"Initial cache\" ${forceArg})")
+    string(APPEND script_initial_cache "\n${setArg}")
+  endif()
+  set(${var} ${script_initial_cache} PARENT_SCOPE)
+endfunction()
+
+
+function(_ep_write_initial_cache target_name script_filename script_initial_cache)
+  # Write out values into an initial cache, that will be passed to CMake with -C
+  # Replace location tags.
+  _ep_replace_location_tags(${target_name} script_initial_cache)
+  _ep_replace_location_tags(${target_name} script_filename)
+  # Write out the initial cache file to the location specified.
+  file(GENERATE OUTPUT "${script_filename}" CONTENT "${script_initial_cache}")
+endfunction()
+
+
+function(ExternalProject_Get_Property name)
+  foreach(var ${ARGN})
+    string(TOUPPER "${var}" VAR)
+    get_property(is_set TARGET ${name} PROPERTY _EP_${VAR} SET)
+    if(NOT is_set)
+      message(FATAL_ERROR "External project \"${name}\" has no ${var}")
+    endif()
+    get_property(${var} TARGET ${name} PROPERTY _EP_${VAR})
+    set(${var} "${${var}}" PARENT_SCOPE)
+  endforeach()
+endfunction()
+
+
+function(_ep_get_configure_command_id name cfg_cmd_id_var)
+  get_target_property(cmd ${name} _EP_CONFIGURE_COMMAND)
+
+  if(cmd STREQUAL "")
+    # Explicit empty string means no configure step for this project
+    set(${cfg_cmd_id_var} "none" PARENT_SCOPE)
+  else()
+    if(NOT cmd)
+      # Default is "use cmake":
+      set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
+    else()
+      # Otherwise we have to analyze the value:
+      if(cmd MATCHES "^[^;]*/configure")
+        set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
+      elseif(cmd MATCHES "^[^;]*/cmake" AND NOT cmd MATCHES ";-[PE];")
+        set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
+      elseif(cmd MATCHES "config")
+        set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
+      else()
+        set(${cfg_cmd_id_var} "unknown:${cmd}" PARENT_SCOPE)
+      endif()
+    endif()
+  endif()
+endfunction()
+
+
+function(_ep_get_build_command name step cmd_var)
+  set(cmd "")
+  set(args)
+  _ep_get_configure_command_id(${name} cfg_cmd_id)
+  if(cfg_cmd_id STREQUAL "cmake")
+    # CMake project.  Select build command based on generator.
+    get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
+    if("${CMAKE_GENERATOR}" MATCHES "Make" AND
+       ("${cmake_generator}" MATCHES "Make" OR NOT cmake_generator))
+      # The project uses the same Makefile generator.  Use recursive make.
+      set(cmd "$(MAKE)")
+      if(step STREQUAL "INSTALL")
+        set(args install)
+      endif()
+      if("x${step}x" STREQUAL "xTESTx")
+        set(args test)
+      endif()
+    else()
+      # Drive the project with "cmake --build".
+      get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND)
+      if(cmake_command)
+        set(cmd "${cmake_command}")
+      else()
+        set(cmd "${CMAKE_COMMAND}")
+      endif()
+      set(args --build ".")
+      if(CMAKE_CONFIGURATION_TYPES)
+        if (CMAKE_CFG_INTDIR AND
+            NOT CMAKE_CFG_INTDIR STREQUAL "." AND
+            NOT CMAKE_CFG_INTDIR MATCHES "\\$")
+          # CMake 3.4 and below used the CMAKE_CFG_INTDIR placeholder value
+          # provided by multi-configuration generators.  Some projects were
+          # taking advantage of that undocumented implementation detail to
+          # specify a specific configuration here.  They should use
+          # BUILD_COMMAND to change the default command instead, but for
+          # compatibility honor the value.
+          set(config ${CMAKE_CFG_INTDIR})
+          message(AUTHOR_WARNING "CMAKE_CFG_INTDIR should not be set by project code.\n"
+            "To get a non-default build command, use the BUILD_COMMAND option.")
+        else()
+          set(config $<CONFIG>)
+        endif()
+        list(APPEND args --config ${config})
+      endif()
+      if(step STREQUAL "INSTALL")
+        list(APPEND args --target install)
+      endif()
+      # But for "TEST" drive the project with corresponding "ctest".
+      if("x${step}x" STREQUAL "xTESTx")
+        string(REGEX REPLACE "^(.*/)cmake([^/]*)$" "\\1ctest\\2" cmd "${cmd}")
+        set(args "")
+        if(CMAKE_CONFIGURATION_TYPES)
+          list(APPEND args -C ${config})
+        endif()
+      endif()
+    endif()
+  else()
+    # Non-CMake project.  Guess "make" and "make install" and "make test".
+    if("${CMAKE_GENERATOR}" MATCHES "Makefiles")
+      # Try to get the parallel arguments
+      set(cmd "$(MAKE)")
+    else()
+      set(cmd "make")
+    endif()
+    if(step STREQUAL "INSTALL")
+      set(args install)
+    endif()
+    if("x${step}x" STREQUAL "xTESTx")
+      set(args test)
+    endif()
+  endif()
+
+  # Use user-specified arguments instead of default arguments, if any.
+  get_property(have_args TARGET ${name} PROPERTY _EP_${step}_ARGS SET)
+  if(have_args)
+    get_target_property(args ${name} _EP_${step}_ARGS)
+  endif()
+
+  list(APPEND cmd ${args})
+  set(${cmd_var} "${cmd}" PARENT_SCOPE)
+endfunction()
+
+function(_ep_write_log_script name step cmd_var)
+  ExternalProject_Get_Property(${name} stamp_dir)
+  set(command "${${cmd_var}}")
+
+  set(make "")
+  set(code_cygpath_make "")
+  if(command MATCHES "^\\$\\(MAKE\\)")
+    # GNU make recognizes the string "$(MAKE)" as recursive make, so
+    # ensure that it appears directly in the makefile.
+    string(REGEX REPLACE "^\\$\\(MAKE\\)" "\${make}" command "${command}")
+    set(make "-Dmake=$(MAKE)")
+
+    if(WIN32 AND NOT CYGWIN)
+      set(code_cygpath_make "
+if(\${make} MATCHES \"^/\")
+  execute_process(
+    COMMAND cygpath -w \${make}
+    OUTPUT_VARIABLE cygpath_make
+    ERROR_VARIABLE cygpath_make
+    RESULT_VARIABLE cygpath_error
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+  if(NOT cygpath_error)
+    set(make \${cygpath_make})
+  endif()
+endif()
+")
+    endif()
+  endif()
+
+  set(config "")
+  if("${CMAKE_CFG_INTDIR}" MATCHES "^\\$")
+    string(REPLACE "${CMAKE_CFG_INTDIR}" "\${config}" command "${command}")
+    set(config "-Dconfig=${CMAKE_CFG_INTDIR}")
+  endif()
+
+  # Wrap multiple 'COMMAND' lines up into a second-level wrapper
+  # script so all output can be sent to one log file.
+  if(command MATCHES "(^|;)COMMAND;")
+    set(code_execute_process "
+${code_cygpath_make}
+execute_process(COMMAND \${command} RESULT_VARIABLE result)
+if(result)
+  set(msg \"Command failed (\${result}):\\n\")
+  foreach(arg IN LISTS command)
+    set(msg \"\${msg} '\${arg}'\")
+  endforeach()
+  message(FATAL_ERROR \"\${msg}\")
+endif()
+")
+    set(code "")
+    set(cmd "")
+    set(sep "")
+    foreach(arg IN LISTS command)
+      if("x${arg}" STREQUAL "xCOMMAND")
+        if(NOT "x${cmd}" STREQUAL "x")
+          string(APPEND code "set(command \"${cmd}\")${code_execute_process}")
+        endif()
+        set(cmd "")
+        set(sep "")
+      else()
+        string(APPEND cmd "${sep}${arg}")
+        set(sep ";")
+      endif()
+    endforeach()
+    string(APPEND code "set(command \"${cmd}\")${code_execute_process}")
+    file(GENERATE OUTPUT "${stamp_dir}/${name}-${step}-$<CONFIG>-impl.cmake" CONTENT "${code}")
+    set(command ${CMAKE_COMMAND} "-Dmake=\${make}" "-Dconfig=\${config}" -P ${stamp_dir}/${name}-${step}-$<CONFIG>-impl.cmake)
+  endif()
+
+  # Wrap the command in a script to log output to files.
+  set(script ${stamp_dir}/${name}-${step}-$<CONFIG>.cmake)
+  set(logbase ${stamp_dir}/${name}-${step})
+  set(code "
+${code_cygpath_make}
+set(command \"${command}\")
+execute_process(
+  COMMAND \${command}
+  RESULT_VARIABLE result
+  OUTPUT_FILE \"${logbase}-out.log\"
+  ERROR_FILE \"${logbase}-err.log\"
+  )
+if(result)
+  set(msg \"Command failed: \${result}\\n\")
+  foreach(arg IN LISTS command)
+    set(msg \"\${msg} '\${arg}'\")
+  endforeach()
+  set(msg \"\${msg}\\nSee also\\n  ${logbase}-*.log\")
+  message(FATAL_ERROR \"\${msg}\")
+else()
+  set(msg \"${name} ${step} command succeeded.  See also ${logbase}-*.log\")
+  message(STATUS \"\${msg}\")
+endif()
+")
+  file(GENERATE OUTPUT "${script}" CONTENT "${code}")
+  set(command ${CMAKE_COMMAND} ${make} ${config} -P ${script})
+  set(${cmd_var} "${command}" PARENT_SCOPE)
+endfunction()
+
+# This module used to use "/${CMAKE_CFG_INTDIR}" directly and produced
+# makefiles with "/./" in paths for custom command dependencies. Which
+# resulted in problems with parallel make -j invocations.
+#
+# This function was added so that the suffix (search below for ${cfgdir}) is
+# only set to "/${CMAKE_CFG_INTDIR}" when ${CMAKE_CFG_INTDIR} is not going to
+# be "." (multi-configuration build systems like Visual Studio and Xcode...)
+#
+function(_ep_get_configuration_subdir_suffix suffix_var)
+  set(suffix "")
+  if(CMAKE_CONFIGURATION_TYPES)
+    set(suffix "/${CMAKE_CFG_INTDIR}")
+  endif()
+  set(${suffix_var} "${suffix}" PARENT_SCOPE)
+endfunction()
+
+
+function(_ep_get_step_stampfile name step stampfile_var)
+  ExternalProject_Get_Property(${name} stamp_dir)
+
+  _ep_get_configuration_subdir_suffix(cfgdir)
+  set(stampfile "${stamp_dir}${cfgdir}/${name}-${step}")
+
+  set(${stampfile_var} "${stampfile}" PARENT_SCOPE)
+endfunction()
+
+
+function(_ep_get_complete_stampfile name stampfile_var)
+  set(cmf_dir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles)
+  _ep_get_configuration_subdir_suffix(cfgdir)
+  set(stampfile "${cmf_dir}${cfgdir}/${name}-complete")
+
+  set(${stampfile_var} ${stampfile} PARENT_SCOPE)
+endfunction()
+
+
+function(ExternalProject_Add_StepTargets name)
+  set(steps ${ARGN})
+  if(ARGC GREATER 1 AND "${ARGV1}" STREQUAL "NO_DEPENDS")
+    set(no_deps 1)
+    list(REMOVE_AT steps 0)
+  endif()
+  foreach(step ${steps})
+    if(no_deps  AND  "${step}" MATCHES "^(configure|build|install|test)$")
+      message(AUTHOR_WARNING "Using NO_DEPENDS for \"${step}\" step  might break parallel builds")
+    endif()
+    _ep_get_step_stampfile(${name} ${step} stamp_file)
+    add_custom_target(${name}-${step}
+      DEPENDS ${stamp_file})
+    set_property(TARGET ${name}-${step} PROPERTY _EP_IS_EXTERNAL_PROJECT_STEP 1)
+    set_property(TARGET ${name}-${step} PROPERTY LABELS ${name})
+    set_property(TARGET ${name}-${step} PROPERTY FOLDER "ExternalProjectTargets/${name}")
+
+    # Depend on other external projects (target-level).
+    if(NOT no_deps)
+      get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
+      foreach(arg IN LISTS deps)
+        add_dependencies(${name}-${step} ${arg})
+      endforeach()
+    endif()
+  endforeach()
+endfunction()
+
+
+function(ExternalProject_Add_Step name step)
+  _ep_get_complete_stampfile(${name} complete_stamp_file)
+  _ep_get_step_stampfile(${name} ${step} stamp_file)
+
+  _ep_parse_arguments(ExternalProject_Add_Step
+                      ${name} _EP_${step}_ "${ARGN}")
+
+  get_property(exclude_from_main TARGET ${name} PROPERTY _EP_${step}_EXCLUDE_FROM_MAIN)
+  if(NOT exclude_from_main)
+    add_custom_command(APPEND
+      OUTPUT ${complete_stamp_file}
+      DEPENDS ${stamp_file}
+      )
+  endif()
+
+  # Steps depending on this step.
+  get_property(dependers TARGET ${name} PROPERTY _EP_${step}_DEPENDERS)
+  foreach(depender IN LISTS dependers)
+    _ep_get_step_stampfile(${name} ${depender} depender_stamp_file)
+    add_custom_command(APPEND
+      OUTPUT ${depender_stamp_file}
+      DEPENDS ${stamp_file}
+      )
+  endforeach()
+
+  # Dependencies on files.
+  get_property(depends TARGET ${name} PROPERTY _EP_${step}_DEPENDS)
+
+  # Byproducts of the step.
+  get_property(byproducts TARGET ${name} PROPERTY _EP_${step}_BYPRODUCTS)
+
+  # Dependencies on steps.
+  get_property(dependees TARGET ${name} PROPERTY _EP_${step}_DEPENDEES)
+  foreach(dependee IN LISTS dependees)
+    _ep_get_step_stampfile(${name} ${dependee} dependee_stamp_file)
+    list(APPEND depends ${dependee_stamp_file})
+  endforeach()
+
+  # The command to run.
+  get_property(command TARGET ${name} PROPERTY _EP_${step}_COMMAND)
+  if(command)
+    set(comment "Performing ${step} step for '${name}'")
+  else()
+    set(comment "No ${step} step for '${name}'")
+  endif()
+  get_property(work_dir TARGET ${name} PROPERTY _EP_${step}_WORKING_DIRECTORY)
+
+  # Replace list separators.
+  get_property(sep TARGET ${name} PROPERTY _EP_LIST_SEPARATOR)
+  if(sep AND command)
+    string(REPLACE "${sep}" "\\;" command "${command}")
+  endif()
+
+  # Replace location tags.
+  _ep_replace_location_tags(${name} comment command work_dir byproducts)
+
+  # Custom comment?
+  get_property(comment_set TARGET ${name} PROPERTY _EP_${step}_COMMENT SET)
+  if(comment_set)
+    get_property(comment TARGET ${name} PROPERTY _EP_${step}_COMMENT)
+  endif()
+
+  # Uses terminal?
+  get_property(uses_terminal TARGET ${name} PROPERTY _EP_${step}_USES_TERMINAL)
+  if(uses_terminal)
+    set(uses_terminal USES_TERMINAL)
+  else()
+    set(uses_terminal "")
+  endif()
+
+  # Run every time?
+  get_property(always TARGET ${name} PROPERTY _EP_${step}_ALWAYS)
+  if(always)
+    set_property(SOURCE ${stamp_file} PROPERTY SYMBOLIC 1)
+    set(touch)
+    # Remove any existing stamp in case the option changed in an existing tree.
+    if(CMAKE_CONFIGURATION_TYPES)
+      foreach(cfg ${CMAKE_CONFIGURATION_TYPES})
+        string(REPLACE "/${CMAKE_CFG_INTDIR}" "/${cfg}" stamp_file_config "${stamp_file}")
+        file(REMOVE ${stamp_file_config})
+      endforeach()
+    else()
+      file(REMOVE ${stamp_file})
+    endif()
+  else()
+    set(touch ${CMAKE_COMMAND} -E touch ${stamp_file})
+  endif()
+
+  # Wrap with log script?
+  get_property(log TARGET ${name} PROPERTY _EP_${step}_LOG)
+  if(command AND log)
+    _ep_write_log_script(${name} ${step} command)
+  endif()
+
+  if("${command}" STREQUAL "")
+    # Some generators (i.e. Xcode) will not generate a file level target
+    # if no command is set, and therefore the dependencies on this
+    # target will be broken.
+    # The empty command is replaced by an echo command here in order to
+    # avoid this issue.
+    set(command ${CMAKE_COMMAND} -E echo_append)
+  endif()
+
+  add_custom_command(
+    OUTPUT ${stamp_file}
+    BYPRODUCTS ${byproducts}
+    COMMENT ${comment}
+    COMMAND ${command}
+    COMMAND ${touch}
+    DEPENDS ${depends}
+    WORKING_DIRECTORY ${work_dir}
+    VERBATIM
+    ${uses_terminal}
+    )
+  set_property(TARGET ${name} APPEND PROPERTY _EP_STEPS ${step})
+
+  # Add custom "step target"?
+  get_property(step_targets TARGET ${name} PROPERTY _EP_STEP_TARGETS)
+  if(NOT step_targets)
+    get_property(step_targets DIRECTORY PROPERTY EP_STEP_TARGETS)
+  endif()
+  foreach(st ${step_targets})
+    if("${st}" STREQUAL "${step}")
+      ExternalProject_Add_StepTargets(${name} ${step})
+      break()
+    endif()
+  endforeach()
+
+  get_property(independent_step_targets TARGET ${name} PROPERTY _EP_INDEPENDENT_STEP_TARGETS)
+  if(NOT independent_step_targets)
+    get_property(independent_step_targets DIRECTORY PROPERTY EP_INDEPENDENT_STEP_TARGETS)
+  endif()
+  foreach(st ${independent_step_targets})
+    if("${st}" STREQUAL "${step}")
+      ExternalProject_Add_StepTargets(${name} NO_DEPENDS ${step})
+      break()
+    endif()
+  endforeach()
+endfunction()
+
+
+function(ExternalProject_Add_StepDependencies name step)
+  set(dependencies ${ARGN})
+
+  # Sanity checks on "name" and "step".
+  if(NOT TARGET ${name})
+    message(FATAL_ERROR "Cannot find target \"${name}\". Perhaps it has not yet been created using ExternalProject_Add.")
+  endif()
+
+  get_property(type TARGET ${name} PROPERTY TYPE)
+  if(NOT type STREQUAL "UTILITY")
+    message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add.")
+  endif()
+
+  get_property(is_ep TARGET ${name} PROPERTY _EP_IS_EXTERNAL_PROJECT)
+  if(NOT is_ep)
+    message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add.")
+  endif()
+
+  get_property(steps TARGET ${name} PROPERTY _EP_STEPS)
+  list(FIND steps ${step} is_step)
+  if(NOT is_step)
+    message(FATAL_ERROR "External project \"${name}\" does not have a step \"${step}\".")
+  endif()
+
+  if(TARGET ${name}-${step})
+    get_property(type TARGET ${name}-${step} PROPERTY TYPE)
+    if(NOT type STREQUAL "UTILITY")
+      message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
+    endif()
+    get_property(is_ep_step TARGET ${name}-${step} PROPERTY _EP_IS_EXTERNAL_PROJECT_STEP)
+    if(NOT is_ep_step)
+      message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
+    endif()
+  endif()
+
+  # Always add file-level dependency, but add target-level dependency
+  # only if the target exists for that step.
+  _ep_get_step_stampfile(${name} ${step} stamp_file)
+  foreach(dep ${dependencies})
+    add_custom_command(APPEND
+      OUTPUT ${stamp_file}
+      DEPENDS ${dep})
+    if(TARGET ${name}-${step})
+      foreach(dep ${dependencies})
+        add_dependencies(${name}-${step} ${dep})
+      endforeach()
+    endif()
+  endforeach()
+
+endfunction()
+
+
+function(_ep_add_mkdir_command name)
+  ExternalProject_Get_Property(${name}
+    source_dir binary_dir install_dir stamp_dir download_dir tmp_dir)
+
+  _ep_get_configuration_subdir_suffix(cfgdir)
+
+  ExternalProject_Add_Step(${name} mkdir
+    COMMENT "Creating directories for '${name}'"
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${source_dir}
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${binary_dir}
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${install_dir}
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${tmp_dir}
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${stamp_dir}${cfgdir}
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${download_dir}
+    )
+endfunction()
+
+
+function(_ep_is_dir_empty dir empty_var)
+  file(GLOB gr "${dir}/*")
+  if("${gr}" STREQUAL "")
+    set(${empty_var} 1 PARENT_SCOPE)
+  else()
+    set(${empty_var} 0 PARENT_SCOPE)
+  endif()
+endfunction()
+
+
+function(_ep_add_download_command name)
+  ExternalProject_Get_Property(${name} source_dir stamp_dir download_dir tmp_dir)
+
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_DOWNLOAD_COMMAND SET)
+  get_property(cmd TARGET ${name} PROPERTY _EP_DOWNLOAD_COMMAND)
+  get_property(cvs_repository TARGET ${name} PROPERTY _EP_CVS_REPOSITORY)
+  get_property(svn_repository TARGET ${name} PROPERTY _EP_SVN_REPOSITORY)
+  get_property(git_repository TARGET ${name} PROPERTY _EP_GIT_REPOSITORY)
+  get_property(hg_repository  TARGET ${name} PROPERTY _EP_HG_REPOSITORY )
+  get_property(url TARGET ${name} PROPERTY _EP_URL)
+  get_property(fname TARGET ${name} PROPERTY _EP_DOWNLOAD_NAME)
+
+  # TODO: Perhaps file:// should be copied to download dir before extraction.
+  string(REGEX REPLACE "file://" "" url "${url}")
+
+  set(depends)
+  set(comment)
+  set(work_dir)
+
+  if(cmd_set)
+    set(work_dir ${download_dir})
+  elseif(cvs_repository)
+    find_package(CVS QUIET)
+    if(NOT CVS_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find cvs for checkout of ${name}")
+    endif()
+
+    get_target_property(cvs_module ${name} _EP_CVS_MODULE)
+    if(NOT cvs_module)
+      message(FATAL_ERROR "error: no CVS_MODULE")
+    endif()
+
+    get_property(cvs_tag TARGET ${name} PROPERTY _EP_CVS_TAG)
+
+    set(repository ${cvs_repository})
+    set(module ${cvs_module})
+    set(tag ${cvs_tag})
+    configure_file(
+      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+      "${stamp_dir}/${name}-cvsinfo.txt"
+      @ONLY
+      )
+
+    get_filename_component(src_name "${source_dir}" NAME)
+    get_filename_component(work_dir "${source_dir}" PATH)
+    set(comment "Performing download step (CVS checkout) for '${name}'")
+    set(cmd ${CVS_EXECUTABLE} -d ${cvs_repository} -q co ${cvs_tag} -d ${src_name} ${cvs_module})
+    list(APPEND depends ${stamp_dir}/${name}-cvsinfo.txt)
+  elseif(svn_repository)
+    find_package(Subversion QUIET)
+    if(NOT Subversion_SVN_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find svn for checkout of ${name}")
+    endif()
+
+    get_property(svn_revision TARGET ${name} PROPERTY _EP_SVN_REVISION)
+    get_property(svn_username TARGET ${name} PROPERTY _EP_SVN_USERNAME)
+    get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
+    get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
+
+    set(repository "${svn_repository} user=${svn_username} password=${svn_password}")
+    set(module)
+    set(tag ${svn_revision})
+    configure_file(
+      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+      "${stamp_dir}/${name}-svninfo.txt"
+      @ONLY
+      )
+
+    get_filename_component(src_name "${source_dir}" NAME)
+    get_filename_component(work_dir "${source_dir}" PATH)
+    set(comment "Performing download step (SVN checkout) for '${name}'")
+    set(svn_user_pw_args "")
+    if(DEFINED svn_username)
+      set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
+    endif()
+    if(DEFINED svn_password)
+      set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
+    endif()
+    if(svn_trust_cert)
+      set(svn_trust_cert_args --trust-server-cert)
+    endif()
+    set(cmd ${Subversion_SVN_EXECUTABLE} co ${svn_repository} ${svn_revision}
+      --non-interactive ${svn_trust_cert_args} ${svn_user_pw_args} ${src_name})
+    list(APPEND depends ${stamp_dir}/${name}-svninfo.txt)
+  elseif(git_repository)
+    unset(CMAKE_MODULE_PATH) # Use CMake builtin find module
+    find_package(Git QUIET)
+    if(NOT GIT_EXECUTABLE)
+      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()
+
+    get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
+    if(NOT git_tag)
+      set(git_tag "master")
+    endif()
+    get_property(git_submodules TARGET ${name} PROPERTY _EP_GIT_SUBMODULES)
+
+    get_property(git_remote_name TARGET ${name} PROPERTY _EP_GIT_REMOTE_NAME)
+    if(NOT git_remote_name)
+      set(git_remote_name "origin")
+    endif()
+
+    get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
+    if("x${tls_verify}" STREQUAL "x" AND DEFINED CMAKE_TLS_VERIFY)
+      set(tls_verify "${CMAKE_TLS_VERIFY}")
+    endif()
+    get_property(git_shallow TARGET ${name} PROPERTY _EP_GIT_SHALLOW)
+    get_property(git_progress TARGET ${name} PROPERTY _EP_GIT_PROGRESS)
+    get_property(git_config TARGET ${name} PROPERTY _EP_GIT_CONFIG)
+
+    # For the download step, and the git clone operation, only the repository
+    # should be recorded in a configured RepositoryInfo file. If the repo
+    # changes, the clone script should be run again. But if only the tag
+    # changes, avoid running the clone script again. Let the 'always' running
+    # update step checkout the new tag.
+    #
+    set(repository ${git_repository})
+    set(module)
+    set(tag)
+    configure_file(
+      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+      "${stamp_dir}/${name}-gitinfo.txt"
+      @ONLY
+      )
+
+    get_filename_component(src_name "${source_dir}" NAME)
+    get_filename_component(work_dir "${source_dir}" PATH)
+
+    # Since git clone doesn't succeed if the non-empty source_dir exists,
+    # create a cmake script to invoke as download command.
+    # 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_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}'")
+    set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitclone.cmake)
+    list(APPEND depends ${stamp_dir}/${name}-gitinfo.txt)
+  elseif(hg_repository)
+    find_package(Hg QUIET)
+    if(NOT HG_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find hg for clone of ${name}")
+    endif()
+
+    get_property(hg_tag TARGET ${name} PROPERTY _EP_HG_TAG)
+    if(NOT hg_tag)
+      set(hg_tag "tip")
+    endif()
+
+    # For the download step, and the hg clone operation, only the repository
+    # should be recorded in a configured RepositoryInfo file. If the repo
+    # changes, the clone script should be run again. But if only the tag
+    # changes, avoid running the clone script again. Let the 'always' running
+    # update step checkout the new tag.
+    #
+    set(repository ${hg_repository})
+    set(module)
+    set(tag)
+    configure_file(
+      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+      "${stamp_dir}/${name}-hginfo.txt"
+      @ONLY
+      )
+
+    get_filename_component(src_name "${source_dir}" NAME)
+    get_filename_component(work_dir "${source_dir}" PATH)
+
+    # Since hg clone doesn't succeed if the non-empty source_dir exists,
+    # create a cmake script to invoke as download command.
+    # The script will delete the source directory and then call hg clone.
+    #
+    _ep_write_hgclone_script(${tmp_dir}/${name}-hgclone.cmake ${source_dir}
+      ${HG_EXECUTABLE} ${hg_repository} ${hg_tag} ${src_name} ${work_dir}
+      ${stamp_dir}/${name}-hginfo.txt ${stamp_dir}/${name}-hgclone-lastrun.txt
+      )
+    set(comment "Performing download step (hg clone) for '${name}'")
+    set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-hgclone.cmake)
+    list(APPEND depends ${stamp_dir}/${name}-hginfo.txt)
+  elseif(url)
+    get_filename_component(work_dir "${source_dir}" PATH)
+    get_property(hash TARGET ${name} PROPERTY _EP_URL_HASH)
+    if(hash AND NOT "${hash}" MATCHES "${_ep_hash_regex}")
+      message(FATAL_ERROR "URL_HASH is set to\n  ${hash}\n"
+        "but must be ALGO=value where ALGO is\n  ${_ep_hash_algos}\n"
+        "and value is a hex string.")
+    endif()
+    get_property(md5 TARGET ${name} PROPERTY _EP_URL_MD5)
+    if(md5 AND NOT "MD5=${md5}" MATCHES "${_ep_hash_regex}")
+      message(FATAL_ERROR "URL_MD5 is set to\n  ${md5}\nbut must be a hex string.")
+    endif()
+    if(md5 AND NOT hash)
+      set(hash "MD5=${md5}")
+    endif()
+    set(repository "external project URL")
+    set(module "${url}")
+    set(tag "${hash}")
+    configure_file(
+      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+      "${stamp_dir}/${name}-urlinfo.txt"
+      @ONLY
+      )
+    list(APPEND depends ${stamp_dir}/${name}-urlinfo.txt)
+
+    list(LENGTH url url_list_length)
+    if(NOT "${url_list_length}" STREQUAL "1")
+      foreach(entry ${url})
+        if(NOT "${entry}" MATCHES "^[a-z]+://")
+          message(FATAL_ERROR "At least one entry of URL is a path (invalid in a list)")
+        endif()
+      endforeach()
+      if("x${fname}" STREQUAL "x")
+        list(GET url 0 fname)
+      endif()
+    endif()
+
+    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}
+        COMMAND ${CMAKE_COMMAND} -E copy_directory ${abs_dir} ${source_dir})
+    else()
+      get_property(no_extract TARGET "${name}" PROPERTY _EP_DOWNLOAD_NO_EXTRACT SET)
+      if("${url}" MATCHES "^[a-z]+://")
+        # TODO: Should download and extraction be different steps?
+        if("x${fname}" STREQUAL "x")
+          set(fname "${url}")
+        endif()
+        if("${fname}" MATCHES [[([^/\?#]+(\.|=)(7z|tar|tar\.bz2|tar\.gz|tar\.xz|tbz2|tgz|txz|zip))([/?#].*)?$]])
+          set(fname "${CMAKE_MATCH_1}")
+        elseif(no_extract)
+          get_filename_component(fname "${fname}" NAME)
+        else()
+          # Fall back to a default file name.  The actual file name does not
+          # matter because it is used only internally and our extraction tool
+          # inspects the file content directly.  If it turns out the wrong URL
+          # was given that will be revealed during the build which is an easier
+          # place for users to diagnose than an error here anyway.
+          set(fname "archive.tar")
+        endif()
+        string(REPLACE ";" "-" fname "${fname}")
+        set(file ${download_dir}/${fname})
+        get_property(timeout TARGET ${name} PROPERTY _EP_TIMEOUT)
+        get_property(no_progress TARGET ${name} PROPERTY _EP_DOWNLOAD_NO_PROGRESS)
+        get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
+        get_property(tls_cainfo TARGET ${name} PROPERTY _EP_TLS_CAINFO)
+        get_property(http_username TARGET ${name} PROPERTY _EP_HTTP_USERNAME)
+        get_property(http_password TARGET ${name} PROPERTY _EP_HTTP_PASSWORD)
+        get_property(http_headers TARGET ${name} PROPERTY _EP_HTTP_HEADER)
+        set(download_script "${stamp_dir}/download-${name}.cmake")
+        _ep_write_downloadfile_script("${download_script}" "${url}" "${file}" "${timeout}" "${no_progress}" "${hash}" "${tls_verify}" "${tls_cainfo}" "${http_username}:${http_password}" "${http_headers}")
+        set(cmd ${CMAKE_COMMAND} -P "${download_script}"
+          COMMAND)
+        if (no_extract)
+          set(steps "download and verify")
+        else ()
+          set(steps "download, verify and extract")
+        endif ()
+        set(comment "Performing download step (${steps}) for '${name}'")
+        file(WRITE "${stamp_dir}/verify-${name}.cmake" "") # already verified by 'download_script'
+      else()
+        set(file "${url}")
+        if (no_extract)
+          set(steps "verify")
+        else ()
+          set(steps "verify and extract")
+        endif ()
+        set(comment "Performing download step (${steps}) for '${name}'")
+        _ep_write_verifyfile_script("${stamp_dir}/verify-${name}.cmake" "${file}" "${hash}")
+      endif()
+      list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/verify-${name}.cmake)
+      if (NOT no_extract)
+        _ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${name}" "${file}" "${source_dir}")
+        list(APPEND cmd COMMAND ${CMAKE_COMMAND} -P ${stamp_dir}/extract-${name}.cmake)
+      else ()
+        set_property(TARGET ${name} PROPERTY _EP_DOWNLOADED_FILE ${file})
+      endif ()
+    endif()
+  else()
+    _ep_is_dir_empty("${source_dir}" empty)
+    if(${empty})
+      message(SEND_ERROR
+        "No download info given for '${name}' and its source directory:\n"
+        " ${source_dir}\n"
+        "is not an existing non-empty directory.  Please specify one of:\n"
+        " * SOURCE_DIR with an existing non-empty directory\n"
+        " * DOWNLOAD_COMMAND\n"
+        " * URL\n"
+        " * GIT_REPOSITORY\n"
+        " * SVN_REPOSITORY\n"
+        " * HG_REPOSITORY\n"
+        " * CVS_REPOSITORY and CVS_MODULE"
+        )
+    endif()
+  endif()
+
+  get_property(log TARGET ${name} PROPERTY _EP_LOG_DOWNLOAD)
+  if(log)
+    set(log LOG 1)
+  else()
+    set(log "")
+  endif()
+
+  get_property(uses_terminal TARGET ${name} PROPERTY
+    _EP_USES_TERMINAL_DOWNLOAD)
+  if(uses_terminal)
+    set(uses_terminal USES_TERMINAL 1)
+  else()
+    set(uses_terminal "")
+  endif()
+
+  ExternalProject_Add_Step(${name} download
+    COMMENT ${comment}
+    COMMAND ${cmd}
+    WORKING_DIRECTORY ${work_dir}
+    DEPENDS ${depends}
+    DEPENDEES mkdir
+    ${log}
+    ${uses_terminal}
+    )
+endfunction()
+
+
+function(_ep_add_update_command name)
+  ExternalProject_Get_Property(${name} source_dir tmp_dir)
+
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_UPDATE_COMMAND SET)
+  get_property(cmd TARGET ${name} PROPERTY _EP_UPDATE_COMMAND)
+  get_property(cvs_repository TARGET ${name} PROPERTY _EP_CVS_REPOSITORY)
+  get_property(svn_repository TARGET ${name} PROPERTY _EP_SVN_REPOSITORY)
+  get_property(git_repository TARGET ${name} PROPERTY _EP_GIT_REPOSITORY)
+  get_property(hg_repository  TARGET ${name} PROPERTY _EP_HG_REPOSITORY )
+  get_property(update_disconnected_set TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED SET)
+  if(update_disconnected_set)
+    get_property(update_disconnected TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED)
+  else()
+    get_property(update_disconnected DIRECTORY PROPERTY EP_UPDATE_DISCONNECTED)
+  endif()
+
+  set(work_dir)
+  set(comment)
+  set(always)
+
+  if(cmd_set)
+    set(work_dir ${source_dir})
+    if(NOT "x${cmd}" STREQUAL "x")
+      set(always 1)
+    endif()
+  elseif(cvs_repository)
+    if(NOT CVS_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find cvs for update of ${name}")
+    endif()
+    set(work_dir ${source_dir})
+    set(comment "Performing update step (CVS update) for '${name}'")
+    get_property(cvs_tag TARGET ${name} PROPERTY _EP_CVS_TAG)
+    set(cmd ${CVS_EXECUTABLE} -d ${cvs_repository} -q up -dP ${cvs_tag})
+    set(always 1)
+  elseif(svn_repository)
+    if(NOT Subversion_SVN_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find svn for update of ${name}")
+    endif()
+    set(work_dir ${source_dir})
+    set(comment "Performing update step (SVN update) for '${name}'")
+    get_property(svn_revision TARGET ${name} PROPERTY _EP_SVN_REVISION)
+    get_property(svn_username TARGET ${name} PROPERTY _EP_SVN_USERNAME)
+    get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
+    get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
+    set(svn_user_pw_args "")
+    if(DEFINED svn_username)
+      set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
+    endif()
+    if(DEFINED svn_password)
+      set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
+    endif()
+    if(svn_trust_cert)
+      set(svn_trust_cert_args --trust-server-cert)
+    endif()
+    set(cmd ${Subversion_SVN_EXECUTABLE} up ${svn_revision}
+      --non-interactive ${svn_trust_cert_args} ${svn_user_pw_args})
+    set(always 1)
+  elseif(git_repository)
+    unset(CMAKE_MODULE_PATH) # Use CMake builtin find module
+    find_package(Git QUIET)
+    if(NOT GIT_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find git for fetch of ${name}")
+    endif()
+    set(work_dir ${source_dir})
+    set(comment "Performing update step for '${name}'")
+    get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
+    if(NOT git_tag)
+      set(git_tag "master")
+    endif()
+    get_property(git_remote_name TARGET ${name} PROPERTY _EP_GIT_REMOTE_NAME)
+    if(NOT git_remote_name)
+      set(git_remote_name "origin")
+    endif()
+    get_property(git_submodules TARGET ${name} PROPERTY _EP_GIT_SUBMODULES)
+    _ep_write_gitupdate_script(${tmp_dir}/${name}-gitupdate.cmake
+      ${GIT_EXECUTABLE} ${git_tag} ${git_remote_name} "${git_submodules}" ${git_repository} ${work_dir}
+      )
+    set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitupdate.cmake)
+    set(always 1)
+  elseif(hg_repository)
+    if(NOT HG_EXECUTABLE)
+      message(FATAL_ERROR "error: could not find hg for pull of ${name}")
+    endif()
+    set(work_dir ${source_dir})
+    set(comment "Performing update step (hg pull) for '${name}'")
+    get_property(hg_tag TARGET ${name} PROPERTY _EP_HG_TAG)
+    if(NOT hg_tag)
+      set(hg_tag "tip")
+    endif()
+    if("${HG_VERSION_STRING}" STREQUAL "2.1")
+      message(WARNING "Mercurial 2.1 does not distinguish an empty pull from a failed pull:
+ http://mercurial.selenic.com/wiki/UpgradeNotes#A2.1.1:_revert_pull_return_code_change.2C_compile_issue_on_OS_X
+ http://thread.gmane.org/gmane.comp.version-control.mercurial.devel/47656
+Update to Mercurial >= 2.1.1.
+")
+    endif()
+    set(cmd ${HG_EXECUTABLE} pull
+      COMMAND ${HG_EXECUTABLE} update ${hg_tag}
+      )
+    set(always 1)
+  endif()
+
+  get_property(log TARGET ${name} PROPERTY _EP_LOG_UPDATE)
+  if(log)
+    set(log LOG 1)
+  else()
+    set(log "")
+  endif()
+
+  get_property(uses_terminal TARGET ${name} PROPERTY
+    _EP_USES_TERMINAL_UPDATE)
+  if(uses_terminal)
+    set(uses_terminal USES_TERMINAL 1)
+  else()
+    set(uses_terminal "")
+  endif()
+
+  ExternalProject_Add_Step(${name} update
+    COMMENT ${comment}
+    COMMAND ${cmd}
+    ALWAYS ${always}
+    EXCLUDE_FROM_MAIN ${update_disconnected}
+    WORKING_DIRECTORY ${work_dir}
+    DEPENDEES download
+    ${log}
+    ${uses_terminal}
+    )
+
+  if(update_disconnected)
+    _ep_get_step_stampfile(${name} skip-update skip-update_stamp_file)
+    string(REPLACE "Performing" "Skipping" comment "${comment}")
+    ExternalProject_Add_Step(${name} skip-update
+      COMMENT ${comment}
+      ALWAYS ${always}
+      EXCLUDE_FROM_MAIN 1
+      WORKING_DIRECTORY ${work_dir}
+      DEPENDEES download
+      ${log}
+      ${uses_terminal}
+    )
+    set_property(SOURCE ${skip-update_stamp_file} PROPERTY SYMBOLIC 1)
+  endif()
+
+endfunction()
+
+
+function(_ep_add_patch_command name)
+  ExternalProject_Get_Property(${name} source_dir)
+
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_PATCH_COMMAND SET)
+  get_property(cmd TARGET ${name} PROPERTY _EP_PATCH_COMMAND)
+
+  set(work_dir)
+
+  if(cmd_set)
+    set(work_dir ${source_dir})
+  endif()
+
+  ExternalProject_Add_Step(${name} patch
+    COMMAND ${cmd}
+    WORKING_DIRECTORY ${work_dir}
+    DEPENDEES download
+    )
+endfunction()
+
+
+function(_ep_extract_configure_command var name)
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_CONFIGURE_COMMAND SET)
+  if(cmd_set)
+    get_property(cmd TARGET ${name} PROPERTY _EP_CONFIGURE_COMMAND)
+  else()
+    get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND)
+    if(cmake_command)
+      set(cmd "${cmake_command}")
+    else()
+      set(cmd "${CMAKE_COMMAND}")
+    endif()
+
+    get_property(cmake_args TARGET ${name} PROPERTY _EP_CMAKE_ARGS)
+    list(APPEND cmd ${cmake_args})
+
+    # If there are any CMAKE_CACHE_ARGS or CMAKE_CACHE_DEFAULT_ARGS,
+    # write an initial cache and use it
+    get_property(cmake_cache_args TARGET ${name} PROPERTY _EP_CMAKE_CACHE_ARGS)
+    get_property(cmake_cache_default_args TARGET ${name} PROPERTY _EP_CMAKE_CACHE_DEFAULT_ARGS)
+
+    if(cmake_cache_args OR cmake_cache_default_args)
+      set(_ep_cache_args_script "<TMP_DIR>/${name}-cache-$<CONFIG>.cmake")
+      if(cmake_cache_args)
+        _ep_command_line_to_initial_cache(script_initial_cache_force "${cmake_cache_args}" 1)
+      endif()
+      if(cmake_cache_default_args)
+        _ep_command_line_to_initial_cache(script_initial_cache_default "${cmake_cache_default_args}" 0)
+      endif()
+      _ep_write_initial_cache(${name} "${_ep_cache_args_script}" "${script_initial_cache_force}${script_initial_cache_default}")
+      list(APPEND cmd "-C${_ep_cache_args_script}")
+    endif()
+
+    get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
+    get_target_property(cmake_generator_platform ${name} _EP_CMAKE_GENERATOR_PLATFORM)
+    get_target_property(cmake_generator_toolset ${name} _EP_CMAKE_GENERATOR_TOOLSET)
+    if(cmake_generator)
+      list(APPEND cmd "-G${cmake_generator}")
+      if(cmake_generator_platform)
+        list(APPEND cmd "-A${cmake_generator_platform}")
+      endif()
+      if(cmake_generator_toolset)
+        list(APPEND cmd "-T${cmake_generator_toolset}")
+      endif()
+    else()
+      if(CMAKE_EXTRA_GENERATOR)
+        list(APPEND cmd "-G${CMAKE_EXTRA_GENERATOR} - ${CMAKE_GENERATOR}")
+      else()
+        list(APPEND cmd "-G${CMAKE_GENERATOR}")
+      endif()
+      if(cmake_generator_platform)
+        message(FATAL_ERROR "Option CMAKE_GENERATOR_PLATFORM not allowed without CMAKE_GENERATOR.")
+      endif()
+      if(CMAKE_GENERATOR_PLATFORM)
+        list(APPEND cmd "-A${CMAKE_GENERATOR_PLATFORM}")
+      endif()
+      if(cmake_generator_toolset)
+        message(FATAL_ERROR "Option CMAKE_GENERATOR_TOOLSET not allowed without CMAKE_GENERATOR.")
+      endif()
+      if(CMAKE_GENERATOR_TOOLSET)
+        list(APPEND cmd "-T${CMAKE_GENERATOR_TOOLSET}")
+      endif()
+    endif()
+
+    list(APPEND cmd "<SOURCE_DIR><SOURCE_SUBDIR>")
+  endif()
+
+  set("${var}" "${cmd}" PARENT_SCOPE)
+endfunction()
+
+# TODO: Make sure external projects use the proper compiler
+function(_ep_add_configure_command name)
+  ExternalProject_Get_Property(${name} binary_dir tmp_dir)
+
+  # Depend on other external projects (file-level).
+  set(file_deps)
+  get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
+  foreach(dep IN LISTS deps)
+    get_property(dep_type TARGET ${dep} PROPERTY TYPE)
+    if(dep_type STREQUAL "UTILITY")
+      get_property(is_ep TARGET ${dep} PROPERTY _EP_IS_EXTERNAL_PROJECT)
+      if(is_ep)
+        _ep_get_step_stampfile(${dep} "done" done_stamp_file)
+        list(APPEND file_deps ${done_stamp_file})
+      endif()
+    endif()
+  endforeach()
+
+  _ep_extract_configure_command(cmd ${name})
+
+  # If anything about the configure command changes, (command itself, cmake
+  # used, cmake args or cmake generator) then re-run the configure step.
+  # Fixes issue https://gitlab.kitware.com/cmake/cmake/issues/10258
+  #
+  if(NOT EXISTS ${tmp_dir}/${name}-cfgcmd.txt.in)
+    file(WRITE ${tmp_dir}/${name}-cfgcmd.txt.in "cmd='\@cmd\@'\n")
+  endif()
+  configure_file(${tmp_dir}/${name}-cfgcmd.txt.in ${tmp_dir}/${name}-cfgcmd.txt)
+  list(APPEND file_deps ${tmp_dir}/${name}-cfgcmd.txt)
+  list(APPEND file_deps ${_ep_cache_args_script})
+
+  get_property(log TARGET ${name} PROPERTY _EP_LOG_CONFIGURE)
+  if(log)
+    set(log LOG 1)
+  else()
+    set(log "")
+  endif()
+
+  get_property(uses_terminal TARGET ${name} PROPERTY
+    _EP_USES_TERMINAL_CONFIGURE)
+  if(uses_terminal)
+    set(uses_terminal USES_TERMINAL 1)
+  else()
+    set(uses_terminal "")
+  endif()
+
+  get_property(update_disconnected_set TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED SET)
+  if(update_disconnected_set)
+    get_property(update_disconnected TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED)
+  else()
+    get_property(update_disconnected DIRECTORY PROPERTY EP_UPDATE_DISCONNECTED)
+  endif()
+  if(update_disconnected)
+    set(update_dep skip-update)
+  else()
+    set(update_dep update)
+  endif()
+
+  ExternalProject_Add_Step(${name} configure
+    COMMAND ${cmd}
+    WORKING_DIRECTORY ${binary_dir}
+    DEPENDEES ${update_dep} patch
+    DEPENDS ${file_deps}
+    ${log}
+    ${uses_terminal}
+    )
+endfunction()
+
+
+function(_ep_add_build_command name)
+  ExternalProject_Get_Property(${name} binary_dir)
+
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_BUILD_COMMAND SET)
+  if(cmd_set)
+    get_property(cmd TARGET ${name} PROPERTY _EP_BUILD_COMMAND)
+  else()
+    _ep_get_build_command(${name} BUILD cmd)
+  endif()
+
+  get_property(log TARGET ${name} PROPERTY _EP_LOG_BUILD)
+  if(log)
+    set(log LOG 1)
+  else()
+    set(log "")
+  endif()
+
+  get_property(uses_terminal TARGET ${name} PROPERTY
+    _EP_USES_TERMINAL_BUILD)
+  if(uses_terminal)
+    set(uses_terminal USES_TERMINAL 1)
+  else()
+    set(uses_terminal "")
+  endif()
+
+  get_property(build_always TARGET ${name} PROPERTY _EP_BUILD_ALWAYS)
+  if(build_always)
+    set(always 1)
+  else()
+    set(always 0)
+  endif()
+
+  get_property(build_byproducts TARGET ${name} PROPERTY _EP_BUILD_BYPRODUCTS)
+
+  ExternalProject_Add_Step(${name} build
+    COMMAND ${cmd}
+    BYPRODUCTS ${build_byproducts}
+    WORKING_DIRECTORY ${binary_dir}
+    DEPENDEES configure
+    ALWAYS ${always}
+    ${log}
+    ${uses_terminal}
+    )
+endfunction()
+
+
+function(_ep_add_install_command name)
+  ExternalProject_Get_Property(${name} binary_dir)
+
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_INSTALL_COMMAND SET)
+  if(cmd_set)
+    get_property(cmd TARGET ${name} PROPERTY _EP_INSTALL_COMMAND)
+  else()
+    _ep_get_build_command(${name} INSTALL cmd)
+  endif()
+
+  get_property(log TARGET ${name} PROPERTY _EP_LOG_INSTALL)
+  if(log)
+    set(log LOG 1)
+  else()
+    set(log "")
+  endif()
+
+  get_property(uses_terminal TARGET ${name} PROPERTY
+    _EP_USES_TERMINAL_INSTALL)
+  if(uses_terminal)
+    set(uses_terminal USES_TERMINAL 1)
+  else()
+    set(uses_terminal "")
+  endif()
+
+  ExternalProject_Add_Step(${name} install
+    COMMAND ${cmd}
+    WORKING_DIRECTORY ${binary_dir}
+    DEPENDEES build
+    ${log}
+    ${uses_terminal}
+    )
+endfunction()
+
+
+function(_ep_add_test_command name)
+  ExternalProject_Get_Property(${name} binary_dir)
+
+  get_property(before TARGET ${name} PROPERTY _EP_TEST_BEFORE_INSTALL)
+  get_property(after TARGET ${name} PROPERTY _EP_TEST_AFTER_INSTALL)
+  get_property(exclude TARGET ${name} PROPERTY _EP_TEST_EXCLUDE_FROM_MAIN)
+  get_property(cmd_set TARGET ${name} PROPERTY _EP_TEST_COMMAND SET)
+
+  # Only actually add the test step if one of the test related properties is
+  # explicitly set. (i.e. the test step is omitted unless requested...)
+  #
+  if(cmd_set OR before OR after OR exclude)
+    if(cmd_set)
+      get_property(cmd TARGET ${name} PROPERTY _EP_TEST_COMMAND)
+    else()
+      _ep_get_build_command(${name} TEST cmd)
+    endif()
+
+    if(before)
+      set(dependees_args DEPENDEES build)
+    else()
+      set(dependees_args DEPENDEES install)
+    endif()
+
+    if(exclude)
+      set(dependers_args "")
+      set(exclude_args EXCLUDE_FROM_MAIN 1)
+    else()
+      if(before)
+        set(dependers_args DEPENDERS install)
+      else()
+        set(dependers_args "")
+      endif()
+      set(exclude_args "")
+    endif()
+
+    get_property(log TARGET ${name} PROPERTY _EP_LOG_TEST)
+    if(log)
+      set(log LOG 1)
+    else()
+      set(log "")
+    endif()
+
+    get_property(uses_terminal TARGET ${name} PROPERTY
+      _EP_USES_TERMINAL_TEST)
+    if(uses_terminal)
+      set(uses_terminal USES_TERMINAL 1)
+    else()
+      set(uses_terminal "")
+    endif()
+
+    ExternalProject_Add_Step(${name} test
+      COMMAND ${cmd}
+      WORKING_DIRECTORY ${binary_dir}
+      ${dependees_args}
+      ${dependers_args}
+      ${exclude_args}
+      ${log}
+      ${uses_terminal}
+      )
+  endif()
+endfunction()
+
+
+function(ExternalProject_Add name)
+  _ep_get_configuration_subdir_suffix(cfgdir)
+
+  # Add a custom target for the external project.
+  set(cmf_dir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles)
+  _ep_get_complete_stampfile(${name} complete_stamp_file)
+
+  # The "ALL" option to add_custom_target just tells it to not set the
+  # EXCLUDE_FROM_ALL target property. Later, if the EXCLUDE_FROM_ALL
+  # argument was passed, we explicitly set it for the target.
+  add_custom_target(${name} ALL DEPENDS ${complete_stamp_file})
+  set_property(TARGET ${name} PROPERTY _EP_IS_EXTERNAL_PROJECT 1)
+  set_property(TARGET ${name} PROPERTY LABELS ${name})
+  set_property(TARGET ${name} PROPERTY FOLDER "ExternalProjectTargets/${name}")
+
+  _ep_parse_arguments(ExternalProject_Add ${name} _EP_ "${ARGN}")
+  _ep_set_directories(${name})
+  _ep_get_step_stampfile(${name} "done" done_stamp_file)
+  _ep_get_step_stampfile(${name} "install" install_stamp_file)
+
+  # Set the EXCLUDE_FROM_ALL target property if required.
+  get_property(exclude_from_all TARGET ${name} PROPERTY _EP_EXCLUDE_FROM_ALL)
+  if(exclude_from_all)
+    set_property(TARGET ${name} PROPERTY EXCLUDE_FROM_ALL TRUE)
+  endif()
+
+  # The 'complete' step depends on all other steps and creates a
+  # 'done' mark.  A dependent external project's 'configure' step
+  # depends on the 'done' mark so that it rebuilds when this project
+  # rebuilds.  It is important that 'done' is not the output of any
+  # custom command so that CMake does not propagate build rules to
+  # other external project targets, which may cause problems during
+  # parallel builds.  However, the Ninja generator needs to see the entire
+  # dependency graph, and can cope with custom commands belonging to
+  # multiple targets, so we add the 'done' mark as an output for Ninja only.
+  set(complete_outputs ${complete_stamp_file})
+  if(${CMAKE_GENERATOR} MATCHES "Ninja")
+    set(complete_outputs ${complete_outputs} ${done_stamp_file})
+  endif()
+
+  add_custom_command(
+    OUTPUT ${complete_outputs}
+    COMMENT "Completed '${name}'"
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${cmf_dir}${cfgdir}
+    COMMAND ${CMAKE_COMMAND} -E touch ${complete_stamp_file}
+    COMMAND ${CMAKE_COMMAND} -E touch ${done_stamp_file}
+    DEPENDS ${install_stamp_file}
+    VERBATIM
+    )
+
+
+  # Depend on other external projects (target-level).
+  get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
+  foreach(arg IN LISTS deps)
+    add_dependencies(${name} ${arg})
+  endforeach()
+
+  # Set up custom build steps based on the target properties.
+  # Each step depends on the previous one.
+  #
+  # The target depends on the output of the final step.
+  # (Already set up above in the DEPENDS of the add_custom_target command.)
+  #
+  _ep_add_mkdir_command(${name})
+  _ep_add_download_command(${name})
+  _ep_add_update_command(${name})
+  _ep_add_patch_command(${name})
+  _ep_add_configure_command(${name})
+  _ep_add_build_command(${name})
+  _ep_add_install_command(${name})
+
+  # Test is special in that it might depend on build, or it might depend
+  # on install.
+  #
+  _ep_add_test_command(${name})
+endfunction()
+
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/FLTKCompatibility.cmake b/share/cmake-3.10/Modules/FLTKCompatibility.cmake
new file mode 100644
index 0000000..e91531f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FLTKCompatibility.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(CheckIncludeFile)
diff --git a/share/cmake-3.10/Modules/FeatureSummary.cmake b/share/cmake-3.10/Modules/FeatureSummary.cmake
new file mode 100644
index 0000000..1b93304
--- /dev/null
+++ b/share/cmake-3.10/Modules/FeatureSummary.cmake
@@ -0,0 +1,741 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FeatureSummary
+--------------
+
+Functions for generating a summary of enabled/disabled features.
+
+These functions can be used to generate a summary of enabled and disabled
+packages and/or feature for a build tree such as::
+
+    -- The following OPTIONAL packages have been found:
+    LibXml2 (required version >= 2.4), XML processing lib, <http://xmlsoft.org>
+       * Enables HTML-import in MyWordProcessor
+       * Enables odt-export in MyWordProcessor
+    PNG, A PNG image library., <http://www.libpng.org/pub/png/>
+       * Enables saving screenshots
+    -- The following OPTIONAL packages have not been found:
+    Lua51, The Lua scripting language., <http://www.lua.org>
+       * Enables macros in MyWordProcessor
+    Foo, Foo provides cool stuff.
+
+Global Properties
+^^^^^^^^^^^^^^^^^
+
+.. variable:: FeatureSummary_PKG_TYPES
+
+The global property :variable:`FeatureSummary_PKG_TYPES` defines the type of
+packages used by `FeatureSummary`.
+
+The order in this list is important, the first package type in the list is the
+least important, the last is the most important. the of a package can only be
+changed to higher types.
+
+The default package types are , ``RUNTIME``, ``OPTIONAL``, ``RECOMMENDED`` and
+``REQUIRED``, and their importance is
+``RUNTIME < OPTIONAL < RECOMMENDED < REQUIRED``.
+
+
+.. variable:: FeatureSummary_REQUIRED_PKG_TYPES
+
+The global property :variable:`FeatureSummary_REQUIRED_PKG_TYPES` defines which
+package types are required.
+
+If one or more package in this categories has not been found, CMake will abort
+when calling :command:`feature_summary` with the
+'FATAL_ON_MISSING_REQUIRED_PACKAGES' option enabled.
+
+The default value for this global property is ``REQUIRED``.
+
+
+.. variable:: FeatureSummary_DEFAULT_PKG_TYPE
+
+The global property :variable:`FeatureSummary_DEFAULT_PKG_TYPE` defines which
+package type is the default one.
+When calling :command:`feature_summary`, if the user did not set the package type
+explicitly, the package will be assigned to this category.
+
+This value must be one of the types defined in the
+:variable:`FeatureSummary_PKG_TYPES` global property unless the package type
+is set for all the packages.
+
+The default value for this global property is ``OPTIONAL``.
+
+
+.. variable:: FeatureSummary_<TYPE>_DESCRIPTION
+
+The global property :variable:`FeatureSummary_<TYPE>_DESCRIPTION` can be defined
+for each type to replace the type name with the specified string whenever the
+package type is used in an output string.
+
+If not set, the string "``<TYPE>`` packages" is used.
+
+
+#]=======================================================================]
+
+get_property(_fsPkgTypeIsSet GLOBAL PROPERTY FeatureSummary_PKG_TYPES SET)
+if(NOT _fsPkgTypeIsSet)
+  set_property(GLOBAL PROPERTY FeatureSummary_PKG_TYPES RUNTIME OPTIONAL RECOMMENDED REQUIRED)
+endif()
+
+get_property(_fsReqPkgTypesIsSet GLOBAL PROPERTY FeatureSummary_REQUIRED_PKG_TYPES SET)
+if(NOT _fsReqPkgTypesIsSet)
+  set_property(GLOBAL PROPERTY FeatureSummary_REQUIRED_PKG_TYPES REQUIRED)
+endif()
+
+get_property(_fsDefaultPkgTypeIsSet GLOBAL PROPERTY FeatureSummary_DEFAULT_PKG_TYPE SET)
+if(NOT _fsDefaultPkgTypeIsSet)
+  set_property(GLOBAL PROPERTY FeatureSummary_DEFAULT_PKG_TYPE OPTIONAL)
+endif()
+
+#[=======================================================================[.rst:
+
+Functions
+^^^^^^^^^
+
+#]=======================================================================]
+
+include(CMakeParseArguments)
+
+function(_FS_GET_FEATURE_SUMMARY _property _var _includeQuiet)
+
+  get_property(_fsPkgTypes GLOBAL PROPERTY FeatureSummary_PKG_TYPES)
+  get_property(_fsDefaultPkgType GLOBAL PROPERTY FeatureSummary_DEFAULT_PKG_TYPE)
+
+  set(_type "ANY")
+  foreach(_fsPkgType ${_fsPkgTypes})
+    if("${_property}" MATCHES "${_fsPkgType}_PACKAGES_(NOT_)?FOUND")
+      set(_type "${_fsPkgType}")
+      break()
+    endif()
+  endforeach()
+
+  if("${_property}" MATCHES "PACKAGES_FOUND")
+    set(_property "PACKAGES_FOUND")
+  elseif("${_property}" MATCHES "PACKAGES_NOT_FOUND")
+    set(_property "PACKAGES_NOT_FOUND")
+  endif()
+
+
+  set(_currentFeatureText "")
+  get_property(_EnabledFeatures  GLOBAL PROPERTY ${_property})
+  if(_EnabledFeatures)
+    list(REMOVE_DUPLICATES _EnabledFeatures)
+  endif(_EnabledFeatures)
+
+  foreach(_currentFeature ${_EnabledFeatures})
+
+    # does this package belong to the type we currently want to list ?
+    get_property(_currentType  GLOBAL PROPERTY _CMAKE_${_currentFeature}_TYPE)
+    if(NOT _currentType)
+      list(FIND _fsPkgTypes "${_fsDefaultPkgType}" _defaultInPkgTypes)
+      if("${_defaultInPkgTypes}" STREQUAL "-1")
+        string(REGEX REPLACE ";([^;]+)$" " and \\1" _fsPkgTypes_msg "${_fsPkgTypes}")
+        string(REPLACE ";" ", " _fsPkgTypes_msg "${_fsPkgTypes_msg}")
+        message(FATAL_ERROR "Bad package property type ${_fsDefaultPkgType} used in global property FeatureSummary_DEFAULT_PKG_TYPE. "
+                            "Valid types are ${_fsPkgTypes_msg}. "
+                            "Either update FeatureSummary_DEFAULT_PKG_TYPE or add ${_fsDefaultPkgType} to the FeatureSummary_PKG_TYPES global property.")
+      endif()
+      set(_currentType ${_fsDefaultPkgType})
+    endif()
+
+    if("${_type}" STREQUAL ANY  OR  "${_type}" STREQUAL "${_currentType}")
+      # check whether the current feature/package should be in the output depending on whether it was QUIET or not
+      set(includeThisOne TRUE)
+      set(_required FALSE)
+      # skip QUIET packages, except if they are REQUIRED or INCLUDE_QUIET_PACKAGES has been set
+      get_property(_fsReqPkgTypes GLOBAL PROPERTY FeatureSummary_REQUIRED_PKG_TYPES)
+      foreach(_fsReqPkgType ${_fsReqPkgTypes})
+        if("${_currentType}" STREQUAL "${_fsReqPkgType}")
+          set(_required TRUE)
+          break()
+        endif()
+      endforeach()
+      if(NOT _required AND NOT _includeQuiet)
+        get_property(_isQuiet  GLOBAL PROPERTY _CMAKE_${_currentFeature}_QUIET)
+        if(_isQuiet)
+          set(includeThisOne FALSE)
+        endif()
+      endif()
+      get_property(_isTransitiveDepend
+        GLOBAL PROPERTY _CMAKE_${_currentFeature}_TRANSITIVE_DEPENDENCY
+      )
+      if(_isTransitiveDepend)
+        set(includeThisOne FALSE)
+      endif()
+
+      if(includeThisOne)
+
+        string(APPEND _currentFeatureText "\n * ${_currentFeature}")
+        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_REQUIRED_VERSION)
+        if(_info)
+          string(APPEND _currentFeatureText " (required version ${_info})")
+        endif()
+        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_DESCRIPTION)
+        if(_info)
+          string(APPEND _currentFeatureText ", ${_info}")
+        endif()
+        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_URL)
+        if(_info)
+          string(APPEND _currentFeatureText ", <${_info}>")
+        endif()
+
+        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_PURPOSE)
+        foreach(_purpose ${_info})
+          string(APPEND _currentFeatureText "\n   ${_purpose}")
+        endforeach()
+
+      endif()
+
+    endif()
+
+  endforeach()
+  set(${_var} "${_currentFeatureText}" PARENT_SCOPE)
+endfunction()
+
+
+#[=======================================================================[.rst:
+.. command:: feature_summary
+
+  ::
+
+    feature_summary( [FILENAME <file>]
+                     [APPEND]
+                     [VAR <variable_name>]
+                     [INCLUDE_QUIET_PACKAGES]
+                     [FATAL_ON_MISSING_REQUIRED_PACKAGES]
+                     [DESCRIPTION "<description>" | DEFAULT_DESCRIPTION]
+                     [QUIET_ON_EMPTY]
+                     WHAT (ALL
+                          | PACKAGES_FOUND | PACKAGES_NOT_FOUND
+                          | <TYPE>_PACKAGES_FOUND | <TYPE>_PACKAGES_NOT_FOUND
+                          | ENABLED_FEATURES | DISABLED_FEATURES)
+                   )
+
+  The ``feature_summary()`` macro can be used to print information about
+  enabled or disabled packages or features of a project.  By default,
+  only the names of the features/packages will be printed and their
+  required version when one was specified.  Use ``set_package_properties()``
+  to add more useful information, like e.g.  a download URL for the
+  respective package or their purpose in the project.
+
+  The ``WHAT`` option is the only mandatory option.  Here you specify what
+  information will be printed:
+
+  ``ALL``
+   print everything
+  ``ENABLED_FEATURES``
+   the list of all features which are enabled
+  ``DISABLED_FEATURES``
+   the list of all features which are disabled
+  ``PACKAGES_FOUND``
+   the list of all packages which have been found
+  ``PACKAGES_NOT_FOUND``
+   the list of all packages which have not been found
+
+  For each package type ``<TYPE>`` defined by the
+  :variable:`FeatureSummary_PKG_TYPES` global property, the following
+  information can also be used:
+
+  ``<TYPE>_PACKAGES_FOUND``
+   only those packages which have been found which have the type <TYPE>
+  ``<TYPE>_PACKAGES_NOT_FOUND``
+   only those packages which have not been found which have the type <TYPE>
+
+  With the exception of the ``ALL`` value, these values can be combined
+  in order to customize the output. For example:
+
+  .. code-block:: cmake
+
+    feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)
+
+  If a ``FILENAME`` is given, the information is printed into this file.  If
+  ``APPEND`` is used, it is appended to this file, otherwise the file is
+  overwritten if it already existed.  If the VAR option is used, the
+  information is "printed" into the specified variable.  If ``FILENAME`` is
+  not used, the information is printed to the terminal.  Using the
+  ``DESCRIPTION`` option a description or headline can be set which will be
+  printed above the actual content.  If only one type of
+  package was requested, no title is printed, unless it is explicitly set using
+  either ``DESCRIPTION`` to use a custom string, or ``DEFAULT_DESCRIPTION`` to
+  use a default title for the requested type.
+  If ``INCLUDE_QUIET_PACKAGES`` is given, packages which have been searched with
+  ``find_package(... QUIET)`` will also be listed. By default they are skipped.
+  If ``FATAL_ON_MISSING_REQUIRED_PACKAGES`` is given, CMake will abort if a
+  package which is marked as one of the package types listed in the
+  :variable:`FeatureSummary_REQUIRED_PKG_TYPES` global property has not been
+  found.
+  The default value for the :variable:`FeatureSummary_REQUIRED_PKG_TYPES` global
+  property is ``REQUIRED``.
+
+  The :variable:`FeatureSummary_DEFAULT_PKG_TYPE` global property can be
+  modified to change the default package type assigned when not explicitly
+  assigned by the user.
+
+  If the ``QUIET_ON_EMPTY`` option is used, if only one type of package was
+  requested, and no packages belonging to that category were found, then no
+  output (including the ``DESCRIPTION``) is printed or added to the ``VAR``
+  variable.
+
+  Example 1, append everything to a file:
+
+  .. code-block:: cmake
+
+   include(FeatureSummary)
+   feature_summary(WHAT ALL
+                   FILENAME ${CMAKE_BINARY_DIR}/all.log APPEND)
+
+  Example 2, print the enabled features into the variable
+  enabledFeaturesText, including QUIET packages:
+
+  .. code-block:: cmake
+
+   include(FeatureSummary)
+   feature_summary(WHAT ENABLED_FEATURES
+                   INCLUDE_QUIET_PACKAGES
+                   DESCRIPTION "Enabled Features:"
+                   VAR enabledFeaturesText)
+   message(STATUS "${enabledFeaturesText}")
+
+  Example 3, change default package types and print only the categories that
+  are not empty:
+
+  .. code-block:: cmake
+
+   include(FeatureSummary)
+   set_property(GLOBAL APPEND PROPERTY FeatureSummary_PKG_TYPES BUILD)
+   find_package(FOO)
+   set_package_properties(FOO PROPERTIES TYPE BUILD)
+   feature_summary(WHAT BUILD_PACKAGES_FOUND
+                   Description "Build tools found:"
+                   QUIET_ON_EMPTY)
+   feature_summary(WHAT BUILD_PACKAGES_NOT_FOUND
+                   Description "Build tools not found:"
+                   QUIET_ON_EMPTY)
+
+#]=======================================================================]
+
+function(FEATURE_SUMMARY)
+# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
+  set(options APPEND
+              INCLUDE_QUIET_PACKAGES
+              FATAL_ON_MISSING_REQUIRED_PACKAGES
+              QUIET_ON_EMPTY
+              DEFAULT_DESCRIPTION)
+  set(oneValueArgs FILENAME
+                   VAR
+                   DESCRIPTION)
+  set(multiValueArgs WHAT)
+
+  CMAKE_PARSE_ARGUMENTS(_FS "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
+
+  if(_FS_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to FEATURE_SUMMARY(): \"${_FS_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  if(NOT _FS_WHAT)
+    message(FATAL_ERROR "The call to FEATURE_SUMMARY() doesn't set the required WHAT argument.")
+  endif()
+
+  if(_FS_DEFAULT_DESCRIPTION AND DEFINED _FS_DESCRIPTION)
+    message(WARNING "DEFAULT_DESCRIPTION option discarded since DESCRIPTION is set.")
+    set(_FS_DEFAULT_DESCRIPTION 0)
+  endif()
+
+  set(validWhatParts "ENABLED_FEATURES"
+                     "DISABLED_FEATURES"
+                     "PACKAGES_FOUND"
+                     "PACKAGES_NOT_FOUND")
+
+  get_property(_fsPkgTypes GLOBAL PROPERTY FeatureSummary_PKG_TYPES)
+  get_property(_fsReqPkgTypes GLOBAL PROPERTY FeatureSummary_REQUIRED_PKG_TYPES)
+  foreach(_fsPkgType ${_fsPkgTypes})
+    list(APPEND validWhatParts "${_fsPkgType}_PACKAGES_FOUND"
+                               "${_fsPkgType}_PACKAGES_NOT_FOUND")
+  endforeach()
+
+  set(title_ENABLED_FEATURES               "The following features have been enabled:")
+  set(title_DISABLED_FEATURES              "The following features have been disabled:")
+  set(title_PACKAGES_FOUND                 "The following packages have been found:")
+  set(title_PACKAGES_NOT_FOUND             "The following packages have not been found:")
+  foreach(_fsPkgType ${_fsPkgTypes})
+    set(_fsPkgTypeDescription "${_fsPkgType} packages")
+    get_property(_fsPkgTypeDescriptionIsSet GLOBAL PROPERTY FeatureSummary_${_fsPkgType}_DESCRIPTION SET)
+    if(_fsPkgTypeDescriptionIsSet)
+      get_property(_fsPkgTypeDescription GLOBAL PROPERTY FeatureSummary_${_fsPkgType}_DESCRIPTION )
+    endif()
+    set(title_${_fsPkgType}_PACKAGES_FOUND     "The following ${_fsPkgTypeDescription} have been found:")
+    set(title_${_fsPkgType}_PACKAGES_NOT_FOUND "The following ${_fsPkgTypeDescription} have not been found:")
+  endforeach()
+
+  list(FIND validWhatParts "${_FS_WHAT}" indexInList)
+  if(NOT "${indexInList}" STREQUAL "-1")
+    _FS_GET_FEATURE_SUMMARY( ${_FS_WHAT} _featureSummary ${_FS_INCLUDE_QUIET_PACKAGES} )
+    if(_featureSummary OR NOT _FS_QUIET_ON_EMPTY)
+      if(_FS_DEFAULT_DESCRIPTION)
+        set(_fullText "${title_${_FS_WHAT}}\n${_featureSummary}\n")
+      else()
+        set(_fullText "${_FS_DESCRIPTION}${_featureSummary}\n")
+      endif()
+    endif()
+
+    if(_featureSummary)
+      foreach(_fsReqPkgType ${_fsReqPkgTypes})
+        if("${_FS_WHAT}" STREQUAL "${_fsReqPkgType}_PACKAGES_NOT_FOUND")
+          set(requiredPackagesNotFound TRUE)
+          break()
+        endif()
+      endforeach()
+    endif()
+
+  else()
+    if("${_FS_WHAT}" STREQUAL "ALL")
+
+      set(allWhatParts "ENABLED_FEATURES")
+      foreach(_fsPkgType ${_fsPkgTypes})
+        list(APPEND allWhatParts "${_fsPkgType}_PACKAGES_FOUND")
+      endforeach()
+      list(APPEND allWhatParts "DISABLED_FEATURES")
+      foreach(_fsPkgType ${_fsPkgTypes})
+        list(APPEND allWhatParts "${_fsPkgType}_PACKAGES_NOT_FOUND")
+      endforeach()
+    else()
+      set(allWhatParts)
+      foreach(part ${_FS_WHAT})
+        list(FIND validWhatParts "${part}" indexInList)
+        if(NOT "${indexInList}" STREQUAL "-1")
+          list(APPEND allWhatParts "${part}")
+        else()
+          if("${part}" STREQUAL "ALL")
+            message(FATAL_ERROR "The WHAT argument of FEATURE_SUMMARY() contains ALL, which cannot be combined with other values.")
+          else()
+            message(FATAL_ERROR "The WHAT argument of FEATURE_SUMMARY() contains ${part}, which is not a valid value.")
+          endif()
+        endif()
+      endforeach()
+    endif()
+
+    set(_fullText "${_FS_DESCRIPTION}")
+    foreach(part ${allWhatParts})
+      set(_tmp)
+      _FS_GET_FEATURE_SUMMARY( ${part} _tmp ${_FS_INCLUDE_QUIET_PACKAGES})
+      if(_tmp)
+        if(_fullText)
+          string(APPEND _fullText "\n-- ")
+        endif()
+        string(APPEND _fullText "${title_${part}}\n${_tmp}\n")
+        foreach(_fsReqPkgType ${_fsReqPkgTypes})
+          if("${part}" STREQUAL "${_fsReqPkgType}_PACKAGES_NOT_FOUND")
+            set(requiredPackagesNotFound TRUE)
+            break()
+          endif()
+        endforeach()
+      endif()
+    endforeach()
+  endif()
+
+  if(_fullText OR NOT _FS_QUIET_ON_EMPTY)
+    if(_FS_FILENAME)
+      if(_FS_APPEND)
+        file(APPEND "${_FS_FILENAME}" "${_fullText}")
+      else()
+        file(WRITE  "${_FS_FILENAME}" "${_fullText}")
+      endif()
+
+    else()
+      if(NOT _FS_VAR)
+        message(STATUS "${_fullText}")
+      endif()
+    endif()
+
+    if(_FS_VAR)
+      set(${_FS_VAR} "${_fullText}" PARENT_SCOPE)
+    endif()
+  endif()
+
+  if(requiredPackagesNotFound  AND  _FS_FATAL_ON_MISSING_REQUIRED_PACKAGES)
+    message(FATAL_ERROR "feature_summary() Error: REQUIRED package(s) are missing, aborting CMake run.")
+  endif()
+
+endfunction()
+
+#[=======================================================================[.rst:
+.. command:: set_package_properties
+
+  ::
+
+    set_package_properties(<name> PROPERTIES
+                           [ URL <url> ]
+                           [ DESCRIPTION <description> ]
+                           [ TYPE (RUNTIME|OPTIONAL|RECOMMENDED|REQUIRED) ]
+                           [ PURPOSE <purpose> ]
+                          )
+
+  Use this macro to set up information about the named package, which
+  can then be displayed via FEATURE_SUMMARY().  This can be done either
+  directly in the Find-module or in the project which uses the module
+  after the find_package() call.  The features for which information can
+  be set are added automatically by the find_package() command.
+
+  ``URL <url>``
+    This should be the homepage of the package, or something similar.
+    Ideally this is set already directly in the Find-module.
+
+  ``DESCRIPTION <description>``
+    A short description what that package is, at most one sentence.
+    Ideally this is set already directly in the Find-module.
+
+  ``TYPE <type>``
+    What type of dependency has the using project on that package.
+    Default is ``OPTIONAL``.  In this case it is a package which can be used
+    by the project when available at buildtime, but it also work without.
+    ``RECOMMENDED`` is similar to ``OPTIONAL``, i.e.  the project will build if
+    the package is not present, but the functionality of the resulting
+    binaries will be severly limited.  If a ``REQUIRED`` package is not
+    available at buildtime, the project may not even build.  This can be
+    combined with the ``FATAL_ON_MISSING_REQUIRED_PACKAGES`` argument for
+    ``feature_summary()``.  Last, a ``RUNTIME`` package is a package which is
+    actually not used at all during the build, but which is required for
+    actually running the resulting binaries.  So if such a package is
+    missing, the project can still be built, but it may not work later on.
+    If ``set_package_properties()`` is called multiple times for the same
+    package with different TYPEs, the ``TYPE`` is only changed to higher
+    TYPEs (``RUNTIME < OPTIONAL < RECOMMENDED < REQUIRED``), lower TYPEs are
+    ignored.  The ``TYPE`` property is project-specific, so it cannot be set
+    by the Find-module, but must be set in the project.
+    Type accepted can be changed by setting the
+    :variable:`FeatureSummary_PKG_TYPES` global property.
+
+  ``PURPOSE <purpose>``
+    This describes which features this package enables in the
+    project, i.e.  it tells the user what functionality he gets in the
+    resulting binaries.  If set_package_properties() is called multiple
+    times for a package, all PURPOSE properties are appended to a list of
+    purposes of the package in the project.  As the TYPE property, also
+    the PURPOSE property is project-specific, so it cannot be set by the
+    Find-module, but must be set in the project.
+
+  Example for setting the info for a package:
+
+  .. code-block:: cmake
+
+    find_package(LibXml2)
+    set_package_properties(LibXml2 PROPERTIES
+                           DESCRIPTION "A XML processing library."
+                           URL "http://xmlsoft.org/")
+    # or
+    set_package_properties(LibXml2 PROPERTIES
+                           TYPE RECOMMENDED
+                           PURPOSE "Enables HTML-import in MyWordProcessor")
+    # or
+    set_package_properties(LibXml2 PROPERTIES
+                           TYPE OPTIONAL
+                           PURPOSE "Enables odt-export in MyWordProcessor")
+
+    find_package(DBUS)
+    set_package_properties(DBUS PROPERTIES
+      TYPE RUNTIME
+      PURPOSE "Necessary to disable the screensaver during a presentation")
+#]=======================================================================]
+function(SET_PACKAGE_PROPERTIES _name _props)
+  if(NOT "${_props}" STREQUAL "PROPERTIES")
+    message(FATAL_ERROR "PROPERTIES keyword is missing in SET_PACKAGE_PROPERTIES() call.")
+  endif()
+
+  set(options ) # none
+  set(oneValueArgs DESCRIPTION URL TYPE PURPOSE )
+  set(multiValueArgs ) # none
+
+  CMAKE_PARSE_ARGUMENTS(_SPP "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+
+  if(_SPP_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to SET_PACKAGE_PROPERTIES(): \"${_SPP_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  if(_SPP_DESCRIPTION)
+    get_property(_info  GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION)
+    if(_info AND NOT "${_info}" STREQUAL "${_SPP_DESCRIPTION}")
+      message(STATUS "Warning: Property DESCRIPTION for package ${_name} already set to \"${_info}\", overriding it with \"${_SPP_DESCRIPTION}\"")
+    endif()
+
+    set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_SPP_DESCRIPTION}" )
+  endif()
+
+
+  if(_SPP_URL)
+    get_property(_info  GLOBAL PROPERTY _CMAKE_${_name}_URL)
+    if(_info AND NOT "${_info}" STREQUAL "${_SPP_URL}")
+      message(STATUS "Warning: Property URL already set to \"${_info}\", overriding it with \"${_SPP_URL}\"")
+    endif()
+
+    set_property(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_SPP_URL}" )
+  endif()
+
+
+  # handle the PURPOSE: use APPEND, since there can be multiple purposes for one package inside a project
+  if(_SPP_PURPOSE)
+    set_property(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_SPP_PURPOSE}" )
+  endif()
+
+  get_property(_fsPkgTypes GLOBAL PROPERTY FeatureSummary_PKG_TYPES)
+  get_property(_fsDefaultPkgType GLOBAL PROPERTY FeatureSummary_DEFAULT_PKG_TYPE)
+
+  # handle the TYPE
+  if(DEFINED _SPP_TYPE)
+    # Supported types are listed in FeatureSummary_PKG_TYPES according to their priority
+    get_property(_fsPkgTypes GLOBAL PROPERTY FeatureSummary_PKG_TYPES)
+    list(FIND _fsPkgTypes ${_SPP_TYPE} _typeIndexInList)
+    if("${_typeIndexInList}" STREQUAL "-1" )
+      string(REGEX REPLACE ";([^;]+)$" " and \\1" _fsPkgTypes_msg "${_fsPkgTypes}")
+      string(REPLACE ";" ", " _fsPkgTypes_msg "${_fsPkgTypes_msg}")
+      message(FATAL_ERROR "Bad package property type ${_SPP_TYPE} used in SET_PACKAGE_PROPERTIES(). "
+                          "Valid types are ${_fsPkgTypes_msg}." )
+    endif()
+
+    get_property(_previousType  GLOBAL PROPERTY _CMAKE_${_name}_TYPE)
+    list(FIND _fsPkgTypes "${_previousType}" _prevTypeIndexInList)
+
+    # make sure a previously set TYPE is not overridden with a lower new TYPE:
+    if("${_typeIndexInList}" GREATER "${_prevTypeIndexInList}")
+      set_property(GLOBAL PROPERTY _CMAKE_${_name}_TYPE "${_SPP_TYPE}" )
+    endif()
+  endif()
+
+endfunction()
+
+#[=======================================================================[.rst:
+.. command:: add_feature_info
+
+  ::
+
+    add_feature_info(<name> <enabled> <description>)
+
+  Use this macro to add information about a feature with the given ``<name>``.
+  ``<enabled>`` contains whether this feature is enabled or not. It can be a
+  variable or a list of conditions.
+  ``<description>`` is a text describing the feature.  The information can
+  be displayed using ``feature_summary()`` for ``ENABLED_FEATURES`` and
+  ``DISABLED_FEATURES`` respectively.
+
+  Example for setting the info for a feature:
+
+  .. code-block:: cmake
+
+     option(WITH_FOO "Help for foo" ON)
+     add_feature_info(Foo WITH_FOO "The Foo feature provides very cool stuff.")
+#]=======================================================================]
+function(ADD_FEATURE_INFO _name _depends _desc)
+  set(_enabled 1)
+  foreach(_d ${_depends})
+    string(REGEX REPLACE " +" ";" _d "${_d}")
+    if(${_d})
+    else()
+      set(_enabled 0)
+      break()
+    endif()
+  endforeach()
+  if (${_enabled})
+    set_property(GLOBAL APPEND PROPERTY ENABLED_FEATURES "${_name}")
+  else ()
+    set_property(GLOBAL APPEND PROPERTY DISABLED_FEATURES "${_name}")
+  endif ()
+
+  set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
+endfunction()
+
+
+# The stuff below is only kept for compatibility
+
+#[=======================================================================[.rst:
+Legacy Macros
+^^^^^^^^^^^^^
+
+The following macros are provided for compatibility with previous
+CMake versions:
+
+.. command:: set_package_info
+
+  ::
+
+    set_package_info(<name> <description> [ <url> [<purpose>] ])
+
+  Use this macro to set up information about the named package, which
+  can then be displayed via ``feature_summary()``.  This can be done either
+  directly in the Find-module or in the project which uses the module
+  after the :command:`find_package` call.  The features for which information
+  can be set are added automatically by the ``find_package()`` command.
+#]=======================================================================]
+function(SET_PACKAGE_INFO _name _desc)
+  message(DEPRECATION "SET_PACKAGE_INFO is deprecated. Use SET_PACKAGE_PROPERTIES instead.")
+  unset(_url)
+  unset(_purpose)
+  if(ARGC GREATER 2)
+    set(_url "${ARGV2}")
+  endif()
+  if(ARGC GREATER 3)
+    set(_purpose "${ARGV3}")
+  endif()
+  set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
+  if(NOT _url STREQUAL "")
+    set_property(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_url}" )
+  endif()
+  if(NOT _purpose STREQUAL "")
+    set_property(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_purpose}" )
+  endif()
+endfunction()
+
+#[=======================================================================[.rst:
+.. command:: set_feature_info
+
+  ::
+
+    set_feature_info(<name> <description> [<url>])
+
+  Does the same as::
+
+    set_package_info(<name> <description> <url>)
+#]=======================================================================]
+function(SET_FEATURE_INFO)
+  message(DEPRECATION "SET_FEATURE_INFO is deprecated. Use ADD_FEATURE_INFO instead.")
+  SET_PACKAGE_INFO(${ARGN})
+endfunction()
+
+#[=======================================================================[.rst:
+.. command:: print_enabled_features
+
+  ::
+
+    print_enabled_features()
+
+  Does the same as
+
+  .. code-block:: cmake
+
+    feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
+#]=======================================================================]
+function(PRINT_ENABLED_FEATURES)
+  message(DEPRECATION "PRINT_ENABLED_FEATURES is deprecated. Use
+    feature_summary(WHAT ENABLED_FEATURES DESCRIPTION \"Enabled features:\")")
+  FEATURE_SUMMARY(WHAT ENABLED_FEATURES  DESCRIPTION "Enabled features:")
+endfunction()
+
+#[=======================================================================[.rst:
+.. command:: print_disabled_features
+
+  ::
+
+    print_disabled_features()
+
+  Does the same as
+
+  .. code-block:: cmake
+
+    feature_summary(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
+#]=======================================================================]
+function(PRINT_DISABLED_FEATURES)
+  message(DEPRECATION "PRINT_DISABLED_FEATURES is deprecated. Use
+    feature_summary(WHAT DISABLED_FEATURES DESCRIPTION \"Disabled features:\")")
+  FEATURE_SUMMARY(WHAT DISABLED_FEATURES  DESCRIPTION "Disabled features:")
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindALSA.cmake b/share/cmake-3.10/Modules/FindALSA.cmake
new file mode 100644
index 0000000..fa9a434
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindALSA.cmake
@@ -0,0 +1,52 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindALSA
+# --------
+#
+# Find alsa
+#
+# Find the alsa libraries (asound)
+#
+# ::
+#
+#   This module defines the following variables:
+#      ALSA_FOUND       - True if ALSA_INCLUDE_DIR & ALSA_LIBRARY are found
+#      ALSA_LIBRARIES   - Set when ALSA_LIBRARY is found
+#      ALSA_INCLUDE_DIRS - Set when ALSA_INCLUDE_DIR is found
+#
+#
+#
+# ::
+#
+#      ALSA_INCLUDE_DIR - where to find asoundlib.h, etc.
+#      ALSA_LIBRARY     - the asound library
+#      ALSA_VERSION_STRING - the version of alsa found (since CMake 2.8.8)
+
+find_path(ALSA_INCLUDE_DIR NAMES alsa/asoundlib.h
+          DOC "The ALSA (asound) include directory"
+)
+
+find_library(ALSA_LIBRARY NAMES asound
+          DOC "The ALSA (asound) library"
+)
+
+if(ALSA_INCLUDE_DIR AND EXISTS "${ALSA_INCLUDE_DIR}/alsa/version.h")
+  file(STRINGS "${ALSA_INCLUDE_DIR}/alsa/version.h" alsa_version_str REGEX "^#define[\t ]+SND_LIB_VERSION_STR[\t ]+\".*\"")
+
+  string(REGEX REPLACE "^.*SND_LIB_VERSION_STR[\t ]+\"([^\"]*)\".*$" "\\1" ALSA_VERSION_STRING "${alsa_version_str}")
+  unset(alsa_version_str)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALSA
+                                  REQUIRED_VARS ALSA_LIBRARY ALSA_INCLUDE_DIR
+                                  VERSION_VAR ALSA_VERSION_STRING)
+
+if(ALSA_FOUND)
+  set( ALSA_LIBRARIES ${ALSA_LIBRARY} )
+  set( ALSA_INCLUDE_DIRS ${ALSA_INCLUDE_DIR} )
+endif()
+
+mark_as_advanced(ALSA_INCLUDE_DIR ALSA_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindASPELL.cmake b/share/cmake-3.10/Modules/FindASPELL.cmake
new file mode 100644
index 0000000..6944ac1
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindASPELL.cmake
@@ -0,0 +1,31 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindASPELL
+# ----------
+#
+# Try to find ASPELL
+#
+# Once done this will define
+#
+# ::
+#
+#   ASPELL_FOUND - system has ASPELL
+#   ASPELL_EXECUTABLE - the ASPELL executable
+#   ASPELL_INCLUDE_DIR - the ASPELL include directory
+#   ASPELL_LIBRARIES - The libraries needed to use ASPELL
+#   ASPELL_DEFINITIONS - Compiler switches required for using ASPELL
+
+find_path(ASPELL_INCLUDE_DIR aspell.h )
+
+find_program(ASPELL_EXECUTABLE
+  NAMES aspell
+)
+
+find_library(ASPELL_LIBRARIES NAMES aspell aspell-15 libaspell-15 libaspell)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASPELL DEFAULT_MSG ASPELL_LIBRARIES ASPELL_INCLUDE_DIR ASPELL_EXECUTABLE)
+
+mark_as_advanced(ASPELL_INCLUDE_DIR ASPELL_LIBRARIES ASPELL_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindAVIFile.cmake b/share/cmake-3.10/Modules/FindAVIFile.cmake
new file mode 100644
index 0000000..88a2a25
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindAVIFile.cmake
@@ -0,0 +1,43 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindAVIFile
+# -----------
+#
+# Locate AVIFILE library and include paths
+#
+# AVIFILE (http://avifile.sourceforge.net/)is a set of libraries for
+# i386 machines to use various AVI codecs.  Support is limited beyond
+# Linux.  Windows provides native AVI support, and so doesn't need this
+# library.  This module defines
+#
+# ::
+#
+#   AVIFILE_INCLUDE_DIR, where to find avifile.h , etc.
+#   AVIFILE_LIBRARIES, the libraries to link against
+#   AVIFILE_DEFINITIONS, definitions to use when compiling
+#   AVIFILE_FOUND, If false, don't try to use AVIFILE
+
+if (UNIX)
+
+  find_path(AVIFILE_INCLUDE_DIR avifile.h
+    /usr/local/avifile/include
+    /usr/local/include/avifile
+  )
+
+  find_library(AVIFILE_AVIPLAY_LIBRARY aviplay
+    /usr/local/avifile/lib
+  )
+
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(AVIFile DEFAULT_MSG AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
+
+if (AVIFILE_FOUND)
+    set(AVIFILE_LIBRARIES ${AVIFILE_AVIPLAY_LIBRARY})
+    set(AVIFILE_DEFINITIONS "")
+endif()
+
+mark_as_advanced(AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindArmadillo.cmake b/share/cmake-3.10/Modules/FindArmadillo.cmake
new file mode 100644
index 0000000..95f0c56
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindArmadillo.cmake
@@ -0,0 +1,90 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindArmadillo
+# -------------
+#
+# Find Armadillo
+#
+# Find the Armadillo C++ library
+#
+# Using Armadillo:
+#
+# ::
+#
+#   find_package(Armadillo REQUIRED)
+#   include_directories(${ARMADILLO_INCLUDE_DIRS})
+#   add_executable(foo foo.cc)
+#   target_link_libraries(foo ${ARMADILLO_LIBRARIES})
+#
+# This module sets the following variables:
+#
+# ::
+#
+#   ARMADILLO_FOUND - set to true if the library is found
+#   ARMADILLO_INCLUDE_DIRS - list of required include directories
+#   ARMADILLO_LIBRARIES - list of libraries to be linked
+#   ARMADILLO_VERSION_MAJOR - major version number
+#   ARMADILLO_VERSION_MINOR - minor version number
+#   ARMADILLO_VERSION_PATCH - patch version number
+#   ARMADILLO_VERSION_STRING - version number as a string (ex: "1.0.4")
+#   ARMADILLO_VERSION_NAME - name of the version (ex: "Antipodean Antileech")
+
+# UNIX paths are standard, no need to write.
+find_library(ARMADILLO_LIBRARY
+  NAMES armadillo
+  PATHS "$ENV{ProgramFiles}/Armadillo/lib"  "$ENV{ProgramFiles}/Armadillo/lib64" "$ENV{ProgramFiles}/Armadillo"
+  )
+find_path(ARMADILLO_INCLUDE_DIR
+  NAMES armadillo
+  PATHS "$ENV{ProgramFiles}/Armadillo/include"
+  )
+
+
+if(ARMADILLO_INCLUDE_DIR)
+
+  # ------------------------------------------------------------------------
+  #  Extract version information from <armadillo>
+  # ------------------------------------------------------------------------
+
+  # WARNING: Early releases of Armadillo didn't have the arma_version.hpp file.
+  # (e.g. v.0.9.8-1 in ubuntu maverick packages (2001-03-15))
+  # If the file is missing, set all values to 0
+  set(ARMADILLO_VERSION_MAJOR 0)
+  set(ARMADILLO_VERSION_MINOR 0)
+  set(ARMADILLO_VERSION_PATCH 0)
+  set(ARMADILLO_VERSION_NAME "EARLY RELEASE")
+
+  if(EXISTS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp")
+
+    # Read and parse armdillo version header file for version number
+    file(STRINGS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp" _armadillo_HEADER_CONTENTS REGEX "#define ARMA_VERSION_[A-Z]+ ")
+    string(REGEX REPLACE ".*#define ARMA_VERSION_MAJOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MAJOR "${_armadillo_HEADER_CONTENTS}")
+    string(REGEX REPLACE ".*#define ARMA_VERSION_MINOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MINOR "${_armadillo_HEADER_CONTENTS}")
+    string(REGEX REPLACE ".*#define ARMA_VERSION_PATCH ([0-9]+).*" "\\1" ARMADILLO_VERSION_PATCH "${_armadillo_HEADER_CONTENTS}")
+
+    # WARNING: The number of spaces before the version name is not one.
+    string(REGEX REPLACE ".*#define ARMA_VERSION_NAME +\"([0-9a-zA-Z _-]+)\".*" "\\1" ARMADILLO_VERSION_NAME "${_armadillo_HEADER_CONTENTS}")
+
+    unset(_armadillo_HEADER_CONTENTS)
+  endif()
+
+  set(ARMADILLO_VERSION_STRING "${ARMADILLO_VERSION_MAJOR}.${ARMADILLO_VERSION_MINOR}.${ARMADILLO_VERSION_PATCH}")
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Armadillo
+  REQUIRED_VARS ARMADILLO_LIBRARY ARMADILLO_INCLUDE_DIR
+  VERSION_VAR ARMADILLO_VERSION_STRING)
+# version_var fails with cmake < 2.8.4.
+
+if (ARMADILLO_FOUND)
+  set(ARMADILLO_INCLUDE_DIRS ${ARMADILLO_INCLUDE_DIR})
+  set(ARMADILLO_LIBRARIES ${ARMADILLO_LIBRARY})
+endif ()
+
+# Hide internal variables
+mark_as_advanced(
+  ARMADILLO_INCLUDE_DIR
+  ARMADILLO_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindBISON.cmake b/share/cmake-3.10/Modules/FindBISON.cmake
new file mode 100644
index 0000000..d684ccd
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindBISON.cmake
@@ -0,0 +1,253 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindBISON
+# ---------
+#
+# Find ``bison`` executable and provide a macro to generate custom build rules.
+#
+# The module defines the following variables:
+#
+# ``BISON_EXECUTABLE``
+#   path to the ``bison`` program
+#
+# ``BISON_VERSION``
+#   version of ``bison``
+#
+# ``BISON_FOUND``
+#   true if the program was found
+#
+# The minimum required version of ``bison`` can be specified using the
+# standard CMake syntax, e.g.  ``find_package(BISON 2.1.3)``.
+#
+# If ``bison`` is found, the module defines the macro::
+#
+#   BISON_TARGET(<Name> <YaccInput> <CodeOutput>
+#                [COMPILE_FLAGS <flags>]
+#                [DEFINES_FILE <file>]
+#                [VERBOSE [<file>]]
+#                [REPORT_FILE <file>]
+#                )
+#
+# which will create a custom rule to generate a parser.  ``<YaccInput>`` is
+# the path to a yacc file.  ``<CodeOutput>`` is the name of the source file
+# generated by bison.  A header file is also be generated, and contains
+# the token list.
+#
+# The options are:
+#
+# ``COMPILE_FLAGS <flags>``
+#   Specify flags to be added to the ``bison`` command line.
+#
+# ``DEFINES_FILE <file>``
+#   Specify a non-default header ``<file>`` to be generated by ``bison``.
+#
+# ``VERBOSE [<file>]``
+#   Tell ``bison`` to write a report file of the grammar and parser.
+#   If ``<file>`` is given, it specifies path the report file is copied to.
+#   ``[<file>]`` is left for backward compatibility of this module.
+#   Use ``VERBOSE REPORT_FILE <file>``.
+#
+# ``REPORT_FILE <file>``
+#   Specify a non-default report ``<file>``, if generated.
+#
+# The macro defines the following variables:
+#
+# ``BISON_<Name>_DEFINED``
+#   true is the macro ran successfully
+#
+# ``BISON_<Name>_INPUT``
+#   The input source file, an alias for <YaccInput>
+#
+# ``BISON_<Name>_OUTPUT_SOURCE``
+#   The source file generated by bison
+#
+# ``BISON_<Name>_OUTPUT_HEADER``
+#   The header file generated by bison
+#
+# ``BISON_<Name>_OUTPUTS``
+#   All files generated by bison including the source, the header and the report
+#
+# ``BISON_<Name>_COMPILE_FLAGS``
+#   Options used in the ``bison`` command line
+#
+# Example usage:
+#
+# .. code-block:: cmake
+#
+#   find_package(BISON)
+#   BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
+#                DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/parser.h)
+#   add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
+
+find_program(BISON_EXECUTABLE NAMES bison win_bison DOC "path to the bison executable")
+mark_as_advanced(BISON_EXECUTABLE)
+
+if(BISON_EXECUTABLE)
+  # the bison commands should be executed with the C locale, otherwise
+  # the message (which are parsed) may be translated
+  set(_Bison_SAVED_LC_ALL "$ENV{LC_ALL}")
+  set(ENV{LC_ALL} C)
+
+  execute_process(COMMAND ${BISON_EXECUTABLE} --version
+    OUTPUT_VARIABLE BISON_version_output
+    ERROR_VARIABLE BISON_version_error
+    RESULT_VARIABLE BISON_version_result
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  set(ENV{LC_ALL} ${_Bison_SAVED_LC_ALL})
+
+  if(NOT ${BISON_version_result} EQUAL 0)
+    message(SEND_ERROR "Command \"${BISON_EXECUTABLE} --version\" failed with output:\n${BISON_version_error}")
+  else()
+    # Bison++
+    if("${BISON_version_output}" MATCHES "^bison\\+\\+ Version ([^,]+)")
+      set(BISON_VERSION "${CMAKE_MATCH_1}")
+    # GNU Bison
+    elseif("${BISON_version_output}" MATCHES "^bison \\(GNU Bison\\) ([^\n]+)\n")
+      set(BISON_VERSION "${CMAKE_MATCH_1}")
+    elseif("${BISON_version_output}" MATCHES "^GNU Bison (version )?([^\n]+)")
+      set(BISON_VERSION "${CMAKE_MATCH_2}")
+    endif()
+  endif()
+
+  # internal macro
+  # sets BISON_TARGET_cmdopt
+  macro(BISON_TARGET_option_extraopts Options)
+    set(BISON_TARGET_cmdopt "")
+    set(BISON_TARGET_extraopts "${Options}")
+    separate_arguments(BISON_TARGET_extraopts)
+    list(APPEND BISON_TARGET_cmdopt ${BISON_TARGET_extraopts})
+  endmacro()
+
+  # internal macro
+  # sets BISON_TARGET_output_header and BISON_TARGET_cmdopt
+  macro(BISON_TARGET_option_defines BisonOutput Header)
+    if("${Header}" STREQUAL "")
+      # default header path generated by bison (see option -d)
+      string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${BisonOutput}")
+      string(REPLACE "c" "h" _fileext ${_fileext})
+      string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
+          BISON_TARGET_output_header "${BisonOutput}")
+      list(APPEND BISON_TARGET_cmdopt "-d")
+    else()
+      set(BISON_TARGET_output_header "${Header}")
+      list(APPEND BISON_TARGET_cmdopt "--defines=${BISON_TARGET_output_header}")
+    endif()
+  endmacro()
+
+  # internal macro
+  # sets BISON_TARGET_verbose_file and BISON_TARGET_cmdopt
+  macro(BISON_TARGET_option_report_file BisonOutput ReportFile)
+    if("${ReportFile}" STREQUAL "")
+      get_filename_component(BISON_TARGET_output_path "${BisonOutput}" PATH)
+      get_filename_component(BISON_TARGET_output_name "${BisonOutput}" NAME_WE)
+      set(BISON_TARGET_verbose_file
+        "${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output")
+    else()
+      set(BISON_TARGET_verbose_file "${ReportFile}")
+      list(APPEND BISON_TARGET_cmdopt "--report-file=${BISON_TARGET_verbose_file}")
+    endif()
+  endmacro()
+
+  # internal macro
+  # adds a custom command and sets
+  #   BISON_TARGET_cmdopt, BISON_TARGET_verbose_file, BISON_TARGET_extraoutputs
+  macro(BISON_TARGET_option_verbose Name BisonOutput filename)
+    list(APPEND BISON_TARGET_cmdopt "--verbose")
+    list(APPEND BISON_TARGET_extraoutputs
+      "${BISON_TARGET_verbose_file}")
+    if (NOT "${filename}" STREQUAL "")
+      add_custom_command(OUTPUT ${filename}
+        COMMAND ${CMAKE_COMMAND} -E copy
+        "${BISON_TARGET_verbose_file}"
+        "${filename}"
+        VERBATIM
+        DEPENDS
+        "${BISON_TARGET_verbose_file}"
+        COMMENT "[BISON][${Name}] Copying bison verbose table to ${filename}"
+        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+      set(BISON_${Name}_VERBOSE_FILE ${filename})
+      list(APPEND BISON_TARGET_extraoutputs
+        "${filename}")
+    endif()
+  endmacro()
+
+  #============================================================
+  # BISON_TARGET (public macro)
+  #============================================================
+  #
+  macro(BISON_TARGET Name BisonInput BisonOutput)
+    set(BISON_TARGET_outputs "${BisonOutput}")
+    set(BISON_TARGET_extraoutputs "")
+
+    # Parsing parameters
+    set(BISON_TARGET_PARAM_OPTIONS
+      )
+    set(BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS
+      COMPILE_FLAGS
+      DEFINES_FILE
+      REPORT_FILE
+      )
+    set(BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS
+      VERBOSE
+      )
+    cmake_parse_arguments(
+        BISON_TARGET_ARG
+        "${BISON_TARGET_PARAM_OPTIONS}"
+        "${BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS}"
+        "${BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS}"
+        ${ARGN}
+    )
+
+    if(NOT "${BISON_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "")
+      message(SEND_ERROR "Usage")
+    elseif("${BISON_TARGET_ARG_VERBOSE}" MATCHES ";")
+      # [VERBOSE [<file>] hack: <file> is non-multi value by usage
+      message(SEND_ERROR "Usage")
+    else()
+
+      BISON_TARGET_option_extraopts("${BISON_TARGET_ARG_COMPILE_FLAGS}")
+      BISON_TARGET_option_defines("${BisonOutput}" "${BISON_TARGET_ARG_DEFINES_FILE}")
+      BISON_TARGET_option_report_file("${BisonOutput}" "${BISON_TARGET_ARG_REPORT_FILE}")
+      if(NOT "${BISON_TARGET_ARG_VERBOSE}" STREQUAL "")
+        BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${BISON_TARGET_ARG_VERBOSE}")
+      else()
+        # [VERBOSE [<file>]] is used with no argument or is not used
+        set(BISON_TARGET_args "${ARGN}")
+        list(FIND BISON_TARGET_args "VERBOSE" BISON_TARGET_args_indexof_verbose)
+        if(${BISON_TARGET_args_indexof_verbose} GREATER -1)
+          # VERBOSE is used without <file>
+          BISON_TARGET_option_verbose(${Name} ${BisonOutput} "")
+        endif()
+      endif()
+
+      list(APPEND BISON_TARGET_outputs "${BISON_TARGET_output_header}")
+
+      add_custom_command(OUTPUT ${BISON_TARGET_outputs}
+        ${BISON_TARGET_extraoutputs}
+        COMMAND ${BISON_EXECUTABLE} ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${BisonInput}
+        VERBATIM
+        DEPENDS ${BisonInput}
+        COMMENT "[BISON][${Name}] Building parser with bison ${BISON_VERSION}"
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+
+      # define target variables
+      set(BISON_${Name}_DEFINED TRUE)
+      set(BISON_${Name}_INPUT ${BisonInput})
+      set(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs} ${BISON_TARGET_extraoutputs})
+      set(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt})
+      set(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}")
+      set(BISON_${Name}_OUTPUT_HEADER "${BISON_TARGET_output_header}")
+
+    endif()
+  endmacro()
+  #
+  #============================================================
+
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS  BISON_EXECUTABLE
+                                        VERSION_VAR BISON_VERSION)
diff --git a/share/cmake-3.10/Modules/FindBLAS.cmake b/share/cmake-3.10/Modules/FindBLAS.cmake
new file mode 100644
index 0000000..2684617
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindBLAS.cmake
@@ -0,0 +1,712 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindBLAS
+# --------
+#
+# Find 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).
+#
+# This module sets the following variables:
+#
+# ::
+#
+#   BLAS_FOUND - set to true if a 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
+#   BLAS95_LIBRARIES - uncached list of libraries (using full path name)
+#     to link against to use BLAS95 interface
+#   BLAS95_FOUND - set to true if a library implementing the BLAS f95 interface
+#     is found
+#   BLA_STATIC  if set on this determines what kind of linkage we do (static)
+#   BLA_VENDOR  if set checks only the specified vendor, if not set checks
+#      all the possibilities
+#   BLA_F95     if set on tries to find the f95 interfaces for BLAS/LAPACK
+#
+# List of vendors (BLA_VENDOR) valid in this module:
+#
+# * Goto
+# * OpenBLAS
+# * ATLAS PhiPACK
+# * CXML
+# * DXML
+# * SunPerf
+# * SCSL
+# * SGIMATH
+# * IBMESSL
+# * Intel10_32 (intel mkl v10 32 bit)
+# * Intel10_64lp (intel mkl v10 64 bit, lp thread model, lp64 model)
+# * Intel10_64lp_seq (intel mkl v10 64 bit, sequential code, lp64 model)
+# * Intel (older versions of mkl 32 and 64 bit)
+# * ACML
+# * ACML_MP
+# * ACML_GPU
+# * Apple
+# * NAS
+# * Generic
+#
+# .. note::
+#
+#   C/CXX should be enabled to use Intel mkl
+#
+
+include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.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()
+
+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 ()
+
+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.
+  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)
+  mark_as_advanced(${_prefix}${_combined_name}_WORKS)
+  set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
+endif()
+if(NOT _libraries_work)
+  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 "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()
+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 ()
+
+#BLAS in intel mkl 10 library? (em64t 64bit)
+if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
+ if (NOT WIN32)
+  set(LM "-lm")
+ 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)
+    set(_LIBRARIES BLAS95_LIBRARIES)
+    if (WIN32)
+      if (BLA_STATIC)
+        set(BLAS_mkl_DLL_SUFFIX "")
+      else()
+        set(BLAS_mkl_DLL_SUFFIX "_dll")
+      endif()
+
+      # 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_64lp" OR BLA_VENDOR STREQUAL "All")
+        list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
+          "mkl_blas95_lp64${BLAS_mkl_DLL_SUFFIX} mkl_intel_lp64${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")
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_blas95 mkl_intel mkl_intel_thread mkl_core guide")
+      endif ()
+      if (BLA_VENDOR STREQUAL "Intel10_64lp" OR BLA_VENDOR STREQUAL "All")
+        # old version
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_blas95 mkl_intel_lp64 mkl_intel_thread mkl_core guide")
+
+        # mkl >= 10.3
+        if (CMAKE_C_COMPILER MATCHES ".+gcc")
+          list(APPEND BLAS_SEARCH_LIBS
+            "mkl_blas95_lp64 mkl_intel_lp64 mkl_gnu_thread mkl_core gomp")
+        else ()
+          list(APPEND BLAS_SEARCH_LIBS
+            "mkl_blas95_lp64 mkl_intel_lp64 mkl_intel_thread mkl_core iomp5")
+        endif ()
+      endif ()
+      if (BLA_VENDOR STREQUAL "Intel10_64lp_seq" OR BLA_VENDOR STREQUAL "All")
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_intel_lp64 mkl_sequential mkl_core")
+      endif ()
+    endif ()
+  else ()
+    set(BLAS_mkl_SEARCH_SYMBOL sgemm)
+    set(_LIBRARIES BLAS_LIBRARIES)
+    if (WIN32)
+      if (BLA_STATIC)
+        set(BLAS_mkl_DLL_SUFFIX "")
+      else()
+        set(BLAS_mkl_DLL_SUFFIX "_dll")
+      endif()
+
+      # 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_64lp" OR BLA_VENDOR STREQUAL "All")
+        list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
+          "mkl_intel_lp64${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")
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_intel mkl_intel_thread mkl_core guide")
+      endif ()
+      if (BLA_VENDOR STREQUAL "Intel10_64lp" OR BLA_VENDOR STREQUAL "All")
+
+        # old version
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_intel_lp64 mkl_intel_thread mkl_core guide")
+
+        # mkl >= 10.3
+        if (CMAKE_C_COMPILER MATCHES ".+gcc")
+          list(APPEND BLAS_SEARCH_LIBS
+            "mkl_intel_lp64 mkl_gnu_thread mkl_core gomp")
+        else ()
+          list(APPEND BLAS_SEARCH_LIBS
+            "mkl_intel_lp64 mkl_intel_thread mkl_core iomp5")
+        endif ()
+      endif ()
+      if (BLA_VENDOR STREQUAL "Intel10_64lp_seq" OR BLA_VENDOR STREQUAL "All")
+        list(APPEND BLAS_SEARCH_LIBS
+          "mkl_intel_lp64 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 ()
+
+  foreach (IT ${BLAS_SEARCH_LIBS})
+    string(REPLACE " " ";" SEARCH_LIBS ${IT})
+    if (${_LIBRARIES})
+    else ()
+      check_fortran_libraries(
+        ${_LIBRARIES}
+        BLAS
+        ${BLAS_mkl_SEARCH_SYMBOL}
+        ""
+        "${SEARCH_LIBS}"
+        "${CMAKE_THREAD_LIBS_INIT};${LM}"
+        )
+    endif ()
+  endforeach ()
+
+ endif ()
+endif ()
+
+
+if(BLA_F95)
+ if(BLAS95_LIBRARIES)
+    set(BLAS95_FOUND TRUE)
+  else()
+    set(BLAS95_FOUND FALSE)
+  endif()
+
+  if(NOT BLAS_FIND_QUIETLY)
+    if(BLAS95_FOUND)
+      message(STATUS "A library with BLAS95 API found.")
+    else()
+      if(BLAS_FIND_REQUIRED)
+        message(FATAL_ERROR
+        "A required library with BLAS95 API not found. Please specify library location.")
+      else()
+        message(STATUS
+        "A library with BLAS95 API not found. Please specify library location.")
+      endif()
+    endif()
+  endif()
+  set(BLAS_FOUND TRUE)
+  set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
+else()
+  if(BLAS_LIBRARIES)
+    set(BLAS_FOUND TRUE)
+  else()
+    set(BLAS_FOUND FALSE)
+  endif()
+
+  if(NOT BLAS_FIND_QUIETLY)
+    if(BLAS_FOUND)
+      message(STATUS "A library with BLAS API found.")
+    else()
+      if(BLAS_FIND_REQUIRED)
+        message(FATAL_ERROR
+        "A required library with BLAS API not found. Please specify library location."
+        )
+      else()
+        message(STATUS
+        "A library with BLAS API not found. Please specify library location."
+        )
+      endif()
+    endif()
+  endif()
+endif()
+
+cmake_pop_check_state()
+set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.10/Modules/FindBZip2.cmake b/share/cmake-3.10/Modules/FindBZip2.cmake
new file mode 100644
index 0000000..d2307f1
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindBZip2.cmake
@@ -0,0 +1,89 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindBZip2
+# ---------
+#
+# Try to find BZip2
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` target ``BZip2::BZip2``, if
+# BZip2 has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables:
+#
+# ::
+#
+#   BZIP2_FOUND - system has BZip2
+#   BZIP2_INCLUDE_DIR - the BZip2 include directory
+#   BZIP2_LIBRARIES - Link these to use BZip2
+#   BZIP2_NEED_PREFIX - this is set if the functions are prefixed with BZ2_
+#   BZIP2_VERSION_STRING - the version of BZip2 found (since CMake 2.8.8)
+
+set(_BZIP2_PATHS PATHS
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Bzip2;InstallPath]"
+  )
+
+find_path(BZIP2_INCLUDE_DIR bzlib.h ${_BZIP2_PATHS} PATH_SUFFIXES include)
+
+if (NOT BZIP2_LIBRARIES)
+    find_library(BZIP2_LIBRARY_RELEASE NAMES bz2 bzip2 ${_BZIP2_PATHS} PATH_SUFFIXES lib)
+    find_library(BZIP2_LIBRARY_DEBUG NAMES bz2d bzip2d ${_BZIP2_PATHS} PATH_SUFFIXES lib)
+
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    SELECT_LIBRARY_CONFIGURATIONS(BZIP2)
+endif ()
+
+if (BZIP2_INCLUDE_DIR AND EXISTS "${BZIP2_INCLUDE_DIR}/bzlib.h")
+    file(STRINGS "${BZIP2_INCLUDE_DIR}/bzlib.h" BZLIB_H REGEX "bzip2/libbzip2 version [0-9]+\\.[^ ]+ of [0-9]+ ")
+    string(REGEX REPLACE ".* bzip2/libbzip2 version ([0-9]+\\.[^ ]+) of [0-9]+ .*" "\\1" BZIP2_VERSION_STRING "${BZLIB_H}")
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(BZip2
+                                  REQUIRED_VARS BZIP2_LIBRARIES BZIP2_INCLUDE_DIR
+                                  VERSION_VAR BZIP2_VERSION_STRING)
+
+if (BZIP2_FOUND)
+   include(${CMAKE_CURRENT_LIST_DIR}/CheckSymbolExists.cmake)
+   include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+   cmake_push_check_state()
+   set(CMAKE_REQUIRED_QUIET ${BZip2_FIND_QUIETLY})
+   set(CMAKE_REQUIRED_INCLUDES ${BZIP2_INCLUDE_DIR})
+   set(CMAKE_REQUIRED_LIBRARIES ${BZIP2_LIBRARIES})
+   CHECK_SYMBOL_EXISTS(BZ2_bzCompressInit "bzlib.h" BZIP2_NEED_PREFIX)
+   cmake_pop_check_state()
+
+    if(NOT TARGET BZip2::BZip2)
+      add_library(BZip2::BZip2 UNKNOWN IMPORTED)
+      set_target_properties(BZip2::BZip2 PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIRS}")
+
+      if(BZIP2_LIBRARY_RELEASE)
+        set_property(TARGET BZip2::BZip2 APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS RELEASE)
+        set_target_properties(BZip2::BZip2 PROPERTIES
+          IMPORTED_LOCATION_RELEASE "${BZIP2_LIBRARY_RELEASE}")
+      endif()
+
+      if(BZIP2_LIBRARY_DEBUG)
+        set_property(TARGET BZip2::BZip2 APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS DEBUG)
+        set_target_properties(BZip2::BZip2 PROPERTIES
+          IMPORTED_LOCATION_DEBUG "${BZIP2_LIBRARY_DEBUG}")
+      endif()
+
+      if(NOT BZIP2_LIBRARY_RELEASE AND NOT BZIP2_LIBRARY_DEBUG)
+        set_property(TARGET BZip2::BZip2 APPEND PROPERTY
+          IMPORTED_LOCATION "${BZIP2_LIBRARY}")
+      endif()
+    endif()
+endif ()
+
+mark_as_advanced(BZIP2_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindBacktrace.cmake b/share/cmake-3.10/Modules/FindBacktrace.cmake
new file mode 100644
index 0000000..59ebdc2
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindBacktrace.cmake
@@ -0,0 +1,90 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindBacktrace
+# -------------
+#
+# Find provider for backtrace(3).
+#
+# Checks if OS supports backtrace(3) via either libc or custom library.
+# This module defines the following variables:
+#
+# ``Backtrace_HEADER``
+#   The header file needed for backtrace(3). Cached.
+#   Could be forcibly set by user.
+# ``Backtrace_INCLUDE_DIRS``
+#   The include directories needed to use backtrace(3) header.
+# ``Backtrace_LIBRARIES``
+#   The libraries (linker flags) needed to use backtrace(3), if any.
+# ``Backtrace_FOUND``
+#   Is set if and only if backtrace(3) support detected.
+#
+# The following cache variables are also available to set or use:
+#
+# ``Backtrace_LIBRARY``
+#   The external library providing backtrace, if any.
+# ``Backtrace_INCLUDE_DIR``
+#   The directory holding the backtrace(3) header.
+#
+# Typical usage is to generate of header file using configure_file() with the
+# contents like the following::
+#
+#  #cmakedefine01 Backtrace_FOUND
+#  #if Backtrace_FOUND
+#  # include <${Backtrace_HEADER}>
+#  #endif
+#
+# And then reference that generated header file in actual source.
+
+include(CMakePushCheckState)
+include(CheckSymbolExists)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+# List of variables to be provided to find_package_handle_standard_args()
+set(_Backtrace_STD_ARGS Backtrace_INCLUDE_DIR)
+
+if(Backtrace_HEADER)
+  set(_Backtrace_HEADER_TRY "${Backtrace_HEADER}")
+else(Backtrace_HEADER)
+  set(_Backtrace_HEADER_TRY "execinfo.h")
+endif(Backtrace_HEADER)
+
+find_path(Backtrace_INCLUDE_DIR "${_Backtrace_HEADER_TRY}")
+set(Backtrace_INCLUDE_DIRS ${Backtrace_INCLUDE_DIR})
+
+if (NOT DEFINED Backtrace_LIBRARY)
+  # First, check if we already have backtrace(), e.g., in libc
+  cmake_push_check_state(RESET)
+  set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS})
+  set(CMAKE_REQUIRED_QUIET ${Backtrace_FIND_QUIETLY})
+  check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}" _Backtrace_SYM_FOUND)
+  cmake_pop_check_state()
+endif()
+
+if(_Backtrace_SYM_FOUND)
+  # Avoid repeating the message() call below each time CMake is run.
+  if(NOT Backtrace_FIND_QUIETLY AND NOT DEFINED Backtrace_LIBRARY)
+    message(STATUS "backtrace facility detected in default set of libraries")
+  endif()
+  set(Backtrace_LIBRARY "" CACHE FILEPATH "Library providing backtrace(3), empty for default set of libraries")
+else()
+  # Check for external library, for non-glibc systems
+  if(Backtrace_INCLUDE_DIR)
+    # OpenBSD has libbacktrace renamed to libexecinfo
+    find_library(Backtrace_LIBRARY "execinfo")
+  elseif()     # respect user wishes
+    set(_Backtrace_HEADER_TRY "backtrace.h")
+    find_path(Backtrace_INCLUDE_DIR ${_Backtrace_HEADER_TRY})
+    find_library(Backtrace_LIBRARY "backtrace")
+  endif()
+
+  # Prepend list with library path as it's more common practice
+  set(_Backtrace_STD_ARGS Backtrace_LIBRARY ${_Backtrace_STD_ARGS})
+endif()
+
+set(Backtrace_LIBRARIES ${Backtrace_LIBRARY})
+set(Backtrace_HEADER "${_Backtrace_HEADER_TRY}" CACHE STRING "Header providing backtrace(3) facility")
+
+find_package_handle_standard_args(Backtrace FOUND_VAR Backtrace_FOUND REQUIRED_VARS ${_Backtrace_STD_ARGS})
+mark_as_advanced(Backtrace_HEADER Backtrace_INCLUDE_DIR Backtrace_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindBoost.cmake b/share/cmake-3.10/Modules/FindBoost.cmake
new file mode 100644
index 0000000..88d14ab
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindBoost.cmake
@@ -0,0 +1,1982 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindBoost
+# ---------
+#
+# Find Boost include dirs and libraries
+#
+# Use this module by invoking find_package with the form::
+#
+#   find_package(Boost
+#     [version] [EXACT]      # Minimum or EXACT version e.g. 1.36.0
+#     [REQUIRED]             # Fail with error if Boost is not found
+#     [COMPONENTS <libs>...] # Boost libraries by their canonical name
+#     )                      # e.g. "date_time" for "libboost_date_time"
+#
+# This module finds headers and requested component libraries OR a CMake
+# package configuration file provided by a "Boost CMake" build.  For the
+# latter case skip to the "Boost CMake" section below.  For the former
+# case results are reported in variables::
+#
+#   Boost_FOUND            - True if headers and requested libraries were found
+#   Boost_INCLUDE_DIRS     - Boost include directories
+#   Boost_LIBRARY_DIRS     - Link directories for Boost libraries
+#   Boost_LIBRARIES        - Boost component libraries to be linked
+#   Boost_<C>_FOUND        - True if component <C> was found (<C> is upper-case)
+#   Boost_<C>_LIBRARY      - Libraries to link for component <C> (may include
+#                            target_link_libraries debug/optimized keywords)
+#   Boost_VERSION          - BOOST_VERSION value from boost/version.hpp
+#   Boost_LIB_VERSION      - Version string appended to library filenames
+#   Boost_MAJOR_VERSION    - Boost major version number (X in X.y.z)
+#   Boost_MINOR_VERSION    - Boost minor version number (Y in x.Y.z)
+#   Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
+#   Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
+#                          - Pass to add_definitions() to have diagnostic
+#                            information about Boost's automatic linking
+#                            displayed during compilation
+#
+# This module reads hints about search locations from variables::
+#
+#   BOOST_ROOT             - Preferred installation prefix
+#    (or BOOSTROOT)
+#   BOOST_INCLUDEDIR       - Preferred include directory e.g. <prefix>/include
+#   BOOST_LIBRARYDIR       - Preferred library directory e.g. <prefix>/lib
+#   Boost_NO_SYSTEM_PATHS  - Set to ON to disable searching in locations not
+#                            specified by these hint variables. Default is OFF.
+#   Boost_ADDITIONAL_VERSIONS
+#                          - List of Boost versions not known to this module
+#                            (Boost install locations may contain the version)
+#
+# and saves search results persistently in CMake cache entries::
+#
+#   Boost_INCLUDE_DIR         - Directory containing Boost headers
+#   Boost_LIBRARY_DIR_RELEASE - Directory containing release Boost libraries
+#   Boost_LIBRARY_DIR_DEBUG   - Directory containing debug Boost libraries
+#   Boost_<C>_LIBRARY_DEBUG   - Component <C> library debug variant
+#   Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
+#
+# The following :prop_tgt:`IMPORTED` targets are also defined::
+#
+#   Boost::boost                  - Target for header-only dependencies
+#                                   (Boost include directory)
+#   Boost::<C>                    - Target for specific component dependency
+#                                   (shared or static library); <C> is lower-
+#                                   case
+#   Boost::diagnostic_definitions - interface target to enable diagnostic
+#                                   information about Boost's automatic linking
+#                                   during compilation (adds BOOST_LIB_DIAGNOSTIC)
+#   Boost::disable_autolinking    - interface target to disable automatic
+#                                   linking with MSVC (adds BOOST_ALL_NO_LIB)
+#   Boost::dynamic_linking        - interface target to enable dynamic linking
+#                                   linking with MSVC (adds BOOST_ALL_DYN_LINK)
+#
+# Implicit dependencies such as Boost::filesystem requiring
+# Boost::system will be automatically detected and satisfied, even
+# if system is not specified when using find_package and if
+# Boost::system is not added to target_link_libraries.  If using
+# Boost::thread, then Threads::Threads will also be added automatically.
+#
+# It is important to note that the imported targets behave differently
+# than variables created by this module: multiple calls to
+# find_package(Boost) in the same directory or sub-directories with
+# different options (e.g. static or shared) will not override the
+# values of the targets created by the first call.
+#
+# Users may set these hints or results as cache entries.  Projects
+# should not read these entries directly but instead use the above
+# result variables.  Note that some hint names start in upper-case
+# "BOOST".  One may specify these as environment variables if they are
+# not specified as CMake variables or cache entries.
+#
+# This module first searches for the Boost header files using the above
+# hint variables (excluding BOOST_LIBRARYDIR) and saves the result in
+# Boost_INCLUDE_DIR.  Then it searches for requested component libraries
+# using the above hints (excluding BOOST_INCLUDEDIR and
+# Boost_ADDITIONAL_VERSIONS), "lib" directories near Boost_INCLUDE_DIR,
+# and the library name configuration settings below.  It saves the
+# library directories in Boost_LIBRARY_DIR_DEBUG and
+# Boost_LIBRARY_DIR_RELEASE and individual library
+# locations in Boost_<C>_LIBRARY_DEBUG and Boost_<C>_LIBRARY_RELEASE.
+# When one changes settings used by previous searches in the same build
+# tree (excluding environment variables) this module discards previous
+# search results affected by the changes and searches again.
+#
+# Boost libraries come in many variants encoded in their file name.
+# Users or projects may tell this module which variant to find by
+# setting variables::
+#
+#   Boost_USE_DEBUG_LIBS     - Set to ON or OFF to specify whether to search
+#                              and use the debug libraries.  Default is ON.
+#   Boost_USE_RELEASE_LIBS   - Set to ON or OFF to specify whether to search
+#                              and use the release libraries.  Default is ON.
+#   Boost_USE_MULTITHREADED  - Set to OFF to use the non-multithreaded
+#                              libraries ('mt' tag).  Default is ON.
+#   Boost_USE_STATIC_LIBS    - Set to ON to force the use of the static
+#                              libraries.  Default is OFF.
+#   Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
+#                              libraries linked statically to the C++ runtime
+#                              ('s' tag).  Default is platform dependent.
+#   Boost_USE_DEBUG_RUNTIME  - Set to ON or OFF to specify whether to use
+#                              libraries linked to the MS debug C++ runtime
+#                              ('g' tag).  Default is ON.
+#   Boost_USE_DEBUG_PYTHON   - Set to ON to use libraries compiled with a
+#                              debug Python build ('y' tag). Default is OFF.
+#   Boost_USE_STLPORT        - Set to ON to use libraries compiled with
+#                              STLPort ('p' tag).  Default is OFF.
+#   Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
+#                            - Set to ON to use libraries compiled with
+#                              STLPort deprecated "native iostreams"
+#                              ('n' tag).  Default is OFF.
+#   Boost_COMPILER           - Set to the compiler-specific library suffix
+#                              (e.g. "-gcc43").  Default is auto-computed
+#                              for the C++ compiler in use.  A list may be
+#                              used if multiple compatible suffixes should
+#                              be tested for, in decreasing order of
+#                              preference.
+#   Boost_THREADAPI          - Suffix for "thread" component library name,
+#                              such as "pthread" or "win32".  Names with
+#                              and without this suffix will both be tried.
+#   Boost_NAMESPACE          - Alternate namespace used to build boost with
+#                              e.g. if set to "myboost", will search for
+#                              myboost_thread instead of boost_thread.
+#
+# Other variables one may set to control this module are::
+#
+#   Boost_DEBUG              - Set to ON to enable debug output from FindBoost.
+#                              Please enable this before filing any bug report.
+#   Boost_DETAILED_FAILURE_MSG
+#                            - Set to ON to add detailed information to the
+#                              failure message even when the REQUIRED option
+#                              is not given to the find_package call.
+#   Boost_REALPATH           - Set to ON to resolve symlinks for discovered
+#                              libraries to assist with packaging.  For example,
+#                              the "system" component library may be resolved to
+#                              "/usr/lib/libboost_system.so.1.42.0" instead of
+#                              "/usr/lib/libboost_system.so".  This does not
+#                              affect linking and should not be enabled unless
+#                              the user needs this information.
+#   Boost_LIBRARY_DIR        - Default value for Boost_LIBRARY_DIR_RELEASE and
+#                              Boost_LIBRARY_DIR_DEBUG.
+#
+# On Visual Studio and Borland compilers Boost headers request automatic
+# linking to corresponding libraries.  This requires matching libraries
+# to be linked explicitly or available in the link library search path.
+# In this case setting Boost_USE_STATIC_LIBS to OFF may not achieve
+# dynamic linking.  Boost automatic linking typically requests static
+# libraries with a few exceptions (such as Boost.Python).  Use::
+#
+#   add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
+#
+# to ask Boost to report information about automatic linking requests.
+#
+# Example to find Boost headers only::
+#
+#   find_package(Boost 1.36.0)
+#   if(Boost_FOUND)
+#     include_directories(${Boost_INCLUDE_DIRS})
+#     add_executable(foo foo.cc)
+#   endif()
+#
+# Example to find Boost libraries and use imported targets::
+#
+#   find_package(Boost 1.56 REQUIRED COMPONENTS
+#                date_time filesystem iostreams)
+#   add_executable(foo foo.cc)
+#   target_link_libraries(foo Boost::date_time Boost::filesystem
+#                             Boost::iostreams)
+#
+# Example to find Boost headers and some *static* (release only) libraries::
+#
+#   set(Boost_USE_STATIC_LIBS        ON)  # only find static libs
+#   set(Boost_USE_DEBUG_LIBS         OFF) # ignore debug libs and
+#   set(Boost_USE_RELEASE_LIBS       ON)  # only find release libs
+#   set(Boost_USE_MULTITHREADED      ON)
+#   set(Boost_USE_STATIC_RUNTIME    OFF)
+#   find_package(Boost 1.36.0 COMPONENTS date_time filesystem system ...)
+#   if(Boost_FOUND)
+#     include_directories(${Boost_INCLUDE_DIRS})
+#     add_executable(foo foo.cc)
+#     target_link_libraries(foo ${Boost_LIBRARIES})
+#   endif()
+#
+# Boost CMake
+# ^^^^^^^^^^^
+#
+# If Boost was built using the boost-cmake project it provides a package
+# configuration file for use with find_package's Config mode.  This
+# module looks for the package configuration file called
+# BoostConfig.cmake or boost-config.cmake and stores the result in cache
+# entry "Boost_DIR".  If found, the package configuration file is loaded
+# and this module returns with no further action.  See documentation of
+# the Boost CMake package configuration for details on what it provides.
+#
+# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
+
+# Save project's policies
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
+#-------------------------------------------------------------------------------
+# Before we go searching, check whether boost-cmake is available, unless the
+# user specifically asked NOT to search for boost-cmake.
+#
+# If Boost_DIR is set, this behaves as any find_package call would. If not,
+# it looks at BOOST_ROOT and BOOSTROOT to find Boost.
+#
+if (NOT Boost_NO_BOOST_CMAKE)
+  # If Boost_DIR is not set, look for BOOSTROOT and BOOST_ROOT as alternatives,
+  # since these are more conventional for Boost.
+  if ("$ENV{Boost_DIR}" STREQUAL "")
+    if (NOT "$ENV{BOOST_ROOT}" STREQUAL "")
+      set(ENV{Boost_DIR} $ENV{BOOST_ROOT})
+    elseif (NOT "$ENV{BOOSTROOT}" STREQUAL "")
+      set(ENV{Boost_DIR} $ENV{BOOSTROOT})
+    endif()
+  endif()
+
+  # Do the same find_package call but look specifically for the CMake version.
+  # 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 we found boost-cmake, then we're done.  Print out what we found.
+  # Otherwise let the rest of the module try to find it.
+  if (Boost_FOUND)
+    message(STATUS "Boost ${Boost_FIND_VERSION} found.")
+    if (Boost_FIND_COMPONENTS)
+      message(STATUS "Found Boost components:\n   ${Boost_FIND_COMPONENTS}")
+    endif()
+    # Restore project's policies
+    cmake_policy(POP)
+    return()
+  endif()
+endif()
+
+
+#-------------------------------------------------------------------------------
+#  FindBoost functions & macros
+#
+
+############################################
+#
+# Check the existence of the libraries.
+#
+############################################
+# This macro was taken directly from the FindQt4.cmake file that is included
+# with the CMake distribution. This is NOT my work. All work was done by the
+# original authors of the FindQt4.cmake file. Only minor modifications were
+# made to remove references to Qt and make this file more generally applicable
+# And ELSE/ENDIF pairs were removed for readability.
+#########################################################################
+
+macro(_Boost_ADJUST_LIB_VARS basename)
+  if(Boost_INCLUDE_DIR )
+    if(Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
+      # if the generator supports configuration types then set
+      # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
+      if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+        set(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
+      else()
+        # if there are no configuration types and CMAKE_BUILD_TYPE has no value
+        # then just use the release libraries
+        set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
+      endif()
+      # FIXME: This probably should be set for both cases
+      set(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
+    endif()
+
+    # if only the release version was found, set the debug variable also to the release version
+    if(Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
+      set(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})
+      set(Boost_${basename}_LIBRARY       ${Boost_${basename}_LIBRARY_RELEASE})
+      set(Boost_${basename}_LIBRARIES     ${Boost_${basename}_LIBRARY_RELEASE})
+    endif()
+
+    # if only the debug version was found, set the release variable also to the debug version
+    if(Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
+      set(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})
+      set(Boost_${basename}_LIBRARY         ${Boost_${basename}_LIBRARY_DEBUG})
+      set(Boost_${basename}_LIBRARIES       ${Boost_${basename}_LIBRARY_DEBUG})
+    endif()
+
+    # If the debug & release library ends up being the same, omit the keywords
+    if("${Boost_${basename}_LIBRARY_RELEASE}" STREQUAL "${Boost_${basename}_LIBRARY_DEBUG}")
+      set(Boost_${basename}_LIBRARY   ${Boost_${basename}_LIBRARY_RELEASE} )
+      set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE} )
+    endif()
+
+    if(Boost_${basename}_LIBRARY AND Boost_${basename}_HEADER)
+      set(Boost_${basename}_FOUND ON)
+      if("x${basename}" STREQUAL "xTHREAD" AND NOT TARGET Threads::Threads)
+        string(APPEND Boost_ERROR_REASON_THREAD " (missing dependency: Threads)")
+        set(Boost_THREAD_FOUND OFF)
+      endif()
+    endif()
+
+  endif()
+  # Make variables changeable to the advanced user
+  mark_as_advanced(
+      Boost_${basename}_LIBRARY_RELEASE
+      Boost_${basename}_LIBRARY_DEBUG
+  )
+endmacro()
+
+# Detect changes in used variables.
+# Compares the current variable value with the last one.
+# In short form:
+# v != v_LAST                      -> CHANGED = 1
+# v is defined, v_LAST not         -> CHANGED = 1
+# v is not defined, but v_LAST is  -> CHANGED = 1
+# otherwise                        -> CHANGED = 0
+# CHANGED is returned in variable named ${changed_var}
+macro(_Boost_CHANGE_DETECT changed_var)
+  set(${changed_var} 0)
+  foreach(v ${ARGN})
+    if(DEFINED _Boost_COMPONENTS_SEARCHED)
+      if(${v})
+        if(_${v}_LAST)
+          string(COMPARE NOTEQUAL "${${v}}" "${_${v}_LAST}" _${v}_CHANGED)
+        else()
+          set(_${v}_CHANGED 1)
+        endif()
+      elseif(_${v}_LAST)
+        set(_${v}_CHANGED 1)
+      endif()
+      if(_${v}_CHANGED)
+        set(${changed_var} 1)
+      endif()
+    else()
+      set(_${v}_CHANGED 0)
+    endif()
+  endforeach()
+endmacro()
+
+#
+# Find the given library (var).
+# Use 'build_type' to support different lib paths for RELEASE or DEBUG builds
+#
+macro(_Boost_FIND_LIBRARY var build_type)
+
+  find_library(${var} ${ARGN})
+
+  if(${var})
+    # If this is the first library found then save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
+    if(NOT Boost_LIBRARY_DIR_${build_type})
+      get_filename_component(_dir "${${var}}" PATH)
+      set(Boost_LIBRARY_DIR_${build_type} "${_dir}" CACHE PATH "Boost library directory ${build_type}" FORCE)
+    endif()
+  elseif(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
+    # Try component-specific hints but do not save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
+    find_library(${var} HINTS ${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT} ${ARGN})
+  endif()
+
+  # If Boost_LIBRARY_DIR_[RELEASE,DEBUG] is known then search only there.
+  if(Boost_LIBRARY_DIR_${build_type})
+    set(_boost_LIBRARY_SEARCH_DIRS_${build_type} ${Boost_LIBRARY_DIR_${build_type}} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+    if(Boost_DEBUG)
+      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+        " Boost_LIBRARY_DIR_${build_type} = ${Boost_LIBRARY_DIR_${build_type}}"
+        " _boost_LIBRARY_SEARCH_DIRS_${build_type} = ${_boost_LIBRARY_SEARCH_DIRS_${build_type}}")
+    endif()
+  endif()
+endmacro()
+
+#-------------------------------------------------------------------------------
+
+#
+# Runs compiler with "-dumpversion" and parses major/minor
+# version with a regex.
+#
+function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
+
+  exec_program(${CMAKE_CXX_COMPILER}
+    ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
+    OUTPUT_VARIABLE _boost_COMPILER_VERSION
+  )
+  string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
+    _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
+
+  set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
+endfunction()
+
+#
+# Take a list of libraries with "thread" in it
+# and prepend duplicates with "thread_${Boost_THREADAPI}"
+# at the front of the list
+#
+function(_Boost_PREPEND_LIST_WITH_THREADAPI _output)
+  set(_orig_libnames ${ARGN})
+  string(REPLACE "thread" "thread_${Boost_THREADAPI}" _threadapi_libnames "${_orig_libnames}")
+  set(${_output} ${_threadapi_libnames} ${_orig_libnames} PARENT_SCOPE)
+endfunction()
+
+#
+# If a library is found, replace its cache entry with its REALPATH
+#
+function(_Boost_SWAP_WITH_REALPATH _library _docstring)
+  if(${_library})
+    get_filename_component(_boost_filepathreal ${${_library}} REALPATH)
+    unset(${_library} CACHE)
+    set(${_library} ${_boost_filepathreal} CACHE FILEPATH "${_docstring}")
+  endif()
+endfunction()
+
+function(_Boost_CHECK_SPELLING _var)
+  if(${_var})
+    string(TOUPPER ${_var} _var_UC)
+    message(FATAL_ERROR "ERROR: ${_var} is not the correct spelling.  The proper spelling is ${_var_UC}.")
+  endif()
+endfunction()
+
+# Guesses Boost's compiler prefix used in built library names
+# Returns the guess by setting the variable pointed to by _ret
+function(_Boost_GUESS_COMPILER_PREFIX _ret)
+  if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel"
+      OR CMAKE_CXX_COMPILER MATCHES "icl"
+      OR CMAKE_CXX_COMPILER MATCHES "icpc")
+    if(WIN32)
+      set (_boost_COMPILER "-iw")
+    else()
+      set (_boost_COMPILER "-il")
+    endif()
+  elseif (GHSMULTI)
+    set(_boost_COMPILER "-ghs")
+  elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
+    if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10)
+      set(_boost_COMPILER "-vc141;-vc140")
+    elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+      set(_boost_COMPILER "-vc140")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
+      set(_boost_COMPILER "-vc120")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
+      set(_boost_COMPILER "-vc110")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
+      set(_boost_COMPILER "-vc100")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
+      set(_boost_COMPILER "-vc90")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
+      set(_boost_COMPILER "-vc80")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.10)
+      set(_boost_COMPILER "-vc71")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13) # Good luck!
+      set(_boost_COMPILER "-vc7") # yes, this is correct
+    else() # VS 6.0 Good luck!
+      set(_boost_COMPILER "-vc6") # yes, this is correct
+    endif()
+  elseif (BORLAND)
+    set(_boost_COMPILER "-bcb")
+  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
+    set(_boost_COMPILER "-sw")
+  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "XL")
+    set(_boost_COMPILER "-xlc")
+  elseif (MINGW)
+    if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
+        set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
+    else()
+      _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
+      set(_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
+    endif()
+  elseif (UNIX)
+    if (CMAKE_COMPILER_IS_GNUCXX)
+      if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
+        set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
+      else()
+        _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
+        # Determine which version of GCC we have.
+        if(APPLE)
+          if(Boost_MINOR_VERSION)
+            if(${Boost_MINOR_VERSION} GREATER 35)
+              # In Boost 1.36.0 and newer, the mangled compiler name used
+              # on Mac OS X/Darwin is "xgcc".
+              set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
+            else()
+              # In Boost <= 1.35.0, there is no mangled compiler name for
+              # the Mac OS X/Darwin version of GCC.
+              set(_boost_COMPILER "")
+            endif()
+          else()
+            # We don't know the Boost version, so assume it's
+            # pre-1.36.0.
+            set(_boost_COMPILER "")
+          endif()
+        else()
+          set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
+        endif()
+      endif()
+    endif ()
+  else()
+    # TODO at least Boost_DEBUG here?
+    set(_boost_COMPILER "")
+  endif()
+  set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
+endfunction()
+
+#
+# Get component dependencies.  Requires the dependencies to have been
+# defined for the Boost release version.
+#
+# component - the component to check
+# _ret - list of library dependencies
+#
+function(_Boost_COMPONENT_DEPENDENCIES component _ret)
+  # Note: to add a new Boost release, run
+  #
+  #   % cmake -DBOOST_DIR=/path/to/boost/source -P Utilities/Scripts/BoostScanDeps.cmake
+  #
+  # The output may be added in a new block below.  If it's the same as
+  # the previous release, simply update the version range of the block
+  # for the previous release.  Also check if any new components have
+  # been added, and add any new components to
+  # _Boost_COMPONENT_HEADERS.
+  #
+  # This information was originally generated by running
+  # BoostScanDeps.cmake against every boost release to date supported
+  # by FindBoost:
+  #
+  #   % for version in /path/to/boost/sources/*
+  #     do
+  #       cmake -DBOOST_DIR=$version -P Utilities/Scripts/BoostScanDeps.cmake
+  #     done
+  #
+  # The output was then updated by search and replace with these regexes:
+  #
+  # - Strip message(STATUS) prefix dashes
+  #   s;^-- ;;
+  # - Indent
+  #   s;^set(;    set(;;
+  # - Add conditionals
+  #   s;Scanning /path/to/boost/sources/boost_\(.*\)_\(.*\)_\(.*);  elseif(NOT Boost_VERSION VERSION_LESS \10\20\3 AND Boost_VERSION VERSION_LESS xxxx);
+  #
+  # This results in the logic seen below, but will require the xxxx
+  # replacing with the following Boost release version (or the next
+  # minor version to be released, e.g. 1.59 was the latest at the time
+  # of writing, making 1.60 the next, so 106000 is the needed version
+  # number).  Identical consecutive releases were then merged together
+  # by updating the end range of the first block and removing the
+  # following redundant blocks.
+  #
+  # Running the script against all historical releases should be
+  # required only if the BoostScanDeps.cmake script logic is changed.
+  # The addition of a new release should only require it to be run
+  # against the new release.
+  set(_Boost_IMPORTED_TARGETS TRUE)
+  if(Boost_VERSION VERSION_LESS 103300)
+    message(WARNING "Imported targets and dependency information not available for Boost version ${Boost_VERSION} (all versions older than 1.33)")
+    set(_Boost_IMPORTED_TARGETS FALSE)
+  elseif(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex thread)
+    set(_Boost_REGEX_DEPENDENCIES thread)
+    set(_Boost_WAVE_DEPENDENCIES filesystem thread)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 103500 AND Boost_VERSION VERSION_LESS 103600)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 103600 AND Boost_VERSION VERSION_LESS 103800)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 103800 AND Boost_VERSION VERSION_LESS 104300)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES date_time)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 104300 AND Boost_VERSION VERSION_LESS 104400)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES date_time)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 104400 AND Boost_VERSION VERSION_LESS 104500)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random serialization)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES date_time)
+    set(_Boost_WAVE_DEPENDENCIES serialization filesystem system thread date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 104500 AND Boost_VERSION VERSION_LESS 104700)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES date_time)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 104700 AND Boost_VERSION VERSION_LESS 104800)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES date_time)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 104800 AND Boost_VERSION VERSION_LESS 105000)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES date_time)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 105000 AND Boost_VERSION VERSION_LESS 105300)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 105300 AND Boost_VERSION VERSION_LESS 105400)
+    set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 105400 AND Boost_VERSION VERSION_LESS 105500)
+    set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 105500 AND Boost_VERSION VERSION_LESS 105600)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 105600 AND Boost_VERSION VERSION_LESS 105900)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_RANDOM_DEPENDENCIES system)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 105900 AND Boost_VERSION VERSION_LESS 106000)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono atomic)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_RANDOM_DEPENDENCIES system)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 106000 AND Boost_VERSION VERSION_LESS 106100)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_RANDOM_DEPENDENCIES system)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_TIMER_DEPENDENCIES chrono system)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 106100 AND Boost_VERSION VERSION_LESS 106200)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_RANDOM_DEPENDENCIES system)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 106200 AND Boost_VERSION VERSION_LESS 106300)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_RANDOM_DEPENDENCIES system)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  elseif(NOT Boost_VERSION VERSION_LESS 106300 AND Boost_VERSION VERSION_LESS 106500)
+    set(_Boost_CHRONO_DEPENDENCIES system)
+    set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+    set(_Boost_COROUTINE_DEPENDENCIES context system)
+    set(_Boost_COROUTINE2_DEPENDENCIES context fiber thread chrono system date_time)
+    set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
+    set(_Boost_FILESYSTEM_DEPENDENCIES system)
+    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+    set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+    set(_Boost_MPI_DEPENDENCIES serialization)
+    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+    set(_Boost_RANDOM_DEPENDENCIES system)
+    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+  else()
+    if(NOT Boost_VERSION VERSION_LESS 106500)
+      set(_Boost_CHRONO_DEPENDENCIES system)
+      set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+      set(_Boost_COROUTINE_DEPENDENCIES context system)
+      set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
+      set(_Boost_FILESYSTEM_DEPENDENCIES system)
+      set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+      set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+      set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+      set(_Boost_MPI_DEPENDENCIES serialization)
+      set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+      set(_Boost_NUMPY_DEPENDENCIES python)
+      set(_Boost_RANDOM_DEPENDENCIES system)
+      set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+      set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+      set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+    endif()
+    if(NOT Boost_VERSION VERSION_LESS 106600)
+      message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
+      set(_Boost_IMPORTED_TARGETS FALSE)
+    endif()
+  endif()
+
+  string(TOUPPER ${component} uppercomponent)
+  set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
+  set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
+
+  string(REGEX REPLACE ";" " " _boost_DEPS_STRING "${_Boost_${uppercomponent}_DEPENDENCIES}")
+  if (NOT _boost_DEPS_STRING)
+    set(_boost_DEPS_STRING "(none)")
+  endif()
+  # message(STATUS "Dependencies for Boost::${component}: ${_boost_DEPS_STRING}")
+endfunction()
+
+#
+# Get component headers.  This is the primary header (or headers) for
+# a given component, and is used to check that the headers are present
+# as well as the library itself as an extra sanity check of the build
+# environment.
+#
+# component - the component to check
+# _hdrs
+#
+function(_Boost_COMPONENT_HEADERS component _hdrs)
+  # Note: new boost components will require adding here.  The header
+  # must be present in all versions of Boost providing a library.
+  set(_Boost_ATOMIC_HEADERS              "boost/atomic.hpp")
+  set(_Boost_CHRONO_HEADERS              "boost/chrono.hpp")
+  set(_Boost_CONTAINER_HEADERS           "boost/container/container_fwd.hpp")
+  set(_Boost_CONTEXT_HEADERS             "boost/context/all.hpp")
+  set(_Boost_COROUTINE_HEADERS           "boost/coroutine/all.hpp")
+  set(_Boost_EXCEPTION_HEADERS           "boost/exception/exception.hpp")
+  set(_Boost_DATE_TIME_HEADERS           "boost/date_time/date.hpp")
+  set(_Boost_FIBER_HEADERS               "boost/fiber/all.hpp")
+  set(_Boost_FILESYSTEM_HEADERS          "boost/filesystem/path.hpp")
+  set(_Boost_GRAPH_HEADERS               "boost/graph/adjacency_list.hpp")
+  set(_Boost_GRAPH_PARALLEL_HEADERS      "boost/graph/adjacency_list.hpp")
+  set(_Boost_IOSTREAMS_HEADERS           "boost/iostreams/stream.hpp")
+  set(_Boost_LOCALE_HEADERS              "boost/locale.hpp")
+  set(_Boost_LOG_HEADERS                 "boost/log/core.hpp")
+  set(_Boost_LOG_SETUP_HEADERS           "boost/log/detail/setup_config.hpp")
+  set(_Boost_MATH_HEADERS                "boost/math_fwd.hpp")
+  set(_Boost_MATH_C99_HEADERS            "boost/math/tr1.hpp")
+  set(_Boost_MATH_C99F_HEADERS           "boost/math/tr1.hpp")
+  set(_Boost_MATH_C99L_HEADERS           "boost/math/tr1.hpp")
+  set(_Boost_MATH_TR1_HEADERS            "boost/math/tr1.hpp")
+  set(_Boost_MATH_TR1F_HEADERS           "boost/math/tr1.hpp")
+  set(_Boost_MATH_TR1L_HEADERS           "boost/math/tr1.hpp")
+  set(_Boost_MPI_HEADERS                 "boost/mpi.hpp")
+  set(_Boost_MPI_PYTHON_HEADERS          "boost/mpi/python/config.hpp")
+  set(_Boost_NUMPY_HEADERS               "boost/python/numpy.hpp")
+  set(_Boost_PRG_EXEC_MONITOR_HEADERS    "boost/test/prg_exec_monitor.hpp")
+  set(_Boost_PROGRAM_OPTIONS_HEADERS     "boost/program_options.hpp")
+  set(_Boost_PYTHON_HEADERS              "boost/python.hpp")
+  set(_Boost_RANDOM_HEADERS              "boost/random.hpp")
+  set(_Boost_REGEX_HEADERS               "boost/regex.hpp")
+  set(_Boost_SERIALIZATION_HEADERS       "boost/serialization/serialization.hpp")
+  set(_Boost_SIGNALS_HEADERS             "boost/signals.hpp")
+  set(_Boost_SYSTEM_HEADERS              "boost/system/config.hpp")
+  set(_Boost_TEST_EXEC_MONITOR_HEADERS   "boost/test/test_exec_monitor.hpp")
+  set(_Boost_THREAD_HEADERS              "boost/thread.hpp")
+  set(_Boost_TIMER_HEADERS               "boost/timer.hpp")
+  set(_Boost_TYPE_ERASURE_HEADERS        "boost/type_erasure/config.hpp")
+  set(_Boost_UNIT_TEST_FRAMEWORK_HEADERS "boost/test/framework.hpp")
+  set(_Boost_WAVE_HEADERS                "boost/wave.hpp")
+  set(_Boost_WSERIALIZATION_HEADERS      "boost/archive/text_wiarchive.hpp")
+  if(WIN32)
+    set(_Boost_BZIP2_HEADERS             "boost/iostreams/filter/bzip2.hpp")
+    set(_Boost_ZLIB_HEADERS              "boost/iostreams/filter/zlib.hpp")
+  endif()
+
+  string(TOUPPER ${component} uppercomponent)
+  set(${_hdrs} ${_Boost_${uppercomponent}_HEADERS} PARENT_SCOPE)
+
+  string(REGEX REPLACE ";" " " _boost_HDRS_STRING "${_Boost_${uppercomponent}_HEADERS}")
+  if (NOT _boost_HDRS_STRING)
+    set(_boost_HDRS_STRING "(none)")
+  endif()
+  # message(STATUS "Headers for Boost::${component}: ${_boost_HDRS_STRING}")
+endfunction()
+
+#
+# Determine if any missing dependencies require adding to the component list.
+#
+# Sets _Boost_${COMPONENT}_DEPENDENCIES for each required component,
+# plus _Boost_IMPORTED_TARGETS (TRUE if imported targets should be
+# defined; FALSE if dependency information is unavailable).
+#
+# componentvar - the component list variable name
+# extravar - the indirect dependency list variable name
+#
+#
+function(_Boost_MISSING_DEPENDENCIES componentvar extravar)
+  # _boost_unprocessed_components - list of components requiring processing
+  # _boost_processed_components - components already processed (or currently being processed)
+  # _boost_new_components - new components discovered for future processing
+  #
+  list(APPEND _boost_unprocessed_components ${${componentvar}})
+
+  while(_boost_unprocessed_components)
+    list(APPEND _boost_processed_components ${_boost_unprocessed_components})
+    foreach(component ${_boost_unprocessed_components})
+      string(TOUPPER ${component} uppercomponent)
+      set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
+      _Boost_COMPONENT_DEPENDENCIES("${component}" _Boost_${uppercomponent}_DEPENDENCIES)
+      set(_Boost_${uppercomponent}_DEPENDENCIES ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
+      set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
+      foreach(componentdep ${_Boost_${uppercomponent}_DEPENDENCIES})
+        if (NOT ("${componentdep}" IN_LIST _boost_processed_components OR "${componentdep}" IN_LIST _boost_new_components))
+          list(APPEND _boost_new_components ${componentdep})
+        endif()
+      endforeach()
+    endforeach()
+    set(_boost_unprocessed_components ${_boost_new_components})
+    unset(_boost_new_components)
+  endwhile()
+  set(_boost_extra_components ${_boost_processed_components})
+  if(_boost_extra_components AND ${componentvar})
+    list(REMOVE_ITEM _boost_extra_components ${${componentvar}})
+  endif()
+  set(${componentvar} ${_boost_processed_components} PARENT_SCOPE)
+  set(${extravar} ${_boost_extra_components} PARENT_SCOPE)
+endfunction()
+
+#
+# Some boost libraries may require particular set of compler features.
+# The very first one was `boost::fiber` introduced in Boost 1.62.
+# One can check required compiler features of it in
+# `${Boost_ROOT}/libs/fiber/build/Jamfile.v2`.
+#
+function(_Boost_COMPILER_FEATURES component _ret)
+  # Boost >= 1.62 and < 1.65
+  if(NOT Boost_VERSION VERSION_LESS 106200 AND Boost_VERSION VERSION_LESS 106500)
+    set(_Boost_FIBER_COMPILER_FEATURES
+        cxx_alias_templates
+        cxx_auto_type
+        cxx_constexpr
+        cxx_defaulted_functions
+        cxx_final
+        cxx_lambdas
+        cxx_noexcept
+        cxx_nullptr
+        cxx_rvalue_references
+        cxx_thread_local
+        cxx_variadic_templates
+    )
+  endif()
+  string(TOUPPER ${component} uppercomponent)
+  set(${_ret} ${_Boost_${uppercomponent}_COMPILER_FEATURES} PARENT_SCOPE)
+endfunction()
+
+#
+# Update library search directory hint variable with paths used by prebuilt boost binaries.
+#
+# Prebuilt windows binaries (https://sourceforge.net/projects/boost/files/boost-binaries/)
+# have library directories named using MSVC compiler version and architecture.
+# This function would append corresponding directories if MSVC is a current compiler,
+# so having `BOOST_ROOT` would be enough to specify to find everything.
+#
+function(_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS componentlibvar basedir)
+  if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
+    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+      set(_arch_suffix 64)
+    else()
+      set(_arch_suffix 32)
+    endif()
+    if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.1)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0)
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0)
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-12.0)
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-11.0)
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-10.0)
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-9.0)
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
+      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-8.0)
+    endif()
+    set(${componentlibvar} ${${componentlibvar}} PARENT_SCOPE)
+  endif()
+endfunction()
+
+#
+# End functions/macros
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# main.
+#-------------------------------------------------------------------------------
+
+
+# If the user sets Boost_LIBRARY_DIR, use it as the default for both
+# configurations.
+if(NOT Boost_LIBRARY_DIR_RELEASE AND Boost_LIBRARY_DIR)
+  set(Boost_LIBRARY_DIR_RELEASE "${Boost_LIBRARY_DIR}")
+endif()
+if(NOT Boost_LIBRARY_DIR_DEBUG AND Boost_LIBRARY_DIR)
+  set(Boost_LIBRARY_DIR_DEBUG   "${Boost_LIBRARY_DIR}")
+endif()
+
+if(NOT DEFINED Boost_USE_DEBUG_LIBS)
+  set(Boost_USE_DEBUG_LIBS TRUE)
+endif()
+if(NOT DEFINED Boost_USE_RELEASE_LIBS)
+  set(Boost_USE_RELEASE_LIBS TRUE)
+endif()
+if(NOT DEFINED Boost_USE_MULTITHREADED)
+  set(Boost_USE_MULTITHREADED TRUE)
+endif()
+if(NOT DEFINED Boost_USE_DEBUG_RUNTIME)
+  set(Boost_USE_DEBUG_RUNTIME TRUE)
+endif()
+
+# Check the version of Boost against the requested version.
+if(Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
+  message(SEND_ERROR "When requesting a specific version of Boost, you must provide at least the major and minor version numbers, e.g., 1.34")
+endif()
+
+if(Boost_FIND_VERSION_EXACT)
+  # The version may appear in a directory with or without the patch
+  # level, even when the patch level is non-zero.
+  set(_boost_TEST_VERSIONS
+    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
+    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
+else()
+  # The user has not requested an exact version.  Among known
+  # versions, find those that are acceptable to the user request.
+  #
+  # Note: When adding a new Boost release, also update the dependency
+  # information in _Boost_COMPONENT_DEPENDENCIES and
+  # _Boost_COMPONENT_HEADERS.  See the instructions at the top of
+  # _Boost_COMPONENT_DEPENDENCIES.
+  set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
+    "1.65.1" "1.65.0" "1.65"
+    "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+    "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+    "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
+    "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47" "1.46.1"
+    "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42"
+    "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"
+    "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
+    "1.34" "1.33.1" "1.33.0" "1.33")
+
+  set(_boost_TEST_VERSIONS)
+  if(Boost_FIND_VERSION)
+    set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
+    # Select acceptable versions.
+    foreach(version ${_Boost_KNOWN_VERSIONS})
+      if(NOT "${version}" VERSION_LESS "${Boost_FIND_VERSION}")
+        # This version is high enough.
+        list(APPEND _boost_TEST_VERSIONS "${version}")
+      elseif("${version}.99" VERSION_EQUAL "${_Boost_FIND_VERSION_SHORT}.99")
+        # This version is a short-form for the requested version with
+        # the patch level dropped.
+        list(APPEND _boost_TEST_VERSIONS "${version}")
+      endif()
+    endforeach()
+  else()
+    # Any version is acceptable.
+    set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
+  endif()
+endif()
+
+# The reason that we failed to find Boost. This will be set to a
+# user-friendly message when we fail to find some necessary piece of
+# Boost.
+set(Boost_ERROR_REASON)
+
+if(Boost_DEBUG)
+  # Output some of their choices
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Boost_USE_MULTITHREADED = ${Boost_USE_MULTITHREADED}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Boost_USE_STATIC_LIBS = ${Boost_USE_STATIC_LIBS}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Boost_USE_STATIC_RUNTIME = ${Boost_USE_STATIC_RUNTIME}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Boost_ADDITIONAL_VERSIONS = ${Boost_ADDITIONAL_VERSIONS}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Boost_NO_SYSTEM_PATHS = ${Boost_NO_SYSTEM_PATHS}")
+endif()
+
+# 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)
+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")
+  set_target_properties(Boost::dynamic_linking PROPERTIES
+    INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+endif()
+
+_Boost_CHECK_SPELLING(Boost_ROOT)
+_Boost_CHECK_SPELLING(Boost_LIBRARYDIR)
+_Boost_CHECK_SPELLING(Boost_INCLUDEDIR)
+
+# Collect environment variable inputs as hints.  Do not consider changes.
+foreach(v BOOSTROOT BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR)
+  set(_env $ENV{${v}})
+  if(_env)
+    file(TO_CMAKE_PATH "${_env}" _ENV_${v})
+  else()
+    set(_ENV_${v} "")
+  endif()
+endforeach()
+if(NOT _ENV_BOOST_ROOT AND _ENV_BOOSTROOT)
+  set(_ENV_BOOST_ROOT "${_ENV_BOOSTROOT}")
+endif()
+
+# Collect inputs and cached results.  Detect changes since the last run.
+if(NOT BOOST_ROOT AND BOOSTROOT)
+  set(BOOST_ROOT "${BOOSTROOT}")
+endif()
+set(_Boost_VARS_DIR
+  BOOST_ROOT
+  Boost_NO_SYSTEM_PATHS
+  )
+
+if(Boost_DEBUG)
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Declared as CMake or Environmental Variables:")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "  BOOST_ROOT = ${BOOST_ROOT}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "  BOOST_INCLUDEDIR = ${BOOST_INCLUDEDIR}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "  BOOST_LIBRARYDIR = ${BOOST_LIBRARYDIR}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
+endif()
+
+# ------------------------------------------------------------------------
+#  Search for Boost include DIR
+# ------------------------------------------------------------------------
+
+set(_Boost_VARS_INC BOOST_INCLUDEDIR Boost_INCLUDE_DIR Boost_ADDITIONAL_VERSIONS)
+_Boost_CHANGE_DETECT(_Boost_CHANGE_INCDIR ${_Boost_VARS_DIR} ${_Boost_VARS_INC})
+# Clear Boost_INCLUDE_DIR if it did not change but other input affecting the
+# location did.  We will find a new one based on the new inputs.
+if(_Boost_CHANGE_INCDIR AND NOT _Boost_INCLUDE_DIR_CHANGED)
+  unset(Boost_INCLUDE_DIR CACHE)
+endif()
+
+if(NOT Boost_INCLUDE_DIR)
+  set(_boost_INCLUDE_SEARCH_DIRS "")
+  if(BOOST_INCLUDEDIR)
+    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_INCLUDEDIR})
+  elseif(_ENV_BOOST_INCLUDEDIR)
+    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_INCLUDEDIR})
+  endif()
+
+  if( BOOST_ROOT )
+    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${BOOST_ROOT})
+  elseif( _ENV_BOOST_ROOT )
+    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_ROOT}/include ${_ENV_BOOST_ROOT})
+  endif()
+
+  if( Boost_NO_SYSTEM_PATHS)
+    list(APPEND _boost_INCLUDE_SEARCH_DIRS NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+  else()
+    if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
+      foreach(ver ${_Boost_KNOWN_VERSIONS})
+        string(REPLACE "." "_" ver "${ver}")
+        list(APPEND _boost_INCLUDE_SEARCH_DIRS PATHS "C:/local/boost_${ver}")
+      endforeach()
+    endif()
+    list(APPEND _boost_INCLUDE_SEARCH_DIRS PATHS
+      C:/boost/include
+      C:/boost
+      /sw/local/include
+      )
+  endif()
+
+  # Try to find Boost by stepping backwards through the Boost versions
+  # we know about.
+  # Build a list of path suffixes for each version.
+  set(_boost_PATH_SUFFIXES)
+  foreach(_boost_VER ${_boost_TEST_VERSIONS})
+    # Add in a path suffix, based on the required version, ideally
+    # we could read this from version.hpp, but for that to work we'd
+    # need to know the include dir already
+    set(_boost_BOOSTIFIED_VERSION)
+
+    # Transform 1.35 => 1_35 and 1.36.0 => 1_36_0
+    if(_boost_VER MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
+        set(_boost_BOOSTIFIED_VERSION
+          "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}_${CMAKE_MATCH_3}")
+    elseif(_boost_VER MATCHES "([0-9]+)\\.([0-9]+)")
+        set(_boost_BOOSTIFIED_VERSION
+          "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
+    endif()
+
+    list(APPEND _boost_PATH_SUFFIXES
+      "boost-${_boost_BOOSTIFIED_VERSION}"
+      "boost_${_boost_BOOSTIFIED_VERSION}"
+      "boost/boost-${_boost_BOOSTIFIED_VERSION}"
+      "boost/boost_${_boost_BOOSTIFIED_VERSION}"
+      )
+
+  endforeach()
+
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "Include debugging info:")
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "  _boost_INCLUDE_SEARCH_DIRS = ${_boost_INCLUDE_SEARCH_DIRS}")
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "  _boost_PATH_SUFFIXES = ${_boost_PATH_SUFFIXES}")
+  endif()
+
+  # Look for a standard boost header file.
+  find_path(Boost_INCLUDE_DIR
+    NAMES         boost/config.hpp
+    HINTS         ${_boost_INCLUDE_SEARCH_DIRS}
+    PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
+    )
+endif()
+
+# ------------------------------------------------------------------------
+#  Extract version information from version.hpp
+# ------------------------------------------------------------------------
+
+# Set Boost_FOUND based only on header location and version.
+# It will be updated below for component libraries.
+if(Boost_INCLUDE_DIR)
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp")
+  endif()
+
+  # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
+  set(Boost_VERSION 0)
+  set(Boost_LIB_VERSION "")
+  file(STRINGS "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS REGEX "#define BOOST_(LIB_)?VERSION ")
+  set(_Boost_VERSION_REGEX "([0-9]+)")
+  set(_Boost_LIB_VERSION_REGEX "\"([0-9_]+)\"")
+  foreach(v VERSION LIB_VERSION)
+    if("${_boost_VERSION_HPP_CONTENTS}" MATCHES "#define BOOST_${v} ${_Boost_${v}_REGEX}")
+      set(Boost_${v} "${CMAKE_MATCH_1}")
+    endif()
+  endforeach()
+  unset(_boost_VERSION_HPP_CONTENTS)
+
+  math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
+  math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
+  math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
+
+  string(APPEND Boost_ERROR_REASON
+    "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "version.hpp reveals boost "
+                   "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
+  endif()
+
+  if(Boost_FIND_VERSION)
+    # Set Boost_FOUND based on requested version.
+    set(_Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
+    if("${_Boost_VERSION}" VERSION_LESS "${Boost_FIND_VERSION}")
+      set(Boost_FOUND 0)
+      set(_Boost_VERSION_AGE "old")
+    elseif(Boost_FIND_VERSION_EXACT AND
+        NOT "${_Boost_VERSION}" VERSION_EQUAL "${Boost_FIND_VERSION}")
+      set(Boost_FOUND 0)
+      set(_Boost_VERSION_AGE "new")
+    else()
+      set(Boost_FOUND 1)
+    endif()
+    if(NOT Boost_FOUND)
+      # State that we found a version of Boost that is too new or too old.
+      string(APPEND Boost_ERROR_REASON
+        "\nDetected version of Boost is too ${_Boost_VERSION_AGE}. Requested version was ${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
+      if (Boost_FIND_VERSION_PATCH)
+        string(APPEND Boost_ERROR_REASON
+          ".${Boost_FIND_VERSION_PATCH}")
+      endif ()
+      if (NOT Boost_FIND_VERSION_EXACT)
+        string(APPEND Boost_ERROR_REASON " (or newer)")
+      endif ()
+      string(APPEND Boost_ERROR_REASON ".")
+    endif ()
+  else()
+    # Caller will accept any Boost version.
+    set(Boost_FOUND 1)
+  endif()
+else()
+  set(Boost_FOUND 0)
+  string(APPEND Boost_ERROR_REASON
+    "Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.")
+endif()
+
+# ------------------------------------------------------------------------
+#  Prefix initialization
+# ------------------------------------------------------------------------
+
+set(Boost_LIB_PREFIX "")
+if ( (GHSMULTI AND Boost_USE_STATIC_LIBS) OR
+    (WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN) )
+  set(Boost_LIB_PREFIX "lib")
+endif()
+
+if ( NOT Boost_NAMESPACE )
+  set(Boost_NAMESPACE "boost")
+endif()
+
+# ------------------------------------------------------------------------
+#  Suffix initialization and compiler suffix detection.
+# ------------------------------------------------------------------------
+
+set(_Boost_VARS_NAME
+  Boost_NAMESPACE
+  Boost_COMPILER
+  Boost_THREADAPI
+  Boost_USE_DEBUG_PYTHON
+  Boost_USE_MULTITHREADED
+  Boost_USE_STATIC_LIBS
+  Boost_USE_STATIC_RUNTIME
+  Boost_USE_STLPORT
+  Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
+  )
+_Boost_CHANGE_DETECT(_Boost_CHANGE_LIBNAME ${_Boost_VARS_NAME})
+
+# Setting some more suffixes for the library
+if (Boost_COMPILER)
+  set(_boost_COMPILER ${Boost_COMPILER})
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "using user-specified Boost_COMPILER = ${_boost_COMPILER}")
+  endif()
+else()
+  # Attempt to guess the compiler suffix
+  # NOTE: this is not perfect yet, if you experience any issues
+  # please report them and use the Boost_COMPILER variable
+  # to work around the problems.
+  _Boost_GUESS_COMPILER_PREFIX(_boost_COMPILER)
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+      "guessed _boost_COMPILER = ${_boost_COMPILER}")
+  endif()
+endif()
+
+set (_boost_MULTITHREADED "-mt")
+if( NOT Boost_USE_MULTITHREADED )
+  set (_boost_MULTITHREADED "")
+endif()
+if(Boost_DEBUG)
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+    "_boost_MULTITHREADED = ${_boost_MULTITHREADED}")
+endif()
+
+#======================
+# Systematically build up the Boost ABI tag
+# http://boost.org/doc/libs/1_41_0/more/getting_started/windows.html#library-naming
+set( _boost_RELEASE_ABI_TAG "-")
+set( _boost_DEBUG_ABI_TAG   "-")
+# Key       Use this library when:
+#  s        linking statically to the C++ standard library and
+#           compiler runtime support libraries.
+if(Boost_USE_STATIC_RUNTIME)
+  set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}s")
+  set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}s")
+endif()
+#  g        using debug versions of the standard and runtime
+#           support libraries
+if(WIN32 AND Boost_USE_DEBUG_RUNTIME)
+  if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC"
+          OR "${CMAKE_CXX_COMPILER}" MATCHES "icl"
+          OR "${CMAKE_CXX_COMPILER}" MATCHES "icpc")
+    string(APPEND _boost_DEBUG_ABI_TAG "g")
+  endif()
+endif()
+#  y        using special debug build of python
+if(Boost_USE_DEBUG_PYTHON)
+  string(APPEND _boost_DEBUG_ABI_TAG "y")
+endif()
+#  d        using a debug version of your code
+string(APPEND _boost_DEBUG_ABI_TAG "d")
+#  p        using the STLport standard library rather than the
+#           default one supplied with your compiler
+if(Boost_USE_STLPORT)
+  string(APPEND _boost_RELEASE_ABI_TAG "p")
+  string(APPEND _boost_DEBUG_ABI_TAG "p")
+endif()
+#  n        using the STLport deprecated "native iostreams" feature
+if(Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS)
+  string(APPEND _boost_RELEASE_ABI_TAG "n")
+  string(APPEND _boost_DEBUG_ABI_TAG "n")
+endif()
+
+if(Boost_DEBUG)
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+    "_boost_RELEASE_ABI_TAG = ${_boost_RELEASE_ABI_TAG}")
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+    "_boost_DEBUG_ABI_TAG = ${_boost_DEBUG_ABI_TAG}")
+endif()
+
+# ------------------------------------------------------------------------
+#  Begin finding boost libraries
+# ------------------------------------------------------------------------
+
+set(_Boost_VARS_LIB "")
+foreach(c DEBUG RELEASE)
+  set(_Boost_VARS_LIB_${c} BOOST_LIBRARYDIR Boost_LIBRARY_DIR_${c})
+  list(APPEND _Boost_VARS_LIB ${_Boost_VARS_LIB_${c}})
+  _Boost_CHANGE_DETECT(_Boost_CHANGE_LIBDIR_${c} ${_Boost_VARS_DIR} ${_Boost_VARS_LIB_${c}} Boost_INCLUDE_DIR)
+  # Clear Boost_LIBRARY_DIR_${c} if it did not change but other input affecting the
+  # location did.  We will find a new one based on the new inputs.
+  if(_Boost_CHANGE_LIBDIR_${c} AND NOT _Boost_LIBRARY_DIR_${c}_CHANGED)
+    unset(Boost_LIBRARY_DIR_${c} CACHE)
+  endif()
+
+  # If Boost_LIBRARY_DIR_[RELEASE,DEBUG] is set, prefer its value.
+  if(Boost_LIBRARY_DIR_${c})
+    set(_boost_LIBRARY_SEARCH_DIRS_${c} ${Boost_LIBRARY_DIR_${c}} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  else()
+    set(_boost_LIBRARY_SEARCH_DIRS_${c} "")
+    if(BOOST_LIBRARYDIR)
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${BOOST_LIBRARYDIR})
+    elseif(_ENV_BOOST_LIBRARYDIR)
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${_ENV_BOOST_LIBRARYDIR})
+    endif()
+
+    if(BOOST_ROOT)
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${BOOST_ROOT}/lib ${BOOST_ROOT}/stage/lib)
+      _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "${BOOST_ROOT}")
+    elseif(_ENV_BOOST_ROOT)
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${_ENV_BOOST_ROOT}/lib ${_ENV_BOOST_ROOT}/stage/lib)
+      _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "${_ENV_BOOST_ROOT}")
+    endif()
+
+    list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c}
+      ${Boost_INCLUDE_DIR}/lib
+      ${Boost_INCLUDE_DIR}/../lib
+      ${Boost_INCLUDE_DIR}/stage/lib
+      )
+    _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "${Boost_INCLUDE_DIR}/..")
+    if( Boost_NO_SYSTEM_PATHS )
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+    else()
+      foreach(ver ${_Boost_KNOWN_VERSIONS})
+        string(REPLACE "." "_" ver "${ver}")
+        _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "C:/local/boost_${ver}")
+      endforeach()
+      _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "C:/boost")
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} PATHS
+        C:/boost/lib
+        C:/boost
+        /sw/local/lib
+        )
+    endif()
+  endif()
+endforeach()
+
+if(Boost_DEBUG)
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+    "_boost_LIBRARY_SEARCH_DIRS_RELEASE = ${_boost_LIBRARY_SEARCH_DIRS_RELEASE}"
+    "_boost_LIBRARY_SEARCH_DIRS_DEBUG   = ${_boost_LIBRARY_SEARCH_DIRS_DEBUG}")
+endif()
+
+# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
+if( Boost_USE_STATIC_LIBS )
+  set( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  if(WIN32)
+    list(INSERT CMAKE_FIND_LIBRARY_SUFFIXES 0 .lib .a)
+  else()
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .a)
+  endif()
+endif()
+
+# We want to use the tag inline below without risking double dashes
+if(_boost_RELEASE_ABI_TAG)
+  if(${_boost_RELEASE_ABI_TAG} STREQUAL "-")
+    set(_boost_RELEASE_ABI_TAG "")
+  endif()
+endif()
+if(_boost_DEBUG_ABI_TAG)
+  if(${_boost_DEBUG_ABI_TAG} STREQUAL "-")
+    set(_boost_DEBUG_ABI_TAG "")
+  endif()
+endif()
+
+# The previous behavior of FindBoost when Boost_USE_STATIC_LIBS was enabled
+# on WIN32 was to:
+#  1. Search for static libs compiled against a SHARED C++ standard runtime library (use if found)
+#  2. Search for static libs compiled against a STATIC C++ standard runtime library (use if found)
+# We maintain this behavior since changing it could break people's builds.
+# To disable the ambiguous behavior, the user need only
+# set Boost_USE_STATIC_RUNTIME either ON or OFF.
+set(_boost_STATIC_RUNTIME_WORKAROUND false)
+if(WIN32 AND Boost_USE_STATIC_LIBS)
+  if(NOT DEFINED Boost_USE_STATIC_RUNTIME)
+    set(_boost_STATIC_RUNTIME_WORKAROUND TRUE)
+  endif()
+endif()
+
+# On versions < 1.35, remove the System library from the considered list
+# since it wasn't added until 1.35.
+if(Boost_VERSION AND Boost_FIND_COMPONENTS)
+   if(Boost_VERSION LESS 103500)
+     list(REMOVE_ITEM Boost_FIND_COMPONENTS system)
+   endif()
+endif()
+
+# Additional components may be required via component dependencies.
+# Add any missing components to the list.
+_Boost_MISSING_DEPENDENCIES(Boost_FIND_COMPONENTS _Boost_EXTRA_FIND_COMPONENTS)
+
+# If thread is required, get the thread libs as a dependency
+if("thread" IN_LIST Boost_FIND_COMPONENTS)
+  if(Boost_FIND_QUIETLY)
+    set(_Boost_find_quiet QUIET)
+  else()
+    set(_Boost_find_quiet "")
+  endif()
+  find_package(Threads ${_Boost_find_quiet})
+  unset(_Boost_find_quiet)
+endif()
+
+# If the user changed any of our control inputs flush previous results.
+if(_Boost_CHANGE_LIBDIR_DEBUG OR _Boost_CHANGE_LIBDIR_RELEASE OR _Boost_CHANGE_LIBNAME)
+  foreach(COMPONENT ${_Boost_COMPONENTS_SEARCHED})
+    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+    foreach(c DEBUG RELEASE)
+      set(_var Boost_${UPPERCOMPONENT}_LIBRARY_${c})
+      unset(${_var} CACHE)
+      set(${_var} "${_var}-NOTFOUND")
+    endforeach()
+  endforeach()
+  set(_Boost_COMPONENTS_SEARCHED "")
+endif()
+
+foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+  string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+  set( _boost_docstring_release "Boost ${COMPONENT} library (release)")
+  set( _boost_docstring_debug   "Boost ${COMPONENT} library (debug)")
+
+  # Compute component-specific hints.
+  set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "")
+  if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python" OR
+     ${COMPONENT} STREQUAL "graph_parallel")
+    foreach(lib ${MPI_CXX_LIBRARIES} ${MPI_C_LIBRARIES})
+      if(IS_ABSOLUTE "${lib}")
+        get_filename_component(libdir "${lib}" PATH)
+        string(REPLACE "\\" "/" libdir "${libdir}")
+        list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT ${libdir})
+      endif()
+    endforeach()
+  endif()
+
+  # Consolidate and report component-specific hints.
+  if(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
+    list(REMOVE_DUPLICATES _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
+    if(Boost_DEBUG)
+      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+        "Component-specific library search paths for ${COMPONENT}: "
+        "${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT}")
+    endif()
+  endif()
+
+  #
+  # Find headers
+  #
+  _Boost_COMPONENT_HEADERS("${COMPONENT}" Boost_${UPPERCOMPONENT}_HEADER_NAME)
+  # Look for a standard boost header file.
+  if(Boost_${UPPERCOMPONENT}_HEADER_NAME)
+    if(EXISTS "${Boost_INCLUDE_DIR}/${Boost_${UPPERCOMPONENT}_HEADER_NAME}")
+      set(Boost_${UPPERCOMPONENT}_HEADER ON)
+    else()
+      set(Boost_${UPPERCOMPONENT}_HEADER OFF)
+    endif()
+  else()
+    set(Boost_${UPPERCOMPONENT}_HEADER ON)
+    message(WARNING "No header defined for ${COMPONENT}; skipping header check")
+  endif()
+
+  #
+  # Find RELEASE libraries
+  #
+  unset(_boost_RELEASE_NAMES)
+  foreach(compiler IN LISTS _boost_COMPILER)
+    list(APPEND _boost_RELEASE_NAMES
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} )
+  endforeach()
+  list(APPEND _boost_RELEASE_NAMES
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
+  if(_boost_STATIC_RUNTIME_WORKAROUND)
+    set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
+    foreach(compiler IN LISTS _boost_COMPILER)
+      list(APPEND _boost_RELEASE_NAMES
+        ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+        ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
+    endforeach()
+    list(APPEND _boost_RELEASE_NAMES
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
+  endif()
+  if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+     _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES})
+  endif()
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}")
+  endif()
+
+  # if Boost_LIBRARY_DIR_RELEASE is not defined,
+  # but Boost_LIBRARY_DIR_DEBUG is, look there first for RELEASE libs
+  if(NOT Boost_LIBRARY_DIR_RELEASE AND Boost_LIBRARY_DIR_DEBUG)
+    list(INSERT _boost_LIBRARY_SEARCH_DIRS_RELEASE 0 ${Boost_LIBRARY_DIR_DEBUG})
+  endif()
+
+  # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
+  string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS_RELEASE}")
+
+  if(Boost_USE_RELEASE_LIBS)
+    _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE RELEASE
+      NAMES ${_boost_RELEASE_NAMES}
+      HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
+      NAMES_PER_DIR
+      DOC "${_boost_docstring_release}"
+      )
+  endif()
+
+  #
+  # Find DEBUG libraries
+  #
+  unset(_boost_DEBUG_NAMES)
+  foreach(compiler IN LISTS _boost_COMPILER)
+    list(APPEND _boost_DEBUG_NAMES
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} )
+  endforeach()
+  list(APPEND _boost_DEBUG_NAMES
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}
+    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
+  if(_boost_STATIC_RUNTIME_WORKAROUND)
+    set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}")
+    foreach(compiler IN LISTS _boost_COMPILER)
+      list(APPEND _boost_DEBUG_NAMES
+        ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+        ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
+    endforeach()
+    list(APPEND _boost_DEBUG_NAMES
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
+  endif()
+  if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+     _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES})
+  endif()
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}")
+  endif()
+
+  # if Boost_LIBRARY_DIR_DEBUG is not defined,
+  # but Boost_LIBRARY_DIR_RELEASE is, look there first for DEBUG libs
+  if(NOT Boost_LIBRARY_DIR_DEBUG AND Boost_LIBRARY_DIR_RELEASE)
+    list(INSERT _boost_LIBRARY_SEARCH_DIRS_DEBUG 0 ${Boost_LIBRARY_DIR_RELEASE})
+  endif()
+
+  # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
+  string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS_DEBUG}")
+
+  if(Boost_USE_DEBUG_LIBS)
+    _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG DEBUG
+      NAMES ${_boost_DEBUG_NAMES}
+      HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
+      NAMES_PER_DIR
+      DOC "${_boost_docstring_debug}"
+      )
+  endif ()
+
+  if(Boost_REALPATH)
+    _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "${_boost_docstring_release}")
+    _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG   "${_boost_docstring_debug}"  )
+  endif()
+
+  _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
+
+  # Check if component requires some compiler features
+  _Boost_COMPILER_FEATURES(${COMPONENT} _Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+
+endforeach()
+
+# Restore the original find library ordering
+if( Boost_USE_STATIC_LIBS )
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+endif()
+
+# ------------------------------------------------------------------------
+#  End finding boost libraries
+# ------------------------------------------------------------------------
+
+set(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
+set(Boost_LIBRARY_DIRS)
+if(Boost_LIBRARY_DIR_RELEASE)
+  list(APPEND Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR_RELEASE})
+endif()
+if(Boost_LIBRARY_DIR_DEBUG)
+  list(APPEND Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR_DEBUG})
+endif()
+if(Boost_LIBRARY_DIRS)
+  list(REMOVE_DUPLICATES Boost_LIBRARY_DIRS)
+endif()
+
+# The above setting of Boost_FOUND was based only on the header files.
+# Update it for the requested component libraries.
+if(Boost_FOUND)
+  # The headers were found.  Check for requested component libs.
+  set(_boost_CHECKED_COMPONENT FALSE)
+  set(_Boost_MISSING_COMPONENTS "")
+  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+    string(TOUPPER ${COMPONENT} COMPONENT)
+    set(_boost_CHECKED_COMPONENT TRUE)
+    if(NOT Boost_${COMPONENT}_FOUND)
+      string(TOLOWER ${COMPONENT} COMPONENT)
+      list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
+    endif()
+  endforeach()
+  if(_Boost_MISSING_COMPONENTS AND _Boost_EXTRA_FIND_COMPONENTS)
+    # Optional indirect dependencies are not counted as missing.
+    list(REMOVE_ITEM _Boost_MISSING_COMPONENTS ${_Boost_EXTRA_FIND_COMPONENTS})
+  endif()
+
+  if(Boost_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] Boost_FOUND = ${Boost_FOUND}")
+  endif()
+
+  if (_Boost_MISSING_COMPONENTS)
+    set(Boost_FOUND 0)
+    # We were unable to find some libraries, so generate a sensible
+    # error message that lists the libraries we were unable to find.
+    string(APPEND Boost_ERROR_REASON
+      "\nCould not find the following")
+    if(Boost_USE_STATIC_LIBS)
+      string(APPEND Boost_ERROR_REASON " static")
+    endif()
+    string(APPEND Boost_ERROR_REASON
+      " Boost libraries:\n")
+    foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
+      string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+      string(APPEND Boost_ERROR_REASON
+        "        ${Boost_NAMESPACE}_${COMPONENT}${Boost_ERROR_REASON_${UPPERCOMPONENT}}\n")
+    endforeach()
+
+    list(LENGTH Boost_FIND_COMPONENTS Boost_NUM_COMPONENTS_WANTED)
+    list(LENGTH _Boost_MISSING_COMPONENTS Boost_NUM_MISSING_COMPONENTS)
+    if (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
+      string(APPEND Boost_ERROR_REASON
+        "No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
+    else ()
+      string(APPEND Boost_ERROR_REASON
+        "Some (but not all) of the required Boost libraries were found. You may need to install these additional Boost libraries. Alternatively, set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
+    endif ()
+  endif ()
+
+  if( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
+    # Compatibility Code for backwards compatibility with CMake
+    # 2.4's FindBoost module.
+
+    # Look for the boost library path.
+    # Note that the user may not have installed any libraries
+    # so it is quite possible the Boost_LIBRARY_DIRS may not exist.
+    set(_boost_LIB_DIR ${Boost_INCLUDE_DIR})
+
+    if("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+")
+      get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
+    endif()
+
+    if("${_boost_LIB_DIR}" MATCHES "/include$")
+      # Strip off the trailing "/include" in the path.
+      get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
+    endif()
+
+    if(EXISTS "${_boost_LIB_DIR}/lib")
+      string(APPEND _boost_LIB_DIR /lib)
+    elseif(EXISTS "${_boost_LIB_DIR}/stage/lib")
+      string(APPEND _boost_LIB_DIR "/stage/lib")
+    else()
+      set(_boost_LIB_DIR "")
+    endif()
+
+    if(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}")
+      set(Boost_LIBRARY_DIRS ${_boost_LIB_DIR})
+    endif()
+
+  endif()
+else()
+  # Boost headers were not found so no components were found.
+  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+    set(Boost_${UPPERCOMPONENT}_FOUND 0)
+  endforeach()
+endif()
+
+# ------------------------------------------------------------------------
+#  Add imported targets
+# ------------------------------------------------------------------------
+
+if(Boost_FOUND)
+  # For header-only libraries
+  if(NOT TARGET Boost::boost)
+    add_library(Boost::boost INTERFACE IMPORTED)
+    if(Boost_INCLUDE_DIRS)
+      set_target_properties(Boost::boost PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+    endif()
+  endif()
+
+  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
+      string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+      if(Boost_${UPPERCOMPONENT}_FOUND)
+        if(Boost_USE_STATIC_LIBS)
+          add_library(Boost::${COMPONENT} STATIC IMPORTED)
+        else()
+          # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+          # libraries as a result.
+          add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
+        endif()
+        if(Boost_INCLUDE_DIRS)
+          set_target_properties(Boost::${COMPONENT} PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+        endif()
+        if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+          set_target_properties(Boost::${COMPONENT} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+            IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+        endif()
+        if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS RELEASE)
+          set_target_properties(Boost::${COMPONENT} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+            IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+        endif()
+        if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS DEBUG)
+          set_target_properties(Boost::${COMPONENT} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+            IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+        endif()
+        if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+          unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+          foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
+          endforeach()
+          if(COMPONENT STREQUAL "thread")
+            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
+          endif()
+          set_target_properties(Boost::${COMPONENT} PROPERTIES
+            INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+        endif()
+        if(_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES)
+          set_target_properties(Boost::${COMPONENT} PROPERTIES
+            INTERFACE_COMPILE_FEATURES "${_Boost_${UPPERCOMPONENT}_COMPILER_FEATURES}")
+        endif()
+      endif()
+    endif()
+  endforeach()
+endif()
+
+# ------------------------------------------------------------------------
+#  Notification to end user about what was found
+# ------------------------------------------------------------------------
+
+set(Boost_LIBRARIES "")
+if(Boost_FOUND)
+  if(NOT Boost_FIND_QUIETLY)
+    message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
+    if(Boost_FIND_COMPONENTS)
+      message(STATUS "Found the following Boost libraries:")
+    endif()
+  endif()
+  foreach( COMPONENT  ${Boost_FIND_COMPONENTS} )
+    string( TOUPPER ${COMPONENT} UPPERCOMPONENT )
+    if( Boost_${UPPERCOMPONENT}_FOUND )
+      if(NOT Boost_FIND_QUIETLY)
+        message (STATUS "  ${COMPONENT}")
+      endif()
+      list(APPEND Boost_LIBRARIES ${Boost_${UPPERCOMPONENT}_LIBRARY})
+    endif()
+  endforeach()
+else()
+  if(Boost_FIND_REQUIRED)
+    message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
+  else()
+    if(NOT Boost_FIND_QUIETLY)
+      # we opt not to automatically output Boost_ERROR_REASON here as
+      # it could be quite lengthy and somewhat imposing in its requests
+      # Since Boost is not always a required dependency we'll leave this
+      # up to the end-user.
+      if(Boost_DEBUG OR Boost_DETAILED_FAILURE_MSG)
+        message(STATUS "Could NOT find Boost\n${Boost_ERROR_REASON}")
+      else()
+        message(STATUS "Could NOT find Boost")
+      endif()
+    endif()
+  endif()
+endif()
+
+# Configure display of cache entries in GUI.
+foreach(v BOOSTROOT BOOST_ROOT ${_Boost_VARS_INC} ${_Boost_VARS_LIB})
+  get_property(_type CACHE ${v} PROPERTY TYPE)
+  if(_type)
+    set_property(CACHE ${v} PROPERTY ADVANCED 1)
+    if("x${_type}" STREQUAL "xUNINITIALIZED")
+      if("x${v}" STREQUAL "xBoost_ADDITIONAL_VERSIONS")
+        set_property(CACHE ${v} PROPERTY TYPE STRING)
+      else()
+        set_property(CACHE ${v} PROPERTY TYPE PATH)
+      endif()
+    endif()
+  endif()
+endforeach()
+
+# Record last used values of input variables so we can
+# detect on the next run if the user changed them.
+foreach(v
+    ${_Boost_VARS_INC} ${_Boost_VARS_LIB}
+    ${_Boost_VARS_DIR} ${_Boost_VARS_NAME}
+    )
+  if(DEFINED ${v})
+    set(_${v}_LAST "${${v}}" CACHE INTERNAL "Last used ${v} value.")
+  else()
+    unset(_${v}_LAST CACHE)
+  endif()
+endforeach()
+
+# Maintain a persistent list of components requested anywhere since
+# the last flush.
+set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}")
+list(APPEND _Boost_COMPONENTS_SEARCHED ${Boost_FIND_COMPONENTS})
+list(REMOVE_DUPLICATES _Boost_COMPONENTS_SEARCHED)
+list(SORT _Boost_COMPONENTS_SEARCHED)
+set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}"
+  CACHE INTERNAL "Components requested for this build tree.")
+
+# Restore project's policies
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/FindBullet.cmake b/share/cmake-3.10/Modules/FindBullet.cmake
new file mode 100644
index 0000000..fc6695c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindBullet.cmake
@@ -0,0 +1,92 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindBullet
+# ----------
+#
+# Try to find the Bullet physics engine
+#
+#
+#
+# ::
+#
+#   This module defines the following variables
+#
+#
+#
+# ::
+#
+#   BULLET_FOUND - Was bullet found
+#   BULLET_INCLUDE_DIRS - the Bullet include directories
+#   BULLET_LIBRARIES - Link to this, by default it includes
+#                      all bullet components (Dynamics,
+#                      Collision, LinearMath, & SoftBody)
+#
+#
+#
+# ::
+#
+#   This module accepts the following variables
+#
+#
+#
+# ::
+#
+#   BULLET_ROOT - Can be set to bullet install path or Windows build path
+
+macro(_FIND_BULLET_LIBRARY _var)
+  find_library(${_var}
+     NAMES
+        ${ARGN}
+     HINTS
+        ${BULLET_ROOT}
+        ${BULLET_ROOT}/lib/Release
+        ${BULLET_ROOT}/lib/Debug
+        ${BULLET_ROOT}/out/release8/libs
+        ${BULLET_ROOT}/out/debug8/libs
+     PATH_SUFFIXES lib
+  )
+  mark_as_advanced(${_var})
+endmacro()
+
+macro(_BULLET_APPEND_LIBRARIES _list _release)
+   set(_debug ${_release}_DEBUG)
+   if(${_debug})
+      set(${_list} ${${_list}} optimized ${${_release}} debug ${${_debug}})
+   else()
+      set(${_list} ${${_list}} ${${_release}})
+   endif()
+endmacro()
+
+find_path(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
+  HINTS
+    ${BULLET_ROOT}/include
+    ${BULLET_ROOT}/src
+  PATH_SUFFIXES bullet
+)
+
+# Find the libraries
+
+_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY        BulletDynamics)
+_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY_DEBUG  BulletDynamics_Debug BulletDynamics_d)
+_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY       BulletCollision)
+_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY_DEBUG BulletCollision_Debug BulletCollision_d)
+_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY            BulletMath LinearMath)
+_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY_DEBUG      BulletMath_Debug BulletMath_d LinearMath_Debug LinearMath_d)
+_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY        BulletSoftBody)
+_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY_DEBUG  BulletSoftBody_Debug BulletSoftBody_d)
+
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Bullet DEFAULT_MSG
+    BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY
+    BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)
+
+set(BULLET_INCLUDE_DIRS ${BULLET_INCLUDE_DIR})
+if(BULLET_FOUND)
+   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_DYNAMICS_LIBRARY)
+   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_COLLISION_LIBRARY)
+   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_MATH_LIBRARY)
+   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_SOFTBODY_LIBRARY)
+endif()
diff --git a/share/cmake-3.10/Modules/FindCABLE.cmake b/share/cmake-3.10/Modules/FindCABLE.cmake
new file mode 100644
index 0000000..450e322
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCABLE.cmake
@@ -0,0 +1,81 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCABLE
+# ---------
+#
+# Find CABLE
+#
+# This module finds if CABLE is installed and determines where the
+# include files and libraries are.  This code sets the following
+# variables:
+#
+# ::
+#
+#   CABLE             the path to the cable executable
+#   CABLE_TCL_LIBRARY the path to the Tcl wrapper library
+#   CABLE_INCLUDE_DIR the path to the include directory
+#
+#
+#
+# To build Tcl wrappers, you should add shared library and link it to
+# ${CABLE_TCL_LIBRARY}.  You should also add ${CABLE_INCLUDE_DIR} as an
+# include directory.
+
+if(NOT CABLE)
+  find_path(CABLE_BUILD_DIR cableVersion.h)
+endif()
+
+if(CABLE_BUILD_DIR)
+  load_cache(${CABLE_BUILD_DIR}
+             EXCLUDE
+               BUILD_SHARED_LIBS
+               LIBRARY_OUTPUT_PATH
+               EXECUTABLE_OUTPUT_PATH
+               MAKECOMMAND
+               CMAKE_INSTALL_PREFIX
+             INCLUDE_INTERNALS
+               CABLE_LIBRARY_PATH
+               CABLE_EXECUTABLE_PATH)
+
+  if(CABLE_LIBRARY_PATH)
+    find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
+                 ${CABLE_LIBRARY_PATH}
+                 ${CABLE_LIBRARY_PATH}/*)
+  else()
+    find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
+                 ${CABLE_BINARY_DIR}/CableTclFacility
+                 ${CABLE_BINARY_DIR}/CableTclFacility/*)
+  endif()
+
+  if(CABLE_EXECUTABLE_PATH)
+    find_program(CABLE NAMES cable PATHS
+                 ${CABLE_EXECUTABLE_PATH}
+                 ${CABLE_EXECUTABLE_PATH}/*)
+  else()
+    find_program(CABLE NAMES cable PATHS
+                 ${CABLE_BINARY_DIR}/Executables
+                 ${CABLE_BINARY_DIR}/Executables/*)
+  endif()
+
+  find_path(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
+            ${CABLE_SOURCE_DIR})
+else()
+  # Find the cable executable in the path.
+  find_program(CABLE NAMES cable)
+
+  # Get the path where the executable sits, but without the executable
+  # name on it.
+  get_filename_component(CABLE_ROOT_BIN ${CABLE} PATH)
+
+  # Find the cable include directory in a path relative to the cable
+  # executable.
+  find_path(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
+            ${CABLE_ROOT_BIN}/../include/Cable)
+
+  # Find the WrapTclFacility library in a path relative to the cable
+  # executable.
+  find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
+               ${CABLE_ROOT_BIN}/../lib/Cable)
+endif()
diff --git a/share/cmake-3.10/Modules/FindCUDA.cmake b/share/cmake-3.10/Modules/FindCUDA.cmake
new file mode 100644
index 0000000..1c8ac26
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCUDA.cmake
@@ -0,0 +1,1988 @@
+#.rst:
+# FindCUDA
+# --------
+#
+# .. note::
+#
+#   The FindCUDA module has been superseded by first-class support
+#   for the CUDA language in CMake.  It is no longer necessary to
+#   use this module or call ``find_package(CUDA)``.  This module
+#   now exists only for compatibility with projects that have not
+#   been ported.
+#
+#   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`.
+#
+# Tools for building CUDA C files: libraries and build dependencies.
+#
+# This script locates the NVIDIA CUDA C tools.  It should work on linux,
+# windows, and mac and should be reasonably up to date with CUDA C
+# releases.
+#
+# This script makes use of the standard find_package arguments of
+# <VERSION>, REQUIRED and QUIET.  CUDA_FOUND will report if an
+# acceptable version of CUDA was found.
+#
+# The script will prompt the user to specify CUDA_TOOLKIT_ROOT_DIR if
+# the prefix cannot be determined by the location of nvcc in the system
+# path and REQUIRED is specified to find_package().  To use a different
+# installed version of the toolkit set the environment variable
+# CUDA_BIN_PATH before running cmake (e.g.
+# CUDA_BIN_PATH=/usr/local/cuda1.0 instead of the default
+# /usr/local/cuda) or set CUDA_TOOLKIT_ROOT_DIR after configuring.  If
+# you change the value of CUDA_TOOLKIT_ROOT_DIR, various components that
+# depend on the path will be relocated.
+#
+# It might be necessary to set CUDA_TOOLKIT_ROOT_DIR manually on certain
+# platforms, or to use a cuda runtime not installed in the default
+# location.  In newer versions of the toolkit the cuda library is
+# included with the graphics driver- be sure that the driver version
+# matches what is needed by the cuda runtime version.
+#
+# The following variables affect the behavior of the macros in the
+# script (in alphebetical order).  Note that any of these flags can be
+# changed multiple times in the same directory before calling
+# CUDA_ADD_EXECUTABLE, CUDA_ADD_LIBRARY, CUDA_COMPILE, CUDA_COMPILE_PTX,
+# CUDA_COMPILE_FATBIN, CUDA_COMPILE_CUBIN or CUDA_WRAP_SRCS::
+#
+#   CUDA_64_BIT_DEVICE_CODE (Default matches host bit size)
+#   -- Set to ON to compile for 64 bit device code, OFF for 32 bit device code.
+#      Note that making this different from the host code when generating object
+#      or C files from CUDA code just won't work, because size_t gets defined by
+#      nvcc in the generated source.  If you compile to PTX and then load the
+#      file yourself, you can mix bit sizes between device and host.
+#
+#   CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE (Default ON)
+#   -- Set to ON if you want the custom build rule to be attached to the source
+#      file in Visual Studio.  Turn OFF if you add the same cuda file to multiple
+#      targets.
+#
+#      This allows the user to build the target from the CUDA file; however, bad
+#      things can happen if the CUDA source file is added to multiple targets.
+#      When performing parallel builds it is possible for the custom build
+#      command to be run more than once and in parallel causing cryptic build
+#      errors.  VS runs the rules for every source file in the target, and a
+#      source can have only one rule no matter how many projects it is added to.
+#      When the rule is run from multiple targets race conditions can occur on
+#      the generated file.  Eventually everything will get built, but if the user
+#      is unaware of this behavior, there may be confusion.  It would be nice if
+#      this script could detect the reuse of source files across multiple targets
+#      and turn the option off for the user, but no good solution could be found.
+#
+#   CUDA_BUILD_CUBIN (Default OFF)
+#   -- Set to ON to enable and extra compilation pass with the -cubin option in
+#      Device mode. The output is parsed and register, shared memory usage is
+#      printed during build.
+#
+#   CUDA_BUILD_EMULATION (Default OFF for device mode)
+#   -- Set to ON for Emulation mode. -D_DEVICEEMU is defined for CUDA C files
+#      when CUDA_BUILD_EMULATION is TRUE.
+#
+#   CUDA_LINK_LIBRARIES_KEYWORD (Default "")
+#    -- The <PRIVATE|PUBLIC|INTERFACE> keyword to use for internal
+#       target_link_libraries calls. The default is to use no keyword which
+#       uses the old "plain" form of target_link_libraries. Note that is matters
+#       because whatever is used inside the FindCUDA module must also be used
+#       outside - the two forms of target_link_libraries cannot be mixed.
+#
+#   CUDA_GENERATED_OUTPUT_DIR (Default CMAKE_CURRENT_BINARY_DIR)
+#   -- Set to the path you wish to have the generated files placed.  If it is
+#      blank output files will be placed in CMAKE_CURRENT_BINARY_DIR.
+#      Intermediate files will always be placed in
+#      CMAKE_CURRENT_BINARY_DIR/CMakeFiles.
+#
+#   CUDA_HOST_COMPILATION_CPP (Default ON)
+#   -- Set to OFF for C compilation of host code.
+#
+#   CUDA_HOST_COMPILER (Default CMAKE_C_COMPILER, $(VCInstallDir)/bin for VS)
+#   -- Set the host compiler to be used by nvcc.  Ignored if -ccbin or
+#      --compiler-bindir is already present in the CUDA_NVCC_FLAGS or
+#      CUDA_NVCC_FLAGS_<CONFIG> variables.  For Visual Studio targets
+#      $(VCInstallDir)/bin is a special value that expands out to the path when
+#      the command is run from within VS.
+#
+#   CUDA_NVCC_FLAGS
+#   CUDA_NVCC_FLAGS_<CONFIG>
+#   -- Additional NVCC command line arguments.  NOTE: multiple arguments must be
+#      semi-colon delimited (e.g. --compiler-options;-Wall)
+#
+#   CUDA_PROPAGATE_HOST_FLAGS (Default ON)
+#   -- Set to ON to propagate CMAKE_{C,CXX}_FLAGS and their configuration
+#      dependent counterparts (e.g. CMAKE_C_FLAGS_DEBUG) automatically to the
+#      host compiler through nvcc's -Xcompiler flag.  This helps make the
+#      generated host code match the rest of the system better.  Sometimes
+#      certain flags give nvcc problems, and this will help you turn the flag
+#      propagation off.  This does not affect the flags supplied directly to nvcc
+#      via CUDA_NVCC_FLAGS or through the OPTION flags specified through
+#      CUDA_ADD_LIBRARY, CUDA_ADD_EXECUTABLE, or CUDA_WRAP_SRCS.  Flags used for
+#      shared library compilation are not affected by this flag.
+#
+#   CUDA_SEPARABLE_COMPILATION (Default OFF)
+#   -- If set this will enable separable compilation for all CUDA runtime object
+#      files.  If used outside of CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY
+#      (e.g. calling CUDA_WRAP_SRCS directly),
+#      CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
+#      CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS should be called.
+#
+#   CUDA_SOURCE_PROPERTY_FORMAT
+#   -- If this source file property is set, it can override the format specified
+#      to CUDA_WRAP_SRCS (OBJ, PTX, CUBIN, or FATBIN).  If an input source file
+#      is not a .cu file, setting this file will cause it to be treated as a .cu
+#      file. See documentation for set_source_files_properties on how to set
+#      this property.
+#
+#   CUDA_USE_STATIC_CUDA_RUNTIME (Default ON)
+#   -- When enabled the static version of the CUDA runtime library will be used
+#      in CUDA_LIBRARIES.  If the version of CUDA configured doesn't support
+#      this option, then it will be silently disabled.
+#
+#   CUDA_VERBOSE_BUILD (Default OFF)
+#   -- Set to ON to see all the commands used when building the CUDA file.  When
+#      using a Makefile generator the value defaults to VERBOSE (run make
+#      VERBOSE=1 to see output), although setting CUDA_VERBOSE_BUILD to ON will
+#      always print the output.
+#
+# The script creates the following macros (in alphebetical order)::
+#
+#   CUDA_ADD_CUFFT_TO_TARGET( cuda_target )
+#   -- Adds the cufft library to the target (can be any target).  Handles whether
+#      you are in emulation mode or not.
+#
+#   CUDA_ADD_CUBLAS_TO_TARGET( cuda_target )
+#   -- Adds the cublas library to the target (can be any target).  Handles
+#      whether you are in emulation mode or not.
+#
+#   CUDA_ADD_EXECUTABLE( cuda_target file0 file1 ...
+#                        [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
+#   -- Creates an executable "cuda_target" which is made up of the files
+#      specified.  All of the non CUDA C files are compiled using the standard
+#      build rules specified by CMAKE and the cuda files are compiled to object
+#      files using nvcc and the host compiler.  In addition CUDA_INCLUDE_DIRS is
+#      added automatically to include_directories().  Some standard CMake target
+#      calls can be used on the target after calling this macro
+#      (e.g. set_target_properties and target_link_libraries), but setting
+#      properties that adjust compilation flags will not affect code compiled by
+#      nvcc.  Such flags should be modified before calling CUDA_ADD_EXECUTABLE,
+#      CUDA_ADD_LIBRARY or CUDA_WRAP_SRCS.
+#
+#   CUDA_ADD_LIBRARY( cuda_target file0 file1 ...
+#                     [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
+#   -- Same as CUDA_ADD_EXECUTABLE except that a library is created.
+#
+#   CUDA_BUILD_CLEAN_TARGET()
+#   -- Creates a convience target that deletes all the dependency files
+#      generated.  You should make clean after running this target to ensure the
+#      dependency files get regenerated.
+#
+#   CUDA_COMPILE( generated_files file0 file1 ... [STATIC | SHARED | MODULE]
+#                 [OPTIONS ...] )
+#   -- Returns a list of generated files from the input source files to be used
+#      with ADD_LIBRARY or ADD_EXECUTABLE.
+#
+#   CUDA_COMPILE_PTX( generated_files file0 file1 ... [OPTIONS ...] )
+#   -- Returns a list of PTX files generated from the input source files.
+#
+#   CUDA_COMPILE_FATBIN( generated_files file0 file1 ... [OPTIONS ...] )
+#   -- Returns a list of FATBIN files generated from the input source files.
+#
+#   CUDA_COMPILE_CUBIN( generated_files file0 file1 ... [OPTIONS ...] )
+#   -- Returns a list of CUBIN files generated from the input source files.
+#
+#   CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME( output_file_var
+#                                                        cuda_target
+#                                                        object_files )
+#   -- Compute the name of the intermediate link file used for separable
+#      compilation.  This file name is typically passed into
+#      CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.  output_file_var is produced
+#      based on cuda_target the list of objects files that need separable
+#      compilation as specified by object_files.  If the object_files list is
+#      empty, then output_file_var will be empty.  This function is called
+#      automatically for CUDA_ADD_LIBRARY and CUDA_ADD_EXECUTABLE.  Note that
+#      this is a function and not a macro.
+#
+#   CUDA_INCLUDE_DIRECTORIES( path0 path1 ... )
+#   -- Sets the directories that should be passed to nvcc
+#      (e.g. nvcc -Ipath0 -Ipath1 ... ). These paths usually contain other .cu
+#      files.
+#
+#
+#   CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS( output_file_var cuda_target
+#                                            nvcc_flags object_files)
+#   -- Generates the link object required by separable compilation from the given
+#      object files.  This is called automatically for CUDA_ADD_EXECUTABLE and
+#      CUDA_ADD_LIBRARY, but can be called manually when using CUDA_WRAP_SRCS
+#      directly.  When called from CUDA_ADD_LIBRARY or CUDA_ADD_EXECUTABLE the
+#      nvcc_flags passed in are the same as the flags passed in via the OPTIONS
+#      argument.  The only nvcc flag added automatically is the bitness flag as
+#      specified by CUDA_64_BIT_DEVICE_CODE.  Note that this is a function
+#      instead of a macro.
+#
+#   CUDA_SELECT_NVCC_ARCH_FLAGS(out_variable [target_CUDA_architectures])
+#   -- Selects GPU arch flags for nvcc based on target_CUDA_architectures
+#      target_CUDA_architectures : Auto | Common | All | LIST(ARCH_AND_PTX ...)
+#       - "Auto" detects local machine GPU compute arch at runtime.
+#       - "Common" and "All" cover common and entire subsets of architectures
+#      ARCH_AND_PTX : NAME | NUM.NUM | NUM.NUM(NUM.NUM) | NUM.NUM+PTX
+#      NAME: Fermi Kepler Maxwell Kepler+Tegra Kepler+Tesla Maxwell+Tegra Pascal
+#      NUM: Any number. Only those pairs are currently accepted by NVCC though:
+#            2.0 2.1 3.0 3.2 3.5 3.7 5.0 5.2 5.3 6.0 6.2
+#      Returns LIST of flags to be added to CUDA_NVCC_FLAGS in ${out_variable}
+#      Additionally, sets ${out_variable}_readable to the resulting numeric list
+#      Example:
+#       CUDA_SELECT_NVCC_ARCH_FLAGS(ARCH_FLAGS 3.0 3.5+PTX 5.2(5.0) Maxwell)
+#        LIST(APPEND CUDA_NVCC_FLAGS ${ARCH_FLAGS})
+#
+#      More info on CUDA architectures: https://en.wikipedia.org/wiki/CUDA
+#      Note that this is a function instead of a macro.
+#
+#   CUDA_WRAP_SRCS ( cuda_target format generated_files file0 file1 ...
+#                    [STATIC | SHARED | MODULE] [OPTIONS ...] )
+#   -- This is where all the magic happens.  CUDA_ADD_EXECUTABLE,
+#      CUDA_ADD_LIBRARY, CUDA_COMPILE, and CUDA_COMPILE_PTX all call this
+#      function under the hood.
+#
+#      Given the list of files (file0 file1 ... fileN) this macro generates
+#      custom commands that generate either PTX or linkable objects (use "PTX" or
+#      "OBJ" for the format argument to switch).  Files that don't end with .cu
+#      or have the HEADER_FILE_ONLY property are ignored.
+#
+#      The arguments passed in after OPTIONS are extra command line options to
+#      give to nvcc.  You can also specify per configuration options by
+#      specifying the name of the configuration followed by the options.  General
+#      options must precede configuration specific options.  Not all
+#      configurations need to be specified, only the ones provided will be used.
+#
+#         OPTIONS -DFLAG=2 "-DFLAG_OTHER=space in flag"
+#         DEBUG -g
+#         RELEASE --use_fast_math
+#         RELWITHDEBINFO --use_fast_math;-g
+#         MINSIZEREL --use_fast_math
+#
+#      For certain configurations (namely VS generating object files with
+#      CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE set to ON), no generated file will
+#      be produced for the given cuda file.  This is because when you add the
+#      cuda file to Visual Studio it knows that this file produces an object file
+#      and will link in the resulting object file automatically.
+#
+#      This script will also generate a separate cmake script that is used at
+#      build time to invoke nvcc.  This is for several reasons.
+#
+#        1. nvcc can return negative numbers as return values which confuses
+#        Visual Studio into thinking that the command succeeded.  The script now
+#        checks the error codes and produces errors when there was a problem.
+#
+#        2. nvcc has been known to not delete incomplete results when it
+#        encounters problems.  This confuses build systems into thinking the
+#        target was generated when in fact an unusable file exists.  The script
+#        now deletes the output files if there was an error.
+#
+#        3. By putting all the options that affect the build into a file and then
+#        make the build rule dependent on the file, the output files will be
+#        regenerated when the options change.
+#
+#      This script also looks at optional arguments STATIC, SHARED, or MODULE to
+#      determine when to target the object compilation for a shared library.
+#      BUILD_SHARED_LIBS is ignored in CUDA_WRAP_SRCS, but it is respected in
+#      CUDA_ADD_LIBRARY.  On some systems special flags are added for building
+#      objects intended for shared libraries.  A preprocessor macro,
+#      <target_name>_EXPORTS is defined when a shared library compilation is
+#      detected.
+#
+#      Flags passed into add_definitions with -D or /D are passed along to nvcc.
+#
+#
+#
+# The script defines the following variables::
+#
+#   CUDA_VERSION_MAJOR    -- The major version of cuda as reported by nvcc.
+#   CUDA_VERSION_MINOR    -- The minor version.
+#   CUDA_VERSION
+#   CUDA_VERSION_STRING   -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR
+#   CUDA_HAS_FP16         -- Whether a short float (float16,fp16) is supported.
+#
+#   CUDA_TOOLKIT_ROOT_DIR -- Path to the CUDA Toolkit (defined if not set).
+#   CUDA_SDK_ROOT_DIR     -- Path to the CUDA SDK.  Use this to find files in the
+#                            SDK.  This script will not directly support finding
+#                            specific libraries or headers, as that isn't
+#                            supported by NVIDIA.  If you want to change
+#                            libraries when the path changes see the
+#                            FindCUDA.cmake script for an example of how to clear
+#                            these variables.  There are also examples of how to
+#                            use the CUDA_SDK_ROOT_DIR to locate headers or
+#                            libraries, if you so choose (at your own risk).
+#   CUDA_INCLUDE_DIRS     -- Include directory for cuda headers.  Added automatically
+#                            for CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY.
+#   CUDA_LIBRARIES        -- Cuda RT library.
+#   CUDA_CUFFT_LIBRARIES  -- Device or emulation library for the Cuda FFT
+#                            implementation (alternative to:
+#                            CUDA_ADD_CUFFT_TO_TARGET macro)
+#   CUDA_CUBLAS_LIBRARIES -- Device or emulation library for the Cuda BLAS
+#                            implementation (alternative to:
+#                            CUDA_ADD_CUBLAS_TO_TARGET macro).
+#   CUDA_cudart_static_LIBRARY -- Statically linkable cuda runtime library.
+#                                 Only available for CUDA version 5.5+
+#   CUDA_cudadevrt_LIBRARY -- Device runtime library.
+#                             Required for separable compilation.
+#   CUDA_cupti_LIBRARY    -- CUDA Profiling Tools Interface library.
+#                            Only available for CUDA version 4.0+.
+#   CUDA_curand_LIBRARY   -- CUDA Random Number Generation library.
+#                            Only available for CUDA version 3.2+.
+#   CUDA_cusolver_LIBRARY -- CUDA Direct Solver library.
+#                            Only available for CUDA version 7.0+.
+#   CUDA_cusparse_LIBRARY -- CUDA Sparse Matrix library.
+#                            Only available for CUDA version 3.2+.
+#   CUDA_npp_LIBRARY      -- NVIDIA Performance Primitives lib.
+#                            Only available for CUDA version 4.0+.
+#   CUDA_nppc_LIBRARY     -- NVIDIA Performance Primitives lib (core).
+#                            Only available for CUDA version 5.5+.
+#   CUDA_nppi_LIBRARY     -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 5.5 - 8.0.
+#   CUDA_nppial_LIBRARY   -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppicc_LIBRARY   -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppicom_LIBRARY  -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppidei_LIBRARY  -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppif_LIBRARY    -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppig_LIBRARY    -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppim_LIBRARY    -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppist_LIBRARY   -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppisu_LIBRARY   -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_nppitc_LIBRARY   -- NVIDIA Performance Primitives lib (image processing).
+#                            Only available for CUDA version 9.0.
+#   CUDA_npps_LIBRARY     -- NVIDIA Performance Primitives lib (signal processing).
+#                            Only available for CUDA version 5.5+.
+#   CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library.
+#                            Only available for CUDA version 3.2+.
+#                            Windows only.
+#   CUDA_nvcuvid_LIBRARY  -- CUDA Video Decoder library.
+#                            Only available for CUDA version 3.2+.
+#                            Windows only.
+#
+
+#   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.
+#
+###############################################################################
+
+# FindCUDA.cmake
+
+# This macro helps us find the location of helper files we will need the full path to
+macro(CUDA_FIND_HELPER_FILE _name _extension)
+  set(_full_name "${_name}.${_extension}")
+  # CMAKE_CURRENT_LIST_FILE contains the full path to the file currently being
+  # processed.  Using this variable, we can pull out the current path, and
+  # provide a way to get access to the other files we need local to here.
+  get_filename_component(CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+  set(CUDA_${_name} "${CMAKE_CURRENT_LIST_DIR}/FindCUDA/${_full_name}")
+  if(NOT EXISTS "${CUDA_${_name}}")
+    set(error_message "${_full_name} not found in ${CMAKE_CURRENT_LIST_DIR}/FindCUDA")
+    if(CUDA_FIND_REQUIRED)
+      message(FATAL_ERROR "${error_message}")
+    else()
+      if(NOT CUDA_FIND_QUIETLY)
+        message(STATUS "${error_message}")
+      endif()
+    endif()
+  endif()
+  # Set this variable as internal, so the user isn't bugged with it.
+  set(CUDA_${_name} ${CUDA_${_name}} CACHE INTERNAL "Location of ${_full_name}" FORCE)
+endmacro()
+
+#####################################################################
+## CUDA_INCLUDE_NVCC_DEPENDENCIES
+##
+
+# So we want to try and include the dependency file if it exists.  If
+# it doesn't exist then we need to create an empty one, so we can
+# include it.
+
+# If it does exist, then we need to check to see if all the files it
+# depends on exist.  If they don't then we should clear the dependency
+# file and regenerate it later.  This covers the case where a header
+# file has disappeared or moved.
+
+macro(CUDA_INCLUDE_NVCC_DEPENDENCIES dependency_file)
+  set(CUDA_NVCC_DEPEND)
+  set(CUDA_NVCC_DEPEND_REGENERATE FALSE)
+
+
+  # Include the dependency file.  Create it first if it doesn't exist .  The
+  # INCLUDE puts a dependency that will force CMake to rerun and bring in the
+  # new info when it changes.  DO NOT REMOVE THIS (as I did and spent a few
+  # hours figuring out why it didn't work.
+  if(NOT EXISTS ${dependency_file})
+    file(WRITE ${dependency_file} "#FindCUDA.cmake generated file.  Do not edit.\n")
+  endif()
+  # Always include this file to force CMake to run again next
+  # invocation and rebuild the dependencies.
+  #message("including dependency_file = ${dependency_file}")
+  include(${dependency_file})
+
+  # Now we need to verify the existence of all the included files
+  # here.  If they aren't there we need to just blank this variable and
+  # make the file regenerate again.
+#   if(DEFINED CUDA_NVCC_DEPEND)
+#     message("CUDA_NVCC_DEPEND set")
+#   else()
+#     message("CUDA_NVCC_DEPEND NOT set")
+#   endif()
+  if(CUDA_NVCC_DEPEND)
+    #message("CUDA_NVCC_DEPEND found")
+    foreach(f ${CUDA_NVCC_DEPEND})
+      # message("searching for ${f}")
+      if(NOT EXISTS ${f})
+        #message("file ${f} not found")
+        set(CUDA_NVCC_DEPEND_REGENERATE TRUE)
+      endif()
+    endforeach()
+  else()
+    #message("CUDA_NVCC_DEPEND false")
+    # No dependencies, so regenerate the file.
+    set(CUDA_NVCC_DEPEND_REGENERATE TRUE)
+  endif()
+
+  #message("CUDA_NVCC_DEPEND_REGENERATE = ${CUDA_NVCC_DEPEND_REGENERATE}")
+  # No incoming dependencies, so we need to generate them.  Make the
+  # output depend on the dependency file itself, which should cause the
+  # rule to re-run.
+  if(CUDA_NVCC_DEPEND_REGENERATE)
+    set(CUDA_NVCC_DEPEND ${dependency_file})
+    #message("Generating an empty dependency_file: ${dependency_file}")
+    file(WRITE ${dependency_file} "#FindCUDA.cmake generated file.  Do not edit.\n")
+  endif()
+
+endmacro()
+
+###############################################################################
+###############################################################################
+# Setup variables' defaults
+###############################################################################
+###############################################################################
+
+# Allow the user to specify if the device code is supposed to be 32 or 64 bit.
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(CUDA_64_BIT_DEVICE_CODE_DEFAULT ON)
+else()
+  set(CUDA_64_BIT_DEVICE_CODE_DEFAULT OFF)
+endif()
+option(CUDA_64_BIT_DEVICE_CODE "Compile device code in 64 bit mode" ${CUDA_64_BIT_DEVICE_CODE_DEFAULT})
+
+# Attach the build rule to the source file in VS.  This option
+option(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE "Attach the build rule to the CUDA source file.  Enable only when the CUDA source file is added to at most one target." ON)
+
+# Prints out extra information about the cuda file during compilation
+option(CUDA_BUILD_CUBIN "Generate and parse .cubin files in Device mode." OFF)
+
+# Set whether we are using emulation or device mode.
+option(CUDA_BUILD_EMULATION "Build in Emulation mode" OFF)
+
+# Where to put the generated output.
+set(CUDA_GENERATED_OUTPUT_DIR "" CACHE PATH "Directory to put all the output files.  If blank it will default to the CMAKE_CURRENT_BINARY_DIR")
+
+# Parse HOST_COMPILATION mode.
+option(CUDA_HOST_COMPILATION_CPP "Generated file extension" ON)
+
+# Extra user settable flags
+set(CUDA_NVCC_FLAGS "" CACHE STRING "Semi-colon delimit multiple arguments.")
+
+if(CMAKE_GENERATOR MATCHES "Visual Studio")
+  set(CUDA_HOST_COMPILER "$(VCInstallDir)bin" CACHE FILEPATH "Host side compiler used by NVCC")
+else()
+  if(APPLE
+      AND "${CMAKE_C_COMPILER_ID}" MATCHES "Clang"
+      AND "${CMAKE_C_COMPILER}" MATCHES "/cc$")
+    # Using cc which is symlink to clang may let NVCC think it is GCC and issue
+    # unhandled -dumpspecs option to clang. Also in case neither
+    # CMAKE_C_COMPILER is defined (project does not use C language) nor
+    # CUDA_HOST_COMPILER is specified manually we should skip -ccbin and let
+    # nvcc use its own default C compiler.
+    # Only care about this on APPLE with clang to avoid
+    # following symlinks to things like ccache
+    if(DEFINED CMAKE_C_COMPILER AND NOT DEFINED CUDA_HOST_COMPILER)
+      get_filename_component(c_compiler_realpath "${CMAKE_C_COMPILER}" REALPATH)
+      # if the real path does not end up being clang then
+      # go back to using CMAKE_C_COMPILER
+      if(NOT "${c_compiler_realpath}" MATCHES "/clang$")
+        set(c_compiler_realpath "${CMAKE_C_COMPILER}")
+      endif()
+    else()
+      set(c_compiler_realpath "")
+    endif()
+    set(CUDA_HOST_COMPILER "${c_compiler_realpath}" CACHE FILEPATH "Host side compiler used by NVCC")
+  else()
+    set(CUDA_HOST_COMPILER "${CMAKE_C_COMPILER}"
+      CACHE FILEPATH "Host side compiler used by NVCC")
+  endif()
+endif()
+
+# Propagate the host flags to the host compiler via -Xcompiler
+option(CUDA_PROPAGATE_HOST_FLAGS "Propage C/CXX_FLAGS and friends to the host compiler via -Xcompile" ON)
+
+# Enable CUDA_SEPARABLE_COMPILATION
+option(CUDA_SEPARABLE_COMPILATION "Compile CUDA objects with separable compilation enabled.  Requires CUDA 5.0+" OFF)
+
+# Specifies whether the commands used when compiling the .cu file will be printed out.
+option(CUDA_VERBOSE_BUILD "Print out the commands run while compiling the CUDA source file.  With the Makefile generator this defaults to VERBOSE variable specified on the command line, but can be forced on with this option." OFF)
+
+mark_as_advanced(
+  CUDA_64_BIT_DEVICE_CODE
+  CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE
+  CUDA_GENERATED_OUTPUT_DIR
+  CUDA_HOST_COMPILATION_CPP
+  CUDA_NVCC_FLAGS
+  CUDA_PROPAGATE_HOST_FLAGS
+  CUDA_BUILD_CUBIN
+  CUDA_BUILD_EMULATION
+  CUDA_VERBOSE_BUILD
+  CUDA_SEPARABLE_COMPILATION
+  )
+
+# Makefile and similar generators don't define CMAKE_CONFIGURATION_TYPES, so we
+# need to add another entry for the CMAKE_BUILD_TYPE.  We also need to add the
+# standerd set of 4 build types (Debug, MinSizeRel, Release, and RelWithDebInfo)
+# for completeness.  We need run this loop in order to accomodate the addition
+# of extra configuration types.  Duplicate entries will be removed by
+# REMOVE_DUPLICATES.
+set(CUDA_configuration_types ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE} Debug MinSizeRel Release RelWithDebInfo)
+list(REMOVE_DUPLICATES CUDA_configuration_types)
+foreach(config ${CUDA_configuration_types})
+    string(TOUPPER ${config} config_upper)
+    set(CUDA_NVCC_FLAGS_${config_upper} "" CACHE STRING "Semi-colon delimit multiple arguments.")
+    mark_as_advanced(CUDA_NVCC_FLAGS_${config_upper})
+endforeach()
+
+###############################################################################
+###############################################################################
+# Locate CUDA, Set Build Type, etc.
+###############################################################################
+###############################################################################
+
+macro(cuda_unset_include_and_libraries)
+  unset(CUDA_TOOLKIT_INCLUDE CACHE)
+  unset(CUDA_CUDART_LIBRARY CACHE)
+  unset(CUDA_CUDA_LIBRARY CACHE)
+  # Make sure you run this before you unset CUDA_VERSION.
+  if(CUDA_VERSION VERSION_EQUAL "3.0")
+    # This only existed in the 3.0 version of the CUDA toolkit
+    unset(CUDA_CUDARTEMU_LIBRARY CACHE)
+  endif()
+  unset(CUDA_cudart_static_LIBRARY CACHE)
+  unset(CUDA_cudadevrt_LIBRARY CACHE)
+  unset(CUDA_cublas_LIBRARY CACHE)
+  unset(CUDA_cublas_device_LIBRARY CACHE)
+  unset(CUDA_cublasemu_LIBRARY CACHE)
+  unset(CUDA_cufft_LIBRARY CACHE)
+  unset(CUDA_cufftemu_LIBRARY CACHE)
+  unset(CUDA_cupti_LIBRARY CACHE)
+  unset(CUDA_curand_LIBRARY CACHE)
+  unset(CUDA_cusolver_LIBRARY CACHE)
+  unset(CUDA_cusparse_LIBRARY CACHE)
+  unset(CUDA_npp_LIBRARY CACHE)
+  unset(CUDA_nppc_LIBRARY CACHE)
+  unset(CUDA_nppi_LIBRARY CACHE)
+  unset(CUDA_npps_LIBRARY CACHE)
+  unset(CUDA_nvcuvenc_LIBRARY CACHE)
+  unset(CUDA_nvcuvid_LIBRARY CACHE)
+  unset(CUDA_GPU_DETECT_OUTPUT CACHE)
+endmacro()
+
+# Check to see if the CUDA_TOOLKIT_ROOT_DIR and CUDA_SDK_ROOT_DIR have changed,
+# if they have then clear the cache variables, so that will be detected again.
+if(NOT "${CUDA_TOOLKIT_ROOT_DIR}" STREQUAL "${CUDA_TOOLKIT_ROOT_DIR_INTERNAL}")
+  unset(CUDA_TOOLKIT_TARGET_DIR CACHE)
+  unset(CUDA_NVCC_EXECUTABLE CACHE)
+  cuda_unset_include_and_libraries()
+  unset(CUDA_VERSION CACHE)
+endif()
+
+if(NOT "${CUDA_TOOLKIT_TARGET_DIR}" STREQUAL "${CUDA_TOOLKIT_TARGET_DIR_INTERNAL}")
+  cuda_unset_include_and_libraries()
+endif()
+
+#
+#  End of unset()
+#
+
+#
+#  Start looking for things
+#
+
+# 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
+    NAMES nvcc nvcc.exe
+    PATHS
+      ENV CUDA_TOOLKIT_ROOT
+      ENV CUDA_PATH
+      ENV CUDA_BIN_PATH
+    PATH_SUFFIXES bin bin64
+    DOC "Toolkit location."
+    NO_DEFAULT_PATH
+    )
+
+  # Now search default paths
+  find_path(CUDA_TOOLKIT_ROOT_DIR
+    NAMES nvcc nvcc.exe
+    PATHS /opt/cuda/bin
+          /usr/local/bin
+          /usr/local/cuda/bin
+    DOC "Toolkit location."
+    )
+
+  if (CUDA_TOOLKIT_ROOT_DIR)
+    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()
+
+  if (NOT EXISTS ${CUDA_TOOLKIT_ROOT_DIR})
+    if(CUDA_FIND_REQUIRED)
+      message(FATAL_ERROR "Specify CUDA_TOOLKIT_ROOT_DIR")
+    elseif(NOT CUDA_FIND_QUIETLY)
+      message("CUDA_TOOLKIT_ROOT_DIR not found or specified")
+    endif()
+  endif ()
+endif ()
+
+if(CMAKE_CROSSCOMPILING)
+  SET (CUDA_TOOLKIT_ROOT $ENV{CUDA_TOOLKIT_ROOT})
+  if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a")
+    # Support for NVPACK
+    set (CUDA_TOOLKIT_TARGET_NAME "armv7-linux-androideabi")
+  elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
+    # Support for arm cross compilation
+    set(CUDA_TOOLKIT_TARGET_NAME "armv7-linux-gnueabihf")
+  elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+    # Support for aarch64 cross compilation
+    if (ANDROID_ARCH_NAME STREQUAL "arm64")
+      set(CUDA_TOOLKIT_TARGET_NAME "aarch64-linux-androideabi")
+    else()
+      set(CUDA_TOOLKIT_TARGET_NAME "aarch64-linux")
+    endif (ANDROID_ARCH_NAME STREQUAL "arm64")
+  endif()
+
+  if (EXISTS "${CUDA_TOOLKIT_ROOT}/targets/${CUDA_TOOLKIT_TARGET_NAME}")
+    set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT}/targets/${CUDA_TOOLKIT_TARGET_NAME}" CACHE PATH "CUDA Toolkit target location.")
+    SET (CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT})
+    mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
+  endif()
+
+  # add known CUDA targetr root path to the set of directories we search for programs, libraries and headers
+  set( CMAKE_FIND_ROOT_PATH "${CUDA_TOOLKIT_TARGET_DIR};${CMAKE_FIND_ROOT_PATH}")
+  macro( cuda_find_host_program )
+    if (COMMAND find_host_program)
+      find_host_program( ${ARGN} )
+    else()
+      find_program( ${ARGN} )
+    endif()
+  endmacro()
+else()
+  # for non-cross-compile, find_host_program == find_program and CUDA_TOOLKIT_TARGET_DIR == CUDA_TOOLKIT_ROOT_DIR
+  macro( cuda_find_host_program )
+    find_program( ${ARGN} )
+  endmacro()
+  SET (CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR})
+endif()
+
+
+# CUDA_NVCC_EXECUTABLE
+cuda_find_host_program(CUDA_NVCC_EXECUTABLE
+  NAMES nvcc
+  PATHS "${CUDA_TOOLKIT_ROOT_DIR}"
+  ENV CUDA_PATH
+  ENV CUDA_BIN_PATH
+  PATH_SUFFIXES bin bin64
+  NO_DEFAULT_PATH
+  )
+# Search default search paths, after we search our own set of paths.
+cuda_find_host_program(CUDA_NVCC_EXECUTABLE nvcc)
+mark_as_advanced(CUDA_NVCC_EXECUTABLE)
+
+if(CUDA_NVCC_EXECUTABLE AND NOT CUDA_VERSION)
+  # Compute the version.
+  execute_process (COMMAND ${CUDA_NVCC_EXECUTABLE} "--version" OUTPUT_VARIABLE NVCC_OUT)
+  string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\1" CUDA_VERSION_MAJOR ${NVCC_OUT})
+  string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR ${NVCC_OUT})
+  set(CUDA_VERSION "${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}" CACHE STRING "Version of CUDA as computed from nvcc.")
+  mark_as_advanced(CUDA_VERSION)
+else()
+  # Need to set these based off of the cached value
+  string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\1" CUDA_VERSION_MAJOR "${CUDA_VERSION}")
+  string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR "${CUDA_VERSION}")
+endif()
+
+
+# Always set this convenience variable
+set(CUDA_VERSION_STRING "${CUDA_VERSION}")
+
+# CUDA_TOOLKIT_INCLUDE
+find_path(CUDA_TOOLKIT_INCLUDE
+  device_functions.h # Header included in toolkit
+  PATHS ${CUDA_TOOLKIT_TARGET_DIR}
+  ENV CUDA_PATH
+  ENV CUDA_INC_PATH
+  PATH_SUFFIXES include
+  NO_DEFAULT_PATH
+  )
+# Search default search paths, after we search our own set of paths.
+find_path(CUDA_TOOLKIT_INCLUDE device_functions.h)
+mark_as_advanced(CUDA_TOOLKIT_INCLUDE)
+
+if (CUDA_VERSION VERSION_GREATER "7.0" OR EXISTS "${CUDA_TOOLKIT_INCLUDE}/cuda_fp16.h")
+  set(CUDA_HAS_FP16 TRUE)
+else()
+  set(CUDA_HAS_FP16 FALSE)
+endif()
+
+# Set the user list of include dir to nothing to initialize it.
+set (CUDA_NVCC_INCLUDE_DIRS_USER "")
+set (CUDA_INCLUDE_DIRS ${CUDA_TOOLKIT_INCLUDE})
+
+macro(cuda_find_library_local_first_with_path_ext _var _names _doc _path_ext )
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    # CUDA 3.2+ on Windows moved the library directories, so we need the new
+    # and old paths.
+    set(_cuda_64bit_lib_dir "${_path_ext}lib/x64" "${_path_ext}lib64" "${_path_ext}libx64" )
+  endif()
+  # CUDA 3.2+ on Windows moved the library directories, so we need to new
+  # (lib/Win32) and the old path (lib).
+  find_library(${_var}
+    NAMES ${_names}
+    PATHS "${CUDA_TOOLKIT_TARGET_DIR}"
+    ENV CUDA_PATH
+    ENV CUDA_LIB_PATH
+    PATH_SUFFIXES ${_cuda_64bit_lib_dir} "${_path_ext}lib/Win32" "${_path_ext}lib" "${_path_ext}libWin32"
+    DOC ${_doc}
+    NO_DEFAULT_PATH
+    )
+  if (NOT CMAKE_CROSSCOMPILING)
+    # Search default search paths, after we search our own set of paths.
+    find_library(${_var}
+      NAMES ${_names}
+      PATHS "/usr/lib/nvidia-current"
+      DOC ${_doc}
+      )
+  endif()
+endmacro()
+
+macro(cuda_find_library_local_first _var _names _doc)
+  cuda_find_library_local_first_with_path_ext( "${_var}" "${_names}" "${_doc}" "" )
+endmacro()
+
+macro(find_library_local_first _var _names _doc )
+  cuda_find_library_local_first( "${_var}" "${_names}" "${_doc}" "" )
+endmacro()
+
+
+# CUDA_LIBRARIES
+cuda_find_library_local_first(CUDA_CUDART_LIBRARY cudart "\"cudart\" library")
+if(CUDA_VERSION VERSION_EQUAL "3.0")
+  # The cudartemu library only existed for the 3.0 version of CUDA.
+  cuda_find_library_local_first(CUDA_CUDARTEMU_LIBRARY cudartemu "\"cudartemu\" library")
+  mark_as_advanced(
+    CUDA_CUDARTEMU_LIBRARY
+    )
+endif()
+
+if(NOT CUDA_VERSION VERSION_LESS "5.5")
+  cuda_find_library_local_first(CUDA_cudart_static_LIBRARY cudart_static "static CUDA runtime library")
+  mark_as_advanced(CUDA_cudart_static_LIBRARY)
+endif()
+
+
+if(CUDA_cudart_static_LIBRARY)
+  # If static cudart available, use it by default, but provide a user-visible option to disable it.
+  option(CUDA_USE_STATIC_CUDA_RUNTIME "Use the static version of the CUDA runtime library if available" ON)
+else()
+  # If not available, silently disable the option.
+  set(CUDA_USE_STATIC_CUDA_RUNTIME OFF CACHE INTERNAL "")
+endif()
+
+if(CUDA_USE_STATIC_CUDA_RUNTIME)
+  set(CUDA_CUDART_LIBRARY_VAR CUDA_cudart_static_LIBRARY)
+else()
+  set(CUDA_CUDART_LIBRARY_VAR CUDA_CUDART_LIBRARY)
+endif()
+
+if(NOT CUDA_VERSION VERSION_LESS "5.0")
+  cuda_find_library_local_first(CUDA_cudadevrt_LIBRARY cudadevrt "\"cudadevrt\" library")
+  mark_as_advanced(CUDA_cudadevrt_LIBRARY)
+endif()
+
+if(CUDA_USE_STATIC_CUDA_RUNTIME)
+  if(UNIX)
+    # Check for the dependent libraries.  Here we look for pthreads.
+    if (DEFINED CMAKE_THREAD_PREFER_PTHREAD)
+      set(_cuda_cmake_thread_prefer_pthread ${CMAKE_THREAD_PREFER_PTHREAD})
+    endif()
+    set(CMAKE_THREAD_PREFER_PTHREAD 1)
+
+    # Many of the FindXYZ CMake comes with makes use of try_compile with int main(){return 0;}
+    # as the source file.  Unfortunately this causes a warning with -Wstrict-prototypes and
+    # -Werror causes the try_compile to fail.  We will just temporarily disable other flags
+    # when doing the find_package command here.
+    set(_cuda_cmake_c_flags ${CMAKE_C_FLAGS})
+    set(CMAKE_C_FLAGS "-fPIC")
+    find_package(Threads REQUIRED)
+    set(CMAKE_C_FLAGS ${_cuda_cmake_c_flags})
+
+    if (DEFINED _cuda_cmake_thread_prefer_pthread)
+      set(CMAKE_THREAD_PREFER_PTHREAD ${_cuda_cmake_thread_prefer_pthread})
+      unset(_cuda_cmake_thread_prefer_pthread)
+    else()
+      unset(CMAKE_THREAD_PREFER_PTHREAD)
+    endif()
+
+    if(NOT APPLE)
+      #On Linux, you must link against librt when using the static cuda runtime.
+      find_library(CUDA_rt_LIBRARY rt)
+      if (NOT CUDA_rt_LIBRARY)
+        message(WARNING "Expecting to find librt for libcudart_static, but didn't find it.")
+      endif()
+    endif()
+  endif()
+endif()
+
+# CUPTI library showed up in cuda toolkit 4.0
+if(NOT CUDA_VERSION VERSION_LESS "4.0")
+  cuda_find_library_local_first_with_path_ext(CUDA_cupti_LIBRARY cupti "\"cupti\" library" "extras/CUPTI/")
+  mark_as_advanced(CUDA_cupti_LIBRARY)
+endif()
+
+# Set the CUDA_LIBRARIES variable.  This is the set of stuff to link against if you are
+# using the CUDA runtime.  For the dynamic version of the runtime, most of the
+# dependencies are brough in, but for the static version there are additional libraries
+# and linker commands needed.
+# Initialize to empty
+set(CUDA_LIBRARIES)
+
+# If we are using emulation mode and we found the cudartemu library then use
+# that one instead of cudart.
+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})
+  if (CUDA_rt_LIBRARY)
+    list(APPEND CUDA_LIBRARIES ${CUDA_rt_LIBRARY})
+  endif()
+  if(APPLE)
+    # We need to add the default path to the driver (libcuda.dylib) as an rpath, so that
+    # the static cuda runtime can find it at runtime.
+    list(APPEND CUDA_LIBRARIES -Wl,-rpath,/usr/local/cuda/lib)
+  endif()
+else()
+  list(APPEND CUDA_LIBRARIES ${CUDA_CUDART_LIBRARY})
+endif()
+
+# 1.1 toolkit on linux doesn't appear to have a separate library on
+# some platforms.
+cuda_find_library_local_first(CUDA_CUDA_LIBRARY cuda "\"cuda\" library (older versions only).")
+
+mark_as_advanced(
+  CUDA_CUDA_LIBRARY
+  CUDA_CUDART_LIBRARY
+  )
+
+#######################
+# Look for some of the toolkit helper libraries
+macro(FIND_CUDA_HELPER_LIBS _name)
+  cuda_find_library_local_first(CUDA_${_name}_LIBRARY ${_name} "\"${_name}\" library")
+  mark_as_advanced(CUDA_${_name}_LIBRARY)
+endmacro()
+
+#######################
+# Disable emulation for v3.1 onward
+if(CUDA_VERSION VERSION_GREATER "3.0")
+  if(CUDA_BUILD_EMULATION)
+    message(FATAL_ERROR "CUDA_BUILD_EMULATION is not supported in version 3.1 and onwards.  You must disable it to proceed.  You have version ${CUDA_VERSION}.")
+  endif()
+endif()
+
+# Search for additional CUDA toolkit libraries.
+if(CUDA_VERSION VERSION_LESS "3.1")
+  # Emulation libraries aren't available in version 3.1 onward.
+  find_cuda_helper_libs(cufftemu)
+  find_cuda_helper_libs(cublasemu)
+endif()
+find_cuda_helper_libs(cufft)
+find_cuda_helper_libs(cublas)
+if(NOT CUDA_VERSION VERSION_LESS "3.2")
+  # cusparse showed up in version 3.2
+  find_cuda_helper_libs(cusparse)
+  find_cuda_helper_libs(curand)
+  if (WIN32)
+    find_cuda_helper_libs(nvcuvenc)
+    find_cuda_helper_libs(nvcuvid)
+  endif()
+endif()
+if(CUDA_VERSION VERSION_GREATER "5.0")
+  find_cuda_helper_libs(cublas_device)
+endif()
+
+if(NOT CUDA_VERSION VERSION_LESS "9.0")
+  # In CUDA 9.0 NPP was nppi was removed
+  find_cuda_helper_libs(nppc)
+  find_cuda_helper_libs(nppial)
+  find_cuda_helper_libs(nppicc)
+  find_cuda_helper_libs(nppicom)
+  find_cuda_helper_libs(nppidei)
+  find_cuda_helper_libs(nppif)
+  find_cuda_helper_libs(nppig)
+  find_cuda_helper_libs(nppim)
+  find_cuda_helper_libs(nppist)
+  find_cuda_helper_libs(nppisu)
+  find_cuda_helper_libs(nppitc)
+  find_cuda_helper_libs(npps)
+  set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")
+elseif(CUDA_VERSION VERSION_GREATER "5.0")
+  # In CUDA 5.5 NPP was splitted onto 3 separate libraries.
+  find_cuda_helper_libs(nppc)
+  find_cuda_helper_libs(nppi)
+  find_cuda_helper_libs(npps)
+  set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")
+elseif(NOT CUDA_VERSION VERSION_LESS "4.0")
+  find_cuda_helper_libs(npp)
+endif()
+if(NOT CUDA_VERSION VERSION_LESS "7.0")
+  # cusolver showed up in version 7.0
+  find_cuda_helper_libs(cusolver)
+endif()
+
+if (CUDA_BUILD_EMULATION)
+  set(CUDA_CUFFT_LIBRARIES ${CUDA_cufftemu_LIBRARY})
+  set(CUDA_CUBLAS_LIBRARIES ${CUDA_cublasemu_LIBRARY})
+else()
+  set(CUDA_CUFFT_LIBRARIES ${CUDA_cufft_LIBRARY})
+  set(CUDA_CUBLAS_LIBRARIES ${CUDA_cublas_LIBRARY} ${CUDA_cublas_device_LIBRARY})
+endif()
+
+########################
+# Look for the SDK stuff.  As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
+# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
+find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
+ HINTS
+  "$ENV{NVSDKCOMPUTE_ROOT}/C"
+  ENV NVSDKCUDA_ROOT
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
+ PATHS
+  "/Developer/GPU\ Computing/C"
+  )
+
+# Keep the CUDA_SDK_ROOT_DIR first in order to be able to override the
+# environment variables.
+set(CUDA_SDK_SEARCH_PATH
+  "${CUDA_SDK_ROOT_DIR}"
+  "${CUDA_TOOLKIT_ROOT_DIR}/local/NVSDK0.2"
+  "${CUDA_TOOLKIT_ROOT_DIR}/NVSDK0.2"
+  "${CUDA_TOOLKIT_ROOT_DIR}/NV_CUDA_SDK"
+  "$ENV{HOME}/NVIDIA_CUDA_SDK"
+  "$ENV{HOME}/NVIDIA_CUDA_SDK_MACOSX"
+  "/Developer/CUDA"
+  )
+
+# Example of how to find an include file from the CUDA_SDK_ROOT_DIR
+
+# find_path(CUDA_CUT_INCLUDE_DIR
+#   cutil.h
+#   PATHS ${CUDA_SDK_SEARCH_PATH}
+#   PATH_SUFFIXES "common/inc"
+#   DOC "Location of cutil.h"
+#   NO_DEFAULT_PATH
+#   )
+# # Now search system paths
+# find_path(CUDA_CUT_INCLUDE_DIR cutil.h DOC "Location of cutil.h")
+
+# mark_as_advanced(CUDA_CUT_INCLUDE_DIR)
+
+
+# Example of how to find a library in the CUDA_SDK_ROOT_DIR
+
+# # cutil library is called cutil64 for 64 bit builds on windows.  We don't want
+# # to get these confused, so we are setting the name based on the word size of
+# # the build.
+
+# if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+#   set(cuda_cutil_name cutil64)
+# else()
+#   set(cuda_cutil_name cutil32)
+# endif()
+
+# find_library(CUDA_CUT_LIBRARY
+#   NAMES cutil ${cuda_cutil_name}
+#   PATHS ${CUDA_SDK_SEARCH_PATH}
+#   # The new version of the sdk shows up in common/lib, but the old one is in lib
+#   PATH_SUFFIXES "common/lib" "lib"
+#   DOC "Location of cutil library"
+#   NO_DEFAULT_PATH
+#   )
+# # Now search system paths
+# find_library(CUDA_CUT_LIBRARY NAMES cutil ${cuda_cutil_name} DOC "Location of cutil library")
+# mark_as_advanced(CUDA_CUT_LIBRARY)
+# set(CUDA_CUT_LIBRARIES ${CUDA_CUT_LIBRARY})
+
+
+
+#############################
+# Check for required components
+set(CUDA_FOUND TRUE)
+
+set(CUDA_TOOLKIT_ROOT_DIR_INTERNAL "${CUDA_TOOLKIT_ROOT_DIR}" CACHE INTERNAL
+  "This is the value of the last time CUDA_TOOLKIT_ROOT_DIR was set successfully." FORCE)
+set(CUDA_TOOLKIT_TARGET_DIR_INTERNAL "${CUDA_TOOLKIT_TARGET_DIR}" CACHE INTERNAL
+  "This is the value of the last time CUDA_TOOLKIT_TARGET_DIR was set successfully." FORCE)
+set(CUDA_SDK_ROOT_DIR_INTERNAL "${CUDA_SDK_ROOT_DIR}" CACHE INTERNAL
+  "This is the value of the last time CUDA_SDK_ROOT_DIR was set successfully." FORCE)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+find_package_handle_standard_args(CUDA
+  REQUIRED_VARS
+    CUDA_TOOLKIT_ROOT_DIR
+    CUDA_NVCC_EXECUTABLE
+    CUDA_INCLUDE_DIRS
+    ${CUDA_CUDART_LIBRARY_VAR}
+  VERSION_VAR
+    CUDA_VERSION
+  )
+
+
+
+###############################################################################
+###############################################################################
+# Macros
+###############################################################################
+###############################################################################
+
+###############################################################################
+# Add include directories to pass to the nvcc command.
+macro(CUDA_INCLUDE_DIRECTORIES)
+  foreach(dir ${ARGN})
+    list(APPEND CUDA_NVCC_INCLUDE_DIRS_USER ${dir})
+  endforeach()
+endmacro()
+
+
+##############################################################################
+cuda_find_helper_file(parse_cubin cmake)
+cuda_find_helper_file(make2cmake cmake)
+cuda_find_helper_file(run_nvcc cmake)
+include("${CMAKE_CURRENT_LIST_DIR}/FindCUDA/select_compute_arch.cmake")
+
+##############################################################################
+# Separate the OPTIONS out from the sources
+#
+macro(CUDA_GET_SOURCES_AND_OPTIONS _sources _cmake_options _options)
+  set( ${_sources} )
+  set( ${_cmake_options} )
+  set( ${_options} )
+  set( _found_options FALSE )
+  foreach(arg ${ARGN})
+    if("x${arg}" STREQUAL "xOPTIONS")
+      set( _found_options TRUE )
+    elseif(
+        "x${arg}" STREQUAL "xWIN32" OR
+        "x${arg}" STREQUAL "xMACOSX_BUNDLE" OR
+        "x${arg}" STREQUAL "xEXCLUDE_FROM_ALL" OR
+        "x${arg}" STREQUAL "xSTATIC" OR
+        "x${arg}" STREQUAL "xSHARED" OR
+        "x${arg}" STREQUAL "xMODULE"
+        )
+      list(APPEND ${_cmake_options} ${arg})
+    else()
+      if ( _found_options )
+        list(APPEND ${_options} ${arg})
+      else()
+        # Assume this is a file
+        list(APPEND ${_sources} ${arg})
+      endif()
+    endif()
+  endforeach()
+endmacro()
+
+##############################################################################
+# Parse the OPTIONS from ARGN and set the variables prefixed by _option_prefix
+#
+macro(CUDA_PARSE_NVCC_OPTIONS _option_prefix)
+  set( _found_config )
+  foreach(arg ${ARGN})
+    # Determine if we are dealing with a perconfiguration flag
+    foreach(config ${CUDA_configuration_types})
+      string(TOUPPER ${config} config_upper)
+      if (arg STREQUAL "${config_upper}")
+        set( _found_config _${arg})
+        # Set arg to nothing to keep it from being processed further
+        set( arg )
+      endif()
+    endforeach()
+
+    if ( arg )
+      list(APPEND ${_option_prefix}${_found_config} "${arg}")
+    endif()
+  endforeach()
+endmacro()
+
+##############################################################################
+# Helper to add the include directory for CUDA only once
+function(CUDA_ADD_CUDA_INCLUDE_ONCE)
+  get_directory_property(_include_directories INCLUDE_DIRECTORIES)
+  set(_add TRUE)
+  if(_include_directories)
+    foreach(dir ${_include_directories})
+      if("${dir}" STREQUAL "${CUDA_INCLUDE_DIRS}")
+        set(_add FALSE)
+      endif()
+    endforeach()
+  endif()
+  if(_add)
+    include_directories(${CUDA_INCLUDE_DIRS})
+  endif()
+endfunction()
+
+function(CUDA_BUILD_SHARED_LIBRARY shared_flag)
+  set(cmake_args ${ARGN})
+  # If SHARED, MODULE, or STATIC aren't already in the list of arguments, then
+  # add SHARED or STATIC based on the value of BUILD_SHARED_LIBS.
+  list(FIND cmake_args SHARED _cuda_found_SHARED)
+  list(FIND cmake_args MODULE _cuda_found_MODULE)
+  list(FIND cmake_args STATIC _cuda_found_STATIC)
+  if( _cuda_found_SHARED GREATER -1 OR
+      _cuda_found_MODULE GREATER -1 OR
+      _cuda_found_STATIC GREATER -1)
+    set(_cuda_build_shared_libs)
+  else()
+    if (BUILD_SHARED_LIBS)
+      set(_cuda_build_shared_libs SHARED)
+    else()
+      set(_cuda_build_shared_libs STATIC)
+    endif()
+  endif()
+  set(${shared_flag} ${_cuda_build_shared_libs} PARENT_SCOPE)
+endfunction()
+
+##############################################################################
+# Helper to avoid clashes of files with the same basename but different paths.
+# This doesn't attempt to do exactly what CMake internals do, which is to only
+# add this path when there is a conflict, since by the time a second collision
+# in names is detected it's already too late to fix the first one.  For
+# consistency sake the relative path will be added to all files.
+function(CUDA_COMPUTE_BUILD_PATH path build_path)
+  #message("CUDA_COMPUTE_BUILD_PATH([${path}] ${build_path})")
+  # Only deal with CMake style paths from here on out
+  file(TO_CMAKE_PATH "${path}" bpath)
+  if (IS_ABSOLUTE "${bpath}")
+    # Absolute paths are generally unnessary, especially if something like
+    # file(GLOB_RECURSE) is used to pick up the files.
+
+    string(FIND "${bpath}" "${CMAKE_CURRENT_BINARY_DIR}" _binary_dir_pos)
+    if (_binary_dir_pos EQUAL 0)
+      file(RELATIVE_PATH bpath "${CMAKE_CURRENT_BINARY_DIR}" "${bpath}")
+    else()
+      file(RELATIVE_PATH bpath "${CMAKE_CURRENT_SOURCE_DIR}" "${bpath}")
+    endif()
+  endif()
+
+  # This recipe is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
+  # CMake source.
+
+  # Remove leading /
+  string(REGEX REPLACE "^[/]+" "" bpath "${bpath}")
+  # Avoid absolute paths by removing ':'
+  string(REPLACE ":" "_" bpath "${bpath}")
+  # Avoid relative paths that go up the tree
+  string(REPLACE "../" "__/" bpath "${bpath}")
+  # Avoid spaces
+  string(REPLACE " " "_" bpath "${bpath}")
+
+  # Strip off the filename.  I wait until here to do it, since removin the
+  # basename can make a path that looked like path/../basename turn into
+  # path/.. (notice the trailing slash).
+  get_filename_component(bpath "${bpath}" PATH)
+
+  set(${build_path} "${bpath}" PARENT_SCOPE)
+  #message("${build_path} = ${bpath}")
+endfunction()
+
+##############################################################################
+# This helper macro populates the following variables and setups up custom
+# commands and targets to invoke the nvcc compiler to generate C or PTX source
+# dependent upon the format parameter.  The compiler is invoked once with -M
+# to generate a dependency file and a second time with -cuda or -ptx to generate
+# a .cpp or .ptx file.
+# INPUT:
+#   cuda_target         - Target name
+#   format              - PTX, CUBIN, FATBIN or OBJ
+#   FILE1 .. FILEN      - The remaining arguments are the sources to be wrapped.
+#   OPTIONS             - Extra options to NVCC
+# OUTPUT:
+#   generated_files     - List of generated files
+##############################################################################
+##############################################################################
+
+macro(CUDA_WRAP_SRCS cuda_target format generated_files)
+
+  # Put optional arguments in list.
+  set(_argn_list "${ARGN}")
+  # If one of the given optional arguments is "PHONY", make a note of it, then
+  # remove it from the list.
+  list(FIND _argn_list "PHONY" _phony_idx)
+  if("${_phony_idx}" GREATER "-1")
+    set(_target_is_phony true)
+    list(REMOVE_AT _argn_list ${_phony_idx})
+  else()
+    set(_target_is_phony false)
+  endif()
+
+  # If CMake doesn't support separable compilation, complain
+  if(CUDA_SEPARABLE_COMPILATION AND CMAKE_VERSION VERSION_LESS "2.8.10.1")
+    message(SEND_ERROR "CUDA_SEPARABLE_COMPILATION isn't supported for CMake versions less than 2.8.10.1")
+  endif()
+
+  # Set up all the command line flags here, so that they can be overridden on a per target basis.
+
+  set(nvcc_flags "")
+
+  # Emulation if the card isn't present.
+  if (CUDA_BUILD_EMULATION)
+    # Emulation.
+    set(nvcc_flags ${nvcc_flags} --device-emulation -D_DEVICEEMU -g)
+  else()
+    # Device mode.  No flags necessary.
+  endif()
+
+  if(CUDA_HOST_COMPILATION_CPP)
+    set(CUDA_C_OR_CXX CXX)
+  else()
+    if(CUDA_VERSION VERSION_LESS "3.0")
+      set(nvcc_flags ${nvcc_flags} --host-compilation C)
+    else()
+      message(WARNING "--host-compilation flag is deprecated in CUDA version >= 3.0.  Removing --host-compilation C flag" )
+    endif()
+    set(CUDA_C_OR_CXX C)
+  endif()
+
+  set(generated_extension ${CMAKE_${CUDA_C_OR_CXX}_OUTPUT_EXTENSION})
+
+  if(CUDA_64_BIT_DEVICE_CODE)
+    set(nvcc_flags ${nvcc_flags} -m64)
+  else()
+    set(nvcc_flags ${nvcc_flags} -m32)
+  endif()
+
+  if(CUDA_TARGET_CPU_ARCH)
+    set(nvcc_flags ${nvcc_flags} "--target-cpu-architecture=${CUDA_TARGET_CPU_ARCH}")
+  endif()
+
+  # This needs to be passed in at this stage, because VS needs to fill out the
+  # value of VCInstallDir from within VS.  Note that CCBIN is only used if
+  # -ccbin or --compiler-bindir isn't used and CUDA_HOST_COMPILER matches
+  # $(VCInstallDir)/bin.
+  if(CMAKE_GENERATOR MATCHES "Visual Studio")
+    set(ccbin_flags -D "\"CCBIN:PATH=$(VCInstallDir)bin\"" )
+  else()
+    set(ccbin_flags)
+  endif()
+
+  # Figure out which configure we will use and pass that in as an argument to
+  # the script.  We need to defer the decision until compilation time, because
+  # for VS projects we won't know if we are making a debug or release build
+  # until build time.
+  if(CMAKE_GENERATOR MATCHES "Visual Studio")
+    set( CUDA_build_configuration "$(ConfigurationName)" )
+  else()
+    set( CUDA_build_configuration "${CMAKE_BUILD_TYPE}")
+  endif()
+
+  # Initialize our list of includes with the user ones followed by the CUDA system ones.
+  set(CUDA_NVCC_INCLUDE_DIRS ${CUDA_NVCC_INCLUDE_DIRS_USER} "${CUDA_INCLUDE_DIRS}")
+  if(_target_is_phony)
+    # If the passed in target name isn't a real target (i.e., this is from a call to one of the
+    # cuda_compile_* functions), need to query directory properties to get include directories
+    # and compile definitions.
+    get_directory_property(_dir_include_dirs INCLUDE_DIRECTORIES)
+    get_directory_property(_dir_compile_defs COMPILE_DEFINITIONS)
+
+    list(APPEND CUDA_NVCC_INCLUDE_DIRS "${_dir_include_dirs}")
+    set(CUDA_NVCC_COMPILE_DEFINITIONS "${_dir_compile_defs}")
+  else()
+    # Append the include directories for this target via generator expression, which is
+    # expanded by the FILE(GENERATE) call below.  This generator expression captures all
+    # include dirs set by the user, whether via directory properties or target properties
+    list(APPEND CUDA_NVCC_INCLUDE_DIRS "$<TARGET_PROPERTY:${cuda_target},INCLUDE_DIRECTORIES>")
+
+    # Do the same thing with compile definitions
+    set(CUDA_NVCC_COMPILE_DEFINITIONS "$<TARGET_PROPERTY:${cuda_target},COMPILE_DEFINITIONS>")
+  endif()
+
+
+  # Reset these variables
+  set(CUDA_WRAP_OPTION_NVCC_FLAGS)
+  foreach(config ${CUDA_configuration_types})
+    string(TOUPPER ${config} config_upper)
+    set(CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper})
+  endforeach()
+
+  CUDA_GET_SOURCES_AND_OPTIONS(_cuda_wrap_sources _cuda_wrap_cmake_options _cuda_wrap_options ${_argn_list})
+  CUDA_PARSE_NVCC_OPTIONS(CUDA_WRAP_OPTION_NVCC_FLAGS ${_cuda_wrap_options})
+
+  # Figure out if we are building a shared library.  BUILD_SHARED_LIBS is
+  # respected in CUDA_ADD_LIBRARY.
+  set(_cuda_build_shared_libs FALSE)
+  # SHARED, MODULE
+  list(FIND _cuda_wrap_cmake_options SHARED _cuda_found_SHARED)
+  list(FIND _cuda_wrap_cmake_options MODULE _cuda_found_MODULE)
+  if(_cuda_found_SHARED GREATER -1 OR _cuda_found_MODULE GREATER -1)
+    set(_cuda_build_shared_libs TRUE)
+  endif()
+  # STATIC
+  list(FIND _cuda_wrap_cmake_options STATIC _cuda_found_STATIC)
+  if(_cuda_found_STATIC GREATER -1)
+    set(_cuda_build_shared_libs FALSE)
+  endif()
+
+  # CUDA_HOST_FLAGS
+  if(_cuda_build_shared_libs)
+    # If we are setting up code for a shared library, then we need to add extra flags for
+    # compiling objects for shared libraries.
+    set(CUDA_HOST_SHARED_FLAGS ${CMAKE_SHARED_LIBRARY_${CUDA_C_OR_CXX}_FLAGS})
+  else()
+    set(CUDA_HOST_SHARED_FLAGS)
+  endif()
+  # Only add the CMAKE_{C,CXX}_FLAGS if we are propagating host flags.  We
+  # always need to set the SHARED_FLAGS, though.
+  if(CUDA_PROPAGATE_HOST_FLAGS)
+    set(_cuda_host_flags "set(CMAKE_HOST_FLAGS ${CMAKE_${CUDA_C_OR_CXX}_FLAGS} ${CUDA_HOST_SHARED_FLAGS})")
+  else()
+    set(_cuda_host_flags "set(CMAKE_HOST_FLAGS ${CUDA_HOST_SHARED_FLAGS})")
+  endif()
+
+  set(_cuda_nvcc_flags_config "# Build specific configuration flags")
+  # Loop over all the configuration types to generate appropriate flags for run_nvcc.cmake
+  foreach(config ${CUDA_configuration_types})
+    string(TOUPPER ${config} config_upper)
+    # CMAKE_FLAGS are strings and not lists.  By not putting quotes around CMAKE_FLAGS
+    # we convert the strings to lists (like we want).
+
+    if(CUDA_PROPAGATE_HOST_FLAGS)
+      # nvcc chokes on -g3 in versions previous to 3.0, so replace it with -g
+      set(_cuda_fix_g3 FALSE)
+
+      if(CMAKE_COMPILER_IS_GNUCC)
+        if (CUDA_VERSION VERSION_LESS  "3.0" OR
+            CUDA_VERSION VERSION_EQUAL "4.1" OR
+            CUDA_VERSION VERSION_EQUAL "4.2"
+            )
+          set(_cuda_fix_g3 TRUE)
+        endif()
+      endif()
+      if(_cuda_fix_g3)
+        string(REPLACE "-g3" "-g" _cuda_C_FLAGS "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
+      else()
+        set(_cuda_C_FLAGS "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
+      endif()
+
+      string(APPEND _cuda_host_flags "\nset(CMAKE_HOST_FLAGS_${config_upper} ${_cuda_C_FLAGS})")
+    endif()
+
+    # Note that if we ever want CUDA_NVCC_FLAGS_<CONFIG> to be string (instead of a list
+    # like it is currently), we can remove the quotes around the
+    # ${CUDA_NVCC_FLAGS_${config_upper}} variable like the CMAKE_HOST_FLAGS_<CONFIG> variable.
+    string(APPEND _cuda_nvcc_flags_config "\nset(CUDA_NVCC_FLAGS_${config_upper} ${CUDA_NVCC_FLAGS_${config_upper}} ;; ${CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper}})")
+  endforeach()
+
+  # Process the C++11 flag.  If the host sets the flag, we need to add it to nvcc and
+  # remove it from the host. This is because -Xcompile -std=c++ will choke nvcc (it uses
+  # the C preprocessor).  In order to get this to work correctly, we need to use nvcc's
+  # specific c++11 flag.
+  if( "${_cuda_host_flags}" MATCHES "-std=c\\+\\+11")
+    # Add the c++11 flag to nvcc if it isn't already present.  Note that we only look at
+    # the main flag instead of the configuration specific flags.
+    if( NOT "${CUDA_NVCC_FLAGS}" MATCHES "-std;c\\+\\+11" )
+      list(APPEND nvcc_flags --std c++11)
+    endif()
+    string(REGEX REPLACE "[-]+std=c\\+\\+11" "" _cuda_host_flags "${_cuda_host_flags}")
+  endif()
+
+  if(_cuda_build_shared_libs)
+    list(APPEND nvcc_flags "-D${cuda_target}_EXPORTS")
+  endif()
+
+  # Reset the output variable
+  set(_cuda_wrap_generated_files "")
+
+  # Iterate over the macro arguments and create custom
+  # commands for all the .cu files.
+  foreach(file ${_argn_list})
+    # Ignore any file marked as a HEADER_FILE_ONLY
+    get_source_file_property(_is_header ${file} HEADER_FILE_ONLY)
+    # Allow per source file overrides of the format.  Also allows compiling non-.cu files.
+    get_source_file_property(_cuda_source_format ${file} CUDA_SOURCE_PROPERTY_FORMAT)
+    if((${file} MATCHES "\\.cu$" OR _cuda_source_format) AND NOT _is_header)
+
+      if(NOT _cuda_source_format)
+        set(_cuda_source_format ${format})
+      endif()
+      # If file isn't a .cu file, we need to tell nvcc to treat it as such.
+      if(NOT ${file} MATCHES "\\.cu$")
+        set(cuda_language_flag -x=cu)
+      else()
+        set(cuda_language_flag)
+      endif()
+
+      if( ${_cuda_source_format} MATCHES "OBJ")
+        set( cuda_compile_to_external_module OFF )
+      else()
+        set( cuda_compile_to_external_module ON )
+        if( ${_cuda_source_format} MATCHES "PTX" )
+          set( cuda_compile_to_external_module_type "ptx" )
+        elseif( ${_cuda_source_format} MATCHES "CUBIN")
+          set( cuda_compile_to_external_module_type "cubin" )
+        elseif( ${_cuda_source_format} MATCHES "FATBIN")
+          set( cuda_compile_to_external_module_type "fatbin" )
+        else()
+          message( FATAL_ERROR "Invalid format flag passed to CUDA_WRAP_SRCS or set with CUDA_SOURCE_PROPERTY_FORMAT file property for file '${file}': '${_cuda_source_format}'.  Use OBJ, PTX, CUBIN or FATBIN.")
+        endif()
+      endif()
+
+      if(cuda_compile_to_external_module)
+        # Don't use any of the host compilation flags for PTX targets.
+        set(CUDA_HOST_FLAGS)
+        set(CUDA_NVCC_FLAGS_CONFIG)
+      else()
+        set(CUDA_HOST_FLAGS ${_cuda_host_flags})
+        set(CUDA_NVCC_FLAGS_CONFIG ${_cuda_nvcc_flags_config})
+      endif()
+
+      # Determine output directory
+      cuda_compute_build_path("${file}" cuda_build_path)
+      set(cuda_compile_intermediate_directory "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${cuda_target}.dir/${cuda_build_path}")
+      if(CUDA_GENERATED_OUTPUT_DIR)
+        set(cuda_compile_output_dir "${CUDA_GENERATED_OUTPUT_DIR}")
+      else()
+        if ( cuda_compile_to_external_module )
+          set(cuda_compile_output_dir "${CMAKE_CURRENT_BINARY_DIR}")
+        else()
+          set(cuda_compile_output_dir "${cuda_compile_intermediate_directory}")
+        endif()
+      endif()
+
+      # Add a custom target to generate a c or ptx file. ######################
+
+      get_filename_component( basename ${file} NAME )
+      if( cuda_compile_to_external_module )
+        set(generated_file_path "${cuda_compile_output_dir}")
+        set(generated_file_basename "${cuda_target}_generated_${basename}.${cuda_compile_to_external_module_type}")
+        set(format_flag "-${cuda_compile_to_external_module_type}")
+        file(MAKE_DIRECTORY "${cuda_compile_output_dir}")
+      else()
+        set(generated_file_path "${cuda_compile_output_dir}/${CMAKE_CFG_INTDIR}")
+        set(generated_file_basename "${cuda_target}_generated_${basename}${generated_extension}")
+        if(CUDA_SEPARABLE_COMPILATION)
+          set(format_flag "-dc")
+        else()
+          set(format_flag "-c")
+        endif()
+      endif()
+
+      # Set all of our file names.  Make sure that whatever filenames that have
+      # generated_file_path in them get passed in through as a command line
+      # argument, so that the ${CMAKE_CFG_INTDIR} gets expanded at run time
+      # instead of configure time.
+      set(generated_file "${generated_file_path}/${generated_file_basename}")
+      set(cmake_dependency_file "${cuda_compile_intermediate_directory}/${generated_file_basename}.depend")
+      set(NVCC_generated_dependency_file "${cuda_compile_intermediate_directory}/${generated_file_basename}.NVCC-depend")
+      set(generated_cubin_file "${generated_file_path}/${generated_file_basename}.cubin.txt")
+      set(custom_target_script_pregen "${cuda_compile_intermediate_directory}/${generated_file_basename}.cmake.pre-gen")
+      set(custom_target_script "${cuda_compile_intermediate_directory}/${generated_file_basename}$<$<BOOL:$<CONFIG>>:.$<CONFIG>>.cmake")
+
+      # Setup properties for obj files:
+      if( NOT cuda_compile_to_external_module )
+        set_source_files_properties("${generated_file}"
+          PROPERTIES
+          EXTERNAL_OBJECT true # This is an object file not to be compiled, but only be linked.
+          )
+      endif()
+
+      # Don't add CMAKE_CURRENT_SOURCE_DIR if the path is already an absolute path.
+      get_filename_component(file_path "${file}" PATH)
+      if(IS_ABSOLUTE "${file_path}")
+        set(source_file "${file}")
+      else()
+        set(source_file "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
+      endif()
+
+      if( NOT cuda_compile_to_external_module AND CUDA_SEPARABLE_COMPILATION)
+        list(APPEND ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS "${generated_file}")
+      endif()
+
+      # Bring in the dependencies.  Creates a variable CUDA_NVCC_DEPEND #######
+      cuda_include_nvcc_dependencies(${cmake_dependency_file})
+
+      # Convience string for output ###########################################
+      if(CUDA_BUILD_EMULATION)
+        set(cuda_build_type "Emulation")
+      else()
+        set(cuda_build_type "Device")
+      endif()
+
+      # Build the NVCC made dependency file ###################################
+      set(build_cubin OFF)
+      if ( NOT CUDA_BUILD_EMULATION AND CUDA_BUILD_CUBIN )
+         if ( NOT cuda_compile_to_external_module )
+           set ( build_cubin ON )
+         endif()
+      endif()
+
+      # Configure the build script
+      configure_file("${CUDA_run_nvcc}" "${custom_target_script_pregen}" @ONLY)
+      file(GENERATE
+        OUTPUT "${custom_target_script}"
+        INPUT "${custom_target_script_pregen}"
+        )
+
+      # So if a user specifies the same cuda file as input more than once, you
+      # can have bad things happen with dependencies.  Here we check an option
+      # to see if this is the behavior they want.
+      if(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE)
+        set(main_dep MAIN_DEPENDENCY ${source_file})
+      else()
+        set(main_dep DEPENDS ${source_file})
+      endif()
+
+      if(CUDA_VERBOSE_BUILD)
+        set(verbose_output ON)
+      elseif(CMAKE_GENERATOR MATCHES "Makefiles")
+        set(verbose_output "$(VERBOSE)")
+      else()
+        set(verbose_output OFF)
+      endif()
+
+      # Create up the comment string
+      file(RELATIVE_PATH generated_file_relative_path "${CMAKE_BINARY_DIR}" "${generated_file}")
+      if(cuda_compile_to_external_module)
+        set(cuda_build_comment_string "Building NVCC ${cuda_compile_to_external_module_type} file ${generated_file_relative_path}")
+      else()
+        set(cuda_build_comment_string "Building NVCC (${cuda_build_type}) object ${generated_file_relative_path}")
+      endif()
+
+      set(_verbatim VERBATIM)
+      if(ccbin_flags MATCHES "\\$\\(VCInstallDir\\)")
+        set(_verbatim "")
+      endif()
+
+      # Build the generated file and dependency file ##########################
+      add_custom_command(
+        OUTPUT ${generated_file}
+        # These output files depend on the source_file and the contents of cmake_dependency_file
+        ${main_dep}
+        DEPENDS ${CUDA_NVCC_DEPEND}
+        DEPENDS ${custom_target_script}
+        # Make sure the output directory exists before trying to write to it.
+        COMMAND ${CMAKE_COMMAND} -E make_directory "${generated_file_path}"
+        COMMAND ${CMAKE_COMMAND} ARGS
+          -D verbose:BOOL=${verbose_output}
+          ${ccbin_flags}
+          -D build_configuration:STRING=${CUDA_build_configuration}
+          -D "generated_file:STRING=${generated_file}"
+          -D "generated_cubin_file:STRING=${generated_cubin_file}"
+          -P "${custom_target_script}"
+        WORKING_DIRECTORY "${cuda_compile_intermediate_directory}"
+        COMMENT "${cuda_build_comment_string}"
+        ${_verbatim}
+        )
+
+      # Make sure the build system knows the file is generated.
+      set_source_files_properties(${generated_file} PROPERTIES GENERATED TRUE)
+
+      list(APPEND _cuda_wrap_generated_files ${generated_file})
+
+      # Add the other files that we want cmake to clean on a cleanup ##########
+      list(APPEND CUDA_ADDITIONAL_CLEAN_FILES "${cmake_dependency_file}")
+      list(REMOVE_DUPLICATES CUDA_ADDITIONAL_CLEAN_FILES)
+      set(CUDA_ADDITIONAL_CLEAN_FILES ${CUDA_ADDITIONAL_CLEAN_FILES} CACHE INTERNAL "List of intermediate files that are part of the cuda dependency scanning.")
+
+    endif()
+  endforeach()
+
+  # Set the return parameter
+  set(${generated_files} ${_cuda_wrap_generated_files})
+endmacro()
+
+function(_cuda_get_important_host_flags important_flags flag_string)
+  if(CMAKE_GENERATOR MATCHES "Visual Studio")
+    string(REGEX MATCHALL "/M[DT][d]?" flags "${flag_string}")
+    list(APPEND ${important_flags} ${flags})
+  else()
+    string(REGEX MATCHALL "-fPIC" flags "${flag_string}")
+    list(APPEND ${important_flags} ${flags})
+  endif()
+  set(${important_flags} ${${important_flags}} PARENT_SCOPE)
+endfunction()
+
+###############################################################################
+###############################################################################
+# Separable Compilation Link
+###############################################################################
+###############################################################################
+
+# Compute the filename to be used by CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS
+function(CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME output_file_var cuda_target object_files)
+  if (object_files)
+    set(generated_extension ${CMAKE_${CUDA_C_OR_CXX}_OUTPUT_EXTENSION})
+    set(output_file "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${cuda_target}.dir/${CMAKE_CFG_INTDIR}/${cuda_target}_intermediate_link${generated_extension}")
+  else()
+    set(output_file)
+  endif()
+
+  set(${output_file_var} "${output_file}" PARENT_SCOPE)
+endfunction()
+
+# Setup the build rule for the separable compilation intermediate link file.
+function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options object_files)
+  if (object_files)
+
+    set_source_files_properties("${output_file}"
+      PROPERTIES
+      EXTERNAL_OBJECT TRUE # This is an object file not to be compiled, but only
+                           # be linked.
+      GENERATED TRUE       # This file is generated during the build
+      )
+
+    # For now we are ignoring all the configuration specific flags.
+    set(nvcc_flags)
+    CUDA_PARSE_NVCC_OPTIONS(nvcc_flags ${options})
+    if(CUDA_64_BIT_DEVICE_CODE)
+      list(APPEND nvcc_flags -m64)
+    else()
+      list(APPEND nvcc_flags -m32)
+    endif()
+    # If -ccbin, --compiler-bindir has been specified, don't do anything.  Otherwise add it here.
+    list( FIND nvcc_flags "-ccbin" ccbin_found0 )
+    list( FIND nvcc_flags "--compiler-bindir" ccbin_found1 )
+    if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER )
+      # Match VERBATIM check below.
+      if(CUDA_HOST_COMPILER MATCHES "\\$\\(VCInstallDir\\)")
+        list(APPEND nvcc_flags -ccbin "\"${CUDA_HOST_COMPILER}\"")
+      else()
+        list(APPEND nvcc_flags -ccbin "${CUDA_HOST_COMPILER}")
+      endif()
+    endif()
+
+    # Create a list of flags specified by CUDA_NVCC_FLAGS_${CONFIG} and CMAKE_${CUDA_C_OR_CXX}_FLAGS*
+    set(config_specific_flags)
+    set(flags)
+    foreach(config ${CUDA_configuration_types})
+      string(TOUPPER ${config} config_upper)
+      # Add config specific flags
+      foreach(f ${CUDA_NVCC_FLAGS_${config_upper}})
+        list(APPEND config_specific_flags $<$<CONFIG:${config}>:${f}>)
+      endforeach()
+      set(important_host_flags)
+      _cuda_get_important_host_flags(important_host_flags "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
+      foreach(f ${important_host_flags})
+        list(APPEND flags $<$<CONFIG:${config}>:-Xcompiler> $<$<CONFIG:${config}>:${f}>)
+      endforeach()
+    endforeach()
+    # Add CMAKE_${CUDA_C_OR_CXX}_FLAGS
+    set(important_host_flags)
+    _cuda_get_important_host_flags(important_host_flags "${CMAKE_${CUDA_C_OR_CXX}_FLAGS}")
+    foreach(f ${important_host_flags})
+      list(APPEND flags -Xcompiler ${f})
+    endforeach()
+
+    # Add our general CUDA_NVCC_FLAGS with the configuration specifig flags
+    set(nvcc_flags ${CUDA_NVCC_FLAGS} ${config_specific_flags} ${nvcc_flags})
+
+    file(RELATIVE_PATH output_file_relative_path "${CMAKE_BINARY_DIR}" "${output_file}")
+
+    # Some generators don't handle the multiple levels of custom command
+    # dependencies correctly (obj1 depends on file1, obj2 depends on obj1), so
+    # we work around that issue by compiling the intermediate link object as a
+    # pre-link custom command in that situation.
+    set(do_obj_build_rule TRUE)
+    if (MSVC_VERSION GREATER 1599 AND MSVC_VERSION LESS 1800)
+      # VS 2010 and 2012 have this problem.
+      set(do_obj_build_rule FALSE)
+    endif()
+
+    set(_verbatim VERBATIM)
+    if(nvcc_flags MATCHES "\\$\\(VCInstallDir\\)")
+      set(_verbatim "")
+    endif()
+
+    if (do_obj_build_rule)
+      add_custom_command(
+        OUTPUT ${output_file}
+        DEPENDS ${object_files}
+        COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} -dlink ${object_files} -o ${output_file}
+        ${flags}
+        COMMENT "Building NVCC intermediate link file ${output_file_relative_path}"
+        COMMAND_EXPAND_LISTS
+        ${_verbatim}
+        )
+    else()
+      get_filename_component(output_file_dir "${output_file}" DIRECTORY)
+      add_custom_command(
+        TARGET ${cuda_target}
+        PRE_LINK
+        COMMAND ${CMAKE_COMMAND} -E echo "Building NVCC intermediate link file ${output_file_relative_path}"
+        COMMAND ${CMAKE_COMMAND} -E make_directory "${output_file_dir}"
+        COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} ${flags} -dlink ${object_files} -o "${output_file}"
+        COMMAND_EXPAND_LISTS
+        ${_verbatim}
+        )
+    endif()
+ endif()
+endfunction()
+
+###############################################################################
+###############################################################################
+# ADD LIBRARY
+###############################################################################
+###############################################################################
+macro(CUDA_ADD_LIBRARY cuda_target)
+
+  CUDA_ADD_CUDA_INCLUDE_ONCE()
+
+  # Separate the sources from the options
+  CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
+  CUDA_BUILD_SHARED_LIBRARY(_cuda_shared_flag ${ARGN})
+  # Create custom commands and targets for each file.
+  CUDA_WRAP_SRCS( ${cuda_target} OBJ _generated_files ${_sources}
+    ${_cmake_options} ${_cuda_shared_flag}
+    OPTIONS ${_options} )
+
+  # Compute the file name of the intermedate link file used for separable
+  # compilation.
+  CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME(link_file ${cuda_target} "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
+
+  # Add the library.
+  add_library(${cuda_target} ${_cmake_options}
+    ${_generated_files}
+    ${_sources}
+    ${link_file}
+    )
+
+  # Add a link phase for the separable compilation if it has been enabled.  If
+  # it has been enabled then the ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS
+  # variable will have been defined.
+  CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS("${link_file}" ${cuda_target} "${_options}" "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
+
+  target_link_libraries(${cuda_target} ${CUDA_LINK_LIBRARIES_KEYWORD}
+    ${CUDA_LIBRARIES}
+    )
+
+  if(CUDA_SEPARABLE_COMPILATION)
+    target_link_libraries(${cuda_target} ${CUDA_LINK_LIBRARIES_KEYWORD}
+      ${CUDA_cudadevrt_LIBRARY}
+      )
+  endif()
+
+  # We need to set the linker language based on what the expected generated file
+  # would be. CUDA_C_OR_CXX is computed based on CUDA_HOST_COMPILATION_CPP.
+  set_target_properties(${cuda_target}
+    PROPERTIES
+    LINKER_LANGUAGE ${CUDA_C_OR_CXX}
+    )
+
+endmacro()
+
+
+###############################################################################
+###############################################################################
+# ADD EXECUTABLE
+###############################################################################
+###############################################################################
+macro(CUDA_ADD_EXECUTABLE cuda_target)
+
+  CUDA_ADD_CUDA_INCLUDE_ONCE()
+
+  # Separate the sources from the options
+  CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
+  # Create custom commands and targets for each file.
+  CUDA_WRAP_SRCS( ${cuda_target} OBJ _generated_files ${_sources} OPTIONS ${_options} )
+
+  # Compute the file name of the intermedate link file used for separable
+  # compilation.
+  CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME(link_file ${cuda_target} "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
+
+  # Add the library.
+  add_executable(${cuda_target} ${_cmake_options}
+    ${_generated_files}
+    ${_sources}
+    ${link_file}
+    )
+
+  # Add a link phase for the separable compilation if it has been enabled.  If
+  # it has been enabled then the ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS
+  # variable will have been defined.
+  CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS("${link_file}" ${cuda_target} "${_options}" "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
+
+  target_link_libraries(${cuda_target} ${CUDA_LINK_LIBRARIES_KEYWORD}
+    ${CUDA_LIBRARIES}
+    )
+
+  # We need to set the linker language based on what the expected generated file
+  # would be. CUDA_C_OR_CXX is computed based on CUDA_HOST_COMPILATION_CPP.
+  set_target_properties(${cuda_target}
+    PROPERTIES
+    LINKER_LANGUAGE ${CUDA_C_OR_CXX}
+    )
+
+endmacro()
+
+
+###############################################################################
+###############################################################################
+# (Internal) helper for manually added cuda source files with specific targets
+###############################################################################
+###############################################################################
+macro(cuda_compile_base cuda_target format generated_files)
+  # Update a counter in this directory, to keep phony target names unique.
+  set(_cuda_target "${cuda_target}")
+  get_property(_counter DIRECTORY PROPERTY _cuda_internal_phony_counter)
+  if(_counter)
+    math(EXPR _counter "${_counter} + 1")
+  else()
+    set(_counter 1)
+  endif()
+  string(APPEND _cuda_target "_${_counter}")
+  set_property(DIRECTORY PROPERTY _cuda_internal_phony_counter ${_counter})
+
+  # Separate the sources from the options
+  CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
+
+  # Create custom commands and targets for each file.
+  CUDA_WRAP_SRCS( ${_cuda_target} ${format} _generated_files ${_sources}
+                  ${_cmake_options} OPTIONS ${_options} PHONY)
+
+  set( ${generated_files} ${_generated_files})
+
+endmacro()
+
+###############################################################################
+###############################################################################
+# CUDA COMPILE
+###############################################################################
+###############################################################################
+macro(CUDA_COMPILE generated_files)
+  cuda_compile_base(cuda_compile OBJ ${generated_files} ${ARGN})
+endmacro()
+
+###############################################################################
+###############################################################################
+# CUDA COMPILE PTX
+###############################################################################
+###############################################################################
+macro(CUDA_COMPILE_PTX generated_files)
+  cuda_compile_base(cuda_compile_ptx PTX ${generated_files} ${ARGN})
+endmacro()
+
+###############################################################################
+###############################################################################
+# CUDA COMPILE FATBIN
+###############################################################################
+###############################################################################
+macro(CUDA_COMPILE_FATBIN generated_files)
+  cuda_compile_base(cuda_compile_fatbin FATBIN ${generated_files} ${ARGN})
+endmacro()
+
+###############################################################################
+###############################################################################
+# CUDA COMPILE CUBIN
+###############################################################################
+###############################################################################
+macro(CUDA_COMPILE_CUBIN generated_files)
+  cuda_compile_base(cuda_compile_cubin CUBIN ${generated_files} ${ARGN})
+endmacro()
+
+
+###############################################################################
+###############################################################################
+# CUDA ADD CUFFT TO TARGET
+###############################################################################
+###############################################################################
+macro(CUDA_ADD_CUFFT_TO_TARGET target)
+  if (CUDA_BUILD_EMULATION)
+    target_link_libraries(${target} ${CUDA_LINK_LIBRARIES_KEYWORD} ${CUDA_cufftemu_LIBRARY})
+  else()
+    target_link_libraries(${target} ${CUDA_LINK_LIBRARIES_KEYWORD} ${CUDA_cufft_LIBRARY})
+  endif()
+endmacro()
+
+###############################################################################
+###############################################################################
+# CUDA ADD CUBLAS TO TARGET
+###############################################################################
+###############################################################################
+macro(CUDA_ADD_CUBLAS_TO_TARGET target)
+  if (CUDA_BUILD_EMULATION)
+    target_link_libraries(${target} ${CUDA_LINK_LIBRARIES_KEYWORD} ${CUDA_cublasemu_LIBRARY})
+  else()
+    target_link_libraries(${target} ${CUDA_LINK_LIBRARIES_KEYWORD} ${CUDA_cublas_LIBRARY} ${CUDA_cublas_device_LIBRARY})
+  endif()
+endmacro()
+
+###############################################################################
+###############################################################################
+# CUDA BUILD CLEAN TARGET
+###############################################################################
+###############################################################################
+macro(CUDA_BUILD_CLEAN_TARGET)
+  # Call this after you add all your CUDA targets, and you will get a convience
+  # target.  You should also make clean after running this target to get the
+  # build system to generate all the code again.
+
+  set(cuda_clean_target_name clean_cuda_depends)
+  if (CMAKE_GENERATOR MATCHES "Visual Studio")
+    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})
+
+  # 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
+  # have been removed.
+  set(CUDA_ADDITIONAL_CLEAN_FILES "" CACHE INTERNAL "List of intermediate files that are part of the cuda dependency scanning.")
+endmacro()
diff --git a/share/cmake-3.10/Modules/FindCUDA/make2cmake.cmake b/share/cmake-3.10/Modules/FindCUDA/make2cmake.cmake
new file mode 100644
index 0000000..7b5389e
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCUDA/make2cmake.cmake
@@ -0,0 +1,106 @@
+#  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.
+#
+
+#######################################################################
+# This converts a file written in makefile syntax into one that can be included
+# by CMake.
+
+# Input variables
+#
+# verbose:BOOL=<>          OFF: Be as quiet as possible (default)
+#                          ON : Extra output
+#
+# input_file:FILEPATH=<>   Path to dependecy file in makefile format
+#
+# output_file:FILEPATH=<>  Path to file with dependencies in CMake readable variable
+#
+
+file(READ ${input_file} depend_text)
+
+if (NOT "${depend_text}" STREQUAL "")
+
+  # message("FOUND DEPENDS")
+
+  string(REPLACE "\\ " " " depend_text ${depend_text})
+
+  # This works for the nvcc -M generated dependency files.
+  string(REGEX REPLACE "^.* : " "" depend_text ${depend_text})
+  string(REGEX REPLACE "[ \\\\]*\n" ";" depend_text ${depend_text})
+
+  set(dependency_list "")
+
+  foreach(file ${depend_text})
+
+    string(REGEX REPLACE "^ +" "" file ${file})
+
+    # OK, now if we had a UNC path, nvcc has a tendency to only output the first '/'
+    # instead of '//'.  Here we will test to see if the file exists, if it doesn't then
+    # try to prepend another '/' to the path and test again.  If it still fails remove the
+    # path.
+
+    if(NOT EXISTS "${file}")
+      if (EXISTS "/${file}")
+        set(file "/${file}")
+      else()
+        if(verbose)
+          message(WARNING " Removing non-existent dependency file: ${file}")
+        endif()
+        set(file "")
+      endif()
+    endif()
+
+    # Make sure we check to see if we have a file, before asking if it is not a directory.
+    # if(NOT IS_DIRECTORY "") will return TRUE.
+    if(file AND NOT IS_DIRECTORY "${file}")
+      # If softlinks start to matter, we should change this to REALPATH.  For now we need
+      # to flatten paths, because nvcc can generate stuff like /bin/../include instead of
+      # just /include.
+      get_filename_component(file_absolute "${file}" ABSOLUTE)
+      list(APPEND dependency_list "${file_absolute}")
+    endif()
+
+  endforeach()
+
+else()
+  # message("FOUND NO DEPENDS")
+endif()
+
+# Remove the duplicate entries and sort them.
+list(REMOVE_DUPLICATES dependency_list)
+list(SORT dependency_list)
+
+foreach(file ${dependency_list})
+  string(APPEND cuda_nvcc_depend " \"${file}\"\n")
+endforeach()
+
+file(WRITE ${output_file} "# Generated by: make2cmake.cmake\nSET(CUDA_NVCC_DEPEND\n ${cuda_nvcc_depend})\n\n")
diff --git a/share/cmake-3.6/Modules/FindCUDA/parse_cubin.cmake b/share/cmake-3.10/Modules/FindCUDA/parse_cubin.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/FindCUDA/parse_cubin.cmake
rename to share/cmake-3.10/Modules/FindCUDA/parse_cubin.cmake
diff --git a/share/cmake-3.10/Modules/FindCUDA/run_nvcc.cmake b/share/cmake-3.10/Modules/FindCUDA/run_nvcc.cmake
new file mode 100644
index 0000000..f78119d
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCUDA/run_nvcc.cmake
@@ -0,0 +1,305 @@
+#  James Bigler, NVIDIA Corp (nvidia.com - jbigler)
+#
+#  Copyright (c) 2008 - 2009 NVIDIA Corporation.  All rights reserved.
+#
+#  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.
+
+
+##########################################################################
+# This file runs the nvcc commands to produce the desired output file along with
+# the dependency file needed by CMake to compute dependencies.  In addition the
+# file checks the output of each command and if the command fails it deletes the
+# output files.
+
+# Input variables
+#
+# verbose:BOOL=<>          OFF: Be as quiet as possible (default)
+#                          ON : Describe each step
+#
+# build_configuration:STRING=<> Typically one of Debug, MinSizeRel, Release, or
+#                               RelWithDebInfo, but it should match one of the
+#                               entries in CUDA_HOST_FLAGS. This is the build
+#                               configuration used when compiling the code.  If
+#                               blank or unspecified Debug is assumed as this is
+#                               what CMake does.
+#
+# generated_file:STRING=<> File to generate.  This argument must be passed in.
+#
+# generated_cubin_file:STRING=<> File to generate.  This argument must be passed
+#                                                   in if build_cubin is true.
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0007 NEW)
+if(NOT generated_file)
+  message(FATAL_ERROR "You must specify generated_file on the command line")
+endif()
+
+# Set these up as variables to make reading the generated file easier
+set(CMAKE_COMMAND "@CMAKE_COMMAND@") # path
+set(source_file "@source_file@") # path
+set(NVCC_generated_dependency_file "@NVCC_generated_dependency_file@") # path
+set(cmake_dependency_file "@cmake_dependency_file@") # path
+set(CUDA_make2cmake "@CUDA_make2cmake@") # path
+set(CUDA_parse_cubin "@CUDA_parse_cubin@") # path
+set(build_cubin @build_cubin@) # bool
+set(CUDA_HOST_COMPILER "@CUDA_HOST_COMPILER@") # path
+# We won't actually use these variables for now, but we need to set this, in
+# order to force this file to be run again if it changes.
+set(generated_file_path "@generated_file_path@") # path
+set(generated_file_internal "@generated_file@") # path
+set(generated_cubin_file_internal "@generated_cubin_file@") # path
+
+set(CUDA_NVCC_EXECUTABLE "@CUDA_NVCC_EXECUTABLE@") # path
+set(CUDA_NVCC_FLAGS @CUDA_NVCC_FLAGS@ ;; @CUDA_WRAP_OPTION_NVCC_FLAGS@) # list
+@CUDA_NVCC_FLAGS_CONFIG@
+set(nvcc_flags @nvcc_flags@) # list
+set(CUDA_NVCC_INCLUDE_DIRS "@CUDA_NVCC_INCLUDE_DIRS@") # list (needs to be in quotes to handle spaces properly).
+set(CUDA_NVCC_COMPILE_DEFINITIONS [==[@CUDA_NVCC_COMPILE_DEFINITIONS@]==]) # list (needs to be in lua quotes see #16510 ).
+set(format_flag "@format_flag@") # string
+set(cuda_language_flag @cuda_language_flag@) # list
+
+# Clean up list of include directories and add -I flags
+list(REMOVE_DUPLICATES CUDA_NVCC_INCLUDE_DIRS)
+set(CUDA_NVCC_INCLUDE_ARGS)
+foreach(dir ${CUDA_NVCC_INCLUDE_DIRS})
+  # Extra quotes are added around each flag to help nvcc parse out flags with spaces.
+  list(APPEND CUDA_NVCC_INCLUDE_ARGS "-I${dir}")
+endforeach()
+
+# Clean up list of compile definitions, add -D flags, and append to nvcc_flags
+list(REMOVE_DUPLICATES CUDA_NVCC_COMPILE_DEFINITIONS)
+foreach(def ${CUDA_NVCC_COMPILE_DEFINITIONS})
+  list(APPEND nvcc_flags "-D${def}")
+endforeach()
+
+if(build_cubin AND NOT generated_cubin_file)
+  message(FATAL_ERROR "You must specify generated_cubin_file on the command line")
+endif()
+
+# This is the list of host compilation flags.  It C or CXX should already have
+# been chosen by FindCUDA.cmake.
+@CUDA_HOST_FLAGS@
+
+# Take the compiler flags and package them up to be sent to the compiler via -Xcompiler
+set(nvcc_host_compiler_flags "")
+# If we weren't given a build_configuration, use Debug.
+if(NOT build_configuration)
+  set(build_configuration Debug)
+endif()
+string(TOUPPER "${build_configuration}" build_configuration)
+#message("CUDA_NVCC_HOST_COMPILER_FLAGS = ${CUDA_NVCC_HOST_COMPILER_FLAGS}")
+foreach(flag ${CMAKE_HOST_FLAGS} ${CMAKE_HOST_FLAGS_${build_configuration}})
+  # Extra quotes are added around each flag to help nvcc parse out flags with spaces.
+  string(APPEND nvcc_host_compiler_flags ",\"${flag}\"")
+endforeach()
+if (nvcc_host_compiler_flags)
+  set(nvcc_host_compiler_flags "-Xcompiler" ${nvcc_host_compiler_flags})
+endif()
+#message("nvcc_host_compiler_flags = \"${nvcc_host_compiler_flags}\"")
+# Add the build specific configuration flags
+list(APPEND CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS_${build_configuration}})
+
+# Any -ccbin existing in CUDA_NVCC_FLAGS gets highest priority
+list( FIND CUDA_NVCC_FLAGS "-ccbin" ccbin_found0 )
+list( FIND CUDA_NVCC_FLAGS "--compiler-bindir" ccbin_found1 )
+if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER )
+  if (CUDA_HOST_COMPILER STREQUAL "$(VCInstallDir)bin" AND DEFINED CCBIN)
+    set(CCBIN -ccbin "${CCBIN}")
+  else()
+    set(CCBIN -ccbin "${CUDA_HOST_COMPILER}")
+  endif()
+endif()
+
+# cuda_execute_process - Executes a command with optional command echo and status message.
+#
+#   status  - Status message to print if verbose is true
+#   command - COMMAND argument from the usual execute_process argument structure
+#   ARGN    - Remaining arguments are the command with arguments
+#
+#   CUDA_result - return value from running the command
+#
+# Make this a macro instead of a function, so that things like RESULT_VARIABLE
+# and other return variables are present after executing the process.
+macro(cuda_execute_process status command)
+  set(_command ${command})
+  if(NOT "x${_command}" STREQUAL "xCOMMAND")
+    message(FATAL_ERROR "Malformed call to cuda_execute_process.  Missing COMMAND as second argument. (command = ${command})")
+  endif()
+  if(verbose)
+    execute_process(COMMAND "${CMAKE_COMMAND}" -E echo -- ${status})
+    # Now we need to build up our command string.  We are accounting for quotes
+    # and spaces, anything else is left up to the user to fix if they want to
+    # copy and paste a runnable command line.
+    set(cuda_execute_process_string)
+    foreach(arg ${ARGN})
+      # If there are quotes, excape them, so they come through.
+      string(REPLACE "\"" "\\\"" arg ${arg})
+      # Args with spaces need quotes around them to get them to be parsed as a single argument.
+      if(arg MATCHES " ")
+        list(APPEND cuda_execute_process_string "\"${arg}\"")
+      else()
+        list(APPEND cuda_execute_process_string ${arg})
+      endif()
+    endforeach()
+    # Echo the command
+    execute_process(COMMAND ${CMAKE_COMMAND} -E echo ${cuda_execute_process_string})
+  endif()
+  # Run the command
+  execute_process(COMMAND ${ARGN} RESULT_VARIABLE CUDA_result )
+endmacro()
+
+# Delete the target file
+cuda_execute_process(
+  "Removing ${generated_file}"
+  COMMAND "${CMAKE_COMMAND}" -E remove "${generated_file}"
+  )
+
+# For CUDA 2.3 and below, -G -M doesn't work, so remove the -G flag
+# for dependency generation and hope for the best.
+set(depends_CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}")
+set(CUDA_VERSION @CUDA_VERSION@)
+if(CUDA_VERSION VERSION_LESS "3.0")
+  # Note that this will remove all occurances of -G.
+  list(REMOVE_ITEM depends_CUDA_NVCC_FLAGS "-G")
+endif()
+
+# nvcc doesn't define __CUDACC__ for some reason when generating dependency files.  This
+# can cause incorrect dependencies when #including files based on this macro which is
+# defined in the generating passes of nvcc invokation.  We will go ahead and manually
+# define this for now until a future version fixes this bug.
+set(CUDACC_DEFINE -D__CUDACC__)
+
+# Generate the dependency file
+cuda_execute_process(
+  "Generating dependency file: ${NVCC_generated_dependency_file}"
+  COMMAND "${CUDA_NVCC_EXECUTABLE}"
+  -M
+  ${CUDACC_DEFINE}
+  "${source_file}"
+  -o "${NVCC_generated_dependency_file}"
+  ${CCBIN}
+  ${nvcc_flags}
+  ${nvcc_host_compiler_flags}
+  ${depends_CUDA_NVCC_FLAGS}
+  -DNVCC
+  ${CUDA_NVCC_INCLUDE_ARGS}
+  )
+
+if(CUDA_result)
+  message(FATAL_ERROR "Error generating ${generated_file}")
+endif()
+
+# Generate the cmake readable dependency file to a temp file.  Don't put the
+# quotes just around the filenames for the input_file and output_file variables.
+# CMake will pass the quotes through and not be able to find the file.
+cuda_execute_process(
+  "Generating temporary cmake readable file: ${cmake_dependency_file}.tmp"
+  COMMAND "${CMAKE_COMMAND}"
+  -D "input_file:FILEPATH=${NVCC_generated_dependency_file}"
+  -D "output_file:FILEPATH=${cmake_dependency_file}.tmp"
+  -D "verbose=${verbose}"
+  -P "${CUDA_make2cmake}"
+  )
+
+if(CUDA_result)
+  message(FATAL_ERROR "Error generating ${generated_file}")
+endif()
+
+# Copy the file if it is different
+cuda_execute_process(
+  "Copy if different ${cmake_dependency_file}.tmp to ${cmake_dependency_file}"
+  COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${cmake_dependency_file}.tmp" "${cmake_dependency_file}"
+  )
+
+if(CUDA_result)
+  message(FATAL_ERROR "Error generating ${generated_file}")
+endif()
+
+# 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}"
+  )
+
+if(CUDA_result)
+  message(FATAL_ERROR "Error generating ${generated_file}")
+endif()
+
+# Generate the code
+cuda_execute_process(
+  "Generating ${generated_file}"
+  COMMAND "${CUDA_NVCC_EXECUTABLE}"
+  "${source_file}"
+  ${cuda_language_flag}
+  ${format_flag} -o "${generated_file}"
+  ${CCBIN}
+  ${nvcc_flags}
+  ${nvcc_host_compiler_flags}
+  ${CUDA_NVCC_FLAGS}
+  -DNVCC
+  ${CUDA_NVCC_INCLUDE_ARGS}
+  )
+
+if(CUDA_result)
+  # 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}"
+    )
+  message(FATAL_ERROR "Error generating file ${generated_file}")
+else()
+  if(verbose)
+    message("Generated ${generated_file} successfully.")
+  endif()
+endif()
+
+# Cubin resource report commands.
+if( build_cubin )
+  # Run with -cubin to produce resource usage report.
+  cuda_execute_process(
+    "Generating ${generated_cubin_file}"
+    COMMAND "${CUDA_NVCC_EXECUTABLE}"
+    "${source_file}"
+    ${CUDA_NVCC_FLAGS}
+    ${nvcc_flags}
+    ${CCBIN}
+    ${nvcc_host_compiler_flags}
+    -DNVCC
+    -cubin
+    -o "${generated_cubin_file}"
+    ${CUDA_NVCC_INCLUDE_ARGS}
+    )
+
+  # Execute the parser script.
+  cuda_execute_process(
+    "Executing the parser script"
+    COMMAND  "${CMAKE_COMMAND}"
+    -D "input_file:STRING=${generated_cubin_file}"
+    -P "${CUDA_parse_cubin}"
+    )
+
+endif()
+
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/FindCUDA/select_compute_arch.cmake b/share/cmake-3.10/Modules/FindCUDA/select_compute_arch.cmake
new file mode 100644
index 0000000..b604a17
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCUDA/select_compute_arch.cmake
@@ -0,0 +1,206 @@
+# Synopsis:
+#   CUDA_SELECT_NVCC_ARCH_FLAGS(out_variable [target_CUDA_architectures])
+#   -- Selects GPU arch flags for nvcc based on target_CUDA_architectures
+#      target_CUDA_architectures : Auto | Common | All | LIST(ARCH_AND_PTX ...)
+#       - "Auto" detects local machine GPU compute arch at runtime.
+#       - "Common" and "All" cover common and entire subsets of architectures
+#      ARCH_AND_PTX : NAME | NUM.NUM | NUM.NUM(NUM.NUM) | NUM.NUM+PTX
+#      NAME: Fermi Kepler Maxwell Kepler+Tegra Kepler+Tesla Maxwell+Tegra Pascal
+#      NUM: Any number. Only those pairs are currently accepted by NVCC though:
+#            2.0 2.1 3.0 3.2 3.5 3.7 5.0 5.2 5.3 6.0 6.2
+#      Returns LIST of flags to be added to CUDA_NVCC_FLAGS in ${out_variable}
+#      Additionally, sets ${out_variable}_readable to the resulting numeric list
+#      Example:
+#       CUDA_SELECT_NVCC_ARCH_FLAGS(ARCH_FLAGS 3.0 3.5+PTX 5.2(5.0) Maxwell)
+#        LIST(APPEND CUDA_NVCC_FLAGS ${ARCH_FLAGS})
+#
+#      More info on CUDA architectures: https://en.wikipedia.org/wiki/CUDA
+#
+
+# This list will be used for CUDA_ARCH_NAME = All option
+set(CUDA_KNOWN_GPU_ARCHITECTURES  "Fermi" "Kepler" "Maxwell")
+
+# This list will be used for CUDA_ARCH_NAME = Common option (enabled by default)
+set(CUDA_COMMON_GPU_ARCHITECTURES "3.0" "3.5" "5.0")
+
+if (CUDA_VERSION VERSION_GREATER "6.5")
+  list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Kepler+Tegra" "Kepler+Tesla" "Maxwell+Tegra")
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "5.2")
+endif ()
+
+if (CUDA_VERSION VERSION_GREATER "7.5")
+  list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Pascal")
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "6.0" "6.1")
+else()
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "5.2+PTX")
+endif ()
+
+if (CUDA_VERSION VERSION_GREATER "8.5")
+  list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Volta")
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "7.0" "7.0+PTX")
+else()
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "6.1+PTX")
+endif()
+
+################################################################################################
+# A function for automatic detection of GPUs installed  (if autodetection is enabled)
+# Usage:
+#   CUDA_DETECT_INSTALLED_GPUS(OUT_VARIABLE)
+#
+function(CUDA_DETECT_INSTALLED_GPUS OUT_VARIABLE)
+  if(NOT CUDA_GPU_DETECT_OUTPUT)
+    set(file ${PROJECT_BINARY_DIR}/detect_cuda_compute_capabilities.cpp)
+
+    file(WRITE ${file} ""
+      "#include <cuda_runtime.h>\n"
+      "#include <cstdio>\n"
+      "int main()\n"
+      "{\n"
+      "  int count = 0;\n"
+      "  if (cudaSuccess != cudaGetDeviceCount(&count)) return -1;\n"
+      "  if (count == 0) return -1;\n"
+      "  for (int device = 0; device < count; ++device)\n"
+      "  {\n"
+      "    cudaDeviceProp prop;\n"
+      "    if (cudaSuccess == cudaGetDeviceProperties(&prop, device))\n"
+      "      std::printf(\"%d.%d \", prop.major, prop.minor);\n"
+      "  }\n"
+      "  return 0;\n"
+      "}\n")
+
+    try_run(run_result compile_result ${PROJECT_BINARY_DIR} ${file}
+            CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CUDA_INCLUDE_DIRS}"
+            LINK_LIBRARIES ${CUDA_LIBRARIES}
+            RUN_OUTPUT_VARIABLE compute_capabilities)
+
+    if(run_result EQUAL 0)
+      string(REPLACE "2.1" "2.1(2.0)" compute_capabilities "${compute_capabilities}")
+      set(CUDA_GPU_DETECT_OUTPUT ${compute_capabilities}
+        CACHE INTERNAL "Returned GPU architectures from detect_gpus tool" FORCE)
+    endif()
+  endif()
+
+  if(NOT CUDA_GPU_DETECT_OUTPUT)
+    message(STATUS "Automatic GPU detection failed. Building for common architectures.")
+    set(${OUT_VARIABLE} ${CUDA_COMMON_GPU_ARCHITECTURES} PARENT_SCOPE)
+  else()
+    set(${OUT_VARIABLE} ${CUDA_GPU_DETECT_OUTPUT} PARENT_SCOPE)
+  endif()
+endfunction()
+
+
+################################################################################################
+# Function for selecting GPU arch flags for nvcc based on CUDA architectures from parameter list
+# Usage:
+#   SELECT_NVCC_ARCH_FLAGS(out_variable [list of CUDA compute archs])
+function(CUDA_SELECT_NVCC_ARCH_FLAGS out_variable)
+  set(CUDA_ARCH_LIST "${ARGN}")
+
+  if("X${CUDA_ARCH_LIST}" STREQUAL "X" )
+    set(CUDA_ARCH_LIST "Auto")
+  endif()
+
+  set(cuda_arch_bin)
+  set(cuda_arch_ptx)
+
+  if("${CUDA_ARCH_LIST}" STREQUAL "All")
+    set(CUDA_ARCH_LIST ${CUDA_KNOWN_GPU_ARCHITECTURES})
+  elseif("${CUDA_ARCH_LIST}" STREQUAL "Common")
+    set(CUDA_ARCH_LIST ${CUDA_COMMON_GPU_ARCHITECTURES})
+  elseif("${CUDA_ARCH_LIST}" STREQUAL "Auto")
+    CUDA_DETECT_INSTALLED_GPUS(CUDA_ARCH_LIST)
+    message(STATUS "Autodetected CUDA architecture(s): ${CUDA_ARCH_LIST}")
+  endif()
+
+  # Now process the list and look for names
+  string(REGEX REPLACE "[ \t]+" ";" CUDA_ARCH_LIST "${CUDA_ARCH_LIST}")
+  list(REMOVE_DUPLICATES CUDA_ARCH_LIST)
+  foreach(arch_name ${CUDA_ARCH_LIST})
+    set(arch_bin)
+    set(arch_ptx)
+    set(add_ptx FALSE)
+    # Check to see if we are compiling PTX
+    if(arch_name MATCHES "(.*)\\+PTX$")
+      set(add_ptx TRUE)
+      set(arch_name ${CMAKE_MATCH_1})
+    endif()
+    if(arch_name MATCHES "^([0-9]\\.[0-9](\\([0-9]\\.[0-9]\\))?)$")
+      set(arch_bin ${CMAKE_MATCH_1})
+      set(arch_ptx ${arch_bin})
+    else()
+      # Look for it in our list of known architectures
+      if(${arch_name} STREQUAL "Fermi")
+        set(arch_bin 2.0 "2.1(2.0)")
+      elseif(${arch_name} STREQUAL "Kepler+Tegra")
+        set(arch_bin 3.2)
+      elseif(${arch_name} STREQUAL "Kepler+Tesla")
+        set(arch_bin 3.7)
+      elseif(${arch_name} STREQUAL "Kepler")
+        set(arch_bin 3.0 3.5)
+        set(arch_ptx 3.5)
+      elseif(${arch_name} STREQUAL "Maxwell+Tegra")
+        set(arch_bin 5.3)
+      elseif(${arch_name} STREQUAL "Maxwell")
+        set(arch_bin 5.0 5.2)
+        set(arch_ptx 5.2)
+      elseif(${arch_name} STREQUAL "Pascal")
+        set(arch_bin 6.0 6.1)
+        set(arch_ptx 6.1)
+      elseif(${arch_name} STREQUAL "Volta")
+        set(arch_bin 7.0 7.0)
+        set(arch_ptx 7.0)
+      else()
+        message(SEND_ERROR "Unknown CUDA Architecture Name ${arch_name} in CUDA_SELECT_NVCC_ARCH_FLAGS")
+      endif()
+    endif()
+    if(NOT arch_bin)
+      message(SEND_ERROR "arch_bin wasn't set for some reason")
+    endif()
+    list(APPEND cuda_arch_bin ${arch_bin})
+    if(add_ptx)
+      if (NOT arch_ptx)
+        set(arch_ptx ${arch_bin})
+      endif()
+      list(APPEND cuda_arch_ptx ${arch_ptx})
+    endif()
+  endforeach()
+
+  # remove dots and convert to lists
+  string(REGEX REPLACE "\\." "" cuda_arch_bin "${cuda_arch_bin}")
+  string(REGEX REPLACE "\\." "" cuda_arch_ptx "${cuda_arch_ptx}")
+  string(REGEX MATCHALL "[0-9()]+" cuda_arch_bin "${cuda_arch_bin}")
+  string(REGEX MATCHALL "[0-9]+"   cuda_arch_ptx "${cuda_arch_ptx}")
+
+  if(cuda_arch_bin)
+    list(REMOVE_DUPLICATES cuda_arch_bin)
+  endif()
+  if(cuda_arch_ptx)
+    list(REMOVE_DUPLICATES cuda_arch_ptx)
+  endif()
+
+  set(nvcc_flags "")
+  set(nvcc_archs_readable "")
+
+  # Tell NVCC to add binaries for the specified GPUs
+  foreach(arch ${cuda_arch_bin})
+    if(arch MATCHES "([0-9]+)\\(([0-9]+)\\)")
+      # User explicitly specified ARCH for the concrete CODE
+      list(APPEND nvcc_flags -gencode arch=compute_${CMAKE_MATCH_2},code=sm_${CMAKE_MATCH_1})
+      list(APPEND nvcc_archs_readable sm_${CMAKE_MATCH_1})
+    else()
+      # User didn't explicitly specify ARCH for the concrete CODE, we assume ARCH=CODE
+      list(APPEND nvcc_flags -gencode arch=compute_${arch},code=sm_${arch})
+      list(APPEND nvcc_archs_readable sm_${arch})
+    endif()
+  endforeach()
+
+  # Tell NVCC to add PTX intermediate code for the specified architectures
+  foreach(arch ${cuda_arch_ptx})
+    list(APPEND nvcc_flags -gencode arch=compute_${arch},code=compute_${arch})
+    list(APPEND nvcc_archs_readable compute_${arch})
+  endforeach()
+
+  string(REPLACE ";" " " nvcc_archs_readable "${nvcc_archs_readable}")
+  set(${out_variable}          ${nvcc_flags}          PARENT_SCOPE)
+  set(${out_variable}_readable ${nvcc_archs_readable} PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindCURL.cmake b/share/cmake-3.10/Modules/FindCURL.cmake
new file mode 100644
index 0000000..f4bcc36
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCURL.cmake
@@ -0,0 +1,55 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCURL
+# --------
+#
+# Find curl
+#
+# Find the native CURL headers and libraries.
+#
+# ::
+#
+#   CURL_INCLUDE_DIRS   - where to find curl/curl.h, etc.
+#   CURL_LIBRARIES      - List of libraries when using curl.
+#   CURL_FOUND          - True if curl found.
+#   CURL_VERSION_STRING - the version of curl found (since CMake 2.8.8)
+
+# Look for the header file.
+find_path(CURL_INCLUDE_DIR NAMES curl/curl.h)
+mark_as_advanced(CURL_INCLUDE_DIR)
+
+# Look for the library (sorted from most current/relevant entry to least).
+find_library(CURL_LIBRARY NAMES
+    curl
+  # Windows MSVC prebuilts:
+    curllib
+    libcurl_imp
+    curllib_static
+  # Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip):
+    libcurl
+)
+mark_as_advanced(CURL_LIBRARY)
+
+if(CURL_INCLUDE_DIR)
+  foreach(_curl_version_header curlver.h curl.h)
+    if(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}")
+      file(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
+
+      string(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
+      unset(curl_version_str)
+      break()
+    endif()
+  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)
+
+if(CURL_FOUND)
+  set(CURL_LIBRARIES ${CURL_LIBRARY})
+  set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR})
+endif()
diff --git a/share/cmake-3.10/Modules/FindCVS.cmake b/share/cmake-3.10/Modules/FindCVS.cmake
new file mode 100644
index 0000000..d59dfb0
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCVS.cmake
@@ -0,0 +1,72 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCVS
+# -------
+#
+#
+#
+# The module defines the following variables:
+#
+# ::
+#
+#    CVS_EXECUTABLE - path to cvs command line client
+#    CVS_FOUND - true if the command line client was found
+#
+# Example usage:
+#
+# ::
+#
+#    find_package(CVS)
+#    if(CVS_FOUND)
+#      message("CVS found: ${CVS_EXECUTABLE}")
+#    endif()
+
+# CVSNT
+
+get_filename_component(
+  CVSNT_TypeLib_Win32
+  "[HKEY_CLASSES_ROOT\\TypeLib\\{2BDF7A65-0BFE-4B1A-9205-9AB900C7D0DA}\\1.0\\0\\win32]"
+  PATH)
+
+get_filename_component(
+  CVSNT_Services_EventMessagePath
+  "[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Eventlog\\Application\\cvsnt;EventMessageFile]"
+  PATH)
+
+# WinCVS (in case CVSNT was installed in the same directory)
+
+get_filename_component(
+  WinCVS_Folder_Command
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Folder\\shell\\wincvs\\command]"
+  PATH)
+
+# TortoiseCVS (in case CVSNT was installed in the same directory)
+
+get_filename_component(
+  TortoiseCVS_Folder_Command
+  "[HKEY_CLASSES_ROOT\\CVS\\shell\\open\\command]"
+  PATH)
+
+get_filename_component(
+  TortoiseCVS_DefaultIcon
+  "[HKEY_CLASSES_ROOT\\CVS\\DefaultIcon]"
+  PATH)
+
+find_program(CVS_EXECUTABLE cvs
+  ${TortoiseCVS_DefaultIcon}
+  ${TortoiseCVS_Folder_Command}
+  ${WinCVS_Folder_Command}
+  ${CVSNT_Services_EventMessagePath}
+  ${CVSNT_TypeLib_Win32}
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\CVS\\Pserver;InstallPath]"
+  DOC "CVS command line client"
+  )
+mark_as_advanced(CVS_EXECUTABLE)
+
+# Handle the QUIETLY and REQUIRED arguments and set CVS_FOUND to TRUE if
+# all listed variables are TRUE
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(CVS DEFAULT_MSG CVS_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindCoin3D.cmake b/share/cmake-3.10/Modules/FindCoin3D.cmake
new file mode 100644
index 0000000..f11903d
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCoin3D.cmake
@@ -0,0 +1,76 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCoin3D
+# ----------
+#
+# Find Coin3D (Open Inventor)
+#
+# Coin3D is an implementation of the Open Inventor API.  It provides
+# data structures and algorithms for 3D visualization.
+#
+# This module defines the following variables
+#
+# ::
+#
+#   COIN3D_FOUND         - system has Coin3D - Open Inventor
+#   COIN3D_INCLUDE_DIRS  - where the Inventor include directory can be found
+#   COIN3D_LIBRARIES     - Link to this to use Coin3D
+
+if (WIN32)
+  if (CYGWIN)
+
+    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
+    find_library(COIN3D_LIBRARIES Coin)
+
+  else ()
+
+    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
+    )
+
+    find_library(COIN3D_LIBRARY_DEBUG coin2d
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
+    )
+
+    find_library(COIN3D_LIBRARY_RELEASE coin2
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
+    )
+
+    if (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
+      set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
+                           debug ${COIN3D_LIBRARY_DEBUG})
+    else ()
+      if (COIN3D_LIBRARY_DEBUG)
+        set (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
+      endif ()
+      if (COIN3D_LIBRARY_RELEASE)
+        set (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
+      endif ()
+    endif ()
+
+  endif ()
+
+else ()
+  if(APPLE)
+    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
+     /Library/Frameworks/Inventor.framework/Headers
+    )
+    find_library(COIN3D_LIBRARIES Coin
+      /Library/Frameworks/Inventor.framework/Libraries
+    )
+    set(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
+  else()
+
+    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
+    find_library(COIN3D_LIBRARIES Coin)
+
+  endif()
+
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Coin3D DEFAULT_MSG COIN3D_LIBRARIES COIN3D_INCLUDE_DIRS)
+
+mark_as_advanced(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
diff --git a/share/cmake-3.10/Modules/FindCups.cmake b/share/cmake-3.10/Modules/FindCups.cmake
new file mode 100644
index 0000000..13d3b98
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCups.cmake
@@ -0,0 +1,67 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCups
+# --------
+#
+# Try to find the Cups printing system
+#
+# Once done this will define
+#
+# ::
+#
+#   CUPS_FOUND - system has Cups
+#   CUPS_INCLUDE_DIR - the Cups include directory
+#   CUPS_LIBRARIES - Libraries needed to use Cups
+#   CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
+#   Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
+#   features this function (i.e. at least 1.1.19)
+
+find_path(CUPS_INCLUDE_DIR cups/cups.h )
+
+find_library(CUPS_LIBRARIES NAMES cups )
+
+if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+    include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
+    include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+    cmake_push_check_state()
+    set(CMAKE_REQUIRED_QUIET ${Cups_FIND_QUIETLY})
+
+    # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
+    CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute "" CUPS_HAS_IPP_DELETE_ATTRIBUTE)
+    cmake_pop_check_state()
+endif ()
+
+if (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
+    file(STRINGS "${CUPS_INCLUDE_DIR}/cups/cups.h" cups_version_str
+         REGEX "^#[\t ]*define[\t ]+CUPS_VERSION_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
+
+    unset(CUPS_VERSION_STRING)
+    foreach(VPART MAJOR MINOR PATCH)
+        foreach(VLINE ${cups_version_str})
+            if(VLINE MATCHES "^#[\t ]*define[\t ]+CUPS_VERSION_${VPART}[\t ]+([0-9]+)$")
+                set(CUPS_VERSION_PART "${CMAKE_MATCH_1}")
+                if(CUPS_VERSION_STRING)
+                    string(APPEND CUPS_VERSION_STRING ".${CUPS_VERSION_PART}")
+                else()
+                    set(CUPS_VERSION_STRING "${CUPS_VERSION_PART}")
+                endif()
+            endif()
+        endforeach()
+    endforeach()
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+if (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
+                                      REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR CUPS_HAS_IPP_DELETE_ATTRIBUTE
+                                      VERSION_VAR CUPS_VERSION_STRING)
+else ()
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
+                                      REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR
+                                      VERSION_VAR CUPS_VERSION_STRING)
+endif ()
+
+mark_as_advanced(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
diff --git a/share/cmake-3.10/Modules/FindCurses.cmake b/share/cmake-3.10/Modules/FindCurses.cmake
new file mode 100644
index 0000000..4f59d2c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCurses.cmake
@@ -0,0 +1,254 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCurses
+# ----------
+#
+# Find the curses or ncurses include file and library.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables:
+#
+# ``CURSES_FOUND``
+#   True if Curses is found.
+# ``CURSES_INCLUDE_DIRS``
+#   The include directories needed to use Curses.
+# ``CURSES_LIBRARIES``
+#   The libraries needed to use Curses.
+# ``CURSES_HAVE_CURSES_H``
+#   True if curses.h is available.
+# ``CURSES_HAVE_NCURSES_H``
+#   True if ncurses.h is available.
+# ``CURSES_HAVE_NCURSES_NCURSES_H``
+#   True if ``ncurses/ncurses.h`` is available.
+# ``CURSES_HAVE_NCURSES_CURSES_H``
+#   True if ``ncurses/curses.h`` is available.
+#
+# Set ``CURSES_NEED_NCURSES`` to ``TRUE`` before the
+# ``find_package(Curses)`` call if NCurses functionality is required.
+# Set ``CURSES_NEED_WIDE`` to ``TRUE`` before the
+# ``find_package(Curses)`` call if unicode functionality is required.
+#
+# Backward Compatibility
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variable are provided for backward compatibility:
+#
+# ``CURSES_INCLUDE_DIR``
+#   Path to Curses include.  Use ``CURSES_INCLUDE_DIRS`` instead.
+# ``CURSES_LIBRARY``
+#   Path to Curses library.  Use ``CURSES_LIBRARIES`` instead.
+
+include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
+
+# we don't know anything about cursesw, so only ncurses
+# may be ncursesw
+if(NOT CURSES_NEED_WIDE)
+  set(NCURSES_LIBRARY_NAME "ncurses")
+else()
+  set(NCURSES_LIBRARY_NAME "ncursesw")
+  # Also, if we are searchig fo wide curses - we are actually searching
+  # for ncurses, we don't know about any other unicode version.
+  set(CURSES_NEED_NCURSES TRUE)
+endif()
+
+find_library(CURSES_CURSES_LIBRARY NAMES curses )
+
+find_library(CURSES_NCURSES_LIBRARY NAMES "${NCURSES_LIBRARY_NAME}" )
+set(CURSES_USE_NCURSES FALSE)
+
+if(CURSES_NCURSES_LIBRARY  AND ((NOT CURSES_CURSES_LIBRARY) OR CURSES_NEED_NCURSES))
+  set(CURSES_USE_NCURSES TRUE)
+endif()
+# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html
+# cygwin ncurses stopped providing curses.h symlinks see above
+# message.  Cygwin is an ncurses package, so force ncurses on
+# cygwin if the curses.h is missing
+if(CYGWIN)
+  if (CURSES_NEED_WIDE)
+    if(NOT EXISTS /usr/include/ncursesw/curses.h)
+      set(CURSES_USE_NCURSES TRUE)
+    endif()
+  else()
+    if(NOT EXISTS /usr/include/curses.h)
+      set(CURSES_USE_NCURSES TRUE)
+    endif()
+  endif()
+endif()
+
+
+# Not sure the logic is correct here.
+# If NCurses is required, use the function wsyncup() to check if the library
+# has NCurses functionality (at least this is where it breaks on NetBSD).
+# If wsyncup is in curses, use this one.
+# If not, try to find ncurses and check if this has the symbol.
+# Once the ncurses library is found, search the ncurses.h header first, but
+# some web pages also say that even with ncurses there is not always a ncurses.h:
+# http://osdir.com/ml/gnome.apps.mc.devel/2002-06/msg00029.html
+# So at first try ncurses.h, if not found, try to find curses.h under the same
+# prefix as the library was found, if still not found, try curses.h with the
+# default search paths.
+if(CURSES_CURSES_LIBRARY  AND  CURSES_NEED_NCURSES)
+  include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+  cmake_push_check_state()
+  set(CMAKE_REQUIRED_QUIET ${Curses_FIND_QUIETLY})
+  CHECK_LIBRARY_EXISTS("${CURSES_CURSES_LIBRARY}"
+    wsyncup "" CURSES_CURSES_HAS_WSYNCUP)
+
+  if(CURSES_NCURSES_LIBRARY  AND NOT  CURSES_CURSES_HAS_WSYNCUP)
+    CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}"
+      wsyncup "" CURSES_NCURSES_HAS_WSYNCUP)
+    if( CURSES_NCURSES_HAS_WSYNCUP)
+      set(CURSES_USE_NCURSES TRUE)
+    endif()
+  endif()
+  cmake_pop_check_state()
+
+endif()
+
+if(CURSES_USE_NCURSES)
+  get_filename_component(_cursesLibDir "${CURSES_NCURSES_LIBRARY}" PATH)
+  get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
+
+  # Use CURSES_NCURSES_INCLUDE_PATH if set, for compatibility.
+  if(CURSES_NCURSES_INCLUDE_PATH)
+    if (CURSES_NEED_WIDE)
+      find_path(CURSES_INCLUDE_PATH
+        NAMES ncursesw/ncurses.h ncursesw/curses.h
+        PATHS ${CURSES_NCURSES_INCLUDE_PATH}
+        NO_DEFAULT_PATH
+        )
+    else()
+      find_path(CURSES_INCLUDE_PATH
+        NAMES ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h
+        PATHS ${CURSES_NCURSES_INCLUDE_PATH}
+        NO_DEFAULT_PATH
+        )
+    endif()
+  endif()
+
+  if (CURSES_NEED_WIDE)
+    find_path(CURSES_INCLUDE_PATH
+      NAMES ncursesw/ncurses.h ncursesw/curses.h
+      HINTS "${_cursesParentDir}/include"
+      )
+  else()
+    find_path(CURSES_INCLUDE_PATH
+      NAMES ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h
+      HINTS "${_cursesParentDir}/include"
+      )
+   endif()
+
+  # Previous versions of FindCurses provided these values.
+  if(NOT DEFINED CURSES_LIBRARY)
+    set(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}")
+  endif()
+
+  CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}"
+    cbreak "" CURSES_NCURSES_HAS_CBREAK)
+  if(NOT CURSES_NCURSES_HAS_CBREAK)
+    find_library(CURSES_EXTRA_LIBRARY tinfo HINTS "${_cursesLibDir}")
+    find_library(CURSES_EXTRA_LIBRARY tinfo )
+  endif()
+else()
+  get_filename_component(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
+  get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
+
+  #We can't find anything with CURSES_NEED_WIDE because we know
+  #only about ncursesw unicode curses version
+  if(NOT CURSES_NEED_WIDE)
+    find_path(CURSES_INCLUDE_PATH
+      NAMES curses.h
+      HINTS "${_cursesParentDir}/include"
+      )
+  endif()
+
+  # Previous versions of FindCurses provided these values.
+  if(NOT DEFINED CURSES_CURSES_H_PATH)
+    set(CURSES_CURSES_H_PATH "${CURSES_INCLUDE_PATH}")
+  endif()
+  if(NOT DEFINED CURSES_LIBRARY)
+    set(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}")
+  endif()
+endif()
+
+# Report whether each possible header name exists in the include directory.
+if(NOT DEFINED CURSES_HAVE_NCURSES_NCURSES_H)
+  if(CURSES_NEED_WIDE)
+    if(EXISTS "${CURSES_INCLUDE_PATH}/ncursesw/ncurses.h")
+      set(CURSES_HAVE_NCURSES_NCURSES_H "${CURSES_INCLUDE_PATH}/ncursesw/ncurses.h")
+    endif()
+  elseif(EXISTS "${CURSES_INCLUDE_PATH}/ncurses/ncurses.h")
+    set(CURSES_HAVE_NCURSES_NCURSES_H "${CURSES_INCLUDE_PATH}/ncurses/ncurses.h")
+  endif()
+  if(NOT DEFINED CURSES_HAVE_NCURSES_NCURSES_H)
+    set(CURSES_HAVE_NCURSES_NCURSES_H "CURSES_HAVE_NCURSES_NCURSES_H-NOTFOUND")
+  endif()
+endif()
+if(NOT DEFINED CURSES_HAVE_NCURSES_CURSES_H)
+  if(CURSES_NEED_WIDE)
+    if(EXISTS "${CURSES_INCLUDE_PATH}/ncursesw/curses.h")
+      set(CURSES_HAVE_NCURSES_CURSES_H "${CURSES_INCLUDE_PATH}/ncursesw/curses.h")
+    endif()
+  elseif(EXISTS "${CURSES_INCLUDE_PATH}/ncurses/curses.h")
+    set(CURSES_HAVE_NCURSES_CURSES_H "${CURSES_INCLUDE_PATH}/ncurses/curses.h")
+  endif()
+  if(NOT DEFINED CURSES_HAVE_NCURSES_CURSES_H)
+    set(CURSES_HAVE_NCURSES_CURSES_H "CURSES_HAVE_NCURSES_CURSES_H-NOTFOUND")
+  endif()
+endif()
+if(NOT CURSES_NEED_WIDE)
+  #ncursesw can't be found for this paths
+  if(NOT DEFINED CURSES_HAVE_NCURSES_H)
+    if(EXISTS "${CURSES_INCLUDE_PATH}/ncurses.h")
+      set(CURSES_HAVE_NCURSES_H "${CURSES_INCLUDE_PATH}/ncurses.h")
+    else()
+      set(CURSES_HAVE_NCURSES_H "CURSES_HAVE_NCURSES_H-NOTFOUND")
+    endif()
+  endif()
+  if(NOT DEFINED CURSES_HAVE_CURSES_H)
+    if(EXISTS "${CURSES_INCLUDE_PATH}/curses.h")
+      set(CURSES_HAVE_CURSES_H "${CURSES_INCLUDE_PATH}/curses.h")
+    else()
+      set(CURSES_HAVE_CURSES_H "CURSES_HAVE_CURSES_H-NOTFOUND")
+    endif()
+  endif()
+endif()
+
+find_library(CURSES_FORM_LIBRARY form HINTS "${_cursesLibDir}")
+find_library(CURSES_FORM_LIBRARY form )
+
+# Previous versions of FindCurses provided these values.
+if(NOT DEFINED FORM_LIBRARY)
+  set(FORM_LIBRARY "${CURSES_FORM_LIBRARY}")
+endif()
+
+# Need to provide the *_LIBRARIES
+set(CURSES_LIBRARIES ${CURSES_LIBRARY})
+
+if(CURSES_EXTRA_LIBRARY)
+  set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_EXTRA_LIBRARY})
+endif()
+
+if(CURSES_FORM_LIBRARY)
+  set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_FORM_LIBRARY})
+endif()
+
+# Provide the *_INCLUDE_DIRS result.
+set(CURSES_INCLUDE_DIRS ${CURSES_INCLUDE_PATH})
+set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH}) # compatibility
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses DEFAULT_MSG
+  CURSES_LIBRARY CURSES_INCLUDE_PATH)
+
+mark_as_advanced(
+  CURSES_INCLUDE_PATH
+  CURSES_CURSES_LIBRARY
+  CURSES_NCURSES_LIBRARY
+  CURSES_EXTRA_LIBRARY
+  CURSES_FORM_LIBRARY
+  )
diff --git a/share/cmake-3.10/Modules/FindCxxTest.cmake b/share/cmake-3.10/Modules/FindCxxTest.cmake
new file mode 100644
index 0000000..9ba1ff3
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCxxTest.cmake
@@ -0,0 +1,246 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCxxTest
+# -----------
+#
+# Find CxxTest
+#
+# Find the CxxTest suite and declare a helper macro for creating unit
+# tests and integrating them with CTest.  For more details on CxxTest
+# see http://cxxtest.tigris.org
+#
+# INPUT Variables
+#
+# ::
+#
+#    CXXTEST_USE_PYTHON [deprecated since 1.3]
+#        Only used in the case both Python & Perl
+#        are detected on the system to control
+#        which CxxTest code generator is used.
+#        Valid only for CxxTest version 3.
+#
+#
+#
+# ::
+#
+#        NOTE: In older versions of this Find Module,
+#        this variable controlled if the Python test
+#        generator was used instead of the Perl one,
+#        regardless of which scripting language the
+#        user had installed.
+#
+#
+#
+# ::
+#
+#    CXXTEST_TESTGEN_ARGS (since CMake 2.8.3)
+#        Specify a list of options to pass to the CxxTest code
+#        generator.  If not defined, --error-printer is
+#        passed.
+#
+#
+#
+# OUTPUT Variables
+#
+# ::
+#
+#    CXXTEST_FOUND
+#        True if the CxxTest framework was found
+#    CXXTEST_INCLUDE_DIRS
+#        Where to find the CxxTest include directory
+#    CXXTEST_PERL_TESTGEN_EXECUTABLE
+#        The perl-based test generator
+#    CXXTEST_PYTHON_TESTGEN_EXECUTABLE
+#        The python-based test generator
+#    CXXTEST_TESTGEN_EXECUTABLE (since CMake 2.8.3)
+#        The test generator that is actually used (chosen using user preferences
+#        and interpreters found in the system)
+#    CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
+#        The full path to the Perl or Python executable on the system, on
+#        platforms where the script cannot be executed using its shebang line.
+#
+#
+#
+# MACROS for optional use by CMake users:
+#
+# ::
+#
+#     CXXTEST_ADD_TEST(<test_name> <gen_source_file> <input_files_to_testgen...>)
+#        Creates a CxxTest runner and adds it to the CTest testing suite
+#        Parameters:
+#            test_name               The name of the test
+#            gen_source_file         The generated source filename to be
+#                                    generated by CxxTest
+#            input_files_to_testgen  The list of header files containing the
+#                                    CxxTest::TestSuite's to be included in
+#                                    this runner
+#
+#
+#
+# ::
+#
+#        #==============
+#        Example Usage:
+#
+#
+#
+# ::
+#
+#            find_package(CxxTest)
+#            if(CXXTEST_FOUND)
+#                include_directories(${CXXTEST_INCLUDE_DIR})
+#                enable_testing()
+#
+#
+#
+# ::
+#
+#                CXXTEST_ADD_TEST(unittest_foo foo_test.cc
+#                                  ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
+#                target_link_libraries(unittest_foo foo) # as needed
+#            endif()
+#
+#
+#
+# ::
+#
+#               This will (if CxxTest is found):
+#               1. Invoke the testgen executable to autogenerate foo_test.cc in the
+#                  binary tree from "foo_test.h" in the current source directory.
+#               2. Create an executable and test called unittest_foo.
+#
+#
+#
+# ::
+#
+#       #=============
+#       Example foo_test.h:
+#
+#
+#
+# ::
+#
+#           #include <cxxtest/TestSuite.h>
+#
+#
+#
+# ::
+#
+#           class MyTestSuite : public CxxTest::TestSuite
+#           {
+#           public:
+#              void testAddition( void )
+#              {
+#                 TS_ASSERT( 1 + 1 > 1 );
+#                 TS_ASSERT_EQUALS( 1 + 1, 2 );
+#              }
+#           };
+
+# Version 1.4 (11/18/10) (CMake 2.8.4)
+#     Issue 11384: Added support to the CXX_ADD_TEST macro so header
+#                  files (containing the tests themselves) show up in
+#                  Visual Studio and other IDEs.
+#
+# Version 1.3 (8/19/10) (CMake 2.8.3)
+#     Included patch by Simone Rossetto to check if either Python or Perl
+#     are present in the system.  Whichever intepreter that is detected
+#     is now used to run the test generator program.  If both interpreters
+#     are detected, the CXXTEST_USE_PYTHON variable is obeyed.
+#
+#     Also added support for CXXTEST_TESTGEN_ARGS, for manually specifying
+#     options to the CxxTest code generator.
+# Version 1.2 (3/2/08)
+#     Included patch from Tyler Roscoe to have the perl & python binaries
+#     detected based on CXXTEST_INCLUDE_DIR
+# Version 1.1 (2/9/08)
+#     Clarified example to illustrate need to call target_link_libraries()
+#     Changed commands to lowercase
+#     Added licensing info
+# Version 1.0 (1/8/08)
+#     Fixed CXXTEST_INCLUDE_DIRS so it will work properly
+#     Eliminated superfluous CXXTEST_FOUND assignment
+#     Cleaned up and added more documentation
+
+#=============================================================
+# CXXTEST_ADD_TEST (public macro)
+#=============================================================
+macro(CXXTEST_ADD_TEST _cxxtest_testname _cxxtest_outfname)
+    set(_cxxtest_real_outfname ${CMAKE_CURRENT_BINARY_DIR}/${_cxxtest_outfname})
+
+    add_custom_command(
+        OUTPUT  ${_cxxtest_real_outfname}
+        DEPENDS ${ARGN}
+        COMMAND ${CXXTEST_TESTGEN_INTERPRETER}
+        ${CXXTEST_TESTGEN_EXECUTABLE} ${CXXTEST_TESTGEN_ARGS} -o ${_cxxtest_real_outfname} ${ARGN}
+    )
+
+    set_source_files_properties(${_cxxtest_real_outfname} PROPERTIES GENERATED true)
+    add_executable(${_cxxtest_testname} ${_cxxtest_real_outfname} ${ARGN})
+
+    if(CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+        add_test(${_cxxtest_testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_cxxtest_testname})
+    elseif(EXECUTABLE_OUTPUT_PATH)
+        add_test(${_cxxtest_testname} ${EXECUTABLE_OUTPUT_PATH}/${_cxxtest_testname})
+    else()
+        add_test(${_cxxtest_testname} ${CMAKE_CURRENT_BINARY_DIR}/${_cxxtest_testname})
+    endif()
+
+endmacro()
+
+#=============================================================
+# main()
+#=============================================================
+if(NOT DEFINED CXXTEST_TESTGEN_ARGS)
+   set(CXXTEST_TESTGEN_ARGS --error-printer)
+endif()
+
+find_package(PythonInterp QUIET)
+find_package(Perl QUIET)
+
+find_path(CXXTEST_INCLUDE_DIR cxxtest/TestSuite.h)
+find_program(CXXTEST_PYTHON_TESTGEN_EXECUTABLE
+         NAMES cxxtestgen cxxtestgen.py
+         PATHS ${CXXTEST_INCLUDE_DIR})
+find_program(CXXTEST_PERL_TESTGEN_EXECUTABLE cxxtestgen.pl
+         PATHS ${CXXTEST_INCLUDE_DIR})
+
+if(PYTHONINTERP_FOUND OR PERL_FOUND)
+   include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+   if(PYTHONINTERP_FOUND AND (CXXTEST_USE_PYTHON OR NOT PERL_FOUND OR NOT DEFINED CXXTEST_USE_PYTHON))
+      set(CXXTEST_TESTGEN_EXECUTABLE ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE})
+      execute_process(COMMAND ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --version
+        OUTPUT_VARIABLE _CXXTEST_OUT ERROR_VARIABLE _CXXTEST_OUT RESULT_VARIABLE _CXXTEST_RESULT)
+      if(_CXXTEST_RESULT EQUAL 0)
+        set(CXXTEST_TESTGEN_INTERPRETER "")
+      else()
+        set(CXXTEST_TESTGEN_INTERPRETER ${PYTHON_EXECUTABLE})
+      endif()
+      FIND_PACKAGE_HANDLE_STANDARD_ARGS(CxxTest DEFAULT_MSG
+          CXXTEST_INCLUDE_DIR CXXTEST_PYTHON_TESTGEN_EXECUTABLE)
+
+   elseif(PERL_FOUND)
+      set(CXXTEST_TESTGEN_EXECUTABLE ${CXXTEST_PERL_TESTGEN_EXECUTABLE})
+      set(CXXTEST_TESTGEN_INTERPRETER ${PERL_EXECUTABLE})
+      FIND_PACKAGE_HANDLE_STANDARD_ARGS(CxxTest DEFAULT_MSG
+          CXXTEST_INCLUDE_DIR CXXTEST_PERL_TESTGEN_EXECUTABLE)
+   endif()
+
+   if(CXXTEST_FOUND)
+      set(CXXTEST_INCLUDE_DIRS ${CXXTEST_INCLUDE_DIR})
+   endif()
+
+else()
+
+   set(CXXTEST_FOUND false)
+   if(NOT CxxTest_FIND_QUIETLY)
+      if(CxxTest_FIND_REQUIRED)
+         message(FATAL_ERROR "Neither Python nor Perl found, cannot use CxxTest, aborting!")
+      else()
+         message(STATUS "Neither Python nor Perl found, CxxTest will not be used.")
+      endif()
+   endif()
+
+endif()
diff --git a/share/cmake-3.10/Modules/FindCygwin.cmake b/share/cmake-3.10/Modules/FindCygwin.cmake
new file mode 100644
index 0000000..092a3bd
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindCygwin.cmake
@@ -0,0 +1,26 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindCygwin
+# ----------
+#
+# this module looks for Cygwin
+
+if (WIN32)
+  if(CYGWIN_INSTALL_PATH)
+    set(CYGWIN_BAT "${CYGWIN_INSTALL_PATH}/cygwin.bat")
+  endif()
+
+  find_program(CYGWIN_BAT
+    NAMES cygwin.bat
+    PATHS
+      "C:/Cygwin"
+      "C:/Cygwin64"
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygwin\\setup;rootdir]"
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/;native]"
+  )
+  get_filename_component(CYGWIN_INSTALL_PATH "${CYGWIN_BAT}" DIRECTORY)
+  mark_as_advanced(CYGWIN_BAT)
+
+endif ()
diff --git a/share/cmake-3.10/Modules/FindDCMTK.cmake b/share/cmake-3.10/Modules/FindDCMTK.cmake
new file mode 100644
index 0000000..0d86e8e
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindDCMTK.cmake
@@ -0,0 +1,328 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindDCMTK
+# ---------
+#
+# Find DCMTK libraries and applications
+#
+# The module defines the following variables::
+#
+#  DCMTK_INCLUDE_DIRS  - Directories to include to use DCMTK
+#  DCMTK_LIBRARIES     - Files to link against to use DCMTK
+#  DCMTK_FOUND         - If false, don't try to use DCMTK
+#  DCMTK_DIR           - (optional) Source directory for DCMTK
+#
+# Compatibility
+# ^^^^^^^^^^^^^
+#
+# This module is able to find a version of DCMTK that does or does not export
+# a *DCMTKConfig.cmake* file. It applies a two step process:
+#
+# * Step 1:  Attempt to find DCMTK version providing a *DCMTKConfig.cmake* file.
+# * Step 2:  If step 1 failed, rely on *FindDCMTK.cmake* to set `DCMTK_*` variables details below.
+#
+#
+# `Recent DCMTK
+# <http://git.dcmtk.org/web?p=dcmtk.git;a=commit;h=662ae187c493c6b9a73dd5e3875372cebd0c11fe>`_
+# provides a *DCMTKConfig.cmake* :manual:`package configuration file
+# <cmake-packages(7)>`. To exclusively use the package configuration file
+# (recommended when possible), pass the `NO_MODULE` option to
+# :command:`find_package`. For example, `find_package(DCMTK NO_MODULE)`.
+# This requires official DCMTK snapshot *3.6.1_20140617* or newer.
+#
+#
+# Until all clients update to the more recent DCMTK, build systems will need
+# to support different versions of DCMTK.
+#
+# On any given system, the following combinations of DCMTK versions could be
+# considered:
+#
+# +--------+---------------------+-----------------------+-------------------+
+# |        |   SYSTEM DCMTK      |      LOCAL DCMTK      |     Supported ?   |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case A |   NA                |      [ ] DCMTKConfig  |         YES       |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case B |   NA                |      [X] DCMTKConfig  |         YES       |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case C |   [ ] DCMTKConfig   |      NA               |         YES       |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case D |   [X] DCMTKConfig   |      NA               |         YES       |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case E |   [ ] DCMTKConfig   |      [ ] DCMTKConfig  |         YES (*)   |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case F |   [X] DCMTKConfig   |      [ ] DCMTKConfig  |         NO        |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case G |   [ ] DCMTKConfig   |      [X] DCMTKConfig  |         YES       |
+# +--------+---------------------+-----------------------+-------------------+
+# | Case H |   [X] DCMTKConfig   |      [X] DCMTKConfig  |         YES       |
+# +--------+---------------------+-----------------------+-------------------+
+#
+#  (*) See Troubleshooting section.
+#
+# Legend:
+#
+#   NA ...............: Means that no System or Local DCMTK is available
+#
+#   [ ] DCMTKConfig ..: Means that the version of DCMTK does NOT export a DCMTKConfig.cmake file.
+#
+#   [X] DCMTKConfig ..: Means that the version of DCMTK exports a DCMTKConfig.cmake file.
+#
+#
+# Troubleshooting
+# ^^^^^^^^^^^^^^^
+#
+# What to do if my project finds a different version of DCMTK?
+#
+# Remove DCMTK entry from the CMake cache per :command:`find_package`
+# documentation.
+
+#
+# Written for VXL by Amitha Perera.
+# Upgraded for GDCM by Mathieu Malaterre.
+# Modified for EasyViz by Thomas Sondergaard.
+#
+
+set(_dcmtk_dir_description "The directory of DCMTK build or install tree.")
+
+# Ensure that DCMTK_DIR is set to a reasonable default value
+# so that DCMTK libraries can be found on a standard Unix distribution.
+# It also overwrite the value of DCMTK_DIR after this one has been
+# set by a successful discovery of DCMTK by the unpatched FindDCMTK.cmake module
+# distributed with CMake (as of 0167cea)
+if(NOT DCMTK_DIR OR DCMTK_DIR STREQUAL "/usr/include/dcmtk")
+  set(DCMTK_DIR "/usr" CACHE PATH ${_dcmtk_dir_description} FORCE)
+endif()
+
+set(_SAVED_DCMTK_DIR ${DCMTK_DIR})
+
+#
+# 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")
+endif()
+find_package(DCMTK QUIET NO_MODULE)
+if(DCMTK_FOUND
+    AND NOT "x" STREQUAL "x${DCMTK_LIBRARIES}"
+    AND NOT "x" STREQUAL "x${DCMTK_INCLUDE_DIRS}")
+
+  if(NOT DCMTK_FIND_QUIETLY)
+    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok")
+  endif()
+  return()
+else()
+  if(NOT DCMTK_FIND_QUIETLY)
+    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - failed")
+  endif()
+endif()
+
+if(NOT DCMTK_FIND_QUIETLY)
+  message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake")
+endif()
+
+# Restore the value reset by the previous call to 'find_package(DCMTK QUIET NO_MODULE)'
+set(DCMTK_DIR ${_SAVED_DCMTK_DIR} CACHE PATH ${_dcmtk_dir_description} FORCE)
+
+
+#
+# Step2: Attempt to find a version of DCMTK that does NOT provide a DCMTKConfig.cmake file.
+#
+
+# prefer DCMTK_DIR over default system paths like /usr/lib
+if(DCMTK_DIR)
+  set(CMAKE_PREFIX_PATH ${DCMTK_DIR}/lib ${CMAKE_PREFIX_PATH}) # this is given to FIND_LIBRARY or FIND_PATH
+endif()
+
+# Find all libraries, store debug and release separately
+foreach(lib
+    dcmpstat
+    dcmsr
+    dcmsign
+    dcmtls
+    dcmqrdb
+    dcmnet
+    dcmjpeg
+    dcmimage
+    dcmimgle
+    dcmdata
+    oflog
+    ofstd
+    ijg12
+    ijg16
+    ijg8
+    )
+
+  # Find Release libraries
+  find_library(DCMTK_${lib}_LIBRARY_RELEASE
+    ${lib}
+    PATHS
+    ${DCMTK_DIR}/${lib}/libsrc
+    ${DCMTK_DIR}/${lib}/libsrc/Release
+    ${DCMTK_DIR}/${lib}/Release
+    ${DCMTK_DIR}/lib
+    ${DCMTK_DIR}/lib/Release
+    ${DCMTK_DIR}/dcmjpeg/lib${lib}/Release
+    NO_DEFAULT_PATH
+    )
+
+  # Find Debug libraries
+  find_library(DCMTK_${lib}_LIBRARY_DEBUG
+    ${lib}${DCMTK_CMAKE_DEBUG_POSTFIX}
+    PATHS
+    ${DCMTK_DIR}/${lib}/libsrc
+    ${DCMTK_DIR}/${lib}/libsrc/Debug
+    ${DCMTK_DIR}/${lib}/Debug
+    ${DCMTK_DIR}/lib
+    ${DCMTK_DIR}/lib/Debug
+    ${DCMTK_DIR}/dcmjpeg/lib${lib}/Debug
+    NO_DEFAULT_PATH
+    )
+
+  mark_as_advanced(DCMTK_${lib}_LIBRARY_RELEASE)
+  mark_as_advanced(DCMTK_${lib}_LIBRARY_DEBUG)
+
+  # Add libraries to variable according to build type
+  if(DCMTK_${lib}_LIBRARY_RELEASE)
+    list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
+  endif()
+
+  if(DCMTK_${lib}_LIBRARY_DEBUG)
+    list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
+  endif()
+
+endforeach()
+
+set(CMAKE_THREAD_LIBS_INIT)
+if(DCMTK_oflog_LIBRARY_RELEASE OR DCMTK_oflog_LIBRARY_DEBUG)
+  # Hack - Not having a DCMTKConfig.cmake file to read the settings from, we will attempt to
+  # find the library in all cases.
+  # Ideally, pthread library should be discovered only if DCMTK_WITH_THREADS is enabled.
+  set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+  find_package(Threads)
+endif()
+
+if(CMAKE_THREAD_LIBS_INIT)
+  list(APPEND DCMTK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
+endif()
+
+#
+# SPECIFIC CASE FOR DCMTK BUILD DIR as DCMTK_DIR
+# (as opposed to a DCMTK install dir)
+# Have to find the source directory.
+if(EXISTS ${DCMTK_DIR}/CMakeCache.txt)
+          load_cache(${DCMTK_DIR} READ_WITH_PREFIX "EXT"
+          DCMTK_SOURCE_DIR)
+  if(NOT EXISTS ${EXTDCMTK_SOURCE_DIR})
+    message(FATAL_ERROR
+      "DCMTK build directory references
+nonexistant DCMTK source directory ${EXTDCMTK_SOURCE_DIR}")
+  endif()
+endif()
+
+set(DCMTK_config_TEST_HEADER osconfig.h)
+set(DCMTK_dcmdata_TEST_HEADER dctypes.h)
+set(DCMTK_dcmimage_TEST_HEADER dicoimg.h)
+set(DCMTK_dcmimgle_TEST_HEADER dcmimage.h)
+set(DCMTK_dcmjpeg_TEST_HEADER djdecode.h)
+set(DCMTK_dcmnet_TEST_HEADER assoc.h)
+set(DCMTK_dcmpstat_TEST_HEADER dcmpstat.h)
+set(DCMTK_dcmqrdb_TEST_HEADER dcmqrdba.h)
+set(DCMTK_dcmsign_TEST_HEADER sicert.h)
+set(DCMTK_dcmsr_TEST_HEADER dsrtree.h)
+set(DCMTK_dcmtls_TEST_HEADER tlslayer.h)
+set(DCMTK_ofstd_TEST_HEADER ofstdinc.h)
+set(DCMTK_oflog_TEST_HEADER oflog.h)
+set(DCMTK_dcmjpls_TEST_HEADER djlsutil.h)
+
+set(DCMTK_INCLUDE_DIR_NAMES)
+
+foreach(dir
+    config
+    dcmdata
+    dcmimage
+    dcmimgle
+    dcmjpeg
+    dcmjpls
+    dcmnet
+    dcmpstat
+    dcmqrdb
+    dcmsign
+    dcmsr
+    dcmtls
+    ofstd
+    oflog)
+  if(EXTDCMTK_SOURCE_DIR)
+    set(SOURCE_DIR_PATH
+      ${EXTDCMTK_SOURCE_DIR}/${dir}/include/dcmtk/${dir})
+  endif()
+  find_path(DCMTK_${dir}_INCLUDE_DIR
+    ${DCMTK_${dir}_TEST_HEADER}
+    PATHS
+    ${DCMTK_DIR}/${dir}/include
+    ${DCMTK_DIR}/${dir}
+    ${DCMTK_DIR}/include/dcmtk/${dir}
+    ${DCMTK_DIR}/${dir}/include/dcmtk/${dir}
+    ${DCMTK_DIR}/include/${dir}
+    ${SOURCE_DIR_PATH}
+    )
+  mark_as_advanced(DCMTK_${dir}_INCLUDE_DIR)
+  list(APPEND DCMTK_INCLUDE_DIR_NAMES DCMTK_${dir}_INCLUDE_DIR)
+
+  if(DCMTK_${dir}_INCLUDE_DIR)
+    # add the 'include' path so eg
+    #include "dcmtk/dcmimgle/dcmimage.h"
+    # works
+    get_filename_component(_include ${DCMTK_${dir}_INCLUDE_DIR} PATH)
+    get_filename_component(_include ${_include} PATH)
+    list(APPEND
+      DCMTK_INCLUDE_DIRS
+      ${DCMTK_${dir}_INCLUDE_DIR}
+      ${_include})
+  endif()
+endforeach()
+
+list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_DIR}/include)
+
+if(WIN32)
+  list(APPEND DCMTK_LIBRARIES netapi32 wsock32)
+endif()
+
+if(DCMTK_ofstd_INCLUDE_DIR)
+  get_filename_component(DCMTK_dcmtk_INCLUDE_DIR
+    ${DCMTK_ofstd_INCLUDE_DIR}
+    PATH
+    CACHE)
+  list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_dcmtk_INCLUDE_DIR})
+  mark_as_advanced(DCMTK_dcmtk_INCLUDE_DIR)
+endif()
+
+# Compatibility: This variable is deprecated
+set(DCMTK_INCLUDE_DIR ${DCMTK_INCLUDE_DIRS})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(DCMTK
+  REQUIRED_VARS ${DCMTK_INCLUDE_DIR_NAMES} DCMTK_LIBRARIES
+  FAIL_MESSAGE "Please set DCMTK_DIR and re-run configure")
+
+# Workaround bug in packaging of DCMTK 3.6.0 on Debian.
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637687
+if(DCMTK_FOUND AND UNIX AND NOT APPLE)
+  include(CheckCXXSourceCompiles)
+  set(CMAKE_REQUIRED_FLAGS )
+  set(CMAKE_REQUIRED_DEFINITIONS )
+  set(CMAKE_REQUIRED_INCLUDES ${DCMTK_INCLUDE_DIRS})
+  set(CMAKE_REQUIRED_LIBRARIES ${DCMTK_LIBRARIES})
+  set(CMAKE_REQUIRED_QUIET ${DCMTK_FIND_QUIETLY})
+  check_cxx_source_compiles("#include <dcmtk/config/osconfig.h>\n#include <dcmtk/ofstd/ofstream.h>\nint main(int,char*[]){return 0;}"
+    DCMTK_HAVE_CONFIG_H_OPTIONAL
+    )
+  if(NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
+    set(DCMTK_DEFINITIONS "HAVE_CONFIG_H")
+  endif()
+endif()
+
+if(NOT DCMTK_FIND_QUIETLY)
+  message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake - ok")
+endif()
diff --git a/share/cmake-3.10/Modules/FindDart.cmake b/share/cmake-3.10/Modules/FindDart.cmake
new file mode 100644
index 0000000..acd4ef6
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindDart.cmake
@@ -0,0 +1,32 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindDart
+# --------
+#
+# Find DART
+#
+# This module looks for the dart testing software and sets DART_ROOT to
+# point to where it found it.
+
+find_path(DART_ROOT README.INSTALL
+    HINTS
+      ENV DART_ROOT
+    PATHS
+      ${PROJECT_SOURCE_DIR}
+      /usr/share
+      C:/
+      "C:/Program Files"
+      ${PROJECT_SOURCE_DIR}/..
+      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Dart\\InstallPath]
+      ENV ProgramFiles
+    PATH_SUFFIXES
+      Dart
+    DOC "If you have Dart installed, where is it located?"
+    )
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Dart DEFAULT_MSG DART_ROOT)
+
+mark_as_advanced(DART_ROOT)
diff --git a/share/cmake-3.10/Modules/FindDevIL.cmake b/share/cmake-3.10/Modules/FindDevIL.cmake
new file mode 100644
index 0000000..f6c8e3f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindDevIL.cmake
@@ -0,0 +1,74 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindDevIL
+# ---------
+#
+#
+#
+# This module locates the developer's image library.
+# http://openil.sourceforge.net/
+#
+# This module sets:
+#
+# ::
+#
+#    IL_LIBRARIES -   the name of the IL library. These include the full path to
+#                     the core DevIL library. This one has to be linked into the
+#                     application.
+#    ILU_LIBRARIES -  the name of the ILU library. Again, the full path. This
+#                     library is for filters and effects, not actual loading. It
+#                     doesn't have to be linked if the functionality it provides
+#                     is not used.
+#    ILUT_LIBRARIES - the name of the ILUT library. Full path. This part of the
+#                     library interfaces with OpenGL. It is not strictly needed
+#                     in applications.
+#    IL_INCLUDE_DIR - where to find the il.h, ilu.h and ilut.h files.
+#    DevIL_FOUND    - this is set to TRUE if all the above variables were set.
+#                     This will be set to false if ILU or ILUT are not found,
+#                     even if they are not needed. In most systems, if one
+#                     library is found all the others are as well. That's the
+#                     way the DevIL developers release it.
+
+# TODO: Add version support.
+# Tested under Linux and Windows (MSVC)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+find_path(IL_INCLUDE_DIR il.h
+  PATH_SUFFIXES include IL
+  DOC "The path to the directory that contains il.h"
+)
+
+#message("IL_INCLUDE_DIR is ${IL_INCLUDE_DIR}")
+
+find_library(IL_LIBRARIES
+  NAMES IL DEVIL
+  PATH_SUFFIXES libx32 lib64 lib lib32
+  DOC "The file that corresponds to the base il library."
+)
+
+#message("IL_LIBRARIES is ${IL_LIBRARIES}")
+
+find_library(ILUT_LIBRARIES
+  NAMES ILUT
+  PATH_SUFFIXES libx32 lib64 lib lib32
+  DOC "The file that corresponds to the il (system?) utility library."
+)
+
+#message("ILUT_LIBRARIES is ${ILUT_LIBRARIES}")
+
+find_library(ILU_LIBRARIES
+  NAMES ILU
+  PATH_SUFFIXES libx32 lib64 lib lib32
+  DOC "The file that corresponds to the il utility library."
+)
+
+#message("ILU_LIBRARIES is ${ILU_LIBRARIES}")
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(DevIL DEFAULT_MSG
+                                  IL_LIBRARIES ILU_LIBRARIES
+                                  IL_INCLUDE_DIR)
+# provide legacy variable for compatiblity
+set(IL_FOUND ${DevIL_FOUND})
diff --git a/share/cmake-3.10/Modules/FindDoxygen.cmake b/share/cmake-3.10/Modules/FindDoxygen.cmake
new file mode 100644
index 0000000..d0dd0f1
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindDoxygen.cmake
@@ -0,0 +1,1054 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindDoxygen
+-----------
+
+Doxygen is a documentation generation tool (see http://www.doxygen.org).
+This module looks for Doxygen and some optional tools it supports. These
+tools are enabled as components in the :command:`find_package` command:
+
+``dot``
+  `Graphviz <http://graphviz.org>`_ ``dot`` utility used to render various
+  graphs.
+``mscgen``
+  `Message Chart Generator <http://www.mcternan.me.uk/mscgen/>`_ utility used
+  by Doxygen's ``\msc`` and ``\mscfile`` commands.
+``dia``
+  `Dia <https://wiki.gnome.org/Apps/Dia>`_ the diagram editor used by Doxygen's
+  ``\diafile`` command.
+
+Examples:
+
+.. code-block:: cmake
+
+  # Require dot, treat the other components as optional
+  find_package(Doxygen
+               REQUIRED dot
+               OPTIONAL_COMPONENTS mscgen dia)
+
+The following variables are defined by this module:
+
+.. variable:: DOXYGEN_FOUND
+
+  True if the ``doxygen`` executable was found.
+
+.. variable:: DOXYGEN_VERSION
+
+  The version reported by ``doxygen --version``.
+
+The module defines ``IMPORTED`` targets for Doxygen and each component found.
+These can be used as part of custom commands, etc. and should be preferred over
+old-style (and now deprecated) variables like ``DOXYGEN_EXECUTABLE``. The
+following import targets are defined if their corresponding executable could be
+found (the component import targets will only be defined if that component was
+requested):
+
+::
+
+  Doxygen::doxygen
+  Doxygen::dot
+  Doxygen::mscgen
+  Doxygen::dia
+
+
+Functions
+^^^^^^^^^
+
+.. command:: doxygen_add_docs
+
+  This function is intended as a convenience for adding a target for generating
+  documentation with Doxygen. It aims to provide sensible defaults so that
+  projects can generally just provide the input files and directories and that
+  will be sufficient to give sensible results. The function supports the
+  ability to customize the Doxygen configuration used to build the
+  documentation.
+
+  ::
+
+    doxygen_add_docs(targetName
+        [filesOrDirs...]
+        [WORKING_DIRECTORY dir]
+        [COMMENT comment])
+
+  The function constructs a ``Doxyfile`` and defines a custom target that runs
+  Doxygen on that generated file. The listed files and directories are used as
+  the ``INPUT`` of the generated ``Doxyfile`` and they can contain wildcards.
+  Any files that are listed explicitly will also be added as ``SOURCES`` of the
+  custom target so they will show up in an IDE project's source list.
+
+  So that relative input paths work as expected, by default the working
+  directory of the Doxygen command will be the current source directory (i.e.
+  :variable:`CMAKE_CURRENT_SOURCE_DIR`). This can be overridden with the
+  ``WORKING_DIRECTORY`` option to change the directory used as the relative
+  base point. Note also that Doxygen's default behavior is to strip the working
+  directory from relative paths in the generated documentation (see the
+  ``STRIP_FROM_PATH`` `Doxygen config option
+  <http://www.doxygen.org/manual/config.html>`_ for details).
+
+  If provided, the optional ``comment`` will be passed as the ``COMMENT`` for
+  the :command:`add_custom_target` command used to create the custom target
+  internally.
+
+  The contents of the generated ``Doxyfile`` can be customized by setting CMake
+  variables before calling ``doxygen_add_docs()``. Any variable with a name of
+  the form ``DOXYGEN_<tag>`` will have its value substituted for the
+  corresponding ``<tag>`` configuration option in the ``Doxyfile``. See the
+  `Doxygen documentation <http://www.doxygen.org/manual/config.html>`_ for the
+  full list of supported configuration options.
+
+  Some of Doxygen's defaults are overridden to provide more appropriate
+  behavior for a CMake project. Each of the following will be explicitly set
+  unless the variable already has a value before ``doxygen_add_docs()`` is
+  called (with some exceptions noted):
+
+  .. variable:: DOXYGEN_HAVE_DOT
+
+    Set to ``YES`` if the ``dot`` component was requested and it was found,
+    ``NO`` otherwise. Any existing value of ``DOXYGEN_HAVE_DOT`` is ignored.
+
+  .. variable:: DOXYGEN_DOT_MULTI_TARGETS
+
+    Set to ``YES`` by this module (note that this requires a ``dot`` version
+    newer than 1.8.10). This option is only meaningful if ``DOXYGEN_HAVE_DOT``
+    is also set to ``YES``.
+
+  .. variable:: DOXYGEN_GENERATE_LATEX
+
+    Set to ``NO`` by this module.
+
+  .. variable:: DOXYGEN_WARN_FORMAT
+
+    For Visual Studio based generators, this is set to the form recognized by
+    the Visual Studio IDE: ``$file($line) : $text``. For all other generators,
+    Doxygen's default value is not overridden.
+
+  .. variable:: DOXYGEN_PROJECT_NAME
+
+    Populated with the name of the current project (i.e.
+    :variable:`PROJECT_NAME`).
+
+  .. variable:: DOXYGEN_PROJECT_NUMBER
+
+    Populated with the version of the current project (i.e.
+    :variable:`PROJECT_VERSION`).
+
+  .. variable:: DOXYGEN_PROJECT_BRIEF
+
+    Populated with the description of the current project (i.e.
+    :variable:`PROJECT_DESCRIPTION`).
+
+  .. variable:: DOXYGEN_INPUT
+
+    Projects should not set this variable. It will be populated with the set of
+    files and directories passed to ``doxygen_add_docs()``, thereby providing
+    consistent behavior with the other built-in commands like
+    :command:`add_executable`, :command:`add_library` and
+    :command:`add_custom_target`. If a variable named ``DOXYGEN_INPUT`` is set
+    by the project, it will be ignored and a warning will be issued.
+
+  .. variable:: DOXYGEN_RECURSIVE
+
+    Set to ``YES`` by this module.
+
+  .. variable:: DOXYGEN_EXCLUDE_PATTERNS
+
+    If the set of inputs includes directories, this variable will specify
+    patterns used to exclude files from them. The following patterns are added
+    by ``doxygen_add_docs()`` to ensure CMake-specific files and directories
+    are not included in the input. If the project sets
+    ``DOXYGEN_EXCLUDE_PATTERNS``, those contents are merged with these
+    additional patterns rather than replacing them:
+
+    ::
+
+      */.git/*
+      */.svn/*
+      */.hg/*
+      */CMakeFiles/*
+      */_CPack_Packages/*
+      DartConfiguration.tcl
+      CMakeLists.txt
+      CMakeCache.txt
+
+  .. variable:: DOXYGEN_OUTPUT_DIRECTORY
+
+    Set to :variable:`CMAKE_CURRENT_BINARY_DIR` by this module. Note that if
+    the project provides its own value for this and it is a relative path, it
+    will be converted to an absolute path relative to the current binary
+    directory. This is necessary because doxygen will normally be run from a
+    directory within the source tree so that relative source paths work as
+    expected. If this directory does not exist, it will be recursively created
+    prior to executing the doxygen commands.
+
+To change any of these defaults or override any other Doxygen config option,
+set relevant variables before calling ``doxygen_add_docs()``. For example:
+
+  .. code-block:: cmake
+
+    set(DOXYGEN_GENERATE_HTML NO)
+    set(DOXYGEN_GENERATE_MAN YES)
+
+    doxygen_add_docs(
+        doxygen
+        ${PROJECT_SOURCE_DIR}
+        COMMENT "Generate man pages"
+    )
+
+A number of Doxygen config options accept lists of values, but Doxygen requires
+them to be separated by whitespace. CMake variables hold lists as a string with
+items separated by semi-colons, so a conversion needs to be performed. The
+``doxygen_add_docs()`` command specifically checks the following Doxygen config
+options and will convert their associated CMake variable's contents into the
+required form if set.
+
+::
+
+  ABBREVIATE_BRIEF
+  ALIASES
+  CITE_BIB_FILES
+  DIAFILE_DIRS
+  DOTFILE_DIRS
+  DOT_FONTPATH
+  ENABLED_SECTIONS
+  EXAMPLE_PATH
+  EXAMPLE_PATTERNS
+  EXCLUDE
+  EXCLUDE_PATTERNS
+  EXCLUDE_SYMBOLS
+  EXPAND_AS_DEFINED
+  EXTENSION_MAPPING
+  EXTRA_PACKAGES
+  EXTRA_SEARCH_MAPPINGS
+  FILE_PATTERNS
+  FILTER_PATTERNS
+  FILTER_SOURCE_PATTERNS
+  HTML_EXTRA_FILES
+  HTML_EXTRA_STYLESHEET
+  IGNORE_PREFIX
+  IMAGE_PATH
+  INCLUDE_FILE_PATTERNS
+  INCLUDE_PATH
+  INPUT
+  LATEX_EXTRA_FILES
+  LATEX_EXTRA_STYLESHEET
+  MATHJAX_EXTENSIONS
+  MSCFILE_DIRS
+  PLANTUML_INCLUDE_PATH
+  PREDEFINED
+  QHP_CUST_FILTER_ATTRS
+  QHP_SECT_FILTER_ATTRS
+  STRIP_FROM_INC_PATH
+  STRIP_FROM_PATH
+  TAGFILES
+  TCL_SUBST
+
+The following single value Doxygen options would be quoted automatically
+if they contain at least one space:
+
+::
+
+  CHM_FILE
+  DIA_PATH
+  DOCBOOK_OUTPUT
+  DOCSET_FEEDNAME
+  DOCSET_PUBLISHER_NAME
+  DOT_FONTNAME
+  DOT_PATH
+  EXTERNAL_SEARCH_ID
+  FILE_VERSION_FILTER
+  GENERATE_TAGFILE
+  HHC_LOCATION
+  HTML_FOOTER
+  HTML_HEADER
+  HTML_OUTPUT
+  HTML_STYLESHEET
+  INPUT_FILTER
+  LATEX_FOOTER
+  LATEX_HEADER
+  LATEX_OUTPUT
+  LAYOUT_FILE
+  MAN_OUTPUT
+  MAN_SUBDIR
+  MATHJAX_CODEFILE
+  MSCGEN_PATH
+  OUTPUT_DIRECTORY
+  PERL_PATH
+  PLANTUML_JAR_PATH
+  PROJECT_BRIEF
+  PROJECT_LOGO
+  PROJECT_NAME
+  QCH_FILE
+  QHG_LOCATION
+  QHP_CUST_FILTER_NAME
+  QHP_VIRTUAL_FOLDER
+  RTF_EXTENSIONS_FILE
+  RTF_OUTPUT
+  RTF_STYLESHEET_FILE
+  SEARCHDATA_FILE
+  USE_MDFILE_AS_MAINPAGE
+  WARN_FORMAT
+  WARN_LOGFILE
+  XML_OUTPUT
+
+Deprecated Result Variables
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For compatibility with previous versions of CMake, the following variables
+are also defined but they are deprecated and should no longer be used:
+
+.. variable:: DOXYGEN_EXECUTABLE
+
+  The path to the ``doxygen`` command. If projects need to refer to the
+  ``doxygen`` executable directly, they should use the ``Doxygen::doxygen``
+  import target instead.
+
+.. variable:: DOXYGEN_DOT_FOUND
+
+  True if the ``dot`` executable was found.
+
+.. variable:: DOXYGEN_DOT_EXECUTABLE
+
+  The path to the ``dot`` command. If projects need to refer to the ``dot``
+  executable directly, they should use the ``Doxygen::dot`` import target
+  instead.
+
+.. variable:: DOXYGEN_DOT_PATH
+
+  The path to the directory containing the ``dot`` executable as reported in
+  ``DOXYGEN_DOT_EXECUTABLE``. The path may have forward slashes even on Windows
+  and is not suitable for direct substitution into a ``Doxyfile.in`` template.
+  If you need this value, get the :prop_tgt:`IMPORTED_LOCATION` property of the
+  ``Doxygen::dot`` target and use :command:`get_filename_component` to extract
+  the directory part of that path. You may also want to consider using
+  :command:`file(TO_NATIVE_PATH)` to prepare the path for a Doxygen
+  configuration file.
+
+
+Deprecated Hint Variables
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. variable:: DOXYGEN_SKIP_DOT
+
+  This variable has no any effect for component form of ``find_package``.
+  In backward compatibility mode (i.e. without components list) it prevents
+  the finder module from searching for Graphviz's ``dot`` utility.
+
+#]=======================================================================]
+
+# For backwards compatibility support
+if(Doxygen_FIND_QUIETLY)
+    set(DOXYGEN_FIND_QUIETLY TRUE)
+endif()
+
+# ===== Rationale for OS X AppBundle mods below =====
+#  With the OS X GUI version, Doxygen likes to be installed to /Applications
+#  and it contains the doxygen executable in the bundle. In the versions I've
+#  seen, it is located in Resources, but in general, more often binaries are
+#  located in MacOS.
+#
+#  NOTE: The official Doxygen.app distributed for OS X uses non-standard
+#  conventions. Instead of the command-line "doxygen" tool being placed in
+#  Doxygen.app/Contents/MacOS, "Doxywizard" is placed there instead and
+#  "doxygen" is placed in Contents/Resources.  This is most likely done
+#  so that something happens when people double-click on the Doxygen.app
+#  package. Unfortunately, CMake gets confused by this as when it sees the
+#  bundle it uses "Doxywizard" as the executable to use instead of
+#  "doxygen". Therefore to work-around this issue we temporarily disable
+#  the app-bundle feature, just for this CMake module:
+#
+if(APPLE)
+    # Save the old setting
+    set(TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
+    # Disable the App-bundle detection feature
+    set(CMAKE_FIND_APPBUNDLE "NEVER")
+endif()
+# FYI:
+# In older versions of OS X Doxygen, dot was included with the Doxygen bundle,
+# but newer versions require you to download Graphviz.app which contains "dot"
+# or use something like homebrew.
+# ============== End OSX stuff ================
+
+#
+# Find Doxygen...
+#
+macro(_Doxygen_find_doxygen)
+    find_program(
+        DOXYGEN_EXECUTABLE
+        NAMES doxygen
+        PATHS
+            "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\doxygen_is1;Inno Setup: App Path]/bin"
+            /Applications/Doxygen.app/Contents/Resources
+            /Applications/Doxygen.app/Contents/MacOS
+        DOC "Doxygen documentation generation tool (http://www.doxygen.org)"
+    )
+    mark_as_advanced(DOXYGEN_EXECUTABLE)
+
+    if(DOXYGEN_EXECUTABLE)
+        execute_process(
+            COMMAND "${DOXYGEN_EXECUTABLE}" --version
+            OUTPUT_VARIABLE DOXYGEN_VERSION
+            OUTPUT_STRIP_TRAILING_WHITESPACE
+            RESULT_VARIABLE _Doxygen_version_result
+        )
+        if(_Doxygen_version_result)
+            message(WARNING "Unable to determine doxygen version: ${_Doxygen_version_result}")
+        endif()
+
+        # Create an imported target for Doxygen
+        if(NOT TARGET Doxygen::doxygen)
+            add_executable(Doxygen::doxygen IMPORTED GLOBAL)
+            set_target_properties(Doxygen::doxygen PROPERTIES
+                IMPORTED_LOCATION "${DOXYGEN_EXECUTABLE}"
+            )
+        endif()
+    endif()
+endmacro()
+
+#
+# Find Diagram Editor...
+#
+macro(_Doxygen_find_dia)
+    set(_x86 "(x86)")
+    find_program(
+        DOXYGEN_DIA_EXECUTABLE
+        NAMES dia
+        PATHS
+            "$ENV{ProgramFiles}/Dia"
+            "$ENV{ProgramFiles${_x86}}/Dia"
+        DOC "Diagram Editor tool for use with Doxygen"
+    )
+    mark_as_advanced(DOXYGEN_DIA_EXECUTABLE)
+
+    if(DOXYGEN_DIA_EXECUTABLE)
+        # The Doxyfile wants the path to the utility, not the entire path
+        # including file name
+        get_filename_component(DOXYGEN_DIA_PATH
+                              "${DOXYGEN_DIA_EXECUTABLE}"
+                              DIRECTORY)
+        if(WIN32)
+            file(TO_NATIVE_PATH "${DOXYGEN_DIA_PATH}" DOXYGEN_DIA_PATH)
+        endif()
+
+        # Create an imported target for component
+        if(NOT TARGET Doxygen::dia)
+            add_executable(Doxygen::dia IMPORTED GLOBAL)
+            set_target_properties(Doxygen::dia PROPERTIES
+                IMPORTED_LOCATION "${DOXYGEN_DIA_EXECUTABLE}"
+            )
+        endif()
+    endif()
+
+    unset(_x86)
+endmacro()
+
+#
+# Find Graphviz Dot...
+#
+macro(_Doxygen_find_dot)
+    set(_x86 "(x86)")
+    file(
+        GLOB _Doxygen_GRAPHVIZ_BIN_DIRS
+        "$ENV{ProgramFiles}/Graphviz*/bin"
+        "$ENV{ProgramFiles${_x86}}/Graphviz*/bin"
+    )
+    find_program(
+        DOXYGEN_DOT_EXECUTABLE
+        NAMES dot
+        PATHS
+            ${_Doxygen_GRAPHVIZ_BIN_DIRS}
+            "$ENV{ProgramFiles}/ATT/Graphviz/bin"
+            "C:/Program Files/ATT/Graphviz/bin"
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin
+            /Applications/Graphviz.app/Contents/MacOS
+            /Applications/Doxygen.app/Contents/Resources
+            /Applications/Doxygen.app/Contents/MacOS
+        DOC "Dot tool for use with Doxygen"
+    )
+    mark_as_advanced(DOXYGEN_DOT_EXECUTABLE)
+
+    if(DOXYGEN_DOT_EXECUTABLE)
+        # The Doxyfile wants the path to the utility, not the entire path
+        # including file name
+        get_filename_component(DOXYGEN_DOT_PATH
+                               "${DOXYGEN_DOT_EXECUTABLE}"
+                               DIRECTORY)
+        if(WIN32)
+            file(TO_NATIVE_PATH "${DOXYGEN_DOT_PATH}" DOXYGEN_DOT_PATH)
+        endif()
+
+        # Create an imported target for component
+        if(NOT TARGET Doxygen::dot)
+            add_executable(Doxygen::dot IMPORTED GLOBAL)
+            set_target_properties(Doxygen::dot PROPERTIES
+                IMPORTED_LOCATION "${DOXYGEN_DOT_EXECUTABLE}"
+            )
+        endif()
+    endif()
+
+    unset(_Doxygen_GRAPHVIZ_BIN_DIRS)
+    unset(_x86)
+endmacro()
+
+#
+# Find Message Sequence Chart...
+#
+macro(_Doxygen_find_mscgen)
+    set(_x86 "(x86)")
+    find_program(
+        DOXYGEN_MSCGEN_EXECUTABLE
+        NAMES mscgen
+        PATHS
+            "$ENV{ProgramFiles}/Mscgen"
+            "$ENV{ProgramFiles${_x86}}/Mscgen"
+        DOC "Message sequence chart tool for use with Doxygen"
+    )
+    mark_as_advanced(DOXYGEN_MSCGEN_EXECUTABLE)
+
+    if(DOXYGEN_MSCGEN_EXECUTABLE)
+        # The Doxyfile wants the path to the utility, not the entire path
+        # including file name
+        get_filename_component(DOXYGEN_MSCGEN_PATH
+                               "${DOXYGEN_MSCGEN_EXECUTABLE}"
+                               DIRECTORY)
+        if(WIN32)
+            file(TO_NATIVE_PATH "${DOXYGEN_MSCGEN_PATH}" DOXYGEN_MSCGEN_PATH)
+        endif()
+
+        # Create an imported target for component
+        if(NOT TARGET Doxygen::mscgen)
+            add_executable(Doxygen::mscgen IMPORTED GLOBAL)
+            set_target_properties(Doxygen::mscgen PROPERTIES
+                IMPORTED_LOCATION "${DOXYGEN_MSCGEN_EXECUTABLE}"
+            )
+        endif()
+    endif()
+
+    unset(_x86)
+endmacro()
+
+# Make sure `doxygen` is one of the components to find
+set(_Doxygen_keep_backward_compat FALSE)
+if(NOT Doxygen_FIND_COMPONENTS)
+    # Search at least for `doxygen` executable
+    set(Doxygen_FIND_COMPONENTS doxygen)
+    # Preserve backward compatibility:
+    # search for `dot` also if `DOXYGEN_SKIP_DOT` is not explicitly disable this.
+    if(NOT DOXYGEN_SKIP_DOT)
+        list(APPEND Doxygen_FIND_COMPONENTS dot)
+    endif()
+    set(_Doxygen_keep_backward_compat TRUE)
+elseif(NOT doxygen IN_LIST Doxygen_FIND_COMPONENTS)
+    list(INSERT Doxygen_FIND_COMPONENTS 0 doxygen)
+endif()
+
+#
+# Find all requested components of Doxygen...
+#
+foreach(_comp IN LISTS Doxygen_FIND_COMPONENTS)
+    if(_comp STREQUAL "doxygen")
+        _Doxygen_find_doxygen()
+    elseif(_comp STREQUAL "dia")
+        _Doxygen_find_dia()
+    elseif(_comp STREQUAL "dot")
+        _Doxygen_find_dot()
+    elseif(_comp STREQUAL "mscgen")
+        _Doxygen_find_mscgen()
+    else()
+        message(WARNING "${_comp} is not a valid Doxygen component")
+        set(Doxygen_${_comp}_FOUND FALSE)
+        continue()
+    endif()
+
+    if(TARGET Doxygen::${_comp})
+        set(Doxygen_${_comp}_FOUND TRUE)
+    else()
+        set(Doxygen_${_comp}_FOUND FALSE)
+    endif()
+endforeach()
+unset(_comp)
+
+# Verify find results
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(
+    Doxygen
+    REQUIRED_VARS DOXYGEN_EXECUTABLE
+    VERSION_VAR DOXYGEN_VERSION
+    HANDLE_COMPONENTS
+)
+
+#
+# Backwards compatibility...
+#
+if(APPLE)
+    # Restore the old app-bundle setting
+    set(CMAKE_FIND_APPBUNDLE ${TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE})
+endif()
+
+# Maintain the _FOUND variables as "YES" or "NO" for backwards
+# compatibility. This allows people to substitute them directly into
+# Doxyfile with configure_file().
+if(DOXYGEN_FOUND)
+    set(DOXYGEN_FOUND "YES")
+else()
+    set(DOXYGEN_FOUND "NO")
+endif()
+if(_Doxygen_keep_backward_compat)
+    if(Doxygen_dot_FOUND)
+        set(DOXYGEN_DOT_FOUND "YES")
+    else()
+        set(DOXYGEN_DOT_FOUND "NO")
+    endif()
+
+    # For backwards compatibility support for even older CMake versions
+    set(DOXYGEN ${DOXYGEN_EXECUTABLE})
+    set(DOT ${DOXYGEN_DOT_EXECUTABLE})
+
+    # No need to keep any backward compatibility for `DOXYGEN_MSCGEN_XXX`
+    # and `DOXYGEN_DIA_XXX` since they were not supported before component
+    # support was added
+endif()
+unset(_Doxygen_keep_backward_compat)
+
+#
+# Allow full control of Doxygen from CMakeLists.txt
+#
+
+# Prepare a template Doxyfile and Doxygen's default values CMake file
+if(TARGET Doxygen::doxygen)
+    # If doxygen was found, use it to generate a minimal default Doxyfile.
+    # We will delete this file after we have finished using it below to
+    # generate the other files that doxygen_add_docs() will use.
+    set(_Doxygen_tpl "${CMAKE_BINARY_DIR}/CMakeDoxyfile.tpl")
+    execute_process(
+        COMMAND "${DOXYGEN_EXECUTABLE}" -s -g "${_Doxygen_tpl}"
+        OUTPUT_QUIET
+        RESULT_VARIABLE _Doxygen_tpl_result
+    )
+    if(_Doxygen_tpl_result)
+        message(FATAL_ERROR
+                "Unable to generate Doxyfile template: ${_Doxygen_tpl_result}")
+    elseif(NOT EXISTS "${_Doxygen_tpl}")
+        message(FATAL_ERROR
+                "Doxygen has failed to generate a Doxyfile template")
+    endif()
+
+    # Write a do-not-edit header to files we are going to generate...
+    set(_Doxygen_dne_header
+[[
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+]]
+    )
+    # We only need one copy of these across the whole build, since their
+    # content is only dependent on the version of Doxygen being used. Therefore
+    # we always put them at the top of the build tree so that they are in a
+    # predictable location.
+    set(_doxyfile_in       "${CMAKE_BINARY_DIR}/CMakeDoxyfile.in")
+    set(_doxyfile_defaults "${CMAKE_BINARY_DIR}/CMakeDoxygenDefaults.cmake")
+
+    file(WRITE "${_doxyfile_in}"       ${_Doxygen_dne_header})
+    file(WRITE "${_doxyfile_defaults}" ${_Doxygen_dne_header})
+
+    # Get strings containing a configuration key from the template Doxyfile
+    # we obtained from this version of Doxygen. Because some options are split
+    # across multiple lines by ending lines with backslashes, we cannot just
+    # use file(STRINGS...) with a REGEX. Instead, read lines without a REGEX
+    # so that file(STRINGS...) handles the trailing backslash as a line
+    # continuation. It stores multi-lines as lists, so we then have to replace
+    # the ";" list separator with backslashed newlines again so that we get the
+    # original content stored back as the value part.
+    file(STRINGS "${_Doxygen_tpl}" _file_lines)
+    unset(_Doxygen_tpl_params)
+    foreach(_line IN LISTS _file_lines)
+        if(_line MATCHES "([A-Z][A-Z0-9_]+)( *=)(.*)")
+            set(_key "${CMAKE_MATCH_1}")
+            set(_eql "${CMAKE_MATCH_2}")
+            string(REPLACE ";" "\\\n" _value "${CMAKE_MATCH_3}")
+            list(APPEND _Doxygen_tpl_params "${_key}${_eql}${_value}")
+        endif()
+    endforeach()
+
+    # Build up a Doxyfile that provides @configVar@ substitutions for each
+    # Doxygen config option as well as a separate CMake script which provides
+    # the default value for each of those options if the project doesn't supply
+    # them. Each config option will support substitution of a CMake variable
+    # of the same name except with DOXYGEN_ prepended.
+    foreach(_Doxygen_param IN LISTS _Doxygen_tpl_params)
+        if(_Doxygen_param MATCHES "([A-Z][A-Z0-9_]+)( *)=( (.*))?")
+            # Ok, this is a config key with a value
+            if(CMAKE_MATCH_COUNT EQUAL 4)
+                file(APPEND "${_doxyfile_in}"
+                    "${CMAKE_MATCH_1}${CMAKE_MATCH_2}= @DOXYGEN_${CMAKE_MATCH_1}@\n")
+                # Remove the backslashes we had to preserve to handle newlines
+                string(REPLACE "\\\n" "\n" _value "${CMAKE_MATCH_4}")
+                file(APPEND "${_doxyfile_defaults}"
+"if(NOT DEFINED DOXYGEN_${CMAKE_MATCH_1})
+    set(DOXYGEN_${CMAKE_MATCH_1} ${_value})
+endif()
+")
+            # Ok, this is a config key with empty default value
+            elseif(CMAKE_MATCH_COUNT EQUAL 2)
+                file(APPEND "${_doxyfile_in}"
+                    "${CMAKE_MATCH_1}${CMAKE_MATCH_2}= @DOXYGEN_${CMAKE_MATCH_1}@\n")
+            else()
+                message(AUTHOR_WARNING
+"Unexpected line format! Code review required!\nFault line: ${_Doxygen_param}")
+            endif()
+        else()
+            message(AUTHOR_WARNING
+"Unexpected line format! Code review required!\nFault line: ${_Doxygen_param}")
+        endif()
+    endforeach()
+
+    # Ok, dumped defaults are not needed anymore...
+    file(REMOVE "${_Doxygen_tpl}")
+
+    unset(_Doxygen_param)
+    unset(_Doxygen_tpl_params)
+    unset(_Doxygen_dne_header)
+    unset(_Doxygen_tpl)
+
+endif()
+
+function(doxygen_quote_value VARIABLE)
+    # Quote a value of the given variable if:
+    # - variable parameter was really given
+    # - a variable it points is defined
+    # - a value doesn't quoted already
+    # - and it has spaces
+    if(VARIABLE AND DEFINED ${VARIABLE} AND
+       NOT ${VARIABLE} MATCHES "^\".* .*\"$" AND ${VARIABLE} MATCHES " ")
+        set(${VARIABLE} "\"${${VARIABLE}}\"" PARENT_SCOPE)
+    endif()
+endfunction()
+
+function(doxygen_list_to_quoted_strings LIST_VARIABLE)
+    if(LIST_VARIABLE AND DEFINED ${LIST_VARIABLE})
+        unset(_inputs)
+        unset(_sep)
+        foreach(_in IN LISTS ${LIST_VARIABLE})
+            doxygen_quote_value(_in)
+            string(APPEND _inputs "${_sep}${_in}")
+            set(_sep " ")
+        endforeach()
+        set(${LIST_VARIABLE} "${_inputs}" PARENT_SCOPE)
+    endif()
+endfunction()
+
+function(doxygen_add_docs targetName)
+    set(_options)
+    set(_one_value_args WORKING_DIRECTORY COMMENT)
+    set(_multi_value_args)
+    cmake_parse_arguments(_args
+                          "${_options}"
+                          "${_one_value_args}"
+                          "${_multi_value_args}"
+                          ${ARGN})
+
+    if(NOT _args_COMMENT)
+        set(_args_COMMENT "Generate API documentation for ${targetName}")
+    endif()
+
+    if(NOT _args_WORKING_DIRECTORY)
+        set(_args_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+    endif()
+
+    if(DEFINED DOXYGEN_INPUT)
+        message(WARNING
+"DOXYGEN_INPUT is set but it will be ignored. Pass the files and directories \
+directly to the doxygen_add_docs() command instead.")
+    endif()
+    set(DOXYGEN_INPUT ${_args_UNPARSED_ARGUMENTS})
+
+    if(NOT TARGET Doxygen::doxygen)
+        message(FATAL_ERROR "Doxygen was not found, needed by \
+doxygen_add_docs() for target ${targetName}")
+    endif()
+
+    # If not already defined, set some relevant defaults based on the
+    # assumption that the documentation is for the whole project. Details
+    # specified in the project() command will be used to populate a number of
+    # these defaults.
+
+    if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+        # The PROJECT_NAME tag is a single word (or a sequence of words
+        # surrounded by double-quotes, unless you are using Doxywizard) that
+        # should identify the project for which the documentation is generated.
+        # This name is used in the title of most generated pages and in a few
+        # other places. The default value is: My Project.
+        set(DOXYGEN_PROJECT_NAME ${PROJECT_NAME})
+    endif()
+
+    if(NOT DEFINED DOXYGEN_PROJECT_NUMBER)
+        # The PROJECT_NUMBER tag can be used to enter a project or revision
+        # number. This could be handy for archiving the generated documentation
+        # or if some version control system is used.
+        set(DOXYGEN_PROJECT_NUMBER ${PROJECT_VERSION})
+    endif()
+
+    if(NOT DEFINED DOXYGEN_PROJECT_BRIEF)
+        # Using the PROJECT_BRIEF tag one can provide an optional one line
+        # description for a project that appears at the top of each page and
+        # should give viewer a quick idea about the purpose of the project.
+        # Keep the description short.
+        set(DOXYGEN_PROJECT_BRIEF "${PROJECT_DESCRIPTION}")
+    endif()
+
+    if(NOT DEFINED DOXYGEN_RECURSIVE)
+        # The RECURSIVE tag can be used to specify whether or not
+        # subdirectories should be searched for input files as well. CMake
+        # projects generally evolve to span multiple directories, so it makes
+        # more sense for this to be on by default. Doxygen's default value
+        # has this setting turned off, so we override it.
+        set(DOXYGEN_RECURSIVE YES)
+    endif()
+
+    if(NOT DEFINED DOXYGEN_OUTPUT_DIRECTORY)
+        # The OUTPUT_DIRECTORY tag is used to specify the (relative or
+        # absolute) path into which the generated documentation will be
+        # written. If a relative path is used, Doxygen will interpret it as
+        # being relative to the location where doxygen was started, but we need
+        # to run Doxygen in the source tree so that relative input paths work
+        # intuitively. Therefore, we ensure that the output directory is always
+        # an absolute path and if the project provided a relative path, we
+        # treat it as relative to the current BINARY directory so that output
+        # is not generated inside the source tree.
+        set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+    elseif(NOT IS_ABSOLUTE "${DOXYGEN_OUTPUT_DIRECTORY}")
+        get_filename_component(DOXYGEN_OUTPUT_DIRECTORY
+                               "${DOXYGEN_OUTPUT_DIRECTORY}"
+                               ABSOLUTE
+                               BASE_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+    endif()
+
+    if(NOT DEFINED DOXYGEN_HAVE_DOT)
+        # If you set the HAVE_DOT tag to YES then doxygen will assume the dot
+        # tool is available from the path. This tool is part of Graphviz (see:
+        # http://www.graphviz.org/), a graph visualization toolkit from AT&T
+        # and Lucent Bell Labs. The other options in this section have no
+        # effect if this option is set to NO.
+        # Doxygen's default value is: NO.
+        if(Doxygen_dot_FOUND)
+          set(DOXYGEN_HAVE_DOT "YES")
+        else()
+          set(DOXYGEN_HAVE_DOT "NO")
+        endif()
+    endif()
+
+    if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+        # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate
+        # multiple output files in one run (i.e. multiple -o and -T options on
+        # the command line). This makes dot run faster, but since only newer
+        # versions of dot (>1.8.10) support this, Doxygen disables this feature
+        # by default.
+        # This tag requires that the tag HAVE_DOT is set to YES.
+        set(DOXYGEN_DOT_MULTI_TARGETS YES)
+    endif()
+
+    if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+        # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX
+        # output. We only want the HTML output enabled by default, so we turn
+        # this off if the project hasn't specified it.
+        set(DOXYGEN_GENERATE_LATEX NO)
+    endif()
+
+    if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+        if(CMAKE_VS_MSBUILD_COMMAND OR CMAKE_VS_DEVENV_COMMAND)
+            # The WARN_FORMAT tag determines the format of the warning messages
+            # that doxygen can produce. The string should contain the $file,
+            # $line and $text tags, which will be replaced by the file and line
+            # number from which the warning originated and the warning text.
+            # Optionally, the format may contain $version, which will be
+            # replaced by the version of the file (if it could be obtained via
+            # FILE_VERSION_FILTER).
+            # Doxygen's default value is: $file:$line: $text
+            set(DOXYGEN_WARN_FORMAT "$file($line) : $text ")
+        endif()
+    endif()
+
+    if(DEFINED DOXYGEN_WARN_LOGFILE AND NOT IS_ABSOLUTE "${DOXYGEN_WARN_LOGFILE}")
+        # The WARN_LOGFILE tag can be used to specify a file to which warning and error
+        # messages should be written. If left blank the output is written to standard
+        # error (stderr).
+        get_filename_component(DOXYGEN_WARN_LOGFILE
+                               "${DOXYGEN_WARN_LOGFILE}"
+                               ABSOLUTE
+                               BASE_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+    endif()
+
+    # Any files from the INPUT that match any of the EXCLUDE_PATTERNS will be
+    # excluded from the set of input files. We provide some additional patterns
+    # to prevent commonly unwanted things from CMake builds being pulled in.
+    #
+    # Note that the wildcards are matched against the file with absolute path,
+    # so to exclude all test directories for example use the pattern */test/*
+    list(
+        APPEND
+        DOXYGEN_EXCLUDE_PATTERNS
+        "*/.git/*"
+        "*/.svn/*"
+        "*/.hg/*"
+        "*/CMakeFiles/*"
+        "*/_CPack_Packages/*"
+        "DartConfiguration.tcl"
+        "CMakeLists.txt"
+        "CMakeCache.txt"
+    )
+
+    # Now bring in Doxgen's defaults for those things the project has not
+    # already set and we have not provided above
+    include("${CMAKE_BINARY_DIR}/CMakeDoxygenDefaults.cmake" OPTIONAL)
+
+    # Cleanup built HTMLs on "make clean"
+    # TODO Any other dirs?
+    if(DOXYGEN_GENERATE_HTML)
+        if(IS_ABSOLUTE "${DOXYGEN_HTML_OUTPUT}")
+            set(_args_clean_html_dir "${DOXYGEN_HTML_OUTPUT}")
+        else()
+            set(_args_clean_html_dir
+                "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_HTML_OUTPUT}")
+        endif()
+        set_property(DIRECTORY APPEND PROPERTY
+            ADDITIONAL_MAKE_CLEAN_FILES "${_args_clean_html_dir}")
+    endif()
+
+    # Build up a list of files we can identify from the inputs so we can list
+    # them as SOURCES in the custom target (makes them display in IDEs). We
+    # must do this before we transform the various DOXYGEN_... variables below
+    # because we need to process DOXYGEN_INPUT as a list first.
+    unset(_sources)
+    foreach(_item IN LISTS DOXYGEN_INPUT)
+        get_filename_component(_abs_item "${_item}" ABSOLUTE
+                               BASE_DIR "${_args_WORKING_DIRECTORY}")
+        if(EXISTS "${_abs_item}" AND
+           NOT IS_DIRECTORY "${_abs_item}" AND
+           NOT IS_SYMLINK "${_abs_item}")
+            list(APPEND _sources "${_abs_item}")
+        endif()
+    endforeach()
+    if(_sources)
+        list(INSERT _sources 0 SOURCES)
+    endif()
+
+    # Transform known list type options into space separated strings.
+    set(_doxygen_list_options
+        ABBREVIATE_BRIEF
+        ALIASES
+        CITE_BIB_FILES
+        DIAFILE_DIRS
+        DOTFILE_DIRS
+        DOT_FONTPATH
+        ENABLED_SECTIONS
+        EXAMPLE_PATH
+        EXAMPLE_PATTERNS
+        EXCLUDE
+        EXCLUDE_PATTERNS
+        EXCLUDE_SYMBOLS
+        EXPAND_AS_DEFINED
+        EXTENSION_MAPPING
+        EXTRA_PACKAGES
+        EXTRA_SEARCH_MAPPINGS
+        FILE_PATTERNS
+        FILTER_PATTERNS
+        FILTER_SOURCE_PATTERNS
+        HTML_EXTRA_FILES
+        HTML_EXTRA_STYLESHEET
+        IGNORE_PREFIX
+        IMAGE_PATH
+        INCLUDE_FILE_PATTERNS
+        INCLUDE_PATH
+        INPUT
+        LATEX_EXTRA_FILES
+        LATEX_EXTRA_STYLESHEET
+        MATHJAX_EXTENSIONS
+        MSCFILE_DIRS
+        PLANTUML_INCLUDE_PATH
+        PREDEFINED
+        QHP_CUST_FILTER_ATTRS
+        QHP_SECT_FILTER_ATTRS
+        STRIP_FROM_INC_PATH
+        STRIP_FROM_PATH
+        TAGFILES
+        TCL_SUBST
+    )
+    foreach(_item IN LISTS _doxygen_list_options)
+        doxygen_list_to_quoted_strings(DOXYGEN_${_item})
+    endforeach()
+
+    # Transform known single value variables which may contain spaces, such as
+    # paths or description strings.
+    set(_doxygen_quoted_options
+        CHM_FILE
+        DIA_PATH
+        DOCBOOK_OUTPUT
+        DOCSET_FEEDNAME
+        DOCSET_PUBLISHER_NAME
+        DOT_FONTNAME
+        DOT_PATH
+        EXTERNAL_SEARCH_ID
+        FILE_VERSION_FILTER
+        GENERATE_TAGFILE
+        HHC_LOCATION
+        HTML_FOOTER
+        HTML_HEADER
+        HTML_OUTPUT
+        HTML_STYLESHEET
+        INPUT_FILTER
+        LATEX_FOOTER
+        LATEX_HEADER
+        LATEX_OUTPUT
+        LAYOUT_FILE
+        MAN_OUTPUT
+        MAN_SUBDIR
+        MATHJAX_CODEFILE
+        MSCGEN_PATH
+        OUTPUT_DIRECTORY
+        PERL_PATH
+        PLANTUML_JAR_PATH
+        PROJECT_BRIEF
+        PROJECT_LOGO
+        PROJECT_NAME
+        QCH_FILE
+        QHG_LOCATION
+        QHP_CUST_FILTER_NAME
+        QHP_VIRTUAL_FOLDER
+        RTF_EXTENSIONS_FILE
+        RTF_OUTPUT
+        RTF_STYLESHEET_FILE
+        SEARCHDATA_FILE
+        USE_MDFILE_AS_MAINPAGE
+        WARN_FORMAT
+        WARN_LOGFILE
+        XML_OUTPUT
+    )
+
+    # Store the unmodified value of DOXYGEN_OUTPUT_DIRECTORY prior to invoking
+    # doxygen_quote_value() below. This will mutate the string specifically for
+    # consumption by Doxygen's config file, which we do not want when we use it
+    # later in the custom target's commands.
+    set( _original_doxygen_output_dir ${DOXYGEN_OUTPUT_DIRECTORY} )
+
+    foreach(_item IN LISTS _doxygen_quoted_options)
+        doxygen_quote_value(DOXYGEN_${_item})
+    endforeach()
+
+    # Prepare doxygen configuration file
+    set(_doxyfile_template "${CMAKE_BINARY_DIR}/CMakeDoxyfile.in")
+    set(_target_doxyfile "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.${targetName}")
+    configure_file("${_doxyfile_template}" "${_target_doxyfile}")
+
+    # Add the target
+    add_custom_target( ${targetName} VERBATIM
+        COMMAND ${CMAKE_COMMAND} -E make_directory ${_original_doxygen_output_dir}
+        COMMAND "${DOXYGEN_EXECUTABLE}" "${_target_doxyfile}"
+        WORKING_DIRECTORY "${_args_WORKING_DIRECTORY}"
+        DEPENDS "${_target_doxyfile}"
+        COMMENT "${_args_COMMENT}"
+        ${_sources}
+    )
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindEXPAT.cmake b/share/cmake-3.10/Modules/FindEXPAT.cmake
new file mode 100644
index 0000000..39086e4
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindEXPAT.cmake
@@ -0,0 +1,79 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindEXPAT
+# ---------
+#
+# Find the native Expat headers and library.
+#
+# Imported Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` targets:
+#
+# ``EXPAT::EXPAT``
+#   The Expat ``expat`` library, if found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``EXPAT_INCLUDE_DIRS``
+#   where to find expat.h, etc.
+# ``EXPAT_LIBRARIES``
+#   the libraries to link against to use Expat.
+# ``EXPAT_FOUND``
+#   true if the Expat headers and libraries were found.
+#
+
+find_package(PkgConfig QUIET)
+
+pkg_check_modules(PC_EXPAT QUIET expat)
+
+# Look for the header file.
+find_path(EXPAT_INCLUDE_DIR NAMES expat.h HINTS ${PC_EXPAT_INCLUDE_DIRS})
+
+# Look for the library.
+find_library(EXPAT_LIBRARY NAMES expat libexpat HINTS ${PC_EXPAT_LIBRARY_DIRS})
+
+if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
+    file(STRINGS "${EXPAT_INCLUDE_DIR}/expat.h" expat_version_str
+         REGEX "^#[\t ]*define[\t ]+XML_(MAJOR|MINOR|MICRO)_VERSION[\t ]+[0-9]+$")
+
+    unset(EXPAT_VERSION_STRING)
+    foreach(VPART MAJOR MINOR MICRO)
+        foreach(VLINE ${expat_version_str})
+            if(VLINE MATCHES "^#[\t ]*define[\t ]+XML_${VPART}_VERSION[\t ]+([0-9]+)$")
+                set(EXPAT_VERSION_PART "${CMAKE_MATCH_1}")
+                if(EXPAT_VERSION_STRING)
+                    string(APPEND EXPAT_VERSION_STRING ".${EXPAT_VERSION_PART}")
+                else()
+                    set(EXPAT_VERSION_STRING "${EXPAT_VERSION_PART}")
+                endif()
+            endif()
+        endforeach()
+    endforeach()
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT
+                                  REQUIRED_VARS EXPAT_LIBRARY EXPAT_INCLUDE_DIR
+                                  VERSION_VAR EXPAT_VERSION_STRING)
+
+# Copy the results to the output variables and target.
+if(EXPAT_FOUND)
+  set(EXPAT_LIBRARIES ${EXPAT_LIBRARY})
+  set(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
+
+  if(NOT TARGET EXPAT::EXPAT)
+    add_library(EXPAT::EXPAT UNKNOWN IMPORTED)
+    set_target_properties(EXPAT::EXPAT PROPERTIES
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+      IMPORTED_LOCATION "${EXPAT_LIBRARY}"
+      INTERFACE_INCLUDE_DIRECTORIES "${EXPAT_INCLUDE_DIRS}")
+  endif()
+endif()
+
+mark_as_advanced(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindFLEX.cmake b/share/cmake-3.10/Modules/FindFLEX.cmake
new file mode 100644
index 0000000..fef7fb4
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindFLEX.cmake
@@ -0,0 +1,218 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindFLEX
+# --------
+#
+# Find flex executable and provides a macro to generate custom build rules
+#
+#
+#
+# The module defines the following variables:
+#
+# ::
+#
+#   FLEX_FOUND - true is flex executable is found
+#   FLEX_EXECUTABLE - the path to the flex executable
+#   FLEX_VERSION - the version of flex
+#   FLEX_LIBRARIES - The flex libraries
+#   FLEX_INCLUDE_DIRS - The path to the flex headers
+#
+#
+#
+# The minimum required version of flex can be specified using the
+# standard syntax, e.g.  find_package(FLEX 2.5.13)
+#
+#
+#
+# If flex is found on the system, the module provides the macro:
+#
+# ::
+#
+#   FLEX_TARGET(Name FlexInput FlexOutput
+#               [COMPILE_FLAGS <string>]
+#               [DEFINES_FILE <string>]
+#               )
+#
+# which creates a custom command to generate the <FlexOutput> file from
+# the <FlexInput> file.  If COMPILE_FLAGS option is specified, the next
+# parameter is added to the flex command line. If flex is configured to
+# output a header file, the DEFINES_FILE option may be used to specify its
+# name. Name is an alias used to get details of this custom command.
+# Indeed the macro defines the following variables:
+#
+# ::
+#
+#   FLEX_${Name}_DEFINED - true is the macro ran successfully
+#   FLEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
+#   alias for FlexOutput
+#   FLEX_${Name}_INPUT - the flex source file, an alias for ${FlexInput}
+#   FLEX_${Name}_OUTPUT_HEADER - the header flex output, if any.
+#
+#
+#
+# Flex scanners oftenly use tokens defined by Bison: the code generated
+# by Flex depends of the header generated by Bison.  This module also
+# defines a macro:
+#
+# ::
+#
+#   ADD_FLEX_BISON_DEPENDENCY(FlexTarget BisonTarget)
+#
+# which adds the required dependency between a scanner and a parser
+# where <FlexTarget> and <BisonTarget> are the first parameters of
+# respectively FLEX_TARGET and BISON_TARGET macros.
+#
+# ::
+#
+#   ====================================================================
+#   Example:
+#
+#
+#
+# ::
+#
+#    find_package(BISON)
+#    find_package(FLEX)
+#
+#
+#
+# ::
+#
+#    BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
+#    FLEX_TARGET(MyScanner lexer.l  ${CMAKE_CURRENT_BINARY_DIR}/lexer.cpp)
+#    ADD_FLEX_BISON_DEPENDENCY(MyScanner MyParser)
+#
+#
+#
+# ::
+#
+#    include_directories(${CMAKE_CURRENT_BINARY_DIR})
+#    add_executable(Foo
+#       Foo.cc
+#       ${BISON_MyParser_OUTPUTS}
+#       ${FLEX_MyScanner_OUTPUTS}
+#    )
+#   ====================================================================
+
+find_program(FLEX_EXECUTABLE NAMES flex win_flex DOC "path to the flex executable")
+mark_as_advanced(FLEX_EXECUTABLE)
+
+find_library(FL_LIBRARY NAMES fl
+  DOC "Path to the fl library")
+
+find_path(FLEX_INCLUDE_DIR FlexLexer.h
+  DOC "Path to the flex headers")
+
+mark_as_advanced(FL_LIBRARY FLEX_INCLUDE_DIR)
+
+set(FLEX_INCLUDE_DIRS ${FLEX_INCLUDE_DIR})
+set(FLEX_LIBRARIES ${FL_LIBRARY})
+
+if(FLEX_EXECUTABLE)
+
+  execute_process(COMMAND ${FLEX_EXECUTABLE} --version
+    OUTPUT_VARIABLE FLEX_version_output
+    ERROR_VARIABLE FLEX_version_error
+    RESULT_VARIABLE FLEX_version_result
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(NOT ${FLEX_version_result} EQUAL 0)
+    if(FLEX_FIND_REQUIRED)
+      message(SEND_ERROR "Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}")
+    else()
+      message("Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}\nFLEX_VERSION will not be available")
+    endif()
+  else()
+    # older versions of flex printed "/full/path/to/executable version X.Y"
+    # newer versions use "basename(executable) X.Y"
+    get_filename_component(FLEX_EXE_NAME_WE "${FLEX_EXECUTABLE}" NAME_WE)
+    get_filename_component(FLEX_EXE_EXT "${FLEX_EXECUTABLE}" EXT)
+    string(REGEX REPLACE "^.*${FLEX_EXE_NAME_WE}(${FLEX_EXE_EXT})?\"? (version )?([0-9]+[^ ]*)( .*)?$" "\\3"
+      FLEX_VERSION "${FLEX_version_output}")
+    unset(FLEX_EXE_EXT)
+    unset(FLEX_EXE_NAME_WE)
+  endif()
+
+  #============================================================
+  # FLEX_TARGET (public macro)
+  #============================================================
+  #
+  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
+      COMPILE_FLAGS
+      DEFINES_FILE
+      )
+    set(FLEX_TARGET_PARAM_MULTI_VALUE_KEYWORDS)
+
+    cmake_parse_arguments(
+      FLEX_TARGET_ARG
+      "${FLEX_TARGET_PARAM_OPTIONS}"
+      "${FLEX_TARGET_PARAM_ONE_VALUE_KEYWORDS}"
+      "${FLEX_TARGET_MULTI_VALUE_KEYWORDS}"
+      ${ARGN}
+      )
+
+    set(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>] [DEFINES_FILE <string>]")
+
+    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)
+      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})
+      endif()
+
+      add_custom_command(OUTPUT ${FLEX_TARGET_outputs}
+        COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXECUTABLE_opts} -o${Output} ${Input}
+        VERBATIM
+        DEPENDS ${Input}
+        COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}"
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_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()
+    endif()
+  endmacro()
+  #============================================================
+
+
+  #============================================================
+  # ADD_FLEX_BISON_DEPENDENCY (public macro)
+  #============================================================
+  #
+  macro(ADD_FLEX_BISON_DEPENDENCY FlexTarget BisonTarget)
+
+    if(NOT FLEX_${FlexTarget}_OUTPUTS)
+      message(SEND_ERROR "Flex target `${FlexTarget}' does not exist.")
+    endif()
+
+    if(NOT BISON_${BisonTarget}_OUTPUT_HEADER)
+      message(SEND_ERROR "Bison target `${BisonTarget}' does not exist.")
+    endif()
+
+    set_source_files_properties(${FLEX_${FlexTarget}_OUTPUTS}
+      PROPERTIES OBJECT_DEPENDS ${BISON_${BisonTarget}_OUTPUT_HEADER})
+  endmacro()
+  #============================================================
+
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLEX REQUIRED_VARS FLEX_EXECUTABLE
+                                       VERSION_VAR FLEX_VERSION)
diff --git a/share/cmake-3.10/Modules/FindFLTK.cmake b/share/cmake-3.10/Modules/FindFLTK.cmake
new file mode 100644
index 0000000..e6bd3c9
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindFLTK.cmake
@@ -0,0 +1,309 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindFLTK
+# --------
+#
+# Find the native FLTK includes and library
+#
+#
+#
+# By default FindFLTK.cmake will search for all of the FLTK components
+# and add them to the FLTK_LIBRARIES variable.
+#
+# ::
+#
+#    You can limit the components which get placed in FLTK_LIBRARIES by
+#    defining one or more of the following three options:
+#
+#
+#
+# ::
+#
+#      FLTK_SKIP_OPENGL, set to true to disable searching for opengl and
+#                        the FLTK GL library
+#      FLTK_SKIP_FORMS, set to true to disable searching for fltk_forms
+#      FLTK_SKIP_IMAGES, set to true to disable searching for fltk_images
+#
+#
+#
+# ::
+#
+#      FLTK_SKIP_FLUID, set to true if the fluid binary need not be present
+#                       at build time
+#
+#
+#
+# The following variables will be defined:
+#
+# ::
+#
+#      FLTK_FOUND, True if all components not skipped were found
+#      FLTK_INCLUDE_DIR, where to find include files
+#      FLTK_LIBRARIES, list of fltk libraries you should link against
+#      FLTK_FLUID_EXECUTABLE, where to find the Fluid tool
+#      FLTK_WRAP_UI, This enables the FLTK_WRAP_UI command
+#
+#
+#
+# The following cache variables are assigned but should not be used.
+# See the FLTK_LIBRARIES variable instead.
+#
+# ::
+#
+#      FLTK_BASE_LIBRARY   = the full path to fltk.lib
+#      FLTK_GL_LIBRARY     = the full path to fltk_gl.lib
+#      FLTK_FORMS_LIBRARY  = the full path to fltk_forms.lib
+#      FLTK_IMAGES_LIBRARY = the full path to fltk_images.lib
+
+if(NOT FLTK_SKIP_OPENGL)
+  find_package(OpenGL)
+endif()
+
+#  Platform dependent libraries required by FLTK
+if(WIN32)
+  if(NOT CYGWIN)
+    if(BORLAND)
+      set( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
+    else()
+      set( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
+    endif()
+  endif()
+endif()
+
+if(UNIX)
+  include(${CMAKE_CURRENT_LIST_DIR}/FindX11.cmake)
+  find_library(FLTK_MATH_LIBRARY m)
+  set( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} ${FLTK_MATH_LIBRARY})
+endif()
+
+if(APPLE)
+  set( FLTK_PLATFORM_DEPENDENT_LIBS  "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
+endif()
+
+# If FLTK_INCLUDE_DIR is already defined we assigne its value to FLTK_DIR
+if(FLTK_INCLUDE_DIR)
+  set(FLTK_DIR ${FLTK_INCLUDE_DIR})
+endif()
+
+
+# If FLTK has been built using CMake we try to find everything directly
+set(FLTK_DIR_STRING "directory containing FLTKConfig.cmake.  This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
+
+# Search only if the location is not already known.
+if(NOT FLTK_DIR)
+  # Get the system search path as a list.
+  file(TO_CMAKE_PATH "$ENV{PATH}" FLTK_DIR_SEARCH2)
+
+  # Construct a set of paths relative to the system search path.
+  set(FLTK_DIR_SEARCH "")
+  foreach(dir ${FLTK_DIR_SEARCH2})
+    set(FLTK_DIR_SEARCH ${FLTK_DIR_SEARCH} "${dir}/../lib/fltk")
+  endforeach()
+  string(REPLACE "//" "/" FLTK_DIR_SEARCH "${FLTK_DIR_SEARCH}")
+
+  #
+  # Look for an installation or build tree.
+  #
+  find_path(FLTK_DIR FLTKConfig.cmake
+    # Look for an environment variable FLTK_DIR.
+    HINTS
+      ENV FLTK_DIR
+
+    # Look in places relative to the system executable search path.
+    ${FLTK_DIR_SEARCH}
+
+    PATHS
+    # Look in standard UNIX install locations.
+    /usr/local/lib/fltk
+    /usr/lib/fltk
+    /usr/local/fltk
+    /usr/X11R6/include
+
+    # Help the user find it if we cannot.
+    DOC "The ${FLTK_DIR_STRING}"
+    )
+endif()
+
+  # Check if FLTK was built using CMake
+  if(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
+    set(FLTK_BUILT_WITH_CMAKE 1)
+  endif()
+
+  if(FLTK_BUILT_WITH_CMAKE)
+    set(FLTK_FOUND 1)
+    include(${FLTK_DIR}/FLTKConfig.cmake)
+
+    # Fluid
+    if(FLUID_COMMAND)
+      set(FLTK_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
+    else()
+      find_program(FLTK_FLUID_EXECUTABLE fluid PATHS
+        ${FLTK_EXECUTABLE_DIRS}
+        ${FLTK_EXECUTABLE_DIRS}/RelWithDebInfo
+        ${FLTK_EXECUTABLE_DIRS}/Debug
+        ${FLTK_EXECUTABLE_DIRS}/Release
+        NO_SYSTEM_PATH)
+    endif()
+    # mark_as_advanced(FLTK_FLUID_EXECUTABLE)
+
+    set(FLTK_INCLUDE_DIR ${FLTK_DIR})
+    link_directories(${FLTK_LIBRARY_DIRS})
+
+    set(FLTK_BASE_LIBRARY fltk)
+    set(FLTK_GL_LIBRARY fltk_gl)
+    set(FLTK_FORMS_LIBRARY fltk_forms)
+    set(FLTK_IMAGES_LIBRARY fltk_images)
+
+    # Add the extra libraries
+    load_cache(${FLTK_DIR}
+      READ_WITH_PREFIX
+      FL FLTK_USE_SYSTEM_JPEG
+      FL FLTK_USE_SYSTEM_PNG
+      FL FLTK_USE_SYSTEM_ZLIB
+      )
+
+    set(FLTK_IMAGES_LIBS "")
+    if(FLFLTK_USE_SYSTEM_JPEG)
+      set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_jpeg)
+    endif()
+    if(FLFLTK_USE_SYSTEM_PNG)
+      set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_png)
+    endif()
+    if(FLFLTK_USE_SYSTEM_ZLIB)
+      set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_zlib)
+    endif()
+    set(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
+      "Extra libraries for fltk_images library.")
+
+  else()
+
+    # if FLTK was not built using CMake
+    # Find fluid executable.
+    find_program(FLTK_FLUID_EXECUTABLE fluid ${FLTK_INCLUDE_DIR}/fluid)
+
+    # Use location of fluid to help find everything else.
+    set(FLTK_INCLUDE_SEARCH_PATH "")
+    set(FLTK_LIBRARY_SEARCH_PATH "")
+    if(FLTK_FLUID_EXECUTABLE)
+      get_filename_component(FLTK_BIN_DIR "${FLTK_FLUID_EXECUTABLE}" PATH)
+      set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
+        ${FLTK_BIN_DIR}/../include ${FLTK_BIN_DIR}/..)
+      set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
+        ${FLTK_BIN_DIR}/../lib)
+      set(FLTK_WRAP_UI 1)
+    endif()
+
+    #
+    # Try to find FLTK include dir using fltk-config
+    #
+    if(UNIX)
+      # Use fltk-config to generate a list of possible include directories
+      find_program(FLTK_CONFIG_SCRIPT fltk-config PATHS ${FLTK_BIN_DIR})
+      if(FLTK_CONFIG_SCRIPT)
+        if(NOT FLTK_INCLUDE_DIR)
+          exec_program(${FLTK_CONFIG_SCRIPT} ARGS --cxxflags OUTPUT_VARIABLE FLTK_CXXFLAGS)
+          if(FLTK_CXXFLAGS)
+            string(REGEX MATCHALL "-I[^ ]*" _fltk_temp_dirs ${FLTK_CXXFLAGS})
+            string(REPLACE "-I" "" _fltk_temp_dirs "${_fltk_temp_dirs}")
+            foreach(_dir ${_fltk_temp_dirs})
+              string(STRIP ${_dir} _output)
+              list(APPEND _FLTK_POSSIBLE_INCLUDE_DIRS ${_output})
+            endforeach()
+          endif()
+        endif()
+      endif()
+    endif()
+
+    set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
+      /usr/local/fltk
+      /usr/X11R6/include
+      ${_FLTK_POSSIBLE_INCLUDE_DIRS}
+      )
+
+    find_path(FLTK_INCLUDE_DIR
+        NAMES FL/Fl.h FL/Fl.H    # fltk 1.1.9 has Fl.H (#8376)
+        PATHS ${FLTK_INCLUDE_SEARCH_PATH})
+
+    #
+    # Try to find FLTK library
+    if(UNIX)
+      if(FLTK_CONFIG_SCRIPT)
+        exec_program(${FLTK_CONFIG_SCRIPT} ARGS --libs OUTPUT_VARIABLE _FLTK_POSSIBLE_LIBS)
+        if(_FLTK_POSSIBLE_LIBS)
+          get_filename_component(_FLTK_POSSIBLE_LIBRARY_DIR ${_FLTK_POSSIBLE_LIBS} PATH)
+        endif()
+      endif()
+    endif()
+
+    set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
+      /usr/local/fltk/lib
+      /usr/X11R6/lib
+      ${FLTK_INCLUDE_DIR}/lib
+      ${_FLTK_POSSIBLE_LIBRARY_DIR}
+      )
+
+    find_library(FLTK_BASE_LIBRARY NAMES fltk fltkd
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+    find_library(FLTK_GL_LIBRARY NAMES fltkgl fltkgld fltk_gl
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+    find_library(FLTK_FORMS_LIBRARY NAMES fltkforms fltkformsd fltk_forms
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+    find_library(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+
+    # Find the extra libraries needed for the fltk_images library.
+    if(UNIX)
+      if(FLTK_CONFIG_SCRIPT)
+        exec_program(${FLTK_CONFIG_SCRIPT} ARGS --use-images --ldflags
+          OUTPUT_VARIABLE FLTK_IMAGES_LDFLAGS)
+        set(FLTK_LIBS_EXTRACT_REGEX ".*-lfltk_images (.*) -lfltk.*")
+        if("${FLTK_IMAGES_LDFLAGS}" MATCHES "${FLTK_LIBS_EXTRACT_REGEX}")
+          string(REGEX REPLACE " +" ";" FLTK_IMAGES_LIBS "${CMAKE_MATCH_1}")
+          # The EXEC_PROGRAM will not be inherited into subdirectories from
+          # the file that originally included this module.  Save the answer.
+          set(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
+            "Extra libraries for fltk_images library.")
+        endif()
+      endif()
+    endif()
+
+  endif()
+
+  # Append all of the required libraries together (by default, everything)
+  set(FLTK_LIBRARIES)
+  if(NOT FLTK_SKIP_IMAGES)
+    list(APPEND FLTK_LIBRARIES ${FLTK_IMAGES_LIBRARY})
+  endif()
+  if(NOT FLTK_SKIP_FORMS)
+    list(APPEND FLTK_LIBRARIES ${FLTK_FORMS_LIBRARY})
+  endif()
+  if(NOT FLTK_SKIP_OPENGL)
+    list(APPEND FLTK_LIBRARIES ${FLTK_GL_LIBRARY} ${OPENGL_gl_LIBRARY})
+    list(APPEND FLTK_INCLUDE_DIR ${OPENGL_INCLUDE_DIR})
+    list(REMOVE_DUPLICATES FLTK_INCLUDE_DIR)
+  endif()
+  list(APPEND FLTK_LIBRARIES ${FLTK_BASE_LIBRARY})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(FLTK_SKIP_FLUID)
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR)
+else()
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR FLTK_FLUID_EXECUTABLE)
+endif()
+
+if(FLTK_FOUND)
+  if(APPLE)
+    set(FLTK_LIBRARIES ${FLTK_PLATFORM_DEPENDENT_LIBS} ${FLTK_LIBRARIES})
+  else()
+    set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${FLTK_PLATFORM_DEPENDENT_LIBS})
+  endif()
+
+  # The following deprecated settings are for compatibility with CMake 1.4
+  set (HAS_FLTK ${FLTK_FOUND})
+  set (FLTK_INCLUDE_PATH ${FLTK_INCLUDE_DIR})
+  set (FLTK_FLUID_EXE ${FLTK_FLUID_EXECUTABLE})
+  set (FLTK_LIBRARY ${FLTK_LIBRARIES})
+endif()
+
diff --git a/share/cmake-3.10/Modules/FindFLTK2.cmake b/share/cmake-3.10/Modules/FindFLTK2.cmake
new file mode 100644
index 0000000..a43e5ff
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindFLTK2.cmake
@@ -0,0 +1,254 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindFLTK2
+# ---------
+#
+# Find the native FLTK2 includes and library
+#
+# The following settings are defined
+#
+# ::
+#
+#   FLTK2_FLUID_EXECUTABLE, where to find the Fluid tool
+#   FLTK2_WRAP_UI, This enables the FLTK2_WRAP_UI command
+#   FLTK2_INCLUDE_DIR, where to find include files
+#   FLTK2_LIBRARIES, list of fltk2 libraries
+#   FLTK2_FOUND, Don't use FLTK2 if false.
+#
+# The following settings should not be used in general.
+#
+# ::
+#
+#   FLTK2_BASE_LIBRARY   = the full path to fltk2.lib
+#   FLTK2_GL_LIBRARY     = the full path to fltk2_gl.lib
+#   FLTK2_IMAGES_LIBRARY = the full path to fltk2_images.lib
+
+set (FLTK2_DIR $ENV{FLTK2_DIR} )
+
+#  Platform dependent libraries required by FLTK2
+if(WIN32)
+  if(NOT CYGWIN)
+    if(BORLAND)
+      set( FLTK2_PLATFORM_DEPENDENT_LIBS import32 )
+    else()
+      set( FLTK2_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
+    endif()
+  endif()
+endif()
+
+if(UNIX)
+  include(${CMAKE_ROOT}/Modules/FindX11.cmake)
+  set( FLTK2_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
+endif()
+
+if(APPLE)
+  set( FLTK2_PLATFORM_DEPENDENT_LIBS  "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
+endif()
+
+# If FLTK2_INCLUDE_DIR is already defined we assign its value to FLTK2_DIR
+if(FLTK2_INCLUDE_DIR)
+  set(FLTK2_DIR ${FLTK2_INCLUDE_DIR})
+else()
+  set(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
+endif()
+
+
+# If FLTK2 has been built using CMake we try to find everything directly
+set(FLTK2_DIR_STRING "directory containing FLTK2Config.cmake.  This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
+
+# Search only if the location is not already known.
+if(NOT FLTK2_DIR)
+  # Get the system search path as a list.
+  file(TO_CMAKE_PATH "$ENV{PATH}" FLTK2_DIR_SEARCH2)
+
+  # Construct a set of paths relative to the system search path.
+  set(FLTK2_DIR_SEARCH "")
+  foreach(dir ${FLTK2_DIR_SEARCH2})
+    set(FLTK2_DIR_SEARCH ${FLTK2_DIR_SEARCH} "${dir}/../lib/fltk")
+  endforeach()
+  string(REPLACE "//" "/" FLTK2_DIR_SEARCH "${FLTK2_DIR_SEARCH}")
+
+  #
+  # Look for an installation or build tree.
+  #
+  find_path(FLTK2_DIR FLTK2Config.cmake
+    # Look for an environment variable FLTK2_DIR.
+    ENV FLTK2_DIR
+
+    # Look in places relative to the system executable search path.
+    ${FLTK2_DIR_SEARCH}
+
+    # Look in standard UNIX install locations.
+    /usr/local/lib/fltk2
+    /usr/lib/fltk2
+    /usr/local/fltk2
+    /usr/X11R6/include
+
+    # Help the user find it if we cannot.
+    DOC "The ${FLTK2_DIR_STRING}"
+    )
+
+  if(NOT FLTK2_DIR)
+    find_path(FLTK2_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
+  endif()
+
+endif()
+
+
+# If FLTK2 was found, load the configuration file to get the rest of the
+# settings.
+if(FLTK2_DIR)
+
+  # Check if FLTK2 was built using CMake
+  if(EXISTS ${FLTK2_DIR}/FLTK2Config.cmake)
+    set(FLTK2_BUILT_WITH_CMAKE 1)
+  endif()
+
+  if(FLTK2_BUILT_WITH_CMAKE)
+    set(FLTK2_FOUND 1)
+    include(${FLTK2_DIR}/FLTK2Config.cmake)
+
+    # Fluid
+    if(FLUID_COMMAND)
+      set(FLTK2_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
+    else()
+      find_program(FLTK2_FLUID_EXECUTABLE fluid2 PATHS
+        ${FLTK2_EXECUTABLE_DIRS}
+        ${FLTK2_EXECUTABLE_DIRS}/RelWithDebInfo
+        ${FLTK2_EXECUTABLE_DIRS}/Debug
+        ${FLTK2_EXECUTABLE_DIRS}/Release
+        NO_SYSTEM_PATH)
+    endif()
+
+    mark_as_advanced(FLTK2_FLUID_EXECUTABLE)
+    set( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
+
+
+
+
+    set(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
+    link_directories(${FLTK2_LIBRARY_DIRS})
+
+    set(FLTK2_BASE_LIBRARY fltk2)
+    set(FLTK2_GL_LIBRARY fltk2_gl)
+    set(FLTK2_IMAGES_LIBRARY fltk2_images)
+
+    # Add the extra libraries
+    load_cache(${FLTK2_DIR}
+      READ_WITH_PREFIX
+      FL FLTK2_USE_SYSTEM_JPEG
+      FL FLTK2_USE_SYSTEM_PNG
+      FL FLTK2_USE_SYSTEM_ZLIB
+      )
+
+    set(FLTK2_IMAGES_LIBS "")
+    if(FLFLTK2_USE_SYSTEM_JPEG)
+      set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_jpeg)
+    endif()
+    if(FLFLTK2_USE_SYSTEM_PNG)
+      set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_png)
+    endif()
+    if(FLFLTK2_USE_SYSTEM_ZLIB)
+      set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_zlib)
+    endif()
+    set(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
+      "Extra libraries for fltk2_images library.")
+
+  else()
+
+    # if FLTK2 was not built using CMake
+    # Find fluid executable.
+    find_program(FLTK2_FLUID_EXECUTABLE fluid2 ${FLTK2_INCLUDE_DIR}/fluid)
+
+    # Use location of fluid to help find everything else.
+    set(FLTK2_INCLUDE_SEARCH_PATH "")
+    set(FLTK2_LIBRARY_SEARCH_PATH "")
+    if(FLTK2_FLUID_EXECUTABLE)
+      set( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
+      get_filename_component(FLTK2_BIN_DIR "${FLTK2_FLUID_EXECUTABLE}" PATH)
+      set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
+        ${FLTK2_BIN_DIR}/../include ${FLTK2_BIN_DIR}/..)
+      set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
+        ${FLTK2_BIN_DIR}/../lib)
+      set(FLTK2_WRAP_UI 1)
+    endif()
+
+    set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
+      /usr/local/fltk2
+      /usr/X11R6/include
+      )
+
+    find_path(FLTK2_INCLUDE_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
+
+    set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
+      /usr/local/fltk2/lib
+      /usr/X11R6/lib
+      ${FLTK2_INCLUDE_DIR}/lib
+      )
+
+    find_library(FLTK2_BASE_LIBRARY NAMES fltk2
+      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
+    find_library(FLTK2_GL_LIBRARY NAMES fltk2_gl
+      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
+    find_library(FLTK2_IMAGES_LIBRARY NAMES fltk2_images
+      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
+
+    # Find the extra libraries needed for the fltk_images library.
+    if(UNIX)
+      find_program(FLTK2_CONFIG_SCRIPT fltk2-config PATHS ${FLTK2_BIN_DIR})
+      if(FLTK2_CONFIG_SCRIPT)
+        exec_program(${FLTK2_CONFIG_SCRIPT} ARGS --use-images --ldflags
+          OUTPUT_VARIABLE FLTK2_IMAGES_LDFLAGS)
+        set(FLTK2_LIBS_EXTRACT_REGEX ".*-lfltk2_images (.*) -lfltk2.*")
+        if("${FLTK2_IMAGES_LDFLAGS}" MATCHES "${FLTK2_LIBS_EXTRACT_REGEX}")
+          string(REGEX REPLACE " +" ";" FLTK2_IMAGES_LIBS "${CMAKE_MATCH_1}")
+          # The EXEC_PROGRAM will not be inherited into subdirectories from
+          # the file that originally included this module.  Save the answer.
+          set(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
+            "Extra libraries for fltk_images library.")
+        endif()
+      endif()
+    endif()
+
+  endif()
+endif()
+
+
+set(FLTK2_FOUND 1)
+foreach(var FLTK2_FLUID_EXECUTABLE FLTK2_INCLUDE_DIR
+    FLTK2_BASE_LIBRARY FLTK2_GL_LIBRARY
+    FLTK2_IMAGES_LIBRARY)
+  if(NOT ${var})
+    message( STATUS "${var} not found" )
+    set(FLTK2_FOUND 0)
+  endif()
+endforeach()
+
+
+if(FLTK2_FOUND)
+  set(FLTK2_LIBRARIES ${FLTK2_IMAGES_LIBRARY} ${FLTK2_IMAGES_LIBS} ${FLTK2_BASE_LIBRARY} ${FLTK2_GL_LIBRARY} )
+  if(APPLE)
+    set(FLTK2_LIBRARIES ${FLTK2_PLATFORM_DEPENDENT_LIBS} ${FLTK2_LIBRARIES})
+  else()
+    set(FLTK2_LIBRARIES ${FLTK2_LIBRARIES} ${FLTK2_PLATFORM_DEPENDENT_LIBS})
+  endif()
+
+  # The following deprecated settings are for compatibility with CMake 1.4
+  set (HAS_FLTK2 ${FLTK2_FOUND})
+  set (FLTK2_INCLUDE_PATH ${FLTK2_INCLUDE_DIR})
+  set (FLTK2_FLUID_EXE ${FLTK2_FLUID_EXECUTABLE})
+  set (FLTK2_LIBRARY ${FLTK2_LIBRARIES})
+else()
+  # make FIND_PACKAGE friendly
+  if(NOT FLTK2_FIND_QUIETLY)
+    if(FLTK2_FIND_REQUIRED)
+      message(FATAL_ERROR
+              "FLTK2 required, please specify its location with FLTK2_DIR.")
+    else()
+      message(STATUS "FLTK2 was not found.")
+    endif()
+  endif()
+endif()
+
diff --git a/share/cmake-3.10/Modules/FindFreetype.cmake b/share/cmake-3.10/Modules/FindFreetype.cmake
new file mode 100644
index 0000000..0e6d336
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindFreetype.cmake
@@ -0,0 +1,199 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindFreetype
+# ------------
+#
+# Find the FreeType font renderer includes and library.
+#
+# Imported Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` target:
+#
+# ``Freetype::Freetype``
+#   The Freetype ``freetype`` library, if found
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``FREETYPE_FOUND``
+#   true if the Freetype headers and libraries were found
+# ``FREETYPE_INCLUDE_DIRS``
+#   directories containing the Freetype headers. This is the
+#   concatenation of the variables:
+#
+#   ``FREETYPE_INCLUDE_DIR_ft2build``
+#     directory holding the main Freetype API configuration header
+#   ``FREETYPE_INCLUDE_DIR_freetype2``
+#     directory holding Freetype public headers
+# ``FREETYPE_LIBRARIES``
+#   the library to link against
+# ``FREETYPE_VERSION_STRING``
+#   the version of freetype found (since CMake 2.8.8)
+#
+# Hints
+# ^^^^^
+#
+# The user may set the environment variable ``FREETYPE_DIR`` to the root
+# directory of a Freetype installation.
+
+# Created by Eric Wing.
+# Modifications by Alexander Neundorf.
+# This file has been renamed to "FindFreetype.cmake" instead of the correct
+# "FindFreeType.cmake" in order to be compatible with the one from KDE4, Alex.
+
+# Ugh, FreeType seems to use some #include trickery which
+# makes this harder than it should be. It looks like they
+# put ft2build.h in a common/easier-to-find location which
+# then contains a #include to a more specific header in a
+# more specific location (#include <freetype/config/ftheader.h>).
+# Then from there, they need to set a bunch of #define's
+# so you can do something like:
+# #include FT_FREETYPE_H
+# Unfortunately, using CMake's mechanisms like include_directories()
+# wants explicit full paths and this trickery doesn't work too well.
+# I'm going to attempt to cut out the middleman and hope
+# everything still works.
+
+set(FREETYPE_FIND_ARGS
+  HINTS
+    ENV FREETYPE_DIR
+  PATHS
+    /usr/X11R6
+    /usr/local/X11R6
+    /usr/local/X11
+    /usr/freeware
+    ENV GTKMM_BASEPATH
+    [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
+)
+
+find_path(
+  FREETYPE_INCLUDE_DIR_ft2build
+  ft2build.h
+  ${FREETYPE_FIND_ARGS}
+  PATH_SUFFIXES
+    include/freetype2
+    include
+    freetype2
+)
+
+find_path(
+  FREETYPE_INCLUDE_DIR_freetype2
+  NAMES
+    freetype/config/ftheader.h
+    config/ftheader.h
+  ${FREETYPE_FIND_ARGS}
+  PATH_SUFFIXES
+    include/freetype2
+    include
+    freetype2
+)
+
+if(NOT FREETYPE_LIBRARY)
+  find_library(FREETYPE_LIBRARY_RELEASE
+    NAMES
+      freetype
+      libfreetype
+      freetype219
+    ${FREETYPE_FIND_ARGS}
+    PATH_SUFFIXES
+      lib
+  )
+  find_library(FREETYPE_LIBRARY_DEBUG
+    NAMES
+      freetyped
+      libfreetyped
+      freetype219d
+    ${FREETYPE_FIND_ARGS}
+    PATH_SUFFIXES
+      lib
+  )
+  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+  select_library_configurations(FREETYPE)
+endif()
+
+unset(FREETYPE_FIND_ARGS)
+
+# set the user variables
+if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
+  set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
+  list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIRS)
+endif()
+set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
+
+if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+  set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h")
+  set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h")
+endif()
+
+if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H)
+  file(STRINGS "${FREETYPE_H}" freetype_version_str
+       REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
+
+  unset(FREETYPE_VERSION_STRING)
+  foreach(VPART MAJOR MINOR PATCH)
+    foreach(VLINE ${freetype_version_str})
+      if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$")
+        set(FREETYPE_VERSION_PART "${CMAKE_MATCH_1}")
+        if(FREETYPE_VERSION_STRING)
+          string(APPEND FREETYPE_VERSION_STRING ".${FREETYPE_VERSION_PART}")
+        else()
+          set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
+        endif()
+        unset(FREETYPE_VERSION_PART)
+      endif()
+    endforeach()
+  endforeach()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+find_package_handle_standard_args(
+  Freetype
+  REQUIRED_VARS
+    FREETYPE_LIBRARY
+    FREETYPE_INCLUDE_DIRS
+  VERSION_VAR
+    FREETYPE_VERSION_STRING
+)
+
+mark_as_advanced(
+  FREETYPE_INCLUDE_DIR_freetype2
+  FREETYPE_INCLUDE_DIR_ft2build
+)
+
+if(Freetype_FOUND)
+  if(NOT TARGET Freetype::Freetype)
+    add_library(Freetype::Freetype UNKNOWN IMPORTED)
+    set_target_properties(Freetype::Freetype PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${FREETYPE_INCLUDE_DIRS}")
+
+    if(FREETYPE_LIBRARY_RELEASE)
+      set_property(TARGET Freetype::Freetype APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(Freetype::Freetype PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
+        IMPORTED_LOCATION_RELEASE "${FREETYPE_LIBRARY_RELEASE}")
+    endif()
+
+    if(FREETYPE_LIBRARY_DEBUG)
+      set_property(TARGET Freetype::Freetype APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(Freetype::Freetype PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+        IMPORTED_LOCATION_DEBUG "${FREETYPE_LIBRARY_DEBUG}")
+    endif()
+
+    if(NOT FREETYPE_LIBRARY_RELEASE AND NOT FREETYPE_LIBRARY_DEBUG)
+      set_target_properties(Freetype::Freetype PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+        IMPORTED_LOCATION "${FREETYPE_LIBRARY}")
+    endif()
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindGCCXML.cmake b/share/cmake-3.10/Modules/FindGCCXML.cmake
new file mode 100644
index 0000000..1f8d738
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGCCXML.cmake
@@ -0,0 +1,26 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGCCXML
+# ----------
+#
+# Find the GCC-XML front-end executable.
+#
+#
+#
+# This module will define the following variables:
+#
+# ::
+#
+#   GCCXML - the GCC-XML front-end executable.
+
+find_program(GCCXML
+  NAMES gccxml
+        ../GCC_XML/gccxml
+  PATHS [HKEY_CURRENT_USER\\Software\\Kitware\\GCC_XML;loc]
+  "$ENV{ProgramFiles}/GCC_XML"
+  "C:/Program Files/GCC_XML"
+)
+
+mark_as_advanced(GCCXML)
diff --git a/share/cmake-3.10/Modules/FindGDAL.cmake b/share/cmake-3.10/Modules/FindGDAL.cmake
new file mode 100644
index 0000000..0cce9cb
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGDAL.cmake
@@ -0,0 +1,109 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGDAL
+# --------
+#
+#
+#
+# Locate gdal
+#
+# This module accepts the following environment variables:
+#
+# ::
+#
+#     GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
+#
+#
+#
+# This module defines the following CMake variables:
+#
+# ::
+#
+#     GDAL_FOUND - True if libgdal is found
+#     GDAL_LIBRARY - A variable pointing to the GDAL library
+#     GDAL_INCLUDE_DIR - Where to find the headers
+
+#
+# $GDALDIR is an environment variable that would
+# correspond to the ./configure --prefix=$GDAL_DIR
+# used in building gdal.
+#
+# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
+# for osgTerrain so I whipped this module together for completeness.
+# I actually don't know the conventions or where files are typically
+# placed in distros.
+# Any real gdal users are encouraged to correct this (but please don't
+# break the OS X framework stuff when doing so which is what usually seems
+# to happen).
+
+# This makes the presumption that you are include gdal.h like
+#
+#include "gdal.h"
+
+find_path(GDAL_INCLUDE_DIR gdal.h
+  HINTS
+    ENV GDAL_DIR
+    ENV GDAL_ROOT
+  PATH_SUFFIXES
+     include/gdal
+     include/GDAL
+     include
+  PATHS
+      ~/Library/Frameworks/gdal.framework/Headers
+      /Library/Frameworks/gdal.framework/Headers
+      /sw # Fink
+      /opt/local # DarwinPorts
+      /opt/csw # Blastwave
+      /opt
+)
+
+if(UNIX)
+    # Use gdal-config to obtain the library version (this should hopefully
+    # allow us to -lgdal1.x.y where x.y are correct version)
+    # For some reason, libgdal development packages do not contain
+    # libgdal.so...
+    find_program(GDAL_CONFIG gdal-config
+        HINTS
+          ENV GDAL_DIR
+          ENV GDAL_ROOT
+        PATH_SUFFIXES bin
+        PATHS
+            /sw # Fink
+            /opt/local # DarwinPorts
+            /opt/csw # Blastwave
+            /opt
+    )
+
+    if(GDAL_CONFIG)
+        exec_program(${GDAL_CONFIG} ARGS --libs OUTPUT_VARIABLE GDAL_CONFIG_LIBS)
+        if(GDAL_CONFIG_LIBS)
+            string(REGEX MATCHALL "-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_LIBS})
+            string(REPLACE "-l" "" _gdal_lib "${_gdal_dashl}")
+            string(REGEX MATCHALL "-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_LIBS})
+            string(REPLACE "-L" "" _gdal_libpath "${_gdal_dashL}")
+        endif()
+    endif()
+endif()
+
+find_library(GDAL_LIBRARY
+  NAMES ${_gdal_lib} gdal gdal_i gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
+  HINTS
+     ENV GDAL_DIR
+     ENV GDAL_ROOT
+     ${_gdal_libpath}
+  PATH_SUFFIXES lib
+  PATHS
+    /sw
+    /opt/local
+    /opt/csw
+    /opt
+    /usr/freeware
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
+
+set(GDAL_LIBRARIES ${GDAL_LIBRARY})
+set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})
diff --git a/share/cmake-3.10/Modules/FindGIF.cmake b/share/cmake-3.10/Modules/FindGIF.cmake
new file mode 100644
index 0000000..0843d5f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGIF.cmake
@@ -0,0 +1,98 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGIF
+# -------
+#
+# This finds the GIF library (giflib)
+#
+# The module defines the following variables:
+#
+# ``GIF_FOUND``
+#   True if giflib was found
+# ``GIF_LIBRARIES``
+#   Libraries to link to in order to use giflib
+# ``GIF_INCLUDE_DIR``
+#   where to find the headers
+# ``GIF_VERSION``
+#   3, 4 or a full version string (eg 5.1.4) for versions >= 4.1.6
+#
+# The minimum required version of giflib can be specified using the
+# standard syntax, e.g.  find_package(GIF 4)
+#
+# $GIF_DIR is an environment variable that would correspond to the
+# ./configure --prefix=$GIF_DIR
+
+# Created by Eric Wing.
+# Modifications by Alexander Neundorf, Ben Campbell
+
+find_path(GIF_INCLUDE_DIR gif_lib.h
+  HINTS
+    ENV GIF_DIR
+  PATH_SUFFIXES include
+  PATHS
+  ~/Library/Frameworks
+  /usr/freeware
+)
+
+# the gif library can have many names :-/
+set(POTENTIAL_GIF_LIBS gif libgif ungif libungif giflib giflib4)
+
+find_library(GIF_LIBRARY
+  NAMES ${POTENTIAL_GIF_LIBS}
+  HINTS
+    ENV GIF_DIR
+  PATH_SUFFIXES lib
+  PATHS
+  ~/Library/Frameworks
+  /usr/freeware
+)
+
+# see readme.txt
+set(GIF_LIBRARIES ${GIF_LIBRARY})
+
+# Very basic version detection.
+# The GIF_LIB_VERSION string in gif_lib.h seems to be unreliable, since it seems
+# to be always " Version 2.0, " in versions 3.x of giflib.
+# In version 4 the member UserData was added to GifFileType, so we check for this
+# one.
+# Versions after 4.1.6 define GIFLIB_MAJOR, GIFLIB_MINOR, and GIFLIB_RELEASE
+# see http://giflib.sourceforge.net/gif_lib.html#compatibility
+if(GIF_INCLUDE_DIR)
+  include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+  include(${CMAKE_CURRENT_LIST_DIR}/CheckStructHasMember.cmake)
+  CMAKE_PUSH_CHECK_STATE()
+  set(CMAKE_REQUIRED_QUIET ${GIF_FIND_QUIETLY})
+  set(CMAKE_REQUIRED_INCLUDES "${GIF_INCLUDE_DIR}")
+
+  # Check for the specific version defines (>=4.1.6 only)
+  file(STRINGS ${GIF_INCLUDE_DIR}/gif_lib.h _GIF_DEFS REGEX "^[ \t]*#define[ \t]+GIFLIB_(MAJOR|MINOR|RELEASE)")
+  if(_GIF_DEFS)
+    # yay - got exact version info
+    string(REGEX REPLACE ".*GIFLIB_MAJOR ([0-9]+).*" "\\1" _GIF_MAJ "${_GIF_DEFS}")
+    string(REGEX REPLACE ".*GIFLIB_MINOR ([0-9]+).*" "\\1" _GIF_MIN "${_GIF_DEFS}")
+    string(REGEX REPLACE ".*GIFLIB_RELEASE ([0-9]+).*" "\\1" _GIF_REL "${_GIF_DEFS}")
+    set(GIF_VERSION "${_GIF_MAJ}.${_GIF_MIN}.${_GIF_REL}")
+  else()
+    # use UserData field to sniff version instead
+    CHECK_STRUCT_HAS_MEMBER(GifFileType UserData gif_lib.h GIF_GifFileType_UserData )
+    if(GIF_GifFileType_UserData)
+      set(GIF_VERSION 4)
+    else()
+      set(GIF_VERSION 3)
+    endif()
+  endif()
+
+  unset(_GIF_MAJ)
+  unset(_GIF_MIN)
+  unset(_GIF_REL)
+  unset(_GIF_DEFS)
+  CMAKE_POP_CHECK_STATE()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GIF  REQUIRED_VARS  GIF_LIBRARY  GIF_INCLUDE_DIR
+                                       VERSION_VAR GIF_VERSION )
+
+mark_as_advanced(GIF_INCLUDE_DIR GIF_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindGLEW.cmake b/share/cmake-3.10/Modules/FindGLEW.cmake
new file mode 100644
index 0000000..11e8724
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGLEW.cmake
@@ -0,0 +1,69 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGLEW
+# --------
+#
+# Find the OpenGL Extension Wrangler Library (GLEW)
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the :prop_tgt:`IMPORTED` target ``GLEW::GLEW``,
+# if GLEW has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables:
+#
+# ::
+#
+#   GLEW_INCLUDE_DIRS - include directories for GLEW
+#   GLEW_LIBRARIES - libraries to link against GLEW
+#   GLEW_FOUND - true if GLEW has been found and can be used
+
+find_path(GLEW_INCLUDE_DIR GL/glew.h)
+
+if(NOT GLEW_LIBRARY)
+  find_library(GLEW_LIBRARY_RELEASE NAMES GLEW glew32 glew glew32s PATH_SUFFIXES lib64 libx32)
+  find_library(GLEW_LIBRARY_DEBUG NAMES GLEWd glew32d glewd PATH_SUFFIXES lib64)
+
+  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+  select_library_configurations(GLEW)
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(GLEW
+                                  REQUIRED_VARS GLEW_INCLUDE_DIR GLEW_LIBRARY)
+
+if(GLEW_FOUND)
+  set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
+
+  if(NOT GLEW_LIBRARIES)
+    set(GLEW_LIBRARIES ${GLEW_LIBRARY})
+  endif()
+
+  if (NOT TARGET GLEW::GLEW)
+    add_library(GLEW::GLEW UNKNOWN IMPORTED)
+    set_target_properties(GLEW::GLEW PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
+
+    if(GLEW_LIBRARY_RELEASE)
+      set_property(TARGET GLEW::GLEW APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(GLEW::GLEW PROPERTIES IMPORTED_LOCATION_RELEASE "${GLEW_LIBRARY_RELEASE}")
+    endif()
+
+    if(GLEW_LIBRARY_DEBUG)
+      set_property(TARGET GLEW::GLEW APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(GLEW::GLEW PROPERTIES IMPORTED_LOCATION_DEBUG "${GLEW_LIBRARY_DEBUG}")
+    endif()
+
+    if(NOT GLEW_LIBRARY_RELEASE AND NOT GLEW_LIBRARY_DEBUG)
+      set_property(TARGET GLEW::GLEW APPEND PROPERTY IMPORTED_LOCATION "${GLEW_LIBRARY}")
+    endif()
+  endif()
+endif()
+
+mark_as_advanced(GLEW_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindGLU.cmake b/share/cmake-3.10/Modules/FindGLU.cmake
new file mode 100644
index 0000000..dbec6d1
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGLU.cmake
@@ -0,0 +1,18 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Use of this file is deprecated, and is here for backwards compatibility with CMake 1.4
+# GLU library is now found by FindOpenGL.cmake
+#
+
+message(STATUS
+  "WARNING: you are using the obsolete 'GLU' package, please use 'OpenGL' instead")
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindOpenGL.cmake)
+
+if (OPENGL_GLU_FOUND)
+  set (GLU_LIBRARY ${OPENGL_LIBRARIES})
+  set (GLU_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
+endif ()
+
diff --git a/share/cmake-3.10/Modules/FindGLUT.cmake b/share/cmake-3.10/Modules/FindGLUT.cmake
new file mode 100644
index 0000000..88d4b29
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGLUT.cmake
@@ -0,0 +1,168 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGLUT
+# --------
+#
+# try to find glut library and include files.
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the :prop_tgt:`IMPORTED` targets:
+#
+# ``GLUT::GLUT``
+#  Defined if the system has GLUT.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module sets the following variables:
+#
+# ::
+#
+#   GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
+#   GLUT_LIBRARIES, the libraries to link against
+#   GLUT_FOUND, If false, do not try to use GLUT.
+#
+# Also defined, but not for general use are:
+#
+# ::
+#
+#   GLUT_glut_LIBRARY = the full path to the glut library.
+#   GLUT_Xmu_LIBRARY  = the full path to the Xmu library.
+#   GLUT_Xi_LIBRARY   = the full path to the Xi Library.
+
+if (WIN32)
+  find_path( GLUT_INCLUDE_DIR NAMES GL/glut.h
+    PATHS  ${GLUT_ROOT_PATH}/include )
+  find_library( GLUT_glut_LIBRARY NAMES glut glut32 freeglut
+    PATHS
+    ${OPENGL_LIBRARY_DIR}
+    ${GLUT_ROOT_PATH}/Release
+    )
+else ()
+
+  if (APPLE)
+    find_path(GLUT_INCLUDE_DIR glut.h ${OPENGL_LIBRARY_DIR})
+    find_library(GLUT_glut_LIBRARY GLUT DOC "GLUT library for OSX")
+    find_library(GLUT_cocoa_LIBRARY Cocoa DOC "Cocoa framework for OSX")
+
+    if(GLUT_cocoa_LIBRARY AND NOT TARGET GLUT::Cocoa)
+      add_library(GLUT::Cocoa UNKNOWN IMPORTED)
+      # Cocoa should always be a Framework, but we check to make sure.
+      if(GLUT_cocoa_LIBRARY MATCHES "/([^/]+)\\.framework$")
+        set_target_properties(GLUT::Cocoa PROPERTIES
+          IMPORTED_LOCATION "${GLUT_cocoa_LIBRARY}/${CMAKE_MATCH_1}")
+      else()
+        set_target_properties(GLUT::Cocoa PROPERTIES
+          IMPORTED_LOCATION "${GLUT_cocoa_LIBRARY}")
+      endif()
+    endif()
+  else ()
+
+    if (BEOS)
+
+      set(_GLUT_INC_DIR /boot/develop/headers/os/opengl)
+      set(_GLUT_glut_LIB_DIR /boot/develop/lib/x86)
+
+    else()
+
+      find_library( GLUT_Xi_LIBRARY Xi
+        /usr/openwin/lib
+        )
+
+      find_library( GLUT_Xmu_LIBRARY Xmu
+        /usr/openwin/lib
+        )
+
+      if(GLUT_Xi_LIBRARY AND NOT TARGET GLUT::Xi)
+        add_library(GLUT::Xi UNKNOWN IMPORTED)
+        set_target_properties(GLUT::Xi PROPERTIES
+          IMPORTED_LOCATION "${GLUT_Xi_LIBRARY}")
+      endif()
+
+      if(GLUT_Xmu_LIBRARY AND NOT TARGET GLUT::Xmu)
+        add_library(GLUT::Xmu UNKNOWN IMPORTED)
+        set_target_properties(GLUT::Xmu PROPERTIES
+          IMPORTED_LOCATION "${GLUT_Xmu_LIBRARY}")
+      endif()
+
+    endif ()
+
+    find_path( GLUT_INCLUDE_DIR GL/glut.h
+      /usr/include/GL
+      /usr/openwin/share/include
+      /usr/openwin/include
+      /opt/graphics/OpenGL/include
+      /opt/graphics/OpenGL/contrib/libglut
+      ${_GLUT_INC_DIR}
+      )
+
+    find_library( GLUT_glut_LIBRARY glut
+      /usr/openwin/lib
+      ${_GLUT_glut_LIB_DIR}
+      )
+
+    unset(_GLUT_INC_DIR)
+    unset(_GLUT_glut_LIB_DIR)
+
+  endif ()
+
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLUT REQUIRED_VARS GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
+
+if (GLUT_FOUND)
+  # Is -lXi and -lXmu required on all platforms that have it?
+  # If not, we need some way to figure out what platform we are on.
+  set( GLUT_LIBRARIES
+    ${GLUT_glut_LIBRARY}
+    )
+  foreach(v GLUT_Xmu_LIBRARY GLUT_Xi_LIBRARY GLUT_cocoa_LIBRARY)
+    if(${v})
+      list(APPEND GLUT_LIBRARIES ${${v}})
+    endif()
+  endforeach()
+
+  if(NOT TARGET GLUT::GLUT)
+    add_library(GLUT::GLUT UNKNOWN IMPORTED)
+    set_target_properties(GLUT::GLUT PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${GLUT_INCLUDE_DIR}")
+    if(GLUT_glut_LIBRARY MATCHES "/([^/]+)\\.framework$")
+      set_target_properties(GLUT::GLUT PROPERTIES
+        IMPORTED_LOCATION "${GLUT_glut_LIBRARY}/${CMAKE_MATCH_1}")
+    else()
+      set_target_properties(GLUT::GLUT PROPERTIES
+        IMPORTED_LOCATION "${GLUT_glut_LIBRARY}")
+    endif()
+
+    if(TARGET GLUT::Xmu)
+      set_property(TARGET GLUT::GLUT APPEND
+        PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Xmu)
+    endif()
+
+    if(TARGET GLUT::Xi)
+      set_property(TARGET GLUT::GLUT APPEND
+        PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Xi)
+    endif()
+
+    if(TARGET GLUT::Cocoa)
+      set_property(TARGET GLUT::GLUT APPEND
+        PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Cocoa)
+    endif()
+  endif()
+
+  #The following deprecated settings are for backwards compatibility with CMake1.4
+  set (GLUT_LIBRARY ${GLUT_LIBRARIES})
+  set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
+endif()
+
+mark_as_advanced(
+  GLUT_INCLUDE_DIR
+  GLUT_glut_LIBRARY
+  GLUT_Xmu_LIBRARY
+  GLUT_Xi_LIBRARY
+  )
diff --git a/share/cmake-3.10/Modules/FindGSL.cmake b/share/cmake-3.10/Modules/FindGSL.cmake
new file mode 100644
index 0000000..8d10b6c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGSL.cmake
@@ -0,0 +1,228 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGSL
+# --------
+#
+# Find the native GSL includes and libraries.
+#
+# The GNU Scientific Library (GSL) is a numerical library for C and C++
+# programmers. It is free software under the GNU General Public
+# License.
+#
+# Imported Targets
+# ^^^^^^^^^^^^^^^^
+#
+# If GSL is found, this module defines the following :prop_tgt:`IMPORTED`
+# targets::
+#
+#  GSL::gsl      - The main GSL library.
+#  GSL::gslcblas - The CBLAS support library used by GSL.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project::
+#
+#  GSL_FOUND          - True if GSL found on the local system
+#  GSL_INCLUDE_DIRS   - Location of GSL header files.
+#  GSL_LIBRARIES      - The GSL libraries.
+#  GSL_VERSION        - The version of the discovered GSL install.
+#
+# Hints
+# ^^^^^
+#
+# Set ``GSL_ROOT_DIR`` to a directory that contains a GSL installation.
+#
+# This script expects to find libraries at ``$GSL_ROOT_DIR/lib`` and the GSL
+# headers at ``$GSL_ROOT_DIR/include/gsl``.  The library directory may
+# optionally provide Release and Debug folders. If available, the libraries
+# named ``gsld``, ``gslblasd`` or ``cblasd`` are recognized as debug libraries.
+# For Unix-like systems, this script will use ``$GSL_ROOT_DIR/bin/gsl-config``
+# (if found) to aid in the discovery of GSL.
+#
+# Cache Variables
+# ^^^^^^^^^^^^^^^
+#
+# This module may set the following variables depending on platform and type
+# of GSL installation discovered.  These variables may optionally be set to
+# help this module find the correct files::
+#
+#  GSL_CBLAS_LIBRARY       - Location of the GSL CBLAS library.
+#  GSL_CBLAS_LIBRARY_DEBUG - Location of the debug GSL CBLAS library (if any).
+#  GSL_CONFIG_EXECUTABLE   - Location of the ``gsl-config`` script (if any).
+#  GSL_LIBRARY             - Location of the GSL library.
+#  GSL_LIBRARY_DEBUG       - Location of the debug GSL library (if any).
+#
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+#=============================================================================
+# If the user has provided ``GSL_ROOT_DIR``, use it!  Choose items found
+# at this location over system locations.
+if( EXISTS "$ENV{GSL_ROOT_DIR}" )
+  file( TO_CMAKE_PATH "$ENV{GSL_ROOT_DIR}" GSL_ROOT_DIR )
+  set( GSL_ROOT_DIR "${GSL_ROOT_DIR}" CACHE PATH "Prefix for GSL installation." )
+endif()
+if( NOT EXISTS "${GSL_ROOT_DIR}" )
+  set( GSL_USE_PKGCONFIG ON )
+endif()
+
+#=============================================================================
+# As a first try, use the PkgConfig module.  This will work on many
+# *NIX systems.  See :module:`findpkgconfig`
+# This will return ``GSL_INCLUDEDIR`` and ``GSL_LIBDIR`` used below.
+if( GSL_USE_PKGCONFIG )
+  find_package(PkgConfig)
+  pkg_check_modules( GSL QUIET gsl )
+
+  if( EXISTS "${GSL_INCLUDEDIR}" )
+    get_filename_component( GSL_ROOT_DIR "${GSL_INCLUDEDIR}" DIRECTORY CACHE)
+  endif()
+endif()
+
+#=============================================================================
+# Set GSL_INCLUDE_DIRS and GSL_LIBRARIES. If we skipped the PkgConfig step, try
+# to find the libraries at $GSL_ROOT_DIR (if provided) or in standard system
+# locations.  These find_library and find_path calls will prefer custom
+# locations over standard locations (HINTS).  If the requested file is not found
+# at the HINTS location, standard system locations will be still be searched
+# (/usr/lib64 (Redhat), lib/i386-linux-gnu (Debian)).
+
+find_path( GSL_INCLUDE_DIR
+  NAMES gsl/gsl_sf.h
+  HINTS ${GSL_ROOT_DIR}/include ${GSL_INCLUDEDIR}
+)
+find_library( GSL_LIBRARY
+  NAMES gsl
+  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
+  PATH_SUFFIXES Release Debug
+)
+find_library( GSL_CBLAS_LIBRARY
+  NAMES gslcblas cblas
+  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
+  PATH_SUFFIXES Release Debug
+)
+# Do we also have debug versions?
+find_library( GSL_LIBRARY_DEBUG
+  NAMES gsld gsl
+  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
+  PATH_SUFFIXES Debug
+)
+find_library( GSL_CBLAS_LIBRARY_DEBUG
+  NAMES gslcblasd cblasd gslcblas cblas
+  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
+  PATH_SUFFIXES Debug
+)
+set( GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR} )
+set( GSL_LIBRARIES ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY} )
+
+# If we didn't use PkgConfig, try to find the version via gsl-config or by
+# reading gsl_version.h.
+if( NOT GSL_VERSION )
+  # 1. If gsl-config exists, query for the version.
+  find_program( GSL_CONFIG_EXECUTABLE
+    NAMES gsl-config
+    HINTS "${GSL_ROOT_DIR}/bin"
+    )
+  if( EXISTS "${GSL_CONFIG_EXECUTABLE}" )
+    execute_process(
+      COMMAND "${GSL_CONFIG_EXECUTABLE}" --version
+      OUTPUT_VARIABLE GSL_VERSION
+      OUTPUT_STRIP_TRAILING_WHITESPACE )
+  endif()
+
+  # 2. If gsl-config is not available, try looking in gsl/gsl_version.h
+  if( NOT GSL_VERSION AND EXISTS "${GSL_INCLUDE_DIRS}/gsl/gsl_version.h" )
+    file( STRINGS "${GSL_INCLUDE_DIRS}/gsl/gsl_version.h" gsl_version_h_contents REGEX "define GSL_VERSION" )
+    string( REGEX REPLACE ".*([0-9]\\.[0-9][0-9]?).*" "\\1" GSL_VERSION ${gsl_version_h_contents} )
+  endif()
+
+  # might also try scraping the directory name for a regex match "gsl-X.X"
+endif()
+
+#=============================================================================
+# handle the QUIETLY and REQUIRED arguments and set GSL_FOUND to TRUE if all
+# listed variables are TRUE
+find_package_handle_standard_args( GSL
+  FOUND_VAR
+    GSL_FOUND
+  REQUIRED_VARS
+    GSL_INCLUDE_DIR
+    GSL_LIBRARY
+    GSL_CBLAS_LIBRARY
+  VERSION_VAR
+    GSL_VERSION
+    )
+
+mark_as_advanced( GSL_ROOT_DIR GSL_VERSION GSL_LIBRARY GSL_INCLUDE_DIR
+  GSL_CBLAS_LIBRARY GSL_LIBRARY_DEBUG GSL_CBLAS_LIBRARY_DEBUG
+  GSL_USE_PKGCONFIG GSL_CONFIG )
+
+#=============================================================================
+# Register imported libraries:
+# 1. If we can find a Windows .dll file (or if we can find both Debug and
+#    Release libraries), we will set appropriate target properties for these.
+# 2. However, for most systems, we will only register the import location and
+#    include directory.
+
+# Look for dlls, or Release and Debug libraries.
+if(WIN32)
+  string( REPLACE ".lib" ".dll" GSL_LIBRARY_DLL       "${GSL_LIBRARY}" )
+  string( REPLACE ".lib" ".dll" GSL_CBLAS_LIBRARY_DLL "${GSL_CBLAS_LIBRARY}" )
+  string( REPLACE ".lib" ".dll" GSL_LIBRARY_DEBUG_DLL "${GSL_LIBRARY_DEBUG}" )
+  string( REPLACE ".lib" ".dll" GSL_CBLAS_LIBRARY_DEBUG_DLL "${GSL_CBLAS_LIBRARY_DEBUG}" )
+endif()
+
+if( GSL_FOUND AND NOT TARGET GSL::gsl )
+  if( EXISTS "${GSL_LIBRARY_DLL}" AND EXISTS "${GSL_CBLAS_LIBRARY_DLL}")
+
+    # Windows systems with dll libraries.
+    add_library( GSL::gsl      SHARED IMPORTED )
+    add_library( GSL::gslcblas SHARED IMPORTED )
+
+    # Windows with dlls, but only Release libraries.
+    set_target_properties( GSL::gslcblas PROPERTIES
+      IMPORTED_LOCATION_RELEASE         "${GSL_CBLAS_LIBRARY_DLL}"
+      IMPORTED_IMPLIB                   "${GSL_CBLAS_LIBRARY}"
+      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
+      IMPORTED_CONFIGURATIONS           Release
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+    set_target_properties( GSL::gsl PROPERTIES
+      IMPORTED_LOCATION_RELEASE         "${GSL_LIBRARY_DLL}"
+      IMPORTED_IMPLIB                   "${GSL_LIBRARY}"
+      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
+      IMPORTED_CONFIGURATIONS           Release
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+      INTERFACE_LINK_LIBRARIES          GSL::gslcblas )
+
+    # If we have both Debug and Release libraries
+    if( EXISTS "${GSL_LIBRARY_DEBUG_DLL}" AND EXISTS "${GSL_CBLAS_LIBRARY_DEBUG_DLL}")
+      set_property( TARGET GSL::gslcblas APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
+      set_target_properties( GSL::gslcblas PROPERTIES
+        IMPORTED_LOCATION_DEBUG           "${GSL_CBLAS_LIBRARY_DEBUG_DLL}"
+        IMPORTED_IMPLIB_DEBUG             "${GSL_CBLAS_LIBRARY_DEBUG}" )
+      set_property( TARGET GSL::gsl APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
+      set_target_properties( GSL::gsl PROPERTIES
+        IMPORTED_LOCATION_DEBUG           "${GSL_LIBRARY_DEBUG_DLL}"
+        IMPORTED_IMPLIB_DEBUG             "${GSL_LIBRARY_DEBUG}" )
+    endif()
+
+  else()
+
+    # For all other environments (ones without dll libraries), create
+    # the imported library targets.
+    add_library( GSL::gsl      UNKNOWN IMPORTED )
+    add_library( GSL::gslcblas UNKNOWN IMPORTED )
+    set_target_properties( GSL::gslcblas PROPERTIES
+      IMPORTED_LOCATION                 "${GSL_CBLAS_LIBRARY}"
+      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+    set_target_properties( GSL::gsl PROPERTIES
+      IMPORTED_LOCATION                 "${GSL_LIBRARY}"
+      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+      INTERFACE_LINK_LIBRARIES          GSL::gslcblas )
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindGTK.cmake b/share/cmake-3.10/Modules/FindGTK.cmake
new file mode 100644
index 0000000..8a89cda
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGTK.cmake
@@ -0,0 +1,158 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGTK
+# -------
+#
+# try to find GTK (and glib) and GTKGLArea
+#
+# ::
+#
+#   GTK_INCLUDE_DIR   - Directories to include to use GTK
+#   GTK_LIBRARIES     - Files to link against to use GTK
+#   GTK_FOUND         - GTK was found
+#   GTK_GL_FOUND      - GTK's GL features were found
+
+# don't even bother under WIN32
+if(UNIX)
+
+  find_path( GTK_gtk_INCLUDE_PATH NAMES gtk/gtk.h
+    PATH_SUFFIXES gtk-1.2 gtk12
+    PATHS
+    /usr/openwin/share/include
+    /usr/openwin/include
+    /opt/gnome/include
+  )
+
+  # Some Linux distributions (e.g. Red Hat) have glibconfig.h
+  # and glib.h in different directories, so we need to look
+  # for both.
+  #  - Atanas Georgiev <atanas@cs.columbia.edu>
+
+  find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
+    PATHS
+    /usr/openwin/share/include
+    /usr/local/include/glib12
+    /usr/lib/glib/include
+    /usr/local/lib/glib/include
+    /opt/gnome/include
+    /opt/gnome/lib/glib/include
+  )
+
+  find_path( GTK_glib_INCLUDE_PATH NAMES glib.h
+    PATH_SUFFIXES gtk-1.2 glib-1.2 glib12
+    PATHS
+    /usr/openwin/share/include
+    /usr/lib/glib/include
+    /opt/gnome/include
+  )
+
+  find_path( GTK_gtkgl_INCLUDE_PATH NAMES gtkgl/gtkglarea.h
+    PATHS /usr/openwin/share/include
+          /opt/gnome/include
+  )
+
+  find_library( GTK_gtkgl_LIBRARY gtkgl
+    /usr/openwin/lib
+    /opt/gnome/lib
+  )
+
+  #
+  # The 12 suffix is thanks to the FreeBSD ports collection
+  #
+
+  find_library( GTK_gtk_LIBRARY
+    NAMES  gtk gtk12
+    PATHS /usr/openwin/lib
+          /opt/gnome/lib
+  )
+
+  find_library( GTK_gdk_LIBRARY
+    NAMES  gdk gdk12
+    PATHS  /usr/openwin/lib
+           /opt/gnome/lib
+  )
+
+  find_library( GTK_gmodule_LIBRARY
+    NAMES  gmodule gmodule12
+    PATHS  /usr/openwin/lib
+           /opt/gnome/lib
+  )
+
+  find_library( GTK_glib_LIBRARY
+    NAMES  glib glib12
+    PATHS  /usr/openwin/lib
+           /opt/gnome/lib
+  )
+
+  find_library( GTK_Xi_LIBRARY
+    NAMES Xi
+    PATHS /usr/openwin/lib
+          /opt/gnome/lib
+    )
+
+  find_library( GTK_gthread_LIBRARY
+    NAMES  gthread gthread12
+    PATHS  /usr/openwin/lib
+           /opt/gnome/lib
+  )
+
+  if(GTK_gtk_INCLUDE_PATH
+     AND GTK_glibconfig_INCLUDE_PATH
+     AND GTK_glib_INCLUDE_PATH
+     AND GTK_gtk_LIBRARY
+     AND GTK_glib_LIBRARY)
+
+    # Assume that if gtk and glib were found, the other
+    # supporting libraries have also been found.
+
+    set( GTK_FOUND "YES" )
+    set( GTK_INCLUDE_DIR  ${GTK_gtk_INCLUDE_PATH}
+                           ${GTK_glibconfig_INCLUDE_PATH}
+                           ${GTK_glib_INCLUDE_PATH} )
+    set( GTK_LIBRARIES  ${GTK_gtk_LIBRARY}
+                        ${GTK_gdk_LIBRARY}
+                        ${GTK_glib_LIBRARY} )
+
+    if(GTK_gmodule_LIBRARY)
+      set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gmodule_LIBRARY})
+    endif()
+    if(GTK_gthread_LIBRARY)
+      set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gthread_LIBRARY})
+    endif()
+    if(GTK_Xi_LIBRARY)
+      set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_Xi_LIBRARY})
+    endif()
+
+    if(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
+      set( GTK_GL_FOUND "YES" )
+      set( GTK_INCLUDE_DIR  ${GTK_INCLUDE_DIR}
+                            ${GTK_gtkgl_INCLUDE_PATH} )
+      set( GTK_LIBRARIES  ${GTK_gtkgl_LIBRARY} ${GTK_LIBRARIES} )
+      mark_as_advanced(
+        GTK_gtkgl_LIBRARY
+        GTK_gtkgl_INCLUDE_PATH
+        )
+    endif()
+
+  endif()
+
+  mark_as_advanced(
+    GTK_gdk_LIBRARY
+    GTK_glib_INCLUDE_PATH
+    GTK_glib_LIBRARY
+    GTK_glibconfig_INCLUDE_PATH
+    GTK_gmodule_LIBRARY
+    GTK_gthread_LIBRARY
+    GTK_Xi_LIBRARY
+    GTK_gtk_INCLUDE_PATH
+    GTK_gtk_LIBRARY
+    GTK_gtkgl_INCLUDE_PATH
+    GTK_gtkgl_LIBRARY
+  )
+
+endif()
+
+
+
diff --git a/share/cmake-3.10/Modules/FindGTK2.cmake b/share/cmake-3.10/Modules/FindGTK2.cmake
new file mode 100644
index 0000000..b87b9f3
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGTK2.cmake
@@ -0,0 +1,961 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGTK2
+# --------
+#
+# FindGTK2.cmake
+#
+# This module can 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.
+#
+#
+#
+# Specify one or more of the following components as you call this find
+# module.  See example below.
+#
+# ::
+#
+#    gtk
+#    gtkmm
+#    glade
+#    glademm
+#
+#
+#
+# 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
+#
+#
+#
+# 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
+#
+#
+#
+# ================= Example Usage:
+#
+# ::
+#
+#    Call find_package() once, here are some examples to pick from:
+#
+#
+#
+# ::
+#
+#    Require GTK 2.6 or later
+#        find_package(GTK2 2.6 REQUIRED gtk)
+#
+#
+#
+# ::
+#
+#    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()
+
+# Version 1.6 (CMake 3.0)
+#   * Create targets for each library
+#   * Do not link libfreetype
+# Version 1.5 (CMake 2.8.12)
+#   * 14236: Detect gthread library
+#            Detect pangocairo on windows
+#            Detect pangocairo with gtk module instead of with gtkmm
+#   * 14259: Use vc100 libraries with VS 11
+#   * 14260: Export a GTK2_DEFINITIONS variable to set /vd2 when appropriate
+#            (i.e. MSVC)
+#   * Use the optimized/debug syntax for _LIBRARY and _LIBRARIES variables when
+#     appropriate. A new set of _RELEASE variables was also added.
+#   * Remove GTK2_SKIP_MARK_AS_ADVANCED option, as now the variables are
+#     marked as advanced by SelectLibraryConfigurations
+#   * Detect gmodule, pangoft2 and pangoxft libraries
+# Version 1.4 (10/4/2012) (CMake 2.8.10)
+#   * 12596: Missing paths for FindGTK2 on NetBSD
+#   * 12049: Fixed detection of GTK include files in the lib folder on
+#            multiarch systems.
+# Version 1.3 (11/9/2010) (CMake 2.8.4)
+#   * 11429: Add support for detecting GTK2 built with Visual Studio 10.
+#            Thanks to Vincent Levesque for the patch.
+# Version 1.2 (8/30/2010) (CMake 2.8.3)
+#   * Merge patch for detecting gdk-pixbuf library (split off
+#     from core GTK in 2.21).  Thanks to Vincent Untz for the patch
+#     and Ricardo Cruz for the heads up.
+# Version 1.1 (8/19/2010) (CMake 2.8.3)
+#   * Add support for detecting GTK2 under macports (thanks to Gary Kramlich)
+# Version 1.0 (8/12/2010) (CMake 2.8.3)
+#   * Add support for detecting new pangommconfig.h header file
+#     (Thanks to Sune Vuorela & the Debian Project for the patch)
+#   * Add support for detecting fontconfig.h header
+#   * Call find_package(Freetype) since it's required
+#   * Add support for allowing users to add additional library directories
+#     via the GTK2_ADDITIONAL_SUFFIXES variable (kind of a future-kludge in
+#     case the GTK developers change versions on any of the directories in the
+#     future).
+# Version 0.8 (1/4/2010)
+#   * Get module working under MacOSX fink by adding /sw/include, /sw/lib
+#     to PATHS and the gobject library
+# Version 0.7 (3/22/09)
+#   * Checked into CMake CVS
+#   * Added versioning support
+#   * Module now defaults to searching for GTK if COMPONENTS not specified.
+#   * Added HKCU prior to HKLM registry key and GTKMM specific environment
+#      variable as per mailing list discussion.
+#   * Added lib64 to include search path and a few other search paths where GTK
+#      may be installed on Unix systems.
+#   * Switched to lowercase CMake commands
+#   * Prefaced internal variables with _GTK2 to prevent collision
+#   * Changed internal macros to functions
+#   * Enhanced documentation
+# Version 0.6 (1/8/08)
+#   Added GTK2_SKIP_MARK_AS_ADVANCED option
+# Version 0.5 (12/19/08)
+#   Second release to cmake mailing list
+
+#=============================================================
+# _GTK2_GET_VERSION
+# Internal function to parse the version number in gtkversion.h
+#   _OUT_major = Major version number
+#   _OUT_minor = Minor version number
+#   _OUT_micro = Micro version number
+#   _gtkversion_hdr = Header file to parse
+#=============================================================
+
+include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+
+function(_GTK2_GET_VERSION _OUT_major _OUT_minor _OUT_micro _gtkversion_hdr)
+    file(STRINGS ${_gtkversion_hdr} _contents REGEX "#define GTK_M[A-Z]+_VERSION[ \t]+")
+    if(_contents)
+        string(REGEX REPLACE ".*#define GTK_MAJOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_major} "${_contents}")
+        string(REGEX REPLACE ".*#define GTK_MINOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_minor} "${_contents}")
+        string(REGEX REPLACE ".*#define GTK_MICRO_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_micro} "${_contents}")
+
+        if(NOT ${_OUT_major} MATCHES "[0-9]+")
+            message(FATAL_ERROR "Version parsing failed for GTK2_MAJOR_VERSION!")
+        endif()
+        if(NOT ${_OUT_minor} MATCHES "[0-9]+")
+            message(FATAL_ERROR "Version parsing failed for GTK2_MINOR_VERSION!")
+        endif()
+        if(NOT ${_OUT_micro} MATCHES "[0-9]+")
+            message(FATAL_ERROR "Version parsing failed for GTK2_MICRO_VERSION!")
+        endif()
+
+        set(${_OUT_major} ${${_OUT_major}} PARENT_SCOPE)
+        set(${_OUT_minor} ${${_OUT_minor}} PARENT_SCOPE)
+        set(${_OUT_micro} ${${_OUT_micro}} PARENT_SCOPE)
+    else()
+        message(FATAL_ERROR "Include file ${_gtkversion_hdr} does not exist")
+    endif()
+endfunction()
+
+
+#=============================================================
+# _GTK2_SIGCXX_GET_VERSION
+# Internal function to parse the version number in
+# sigc++config.h
+#   _OUT_major = Major version number
+#   _OUT_minor = Minor version number
+#   _OUT_micro = Micro version number
+#   _sigcxxversion_hdr = Header file to parse
+#=============================================================
+
+function(_GTK2_SIGCXX_GET_VERSION _OUT_major _OUT_minor _OUT_micro _sigcxxversion_hdr)
+    file(STRINGS ${_sigcxxversion_hdr} _contents REGEX "#define SIGCXX_M[A-Z]+_VERSION[ \t]+")
+    if(_contents)
+        string(REGEX REPLACE ".*#define SIGCXX_MAJOR_VERSION[ \t]+([0-9]+).*" "\\1" ${_OUT_major} "${_contents}")
+        string(REGEX REPLACE ".*#define SIGCXX_MINOR_VERSION[ \t]+([0-9]+).*" "\\1" ${_OUT_minor} "${_contents}")
+        string(REGEX REPLACE ".*#define SIGCXX_MICRO_VERSION[ \t]+([0-9]+).*" "\\1" ${_OUT_micro} "${_contents}")
+
+        if(NOT ${_OUT_major} MATCHES "[0-9]+")
+            message(FATAL_ERROR "Version parsing failed for SIGCXX_MAJOR_VERSION!")
+        endif()
+        if(NOT ${_OUT_minor} MATCHES "[0-9]+")
+            message(FATAL_ERROR "Version parsing failed for SIGCXX_MINOR_VERSION!")
+        endif()
+        if(NOT ${_OUT_micro} MATCHES "[0-9]+")
+            message(FATAL_ERROR "Version parsing failed for SIGCXX_MICRO_VERSION!")
+        endif()
+
+        set(${_OUT_major} ${${_OUT_major}} PARENT_SCOPE)
+        set(${_OUT_minor} ${${_OUT_minor}} PARENT_SCOPE)
+        set(${_OUT_micro} ${${_OUT_micro}} PARENT_SCOPE)
+    else()
+        # The header does not have the version macros; assume it is ``0.0.0``.
+        set(${_OUT_major} 0)
+        set(${_OUT_minor} 0)
+        set(${_OUT_micro} 0)
+    endif()
+endfunction()
+
+
+#=============================================================
+# _GTK2_FIND_INCLUDE_DIR
+# Internal function to find the GTK include directories
+#   _var = variable to set (_INCLUDE_DIR is appended)
+#   _hdr = header file to look for
+#=============================================================
+function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "_GTK2_FIND_INCLUDE_DIR( ${_var} ${_hdr} )")
+    endif()
+
+    set(_gtk_packages
+        # If these ever change, things will break.
+        ${GTK2_ADDITIONAL_SUFFIXES}
+        glibmm-2.4
+        glib-2.0
+        atk-1.0
+        atkmm-1.6
+        cairo
+        cairomm-1.0
+        gdk-pixbuf-2.0
+        gdkmm-2.4
+        giomm-2.4
+        gtk-2.0
+        gtkmm-2.4
+        libglade-2.0
+        libglademm-2.4
+        pango-1.0
+        pangomm-1.4
+        sigc++-2.0
+    )
+
+    #
+    # NOTE: The following suffixes cause searching for header files in both of
+    # these directories:
+    #         /usr/include/<pkg>
+    #         /usr/lib/<pkg>/include
+    #
+
+    set(_suffixes)
+    foreach(_d ${_gtk_packages})
+        list(APPEND _suffixes ${_d})
+        list(APPEND _suffixes ${_d}/include) # for /usr/lib/gtk-2.0/include
+    endforeach()
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "include suffixes = ${_suffixes}")
+    endif()
+
+    if(CMAKE_LIBRARY_ARCHITECTURE)
+      set(_gtk2_arch_dir /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE})
+      if(GTK2_DEBUG)
+        message(STATUS "Adding ${_gtk2_arch_dir} to search path for multiarch support")
+      endif()
+    endif()
+    find_path(GTK2_${_var}_INCLUDE_DIR ${_hdr}
+        PATHS
+            ${_gtk2_arch_dir}
+            /usr/local/libx32
+            /usr/local/lib64
+            /usr/local/lib
+            /usr/libx32
+            /usr/lib64
+            /usr/lib
+            /usr/X11R6/include
+            /usr/X11R6/lib
+            /opt/gnome/include
+            /opt/gnome/lib
+            /opt/openwin/include
+            /usr/openwin/lib
+            /sw/include
+            /sw/lib
+            /opt/local/include
+            /opt/local/lib
+            /usr/pkg/lib
+            /usr/pkg/include/glib
+            $ENV{GTKMM_BASEPATH}/include
+            $ENV{GTKMM_BASEPATH}/lib
+            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include
+            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/include
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+        PATH_SUFFIXES
+            ${_suffixes}
+    )
+    mark_as_advanced(GTK2_${_var}_INCLUDE_DIR)
+
+    if(GTK2_${_var}_INCLUDE_DIR)
+        set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${GTK2_${_var}_INCLUDE_DIR} PARENT_SCOPE)
+    endif()
+
+endfunction()
+
+#=============================================================
+# _GTK2_FIND_LIBRARY
+# Internal function to find libraries packaged with GTK2
+#   _var = library variable to create (_LIBRARY is appended)
+#=============================================================
+function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "_GTK2_FIND_LIBRARY( ${_var} ${_lib} ${_expand_vc} ${_append_version} )")
+    endif()
+
+    # Not GTK versions per se but the versions encoded into Windows
+    # import libraries (GtkMM 2.14.1 has a gtkmm-vc80-2_4.lib for example)
+    # Also the MSVC libraries use _ for . (this is handled below)
+    set(_versions 2.20 2.18 2.16 2.14 2.12
+                  2.10  2.8  2.6  2.4  2.2 2.0
+                  1.20 1.18 1.16 1.14 1.12
+                  1.10  1.8  1.6  1.4  1.2 1.0)
+
+    set(_library)
+    set(_library_d)
+
+    set(_library ${_lib})
+
+    if(_expand_vc AND MSVC)
+        # Add vc80/vc90/vc100 midfixes
+        if(MSVC_VERSION EQUAL 1400)
+            set(_library   ${_library}-vc80)
+        elseif(MSVC_VERSION EQUAL 1500)
+            set(_library   ${_library}-vc90)
+        elseif(MSVC_VERSION EQUAL 1600)
+            set(_library ${_library}-vc100)
+        elseif(MSVC_VERSION EQUAL 1700)
+            # Up to gtkmm-win 2.22.0-2 there are no vc110 libraries but vc100 can be used
+            set(_library ${_library}-vc100)
+        endif()
+        set(_library_d ${_library}-d)
+    endif()
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "After midfix addition = ${_library} and ${_library_d}")
+    endif()
+
+    set(_lib_list)
+    set(_libd_list)
+    if(_append_version)
+        foreach(_ver ${_versions})
+            list(APPEND _lib_list  "${_library}-${_ver}")
+            list(APPEND _libd_list "${_library_d}-${_ver}")
+        endforeach()
+    else()
+        set(_lib_list ${_library})
+        set(_libd_list ${_library_d})
+    endif()
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "library list = ${_lib_list} and library debug list = ${_libd_list}")
+    endif()
+
+    # For some silly reason the MSVC libraries use _ instead of .
+    # in the version fields
+    if(_expand_vc AND MSVC)
+        set(_no_dots_lib_list)
+        set(_no_dots_libd_list)
+        foreach(_l ${_lib_list})
+            string(REPLACE "." "_" _no_dots_library ${_l})
+            list(APPEND _no_dots_lib_list ${_no_dots_library})
+        endforeach()
+        # And for debug
+        set(_no_dots_libsd_list)
+        foreach(_l ${_libd_list})
+            string(REPLACE "." "_" _no_dots_libraryd ${_l})
+            list(APPEND _no_dots_libd_list ${_no_dots_libraryd})
+        endforeach()
+
+        # Copy list back to original names
+        set(_lib_list ${_no_dots_lib_list})
+        set(_libd_list ${_no_dots_libd_list})
+    endif()
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "While searching for GTK2_${_var}_LIBRARY, our proposed library list is ${_lib_list}")
+    endif()
+
+    find_library(GTK2_${_var}_LIBRARY_RELEASE
+        NAMES ${_lib_list}
+        PATHS
+            /opt/gnome/lib
+            /usr/openwin/lib
+            /sw/lib
+            $ENV{GTKMM_BASEPATH}/lib
+            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+        )
+
+    if(_expand_vc AND MSVC)
+        if(GTK2_DEBUG)
+            message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                           "While searching for GTK2_${_var}_LIBRARY_DEBUG our proposed library list is ${_libd_list}")
+        endif()
+
+        find_library(GTK2_${_var}_LIBRARY_DEBUG
+            NAMES ${_libd_list}
+            PATHS
+            $ENV{GTKMM_BASEPATH}/lib
+            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+        )
+    endif()
+
+    select_library_configurations(GTK2_${_var})
+
+    set(GTK2_${_var}_LIBRARY ${GTK2_${_var}_LIBRARY} PARENT_SCOPE)
+    set(GTK2_${_var}_FOUND ${GTK2_${_var}_FOUND} PARENT_SCOPE)
+
+    if(GTK2_${_var}_FOUND)
+        set(GTK2_LIBRARIES ${GTK2_LIBRARIES} ${GTK2_${_var}_LIBRARY})
+        set(GTK2_LIBRARIES ${GTK2_LIBRARIES} PARENT_SCOPE)
+    endif()
+
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "GTK2_${_var}_LIBRARY_RELEASE = \"${GTK2_${_var}_LIBRARY_RELEASE}\"")
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "GTK2_${_var}_LIBRARY_DEBUG   = \"${GTK2_${_var}_LIBRARY_DEBUG}\"")
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "GTK2_${_var}_LIBRARY         = \"${GTK2_${_var}_LIBRARY}\"")
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
+                       "GTK2_${_var}_FOUND           = \"${GTK2_${_var}_FOUND}\"")
+    endif()
+
+endfunction()
+
+
+function(_GTK2_ADD_TARGET_DEPENDS_INTERNAL _var _property)
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "_GTK2_ADD_TARGET_DEPENDS_INTERNAL( ${_var} ${_property} )")
+    endif()
+
+    string(TOLOWER "${_var}" _basename)
+
+    if (TARGET GTK2::${_basename})
+        foreach(_depend ${ARGN})
+            set(_valid_depends)
+            if (TARGET GTK2::${_depend})
+                list(APPEND _valid_depends GTK2::${_depend})
+            endif()
+            if (_valid_depends)
+                set_property(TARGET GTK2::${_basename} APPEND PROPERTY ${_property} "${_valid_depends}")
+            endif()
+            set(_valid_depends)
+        endforeach()
+    endif()
+endfunction()
+
+function(_GTK2_ADD_TARGET_DEPENDS _var)
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "_GTK2_ADD_TARGET_DEPENDS( ${_var} )")
+    endif()
+
+    string(TOLOWER "${_var}" _basename)
+
+    if(TARGET GTK2::${_basename})
+        get_target_property(_configs GTK2::${_basename} IMPORTED_CONFIGURATIONS)
+        _GTK2_ADD_TARGET_DEPENDS_INTERNAL(${_var} INTERFACE_LINK_LIBRARIES ${ARGN})
+        foreach(_config ${_configs})
+            _GTK2_ADD_TARGET_DEPENDS_INTERNAL(${_var} IMPORTED_LINK_INTERFACE_LIBRARIES_${_config} ${ARGN})
+        endforeach()
+    endif()
+endfunction()
+
+function(_GTK2_ADD_TARGET_INCLUDE_DIRS _var)
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "_GTK2_ADD_TARGET_INCLUDE_DIRS( ${_var} )")
+    endif()
+
+    string(TOLOWER "${_var}" _basename)
+
+    if(TARGET GTK2::${_basename})
+        foreach(_include ${ARGN})
+            set_property(TARGET GTK2::${_basename} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${_include}")
+        endforeach()
+    endif()
+endfunction()
+
+#=============================================================
+# _GTK2_ADD_TARGET
+# Internal function to create targets for GTK2
+#   _var = target to create
+#=============================================================
+function(_GTK2_ADD_TARGET _var)
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "_GTK2_ADD_TARGET( ${_var} )")
+    endif()
+
+    string(TOLOWER "${_var}" _basename)
+
+    cmake_parse_arguments(_${_var} "" "" "GTK2_DEPENDS;GTK2_OPTIONAL_DEPENDS;OPTIONAL_INCLUDES" ${ARGN})
+
+    if(GTK2_${_var}_FOUND)
+        if(NOT TARGET GTK2::${_basename})
+            # Do not create the target if dependencies are missing
+            foreach(_dep ${_${_var}_GTK2_DEPENDS})
+                if(NOT TARGET GTK2::${_dep})
+                    return()
+                endif()
+            endforeach()
+
+            add_library(GTK2::${_basename} UNKNOWN IMPORTED)
+
+            if(GTK2_${_var}_LIBRARY_RELEASE)
+                set_property(TARGET GTK2::${_basename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+                set_property(TARGET GTK2::${_basename}        PROPERTY IMPORTED_LOCATION_RELEASE "${GTK2_${_var}_LIBRARY_RELEASE}" )
+            endif()
+
+            if(GTK2_${_var}_LIBRARY_DEBUG)
+                set_property(TARGET GTK2::${_basename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+                set_property(TARGET GTK2::${_basename}        PROPERTY IMPORTED_LOCATION_DEBUG "${GTK2_${_var}_LIBRARY_DEBUG}" )
+            endif()
+
+            if(GTK2_${_var}_INCLUDE_DIR)
+                set_property(TARGET GTK2::${_basename} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GTK2_${_var}_INCLUDE_DIR}")
+            endif()
+
+            if(GTK2_${_var}CONFIG_INCLUDE_DIR AND NOT "x${GTK2_${_var}CONFIG_INCLUDE_DIR}" STREQUAL "x${GTK2_${_var}_INCLUDE_DIR}")
+                set_property(TARGET GTK2::${_basename} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GTK2_${_var}CONFIG_INCLUDE_DIR}")
+            endif()
+
+            if(GTK2_DEFINITIONS)
+                set_property(TARGET GTK2::${_basename} PROPERTY INTERFACE_COMPILE_DEFINITIONS "${GTK2_DEFINITIONS}")
+            endif()
+
+            if(_${_var}_GTK2_DEPENDS)
+                _GTK2_ADD_TARGET_DEPENDS(${_var} ${_${_var}_GTK2_DEPENDS} ${_${_var}_GTK2_OPTIONAL_DEPENDS})
+            endif()
+
+            if(_${_var}_OPTIONAL_INCLUDES)
+                foreach(_D ${_${_var}_OPTIONAL_INCLUDES})
+                    if(_D)
+                        _GTK2_ADD_TARGET_INCLUDE_DIRS(${_var} ${_D})
+                    endif()
+                endforeach()
+            endif()
+        endif()
+
+        set(GTK2_TARGETS ${GTK2_TARGETS} GTK2::${_basename})
+        set(GTK2_TARGETS ${GTK2_TARGETS} PARENT_SCOPE)
+
+        if(GTK2_USE_IMPORTED_TARGETS)
+            set(GTK2_${_var}_LIBRARY GTK2::${_basename} PARENT_SCOPE)
+        endif()
+
+    endif()
+endfunction()
+
+
+
+#=============================================================
+
+#
+# main()
+#
+
+set(GTK2_FOUND)
+set(GTK2_INCLUDE_DIRS)
+set(GTK2_LIBRARIES)
+set(GTK2_TARGETS)
+set(GTK2_DEFINITIONS)
+
+if(NOT GTK2_FIND_COMPONENTS)
+    # Assume they only want GTK
+    set(GTK2_FIND_COMPONENTS gtk)
+endif()
+
+#
+# If specified, enforce version number
+#
+if(GTK2_FIND_VERSION)
+    set(GTK2_FAILED_VERSION_CHECK true)
+    if(GTK2_DEBUG)
+        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+                       "Searching for version ${GTK2_FIND_VERSION}")
+    endif()
+    _GTK2_FIND_INCLUDE_DIR(GTK gtk/gtk.h)
+    if(GTK2_GTK_INCLUDE_DIR)
+        _GTK2_GET_VERSION(GTK2_MAJOR_VERSION
+                          GTK2_MINOR_VERSION
+                          GTK2_PATCH_VERSION
+                          ${GTK2_GTK_INCLUDE_DIR}/gtk/gtkversion.h)
+        set(GTK2_VERSION
+            ${GTK2_MAJOR_VERSION}.${GTK2_MINOR_VERSION}.${GTK2_PATCH_VERSION})
+        if(GTK2_FIND_VERSION_EXACT)
+            if(GTK2_VERSION VERSION_EQUAL GTK2_FIND_VERSION)
+                set(GTK2_FAILED_VERSION_CHECK false)
+            endif()
+        else()
+            if(GTK2_VERSION VERSION_EQUAL   GTK2_FIND_VERSION OR
+               GTK2_VERSION VERSION_GREATER GTK2_FIND_VERSION)
+                set(GTK2_FAILED_VERSION_CHECK false)
+            endif()
+        endif()
+    else()
+        # If we can't find the GTK include dir, we can't do version checking
+        if(GTK2_FIND_REQUIRED AND NOT GTK2_FIND_QUIETLY)
+            message(FATAL_ERROR "Could not find GTK2 include directory")
+        endif()
+        return()
+    endif()
+
+    if(GTK2_FAILED_VERSION_CHECK)
+        if(GTK2_FIND_REQUIRED AND NOT GTK2_FIND_QUIETLY)
+            if(GTK2_FIND_VERSION_EXACT)
+                message(FATAL_ERROR "GTK2 version check failed.  Version ${GTK2_VERSION} was found, version ${GTK2_FIND_VERSION} is needed exactly.")
+            else()
+                message(FATAL_ERROR "GTK2 version check failed.  Version ${GTK2_VERSION} was found, at least version ${GTK2_FIND_VERSION} is required")
+            endif()
+        endif()
+
+        # If the version check fails, exit out of the module here
+        return()
+    endif()
+endif()
+
+#
+# On MSVC, according to https://wiki.gnome.org/gtkmm/MSWindows, the /vd2 flag needs to be
+# passed to the compiler in order to use gtkmm
+#
+if(MSVC)
+    foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
+        if(_GTK2_component STREQUAL "gtkmm")
+            set(GTK2_DEFINITIONS "/vd2")
+        elseif(_GTK2_component STREQUAL "glademm")
+            set(GTK2_DEFINITIONS "/vd2")
+        endif()
+    endforeach()
+endif()
+
+#
+# Find all components
+#
+
+find_package(Freetype QUIET)
+if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
+    list(APPEND GTK2_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2})
+endif()
+
+foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
+    if(_GTK2_component STREQUAL "gtk")
+        # Left for compatibility with previous versions.
+        _GTK2_FIND_INCLUDE_DIR(FONTCONFIG fontconfig/fontconfig.h)
+        _GTK2_FIND_INCLUDE_DIR(X11 X11/Xlib.h)
+
+        _GTK2_FIND_INCLUDE_DIR(GLIB glib.h)
+        _GTK2_FIND_INCLUDE_DIR(GLIBCONFIG glibconfig.h)
+        _GTK2_FIND_LIBRARY    (GLIB glib false true)
+        _GTK2_ADD_TARGET      (GLIB)
+
+        _GTK2_FIND_INCLUDE_DIR(GOBJECT glib-object.h)
+        _GTK2_FIND_LIBRARY    (GOBJECT gobject false true)
+        _GTK2_ADD_TARGET      (GOBJECT GTK2_DEPENDS glib)
+
+        _GTK2_FIND_INCLUDE_DIR(ATK atk/atk.h)
+        _GTK2_FIND_LIBRARY    (ATK atk false true)
+        _GTK2_ADD_TARGET      (ATK GTK2_DEPENDS gobject glib)
+
+        _GTK2_FIND_LIBRARY    (GIO gio false true)
+        _GTK2_ADD_TARGET      (GIO GTK2_DEPENDS gobject glib)
+
+        _GTK2_FIND_LIBRARY    (GTHREAD gthread false true)
+        _GTK2_ADD_TARGET      (GTHREAD GTK2_DEPENDS glib)
+
+        _GTK2_FIND_LIBRARY    (GMODULE gmodule false true)
+        _GTK2_ADD_TARGET      (GMODULE GTK2_DEPENDS glib)
+
+        _GTK2_FIND_INCLUDE_DIR(GDK_PIXBUF gdk-pixbuf/gdk-pixbuf.h)
+        _GTK2_FIND_LIBRARY    (GDK_PIXBUF gdk_pixbuf false true)
+        _GTK2_ADD_TARGET      (GDK_PIXBUF GTK2_DEPENDS gobject glib)
+
+        _GTK2_FIND_INCLUDE_DIR(CAIRO cairo.h)
+        _GTK2_FIND_LIBRARY    (CAIRO cairo false false)
+        _GTK2_ADD_TARGET      (CAIRO)
+
+        _GTK2_FIND_INCLUDE_DIR(PANGO pango/pango.h)
+        _GTK2_FIND_LIBRARY    (PANGO pango false true)
+        _GTK2_ADD_TARGET      (PANGO GTK2_DEPENDS gobject glib)
+
+        _GTK2_FIND_LIBRARY    (PANGOCAIRO pangocairo false true)
+        _GTK2_ADD_TARGET      (PANGOCAIRO GTK2_DEPENDS pango cairo gobject glib)
+
+        _GTK2_FIND_LIBRARY    (PANGOFT2 pangoft2 false true)
+        _GTK2_ADD_TARGET      (PANGOFT2 GTK2_DEPENDS pango gobject glib
+                                        OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                          ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                          ${GTK2_X11_INCLUDE_DIR})
+
+        _GTK2_FIND_LIBRARY    (PANGOXFT pangoxft false true)
+        _GTK2_ADD_TARGET      (PANGOXFT GTK2_DEPENDS pangoft2 pango gobject glib
+                                        OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                          ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                          ${GTK2_X11_INCLUDE_DIR})
+
+        _GTK2_FIND_INCLUDE_DIR(GDK gdk/gdk.h)
+        _GTK2_FIND_INCLUDE_DIR(GDKCONFIG gdkconfig.h)
+        if(UNIX)
+            if(APPLE)
+                _GTK2_FIND_LIBRARY    (GDK gdk-quartz false true)
+            endif()
+            _GTK2_FIND_LIBRARY    (GDK gdk-x11 false true)
+        else()
+            _GTK2_FIND_LIBRARY    (GDK gdk-win32 false true)
+        endif()
+        _GTK2_ADD_TARGET (GDK GTK2_DEPENDS pango gdk_pixbuf gobject glib
+                              GTK2_OPTIONAL_DEPENDS pangocairo cairo)
+
+        _GTK2_FIND_INCLUDE_DIR(GTK gtk/gtk.h)
+        if(UNIX)
+            if(APPLE)
+                _GTK2_FIND_LIBRARY    (GTK gtk-quartz false true)
+            endif()
+            _GTK2_FIND_LIBRARY    (GTK gtk-x11 false true)
+        else()
+            _GTK2_FIND_LIBRARY    (GTK gtk-win32 false true)
+        endif()
+        _GTK2_ADD_TARGET (GTK GTK2_DEPENDS gdk atk pangoft2 pango gdk_pixbuf gthread gobject glib
+                              GTK2_OPTIONAL_DEPENDS gio pangocairo cairo)
+
+    elseif(_GTK2_component STREQUAL "gtkmm")
+
+        _GTK2_FIND_INCLUDE_DIR(SIGC++ sigc++/sigc++.h)
+        _GTK2_FIND_INCLUDE_DIR(SIGC++CONFIG sigc++config.h)
+        _GTK2_FIND_LIBRARY    (SIGC++ sigc true true)
+        _GTK2_ADD_TARGET      (SIGC++)
+        # Since sigc++ 2.5.1 c++11 support is required
+        if(GTK2_SIGC++CONFIG_INCLUDE_DIR)
+            _GTK2_SIGCXX_GET_VERSION(GTK2_SIGC++_VERSION_MAJOR
+                                     GTK2_SIGC++_VERSION_MINOR
+                                     GTK2_SIGC++_VERSION_MICRO
+                                     ${GTK2_SIGC++CONFIG_INCLUDE_DIR}/sigc++config.h)
+            if(NOT ${GTK2_SIGC++_VERSION_MAJOR}.${GTK2_SIGC++_VERSION_MINOR}.${GTK2_SIGC++_VERSION_MICRO} VERSION_LESS 2.5.1)
+                # These are the features needed by clients in order to include the
+                # project headers:
+                set_property(TARGET GTK2::sigc++
+                             PROPERTY INTERFACE_COMPILE_FEATURES cxx_alias_templates
+                                                                 cxx_auto_type
+                                                                 cxx_decltype
+                                                                 cxx_deleted_functions
+                                                                 cxx_noexcept
+                                                                 cxx_nullptr
+                                                                 cxx_right_angle_brackets
+                                                                 cxx_rvalue_references
+                                                                 cxx_variadic_templates)
+            endif()
+        endif()
+
+        _GTK2_FIND_INCLUDE_DIR(GLIBMM glibmm.h)
+        _GTK2_FIND_INCLUDE_DIR(GLIBMMCONFIG glibmmconfig.h)
+        _GTK2_FIND_LIBRARY    (GLIBMM glibmm true true)
+        _GTK2_ADD_TARGET      (GLIBMM GTK2_DEPENDS gobject sigc++ glib)
+
+        _GTK2_FIND_INCLUDE_DIR(GIOMM giomm.h)
+        _GTK2_FIND_INCLUDE_DIR(GIOMMCONFIG giommconfig.h)
+        _GTK2_FIND_LIBRARY    (GIOMM giomm true true)
+        _GTK2_ADD_TARGET      (GIOMM GTK2_DEPENDS gio glibmm gobject sigc++ glib)
+
+        _GTK2_FIND_INCLUDE_DIR(ATKMM atkmm.h)
+        _GTK2_FIND_LIBRARY    (ATKMM atkmm true true)
+        _GTK2_ADD_TARGET      (ATKMM GTK2_DEPENDS atk glibmm gobject sigc++ glib)
+
+        _GTK2_FIND_INCLUDE_DIR(CAIROMM cairomm/cairomm.h)
+        _GTK2_FIND_INCLUDE_DIR(CAIROMMCONFIG cairommconfig.h)
+        _GTK2_FIND_LIBRARY    (CAIROMM cairomm true true)
+        _GTK2_ADD_TARGET      (CAIROMM GTK2_DEPENDS cairo sigc++
+                                       OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                         ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                         ${GTK2_X11_INCLUDE_DIR})
+
+        _GTK2_FIND_INCLUDE_DIR(PANGOMM pangomm.h)
+        _GTK2_FIND_INCLUDE_DIR(PANGOMMCONFIG pangommconfig.h)
+        _GTK2_FIND_LIBRARY    (PANGOMM pangomm true true)
+        _GTK2_ADD_TARGET      (PANGOMM GTK2_DEPENDS glibmm sigc++ pango gobject glib
+                                       GTK2_OPTIONAL_DEPENDS cairomm pangocairo cairo
+                                       OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                         ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                         ${GTK2_X11_INCLUDE_DIR})
+
+        _GTK2_FIND_INCLUDE_DIR(GDKMM gdkmm.h)
+        _GTK2_FIND_INCLUDE_DIR(GDKMMCONFIG gdkmmconfig.h)
+        _GTK2_FIND_LIBRARY    (GDKMM gdkmm true true)
+        _GTK2_ADD_TARGET      (GDKMM GTK2_DEPENDS pangomm gtk glibmm sigc++ gdk atk pangoft2 gdk_pixbuf pango gobject glib
+                                     GTK2_OPTIONAL_DEPENDS giomm cairomm gio pangocairo cairo
+                                     OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                       ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                       ${GTK2_X11_INCLUDE_DIR})
+
+        _GTK2_FIND_INCLUDE_DIR(GTKMM gtkmm.h)
+        _GTK2_FIND_INCLUDE_DIR(GTKMMCONFIG gtkmmconfig.h)
+        _GTK2_FIND_LIBRARY    (GTKMM gtkmm true true)
+        _GTK2_ADD_TARGET      (GTKMM GTK2_DEPENDS atkmm gdkmm pangomm gtk glibmm sigc++ gdk atk pangoft2 gdk_pixbuf pango gthread gobject glib
+                                     GTK2_OPTIONAL_DEPENDS giomm cairomm gio pangocairo cairo
+                                     OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                       ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                       ${GTK2_X11_INCLUDE_DIR})
+
+    elseif(_GTK2_component STREQUAL "glade")
+
+        _GTK2_FIND_INCLUDE_DIR(GLADE glade/glade.h)
+        _GTK2_FIND_LIBRARY    (GLADE glade false true)
+        _GTK2_ADD_TARGET      (GLADE GTK2_DEPENDS gtk gdk atk gio pangoft2 gdk_pixbuf pango gobject glib
+                                     GTK2_OPTIONAL_DEPENDS pangocairo cairo
+                                     OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                       ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                       ${GTK2_X11_INCLUDE_DIR})
+
+    elseif(_GTK2_component STREQUAL "glademm")
+
+        _GTK2_FIND_INCLUDE_DIR(GLADEMM libglademm.h)
+        _GTK2_FIND_INCLUDE_DIR(GLADEMMCONFIG libglademmconfig.h)
+        _GTK2_FIND_LIBRARY    (GLADEMM glademm true true)
+        _GTK2_ADD_TARGET      (GLADEMM GTK2_DEPENDS gtkmm glade atkmm gdkmm giomm pangomm glibmm sigc++ gtk gdk atk pangoft2 gdk_pixbuf pango gthread gobject glib
+                                       GTK2_OPTIONAL_DEPENDS giomm cairomm gio pangocairo cairo
+                                       OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
+                                                         ${GTK2_FONTCONFIG_INCLUDE_DIR}
+                                                         ${GTK2_X11_INCLUDE_DIR})
+
+    else()
+        message(FATAL_ERROR "Unknown GTK2 component ${_component}")
+    endif()
+endforeach()
+
+#
+# Solve for the GTK2 version if we haven't already
+#
+if(NOT GTK2_FIND_VERSION AND GTK2_GTK_INCLUDE_DIR)
+    _GTK2_GET_VERSION(GTK2_MAJOR_VERSION
+                      GTK2_MINOR_VERSION
+                      GTK2_PATCH_VERSION
+                      ${GTK2_GTK_INCLUDE_DIR}/gtk/gtkversion.h)
+    set(GTK2_VERSION ${GTK2_MAJOR_VERSION}.${GTK2_MINOR_VERSION}.${GTK2_PATCH_VERSION})
+endif()
+
+#
+# Try to enforce components
+#
+
+set(_GTK2_did_we_find_everything true)  # This gets set to GTK2_FOUND
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
+    string(TOUPPER ${_GTK2_component} _COMPONENT_UPPER)
+
+    set(GTK2_${_COMPONENT_UPPER}_FIND_QUIETLY ${GTK2_FIND_QUIETLY})
+
+    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
+            GTK2_GTK_INCLUDE_DIR
+
+            GTK2_GDK_INCLUDE_DIR
+            GTK2_GDKCONFIG_INCLUDE_DIR
+            GTK2_GDK_LIBRARY
+
+            GTK2_GLIB_INCLUDE_DIR
+            GTK2_GLIBCONFIG_INCLUDE_DIR
+            GTK2_GLIB_LIBRARY
+        )
+    elseif(_GTK2_component STREQUAL "gtkmm")
+        FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtkmm libraries were not found."
+            GTK2_GTKMM_LIBRARY
+            GTK2_GTKMM_INCLUDE_DIR
+            GTK2_GTKMMCONFIG_INCLUDE_DIR
+
+            GTK2_GDKMM_INCLUDE_DIR
+            GTK2_GDKMMCONFIG_INCLUDE_DIR
+            GTK2_GDKMM_LIBRARY
+
+            GTK2_GLIBMM_INCLUDE_DIR
+            GTK2_GLIBMMCONFIG_INCLUDE_DIR
+            GTK2_GLIBMM_LIBRARY
+
+            FREETYPE_INCLUDE_DIR_ft2build
+            FREETYPE_INCLUDE_DIR_freetype2
+        )
+    elseif(_GTK2_component STREQUAL "glade")
+        FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glade library was not found."
+            GTK2_GLADE_LIBRARY
+            GTK2_GLADE_INCLUDE_DIR
+        )
+    elseif(_GTK2_component STREQUAL "glademm")
+        FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glademm library was not found."
+            GTK2_GLADEMM_LIBRARY
+            GTK2_GLADEMM_INCLUDE_DIR
+            GTK2_GLADEMMCONFIG_INCLUDE_DIR
+        )
+    endif()
+
+    if(NOT GTK2_${_COMPONENT_UPPER}_FOUND)
+        set(_GTK2_did_we_find_everything false)
+    endif()
+endforeach()
+
+if(GTK2_USE_IMPORTED_TARGETS)
+    set(GTK2_LIBRARIES ${GTK2_TARGETS})
+endif()
+
+
+if(_GTK2_did_we_find_everything AND NOT GTK2_VERSION_CHECK_FAILED)
+    set(GTK2_FOUND true)
+else()
+    # Unset our variables.
+    set(GTK2_FOUND false)
+    set(GTK2_VERSION)
+    set(GTK2_VERSION_MAJOR)
+    set(GTK2_VERSION_MINOR)
+    set(GTK2_VERSION_PATCH)
+    set(GTK2_INCLUDE_DIRS)
+    set(GTK2_LIBRARIES)
+    set(GTK2_TARGETS)
+    set(GTK2_DEFINITIONS)
+endif()
+
+if(GTK2_INCLUDE_DIRS)
+   list(REMOVE_DUPLICATES GTK2_INCLUDE_DIRS)
+endif()
diff --git a/share/cmake-3.10/Modules/FindGTest.cmake b/share/cmake-3.10/Modules/FindGTest.cmake
new file mode 100644
index 0000000..b0579d9
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGTest.cmake
@@ -0,0 +1,234 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGTest
+# ---------
+#
+# Locate the Google C++ Testing Framework.
+#
+# Imported targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` targets:
+#
+# ``GTest::GTest``
+#   The Google Test ``gtest`` library, if found; adds Thread::Thread
+#   automatically
+# ``GTest::Main``
+#   The Google Test ``gtest_main`` library, if found
+#
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``GTEST_FOUND``
+#   Found the Google Testing framework
+# ``GTEST_INCLUDE_DIRS``
+#   the directory containing the Google Test headers
+#
+# The library variables below are set as normal variables.  These
+# contain debug/optimized keywords when a debugging library is found.
+#
+# ``GTEST_LIBRARIES``
+#   The Google Test ``gtest`` library; note it also requires linking
+#   with an appropriate thread library
+# ``GTEST_MAIN_LIBRARIES``
+#   The Google Test ``gtest_main`` library
+# ``GTEST_BOTH_LIBRARIES``
+#   Both ``gtest`` and ``gtest_main``
+#
+# Cache variables
+# ^^^^^^^^^^^^^^^
+#
+# The following cache variables may also be set:
+#
+# ``GTEST_ROOT``
+#   The root directory of the Google Test installation (may also be
+#   set as an environment variable)
+# ``GTEST_MSVC_SEARCH``
+#   If compiling with MSVC, this variable can be set to ``MT`` or
+#   ``MD`` (the default) to enable searching a GTest build tree
+#
+#
+# Example usage
+# ^^^^^^^^^^^^^
+#
+# ::
+#
+#     enable_testing()
+#     find_package(GTest REQUIRED)
+#
+#     add_executable(foo foo.cc)
+#     target_link_libraries(foo GTest::GTest GTest::Main)
+#
+#     add_test(AllTestsInFoo foo)
+#
+#
+# Deeper integration with CTest
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# See :module:`GoogleTest` for information on the :command:`gtest_add_tests`
+# and :command:`gtest_discover_tests` commands.
+
+include(${CMAKE_CURRENT_LIST_DIR}/GoogleTest.cmake)
+
+function(__gtest_append_debugs _endvar _library)
+    if(${_library} AND ${_library}_DEBUG)
+        set(_output optimized ${${_library}} debug ${${_library}_DEBUG})
+    else()
+        set(_output ${${_library}})
+    endif()
+    set(${_endvar} ${_output} PARENT_SCOPE)
+endfunction()
+
+function(__gtest_find_library _name)
+    find_library(${_name}
+        NAMES ${ARGN}
+        HINTS
+            ENV GTEST_ROOT
+            ${GTEST_ROOT}
+        PATH_SUFFIXES ${_gtest_libpath_suffixes}
+    )
+    mark_as_advanced(${_name})
+endfunction()
+
+macro(__gtest_determine_windows_library_type _var)
+    if(EXISTS "${${_var}}")
+        file(TO_NATIVE_PATH "${${_var}}" _lib_path)
+        get_filename_component(_name "${${_var}}" NAME_WE)
+        file(STRINGS "${${_var}}" _match REGEX "${_name}\\.dll" LIMIT_COUNT 1)
+        if(NOT _match STREQUAL "")
+            set(${_var}_TYPE SHARED PARENT_SCOPE)
+        else()
+            set(${_var}_TYPE UNKNOWN PARENT_SCOPE)
+        endif()
+        return()
+    endif()
+endmacro()
+
+function(__gtest_determine_library_type _var)
+    if(WIN32)
+        # For now, at least, only Windows really needs to know the library type
+        __gtest_determine_windows_library_type(${_var})
+        __gtest_determine_windows_library_type(${_var}_RELEASE)
+        __gtest_determine_windows_library_type(${_var}_DEBUG)
+    endif()
+    # If we get here, no determination was made from the above checks
+    set(${_var}_TYPE UNKNOWN PARENT_SCOPE)
+endfunction()
+
+function(__gtest_import_library _target _var _config)
+    if(_config)
+        set(_config_suffix "_${_config}")
+    else()
+        set(_config_suffix "")
+    endif()
+
+    set(_lib "${${_var}${_config_suffix}}")
+    if(EXISTS "${_lib}")
+        if(_config)
+            set_property(TARGET ${_target} APPEND PROPERTY
+                IMPORTED_CONFIGURATIONS ${_config})
+        endif()
+        set_target_properties(${_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES${_config_suffix} "CXX")
+        if(WIN32 AND ${_var}_TYPE STREQUAL SHARED)
+            set_target_properties(${_target} PROPERTIES
+                IMPORTED_IMPLIB${_config_suffix} "${_lib}")
+        else()
+            set_target_properties(${_target} PROPERTIES
+                IMPORTED_LOCATION${_config_suffix} "${_lib}")
+        endif()
+    endif()
+endfunction()
+
+#
+
+if(NOT DEFINED GTEST_MSVC_SEARCH)
+    set(GTEST_MSVC_SEARCH MD)
+endif()
+
+set(_gtest_libpath_suffixes lib)
+if(MSVC)
+    if(GTEST_MSVC_SEARCH STREQUAL "MD")
+        list(APPEND _gtest_libpath_suffixes
+            msvc/gtest-md/Debug
+            msvc/gtest-md/Release
+            msvc/x64/Debug
+            msvc/x64/Release
+            )
+    elseif(GTEST_MSVC_SEARCH STREQUAL "MT")
+        list(APPEND _gtest_libpath_suffixes
+            msvc/gtest/Debug
+            msvc/gtest/Release
+            msvc/x64/Debug
+            msvc/x64/Release
+            )
+    endif()
+endif()
+
+
+find_path(GTEST_INCLUDE_DIR gtest/gtest.h
+    HINTS
+        $ENV{GTEST_ROOT}/include
+        ${GTEST_ROOT}/include
+)
+mark_as_advanced(GTEST_INCLUDE_DIR)
+
+if(MSVC AND GTEST_MSVC_SEARCH STREQUAL "MD")
+    # The provided /MD project files for Google Test add -md suffixes to the
+    # library names.
+    __gtest_find_library(GTEST_LIBRARY            gtest-md  gtest)
+    __gtest_find_library(GTEST_LIBRARY_DEBUG      gtest-mdd gtestd)
+    __gtest_find_library(GTEST_MAIN_LIBRARY       gtest_main-md  gtest_main)
+    __gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
+else()
+    __gtest_find_library(GTEST_LIBRARY            gtest)
+    __gtest_find_library(GTEST_LIBRARY_DEBUG      gtestd)
+    __gtest_find_library(GTEST_MAIN_LIBRARY       gtest_main)
+    __gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
+
+if(GTEST_FOUND)
+    set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
+    __gtest_append_debugs(GTEST_LIBRARIES      GTEST_LIBRARY)
+    __gtest_append_debugs(GTEST_MAIN_LIBRARIES GTEST_MAIN_LIBRARY)
+    set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
+
+    find_package(Threads QUIET)
+
+    if(NOT TARGET GTest::GTest)
+        __gtest_determine_library_type(GTEST_LIBRARY)
+        add_library(GTest::GTest ${GTEST_LIBRARY_TYPE} IMPORTED)
+        if(TARGET Threads::Threads)
+            set_target_properties(GTest::GTest PROPERTIES
+                INTERFACE_LINK_LIBRARIES Threads::Threads)
+        endif()
+        if(GTEST_LIBRARY_TYPE STREQUAL "SHARED")
+            set_target_properties(GTest::GTest PROPERTIES
+                INTERFACE_COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
+        endif()
+        if(GTEST_INCLUDE_DIRS)
+            set_target_properties(GTest::GTest PROPERTIES
+                INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIRS}")
+        endif()
+        __gtest_import_library(GTest::GTest GTEST_LIBRARY "")
+        __gtest_import_library(GTest::GTest GTEST_LIBRARY "RELEASE")
+        __gtest_import_library(GTest::GTest GTEST_LIBRARY "DEBUG")
+    endif()
+    if(NOT TARGET GTest::Main)
+        __gtest_determine_library_type(GTEST_MAIN_LIBRARY)
+        add_library(GTest::Main ${GTEST_MAIN_LIBRARY_TYPE} IMPORTED)
+        set_target_properties(GTest::Main PROPERTIES
+            INTERFACE_LINK_LIBRARIES "GTest::GTest")
+        __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY "")
+        __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY "RELEASE")
+        __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY "DEBUG")
+    endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindGettext.cmake b/share/cmake-3.10/Modules/FindGettext.cmake
new file mode 100644
index 0000000..9623b85
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGettext.cmake
@@ -0,0 +1,231 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGettext
+# -----------
+#
+# Find GNU gettext tools
+#
+# This module looks for the GNU gettext tools.  This module defines the
+# following values:
+#
+# ::
+#
+#   GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool.
+#   GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool.
+#   GETTEXT_FOUND: True if gettext has been found.
+#   GETTEXT_VERSION_STRING: the version of gettext found (since CMake 2.8.8)
+#
+#
+#
+# Additionally it provides the following macros:
+#
+# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ...  fileN )
+#
+# ::
+#
+#     This will create a target "translations" which will convert the
+#     given input po files into the binary output mo file. If the
+#     ALL option is used, the translations will also be created when
+#     building the default target.
+#
+# GETTEXT_PROCESS_POT_FILE( <potfile> [ALL] [INSTALL_DESTINATION <destdir>]
+# LANGUAGES <lang1> <lang2> ...  )
+#
+# ::
+#
+#      Process the given pot file to mo files.
+#      If INSTALL_DESTINATION is given then automatically install rules will
+#      be created, the language subdirectory will be taken into account
+#      (by default use share/locale/).
+#      If ALL is specified, the pot file is processed when building the all traget.
+#      It creates a custom target "potfile".
+#
+# GETTEXT_PROCESS_PO_FILES( <lang> [ALL] [INSTALL_DESTINATION <dir>]
+# PO_FILES <po1> <po2> ...  )
+#
+# ::
+#
+#      Process the given po files to mo files for the given language.
+#      If INSTALL_DESTINATION is given then automatically install rules will
+#      be created, the language subdirectory will be taken into account
+#      (by default use share/locale/).
+#      If ALL is specified, the po files are processed when building the all traget.
+#      It creates a custom target "pofiles".
+#
+# .. note::
+#   If you wish to use the Gettext library (libintl), use :module:`FindIntl`.
+
+find_program(GETTEXT_MSGMERGE_EXECUTABLE msgmerge)
+
+find_program(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
+
+if(GETTEXT_MSGMERGE_EXECUTABLE)
+   execute_process(COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --version
+                  OUTPUT_VARIABLE gettext_version
+                  ERROR_QUIET
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+   get_filename_component(msgmerge_name ${GETTEXT_MSGMERGE_EXECUTABLE} NAME)
+   get_filename_component(msgmerge_namewe ${GETTEXT_MSGMERGE_EXECUTABLE} NAME_WE)
+   if (gettext_version MATCHES "^(${msgmerge_name}|${msgmerge_namewe}) \\([^\\)]*\\) ([0-9\\.]+[^ \n]*)")
+      set(GETTEXT_VERSION_STRING "${CMAKE_MATCH_2}")
+   endif()
+   unset(gettext_version)
+   unset(msgmerge_name)
+   unset(msgmerge_namewe)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gettext
+                                  REQUIRED_VARS GETTEXT_MSGMERGE_EXECUTABLE GETTEXT_MSGFMT_EXECUTABLE
+                                  VERSION_VAR GETTEXT_VERSION_STRING)
+
+function(_GETTEXT_GET_UNIQUE_TARGET_NAME _name _unique_name)
+   set(propertyName "_GETTEXT_UNIQUE_COUNTER_${_name}")
+   get_property(currentCounter GLOBAL PROPERTY "${propertyName}")
+   if(NOT currentCounter)
+      set(currentCounter 1)
+   endif()
+   set(${_unique_name} "${_name}_${currentCounter}" PARENT_SCOPE)
+   math(EXPR currentCounter "${currentCounter} + 1")
+   set_property(GLOBAL PROPERTY ${propertyName} ${currentCounter} )
+endfunction()
+
+macro(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFileArg)
+   # make it a real variable, so we can modify it here
+   set(_firstPoFile "${_firstPoFileArg}")
+
+   set(_gmoFiles)
+   get_filename_component(_potName ${_potFile} NAME)
+   string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
+   get_filename_component(_absPotFile ${_potFile} ABSOLUTE)
+
+   set(_addToAll)
+   if(${_firstPoFile} STREQUAL "ALL")
+      set(_addToAll "ALL")
+      set(_firstPoFile)
+   endif()
+
+   foreach (_currentPoFile ${_firstPoFile} ${ARGN})
+      get_filename_component(_absFile ${_currentPoFile} ABSOLUTE)
+      get_filename_component(_abs_PATH ${_absFile} PATH)
+      get_filename_component(_lang ${_absFile} NAME_WE)
+      set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
+
+      add_custom_command(
+         OUTPUT ${_gmoFile}
+         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
+         COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
+         DEPENDS ${_absPotFile} ${_absFile}
+      )
+
+      install(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
+      set(_gmoFiles ${_gmoFiles} ${_gmoFile})
+
+   endforeach ()
+
+   if(NOT TARGET translations)
+      add_custom_target(translations)
+   endif()
+
+  _GETTEXT_GET_UNIQUE_TARGET_NAME(translations uniqueTargetName)
+
+   add_custom_target(${uniqueTargetName} ${_addToAll} DEPENDS ${_gmoFiles})
+
+   add_dependencies(translations ${uniqueTargetName})
+
+endmacro()
+
+
+function(GETTEXT_PROCESS_POT_FILE _potFile)
+   set(_gmoFiles)
+   set(_options ALL)
+   set(_oneValueArgs INSTALL_DESTINATION)
+   set(_multiValueArgs LANGUAGES)
+
+   CMAKE_PARSE_ARGUMENTS(_parsedArguments "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
+
+   get_filename_component(_potName ${_potFile} NAME)
+   string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
+   get_filename_component(_absPotFile ${_potFile} ABSOLUTE)
+
+   foreach (_lang ${_parsedArguments_LANGUAGES})
+      set(_poFile  "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po")
+      set(_gmoFile "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo")
+
+      add_custom_command(
+         OUTPUT "${_poFile}"
+         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_poFile} ${_absPotFile}
+         DEPENDS ${_absPotFile}
+      )
+
+      add_custom_command(
+         OUTPUT "${_gmoFile}"
+         COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_poFile}
+         DEPENDS ${_absPotFile} ${_poFile}
+      )
+
+      if(_parsedArguments_INSTALL_DESTINATION)
+         install(FILES ${_gmoFile} DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
+      endif()
+      list(APPEND _gmoFiles ${_gmoFile})
+   endforeach ()
+
+  if(NOT TARGET potfiles)
+     add_custom_target(potfiles)
+  endif()
+
+  _GETTEXT_GET_UNIQUE_TARGET_NAME( potfiles uniqueTargetName)
+
+   if(_parsedArguments_ALL)
+      add_custom_target(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
+   else()
+      add_custom_target(${uniqueTargetName} DEPENDS ${_gmoFiles})
+   endif()
+
+   add_dependencies(potfiles ${uniqueTargetName})
+
+endfunction()
+
+
+function(GETTEXT_PROCESS_PO_FILES _lang)
+   set(_options ALL)
+   set(_oneValueArgs INSTALL_DESTINATION)
+   set(_multiValueArgs PO_FILES)
+   set(_gmoFiles)
+
+   CMAKE_PARSE_ARGUMENTS(_parsedArguments "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
+
+   foreach(_current_PO_FILE ${_parsedArguments_PO_FILES})
+      get_filename_component(_name ${_current_PO_FILE} NAME)
+      string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _basename ${_name})
+      set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo)
+      add_custom_command(OUTPUT ${_gmoFile}
+            COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_current_PO_FILE}
+            WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+            DEPENDS ${_current_PO_FILE}
+         )
+
+      if(_parsedArguments_INSTALL_DESTINATION)
+         install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES/ RENAME ${_basename}.mo)
+      endif()
+      list(APPEND _gmoFiles ${_gmoFile})
+   endforeach()
+
+
+  if(NOT TARGET pofiles)
+     add_custom_target(pofiles)
+  endif()
+
+  _GETTEXT_GET_UNIQUE_TARGET_NAME( pofiles uniqueTargetName)
+
+   if(_parsedArguments_ALL)
+      add_custom_target(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
+   else()
+      add_custom_target(${uniqueTargetName} DEPENDS ${_gmoFiles})
+   endif()
+
+   add_dependencies(pofiles ${uniqueTargetName})
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindGit.cmake b/share/cmake-3.10/Modules/FindGit.cmake
new file mode 100644
index 0000000..fae31eb
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGit.cmake
@@ -0,0 +1,85 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGit
+# -------
+#
+# The module defines the following variables:
+#
+# ``GIT_EXECUTABLE``
+#   Path to Git command-line client.
+# ``Git_FOUND``, ``GIT_FOUND``
+#   True if the Git command-line client was found.
+# ``GIT_VERSION_STRING``
+#   The version of Git found.
+#
+# Example usage:
+#
+# .. code-block:: cmake
+#
+#    find_package(Git)
+#    if(Git_FOUND)
+#      message("Git found: ${GIT_EXECUTABLE}")
+#    endif()
+
+# Look for 'git' or 'eg' (easy git)
+#
+set(git_names git eg)
+
+# Prefer .cmd variants on Windows unless running in a Makefile
+# in the MSYS shell.
+#
+if(CMAKE_HOST_WIN32)
+  if(NOT CMAKE_GENERATOR MATCHES "MSYS")
+    set(git_names git.cmd git eg.cmd eg)
+    # GitHub search path for Windows
+    file(GLOB github_path
+      "$ENV{LOCALAPPDATA}/Github/PortableGit*/cmd"
+      "$ENV{LOCALAPPDATA}/Github/PortableGit*/bin"
+      )
+    # SourceTree search path for Windows
+    set(_git_sourcetree_path "$ENV{LOCALAPPDATA}/Atlassian/SourceTree/git_local/bin")
+  endif()
+endif()
+
+# First search the PATH and specific locations.
+find_program(GIT_EXECUTABLE
+  NAMES ${git_names}
+  PATHS ${github_path} ${_git_sourcetree_path}
+  DOC "Git command line client"
+  )
+
+if(CMAKE_HOST_WIN32)
+  # Now look for installations in Git/ directories under typical installation
+  # prefixes on Windows.  Exclude PATH from this search because VS 2017's
+  # command prompt happens to have a PATH entry with a Git/ subdirectory
+  # containing a minimal git not meant for general use.
+  find_program(GIT_EXECUTABLE
+    NAMES ${git_names}
+    PATH_SUFFIXES Git/cmd Git/bin
+    NO_SYSTEM_ENVIRONMENT_PATH
+    DOC "Git command line client"
+    )
+endif()
+
+mark_as_advanced(GIT_EXECUTABLE)
+
+unset(git_names)
+unset(_git_sourcetree_path)
+
+if(GIT_EXECUTABLE)
+  execute_process(COMMAND ${GIT_EXECUTABLE} --version
+                  OUTPUT_VARIABLE git_version
+                  ERROR_QUIET
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if (git_version MATCHES "^git version [0-9]")
+    string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}")
+  endif()
+  unset(git_version)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Git
+                                  REQUIRED_VARS GIT_EXECUTABLE
+                                  VERSION_VAR GIT_VERSION_STRING)
diff --git a/share/cmake-3.10/Modules/FindGnuTLS.cmake b/share/cmake-3.10/Modules/FindGnuTLS.cmake
new file mode 100644
index 0000000..1a97d99
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGnuTLS.cmake
@@ -0,0 +1,61 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGnuTLS
+# ----------
+#
+# Try to find the GNU Transport Layer Security library (gnutls)
+#
+#
+#
+# Once done this will define
+#
+# ::
+#
+#   GNUTLS_FOUND - System has gnutls
+#   GNUTLS_INCLUDE_DIR - The gnutls include directory
+#   GNUTLS_LIBRARIES - The libraries needed to use gnutls
+#   GNUTLS_DEFINITIONS - Compiler switches required for using gnutls
+
+# Note that this doesn't try to find the gnutls-extra package.
+
+
+if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
+   # in cache already
+   set(gnutls_FIND_QUIETLY TRUE)
+endif ()
+
+if (NOT WIN32)
+   # try using pkg-config to get the directories and then use these values
+   # in the find_path() and find_library() calls
+   # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
+   find_package(PkgConfig QUIET)
+   PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
+   set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
+   set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
+endif ()
+
+find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
+   HINTS
+   ${PC_GNUTLS_INCLUDEDIR}
+   ${PC_GNUTLS_INCLUDE_DIRS}
+   )
+
+find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
+   HINTS
+   ${PC_GNUTLS_LIBDIR}
+   ${PC_GNUTLS_LIBRARY_DIRS}
+   )
+
+mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
+                                  REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR
+                                  VERSION_VAR GNUTLS_VERSION_STRING)
+
+if(GNUTLS_FOUND)
+    set(GNUTLS_LIBRARIES    ${GNUTLS_LIBRARY})
+    set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
+endif()
diff --git a/share/cmake-3.10/Modules/FindGnuplot.cmake b/share/cmake-3.10/Modules/FindGnuplot.cmake
new file mode 100644
index 0000000..aa4cd6c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindGnuplot.cmake
@@ -0,0 +1,54 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGnuplot
+# -----------
+#
+# this module looks for gnuplot
+#
+#
+#
+# Once done this will define
+#
+# ::
+#
+#   GNUPLOT_FOUND - system has Gnuplot
+#   GNUPLOT_EXECUTABLE - the Gnuplot executable
+#   GNUPLOT_VERSION_STRING - the version of Gnuplot found (since CMake 2.8.8)
+#
+#
+#
+# GNUPLOT_VERSION_STRING will not work for old versions like 3.7.1.
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
+
+find_program(GNUPLOT_EXECUTABLE
+  NAMES
+  gnuplot
+  pgnuplot
+  wgnupl32
+  PATHS
+  ${CYGWIN_INSTALL_PATH}/bin
+)
+
+if (GNUPLOT_EXECUTABLE)
+    execute_process(COMMAND "${GNUPLOT_EXECUTABLE}" --version
+                  OUTPUT_VARIABLE GNUPLOT_OUTPUT_VARIABLE
+                  ERROR_QUIET
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+    string(REGEX REPLACE "^gnuplot ([0-9\\.]+)( patchlevel )?" "\\1." GNUPLOT_VERSION_STRING "${GNUPLOT_OUTPUT_VARIABLE}")
+    string(REGEX REPLACE "\\.$" "" GNUPLOT_VERSION_STRING "${GNUPLOT_VERSION_STRING}")
+    unset(GNUPLOT_OUTPUT_VARIABLE)
+endif()
+
+# for compatibility
+set(GNUPLOT ${GNUPLOT_EXECUTABLE})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gnuplot
+                                  REQUIRED_VARS GNUPLOT_EXECUTABLE
+                                  VERSION_VAR GNUPLOT_VERSION_STRING)
+
+mark_as_advanced( GNUPLOT_EXECUTABLE )
diff --git a/share/cmake-3.10/Modules/FindHDF5.cmake b/share/cmake-3.10/Modules/FindHDF5.cmake
new file mode 100644
index 0000000..3279bf2
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindHDF5.cmake
@@ -0,0 +1,934 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindHDF5
+# --------
+#
+# Find HDF5, a library for reading and writing self describing array data.
+#
+#
+#
+# This module invokes the HDF5 wrapper compiler that should be installed
+# alongside HDF5.  Depending upon the HDF5 Configuration, the wrapper
+# compiler is called either h5cc or h5pcc.  If this succeeds, the module
+# will then call the compiler with the -show argument to see what flags
+# are used when compiling an HDF5 client application.
+#
+# The module will optionally accept the COMPONENTS argument.  If no
+# COMPONENTS are specified, then the find module will default to finding
+# only the HDF5 C library.  If one or more COMPONENTS are specified, the
+# module will attempt to find the language bindings for the specified
+# components.  The only valid components are C, CXX, Fortran, HL, and
+# Fortran_HL.  If the COMPONENTS argument is not given, the module will
+# attempt to find only the C bindings.
+#
+# This module will read the variable
+# HDF5_USE_STATIC_LIBRARIES to determine whether or not to prefer a
+# static link to a dynamic link for HDF5 and all of it's dependencies.
+# To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES
+# variable is set before the call to find_package.
+#
+# To provide the module with a hint about where to find your HDF5
+# installation, you can set the environment variable HDF5_ROOT.  The
+# Find module will then look in this path when searching for HDF5
+# executables, paths, and libraries.
+#
+# Both the serial and parallel HDF5 wrappers are considered and the first
+# directory to contain either one will be used.  In the event that both appear
+# in the same directory the serial version is preferentially selected. This
+# behavior can be reversed by setting the variable HDF5_PREFER_PARALLEL to
+# true.
+#
+# In addition to finding the includes and libraries required to compile
+# an HDF5 client application, this module also makes an effort to find
+# tools that come with the HDF5 distribution that may be useful for
+# regression testing.
+#
+# This module will define the following variables:
+#
+# ::
+#
+#   HDF5_FOUND - true if HDF5 was found on the system
+#   HDF5_VERSION - HDF5 version in format Major.Minor.Release
+#   HDF5_INCLUDE_DIRS - Location of the hdf5 includes
+#   HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
+#   HDF5_DEFINITIONS - Required compiler definitions for HDF5
+#   HDF5_LIBRARIES - Required libraries for all requested bindings
+#   HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API for all
+#                       bindings, if the HL component is enabled
+#
+# Available components are: C CXX Fortran and HL.  For each enabled language
+# binding, a corresponding HDF5_${LANG}_LIBRARIES variable, and potentially
+# HDF5_${LANG}_DEFINITIONS, will be defined.
+# If the HL component is enabled, then an HDF5_${LANG}_HL_LIBRARIES will
+# also be defined.  With all components enabled, the following variables will be defined:
+#
+# ::
+#
+#   HDF5_C_DEFINITIONS -- Required compiler definitions for HDF5 C bindings
+#   HDF5_CXX_DEFINITIONS -- Required compiler definitions for HDF5 C++ bindings
+#   HDF5_Fortran_DEFINITIONS -- Required compiler definitions for HDF5 Fortran bindings
+#   HDF5_C_INCLUDE_DIRS -- Required include directories for HDF5 C bindings
+#   HDF5_CXX_INCLUDE_DIRS -- Required include directories for HDF5 C++ bindings
+#   HDF5_Fortran_INCLUDE_DIRS -- Required include directories for HDF5 Fortran bindings
+#   HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings
+#   HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings
+#   HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings
+#   HDF5_C_HL_LIBRARIES - Required libraries for the high level C bindings
+#   HDF5_CXX_HL_LIBRARIES - Required libraries for the high level C++ bindings
+#   HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran
+#                               bindings.
+#
+#   HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support
+#   HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler
+#   HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler
+#   HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler
+#   HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C compiler
+#                                               which is also the HDF5 wrapper
+#   HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C++
+#                                                 compiler which is also
+#                                                 the HDF5 wrapper
+#   HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary
+#                                                     Fortran compiler which
+#                                                     is also the HDF5 wrapper
+#   HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool
+#
+# The following variable can be set to guide the search for HDF5 libraries and includes:
+#
+# ``HDF5_ROOT``
+#   Specify the path to the HDF5 installation to use.
+#
+# ``HDF5_FIND_DEBUG``
+#   Set to a true value to get some extra debugging output.
+#
+# ``HDF5_NO_FIND_PACKAGE_CONFIG_FILE``
+#   Set to a true value to skip trying to find ``hdf5-config.cmake``.
+
+# This module is maintained by Will Dicharry <wdicharry@stellarscience.com>.
+
+include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+# List of the valid HDF5 components
+set(HDF5_VALID_LANGUAGE_BINDINGS C CXX Fortran)
+
+# Validate the list of find components.
+if(NOT HDF5_FIND_COMPONENTS)
+  set(HDF5_LANGUAGE_BINDINGS "C")
+else()
+  set(HDF5_LANGUAGE_BINDINGS)
+  # add the extra specified components, ensuring that they are valid.
+  set(FIND_HL OFF)
+  foreach(component IN LISTS HDF5_FIND_COMPONENTS)
+    list(FIND HDF5_VALID_LANGUAGE_BINDINGS ${component} component_location)
+    if(NOT component_location EQUAL -1)
+      list(APPEND HDF5_LANGUAGE_BINDINGS ${component})
+    elseif(component STREQUAL "HL")
+      set(FIND_HL ON)
+    elseif(component STREQUAL "Fortran_HL") # only for compatibility
+      list(APPEND HDF5_LANGUAGE_BINDINGS Fortran)
+      set(FIND_HL ON)
+      set(HDF5_FIND_REQUIRED_Fortran_HL False)
+      set(HDF5_FIND_REQUIRED_Fortran True)
+      set(HDF5_FIND_REQUIRED_HL True)
+    else()
+      message(FATAL_ERROR "${component} is not a valid HDF5 component.")
+    endif()
+  endforeach()
+  if(NOT HDF5_LANGUAGE_BINDINGS)
+    get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES)
+    foreach(__lang IN LISTS __langs)
+      if(__lang MATCHES "^(C|CXX|Fortran)$")
+        list(APPEND HDF5_LANGUAGE_BINDINGS ${__lang})
+      endif()
+    endforeach()
+  endif()
+  list(REMOVE_ITEM HDF5_FIND_COMPONENTS Fortran_HL) # replaced by Fortran and HL
+  list(REMOVE_DUPLICATES HDF5_LANGUAGE_BINDINGS)
+endif()
+
+# Determine whether to search for serial or parallel executable first
+if(HDF5_PREFER_PARALLEL)
+  set(HDF5_C_COMPILER_NAMES h5pcc h5cc)
+  set(HDF5_CXX_COMPILER_NAMES h5pc++ h5c++)
+  set(HDF5_Fortran_COMPILER_NAMES h5pfc h5fc)
+else()
+  set(HDF5_C_COMPILER_NAMES h5cc h5pcc)
+  set(HDF5_CXX_COMPILER_NAMES h5c++ h5pc++)
+  set(HDF5_Fortran_COMPILER_NAMES h5fc h5pfc)
+endif()
+
+# We may have picked up some duplicates in various lists during the above
+# process for the language bindings (both the C and C++ bindings depend on
+# libz for example).  Remove the duplicates. It appears that the default
+# CMake behavior is to remove duplicates from the end of a list. However,
+# for link lines, this is incorrect since unresolved symbols are searched
+# for down the link line. Therefore, we reverse the list, remove the
+# duplicates, and then reverse it again to get the duplicates removed from
+# the beginning.
+macro(_HDF5_remove_duplicates_from_beginning _list_name)
+  if(${_list_name})
+    list(REVERSE ${_list_name})
+    list(REMOVE_DUPLICATES ${_list_name})
+    list(REVERSE ${_list_name})
+  endif()
+endmacro()
+
+
+# Test first if the current compilers automatically wrap HDF5
+
+function(_HDF5_test_regular_compiler_C success version is_parallel)
+  set(scratch_directory
+    ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
+  if(NOT ${success} OR
+     NOT EXISTS ${scratch_directory}/compiler_has_h5_c)
+    set(test_file ${scratch_directory}/cmake_hdf5_test.c)
+    file(WRITE ${test_file}
+      "#include <hdf5.h>\n"
+      "#include <hdf5_hl.h>\n"
+      "const char* info_ver = \"INFO\" \":\" H5_VERSION;\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "const char* info_parallel = \"INFO\" \":\" \"PARALLEL\";\n"
+      "#endif\n"
+      "int main(int argc, char **argv) {\n"
+      "  int require = 0;\n"
+      "  require += info_ver[argc];\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "  require += info_parallel[argc];\n"
+      "#endif\n"
+      "  hid_t fid;\n"
+      "  fid = H5Fcreate(\"foo.h5\",H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT);\n"
+      "  return 0;\n"
+      "}")
+    try_compile(${success} ${scratch_directory} ${test_file}
+      COPY_FILE ${scratch_directory}/compiler_has_h5_c
+    )
+  endif()
+  if(${success})
+    file(STRINGS ${scratch_directory}/compiler_has_h5_c INFO_STRINGS
+      REGEX "^INFO:"
+    )
+    string(REGEX MATCH "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
+      INFO_VER "${INFO_STRINGS}"
+    )
+    set(${version} ${CMAKE_MATCH_1})
+    if(CMAKE_MATCH_3)
+      set(${version} ${HDF5_C_VERSION}.${CMAKE_MATCH_3})
+    endif()
+    set(${version} ${${version}} PARENT_SCOPE)
+
+    if(INFO_STRINGS MATCHES "INFO:PARALLEL")
+      set(${is_parallel} TRUE PARENT_SCOPE)
+    else()
+      set(${is_parallel} FALSE PARENT_SCOPE)
+    endif()
+  endif()
+endfunction()
+
+function(_HDF5_test_regular_compiler_CXX success version is_parallel)
+  set(scratch_directory ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
+  if(NOT ${success} OR
+     NOT EXISTS ${scratch_directory}/compiler_has_h5_cxx)
+    set(test_file ${scratch_directory}/cmake_hdf5_test.cxx)
+    file(WRITE ${test_file}
+      "#include <H5Cpp.h>\n"
+      "#ifndef H5_NO_NAMESPACE\n"
+      "using namespace H5;\n"
+      "#endif\n"
+      "const char* info_ver = \"INFO\" \":\" H5_VERSION;\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "const char* info_parallel = \"INFO\" \":\" \"PARALLEL\";\n"
+      "#endif\n"
+      "int main(int argc, char **argv) {\n"
+      "  int require = 0;\n"
+      "  require += info_ver[argc];\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "  require += info_parallel[argc];\n"
+      "#endif\n"
+      "  H5File file(\"foo.h5\", H5F_ACC_TRUNC);\n"
+      "  return 0;\n"
+      "}")
+    try_compile(${success} ${scratch_directory} ${test_file}
+      COPY_FILE ${scratch_directory}/compiler_has_h5_cxx
+    )
+  endif()
+  if(${success})
+    file(STRINGS ${scratch_directory}/compiler_has_h5_cxx INFO_STRINGS
+      REGEX "^INFO:"
+    )
+    string(REGEX MATCH "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
+      INFO_VER "${INFO_STRINGS}"
+    )
+    set(${version} ${CMAKE_MATCH_1})
+    if(CMAKE_MATCH_3)
+      set(${version} ${HDF5_CXX_VERSION}.${CMAKE_MATCH_3})
+    endif()
+    set(${version} ${${version}} PARENT_SCOPE)
+
+    if(INFO_STRINGS MATCHES "INFO:PARALLEL")
+      set(${is_parallel} TRUE PARENT_SCOPE)
+    else()
+      set(${is_parallel} FALSE PARENT_SCOPE)
+    endif()
+  endif()
+endfunction()
+
+function(_HDF5_test_regular_compiler_Fortran success is_parallel)
+  if(NOT ${success})
+    set(scratch_directory
+      ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
+    set(test_file ${scratch_directory}/cmake_hdf5_test.f90)
+    file(WRITE ${test_file}
+      "program hdf5_hello\n"
+      "  use hdf5\n"
+      "  use h5lt\n"
+      "  use h5ds\n"
+      "  integer error\n"
+      "  call h5open_f(error)\n"
+      "  call h5close_f(error)\n"
+      "end\n")
+    try_compile(${success} ${scratch_directory} ${test_file})
+    if(${success})
+      execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -showconfig
+        OUTPUT_VARIABLE config_output
+        ERROR_VARIABLE config_error
+        RESULT_VARIABLE config_result
+        )
+      if(config_output MATCHES "Parallel HDF5: yes")
+        set(${is_parallel} TRUE PARENT_SCOPE)
+      else()
+        set(${is_parallel} FALSE PARENT_SCOPE)
+      endif()
+    endif()
+  endif()
+endfunction()
+
+# Invoke the HDF5 wrapper compiler.  The compiler return value is stored to the
+# return_value argument, the text output is stored to the output variable.
+macro( _HDF5_invoke_compiler language output return_value version is_parallel)
+    set(${version})
+    if(HDF5_USE_STATIC_LIBRARIES)
+        set(lib_type_args -noshlib)
+    else()
+        set(lib_type_args -shlib)
+    endif()
+    set(scratch_dir ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
+    if("${language}" STREQUAL "C")
+        set(test_file ${scratch_dir}/cmake_hdf5_test.c)
+    elseif("${language}" STREQUAL "CXX")
+        set(test_file ${scratch_dir}/cmake_hdf5_test.cxx)
+    elseif("${language}" STREQUAL "Fortran")
+        set(test_file ${scratch_dir}/cmake_hdf5_test.f90)
+    endif()
+    exec_program( ${HDF5_${language}_COMPILER_EXECUTABLE}
+        ARGS -show ${lib_type_args} ${test_file}
+        OUTPUT_VARIABLE ${output}
+        RETURN_VALUE ${return_value}
+    )
+    if(NOT ${${return_value}} EQUAL 0)
+        message(STATUS
+          "Unable to determine HDF5 ${language} flags from HDF5 wrapper.")
+    endif()
+    exec_program( ${HDF5_${language}_COMPILER_EXECUTABLE}
+        ARGS -showconfig
+        OUTPUT_VARIABLE config_output
+        RETURN_VALUE config_return
+    )
+    if(NOT ${return_value} EQUAL 0)
+        message( STATUS
+          "Unable to determine HDF5 ${language} version from HDF5 wrapper.")
+    endif()
+    string(REGEX MATCH "HDF5 Version: ([a-zA-Z0-9\\.\\-]*)" version_match "${config_output}")
+    if(version_match)
+        string(REPLACE "HDF5 Version: " "" ${version} "${version_match}")
+        string(REPLACE "-patch" "." ${version} "${${version}}")
+    endif()
+    if(config_output MATCHES "Parallel HDF5: yes")
+      set(${is_parallel} TRUE)
+    else()
+      set(${is_parallel} FALSE)
+    endif()
+endmacro()
+
+# Parse a compile line for definitions, includes, library paths, and libraries.
+macro( _HDF5_parse_compile_line
+    compile_line_var
+    include_paths
+    definitions
+    library_paths
+    libraries
+    libraries_hl)
+
+  separate_arguments(_HDF5_COMPILE_ARGS NATIVE_COMMAND "${${compile_line_var}}")
+
+  foreach(arg IN LISTS _HDF5_COMPILE_ARGS)
+    if("${arg}" MATCHES "^-I(.*)$")
+      # include directory
+      list(APPEND ${include_paths} "${CMAKE_MATCH_1}")
+    elseif("${arg}" MATCHES "^-D(.*)$")
+      # compile definition
+      list(APPEND ${definitions} "-D${CMAKE_MATCH_1}")
+    elseif("${arg}" MATCHES "^-L(.*)$")
+      # library search path
+      list(APPEND ${library_paths} "${CMAKE_MATCH_1}")
+    elseif("${arg}" MATCHES "^-l(hdf5.*hl.*)$")
+      # library name (hl)
+      list(APPEND ${libraries_hl} "${CMAKE_MATCH_1}")
+    elseif("${arg}" MATCHES "^-l(.*)$")
+      # library name
+      list(APPEND ${libraries} "${CMAKE_MATCH_1}")
+    elseif("${arg}" MATCHES "^(.:)?[/\\].*\\.(a|so|dylib|sl|lib)$")
+      # library file
+      if(NOT EXISTS "${arg}")
+        continue()
+      endif()
+      get_filename_component(_HDF5_LPATH "${arg}" DIRECTORY)
+      get_filename_component(_HDF5_LNAME "${arg}" NAME_WE)
+      string(REGEX REPLACE "^lib" "" _HDF5_LNAME "${_HDF5_LNAME}")
+      list(APPEND ${library_paths} "${_HDF5_LPATH}")
+      if(_HDF5_LNAME MATCHES "hdf5.*hl")
+        list(APPEND ${libraries_hl} "${_HDF5_LNAME}")
+      else()
+        list(APPEND ${libraries} "${_HDF5_LNAME}")
+      endif()
+    endif()
+  endforeach()
+endmacro()
+
+# Select a preferred imported configuration from a target
+function(_HDF5_select_imported_config target imported_conf)
+    # We will first assign the value to a local variable _imported_conf, then assign
+    # it to the function argument at the end.
+    get_target_property(_imported_conf ${target} MAP_IMPORTED_CONFIG_${CMAKE_BUILD_TYPE})
+    if (NOT _imported_conf)
+        # Get available imported configurations by examining target properties
+        get_target_property(_imported_conf ${target} IMPORTED_CONFIGURATIONS)
+        if(HDF5_FIND_DEBUG)
+            message(STATUS "Found imported configurations: ${_imported_conf}")
+        endif()
+        # Find the imported configuration that we prefer.
+        # We do this by making list of configurations in order of preference,
+        # starting with ${CMAKE_BUILD_TYPE} and ending with the first imported_conf
+        set(_preferred_confs ${CMAKE_BUILD_TYPE})
+        list(GET _imported_conf 0 _fallback_conf)
+        list(APPEND _preferred_confs RELWITHDEBINFO RELEASE DEBUG ${_fallback_conf})
+        if(HDF5_FIND_DEBUG)
+            message(STATUS "Start search through imported configurations in the following order: ${_preferred_confs}")
+        endif()
+        # Now find the first of these that is present in imported_conf
+        cmake_policy(PUSH)
+        cmake_policy(SET CMP0057 NEW) # support IN_LISTS
+        foreach (_conf IN LISTS _preferred_confs)
+            if (${_conf} IN_LIST _imported_conf)
+               set(_imported_conf ${_conf})
+               break()
+            endif()
+        endforeach()
+        cmake_policy(POP)
+    endif()
+    if(HDF5_FIND_DEBUG)
+        message(STATUS "Selected imported configuration: ${_imported_conf}")
+    endif()
+    # assign value to function argument
+    set(${imported_conf} ${_imported_conf} PARENT_SCOPE)
+endfunction()
+
+
+if(NOT HDF5_ROOT)
+    set(HDF5_ROOT $ENV{HDF5_ROOT})
+endif()
+if(HDF5_ROOT)
+    set(_HDF5_SEARCH_OPTS NO_DEFAULT_PATH)
+else()
+    set(_HDF5_SEARCH_OPTS)
+endif()
+
+# Try to find HDF5 using an installed hdf5-config.cmake
+if(NOT HDF5_FOUND AND NOT HDF5_NO_FIND_PACKAGE_CONFIG_FILE)
+    find_package(HDF5 QUIET NO_MODULE
+      HINTS ${HDF5_ROOT}
+      ${_HDF5_SEARCH_OPTS}
+      )
+    if( HDF5_FOUND)
+        if(HDF5_FIND_DEBUG)
+            message(STATUS "Found HDF5 at ${HDF5_DIR} via NO_MODULE. Now trying to extract locations etc.")
+        endif()
+        set(HDF5_IS_PARALLEL ${HDF5_ENABLE_PARALLEL})
+        set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
+        set(HDF5_LIBRARIES)
+        if (NOT TARGET hdf5 AND NOT TARGET hdf5-static AND NOT TARGET hdf5-shared)
+            # Some HDF5 versions (e.g. 1.8.18) used hdf5::hdf5 etc
+            set(_target_prefix "hdf5::")
+        endif()
+        set(HDF5_C_TARGET ${_target_prefix}hdf5)
+        set(HDF5_C_HL_TARGET ${_target_prefix}hdf5_hl)
+        set(HDF5_CXX_TARGET ${_target_prefix}hdf5_cpp)
+        set(HDF5_CXX_HL_TARGET ${_target_prefix}hdf5_hl_cpp)
+        set(HDF5_Fortran_TARGET ${_target_prefix}hdf5_fortran)
+        set(HDF5_Fortran_HL_TARGET ${_target_prefix}hdf5_hl_fortran)
+        set(HDF5_DEFINITIONS "")
+        if(HDF5_USE_STATIC_LIBRARIES)
+            set(_suffix "-static")
+        else()
+            set(_suffix "-shared")
+        endif()
+        foreach(_lang ${HDF5_LANGUAGE_BINDINGS})
+
+            #Older versions of hdf5 don't have a static/shared suffix so
+            #if we detect that occurrence clear the suffix
+            if(_suffix AND NOT TARGET ${HDF5_${_lang}_TARGET}${_suffix})
+              if(NOT TARGET ${HDF5_${_lang}_TARGET})
+                #cant find this component with or without the suffix
+                #so bail out, and let the following locate HDF5
+                set(HDF5_FOUND FALSE)
+                break()
+              endif()
+              set(_suffix "")
+            endif()
+
+            if(HDF5_FIND_DEBUG)
+                message(STATUS "Trying to get properties of target ${HDF5_${_lang}_TARGET}${_suffix}")
+            endif()
+            # Find library for this target. Complicated as on Windows with a DLL, we need to search for the import-lib.
+            _HDF5_select_imported_config(${HDF5_${_lang}_TARGET}${_suffix} _hdf5_imported_conf)
+            get_target_property(_hdf5_lang_location ${HDF5_${_lang}_TARGET}${_suffix} IMPORTED_IMPLIB_${_hdf5_imported_conf} )
+            if (NOT _hdf5_lang_location)
+                # no import lib, just try LOCATION
+                get_target_property(_hdf5_lang_location ${HDF5_${_lang}_TARGET}${_suffix} LOCATION_${_hdf5_imported_conf})
+                if (NOT _hdf5_lang_location)
+                    get_target_property(_hdf5_lang_location ${HDF5_${_lang}_TARGET}${_suffix} LOCATION)
+                endif()
+            endif()
+            if( _hdf5_lang_location )
+                set(HDF5_${_lang}_LIBRARY ${_hdf5_lang_location})
+                list(APPEND HDF5_LIBRARIES ${HDF5_${_lang}_TARGET}${_suffix})
+                set(HDF5_${_lang}_LIBRARIES ${HDF5_${_lang}_TARGET}${_suffix})
+                set(HDF5_${_lang}_FOUND True)
+            endif()
+            if(FIND_HL)
+                get_target_property(__lang_hl_location ${HDF5_${_lang}_HL_TARGET}${_suffix} IMPORTED_IMPLIB_${_hdf5_imported_conf} )
+                if (NOT _hdf5_lang_hl_location)
+                    get_target_property(_hdf5_lang_hl_location ${HDF5_${_lang}_HL_TARGET}${_suffix} LOCATION_${_hdf5_imported_conf})
+                    if (NOT _hdf5_hl_lang_location)
+                        get_target_property(_hdf5_hl_lang_location ${HDF5_${_lang}_HL_TARGET}${_suffix} LOCATION)
+                    endif()
+                endif()
+                if( _hdf5_lang_hl_location )
+                    set(HDF5_${_lang}_HL_LIBRARY ${_hdf5_lang_hl_location})
+                    list(APPEND HDF5_HL_LIBRARIES ${HDF5_${_lang}_HL_TARGET}${_suffix})
+                    set(HDF5_${_lang}_HL_LIBRARIES ${HDF5_${_lang}_HL_TARGET}${_suffix})
+                    set(HDF5_HL_FOUND True)
+                endif()
+                unset(_hdf5_lang_hl_location)
+            endif()
+            unset(_hdf5_imported_conf)
+            unset(_hdf5_lang_location)
+        endforeach()
+    endif()
+endif()
+
+if(NOT HDF5_FOUND)
+  set(_HDF5_NEED_TO_SEARCH False)
+  set(HDF5_COMPILER_NO_INTERROGATE True)
+  # Only search for languages we've enabled
+  foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
+    # First check to see if our regular compiler is one of wrappers
+    if(__lang STREQUAL "C")
+      _HDF5_test_regular_compiler_C(
+        HDF5_${__lang}_COMPILER_NO_INTERROGATE
+        HDF5_${__lang}_VERSION
+        HDF5_${__lang}_IS_PARALLEL)
+    elseif(__lang STREQUAL "CXX")
+      _HDF5_test_regular_compiler_CXX(
+        HDF5_${__lang}_COMPILER_NO_INTERROGATE
+        HDF5_${__lang}_VERSION
+        HDF5_${__lang}_IS_PARALLEL)
+    elseif(__lang STREQUAL "Fortran")
+      _HDF5_test_regular_compiler_Fortran(
+        HDF5_${__lang}_COMPILER_NO_INTERROGATE
+        HDF5_${__lang}_IS_PARALLEL)
+    else()
+      continue()
+    endif()
+    if(HDF5_${__lang}_COMPILER_NO_INTERROGATE)
+      message(STATUS "HDF5: Using hdf5 compiler wrapper for all ${__lang} compiling")
+      set(HDF5_${__lang}_FOUND True)
+      set(HDF5_${__lang}_COMPILER_EXECUTABLE_NO_INTERROGATE
+          "${CMAKE_${__lang}_COMPILER}"
+          CACHE FILEPATH "HDF5 ${__lang} compiler wrapper")
+      set(HDF5_${__lang}_DEFINITIONS)
+      set(HDF5_${__lang}_INCLUDE_DIRS)
+      set(HDF5_${__lang}_LIBRARIES)
+      set(HDF5_${__lang}_HL_LIBRARIES)
+
+      mark_as_advanced(HDF5_${__lang}_COMPILER_EXECUTABLE_NO_INTERROGATE)
+
+      set(HDF5_${__lang}_FOUND True)
+      set(HDF5_HL_FOUND True)
+    else()
+      set(HDF5_COMPILER_NO_INTERROGATE False)
+      # If this language isn't using the wrapper, then try to seed the
+      # search options with the wrapper
+      find_program(HDF5_${__lang}_COMPILER_EXECUTABLE
+        NAMES ${HDF5_${__lang}_COMPILER_NAMES} NAMES_PER_DIR
+        HINTS ${HDF5_ROOT}
+        PATH_SUFFIXES bin Bin
+        DOC "HDF5 ${__lang} Wrapper compiler.  Used only to detect HDF5 compile flags."
+        ${_HDF5_SEARCH_OPTS}
+      )
+      mark_as_advanced( HDF5_${__lang}_COMPILER_EXECUTABLE )
+      unset(HDF5_${__lang}_COMPILER_NAMES)
+
+      if(HDF5_${__lang}_COMPILER_EXECUTABLE)
+        _HDF5_invoke_compiler(${__lang} HDF5_${__lang}_COMPILE_LINE
+          HDF5_${__lang}_RETURN_VALUE HDF5_${__lang}_VERSION HDF5_${__lang}_IS_PARALLEL)
+        if(HDF5_${__lang}_RETURN_VALUE EQUAL 0)
+          message(STATUS "HDF5: Using hdf5 compiler wrapper to determine ${__lang} configuration")
+          _HDF5_parse_compile_line( HDF5_${__lang}_COMPILE_LINE
+            HDF5_${__lang}_INCLUDE_DIRS
+            HDF5_${__lang}_DEFINITIONS
+            HDF5_${__lang}_LIBRARY_DIRS
+            HDF5_${__lang}_LIBRARY_NAMES
+            HDF5_${__lang}_HL_LIBRARY_NAMES
+          )
+          set(HDF5_${__lang}_LIBRARIES)
+
+          foreach(L IN LISTS HDF5_${__lang}_LIBRARY_NAMES)
+            set(_HDF5_SEARCH_NAMES_LOCAL)
+            if("x${L}" MATCHES "hdf5")
+              # hdf5 library
+              set(_HDF5_SEARCH_OPTS_LOCAL ${_HDF5_SEARCH_OPTS})
+              if(HDF5_USE_STATIC_LIBRARIES)
+                if(WIN32)
+                  set(_HDF5_SEARCH_NAMES_LOCAL lib${L})
+                else()
+                  set(_HDF5_SEARCH_NAMES_LOCAL lib${L}.a)
+                endif()
+              endif()
+            else()
+              # external library
+              set(_HDF5_SEARCH_OPTS_LOCAL)
+            endif()
+            find_library(HDF5_${__lang}_LIBRARY_${L}
+              NAMES ${_HDF5_SEARCH_NAMES_LOCAL} ${L} NAMES_PER_DIR
+              HINTS ${HDF5_${__lang}_LIBRARY_DIRS}
+                    ${HDF5_ROOT}
+              ${_HDF5_SEARCH_OPTS_LOCAL}
+              )
+            unset(_HDF5_SEARCH_OPTS_LOCAL)
+            unset(_HDF5_SEARCH_NAMES_LOCAL)
+            if(HDF5_${__lang}_LIBRARY_${L})
+              list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${__lang}_LIBRARY_${L}})
+            else()
+              list(APPEND HDF5_${__lang}_LIBRARIES ${L})
+            endif()
+          endforeach()
+          if(FIND_HL)
+            set(HDF5_${__lang}_HL_LIBRARIES)
+            foreach(L IN LISTS HDF5_${__lang}_HL_LIBRARY_NAMES)
+              set(_HDF5_SEARCH_NAMES_LOCAL)
+              if("x${L}" MATCHES "hdf5")
+                # hdf5 library
+                set(_HDF5_SEARCH_OPTS_LOCAL ${_HDF5_SEARCH_OPTS})
+                if(HDF5_USE_STATIC_LIBRARIES)
+                  if(WIN32)
+                    set(_HDF5_SEARCH_NAMES_LOCAL lib${L})
+                  else()
+                    set(_HDF5_SEARCH_NAMES_LOCAL lib${L}.a)
+                  endif()
+                endif()
+              else()
+                # external library
+                set(_HDF5_SEARCH_OPTS_LOCAL)
+              endif()
+              find_library(HDF5_${__lang}_LIBRARY_${L}
+                NAMES ${_HDF5_SEARCH_NAMES_LOCAL} ${L} NAMES_PER_DIR
+                HINTS ${HDF5_${__lang}_LIBRARY_DIRS}
+                      ${HDF5_ROOT}
+                ${_HDF5_SEARCH_OPTS_LOCAL}
+                )
+              unset(_HDF5_SEARCH_OPTS_LOCAL)
+              unset(_HDF5_SEARCH_NAMES_LOCAL)
+              if(HDF5_${__lang}_LIBRARY_${L})
+                list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${__lang}_LIBRARY_${L}})
+              else()
+                list(APPEND HDF5_${__lang}_HL_LIBRARIES ${L})
+              endif()
+            endforeach()
+            set(HDF5_HL_FOUND True)
+          endif()
+
+          set(HDF5_${__lang}_FOUND True)
+          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_DEFINITIONS)
+          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_INCLUDE_DIRS)
+          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_LIBRARIES)
+          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_HL_LIBRARIES)
+        else()
+          set(_HDF5_NEED_TO_SEARCH True)
+        endif()
+      else()
+        set(_HDF5_NEED_TO_SEARCH True)
+      endif()
+    endif()
+    if(HDF5_${__lang}_VERSION)
+      if(NOT HDF5_VERSION)
+        set(HDF5_VERSION ${HDF5_${__lang}_VERSION})
+      elseif(NOT HDF5_VERSION VERSION_EQUAL HDF5_${__lang}_VERSION)
+        message(WARNING "HDF5 Version found for language ${__lang}, ${HDF5_${__lang}_VERSION} is different than previously found version ${HDF5_VERSION}")
+      endif()
+    endif()
+    if(DEFINED HDF5_${__lang}_IS_PARALLEL)
+      if(NOT DEFINED HDF5_IS_PARALLEL)
+        set(HDF5_IS_PARALLEL ${HDF5_${__lang}_IS_PARALLEL})
+      elseif(NOT HDF5_IS_PARALLEL AND HDF5_${__lang}_IS_PARALLEL)
+        message(WARNING "HDF5 found for language ${__lang} is parallel but previously found language is not parallel.")
+      elseif(HDF5_IS_PARALLEL AND NOT HDF5_${__lang}_IS_PARALLEL)
+        message(WARNING "HDF5 found for language ${__lang} is not parallel but previously found language is parallel.")
+      endif()
+    endif()
+  endforeach()
+else()
+  set(_HDF5_NEED_TO_SEARCH True)
+endif()
+
+if(NOT HDF5_FOUND AND HDF5_COMPILER_NO_INTERROGATE)
+  # No arguments necessary, all languages can use the compiler wrappers
+  set(HDF5_FOUND True)
+  set(HDF5_METHOD "Included by compiler wrappers")
+  set(HDF5_REQUIRED_VARS HDF5_METHOD)
+elseif(NOT HDF5_FOUND AND NOT _HDF5_NEED_TO_SEARCH)
+  # Compiler wrappers aren't being used by the build but were found and used
+  # to determine necessary include and library flags
+  set(HDF5_INCLUDE_DIRS)
+  set(HDF5_LIBRARIES)
+  set(HDF5_HL_LIBRARIES)
+  foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
+    if(HDF5_${__lang}_FOUND)
+      if(NOT HDF5_${__lang}_COMPILER_NO_INTERROGATE)
+        list(APPEND HDF5_DEFINITIONS ${HDF5_${__lang}_DEFINITIONS})
+        list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIRS})
+        list(APPEND HDF5_LIBRARIES ${HDF5_${__lang}_LIBRARIES})
+        if(FIND_HL)
+          list(APPEND HDF5_HL_LIBRARIES ${HDF5_${__lang}_HL_LIBRARIES})
+        endif()
+      endif()
+    endif()
+  endforeach()
+  _HDF5_remove_duplicates_from_beginning(HDF5_DEFINITIONS)
+  _HDF5_remove_duplicates_from_beginning(HDF5_INCLUDE_DIRS)
+  _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARIES)
+  _HDF5_remove_duplicates_from_beginning(HDF5_HL_LIBRARIES)
+  set(HDF5_FOUND True)
+  set(HDF5_REQUIRED_VARS HDF5_LIBRARIES)
+  if(FIND_HL)
+    list(APPEND HDF5_REQUIRED_VARS HDF5_HL_LIBRARIES)
+  endif()
+endif()
+
+find_program( HDF5_DIFF_EXECUTABLE
+    NAMES h5diff
+    HINTS ${HDF5_ROOT}
+    PATH_SUFFIXES bin Bin
+    ${_HDF5_SEARCH_OPTS}
+    DOC "HDF5 file differencing tool." )
+mark_as_advanced( HDF5_DIFF_EXECUTABLE )
+
+if( NOT HDF5_FOUND )
+    # seed the initial lists of libraries to find with items we know we need
+    set(HDF5_C_LIBRARY_NAMES          hdf5)
+    set(HDF5_C_HL_LIBRARY_NAMES       hdf5_hl)
+
+    set(HDF5_CXX_LIBRARY_NAMES        hdf5_cpp    ${HDF5_C_LIBRARY_NAMES})
+    set(HDF5_CXX_HL_LIBRARY_NAMES     hdf5_hl_cpp ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_CXX_LIBRARY_NAMES})
+
+    set(HDF5_Fortran_LIBRARY_NAMES    hdf5_fortran   ${HDF5_C_LIBRARY_NAMES})
+    set(HDF5_Fortran_HL_LIBRARY_NAMES hdf5hl_fortran ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_Fortran_LIBRARY_NAMES})
+
+    foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
+        # find the HDF5 include directories
+        if("${__lang}" STREQUAL "Fortran")
+            set(HDF5_INCLUDE_FILENAME hdf5.mod)
+        elseif("${__lang}" STREQUAL "CXX")
+            set(HDF5_INCLUDE_FILENAME H5Cpp.h)
+        else()
+            set(HDF5_INCLUDE_FILENAME hdf5.h)
+        endif()
+
+        find_path(HDF5_${__lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME}
+            HINTS ${HDF5_ROOT}
+            PATHS $ENV{HOME}/.local/include
+            PATH_SUFFIXES include Include
+            ${_HDF5_SEARCH_OPTS}
+        )
+        mark_as_advanced(HDF5_${__lang}_INCLUDE_DIR)
+        # set the _DIRS variable as this is what the user will normally use
+        set(HDF5_${__lang}_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIR})
+        list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIR})
+
+        # find the HDF5 libraries
+        foreach(LIB IN LISTS HDF5_${__lang}_LIBRARY_NAMES)
+            if(HDF5_USE_STATIC_LIBRARIES)
+                # According to bug 1643 on the CMake bug tracker, this is the
+                # preferred method for searching for a static library.
+                # See https://gitlab.kitware.com/cmake/cmake/issues/1643.  We search
+                # first for the full static library name, but fall back to a
+                # generic search on the name if the static search fails.
+                set( THIS_LIBRARY_SEARCH_DEBUG
+                    lib${LIB}d.a lib${LIB}_debug.a lib${LIB}d lib${LIB}_D lib${LIB}_debug
+                    lib${LIB}d-static.a lib${LIB}_debug-static.a ${LIB}d-static ${LIB}_D-static ${LIB}_debug-static )
+                set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a lib${LIB} lib${LIB}-static.a ${LIB}-static)
+            else()
+                set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_D ${LIB}_debug ${LIB}d-shared ${LIB}_D-shared ${LIB}_debug-shared)
+                set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared)
+                if(WIN32)
+                  list(APPEND HDF5_DEFINITIONS "-DH5_BUILT_AS_DYNAMIC_LIB")
+                endif()
+            endif()
+            find_library(HDF5_${LIB}_LIBRARY_DEBUG
+                NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
+                HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+                ${_HDF5_SEARCH_OPTS}
+            )
+            find_library( HDF5_${LIB}_LIBRARY_RELEASE
+                NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
+                HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+                ${_HDF5_SEARCH_OPTS}
+            )
+            select_library_configurations( HDF5_${LIB} )
+            list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${LIB}_LIBRARY})
+        endforeach()
+        if(HDF5_${__lang}_LIBRARIES)
+            set(HDF5_${__lang}_FOUND True)
+        endif()
+
+        # Append the libraries for this language binding to the list of all
+        # required libraries.
+        list(APPEND HDF5_LIBRARIES ${HDF5_${__lang}_LIBRARIES})
+
+        if(FIND_HL)
+            foreach(LIB IN LISTS HDF5_${__lang}_HL_LIBRARY_NAMES)
+                if(HDF5_USE_STATIC_LIBRARIES)
+                    # According to bug 1643 on the CMake bug tracker, this is the
+                    # preferred method for searching for a static library.
+                    # See https://gitlab.kitware.com/cmake/cmake/issues/1643.  We search
+                    # first for the full static library name, but fall back to a
+                    # generic search on the name if the static search fails.
+                    set( THIS_LIBRARY_SEARCH_DEBUG
+                        lib${LIB}d.a lib${LIB}_debug.a lib${LIB}d lib${LIB}_D lib${LIB}_debug
+                        lib${LIB}d-static.a lib${LIB}_debug-static.a lib${LIB}d-static lib${LIB}_D-static lib${LIB}_debug-static )
+                    set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} lib${LIB}-static.a lib${LIB}-static)
+                else()
+                    set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_D ${LIB}_debug ${LIB}d-shared ${LIB}_D-shared ${LIB}_debug-shared)
+                    set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared)
+                endif()
+                find_library(HDF5_${LIB}_LIBRARY_DEBUG
+                    NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
+                    HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+                    ${_HDF5_SEARCH_OPTS}
+                )
+                find_library( HDF5_${LIB}_LIBRARY_RELEASE
+                    NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
+                    HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+                    ${_HDF5_SEARCH_OPTS}
+                )
+                select_library_configurations( HDF5_${LIB} )
+                list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${LIB}_LIBRARY})
+            endforeach()
+
+            # Append the libraries for this language binding to the list of all
+            # required libraries.
+            list(APPEND HDF5_HL_LIBRARIES ${HDF5_${__lang}_HL_LIBRARIES})
+        endif()
+    endforeach()
+    if(FIND_HL AND HDF5_HL_LIBRARIES)
+        set(HDF5_HL_FOUND True)
+    endif()
+
+    _HDF5_remove_duplicates_from_beginning(HDF5_DEFINITIONS)
+    _HDF5_remove_duplicates_from_beginning(HDF5_INCLUDE_DIRS)
+    _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARIES)
+    _HDF5_remove_duplicates_from_beginning(HDF5_HL_LIBRARIES)
+
+    # If the HDF5 include directory was found, open H5pubconf.h to determine if
+    # HDF5 was compiled with parallel IO support
+    set( HDF5_IS_PARALLEL FALSE )
+    set( HDF5_VERSION "" )
+    foreach( _dir IN LISTS HDF5_INCLUDE_DIRS )
+      foreach(_hdr "${_dir}/H5pubconf.h" "${_dir}/H5pubconf-64.h" "${_dir}/H5pubconf-32.h")
+        if( EXISTS "${_hdr}" )
+            file( STRINGS "${_hdr}"
+                HDF5_HAVE_PARALLEL_DEFINE
+                REGEX "HAVE_PARALLEL 1" )
+            if( HDF5_HAVE_PARALLEL_DEFINE )
+                set( HDF5_IS_PARALLEL TRUE )
+            endif()
+            unset(HDF5_HAVE_PARALLEL_DEFINE)
+
+            file( STRINGS "${_hdr}"
+                HDF5_VERSION_DEFINE
+                REGEX "^[ \t]*#[ \t]*define[ \t]+H5_VERSION[ \t]+" )
+            if( "${HDF5_VERSION_DEFINE}" MATCHES
+                "H5_VERSION[ \t]+\"([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?\"" )
+                set( HDF5_VERSION "${CMAKE_MATCH_1}" )
+                if( CMAKE_MATCH_3 )
+                  set( HDF5_VERSION ${HDF5_VERSION}.${CMAKE_MATCH_3})
+                endif()
+            endif()
+            unset(HDF5_VERSION_DEFINE)
+        endif()
+      endforeach()
+    endforeach()
+    set( HDF5_IS_PARALLEL ${HDF5_IS_PARALLEL} CACHE BOOL
+        "HDF5 library compiled with parallel IO support" )
+    mark_as_advanced( HDF5_IS_PARALLEL )
+
+    set(HDF5_REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS)
+    if(FIND_HL)
+        list(APPEND HDF5_REQUIRED_VARS HDF5_HL_LIBRARIES)
+    endif()
+endif()
+
+# For backwards compatibility we set HDF5_INCLUDE_DIR to the value of
+# HDF5_INCLUDE_DIRS
+if( HDF5_INCLUDE_DIRS )
+  set( HDF5_INCLUDE_DIR "${HDF5_INCLUDE_DIRS}" )
+endif()
+
+# If HDF5_REQUIRED_VARS is empty at this point, then it's likely that
+# something external is trying to explicitly pass already found
+# locations
+if(NOT HDF5_REQUIRED_VARS)
+    set(HDF5_REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS)
+endif()
+
+find_package_handle_standard_args(HDF5
+    REQUIRED_VARS ${HDF5_REQUIRED_VARS}
+    VERSION_VAR   HDF5_VERSION
+    HANDLE_COMPONENTS
+)
+
+unset(_HDF5_SEARCH_OPTS)
+
+if( HDF5_FOUND AND NOT HDF5_DIR)
+  # hide HDF5_DIR for the non-advanced user to avoid confusion with
+  # HDF5_DIR-NOT_FOUND while HDF5 was found.
+  mark_as_advanced(HDF5_DIR)
+endif()
+
+if (HDF5_FIND_DEBUG)
+  message(STATUS "HDF5_DIR: ${HDF5_DIR}")
+  message(STATUS "HDF5_DEFINITIONS: ${HDF5_DEFINITIONS}")
+  message(STATUS "HDF5_INCLUDE_DIRS: ${HDF5_INCLUDE_DIRS}")
+  message(STATUS "HDF5_LIBRARIES: ${HDF5_LIBRARIES}")
+  message(STATUS "HDF5_HL_LIBRARIES: ${HDF5_HL_LIBRARIES}")
+  foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
+    message(STATUS "HDF5_${__lang}_DEFINITIONS: ${HDF5_${__lang}_DEFINITIONS}")
+    message(STATUS "HDF5_${__lang}_INCLUDE_DIR: ${HDF5_${__lang}_INCLUDE_DIR}")
+    message(STATUS "HDF5_${__lang}_INCLUDE_DIRS: ${HDF5_${__lang}_INCLUDE_DIRS}")
+    message(STATUS "HDF5_${__lang}_LIBRARY: ${HDF5_${__lang}_LIBRARY}")
+    message(STATUS "HDF5_${__lang}_LIBRARIES: ${HDF5_${__lang}_LIBRARIES}")
+    message(STATUS "HDF5_${__lang}_HL_LIBRARY: ${HDF5_${__lang}_HL_LIBRARY}")
+    message(STATUS "HDF5_${__lang}_HL_LIBRARIES: ${HDF5_${__lang}_HL_LIBRARIES}")
+  endforeach()
+endif()
diff --git a/share/cmake-3.10/Modules/FindHSPELL.cmake b/share/cmake-3.10/Modules/FindHSPELL.cmake
new file mode 100644
index 0000000..bb0e2f0
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindHSPELL.cmake
@@ -0,0 +1,44 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindHSPELL
+# ----------
+#
+# Try to find Hspell
+#
+# Once done this will define
+#
+# ::
+#
+#   HSPELL_FOUND - system has Hspell
+#   HSPELL_INCLUDE_DIR - the Hspell include directory
+#   HSPELL_LIBRARIES - The libraries needed to use Hspell
+#   HSPELL_DEFINITIONS - Compiler switches required for using Hspell
+#
+#
+#
+# ::
+#
+#   HSPELL_VERSION_STRING - The version of Hspell found (x.y)
+#   HSPELL_MAJOR_VERSION  - the major version of Hspell
+#   HSPELL_MINOR_VERSION  - The minor version of Hspell
+
+find_path(HSPELL_INCLUDE_DIR hspell.h)
+
+find_library(HSPELL_LIBRARIES NAMES hspell)
+
+if (HSPELL_INCLUDE_DIR)
+    file(STRINGS "${HSPELL_INCLUDE_DIR}/hspell.h" HSPELL_H REGEX "#define HSPELL_VERSION_M(AJO|INO)R [0-9]+")
+    string(REGEX REPLACE ".*#define HSPELL_VERSION_MAJOR ([0-9]+).*" "\\1" HSPELL_VERSION_MAJOR "${HSPELL_H}")
+    string(REGEX REPLACE ".*#define HSPELL_VERSION_MINOR ([0-9]+).*" "\\1" HSPELL_VERSION_MINOR "${HSPELL_H}")
+    set(HSPELL_VERSION_STRING "${HSPELL_VERSION_MAJOR}.${HSPELL_VERSION_MINOR}")
+    unset(HSPELL_H)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(HSPELL
+                                  REQUIRED_VARS HSPELL_LIBRARIES HSPELL_INCLUDE_DIR
+                                  VERSION_VAR HSPELL_VERSION_STRING)
+
+mark_as_advanced(HSPELL_INCLUDE_DIR HSPELL_LIBRARIES)
diff --git a/share/cmake-3.10/Modules/FindHTMLHelp.cmake b/share/cmake-3.10/Modules/FindHTMLHelp.cmake
new file mode 100644
index 0000000..6aab8a7
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindHTMLHelp.cmake
@@ -0,0 +1,51 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindHTMLHelp
+# ------------
+#
+# This module looks for Microsoft HTML Help Compiler
+#
+# It defines:
+#
+# ::
+#
+#    HTML_HELP_COMPILER     : full path to the Compiler (hhc.exe)
+#    HTML_HELP_INCLUDE_PATH : include path to the API (htmlhelp.h)
+#    HTML_HELP_LIBRARY      : full path to the library (htmlhelp.lib)
+
+if(WIN32)
+
+  find_program(HTML_HELP_COMPILER
+    NAMES hhc
+    PATHS
+      "[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]"
+    PATH_SUFFIXES "HTML Help Workshop"
+    )
+
+  get_filename_component(HTML_HELP_COMPILER_PATH "${HTML_HELP_COMPILER}" PATH)
+
+  find_path(HTML_HELP_INCLUDE_PATH
+    NAMES htmlhelp.h
+    PATHS
+      "${HTML_HELP_COMPILER_PATH}/include"
+      "[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/include"
+    PATH_SUFFIXES "HTML Help Workshop/include"
+    )
+
+  find_library(HTML_HELP_LIBRARY
+    NAMES htmlhelp
+    PATHS
+      "${HTML_HELP_COMPILER_PATH}/lib"
+      "[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/lib"
+    PATH_SUFFIXES "HTML Help Workshop/lib"
+    )
+
+  mark_as_advanced(
+    HTML_HELP_COMPILER
+    HTML_HELP_INCLUDE_PATH
+    HTML_HELP_LIBRARY
+    )
+
+endif()
diff --git a/share/cmake-3.10/Modules/FindHg.cmake b/share/cmake-3.10/Modules/FindHg.cmake
new file mode 100644
index 0000000..8aa553e
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindHg.cmake
@@ -0,0 +1,96 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindHg
+# ------
+#
+# Extract information from a mercurial working copy.
+#
+# The module defines the following variables:
+#
+# ::
+#
+#    HG_EXECUTABLE - path to mercurial command line client (hg)
+#    HG_FOUND - true if the command line client was found
+#    HG_VERSION_STRING - the version of mercurial found
+#
+# If the command line client executable is found the following macro is defined:
+#
+# ::
+#
+#   HG_WC_INFO(<dir> <var-prefix>)
+#
+# Hg_WC_INFO extracts information of a mercurial working copy
+# at a given location.  This macro defines the following variables:
+#
+# ::
+#
+#   <var-prefix>_WC_CHANGESET - current changeset
+#   <var-prefix>_WC_REVISION - current revision
+#
+# Example usage:
+#
+# ::
+#
+#    find_package(Hg)
+#    if(HG_FOUND)
+#      message("hg found: ${HG_EXECUTABLE}")
+#      HG_WC_INFO(${PROJECT_SOURCE_DIR} Project)
+#      message("Current revision is ${Project_WC_REVISION}")
+#      message("Current changeset is ${Project_WC_CHANGESET}")
+#    endif()
+
+find_program(HG_EXECUTABLE
+  NAMES hg
+  PATHS
+    [HKEY_LOCAL_MACHINE\\Software\\TortoiseHG]
+  PATH_SUFFIXES Mercurial
+  DOC "hg command line client"
+  )
+mark_as_advanced(HG_EXECUTABLE)
+
+if(HG_EXECUTABLE)
+  set(_saved_lc_all "$ENV{LC_ALL}")
+  set(ENV{LC_ALL} "C")
+
+  set(_saved_language "$ENV{LANGUAGE}")
+  set(ENV{LANGUAGE})
+
+  execute_process(COMMAND ${HG_EXECUTABLE} --version
+                  OUTPUT_VARIABLE hg_version
+                  ERROR_QUIET
+                  RESULT_VARIABLE hg_result
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  set(ENV{LC_ALL} ${_saved_lc_all})
+  set(ENV{LANGUAGE} ${_saved_language})
+
+  if(hg_result MATCHES "is not a valid Win32 application")
+    set_property(CACHE HG_EXECUTABLE PROPERTY VALUE "HG_EXECUTABLE-NOTFOUND")
+  endif()
+  if(hg_version MATCHES "^Mercurial Distributed SCM \\(version ([0-9][^)]*)\\)")
+    set(HG_VERSION_STRING "${CMAKE_MATCH_1}")
+  endif()
+  unset(hg_version)
+
+  macro(HG_WC_INFO dir prefix)
+    execute_process(COMMAND ${HG_EXECUTABLE} id -i -n
+      WORKING_DIRECTORY ${dir}
+      RESULT_VARIABLE hg_id_result
+      ERROR_VARIABLE hg_id_error
+      OUTPUT_VARIABLE ${prefix}_WC_DATA
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if(NOT ${hg_id_result} EQUAL 0)
+      message(SEND_ERROR "Command \"${HG_EXECUTBALE} id -n\" in directory ${dir} failed with output:\n${hg_id_error}")
+    endif()
+
+    string(REGEX REPLACE "([0-9a-f]+)\\+? [0-9]+\\+?" "\\1" ${prefix}_WC_CHANGESET ${${prefix}_WC_DATA})
+    string(REGEX REPLACE "[0-9a-f]+\\+? ([0-9]+)\\+?" "\\1" ${prefix}_WC_REVISION ${${prefix}_WC_DATA})
+  endmacro(HG_WC_INFO)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Hg
+                                  REQUIRED_VARS HG_EXECUTABLE
+                                  VERSION_VAR HG_VERSION_STRING)
diff --git a/share/cmake-3.10/Modules/FindICU.cmake b/share/cmake-3.10/Modules/FindICU.cmake
new file mode 100644
index 0000000..d9705d9
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindICU.cmake
@@ -0,0 +1,394 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindICU
+# -------
+#
+# Find the International Components for Unicode (ICU) libraries and
+# programs.
+#
+# This module supports multiple components.
+# Components can include any of: ``data``, ``i18n``, ``io``, ``le``,
+# ``lx``, ``test``, ``tu`` and ``uc``.
+#
+# Note that on Windows ``data`` is named ``dt`` and ``i18n`` is named
+# ``in``; any of the names may be used, and the appropriate
+# platform-specific library name will be automatically selected.
+#
+# This module reports information about the ICU installation in
+# several variables.  General variables::
+#
+#   ICU_VERSION - ICU release version
+#   ICU_FOUND - true if the main programs and libraries were found
+#   ICU_LIBRARIES - component libraries to be linked
+#   ICU_INCLUDE_DIRS - the directories containing the ICU headers
+#
+# Imported targets::
+#
+#   ICU::<C>
+#
+# Where ``<C>`` is the name of an ICU component, for example
+# ``ICU::i18n``.
+#
+# ICU programs are reported in::
+#
+#   ICU_GENCNVAL_EXECUTABLE - path to gencnval executable
+#   ICU_ICUINFO_EXECUTABLE - path to icuinfo executable
+#   ICU_GENBRK_EXECUTABLE - path to genbrk executable
+#   ICU_ICU-CONFIG_EXECUTABLE - path to icu-config executable
+#   ICU_GENRB_EXECUTABLE - path to genrb executable
+#   ICU_GENDICT_EXECUTABLE - path to gendict executable
+#   ICU_DERB_EXECUTABLE - path to derb executable
+#   ICU_PKGDATA_EXECUTABLE - path to pkgdata executable
+#   ICU_UCONV_EXECUTABLE - path to uconv executable
+#   ICU_GENCFU_EXECUTABLE - path to gencfu executable
+#   ICU_MAKECONV_EXECUTABLE - path to makeconv executable
+#   ICU_GENNORM2_EXECUTABLE - path to gennorm2 executable
+#   ICU_GENCCODE_EXECUTABLE - path to genccode executable
+#   ICU_GENSPREP_EXECUTABLE - path to gensprep executable
+#   ICU_ICUPKG_EXECUTABLE - path to icupkg executable
+#   ICU_GENCMN_EXECUTABLE - path to gencmn executable
+#
+# ICU component libraries are reported in::
+#
+#   ICU_<C>_FOUND - ON if component was found
+#   ICU_<C>_LIBRARIES - libraries for component
+#
+# ICU datafiles are reported in::
+#
+#   ICU_MAKEFILE_INC - Makefile.inc
+#   ICU_PKGDATA_INC - pkgdata.inc
+#
+# Note that ``<C>`` is the uppercased name of the component.
+#
+# This module reads hints about search results from::
+#
+#   ICU_ROOT - the root of the ICU installation
+#
+# The environment variable ``ICU_ROOT`` may also be used; the
+# ICU_ROOT variable takes precedence.
+#
+# The following cache variables may also be set::
+#
+#   ICU_<P>_EXECUTABLE - the path to executable <P>
+#   ICU_INCLUDE_DIR - the directory containing the ICU headers
+#   ICU_<C>_LIBRARY - the library for component <C>
+#
+# .. note::
+#
+#   In most cases none of the above variables will require setting,
+#   unless multiple ICU versions are available and a specific version
+#   is required.
+#
+# Other variables one may set to control this module are::
+#
+#   ICU_DEBUG - Set to ON to enable debug output from FindICU.
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+set(icu_programs
+  gencnval
+  icuinfo
+  genbrk
+  icu-config
+  genrb
+  gendict
+  derb
+  pkgdata
+  uconv
+  gencfu
+  makeconv
+  gennorm2
+  genccode
+  gensprep
+  icupkg
+  gencmn)
+
+set(icu_data
+  Makefile.inc
+  pkgdata.inc)
+
+# The ICU checks are contained in a function due to the large number
+# of temporary variables needed.
+function(_ICU_FIND)
+  # Set up search paths, taking compiler into account.  Search ICU_ROOT,
+  # with ICU_ROOT in the environment as a fallback if unset.
+  if(ICU_ROOT)
+    list(APPEND icu_roots "${ICU_ROOT}")
+  else()
+    if(NOT "$ENV{ICU_ROOT}" STREQUAL "")
+      file(TO_CMAKE_PATH "$ENV{ICU_ROOT}" NATIVE_PATH)
+      list(APPEND icu_roots "${NATIVE_PATH}")
+      set(ICU_ROOT "${NATIVE_PATH}"
+          CACHE PATH "Location of the ICU installation" FORCE)
+    endif()
+  endif()
+
+  # Find include directory
+  list(APPEND icu_include_suffixes "include")
+  find_path(ICU_INCLUDE_DIR
+            NAMES "unicode/utypes.h"
+            HINTS ${icu_roots}
+            PATH_SUFFIXES ${icu_include_suffixes}
+            DOC "ICU include directory")
+  set(ICU_INCLUDE_DIR "${ICU_INCLUDE_DIR}" PARENT_SCOPE)
+
+  # Get version
+  if(ICU_INCLUDE_DIR AND EXISTS "${ICU_INCLUDE_DIR}/unicode/uvernum.h")
+    file(STRINGS "${ICU_INCLUDE_DIR}/unicode/uvernum.h" icu_header_str
+      REGEX "^#define[\t ]+U_ICU_VERSION[\t ]+\".*\".*")
+
+    string(REGEX REPLACE "^#define[\t ]+U_ICU_VERSION[\t ]+\"([^ \\n]*)\".*"
+      "\\1" icu_version_string "${icu_header_str}")
+    set(ICU_VERSION "${icu_version_string}")
+    set(ICU_VERSION "${icu_version_string}" PARENT_SCOPE)
+    unset(icu_header_str)
+    unset(icu_version_string)
+  endif()
+
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    # 64-bit binary directory
+    set(_bin64 "bin64")
+    # 64-bit library directory
+    set(_lib64 "lib64")
+  endif()
+
+
+  # Find all ICU programs
+  list(APPEND icu_binary_suffixes "${_bin64}" "bin")
+  foreach(program ${icu_programs})
+    string(TOUPPER "${program}" program_upcase)
+    set(cache_var "ICU_${program_upcase}_EXECUTABLE")
+    set(program_var "ICU_${program_upcase}_EXECUTABLE")
+    find_program("${cache_var}" "${program}"
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_binary_suffixes}
+      DOC "ICU ${program} executable")
+    mark_as_advanced(cache_var)
+    set("${program_var}" "${${cache_var}}" PARENT_SCOPE)
+  endforeach()
+
+  # Find all ICU libraries
+  list(APPEND icu_library_suffixes "${_lib64}" "lib")
+  set(ICU_REQUIRED_LIBS_FOUND ON)
+  foreach(component ${ICU_FIND_COMPONENTS})
+    string(TOUPPER "${component}" component_upcase)
+    set(component_cache "ICU_${component_upcase}_LIBRARY")
+    set(component_cache_release "${component_cache}_RELEASE")
+    set(component_cache_debug "${component_cache}_DEBUG")
+    set(component_found "${component_upcase}_FOUND")
+    set(component_libnames "icu${component}")
+    set(component_debug_libnames "icu${component}d")
+
+    # Special case deliberate library naming mismatches between Unix
+    # and Windows builds
+    unset(component_libnames)
+    unset(component_debug_libnames)
+    list(APPEND component_libnames "icu${component}")
+    list(APPEND component_debug_libnames "icu${component}d")
+    if(component STREQUAL "data")
+      list(APPEND component_libnames "icudt")
+      # Note there is no debug variant at present
+      list(APPEND component_debug_libnames "icudtd")
+    endif()
+    if(component STREQUAL "dt")
+      list(APPEND component_libnames "icudata")
+      # Note there is no debug variant at present
+      list(APPEND component_debug_libnames "icudatad")
+    endif()
+    if(component STREQUAL "i18n")
+      list(APPEND component_libnames "icuin")
+      list(APPEND component_debug_libnames "icuind")
+    endif()
+    if(component STREQUAL "in")
+      list(APPEND component_libnames "icui18n")
+      list(APPEND component_debug_libnames "icui18nd")
+    endif()
+
+    find_library("${component_cache_release}" ${component_libnames}
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_library_suffixes}
+      DOC "ICU ${component} library (release)")
+    find_library("${component_cache_debug}" ${component_debug_libnames}
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_library_suffixes}
+      DOC "ICU ${component} library (debug)")
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    select_library_configurations(ICU_${component_upcase})
+    mark_as_advanced("${component_cache_release}" "${component_cache_debug}")
+    if(${component_cache})
+      set("${component_found}" ON)
+      list(APPEND ICU_LIBRARY "${${component_cache}}")
+    endif()
+    mark_as_advanced("${component_found}")
+    set("${component_cache}" "${${component_cache}}" PARENT_SCOPE)
+    set("${component_found}" "${${component_found}}" PARENT_SCOPE)
+    if(${component_found})
+      if (ICU_FIND_REQUIRED_${component})
+        list(APPEND ICU_LIBS_FOUND "${component} (required)")
+      else()
+        list(APPEND ICU_LIBS_FOUND "${component} (optional)")
+      endif()
+    else()
+      if (ICU_FIND_REQUIRED_${component})
+        set(ICU_REQUIRED_LIBS_FOUND OFF)
+        list(APPEND ICU_LIBS_NOTFOUND "${component} (required)")
+      else()
+        list(APPEND ICU_LIBS_NOTFOUND "${component} (optional)")
+      endif()
+    endif()
+  endforeach()
+  set(_ICU_REQUIRED_LIBS_FOUND "${ICU_REQUIRED_LIBS_FOUND}" PARENT_SCOPE)
+  set(ICU_LIBRARY "${ICU_LIBRARY}" PARENT_SCOPE)
+
+  # Find all ICU data files
+  if(CMAKE_LIBRARY_ARCHITECTURE)
+    list(APPEND icu_data_suffixes
+      "${_lib64}/${CMAKE_LIBRARY_ARCHITECTURE}/icu/${ICU_VERSION}"
+      "lib/${CMAKE_LIBRARY_ARCHITECTURE}/icu/${ICU_VERSION}"
+      "${_lib64}/${CMAKE_LIBRARY_ARCHITECTURE}/icu"
+      "lib/${CMAKE_LIBRARY_ARCHITECTURE}/icu")
+  endif()
+  list(APPEND icu_data_suffixes
+    "${_lib64}/icu/${ICU_VERSION}"
+    "lib/icu/${ICU_VERSION}"
+    "${_lib64}/icu"
+    "lib/icu")
+  foreach(data ${icu_data})
+    string(TOUPPER "${data}" data_upcase)
+    string(REPLACE "." "_" data_upcase "${data_upcase}")
+    set(cache_var "ICU_${data_upcase}")
+    set(data_var "ICU_${data_upcase}")
+    find_file("${cache_var}" "${data}"
+      HINTS ${icu_roots}
+      PATH_SUFFIXES ${icu_data_suffixes}
+      DOC "ICU ${data} data file")
+    mark_as_advanced(cache_var)
+    set("${data_var}" "${${cache_var}}" PARENT_SCOPE)
+  endforeach()
+
+  if(NOT ICU_FIND_QUIETLY)
+    if(ICU_LIBS_FOUND)
+      message(STATUS "Found the following ICU libraries:")
+      foreach(found ${ICU_LIBS_FOUND})
+        message(STATUS "  ${found}")
+      endforeach()
+    endif()
+    if(ICU_LIBS_NOTFOUND)
+      message(STATUS "The following ICU libraries were not found:")
+      foreach(notfound ${ICU_LIBS_NOTFOUND})
+        message(STATUS "  ${notfound}")
+      endforeach()
+    endif()
+  endif()
+
+  if(ICU_DEBUG)
+    message(STATUS "--------FindICU.cmake search debug--------")
+    message(STATUS "ICU binary path search order: ${icu_roots}")
+    message(STATUS "ICU include path search order: ${icu_roots}")
+    message(STATUS "ICU library path search order: ${icu_roots}")
+    message(STATUS "----------------")
+  endif()
+endfunction()
+
+_ICU_FIND()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ICU
+                                  FOUND_VAR ICU_FOUND
+                                  REQUIRED_VARS ICU_INCLUDE_DIR
+                                                ICU_LIBRARY
+                                                _ICU_REQUIRED_LIBS_FOUND
+                                  VERSION_VAR ICU_VERSION
+                                  FAIL_MESSAGE "Failed to find all ICU components")
+
+unset(_ICU_REQUIRED_LIBS_FOUND)
+
+if(ICU_FOUND)
+  set(ICU_INCLUDE_DIRS "${ICU_INCLUDE_DIR}")
+  set(ICU_LIBRARIES "${ICU_LIBRARY}")
+  foreach(_ICU_component ${ICU_FIND_COMPONENTS})
+    string(TOUPPER "${_ICU_component}" _ICU_component_upcase)
+    set(_ICU_component_cache "ICU_${_ICU_component_upcase}_LIBRARY")
+    set(_ICU_component_cache_release "ICU_${_ICU_component_upcase}_LIBRARY_RELEASE")
+    set(_ICU_component_cache_debug "ICU_${_ICU_component_upcase}_LIBRARY_DEBUG")
+    set(_ICU_component_lib "ICU_${_ICU_component_upcase}_LIBRARIES")
+    set(_ICU_component_found "${_ICU_component_upcase}_FOUND")
+    set(_ICU_imported_target "ICU::${_ICU_component}")
+    if(${_ICU_component_found})
+      set("${_ICU_component_lib}" "${${_ICU_component_cache}}")
+      if(NOT TARGET ${_ICU_imported_target})
+        add_library(${_ICU_imported_target} UNKNOWN IMPORTED)
+        if(ICU_INCLUDE_DIR)
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${ICU_INCLUDE_DIR}")
+        endif()
+        if(EXISTS "${${_ICU_component_cache}}")
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+            IMPORTED_LOCATION "${${_ICU_component_cache}}")
+        endif()
+        if(EXISTS "${${_ICU_component_cache_release}}")
+          set_property(TARGET ${_ICU_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS RELEASE)
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+            IMPORTED_LOCATION_RELEASE "${${_ICU_component_cache_release}}")
+        endif()
+        if(EXISTS "${${_ICU_component_cache_debug}}")
+          set_property(TARGET ${_ICU_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS DEBUG)
+          set_target_properties(${_ICU_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+            IMPORTED_LOCATION_DEBUG "${${_ICU_component_cache_debug}}")
+        endif()
+      endif()
+    endif()
+    unset(_ICU_component_upcase)
+    unset(_ICU_component_cache)
+    unset(_ICU_component_lib)
+    unset(_ICU_component_found)
+    unset(_ICU_imported_target)
+  endforeach()
+endif()
+
+if(ICU_DEBUG)
+  message(STATUS "--------FindICU.cmake results debug--------")
+  message(STATUS "ICU found: ${ICU_FOUND}")
+  message(STATUS "ICU_VERSION number: ${ICU_VERSION}")
+  message(STATUS "ICU_ROOT directory: ${ICU_ROOT}")
+  message(STATUS "ICU_INCLUDE_DIR directory: ${ICU_INCLUDE_DIR}")
+  message(STATUS "ICU_LIBRARIES: ${ICU_LIBRARIES}")
+
+  foreach(program IN LISTS icu_programs)
+    string(TOUPPER "${program}" program_upcase)
+    set(program_lib "ICU_${program_upcase}_EXECUTABLE")
+    message(STATUS "${program} program: ${${program_lib}}")
+    unset(program_upcase)
+    unset(program_lib)
+  endforeach()
+
+  foreach(data IN LISTS icu_data)
+    string(TOUPPER "${data}" data_upcase)
+    string(REPLACE "." "_" data_upcase "${data_upcase}")
+    set(data_lib "ICU_${data_upcase}")
+    message(STATUS "${data} data: ${${data_lib}}")
+    unset(data_upcase)
+    unset(data_lib)
+  endforeach()
+
+  foreach(component IN LISTS ICU_FIND_COMPONENTS)
+    string(TOUPPER "${component}" component_upcase)
+    set(component_lib "ICU_${component_upcase}_LIBRARIES")
+    set(component_found "${component_upcase}_FOUND")
+    message(STATUS "${component} library found: ${${component_found}}")
+    message(STATUS "${component} library: ${${component_lib}}")
+    unset(component_upcase)
+    unset(component_lib)
+    unset(component_found)
+  endforeach()
+  message(STATUS "----------------")
+endif()
+
+unset(icu_programs)
diff --git a/share/cmake-3.10/Modules/FindIce.cmake b/share/cmake-3.10/Modules/FindIce.cmake
new file mode 100644
index 0000000..b37f796
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindIce.cmake
@@ -0,0 +1,620 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindIce
+# -------
+#
+# Find the ZeroC Internet Communication Engine (ICE) programs,
+# libraries and datafiles.
+#
+# This module supports multiple components.
+# Components can include any of: ``Freeze``, ``Glacier2``, ``Ice``,
+# ``IceBox``, ``IceDB``, ``IceDiscovery``, ``IceGrid``,
+# ``IceLocatorDiscovery``, ``IcePatch``, ``IceSSL``, ``IceStorm``,
+# ``IceUtil``, ``IceXML``, or ``Slice``.
+#
+# Ice 3.7 and later also include C++11-specific components:
+# ``Glacier2++11``, ``Ice++11``, ``IceBox++11``, ``IceDiscovery++11``
+# ``IceGrid``, ``IceLocatorDiscovery++11``, ``IceSSL++11``,
+# ``IceStorm++11``
+#
+# Note that the set of supported components is Ice version-specific.
+#
+# This module reports information about the Ice installation in
+# several variables.  General variables::
+#
+#   Ice_VERSION - Ice release version
+#   Ice_FOUND - true if the main programs and libraries were found
+#   Ice_LIBRARIES - component libraries to be linked
+#   Ice_INCLUDE_DIRS - the directories containing the Ice headers
+#   Ice_SLICE_DIRS - the directories containing the Ice slice interface
+#                    definitions
+#
+# Imported targets::
+#
+#   Ice::<C>
+#
+# Where ``<C>`` is the name of an Ice component, for example
+# ``Ice::Glacier2`` or ``Ice++11``.
+#
+# Ice slice programs are reported in::
+#
+#   Ice_SLICE2CPP_EXECUTABLE - path to slice2cpp executable
+#   Ice_SLICE2CS_EXECUTABLE - path to slice2cs executable
+#   Ice_SLICE2FREEZEJ_EXECUTABLE - path to slice2freezej executable
+#   Ice_SLICE2FREEZE_EXECUTABLE - path to slice2freeze executable
+#   Ice_SLICE2HTML_EXECUTABLE - path to slice2html executable
+#   Ice_SLICE2JAVA_EXECUTABLE - path to slice2java executable
+#   Ice_SLICE2JS_EXECUTABLE - path to slice2js executable
+#   Ice_SLICE2OBJC_EXECUTABLE - path to slice2objc executable
+#   Ice_SLICE2PHP_EXECUTABLE - path to slice2php executable
+#   Ice_SLICE2PY_EXECUTABLE - path to slice2py executable
+#   Ice_SLICE2RB_EXECUTABLE - path to slice2rb executable
+#
+# Ice programs are reported in::
+#
+#   Ice_GLACIER2ROUTER_EXECUTABLE - path to glacier2router executable
+#   Ice_ICEBOX_EXECUTABLE - path to icebox executable
+#   Ice_ICEBOXXX11_EXECUTABLE - path to icebox++11 executable
+#   Ice_ICEBOXADMIN_EXECUTABLE - path to iceboxadmin executable
+#   Ice_ICEBOXD_EXECUTABLE - path to iceboxd executable
+#   Ice_ICEBOXNET_EXECUTABLE - path to iceboxnet executable
+#   Ice_ICEBRIDGE_EXECUTABLE - path to icebridge executable
+#   Ice_ICEGRIDADMIN_EXECUTABLE - path to icegridadmin executable
+#   Ice_ICEGRIDDB_EXECUTABLE - path to icegriddb executable
+#   Ice_ICEGRIDNODE_EXECUTABLE - path to icegridnode executable
+#   Ice_ICEGRIDNODED_EXECUTABLE - path to icegridnoded executable
+#   Ice_ICEGRIDREGISTRY_EXECUTABLE - path to icegridregistry executable
+#   Ice_ICEGRIDREGISTRYD_EXECUTABLE - path to icegridregistryd executable
+#   Ice_ICEPATCH2CALC_EXECUTABLE - path to icepatch2calc executable
+#   Ice_ICEPATCH2CLIENT_EXECUTABLE - path to icepatch2client executable
+#   Ice_ICEPATCH2SERVER_EXECUTABLE - path to icepatch2server executable
+#   Ice_ICESERVICEINSTALL_EXECUTABLE - path to iceserviceinstall executable
+#   Ice_ICESTORMADMIN_EXECUTABLE - path to icestormadmin executable
+#   Ice_ICESTORMDB_EXECUTABLE - path to icestormdb executable
+#   Ice_ICESTORMMIGRATE_EXECUTABLE - path to icestormmigrate executable
+#
+# Ice db programs (Windows only; standard system versions on all other
+# platforms) are reported in::
+#
+#   Ice_DB_ARCHIVE_EXECUTABLE - path to db_archive executable
+#   Ice_DB_CHECKPOINT_EXECUTABLE - path to db_checkpoint executable
+#   Ice_DB_DEADLOCK_EXECUTABLE - path to db_deadlock executable
+#   Ice_DB_DUMP_EXECUTABLE - path to db_dump executable
+#   Ice_DB_HOTBACKUP_EXECUTABLE - path to db_hotbackup executable
+#   Ice_DB_LOAD_EXECUTABLE - path to db_load executable
+#   Ice_DB_LOG_VERIFY_EXECUTABLE - path to db_log_verify executable
+#   Ice_DB_PRINTLOG_EXECUTABLE - path to db_printlog executable
+#   Ice_DB_RECOVER_EXECUTABLE - path to db_recover executable
+#   Ice_DB_STAT_EXECUTABLE - path to db_stat executable
+#   Ice_DB_TUNER_EXECUTABLE - path to db_tuner executable
+#   Ice_DB_UPGRADE_EXECUTABLE - path to db_upgrade executable
+#   Ice_DB_VERIFY_EXECUTABLE - path to db_verify executable
+#   Ice_DUMPDB_EXECUTABLE - path to dumpdb executable
+#   Ice_TRANSFORMDB_EXECUTABLE - path to transformdb executable
+#
+# Ice component libraries are reported in::
+#
+#   Ice_<C>_FOUND - ON if component was found
+#   Ice_<C>_LIBRARIES - libraries for component
+#
+# Note that ``<C>`` is the uppercased name of the component.
+#
+# This module reads hints about search results from::
+#
+#   Ice_HOME - the root of the Ice installation
+#
+# The environment variable ``ICE_HOME`` may also be used; the
+# Ice_HOME variable takes precedence.
+#
+# .. note::
+#   On Windows, Ice 3.7.0 and later provide libraries via the NuGet
+#   package manager.  Appropriate NuGet packages will be searched for
+#   using ``CMAKE_PREFIX_PATH``, or alternatively ``Ice_HOME`` may be
+#   set to the location of a specific NuGet package to restrict the
+#   search.
+#
+# The following cache variables may also be set::
+#
+#   Ice_<P>_EXECUTABLE - the path to executable <P>
+#   Ice_INCLUDE_DIR - the directory containing the Ice headers
+#   Ice_SLICE_DIR - the directory containing the Ice slice interface
+#                   definitions
+#   Ice_<C>_LIBRARY - the library for component <C>
+#
+# .. note::
+#
+#   In most cases none of the above variables will require setting,
+#   unless multiple Ice versions are available and a specific version
+#   is required.  On Windows, the most recent version of Ice will be
+#   found through the registry.  On Unix, the programs, headers and
+#   libraries will usually be in standard locations, but Ice_SLICE_DIRS
+#   might not be automatically detected (commonly known locations are
+#   searched).  All the other variables are defaulted using Ice_HOME,
+#   if set.  It's possible to set Ice_HOME and selectively specify
+#   alternative locations for the other components; this might be
+#   required for e.g. newer versions of Visual Studio if the
+#   heuristics are not sufficient to identify the correct programs and
+#   libraries for the specific Visual Studio version.
+#
+# Other variables one may set to control this module are::
+#
+#   Ice_DEBUG - Set to ON to enable debug output from FindIce.
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+  set(_Ice_db_programs
+      db_archive
+      db_checkpoint
+      db_deadlock
+      db_dump
+      db_hotbackup
+      db_load
+      db_log_verify
+      db_printlog
+      db_recover
+      db_stat
+      db_tuner
+      db_upgrade
+      db_verify
+      dumpdb
+      transformdb)
+
+  set(_Ice_programs
+      glacier2router
+      icebox
+      icebox++11
+      iceboxadmin
+      iceboxd
+      iceboxnet
+      icebridge
+      icegridadmin
+      icegriddb
+      icegridnode
+      icegridnoded
+      icegridregistry
+      icegridregistryd
+      icepatch2calc
+      icepatch2client
+      icepatch2server
+      iceserviceinstall
+      icestormadmin
+      icestormdb
+      icestormmigrate)
+
+  set(_Ice_slice_programs
+      slice2cpp
+      slice2cs
+      slice2freezej
+      slice2freeze
+      slice2html
+      slice2java
+      slice2js
+      slice2objc
+      slice2php
+      slice2py
+      slice2rb)
+
+
+# The Ice checks are contained in a function due to the large number
+# of temporary variables needed.
+function(_Ice_FIND)
+  # Released versions of Ice, including generic short forms
+  set(ice_versions
+      3
+      3.7
+      3.7.0
+      3.6
+      3.6.3
+      3.6.2
+      3.6.1
+      3.6.0
+      3.5
+      3.5.1
+      3.5.0
+      3.4
+      3.4.2
+      3.4.1
+      3.4.0
+      3.3
+      3.3.1
+      3.3.0)
+
+  foreach(ver ${ice_versions})
+    string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\$" two_digit_version_match "${ver}")
+    if(two_digit_version_match)
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\$" "\\1\\2" two_digit_version "${ver}")
+      list(APPEND ice_suffix_versions "${two_digit_version}")
+    endif()
+  endforeach()
+
+  # Set up search paths, taking compiler into account.  Search Ice_HOME,
+  # with ICE_HOME in the environment as a fallback if unset.
+  if(Ice_HOME)
+    list(APPEND ice_roots "${Ice_HOME}")
+  else()
+    if(NOT "$ENV{ICE_HOME}" STREQUAL "")
+      file(TO_CMAKE_PATH "$ENV{ICE_HOME}" NATIVE_PATH)
+      list(APPEND ice_roots "${NATIVE_PATH}")
+      set(Ice_HOME "${NATIVE_PATH}"
+          CACHE PATH "Location of the Ice installation" FORCE)
+    endif()
+  endif()
+
+  set(_bin "bin/Win32")
+  set(_lib "lib/Win32")
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    set(_bin "bin/x64")
+    set(_lib "lib/x64")
+    # 64-bit path suffix
+    set(_x64 "/x64")
+    # 64-bit library directory
+    set(_lib64 "lib64")
+  endif()
+
+  unset(vcvers)
+  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+    if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10)
+      set(vcvers "141;140")
+    elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+      set(vcvers "140")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
+      set(vcvers "120")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
+      set(vcvers "110")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
+      set(vcvers "100")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
+      set(vcvers "90")
+      set(vcyear "2008")
+    elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
+      set(vcvers "80")
+      set(vcyear "2005")
+    else() # Unknown version
+      set(vcvers Unknown)
+    endif()
+  endif()
+
+  # For compatibility with ZeroC Windows builds.
+  if(vcvers)
+    list(APPEND ice_binary_suffixes "build/native/${_bin}/Release" "tools")
+    list(APPEND ice_debug_library_suffixes "build/native/${_lib}/Debug")
+    list(APPEND ice_release_library_suffixes "build/native/${_lib}/Release")
+    foreach(vcver IN LISTS vcvers)
+      # Earlier Ice (3.3) builds don't use vcnnn subdirectories, but are harmless to check.
+      list(APPEND ice_binary_suffixes "bin/vc${vcver}${_x64}" "bin/vc${vcver}")
+      list(APPEND ice_debug_library_suffixes "lib/vc${vcver}${_x64}" "lib/vc${vcver}")
+      list(APPEND ice_release_library_suffixes "lib/vc${vcver}${_x64}" "lib/vc${vcver}")
+    endforeach()
+  endif()
+  # Generic 64-bit and 32-bit directories
+  list(APPEND ice_binary_suffixes "bin${_x64}" "bin")
+  list(APPEND ice_debug_library_suffixes "libx32" "${_lib64}" "lib${_x64}" "lib")
+  list(APPEND ice_release_library_suffixes "libx32" "${_lib64}" "lib${_x64}" "lib")
+  if(vcvers)
+    list(APPEND ice_include_suffixes "build/native/include")
+  endif()
+  list(APPEND ice_include_suffixes "include")
+  list(APPEND ice_slice_suffixes "slice")
+
+  # On Windows, look in the registry for install locations.  Different
+  # versions of Ice install support different compiler versions.
+  if(vcvers)
+    foreach(ice_version ${ice_versions})
+      foreach(vcver IN LISTS vcvers)
+        list(APPEND ice_nuget_dirs "zeroc.ice.v${vcver}.${ice_version}")
+        list(APPEND freeze_nuget_dirs "zeroc.freeze.v${vcver}.${ice_version}")
+      endforeach()
+    endforeach()
+    find_path(Ice_NUGET_DIR
+              NAMES "tools/slice2cpp.exe"
+              PATH_SUFFIXES ${ice_nuget_dirs}
+              DOC "Ice NuGet directory")
+    if(Ice_NUGET_DIR)
+      list(APPEND ice_roots "${Ice_NUGET_DIR}")
+    endif()
+    find_path(Freeze_NUGET_DIR
+              NAMES "tools/slice2freeze.exe"
+              PATH_SUFFIXES ${freeze_nuget_dirs}
+              DOC "Freeze NuGet directory")
+    if(Freeze_NUGET_DIR)
+      list(APPEND ice_roots "${Freeze_NUGET_DIR}")
+    endif()
+    foreach(ice_version ${ice_versions})
+      # Ice 3.3 releases use a Visual Studio year suffix and value is
+      # enclosed in double quotes, though only the leading quote is
+      # returned by get_filename_component.
+      unset(ice_location)
+      if(vcyear)
+        get_filename_component(ice_location
+                               "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ZeroC\\Ice ${ice_version} for Visual Studio ${vcyear};InstallDir]"
+                               PATH)
+        if(ice_location AND NOT ("${ice_location}" STREQUAL "/registry" OR "${ice_location}" STREQUAL "/"))
+          string(REGEX REPLACE "^\"(.*)\"?$" "\\1" ice_location "${ice_location}")
+          get_filename_component(ice_location "${ice_location}" ABSOLUTE)
+        else()
+          unset(ice_location)
+        endif()
+      endif()
+      # Ice 3.4+ releases don't use a suffix
+      if(NOT ice_location OR "${ice_location}" STREQUAL "/registry")
+        get_filename_component(ice_location
+                               "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ZeroC\\Ice ${ice_version};InstallDir]"
+                               ABSOLUTE)
+      endif()
+
+      if(ice_location AND NOT "${ice_location}" STREQUAL "/registry")
+        list(APPEND ice_roots "${ice_location}")
+      endif()
+    endforeach()
+  else()
+    foreach(ice_version ${ice_versions})
+      # Prefer 64-bit variants if present (and using a 64-bit compiler)
+      list(APPEND ice_roots "/opt/Ice-${ice_version}")
+    endforeach()
+  endif()
+
+  # Find all Ice programs
+  foreach(program ${_Ice_db_programs} ${_Ice_programs} ${_Ice_slice_programs})
+    string(TOUPPER "${program}" program_upcase)
+    set(cache_var "Ice_${program_upcase}_EXECUTABLE")
+    set(program_var "Ice_${program_upcase}_EXECUTABLE")
+    find_program("${cache_var}" "${program}"
+      HINTS ${ice_roots}
+      PATH_SUFFIXES ${ice_binary_suffixes}
+      DOC "Ice ${program} executable")
+    mark_as_advanced(cache_var)
+    set("${program_var}" "${${cache_var}}" PARENT_SCOPE)
+  endforeach()
+
+  # Get version.
+  if(Ice_SLICE2CPP_EXECUTABLE)
+    # Execute in C locale for safety
+    set(_Ice_SAVED_LC_ALL "$ENV{LC_ALL}")
+    set(ENV{LC_ALL} C)
+
+    execute_process(COMMAND ${Ice_SLICE2CPP_EXECUTABLE} --version
+      ERROR_VARIABLE Ice_VERSION_SLICE2CPP_FULL
+      ERROR_STRIP_TRAILING_WHITESPACE)
+
+    # restore the previous LC_ALL
+    set(ENV{LC_ALL} ${_Ice_SAVED_LC_ALL})
+
+    # Make short version
+    string(REGEX REPLACE "^(.*)\\.[^.]*$" "\\1" Ice_VERSION_SLICE2CPP_SHORT "${Ice_VERSION_SLICE2CPP_FULL}")
+    set(Ice_VERSION "${Ice_VERSION_SLICE2CPP_FULL}" PARENT_SCOPE)
+  endif()
+
+  if(NOT Ice_FIND_QUIETLY)
+    message(STATUS "Ice version: ${Ice_VERSION_SLICE2CPP_FULL}")
+  endif()
+
+  # Find include directory
+  find_path(Ice_INCLUDE_DIR
+            NAMES "Ice/Ice.h"
+            HINTS ${ice_roots}
+            PATH_SUFFIXES ${ice_include_suffixes}
+            DOC "Ice include directory")
+  set(Ice_INCLUDE_DIR "${Ice_INCLUDE_DIR}" PARENT_SCOPE)
+
+  find_path(Freeze_INCLUDE_DIR
+            NAMES "Freeze/Freeze.h"
+            HINTS ${ice_roots}
+            PATH_SUFFIXES ${ice_include_suffixes}
+            DOC "Freeze include directory")
+  set(Freeze_INCLUDE_DIR "${Freeze_INCLUDE_DIR}" PARENT_SCOPE)
+
+  # In common use on Linux, MacOS X (homebrew) and FreeBSD; prefer
+  # version-specific dir
+  list(APPEND ice_slice_paths
+       /usr/local/share /usr/share)
+  list(APPEND ice_slice_suffixes
+       "Ice-${Ice_VERSION_SLICE2CPP_FULL}/slice"
+       "Ice-${Ice_VERSION_SLICE2CPP_SHORT}/slice"
+       "ice/slice"
+       Ice)
+
+  # Find slice directory
+  find_path(Ice_SLICE_DIR
+            NAMES "Ice/Connection.ice"
+            HINTS ${ice_roots}
+                  ${ice_slice_paths}
+            PATH_SUFFIXES ${ice_slice_suffixes}
+            NO_DEFAULT_PATH
+            DOC "Ice slice directory")
+  set(Ice_SLICE_DIR "${Ice_SLICE_DIR}" PARENT_SCOPE)
+
+  # Find all Ice libraries
+  set(Ice_REQUIRED_LIBS_FOUND ON)
+  foreach(component ${Ice_FIND_COMPONENTS})
+    string(TOUPPER "${component}" component_upcase)
+    set(component_cache "Ice_${component_upcase}_LIBRARY")
+    set(component_cache_release "${component_cache}_RELEASE")
+    set(component_cache_debug "${component_cache}_DEBUG")
+    set(component_found "${component_upcase}_FOUND")
+    set(component_library "${component}")
+    unset(component_library_release_names)
+    unset(component_library_debug_names)
+    if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+      string(REGEX MATCH ".+\\+\\+11$" component_library_cpp11 "${component_library}")
+      if(component_library_cpp11)
+        string(REGEX REPLACE "^(.+)(\\+\\+11)$" "\\1" component_library "${component_library}")
+      endif()
+      foreach(suffix_ver ${ice_suffix_versions})
+        set(_name "${component_library}${suffix_ver}")
+        if(component_library_cpp11)
+          string(APPEND _name "++11")
+        endif()
+        list(APPEND component_library_debug_names "${_name}d")
+        list(APPEND component_library_release_names "${_name}")
+      endforeach()
+      set(_name "${component_library}")
+      if(component_library_cpp11)
+        string(APPEND _name "++11")
+      endif()
+      list(APPEND component_library_debug_names "${_name}d")
+      list(APPEND component_library_release_names "${_name}")
+    else()
+      list(APPEND component_library_debug_names "${component_library}d")
+      list(APPEND component_library_release_names "${component_library}")
+    endif()
+    find_library("${component_cache_release}" ${component_library_release_names}
+      HINTS ${ice_roots}
+      PATH_SUFFIXES ${ice_release_library_suffixes}
+      DOC "Ice ${component} library (release)")
+    find_library("${component_cache_debug}" ${component_library_debug_names}
+      HINTS ${ice_roots}
+      PATH_SUFFIXES ${ice_debug_library_suffixes}
+      DOC "Ice ${component} library (debug)")
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    select_library_configurations(Ice_${component_upcase})
+    mark_as_advanced("${component_cache_release}" "${component_cache_debug}")
+    if(${component_cache})
+      set("${component_found}" ON)
+      list(APPEND Ice_LIBRARY "${${component_cache}}")
+    endif()
+    mark_as_advanced("${component_found}")
+    set("${component_cache}" "${${component_cache}}" PARENT_SCOPE)
+    set("${component_found}" "${${component_found}}" PARENT_SCOPE)
+    if(${component_found})
+      if (Ice_FIND_REQUIRED_${component})
+        list(APPEND Ice_LIBS_FOUND "${component} (required)")
+      else()
+        list(APPEND Ice_LIBS_FOUND "${component} (optional)")
+      endif()
+    else()
+      if (Ice_FIND_REQUIRED_${component})
+        set(Ice_REQUIRED_LIBS_FOUND OFF)
+        list(APPEND Ice_LIBS_NOTFOUND "${component} (required)")
+      else()
+        list(APPEND Ice_LIBS_NOTFOUND "${component} (optional)")
+      endif()
+    endif()
+  endforeach()
+  set(_Ice_REQUIRED_LIBS_FOUND "${Ice_REQUIRED_LIBS_FOUND}" PARENT_SCOPE)
+  set(Ice_LIBRARY "${Ice_LIBRARY}" PARENT_SCOPE)
+
+  if(NOT Ice_FIND_QUIETLY)
+    if(Ice_LIBS_FOUND)
+      message(STATUS "Found the following Ice libraries:")
+      foreach(found ${Ice_LIBS_FOUND})
+        message(STATUS "  ${found}")
+      endforeach()
+    endif()
+    if(Ice_LIBS_NOTFOUND)
+      message(STATUS "The following Ice libraries were not found:")
+      foreach(notfound ${Ice_LIBS_NOTFOUND})
+        message(STATUS "  ${notfound}")
+      endforeach()
+    endif()
+  endif()
+
+  if(Ice_DEBUG)
+    message(STATUS "--------FindIce.cmake search debug--------")
+    message(STATUS "ICE binary path search order: ${ice_roots}")
+    message(STATUS "ICE binary suffixes: ${ice_binary_suffixes}")
+    message(STATUS "ICE include path search order: ${ice_roots}")
+    message(STATUS "ICE include suffixes: ${ice_include_suffixes}")
+    message(STATUS "ICE slice path search order: ${ice_roots} ${ice_slice_paths}")
+    message(STATUS "ICE slice suffixes: ${ice_slice_suffixes}")
+    message(STATUS "ICE library path search order: ${ice_roots}")
+    message(STATUS "ICE debug library suffixes: ${ice_debug_library_suffixes}")
+    message(STATUS "ICE release library suffixes: ${ice_release_library_suffixes}")
+    message(STATUS "----------------")
+  endif()
+endfunction()
+
+_Ice_FIND()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ice
+                                  FOUND_VAR Ice_FOUND
+                                  REQUIRED_VARS Ice_SLICE2CPP_EXECUTABLE
+                                                Ice_INCLUDE_DIR
+                                                Ice_SLICE_DIR
+                                                Ice_LIBRARY
+                                                _Ice_REQUIRED_LIBS_FOUND
+                                  VERSION_VAR Ice_VERSION
+                                  FAIL_MESSAGE "Failed to find all Ice components")
+
+unset(_Ice_REQUIRED_LIBS_FOUND)
+
+if(Ice_FOUND)
+  set(Ice_INCLUDE_DIRS "${Ice_INCLUDE_DIR}")
+  if (Freeze_INCLUDE_DIR)
+    list(APPEND Ice_INCLUDE_DIRS "${Freeze_INCLUDE_DIR}")
+  endif()
+  set(Ice_SLICE_DIRS "${Ice_SLICE_DIR}")
+  set(Ice_LIBRARIES "${Ice_LIBRARY}")
+  foreach(_Ice_component ${Ice_FIND_COMPONENTS})
+    string(TOUPPER "${_Ice_component}" _Ice_component_upcase)
+    set(_Ice_component_cache "Ice_${_Ice_component_upcase}_LIBRARY")
+    set(_Ice_component_cache_release "Ice_${_Ice_component_upcase}_LIBRARY_RELEASE")
+    set(_Ice_component_cache_debug "Ice_${_Ice_component_upcase}_LIBRARY_DEBUG")
+    set(_Ice_component_lib "Ice_${_Ice_component_upcase}_LIBRARIES")
+    set(_Ice_component_found "${_Ice_component_upcase}_FOUND")
+    set(_Ice_imported_target "Ice::${_Ice_component}")
+    if(${_Ice_component_found})
+      set("${_Ice_component_lib}" "${${_Ice_component_cache}}")
+      if(NOT TARGET ${_Ice_imported_target})
+        add_library(${_Ice_imported_target} UNKNOWN IMPORTED)
+        set_target_properties(${_Ice_imported_target} PROPERTIES
+          INTERFACE_INCLUDE_DIRECTORIES "${Ice_INCLUDE_DIRS}")
+        if(EXISTS "${${_Ice_component_cache}}")
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+            IMPORTED_LOCATION "${${_Ice_component_cache}}")
+        endif()
+        if(EXISTS "${${_Ice_component_cache_release}}")
+          set_property(TARGET ${_Ice_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS RELEASE)
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+            IMPORTED_LOCATION_RELEASE "${${_Ice_component_cache_release}}")
+        endif()
+        if(EXISTS "${${_Ice_component_cache_debug}}")
+          set_property(TARGET ${_Ice_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS DEBUG)
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+            IMPORTED_LOCATION_DEBUG "${${_Ice_component_cache_debug}}")
+        endif()
+      endif()
+    endif()
+    unset(_Ice_component_upcase)
+    unset(_Ice_component_cache)
+    unset(_Ice_component_lib)
+    unset(_Ice_component_found)
+    unset(_Ice_imported_target)
+  endforeach()
+endif()
+
+if(Ice_DEBUG)
+  message(STATUS "--------FindIce.cmake results debug--------")
+  message(STATUS "Ice_VERSION number: ${Ice_VERSION}")
+  message(STATUS "Ice_HOME directory: ${Ice_HOME}")
+  message(STATUS "Ice_INCLUDE_DIR directory: ${Ice_INCLUDE_DIR}")
+  message(STATUS "Ice_SLICE_DIR directory: ${Ice_SLICE_DIR}")
+  message(STATUS "Ice_LIBRARIES: ${Ice_LIBRARIES}")
+  message(STATUS "Freeze_INCLUDE_DIR directory: ${Freeze_INCLUDE_DIR}")
+  message(STATUS "Ice_INCLUDE_DIRS directory: ${Ice_INCLUDE_DIRS}")
+
+  foreach(program ${_Ice_db_programs} ${_Ice_programs} ${_Ice_slice_programs})
+    string(TOUPPER "${program}" program_upcase)
+    message(STATUS "${program} executable: ${Ice_${program_upcase}_EXECUTABLE}")
+  endforeach()
+
+  foreach(component ${Ice_FIND_COMPONENTS})
+    string(TOUPPER "${component}" component_upcase)
+    set(component_lib "Ice_${component_upcase}_LIBRARIES")
+    set(component_found "${component_upcase}_FOUND")
+    message(STATUS "${component} library found: ${${component_found}}")
+    message(STATUS "${component} library: ${${component_lib}}")
+  endforeach()
+  message(STATUS "----------------")
+endif()
+
+unset(_Ice_db_programs)
+unset(_Ice_programs)
+unset(_Ice_slice_programs)
diff --git a/share/cmake-3.10/Modules/FindIcotool.cmake b/share/cmake-3.10/Modules/FindIcotool.cmake
new file mode 100644
index 0000000..26e95a0
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindIcotool.cmake
@@ -0,0 +1,51 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindIcotool
+# -----------
+#
+# Find icotool
+#
+# This module looks for icotool.  This module defines the following
+# values:
+#
+# ::
+#
+#   ICOTOOL_EXECUTABLE: the full path to the icotool tool.
+#   ICOTOOL_FOUND: True if icotool has been found.
+#   ICOTOOL_VERSION_STRING: the version of icotool found.
+
+find_program(ICOTOOL_EXECUTABLE
+  icotool
+)
+
+if(ICOTOOL_EXECUTABLE)
+  execute_process(
+    COMMAND ${ICOTOOL_EXECUTABLE} --version
+    OUTPUT_VARIABLE _icotool_version
+    ERROR_QUIET
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+  if("${_icotool_version}" MATCHES "^icotool \\([^\\)]*\\) ([0-9\\.]+[^ \n]*)")
+    set( ICOTOOL_VERSION_STRING
+      "${CMAKE_MATCH_1}"
+    )
+  else()
+    set( ICOTOOL_VERSION_STRING
+      ""
+    )
+  endif()
+  unset(_icotool_version)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+  Icotool
+  REQUIRED_VARS ICOTOOL_EXECUTABLE
+  VERSION_VAR ICOTOOL_VERSION_STRING
+)
+
+mark_as_advanced(
+  ICOTOOL_EXECUTABLE
+)
diff --git a/share/cmake-3.10/Modules/FindImageMagick.cmake b/share/cmake-3.10/Modules/FindImageMagick.cmake
new file mode 100644
index 0000000..7d5534b
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindImageMagick.cmake
@@ -0,0 +1,294 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindImageMagick
+# ---------------
+#
+# Find the ImageMagick binary suite.
+#
+# This module will search for a set of ImageMagick tools specified as
+# components in the FIND_PACKAGE call.  Typical components include, but
+# are not limited to (future versions of ImageMagick might have
+# additional components not listed here):
+#
+# ::
+#
+#   animate
+#   compare
+#   composite
+#   conjure
+#   convert
+#   display
+#   identify
+#   import
+#   mogrify
+#   montage
+#   stream
+#
+#
+#
+# If no component is specified in the FIND_PACKAGE call, then it only
+# searches for the ImageMagick executable directory.  This code defines
+# the following variables:
+#
+# ::
+#
+#   ImageMagick_FOUND                  - TRUE if all components are found.
+#   ImageMagick_EXECUTABLE_DIR         - Full path to executables directory.
+#   ImageMagick_<component>_FOUND      - TRUE if <component> is found.
+#   ImageMagick_<component>_EXECUTABLE - Full path to <component> executable.
+#   ImageMagick_VERSION_STRING         - the version of ImageMagick found
+#                                        (since CMake 2.8.8)
+#
+#
+#
+# ImageMagick_VERSION_STRING will not work for old versions like 5.2.3.
+#
+# There are also components for the following ImageMagick APIs:
+#
+# ::
+#
+#   Magick++
+#   MagickWand
+#   MagickCore
+#
+#
+#
+# For these components the following variables are set:
+#
+# ::
+#
+#   ImageMagick_FOUND                    - TRUE if all components are found.
+#   ImageMagick_INCLUDE_DIRS             - Full paths to all include dirs.
+#   ImageMagick_LIBRARIES                - Full paths to all libraries.
+#   ImageMagick_<component>_FOUND        - TRUE if <component> is found.
+#   ImageMagick_<component>_INCLUDE_DIRS - Full path to <component> include dirs.
+#   ImageMagick_<component>_LIBRARIES    - Full path to <component> libraries.
+#
+#
+#
+# Example Usages:
+#
+# ::
+#
+#   find_package(ImageMagick)
+#   find_package(ImageMagick COMPONENTS convert)
+#   find_package(ImageMagick COMPONENTS convert mogrify display)
+#   find_package(ImageMagick COMPONENTS Magick++)
+#   find_package(ImageMagick COMPONENTS Magick++ convert)
+#
+#
+#
+# Note that the standard FIND_PACKAGE features are supported (i.e.,
+# QUIET, REQUIRED, etc.).
+
+find_package(PkgConfig QUIET)
+
+#---------------------------------------------------------------------
+# Helper functions
+#---------------------------------------------------------------------
+function(FIND_IMAGEMAGICK_API component header)
+  set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
+
+  pkg_check_modules(PC_${component} QUIET ${component})
+
+  find_path(ImageMagick_${component}_INCLUDE_DIR
+    NAMES ${header}
+    HINTS
+      ${PC_${component}_INCLUDEDIR}
+      ${PC_${component}_INCLUDE_DIRS}
+    PATHS
+      ${ImageMagick_INCLUDE_DIRS}
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
+    PATH_SUFFIXES
+      ImageMagick ImageMagick-6 ImageMagick-7
+    DOC "Path to the ImageMagick arch-independent include dir."
+    )
+  find_path(ImageMagick_${component}_ARCH_INCLUDE_DIR
+    NAMES magick/magick-baseconfig.h
+    HINTS
+      ${PC_${component}_INCLUDEDIR}
+      ${PC_${component}_INCLUDE_DIRS}
+    PATHS
+      ${ImageMagick_INCLUDE_DIRS}
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
+    PATH_SUFFIXES
+      ImageMagick ImageMagick-6 ImageMagick-7
+    DOC "Path to the ImageMagick arch-specific include dir."
+    )
+  find_library(ImageMagick_${component}_LIBRARY
+    NAMES ${ARGN}
+    HINTS
+      ${PC_${component}_LIBDIR}
+      ${PC_${component}_LIB_DIRS}
+    PATHS
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib"
+    DOC "Path to the ImageMagick Magick++ library."
+    )
+
+  # old version have only indep dir
+  if(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
+    set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
+
+    # Construct per-component include directories.
+    set(ImageMagick_${component}_INCLUDE_DIRS
+      ${ImageMagick_${component}_INCLUDE_DIR}
+      )
+    if(ImageMagick_${component}_ARCH_INCLUDE_DIR)
+      list(APPEND ImageMagick_${component}_INCLUDE_DIRS
+        ${ImageMagick_${component}_ARCH_INCLUDE_DIR})
+    endif()
+    list(REMOVE_DUPLICATES ImageMagick_${component}_INCLUDE_DIRS)
+    set(ImageMagick_${component}_INCLUDE_DIRS
+      ${ImageMagick_${component}_INCLUDE_DIRS} PARENT_SCOPE)
+
+    # Add the per-component include directories to the full include dirs.
+    list(APPEND ImageMagick_INCLUDE_DIRS ${ImageMagick_${component}_INCLUDE_DIRS})
+    list(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS)
+    set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE)
+
+    list(APPEND ImageMagick_LIBRARIES
+      ${ImageMagick_${component}_LIBRARY}
+      )
+    set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES} PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(FIND_IMAGEMAGICK_EXE component)
+  set(_IMAGEMAGICK_EXECUTABLE
+    ${ImageMagick_EXECUTABLE_DIR}/${component}${CMAKE_EXECUTABLE_SUFFIX})
+  if(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
+    set(ImageMagick_${component}_EXECUTABLE
+      ${_IMAGEMAGICK_EXECUTABLE}
+       PARENT_SCOPE
+       )
+    set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
+  else()
+    set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
+  endif()
+endfunction()
+
+#---------------------------------------------------------------------
+# Start Actual Work
+#---------------------------------------------------------------------
+# Try to find a ImageMagick installation binary path.
+find_path(ImageMagick_EXECUTABLE_DIR
+  NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
+  PATHS
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]"
+  DOC "Path to the ImageMagick binary directory."
+  NO_DEFAULT_PATH
+  )
+find_path(ImageMagick_EXECUTABLE_DIR
+  NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
+  )
+
+# Find each component. Search for all tools in same dir
+# <ImageMagick_EXECUTABLE_DIR>; otherwise they should be found
+# independently and not in a cohesive module such as this one.
+unset(ImageMagick_REQUIRED_VARS)
+unset(ImageMagick_DEFAULT_EXECUTABLES)
+foreach(component ${ImageMagick_FIND_COMPONENTS}
+    # DEPRECATED: forced components for backward compatibility
+    convert mogrify import montage composite
+    )
+  if(component STREQUAL "Magick++")
+    FIND_IMAGEMAGICK_API(Magick++ Magick++.h
+      Magick++ CORE_RL_Magick++_
+      Magick++-Q8 Magick++-Q16 Magick++-Q16HDRI Magick++-Q8HDRI
+      Magick++-6.Q16 Magick++-6.Q8 Magick++-6.Q16HDRI Magick++-6.Q8HDRI
+      Magick++-7.Q16 Magick++-7.Q8 Magick++-7.Q16HDRI Magick++-7.Q8HDRI
+      )
+    list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY)
+  elseif(component STREQUAL "MagickWand")
+    FIND_IMAGEMAGICK_API(MagickWand "wand/MagickWand.h;MagickWand/MagickWand.h"
+      Wand MagickWand CORE_RL_wand_
+      MagickWand-Q16 MagickWand-Q8 MagickWand-Q16HDRI MagickWand-Q8HDRI
+      MagickWand-6.Q16 MagickWand-6.Q8 MagickWand-6.Q16HDRI MagickWand-6.Q8HDRI
+      MagickWand-7.Q16 MagickWand-7.Q8 MagickWand-7.Q16HDRI MagickWand-7.Q8HDRI
+      )
+    list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY)
+  elseif(component STREQUAL "MagickCore")
+    FIND_IMAGEMAGICK_API(MagickCore "magick/MagickCore.h;MagickCore/MagickCore.h"
+      Magick MagickCore CORE_RL_magick_
+      MagickCore-Q16 MagickCore-Q8 MagickCore-Q16HDRI MagickCore-Q8HDRI
+      MagickCore-6.Q16 MagickCore-6.Q8 MagickCore-6.Q16HDRI MagickCore-6.Q8HDRI
+      MagickCore-7.Q16 MagickCore-7.Q8 MagickCore-7.Q16HDRI MagickCore-7.Q8HDRI
+      )
+    list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY)
+  else()
+    if(ImageMagick_EXECUTABLE_DIR)
+      FIND_IMAGEMAGICK_EXE(${component})
+    endif()
+
+    if(ImageMagick_FIND_COMPONENTS)
+      list(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
+      if(is_requested GREATER -1)
+        list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_${component}_EXECUTABLE)
+      endif()
+    elseif(ImageMagick_${component}_EXECUTABLE)
+      # if no components were requested explicitly put all (default) executables
+      # in the list
+      list(APPEND ImageMagick_DEFAULT_EXECUTABLES ImageMagick_${component}_EXECUTABLE)
+    endif()
+  endif()
+endforeach()
+
+if(NOT ImageMagick_FIND_COMPONENTS AND NOT ImageMagick_DEFAULT_EXECUTABLES)
+  # No components were requested, and none of the default components were
+  # found. Just insert mogrify into the list of the default components to
+  # find so FPHSA below has something to check
+  list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_mogrify_EXECUTABLE)
+elseif(ImageMagick_DEFAULT_EXECUTABLES)
+  list(APPEND ImageMagick_REQUIRED_VARS ${ImageMagick_DEFAULT_EXECUTABLES})
+endif()
+
+set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
+set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})
+
+if(ImageMagick_mogrify_EXECUTABLE)
+  execute_process(COMMAND ${ImageMagick_mogrify_EXECUTABLE} -version
+                  OUTPUT_VARIABLE imagemagick_version
+                  ERROR_QUIET
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(imagemagick_version MATCHES "^Version: ImageMagick ([-0-9\\.]+)")
+    set(ImageMagick_VERSION_STRING "${CMAKE_MATCH_1}")
+  endif()
+  unset(imagemagick_version)
+endif()
+
+#---------------------------------------------------------------------
+# Standard Package Output
+#---------------------------------------------------------------------
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ImageMagick
+                                  REQUIRED_VARS ${ImageMagick_REQUIRED_VARS}
+                                  VERSION_VAR ImageMagick_VERSION_STRING
+  )
+# Maintain consistency with all other variables.
+set(ImageMagick_FOUND ${IMAGEMAGICK_FOUND})
+
+#---------------------------------------------------------------------
+# DEPRECATED: Setting variables for backward compatibility.
+#---------------------------------------------------------------------
+set(IMAGEMAGICK_BINARY_PATH          ${ImageMagick_EXECUTABLE_DIR}
+    CACHE PATH "Path to the ImageMagick binary directory.")
+set(IMAGEMAGICK_CONVERT_EXECUTABLE   ${ImageMagick_convert_EXECUTABLE}
+    CACHE FILEPATH "Path to ImageMagick's convert executable.")
+set(IMAGEMAGICK_MOGRIFY_EXECUTABLE   ${ImageMagick_mogrify_EXECUTABLE}
+    CACHE FILEPATH "Path to ImageMagick's mogrify executable.")
+set(IMAGEMAGICK_IMPORT_EXECUTABLE    ${ImageMagick_import_EXECUTABLE}
+    CACHE FILEPATH "Path to ImageMagick's import executable.")
+set(IMAGEMAGICK_MONTAGE_EXECUTABLE   ${ImageMagick_montage_EXECUTABLE}
+    CACHE FILEPATH "Path to ImageMagick's montage executable.")
+set(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
+    CACHE FILEPATH "Path to ImageMagick's composite executable.")
+mark_as_advanced(
+  IMAGEMAGICK_BINARY_PATH
+  IMAGEMAGICK_CONVERT_EXECUTABLE
+  IMAGEMAGICK_MOGRIFY_EXECUTABLE
+  IMAGEMAGICK_IMPORT_EXECUTABLE
+  IMAGEMAGICK_MONTAGE_EXECUTABLE
+  IMAGEMAGICK_COMPOSITE_EXECUTABLE
+  )
diff --git a/share/cmake-3.10/Modules/FindIntl.cmake b/share/cmake-3.10/Modules/FindIntl.cmake
new file mode 100644
index 0000000..f887721
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindIntl.cmake
@@ -0,0 +1,59 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindIntl
+# --------
+#
+# Find the Gettext libintl headers and libraries.
+#
+# This module reports information about the Gettext libintl
+# installation in several variables.  General variables::
+#
+#   Intl_FOUND - true if the libintl headers and libraries were found
+#   Intl_INCLUDE_DIRS - the directory containing the libintl headers
+#   Intl_LIBRARIES - libintl libraries to be linked
+#
+# The following cache variables may also be set::
+#
+#   Intl_INCLUDE_DIR - the directory containing the libintl headers
+#   Intl_LIBRARY - the libintl library (if any)
+#
+# .. note::
+#   On some platforms, such as Linux with GNU libc, the gettext
+#   functions are present in the C standard library and libintl
+#   is not required.  ``Intl_LIBRARIES`` will be empty in this
+#   case.
+#
+# .. note::
+#   If you wish to use the Gettext tools (``msgmerge``,
+#   ``msgfmt``, etc.), use :module:`FindGettext`.
+
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+# Find include directory
+find_path(Intl_INCLUDE_DIR
+          NAMES "libintl.h"
+          DOC "libintl include directory")
+mark_as_advanced(Intl_INCLUDE_DIR)
+
+# Find all Intl libraries
+find_library(Intl_LIBRARY "intl"
+  DOC "libintl libraries (if not in the C library)")
+mark_as_advanced(Intl_LIBRARY)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Intl
+                                  FOUND_VAR Intl_FOUND
+                                  REQUIRED_VARS Intl_INCLUDE_DIR
+                                  FAIL_MESSAGE "Failed to find Gettext libintl")
+
+if(Intl_FOUND)
+  set(Intl_INCLUDE_DIRS "${Intl_INCLUDE_DIR}")
+  if(Intl_LIBRARY)
+    set(Intl_LIBRARIES "${Intl_LIBRARY}")
+  else()
+    unset(Intl_LIBRARIES)
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindJNI.cmake b/share/cmake-3.10/Modules/FindJNI.cmake
new file mode 100644
index 0000000..cebba10
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindJNI.cmake
@@ -0,0 +1,334 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindJNI
+# -------
+#
+# Find JNI java libraries.
+#
+# This module finds if Java is installed and determines where the
+# include files and libraries are.  It also determines what the name of
+# the library is.  The caller may set variable JAVA_HOME to specify a
+# Java installation prefix explicitly.
+#
+# This module sets the following result variables:
+#
+# ::
+#
+#   JNI_INCLUDE_DIRS      = the include dirs to use
+#   JNI_LIBRARIES         = the libraries to use
+#   JNI_FOUND             = TRUE if JNI headers and libraries were found.
+#   JAVA_AWT_LIBRARY      = the path to the jawt library
+#   JAVA_JVM_LIBRARY      = the path to the jvm library
+#   JAVA_INCLUDE_PATH     = the include path to jni.h
+#   JAVA_INCLUDE_PATH2    = the include path to jni_md.h
+#   JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
+
+# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var}
+macro(java_append_library_directories _var)
+    # Determine java arch-specific library subdir
+    # Mostly based on openjdk/jdk/make/common/shared/Platform.gmk as of openjdk
+    # 1.6.0_18 + icedtea patches. However, it would be much better to base the
+    # guess on the first part of the GNU config.guess platform triplet.
+    if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+      if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "x86_64-linux-gnux32")
+        set(_java_libarch "x32" "amd64" "i386")
+      else()
+        set(_java_libarch "amd64" "i386")
+      endif()
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
+        set(_java_libarch "i386")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
+        set(_java_libarch "alpha")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
+        # Subdir is "arm" for both big-endian (arm) and little-endian (armel).
+        set(_java_libarch "arm" "aarch32")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
+        # mips* machines are bi-endian mostly so processor does not tell
+        # endianess of the underlying system.
+        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb" "mips64" "mips64el" "mipsn32" "mipsn32el")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
+        set(_java_libarch "ppc64" "ppc64le")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
+        set(_java_libarch "ppc64" "ppc")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
+        set(_java_libarch "ppc" "ppc64")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
+        # Both flavours can run on the same processor
+        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
+        set(_java_libarch "parisc" "parisc64")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
+        # s390 binaries can run on s390x machines
+        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
+    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
+        set(_java_libarch "sh")
+    else()
+        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
+    endif()
+
+    # Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or
+    # system is non-Linux (where the code above has not been well tested)
+    if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
+        list(APPEND _java_libarch "i386" "amd64" "ppc")
+    endif()
+
+    # Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer
+    # current value to a hardcoded list. Remove possible duplicates.
+    list(REMOVE_DUPLICATES _java_libarch)
+
+    foreach(_path ${ARGN})
+        if(_path MATCHES "{libarch}")
+            foreach(_libarch ${_java_libarch})
+                string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
+                if(EXISTS ${_newpath})
+                    list(APPEND ${_var} "${_newpath}")
+                endif()
+            endforeach()
+        else()
+            if(EXISTS ${_path})
+                list(APPEND ${_var} "${_path}")
+            endif()
+        endif()
+    endforeach()
+endmacro()
+
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindJavaCommon.cmake)
+
+# Save CMAKE_FIND_FRAMEWORK
+if(DEFINED CMAKE_FIND_FRAMEWORK)
+  set(_JNI_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
+else()
+  unset(_JNI_CMAKE_FIND_FRAMEWORK)
+endif()
+
+if(_JAVA_HOME_EXPLICIT)
+  set(CMAKE_FIND_FRAMEWORK NEVER)
+endif()
+
+set(JAVA_AWT_LIBRARY_DIRECTORIES)
+if(_JAVA_HOME)
+  JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
+    ${_JAVA_HOME}/jre/lib/{libarch}
+    ${_JAVA_HOME}/jre/lib
+    ${_JAVA_HOME}/lib/{libarch}
+    ${_JAVA_HOME}/lib
+    ${_JAVA_HOME}
+    )
+endif()
+get_filename_component(java_install_version
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
+
+list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
+  )
+JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
+  /usr/lib
+  /usr/local/lib
+  /usr/lib/jvm/java/lib
+  /usr/lib/java/jre/lib/{libarch}
+  /usr/lib/jvm/jre/lib/{libarch}
+  /usr/local/lib/java/jre/lib/{libarch}
+  /usr/local/share/java/jre/lib/{libarch}
+  /usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
+  /usr/lib/j2sdk1.5-sun/jre/lib/{libarch}
+  /opt/sun-jdk-1.5.0.04/jre/lib/{libarch}
+  /usr/lib/jvm/java-6-sun/jre/lib/{libarch}
+  /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
+  /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch}       # can this one be removed according to #8821 ? Alex
+  /usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
+  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch}        # fedora
+  # Debian specific paths for default JVM
+  /usr/lib/jvm/default-java/jre/lib/{libarch}
+  /usr/lib/jvm/default-java/jre/lib
+  /usr/lib/jvm/default-java/lib
+  # Arch Linux specific paths for default JVM
+  /usr/lib/jvm/default/jre/lib/{libarch}
+  /usr/lib/jvm/default/lib/{libarch}
+  # Ubuntu specific paths for default JVM
+  /usr/lib/jvm/java-8-openjdk-{libarch}/jre/lib/{libarch}     # Ubuntu 15.10
+  /usr/lib/jvm/java-7-openjdk-{libarch}/jre/lib/{libarch}     # Ubuntu 15.10
+  /usr/lib/jvm/java-6-openjdk-{libarch}/jre/lib/{libarch}     # Ubuntu 15.10
+  # OpenBSD specific paths for default JVM
+  /usr/local/jdk-1.7.0/jre/lib/{libarch}
+  /usr/local/jre-1.7.0/lib/{libarch}
+  /usr/local/jdk-1.6.0/jre/lib/{libarch}
+  /usr/local/jre-1.6.0/lib/{libarch}
+  # SuSE specific paths for default JVM
+  /usr/lib64/jvm/java/jre/lib/{libarch}
+  /usr/lib64/jvm/jre/lib/{libarch}
+  )
+
+set(JAVA_JVM_LIBRARY_DIRECTORIES)
+foreach(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
+  list(APPEND JAVA_JVM_LIBRARY_DIRECTORIES
+    "${dir}"
+    "${dir}/client"
+    "${dir}/server"
+    # IBM SDK, Java Technology Edition, specific paths
+    "${dir}/j9vm"
+    "${dir}/default"
+    )
+endforeach()
+
+set(JAVA_AWT_INCLUDE_DIRECTORIES)
+if(_JAVA_HOME)
+  list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES ${_JAVA_HOME}/include)
+endif()
+list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
+)
+
+JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
+  /usr/include
+  /usr/local/include
+  /usr/lib/java/include
+  /usr/local/lib/java/include
+  /usr/lib/jvm/java/include
+  /usr/lib/jvm/java-6-sun/include
+  /usr/lib/jvm/java-1.5.0-sun/include
+  /usr/lib/jvm/java-6-sun-1.6.0.00/include       # can this one be removed according to #8821 ? Alex
+  /usr/lib/jvm/java-6-openjdk/include
+  /usr/lib/jvm/java-8-openjdk-{libarch}/include  # ubuntu 15.10
+  /usr/lib/jvm/java-7-openjdk-{libarch}/include  # ubuntu 15.10
+  /usr/lib/jvm/java-6-openjdk-{libarch}/include  # ubuntu 15.10
+  /usr/local/share/java/include
+  /usr/lib/j2sdk1.4-sun/include
+  /usr/lib/j2sdk1.5-sun/include
+  /opt/sun-jdk-1.5.0.04/include
+  # Debian specific path for default JVM
+  /usr/lib/jvm/default-java/include
+  # Arch specific path for default JVM
+  /usr/lib/jvm/default/include
+  # OpenBSD specific path for default JVM
+  /usr/local/jdk-1.7.0/include
+  /usr/local/jdk-1.6.0/include
+  # SuSE specific paths for default JVM
+  /usr/lib64/jvm/java/include
+  )
+
+foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
+  get_filename_component(jpath "${JAVA_PROG}" PATH)
+  foreach(JAVA_INC_PATH ../include ../java/include ../share/java/include)
+    if(EXISTS ${jpath}/${JAVA_INC_PATH})
+      list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES "${jpath}/${JAVA_INC_PATH}")
+    endif()
+  endforeach()
+  foreach(JAVA_LIB_PATH
+    ../lib ../jre/lib ../jre/lib/i386
+    ../java/lib ../java/jre/lib ../java/jre/lib/i386
+    ../share/java/lib ../share/java/jre/lib ../share/java/jre/lib/i386)
+    if(EXISTS ${jpath}/${JAVA_LIB_PATH})
+      list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES "${jpath}/${JAVA_LIB_PATH}")
+    endif()
+  endforeach()
+endforeach()
+
+if(APPLE)
+  if(CMAKE_FIND_FRAMEWORK STREQUAL "ONLY")
+    set(_JNI_SEARCHES FRAMEWORK)
+  elseif(CMAKE_FIND_FRAMEWORK STREQUAL "NEVER")
+    set(_JNI_SEARCHES NORMAL)
+  elseif(CMAKE_FIND_FRAMEWORK STREQUAL "LAST")
+    set(_JNI_SEARCHES NORMAL FRAMEWORK)
+  else()
+    set(_JNI_SEARCHES FRAMEWORK NORMAL)
+  endif()
+  set(_JNI_FRAMEWORK_JVM NAMES JavaVM)
+  set(_JNI_FRAMEWORK_JAWT "${_JNI_FRAMEWORK_JVM}")
+else()
+  set(_JNI_SEARCHES NORMAL)
+endif()
+
+set(_JNI_NORMAL_JVM
+  NAMES jvm
+  PATHS ${JAVA_JVM_LIBRARY_DIRECTORIES}
+  )
+
+set(_JNI_NORMAL_JAWT
+  NAMES jawt
+  PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
+  )
+
+foreach(search ${_JNI_SEARCHES})
+  find_library(JAVA_JVM_LIBRARY ${_JNI_${search}_JVM})
+  find_library(JAVA_AWT_LIBRARY ${_JNI_${search}_JAWT})
+  if(JAVA_JVM_LIBRARY)
+    break()
+  endif()
+endforeach()
+unset(_JNI_SEARCHES)
+unset(_JNI_FRAMEWORK_JVM)
+unset(_JNI_FRAMEWORK_JAWT)
+unset(_JNI_NORMAL_JVM)
+unset(_JNI_NORMAL_JAWT)
+
+# Find headers matching the library.
+if("${JAVA_JVM_LIBRARY};${JAVA_AWT_LIBRARY};" MATCHES "(/JavaVM.framework|-framework JavaVM);")
+  set(CMAKE_FIND_FRAMEWORK ONLY)
+else()
+  set(CMAKE_FIND_FRAMEWORK NEVER)
+endif()
+
+# add in the include path
+find_path(JAVA_INCLUDE_PATH jni.h
+  ${JAVA_AWT_INCLUDE_DIRECTORIES}
+)
+
+find_path(JAVA_INCLUDE_PATH2 NAMES jni_md.h jniport.h
+  PATHS
+  ${JAVA_INCLUDE_PATH}
+  ${JAVA_INCLUDE_PATH}/darwin
+  ${JAVA_INCLUDE_PATH}/win32
+  ${JAVA_INCLUDE_PATH}/linux
+  ${JAVA_INCLUDE_PATH}/freebsd
+  ${JAVA_INCLUDE_PATH}/openbsd
+  ${JAVA_INCLUDE_PATH}/solaris
+  ${JAVA_INCLUDE_PATH}/hp-ux
+  ${JAVA_INCLUDE_PATH}/alpha
+  ${JAVA_INCLUDE_PATH}/aix
+)
+
+find_path(JAVA_AWT_INCLUDE_PATH jawt.h
+  ${JAVA_INCLUDE_PATH}
+)
+
+# Restore CMAKE_FIND_FRAMEWORK
+if(DEFINED _JNI_CMAKE_FIND_FRAMEWORK)
+  set(CMAKE_FIND_FRAMEWORK ${_JNI_CMAKE_FIND_FRAMEWORK})
+  unset(_JNI_CMAKE_FIND_FRAMEWORK)
+else()
+  unset(CMAKE_FIND_FRAMEWORK)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI  DEFAULT_MSG  JAVA_AWT_LIBRARY
+                                                    JAVA_JVM_LIBRARY
+                                                    JAVA_INCLUDE_PATH
+                                                    JAVA_INCLUDE_PATH2
+                                                    JAVA_AWT_INCLUDE_PATH)
+
+mark_as_advanced(
+  JAVA_AWT_LIBRARY
+  JAVA_JVM_LIBRARY
+  JAVA_AWT_INCLUDE_PATH
+  JAVA_INCLUDE_PATH
+  JAVA_INCLUDE_PATH2
+)
+
+set(JNI_LIBRARIES
+  ${JAVA_AWT_LIBRARY}
+  ${JAVA_JVM_LIBRARY}
+)
+
+set(JNI_INCLUDE_DIRS
+  ${JAVA_INCLUDE_PATH}
+  ${JAVA_INCLUDE_PATH2}
+  ${JAVA_AWT_INCLUDE_PATH}
+)
+
diff --git a/share/cmake-3.10/Modules/FindJPEG.cmake b/share/cmake-3.10/Modules/FindJPEG.cmake
new file mode 100644
index 0000000..e233714
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindJPEG.cmake
@@ -0,0 +1,42 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindJPEG
+# --------
+#
+# Find JPEG
+#
+# Find the native JPEG includes and library This module defines
+#
+# ::
+#
+#   JPEG_INCLUDE_DIR, where to find jpeglib.h, etc.
+#   JPEG_LIBRARIES, the libraries needed to use JPEG.
+#   JPEG_FOUND, If false, do not try to use JPEG.
+#
+# also defined, but not for general use are
+#
+# ::
+#
+#   JPEG_LIBRARY, where to find the JPEG library.
+
+find_path(JPEG_INCLUDE_DIR jpeglib.h)
+
+set(JPEG_NAMES ${JPEG_NAMES} jpeg libjpeg)
+find_library(JPEG_LIBRARY NAMES ${JPEG_NAMES} )
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(JPEG DEFAULT_MSG JPEG_LIBRARY JPEG_INCLUDE_DIR)
+
+if(JPEG_FOUND)
+  set(JPEG_LIBRARIES ${JPEG_LIBRARY})
+endif()
+
+# Deprecated declarations.
+set (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
+if(JPEG_LIBRARY)
+  get_filename_component (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
+endif()
+
+mark_as_advanced(JPEG_LIBRARY JPEG_INCLUDE_DIR )
diff --git a/share/cmake-3.10/Modules/FindJasper.cmake b/share/cmake-3.10/Modules/FindJasper.cmake
new file mode 100644
index 0000000..db76657
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindJasper.cmake
@@ -0,0 +1,46 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindJasper
+# ----------
+#
+# Try to find the Jasper JPEG2000 library
+#
+# Once done this will define
+#
+# ::
+#
+#   JASPER_FOUND - system has Jasper
+#   JASPER_INCLUDE_DIR - the Jasper include directory
+#   JASPER_LIBRARIES - the libraries needed to use Jasper
+#   JASPER_VERSION_STRING - the version of Jasper found (since CMake 2.8.8)
+
+find_path(JASPER_INCLUDE_DIR jasper/jasper.h)
+
+if (NOT JASPER_LIBRARIES)
+    find_package(JPEG)
+
+    find_library(JASPER_LIBRARY_RELEASE NAMES jasper libjasper)
+    find_library(JASPER_LIBRARY_DEBUG NAMES jasperd)
+
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    SELECT_LIBRARY_CONFIGURATIONS(JASPER)
+endif ()
+
+if (JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h")
+    file(STRINGS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h" jasper_version_str REGEX "^#define[\t ]+JAS_VERSION[\t ]+\".*\".*")
+
+    string(REGEX REPLACE "^#define[\t ]+JAS_VERSION[\t ]+\"([^\"]+)\".*" "\\1" JASPER_VERSION_STRING "${jasper_version_str}")
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jasper
+                                  REQUIRED_VARS JASPER_LIBRARIES JASPER_INCLUDE_DIR JPEG_LIBRARIES
+                                  VERSION_VAR JASPER_VERSION_STRING)
+
+if (JASPER_FOUND)
+   set(JASPER_LIBRARIES ${JASPER_LIBRARIES} ${JPEG_LIBRARIES} )
+endif ()
+
+mark_as_advanced(JASPER_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindJava.cmake b/share/cmake-3.10/Modules/FindJava.cmake
new file mode 100644
index 0000000..b913e17
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindJava.cmake
@@ -0,0 +1,292 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindJava
+# --------
+#
+# Find Java
+#
+# This module finds if Java is installed and determines where the
+# include files and libraries are.  The caller may set variable JAVA_HOME
+# to specify a Java installation prefix explicitly.
+#
+# See also the :module:`FindJNI` module to find Java development tools.
+#
+# Specify one or more of the following components as you call this find module. See example below.
+#
+# ::
+#
+#   Runtime     = User just want to execute some Java byte-compiled
+#   Development = Development tools (java, javac, javah and javadoc), includes Runtime component
+#   IdlJ        = idl compiler for Java
+#   JarSigner   = signer tool for jar
+#
+#
+# This module sets the following result variables:
+#
+# ::
+#
+#   Java_JAVA_EXECUTABLE      = the full path to the Java runtime
+#   Java_JAVAC_EXECUTABLE     = the full path to the Java compiler
+#   Java_JAVAH_EXECUTABLE     = the full path to the Java header generator
+#   Java_JAVADOC_EXECUTABLE   = the full path to the Java documentation generator
+#   Java_IDLJ_EXECUTABLE      = the full path to the Java idl compiler
+#   Java_JAR_EXECUTABLE       = the full path to the Java archiver
+#   Java_JARSIGNER_EXECUTABLE = the full path to the Java jar signer
+#   Java_VERSION_STRING       = Version of java found, eg. 1.6.0_12
+#   Java_VERSION_MAJOR        = The major version of the package found.
+#   Java_VERSION_MINOR        = The minor version of the package found.
+#   Java_VERSION_PATCH        = The patch version of the package found.
+#   Java_VERSION_TWEAK        = The tweak version of the package found (after '_')
+#   Java_VERSION              = This is set to: $major[.$minor[.$patch[.$tweak]]]
+#
+#
+#
+# The minimum required version of Java can be specified using the
+# standard CMake syntax, e.g.  find_package(Java 1.5)
+#
+# NOTE: ${Java_VERSION} and ${Java_VERSION_STRING} are not guaranteed to
+# be identical.  For example some java version may return:
+# Java_VERSION_STRING = 1.5.0_17 and Java_VERSION = 1.5.0.17
+#
+# another example is the Java OEM, with: Java_VERSION_STRING = 1.6.0-oem
+# and Java_VERSION = 1.6.0
+#
+# For these components the following variables are set:
+#
+# ::
+#
+#   Java_FOUND                    - TRUE if all components are found.
+#   Java_<component>_FOUND        - TRUE if <component> is found.
+#
+#
+#
+# Example Usages:
+#
+# ::
+#
+#   find_package(Java)
+#   find_package(Java COMPONENTS Runtime)
+#   find_package(Java COMPONENTS Development)
+
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindJavaCommon.cmake)
+
+# The HINTS option should only be used for values computed from the system.
+set(_JAVA_HINTS)
+if(_JAVA_HOME)
+  list(APPEND _JAVA_HINTS ${_JAVA_HOME}/bin)
+endif()
+list(APPEND _JAVA_HINTS
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\2.0;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.9;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.8;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.7;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.6;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.5;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.4;JavaHome]/bin"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.3;JavaHome]/bin"
+  )
+# Hard-coded guesses should still go in PATHS. This ensures that the user
+# environment can always override hard guesses.
+set(_JAVA_PATHS
+  /usr/lib/java/bin
+  /usr/share/java/bin
+  /usr/local/java/bin
+  /usr/local/java/share/bin
+  /usr/java/j2sdk1.4.2_04
+  /usr/lib/j2sdk1.4-sun/bin
+  /usr/java/j2sdk1.4.2_09/bin
+  /usr/lib/j2sdk1.5-sun/bin
+  /opt/sun-jdk-1.5.0.04/bin
+  /usr/local/jdk-1.7.0/bin
+  /usr/local/jdk-1.6.0/bin
+  )
+find_program(Java_JAVA_EXECUTABLE
+  NAMES java
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+if(Java_JAVA_EXECUTABLE)
+    execute_process(COMMAND ${Java_JAVA_EXECUTABLE} -version
+      RESULT_VARIABLE res
+      OUTPUT_VARIABLE var
+      ERROR_VARIABLE var # sun-java output to stderr
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      ERROR_STRIP_TRAILING_WHITESPACE)
+    if( res )
+      if(var MATCHES "No Java runtime present, requesting install")
+        set_property(CACHE Java_JAVA_EXECUTABLE
+          PROPERTY VALUE "Java_JAVA_EXECUTABLE-NOTFOUND")
+      elseif(${Java_FIND_REQUIRED})
+        message( FATAL_ERROR "Error executing java -version" )
+      else()
+        message( STATUS "Warning, could not run java -version")
+      endif()
+    else()
+      # Extract version components (up to 4 levels) from "java -version" output.
+      set(_java_version_regex [[(([0-9]+)(\.([0-9]+)(\.([0-9]+)(_([0-9]+))?)?)?.*)]])
+      if(var MATCHES "java version \"${_java_version_regex}\"")
+        # Sun, GCJ, older OpenJDK
+        set(Java_VERSION_STRING "${CMAKE_MATCH_1}")
+        set(Java_VERSION_MAJOR "${CMAKE_MATCH_2}")
+        set(Java_VERSION_MINOR "${CMAKE_MATCH_4}")
+        set(Java_VERSION_PATCH "${CMAKE_MATCH_6}")
+        set(Java_VERSION_TWEAK "${CMAKE_MATCH_8}")
+      elseif(var MATCHES "openjdk version \"${_java_version_regex}\"")
+        # OpenJDK
+        set(Java_VERSION_STRING "${CMAKE_MATCH_1}")
+        set(Java_VERSION_MAJOR "${CMAKE_MATCH_2}")
+        set(Java_VERSION_MINOR "${CMAKE_MATCH_4}")
+        set(Java_VERSION_PATCH "${CMAKE_MATCH_6}")
+        set(Java_VERSION_TWEAK "${CMAKE_MATCH_8}")
+      elseif(var MATCHES "openjdk version \"([0-9]+)-[A-Za-z]+\"")
+        # OpenJDK 9 early access builds or locally built
+        set(Java_VERSION_STRING "1.${CMAKE_MATCH_1}.0")
+        set(Java_VERSION_MAJOR "1")
+        set(Java_VERSION_MINOR "${CMAKE_MATCH_1}")
+        set(Java_VERSION_PATCH "0")
+        set(Java_VERSION_TWEAK "")
+      elseif(var MATCHES "java full version \"kaffe-${_java_version_regex}\"")
+        # Kaffe style
+        set(Java_VERSION_STRING "${CMAKE_MATCH_1}")
+        set(Java_VERSION_MAJOR "${CMAKE_MATCH_2}")
+        set(Java_VERSION_MINOR "${CMAKE_MATCH_4}")
+        set(Java_VERSION_PATCH "${CMAKE_MATCH_6}")
+        set(Java_VERSION_TWEAK "${CMAKE_MATCH_8}")
+      else()
+        if(NOT Java_FIND_QUIETLY)
+          string(REPLACE "\n" "\n  " ver_msg "\n${var}")
+          message(WARNING "Java version not recognized:${ver_msg}\nPlease report.")
+        endif()
+        set(Java_VERSION_STRING "")
+        set(Java_VERSION_MAJOR "")
+        set(Java_VERSION_MINOR "")
+        set(Java_VERSION_PATCH "")
+        set(Java_VERSION_TWEAK "")
+      endif()
+      set(Java_VERSION "${Java_VERSION_MAJOR}")
+      if(NOT "x${Java_VERSION}" STREQUAL "x")
+        foreach(c MINOR PATCH TWEAK)
+          if(NOT "x${Java_VERSION_${c}}" STREQUAL "x")
+            string(APPEND Java_VERSION ".${Java_VERSION_${c}}")
+          else()
+            break()
+          endif()
+        endforeach()
+      endif()
+    endif()
+
+endif()
+
+
+find_program(Java_JAR_EXECUTABLE
+  NAMES jar
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+find_program(Java_JAVAC_EXECUTABLE
+  NAMES javac
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+find_program(Java_JAVAH_EXECUTABLE
+  NAMES javah
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+find_program(Java_JAVADOC_EXECUTABLE
+  NAMES javadoc
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+find_program(Java_IDLJ_EXECUTABLE
+  NAMES idlj
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+find_program(Java_JARSIGNER_EXECUTABLE
+  NAMES jarsigner
+  HINTS ${_JAVA_HINTS}
+  PATHS ${_JAVA_PATHS}
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(Java_FIND_COMPONENTS)
+  set(_JAVA_REQUIRED_VARS)
+  foreach(component ${Java_FIND_COMPONENTS})
+    # User just want to execute some Java byte-compiled
+    If(component STREQUAL "Runtime")
+      list(APPEND _JAVA_REQUIRED_VARS Java_JAVA_EXECUTABLE)
+      if(Java_JAVA_EXECUTABLE)
+        set(Java_Runtime_FOUND TRUE)
+      endif()
+    elseif(component STREQUAL "Development")
+      list(APPEND _JAVA_REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAVAC_EXECUTABLE
+                                      Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
+      if(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE
+          AND Java_JAVAH_EXECUTABLE AND Java_JAVADOC_EXECUTABLE)
+        set(Java_Development_FOUND TRUE)
+      endif()
+    elseif(component STREQUAL "IdlJ")
+      list(APPEND _JAVA_REQUIRED_VARS Java_IDLJ_EXECUTABLE)
+      if(Java_IDLJ_EXECUTABLE)
+        set(Java_IdlJ_FOUND TRUE)
+      endif()
+    elseif(component STREQUAL "JarSigner")
+      list(APPEND _JAVA_REQUIRED_VARS Java_JARSIGNER_EXECUTABLE)
+      if(Java_JARSIGNER_EXECUTABLE)
+        set(Java_JarSigner_FOUND TRUE)
+      endif()
+    else()
+      message(FATAL_ERROR "Comp: ${component} is not handled")
+    endif()
+  endforeach()
+  list (REMOVE_DUPLICATES _JAVA_REQUIRED_VARS)
+  find_package_handle_standard_args(Java
+    REQUIRED_VARS ${_JAVA_REQUIRED_VARS} HANDLE_COMPONENTS
+    VERSION_VAR Java_VERSION
+    )
+  if(Java_FOUND)
+    foreach(component ${Java_FIND_COMPONENTS})
+      set(Java_${component}_FOUND TRUE)
+    endforeach()
+  endif()
+else()
+  # Check for Development
+  find_package_handle_standard_args(Java
+    REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE
+                  Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE
+    VERSION_VAR Java_VERSION_STRING
+    )
+endif()
+
+
+mark_as_advanced(
+  Java_JAVA_EXECUTABLE
+  Java_JAR_EXECUTABLE
+  Java_JAVAC_EXECUTABLE
+  Java_JAVAH_EXECUTABLE
+  Java_JAVADOC_EXECUTABLE
+  Java_IDLJ_EXECUTABLE
+  Java_JARSIGNER_EXECUTABLE
+  )
+
+# LEGACY
+set(JAVA_RUNTIME ${Java_JAVA_EXECUTABLE})
+set(JAVA_ARCHIVE ${Java_JAR_EXECUTABLE})
+set(JAVA_COMPILE ${Java_JAVAC_EXECUTABLE})
diff --git a/share/cmake-3.10/Modules/FindKDE3.cmake b/share/cmake-3.10/Modules/FindKDE3.cmake
new file mode 100644
index 0000000..03216a5
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindKDE3.cmake
@@ -0,0 +1,361 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindKDE3
+# --------
+#
+# Find the KDE3 include and library dirs, KDE preprocessors and define a some macros
+#
+#
+#
+# This module defines the following variables:
+#
+# ``KDE3_DEFINITIONS``
+#   compiler definitions required for compiling KDE software
+# ``KDE3_INCLUDE_DIR``
+#   the KDE include directory
+# ``KDE3_INCLUDE_DIRS``
+#   the KDE and the Qt include directory, for use with include_directories()
+# ``KDE3_LIB_DIR``
+#   the directory where the KDE libraries are installed, for use with link_directories()
+# ``QT_AND_KDECORE_LIBS``
+#   this contains both the Qt and the kdecore library
+# ``KDE3_DCOPIDL_EXECUTABLE``
+#   the dcopidl executable
+# ``KDE3_DCOPIDL2CPP_EXECUTABLE``
+#   the dcopidl2cpp executable
+# ``KDE3_KCFGC_EXECUTABLE``
+#   the kconfig_compiler executable
+# ``KDE3_FOUND``
+#   set to TRUE if all of the above has been found
+#
+# The following user adjustable options are provided:
+#
+# ``KDE3_BUILD_TESTS``
+#   enable this to build KDE testcases
+#
+# It also adds the following macros (from KDE3Macros.cmake) SRCS_VAR is
+# always the variable which contains the list of source files for your
+# application or library.
+#
+# KDE3_AUTOMOC(file1 ...  fileN)
+#
+# ::
+#
+#     Call this if you want to have automatic moc file handling.
+#     This means if you include "foo.moc" in the source file foo.cpp
+#     a moc file for the header foo.h will be created automatically.
+#     You can set the property SKIP_AUTOMAKE using set_source_files_properties()
+#     to exclude some files in the list from being processed.
+#
+#
+#
+# KDE3_ADD_MOC_FILES(SRCS_VAR file1 ...  fileN )
+#
+# ::
+#
+#     If you don't use the KDE3_AUTOMOC() macro, for the files
+#     listed here moc files will be created (named "foo.moc.cpp")
+#
+#
+#
+# KDE3_ADD_DCOP_SKELS(SRCS_VAR header1.h ...  headerN.h )
+#
+# ::
+#
+#     Use this to generate DCOP skeletions from the listed headers.
+#
+#
+#
+# KDE3_ADD_DCOP_STUBS(SRCS_VAR header1.h ...  headerN.h )
+#
+# ::
+#
+#      Use this to generate DCOP stubs from the listed headers.
+#
+#
+#
+# KDE3_ADD_UI_FILES(SRCS_VAR file1.ui ...  fileN.ui )
+#
+# ::
+#
+#     Use this to add the Qt designer ui files to your application/library.
+#
+#
+#
+# KDE3_ADD_KCFG_FILES(SRCS_VAR file1.kcfgc ...  fileN.kcfgc )
+#
+# ::
+#
+#     Use this to add KDE kconfig compiler files to your application/library.
+#
+#
+#
+# KDE3_INSTALL_LIBTOOL_FILE(target)
+#
+# ::
+#
+#     This will create and install a simple libtool file for the given target.
+#
+#
+#
+# KDE3_ADD_EXECUTABLE(name file1 ...  fileN )
+#
+# ::
+#
+#     Currently identical to add_executable(), may provide some advanced
+#     features in the future.
+#
+#
+#
+# KDE3_ADD_KPART(name [WITH_PREFIX] file1 ...  fileN )
+#
+# ::
+#
+#     Create a KDE plugin (KPart, kioslave, etc.) from the given source files.
+#     If WITH_PREFIX is given, the resulting plugin will have the prefix "lib",
+#     otherwise it won't.
+#     It creates and installs an appropriate libtool la-file.
+#
+#
+#
+# KDE3_ADD_KDEINIT_EXECUTABLE(name file1 ...  fileN )
+#
+# ::
+#
+#     Create a KDE application in the form of a module loadable via kdeinit.
+#     A library named kdeinit_<name> will be created and a small executable
+#     which links to it.
+#
+#
+#
+# The option KDE3_ENABLE_FINAL to enable all-in-one compilation is no
+# longer supported.
+#
+#
+#
+# Author: Alexander Neundorf <neundorf@kde.org>
+
+if(NOT UNIX AND KDE3_FIND_REQUIRED)
+   message(FATAL_ERROR "Compiling KDE3 applications and libraries under Windows is not supported")
+endif()
+
+# If Qt4 has already been found, fail.
+if(QT4_FOUND)
+  if(KDE3_FIND_REQUIRED)
+    message( FATAL_ERROR "KDE3/Qt3 and Qt4 cannot be used together in one project.")
+  else()
+    if(NOT KDE3_FIND_QUIETLY)
+      message( STATUS    "KDE3/Qt3 and Qt4 cannot be used together in one project.")
+    endif()
+    return()
+  endif()
+endif()
+
+
+set(QT_MT_REQUIRED TRUE)
+#set(QT_MIN_VERSION "3.0.0")
+
+#this line includes FindQt.cmake, which searches the Qt library and headers
+if(KDE3_FIND_REQUIRED)
+  set(_REQ_STRING_KDE3 "REQUIRED")
+endif()
+
+find_package(Qt3 ${_REQ_STRING_KDE3})
+find_package(X11 ${_REQ_STRING_KDE3})
+
+
+#now try to find some kde stuff
+find_program(KDECONFIG_EXECUTABLE NAMES kde-config
+  HINTS
+   $ENV{KDEDIR}/bin
+   PATHS
+  /opt/kde3/bin
+  /opt/kde/bin
+  )
+
+set(KDE3PREFIX)
+if(KDECONFIG_EXECUTABLE)
+   execute_process(COMMAND ${KDECONFIG_EXECUTABLE} --version
+                   OUTPUT_VARIABLE kde_config_version )
+
+   string(REGEX MATCH "KDE: .\\." kde_version "${kde_config_version}")
+   if ("${kde_version}" MATCHES "KDE: 3\\.")
+      execute_process(COMMAND ${KDECONFIG_EXECUTABLE} --prefix
+                        OUTPUT_VARIABLE kdedir )
+      string(REPLACE "\n" "" KDE3PREFIX "${kdedir}")
+
+    endif ()
+endif()
+
+
+
+# at first the KDE include directory
+# kpassdlg.h comes from kdeui and doesn't exist in KDE4 anymore
+find_path(KDE3_INCLUDE_DIR kpassdlg.h
+  HINTS
+  $ENV{KDEDIR}/include
+  ${KDE3PREFIX}/include
+  PATHS
+  /opt/kde3/include
+  /opt/kde/include
+  /usr/include/kde
+  /usr/local/include/kde
+  )
+
+#now the KDE library directory
+find_library(KDE3_KDECORE_LIBRARY NAMES kdecore
+  HINTS
+  $ENV{KDEDIR}/lib
+  ${KDE3PREFIX}/lib
+  PATHS
+  /opt/kde3/lib
+  /opt/kde/lib
+)
+
+set(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} ${KDE3_KDECORE_LIBRARY})
+
+get_filename_component(KDE3_LIB_DIR ${KDE3_KDECORE_LIBRARY} PATH )
+
+if(NOT KDE3_LIBTOOL_DIR)
+   if(KDE3_KDECORE_LIBRARY MATCHES lib64)
+     set(KDE3_LIBTOOL_DIR /lib64/kde3)
+   elseif(KDE3_KDECORE_LIBRARY MATCHES libx32)
+     set(KDE3_LIBTOOL_DIR /libx32/kde3)
+   else()
+     set(KDE3_LIBTOOL_DIR /lib/kde3)
+   endif()
+endif()
+
+#now search for the dcop utilities
+find_program(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl
+  HINTS
+  $ENV{KDEDIR}/bin
+  ${KDE3PREFIX}/bin
+  PATHS
+  /opt/kde3/bin
+  /opt/kde/bin
+  )
+
+find_program(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp
+  HINTS
+  $ENV{KDEDIR}/bin
+  ${KDE3PREFIX}/bin
+  PATHS
+  /opt/kde3/bin
+  /opt/kde/bin
+  )
+
+find_program(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler
+  HINTS
+  $ENV{KDEDIR}/bin
+  ${KDE3PREFIX}/bin
+  PATHS
+  /opt/kde3/bin
+  /opt/kde/bin
+  )
+
+
+#SET KDE3_FOUND
+if (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
+   set(KDE3_FOUND TRUE)
+else ()
+   set(KDE3_FOUND FALSE)
+endif ()
+
+# add some KDE specific stuff
+set(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE)
+
+# set compiler flags only if KDE3 has actually been found
+if(KDE3_FOUND)
+   set(_KDE3_USE_FLAGS FALSE)
+   if(CMAKE_COMPILER_IS_GNUCXX)
+      set(_KDE3_USE_FLAGS TRUE) # use flags for gnu compiler
+      execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
+                      OUTPUT_VARIABLE out)
+      # gnu gcc 2.96 does not work with flags
+      # I guess 2.95 also doesn't then
+      if("${out}" MATCHES "2.9[56]")
+         set(_KDE3_USE_FLAGS FALSE)
+      endif()
+   endif()
+
+   #only on linux, but NOT e.g. on FreeBSD:
+   if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND _KDE3_USE_FLAGS)
+      set (KDE3_DEFINITIONS ${KDE3_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE)
+      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
+      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common")
+   endif()
+
+   # works on FreeBSD, NOT tested on NetBSD and OpenBSD
+   if (CMAKE_SYSTEM_NAME MATCHES BSD AND _KDE3_USE_FLAGS)
+      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
+      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common")
+   endif ()
+
+   # if no special buildtype is selected, add -O2 as default optimization
+   if (NOT CMAKE_BUILD_TYPE AND _KDE3_USE_FLAGS)
+      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -O2")
+      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
+   endif ()
+
+#set(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined")
+#set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
+#set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
+endif()
+
+
+# KDE3Macros.cmake contains all the KDE specific macros
+include(${CMAKE_CURRENT_LIST_DIR}/KDE3Macros.cmake)
+
+
+macro (KDE3_PRINT_RESULTS)
+   if(KDE3_INCLUDE_DIR)
+      message(STATUS "Found KDE3 include dir: ${KDE3_INCLUDE_DIR}")
+   else()
+      message(STATUS "Didn't find KDE3 headers")
+   endif()
+
+   if(KDE3_LIB_DIR)
+      message(STATUS "Found KDE3 library dir: ${KDE3_LIB_DIR}")
+   else()
+      message(STATUS "Didn't find KDE3 core library")
+   endif()
+
+   if(KDE3_DCOPIDL_EXECUTABLE)
+      message(STATUS "Found KDE3 dcopidl preprocessor: ${KDE3_DCOPIDL_EXECUTABLE}")
+   else()
+      message(STATUS "Didn't find the KDE3 dcopidl preprocessor")
+   endif()
+
+   if(KDE3_DCOPIDL2CPP_EXECUTABLE)
+      message(STATUS "Found KDE3 dcopidl2cpp preprocessor: ${KDE3_DCOPIDL2CPP_EXECUTABLE}")
+   else()
+      message(STATUS "Didn't find the KDE3 dcopidl2cpp preprocessor")
+   endif()
+
+   if(KDE3_KCFGC_EXECUTABLE)
+      message(STATUS "Found KDE3 kconfig_compiler preprocessor: ${KDE3_KCFGC_EXECUTABLE}")
+   else()
+      message(STATUS "Didn't find the KDE3 kconfig_compiler preprocessor")
+   endif()
+
+endmacro ()
+
+
+if (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND)
+   #bail out if something wasn't found
+   KDE3_PRINT_RESULTS()
+   message(FATAL_ERROR "Could NOT find everything required for compiling KDE 3 programs")
+
+endif ()
+
+
+if (NOT KDE3_FIND_QUIETLY)
+   KDE3_PRINT_RESULTS()
+endif ()
+
+#add the found Qt and KDE include directories to the current include path
+set(KDE3_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE3_INCLUDE_DIR})
+
diff --git a/share/cmake-3.10/Modules/FindKDE4.cmake b/share/cmake-3.10/Modules/FindKDE4.cmake
new file mode 100644
index 0000000..bb98e53
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindKDE4.cmake
@@ -0,0 +1,102 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindKDE4
+# --------
+#
+#
+#
+# Find KDE4 and provide all necessary variables and macros to compile
+# software for it.  It looks for KDE 4 in the following directories in
+# the given order:
+#
+# ::
+#
+#   CMAKE_INSTALL_PREFIX
+#   KDEDIRS
+#   /opt/kde4
+#
+#
+#
+# Please look in FindKDE4Internal.cmake and KDE4Macros.cmake for more
+# information.  They are installed with the KDE 4 libraries in
+# $KDEDIRS/share/apps/cmake/modules/.
+#
+# Author: Alexander Neundorf <neundorf@kde.org>
+
+# If Qt3 has already been found, fail.
+if(QT_QT_LIBRARY)
+  if(KDE4_FIND_REQUIRED)
+    message( FATAL_ERROR "KDE4/Qt4 and Qt3 cannot be used together in one project.")
+  else()
+    if(NOT KDE4_FIND_QUIETLY)
+      message( STATUS    "KDE4/Qt4 and Qt3 cannot be used together in one project.")
+    endif()
+    return()
+  endif()
+endif()
+
+file(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
+
+# when cross compiling, searching kde4-config in order to run it later on
+# doesn't make a lot of sense. We'll have to do something about this.
+# Searching always in the target environment ? Then we get at least the correct one,
+# still it can't be used to run it. Alex
+
+# For KDE4 kde-config has been renamed to kde4-config
+find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
+   # the suffix must be used since KDEDIRS can be a list of directories which don't have bin/ appended
+   PATH_SUFFIXES bin
+   HINTS
+   ${CMAKE_INSTALL_PREFIX}
+   ${_KDEDIRS}
+   /opt/kde4
+   ONLY_CMAKE_FIND_ROOT_PATH
+   )
+
+if (NOT KDE4_KDECONFIG_EXECUTABLE)
+   if (KDE4_FIND_REQUIRED)
+      message(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
+   endif ()
+endif ()
+
+
+# when cross compiling, KDE4_DATA_DIR may be already preset
+if(NOT KDE4_DATA_DIR)
+   if(CMAKE_CROSSCOMPILING)
+      # when cross compiling, don't run kde4-config but use its location as install dir
+      get_filename_component(KDE4_DATA_DIR "${KDE4_KDECONFIG_EXECUTABLE}" PATH)
+      get_filename_component(KDE4_DATA_DIR "${KDE4_DATA_DIR}" PATH)
+   else()
+      # then ask kde4-config for the kde data dirs
+
+      if(KDE4_KDECONFIG_EXECUTABLE)
+        execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
+        file(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
+        # then check the data dirs for FindKDE4Internal.cmake
+        find_path(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake HINTS ${_data_DIR})
+      endif()
+   endif()
+endif()
+
+# if it has been found...
+if (KDE4_DATA_DIR)
+
+   set(CMAKE_MODULE_PATH  ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
+
+   if (KDE4_FIND_QUIETLY)
+      set(_quiet QUIET)
+   endif ()
+
+   if (KDE4_FIND_REQUIRED)
+      set(_req REQUIRED)
+   endif ()
+
+   # use FindKDE4Internal.cmake to do the rest
+   find_package(KDE4Internal ${_req} ${_quiet} NO_POLICY_SCOPE)
+else ()
+   if (KDE4_FIND_REQUIRED)
+      message(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
+   endif ()
+endif ()
diff --git a/share/cmake-3.10/Modules/FindLAPACK.cmake b/share/cmake-3.10/Modules/FindLAPACK.cmake
new file mode 100644
index 0000000..a451e6c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLAPACK.cmake
@@ -0,0 +1,374 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLAPACK
+# ----------
+#
+# Find 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).
+#
+# This module sets the following variables:
+#
+# ::
+#
+#   LAPACK_FOUND - set to true if a 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 - set to true if a library implementing the LAPACK f95
+#     interface is found
+#   BLA_STATIC  if set on this determines what kind of linkage we do (static)
+#   BLA_VENDOR  if set checks only the specified vendor, if not set checks
+#      all the possibilities
+#   BLA_F95     if set on tries to find the f95 interfaces for BLAS/LAPACK
+#
+# List of vendors (BLA_VENDOR) valid in this module:
+#
+# * Intel(mkl)
+# * OpenBLAS
+# * ACML
+# * Apple
+# * NAS
+# * Generic
+#
+
+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 ()
+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)
+  mark_as_advanced(${_prefix}${_combined_name}_WORKS)
+  set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
+  #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
+endif()
+
+ if(_libraries_work)
+   set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threads})
+ 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 ()
+
+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 ()
+
+#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 ()
+#intel lapack
+if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
+  if (NOT WIN32)
+    set(LM "-lm")
+  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()
+
+    set(LAPACK_SEARCH_LIBS "")
+
+    if (BLA_F95)
+      set(LAPACK_mkl_SEARCH_SYMBOL "CHEEV")
+      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_intel_lp64")
+    else()
+      set(LAPACK_mkl_SEARCH_SYMBOL "cheev")
+      set(_LIBRARIES LAPACK_LIBRARIES)
+      set(_BLAS_LIBRARIES ${BLAS_LIBRARIES})
+
+      # old
+      list(APPEND LAPACK_SEARCH_LIBS
+        "mkl_lapack")
+      # new >= 10.3
+      list(APPEND LAPACK_SEARCH_LIBS
+        "mkl_gf_lp64")
+    endif()
+
+    # First try empty lapack libs
+    if (NOT ${_LIBRARIES})
+      check_lapack_libraries(
+        ${_LIBRARIES}
+        BLAS
+        ${LAPACK_mkl_SEARCH_SYMBOL}
+        ""
+        ""
+        "${_BLAS_LIBRARIES}"
+        "${CMAKE_THREAD_LIBS_INIT};${LM}"
+        )
+    endif ()
+    # Then try the search libs
+    foreach (IT ${LAPACK_SEARCH_LIBS})
+      if (NOT ${_LIBRARIES})
+        check_lapack_libraries(
+          ${_LIBRARIES}
+          BLAS
+          ${LAPACK_mkl_SEARCH_SYMBOL}
+          ""
+          "${IT}"
+          "${_BLAS_LIBRARIES}"
+          "${CMAKE_THREAD_LIBS_INIT};${LM}"
+          )
+      endif ()
+    endforeach ()
+  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()
+
+cmake_pop_check_state()
+set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.10/Modules/FindLATEX.cmake b/share/cmake-3.10/Modules/FindLATEX.cmake
new file mode 100644
index 0000000..d1f4fa4
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLATEX.cmake
@@ -0,0 +1,278 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLATEX
+# ---------
+#
+# Find Latex
+#
+# This module finds an installed Latex and determines the location
+# of the compiler.  Additionally the module looks for Latex-related
+# software like BibTeX.
+#
+# This module sets the following result variables::
+#
+#   LATEX_FOUND:          whether found Latex and requested components
+#   LATEX_<component>_FOUND:  whether found <component>
+#   LATEX_COMPILER:       path to the LaTeX compiler
+#   PDFLATEX_COMPILER:    path to the PdfLaTeX compiler
+#   XELATEX_COMPILER:     path to the XeLaTeX compiler
+#   LUALATEX_COMPILER:    path to the LuaLaTeX compiler
+#   BIBTEX_COMPILER:      path to the BibTeX compiler
+#   BIBER_COMPILER:       path to the Biber compiler
+#   MAKEINDEX_COMPILER:   path to the MakeIndex compiler
+#   XINDY_COMPILER:       path to the xindy compiler
+#   DVIPS_CONVERTER:      path to the DVIPS converter
+#   DVIPDF_CONVERTER:     path to the DVIPDF converter
+#   PS2PDF_CONVERTER:     path to the PS2PDF converter
+#   PDFTOPS_CONVERTER:    path to the pdftops converter
+#   LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
+#   HTLATEX_COMPILER:     path to the htlatex compiler
+#
+# Possible components are::
+#
+#   PDFLATEX
+#   XELATEX
+#   LUALATEX
+#   BIBTEX
+#   BIBER
+#   MAKEINDEX
+#   XINDY
+#   DVIPS
+#   DVIPDF
+#   PS2PDF
+#   PDFTOPS
+#   LATEX2HTML
+#   HTLATEX
+#
+# Example Usages::
+#
+#   find_package(LATEX)
+#   find_package(LATEX COMPONENTS PDFLATEX)
+#   find_package(LATEX COMPONENTS BIBTEX PS2PDF)
+
+if (WIN32)
+  # Try to find the MikTex binary path (look for its package manager).
+  find_path(MIKTEX_BINARY_PATH mpm.exe
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
+    DOC
+    "Path to the MikTex binary directory."
+  )
+  mark_as_advanced(MIKTEX_BINARY_PATH)
+
+  # Try to find the GhostScript binary path (look for gswin32).
+  get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
+     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
+  )
+
+  get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04
+     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\7.04;GS_DLL]" PATH
+  )
+
+  find_path(GHOSTSCRIPT_BINARY_PATH gswin32.exe
+    ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00}
+    ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04}
+    DOC "Path to the GhostScript binary directory."
+  )
+  mark_as_advanced(GHOSTSCRIPT_BINARY_PATH)
+
+  find_path(GHOSTSCRIPT_LIBRARY_PATH ps2pdf13.bat
+    "${GHOSTSCRIPT_BINARY_PATH}/../lib"
+    DOC "Path to the GhostScript library directory."
+  )
+  mark_as_advanced(GHOSTSCRIPT_LIBRARY_PATH)
+endif ()
+
+# try to find Latex and the related programs
+find_program(LATEX_COMPILER
+  NAMES latex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+
+# find pdflatex
+find_program(PDFLATEX_COMPILER
+  NAMES pdflatex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (PDFLATEX_COMPILER)
+  set(LATEX_PDFLATEX_FOUND TRUE)
+else()
+  set(LATEX_PDFLATEX_FOUND FALSE)
+endif()
+
+# find xelatex
+find_program(XELATEX_COMPILER
+  NAMES xelatex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (XELATEX_COMPILER)
+  set(LATEX_XELATEX_FOUND TRUE)
+else()
+  set(LATEX_XELATEX_FOUND FALSE)
+endif()
+
+# find lualatex
+find_program(LUALATEX_COMPILER
+  NAMES lualatex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (LUALATEX_COMPILER)
+  set(LATEX_LUALATEX_FOUND TRUE)
+else()
+  set(LATEX_LUALATEX_FOUND FALSE)
+endif()
+
+# find bibtex
+find_program(BIBTEX_COMPILER
+  NAMES bibtex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (BIBTEX_COMPILER)
+  set(LATEX_BIBTEX_FOUND TRUE)
+else()
+  set(LATEX_BIBTEX_FOUND FALSE)
+endif()
+
+# find biber
+find_program(BIBER_COMPILER
+  NAMES biber
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (BIBER_COMPILER)
+  set(LATEX_BIBER_FOUND TRUE)
+else()
+  set(LATEX_BIBER_FOUND FALSE)
+endif()
+
+# find makeindex
+find_program(MAKEINDEX_COMPILER
+  NAMES makeindex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (MAKEINDEX_COMPILER)
+  set(LATEX_MAKEINDEX_FOUND TRUE)
+else()
+  set(LATEX_MAKEINDEX_FOUND FALSE)
+endif()
+
+# find xindy
+find_program(XINDY_COMPILER
+  NAMES xindy
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (XINDY_COMPILER)
+   set(LATEX_XINDY_FOUND TRUE)
+else()
+  set(LATEX_XINDY_FOUND FALSE)
+endif()
+
+# find dvips
+find_program(DVIPS_CONVERTER
+  NAMES dvips
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (DVIPS_CONVERTER)
+  set(LATEX_DVIPS_FOUND TRUE)
+else()
+  set(LATEX_DVIPS_FOUND FALSE)
+endif()
+
+# find dvipdf
+find_program(DVIPDF_CONVERTER
+  NAMES dvipdfm dvipdft dvipdf
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (DVIPDF_CONVERTER)
+  set(LATEX_DVIPDF_FOUND TRUE)
+else()
+  set(LATEX_DVIPDF_FOUND FALSE)
+endif()
+
+# find ps2pdf
+if (WIN32)
+  find_program(PS2PDF_CONVERTER
+    NAMES ps2pdf14.bat ps2pdf14 ps2pdf
+    PATHS ${GHOSTSCRIPT_LIBRARY_PATH}
+          ${MIKTEX_BINARY_PATH}
+  )
+else ()
+  find_program(PS2PDF_CONVERTER
+    NAMES ps2pdf14 ps2pdf
+  )
+endif ()
+if (PS2PDF_CONVERTER)
+  set(LATEX_PS2PDF_FOUND TRUE)
+else()
+  set(LATEX_PS2PDF_FOUND FALSE)
+endif()
+
+# find pdftops
+find_program(PDFTOPS_CONVERTER
+  NAMES pdftops
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (PDFTOPS_CONVERTER)
+  set(LATEX_PDFTOPS_FOUND TRUE)
+else()
+  set(LATEX_PDFTOPS_FOUND FALSE)
+endif()
+
+# find latex2html
+find_program(LATEX2HTML_CONVERTER
+  NAMES latex2html
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (LATEX2HTML_CONVERTER)
+  set(LATEX_LATEX2HTML_FOUND TRUE)
+else()
+  set(LATEX_LATEX2HTML_FOUND FALSE)
+endif()
+
+# find htlatex
+find_program(HTLATEX_COMPILER
+  NAMES htlatex
+  PATHS ${MIKTEX_BINARY_PATH}
+        /usr/bin
+)
+if (HTLATEX_COMPILER)
+  set(LATEX_HTLATEX_FOUND TRUE)
+else()
+  set(LATEX_HTLATEX_FOUND FALSE)
+endif()
+
+
+mark_as_advanced(
+  LATEX_COMPILER
+  PDFLATEX_COMPILER
+  XELATEX_COMPILER
+  LUALATEX_COMPILER
+  BIBTEX_COMPILER
+  BIBER_COMPILER
+  MAKEINDEX_COMPILER
+  XINDY_COMPILER
+  DVIPS_CONVERTER
+  DVIPDF_CONVERTER
+  PS2PDF_CONVERTER
+  PDFTOPS_CONVERTER
+  LATEX2HTML_CONVERTER
+  HTLATEX_COMPILER
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(LATEX
+  REQUIRED_VARS LATEX_COMPILER
+  HANDLE_COMPONENTS
+)
diff --git a/share/cmake-3.10/Modules/FindLTTngUST.cmake b/share/cmake-3.10/Modules/FindLTTngUST.cmake
new file mode 100644
index 0000000..00d5e7a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLTTngUST.cmake
@@ -0,0 +1,98 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLTTngUST
+# ------------
+#
+# This module finds the `LTTng-UST <http://lttng.org/>`__ library.
+#
+# Imported target
+# ^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` target:
+#
+# ``LTTng::UST``
+#   The LTTng-UST library, if found
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module sets the following
+#
+# ``LTTNGUST_FOUND``
+#   ``TRUE`` if system has LTTng-UST
+# ``LTTNGUST_INCLUDE_DIRS``
+#   The LTTng-UST include directories
+# ``LTTNGUST_LIBRARIES``
+#   The libraries needed to use LTTng-UST
+# ``LTTNGUST_VERSION_STRING``
+#   The LTTng-UST version
+# ``LTTNGUST_HAS_TRACEF``
+#   ``TRUE`` if the ``tracef()`` API is available in the system's LTTng-UST
+# ``LTTNGUST_HAS_TRACELOG``
+#   ``TRUE`` if the ``tracelog()`` API is available in the system's LTTng-UST
+
+find_path(LTTNGUST_INCLUDE_DIRS NAMES lttng/tracepoint.h)
+find_library(LTTNGUST_LIBRARIES NAMES lttng-ust)
+
+if(LTTNGUST_INCLUDE_DIRS AND LTTNGUST_LIBRARIES)
+  # find tracef() and tracelog() support
+  set(LTTNGUST_HAS_TRACEF 0)
+  set(LTTNGUST_HAS_TRACELOG 0)
+
+  if(EXISTS "${LTTNGUST_INCLUDE_DIRS}/lttng/tracef.h")
+    set(LTTNGUST_HAS_TRACEF TRUE)
+  endif()
+
+  if(EXISTS "${LTTNGUST_INCLUDE_DIRS}/lttng/tracelog.h")
+    set(LTTNGUST_HAS_TRACELOG TRUE)
+  endif()
+
+  # get version
+  set(lttngust_version_file "${LTTNGUST_INCLUDE_DIRS}/lttng/ust-version.h")
+
+  if(EXISTS "${lttngust_version_file}")
+    file(STRINGS "${lttngust_version_file}" lttngust_version_major_string
+         REGEX "^[\t ]*#define[\t ]+LTTNG_UST_MAJOR_VERSION[\t ]+[0-9]+[\t ]*$")
+    file(STRINGS "${lttngust_version_file}" lttngust_version_minor_string
+         REGEX "^[\t ]*#define[\t ]+LTTNG_UST_MINOR_VERSION[\t ]+[0-9]+[\t ]*$")
+    file(STRINGS "${lttngust_version_file}" lttngust_version_patch_string
+         REGEX "^[\t ]*#define[\t ]+LTTNG_UST_PATCHLEVEL_VERSION[\t ]+[0-9]+[\t ]*$")
+    string(REGEX REPLACE ".*([0-9]+).*" "\\1"
+           lttngust_v_major "${lttngust_version_major_string}")
+    string(REGEX REPLACE ".*([0-9]+).*" "\\1"
+           lttngust_v_minor "${lttngust_version_minor_string}")
+    string(REGEX REPLACE ".*([0-9]+).*" "\\1"
+           lttngust_v_patch "${lttngust_version_patch_string}")
+    set(LTTNGUST_VERSION_STRING
+        "${lttngust_v_major}.${lttngust_v_minor}.${lttngust_v_patch}")
+    unset(lttngust_version_major_string)
+    unset(lttngust_version_minor_string)
+    unset(lttngust_version_patch_string)
+    unset(lttngust_v_major)
+    unset(lttngust_v_minor)
+    unset(lttngust_v_patch)
+  endif()
+
+  unset(lttngust_version_file)
+
+  if(NOT TARGET LTTng::UST)
+    add_library(LTTng::UST UNKNOWN IMPORTED)
+    set_target_properties(LTTng::UST PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${LTTNGUST_INCLUDE_DIRS}"
+      INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS}
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+      IMPORTED_LOCATION "${LTTNGUST_LIBRARIES}")
+  endif()
+
+  # add libdl to required libraries
+  set(LTTNGUST_LIBRARIES ${LTTNGUST_LIBRARIES} ${CMAKE_DL_LIBS})
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(LTTngUST FOUND_VAR LTTNGUST_FOUND
+                                  REQUIRED_VARS LTTNGUST_LIBRARIES
+                                                LTTNGUST_INCLUDE_DIRS
+                                  VERSION_VAR LTTNGUST_VERSION_STRING)
+mark_as_advanced(LTTNGUST_LIBRARIES LTTNGUST_INCLUDE_DIRS)
diff --git a/share/cmake-3.10/Modules/FindLibArchive.cmake b/share/cmake-3.10/Modules/FindLibArchive.cmake
new file mode 100644
index 0000000..38e512f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLibArchive.cmake
@@ -0,0 +1,59 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLibArchive
+# --------------
+#
+# Find libarchive library and headers
+#
+# The module defines the following variables:
+#
+# ::
+#
+#   LibArchive_FOUND        - true if libarchive was found
+#   LibArchive_INCLUDE_DIRS - include search path
+#   LibArchive_LIBRARIES    - libraries to link
+#   LibArchive_VERSION      - libarchive 3-component version number
+
+find_path(LibArchive_INCLUDE_DIR
+  NAMES archive.h
+  PATHS
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/include"
+  )
+
+find_library(LibArchive_LIBRARY
+  NAMES archive libarchive
+  PATHS
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/lib"
+  )
+
+mark_as_advanced(LibArchive_INCLUDE_DIR LibArchive_LIBRARY)
+
+# Extract the version number from the header.
+if(LibArchive_INCLUDE_DIR AND EXISTS "${LibArchive_INCLUDE_DIR}/archive.h")
+  # The version string appears in one of three known formats in the header:
+  #  #define ARCHIVE_LIBRARY_VERSION "libarchive 2.4.12"
+  #  #define ARCHIVE_VERSION_STRING "libarchive 2.8.4"
+  #  #define ARCHIVE_VERSION_ONLY_STRING "3.2.0"
+  # Match any format.
+  set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"(libarchive +)?([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$")
+  file(STRINGS "${LibArchive_INCLUDE_DIR}/archive.h" _LibArchive_VERSION_STRING LIMIT_COUNT 1 REGEX "${_LibArchive_VERSION_REGEX}")
+  if(_LibArchive_VERSION_STRING)
+    string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\2.\\3.\\4" LibArchive_VERSION "${_LibArchive_VERSION_STRING}")
+  endif()
+  unset(_LibArchive_VERSION_REGEX)
+  unset(_LibArchive_VERSION_STRING)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(LibArchive
+                                  REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
+                                  VERSION_VAR LibArchive_VERSION
+  )
+unset(LIBARCHIVE_FOUND)
+
+if(LibArchive_FOUND)
+  set(LibArchive_INCLUDE_DIRS ${LibArchive_INCLUDE_DIR})
+  set(LibArchive_LIBRARIES    ${LibArchive_LIBRARY})
+endif()
diff --git a/share/cmake-3.10/Modules/FindLibLZMA.cmake b/share/cmake-3.10/Modules/FindLibLZMA.cmake
new file mode 100644
index 0000000..8009bcf
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLibLZMA.cmake
@@ -0,0 +1,66 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLibLZMA
+# -----------
+#
+# Find LibLZMA
+#
+# Find LibLZMA headers and library
+#
+# ::
+#
+#   LIBLZMA_FOUND             - True if liblzma is found.
+#   LIBLZMA_INCLUDE_DIRS      - Directory where liblzma headers are located.
+#   LIBLZMA_LIBRARIES         - Lzma libraries to link against.
+#   LIBLZMA_HAS_AUTO_DECODER  - True if lzma_auto_decoder() is found (required).
+#   LIBLZMA_HAS_EASY_ENCODER  - True if lzma_easy_encoder() is found (required).
+#   LIBLZMA_HAS_LZMA_PRESET   - True if lzma_lzma_preset() is found (required).
+#   LIBLZMA_VERSION_MAJOR     - The major version of lzma
+#   LIBLZMA_VERSION_MINOR     - The minor version of lzma
+#   LIBLZMA_VERSION_PATCH     - The patch version of lzma
+#   LIBLZMA_VERSION_STRING    - version number as a string (ex: "5.0.3")
+
+find_path(LIBLZMA_INCLUDE_DIR lzma.h )
+find_library(LIBLZMA_LIBRARY lzma)
+
+if(LIBLZMA_INCLUDE_DIR AND EXISTS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h")
+    file(STRINGS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h" LIBLZMA_HEADER_CONTENTS REGEX "#define LZMA_VERSION_[A-Z]+ [0-9]+")
+
+    string(REGEX REPLACE ".*#define LZMA_VERSION_MAJOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MAJOR "${LIBLZMA_HEADER_CONTENTS}")
+    string(REGEX REPLACE ".*#define LZMA_VERSION_MINOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MINOR "${LIBLZMA_HEADER_CONTENTS}")
+    string(REGEX REPLACE ".*#define LZMA_VERSION_PATCH ([0-9]+).*" "\\1" LIBLZMA_VERSION_PATCH "${LIBLZMA_HEADER_CONTENTS}")
+
+    set(LIBLZMA_VERSION_STRING "${LIBLZMA_VERSION_MAJOR}.${LIBLZMA_VERSION_MINOR}.${LIBLZMA_VERSION_PATCH}")
+    unset(LIBLZMA_HEADER_CONTENTS)
+endif()
+
+# We're using new code known now as XZ, even library still been called LZMA
+# it can be found in http://tukaani.org/xz/
+# Avoid using old codebase
+if (LIBLZMA_LIBRARY)
+   include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
+   set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
+   set(CMAKE_REQUIRED_QUIET ${LibLZMA_FIND_QUIETLY})
+   CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_auto_decoder "" LIBLZMA_HAS_AUTO_DECODER)
+   CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_easy_encoder "" LIBLZMA_HAS_EASY_ENCODER)
+   CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_lzma_preset "" LIBLZMA_HAS_LZMA_PRESET)
+   set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZMA  REQUIRED_VARS  LIBLZMA_INCLUDE_DIR
+                                                          LIBLZMA_LIBRARY
+                                                          LIBLZMA_HAS_AUTO_DECODER
+                                                          LIBLZMA_HAS_EASY_ENCODER
+                                                          LIBLZMA_HAS_LZMA_PRESET
+                                           VERSION_VAR    LIBLZMA_VERSION_STRING
+                                 )
+
+if (LIBLZMA_FOUND)
+    set(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY})
+    set(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR})
+endif ()
+
+mark_as_advanced( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY )
diff --git a/share/cmake-3.10/Modules/FindLibXml2.cmake b/share/cmake-3.10/Modules/FindLibXml2.cmake
new file mode 100644
index 0000000..8ac2980
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLibXml2.cmake
@@ -0,0 +1,89 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLibXml2
+# -----------
+#
+# Find the XML processing library (libxml2).
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``LIBXML2_FOUND``
+#   true if libxml2 headers and libraries were found
+# ``LIBXML2_INCLUDE_DIR``
+#   the directory containing LibXml2 headers
+# ``LIBXML2_INCLUDE_DIRS``
+#   list of the include directories needed to use LibXml2
+# ``LIBXML2_LIBRARIES``
+#   LibXml2 libraries to be linked
+# ``LIBXML2_DEFINITIONS``
+#   the compiler switches required for using LibXml2
+# ``LIBXML2_XMLLINT_EXECUTABLE``
+#   path to the XML checking tool xmllint coming with LibXml2
+# ``LIBXML2_VERSION_STRING``
+#   the version of LibXml2 found (since CMake 2.8.8)
+#
+# Cache variables
+# ^^^^^^^^^^^^^^^
+#
+# The following cache variables may also be set:
+#
+# ``LIBXML2_INCLUDE_DIR``
+#   the directory containing LibXml2 headers
+# ``LIBXML2_LIBRARY``
+#   path to the LibXml2 library
+
+# use pkg-config to get the directories and then use these values
+# 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
+   ${PC_LIBXML_INCLUDEDIR}
+   ${PC_LIBXML_INCLUDE_DIRS}
+   PATH_SUFFIXES libxml2
+   )
+
+# CMake 3.9 and below used 'LIBXML2_LIBRARIES' as the name of
+# the cache entry storing the find_library result.  Use the
+# value if it was set by the project or user.
+if(DEFINED LIBXML2_LIBRARIES AND NOT DEFINED LIBXML2_LIBRARY)
+  set(LIBXML2_LIBRARY ${LIBXML2_LIBRARIES})
+endif()
+
+find_library(LIBXML2_LIBRARY NAMES xml2 libxml2
+   HINTS
+   ${PC_LIBXML_LIBDIR}
+   ${PC_LIBXML_LIBRARY_DIRS}
+   )
+
+find_program(LIBXML2_XMLLINT_EXECUTABLE xmllint)
+# 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")
+    file(STRINGS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h" libxml2_version_str
+         REGEX "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\".*\"")
+
+    string(REGEX REPLACE "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
+           LIBXML2_VERSION_STRING "${libxml2_version_str}")
+    unset(libxml2_version_str)
+endif()
+
+set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR} ${PC_LIBXML_INCLUDE_DIRS})
+set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2
+                                  REQUIRED_VARS LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR
+                                  VERSION_VAR LIBXML2_VERSION_STRING)
+
+mark_as_advanced(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARY LIBXML2_XMLLINT_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindLibXslt.cmake b/share/cmake-3.10/Modules/FindLibXslt.cmake
new file mode 100644
index 0000000..abd1963
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLibXslt.cmake
@@ -0,0 +1,75 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLibXslt
+# -----------
+#
+# Try to find the LibXslt library
+#
+# Once done this will define
+#
+# ::
+#
+#   LIBXSLT_FOUND - system has LibXslt
+#   LIBXSLT_INCLUDE_DIR - the LibXslt include directory
+#   LIBXSLT_LIBRARIES - Link these to LibXslt
+#   LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt
+#   LIBXSLT_VERSION_STRING - version of LibXslt found (since CMake 2.8.8)
+#
+# Additionally, the following two variables are set (but not required
+# for using xslt):
+#
+# ``LIBXSLT_EXSLT_LIBRARIES``
+#   Link to these if you need to link against the exslt library.
+# ``LIBXSLT_XSLTPROC_EXECUTABLE``
+#   Contains the full path to the xsltproc executable if found.
+
+# use pkg-config to get the directories and then use these values
+# in the find_path() and find_library() calls
+find_package(PkgConfig QUIET)
+PKG_CHECK_MODULES(PC_LIBXSLT QUIET libxslt)
+set(LIBXSLT_DEFINITIONS ${PC_LIBXSLT_CFLAGS_OTHER})
+
+find_path(LIBXSLT_INCLUDE_DIR NAMES libxslt/xslt.h
+    HINTS
+   ${PC_LIBXSLT_INCLUDEDIR}
+   ${PC_LIBXSLT_INCLUDE_DIRS}
+  )
+
+find_library(LIBXSLT_LIBRARIES NAMES xslt libxslt
+    HINTS
+   ${PC_LIBXSLT_LIBDIR}
+   ${PC_LIBXSLT_LIBRARY_DIRS}
+  )
+
+find_library(LIBXSLT_EXSLT_LIBRARY NAMES exslt libexslt
+    HINTS
+    ${PC_LIBXSLT_LIBDIR}
+    ${PC_LIBXSLT_LIBRARY_DIRS}
+  )
+
+set(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY} )
+
+find_program(LIBXSLT_XSLTPROC_EXECUTABLE xsltproc)
+
+if(PC_LIBXSLT_VERSION)
+    set(LIBXSLT_VERSION_STRING ${PC_LIBXSLT_VERSION})
+elseif(LIBXSLT_INCLUDE_DIR AND EXISTS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h")
+    file(STRINGS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h" libxslt_version_str
+         REGEX "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\".*\"")
+
+    string(REGEX REPLACE "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
+           LIBXSLT_VERSION_STRING "${libxslt_version_str}")
+    unset(libxslt_version_str)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXslt
+                                  REQUIRED_VARS LIBXSLT_LIBRARIES LIBXSLT_INCLUDE_DIR
+                                  VERSION_VAR LIBXSLT_VERSION_STRING)
+
+mark_as_advanced(LIBXSLT_INCLUDE_DIR
+                 LIBXSLT_LIBRARIES
+                 LIBXSLT_EXSLT_LIBRARY
+                 LIBXSLT_XSLTPROC_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindLua.cmake b/share/cmake-3.10/Modules/FindLua.cmake
new file mode 100644
index 0000000..b59b9b3
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLua.cmake
@@ -0,0 +1,197 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLua
+# -------
+#
+#
+#
+# Locate Lua library This module defines
+#
+# ::
+#
+#   LUA_FOUND          - if false, do not try to link to Lua
+#   LUA_LIBRARIES      - both lua and lualib
+#   LUA_INCLUDE_DIR    - where to find lua.h
+#   LUA_VERSION_STRING - the version of Lua found
+#   LUA_VERSION_MAJOR  - the major version of Lua
+#   LUA_VERSION_MINOR  - the minor version of Lua
+#   LUA_VERSION_PATCH  - the patch version of Lua
+#
+#
+#
+# Note that the expected include convention is
+#
+# ::
+#
+#   #include "lua.h"
+#
+# and not
+#
+# ::
+#
+#   #include <lua/lua.h>
+#
+# This is because, the lua location is not standardized and may exist in
+# locations other than lua/
+
+unset(_lua_include_subdirs)
+unset(_lua_library_names)
+unset(_lua_append_versions)
+
+# this is a function only to have all the variables inside go away automatically
+function(_lua_set_version_vars)
+    set(LUA_VERSIONS5 5.3 5.2 5.1 5.0)
+
+    if (Lua_FIND_VERSION_EXACT)
+        if (Lua_FIND_VERSION_COUNT GREATER 1)
+            set(_lua_append_versions ${Lua_FIND_VERSION_MAJOR}.${Lua_FIND_VERSION_MINOR})
+        endif ()
+    elseif (Lua_FIND_VERSION)
+        # once there is a different major version supported this should become a loop
+        if (NOT Lua_FIND_VERSION_MAJOR GREATER 5)
+            if (Lua_FIND_VERSION_COUNT EQUAL 1)
+                set(_lua_append_versions ${LUA_VERSIONS5})
+            else ()
+                foreach (subver IN LISTS LUA_VERSIONS5)
+                    if (NOT subver VERSION_LESS ${Lua_FIND_VERSION})
+                        list(APPEND _lua_append_versions ${subver})
+                    endif ()
+                endforeach ()
+            endif ()
+        endif ()
+    else ()
+        # once there is a different major version supported this should become a loop
+        set(_lua_append_versions ${LUA_VERSIONS5})
+    endif ()
+
+    list(APPEND _lua_include_subdirs "include/lua" "include")
+
+    foreach (ver IN LISTS _lua_append_versions)
+        string(REGEX MATCH "^([0-9]+)\\.([0-9]+)$" _ver "${ver}")
+        list(APPEND _lua_include_subdirs
+             include/lua${CMAKE_MATCH_1}${CMAKE_MATCH_2}
+             include/lua${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
+             include/lua-${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
+        )
+    endforeach ()
+
+    set(_lua_include_subdirs "${_lua_include_subdirs}" PARENT_SCOPE)
+    set(_lua_append_versions "${_lua_append_versions}" PARENT_SCOPE)
+endfunction(_lua_set_version_vars)
+
+function(_lua_check_header_version _hdr_file)
+    # At least 5.[012] have different ways to express the version
+    # so all of them need to be tested. Lua 5.2 defines LUA_VERSION
+    # and LUA_RELEASE as joined by the C preprocessor, so avoid those.
+    file(STRINGS "${_hdr_file}" lua_version_strings
+         REGEX "^#define[ \t]+LUA_(RELEASE[ \t]+\"Lua [0-9]|VERSION([ \t]+\"Lua [0-9]|_[MR])).*")
+
+    string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION_MAJOR[ \t]+\"([0-9])\"[ \t]*;.*" "\\1" LUA_VERSION_MAJOR ";${lua_version_strings};")
+    if (LUA_VERSION_MAJOR MATCHES "^[0-9]+$")
+        string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION_MINOR[ \t]+\"([0-9])\"[ \t]*;.*" "\\1" LUA_VERSION_MINOR ";${lua_version_strings};")
+        string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION_RELEASE[ \t]+\"([0-9])\"[ \t]*;.*" "\\1" LUA_VERSION_PATCH ";${lua_version_strings};")
+        set(LUA_VERSION_STRING "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}")
+    else ()
+        string(REGEX REPLACE ".*;#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([0-9.]+)\"[ \t]*;.*" "\\1" LUA_VERSION_STRING ";${lua_version_strings};")
+        if (NOT LUA_VERSION_STRING MATCHES "^[0-9.]+$")
+            string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION[ \t]+\"Lua ([0-9.]+)\"[ \t]*;.*" "\\1" LUA_VERSION_STRING ";${lua_version_strings};")
+        endif ()
+        string(REGEX REPLACE "^([0-9]+)\\.[0-9.]*$" "\\1" LUA_VERSION_MAJOR "${LUA_VERSION_STRING}")
+        string(REGEX REPLACE "^[0-9]+\\.([0-9]+)[0-9.]*$" "\\1" LUA_VERSION_MINOR "${LUA_VERSION_STRING}")
+        string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]).*" "\\1" LUA_VERSION_PATCH "${LUA_VERSION_STRING}")
+    endif ()
+    foreach (ver IN LISTS _lua_append_versions)
+        if (ver STREQUAL "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
+            set(LUA_VERSION_MAJOR ${LUA_VERSION_MAJOR} PARENT_SCOPE)
+            set(LUA_VERSION_MINOR ${LUA_VERSION_MINOR} PARENT_SCOPE)
+            set(LUA_VERSION_PATCH ${LUA_VERSION_PATCH} PARENT_SCOPE)
+            set(LUA_VERSION_STRING ${LUA_VERSION_STRING} PARENT_SCOPE)
+            return()
+        endif ()
+    endforeach ()
+endfunction(_lua_check_header_version)
+
+_lua_set_version_vars()
+
+if (LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
+    _lua_check_header_version("${LUA_INCLUDE_DIR}/lua.h")
+endif ()
+
+if (NOT LUA_VERSION_STRING)
+    foreach (subdir IN LISTS _lua_include_subdirs)
+        unset(LUA_INCLUDE_PREFIX CACHE)
+        find_path(LUA_INCLUDE_PREFIX ${subdir}/lua.h
+          HINTS
+            ENV LUA_DIR
+          PATHS
+          ~/Library/Frameworks
+          /Library/Frameworks
+          /sw # Fink
+          /opt/local # DarwinPorts
+          /opt/csw # Blastwave
+          /opt
+        )
+        if (LUA_INCLUDE_PREFIX)
+            _lua_check_header_version("${LUA_INCLUDE_PREFIX}/${subdir}/lua.h")
+            if (LUA_VERSION_STRING)
+                set(LUA_INCLUDE_DIR "${LUA_INCLUDE_PREFIX}/${subdir}")
+                break()
+            endif ()
+        endif ()
+    endforeach ()
+endif ()
+unset(_lua_include_subdirs)
+unset(_lua_append_versions)
+
+if (LUA_VERSION_STRING)
+    set(_lua_library_names
+        lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}
+        lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}
+        lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}
+        lua.${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}
+    )
+endif ()
+
+find_library(LUA_LIBRARY
+  NAMES ${_lua_library_names} lua
+  HINTS
+    ENV LUA_DIR
+  PATH_SUFFIXES lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+unset(_lua_library_names)
+
+if (LUA_LIBRARY)
+    # include the math library for Unix
+    if (UNIX AND NOT APPLE AND NOT BEOS)
+        find_library(LUA_MATH_LIBRARY m)
+        set(LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}")
+
+        # include dl library for statically-linked Lua library
+        get_filename_component(LUA_LIB_EXT ${LUA_LIBRARY} EXT)
+        if(LUA_LIB_EXT STREQUAL CMAKE_STATIC_LIBRARY_SUFFIX)
+          list(APPEND LUA_LIBRARIES ${CMAKE_DL_LIBS})
+        endif()
+
+    # For Windows and Mac, don't need to explicitly include the math library
+    else ()
+        set(LUA_LIBRARIES "${LUA_LIBRARY}")
+    endif ()
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua
+                                  REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
+                                  VERSION_VAR LUA_VERSION_STRING)
+
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindLua50.cmake b/share/cmake-3.10/Modules/FindLua50.cmake
new file mode 100644
index 0000000..838ca6a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLua50.cmake
@@ -0,0 +1,98 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLua50
+# ---------
+#
+#
+#
+# Locate Lua library This module defines
+#
+# ::
+#
+#   LUA50_FOUND, if false, do not try to link to Lua
+#   LUA_LIBRARIES, both lua and lualib
+#   LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
+#
+#
+#
+# Note that the expected include convention is
+#
+# ::
+#
+#   #include "lua.h"
+#
+# and not
+#
+# ::
+#
+#   #include <lua/lua.h>
+#
+# This is because, the lua location is not standardized and may exist in
+# locations other than lua/
+
+find_path(LUA_INCLUDE_DIR lua.h
+  HINTS
+    ENV LUA_DIR
+  PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+)
+
+find_library(LUA_LIBRARY_lua
+  NAMES lua50 lua5.0 lua-5.0 lua5 lua
+  HINTS
+    ENV LUA_DIR
+  PATH_SUFFIXES lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+# In an OS X framework, lualib is usually included as part of the framework
+# (like GLU in OpenGL.framework)
+if(${LUA_LIBRARY_lua} MATCHES "framework")
+  set( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework")
+else()
+  find_library(LUA_LIBRARY_lualib
+    NAMES lualib50 lualib5.0 lualib5 lualib
+    HINTS
+      ENV LUALIB_DIR
+      ENV LUA_DIR
+    PATH_SUFFIXES lib
+    PATHS
+    /sw
+    /opt/local
+    /opt/csw
+    /opt
+  )
+  if(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
+    # include the math library for Unix
+    if(UNIX AND NOT APPLE)
+      find_library(MATH_LIBRARY_FOR_LUA m)
+      set( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries")
+    # For Windows and Mac, don't need to explicitly include the math library
+    else()
+      set( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries")
+    endif()
+  endif()
+endif()
+
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua50  DEFAULT_MSG  LUA_LIBRARIES LUA_INCLUDE_DIR)
+
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES)
+
diff --git a/share/cmake-3.10/Modules/FindLua51.cmake b/share/cmake-3.10/Modules/FindLua51.cmake
new file mode 100644
index 0000000..f2b2322
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindLua51.cmake
@@ -0,0 +1,89 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindLua51
+# ---------
+#
+#
+#
+# Locate Lua library This module defines
+#
+# ::
+#
+#   LUA51_FOUND, if false, do not try to link to Lua
+#   LUA_LIBRARIES
+#   LUA_INCLUDE_DIR, where to find lua.h
+#   LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
+#
+#
+#
+# Note that the expected include convention is
+#
+# ::
+#
+#   #include "lua.h"
+#
+# and not
+#
+# ::
+#
+#   #include <lua/lua.h>
+#
+# This is because, the lua location is not standardized and may exist in
+# locations other than lua/
+
+find_path(LUA_INCLUDE_DIR lua.h
+  HINTS
+    ENV LUA_DIR
+  PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+)
+
+find_library(LUA_LIBRARY
+  NAMES lua51 lua5.1 lua-5.1 lua
+  HINTS
+    ENV LUA_DIR
+  PATH_SUFFIXES lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+if(LUA_LIBRARY)
+  # include the math library for Unix
+  if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
+    find_library(LUA_MATH_LIBRARY m)
+    set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
+  # For Windows and Mac, don't need to explicitly include the math library
+  else()
+    set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
+  endif()
+endif()
+
+if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
+  file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
+
+  string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
+  unset(lua_version_str)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua51
+                                  REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
+                                  VERSION_VAR LUA_VERSION_STRING)
+
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
+
diff --git a/share/cmake-3.10/Modules/FindMFC.cmake b/share/cmake-3.10/Modules/FindMFC.cmake
new file mode 100644
index 0000000..3baaf32
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMFC.cmake
@@ -0,0 +1,70 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindMFC
+# -------
+#
+# Find MFC on Windows
+#
+# Find the native MFC - i.e.  decide if an application can link to the
+# MFC libraries.
+#
+# ::
+#
+#   MFC_FOUND - Was MFC support found
+#
+# You don't need to include anything or link anything to use it.
+
+# Assume no MFC support
+set(MFC_FOUND "NO")
+
+# Only attempt the try_compile call if it has a chance to succeed:
+set(MFC_ATTEMPT_TRY_COMPILE 0)
+if(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
+  set(MFC_ATTEMPT_TRY_COMPILE 1)
+endif()
+
+if(MFC_ATTEMPT_TRY_COMPILE)
+  if(NOT DEFINED MFC_HAVE_MFC)
+    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")
+    # Try both shared and static as the root project may have set the /MT flag
+    try_compile(MFC_HAVE_MFC
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
+      CMAKE_FLAGS
+      -DCMAKE_MFC_FLAG:STRING=2
+      -DCOMPILE_DEFINITIONS:STRING=-D_AFXDLL
+      OUTPUT_VARIABLE OUTPUT)
+    if(NOT MFC_HAVE_MFC)
+      configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
+        ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx)
+      try_compile(MFC_HAVE_MFC
+        ${CMAKE_BINARY_DIR}
+        ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
+        CMAKE_FLAGS
+        -DCMAKE_MFC_FLAG:STRING=1
+        OUTPUT_VARIABLE OUTPUT)
+    endif()
+    if(MFC_HAVE_MFC)
+      message(STATUS "Looking for MFC - 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")
+      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"
+        "${OUTPUT}\n\n")
+    endif()
+  endif()
+
+  if(MFC_HAVE_MFC)
+    set(MFC_FOUND "YES")
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindMPEG.cmake b/share/cmake-3.10/Modules/FindMPEG.cmake
new file mode 100644
index 0000000..cd1b021
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPEG.cmake
@@ -0,0 +1,44 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindMPEG
+# --------
+#
+# Find the native MPEG includes and library
+#
+# This module defines
+#
+# ::
+#
+#   MPEG_INCLUDE_DIR, where to find MPEG.h, etc.
+#   MPEG_LIBRARIES, the libraries required to use MPEG.
+#   MPEG_FOUND, If false, do not try to use MPEG.
+#
+# also defined, but not for general use are
+#
+# ::
+#
+#   MPEG_mpeg2_LIBRARY, where to find the MPEG library.
+#   MPEG_vo_LIBRARY, where to find the vo library.
+
+find_path(MPEG_INCLUDE_DIR mpeg2dec/include/video_out.h
+  /usr/local/livid
+)
+
+find_library(MPEG_mpeg2_LIBRARY mpeg2
+  /usr/local/livid/mpeg2dec/libmpeg2/.libs
+)
+
+find_library( MPEG_vo_LIBRARY vo
+  /usr/local/livid/mpeg2dec/libvo/.libs
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPEG DEFAULT_MSG MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
+
+if(MPEG_FOUND)
+  set( MPEG_LIBRARIES ${MPEG_mpeg2_LIBRARY} ${MPEG_vo_LIBRARY} )
+endif()
+
+mark_as_advanced(MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindMPEG2.cmake b/share/cmake-3.10/Modules/FindMPEG2.cmake
new file mode 100644
index 0000000..2c75d7b
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPEG2.cmake
@@ -0,0 +1,53 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindMPEG2
+# ---------
+#
+# Find the native MPEG2 includes and library
+#
+# This module defines
+#
+# ::
+#
+#   MPEG2_INCLUDE_DIR, path to mpeg2dec/mpeg2.h, etc.
+#   MPEG2_LIBRARIES, the libraries required to use MPEG2.
+#   MPEG2_FOUND, If false, do not try to use MPEG2.
+#
+# also defined, but not for general use are
+#
+# ::
+#
+#   MPEG2_mpeg2_LIBRARY, where to find the MPEG2 library.
+#   MPEG2_vo_LIBRARY, where to find the vo library.
+
+find_path(MPEG2_INCLUDE_DIR
+  NAMES mpeg2.h mpeg2dec/mpeg2.h
+  PATHS /usr/local/livid
+)
+
+find_library(MPEG2_mpeg2_LIBRARY mpeg2
+  /usr/local/livid/mpeg2dec/libmpeg2/.libs
+)
+
+find_library( MPEG2_vo_LIBRARY vo
+  /usr/local/livid/mpeg2dec/libvo/.libs
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPEG2 DEFAULT_MSG MPEG2_mpeg2_LIBRARY MPEG2_INCLUDE_DIR)
+
+if(MPEG2_FOUND)
+  set( MPEG2_LIBRARIES ${MPEG2_mpeg2_LIBRARY}
+                        ${MPEG2_vo_LIBRARY})
+
+  #some native mpeg2 installations will depend
+  #on libSDL, if found, add it in.
+  include(${CMAKE_CURRENT_LIST_DIR}/FindSDL.cmake)
+  if(SDL_FOUND)
+    set( MPEG2_LIBRARIES ${MPEG2_LIBRARIES} ${SDL_LIBRARY})
+  endif()
+endif()
+
+mark_as_advanced(MPEG2_INCLUDE_DIR MPEG2_mpeg2_LIBRARY MPEG2_vo_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindMPI.cmake b/share/cmake-3.10/Modules/FindMPI.cmake
new file mode 100644
index 0000000..22493f6
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI.cmake
@@ -0,0 +1,1513 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindMPI
+# -------
+#
+# Find a Message Passing Interface (MPI) implementation.
+#
+# The Message Passing Interface (MPI) is a library used to write
+# high-performance distributed-memory parallel applications, and is
+# typically deployed on a cluster.  MPI is a standard interface (defined
+# by the MPI forum) for which many implementations are available.
+#
+# Variables for using MPI
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The module exposes the components ``C``, ``CXX``, ``MPICXX`` and ``Fortran``.
+# Each of these controls the various MPI languages to search for.
+# The difference between ``CXX`` and ``MPICXX`` is that ``CXX`` refers to the
+# MPI C API being usable from C++, whereas ``MPICXX`` refers to the MPI-2 C++ API
+# that was removed again in MPI-3.
+#
+# Depending on the enabled components the following variables will be set:
+#
+# ``MPI_FOUND``
+#   Variable indicating that MPI settings for all requested languages have been found.
+#   If no components are specified, this is true if MPI settings for all enabled languages
+#   were detected. Note that the ``MPICXX`` component does not affect this variable.
+# ``MPI_VERSION``
+#   Minimal version of MPI detected among the requested languages, or all enabled languages
+#   if no components were specified.
+#
+# This module will set the following variables per language in your
+# project, where ``<lang>`` is one of C, CXX, or Fortran:
+#
+# ``MPI_<lang>_FOUND``
+#   Variable indicating the MPI settings for ``<lang>`` were found and that
+#   simple MPI test programs compile with the provided settings.
+# ``MPI_<lang>_COMPILER``
+#   MPI compiler for ``<lang>`` if such a program exists.
+# ``MPI_<lang>_COMPILE_OPTIONS``
+#   Compilation options for MPI programs in ``<lang>``, given as a :ref:`;-list <CMake Language Lists>`.
+# ``MPI_<lang>_COMPILE_DEFINITIONS``
+#   Compilation definitions for MPI programs in ``<lang>``, given as a :ref:`;-list <CMake Language Lists>`.
+# ``MPI_<lang>_INCLUDE_DIRS``
+#   Include path(s) for MPI header.
+# ``MPI_<lang>_LINK_FLAGS``
+#   Linker flags for MPI programs.
+# ``MPI_<lang>_LIBRARIES``
+#   All libraries to link MPI programs against.
+#
+# Additionally, the following :prop_tgt:`IMPORTED` targets are defined:
+#
+# ``MPI::MPI_<lang>``
+#   Target for using MPI from ``<lang>``.
+#
+# The following variables indicating which bindings are present will be defined:
+#
+# ``MPI_MPICXX_FOUND``
+#   Variable indicating whether the MPI-2 C++ bindings are present (introduced in MPI-2, removed with MPI-3).
+# ``MPI_Fortran_HAVE_F77_HEADER``
+#   True if the Fortran 77 header ``mpif.h`` is available.
+# ``MPI_Fortran_HAVE_F90_MODULE``
+#   True if the Fortran 90 module ``mpi`` can be used for accessing MPI (MPI-2 and higher only).
+# ``MPI_Fortran_HAVE_F08_MODULE``
+#   True if the Fortran 2008 ``mpi_f08`` is available to MPI programs (MPI-3 and higher only).
+#
+# If possible, the MPI version will be determined by this module. The facilities to detect the MPI version
+# were introduced with MPI-1.2, and therefore cannot be found for older MPI versions.
+#
+# ``MPI_<lang>_VERSION_MAJOR``
+#   Major version of MPI implemented for ``<lang>`` by the MPI distribution.
+# ``MPI_<lang>_VERSION_MINOR``
+#   Minor version of MPI implemented for ``<lang>`` by the MPI distribution.
+# ``MPI_<lang>_VERSION``
+#   MPI version implemented for ``<lang>`` by the MPI distribution.
+#
+# Note that there's no variable for the C bindings being accessible through ``mpi.h``, since the MPI standards
+# always have required this binding to work in both C and C++ code.
+#
+# For running MPI programs, the module sets the following variables
+#
+# ``MPIEXEC_EXECUTABLE``
+#   Executable for running MPI programs, if such exists.
+# ``MPIEXEC_NUMPROC_FLAG``
+#   Flag to pass to ``mpiexec`` before giving it the number of processors to run on.
+# ``MPIEXEC_MAX_NUMPROCS``
+#   Number of MPI processors to utilize. Defaults to the number
+#   of processors detected on the host system.
+# ``MPIEXEC_PREFLAGS``
+#   Flags to pass to ``mpiexec`` directly before the executable to run.
+# ``MPIEXEC_POSTFLAGS``
+#   Flags to pass to ``mpiexec`` after other flags.
+#
+# Variables for locating MPI
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# This module performs a three step search for an MPI implementation:
+#
+# 1. Check if the compiler has MPI support built-in. This is the case if the user passed a
+#    compiler wrapper as ``CMAKE_<LANG>_COMPILER`` or if they're on a Cray system.
+# 2. Attempt to find an MPI compiler wrapper and determine the compiler information from it.
+# 3. Try to find an MPI implementation that does not ship such a wrapper by guessing settings.
+#    Currently, only Microsoft MPI and MPICH2 on Windows are supported.
+#
+# For controlling the second step, the following variables may be set:
+#
+# ``MPI_<lang>_COMPILER``
+#   Search for the specified compiler wrapper and use it.
+# ``MPI_<lang>_COMPILER_FLAGS``
+#   Flags to pass to the MPI compiler wrapper during interrogation. Some compiler wrappers
+#   support linking debug or tracing libraries if a specific flag is passed and this variable
+#   may be used to obtain them.
+# ``MPI_COMPILER_FLAGS``
+#   Used to initialize ``MPI_<lang>_COMPILER_FLAGS`` if no language specific flag has been given.
+#   Empty by default.
+# ``MPI_EXECUTABLE_SUFFIX``
+#   A suffix which is appended to all names that are being looked for. For instance you may set this
+#   to ``.mpich`` or ``.openmpi`` to prefer the one or the other on Debian and its derivatives.
+#
+# In order to control the guessing step, the following variable may be set:
+#
+# ``MPI_GUESS_LIBRARY_NAME``
+#   Valid values are ``MSMPI`` and ``MPICH2``. If set, only the given library will be searched for.
+#   By default, ``MSMPI`` will be preferred over ``MPICH2`` if both are available.
+#   This also sets ``MPI_SKIP_COMPILER_WRAPPER`` to ``true``, which may be overridden.
+#
+# Each of the search steps may be skipped with the following control variables:
+#
+# ``MPI_ASSUME_NO_BUILTIN_MPI``
+#   If true, the module assumes that the compiler itself does not provide an MPI implementation and
+#   skips to step 2.
+# ``MPI_SKIP_COMPILER_WRAPPER``
+#   If true, no compiler wrapper will be searched for.
+# ``MPI_SKIP_GUESSING``
+#   If true, the guessing step will be skipped.
+#
+# Additionally, the following control variable is available to change search behavior:
+#
+# ``MPI_CXX_SKIP_MPICXX``
+#   Add some definitions that will disable the MPI-2 C++ bindings.
+#   Currently supported are MPICH, Open MPI, Platform MPI and derivatives thereof,
+#   for example MVAPICH or Intel MPI.
+#
+# If the find procedure fails for a variable ``MPI_<lang>_WORKS``, then the settings detected by or passed to
+# the module did not work and even a simple MPI test program failed to compile.
+#
+# If all of these parameters were not sufficient to find the right MPI implementation, a user may
+# disable the entire autodetection process by specifying both a list of libraries in ``MPI_<lang>_LIBRARIES``
+# and a list of include directories in ``MPI_<lang>_ADDITIONAL_INCLUDE_DIRS``.
+# Any other variable may be set in addition to these two. The module will then validate the MPI settings and store the
+# settings in the cache.
+#
+# Cache variables for MPI
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The variable ``MPI_<lang>_INCLUDE_DIRS`` will be assembled from the following variables.
+# For C and CXX:
+#
+# ``MPI_<lang>_HEADER_DIR``
+#   Location of the ``mpi.h`` header on disk.
+#
+# For Fortran:
+#
+# ``MPI_Fortran_F77_HEADER_DIR``
+#   Location of the Fortran 77 header ``mpif.h``, if it exists.
+# ``MPI_Fortran_MODULE_DIR``
+#   Location of the ``mpi`` or ``mpi_f08`` modules, if available.
+#
+# For all languages the following variables are additionally considered:
+#
+# ``MPI_<lang>_ADDITIONAL_INCLUDE_DIRS``
+#   A :ref:`;-list <CMake Language Lists>` of paths needed in addition to the normal include directories.
+# ``MPI_<include_name>_INCLUDE_DIR``
+#   Path variables for include folders referred to by ``<include_name>``.
+# ``MPI_<lang>_ADDITIONAL_INCLUDE_VARS``
+#   A :ref:`;-list <CMake Language Lists>` of ``<include_name>`` that will be added to the include locations of ``<lang>``.
+#
+# The variable ``MPI_<lang>_LIBRARIES`` will be assembled from the following variables:
+#
+# ``MPI_<lib_name>_LIBRARY``
+#   The location of a library called ``<lib_name>`` for use with MPI.
+# ``MPI_<lang>_LIB_NAMES``
+#   A :ref:`;-list <CMake Language Lists>` of ``<lib_name>`` that will be added to the include locations of ``<lang>``.
+#
+# Usage of mpiexec
+# ^^^^^^^^^^^^^^^^
+#
+# When using ``MPIEXEC_EXECUTABLE`` to execute MPI applications, you should typically
+# use all of the ``MPIEXEC_EXECUTABLE`` flags as follows:
+#
+# ::
+#
+#    ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
+#      ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
+#
+# where ``EXECUTABLE`` is the MPI program, and ``ARGS`` are the arguments to
+# pass to the MPI program.
+#
+# Advanced variables for using MPI
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# The module can perform some advanced feature detections upon explicit request.
+#
+# **Important notice:** The following checks cannot be performed without *executing* an MPI test program.
+# Consider the special considerations for the behavior of :command:`try_run` during cross compilation.
+# Moreover, running an MPI program can cause additional issues, like a firewall notification on some systems.
+# You should only enable these detections if you absolutely need the information.
+#
+# If the following variables are set to true, the respective search will be performed:
+#
+# ``MPI_DETERMINE_Fortran_CAPABILITIES``
+#   Determine for all available Fortran bindings what the values of ``MPI_SUBARRAYS_SUPPORTED`` and
+#   ``MPI_ASYNC_PROTECTS_NONBLOCKING`` are and make their values available as ``MPI_Fortran_<binding>_SUBARRAYS``
+#   and ``MPI_Fortran_<binding>_ASYNCPROT``, where ``<binding>`` is one of ``F77_HEADER``, ``F90_MODULE`` and
+#   ``F08_MODULE``.
+# ``MPI_DETERMINE_LIBRARY_VERSION``
+#   For each language, find the output of ``MPI_Get_library_version`` and make it available as ``MPI_<lang>_LIBRARY_VERSION``.
+#   This information is usually tied to the runtime component of an MPI implementation and might differ depending on ``<lang>``.
+#   Note that the return value is entirely implementation defined. This information might be used to identify
+#   the MPI vendor and for example pick the correct one of multiple third party binaries that matches the MPI vendor.
+#
+# Backward Compatibility
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# For backward compatibility with older versions of FindMPI, these
+# variables are set, but deprecated:
+#
+# ::
+#
+#    MPI_COMPILER        MPI_LIBRARY        MPI_EXTRA_LIBRARY
+#    MPI_COMPILE_FLAGS   MPI_INCLUDE_PATH   MPI_LINK_FLAGS
+#    MPI_LIBRARIES
+#
+# In new projects, please use the ``MPI_<lang>_XXX`` equivalents.
+# Additionally, the following variables are deprecated:
+#
+# ``MPI_<lang>_COMPILE_FLAGS``
+#   Use ``MPI_<lang>_COMPILE_OPTIONS`` and ``MPI_<lang>_COMPILE_DEFINITIONS`` instead.
+# ``MPI_<lang>_INCLUDE_PATH``
+#   For consumption use ``MPI_<lang>_INCLUDE_DIRS`` and for specifying folders use ``MPI_<lang>_ADDITIONAL_INCLUDE_DIRS`` instead.
+# ``MPIEXEC``
+#   Use ``MPIEXEC_EXECUTABLE`` instead.
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+# Generic compiler names
+set(_MPI_C_GENERIC_COMPILER_NAMES          mpicc    mpcc      mpicc_r mpcc_r)
+set(_MPI_CXX_GENERIC_COMPILER_NAMES        mpicxx   mpiCC     mpcxx   mpCC    mpic++   mpc++
+                                           mpicxx_r mpiCC_r   mpcxx_r mpCC_r  mpic++_r mpc++_r)
+set(_MPI_Fortran_GENERIC_COMPILER_NAMES    mpif95   mpif95_r  mpf95   mpf95_r
+                                           mpif90   mpif90_r  mpf90   mpf90_r
+                                           mpif77   mpif77_r  mpf77   mpf77_r
+                                           mpifc)
+
+# GNU compiler names
+set(_MPI_GNU_C_COMPILER_NAMES              mpigcc mpgcc mpigcc_r mpgcc_r)
+set(_MPI_GNU_CXX_COMPILER_NAMES            mpig++ mpg++ mpig++_r mpg++_r mpigxx)
+set(_MPI_GNU_Fortran_COMPILER_NAMES        mpigfortran mpgfortran mpigfortran_r mpgfortran_r
+                                           mpig77 mpig77_r mpg77 mpg77_r)
+
+# Intel MPI compiler names on Windows
+if(WIN32)
+  list(APPEND _MPI_C_GENERIC_COMPILER_NAMES       mpicc.bat)
+  list(APPEND _MPI_CXX_GENERIC_COMPILER_NAMES     mpicxx.bat)
+  list(APPEND _MPI_Fortran_GENERIC_COMPILER_NAMES mpifc.bat)
+
+  # Intel MPI compiler names
+  set(_MPI_Intel_C_COMPILER_NAMES            mpiicc.bat)
+  set(_MPI_Intel_CXX_COMPILER_NAMES          mpiicpc.bat)
+  set(_MPI_Intel_Fortran_COMPILER_NAMES      mpiifort.bat mpif77.bat mpif90.bat)
+
+  # Intel MPI compiler names for MSMPI
+  set(_MPI_MSVC_C_COMPILER_NAMES             mpicl.bat)
+  set(_MPI_MSVC_CXX_COMPILER_NAMES           mpicl.bat)
+else()
+  # Intel compiler names
+  set(_MPI_Intel_C_COMPILER_NAMES            mpiicc)
+  set(_MPI_Intel_CXX_COMPILER_NAMES          mpiicpc  mpiicxx mpiic++)
+  set(_MPI_Intel_Fortran_COMPILER_NAMES      mpiifort mpiif95 mpiif90 mpiif77)
+endif()
+
+# PGI compiler names
+set(_MPI_PGI_C_COMPILER_NAMES              mpipgcc mppgcc)
+set(_MPI_PGI_CXX_COMPILER_NAMES            mpipgCC mppgCC)
+set(_MPI_PGI_Fortran_COMPILER_NAMES        mpipgf95 mpipgf90 mppgf95 mppgf90 mpipgf77 mppgf77)
+
+# XLC MPI Compiler names
+set(_MPI_XL_C_COMPILER_NAMES               mpxlc      mpxlc_r    mpixlc     mpixlc_r)
+set(_MPI_XL_CXX_COMPILER_NAMES             mpixlcxx   mpixlC     mpixlc++   mpxlcxx   mpxlc++   mpixlc++   mpxlCC
+                                           mpixlcxx_r mpixlC_r   mpixlc++_r mpxlcxx_r mpxlc++_r mpixlc++_r mpxlCC_r)
+set(_MPI_XL_Fortran_COMPILER_NAMES         mpixlf95   mpixlf95_r mpxlf95 mpxlf95_r
+                                           mpixlf90   mpixlf90_r mpxlf90 mpxlf90_r
+                                           mpixlf77   mpixlf77_r mpxlf77 mpxlf77_r
+                                           mpixlf     mpixlf_r   mpxlf   mpxlf_r)
+
+# Prepend vendor-specific compiler wrappers to the list. If we don't know the compiler,
+# attempt all of them.
+# By attempting vendor-specific compiler names first, we should avoid situations where the compiler wrapper
+# stems from a proprietary MPI and won't know which compiler it's being used for. For instance, Intel MPI
+# controls its settings via the I_MPI_CC environment variables if the generic name is being used.
+# If we know which compiler we're working with, we can use the most specialized wrapper there is in order to
+# pick up the right settings for it.
+foreach (LANG IN ITEMS C CXX Fortran)
+  set(_MPI_${LANG}_COMPILER_NAMES "")
+  foreach (id IN ITEMS GNU Intel MSVC PGI XL)
+    if (NOT CMAKE_${LANG}_COMPILER_ID OR CMAKE_${LANG}_COMPILER_ID STREQUAL id)
+      list(APPEND _MPI_${LANG}_COMPILER_NAMES ${_MPI_${id}_${LANG}_COMPILER_NAMES}${MPI_EXECUTABLE_SUFFIX})
+    endif()
+    unset(_MPI_${id}_${LANG}_COMPILER_NAMES)
+  endforeach()
+  list(APPEND _MPI_${LANG}_COMPILER_NAMES ${_MPI_${LANG}_GENERIC_COMPILER_NAMES}${MPI_EXECUTABLE_SUFFIX})
+  unset(_MPI_${LANG}_GENERIC_COMPILER_NAMES)
+endforeach()
+
+# Names to try for mpiexec
+# Only mpiexec commands are guaranteed to behave as described in the standard,
+# mpirun commands are not covered by the standard in any way whatsoever.
+# lamexec is the executable for LAM/MPI, srun is for SLURM or Open MPI with SLURM support.
+# srun -n X <executable> is however a valid command, so it behaves 'like' mpiexec.
+set(_MPIEXEC_NAMES_BASE                   mpiexec mpiexec.hydra mpiexec.mpd mpirun lamexec srun)
+
+unset(_MPIEXEC_NAMES)
+foreach(_MPIEXEC_NAME IN LISTS _MPIEXEC_NAMES_BASE)
+  list(APPEND _MPIEXEC_NAMES "${_MPIEXEC_NAME}${MPI_EXECUTABLE_SUFFIX}")
+endforeach()
+unset(_MPIEXEC_NAMES_BASE)
+
+function (_MPI_check_compiler LANG QUERY_FLAG OUTPUT_VARIABLE RESULT_VARIABLE)
+  if(DEFINED MPI_${LANG}_COMPILER_FLAGS)
+    separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS NATIVE_COMMAND "${MPI_${LANG}_COMPILER_FLAGS}")
+  else()
+    separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS NATIVE_COMMAND "${MPI_COMPILER_FLAGS}")
+  endif()
+  execute_process(
+    COMMAND ${MPI_${LANG}_COMPILER} ${_MPI_COMPILER_WRAPPER_OPTIONS} ${QUERY_FLAG}
+    OUTPUT_VARIABLE  WRAPPER_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_VARIABLE   WRAPPER_OUTPUT ERROR_STRIP_TRAILING_WHITESPACE
+    RESULT_VARIABLE  WRAPPER_RETURN)
+  # Some compiler wrappers will yield spurious zero return values, for example
+  # Intel MPI tolerates unknown arguments and if the MPI wrappers loads a shared
+  # library that has invalid or missing version information there would be warning
+  # messages emitted by ld.so in the compiler output. In either case, we'll treat
+  # the output as invalid.
+  if("${WRAPPER_OUTPUT}" MATCHES "undefined reference|unrecognized|need to set|no version information available")
+    set(WRAPPER_RETURN 255)
+  endif()
+  # Ensure that no error output might be passed upwards.
+  if(NOT WRAPPER_RETURN EQUAL 0)
+    unset(WRAPPER_OUTPUT)
+  endif()
+  set(${OUTPUT_VARIABLE} "${WRAPPER_OUTPUT}" PARENT_SCOPE)
+  set(${RESULT_VARIABLE} "${WRAPPER_RETURN}" PARENT_SCOPE)
+endfunction()
+
+function (_MPI_interrogate_compiler lang)
+  unset(MPI_COMPILE_CMDLINE)
+  unset(MPI_LINK_CMDLINE)
+
+  unset(MPI_COMPILE_OPTIONS_WORK)
+  unset(MPI_COMPILE_DEFINITIONS_WORK)
+  unset(MPI_INCLUDE_DIRS_WORK)
+  unset(MPI_LINK_FLAGS_WORK)
+  unset(MPI_LIB_NAMES_WORK)
+  unset(MPI_LIB_FULLPATHS_WORK)
+
+  # Check whether the -showme:compile option works. This indicates that we have either Open MPI
+  # or a newer version of LAM/MPI, and implies that -showme:link will also work.
+  # Open MPI also supports -show, but separates linker and compiler information
+  _MPI_check_compiler(${LANG} "-showme:compile" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+  if (MPI_COMPILER_RETURN EQUAL 0)
+    _MPI_check_compiler(${LANG} "-showme:link" MPI_LINK_CMDLINE MPI_COMPILER_RETURN)
+
+    if (NOT MPI_COMPILER_RETURN EQUAL 0)
+      unset(MPI_COMPILE_CMDLINE)
+    endif()
+  endif()
+
+  # MPICH and MVAPICH offer -compile-info and -link-info.
+  # For modern versions, both do the same as -show. However, for old versions, they do differ
+  # when called for mpicxx and mpif90 and it's necessary to use them over -show in order to find the
+  # removed MPI C++ bindings.
+  if (NOT MPI_COMPILER_RETURN EQUAL 0)
+    _MPI_check_compiler(${LANG} "-compile-info" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+
+    if (MPI_COMPILER_RETURN EQUAL 0)
+      _MPI_check_compiler(${LANG} "-link-info" MPI_LINK_CMDLINE MPI_COMPILER_RETURN)
+
+      if (NOT MPI_COMPILER_RETURN EQUAL 0)
+        unset(MPI_COMPILE_CMDLINE)
+      endif()
+    endif()
+  endif()
+
+  # MPICH, MVAPICH2 and Intel MPI just use "-show". Open MPI also offers this, but the
+  # -showme commands are more specialized.
+  if (NOT MPI_COMPILER_RETURN EQUAL 0)
+    _MPI_check_compiler(${LANG} "-show" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+  endif()
+
+  # Older versions of LAM/MPI have "-showme". Open MPI also supports this.
+  # Unknown to MPICH, MVAPICH and Intel MPI.
+  if (NOT MPI_COMPILER_RETURN EQUAL 0)
+    _MPI_check_compiler(${LANG} "-showme" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+  endif()
+
+  if (NOT (MPI_COMPILER_RETURN EQUAL 0) OR NOT (DEFINED MPI_COMPILE_CMDLINE))
+    # Cannot interrogate this compiler, so exit.
+    set(MPI_${LANG}_WRAPPER_FOUND FALSE PARENT_SCOPE)
+    return()
+  endif()
+  unset(MPI_COMPILER_RETURN)
+
+  # We have our command lines, but we might need to copy MPI_COMPILE_CMDLINE
+  # into MPI_LINK_CMDLINE, if we didn't find the link line.
+  if (NOT DEFINED MPI_LINK_CMDLINE)
+    set(MPI_LINK_CMDLINE "${MPI_COMPILE_CMDLINE}")
+  endif()
+
+  # At this point, we obtained some output from a compiler wrapper that works.
+  # We'll now try to parse it into variables with meaning to us.
+  if("${LANG}" STREQUAL "Fortran")
+    # Some MPICH-1 and MVAPICH-1 versions return a three command answer for Fortran, consisting
+    # out of a symlink command for mpif.h, the actual compiler command and a deletion of the
+    # created symlink. We need to detect that case, remember the include path and drop the
+    # symlink/deletion operation to obtain the link/compile lines we'd usually expect.
+    if("${MPI_COMPILE_CMDLINE}" MATCHES "^ln -s ([^\" ]+|\"[^\"]+\") mpif.h")
+      get_filename_component(MPI_INCLUDE_DIRS_WORK "${CMAKE_MATCH_1}" DIRECTORY)
+      string(REGEX REPLACE "^ln -s ([^\" ]+|\"[^\"]+\") mpif.h\n" "" MPI_COMPILE_CMDLINE "${MPI_COMPILE_CMDLINE}")
+      string(REGEX REPLACE "^ln -s ([^\" ]+|\"[^\"]+\") mpif.h\n" "" MPI_LINK_CMDLINE "${MPI_LINK_CMDLINE}")
+      string(REGEX REPLACE "\nrm -f mpif.h$" "" MPI_COMPILE_CMDLINE "${MPI_COMPILE_CMDLINE}")
+      string(REGEX REPLACE "\nrm -f mpif.h$" "" MPI_LINK_CMDLINE "${MPI_LINK_CMDLINE}")
+    endif()
+  endif()
+
+  # The Intel MPI wrapper on Linux will emit some objcopy commands after its compile command
+  # if -static_mpi was passed to the wrapper. To avoid spurious matches, we need to drop these lines.
+  if(UNIX)
+    string(REGEX REPLACE "(^|\n)objcopy[^\n]+(\n|$)" "" MPI_COMPILE_CMDLINE "${MPI_COMPILE_CMDLINE}")
+    string(REGEX REPLACE "(^|\n)objcopy[^\n]+(\n|$)" "" MPI_LINK_CMDLINE "${MPI_LINK_CMDLINE}")
+  endif()
+
+  # Extract compile options from the compile command line.
+  string(REGEX MATCHALL "(^| )-f([^\" ]+|\"[^\"]+\")" MPI_ALL_COMPILE_OPTIONS "${MPI_COMPILE_CMDLINE}")
+
+  foreach(_MPI_COMPILE_OPTION IN LISTS MPI_ALL_COMPILE_OPTIONS)
+    string(REGEX REPLACE "^ " "" _MPI_COMPILE_OPTION "${_MPI_COMPILE_OPTION}")
+    # Ignore -fstack-protector directives: These occur on MPICH and MVAPICH when the libraries
+    # themselves were built with this flag. However, this flag is unrelated to using MPI, and
+    # we won't match the accompanying --param-ssp-size and -Wp,-D_FORTIFY_SOURCE flags and therefore
+    # produce inconsistent results with the regularly flags.
+    # Similarly, aliasing flags do not belong into our flag array.
+    if(NOT "${_MPI_COMPILE_OPTION}" MATCHES "^-f(stack-protector|(no-|)strict-aliasing|PI[CE]|pi[ce])")
+      list(APPEND MPI_COMPILE_OPTIONS_WORK "${_MPI_COMPILE_OPTION}")
+    endif()
+  endforeach()
+
+  # Same deal, with the definitions. We also treat arguments passed to the preprocessor directly.
+  string(REGEX MATCHALL "(^| )(-Wp,|-Xpreprocessor |)[-/]D([^\" ]+|\"[^\"]+\")" MPI_ALL_COMPILE_DEFINITIONS "${MPI_COMPILE_CMDLINE}")
+
+  foreach(_MPI_COMPILE_DEFINITION IN LISTS MPI_ALL_COMPILE_DEFINITIONS)
+    string(REGEX REPLACE "^ ?(-Wp,|-Xpreprocessor )?[-/]D" "" _MPI_COMPILE_DEFINITION "${_MPI_COMPILE_DEFINITION}")
+    string(REPLACE "\"" "" _MPI_COMPILE_DEFINITION "${_MPI_COMPILE_DEFINITION}")
+    if(NOT "${_MPI_COMPILE_DEFINITION}" MATCHES "^_FORTIFY_SOURCE.*")
+      list(APPEND MPI_COMPILE_DEFINITIONS_WORK "${_MPI_COMPILE_DEFINITION}")
+    endif()
+  endforeach()
+
+  # Extract include paths from compile command line
+  string(REGEX MATCHALL "(^| )[-/]I([^\" ]+|\"[^\"]+\")" MPI_ALL_INCLUDE_PATHS "${MPI_COMPILE_CMDLINE}")
+
+  # If extracting failed to work, we'll try using -showme:incdirs.
+  if (NOT MPI_ALL_INCLUDE_PATHS)
+    _MPI_check_compiler(${LANG} "-showme:incdirs" MPI_INCDIRS_CMDLINE MPI_INCDIRS_COMPILER_RETURN)
+    if(MPI_INCDIRS_COMPILER_RETURN)
+      separate_arguments(MPI_ALL_INCLUDE_PATHS NATIVE_COMMAND "${MPI_INCDIRS_CMDLINE}")
+    endif()
+  endif()
+
+  foreach(_MPI_INCLUDE_PATH IN LISTS MPI_ALL_INCLUDE_PATHS)
+    string(REGEX REPLACE "^ ?[-/]I" "" _MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}")
+    string(REPLACE "\"" "" _MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}")
+    get_filename_component(_MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}" REALPATH)
+    list(APPEND MPI_INCLUDE_DIRS_WORK "${_MPI_INCLUDE_PATH}")
+  endforeach()
+
+  # Extract linker paths from the link command line
+  string(REGEX MATCHALL "(^| )(-Wl,|-Xlinker |)(-L|[/-]LIBPATH:|[/-]libpath:)([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
+
+  # If extracting failed to work, we'll try using -showme:libdirs.
+  if (NOT MPI_ALL_LINK_PATHS)
+    _MPI_check_compiler(${LANG} "-showme:libdirs" MPI_LIBDIRS_CMDLINE MPI_LIBDIRS_COMPILER_RETURN)
+    if(MPI_LIBDIRS_COMPILER_RETURN)
+      separate_arguments(MPI_ALL_LINK_PATHS NATIVE_COMMAND "${MPI_LIBDIRS_CMDLINE}")
+    endif()
+  endif()
+
+  foreach(_MPI_LPATH IN LISTS MPI_ALL_LINK_PATHS)
+    string(REGEX REPLACE "^ ?(-Wl,|-Xlinker )?(-L|[/-]LIBPATH:|[/-]libpath:)" "" _MPI_LPATH "${_MPI_LPATH}")
+    string(REPLACE "\"" "" _MPI_LPATH "${_MPI_LPATH}")
+    get_filename_component(_MPI_LPATH "${_MPI_LPATH}" REALPATH)
+    list(APPEND MPI_LINK_DIRECTORIES_WORK "${_MPI_LPATH}")
+  endforeach()
+
+  # Extract linker flags from the link command line
+  string(REGEX MATCHALL "(^| )(-Wl,|-Xlinker )([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_FLAGS "${MPI_LINK_CMDLINE}")
+
+  foreach(_MPI_LINK_FLAG IN LISTS MPI_ALL_LINK_FLAGS)
+    string(STRIP "${_MPI_LINK_FLAG}" _MPI_LINK_FLAG)
+    # MPI might be marked to build with non-executable stacks but this should not propagate.
+    if (NOT "${_MPI_LINK_FLAG}" MATCHES "(-Wl,|-Xlinker )-z,noexecstack")
+      if (MPI_LINK_FLAGS_WORK)
+        string(APPEND MPI_LINK_FLAGS_WORK " ${_MPI_LINK_FLAG}")
+      else()
+        set(MPI_LINK_FLAGS_WORK "${_MPI_LINK_FLAG}")
+      endif()
+    endif()
+  endforeach()
+
+  # Extract the set of libraries to link against from the link command
+  # line
+  string(REGEX MATCHALL "(^| )-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
+
+  foreach(_MPI_LIB_NAME IN LISTS MPI_LIBNAMES)
+    string(REGEX REPLACE "^ ?-l" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
+    string(REPLACE "\"" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
+    get_filename_component(_MPI_LIB_PATH "${_MPI_LIB_NAME}" DIRECTORY)
+    if(NOT "${_MPI_LIB_PATH}" STREQUAL "")
+      list(APPEND MPI_LIB_FULLPATHS_WORK "${_MPI_LIB_NAME}")
+    else()
+      list(APPEND MPI_LIB_NAMES_WORK "${_MPI_LIB_NAME}")
+    endif()
+  endforeach()
+
+  if(WIN32)
+    # A compiler wrapper on Windows will just have the name of the
+    # library to link on its link line, potentially with a full path
+    string(REGEX MATCHALL "(^| )([^\" ]+\\.lib|\"[^\"]+\\.lib\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
+    foreach(_MPI_LIB_NAME IN LISTS MPI_LIBNAMES)
+      string(REGEX REPLACE "^ " "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
+      string(REPLACE "\"" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
+      get_filename_component(_MPI_LIB_PATH "${_MPI_LIB_NAME}" DIRECTORY)
+      if(NOT "${_MPI_LIB_PATH}" STREQUAL "")
+        list(APPEND MPI_LIB_FULLPATHS_WORK "${_MPI_LIB_NAME}")
+      else()
+        list(APPEND MPI_LIB_NAMES_WORK "${_MPI_LIB_NAME}")
+      endif()
+    endforeach()
+  else()
+    # On UNIX platforms, archive libraries can be given with full path.
+    string(REGEX MATCHALL "(^| )([^\" ]+\\.a|\"[^\"]+\\.a\")" MPI_LIBFULLPATHS "${MPI_LINK_CMDLINE}")
+    foreach(_MPI_LIB_NAME IN LISTS MPI_LIBFULLPATHS)
+      string(REGEX REPLACE "^ " "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
+      string(REPLACE "\"" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
+      get_filename_component(_MPI_LIB_PATH "${_MPI_LIB_NAME}" DIRECTORY)
+      if(NOT "${_MPI_LIB_PATH}" STREQUAL "")
+        list(APPEND MPI_LIB_FULLPATHS_WORK "${_MPI_LIB_NAME}")
+      else()
+        list(APPEND MPI_LIB_NAMES_WORK "${_MPI_LIB_NAME}")
+      endif()
+    endforeach()
+  endif()
+
+  # An MPI compiler wrapper could have its MPI libraries in the implictly
+  # linked directories of the compiler itself.
+  if(DEFINED CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES)
+    list(APPEND MPI_LINK_DIRECTORIES_WORK "${CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES}")
+  endif()
+
+  # Determine full path names for all of the libraries that one needs
+  # to link against in an MPI program
+  unset(MPI_PLAIN_LIB_NAMES_WORK)
+  foreach(_MPI_LIB_NAME IN LISTS MPI_LIB_NAMES_WORK)
+    get_filename_component(_MPI_PLAIN_LIB_NAME "${_MPI_LIB_NAME}" NAME_WE)
+    list(APPEND MPI_PLAIN_LIB_NAMES_WORK "${_MPI_PLAIN_LIB_NAME}")
+    find_library(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY
+      NAMES "${_MPI_LIB_NAME}" "lib${_MPI_LIB_NAME}"
+      HINTS ${MPI_LINK_DIRECTORIES_WORK}
+      DOC "Location of the ${_MPI_PLAIN_LIB_NAME} library for MPI"
+    )
+    mark_as_advanced(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY)
+  endforeach()
+
+  # Deal with the libraries given with full path next
+  unset(MPI_DIRECT_LIB_NAMES_WORK)
+  foreach(_MPI_LIB_FULLPATH IN LISTS MPI_LIB_FULLPATHS_WORK)
+    get_filename_component(_MPI_PLAIN_LIB_NAME "${_MPI_LIB_FULLPATH}" NAME_WE)
+    get_filename_component(_MPI_LIB_NAME "${_MPI_LIB_FULLPATH}" NAME)
+    get_filename_component(_MPI_LIB_PATH "${_MPI_LIB_FULLPATH}" DIRECTORY)
+    list(APPEND MPI_DIRECT_LIB_NAMES_WORK "${_MPI_PLAIN_LIB_NAME}")
+    find_library(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY
+      NAMES "${_MPI_LIB_NAME}"
+      HINTS ${_MPI_LIB_PATH}
+      DOC "Location of the ${_MPI_PLAIN_LIB_NAME} library for MPI"
+    )
+    mark_as_advanced(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY)
+  endforeach()
+  if(MPI_DIRECT_LIB_NAMES_WORK)
+    set(MPI_PLAIN_LIB_NAMES_WORK "${MPI_DIRECT_LIB_NAMES_WORK};${MPI_PLAIN_LIB_NAMES_WORK}")
+  endif()
+
+  # MPI might require pthread to work. The above mechanism wouldn't detect it, but we need to
+  # link it in that case. -lpthread is covered by the normal library treatment on the other hand.
+  if("${MPI_COMPILE_CMDLINE}" MATCHES "-pthread")
+    list(APPEND MPI_COMPILE_OPTIONS_WORK "-pthread")
+    if(MPI_LINK_FLAGS_WORK)
+      string(APPEND MPI_LINK_FLAGS_WORK " -pthread")
+    else()
+      set(MPI_LINK_FLAGS_WORK "-pthread")
+    endif()
+  endif()
+
+  if(MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS)
+    list(APPEND MPI_COMPILE_DEFINITIONS_WORK "${MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS}")
+  endif()
+  if(MPI_${LANG}_EXTRA_COMPILE_OPTIONS)
+    list(APPEND MPI_COMPILE_OPTIONS_WORK "${MPI_${LANG}_EXTRA_COMPILE_OPTIONS}")
+  endif()
+  if(MPI_${LANG}_EXTRA_LIB_NAMES)
+    list(APPEND MPI_PLAIN_LIB_NAMES_WORK "${MPI_${LANG}_EXTRA_LIB_NAMES}")
+  endif()
+
+  # If we found MPI, set up all of the appropriate cache entries
+  if(NOT MPI_${LANG}_COMPILE_OPTIONS)
+    set(MPI_${LANG}_COMPILE_OPTIONS          ${MPI_COMPILE_OPTIONS_WORK}     CACHE STRING "MPI ${LANG} compilation options"            FORCE)
+  endif()
+  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)
+  endif()
+  if(NOT MPI_${LANG}_LINK_FLAGS)
+    set(MPI_${LANG}_LINK_FLAGS               ${MPI_LINK_FLAGS_WORK}          CACHE STRING "MPI ${LANG} linker flags"                   FORCE)
+  endif()
+  if(NOT MPI_${LANG}_LIB_NAMES)
+    set(MPI_${LANG}_LIB_NAMES                ${MPI_PLAIN_LIB_NAMES_WORK}     CACHE STRING "MPI ${LANG} libraries to link against"      FORCE)
+  endif()
+  set(MPI_${LANG}_WRAPPER_FOUND TRUE PARENT_SCOPE)
+endfunction()
+
+function(_MPI_guess_settings LANG)
+  set(MPI_GUESS_FOUND FALSE)
+  # Currently only MSMPI and MPICH2 on Windows are supported, so we can skip this search if we're not targeting that.
+  if(WIN32)
+    # MSMPI
+
+    # The environment variables MSMPI_INC and MSMPILIB32/64 are the only ways of locating the MSMPI_SDK,
+    # which is installed separately from the runtime. Thus it's possible to have mpiexec but not MPI headers
+    # or import libraries and vice versa.
+    if(NOT MPI_GUESS_LIBRARY_NAME OR "${MPI_GUESS_LIBRARY_NAME}" STREQUAL "MSMPI")
+      # We first attempt to locate the msmpi.lib. Should be find it, we'll assume that the MPI present is indeed
+      # Microsoft MPI.
+      if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
+        set(MPI_MSMPI_LIB_PATH "$ENV{MSMPI_LIB64}")
+        set(MPI_MSMPI_INC_PATH_EXTRA "$ENV{MSMPI_INC}/x64")
+      else()
+        set(MPI_MSMPI_LIB_PATH "$ENV{MSMPI_LIB32}")
+        set(MPI_MSMPI_INC_PATH_EXTRA "$ENV{MSMPI_INC}/x86")
+      endif()
+
+      find_library(MPI_msmpi_LIBRARY
+        NAMES msmpi
+        HINTS ${MPI_MSMPI_LIB_PATH}
+        DOC "Location of the msmpi library for Microsoft MPI")
+      mark_as_advanced(MPI_msmpi_LIBRARY)
+
+      if(MPI_msmpi_LIBRARY)
+        # Next, we attempt to locate the MPI header. Note that for Fortran we know that mpif.h is a way
+        # MSMPI can be used and therefore that header has to be present.
+        if(NOT MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
+          get_filename_component(MPI_MSMPI_INC_DIR "$ENV{MSMPI_INC}" REALPATH)
+          set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_MSMPI_INC_DIR}" CACHE STRING "MPI ${LANG} additional include directories" FORCE)
+          unset(MPI_MSMPI_INC_DIR)
+        endif()
+
+        # For MSMPI, one can compile the MPI module by building the mpi.f90 shipped with the MSMPI SDK,
+        # thus it might be present or provided by the user. Figuring out which is supported is done later on.
+        # The PGI Fortran compiler for instance ships a prebuilt set of modules in its own include folder.
+        # Should a user be employing PGI or have built its own set and provided it via cache variables, the
+        # splitting routine would have located the module files.
+
+        # For C and C++, we're done here (MSMPI does not ship the MPI-2 C++ bindings) - however, for Fortran
+        # we need some extra library to glue Fortran support together:
+        # MSMPI ships 2-4 Fortran libraries, each for different Fortran compiler behaviors. The library names
+        # ending with a c are using the cdecl calling convention, whereas those ending with an s are for Fortran
+        # implementations using stdcall. Therefore, the 64-bit MSMPI only ships those ending in 'c', whereas the 32-bit
+        # has both variants available.
+        # The second difference is the last but one letter, if it's an e(nd), the length of a string argument is
+        # passed by the Fortran compiler after all other arguments on the parameter list, if it's an m(ixed),
+        # it's passed immediately after the string address.
+
+        # To summarize:
+        #   - msmpifec: CHARACTER length passed after the parameter list and using cdecl calling convention
+        #   - msmpifmc: CHARACTER length passed directly after string address and using cdecl calling convention
+        #   - msmpifes: CHARACTER length passed after the parameter list and using stdcall calling convention
+        #   - msmpifms: CHARACTER length passed directly after string address and using stdcall calling convention
+        # 32-bit MSMPI ships all four libraries, 64-bit MSMPI ships only the first two.
+
+        # As is, Intel Fortran and PGI Fortran both use the 'ec' variant of the calling convention, whereas
+        # the old Compaq Visual Fortran compiler defaulted to the 'ms' version. It's possible to make Intel Fortran
+        # use the CVF calling convention using /iface:cvf, but we assume - and this is also assumed in FortranCInterface -
+        # this isn't the case. It's also possible to make CVF use the 'ec' variant, using /iface=(cref,nomixed_str_len_arg).
+
+        # Our strategy is now to locate all libraries, but enter msmpifec into the LIB_NAMES array.
+        # Should this not be adequate it's a straightforward way for a user to change the LIB_NAMES array and
+        # have his library found. Still, this should not be necessary outside of exceptional cases, as reasoned.
+        if ("${LANG}" STREQUAL "Fortran")
+          set(MPI_MSMPI_CALLINGCONVS c)
+          if("${CMAKE_SIZEOF_VOID_P}" EQUAL 4)
+            list(APPEND MPI_MSMPI_CALLINGCONVS s)
+          endif()
+          foreach(mpistrlenpos IN ITEMS e m)
+            foreach(mpicallingconv IN LISTS MPI_MSMPI_CALLINGCONVS)
+              find_library(MPI_msmpif${mpistrlenpos}${mpicallingconv}_LIBRARY
+                NAMES msmpif${mpistrlenpos}${mpicallingconv}
+                HINTS "${MPI_MSMPI_LIB_PATH}"
+                DOC "Location of the msmpi${mpistrlenpos}${mpicallingconv} library for Microsoft MPI")
+              mark_as_advanced(MPI_msmpif${mpistrlenpos}${mpicallingconv}_LIBRARY)
+            endforeach()
+          endforeach()
+          if(NOT MPI_${LANG}_LIB_NAMES)
+            set(MPI_${LANG}_LIB_NAMES "msmpi;msmpifec" CACHE STRING "MPI ${LANG} libraries to link against" FORCE)
+          endif()
+
+          # At this point we're *not* done. MSMPI requires an additional include file for Fortran giving the value
+          # of MPI_AINT. This file is called mpifptr.h located in the x64 and x86 subfolders, respectively.
+          find_path(MPI_mpifptr_INCLUDE_DIR
+            NAMES "mpifptr.h"
+            HINTS "${MPI_MSMPI_INC_PATH_EXTRA}"
+            DOC "Location of the mpifptr.h extra header for Microsoft MPI")
+          if(NOT MPI_${LANG}_ADDITIONAL_INCLUDE_VARS)
+            set(MPI_${LANG}_ADDITIONAL_INCLUDE_VARS "mpifptr" CACHE STRING "MPI ${LANG} additional include directory variables, given in the form MPI_<name>_INCLUDE_DIR." FORCE)
+          endif()
+          mark_as_advanced(MPI_${LANG}_ADDITIONAL_INCLUDE_VARS MPI_mpifptr_INCLUDE_DIR)
+        else()
+          if(NOT MPI_${LANG}_LIB_NAMES)
+            set(MPI_${LANG}_LIB_NAMES "msmpi" CACHE STRING "MPI ${LANG} libraries to link against" FORCE)
+          endif()
+        endif()
+        mark_as_advanced(MPI_${LANG}_LIB_NAMES)
+        set(MPI_GUESS_FOUND TRUE)
+      endif()
+    endif()
+
+    # At this point there's not many MPIs that we could still consider.
+    # OpenMPI 1.6.x and below supported Windows, but these ship compiler wrappers that still work.
+    # The only other relevant MPI implementation without a wrapper is MPICH2, which had Windows support in 1.4.1p1 and older.
+    if(NOT MPI_GUESS_LIBRARY_NAME OR "${MPI_GUESS_LIBRARY_NAME}" STREQUAL "MPICH2")
+      set(MPI_MPICH_PREFIX_PATHS
+        "$ENV{ProgramW6432}/MPICH2/lib"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MPICH\\SMPD;binary]/../lib"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MPICH2;Path]/lib"
+      )
+
+      # All of C, C++ and Fortran will need mpi.lib, so we'll look for this first
+      find_library(MPI_mpi_LIBRARY
+        NAMES mpi
+        HINTS ${MPI_MPICH_PREFIX_PATHS})
+      mark_as_advanced(MPI_mpi_LIBRARY)
+      # If we found mpi.lib, we detect the rest of MPICH2
+      if(MPI_mpi_LIBRARY)
+        set(MPI_MPICH_LIB_NAMES "mpi")
+        # If MPI-2 C++ bindings are requested, we need to locate cxx.lib as well.
+        # Otherwise, MPICH_SKIP_MPICXX will be defined and these bindings aren't needed.
+        if("${LANG}" STREQUAL "CXX" AND NOT MPI_CXX_SKIP_MPICXX)
+          find_library(MPI_cxx_LIBRARY
+            NAMES cxx
+            HINTS ${MPI_MPICH_PREFIX_PATHS})
+          mark_as_advanced(MPI_cxx_LIBRARY)
+          list(APPEND MPI_MPICH_LIB_NAMES "cxx")
+        # For Fortran, MPICH2 provides three different libraries:
+        #   fmpich2.lib which uses uppercase symbols and cdecl,
+        #   fmpich2s.lib which uses uppercase symbols and stdcall (32-bit only),
+        #   fmpich2g.lib which uses lowercase symbols with double underscores and cdecl.
+        # fmpich2s.lib would be useful for Compaq Visual Fortran, fmpich2g.lib has to be used with GNU g77 and is also
+        # provided in the form of an .a archive for MinGW and Cygwin. From our perspective, fmpich2.lib is the only one
+        # we need to try, and if it doesn't work with the given Fortran compiler we'd find out later on during validation
+        elseif("${LANG}" STREQUAL "Fortran")
+          find_library(MPI_fmpich2_LIBRARY
+            NAMES fmpich2
+            HINTS ${MPI_MPICH_PREFIX_PATHS})
+          find_library(MPI_fmpich2s_LIBRARY
+            NAMES fmpich2s
+            HINTS ${MPI_MPICH_PREFIX_PATHS})
+          find_library(MPI_fmpich2g_LIBRARY
+            NAMES fmpich2g
+            HINTS ${MPI_MPICH_PREFIX_PATHS})
+          mark_as_advanced(MPI_fmpich2_LIBRARY MPI_fmpich2s_LIBRARY MPI_fmpich2g_LIBRARY)
+          list(APPEND MPI_MPICH_LIB_NAMES "fmpich2")
+        endif()
+
+        if(NOT MPI_${LANG}_LIB_NAMES)
+          set(MPI_${LANG}_LIB_NAMES "${MPI_MPICH_LIB_NAMES}" CACHE STRING "MPI ${LANG} libraries to link against" FORCE)
+        endif()
+        unset(MPI_MPICH_LIB_NAMES)
+
+        if(NOT MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
+          # For MPICH2, the include folder would be in ../include relative to the library folder.
+          get_filename_component(MPI_MPICH_ROOT_DIR "${MPI_mpi_LIBRARY}" DIRECTORY)
+          get_filename_component(MPI_MPICH_ROOT_DIR "${MPI_MPICH_ROOT_DIR}" DIRECTORY)
+          if(IS_DIRECTORY "${MPI_MPICH_ROOT_DIR}/include")
+            set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_MPICH_ROOT_DIR}/include" CACHE STRING "MPI ${LANG} additional include directory variables, given in the form MPI_<name>_INCLUDE_DIR." FORCE)
+          endif()
+          unset(MPI_MPICH_ROOT_DIR)
+        endif()
+        set(MPI_GUESS_FOUND TRUE)
+      endif()
+      unset(MPI_MPICH_PREFIX_PATHS)
+    endif()
+  endif()
+  set(MPI_${LANG}_GUESS_FOUND "${MPI_GUESS_FOUND}" PARENT_SCOPE)
+endfunction()
+
+function(_MPI_adjust_compile_definitions LANG)
+  if("${LANG}" STREQUAL "CXX")
+    # To disable the C++ bindings, we need to pass some definitions since the mpi.h header has to deal with both C and C++
+    # bindings in MPI-2.
+    if(MPI_CXX_SKIP_MPICXX AND NOT MPI_${LANG}_COMPILE_DEFINITIONS MATCHES "SKIP_MPICXX")
+      # MPICH_SKIP_MPICXX is being used in MPICH and derivatives like MVAPICH or Intel MPI
+      # OMPI_SKIP_MPICXX is being used in Open MPI
+      # _MPICC_H is being used for IBM Platform MPI
+      list(APPEND MPI_${LANG}_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX" "OMPI_SKIP_MPICXX" "_MPICC_H")
+      set(MPI_${LANG}_COMPILE_DEFINITIONS "${MPI_${LANG}_COMPILE_DEFINITIONS}" CACHE STRING "MPI ${LANG} compilation definitions" FORCE)
+    endif()
+  endif()
+endfunction()
+
+macro(_MPI_assemble_libraries LANG)
+  set(MPI_${LANG}_LIBRARIES "")
+  # Only for libraries do we need to check whether the compiler's linking stage is separate.
+  if(NOT "${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}" OR NOT MPI_${LANG}_WORKS_IMPLICIT)
+    foreach(mpilib IN LISTS MPI_${LANG}_LIB_NAMES)
+      list(APPEND MPI_${LANG}_LIBRARIES ${MPI_${mpilib}_LIBRARY})
+    endforeach()
+  endif()
+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()
+    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()
+    endif()
+  endif()
+endmacro()
+
+function(_MPI_split_include_dirs LANG)
+  if("${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
+    return()
+  endif()
+  # Backwards compatibility: Search INCLUDE_PATH if given.
+  if(MPI_${LANG}_INCLUDE_PATH)
+    list(APPEND MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_${LANG}_INCLUDE_PATH}")
+  endif()
+
+  # We try to find the headers/modules among those paths (and system paths)
+  # 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}
+    )
+    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}
+    )
+    find_path(MPI_${LANG}_MODULE_DIR
+      NAMES "mpi.mod" "mpi_f08.mod"
+      HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+    )
+    if(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
+      list(REMOVE_ITEM MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS
+        "${MPI_${LANG}_F77_HEADER_DIR}"
+        "${MPI_${LANG}_MODULE_DIR}"
+      )
+    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)
+    foreach(MPI_IMPLICIT_INC_DIR IN LISTS CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES)
+      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()
+
+macro(_MPI_create_imported_target LANG)
+  if(NOT TARGET MPI::MPI_${LANG})
+    add_library(MPI::MPI_${LANG} INTERFACE IMPORTED)
+  endif()
+
+  set_property(TARGET MPI::MPI_${LANG} PROPERTY INTERFACE_COMPILE_OPTIONS "${MPI_${LANG}_COMPILE_OPTIONS}")
+  set_property(TARGET MPI::MPI_${LANG} PROPERTY INTERFACE_COMPILE_DEFINITIONS "${MPI_${LANG}_COMPILE_DEFINITIONS}")
+
+  set_property(TARGET MPI::MPI_${LANG} PROPERTY INTERFACE_LINK_LIBRARIES "")
+  if(MPI_${LANG}_LINK_FLAGS)
+    set_property(TARGET MPI::MPI_${LANG} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${MPI_${LANG}_LINK_FLAGS}")
+  endif()
+  # If the compiler links MPI implicitly, no libraries will be found as they're contained within
+  # CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES already.
+  if(MPI_${LANG}_LIBRARIES)
+    set_property(TARGET MPI::MPI_${LANG} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${MPI_${LANG}_LIBRARIES}")
+  endif()
+  # Given the new design of FindMPI, INCLUDE_DIRS will always be located, even under implicit linking.
+  set_property(TARGET MPI::MPI_${LANG} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${MPI_${LANG}_INCLUDE_DIRS}")
+endmacro()
+
+function(_MPI_try_staged_settings LANG MPI_TEST_FILE_NAME MODE RUN_BINARY)
+  set(WORK_DIR "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindMPI")
+  set(SRC_DIR "${CMAKE_ROOT}/Modules/FindMPI")
+  set(BIN_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindMPI/${MPI_TEST_FILE_NAME}_${LANG}.bin")
+  unset(MPI_TEST_COMPILE_DEFINITIONS)
+  if("${LANG}" STREQUAL "Fortran")
+    if("${MODE}" STREQUAL "F90_MODULE")
+      set(MPI_Fortran_INCLUDE_LINE "use mpi\n      implicit none")
+    elseif("${MODE}" STREQUAL "F08_MODULE")
+      set(MPI_Fortran_INCLUDE_LINE "use mpi_f08\n      implicit none")
+    else() # F77 header
+      set(MPI_Fortran_INCLUDE_LINE "implicit none\n      include 'mpif.h'")
+    endif()
+    configure_file("${SRC_DIR}/${MPI_TEST_FILE_NAME}.f90.in" "${WORK_DIR}/${MPI_TEST_FILE_NAME}.f90" @ONLY)
+    set(MPI_TEST_SOURCE_FILE "${WORK_DIR}/${MPI_TEST_FILE_NAME}.f90")
+  elseif("${LANG}" STREQUAL "CXX")
+    configure_file("${SRC_DIR}/${MPI_TEST_FILE_NAME}.c" "${WORK_DIR}/${MPI_TEST_FILE_NAME}.cpp" COPYONLY)
+    set(MPI_TEST_SOURCE_FILE "${WORK_DIR}/${MPI_TEST_FILE_NAME}.cpp")
+    if("${MODE}" STREQUAL "TEST_MPICXX")
+      set(MPI_TEST_COMPILE_DEFINITIONS TEST_MPI_MPICXX)
+    endif()
+  else() # C
+    set(MPI_TEST_SOURCE_FILE "${SRC_DIR}/${MPI_TEST_FILE_NAME}.c")
+  endif()
+  if(RUN_BINARY)
+    try_run(MPI_RUN_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE} MPI_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
+     "${CMAKE_BINARY_DIR}" SOURCES "${MPI_TEST_SOURCE_FILE}"
+      COMPILE_DEFINITIONS ${MPI_TEST_COMPILE_DEFINITIONS}
+      LINK_LIBRARIES MPI::MPI_${LANG}
+      RUN_OUTPUT_VARIABLE MPI_RUN_OUTPUT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE})
+    set(MPI_RUN_OUTPUT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE} "${MPI_RUN_OUTPUT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}}" PARENT_SCOPE)
+  else()
+    try_compile(MPI_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
+      "${CMAKE_BINARY_DIR}" SOURCES "${MPI_TEST_SOURCE_FILE}"
+      COMPILE_DEFINITIONS ${MPI_TEST_COMPILE_DEFINITIONS}
+      LINK_LIBRARIES MPI::MPI_${LANG}
+      COPY_FILE "${BIN_FILE}")
+  endif()
+endfunction()
+
+macro(_MPI_check_lang_works LANG)
+  # For Fortran we may have by the MPI-3 standard an implementation that provides:
+  #   - the mpi_f08 module
+  #   - *both*, the mpi module and 'mpif.h'
+  # Since older MPI standards (MPI-1) did not define anything but 'mpif.h', we need to check all three individually.
+  if( NOT MPI_${LANG}_WORKS )
+    if("${LANG}" STREQUAL "Fortran")
+      set(MPI_Fortran_INTEGER_LINE "(kind=MPI_INTEGER_KIND)")
+      _MPI_try_staged_settings(${LANG} test_mpi F77_HEADER FALSE)
+      _MPI_try_staged_settings(${LANG} test_mpi F90_MODULE FALSE)
+      _MPI_try_staged_settings(${LANG} test_mpi F08_MODULE FALSE)
+
+      set(MPI_${LANG}_WORKS FALSE)
+
+      foreach(mpimethod IN ITEMS F77_HEADER F08_MODULE F90_MODULE)
+        if(MPI_RESULT_${LANG}_test_mpi_${mpimethod})
+          set(MPI_${LANG}_WORKS TRUE)
+          set(MPI_${LANG}_HAVE_${mpimethod} TRUE)
+        else()
+          set(MPI_${LANG}_HAVE_${mpimethod} FALSE)
+        endif()
+      endforeach()
+      # MPI-1 versions had no MPI_INTGER_KIND defined, so we need to try without it.
+      # However, MPI-1 also did not define the Fortran 90 and 08 modules, so we only try the F77 header.
+      unset(MPI_Fortran_INTEGER_LINE)
+      if(NOT MPI_${LANG}_WORKS)
+        _MPI_try_staged_settings(${LANG} test_mpi F77_HEADER_NOKIND FALSE)
+        if(MPI_RESULT_${LANG}_test_mpi_F77_HEADER_NOKIND)
+          set(MPI_${LANG}_WORKS TRUE)
+          set(MPI_${LANG}_HAVE_F77_HEADER TRUE)
+        endif()
+      endif()
+    else()
+      _MPI_try_staged_settings(${LANG} test_mpi normal FALSE)
+      # If 'test_mpi' built correctly, we've found valid MPI settings. There might not be MPI-2 C++ support, but there can't
+      # be MPI-2 C++ support without the C bindings being present, so checking for them is sufficient.
+      set(MPI_${LANG}_WORKS "${MPI_RESULT_${LANG}_test_mpi_normal}")
+    endif()
+  endif()
+endmacro()
+
+# Some systems install various MPI implementations in separate folders in some MPI prefix
+# This macro enumerates all such subfolders and adds them to the list of hints that will be searched.
+macro(MPI_search_mpi_prefix_folder PREFIX_FOLDER)
+  if(EXISTS "${PREFIX_FOLDER}")
+    file(GLOB _MPI_folder_children RELATIVE "${PREFIX_FOLDER}" "${PREFIX_FOLDER}/*")
+    foreach(_MPI_folder_child IN LISTS _MPI_folder_children)
+      if(IS_DIRECTORY "${PREFIX_FOLDER}/${_MPI_folder_child}")
+        list(APPEND MPI_HINT_DIRS "${PREFIX_FOLDER}/${_MPI_folder_child}")
+      endif()
+    endforeach()
+  endif()
+endmacro()
+
+set(MPI_HINT_DIRS ${MPI_HOME} $ENV{MPI_HOME} $ENV{I_MPI_ROOT})
+if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Linux")
+  # SUSE Linux Enterprise Server stores its MPI implementations under /usr/lib64/mpi/gcc/<name>
+  # We enumerate the subfolders and append each as a prefix
+  MPI_search_mpi_prefix_folder("/usr/lib64/mpi/gcc")
+elseif("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
+  # MSMPI stores its runtime in a special folder, this adds the possible locations to the hints.
+  list(APPEND MPI_HINT_DIRS $ENV{MSMPI_BIN} "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;InstallRoot]")
+elseif("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "FreeBSD")
+  # FreeBSD ships mpich under the normal system paths - but available openmpi implementations
+  # will be found in /usr/local/mpi/<name>
+  MPI_search_mpi_prefix_folder("/usr/local/mpi")
+endif()
+
+# Most MPI distributions have some form of mpiexec or mpirun which gives us something we can look for.
+# The MPI standard does not mandate the existence of either, but instead only makes requirements if a distribution
+# ships an mpiexec program (mpirun executables are not regulated by the standard).
+find_program(MPIEXEC_EXECUTABLE
+  NAMES ${_MPIEXEC_NAMES}
+  PATH_SUFFIXES bin sbin
+  HINTS ${MPI_HINT_DIRS}
+  DOC "Executable for running MPI programs.")
+
+# call get_filename_component twice to remove mpiexec and the directory it exists in (typically bin).
+# This gives us a fairly reliable base directory to search for /bin /lib and /include from.
+get_filename_component(_MPI_BASE_DIR "${MPIEXEC_EXECUTABLE}" PATH)
+get_filename_component(_MPI_BASE_DIR "${_MPI_BASE_DIR}" PATH)
+
+# According to the MPI standard, section 8.8 -n is a guaranteed, and the only guaranteed way to
+# launch an MPI process using mpiexec if such a program exists.
+set(MPIEXEC_NUMPROC_FLAG "-n"  CACHE STRING "Flag used by MPI to specify the number of processes for mpiexec; the next option will be the number of processes.")
+set(MPIEXEC_PREFLAGS     ""    CACHE STRING "These flags will be directly before the executable that is being run by mpiexec.")
+set(MPIEXEC_POSTFLAGS    ""    CACHE STRING "These flags will be placed after all flags passed to mpiexec.")
+
+# Set the number of processes to the physical processor count
+cmake_host_system_information(RESULT _MPIEXEC_NUMPROCS QUERY NUMBER_OF_PHYSICAL_CORES)
+set(MPIEXEC_MAX_NUMPROCS "${_MPIEXEC_NUMPROCS}" CACHE STRING "Maximum number of processors available to run MPI applications.")
+unset(_MPIEXEC_NUMPROCS)
+mark_as_advanced(MPIEXEC_EXECUTABLE MPIEXEC_NUMPROC_FLAG MPIEXEC_PREFLAGS MPIEXEC_POSTFLAGS MPIEXEC_MAX_NUMPROCS)
+
+#=============================================================================
+# Backward compatibility input hacks.  Propagate the FindMPI hints to C and
+# CXX if the respective new versions are not defined.  Translate the old
+# MPI_LIBRARY and MPI_EXTRA_LIBRARY to respective MPI_${LANG}_LIBRARIES.
+#
+# Once we find the new variables, we translate them back into their old
+# equivalents below.
+if(NOT MPI_IGNORE_LEGACY_VARIABLES)
+  foreach (LANG IN ITEMS C CXX)
+    # Old input variables.
+    set(_MPI_OLD_INPUT_VARS COMPILER COMPILE_FLAGS INCLUDE_PATH LINK_FLAGS)
+
+    # Set new vars based on their old equivalents, if the new versions are not already set.
+    foreach (var ${_MPI_OLD_INPUT_VARS})
+      if (NOT MPI_${LANG}_${var} AND MPI_${var})
+        set(MPI_${LANG}_${var} "${MPI_${var}}")
+      endif()
+    endforeach()
+
+    # Chop the old compile flags into options and definitions
+
+    unset(MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS)
+    unset(MPI_${LANG}_EXTRA_COMPILE_OPTIONS)
+    if(MPI_${LANG}_COMPILE_FLAGS)
+      separate_arguments(MPI_SEPARATE_FLAGS NATIVE_COMMAND "${MPI_${LANG}_COMPILE_FLAGS}")
+      foreach(_MPI_FLAG IN LISTS MPI_SEPARATE_FLAGS)
+        if("${_MPI_FLAG}" MATCHES "^ *[-/D]([^ ]+)")
+          list(APPEND MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS "${CMAKE_MATCH_1}")
+        else()
+          list(APPEND MPI_${LANG}_EXTRA_COMPILE_OPTIONS "${_MPI_FLAG}")
+        endif()
+      endforeach()
+      unset(MPI_SEPARATE_FLAGS)
+    endif()
+
+    # If a list of libraries was given, we'll split it into new-style cache variables
+    unset(MPI_${LANG}_EXTRA_LIB_NAMES)
+    if(NOT MPI_${LANG}_LIB_NAMES)
+      foreach(_MPI_LIB IN LISTS MPI_${LANG}_LIBRARIES MPI_LIBRARY MPI_EXTRA_LIBRARY)
+        if(_MPI_LIB)
+          get_filename_component(_MPI_PLAIN_LIB_NAME "${_MPI_LIB}" NAME_WE)
+          get_filename_component(_MPI_LIB_NAME "${_MPI_LIB}" NAME)
+          get_filename_component(_MPI_LIB_DIR "${_MPI_LIB}" DIRECTORY)
+          list(APPEND MPI_${LANG}_EXTRA_LIB_NAMES "${_MPI_PLAIN_LIB_NAME}")
+          find_library(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY
+            NAMES "${_MPI_LIB_NAME}" "lib${_MPI_LIB_NAME}"
+            HINTS ${_MPI_LIB_DIR} $ENV{MPI_LIB}
+            DOC "Location of the ${_MPI_PLAIN_LIB_NAME} library for MPI"
+          )
+          mark_as_advanced(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY)
+        endif()
+      endforeach()
+    endif()
+  endforeach()
+endif()
+#=============================================================================
+
+unset(MPI_VERSION)
+unset(MPI_VERSION_MAJOR)
+unset(MPI_VERSION_MINOR)
+
+unset(_MPI_MIN_VERSION)
+
+# If the user specified a library name we assume they prefer that library over a wrapper. If not, they can disable skipping manually.
+if(NOT DEFINED MPI_SKIP_COMPILER_WRAPPER AND MPI_GUESS_LIBRARY_NAME)
+  set(MPI_SKIP_COMPILER_WRAPPER TRUE)
+endif()
+
+# This loop finds the compilers and sends them off for interrogation.
+foreach(LANG IN ITEMS C CXX Fortran)
+  if(CMAKE_${LANG}_COMPILER_LOADED)
+    if(NOT MPI_FIND_COMPONENTS)
+      set(_MPI_FIND_${LANG} TRUE)
+    elseif( ${LANG} IN_LIST MPI_FIND_COMPONENTS)
+      set(_MPI_FIND_${LANG} TRUE)
+    elseif( ${LANG} STREQUAL CXX AND NOT MPI_CXX_SKIP_MPICXX AND MPICXX IN_LIST MPI_FIND_COMPONENTS )
+      set(_MPI_FIND_${LANG} TRUE)
+    else()
+      set(_MPI_FIND_${LANG} FALSE)
+    endif()
+  else()
+    set(_MPI_FIND_${LANG} FALSE)
+  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)))
+      set(MPI_${LANG}_TRIED_IMPLICIT FALSE)
+      set(MPI_${LANG}_WORKS_IMPLICIT FALSE)
+      if(NOT MPI_${LANG}_COMPILER AND NOT MPI_ASSUME_NO_BUILTIN_MPI)
+        # Should the imported targets be empty, we effectively try whether the compiler supports MPI on its own, which is the case on e.g.
+        # Cray PrgEnv.
+        _MPI_create_imported_target(${LANG})
+        _MPI_check_lang_works(${LANG})
+
+        # If the compiler can build MPI code on its own, it functions as an MPI compiler and we'll set the variable to point to it.
+        if(MPI_${LANG}_WORKS)
+          set(MPI_${LANG}_COMPILER "${CMAKE_${LANG}_COMPILER}" CACHE FILEPATH "MPI compiler for ${LANG}" FORCE)
+          set(MPI_${LANG}_WORKS_IMPLICIT TRUE)
+        endif()
+        set(MPI_${LANG}_TRIED_IMPLICIT TRUE)
+      endif()
+
+      if(NOT "${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}" OR NOT MPI_${LANG}_WORKS)
+        set(MPI_${LANG}_WRAPPER_FOUND FALSE)
+        set(MPI_PINNED_COMPILER FALSE)
+
+        if(NOT MPI_SKIP_COMPILER_WRAPPER)
+          if(MPI_${LANG}_COMPILER)
+            # If the user supplies a compiler *name* instead of an absolute path, assume that we need to find THAT compiler.
+            if (NOT IS_ABSOLUTE "${MPI_${LANG}_COMPILER}")
+              # Get rid of our default list of names and just search for the name the user wants.
+              set(_MPI_${LANG}_COMPILER_NAMES "${MPI_${LANG}_COMPILER}")
+              unset(MPI_${LANG}_COMPILER CACHE)
+            endif()
+            # If the user specifies a compiler, we don't want to try to search libraries either.
+            set(MPI_PINNED_COMPILER TRUE)
+          endif()
+
+          # If we have an MPI base directory, we'll try all compiler names in that one first.
+          # This should prevent mixing different MPI environments
+          if(_MPI_BASE_DIR)
+            find_program(MPI_${LANG}_COMPILER
+              NAMES  ${_MPI_${LANG}_COMPILER_NAMES}
+              PATH_SUFFIXES bin sbin
+              HINTS  ${_MPI_BASE_DIR}
+              NO_DEFAULT_PATH
+              DOC    "MPI compiler for ${LANG}"
+            )
+          endif()
+
+          # If the base directory did not help (for example because the mpiexec isn't in the same directory as the compilers),
+          # we shall try searching in the default paths.
+          find_program(MPI_${LANG}_COMPILER
+            NAMES  ${_MPI_${LANG}_COMPILER_NAMES}
+            PATH_SUFFIXES bin sbin
+            DOC    "MPI compiler for ${LANG}"
+          )
+
+          if("${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
+            set(MPI_PINNED_COMPILER TRUE)
+
+            # If we haven't made the implicit compiler test yet, perform it now.
+            if(NOT MPI_${LANG}_TRIED_IMPLICIT)
+              _MPI_create_imported_target(${LANG})
+              _MPI_check_lang_works(${LANG})
+            endif()
+
+            # Should the MPI compiler not work implicitly for MPI, still interrogate it.
+            # Otherwise, MPI compilers for which CMake has separate linking stages, e.g. Intel MPI on Windows where link.exe is being used
+            # directly during linkage instead of CMAKE_<LANG>_COMPILER will not work.
+            if(NOT MPI_${LANG}_WORKS)
+              set(MPI_${LANG}_WORKS_IMPLICIT FALSE)
+              _MPI_interrogate_compiler(${LANG})
+            else()
+              set(MPI_${LANG}_WORKS_IMPLICIT TRUE)
+            endif()
+          elseif(MPI_${LANG}_COMPILER)
+            _MPI_interrogate_compiler(${LANG})
+          endif()
+        endif()
+
+        if(NOT MPI_SKIP_GUESSING AND NOT MPI_${LANG}_WRAPPER_FOUND AND NOT MPI_PINNED_COMPILER)
+          # For C++, we may use the settings for C. Should a given compiler wrapper for C++ not exist, but one for C does, we copy over the
+          # settings for C. An MPI distribution that is in this situation would be IBM Platform MPI.
+          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}_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()
+            _MPI_guess_settings(${LANG})
+          endif()
+        endif()
+      endif()
+    endif()
+
+    _MPI_split_include_dirs(${LANG})
+    _MPI_assemble_include_dirs(${LANG})
+    _MPI_assemble_libraries(${LANG})
+
+    _MPI_adjust_compile_definitions(${LANG})
+    # We always create imported targets even if they're empty
+    _MPI_create_imported_target(${LANG})
+
+    if(NOT MPI_${LANG}_WORKS)
+      _MPI_check_lang_works(${LANG})
+    endif()
+
+    # 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}_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)
+
+    # 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.
+    if(MPI_${LANG}_WORKS)
+      if("${LANG}" STREQUAL "CXX" AND NOT DEFINED MPI_MPICXX_FOUND)
+        if(NOT MPI_CXX_SKIP_MPICXX AND NOT MPI_CXX_VALIDATE_SKIP_MPICXX)
+          _MPI_try_staged_settings(${LANG} test_mpi MPICXX FALSE)
+          if(MPI_RESULT_${LANG}_test_mpi_MPICXX)
+            set(MPI_MPICXX_FOUND TRUE)
+          else()
+            set(MPI_MPICXX_FOUND FALSE)
+          endif()
+        else()
+          set(MPI_MPICXX_FOUND FALSE)
+        endif()
+      endif()
+
+      # At this point, we know the bindings present but not the MPI version or anything else.
+      if(NOT DEFINED MPI_${LANG}_VERSION)
+        unset(MPI_${LANG}_VERSION_MAJOR)
+        unset(MPI_${LANG}_VERSION_MINOR)
+      endif()
+      set(MPI_BIN_FOLDER ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindMPI)
+
+      # For Fortran, we'll want to use the most modern MPI binding to test capabilities other than the
+      # Fortran parameters, since those depend on the method of consumption.
+      # For C++, we can always use the C bindings, and should do so, since the C++ bindings do not exist in MPI-3
+      # whereas the C bindings do, and the C++ bindings never offered any feature advantage over their C counterparts.
+      if("${LANG}" STREQUAL "Fortran")
+        if(MPI_${LANG}_HAVE_F08_MODULE)
+          set(MPI_${LANG}_HIGHEST_METHOD F08_MODULE)
+        elseif(MPI_${LANG}_HAVE_F90_MODULE)
+          set(MPI_${LANG}_HIGHEST_METHOD F90_MODULE)
+        else()
+          set(MPI_${LANG}_HIGHEST_METHOD F77_HEADER)
+        endif()
+
+        # Another difference between C and Fortran is that we can't use the preprocessor to determine whether MPI_VERSION
+        # and MPI_SUBVERSION are provided. These defines did not exist in MPI 1.0 and 1.1 and therefore might not
+        # exist. For C/C++, test_mpi.c will handle the MPI_VERSION extraction, but for Fortran, we need mpiver.f90.
+        if(NOT DEFINED MPI_${LANG}_VERSION)
+          _MPI_try_staged_settings(${LANG} mpiver ${MPI_${LANG}_HIGHEST_METHOD} FALSE)
+          if(MPI_RESULT_${LANG}_mpiver_${MPI_${LANG}_HIGHEST_METHOD})
+            file(STRINGS ${MPI_BIN_FOLDER}/mpiver_${LANG}.bin _MPI_VERSION_STRING LIMIT_COUNT 1 REGEX "INFO:MPI-VER")
+            if("${_MPI_VERSION_STRING}" MATCHES ".*INFO:MPI-VER\\[([0-9]+)\\.([0-9]+)\\].*")
+              set(MPI_${LANG}_VERSION_MAJOR "${CMAKE_MATCH_1}")
+              set(MPI_${LANG}_VERSION_MINOR "${CMAKE_MATCH_2}")
+              set(MPI_${LANG}_VERSION "${MPI_${LANG}_VERSION_MAJOR}.${MPI_${LANG}_VERSION_MINOR}")
+            endif()
+          endif()
+        endif()
+
+        # Finally, we want to find out which capabilities a given interface supports, compare the MPI-3 standard.
+        # This is determined by interface specific parameters MPI_SUBARRAYS_SUPPORTED and MPI_ASYNC_PROTECTS_NONBLOCKING
+        # and might vary between the different methods of consumption.
+        if(MPI_DETERMINE_Fortran_CAPABILITIES AND NOT MPI_Fortran_CAPABILITIES_DETERMINED)
+          foreach(mpimethod IN ITEMS F08_MODULE F90_MODULE F77_HEADER)
+            if(MPI_${LANG}_HAVE_${mpimethod})
+              set(MPI_${LANG}_${mpimethod}_SUBARRAYS FALSE)
+              set(MPI_${LANG}_${mpimethod}_ASYNCPROT FALSE)
+              _MPI_try_staged_settings(${LANG} fortranparam_mpi ${mpimethod} TRUE)
+              if(MPI_RESULT_${LANG}_fortranparam_mpi_${mpimethod} AND
+                NOT "${MPI_RUN_RESULT_${LANG}_fortranparam_mpi_${mpimethod}}" STREQUAL "FAILED_TO_RUN")
+                if("${MPI_RUN_OUTPUT_${LANG}_fortranparam_mpi_${mpimethod}}" MATCHES
+                  ".*INFO:SUBARRAYS\\[ *([TF]) *\\]-ASYNCPROT\\[ *([TF]) *\\].*")
+                  if("${CMAKE_MATCH_1}" STREQUAL "T")
+                    set(MPI_${LANG}_${mpimethod}_SUBARRAYS TRUE)
+                  endif()
+                  if("${CMAKE_MATCH_2}" STREQUAL "T")
+                    set(MPI_${LANG}_${mpimethod}_ASYNCPROT TRUE)
+                  endif()
+                endif()
+              endif()
+            endif()
+          endforeach()
+          set(MPI_Fortran_CAPABILITIES_DETERMINED TRUE)
+        endif()
+      else()
+        set(MPI_${LANG}_HIGHEST_METHOD normal)
+
+        # By the MPI-2 standard, MPI_VERSION and MPI_SUBVERSION are valid for both C and C++ bindings.
+        if(NOT DEFINED MPI_${LANG}_VERSION)
+          file(STRINGS ${MPI_BIN_FOLDER}/test_mpi_${LANG}.bin _MPI_VERSION_STRING LIMIT_COUNT 1 REGEX "INFO:MPI-VER")
+          if("${_MPI_VERSION_STRING}" MATCHES ".*INFO:MPI-VER\\[([0-9]+)\\.([0-9]+)\\].*")
+            set(MPI_${LANG}_VERSION_MAJOR "${CMAKE_MATCH_1}")
+            set(MPI_${LANG}_VERSION_MINOR "${CMAKE_MATCH_2}")
+            set(MPI_${LANG}_VERSION "${MPI_${LANG}_VERSION_MAJOR}.${MPI_${LANG}_VERSION_MINOR}")
+          endif()
+        endif()
+      endif()
+
+      unset(MPI_BIN_FOLDER)
+
+      # At this point, we have dealt with determining the MPI version and parameters for each Fortran method available.
+      # The one remaining issue is to determine which MPI library is installed.
+      # Determining the version and vendor of the MPI library is only possible via MPI_Get_library_version() at runtime,
+      # and therefore we cannot do this while cross-compiling (a user may still define MPI_<lang>_LIBRARY_VERSION_STRING
+      # themselves and we'll attempt splitting it, which is equivalent to provide the try_run output).
+      # It's also worth noting that the installed version string can depend on the language, or on the system the binary
+      # runs on if MPI is not statically linked.
+      if(MPI_DETERMINE_LIBRARY_VERSION AND NOT MPI_${LANG}_LIBRARY_VERSION_STRING)
+        _MPI_try_staged_settings(${LANG} libver_mpi ${MPI_${LANG}_HIGHEST_METHOD} TRUE)
+        if(MPI_RESULT_${LANG}_libver_mpi_${MPI_${LANG}_HIGHEST_METHOD} AND
+          "${MPI_RUN_RESULT_${LANG}_libver_mpi_${MPI_${LANG}_HIGHEST_METHOD}}" EQUAL "0")
+          string(STRIP "${MPI_RUN_OUTPUT_${LANG}_libver_mpi_${MPI_${LANG}_HIGHEST_METHOD}}"
+            MPI_${LANG}_LIBRARY_VERSION_STRING)
+        else()
+          set(MPI_${LANG}_LIBRARY_VERSION_STRING "NOTFOUND")
+        endif()
+      endif()
+    endif()
+
+    set(MPI_${LANG}_FIND_QUIETLY ${MPI_FIND_QUIETLY})
+    set(MPI_${LANG}_FIND_VERSION ${MPI_FIND_VERSION})
+    set(MPI_${LANG}_FIND_VERSION_EXACT ${MPI_FIND_VERSION_EXACT})
+
+    unset(MPI_${LANG}_REQUIRED_VARS)
+    if (NOT "${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
+      foreach(mpilibname IN LISTS MPI_${LANG}_LIB_NAMES)
+        list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${mpilibname}_LIBRARY")
+      endforeach()
+      list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_LIB_NAMES")
+      if("${LANG}" STREQUAL "Fortran")
+        # For Fortran we only need one of the module or header directories to have *some* support for MPI.
+        if(NOT MPI_${LANG}_MODULE_DIR)
+          list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_F77_HEADER_DIR")
+        endif()
+        if(NOT MPI_${LANG}_F77_HEADER_DIR)
+          list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_MODULE_DIR")
+        endif()
+      else()
+        list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_HEADER_DIR")
+      endif()
+      if(MPI_${LANG}_ADDITIONAL_INCLUDE_VARS)
+        foreach(mpiincvar IN LISTS MPI_${LANG}_ADDITIONAL_INCLUDE_VARS)
+          list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${mpiincvar}_INCLUDE_DIR")
+        endforeach()
+      endif()
+      # Append the works variable now. If the settings did not work, this will show up properly.
+      list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_WORKS")
+    else()
+      # If the compiler worked implicitly, use its path as output.
+      # Should the compiler variable be set, we also require it to work.
+      list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_COMPILER")
+      if(MPI_${LANG}_COMPILER)
+        list(APPEND MPI_${LANG}_REQUIRED_VARS "MPI_${LANG}_WORKS")
+      endif()
+    endif()
+    find_package_handle_standard_args(MPI_${LANG} REQUIRED_VARS ${MPI_${LANG}_REQUIRED_VARS}
+      VERSION_VAR MPI_${LANG}_VERSION)
+
+    if(DEFINED MPI_${LANG}_VERSION)
+      if(NOT _MPI_MIN_VERSION OR _MPI_MIN_VERSION VERSION_GREATER MPI_${LANG}_VERSION)
+        set(_MPI_MIN_VERSION MPI_${LANG}_VERSION)
+      endif()
+    endif()
+  endif()
+endforeach()
+
+unset(_MPI_REQ_VARS)
+foreach(LANG IN ITEMS C CXX Fortran)
+  if((NOT MPI_FIND_COMPONENTS AND CMAKE_${LANG}_COMPILER_LOADED) OR LANG IN_LIST MPI_FIND_COMPONENTS)
+    list(APPEND _MPI_REQ_VARS "MPI_${LANG}_FOUND")
+  endif()
+endforeach()
+
+if(MPICXX IN_LIST MPI_FIND_COMPONENTS)
+  list(APPEND _MPI_REQ_VARS "MPI_MPICXX_FOUND")
+endif()
+
+find_package_handle_standard_args(MPI
+    REQUIRED_VARS ${_MPI_REQ_VARS}
+    VERSION_VAR ${_MPI_MIN_VERSION}
+    HANDLE_COMPONENTS)
+
+#=============================================================================
+# More backward compatibility stuff
+
+# For compatibility reasons, we also define MPIEXEC
+set(MPIEXEC "${MPIEXEC_EXECUTABLE}")
+
+# Copy over MPI_<LANG>_INCLUDE_PATH from the assembled INCLUDE_DIRS.
+foreach(LANG IN ITEMS C CXX Fortran)
+  if(MPI_${LANG}_FOUND)
+    set(MPI_${LANG}_INCLUDE_PATH "${MPI_${LANG}_INCLUDE_DIRS}")
+    unset(MPI_${LANG}_COMPILE_FLAGS)
+    if(MPI_${LANG}_COMPILE_OPTIONS)
+      set(MPI_${LANG}_COMPILE_FLAGS "${MPI_${LANG}_COMPILE_OPTIONS}")
+    endif()
+    if(MPI_${LANG}_COMPILE_DEFINITIONS)
+      foreach(_MPI_DEF IN LISTS MPI_${LANG}_COMPILE_DEFINITIONS)
+        string(APPEND MPI_${LANG}_COMPILE_FLAGS " -D${_MPI_DEF}")
+      endforeach()
+    endif()
+  endif()
+endforeach()
+
+# Bare MPI sans ${LANG} vars are set to CXX then C, depending on what was found.
+# This mimics the behavior of the old language-oblivious FindMPI.
+set(_MPI_OLD_VARS COMPILER INCLUDE_PATH COMPILE_FLAGS LINK_FLAGS LIBRARIES)
+if (MPI_CXX_FOUND)
+  foreach (var ${_MPI_OLD_VARS})
+    set(MPI_${var} ${MPI_CXX_${var}})
+  endforeach()
+elseif (MPI_C_FOUND)
+  foreach (var ${_MPI_OLD_VARS})
+    set(MPI_${var} ${MPI_C_${var}})
+  endforeach()
+endif()
+
+# Chop MPI_LIBRARIES into the old-style MPI_LIBRARY and MPI_EXTRA_LIBRARY, and set them in cache.
+if (MPI_LIBRARIES)
+  list(GET MPI_LIBRARIES 0 MPI_LIBRARY_WORK)
+  set(MPI_LIBRARY "${MPI_LIBRARY_WORK}")
+  unset(MPI_LIBRARY_WORK)
+else()
+  set(MPI_LIBRARY "MPI_LIBRARY-NOTFOUND")
+endif()
+
+list(LENGTH MPI_LIBRARIES MPI_NUMLIBS)
+if (MPI_NUMLIBS GREATER 1)
+  set(MPI_EXTRA_LIBRARY_WORK "${MPI_LIBRARIES}")
+  list(REMOVE_AT MPI_EXTRA_LIBRARY_WORK 0)
+  set(MPI_EXTRA_LIBRARY "${MPI_EXTRA_LIBRARY_WORK}")
+  unset(MPI_EXTRA_LIBRARY_WORK)
+else()
+  set(MPI_EXTRA_LIBRARY "MPI_EXTRA_LIBRARY-NOTFOUND")
+endif()
+set(MPI_IGNORE_LEGACY_VARIABLES TRUE)
+#=============================================================================
+
+# unset these vars to cleanup namespace
+unset(_MPI_OLD_VARS)
+unset(_MPI_PREFIX_PATH)
+unset(_MPI_BASE_DIR)
+foreach (lang C CXX Fortran)
+  unset(_MPI_${LANG}_COMPILER_NAMES)
+endforeach()
+
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/FindMPI/fortranparam_mpi.f90.in b/share/cmake-3.10/Modules/FindMPI/fortranparam_mpi.f90.in
new file mode 100644
index 0000000..30f912c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI/fortranparam_mpi.f90.in
@@ -0,0 +1,4 @@
+      program mpi_ver
+      @MPI_Fortran_INCLUDE_LINE@
+      print *, 'INFO:SUBARRAYS[', MPI_SUBARRAYS_SUPPORTED, ']-ASYNCPROT[', MPI_ASYNC_PROTECTS_NONBLOCKING, ']'
+      end program mpi_ver
diff --git a/share/cmake-3.10/Modules/FindMPI/libver_mpi.c b/share/cmake-3.10/Modules/FindMPI/libver_mpi.c
new file mode 100644
index 0000000..be9d19d
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI/libver_mpi.c
@@ -0,0 +1,19 @@
+#include <mpi.h>
+
+#ifdef __cplusplus
+#include <cstdio>
+#else
+#include <stdio.h>
+#endif
+
+int main(int argc, char* argv[])
+{
+  char mpilibver_str[MPI_MAX_LIBRARY_VERSION_STRING];
+  int mpilibver_len;
+  MPI_Get_library_version(mpilibver_str, &mpilibver_len);
+#ifdef __cplusplus
+  std::puts(mpilibver_str);
+#else
+  puts(mpilibver_str);
+#endif
+}
diff --git a/share/cmake-3.10/Modules/FindMPI/libver_mpi.f90.in b/share/cmake-3.10/Modules/FindMPI/libver_mpi.f90.in
new file mode 100644
index 0000000..7938587
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI/libver_mpi.f90.in
@@ -0,0 +1,7 @@
+      program mpi_ver
+      @MPI_Fortran_INCLUDE_LINE@
+      character(len=MPI_MAX_LIBRARY_VERSION_STRING) :: mpilibver_str
+      integer(kind=MPI_INTEGER_KIND) :: ierror, reslen
+      call MPI_GET_LIBRARY_VERSION(mpilibver_str, reslen, ierror)
+      print *, mpilibver_str
+      end program mpi_ver
diff --git a/share/cmake-3.10/Modules/FindMPI/mpiver.f90.in b/share/cmake-3.10/Modules/FindMPI/mpiver.f90.in
new file mode 100644
index 0000000..a254523
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI/mpiver.f90.in
@@ -0,0 +1,10 @@
+      program mpi_ver
+      @MPI_Fortran_INCLUDE_LINE@
+      integer(kind=kind(MPI_VERSION)), parameter :: zero = ichar('0')
+      character, dimension(17), parameter :: mpiver_str =&
+      (/ 'I', 'N', 'F', 'O', ':', 'M', 'P', 'I', '-', 'V', 'E', 'R', '[', &
+        char(zero + MPI_VERSION), &
+        '.', &
+        char(zero + MPI_SUBVERSION), ']' /)
+      print *, mpiver_str
+      end program mpi_ver
diff --git a/share/cmake-3.10/Modules/FindMPI/test_mpi.c b/share/cmake-3.10/Modules/FindMPI/test_mpi.c
new file mode 100644
index 0000000..b8a308a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI/test_mpi.c
@@ -0,0 +1,37 @@
+#include <mpi.h>
+
+#ifdef __cplusplus
+#include <cstdio>
+#else
+#include <stdio.h>
+#endif
+
+#if defined(MPI_VERSION) && defined(MPI_SUBVERSION)
+const char mpiver_str[] = { 'I', 'N',
+                            'F', 'O',
+                            ':', 'M',
+                            'P', 'I',
+                            '-', 'V',
+                            'E', 'R',
+                            '[', ('0' + MPI_VERSION),
+                            '.', ('0' + MPI_SUBVERSION),
+                            ']', '\0' };
+#endif
+
+int main(int argc, char* argv[])
+{
+#if defined(MPI_VERSION) && defined(MPI_SUBVERSION)
+#ifdef __cplusplus
+  std::puts(mpiver_str);
+#else
+  puts(mpiver_str);
+#endif
+#endif
+#ifdef TEST_MPI_MPICXX
+  MPI::MPI_Init(&argc, &argv);
+  MPI::MPI_Finalize();
+#else
+  MPI_Init(&argc, &argv);
+  MPI_Finalize();
+#endif
+}
diff --git a/share/cmake-3.10/Modules/FindMPI/test_mpi.f90.in b/share/cmake-3.10/Modules/FindMPI/test_mpi.f90.in
new file mode 100644
index 0000000..4d43a04
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMPI/test_mpi.f90.in
@@ -0,0 +1,6 @@
+      program hello
+      @MPI_Fortran_INCLUDE_LINE@
+      integer@MPI_Fortran_INTEGER_LINE@ ierror
+      call MPI_INIT(ierror)
+      call MPI_FINALIZE(ierror)
+      end program
diff --git a/share/cmake-3.10/Modules/FindMatlab.cmake b/share/cmake-3.10/Modules/FindMatlab.cmake
new file mode 100644
index 0000000..7d4ed6a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMatlab.cmake
@@ -0,0 +1,1539 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindMatlab
+# ----------
+#
+# Finds Matlab installations and provides Matlab tools and libraries to cmake.
+#
+# This package first intention is to find the libraries associated with Matlab
+# in order to be able to build Matlab extensions (mex files). It can also be
+# used:
+#
+# * run specific commands in Matlab
+# * declare Matlab unit test
+# * retrieve various information from Matlab (mex extensions, versions and
+#   release queries, ...)
+#
+# The module supports the following components:
+#
+# * ``MX_LIBRARY``, ``ENG_LIBRARY`` and ``MAT_LIBRARY``: respectively the MX,
+#   ENG and MAT libraries of Matlab
+# * ``MAIN_PROGRAM`` the Matlab binary program.
+# * ``MEX_COMPILER`` the MEX compiler.
+# * ``SIMULINK`` the Simulink environment.
+#
+# .. note::
+#
+#   The version given to the :command:`find_package` directive is the Matlab
+#   **version**, which should not be confused with the Matlab *release* name
+#   (eg. `R2014`).
+#   The :command:`matlab_get_version_from_release_name` and
+#   :command:`matlab_get_release_name_from_version` allow a mapping
+#   from the release name to the version.
+#
+# The variable :variable:`Matlab_ROOT_DIR` may be specified in order to give
+# the path of the desired Matlab version. Otherwise, the behaviour is platform
+# specific:
+#
+# * Windows: The installed versions of Matlab are retrieved from the
+#   Windows registry
+# * OS X: The installed versions of Matlab are given by the MATLAB
+#   paths in ``/Application``. If no such application is found, it falls back
+#   to the one that might be accessible from the PATH.
+# * Unix: The desired Matlab should be accessible from the PATH.
+#
+# Additional information is provided when :variable:`MATLAB_FIND_DEBUG` is set.
+# When a Matlab binary is found automatically and the ``MATLAB_VERSION``
+# is not given, the version is queried from Matlab directly.
+# On Windows, it can make a window running Matlab appear.
+#
+# The mapping of the release names and the version of Matlab is performed by
+# defining pairs (name, version).  The variable
+# :variable:`MATLAB_ADDITIONAL_VERSIONS` may be provided before the call to
+# the :command:`find_package` in order to handle additional versions.
+#
+# A Matlab scripts can be added to the set of tests using the
+# :command:`matlab_add_unit_test`. By default, the Matlab unit test framework
+# will be used (>= 2013a) to run this script, but regular ``.m`` files
+# returning an exit code can be used as well (0 indicating a success).
+#
+# Module Input Variables
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# Users or projects may set the following variables to configure the module
+# behaviour:
+#
+# :variable:`Matlab_ROOT_DIR`
+#   the root of the Matlab installation.
+# :variable:`MATLAB_FIND_DEBUG`
+#   outputs debug information
+# :variable:`MATLAB_ADDITIONAL_VERSIONS`
+#   additional versions of Matlab for the automatic retrieval of the installed
+#   versions.
+#
+# Variables defined by the module
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# Result variables
+# """"""""""""""""
+#
+# ``Matlab_FOUND``
+#   ``TRUE`` if the Matlab installation is found, ``FALSE``
+#   otherwise. All variable below are defined if Matlab is found.
+# ``Matlab_ROOT_DIR``
+#   the final root of the Matlab installation determined by the FindMatlab
+#   module.
+# ``Matlab_MAIN_PROGRAM``
+#   the Matlab binary program. Available only if the component ``MAIN_PROGRAM``
+#   is given in the :command:`find_package` directive.
+# ``Matlab_INCLUDE_DIRS``
+#  the path of the Matlab libraries headers
+# ``Matlab_MEX_LIBRARY``
+#   library for mex, always available.
+# ``Matlab_MX_LIBRARY``
+#   mx library of Matlab (arrays). Available only if the component
+#   ``MX_LIBRARY`` has been requested.
+# ``Matlab_ENG_LIBRARY``
+#   Matlab engine library. Available only if the component ``ENG_LIBRARY``
+#   is requested.
+# ``Matlab_MAT_LIBRARY``
+#   Matlab matrix library. Available only if the component ``MAT_LIBRARY``
+#   is requested.
+# ``Matlab_LIBRARIES``
+#   the whole set of libraries of Matlab
+# ``Matlab_MEX_COMPILER``
+#   the mex compiler of Matlab. Currently not used.
+#   Available only if the component ``MEX_COMPILER`` is asked
+#
+# Cached variables
+# """"""""""""""""
+#
+# ``Matlab_MEX_EXTENSION``
+#   the extension of the mex files for the current platform (given by Matlab).
+# ``Matlab_ROOT_DIR``
+#   the location of the root of the Matlab installation found. If this value
+#   is changed by the user, the result variables are recomputed.
+#
+# Provided macros
+# ^^^^^^^^^^^^^^^
+#
+# :command:`matlab_get_version_from_release_name`
+#   returns the version from the release name
+# :command:`matlab_get_release_name_from_version`
+#   returns the release name from the Matlab version
+#
+# Provided functions
+# ^^^^^^^^^^^^^^^^^^
+#
+# :command:`matlab_add_mex`
+#   adds a target compiling a MEX file.
+# :command:`matlab_add_unit_test`
+#   adds a Matlab unit test file as a test to the project.
+# :command:`matlab_extract_all_installed_versions_from_registry`
+#   parses the registry for all Matlab versions. Available on Windows only.
+#   The part of the registry parsed is dependent on the host processor
+# :command:`matlab_get_all_valid_matlab_roots_from_registry`
+#   returns all the possible Matlab paths, according to a previously
+#   given list. Only the existing/accessible paths are kept. This is mainly
+#   useful for the searching all possible Matlab installation.
+# :command:`matlab_get_mex_suffix`
+#   returns the suffix to be used for the mex files
+#   (platform/architecture dependent)
+# :command:`matlab_get_version_from_matlab_run`
+#   returns the version of Matlab, given the full directory of the Matlab
+#   program.
+#
+#
+# Known issues
+# ^^^^^^^^^^^^
+#
+# **Symbol clash in a MEX target**
+#   By default, every symbols inside a MEX
+#   file defined with the command :command:`matlab_add_mex` have hidden
+#   visibility, except for the entry point. This is the default behaviour of
+#   the MEX compiler, which lowers the risk of symbol collision between the
+#   libraries shipped with Matlab, and the libraries to which the MEX file is
+#   linking to. This is also the default on Windows platforms.
+#
+#   However, this is not sufficient in certain case, where for instance your
+#   MEX file is linking against libraries that are already loaded by Matlab,
+#   even if those libraries have different SONAMES.
+#   A possible solution is to hide the symbols of the libraries to which the
+#   MEX target is linking to. This can be achieved in GNU GCC compilers with
+#   the linker option ``-Wl,--exclude-libs,ALL``.
+#
+# **Tests using GPU resources**
+#   in case your MEX file is using the GPU and
+#   in order to be able to run unit tests on this MEX file, the GPU resources
+#   should be properly released by Matlab. A possible solution is to make
+#   Matlab aware of the use of the GPU resources in the session, which can be
+#   performed by a command such as ``D = gpuDevice()`` at the beginning of
+#   the test script (or via a fixture).
+#
+#
+# Reference
+# ^^^^^^^^^
+#
+# .. variable:: Matlab_ROOT_DIR
+#
+#    The root folder of the Matlab installation. If set before the call to
+#    :command:`find_package`, the module will look for the components in that
+#    path. If not set, then an automatic search of Matlab
+#    will be performed. If set, it should point to a valid version of Matlab.
+#
+# .. variable:: MATLAB_FIND_DEBUG
+#
+#    If set, the lookup of Matlab and the intermediate configuration steps are
+#    outputted to the console.
+#
+# .. variable:: MATLAB_ADDITIONAL_VERSIONS
+#
+#   If set, specifies additional versions of Matlab that may be looked for.
+#   The variable should be a list of strings, organised by pairs of release
+#   name and versions, such as follows::
+#
+#     set(MATLAB_ADDITIONAL_VERSIONS
+#         "release_name1=corresponding_version1"
+#         "release_name2=corresponding_version2"
+#         ...
+#         )
+#
+#   Example::
+#
+#     set(MATLAB_ADDITIONAL_VERSIONS
+#         "R2013b=8.2"
+#         "R2013a=8.1"
+#         "R2012b=8.0")
+#
+#   The order of entries in this list matters when several versions of
+#   Matlab are installed. The priority is set according to the ordering in
+#   this list.
+
+set(_FindMatlab_SELF_DIR "${CMAKE_CURRENT_LIST_DIR}")
+
+include(FindPackageHandleStandardArgs)
+include(CheckCXXCompilerFlag)
+include(CheckCCompilerFlag)
+
+
+# The currently supported versions. Other version can be added by the user by
+# providing MATLAB_ADDITIONAL_VERSIONS
+if(NOT MATLAB_ADDITIONAL_VERSIONS)
+  set(MATLAB_ADDITIONAL_VERSIONS)
+endif()
+
+set(MATLAB_VERSIONS_MAPPING
+  "R2017b=9.3"
+  "R2017a=9.2"
+  "R2016b=9.1"
+  "R2016a=9.0"
+  "R2015b=8.6"
+  "R2015a=8.5"
+  "R2014b=8.4"
+  "R2014a=8.3"
+  "R2013b=8.2"
+  "R2013a=8.1"
+  "R2012b=8.0"
+  "R2012a=7.14"
+  "R2011b=7.13"
+  "R2011a=7.12"
+  "R2010b=7.11"
+
+  ${MATLAB_ADDITIONAL_VERSIONS}
+  )
+
+
+# temporary folder for all Matlab runs
+set(_matlab_temporary_folder ${CMAKE_BINARY_DIR}/Matlab)
+
+if(NOT EXISTS "${_matlab_temporary_folder}")
+  file(MAKE_DIRECTORY "${_matlab_temporary_folder}")
+endif()
+
+#.rst:
+# .. command:: matlab_get_version_from_release_name
+#
+#   Returns the version of Matlab (17.58) from a release name (R2017k)
+macro (matlab_get_version_from_release_name release_name version_name)
+
+  string(REGEX MATCHALL "${release_name}=([0-9]+\\.?[0-9]*)" _matched ${MATLAB_VERSIONS_MAPPING})
+
+  set(${version_name} "")
+  if(NOT _matched STREQUAL "")
+    set(${version_name} ${CMAKE_MATCH_1})
+  else()
+    message(WARNING "The release name ${release_name} is not registered")
+  endif()
+  unset(_matched)
+
+endmacro()
+
+
+
+
+
+#.rst:
+# .. command:: matlab_get_release_name_from_version
+#
+#   Returns the release name (R2017k) from the version of Matlab (17.58)
+macro (matlab_get_release_name_from_version version release_name)
+
+  set(${release_name} "")
+  foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING)
+    string(REGEX MATCHALL "(.+)=${version}" _matched ${_var})
+    if(NOT _matched STREQUAL "")
+      set(${release_name} ${CMAKE_MATCH_1})
+      break()
+    endif()
+  endforeach(_var)
+
+  unset(_var)
+  unset(_matched)
+  if(${release_name} STREQUAL "")
+    message(WARNING "The version ${version} is not registered")
+  endif()
+
+endmacro()
+
+
+
+
+
+# extracts all the supported release names (R2017k...) of Matlab
+# internal use
+macro(matlab_get_supported_releases list_releases)
+  set(${list_releases})
+  foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING)
+    string(REGEX MATCHALL "(.+)=([0-9]+\\.?[0-9]*)" _matched ${_var})
+    if(NOT _matched STREQUAL "")
+      list(APPEND ${list_releases} ${CMAKE_MATCH_1})
+    endif()
+    unset(_matched)
+    unset(CMAKE_MATCH_1)
+  endforeach(_var)
+  unset(_var)
+endmacro()
+
+
+
+# extracts all the supported versions of Matlab
+# internal use
+macro(matlab_get_supported_versions list_versions)
+  set(${list_versions})
+  foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING)
+    string(REGEX MATCHALL "(.+)=([0-9]+\\.?[0-9]*)" _matched ${_var})
+    if(NOT _matched STREQUAL "")
+      list(APPEND ${list_versions} ${CMAKE_MATCH_2})
+    endif()
+    unset(_matched)
+    unset(CMAKE_MATCH_1)
+  endforeach(_var)
+  unset(_var)
+endmacro()
+
+
+#.rst:
+# .. command:: matlab_extract_all_installed_versions_from_registry
+#
+#   This function parses the registry and founds the Matlab versions that are
+#   installed. The found versions are returned in `matlab_versions`.
+#   Set `win64` to `TRUE` if the 64 bit version of Matlab should be looked for
+#   The returned list contains all versions under
+#   ``HKLM\\SOFTWARE\\Mathworks\\MATLAB`` or an empty list in case an error
+#   occurred (or nothing found).
+#
+#   .. note::
+#
+#     Only the versions are provided. No check is made over the existence of the
+#     installation referenced in the registry,
+#
+function(matlab_extract_all_installed_versions_from_registry win64 matlab_versions)
+
+  if(NOT CMAKE_HOST_WIN32)
+    message(FATAL_ERROR "This macro can only be called by a windows host (call to reg.exe")
+  endif()
+
+
+  if(${win64} AND ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "64")
+    set(APPEND_REG "/reg:64")
+  else()
+    set(APPEND_REG "/reg:32")
+  endif()
+
+  # /reg:64 should be added on 64 bits capable OSs in order to enable the
+  # redirection of 64 bits applications
+  execute_process(
+    COMMAND reg query HKEY_LOCAL_MACHINE\\SOFTWARE\\Mathworks\\MATLAB /f * /k ${APPEND_REG}
+    RESULT_VARIABLE resultMatlab
+    OUTPUT_VARIABLE varMatlab
+    ERROR_VARIABLE errMatlab
+    INPUT_FILE NUL
+    )
+
+
+  set(matlabs_from_registry)
+  if(${resultMatlab} EQUAL 0)
+
+    string(
+      REGEX MATCHALL "MATLAB\\\\([0-9]+(\\.[0-9]+)?)"
+      matlab_versions_regex ${varMatlab})
+
+    foreach(match IN LISTS matlab_versions_regex)
+      string(
+        REGEX MATCH "MATLAB\\\\(([0-9]+)(\\.([0-9]+))?)"
+        current_match ${match})
+
+      set(_matlab_current_version ${CMAKE_MATCH_1})
+      set(current_matlab_version_major ${CMAKE_MATCH_2})
+      set(current_matlab_version_minor ${CMAKE_MATCH_4})
+      if(NOT current_matlab_version_minor)
+        set(current_matlab_version_minor "0")
+      endif()
+
+      list(APPEND matlabs_from_registry ${_matlab_current_version})
+      unset(_matlab_current_version)
+    endforeach(match)
+
+  endif()
+
+  if(matlabs_from_registry)
+    list(REMOVE_DUPLICATES matlabs_from_registry)
+    list(SORT matlabs_from_registry)
+    list(REVERSE matlabs_from_registry)
+  endif()
+
+  set(${matlab_versions} ${matlabs_from_registry} PARENT_SCOPE)
+
+endfunction()
+
+
+
+# (internal)
+macro(extract_matlab_versions_from_registry_brute_force matlab_versions)
+  # get the supported versions
+  set(matlab_supported_versions)
+  matlab_get_supported_versions(matlab_supported_versions)
+
+
+  # this is a manual population of the versions we want to look for
+  # this can be done as is, but preferably with the call to
+  # matlab_get_supported_versions and variable
+
+  # populating the versions we want to look for
+  # set(matlab_supported_versions)
+
+  # # Matlab 7
+  # set(matlab_major 7)
+  # foreach(current_matlab_minor RANGE 4 20)
+    # list(APPEND matlab_supported_versions "${matlab_major}.${current_matlab_minor}")
+  # endforeach(current_matlab_minor)
+
+  # # Matlab 8
+  # set(matlab_major 8)
+  # foreach(current_matlab_minor RANGE 0 5)
+    # list(APPEND matlab_supported_versions "${matlab_major}.${current_matlab_minor}")
+  # endforeach(current_matlab_minor)
+
+  # # taking into account the possible additional versions provided by the user
+  # if(DEFINED MATLAB_ADDITIONAL_VERSIONS)
+    # list(APPEND matlab_supported_versions MATLAB_ADDITIONAL_VERSIONS)
+  # endif()
+
+
+  # we order from more recent to older
+  if(matlab_supported_versions)
+    list(REMOVE_DUPLICATES matlab_supported_versions)
+    list(SORT matlab_supported_versions)
+    list(REVERSE matlab_supported_versions)
+  endif()
+
+
+  set(${matlab_versions} ${matlab_supported_versions})
+
+
+endmacro()
+
+
+
+
+#.rst:
+# .. command:: matlab_get_all_valid_matlab_roots_from_registry
+#
+#   Populates the Matlab root with valid versions of Matlab.
+#   The returned matlab_roots is organized in pairs
+#   ``(version_number,matlab_root_path)``.
+#
+#   ::
+#
+#     matlab_get_all_valid_matlab_roots_from_registry(
+#         matlab_versions
+#         matlab_roots)
+#
+#   ``matlab_versions``
+#     the versions of each of the Matlab installations
+#   ``matlab_roots``
+#     the location of each of the Matlab installations
+function(matlab_get_all_valid_matlab_roots_from_registry matlab_versions matlab_roots)
+
+  # The matlab_versions comes either from
+  # extract_matlab_versions_from_registry_brute_force or
+  # matlab_extract_all_installed_versions_from_registry.
+
+
+  set(_matlab_roots_list )
+  foreach(_matlab_current_version ${matlab_versions})
+    get_filename_component(
+      current_MATLAB_ROOT
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\${_matlab_current_version};MATLABROOT]"
+      ABSOLUTE)
+
+    if(EXISTS ${current_MATLAB_ROOT})
+      list(APPEND _matlab_roots_list ${_matlab_current_version} ${current_MATLAB_ROOT})
+    endif()
+
+  endforeach(_matlab_current_version)
+  unset(_matlab_current_version)
+  set(${matlab_roots} ${_matlab_roots_list} PARENT_SCOPE)
+  unset(_matlab_roots_list)
+endfunction()
+
+#.rst:
+# .. command:: matlab_get_mex_suffix
+#
+#   Returns the extension of the mex files (the suffixes).
+#   This function should not be called before the appropriate Matlab root has
+#   been found.
+#
+#   ::
+#
+#     matlab_get_mex_suffix(
+#         matlab_root
+#         mex_suffix)
+#
+#   ``matlab_root``
+#     the root of the Matlab installation
+#   ``mex_suffix``
+#     the variable name in which the suffix will be returned.
+function(matlab_get_mex_suffix matlab_root mex_suffix)
+
+  # todo setup the extension properly. Currently I do not know if this is
+  # sufficient for all win32 distributions.
+  # there is also CMAKE_EXECUTABLE_SUFFIX that could be tweaked
+  set(mexext_suffix "")
+  if(WIN32)
+    list(APPEND mexext_suffix ".bat")
+  endif()
+
+  # we first try without suffix, since cmake does not understand a list with
+  # one empty string element
+  find_program(
+    Matlab_MEXEXTENSIONS_PROG
+    NAMES mexext
+    PATHS ${matlab_root}/bin
+    DOC "Matlab MEX extension provider"
+    NO_DEFAULT_PATH
+  )
+
+  foreach(current_mexext_suffix IN LISTS mexext_suffix)
+    if(NOT DEFINED Matlab_MEXEXTENSIONS_PROG OR NOT Matlab_MEXEXTENSIONS_PROG)
+      # this call should populate the cache automatically
+      find_program(
+        Matlab_MEXEXTENSIONS_PROG
+        "mexext${current_mexext_suffix}"
+        PATHS ${matlab_root}/bin
+        DOC "Matlab MEX extension provider"
+        NO_DEFAULT_PATH
+      )
+    endif()
+  endforeach(current_mexext_suffix)
+
+
+  # the program has been found?
+  if((NOT Matlab_MEXEXTENSIONS_PROG) OR (NOT EXISTS ${Matlab_MEXEXTENSIONS_PROG}))
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] Cannot found mexext program. Matlab root is ${matlab_root}")
+    endif()
+    unset(Matlab_MEXEXTENSIONS_PROG CACHE)
+    return()
+  endif()
+
+  set(_matlab_mex_extension)
+
+  set(devnull)
+  if(UNIX)
+    set(devnull INPUT_FILE /dev/null)
+  elseif(WIN32)
+    set(devnull INPUT_FILE NUL)
+  endif()
+
+  execute_process(
+    COMMAND ${Matlab_MEXEXTENSIONS_PROG}
+    OUTPUT_VARIABLE _matlab_mex_extension
+    ERROR_VARIABLE _matlab_mex_extension_error
+    ${devnull})
+  string(STRIP ${_matlab_mex_extension} _matlab_mex_extension)
+
+  unset(Matlab_MEXEXTENSIONS_PROG CACHE)
+  set(${mex_suffix} ${_matlab_mex_extension} PARENT_SCOPE)
+endfunction()
+
+
+
+
+#.rst:
+# .. command:: matlab_get_version_from_matlab_run
+#
+#   This function runs Matlab program specified on arguments and extracts its
+#   version.
+#
+#   ::
+#
+#     matlab_get_version_from_matlab_run(
+#         matlab_binary_path
+#         matlab_list_versions)
+#
+#   ``matlab_binary_path``
+#     the location of the `matlab` binary executable
+#   ``matlab_list_versions``
+#     the version extracted from Matlab
+function(matlab_get_version_from_matlab_run matlab_binary_program matlab_list_versions)
+
+  set(${matlab_list_versions} "" PARENT_SCOPE)
+
+
+  if(MATLAB_FIND_DEBUG)
+    message(STATUS "[MATLAB] Determining the version of Matlab from ${matlab_binary_program}")
+  endif()
+
+  if(EXISTS "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
+    if(MATLAB_FIND_DEBUG)
+      message(STATUS "[MATLAB] Removing previous ${_matlab_temporary_folder}/matlabVersionLog.cmaketmp file")
+    endif()
+    file(REMOVE "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
+  endif()
+
+
+  # the log file is needed since on windows the command executes in a new
+  # window and it is not possible to get back the answer of Matlab
+  # the -wait command is needed on windows, otherwise the call returns
+  # immediately after the program launches itself.
+  if(WIN32)
+    set(_matlab_additional_commands "-wait")
+  endif()
+
+  set(devnull)
+  if(UNIX)
+    set(devnull INPUT_FILE /dev/null)
+  elseif(WIN32)
+    set(devnull INPUT_FILE NUL)
+  endif()
+
+  # timeout set to 120 seconds, in case it does not start
+  # note as said before OUTPUT_VARIABLE cannot be used in a platform
+  # independent manner however, not setting it would flush the output of Matlab
+  # in the current console (unix variant)
+  execute_process(
+    COMMAND "${matlab_binary_program}" -nosplash -nojvm ${_matlab_additional_commands} -logfile "matlabVersionLog.cmaketmp" -nodesktop -nodisplay -r "version, exit"
+    OUTPUT_VARIABLE _matlab_version_from_cmd_dummy
+    RESULT_VARIABLE _matlab_result_version_call
+    ERROR_VARIABLE _matlab_result_version_call_error
+    TIMEOUT 120
+    WORKING_DIRECTORY "${_matlab_temporary_folder}"
+    ${devnull}
+    )
+
+  if("${_matlab_result_version_call}" MATCHES "timeout")
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] Unable to determine the version of Matlab."
+        " Matlab call timed out after 120 seconds.")
+    endif()
+    return()
+  endif()
+
+  if(${_matlab_result_version_call})
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] Unable to determine the version of Matlab. Matlab call returned with error ${_matlab_result_version_call}.")
+    endif()
+    return()
+  elseif(NOT EXISTS "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] Unable to determine the version of Matlab. The log file does not exist.")
+    endif()
+    return()
+  endif()
+
+  # if successful, read back the log
+  file(READ "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp" _matlab_version_from_cmd)
+  file(REMOVE "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
+
+  set(index -1)
+  string(FIND ${_matlab_version_from_cmd} "ans" index)
+  if(index EQUAL -1)
+
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] Cannot find the version of Matlab returned by the run.")
+    endif()
+
+  else()
+    set(matlab_list_of_all_versions_tmp)
+
+    string(SUBSTRING ${_matlab_version_from_cmd} ${index} -1 substring_ans)
+    string(
+      REGEX MATCHALL "ans[\r\n\t ]*=[\r\n\t ]*'?([0-9]+(\\.[0-9]+)?)"
+      matlab_versions_regex
+      ${substring_ans})
+    foreach(match IN LISTS matlab_versions_regex)
+      string(
+        REGEX MATCH "ans[\r\n\t ]*=[\r\n\t ]*'?(([0-9]+)(\\.([0-9]+))?)"
+        current_match ${match})
+
+      list(APPEND matlab_list_of_all_versions_tmp ${CMAKE_MATCH_1})
+    endforeach()
+    if(matlab_list_of_all_versions_tmp)
+      list(REMOVE_DUPLICATES matlab_list_of_all_versions_tmp)
+    endif()
+    set(${matlab_list_versions} ${matlab_list_of_all_versions_tmp} PARENT_SCOPE)
+
+  endif()
+
+endfunction()
+
+#.rst:
+# .. command:: matlab_add_unit_test
+#
+#   Adds a Matlab unit test to the test set of cmake/ctest.
+#   This command requires the component ``MAIN_PROGRAM``.
+#   The unit test uses the Matlab unittest framework (default, available
+#   starting Matlab 2013b+) except if the option ``NO_UNITTEST_FRAMEWORK``
+#   is given.
+#
+#   The function expects one Matlab test script file to be given.
+#   In the case ``NO_UNITTEST_FRAMEWORK`` is given, the unittest script file
+#   should contain the script to be run, plus an exit command with the exit
+#   value. This exit value will be passed to the ctest framework (0 success,
+#   non 0 failure). Additional arguments accepted by :command:`add_test` can be
+#   passed through ``TEST_ARGS`` (eg. ``CONFIGURATION <config> ...``).
+#
+#   ::
+#
+#     matlab_add_unit_test(
+#         NAME <name>
+#         UNITTEST_FILE matlab_file_containing_unittest.m
+#         [CUSTOM_TEST_COMMAND matlab_command_to_run_as_test]
+#         [UNITTEST_PRECOMMAND matlab_command_to_run]
+#         [TIMEOUT timeout]
+#         [ADDITIONAL_PATH path1 [path2 ...]]
+#         [MATLAB_ADDITIONAL_STARTUP_OPTIONS option1 [option2 ...]]
+#         [TEST_ARGS arg1 [arg2 ...]]
+#         [NO_UNITTEST_FRAMEWORK]
+#         )
+#
+#   The function arguments are:
+#
+#   ``NAME``
+#     name of the unittest in ctest.
+#   ``UNITTEST_FILE``
+#     the matlab unittest file. Its path will be automatically
+#     added to the Matlab path.
+#   ``CUSTOM_TEST_COMMAND``
+#     Matlab script command to run as the test.
+#     If this is not set, then the following is run:
+#     ``runtests('matlab_file_name'), exit(max([ans(1,:).Failed]))``
+#     where ``matlab_file_name`` is the ``UNITTEST_FILE`` without the extension.
+#   ``UNITTEST_PRECOMMAND``
+#     Matlab script command to be ran before the file
+#     containing the test (eg. GPU device initialisation based on CMake
+#     variables).
+#   ``TIMEOUT``
+#     the test timeout in seconds. Defaults to 180 seconds as the
+#     Matlab unit test may hang.
+#   ``ADDITIONAL_PATH``
+#     a list of paths to add to the Matlab path prior to
+#     running the unit test.
+#   ``MATLAB_ADDITIONAL_STARTUP_OPTIONS``
+#     a list of additional option in order
+#     to run Matlab from the command line.
+#     ``-nosplash -nodesktop -nodisplay`` are always added.
+#   ``TEST_ARGS``
+#     Additional options provided to the add_test command. These
+#     options are added to the default options (eg. "CONFIGURATIONS Release")
+#   ``NO_UNITTEST_FRAMEWORK``
+#     when set, indicates that the test should not
+#     use the unittest framework of Matlab (available for versions >= R2013a).
+#   ``WORKING_DIRECTORY``
+#     This will be the working directory for the test. If specified it will
+#     also be the output directory used for the log file of the test run.
+#     If not specifed the temporary directory ``${CMAKE_BINARY_DIR}/Matlab`` will
+#     be used as the working directory and the log location.
+#
+function(matlab_add_unit_test)
+
+  if(NOT Matlab_MAIN_PROGRAM)
+    message(FATAL_ERROR "[MATLAB] This functionality needs the MAIN_PROGRAM component (not default)")
+  endif()
+
+  set(options NO_UNITTEST_FRAMEWORK)
+  set(oneValueArgs NAME UNITTEST_FILE TIMEOUT WORKING_DIRECTORY
+    UNITTEST_PRECOMMAND CUSTOM_TEST_COMMAND)
+  set(multiValueArgs ADDITIONAL_PATH MATLAB_ADDITIONAL_STARTUP_OPTIONS TEST_ARGS)
+
+  set(prefix _matlab_unittest_prefix)
+  cmake_parse_arguments(PARSE_ARGV 0 ${prefix} "${options}" "${oneValueArgs}" "${multiValueArgs}" )
+
+  if(NOT ${prefix}_NAME)
+    message(FATAL_ERROR "[MATLAB] The Matlab test name cannot be empty")
+  endif()
+
+  add_test(NAME ${${prefix}_NAME}
+           COMMAND ${CMAKE_COMMAND}
+            "-Dtest_name=${${prefix}_NAME}"
+            "-Dadditional_paths=${${prefix}_ADDITIONAL_PATH}"
+            "-Dtest_timeout=${${prefix}_TIMEOUT}"
+            "-Doutput_directory=${_matlab_temporary_folder}"
+            "-Dworking_directory=${${prefix}_WORKING_DIRECTORY}"
+            "-DMatlab_PROGRAM=${Matlab_MAIN_PROGRAM}"
+            "-Dno_unittest_framework=${${prefix}_NO_UNITTEST_FRAMEWORK}"
+            "-DMatlab_ADDITIONAL_STARTUP_OPTIONS=${${prefix}_MATLAB_ADDITIONAL_STARTUP_OPTIONS}"
+            "-Dunittest_file_to_run=${${prefix}_UNITTEST_FILE}"
+            "-Dcustom_Matlab_test_command=${${prefix}_CUSTOM_TEST_COMMAND}"
+            "-Dcmd_to_run_before_test=${${prefix}_UNITTEST_PRECOMMAND}"
+            -P ${_FindMatlab_SELF_DIR}/MatlabTestsRedirect.cmake
+           ${${prefix}_TEST_ARGS}
+           ${${prefix}_UNPARSED_ARGUMENTS}
+           )
+endfunction()
+
+
+#.rst:
+# .. command:: matlab_add_mex
+#
+#   Adds a Matlab MEX target.
+#   This commands compiles the given sources with the current tool-chain in
+#   order to produce a MEX file. The final name of the produced output may be
+#   specified, as well as additional link libraries, and a documentation entry
+#   for the MEX file. Remaining arguments of the call are passed to the
+#   :command:`add_library` or :command:`add_executable` command.
+#
+#   ::
+#
+#      matlab_add_mex(
+#          NAME <name>
+#          [EXECUTABLE | MODULE | SHARED]
+#          SRC src1 [src2 ...]
+#          [OUTPUT_NAME output_name]
+#          [DOCUMENTATION file.txt]
+#          [LINK_TO target1 target2 ...]
+#          [...]
+#      )
+#
+#   ``NAME``
+#     name of the target.
+#   ``SRC``
+#     list of source files.
+#   ``LINK_TO``
+#     a list of additional link dependencies.  The target links to ``libmex``
+#     by default. If ``Matlab_MX_LIBRARY`` is defined, it also
+#     links to ``libmx``.
+#   ``OUTPUT_NAME``
+#     if given, overrides the default name. The default name is
+#     the name of the target without any prefix and
+#     with ``Matlab_MEX_EXTENSION`` suffix.
+#   ``DOCUMENTATION``
+#     if given, the file ``file.txt`` will be considered as
+#     being the documentation file for the MEX file. This file is copied into
+#     the same folder without any processing, with the same name as the final
+#     mex file, and with extension `.m`. In that case, typing ``help <name>``
+#     in Matlab prints the documentation contained in this file.
+#   ``MODULE`` or ``SHARED`` may be given to specify the type of library to be
+#     created. ``EXECUTABLE`` may be given to create an executable instead of
+#     a library. If no type is given explicitly, the type is ``SHARED``.
+#
+#   The documentation file is not processed and should be in the following
+#   format:
+#
+#   ::
+#
+#     % This is the documentation
+#     function ret = mex_target_output_name(input1)
+#
+function(matlab_add_mex)
+
+  if(NOT WIN32)
+    # we do not need all this on Windows
+    # pthread options
+    if(CMAKE_CXX_COMPILER_LOADED)
+      check_cxx_compiler_flag(-pthread HAS_MINUS_PTHREAD)
+    elseif(CMAKE_C_COMPILER_LOADED)
+      check_c_compiler_flag(-pthread HAS_MINUS_PTHREAD)
+    endif()
+    # we should use try_compile instead, the link flags are discarded from
+    # this compiler_flag function.
+    #check_cxx_compiler_flag(-Wl,--exclude-libs,ALL HAS_SYMBOL_HIDING_CAPABILITY)
+
+  endif()
+
+  set(options EXECUTABLE MODULE SHARED)
+  set(oneValueArgs NAME DOCUMENTATION OUTPUT_NAME)
+  set(multiValueArgs LINK_TO SRC)
+
+  set(prefix _matlab_addmex_prefix)
+  cmake_parse_arguments(${prefix} "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+
+  if(NOT ${prefix}_NAME)
+    message(FATAL_ERROR "[MATLAB] The MEX target name cannot be empty")
+  endif()
+
+  if(NOT ${prefix}_OUTPUT_NAME)
+    set(${prefix}_OUTPUT_NAME ${${prefix}_NAME})
+  endif()
+
+  if(${prefix}_EXECUTABLE)
+    add_executable(${${prefix}_NAME}
+      ${${prefix}_SRC}
+      ${${prefix}_DOCUMENTATION}
+      ${${prefix}_UNPARSED_ARGUMENTS})
+  else()
+    if(${prefix}_MODULE)
+      set(type MODULE)
+    else()
+      set(type SHARED)
+    endif()
+
+    add_library(${${prefix}_NAME}
+      ${type}
+      ${${prefix}_SRC}
+      ${${prefix}_DOCUMENTATION}
+      ${${prefix}_UNPARSED_ARGUMENTS})
+  endif()
+
+  target_include_directories(${${prefix}_NAME} PRIVATE ${Matlab_INCLUDE_DIRS})
+
+  if(DEFINED Matlab_MX_LIBRARY)
+    target_link_libraries(${${prefix}_NAME} ${Matlab_MX_LIBRARY})
+  endif()
+
+  target_link_libraries(${${prefix}_NAME} ${Matlab_MEX_LIBRARY} ${${prefix}_LINK_TO})
+  set_target_properties(${${prefix}_NAME}
+      PROPERTIES
+        PREFIX ""
+        OUTPUT_NAME ${${prefix}_OUTPUT_NAME}
+        SUFFIX ".${Matlab_MEX_EXTENSION}")
+
+
+  # documentation
+  if(NOT ${${prefix}_DOCUMENTATION} STREQUAL "")
+    get_target_property(output_name ${${prefix}_NAME} OUTPUT_NAME)
+    add_custom_command(
+      TARGET ${${prefix}_NAME}
+      PRE_BUILD
+      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${${prefix}_DOCUMENTATION} $<TARGET_FILE_DIR:${${prefix}_NAME}>/${output_name}.m
+      COMMENT "Copy ${${prefix}_NAME} documentation file into the output folder"
+    )
+  endif() # documentation
+
+  # entry point in the mex file + taking care of visibility and symbol clashes.
+  if(WIN32)
+    set_target_properties(${${prefix}_NAME}
+      PROPERTIES
+        DEFINE_SYMBOL "DLL_EXPORT_SYM=__declspec(dllexport)")
+  else()
+
+    if(HAS_MINUS_PTHREAD AND NOT APPLE)
+      # Apparently, compiling with -pthread generated the proper link flags
+      # and some defines at compilation
+      target_compile_options(${${prefix}_NAME} PRIVATE "-pthread")
+    endif()
+
+
+    # if we do not do that, the symbols linked from eg. boost remain weak and
+    # then clash with the ones defined in the matlab process. So by default
+    # the symbols are hidden.
+    # This also means that for shared libraries (like MEX), the entry point
+    # should be explicitly declared with default visibility, otherwise Matlab
+    # cannot find the entry point.
+    # Note that this is particularly meaningful if the MEX wrapper itself
+    # contains symbols that are clashing with Matlab (that are compiled in the
+    # MEX file). In order to propagate the visibility options to the libraries
+    # to which the MEX file is linked against, the -Wl,--exclude-libs,ALL
+    # option should also be specified.
+
+    set_target_properties(${${prefix}_NAME}
+      PROPERTIES
+        CXX_VISIBILITY_PRESET "hidden"
+        C_VISIBILITY_PRESET "hidden"
+        VISIBILITY_INLINES_HIDDEN ON
+    )
+
+    #  get_target_property(
+    #    _previous_link_flags
+    #    ${${prefix}_NAME}
+    #    LINK_FLAGS)
+    #  if(NOT _previous_link_flags)
+    #    set(_previous_link_flags)
+    #  endif()
+
+    #  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+    #    set_target_properties(${${prefix}_NAME}
+    #      PROPERTIES
+    #        LINK_FLAGS "${_previous_link_flags} -Wl,--exclude-libs,ALL"
+    #        # -Wl,--version-script=${_FindMatlab_SELF_DIR}/MatlabLinuxVisibility.map"
+    #    )
+    #  elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+    #    # in this case, all other symbols become hidden.
+    #    set_target_properties(${${prefix}_NAME}
+    #      PROPERTIES
+    #        LINK_FLAGS "${_previous_link_flags} -Wl,-exported_symbol,_mexFunction"
+    #        #-Wl,-exported_symbols_list,${_FindMatlab_SELF_DIR}/MatlabOSXVisilibity.map"
+    #    )
+    #  endif()
+
+
+
+    set_target_properties(${${prefix}_NAME}
+      PROPERTIES
+        DEFINE_SYMBOL "DLL_EXPORT_SYM=__attribute__ ((visibility (\"default\")))"
+    )
+
+
+  endif()
+
+endfunction()
+
+
+# (internal)
+# Used to get the version of matlab, using caching. This basically transforms the
+# output of the root list, with possible unknown version, to a version
+#
+function(_Matlab_get_version_from_root matlab_root matlab_known_version matlab_final_version)
+
+  # if the version is not trivial, we query matlab for that
+  # we keep track of the location of matlab that induced this version
+  #if(NOT DEFINED Matlab_PROG_VERSION_STRING_AUTO_DETECT)
+  #  set(Matlab_PROG_VERSION_STRING_AUTO_DETECT "" CACHE INTERNAL "internal matlab location for the discovered version")
+  #endif()
+
+  if(NOT ${matlab_known_version} STREQUAL "NOTFOUND")
+    # the version is known, we just return it
+    set(${matlab_final_version} ${matlab_known_version} PARENT_SCOPE)
+    set(Matlab_VERSION_STRING_INTERNAL ${matlab_known_version} CACHE INTERNAL "Matlab version (automatically determined)" FORCE)
+    return()
+  endif()
+
+  #
+  set(_matlab_current_program ${Matlab_MAIN_PROGRAM})
+
+  # do we already have a matlab program?
+  if(NOT _matlab_current_program)
+
+    set(_find_matlab_options)
+    if(matlab_root AND EXISTS ${matlab_root})
+      set(_find_matlab_options PATHS ${matlab_root} ${matlab_root}/bin NO_DEFAULT_PATH)
+    endif()
+
+    find_program(
+        _matlab_current_program
+        matlab
+        ${_find_matlab_options}
+        DOC "Matlab main program"
+      )
+  endif()
+
+  if(NOT _matlab_current_program OR NOT EXISTS ${_matlab_current_program})
+    # if not found, clear the dependent variables
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] Cannot find the main matlab program under ${matlab_root}")
+    endif()
+    set(Matlab_PROG_VERSION_STRING_AUTO_DETECT "" CACHE INTERNAL "internal matlab location for the discovered version" FORCE)
+    set(Matlab_VERSION_STRING_INTERNAL "" CACHE INTERNAL "internal matlab location for the discovered version" FORCE)
+    unset(_matlab_current_program)
+    unset(_matlab_current_program CACHE)
+    return()
+  endif()
+
+  # full real path for path comparison
+  get_filename_component(_matlab_main_real_path_tmp "${_matlab_current_program}" REALPATH)
+  unset(_matlab_current_program)
+  unset(_matlab_current_program CACHE)
+
+  # is it the same as the previous one?
+  if(_matlab_main_real_path_tmp STREQUAL Matlab_PROG_VERSION_STRING_AUTO_DETECT)
+    set(${matlab_final_version} ${Matlab_VERSION_STRING_INTERNAL} PARENT_SCOPE)
+    return()
+  endif()
+
+  # update the location of the program
+  set(Matlab_PROG_VERSION_STRING_AUTO_DETECT ${_matlab_main_real_path_tmp} CACHE INTERNAL "internal matlab location for the discovered version" FORCE)
+
+  set(matlab_list_of_all_versions)
+  matlab_get_version_from_matlab_run("${Matlab_PROG_VERSION_STRING_AUTO_DETECT}" matlab_list_of_all_versions)
+
+  list(LENGTH matlab_list_of_all_versions list_of_all_versions_length)
+  if(${list_of_all_versions_length} GREATER 0)
+    list(GET matlab_list_of_all_versions 0 _matlab_version_tmp)
+  else()
+    set(_matlab_version_tmp "unknown")
+  endif()
+
+  # set the version into the cache
+  set(Matlab_VERSION_STRING_INTERNAL ${_matlab_version_tmp} CACHE INTERNAL "Matlab version (automatically determined)" FORCE)
+
+  # warning, just in case several versions found (should not happen)
+  if((${list_of_all_versions_length} GREATER 1) AND MATLAB_FIND_DEBUG)
+    message(WARNING "[MATLAB] Found several versions, taking the first one (versions found ${matlab_list_of_all_versions})")
+  endif()
+
+  # return the updated value
+  set(${matlab_final_version} ${Matlab_VERSION_STRING_INTERNAL} PARENT_SCOPE)
+
+endfunction()
+
+
+
+
+
+
+
+# ###################################
+# Exploring the possible Matlab_ROOTS
+
+# this variable will get all Matlab installations found in the current system.
+set(_matlab_possible_roots)
+
+
+
+if(Matlab_ROOT_DIR)
+  # if the user specifies a possible root, we keep this one
+
+  if(NOT EXISTS ${Matlab_ROOT_DIR})
+    # if Matlab_ROOT_DIR specified but erroneous
+    if(MATLAB_FIND_DEBUG)
+      message(WARNING "[MATLAB] the specified path for Matlab_ROOT_DIR does not exist (${Matlab_ROOT_DIR})")
+    endif()
+  else()
+    # NOTFOUND indicates the code below to search for the version automatically
+    if("${Matlab_VERSION_STRING_INTERNAL}" STREQUAL "")
+      list(APPEND _matlab_possible_roots "NOTFOUND" ${Matlab_ROOT_DIR}) # empty version
+    else()
+      list(APPEND _matlab_possible_roots ${Matlab_VERSION_STRING_INTERNAL} ${Matlab_ROOT_DIR}) # cached version
+    endif()
+  endif()
+
+
+else()
+
+  # if the user does not specify the possible installation root, we look for
+  # one installation using the appropriate heuristics
+
+  if(WIN32)
+
+    # On WIN32, we look for Matlab installation in the registry
+    # if unsuccessful, we look for all known revision and filter the existing
+    # ones.
+
+    # testing if we are able to extract the needed information from the registry
+    set(_matlab_versions_from_registry)
+
+    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+      set(_matlab_win64 ON)
+    else()
+      set(_matlab_win64 OFF)
+    endif()
+
+    matlab_extract_all_installed_versions_from_registry(_matlab_win64 _matlab_versions_from_registry)
+
+    # the returned list is empty, doing the search on all known versions
+    if(NOT _matlab_versions_from_registry)
+
+      if(MATLAB_FIND_DEBUG)
+        message(STATUS "[MATLAB] Search for Matlab from the registry unsuccessful, testing all supported versions")
+      endif()
+
+      extract_matlab_versions_from_registry_brute_force(_matlab_versions_from_registry)
+    endif()
+
+    # filtering the results with the registry keys
+    matlab_get_all_valid_matlab_roots_from_registry("${_matlab_versions_from_registry}" _matlab_possible_roots)
+    unset(_matlab_versions_from_registry)
+
+  elseif(APPLE)
+
+    # on mac, we look for the /Application paths
+    # this corresponds to the behaviour on Windows. On Linux, we do not have
+    # any other guess.
+    matlab_get_supported_releases(_matlab_releases)
+    if(MATLAB_FIND_DEBUG)
+      message(STATUS "[MATLAB] Matlab supported versions ${_matlab_releases}. If more version should be supported "
+                   "the variable MATLAB_ADDITIONAL_VERSIONS can be set according to the documentation")
+    endif()
+
+    foreach(_matlab_current_release IN LISTS _matlab_releases)
+      set(_matlab_full_string "/Applications/MATLAB_${_matlab_current_release}.app")
+      if(EXISTS ${_matlab_full_string})
+        set(_matlab_current_version)
+        matlab_get_version_from_release_name("${_matlab_current_release}" _matlab_current_version)
+        if(MATLAB_FIND_DEBUG)
+          message(STATUS "[MATLAB] Found version ${_matlab_current_release} (${_matlab_current_version}) in ${_matlab_full_string}")
+        endif()
+        list(APPEND _matlab_possible_roots ${_matlab_current_version} ${_matlab_full_string})
+        unset(_matlab_current_version)
+      endif()
+
+      unset(_matlab_full_string)
+    endforeach(_matlab_current_release)
+
+    unset(_matlab_current_release)
+    unset(_matlab_releases)
+
+  endif()
+
+endif()
+
+
+
+list(LENGTH _matlab_possible_roots _numbers_of_matlab_roots)
+if(_numbers_of_matlab_roots EQUAL 0)
+  # if we have not found anything, we fall back on the PATH
+
+
+  # At this point, we have no other choice than trying to find it from PATH.
+  # If set by the user, this wont change
+  find_program(
+    _matlab_main_tmp
+    NAMES matlab)
+
+
+  if(_matlab_main_tmp)
+    # we then populate the list of roots, with empty version
+    if(MATLAB_FIND_DEBUG)
+      message(STATUS "[MATLAB] matlab found from PATH: ${_matlab_main_tmp}")
+    endif()
+
+    # resolve symlinks
+    get_filename_component(_matlab_current_location "${_matlab_main_tmp}" REALPATH)
+
+    # get the directory (the command below has to be run twice)
+    # this will be the matlab root
+    get_filename_component(_matlab_current_location "${_matlab_current_location}" DIRECTORY)
+    get_filename_component(_matlab_current_location "${_matlab_current_location}" DIRECTORY) # Matlab should be in bin
+
+    list(APPEND _matlab_possible_roots "NOTFOUND" ${_matlab_current_location})
+
+    unset(_matlab_current_location)
+
+  endif()
+  unset(_matlab_main_tmp CACHE)
+
+endif()
+
+
+
+
+
+if(MATLAB_FIND_DEBUG)
+  message(STATUS "[MATLAB] Matlab root folders are ${_matlab_possible_roots}")
+endif()
+
+
+
+
+
+# take the first possible Matlab root
+list(LENGTH _matlab_possible_roots _numbers_of_matlab_roots)
+set(Matlab_VERSION_STRING "NOTFOUND")
+if(_numbers_of_matlab_roots GREATER 0)
+  list(GET _matlab_possible_roots 0 Matlab_VERSION_STRING)
+  list(GET _matlab_possible_roots 1 Matlab_ROOT_DIR)
+
+  # adding a warning in case of ambiguity
+  if(_numbers_of_matlab_roots GREATER 2 AND MATLAB_FIND_DEBUG)
+    message(WARNING "[MATLAB] Found several distributions of Matlab. Setting the current version to ${Matlab_VERSION_STRING} (located ${Matlab_ROOT_DIR})."
+                    " If this is not the desired behaviour, provide the -DMatlab_ROOT_DIR=... on the command line")
+  endif()
+endif()
+
+
+# check if the root changed wrt. the previous defined one, if so
+# clear all the cached variables for being able to reconfigure properly
+if(DEFINED Matlab_ROOT_DIR_LAST_CACHED)
+
+  if(NOT Matlab_ROOT_DIR_LAST_CACHED STREQUAL Matlab_ROOT_DIR)
+    set(_Matlab_cached_vars
+        Matlab_INCLUDE_DIRS
+        Matlab_MEX_LIBRARY
+        Matlab_MEX_COMPILER
+        Matlab_MAIN_PROGRAM
+        Matlab_MX_LIBRARY
+        Matlab_ENG_LIBRARY
+        Matlab_MAT_LIBRARY
+        Matlab_MEX_EXTENSION
+        Matlab_SIMULINK_INCLUDE_DIR
+
+        # internal
+        Matlab_MEXEXTENSIONS_PROG
+        Matlab_ROOT_DIR_LAST_CACHED
+        #Matlab_PROG_VERSION_STRING_AUTO_DETECT
+        Matlab_VERSION_STRING_INTERNAL
+        )
+    foreach(_var IN LISTS _Matlab_cached_vars)
+      if(DEFINED ${_var})
+        unset(${_var} CACHE)
+      endif()
+    endforeach()
+  endif()
+endif()
+
+set(Matlab_ROOT_DIR_LAST_CACHED ${Matlab_ROOT_DIR} CACHE INTERNAL "last Matlab root dir location")
+set(Matlab_ROOT_DIR ${Matlab_ROOT_DIR} CACHE PATH "Matlab installation root path" FORCE)
+
+# Fix the version, in case this one is NOTFOUND
+_Matlab_get_version_from_root(
+  "${Matlab_ROOT_DIR}"
+  ${Matlab_VERSION_STRING}
+  Matlab_VERSION_STRING
+)
+
+
+
+
+if(MATLAB_FIND_DEBUG)
+  message(STATUS "[MATLAB] Current version is ${Matlab_VERSION_STRING} located ${Matlab_ROOT_DIR}")
+endif()
+
+
+
+if(Matlab_ROOT_DIR)
+  file(TO_CMAKE_PATH ${Matlab_ROOT_DIR} Matlab_ROOT_DIR)
+endif()
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+  set(_matlab_64Build FALSE)
+else()
+  set(_matlab_64Build TRUE)
+endif()
+
+if(APPLE)
+  set(_matlab_bin_prefix "mac") # i should be for intel
+  set(_matlab_bin_suffix_32bits "i")
+  set(_matlab_bin_suffix_64bits "i64")
+elseif(UNIX)
+  set(_matlab_bin_prefix "gln")
+  set(_matlab_bin_suffix_32bits "x86")
+  set(_matlab_bin_suffix_64bits "xa64")
+else()
+  set(_matlab_bin_prefix "win")
+  set(_matlab_bin_suffix_32bits "32")
+  set(_matlab_bin_suffix_64bits "64")
+endif()
+
+
+
+set(MATLAB_INCLUDE_DIR_TO_LOOK ${Matlab_ROOT_DIR}/extern/include)
+if(_matlab_64Build)
+  set(_matlab_current_suffix ${_matlab_bin_suffix_64bits})
+else()
+  set(_matlab_current_suffix ${_matlab_bin_suffix_32bits})
+endif()
+
+set(Matlab_BINARIES_DIR
+    ${Matlab_ROOT_DIR}/bin/${_matlab_bin_prefix}${_matlab_current_suffix})
+set(Matlab_EXTERN_LIBRARY_DIR
+    ${Matlab_ROOT_DIR}/extern/lib/${_matlab_bin_prefix}${_matlab_current_suffix})
+
+if(WIN32)
+  if(MINGW)
+    set(_matlab_lib_dir_for_search ${Matlab_EXTERN_LIBRARY_DIR}/mingw64)
+  else()
+    set(_matlab_lib_dir_for_search ${Matlab_EXTERN_LIBRARY_DIR}/microsoft)
+  endif()
+  set(_matlab_lib_prefix_for_search "lib")
+else()
+  set(_matlab_lib_dir_for_search ${Matlab_BINARIES_DIR})
+  set(_matlab_lib_prefix_for_search "lib")
+endif()
+
+unset(_matlab_64Build)
+
+
+if(NOT DEFINED Matlab_MEX_EXTENSION)
+  set(_matlab_mex_extension "")
+  matlab_get_mex_suffix("${Matlab_ROOT_DIR}" _matlab_mex_extension)
+
+  # This variable goes to the cache.
+  set(Matlab_MEX_EXTENSION ${_matlab_mex_extension} CACHE STRING "Extensions for the mex targets (automatically given by Matlab)")
+  unset(_matlab_mex_extension)
+endif()
+
+
+if(MATLAB_FIND_DEBUG)
+  message(STATUS "[MATLAB] [DEBUG]_matlab_lib_prefix_for_search = ${_matlab_lib_prefix_for_search} | _matlab_lib_dir_for_search = ${_matlab_lib_dir_for_search}")
+endif()
+
+
+
+# internal
+# This small stub around find_library is to prevent any pollution of CMAKE_FIND_LIBRARY_PREFIXES in the global scope.
+# This is the function to be used below instead of the find_library directives.
+function(_Matlab_find_library _matlab_library_prefix)
+  set(CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} ${_matlab_library_prefix})
+  find_library(${ARGN})
+endfunction()
+
+
+set(_matlab_required_variables)
+
+
+# the MEX library/header are required
+find_path(
+  Matlab_INCLUDE_DIRS
+  mex.h
+  PATHS ${MATLAB_INCLUDE_DIR_TO_LOOK}
+  NO_DEFAULT_PATH
+  )
+list(APPEND _matlab_required_variables Matlab_INCLUDE_DIRS)
+
+_Matlab_find_library(
+  ${_matlab_lib_prefix_for_search}
+  Matlab_MEX_LIBRARY
+  mex
+  PATHS ${_matlab_lib_dir_for_search}
+  NO_DEFAULT_PATH
+)
+
+list(APPEND _matlab_required_variables Matlab_MEX_LIBRARY)
+
+# the MEX extension is required
+list(APPEND _matlab_required_variables Matlab_MEX_EXTENSION)
+
+# the matlab root is required
+list(APPEND _matlab_required_variables Matlab_ROOT_DIR)
+
+# component Mex Compiler
+list(FIND Matlab_FIND_COMPONENTS MEX_COMPILER _matlab_find_mex_compiler)
+if(_matlab_find_mex_compiler GREATER -1)
+  find_program(
+    Matlab_MEX_COMPILER
+    "mex"
+    PATHS ${Matlab_BINARIES_DIR}
+    DOC "Matlab MEX compiler"
+    NO_DEFAULT_PATH
+  )
+  if(Matlab_MEX_COMPILER)
+    set(Matlab_MEX_COMPILER_FOUND TRUE)
+  endif()
+endif()
+unset(_matlab_find_mex_compiler)
+
+# component Matlab program
+list(FIND Matlab_FIND_COMPONENTS MAIN_PROGRAM _matlab_find_matlab_program)
+if(_matlab_find_matlab_program GREATER -1)
+  find_program(
+    Matlab_MAIN_PROGRAM
+    matlab
+    PATHS ${Matlab_ROOT_DIR} ${Matlab_ROOT_DIR}/bin
+    DOC "Matlab main program"
+    NO_DEFAULT_PATH
+  )
+  if(Matlab_MAIN_PROGRAM)
+    set(Matlab_MAIN_PROGRAM_FOUND TRUE)
+  endif()
+endif()
+unset(_matlab_find_matlab_program)
+
+# Component MX library
+list(FIND Matlab_FIND_COMPONENTS MX_LIBRARY _matlab_find_mx)
+if(_matlab_find_mx GREATER -1)
+  _Matlab_find_library(
+    ${_matlab_lib_prefix_for_search}
+    Matlab_MX_LIBRARY
+    mx
+    PATHS ${_matlab_lib_dir_for_search}
+    NO_DEFAULT_PATH
+  )
+  if(Matlab_MX_LIBRARY)
+    set(Matlab_MX_LIBRARY_FOUND TRUE)
+  endif()
+endif()
+unset(_matlab_find_mx)
+
+# Component ENG library
+list(FIND Matlab_FIND_COMPONENTS ENG_LIBRARY _matlab_find_eng)
+if(_matlab_find_eng GREATER -1)
+  _Matlab_find_library(
+    ${_matlab_lib_prefix_for_search}
+    Matlab_ENG_LIBRARY
+    eng
+    PATHS ${_matlab_lib_dir_for_search}
+    NO_DEFAULT_PATH
+  )
+  if(Matlab_ENG_LIBRARY)
+    set(Matlab_ENG_LIBRARY_FOUND TRUE)
+  endif()
+endif()
+unset(_matlab_find_eng)
+
+# Component MAT library
+list(FIND Matlab_FIND_COMPONENTS MAT_LIBRARY _matlab_find_mat)
+if(_matlab_find_mat GREATER -1)
+  _Matlab_find_library(
+    ${_matlab_lib_prefix_for_search}
+    Matlab_MAT_LIBRARY
+    mat
+    PATHS ${_matlab_lib_dir_for_search}
+    NO_DEFAULT_PATH
+  )
+  if(Matlab_MAT_LIBRARY)
+    set(Matlab_MAT_LIBRARY_FOUND TRUE)
+  endif()
+endif()
+unset(_matlab_find_mat)
+
+# Component Simulink
+list(FIND Matlab_FIND_COMPONENTS SIMULINK _matlab_find_simulink)
+if(_matlab_find_simulink GREATER -1)
+  find_path(
+    Matlab_SIMULINK_INCLUDE_DIR
+    simstruc.h
+    PATHS "${Matlab_ROOT_DIR}/simulink/include"
+    NO_DEFAULT_PATH
+    )
+  if(Matlab_SIMULINK_INCLUDE_DIR)
+    set(Matlab_SIMULINK_FOUND TRUE)
+    list(APPEND Matlab_INCLUDE_DIRS "${Matlab_SIMULINK_INCLUDE_DIR}")
+  endif()
+endif()
+unset(_matlab_find_simulink)
+
+unset(_matlab_lib_dir_for_search)
+
+set(Matlab_LIBRARIES ${Matlab_MEX_LIBRARY} ${Matlab_MX_LIBRARY} ${Matlab_ENG_LIBRARY} ${Matlab_MAT_LIBRARY})
+
+find_package_handle_standard_args(
+  Matlab
+  FOUND_VAR Matlab_FOUND
+  REQUIRED_VARS ${_matlab_required_variables}
+  VERSION_VAR Matlab_VERSION_STRING
+  HANDLE_COMPONENTS)
+
+unset(_matlab_required_variables)
+unset(_matlab_bin_prefix)
+unset(_matlab_bin_suffix_32bits)
+unset(_matlab_bin_suffix_64bits)
+unset(_matlab_current_suffix)
+unset(_matlab_lib_dir_for_search)
+unset(_matlab_lib_prefix_for_search)
+
+if(Matlab_INCLUDE_DIRS AND Matlab_LIBRARIES)
+  mark_as_advanced(
+    Matlab_MEX_LIBRARY
+    Matlab_MX_LIBRARY
+    Matlab_ENG_LIBRARY
+    Matlab_MAT_LIBRARY
+    Matlab_INCLUDE_DIRS
+    Matlab_FOUND
+    Matlab_MAIN_PROGRAM
+    Matlab_MEXEXTENSIONS_PROG
+    Matlab_MEX_EXTENSION
+  )
+endif()
diff --git a/share/cmake-3.10/Modules/FindMotif.cmake b/share/cmake-3.10/Modules/FindMotif.cmake
new file mode 100644
index 0000000..7304d95
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindMotif.cmake
@@ -0,0 +1,39 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindMotif
+# ---------
+#
+# Try to find Motif (or lesstif)
+#
+# Once done this will define:
+#
+# ::
+#
+#   MOTIF_FOUND        - system has MOTIF
+#   MOTIF_INCLUDE_DIR  - include paths to use Motif
+#   MOTIF_LIBRARIES    - Link these to use Motif
+
+set(MOTIF_FOUND 0)
+
+if(UNIX)
+  find_path(MOTIF_INCLUDE_DIR
+    Xm/Xm.h
+    /usr/openwin/include
+    )
+
+  find_library(MOTIF_LIBRARIES
+    Xm
+    /usr/openwin/lib
+    )
+
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Motif DEFAULT_MSG MOTIF_LIBRARIES MOTIF_INCLUDE_DIR)
+
+mark_as_advanced(
+  MOTIF_INCLUDE_DIR
+  MOTIF_LIBRARIES
+)
diff --git a/share/cmake-3.10/Modules/FindOpenACC.cmake b/share/cmake-3.10/Modules/FindOpenACC.cmake
new file mode 100644
index 0000000..dc8321d
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenACC.cmake
@@ -0,0 +1,257 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindOpenACC
+-----------
+
+Detect OpenACC support by the compiler.
+
+This module can be used to detect OpenACC support in a compiler.
+If the compiler supports OpenACC, the flags required to compile with
+OpenACC support are returned in variables for the different languages.
+Currently, only PGI, GNU and Cray compilers are supported.
+
+Variables
+^^^^^^^^^
+
+This module will set the following variables per language in your
+project, where ``<lang>`` is one of C, CXX, or Fortran:
+
+``OpenACC_<lang>_FOUND``
+  Variable indicating if OpenACC support for ``<lang>`` was detected.
+``OpenACC_<lang>_FLAGS``
+  OpenACC compiler flags for ``<lang>``, separated by spaces.
+
+The module will also try to provide the OpenACC version variables:
+
+``OpenACC_<lang>_SPEC_DATE``
+  Date of the OpenACC specification implemented by the ``<lang>`` compiler.
+``OpenACC_<lang>_VERSION_MAJOR``
+  Major version of OpenACC implemented by the ``<lang>`` compiler.
+``OpenACC_<lang>_VERSION_MINOR``
+  Minor version of OpenACC implemented by the ``<lang>`` compiler.
+``OpenACC_<lang>_VERSION``
+  OpenACC version implemented by the ``<lang>`` compiler.
+
+The specification date is formatted as given in the OpenACC standard:
+``yyyymm`` where ``yyyy`` and ``mm`` represents the year and month of
+the OpenACC specification implemented by the ``<lang>`` compiler.
+
+Input Variables
+^^^^^^^^^^^^^^^
+
+``OpenACC_ACCEL_TARGET=<target>``
+If set, will the correct target accelerator flag set to the <target> will
+be returned with OpenACC_<lang>_FLAGS.
+#]=======================================================================]
+
+set(OpenACC_C_CXX_TEST_SOURCE
+"
+int main(){
+#ifdef _OPENACC
+  return 0;
+#else
+  breaks_on_purpose
+#endif
+}
+"
+)
+set(OpenACC_Fortran_TEST_SOURCE
+"
+program test
+#ifdef _OPENACC
+  return 0;
+#else
+  breaks_on_purpose
+#endif
+endprogram test
+"
+)
+set(OpenACC_C_CXX_CHECK_VERSION_SOURCE
+"
+#include <stdio.h>
+const char accver_str[] = { 'I', 'N', 'F', 'O', ':', 'O', 'p', 'e', 'n', 'A',
+                            'C', 'C', '-', 'd', 'a', 't', 'e', '[',
+                            ('0' + ((_OPENACC/100000)%10)),
+                            ('0' + ((_OPENACC/10000)%10)),
+                            ('0' + ((_OPENACC/1000)%10)),
+                            ('0' + ((_OPENACC/100)%10)),
+                            ('0' + ((_OPENACC/10)%10)),
+                            ('0' + ((_OPENACC/1)%10)),
+                            ']', '\\0' };
+int main()
+{
+  puts(accver_str);
+  return 0;
+}
+")
+set(OpenACC_Fortran_CHECK_VERSION_SOURCE
+"
+      program acc_ver
+      implicit none
+      integer, parameter :: zero = ichar('0')
+      character, dimension(25), parameter :: accver_str =&
+      (/ 'I', 'N', 'F', 'O', ':', 'O', 'p', 'e', 'n', 'A', 'C', 'C', '-',&
+         'd', 'a', 't', 'e', '[',&
+         char(zero + mod(_OPENACC/100000, 10)),&
+         char(zero + mod(_OPENACC/10000, 10)),&
+         char(zero + mod(_OPENACC/1000, 10)),&
+         char(zero + mod(_OPENACC/100, 10)),&
+         char(zero + mod(_OPENACC/10, 10)),&
+         char(zero + mod(_OPENACC/1, 10)), ']' /)
+      print *, accver_str
+      end program acc_ver
+"
+)
+
+
+function(_OPENACC_WRITE_SOURCE_FILE LANG SRC_FILE_CONTENT_VAR SRC_FILE_NAME SRC_FILE_FULLPATH)
+  set(WORK_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindOpenACC)
+  if("${LANG}" STREQUAL "C")
+    set(SRC_FILE "${WORK_DIR}/${SRC_FILE_NAME}.c")
+    file(WRITE "${SRC_FILE}" "${OpenACC_C_CXX_${SRC_FILE_CONTENT_VAR}}")
+  elseif("${LANG}" STREQUAL "CXX")
+    set(SRC_FILE "${WORK_DIR}/${SRC_FILE_NAME}.cpp")
+    file(WRITE "${SRC_FILE}" "${OpenACC_C_CXX_${SRC_FILE_CONTENT_VAR}}")
+  elseif("${LANG}" STREQUAL "Fortran")
+    set(SRC_FILE "${WORK_DIR}/${SRC_FILE_NAME}.F90")
+    file(WRITE "${SRC_FILE}_in" "${OpenACC_Fortran_${SRC_FILE_CONTENT_VAR}}")
+    configure_file("${SRC_FILE}_in" "${SRC_FILE}" @ONLY)
+  endif()
+  set(${SRC_FILE_FULLPATH} "${SRC_FILE}" PARENT_SCOPE)
+endfunction()
+
+
+function(_OPENACC_GET_FLAGS_CANDIDATE LANG FLAG_VAR)
+  set(ACC_FLAG_PGI "-acc")
+  set(ACC_FLAG_GNU "-fopenacc")
+  set(ACC_FLAG_Cray "-h acc")
+
+  if(DEFINED ACC_FLAG_${CMAKE_${LANG}_COMPILER_ID})
+    set("${FLAG_VAR}" "${ACC_FLAG_${CMAKE_${LANG}_COMPILER_ID}}" PARENT_SCOPE)
+  else()
+    # Fall back to a few common flags.
+    set("${FLAG_VAR}" ${ACC_FLAG_GNU} ${ACC_FLAG_PGI})
+  endif()
+
+endfunction()
+
+
+function(_OPENACC_GET_ACCEL_TARGET_FLAG LANG TARGET FLAG_VAR)
+  # Find target accelerator flags.
+  set(ACC_TARGET_FLAG_PGI "-ta")
+  if(DEFINED ACC_TARGET_FLAG_${CMAKE_${LANG}_COMPILER_ID})
+    set("${FLAG_VAR}" "${ACC_TARGET_FLAG_${CMAKE_${LANG}_COMPILER_ID}}=${TARGET}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+
+function(_OPENACC_GET_VERBOSE_FLAG LANG FLAG_VAR)
+  # Find compiler's verbose flag for OpenACC.
+  set(ACC_VERBOSE_FLAG_PGI "-Minfo=accel")
+  if(DEFINED ACC_VERBOSE_FLAG_${CMAKE_${LANG}_COMPILER_ID})
+    set("${FLAG_VAR}" "${ACC_VERBOSE_FLAG_${CMAKE_${LANG}_COMPILER_ID}}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+
+function(_OPENACC_GET_FLAGS LANG FLAG_VAR)
+  set(FLAG_CANDIDATES "")
+  _OPENACC_GET_FLAGS_CANDIDATE("${LANG}" FLAG_CANDIDATES)
+  _OPENACC_WRITE_SOURCE_FILE("${LANG}" "TEST_SOURCE" OpenACCTryFlag _OPENACC_TEST_SRC)
+
+  foreach(FLAG IN LISTS FLAG_CANDIDATES)
+    try_compile(OpenACC_FLAG_TEST_RESULT ${CMAKE_BINARY_DIR} ${_OPENACC_TEST_SRC}
+      CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${FLAG}"
+      OUTPUT_VARIABLE OpenACC_TRY_COMPILE_OUTPUT
+    )
+    if(OpenACC_FLAG_TEST_RESULT)
+      set("${FLAG_VAR}" "${FLAG}")
+      if(DEFINED OpenACC_ACCEL_TARGET)
+        _OPENACC_GET_ACCEL_TARGET_FLAG("${LANG}" "${OpenACC_ACCEL_TARGET}" TARGET_FLAG)
+        string(APPEND "${FLAG_VAR}" " ${TARGET_FLAG}")
+      endif()
+
+      if(CMAKE_VERBOSE_MAKEFILE)
+        # -Minfo=accel prints out OpenACC's messages on optimizations.
+        _OPENACC_GET_VERBOSE_FLAG("${LANG}" OpenACC_VERBOSE_FLAG)
+        string(APPEND "${FLAG_VAR}" " ${OpenACC_VERBOSE_FLAG}")
+      endif()
+      set("${FLAG_VAR}" "${${FLAG_VAR}}" PARENT_SCOPE)
+      break()
+    endif()
+  endforeach()
+
+endfunction()
+
+
+function(_OPENACC_GET_SPEC_DATE LANG SPEC_DATE)
+  _OPENACC_WRITE_SOURCE_FILE("${LANG}" "CHECK_VERSION_SOURCE" OpenACCCheckVersion _OPENACC_TEST_SRC)
+
+  set(BIN_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindOpenACC/accver_${LANG}.bin")
+  try_compile(OpenACC_SPECTEST_${LANG} "${CMAKE_BINARY_DIR}" "${_OPENACC_TEST_SRC}"
+              CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${OpenACC_${LANG}_FLAGS}"
+              COPY_FILE ${BIN_FILE}
+              OUTPUT_VARIABLE OUTPUT)
+
+  if(${OpenACC_SPECTEST_${LANG}})
+    file(STRINGS ${BIN_FILE} specstr LIMIT_COUNT 1 REGEX "INFO:OpenACC-date")
+    set(regex_spec_date ".*INFO:OpenACC-date\\[0*([^]]*)\\].*")
+    if("${specstr}" MATCHES "${regex_spec_date}")
+      set(${SPEC_DATE} "${CMAKE_MATCH_1}" PARENT_SCOPE)
+    endif()
+  endif()
+endfunction()
+
+
+macro(_OPENACC_SET_VERSION_BY_SPEC_DATE LANG)
+  set(OpenACC_SPEC_DATE_MAP
+    # Combined versions, 2.5 onwards
+    "201510=2.5"
+    # 2013 08 is the corrected version.
+    "201308=2.0"
+    "201306=2.0"
+    "201111=1.0"
+  )
+
+  string(REGEX MATCHALL "${OpenACC_${LANG}_SPEC_DATE}=([0-9]+)\\.([0-9]+)" _version_match "${OpenACC_SPEC_DATE_MAP}")
+  if(NOT _version_match STREQUAL "")
+    set(OpenACC_${LANG}_VERSION_MAJOR ${CMAKE_MATCH_1})
+    set(OpenACC_${LANG}_VERSION_MINOR ${CMAKE_MATCH_2})
+    set(OpenACC_${LANG}_VERSION "${OpenACC_${LANG}_VERSION_MAJOR}.${OpenACC_${LANG}_VERSION_MINOR}")
+  else()
+    unset(OpenACC_${LANG}_VERSION_MAJOR)
+    unset(OpenACC_${LANG}_VERSION_MINOR)
+    unset(OpenACC_${LANG}_VERSION)
+  endif()
+  unset(_version_match)
+  unset(OpenACC_SPEC_DATE_MAP)
+endmacro()
+
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+foreach (LANG IN ITEMS C CXX Fortran)
+  if(CMAKE_${LANG}_COMPILER_LOADED)
+    set(OpenACC_${LANG}_FIND_QUIETLY ${OpenACC_FIND_QUIETLY})
+    set(OpenACC_${LANG}_FIND_REQUIRED ${OpenACC_FIND_REQUIRED})
+    set(OpenACC_${LANG}_FIND_VERSION ${OpenACC_FIND_VERSION})
+    set(OpenACC_${LANG}_FIND_VERSION_EXACT ${OpenACC_FIND_VERSION_EXACT})
+
+    if(NOT DEFINED OpenACC_${LANG}_FLAGS)
+      _OPENACC_GET_FLAGS("${LANG}" OpenACC_${LANG}_FLAGS)
+    endif()
+    _OPENACC_GET_SPEC_DATE("${LANG}" OpenACC_${LANG}_SPEC_DATE)
+    _OPENACC_SET_VERSION_BY_SPEC_DATE("${LANG}")
+
+    find_package_handle_standard_args(OpenACC_${LANG}
+      REQUIRED_VARS OpenACC_${LANG}_FLAGS
+      VERSION_VAR OpenACC_${LANG}_VERSION
+    )
+  endif()
+endforeach()
+
+unset(OpenACC_C_CXX_TEST_SOURCE)
+unset(OpenACC_Fortran_TEST_SOURCE)
+unset(OpenACC_C_CXX_CHECK_VERSION_SOURCE)
+unset(OpenACC_Fortran_CHECK_VERSION_SOURCE)
diff --git a/share/cmake-3.10/Modules/FindOpenAL.cmake b/share/cmake-3.10/Modules/FindOpenAL.cmake
new file mode 100644
index 0000000..c3d202e
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenAL.cmake
@@ -0,0 +1,98 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenAL
+# ----------
+#
+#
+#
+# Locate OpenAL This module defines OPENAL_LIBRARY OPENAL_FOUND, if
+# false, do not try to link to OpenAL OPENAL_INCLUDE_DIR, where to find
+# the headers
+#
+# $OPENALDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OPENALDIR used in building OpenAL.
+#
+# Created by Eric Wing.  This was influenced by the FindSDL.cmake
+# module.
+
+# This makes the presumption that you are include al.h like
+# #include "al.h"
+# and not
+# #include <AL/al.h>
+# The reason for this is that the latter is not entirely portable.
+# Windows/Creative Labs does not by default put their headers in AL/ and
+# OS X uses the convention <OpenAL/al.h>.
+#
+# For Windows, Creative Labs seems to have added a registry key for their
+# OpenAL 1.1 installer. I have added that key to the list of search paths,
+# however, the key looks like it could be a little fragile depending on
+# if they decide to change the 1.00.0000 number for bug fix releases.
+# Also, they seem to have laid down groundwork for multiple library platforms
+# which puts the library in an extra subdirectory. Currently there is only
+# Win32 and I have hardcoded that here. This may need to be adjusted as
+# platforms are introduced.
+# The OpenAL 1.0 installer doesn't seem to have a useful key I can use.
+# I do not know if the Nvidia OpenAL SDK has a registry key.
+#
+# For OS X, remember that OpenAL was added by Apple in 10.4 (Tiger).
+# To support the framework, I originally wrote special framework detection
+# code in this module which I have now removed with CMake's introduction
+# of native support for frameworks.
+# In addition, OpenAL is open source, and it is possible to compile on Panther.
+# Furthermore, due to bugs in the initial OpenAL release, and the
+# transition to OpenAL 1.1, it is common to need to override the built-in
+# framework.
+# Per my request, CMake should search for frameworks first in
+# the following order:
+# ~/Library/Frameworks/OpenAL.framework/Headers
+# /Library/Frameworks/OpenAL.framework/Headers
+# /System/Library/Frameworks/OpenAL.framework/Headers
+#
+# On OS X, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of
+# OPENAL_LIBRARY to override this selection or set the CMake environment
+# CMAKE_INCLUDE_PATH to modify the search paths.
+
+find_path(OPENAL_INCLUDE_DIR al.h
+  HINTS
+    ENV OPENALDIR
+  PATH_SUFFIXES include/AL include/OpenAL include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
+)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(_OpenAL_ARCH_DIR libs/Win64)
+else()
+  set(_OpenAL_ARCH_DIR libs/Win32)
+endif()
+
+find_library(OPENAL_LIBRARY
+  NAMES OpenAL al openal OpenAL32
+  HINTS
+    ENV OPENALDIR
+  PATH_SUFFIXES libx32 lib64 lib libs64 libs ${_OpenAL_ARCH_DIR}
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
+)
+
+unset(_OpenAL_ARCH_DIR)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenAL  DEFAULT_MSG  OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
+
+mark_as_advanced(OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindOpenCL.cmake b/share/cmake-3.10/Modules/FindOpenCL.cmake
new file mode 100644
index 0000000..0db2dd2
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenCL.cmake
@@ -0,0 +1,154 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenCL
+# ----------
+#
+# Try to find OpenCL
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` target ``OpenCL::OpenCL``, if
+# OpenCL has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables::
+#
+#   OpenCL_FOUND          - True if OpenCL was found
+#   OpenCL_INCLUDE_DIRS   - include directories for OpenCL
+#   OpenCL_LIBRARIES      - link against this library to use OpenCL
+#   OpenCL_VERSION_STRING - Highest supported OpenCL version (eg. 1.2)
+#   OpenCL_VERSION_MAJOR  - The major version of the OpenCL implementation
+#   OpenCL_VERSION_MINOR  - The minor version of the OpenCL implementation
+#
+# The module will also define two cache variables::
+#
+#   OpenCL_INCLUDE_DIR    - the OpenCL include directory
+#   OpenCL_LIBRARY        - the path to the OpenCL library
+#
+
+function(_FIND_OPENCL_VERSION)
+  include(CheckSymbolExists)
+  include(CMakePushCheckState)
+  set(CMAKE_REQUIRED_QUIET ${OpenCL_FIND_QUIETLY})
+
+  CMAKE_PUSH_CHECK_STATE()
+  foreach(VERSION "2_2" "2_1" "2_0" "1_2" "1_1" "1_0")
+    set(CMAKE_REQUIRED_INCLUDES "${OpenCL_INCLUDE_DIR}")
+
+    if(APPLE)
+      CHECK_SYMBOL_EXISTS(
+        CL_VERSION_${VERSION}
+        "${OpenCL_INCLUDE_DIR}/Headers/cl.h"
+        OPENCL_VERSION_${VERSION})
+    else()
+      CHECK_SYMBOL_EXISTS(
+        CL_VERSION_${VERSION}
+        "${OpenCL_INCLUDE_DIR}/CL/cl.h"
+        OPENCL_VERSION_${VERSION})
+    endif()
+
+    if(OPENCL_VERSION_${VERSION})
+      string(REPLACE "_" "." VERSION "${VERSION}")
+      set(OpenCL_VERSION_STRING ${VERSION} PARENT_SCOPE)
+      string(REGEX MATCHALL "[0-9]+" version_components "${VERSION}")
+      list(GET version_components 0 major_version)
+      list(GET version_components 1 minor_version)
+      set(OpenCL_VERSION_MAJOR ${major_version} PARENT_SCOPE)
+      set(OpenCL_VERSION_MINOR ${minor_version} PARENT_SCOPE)
+      break()
+    endif()
+  endforeach()
+  CMAKE_POP_CHECK_STATE()
+endfunction()
+
+find_path(OpenCL_INCLUDE_DIR
+  NAMES
+    CL/cl.h OpenCL/cl.h
+  PATHS
+    ENV "PROGRAMFILES(X86)"
+    ENV AMDAPPSDKROOT
+    ENV INTELOCLSDKROOT
+    ENV NVSDKCOMPUTE_ROOT
+    ENV CUDA_PATH
+    ENV ATISTREAMSDKROOT
+  PATH_SUFFIXES
+    include
+    OpenCL/common/inc
+    "AMD APP/include")
+
+_FIND_OPENCL_VERSION()
+
+if(WIN32)
+  if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    find_library(OpenCL_LIBRARY
+      NAMES OpenCL
+      PATHS
+        ENV "PROGRAMFILES(X86)"
+        ENV AMDAPPSDKROOT
+        ENV INTELOCLSDKROOT
+        ENV CUDA_PATH
+        ENV NVSDKCOMPUTE_ROOT
+        ENV ATISTREAMSDKROOT
+      PATH_SUFFIXES
+        "AMD APP/lib/x86"
+        lib/x86
+        lib/Win32
+        OpenCL/common/lib/Win32)
+  elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    find_library(OpenCL_LIBRARY
+      NAMES OpenCL
+      PATHS
+        ENV "PROGRAMFILES(X86)"
+        ENV AMDAPPSDKROOT
+        ENV INTELOCLSDKROOT
+        ENV CUDA_PATH
+        ENV NVSDKCOMPUTE_ROOT
+        ENV ATISTREAMSDKROOT
+      PATH_SUFFIXES
+        "AMD APP/lib/x86_64"
+        lib/x86_64
+        lib/x64
+        OpenCL/common/lib/x64)
+  endif()
+else()
+  find_library(OpenCL_LIBRARY
+    NAMES OpenCL
+    PATHS
+      ENV AMDAPPSDKROOT
+    PATH_SUFFIXES
+      lib/x86_64
+      lib/x64)
+endif()
+
+set(OpenCL_LIBRARIES ${OpenCL_LIBRARY})
+set(OpenCL_INCLUDE_DIRS ${OpenCL_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(
+  OpenCL
+  FOUND_VAR OpenCL_FOUND
+  REQUIRED_VARS OpenCL_LIBRARY OpenCL_INCLUDE_DIR
+  VERSION_VAR OpenCL_VERSION_STRING)
+
+mark_as_advanced(
+  OpenCL_INCLUDE_DIR
+  OpenCL_LIBRARY)
+
+if(OpenCL_FOUND AND NOT TARGET OpenCL::OpenCL)
+  if(OpenCL_LIBRARY MATCHES "/([^/]+)\\.framework$")
+    add_library(OpenCL::OpenCL INTERFACE IMPORTED)
+    set_target_properties(OpenCL::OpenCL PROPERTIES
+      INTERFACE_LINK_LIBRARIES "${OpenCL_LIBRARY}")
+  else()
+    add_library(OpenCL::OpenCL UNKNOWN IMPORTED)
+    set_target_properties(OpenCL::OpenCL PROPERTIES
+      IMPORTED_LOCATION "${OpenCL_LIBRARY}")
+  endif()
+  set_target_properties(OpenCL::OpenCL PROPERTIES
+    INTERFACE_INCLUDE_DIRECTORIES "${OpenCL_INCLUDE_DIRS}")
+endif()
diff --git a/share/cmake-3.10/Modules/FindOpenGL.cmake b/share/cmake-3.10/Modules/FindOpenGL.cmake
new file mode 100644
index 0000000..9063492
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenGL.cmake
@@ -0,0 +1,517 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenGL
+# ----------
+#
+# FindModule for OpenGL and GLU.
+#
+# Optional COMPONENTS
+# ^^^^^^^^^^^^^^^^^^^
+#
+# This module respects several optional COMPONENTS: ``EGL``, ``GLX``, and
+# ``OpenGL``.  There are corresponding import targets for each of these flags.
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the :prop_tgt:`IMPORTED` targets:
+#
+# ``OpenGL::GL``
+#  Defined to the platform-specific OpenGL libraries if the system has OpenGL.
+# ``OpenGL::OpenGL``
+#  Defined to libOpenGL if the system is GLVND-based.
+#  ``OpenGL::GL``
+# ``OpenGL::GLU``
+#  Defined if the system has GLU.
+# ``OpenGL::GLX``
+#  Defined if the system has GLX.
+# ``OpenGL::EGL``
+#  Defined if the system has EGL.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module sets the following variables:
+#
+# ``OPENGL_FOUND``
+#  True, if the system has OpenGL and all components are found.
+# ``OPENGL_XMESA_FOUND``
+#  True, if the system has XMESA.
+# ``OPENGL_GLU_FOUND``
+#  True, if the system has GLU.
+# ``OpenGL_OpenGL_FOUND``
+#  True, if the system has an OpenGL library.
+# ``OpenGL_GLX_FOUND``
+#  True, if the system has GLX.
+# ``OpenGL_EGL_FOUND``
+#  True, if the system has EGL.
+# ``OPENGL_INCLUDE_DIR``
+#  Path to the OpenGL include directory.
+# ``OPENGL_EGL_INCLUDE_DIRS``
+#  Path to the EGL include directory.
+# ``OPENGL_LIBRARIES``
+#  Paths to the OpenGL library, windowing system libraries, and GLU libraries.
+#  On Linux, this assumes GLX and is never correct for EGL-based targets.
+#  Clients are encouraged to use the ``OpenGL::*`` import targets instead.
+#
+# Cache variables
+# ^^^^^^^^^^^^^^^
+#
+# The following cache variables may also be set:
+#
+# ``OPENGL_egl_LIBRARY``
+#  Path to the EGL library.
+# ``OPENGL_glu_LIBRARY``
+#  Path to the GLU library.
+# ``OPENGL_glx_LIBRARY``
+#  Path to the GLVND 'GLX' library.
+# ``OPENGL_opengl_LIBRARY``
+#  Path to the GLVND 'OpenGL' library
+# ``OPENGL_gl_LIBRARY``
+#  Path to the OpenGL library.  New code should prefer the ``OpenGL::*`` import
+#  targets.
+#
+# Linux-specific
+# ^^^^^^^^^^^^^^
+#
+# Some Linux systems utilize GLVND as a new ABI for OpenGL.  GLVND separates
+# context libraries from OpenGL itself; OpenGL lives in "libOpenGL", and
+# contexts are defined in "libGLX" or "libEGL".  GLVND is currently the only way
+# to get OpenGL 3+ functionality via EGL in a manner portable across vendors.
+# Projects may use GLVND explicitly with target ``OpenGL::OpenGL`` and either
+# ``OpenGL::GLX`` or ``OpenGL::EGL``.
+#
+# Projects may use the ``OpenGL::GL`` target (or ``OPENGL_LIBRARIES`` variable)
+# to use legacy GL interfaces.  These will use the legacy GL library located
+# by ``OPENGL_gl_LIBRARY``, if available.  If ``OPENGL_gl_LIBRARY`` is empty or
+# not found and GLVND is available, the ``OpenGL::GL`` target will use GLVND
+# ``OpenGL::OpenGL`` and ``OpenGL::GLX`` (and the ``OPENGL_LIBRARIES``
+# variable will use the corresponding libraries).  Thus, for non-EGL-based
+# Linux targets, the ``OpenGL::GL`` target is most portable.
+#
+# A ``OpenGL_GL_PREFERENCE`` variable may be set to specify the preferred way
+# to provide legacy GL interfaces in case multiple choices are available.
+# The value may be one of:
+#
+# ``GLVND``
+#  If the GLVND OpenGL and GLX libraries are available, prefer them.
+#  This forces ``OPENGL_gl_LIBRARY`` to be empty.
+#  This is the default if components were requested (since components
+#  correspond to GLVND libraries).
+#
+# ``LEGACY``
+#  Prefer to use the legacy libGL library, if available.
+#  This is the default if no components were requested.
+#
+# For EGL targets the client must rely on GLVND support on the user's system.
+# Linking should use the ``OpenGL::OpenGL OpenGL::EGL`` targets.  Using GLES*
+# libraries is theoretically possible in place of ``OpenGL::OpenGL``, but this
+# module does not currently support that; contributions welcome.
+#
+# ``OPENGL_egl_LIBRARY`` and ``OPENGL_EGL_INCLUDE_DIRS`` are defined in the case of
+# GLVND.  For non-GLVND Linux and other systems these are left undefined.
+#
+# macOS-Specific
+# ^^^^^^^^^^^^^^
+#
+# On OSX FindOpenGL defaults to using the framework version of OpenGL. People
+# will have to change the cache values of OPENGL_glu_LIBRARY and
+# OPENGL_gl_LIBRARY to use OpenGL with X11 on OSX.
+
+set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
+
+# Provide OPENGL_USE_<C> variables for each component.
+foreach(component ${OpenGL_FIND_COMPONENTS})
+  string(TOUPPER ${component} _COMPONENT)
+  set(OPENGL_USE_${_COMPONENT} 1)
+endforeach()
+
+if (CYGWIN)
+  find_path(OPENGL_INCLUDE_DIR GL/gl.h )
+  list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
+
+  find_library(OPENGL_gl_LIBRARY opengl32 )
+  find_library(OPENGL_glu_LIBRARY glu32 )
+
+elseif (WIN32)
+
+  if(BORLAND)
+    set (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
+    set (OPENGL_glu_LIBRARY import32 CACHE STRING "GLU library for win32")
+  else()
+    set (OPENGL_gl_LIBRARY opengl32 CACHE STRING "OpenGL library for win32")
+    set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
+  endif()
+
+elseif (APPLE)
+  # The OpenGL.framework provides both gl and glu
+  find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL library for OS X")
+  find_library(OPENGL_glu_LIBRARY OpenGL DOC
+    "GLU library for OS X (usually same as OpenGL library)")
+  find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OS X")
+  list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
+
+else()
+  if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
+    # Handle HP-UX cases where we only want to find OpenGL in either hpux64
+    # or hpux32 depending on if we're doing a 64 bit build.
+    if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+      set(_OPENGL_LIB_PATH
+        /opt/graphics/OpenGL/lib/hpux32/)
+    else()
+      set(_OPENGL_LIB_PATH
+        /opt/graphics/OpenGL/lib/hpux64/
+        /opt/graphics/OpenGL/lib/pa20_64)
+    endif()
+  elseif(CMAKE_SYSTEM_NAME STREQUAL Haiku)
+    set(_OPENGL_LIB_PATH
+      /boot/develop/lib/x86)
+    set(_OPENGL_INCLUDE_PATH
+      /boot/develop/headers/os/opengl)
+  endif()
+
+  # The first line below is to make sure that the proper headers
+  # are used on a Linux machine with the NVidia drivers installed.
+  # They replace Mesa with NVidia's own library but normally do not
+  # install headers and that causes the linking to
+  # fail since the compiler finds the Mesa headers but NVidia's library.
+  # Make sure the NVIDIA directory comes BEFORE the others.
+  #  - Atanas Georgiev <atanas@cs.columbia.edu>
+  find_path(OPENGL_INCLUDE_DIR GL/gl.h
+    /usr/share/doc/NVIDIA_GLX-1.0/include
+    /usr/openwin/share/include
+    /opt/graphics/OpenGL/include /usr/X11R6/include
+    ${_OPENGL_INCLUDE_PATH}
+  )
+  find_path(OPENGL_GLX_INCLUDE_DIR GL/glx.h ${_OPENGL_INCLUDE_PATH})
+  find_path(OPENGL_EGL_INCLUDE_DIR EGL/egl.h ${_OPENGL_INCLUDE_PATH})
+  find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
+    /usr/share/doc/NVIDIA_GLX-1.0/include
+    /usr/openwin/share/include
+    /opt/graphics/OpenGL/include /usr/X11R6/include
+  )
+
+  # Search for the GLVND libraries.  We do this regardless of COMPONENTS; we'll
+  # take into account the COMPONENTS logic later.
+  find_library(OPENGL_opengl_LIBRARY
+    NAMES OpenGL
+    PATHS /usr/X11R6/lib
+          ${_OPENGL_LIB_PATH}
+  )
+
+  find_library(OPENGL_glx_LIBRARY
+    NAMES GLX
+    PATHS /usr/X11R6/lib
+          ${_OPENGL_LIB_PATH}
+  )
+
+  find_library(OPENGL_egl_LIBRARY
+    NAMES EGL
+    PATHS ${_OPENGL_LIB_PATH}
+  )
+
+  find_library(OPENGL_glu_LIBRARY
+    NAMES GLU MesaGLU
+    PATHS ${OPENGL_gl_LIBRARY}
+          /opt/graphics/OpenGL/lib
+          /usr/openwin/lib
+          /usr/shlib /usr/X11R6/lib
+  )
+
+  if(NOT DEFINED OpenGL_GL_PREFERENCE)
+    set(OpenGL_GL_PREFERENCE "")
+  endif()
+  if(NOT OpenGL_GL_PREFERENCE STREQUAL "")
+    # A preference has been explicitly specified.
+    if(NOT OpenGL_GL_PREFERENCE MATCHES "^(GLVND|LEGACY)$")
+      message(FATAL_ERROR
+        "OpenGL_GL_PREFERENCE value '${OpenGL_GL_PREFERENCE}' not recognized.  "
+        "Allowed values are 'GLVND' and 'LEGACY'."
+        )
+    endif()
+  elseif(OpenGL_FIND_COMPONENTS)
+    # No preference was explicitly specified, but the caller did request
+    # at least one GLVND component.  Prefer GLVND for legacy GL.
+    set(OpenGL_GL_PREFERENCE "GLVND")
+  else()
+    # No preference was explicitly specified and no GLVND components were
+    # requested.  Prefer libGL for legacy GL.
+    set(OpenGL_GL_PREFERENCE "LEGACY")
+  endif()
+
+  if("x${OpenGL_GL_PREFERENCE}x" STREQUAL "xGLVNDx" AND OPENGL_opengl_LIBRARY AND OPENGL_glx_LIBRARY)
+    # We can provide legacy GL using GLVND libraries.
+    # Do not use any legacy GL library.
+    set(OPENGL_gl_LIBRARY "")
+  else()
+    # We cannot provide legacy GL using GLVND libraries.
+    # Search for the legacy GL library.
+    find_library(OPENGL_gl_LIBRARY
+      NAMES GL MesaGL
+      PATHS /opt/graphics/OpenGL/lib
+            /usr/openwin/lib
+            /usr/shlib /usr/X11R6/lib
+            ${_OPENGL_LIB_PATH}
+      )
+  endif()
+
+  # FPHSA cannot handle "this OR that is required", so we conditionally set what
+  # it must look for.  First clear any previous config we might have done:
+  set(_OpenGL_REQUIRED_VARS)
+
+  # now we append the libraries as appropriate.  The complicated logic
+  # basically comes down to "use libOpenGL when we can, and add in specific
+  # context mechanisms when requested, or we need them to preserve the previous
+  # default where glx is always available."
+  if((NOT OPENGL_USE_EGL AND
+      NOT OPENGL_opengl_LIBRARY AND
+          OPENGL_glx_LIBRARY AND
+      NOT OPENGL_gl_LIBRARY) OR
+     (NOT OPENGL_USE_EGL AND
+      NOT OPENGL_glx_LIBRARY AND
+      NOT OPENGL_gl_LIBRARY) OR
+     (NOT OPENGL_USE_EGL AND
+          OPENGL_opengl_LIBRARY AND
+          OPENGL_glx_LIBRARY) OR
+     (    OPENGL_USE_EGL))
+    list(APPEND _OpenGL_REQUIRED_VARS OPENGL_opengl_LIBRARY)
+  endif()
+
+  # GLVND GLX library.  Preferred when available.
+  if((NOT OPENGL_USE_OPENGL AND
+      NOT OPENGL_USE_GLX AND
+      NOT OPENGL_USE_EGL AND
+      NOT OPENGL_glx_LIBRARY AND
+      NOT OPENGL_gl_LIBRARY) OR
+     (    OPENGL_USE_GLX AND
+      NOT OPENGL_USE_EGL AND
+      NOT OPENGL_glx_LIBRARY AND
+      NOT OPENGL_gl_LIBRARY) OR
+     (NOT OPENGL_USE_EGL AND
+          OPENGL_opengl_LIBRARY AND
+          OPENGL_glx_LIBRARY) OR
+     (OPENGL_USE_GLX AND OPENGL_USE_EGL))
+    list(APPEND _OpenGL_REQUIRED_VARS OPENGL_glx_LIBRARY)
+  endif()
+
+  # GLVND EGL library.
+  if(OPENGL_USE_EGL)
+    list(APPEND _OpenGL_REQUIRED_VARS OPENGL_egl_LIBRARY)
+  endif()
+
+  # Old-style "libGL" library: used as a fallback when GLVND isn't available.
+  if((NOT OPENGL_USE_EGL AND
+      NOT OPENGL_opengl_LIBRARY AND
+          OPENGL_glx_LIBRARY AND
+          OPENGL_gl_LIBRARY) OR
+     (NOT OPENGL_USE_EGL AND
+      NOT OPENGL_glx_LIBRARY AND
+          OPENGL_gl_LIBRARY))
+    list(APPEND _OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
+  endif()
+
+  # We always need the 'gl.h' include dir.
+  list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
+
+  unset(_OPENGL_INCLUDE_PATH)
+  unset(_OPENGL_LIB_PATH)
+
+  find_library(OPENGL_glu_LIBRARY
+    NAMES GLU MesaGLU
+    PATHS ${OPENGL_gl_LIBRARY}
+          /opt/graphics/OpenGL/lib
+          /usr/openwin/lib
+          /usr/shlib /usr/X11R6/lib
+  )
+endif ()
+
+if(OPENGL_xmesa_INCLUDE_DIR)
+  set( OPENGL_XMESA_FOUND "YES" )
+else()
+  set( OPENGL_XMESA_FOUND "NO" )
+endif()
+
+if(OPENGL_glu_LIBRARY)
+  set( OPENGL_GLU_FOUND "YES" )
+else()
+  set( OPENGL_GLU_FOUND "NO" )
+endif()
+
+# OpenGL_OpenGL_FOUND is a bit unique in that it is okay if /either/ libOpenGL
+# or libGL is found.
+# Using libGL with libEGL is never okay, though; we handle that case later.
+if(NOT OPENGL_opengl_LIBRARY AND NOT OPENGL_gl_LIBRARY)
+  set(OpenGL_OpenGL_FOUND FALSE)
+else()
+  set(OpenGL_OpenGL_FOUND TRUE)
+endif()
+
+if(OPENGL_glx_LIBRARY AND OPENGL_GLX_INCLUDE_DIR)
+  set(OpenGL_GLX_FOUND TRUE)
+else()
+  set(OpenGL_GLX_FOUND FALSE)
+endif()
+
+if(OPENGL_egl_LIBRARY AND OPENGL_EGL_INCLUDE_DIR)
+  set(OpenGL_EGL_FOUND TRUE)
+else()
+  set(OpenGL_EGL_FOUND FALSE)
+endif()
+
+# User-visible names should be plural.
+if(OPENGL_EGL_INCLUDE_DIR)
+  set(OPENGL_EGL_INCLUDE_DIRS ${OPENGL_EGL_INCLUDE_DIR})
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL REQUIRED_VARS ${_OpenGL_REQUIRED_VARS}
+                                  HANDLE_COMPONENTS)
+unset(_OpenGL_REQUIRED_VARS)
+
+# OpenGL:: targets
+if(OPENGL_FOUND)
+  # ::OpenGL is a GLVND library, and thus Linux-only: we don't bother checking
+  # for a framework version of this library.
+  if(OPENGL_opengl_LIBRARY AND NOT TARGET OpenGL::OpenGL)
+    if(IS_ABSOLUTE "${OPENGL_opengl_LIBRARY}")
+      add_library(OpenGL::OpenGL UNKNOWN IMPORTED)
+      set_target_properties(OpenGL::OpenGL PROPERTIES IMPORTED_LOCATION
+                            "${OPENGL_opengl_LIBRARY}")
+    else()
+      add_library(OpenGL::OpenGL INTERFACE IMPORTED)
+      set_target_properties(OpenGL::OpenGL PROPERTIES IMPORTED_LIBNAME
+                            "${OPENGL_opengl_LIBRARY}")
+    endif()
+    set_target_properties(OpenGL::OpenGL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+                          "${OPENGL_INCLUDE_DIR}")
+  endif()
+
+  # ::GLX is a GLVND library, and thus Linux-only: we don't bother checking
+  # for a framework version of this library.
+  if(OpenGL_GLX_FOUND AND NOT TARGET OpenGL::GLX)
+    if(IS_ABSOLUTE "${OPENGL_glx_LIBRARY}")
+      add_library(OpenGL::GLX UNKNOWN IMPORTED)
+      set_target_properties(OpenGL::GLX PROPERTIES IMPORTED_LOCATION
+                            "${OPENGL_glx_LIBRARY}")
+    else()
+      add_library(OpenGL::GLX INTERFACE IMPORTED)
+      set_target_properties(OpenGL::GLX PROPERTIES IMPORTED_LIBNAME
+                            "${OPENGL_glx_LIBRARY}")
+    endif()
+    set_target_properties(OpenGL::GLX PROPERTIES INTERFACE_LINK_LIBRARIES
+                          OpenGL::OpenGL)
+    set_target_properties(OpenGL::GLX PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+                          "${OPENGL_GLX_INCLUDE_DIR}")
+  endif()
+
+  if(OPENGL_gl_LIBRARY AND NOT TARGET OpenGL::GL)
+    # A legacy GL library is available, so use it for the legacy GL target.
+    if(IS_ABSOLUTE "${OPENGL_gl_LIBRARY}")
+      add_library(OpenGL::GL UNKNOWN IMPORTED)
+      if(OPENGL_gl_LIBRARY MATCHES "/([^/]+)\\.framework$")
+        set(_gl_fw "${OPENGL_gl_LIBRARY}/${CMAKE_MATCH_1}")
+        if(EXISTS "${_gl_fw}.tbd")
+          string(APPEND _gl_fw ".tbd")
+        endif()
+        set_target_properties(OpenGL::GL PROPERTIES
+          IMPORTED_LOCATION "${_gl_fw}")
+      else()
+        set_target_properties(OpenGL::GL PROPERTIES
+          IMPORTED_LOCATION "${OPENGL_gl_LIBRARY}")
+      endif()
+    else()
+      add_library(OpenGL::GL INTERFACE IMPORTED)
+      set_target_properties(OpenGL::GL PROPERTIES
+        IMPORTED_LIBNAME "${OPENGL_gl_LIBRARY}")
+    endif()
+    set_target_properties(OpenGL::GL PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${OPENGL_INCLUDE_DIR}")
+  elseif(NOT TARGET OpenGL::GL AND TARGET OpenGL::OpenGL AND TARGET OpenGL::GLX)
+    # A legacy GL library is not available, but we can provide the legacy GL
+    # target using GLVND OpenGL+GLX.
+    add_library(OpenGL::GL INTERFACE IMPORTED)
+    set_target_properties(OpenGL::GL PROPERTIES INTERFACE_LINK_LIBRARIES
+                          OpenGL::OpenGL)
+    set_property(TARGET OpenGL::GL APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+                 OpenGL::GLX)
+    set_target_properties(OpenGL::GL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+                          "${OPENGL_INCLUDE_DIR}")
+  endif()
+
+  # ::EGL is a GLVND library, and thus Linux-only: we don't bother checking
+  # for a framework version of this library.
+  # Note we test for OpenGL::OpenGL as a target.  When this module is updated to
+  # support GLES, we would additionally want to check for the hypothetical GLES
+  # target and enable EGL if either ::GLES or ::OpenGL is created.
+  if(TARGET OpenGL::OpenGL AND OpenGL_EGL_FOUND AND NOT TARGET OpenGL::EGL)
+    if(IS_ABSOLUTE "${OPENGL_egl_LIBRARY}")
+      add_library(OpenGL::EGL UNKNOWN IMPORTED)
+      set_target_properties(OpenGL::EGL PROPERTIES IMPORTED_LOCATION
+                            "${OPENGL_egl_LIBRARY}")
+    else()
+      add_library(OpenGL::EGL INTERFACE IMPORTED)
+      set_target_properties(OpenGL::EGL PROPERTIES IMPORTED_LIBNAME
+                            "${OPENGL_egl_LIBRARY}")
+    endif()
+    set_target_properties(OpenGL::EGL PROPERTIES INTERFACE_LINK_LIBRARIES
+                          OpenGL::OpenGL)
+    # Note that EGL's include directory is different from OpenGL/GLX's!
+    set_target_properties(OpenGL::EGL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+                          "${OPENGL_EGL_INCLUDE_DIR}")
+  endif()
+
+  if(OPENGL_GLU_FOUND AND NOT TARGET OpenGL::GLU)
+    if(IS_ABSOLUTE "${OPENGL_glu_LIBRARY}")
+      add_library(OpenGL::GLU UNKNOWN IMPORTED)
+      if(OPENGL_glu_LIBRARY MATCHES "/([^/]+)\\.framework$")
+        set(_glu_fw "${OPENGL_glu_LIBRARY}/${CMAKE_MATCH_1}")
+        if(EXISTS "${_glu_fw}.tbd")
+          string(APPEND _glu_fw ".tbd")
+        endif()
+        set_target_properties(OpenGL::GLU PROPERTIES
+          IMPORTED_LOCATION "${_glu_fw}")
+      else()
+        set_target_properties(OpenGL::GLU PROPERTIES
+          IMPORTED_LOCATION "${OPENGL_glu_LIBRARY}")
+      endif()
+    else()
+      add_library(OpenGL::GLU INTERFACE IMPORTED)
+      set_target_properties(OpenGL::GLU PROPERTIES
+        IMPORTED_LIBNAME "${OPENGL_glu_LIBRARY}")
+    endif()
+    set_target_properties(OpenGL::GLU PROPERTIES
+      INTERFACE_LINK_LIBRARIES OpenGL::GL)
+  endif()
+
+  # OPENGL_LIBRARIES mirrors OpenGL::GL's logic ...
+  if(OPENGL_gl_LIBRARY)
+    set(OPENGL_LIBRARIES ${OPENGL_gl_LIBRARY})
+  elseif(TARGET OpenGL::OpenGL AND TARGET OpenGL::GLX)
+    set(OPENGL_LIBRARIES ${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY})
+  else()
+    set(OPENGL_LIBRARIES "")
+  endif()
+  # ... and also includes GLU, if available.
+  if(TARGET OpenGL::GLU)
+    list(APPEND OPENGL_LIBRARIES ${OPENGL_glu_LIBRARY})
+  endif()
+endif()
+
+# This deprecated setting is for backward compatibility with CMake1.4
+set(OPENGL_LIBRARY ${OPENGL_LIBRARIES})
+# 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
+)
diff --git a/share/cmake-3.10/Modules/FindOpenMP.cmake b/share/cmake-3.10/Modules/FindOpenMP.cmake
new file mode 100644
index 0000000..489476b
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenMP.cmake
@@ -0,0 +1,513 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenMP
+# ----------
+#
+# Finds OpenMP support
+#
+# This module can be used to detect OpenMP support in a compiler.  If
+# the compiler supports OpenMP, the flags required to compile with
+# OpenMP support are returned in variables for the different languages.
+# The variables may be empty if the compiler does not need a special
+# flag to support OpenMP.
+#
+# Variables
+# ^^^^^^^^^
+#
+# The module exposes the components ``C``, ``CXX``, and ``Fortran``.
+# Each of these controls the various languages to search OpenMP support for.
+#
+# Depending on the enabled components the following variables will be set:
+#
+# ``OpenMP_FOUND``
+#   Variable indicating that OpenMP flags for all requested languages have been found.
+#   If no components are specified, this is true if OpenMP settings for all enabled languages
+#   were detected.
+# ``OpenMP_VERSION``
+#   Minimal version of the OpenMP standard detected among the requested languages,
+#   or all enabled languages if no components were specified.
+#
+# This module will set the following variables per language in your
+# project, where ``<lang>`` is one of C, CXX, or Fortran:
+#
+# ``OpenMP_<lang>_FOUND``
+#   Variable indicating if OpenMP support for ``<lang>`` was detected.
+# ``OpenMP_<lang>_FLAGS``
+#   OpenMP compiler flags for ``<lang>``, separated by spaces.
+#
+# For linking with OpenMP code written in ``<lang>``, the following
+# variables are provided:
+#
+# ``OpenMP_<lang>_LIB_NAMES``
+#   :ref:`;-list <CMake Language Lists>` of libraries for OpenMP programs for ``<lang>``.
+# ``OpenMP_<libname>_LIBRARY``
+#   Location of the individual libraries needed for OpenMP support in ``<lang>``.
+# ``OpenMP_<lang>_LIBRARIES``
+#   A list of libraries needed to link with OpenMP code written in ``<lang>``.
+#
+# Additionally, the module provides :prop_tgt:`IMPORTED` targets:
+#
+# ``OpenMP::OpenMP_<lang>``
+#   Target for using OpenMP from ``<lang>``.
+#
+# Specifically for Fortran, the module sets the following variables:
+#
+# ``OpenMP_Fortran_HAVE_OMPLIB_HEADER``
+#   Boolean indicating if OpenMP is accessible through ``omp_lib.h``.
+# ``OpenMP_Fortran_HAVE_OMPLIB_MODULE``
+#   Boolean indicating if OpenMP is accessible through the ``omp_lib`` Fortran module.
+#
+# The module will also try to provide the OpenMP version variables:
+#
+# ``OpenMP_<lang>_SPEC_DATE``
+#   Date of the OpenMP specification implemented by the ``<lang>`` compiler.
+# ``OpenMP_<lang>_VERSION_MAJOR``
+#   Major version of OpenMP implemented by the ``<lang>`` compiler.
+# ``OpenMP_<lang>_VERSION_MINOR``
+#   Minor version of OpenMP implemented by the ``<lang>`` compiler.
+# ``OpenMP_<lang>_VERSION``
+#   OpenMP version implemented by the ``<lang>`` compiler.
+#
+# The specification date is formatted as given in the OpenMP standard:
+# ``yyyymm`` where ``yyyy`` and ``mm`` represents the year and month of
+# the OpenMP specification implemented by the ``<lang>`` compiler.
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0054 NEW) # if() quoted variables not dereferenced
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
+function(_OPENMP_FLAG_CANDIDATES LANG)
+  if(NOT OpenMP_${LANG}_FLAG)
+    unset(OpenMP_FLAG_CANDIDATES)
+
+    set(OMP_FLAG_GNU "-fopenmp")
+    set(OMP_FLAG_Clang "-fopenmp=libomp" "-fopenmp=libiomp5" "-fopenmp")
+    set(OMP_FLAG_HP "+Oopenmp")
+    if(WIN32)
+      set(OMP_FLAG_Intel "-Qopenmp")
+    elseif(CMAKE_${LANG}_COMPILER_ID STREQUAL "Intel" AND
+           "${CMAKE_${LANG}_COMPILER_VERSION}" VERSION_LESS "15.0.0.20140528")
+      set(OMP_FLAG_Intel "-openmp")
+    else()
+      set(OMP_FLAG_Intel "-qopenmp")
+    endif()
+    set(OMP_FLAG_MIPSpro "-mp")
+    set(OMP_FLAG_MSVC "-openmp")
+    set(OMP_FLAG_PathScale "-openmp")
+    set(OMP_FLAG_NAG "-openmp")
+    set(OMP_FLAG_Absoft "-openmp")
+    set(OMP_FLAG_PGI "-mp")
+    set(OMP_FLAG_Flang "-fopenmp")
+    set(OMP_FLAG_SunPro "-xopenmp")
+    set(OMP_FLAG_XL "-qsmp=omp")
+    # Cray compiler activate OpenMP with -h omp, which is enabled by default.
+    set(OMP_FLAG_Cray " " "-h omp")
+
+    # If we know the correct flags, use those
+    if(DEFINED OMP_FLAG_${CMAKE_${LANG}_COMPILER_ID})
+      set(OpenMP_FLAG_CANDIDATES "${OMP_FLAG_${CMAKE_${LANG}_COMPILER_ID}}")
+    # Fall back to reasonable default tries otherwise
+    else()
+      set(OpenMP_FLAG_CANDIDATES "-openmp" "-fopenmp" "-mp" " ")
+    endif()
+    set(OpenMP_${LANG}_FLAG_CANDIDATES "${OpenMP_FLAG_CANDIDATES}" PARENT_SCOPE)
+  else()
+    set(OpenMP_${LANG}_FLAG_CANDIDATES "${OpenMP_${LANG}_FLAG}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+# sample openmp source code to test
+set(OpenMP_C_CXX_TEST_SOURCE
+"
+#include <omp.h>
+int main() {
+#ifdef _OPENMP
+  return 0;
+#else
+  breaks_on_purpose
+#endif
+}
+")
+
+# in Fortran, an implementation may provide an omp_lib.h header
+# or omp_lib module, or both (OpenMP standard, section 3.1)
+# Furthmore !$ is the Fortran equivalent of #ifdef _OPENMP (OpenMP standard, 2.2.2)
+# Without the conditional compilation, some compilers (e.g. PGI) might compile OpenMP code
+# while not actually enabling OpenMP, building code sequentially
+set(OpenMP_Fortran_TEST_SOURCE
+  "
+      program test
+      @OpenMP_Fortran_INCLUDE_LINE@
+  !$  integer :: n
+      n = omp_get_num_threads()
+      end program test
+  "
+)
+
+function(_OPENMP_WRITE_SOURCE_FILE LANG SRC_FILE_CONTENT_VAR SRC_FILE_NAME SRC_FILE_FULLPATH)
+  set(WORK_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindOpenMP)
+  if("${LANG}" STREQUAL "C")
+    set(SRC_FILE "${WORK_DIR}/${SRC_FILE_NAME}.c")
+    file(WRITE "${SRC_FILE}" "${OpenMP_C_CXX_${SRC_FILE_CONTENT_VAR}}")
+  elseif("${LANG}" STREQUAL "CXX")
+    set(SRC_FILE "${WORK_DIR}/${SRC_FILE_NAME}.cpp")
+    file(WRITE "${SRC_FILE}" "${OpenMP_C_CXX_${SRC_FILE_CONTENT_VAR}}")
+  elseif("${LANG}" STREQUAL "Fortran")
+    set(SRC_FILE "${WORK_DIR}/${SRC_FILE_NAME}.f90")
+    file(WRITE "${SRC_FILE}_in" "${OpenMP_Fortran_${SRC_FILE_CONTENT_VAR}}")
+    configure_file("${SRC_FILE}_in" "${SRC_FILE}" @ONLY)
+  endif()
+  set(${SRC_FILE_FULLPATH} "${SRC_FILE}" PARENT_SCOPE)
+endfunction()
+
+include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
+
+function(_OPENMP_GET_FLAGS LANG FLAG_MODE OPENMP_FLAG_VAR OPENMP_LIB_NAMES_VAR)
+  _OPENMP_FLAG_CANDIDATES("${LANG}")
+  _OPENMP_WRITE_SOURCE_FILE("${LANG}" "TEST_SOURCE" OpenMPTryFlag _OPENMP_TEST_SRC)
+
+  unset(OpenMP_VERBOSE_COMPILE_OPTIONS)
+  separate_arguments(OpenMP_VERBOSE_OPTIONS NATIVE_COMMAND "${CMAKE_${LANG}_VERBOSE_FLAG}")
+  foreach(_VERBOSE_OPTION IN LISTS OpenMP_VERBOSE_OPTIONS)
+    if(NOT _VERBOSE_OPTION MATCHES "^-Wl,")
+      list(APPEND OpenMP_VERBOSE_COMPILE_OPTIONS ${_VERBOSE_OPTION})
+    endif()
+  endforeach()
+
+  foreach(OPENMP_FLAG IN LISTS OpenMP_${LANG}_FLAG_CANDIDATES)
+    set(OPENMP_FLAGS_TEST "${OPENMP_FLAG}")
+    if(OpenMP_VERBOSE_COMPILE_OPTIONS)
+      string(APPEND OPENMP_FLAGS_TEST " ${OpenMP_VERBOSE_COMPILE_OPTIONS}")
+    endif()
+    string(REGEX REPLACE "[-/=+]" "" OPENMP_PLAIN_FLAG "${OPENMP_FLAG}")
+    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}
+      OUTPUT_VARIABLE OpenMP_TRY_COMPILE_OUTPUT
+    )
+
+    if(OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG})
+      set("${OPENMP_FLAG_VAR}" "${OPENMP_FLAG}" PARENT_SCOPE)
+
+      if(CMAKE_${LANG}_VERBOSE_FLAG)
+        unset(OpenMP_${LANG}_IMPLICIT_LIBRARIES)
+        unset(OpenMP_${LANG}_IMPLICIT_LINK_DIRS)
+        unset(OpenMP_${LANG}_IMPLICIT_FWK_DIRS)
+        unset(OpenMP_${LANG}_LOG_VAR)
+
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Detecting ${LANG} OpenMP compiler ABI info compiled with the following output:\n${OpenMP_TRY_COMPILE_OUTPUT}\n\n")
+
+        cmake_parse_implicit_link_info("${OpenMP_TRY_COMPILE_OUTPUT}"
+          OpenMP_${LANG}_IMPLICIT_LIBRARIES
+          OpenMP_${LANG}_IMPLICIT_LINK_DIRS
+          OpenMP_${LANG}_IMPLICIT_FWK_DIRS
+          OpenMP_${LANG}_LOG_VAR
+          "${CMAKE_${LANG}_IMPLICIT_OBJECT_REGEX}"
+        )
+
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Parsed ${LANG} OpenMP implicit link information from above output:\n${OpenMP_${LANG}_LOG_VAR}\n\n")
+
+        unset(_OPENMP_LIB_NAMES)
+        foreach(_OPENMP_IMPLICIT_LIB IN LISTS OpenMP_${LANG}_IMPLICIT_LIBRARIES)
+          get_filename_component(_OPENMP_IMPLICIT_LIB_DIR "${_OPENMP_IMPLICIT_LIB}" DIRECTORY)
+          get_filename_component(_OPENMP_IMPLICIT_LIB_NAME "${_OPENMP_IMPLICIT_LIB}" NAME)
+          get_filename_component(_OPENMP_IMPLICIT_LIB_PLAIN "${_OPENMP_IMPLICIT_LIB}" NAME_WE)
+          string(REGEX REPLACE "([][+.*?()^$])" "\\\\\\1" _OPENMP_IMPLICIT_LIB_PLAIN_ESC "${_OPENMP_IMPLICIT_LIB_PLAIN}")
+          string(REGEX REPLACE "([][+.*?()^$])" "\\\\\\1" _OPENMP_IMPLICIT_LIB_PATH_ESC "${_OPENMP_IMPLICIT_LIB}")
+          if(NOT ( "${_OPENMP_IMPLICIT_LIB}" IN_LIST CMAKE_${LANG}_IMPLICIT_LINK_LIBRARIES
+            OR "${CMAKE_${LANG}_STANDARD_LIBRARIES}" MATCHES "(^| )(-Wl,)?(-l)?(${_OPENMP_IMPLICIT_LIB_PLAIN_ESC}|${_OPENMP_IMPLICIT_LIB_PATH_ESC})( |$)"
+            OR "${CMAKE_${LANG}_LINK_EXECUTABLE}" MATCHES "(^| )(-Wl,)?(-l)?(${_OPENMP_IMPLICIT_LIB_PLAIN_ESC}|${_OPENMP_IMPLICIT_LIB_PATH_ESC})( |$)" ) )
+            if(_OPENMP_IMPLICIT_LIB_DIR)
+              set(OpenMP_${_OPENMP_IMPLICIT_LIB_PLAIN}_LIBRARY "${_OPENMP_IMPLICIT_LIB}" CACHE FILEPATH
+                "Path to the ${_OPENMP_IMPLICIT_LIB_PLAIN} library for OpenMP")
+            else()
+              find_library(OpenMP_${_OPENMP_IMPLICIT_LIB_PLAIN}_LIBRARY
+                NAMES "${_OPENMP_IMPLICIT_LIB_NAME}"
+                DOC "Path to the ${_OPENMP_IMPLICIT_LIB_PLAIN} library for OpenMP"
+                HINTS ${OpenMP_${LANG}_IMPLICIT_LINK_DIRS}
+                CMAKE_FIND_ROOT_PATH_BOTH
+              )
+            endif()
+            mark_as_advanced(OpenMP_${_OPENMP_IMPLICIT_LIB_PLAIN}_LIBRARY)
+            list(APPEND _OPENMP_LIB_NAMES ${_OPENMP_IMPLICIT_LIB_PLAIN})
+          endif()
+        endforeach()
+        set("${OPENMP_LIB_NAMES_VAR}" "${_OPENMP_LIB_NAMES}" PARENT_SCOPE)
+      else()
+        # The Intel compiler on windows has no verbose mode, so we need to treat it explicitly
+        if("${CMAKE_${LANG}_COMPILER_ID}" STREQUAL "Intel" AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
+          set("${OPENMP_LIB_NAMES_VAR}" "libiomp5md" PARENT_SCOPE)
+          find_library(OpenMP_libiomp5md_LIBRARY
+            NAMES "libiomp5md"
+            HINTS ${CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES}
+          )
+          mark_as_advanced(OpenMP_libiomp5md_LIBRARY)
+        else()
+          set("${OPENMP_LIB_NAMES_VAR}" "" PARENT_SCOPE)
+        endif()
+      endif()
+      break()
+    endif()
+    set("${OPENMP_LIB_NAMES_VAR}" "NOTFOUND" PARENT_SCOPE)
+    set("${OPENMP_FLAG_VAR}" "NOTFOUND" PARENT_SCOPE)
+  endforeach()
+
+  unset(OpenMP_VERBOSE_COMPILE_OPTIONS)
+endfunction()
+
+set(OpenMP_C_CXX_CHECK_VERSION_SOURCE
+"
+#include <stdio.h>
+#include <omp.h>
+const char ompver_str[] = { 'I', 'N', 'F', 'O', ':', 'O', 'p', 'e', 'n', 'M',
+                            'P', '-', 'd', 'a', 't', 'e', '[',
+                            ('0' + ((_OPENMP/100000)%10)),
+                            ('0' + ((_OPENMP/10000)%10)),
+                            ('0' + ((_OPENMP/1000)%10)),
+                            ('0' + ((_OPENMP/100)%10)),
+                            ('0' + ((_OPENMP/10)%10)),
+                            ('0' + ((_OPENMP/1)%10)),
+                            ']', '\\0' };
+int main()
+{
+  puts(ompver_str);
+  return 0;
+}
+")
+
+set(OpenMP_Fortran_CHECK_VERSION_SOURCE
+"
+      program omp_ver
+      @OpenMP_Fortran_INCLUDE_LINE@
+      integer, parameter :: zero = ichar('0')
+      integer, parameter :: ompv = openmp_version
+      character, dimension(24), parameter :: ompver_str =&
+      (/ 'I', 'N', 'F', 'O', ':', 'O', 'p', 'e', 'n', 'M', 'P', '-',&
+         'd', 'a', 't', 'e', '[',&
+         char(zero + mod(ompv/100000, 10)),&
+         char(zero + mod(ompv/10000, 10)),&
+         char(zero + mod(ompv/1000, 10)),&
+         char(zero + mod(ompv/100, 10)),&
+         char(zero + mod(ompv/10, 10)),&
+         char(zero + mod(ompv/1, 10)), ']' /)
+      print *, ompver_str
+      end program omp_ver
+")
+
+function(_OPENMP_GET_SPEC_DATE LANG SPEC_DATE)
+  _OPENMP_WRITE_SOURCE_FILE("${LANG}" "CHECK_VERSION_SOURCE" OpenMPCheckVersion _OPENMP_TEST_SRC)
+
+  set(BIN_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindOpenMP/ompver_${LANG}.bin")
+  string(REGEX REPLACE "[-/=+]" "" OPENMP_PLAIN_FLAG "${OPENMP_FLAG}")
+  try_compile(OpenMP_SPECTEST_${LANG}_${OPENMP_PLAIN_FLAG} "${CMAKE_BINARY_DIR}" "${_OPENMP_TEST_SRC}"
+              CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${OpenMP_${LANG}_FLAGS}"
+              COPY_FILE ${BIN_FILE})
+
+  if(${OpenMP_SPECTEST_${LANG}_${OPENMP_PLAIN_FLAG}})
+    file(STRINGS ${BIN_FILE} specstr LIMIT_COUNT 1 REGEX "INFO:OpenMP-date")
+    set(regex_spec_date ".*INFO:OpenMP-date\\[0*([^]]*)\\].*")
+    if("${specstr}" MATCHES "${regex_spec_date}")
+      set(${SPEC_DATE} "${CMAKE_MATCH_1}" PARENT_SCOPE)
+    endif()
+  endif()
+endfunction()
+
+macro(_OPENMP_SET_VERSION_BY_SPEC_DATE LANG)
+  set(OpenMP_SPEC_DATE_MAP
+    # Preview versions
+    "201611=5.0" # OpenMP 5.0 preview 1
+    # Combined versions, 2.5 onwards
+    "201511=4.5"
+    "201307=4.0"
+    "201107=3.1"
+    "200805=3.0"
+    "200505=2.5"
+    # C/C++ version 2.0
+    "200203=2.0"
+    # Fortran version 2.0
+    "200011=2.0"
+    # Fortran version 1.1
+    "199911=1.1"
+    # C/C++ version 1.0 (there's no 1.1 for C/C++)
+    "199810=1.0"
+    # Fortran version 1.0
+    "199710=1.0"
+  )
+
+  if(OpenMP_${LANG}_SPEC_DATE)
+    string(REGEX MATCHALL "${OpenMP_${LANG}_SPEC_DATE}=([0-9]+)\\.([0-9]+)" _version_match "${OpenMP_SPEC_DATE_MAP}")
+  else()
+    set(_version_match "")
+  endif()
+  if(NOT _version_match STREQUAL "")
+    set(OpenMP_${LANG}_VERSION_MAJOR ${CMAKE_MATCH_1})
+    set(OpenMP_${LANG}_VERSION_MINOR ${CMAKE_MATCH_2})
+    set(OpenMP_${LANG}_VERSION "${OpenMP_${LANG}_VERSION_MAJOR}.${OpenMP_${LANG}_VERSION_MINOR}")
+  else()
+    unset(OpenMP_${LANG}_VERSION_MAJOR)
+    unset(OpenMP_${LANG}_VERSION_MINOR)
+    unset(OpenMP_${LANG}_VERSION)
+  endif()
+  unset(_version_match)
+  unset(OpenMP_SPEC_DATE_MAP)
+endmacro()
+
+foreach(LANG IN ITEMS C CXX)
+  if(CMAKE_${LANG}_COMPILER_LOADED)
+    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)
+    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()
+
+if(CMAKE_Fortran_COMPILER_LOADED)
+  if(NOT DEFINED OpenMP_Fortran_FLAGS OR "${OpenMP_Fortran_FLAGS}" STREQUAL "NOTFOUND"
+    OR NOT DEFINED OpenMP_Fortran_LIB_NAMES OR "${OpenMP_Fortran_LIB_NAMES}" STREQUAL "NOTFOUND"
+    OR NOT DEFINED OpenMP_Fortran_HAVE_OMPLIB_MODULE)
+    set(OpenMP_Fortran_INCLUDE_LINE "use omp_lib\n      implicit none")
+    _OPENMP_GET_FLAGS("Fortran" "FortranHeader" OpenMP_Fortran_FLAGS_WORK OpenMP_Fortran_LIB_NAMES_WORK)
+    if(OpenMP_Fortran_FLAGS_WORK)
+      set(OpenMP_Fortran_HAVE_OMPLIB_MODULE TRUE CACHE BOOL INTERNAL "")
+    endif()
+
+    set(OpenMP_Fortran_FLAGS "${OpenMP_Fortran_FLAGS_WORK}"
+      CACHE STRING "Fortran compiler flags for OpenMP parallelization")
+    set(OpenMP_Fortran_LIB_NAMES "${OpenMP_Fortran_LIB_NAMES_WORK}"
+      CACHE STRING "Fortran compiler libraries for OpenMP parallelization")
+    mark_as_advanced(OpenMP_Fortran_FLAGS OpenMP_Fortran_LIB_NAMES)
+  endif()
+
+  if(NOT DEFINED OpenMP_Fortran_FLAGS OR "${OpenMP_Fortran_FLAGS}" STREQUAL "NOTFOUND"
+    OR NOT DEFINED OpenMP_Fortran_LIB_NAMES OR "${OpenMP_Fortran_LIB_NAMES}" STREQUAL "NOTFOUND"
+    OR NOT DEFINED OpenMP_Fortran_HAVE_OMPLIB_HEADER)
+    set(OpenMP_Fortran_INCLUDE_LINE "implicit none\n      include 'omp_lib.h'")
+    _OPENMP_GET_FLAGS("Fortran" "FortranModule" OpenMP_Fortran_FLAGS_WORK OpenMP_Fortran_LIB_NAMES_WORK)
+    if(OpenMP_Fortran_FLAGS_WORK)
+      set(OpenMP_Fortran_HAVE_OMPLIB_HEADER TRUE CACHE BOOL INTERNAL "")
+    endif()
+
+    set(OpenMP_Fortran_FLAGS "${OpenMP_Fortran_FLAGS_WORK}"
+      CACHE STRING "Fortran compiler flags for OpenMP parallelization")
+
+    set(OpenMP_Fortran_LIB_NAMES "${OpenMP_Fortran_LIB_NAMES}"
+      CACHE STRING "Fortran compiler libraries for OpenMP parallelization")
+  endif()
+
+  if(OpenMP_Fortran_HAVE_OMPLIB_MODULE)
+    set(OpenMP_Fortran_INCLUDE_LINE "use omp_lib\n      implicit none")
+  else()
+    set(OpenMP_Fortran_INCLUDE_LINE "implicit none\n      include 'omp_lib.h'")
+  endif()
+endif()
+
+if(NOT OpenMP_FIND_COMPONENTS)
+  set(OpenMP_FINDLIST C CXX Fortran)
+else()
+  set(OpenMP_FINDLIST ${OpenMP_FIND_COMPONENTS})
+endif()
+
+unset(_OpenMP_MIN_VERSION)
+
+foreach(LANG IN LISTS OpenMP_FINDLIST)
+  if(CMAKE_${LANG}_COMPILER_LOADED)
+    if (NOT OpenMP_${LANG}_SPEC_DATE AND OpenMP_${LANG}_FLAGS)
+      _OPENMP_GET_SPEC_DATE("${LANG}" OpenMP_${LANG}_SPEC_DATE_INTERNAL)
+      set(OpenMP_${LANG}_SPEC_DATE "${OpenMP_${LANG}_SPEC_DATE_INTERNAL}" CACHE
+        INTERNAL "${LANG} compiler's OpenMP specification date")
+      _OPENMP_SET_VERSION_BY_SPEC_DATE("${LANG}")
+    endif()
+
+    include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+    set(OpenMP_${LANG}_FIND_QUIETLY ${OpenMP_FIND_QUIETLY})
+    set(OpenMP_${LANG}_FIND_REQUIRED ${OpenMP_FIND_REQUIRED})
+    set(OpenMP_${LANG}_FIND_VERSION ${OpenMP_FIND_VERSION})
+    set(OpenMP_${LANG}_FIND_VERSION_EXACT ${OpenMP_FIND_VERSION_EXACT})
+
+    set(_OPENMP_${LANG}_REQUIRED_VARS OpenMP_${LANG}_FLAGS)
+    if("${OpenMP_${LANG}_LIB_NAMES}" STREQUAL "NOTFOUND")
+      set(_OPENMP_${LANG}_REQUIRED_LIB_VARS OpenMP_${LANG}_LIB_NAMES)
+    else()
+      foreach(_OPENMP_IMPLICIT_LIB IN LISTS OpenMP_${LANG}_LIB_NAMES)
+        list(APPEND _OPENMP_${LANG}_REQUIRED_LIB_VARS OpenMP_${_OPENMP_IMPLICIT_LIB}_LIBRARY)
+      endforeach()
+    endif()
+
+    find_package_handle_standard_args(OpenMP_${LANG}
+      REQUIRED_VARS OpenMP_${LANG}_FLAGS ${_OPENMP_${LANG}_REQUIRED_LIB_VARS}
+      VERSION_VAR OpenMP_${LANG}_VERSION
+    )
+
+    if(OpenMP_${LANG}_FOUND)
+      if(DEFINED OpenMP_${LANG}_VERSION)
+        if(NOT _OpenMP_MIN_VERSION OR _OpenMP_MIN_VERSION VERSION_GREATER OpenMP_${LANG}_VERSION)
+          set(_OpenMP_MIN_VERSION OpenMP_${LANG}_VERSION)
+        endif()
+      endif()
+      set(OpenMP_${LANG}_LIBRARIES "")
+      foreach(_OPENMP_IMPLICIT_LIB IN LISTS OpenMP_${LANG}_LIB_NAMES)
+        list(APPEND OpenMP_${LANG}_LIBRARIES "${OpenMP_${_OPENMP_IMPLICIT_LIB}_LIBRARY}")
+      endforeach()
+
+      if(NOT TARGET OpenMP::OpenMP_${LANG})
+        add_library(OpenMP::OpenMP_${LANG} INTERFACE IMPORTED)
+      endif()
+      if(OpenMP_${LANG}_FLAGS)
+        separate_arguments(_OpenMP_${LANG}_OPTIONS NATIVE_COMMAND "${OpenMP_${LANG}_FLAGS}")
+        set_property(TARGET OpenMP::OpenMP_${LANG} PROPERTY
+          INTERFACE_COMPILE_OPTIONS "${_OpenMP_${LANG}_OPTIONS}")
+        unset(_OpenMP_${LANG}_OPTIONS)
+      endif()
+      if(OpenMP_${LANG}_LIBRARIES)
+        set_property(TARGET OpenMP::OpenMP_${LANG} PROPERTY
+          INTERFACE_LINK_LIBRARIES "${OpenMP_${LANG}_LIBRARIES}")
+      endif()
+    endif()
+  endif()
+endforeach()
+
+unset(_OpenMP_REQ_VARS)
+foreach(LANG IN ITEMS C CXX Fortran)
+  if((NOT OpenMP_FIND_COMPONENTS AND CMAKE_${LANG}_COMPILER_LOADED) OR LANG IN_LIST OpenMP_FIND_COMPONENTS)
+    list(APPEND _OpenMP_REQ_VARS "OpenMP_${LANG}_FOUND")
+  endif()
+endforeach()
+
+find_package_handle_standard_args(OpenMP
+    REQUIRED_VARS ${_OpenMP_REQ_VARS}
+    VERSION_VAR ${_OpenMP_MIN_VERSION}
+    HANDLE_COMPONENTS)
+
+set(OPENMP_FOUND ${OpenMP_FOUND})
+
+if(CMAKE_Fortran_COMPILER_LOADED AND OpenMP_Fortran_FOUND)
+  if(NOT DEFINED OpenMP_Fortran_HAVE_OMPLIB_MODULE)
+    set(OpenMP_Fortran_HAVE_OMPLIB_MODULE FALSE CACHE BOOL INTERNAL "")
+  endif()
+  if(NOT DEFINED OpenMP_Fortran_HAVE_OMPLIB_HEADER)
+    set(OpenMP_Fortran_HAVE_OMPLIB_HEADER FALSE CACHE BOOL INTERNAL "")
+  endif()
+endif()
+
+if(NOT ( CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED ))
+  message(SEND_ERROR "FindOpenMP requires the C, CXX or Fortran languages to be enabled")
+endif()
+
+unset(OpenMP_C_CXX_TEST_SOURCE)
+unset(OpenMP_Fortran_TEST_SOURCE)
+unset(OpenMP_C_CXX_CHECK_VERSION_SOURCE)
+unset(OpenMP_Fortran_CHECK_VERSION_SOURCE)
+unset(OpenMP_Fortran_INCLUDE_LINE)
+
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/FindOpenSSL.cmake b/share/cmake-3.10/Modules/FindOpenSSL.cmake
new file mode 100644
index 0000000..0187e0d
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenSSL.cmake
@@ -0,0 +1,465 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenSSL
+# -----------
+#
+# Find the OpenSSL encryption library.
+#
+# Imported Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` targets:
+#
+# ``OpenSSL::SSL``
+#   The OpenSSL ``ssl`` library, if found.
+# ``OpenSSL::Crypto``
+#   The OpenSSL ``crypto`` library, if found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``OPENSSL_FOUND``
+#   System has the OpenSSL library.
+# ``OPENSSL_INCLUDE_DIR``
+#   The OpenSSL include directory.
+# ``OPENSSL_CRYPTO_LIBRARY``
+#   The OpenSSL crypto library.
+# ``OPENSSL_SSL_LIBRARY``
+#   The OpenSSL SSL library.
+# ``OPENSSL_LIBRARIES``
+#   All OpenSSL libraries.
+# ``OPENSSL_VERSION``
+#   This is set to ``$major.$minor.$revision$patch`` (e.g. ``0.9.8s``).
+#
+# Hints
+# ^^^^^
+#
+# Set ``OPENSSL_ROOT_DIR`` to the root directory of an OpenSSL installation.
+# Set ``OPENSSL_USE_STATIC_LIBS`` to ``TRUE`` to look for static libraries.
+# Set ``OPENSSL_MSVC_STATIC_RT`` set ``TRUE`` to choose the MT version of the lib.
+
+if (UNIX)
+  find_package(PkgConfig QUIET)
+  pkg_check_modules(_OPENSSL QUIET openssl)
+endif ()
+
+# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
+if(OPENSSL_USE_STATIC_LIBS)
+  set(_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  if(WIN32)
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  else()
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
+  endif()
+endif()
+
+if (WIN32)
+  # http://www.slproweb.com/products/Win32OpenSSL.html
+  set(_OPENSSL_ROOT_HINTS
+    ${OPENSSL_ROOT_DIR}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
+    ENV OPENSSL_ROOT_DIR
+    )
+  file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
+  set(_OPENSSL_ROOT_PATHS
+    "${_programfiles}/OpenSSL"
+    "${_programfiles}/OpenSSL-Win32"
+    "${_programfiles}/OpenSSL-Win64"
+    "C:/OpenSSL/"
+    "C:/OpenSSL-Win32/"
+    "C:/OpenSSL-Win64/"
+    )
+  unset(_programfiles)
+else ()
+  set(_OPENSSL_ROOT_HINTS
+    ${OPENSSL_ROOT_DIR}
+    ENV OPENSSL_ROOT_DIR
+    )
+endif ()
+
+set(_OPENSSL_ROOT_HINTS_AND_PATHS
+    HINTS ${_OPENSSL_ROOT_HINTS}
+    PATHS ${_OPENSSL_ROOT_PATHS}
+    )
+
+find_path(OPENSSL_INCLUDE_DIR
+  NAMES
+    openssl/ssl.h
+  ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+  HINTS
+    ${_OPENSSL_INCLUDEDIR}
+  PATH_SUFFIXES
+    include
+)
+
+if(WIN32 AND NOT CYGWIN)
+  if(MSVC)
+    # /MD and /MDd are the standard values - if someone wants to use
+    # others, the libnames have to change here too
+    # use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
+    # enable OPENSSL_MSVC_STATIC_RT to get the libs build /MT (Multithreaded no-DLL)
+    # In Visual C++ naming convention each of these four kinds of Windows libraries has it's standard suffix:
+    #   * MD for dynamic-release
+    #   * MDd for dynamic-debug
+    #   * MT for static-release
+    #   * MTd for static-debug
+
+    # Implementation details:
+    # We are using the libraries located in the VC subdir instead of the parent directory eventhough :
+    # libeay32MD.lib is identical to ../libeay32.lib, and
+    # ssleay32MD.lib is identical to ../ssleay32.lib
+    # enable OPENSSL_USE_STATIC_LIBS to use the static libs located in lib/VC/static
+
+    if (OPENSSL_MSVC_STATIC_RT)
+      set(_OPENSSL_MSVC_RT_MODE "MT")
+    else ()
+      set(_OPENSSL_MSVC_RT_MODE "MD")
+    endif ()
+
+    # Since OpenSSL 1.1, lib names are like libcrypto32MTd.lib and libssl32MTd.lib
+    if( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" )
+        set(_OPENSSL_MSVC_ARCH_SUFFIX "64")
+    else()
+        set(_OPENSSL_MSVC_ARCH_SUFFIX "32")
+    endif()
+
+    if(OPENSSL_USE_STATIC_LIBS)
+      set(_OPENSSL_PATH_SUFFIXES
+        "lib/VC/static"
+        "VC/static"
+        "lib"
+        )
+    else()
+      set(_OPENSSL_PATH_SUFFIXES
+        "lib/VC"
+        "VC"
+        "lib"
+        )
+    endif ()
+
+    find_library(LIB_EAY_DEBUG
+      NAMES
+        libcrypto${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+        libcrypto${_OPENSSL_MSVC_RT_MODE}d
+        libcryptod
+        libeay32${_OPENSSL_MSVC_RT_MODE}d
+        libeay32d
+        cryptod
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      PATH_SUFFIXES
+        ${_OPENSSL_PATH_SUFFIXES}
+    )
+
+    find_library(LIB_EAY_RELEASE
+      NAMES
+        libcrypto${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}
+        libcrypto${_OPENSSL_MSVC_RT_MODE}
+        libcrypto
+        libeay32${_OPENSSL_MSVC_RT_MODE}
+        libeay32
+        crypto
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      PATH_SUFFIXES
+        ${_OPENSSL_PATH_SUFFIXES}
+    )
+
+    find_library(SSL_EAY_DEBUG
+      NAMES
+        libssl${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+        libssl${_OPENSSL_MSVC_RT_MODE}d
+        libssld
+        ssleay32${_OPENSSL_MSVC_RT_MODE}d
+        ssleay32d
+        ssld
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      PATH_SUFFIXES
+        ${_OPENSSL_PATH_SUFFIXES}
+    )
+
+    find_library(SSL_EAY_RELEASE
+      NAMES
+        libssl${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}
+        libssl${_OPENSSL_MSVC_RT_MODE}
+        libssl
+        ssleay32${_OPENSSL_MSVC_RT_MODE}
+        ssleay32
+        ssl
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      PATH_SUFFIXES
+        ${_OPENSSL_PATH_SUFFIXES}
+    )
+
+    set(LIB_EAY_LIBRARY_DEBUG "${LIB_EAY_DEBUG}")
+    set(LIB_EAY_LIBRARY_RELEASE "${LIB_EAY_RELEASE}")
+    set(SSL_EAY_LIBRARY_DEBUG "${SSL_EAY_DEBUG}")
+    set(SSL_EAY_LIBRARY_RELEASE "${SSL_EAY_RELEASE}")
+
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    select_library_configurations(LIB_EAY)
+    select_library_configurations(SSL_EAY)
+
+    mark_as_advanced(LIB_EAY_LIBRARY_DEBUG LIB_EAY_LIBRARY_RELEASE
+                     SSL_EAY_LIBRARY_DEBUG SSL_EAY_LIBRARY_RELEASE)
+    set(OPENSSL_SSL_LIBRARY ${SSL_EAY_LIBRARY} )
+    set(OPENSSL_CRYPTO_LIBRARY ${LIB_EAY_LIBRARY} )
+  elseif(MINGW)
+    # same player, for MinGW
+    set(LIB_EAY_NAMES crypto libeay32)
+    set(SSL_EAY_NAMES ssl ssleay32)
+    find_library(LIB_EAY
+      NAMES
+        ${LIB_EAY_NAMES}
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      PATH_SUFFIXES
+        "lib/MinGW"
+        "lib"
+    )
+
+    find_library(SSL_EAY
+      NAMES
+        ${SSL_EAY_NAMES}
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      PATH_SUFFIXES
+        "lib/MinGW"
+        "lib"
+    )
+
+    mark_as_advanced(SSL_EAY LIB_EAY)
+    set(OPENSSL_SSL_LIBRARY ${SSL_EAY} )
+    set(OPENSSL_CRYPTO_LIBRARY ${LIB_EAY} )
+    unset(LIB_EAY_NAMES)
+    unset(SSL_EAY_NAMES)
+  else()
+    # Not sure what to pick for -say- intel, let's use the toplevel ones and hope someone report issues:
+    find_library(LIB_EAY
+      NAMES
+        libcrypto
+        libeay32
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      HINTS
+        ${_OPENSSL_LIBDIR}
+      PATH_SUFFIXES
+        lib
+    )
+
+    find_library(SSL_EAY
+      NAMES
+        libssl
+        ssleay32
+      NAMES_PER_DIR
+      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+      HINTS
+        ${_OPENSSL_LIBDIR}
+      PATH_SUFFIXES
+        lib
+    )
+
+    mark_as_advanced(SSL_EAY LIB_EAY)
+    set(OPENSSL_SSL_LIBRARY ${SSL_EAY} )
+    set(OPENSSL_CRYPTO_LIBRARY ${LIB_EAY} )
+  endif()
+else()
+
+  find_library(OPENSSL_SSL_LIBRARY
+    NAMES
+      ssl
+      ssleay32
+      ssleay32MD
+    NAMES_PER_DIR
+    ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+    HINTS
+      ${_OPENSSL_LIBDIR}
+    PATH_SUFFIXES
+      lib
+  )
+
+  find_library(OPENSSL_CRYPTO_LIBRARY
+    NAMES
+      crypto
+    NAMES_PER_DIR
+    ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+    HINTS
+      ${_OPENSSL_LIBDIR}
+    PATH_SUFFIXES
+      lib
+  )
+
+  mark_as_advanced(OPENSSL_CRYPTO_LIBRARY OPENSSL_SSL_LIBRARY)
+
+  # compat defines
+  set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY})
+  set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+
+endif()
+
+function(from_hex HEX DEC)
+  string(TOUPPER "${HEX}" HEX)
+  set(_res 0)
+  string(LENGTH "${HEX}" _strlen)
+
+  while (_strlen GREATER 0)
+    math(EXPR _res "${_res} * 16")
+    string(SUBSTRING "${HEX}" 0 1 NIBBLE)
+    string(SUBSTRING "${HEX}" 1 -1 HEX)
+    if (NIBBLE STREQUAL "A")
+      math(EXPR _res "${_res} + 10")
+    elseif (NIBBLE STREQUAL "B")
+      math(EXPR _res "${_res} + 11")
+    elseif (NIBBLE STREQUAL "C")
+      math(EXPR _res "${_res} + 12")
+    elseif (NIBBLE STREQUAL "D")
+      math(EXPR _res "${_res} + 13")
+    elseif (NIBBLE STREQUAL "E")
+      math(EXPR _res "${_res} + 14")
+    elseif (NIBBLE STREQUAL "F")
+      math(EXPR _res "${_res} + 15")
+    else()
+      math(EXPR _res "${_res} + ${NIBBLE}")
+    endif()
+
+    string(LENGTH "${HEX}" _strlen)
+  endwhile()
+
+  set(${DEC} ${_res} PARENT_SCOPE)
+endfunction()
+
+if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
+  file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
+       REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
+
+  if(openssl_version_str)
+    # The version number is encoded as 0xMNNFFPPS: major minor fix patch status
+    # The status gives if this is a developer or prerelease and is ignored here.
+    # Major, minor, and fix directly translate into the version numbers shown in
+    # the string. The patch field translates to the single character suffix that
+    # indicates the bug fix state, which 00 -> nothing, 01 -> a, 02 -> b and so
+    # on.
+
+    string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F]).*$"
+           "\\1;\\2;\\3;\\4;\\5" OPENSSL_VERSION_LIST "${openssl_version_str}")
+    list(GET OPENSSL_VERSION_LIST 0 OPENSSL_VERSION_MAJOR)
+    list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR)
+    from_hex("${OPENSSL_VERSION_MINOR}" OPENSSL_VERSION_MINOR)
+    list(GET OPENSSL_VERSION_LIST 2 OPENSSL_VERSION_FIX)
+    from_hex("${OPENSSL_VERSION_FIX}" OPENSSL_VERSION_FIX)
+    list(GET OPENSSL_VERSION_LIST 3 OPENSSL_VERSION_PATCH)
+
+    if (NOT OPENSSL_VERSION_PATCH STREQUAL "00")
+      from_hex("${OPENSSL_VERSION_PATCH}" _tmp)
+      # 96 is the ASCII code of 'a' minus 1
+      math(EXPR OPENSSL_VERSION_PATCH_ASCII "${_tmp} + 96")
+      unset(_tmp)
+      # Once anyone knows how OpenSSL would call the patch versions beyond 'z'
+      # this should be updated to handle that, too. This has not happened yet
+      # so it is simply ignored here for now.
+      string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING)
+    endif ()
+
+    set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}")
+  endif ()
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} )
+
+if (OPENSSL_VERSION)
+  find_package_handle_standard_args(OpenSSL
+    REQUIRED_VARS
+      #OPENSSL_SSL_LIBRARY # FIXME: require based on a component request?
+      OPENSSL_CRYPTO_LIBRARY
+      OPENSSL_INCLUDE_DIR
+    VERSION_VAR
+      OPENSSL_VERSION
+    FAIL_MESSAGE
+      "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
+  )
+else ()
+  find_package_handle_standard_args(OpenSSL "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
+    #OPENSSL_SSL_LIBRARY # FIXME: require based on a component request?
+    OPENSSL_CRYPTO_LIBRARY
+    OPENSSL_INCLUDE_DIR
+  )
+endif ()
+
+mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
+
+if(OPENSSL_FOUND)
+  if(NOT TARGET OpenSSL::Crypto AND
+      (EXISTS "${OPENSSL_CRYPTO_LIBRARY}" OR
+        EXISTS "${LIB_EAY_LIBRARY_DEBUG}" OR
+        EXISTS "${LIB_EAY_LIBRARY_RELEASE}")
+      )
+    add_library(OpenSSL::Crypto UNKNOWN IMPORTED)
+    set_target_properties(OpenSSL::Crypto PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}")
+    if(EXISTS "${OPENSSL_CRYPTO_LIBRARY}")
+      set_target_properties(OpenSSL::Crypto PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+        IMPORTED_LOCATION "${OPENSSL_CRYPTO_LIBRARY}")
+    endif()
+    if(EXISTS "${LIB_EAY_LIBRARY_RELEASE}")
+      set_property(TARGET OpenSSL::Crypto APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(OpenSSL::Crypto PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
+        IMPORTED_LOCATION_RELEASE "${LIB_EAY_LIBRARY_RELEASE}")
+    endif()
+    if(EXISTS "${LIB_EAY_LIBRARY_DEBUG}")
+      set_property(TARGET OpenSSL::Crypto APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(OpenSSL::Crypto PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+        IMPORTED_LOCATION_DEBUG "${LIB_EAY_LIBRARY_DEBUG}")
+    endif()
+  endif()
+  if(NOT TARGET OpenSSL::SSL AND
+      (EXISTS "${OPENSSL_SSL_LIBRARY}" OR
+        EXISTS "${SSL_EAY_LIBRARY_DEBUG}" OR
+        EXISTS "${SSL_EAY_LIBRARY_RELEASE}")
+      )
+    add_library(OpenSSL::SSL UNKNOWN IMPORTED)
+    set_target_properties(OpenSSL::SSL PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}")
+    if(EXISTS "${OPENSSL_SSL_LIBRARY}")
+      set_target_properties(OpenSSL::SSL PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+        IMPORTED_LOCATION "${OPENSSL_SSL_LIBRARY}")
+    endif()
+    if(EXISTS "${SSL_EAY_LIBRARY_RELEASE}")
+      set_property(TARGET OpenSSL::SSL APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(OpenSSL::SSL PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
+        IMPORTED_LOCATION_RELEASE "${SSL_EAY_LIBRARY_RELEASE}")
+    endif()
+    if(EXISTS "${SSL_EAY_LIBRARY_DEBUG}")
+      set_property(TARGET OpenSSL::SSL APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(OpenSSL::SSL PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+        IMPORTED_LOCATION_DEBUG "${SSL_EAY_LIBRARY_DEBUG}")
+    endif()
+    if(TARGET OpenSSL::Crypto)
+      set_target_properties(OpenSSL::SSL PROPERTIES
+        INTERFACE_LINK_LIBRARIES OpenSSL::Crypto)
+    endif()
+  endif()
+endif()
+
+# Restore the original find library ordering
+if(OPENSSL_USE_STATIC_LIBS)
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+endif()
diff --git a/share/cmake-3.10/Modules/FindOpenSceneGraph.cmake b/share/cmake-3.10/Modules/FindOpenSceneGraph.cmake
new file mode 100644
index 0000000..425aa45
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenSceneGraph.cmake
@@ -0,0 +1,229 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenSceneGraph
+# ------------------
+#
+# Find OpenSceneGraph
+#
+# This module searches for the OpenSceneGraph core "osg" library as well
+# as OpenThreads, and whatever additional COMPONENTS (nodekits) that you
+# specify.
+#
+# ::
+#
+#     See http://www.openscenegraph.org
+#
+#
+#
+# NOTE: To use this module effectively you must either require CMake >=
+# 2.6.3 with cmake_minimum_required(VERSION 2.6.3) or download and place
+# FindOpenThreads.cmake, Findosg_functions.cmake, Findosg.cmake, and
+# Find<etc>.cmake files into your CMAKE_MODULE_PATH.
+#
+# ==================================
+#
+# This module accepts the following variables (note mixed case)
+#
+# ::
+#
+#     OpenSceneGraph_DEBUG - Enable debugging output
+#
+#
+#
+# ::
+#
+#     OpenSceneGraph_MARK_AS_ADVANCED - Mark cache variables as advanced
+#                                       automatically
+#
+#
+#
+# The following environment variables are also respected for finding the
+# OSG and it's various components.  CMAKE_PREFIX_PATH can also be used
+# for this (see find_library() CMake documentation).
+#
+# ``<MODULE>_DIR``
+#   (where MODULE is of the form "OSGVOLUME" and there is a FindosgVolume.cmake file)
+# ``OSG_DIR``
+#   ..
+# ``OSGDIR``
+#   ..
+# ``OSG_ROOT``
+#   ..
+#
+#
+# [CMake 2.8.10]: The CMake variable OSG_DIR can now be used as well to
+# influence detection, instead of needing to specify an environment
+# variable.
+#
+# This module defines the following output variables:
+#
+# ::
+#
+#     OPENSCENEGRAPH_FOUND - Was the OSG and all of the specified components found?
+#
+#
+#
+# ::
+#
+#     OPENSCENEGRAPH_VERSION - The version of the OSG which was found
+#
+#
+#
+# ::
+#
+#     OPENSCENEGRAPH_INCLUDE_DIRS - Where to find the headers
+#
+#
+#
+# ::
+#
+#     OPENSCENEGRAPH_LIBRARIES - The OSG libraries
+#
+#
+#
+# ================================== Example Usage:
+#
+# ::
+#
+#   find_package(OpenSceneGraph 2.0.0 REQUIRED osgDB osgUtil)
+#       # libOpenThreads & libosg automatically searched
+#   include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS})
+#
+#
+#
+# ::
+#
+#   add_executable(foo foo.cc)
+#   target_link_libraries(foo ${OPENSCENEGRAPH_LIBRARIES})
+
+#
+# Naming convention:
+#  Local variables of the form _osg_foo
+#  Input variables of the form OpenSceneGraph_FOO
+#  Output variables of the form OPENSCENEGRAPH_FOO
+#
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+
+set(_osg_modules_to_process)
+foreach(_osg_component ${OpenSceneGraph_FIND_COMPONENTS})
+    list(APPEND _osg_modules_to_process ${_osg_component})
+endforeach()
+list(APPEND _osg_modules_to_process "osg" "OpenThreads")
+list(REMOVE_DUPLICATES _osg_modules_to_process)
+
+if(OpenSceneGraph_DEBUG)
+    message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
+        "Components = ${_osg_modules_to_process}")
+endif()
+
+#
+# First we need to find and parse osg/Version
+#
+OSG_FIND_PATH(OSG osg/Version)
+if(OpenSceneGraph_MARK_AS_ADVANCED)
+    OSG_MARK_AS_ADVANCED(OSG)
+endif()
+
+# Try to ascertain the version...
+if(OSG_INCLUDE_DIR)
+    if(OpenSceneGraph_DEBUG)
+        message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
+            "Detected OSG_INCLUDE_DIR = ${OSG_INCLUDE_DIR}")
+    endif()
+
+    set(_osg_Version_file "${OSG_INCLUDE_DIR}/osg/Version")
+    if("${OSG_INCLUDE_DIR}" MATCHES "\\.framework$" AND NOT EXISTS "${_osg_Version_file}")
+        set(_osg_Version_file "${OSG_INCLUDE_DIR}/Headers/Version")
+    endif()
+
+    if(EXISTS "${_osg_Version_file}")
+      file(STRINGS "${_osg_Version_file}" _osg_Version_contents
+           REGEX "#define (OSG_VERSION_[A-Z]+|OPENSCENEGRAPH_[A-Z]+_VERSION)[ \t]+[0-9]+")
+    else()
+      set(_osg_Version_contents "unknown")
+    endif()
+
+    string(REGEX MATCH ".*#define OSG_VERSION_MAJOR[ \t]+[0-9]+.*"
+        _osg_old_defines "${_osg_Version_contents}")
+    string(REGEX MATCH ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+[0-9]+.*"
+        _osg_new_defines "${_osg_Version_contents}")
+    if(_osg_old_defines)
+        string(REGEX REPLACE ".*#define OSG_VERSION_MAJOR[ \t]+([0-9]+).*"
+            "\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
+        string(REGEX REPLACE ".*#define OSG_VERSION_MINOR[ \t]+([0-9]+).*"
+            "\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
+        string(REGEX REPLACE ".*#define OSG_VERSION_PATCH[ \t]+([0-9]+).*"
+            "\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
+    elseif(_osg_new_defines)
+        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+([0-9]+).*"
+            "\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
+        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MINOR_VERSION[ \t]+([0-9]+).*"
+            "\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
+        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_PATCH_VERSION[ \t]+([0-9]+).*"
+            "\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
+    else()
+        message(WARNING "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
+            "Failed to parse version number, please report this as a bug")
+    endif()
+    unset(_osg_Version_contents)
+
+    set(OPENSCENEGRAPH_VERSION "${_osg_VERSION_MAJOR}.${_osg_VERSION_MINOR}.${_osg_VERSION_PATCH}"
+                                CACHE INTERNAL "The version of OSG which was detected")
+    if(OpenSceneGraph_DEBUG)
+        message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
+            "Detected version ${OPENSCENEGRAPH_VERSION}")
+    endif()
+endif()
+
+set(_osg_quiet)
+if(OpenSceneGraph_FIND_QUIETLY)
+    set(_osg_quiet "QUIET")
+endif()
+#
+# Here we call find_package() on all of the components
+#
+foreach(_osg_module ${_osg_modules_to_process})
+    if(OpenSceneGraph_DEBUG)
+        message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
+            "Calling find_package(${_osg_module} ${_osg_required} ${_osg_quiet})")
+    endif()
+    find_package(${_osg_module} ${_osg_quiet})
+
+    string(TOUPPER ${_osg_module} _osg_module_UC)
+    # append to list if module was found OR is required
+    if( ${_osg_module_UC}_FOUND OR OpenSceneGraph_FIND_REQUIRED )
+      list(APPEND OPENSCENEGRAPH_INCLUDE_DIR ${${_osg_module_UC}_INCLUDE_DIR})
+      list(APPEND OPENSCENEGRAPH_LIBRARIES ${${_osg_module_UC}_LIBRARIES})
+    endif()
+
+    if(OpenSceneGraph_MARK_AS_ADVANCED)
+        OSG_MARK_AS_ADVANCED(${_osg_module})
+    endif()
+endforeach()
+
+if(OPENSCENEGRAPH_INCLUDE_DIR)
+    list(REMOVE_DUPLICATES OPENSCENEGRAPH_INCLUDE_DIR)
+endif()
+
+#
+# Check each module to see if it's found
+#
+set(_osg_component_founds)
+if(OpenSceneGraph_FIND_REQUIRED)
+    foreach(_osg_module ${_osg_modules_to_process})
+        string(TOUPPER ${_osg_module} _osg_module_UC)
+        list(APPEND _osg_component_founds ${_osg_module_UC}_FOUND)
+    endforeach()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSceneGraph
+                                  REQUIRED_VARS OPENSCENEGRAPH_LIBRARIES OPENSCENEGRAPH_INCLUDE_DIR ${_osg_component_founds}
+                                  VERSION_VAR OPENSCENEGRAPH_VERSION)
+
+unset(_osg_component_founds)
+
+set(OPENSCENEGRAPH_INCLUDE_DIRS ${OPENSCENEGRAPH_INCLUDE_DIR})
diff --git a/share/cmake-3.10/Modules/FindOpenThreads.cmake b/share/cmake-3.10/Modules/FindOpenThreads.cmake
new file mode 100644
index 0000000..54804b8
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindOpenThreads.cmake
@@ -0,0 +1,124 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindOpenThreads
+# ---------------
+#
+#
+#
+# OpenThreads is a C++ based threading library.  Its largest userbase
+# seems to OpenSceneGraph so you might notice I accept OSGDIR as an
+# environment path.  I consider this part of the Findosg* suite used to
+# find OpenSceneGraph components.  Each component is separate and you
+# must opt in to each module.
+#
+# Locate OpenThreads This module defines OPENTHREADS_LIBRARY
+# OPENTHREADS_FOUND, if false, do not try to link to OpenThreads
+# OPENTHREADS_INCLUDE_DIR, where to find the headers
+#
+# $OPENTHREADS_DIR is an environment variable that would correspond to
+# the ./configure --prefix=$OPENTHREADS_DIR used in building osg.
+#
+# [CMake 2.8.10]: The CMake variables OPENTHREADS_DIR or OSG_DIR can now
+# be used as well to influence detection, instead of needing to specify
+# an environment variable.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <OpenThreads/Thread>
+
+# To make it easier for one-step automated configuration/builds,
+# we leverage environmental paths. This is preferable
+# to the -DVAR=value switches because it insulates the
+# users from changes we may make in this script.
+# It also offers a little more flexibility than setting
+# the CMAKE_*_PATH since we can target specific components.
+# However, the default CMake behavior will search system paths
+# before anything else. This is problematic in the cases
+# where you have an older (stable) version installed, but
+# are trying to build a newer version.
+# CMake doesn't offer a nice way to globally control this behavior
+# so we have to do a nasty "double FIND_" in this module.
+# The first FIND disables the CMAKE_ search paths and only checks
+# the environmental paths.
+# If nothing is found, then the second find will search the
+# standard install paths.
+# Explicit -DVAR=value arguments should still be able to override everything.
+
+find_path(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
+    HINTS
+        ENV OPENTHREADS_INCLUDE_DIR
+        ENV OPENTHREADS_DIR
+        ENV OSG_INCLUDE_DIR
+        ENV OSG_DIR
+        ENV OSGDIR
+        ENV OpenThreads_ROOT
+        ENV OSG_ROOT
+        ${OPENTHREADS_DIR}
+        ${OSG_DIR}
+    PATHS
+        /sw # Fink
+        /opt/local # DarwinPorts
+        /opt/csw # Blastwave
+        /opt
+        /usr/freeware
+    PATH_SUFFIXES include
+)
+
+
+find_library(OPENTHREADS_LIBRARY
+    NAMES OpenThreads OpenThreadsWin32
+    HINTS
+        ENV OPENTHREADS_LIBRARY_DIR
+        ENV OPENTHREADS_DIR
+        ENV OSG_LIBRARY_DIR
+        ENV OSG_DIR
+        ENV OSGDIR
+        ENV OpenThreads_ROOT
+        ENV OSG_ROOT
+        ${OPENTHREADS_DIR}
+        ${OSG_DIR}
+    PATHS
+        /sw
+        /opt/local
+        /opt/csw
+        /opt
+        /usr/freeware
+    PATH_SUFFIXES lib
+)
+
+find_library(OPENTHREADS_LIBRARY_DEBUG
+    NAMES OpenThreadsd OpenThreadsWin32d
+    HINTS
+        ENV OPENTHREADS_DEBUG_LIBRARY_DIR
+        ENV OPENTHREADS_LIBRARY_DIR
+        ENV OPENTHREADS_DIR
+        ENV OSG_LIBRARY_DIR
+        ENV OSG_DIR
+        ENV OSGDIR
+        ENV OpenThreads_ROOT
+        ENV OSG_ROOT
+        ${OPENTHREADS_DIR}
+        ${OSG_DIR}
+    PATHS
+        /sw
+        /opt/local
+        /opt/csw
+        /opt
+        /usr/freeware
+    PATH_SUFFIXES lib
+)
+
+if(OPENTHREADS_LIBRARY_DEBUG)
+    set(OPENTHREADS_LIBRARIES
+        optimized ${OPENTHREADS_LIBRARY}
+        debug ${OPENTHREADS_LIBRARY_DEBUG})
+else()
+    set(OPENTHREADS_LIBRARIES ${OPENTHREADS_LIBRARY})
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenThreads DEFAULT_MSG
+    OPENTHREADS_LIBRARY OPENTHREADS_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindPHP4.cmake b/share/cmake-3.10/Modules/FindPHP4.cmake
new file mode 100644
index 0000000..426453b
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPHP4.cmake
@@ -0,0 +1,81 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPHP4
+# --------
+#
+# Find PHP4
+#
+# This module finds if PHP4 is installed and determines where the
+# include files and libraries are.  It also determines what the name of
+# the library is.  This code sets the following variables:
+#
+# ::
+#
+#   PHP4_INCLUDE_PATH       = path to where php.h can be found
+#   PHP4_EXECUTABLE         = full path to the php4 binary
+
+set(PHP4_POSSIBLE_INCLUDE_PATHS
+  /usr/include/php4
+  /usr/local/include/php4
+  /usr/include/php
+  /usr/local/include/php
+  /usr/local/apache/php
+  )
+
+set(PHP4_POSSIBLE_LIB_PATHS
+  /usr/lib
+  )
+
+find_path(PHP4_FOUND_INCLUDE_PATH main/php.h
+  ${PHP4_POSSIBLE_INCLUDE_PATHS})
+
+if(PHP4_FOUND_INCLUDE_PATH)
+  set(php4_paths "${PHP4_POSSIBLE_INCLUDE_PATHS}")
+  foreach(php4_path Zend main TSRM)
+    set(php4_paths ${php4_paths} "${PHP4_FOUND_INCLUDE_PATH}/${php4_path}")
+  endforeach()
+  set(PHP4_INCLUDE_PATH "${php4_paths}")
+endif()
+
+find_program(PHP4_EXECUTABLE NAMES php4 php )
+
+mark_as_advanced(
+  PHP4_EXECUTABLE
+  PHP4_FOUND_INCLUDE_PATH
+  )
+
+if(APPLE)
+# this is a hack for now
+  string(APPEND CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+   " -Wl,-flat_namespace")
+  foreach(symbol
+    __efree
+    __emalloc
+    __estrdup
+    __object_init_ex
+    __zend_get_parameters_array_ex
+    __zend_list_find
+    __zval_copy_ctor
+    _add_property_zval_ex
+    _alloc_globals
+    _compiler_globals
+    _convert_to_double
+    _convert_to_long
+    _zend_error
+    _zend_hash_find
+    _zend_register_internal_class_ex
+    _zend_register_list_destructors_ex
+    _zend_register_resource
+    _zend_rsrc_list_get_rsrc_type
+    _zend_wrong_param_count
+    _zval_used_for_init
+    )
+    string(APPEND CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+      ",-U,${symbol}")
+  endforeach()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PHP4 DEFAULT_MSG PHP4_EXECUTABLE PHP4_INCLUDE_PATH)
diff --git a/share/cmake-3.10/Modules/FindPNG.cmake b/share/cmake-3.10/Modules/FindPNG.cmake
new file mode 100644
index 0000000..dceb6bc
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPNG.cmake
@@ -0,0 +1,148 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPNG
+# -------
+#
+# Find libpng, the official reference library for the PNG image format.
+#
+# Imported targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` target:
+#
+# ``PNG::PNG``
+#   The libpng library, if found.
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``PNG_INCLUDE_DIRS``
+#   where to find png.h, etc.
+# ``PNG_LIBRARIES``
+#   the libraries to link against to use PNG.
+# ``PNG_DEFINITIONS``
+#   You should add_definitions(${PNG_DEFINITIONS}) before compiling code
+#   that includes png library files.
+# ``PNG_FOUND``
+#   If false, do not try to use PNG.
+# ``PNG_VERSION_STRING``
+#   the version of the PNG library found (since CMake 2.8.8)
+#
+# Obsolete variables
+# ^^^^^^^^^^^^^^^^^^
+#
+# The following variables may also be set, for backwards compatibility:
+#
+# ``PNG_LIBRARY``
+#   where to find the PNG library.
+# ``PNG_INCLUDE_DIR``
+#   where to find the PNG headers (same as PNG_INCLUDE_DIRS)
+#
+# Since PNG depends on the ZLib compression library, none of the above
+# will be defined unless ZLib can be found.
+
+if(PNG_FIND_QUIETLY)
+  set(_FIND_ZLIB_ARG QUIET)
+endif()
+find_package(ZLIB ${_FIND_ZLIB_ARG})
+
+if(ZLIB_FOUND)
+  find_path(PNG_PNG_INCLUDE_DIR png.h
+  /usr/local/include/libpng             # OpenBSD
+  )
+
+  list(APPEND PNG_NAMES png libpng)
+  unset(PNG_NAMES_DEBUG)
+  set(_PNG_VERSION_SUFFIXES 17 16 15 14 12)
+  if (PNG_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)(\\..*)?$")
+    set(_PNG_VERSION_SUFFIX_MIN "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
+    if (PNG_FIND_VERSION_EXACT)
+      set(_PNG_VERSION_SUFFIXES ${_PNG_VERSION_SUFFIX_MIN})
+    else ()
+      string(REGEX REPLACE
+          "${_PNG_VERSION_SUFFIX_MIN}.*" "${_PNG_VERSION_SUFFIX_MIN}"
+          _PNG_VERSION_SUFFIXES "${_PNG_VERSION_SUFFIXES}")
+    endif ()
+    unset(_PNG_VERSION_SUFFIX_MIN)
+  endif ()
+  foreach(v IN LISTS _PNG_VERSION_SUFFIXES)
+    list(APPEND PNG_NAMES png${v} libpng${v})
+    list(APPEND PNG_NAMES_DEBUG png${v}d libpng${v}d)
+  endforeach()
+  unset(_PNG_VERSION_SUFFIXES)
+  # For compatibility with versions prior to this multi-config search, honor
+  # any PNG_LIBRARY that is already specified and skip the search.
+  if(NOT PNG_LIBRARY)
+    find_library(PNG_LIBRARY_RELEASE NAMES ${PNG_NAMES})
+    find_library(PNG_LIBRARY_DEBUG NAMES ${PNG_NAMES_DEBUG})
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    select_library_configurations(PNG)
+    mark_as_advanced(PNG_LIBRARY_RELEASE PNG_LIBRARY_DEBUG)
+  endif()
+  unset(PNG_NAMES)
+  unset(PNG_NAMES_DEBUG)
+
+  # Set by select_library_configurations(), but we want the one from
+  # find_package_handle_standard_args() below.
+  unset(PNG_FOUND)
+
+  if (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
+      # png.h includes zlib.h. Sigh.
+      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 (CYGWIN)
+        if(BUILD_SHARED_LIBS)
+           # No need to define PNG_USE_DLL here, because it's default for Cygwin.
+        else()
+          set (PNG_DEFINITIONS -DPNG_STATIC)
+        endif()
+      endif ()
+
+      if(NOT TARGET PNG::PNG)
+        add_library(PNG::PNG UNKNOWN IMPORTED)
+        set_target_properties(PNG::PNG PROPERTIES
+          INTERFACE_COMPILE_DEFINITIONS "${PNG_DEFINITIONS}"
+          INTERFACE_INCLUDE_DIRECTORIES "${PNG_INCLUDE_DIRS}"
+          INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
+        if(EXISTS "${PNG_LIBRARY}")
+          set_target_properties(PNG::PNG PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+            IMPORTED_LOCATION "${PNG_LIBRARY}")
+        endif()
+        if(EXISTS "${PNG_LIBRARY_RELEASE}")
+          set_property(TARGET PNG::PNG APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS RELEASE)
+          set_target_properties(PNG::PNG PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
+            IMPORTED_LOCATION_RELEASE "${PNG_LIBRARY_RELEASE}")
+        endif()
+        if(EXISTS "${PNG_LIBRARY_DEBUG}")
+          set_property(TARGET PNG::PNG APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS DEBUG)
+          set_target_properties(PNG::PNG PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+            IMPORTED_LOCATION_DEBUG "${PNG_LIBRARY_DEBUG}")
+        endif()
+      endif()
+  endif ()
+
+  if (PNG_PNG_INCLUDE_DIR AND EXISTS "${PNG_PNG_INCLUDE_DIR}/png.h")
+      file(STRINGS "${PNG_PNG_INCLUDE_DIR}/png.h" png_version_str REGEX "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\".+\"")
+
+      string(REGEX REPLACE "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\"([^\"]+)\".*" "\\1" PNG_VERSION_STRING "${png_version_str}")
+      unset(png_version_str)
+  endif ()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(PNG
+                                  REQUIRED_VARS PNG_LIBRARY PNG_PNG_INCLUDE_DIR
+                                  VERSION_VAR PNG_VERSION_STRING)
+
+mark_as_advanced(PNG_PNG_INCLUDE_DIR PNG_LIBRARY )
diff --git a/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake b/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake
new file mode 100644
index 0000000..67f6bd6
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake
@@ -0,0 +1,386 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindPackageHandleStandardArgs
+-----------------------------
+
+This module provides a function intended to be used in :ref:`Find Modules`
+implementing :command:`find_package(<PackageName>)` calls.  It handles the
+``REQUIRED``, ``QUIET`` and version-related arguments of ``find_package``.
+It also sets the ``<PackageName>_FOUND`` variable.  The package is
+considered found if all variables listed contain valid results, e.g.
+valid filepaths.
+
+.. command:: find_package_handle_standard_args
+
+  There are two signatures::
+
+    find_package_handle_standard_args(<PackageName>
+      (DEFAULT_MSG|<custom-failure-message>)
+      <required-var>...
+      )
+
+    find_package_handle_standard_args(<PackageName>
+      [FOUND_VAR <result-var>]
+      [REQUIRED_VARS <required-var>...]
+      [VERSION_VAR <version-var>]
+      [HANDLE_COMPONENTS]
+      [CONFIG_MODE]
+      [FAIL_MESSAGE <custom-failure-message>]
+      )
+
+  The ``<PackageName>_FOUND`` variable will be set to ``TRUE`` if all
+  the variables ``<required-var>...`` are valid and any optional
+  constraints are satisfied, and ``FALSE`` otherwise.  A success or
+  failure message may be displayed based on the results and on
+  whether the ``REQUIRED`` and/or ``QUIET`` option was given to
+  the :command:`find_package` call.
+
+  The options are:
+
+  ``(DEFAULT_MSG|<custom-failure-message>)``
+    In the simple signature this specifies the failure message.
+    Use ``DEFAULT_MSG`` to ask for a default message to be computed
+    (recommended).  Not valid in the full signature.
+
+  ``FOUND_VAR <result-var>``
+    Obsolete.  Specifies either ``<PackageName>_FOUND`` or
+    ``<PACKAGENAME>_FOUND`` as the result variable.  This exists only
+    for compatibility with older versions of CMake and is now ignored.
+    Result variables of both names are always set for compatibility.
+
+  ``REQUIRED_VARS <required-var>...``
+    Specify the variables which are required for this package.
+    These may be named in the generated failure message asking the
+    user to set the missing variable values.  Therefore these should
+    typically be cache entries such as ``FOO_LIBRARY`` and not output
+    variables like ``FOO_LIBRARIES``.
+
+  ``VERSION_VAR <version-var>``
+    Specify the name of a variable that holds the version of the package
+    that has been found.  This version will be checked against the
+    (potentially) specified required version given to the
+    :command:`find_package` call, including its ``EXACT`` option.
+    The default messages include information about the required
+    version and the version which has been actually found, both
+    if the version is ok or not.
+
+  ``HANDLE_COMPONENTS``
+    Enable handling of package components.  In this case, the command
+    will report which components have been found and which are missing,
+    and the ``<PackageName>_FOUND`` variable will be set to ``FALSE``
+    if any of the required components (i.e. not the ones listed after
+    the ``OPTIONAL_COMPONENTS`` option of :command:`find_package`) are
+    missing.
+
+  ``CONFIG_MODE``
+    Specify that the calling find module is a wrapper around a
+    call to ``find_package(<PackageName> NO_MODULE)``.  This implies
+    a ``VERSION_VAR`` value of ``<PackageName>_VERSION``.  The command
+    will automatically check whether the package configuration file
+    was found.
+
+  ``FAIL_MESSAGE <custom-failure-message>``
+    Specify a custom failure message instead of using the default
+    generated message.  Not recommended.
+
+Example for the simple signature:
+
+.. code-block:: cmake
+
+  find_package_handle_standard_args(LibXml2 DEFAULT_MSG
+    LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
+
+The ``LibXml2`` package is considered to be found if both
+``LIBXML2_LIBRARY`` and ``LIBXML2_INCLUDE_DIR`` are valid.
+Then also ``LibXml2_FOUND`` is set to ``TRUE``.  If it is not found
+and ``REQUIRED`` was used, it fails with a
+:command:`message(FATAL_ERROR)`, independent whether ``QUIET`` was
+used or not.  If it is found, success will be reported, including
+the content of the first ``<required-var>``.  On repeated CMake runs,
+the same message will not be printed again.
+
+Example for the full signature:
+
+.. code-block:: cmake
+
+  find_package_handle_standard_args(LibArchive
+    REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
+    VERSION_VAR LibArchive_VERSION)
+
+In this case, the ``LibArchive`` package is considered to be found if
+both ``LibArchive_LIBRARY`` and ``LibArchive_INCLUDE_DIR`` are valid.
+Also the version of ``LibArchive`` will be checked by using the version
+contained in ``LibArchive_VERSION``.  Since no ``FAIL_MESSAGE`` is given,
+the default messages will be printed.
+
+Another example for the full signature:
+
+.. code-block:: cmake
+
+  find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
+  find_package_handle_standard_args(Automoc4  CONFIG_MODE)
+
+In this case, a ``FindAutmoc4.cmake`` module wraps a call to
+``find_package(Automoc4 NO_MODULE)`` and adds an additional search
+directory for ``automoc4``.  Then the call to
+``find_package_handle_standard_args`` produces a proper success/failure
+message.
+#]=======================================================================]
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
+
+# internal helper macro
+macro(_FPHSA_FAILURE_MESSAGE _msg)
+  if (${_NAME}_FIND_REQUIRED)
+    message(FATAL_ERROR "${_msg}")
+  else ()
+    if (NOT ${_NAME}_FIND_QUIETLY)
+      message(STATUS "${_msg}")
+    endif ()
+  endif ()
+endmacro()
+
+
+# internal helper macro to generate the failure message when used in CONFIG_MODE:
+macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+  # <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
+  if(${_NAME}_CONFIG)
+    _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing:${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
+  else()
+    # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
+    # List them all in the error message:
+    if(${_NAME}_CONSIDERED_CONFIGS)
+      set(configsText "")
+      list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
+      math(EXPR configsCount "${configsCount} - 1")
+      foreach(currentConfigIndex RANGE ${configsCount})
+        list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
+        list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
+        string(APPEND configsText "    ${filename} (version ${version})\n")
+      endforeach()
+      if (${_NAME}_NOT_FOUND_MESSAGE)
+        string(APPEND configsText "    Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
+      endif()
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
+
+    else()
+      # Simple case: No Config-file was found at all:
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
+    endif()
+  endif()
+endmacro()
+
+
+function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
+
+# Set up the arguments for `cmake_parse_arguments`.
+  set(options  CONFIG_MODE  HANDLE_COMPONENTS)
+  set(oneValueArgs  FAIL_MESSAGE  VERSION_VAR  FOUND_VAR)
+  set(multiValueArgs REQUIRED_VARS)
+
+# 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)
+
+  if(${INDEX} EQUAL -1)
+    set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
+    set(FPHSA_REQUIRED_VARS ${ARGN})
+    set(FPHSA_VERSION_VAR)
+  else()
+    cmake_parse_arguments(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
+
+    if(FPHSA_UNPARSED_ARGUMENTS)
+      message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
+    endif()
+
+    if(NOT FPHSA_FAIL_MESSAGE)
+      set(FPHSA_FAIL_MESSAGE  "DEFAULT_MSG")
+    endif()
+
+    # In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
+    # when it successfully found the config-file, including version checking:
+    if(FPHSA_CONFIG_MODE)
+      list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
+      list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
+      set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
+    endif()
+
+    if(NOT FPHSA_REQUIRED_VARS)
+      message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
+    endif()
+  endif()
+
+# now that we collected all arguments, process them
+
+  if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")
+    set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
+  endif()
+
+  list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
+
+  string(TOUPPER ${_NAME} _NAME_UPPER)
+  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 ${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.")
+    endif()
+  else()
+    set(_FOUND_VAR ${_NAME_UPPER}_FOUND)
+  endif()
+
+  # collect all variables which were not found, so they can be printed, so the
+  # user knows better what went wrong (#6375)
+  set(MISSING_VARS "")
+  set(DETAILS "")
+  # check if all passed variables are valid
+  set(FPHSA_FOUND_${_NAME} TRUE)
+  foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
+    if(NOT ${_CURRENT_VAR})
+      set(FPHSA_FOUND_${_NAME} FALSE)
+      string(APPEND MISSING_VARS " ${_CURRENT_VAR}")
+    else()
+      string(APPEND DETAILS "[${${_CURRENT_VAR}}]")
+    endif()
+  endforeach()
+  if(FPHSA_FOUND_${_NAME})
+    set(${_NAME}_FOUND TRUE)
+    set(${_NAME_UPPER}_FOUND TRUE)
+  else()
+    set(${_NAME}_FOUND FALSE)
+    set(${_NAME_UPPER}_FOUND FALSE)
+  endif()
+
+  # component handling
+  unset(FOUND_COMPONENTS_MSG)
+  unset(MISSING_COMPONENTS_MSG)
+
+  if(FPHSA_HANDLE_COMPONENTS)
+    foreach(comp ${${_NAME}_FIND_COMPONENTS})
+      if(${_NAME}_${comp}_FOUND)
+
+        if(NOT DEFINED FOUND_COMPONENTS_MSG)
+          set(FOUND_COMPONENTS_MSG "found components: ")
+        endif()
+        string(APPEND FOUND_COMPONENTS_MSG " ${comp}")
+
+      else()
+
+        if(NOT DEFINED MISSING_COMPONENTS_MSG)
+          set(MISSING_COMPONENTS_MSG "missing components: ")
+        endif()
+        string(APPEND MISSING_COMPONENTS_MSG " ${comp}")
+
+        if(${_NAME}_FIND_REQUIRED_${comp})
+          set(${_NAME}_FOUND FALSE)
+          string(APPEND MISSING_VARS " ${comp}")
+        endif()
+
+      endif()
+    endforeach()
+    set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
+    string(APPEND DETAILS "[c${COMPONENT_MSG}]")
+  endif()
+
+  # version handling:
+  set(VERSION_MSG "")
+  set(VERSION_OK TRUE)
+
+  # check with DEFINED here as the requested or found version may be "0"
+  if (DEFINED ${_NAME}_FIND_VERSION)
+    if(DEFINED ${FPHSA_VERSION_VAR})
+      set(_FOUND_VERSION ${${FPHSA_VERSION_VAR}})
+
+      if(${_NAME}_FIND_VERSION_EXACT)       # exact version required
+        # count the dots in the version string
+        string(REGEX REPLACE "[^.]" "" _VERSION_DOTS "${_FOUND_VERSION}")
+        # add one dot because there is one dot more than there are components
+        string(LENGTH "${_VERSION_DOTS}." _VERSION_DOTS)
+        if (_VERSION_DOTS GREATER ${_NAME}_FIND_VERSION_COUNT)
+          # Because of the C++ implementation of find_package() ${_NAME}_FIND_VERSION_COUNT
+          # is at most 4 here. Therefore a simple lookup table is used.
+          if (${_NAME}_FIND_VERSION_COUNT EQUAL 1)
+            set(_VERSION_REGEX "[^.]*")
+          elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 2)
+            set(_VERSION_REGEX "[^.]*\\.[^.]*")
+          elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 3)
+            set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*")
+          else ()
+            set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*\\.[^.]*")
+          endif ()
+          string(REGEX REPLACE "^(${_VERSION_REGEX})\\..*" "\\1" _VERSION_HEAD "${_FOUND_VERSION}")
+          unset(_VERSION_REGEX)
+          if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _VERSION_HEAD)
+            set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
+            set(VERSION_OK FALSE)
+          else ()
+            set(VERSION_MSG "(found suitable exact version \"${_FOUND_VERSION}\")")
+          endif ()
+          unset(_VERSION_HEAD)
+        else ()
+          if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _FOUND_VERSION)
+            set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
+            set(VERSION_OK FALSE)
+          else ()
+            set(VERSION_MSG "(found suitable exact version \"${_FOUND_VERSION}\")")
+          endif ()
+        endif ()
+        unset(_VERSION_DOTS)
+
+      else()     # minimum version specified:
+        if (${_NAME}_FIND_VERSION VERSION_GREATER _FOUND_VERSION)
+          set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
+          set(VERSION_OK FALSE)
+        else ()
+          set(VERSION_MSG "(found suitable version \"${_FOUND_VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
+        endif ()
+      endif()
+
+    else()
+
+      # if the package was not found, but a version was given, add that to the output:
+      if(${_NAME}_FIND_VERSION_EXACT)
+         set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
+      else()
+         set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
+      endif()
+
+    endif()
+  else ()
+    # Check with DEFINED as the found version may be 0.
+    if(DEFINED ${FPHSA_VERSION_VAR})
+      set(VERSION_MSG "(found version \"${${FPHSA_VERSION_VAR}}\")")
+    endif()
+  endif ()
+
+  if(VERSION_OK)
+    string(APPEND DETAILS "[v${${FPHSA_VERSION_VAR}}(${${_NAME}_FIND_VERSION})]")
+  else()
+    set(${_NAME}_FOUND FALSE)
+  endif()
+
+
+  # print the result:
+  if (${_NAME}_FOUND)
+    FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
+  else ()
+
+    if(FPHSA_CONFIG_MODE)
+      _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
+    else()
+      if(NOT VERSION_OK)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
+      else()
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing:${MISSING_VARS}) ${VERSION_MSG}")
+      endif()
+    endif()
+
+  endif ()
+
+  set(${_NAME}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
+  set(${_NAME_UPPER}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindPackageMessage.cmake b/share/cmake-3.10/Modules/FindPackageMessage.cmake
new file mode 100644
index 0000000..6821cee
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPackageMessage.cmake
@@ -0,0 +1,47 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPackageMessage
+# ------------------
+#
+#
+#
+# FIND_PACKAGE_MESSAGE(<name> "message for user" "find result details")
+#
+# This macro is intended to be used in FindXXX.cmake modules files.  It
+# will print a message once for each unique find result.  This is useful
+# for telling the user where a package was found.  The first argument
+# specifies the name (XXX) of the package.  The second argument
+# specifies the message to display.  The third argument lists details
+# about the find result so that if they change the message will be
+# displayed again.  The macro also obeys the QUIET argument to the
+# find_package command.
+#
+# Example:
+#
+# ::
+#
+#   if(X11_FOUND)
+#     FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
+#       "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
+#   else()
+#    ...
+#   endif()
+
+function(FIND_PACKAGE_MESSAGE pkg msg details)
+  # Avoid printing a message repeatedly for the same find result.
+  if(NOT ${pkg}_FIND_QUIETLY)
+    string(REPLACE "\n" "" details "${details}")
+    set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
+    if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
+      # The message has not yet been printed.
+      message(STATUS "${msg}")
+
+      # Save the find details in the cache to avoid printing the same
+      # message again.
+      set("${DETAILS_VAR}" "${details}"
+        CACHE INTERNAL "Details about finding ${pkg}")
+    endif()
+  endif()
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindPatch.cmake b/share/cmake-3.10/Modules/FindPatch.cmake
new file mode 100644
index 0000000..3ebcae9
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPatch.cmake
@@ -0,0 +1,68 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPatch
+# ---------
+#
+# The module defines the following variables:
+#
+# ``Patch_EXECUTABLE``
+#   Path to patch command-line executable.
+# ``Patch_FOUND``
+#   True if the patch command-line executable was found.
+#
+# The following :prop_tgt:`IMPORTED` targets are also defined:
+#
+# ``Patch::patch``
+#   The command-line executable.
+#
+# Example usage:
+#
+# .. code-block:: cmake
+#
+#    find_package(Patch)
+#    if(Patch_FOUND)
+#      message("Patch found: ${Patch_EXECUTABLE}")
+#    endif()
+
+set(_doc "Patch command line executable")
+set(_patch_path )
+
+if(CMAKE_HOST_WIN32)
+  set(_patch_path
+    "$ENV{LOCALAPPDATA}/Programs/Git/bin"
+    "$ENV{LOCALAPPDATA}/Programs/Git/usr/bin"
+    "$ENV{APPDATA}/Programs/Git/bin"
+    "$ENV{APPDATA}/Programs/Git/usr/bin"
+    )
+endif()
+
+# First search the PATH
+find_program(Patch_EXECUTABLE
+  NAME patch
+  PATHS ${_patch_path}
+  DOC ${_doc}
+  )
+
+if(CMAKE_HOST_WIN32)
+  # Now look for installations in Git/ directories under typical installation
+  # prefixes on Windows.
+  find_program(Patch_EXECUTABLE
+    NAMES patch
+    PATH_SUFFIXES Git/usr/bin Git/bin GnuWin32/bin
+    DOC ${_doc}
+    )
+endif()
+
+if(Patch_EXECUTABLE AND NOT TARGET Patch::patch)
+  add_executable(Patch::patch IMPORTED)
+  set_property(TARGET Patch::patch PROPERTY IMPORTED_LOCATION ${Patch_EXECUTABLE})
+endif()
+
+unset(_patch_path)
+unset(_doc)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Patch
+                                  REQUIRED_VARS Patch_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindPerl.cmake b/share/cmake-3.10/Modules/FindPerl.cmake
new file mode 100644
index 0000000..423fc69
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPerl.cmake
@@ -0,0 +1,78 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPerl
+# --------
+#
+# Find perl
+#
+# this module looks for Perl
+#
+# ::
+#
+#   PERL_EXECUTABLE     - the full path to perl
+#   PERL_FOUND          - If false, don't attempt to use perl.
+#   PERL_VERSION_STRING - version of perl found (since CMake 2.8.8)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
+
+set(PERL_POSSIBLE_BIN_PATHS
+  ${CYGWIN_INSTALL_PATH}/bin
+  )
+
+if(WIN32)
+  get_filename_component(
+    ActivePerl_CurrentVersion
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl;CurrentVersion]"
+    NAME)
+  set(PERL_POSSIBLE_BIN_PATHS ${PERL_POSSIBLE_BIN_PATHS}
+    "C:/Perl/bin"
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl\\${ActivePerl_CurrentVersion}]/bin
+    )
+endif()
+
+find_program(PERL_EXECUTABLE
+  NAMES perl
+  PATHS ${PERL_POSSIBLE_BIN_PATHS}
+  )
+
+if(PERL_EXECUTABLE)
+  ### PERL_VERSION
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:version
+      OUTPUT_VARIABLE
+        PERL_VERSION_OUTPUT_VARIABLE
+      RESULT_VARIABLE
+        PERL_VERSION_RESULT_VARIABLE
+      ERROR_QUIET
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+  if(NOT PERL_VERSION_RESULT_VARIABLE AND NOT PERL_VERSION_OUTPUT_VARIABLE MATCHES "^version='UNKNOWN'")
+    string(REGEX REPLACE "version='([^']+)'.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+  else()
+    execute_process(
+      COMMAND ${PERL_EXECUTABLE} -v
+      OUTPUT_VARIABLE PERL_VERSION_OUTPUT_VARIABLE
+      RESULT_VARIABLE PERL_VERSION_RESULT_VARIABLE
+      ERROR_QUIET
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    if(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl.*[ \\(]v([0-9\\._]+)[ \\)]")
+      set(PERL_VERSION_STRING "${CMAKE_MATCH_1}")
+    elseif(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl, version ([0-9\\._]+) +")
+      set(PERL_VERSION_STRING "${CMAKE_MATCH_1}")
+    endif()
+  endif()
+endif()
+
+# Deprecated settings for compatibility with CMake1.4
+set(PERL ${PERL_EXECUTABLE})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Perl
+                                  REQUIRED_VARS PERL_EXECUTABLE
+                                  VERSION_VAR PERL_VERSION_STRING)
+
+mark_as_advanced(PERL_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindPerlLibs.cmake b/share/cmake-3.10/Modules/FindPerlLibs.cmake
new file mode 100644
index 0000000..e01e75e
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPerlLibs.cmake
@@ -0,0 +1,256 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPerlLibs
+# ------------
+#
+# Find Perl libraries
+#
+# This module finds if PERL is installed and determines where the
+# include files and libraries are.  It also determines what the name of
+# the library is.  This code sets the following variables:
+#
+# ::
+#
+#   PERLLIBS_FOUND    = True if perl.h & libperl were found
+#   PERL_INCLUDE_PATH = path to where perl.h is found
+#   PERL_LIBRARY      = path to libperl
+#   PERL_EXECUTABLE   = full path to the perl binary
+#
+#
+#
+# The minimum required version of Perl can be specified using the
+# standard syntax, e.g.  find_package(PerlLibs 6.0)
+#
+# ::
+#
+#   The following variables are also available if needed
+#   (introduced after CMake 2.6.4)
+#
+#
+#
+# ::
+#
+#   PERL_SITESEARCH    = path to the sitesearch install dir
+#   PERL_SITELIB       = path to the sitelib install directory
+#   PERL_VENDORARCH    = path to the vendor arch install directory
+#   PERL_VENDORLIB     = path to the vendor lib install directory
+#   PERL_ARCHLIB       = path to the arch lib install directory
+#   PERL_PRIVLIB       = path to the priv lib install directory
+#   PERL_EXTRA_C_FLAGS = Compilation flags used to build perl
+
+# find the perl executable
+include(${CMAKE_CURRENT_LIST_DIR}/FindPerl.cmake)
+
+if (PERL_EXECUTABLE)
+  ### PERL_PREFIX
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:prefix
+      OUTPUT_VARIABLE
+        PERL_PREFIX_OUTPUT_VARIABLE
+      RESULT_VARIABLE
+        PERL_PREFIX_RESULT_VARIABLE
+  )
+
+  if (NOT PERL_PREFIX_RESULT_VARIABLE)
+    string(REGEX REPLACE "prefix='([^']+)'.*" "\\1" PERL_PREFIX ${PERL_PREFIX_OUTPUT_VARIABLE})
+  endif ()
+
+  ### PERL_ARCHNAME
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:archname
+      OUTPUT_VARIABLE
+        PERL_ARCHNAME_OUTPUT_VARIABLE
+      RESULT_VARIABLE
+        PERL_ARCHNAME_RESULT_VARIABLE
+  )
+  if (NOT PERL_ARCHNAME_RESULT_VARIABLE)
+    string(REGEX REPLACE "archname='([^']+)'.*" "\\1" PERL_ARCHNAME ${PERL_ARCHNAME_OUTPUT_VARIABLE})
+  endif ()
+
+
+
+  ### PERL_EXTRA_C_FLAGS
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:cppflags
+    OUTPUT_VARIABLE
+      PERL_CPPFLAGS_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_CPPFLAGS_RESULT_VARIABLE
+    )
+  if (NOT PERL_CPPFLAGS_RESULT_VARIABLE)
+    string(REGEX REPLACE "cppflags='([^']+)'.*" "\\1" PERL_EXTRA_C_FLAGS ${PERL_CPPFLAGS_OUTPUT_VARIABLE})
+  endif ()
+
+  ### PERL_SITESEARCH
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:installsitesearch
+    OUTPUT_VARIABLE
+      PERL_SITESEARCH_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_SITESEARCH_RESULT_VARIABLE
+  )
+  if (NOT PERL_SITESEARCH_RESULT_VARIABLE)
+    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITESEARCH ${PERL_SITESEARCH_OUTPUT_VARIABLE})
+    file(TO_CMAKE_PATH "${PERL_SITESEARCH}" PERL_SITESEARCH)
+  endif ()
+
+  ### PERL_SITELIB
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:installsitelib
+    OUTPUT_VARIABLE
+      PERL_SITELIB_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_SITELIB_RESULT_VARIABLE
+  )
+  if (NOT PERL_SITELIB_RESULT_VARIABLE)
+    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITELIB ${PERL_SITELIB_OUTPUT_VARIABLE})
+    file(TO_CMAKE_PATH "${PERL_SITELIB}" PERL_SITELIB)
+  endif ()
+
+  ### PERL_VENDORARCH
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:installvendorarch
+    OUTPUT_VARIABLE
+      PERL_VENDORARCH_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_VENDORARCH_RESULT_VARIABLE
+    )
+  if (NOT PERL_VENDORARCH_RESULT_VARIABLE)
+    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORARCH ${PERL_VENDORARCH_OUTPUT_VARIABLE})
+    file(TO_CMAKE_PATH "${PERL_VENDORARCH}" PERL_VENDORARCH)
+  endif ()
+
+  ### PERL_VENDORLIB
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:installvendorlib
+    OUTPUT_VARIABLE
+      PERL_VENDORLIB_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_VENDORLIB_RESULT_VARIABLE
+  )
+  if (NOT PERL_VENDORLIB_RESULT_VARIABLE)
+    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORLIB ${PERL_VENDORLIB_OUTPUT_VARIABLE})
+    file(TO_CMAKE_PATH "${PERL_VENDORLIB}" PERL_VENDORLIB)
+  endif ()
+
+  macro(perl_adjust_darwin_lib_variable varname)
+    string( TOUPPER PERL_${varname} FINDPERL_VARNAME )
+    string( TOLOWER install${varname} PERL_VARNAME )
+
+    if (NOT PERL_MINUSV_OUTPUT_VARIABLE)
+      execute_process(
+        COMMAND
+        ${PERL_EXECUTABLE} -V
+        OUTPUT_VARIABLE
+        PERL_MINUSV_OUTPUT_VARIABLE
+        RESULT_VARIABLE
+        PERL_MINUSV_RESULT_VARIABLE
+        )
+    endif()
+
+    if (NOT PERL_MINUSV_RESULT_VARIABLE)
+      string(REGEX MATCH "(${PERL_VARNAME}.*points? to the Updates directory)"
+        PERL_NEEDS_ADJUSTMENT ${PERL_MINUSV_OUTPUT_VARIABLE})
+
+      if (PERL_NEEDS_ADJUSTMENT)
+        string(REGEX REPLACE "(.*)/Updates/" "/System/\\1/" ${FINDPERL_VARNAME} ${${FINDPERL_VARNAME}})
+      endif ()
+
+    endif ()
+  endmacro()
+
+  ### PERL_ARCHLIB
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:installarchlib
+      OUTPUT_VARIABLE
+        PERL_ARCHLIB_OUTPUT_VARIABLE
+      RESULT_VARIABLE
+        PERL_ARCHLIB_RESULT_VARIABLE
+  )
+  if (NOT PERL_ARCHLIB_RESULT_VARIABLE)
+    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_ARCHLIB ${PERL_ARCHLIB_OUTPUT_VARIABLE})
+    perl_adjust_darwin_lib_variable( ARCHLIB )
+    file(TO_CMAKE_PATH "${PERL_ARCHLIB}" PERL_ARCHLIB)
+  endif ()
+
+  ### PERL_PRIVLIB
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:installprivlib
+    OUTPUT_VARIABLE
+      PERL_PRIVLIB_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_PRIVLIB_RESULT_VARIABLE
+  )
+  if (NOT PERL_PRIVLIB_RESULT_VARIABLE)
+    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_PRIVLIB ${PERL_PRIVLIB_OUTPUT_VARIABLE})
+    perl_adjust_darwin_lib_variable( PRIVLIB )
+    file(TO_CMAKE_PATH "${PERL_PRIVLIB}" PERL_PRIVLIB)
+  endif ()
+
+  ### PERL_POSSIBLE_LIBRARY_NAMES
+  execute_process(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:libperl
+    OUTPUT_VARIABLE
+      PERL_LIBRARY_OUTPUT_VARIABLE
+    RESULT_VARIABLE
+      PERL_LIBRARY_RESULT_VARIABLE
+  )
+  if (NOT PERL_LIBRARY_RESULT_VARIABLE)
+    string(REGEX REPLACE "libperl='([^']+)'.*" "\\1" PERL_POSSIBLE_LIBRARY_NAMES ${PERL_LIBRARY_OUTPUT_VARIABLE})
+  else ()
+    set(PERL_POSSIBLE_LIBRARY_NAMES perl${PERL_VERSION_STRING} perl)
+  endif ()
+
+  ### PERL_INCLUDE_PATH
+  find_path(PERL_INCLUDE_PATH
+    NAMES
+      perl.h
+    PATHS
+      ${PERL_ARCHLIB}/CORE
+      /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+      /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+      /usr/lib/perl5/${PERL_VERSION_STRING}/CORE
+      /usr/lib/perl/${PERL_VERSION_STRING}/CORE
+  )
+
+  ### PERL_LIBRARY
+  find_library(PERL_LIBRARY
+    NAMES
+      ${PERL_POSSIBLE_LIBRARY_NAMES}
+    PATHS
+      ${PERL_ARCHLIB}/CORE
+      /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+      /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+      /usr/lib/perl5/${PERL_VERSION_STRING}/CORE
+      /usr/lib/perl/${PERL_VERSION_STRING}/CORE
+  )
+
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(PerlLibs REQUIRED_VARS PERL_LIBRARY PERL_INCLUDE_PATH
+                                           VERSION_VAR PERL_VERSION_STRING)
+
+# Introduced after CMake 2.6.4 to bring module into compliance
+set(PERL_INCLUDE_DIR  ${PERL_INCLUDE_PATH})
+set(PERL_INCLUDE_DIRS ${PERL_INCLUDE_PATH})
+set(PERL_LIBRARIES    ${PERL_LIBRARY})
+# For backward compatibility with CMake before 2.8.8
+set(PERL_VERSION ${PERL_VERSION_STRING})
+
+mark_as_advanced(
+  PERL_INCLUDE_PATH
+  PERL_LIBRARY
+)
diff --git a/share/cmake-3.10/Modules/FindPhysFS.cmake b/share/cmake-3.10/Modules/FindPhysFS.cmake
new file mode 100644
index 0000000..cfe9b0f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPhysFS.cmake
@@ -0,0 +1,47 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPhysFS
+# ----------
+#
+#
+#
+# Locate PhysFS library This module defines PHYSFS_LIBRARY, the name of
+# the library to link against PHYSFS_FOUND, if false, do not try to link
+# to PHYSFS PHYSFS_INCLUDE_DIR, where to find physfs.h
+#
+# $PHYSFSDIR is an environment variable that would correspond to the
+# ./configure --prefix=$PHYSFSDIR used in building PHYSFS.
+#
+# Created by Eric Wing.
+
+find_path(PHYSFS_INCLUDE_DIR physfs.h
+  HINTS
+    ENV PHYSFSDIR
+  PATH_SUFFIXES include/physfs include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+)
+
+find_library(PHYSFS_LIBRARY
+  NAMES physfs
+  HINTS
+    ENV PHYSFSDIR
+  PATH_SUFFIXES lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PhysFS DEFAULT_MSG PHYSFS_LIBRARY PHYSFS_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindPike.cmake b/share/cmake-3.10/Modules/FindPike.cmake
new file mode 100644
index 0000000..dff55a4
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPike.cmake
@@ -0,0 +1,33 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPike
+# --------
+#
+# Find Pike
+#
+# This module finds if PIKE is installed and determines where the
+# include files and libraries are.  It also determines what the name of
+# the library is.  This code sets the following variables:
+#
+# ::
+#
+#   PIKE_INCLUDE_PATH       = path to where program.h is found
+#   PIKE_EXECUTABLE         = full path to the pike binary
+
+file(GLOB PIKE_POSSIBLE_INCLUDE_PATHS
+  /usr/include/pike/*
+  /usr/local/include/pike/*)
+
+find_path(PIKE_INCLUDE_PATH program.h
+  ${PIKE_POSSIBLE_INCLUDE_PATHS})
+
+find_program(PIKE_EXECUTABLE
+  NAMES pike7.4
+  )
+
+mark_as_advanced(
+  PIKE_EXECUTABLE
+  PIKE_INCLUDE_PATH
+  )
diff --git a/share/cmake-3.10/Modules/FindPkgConfig.cmake b/share/cmake-3.10/Modules/FindPkgConfig.cmake
new file mode 100644
index 0000000..76afa8a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPkgConfig.cmake
@@ -0,0 +1,677 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPkgConfig
+# -------------
+#
+# A `pkg-config` module for CMake.
+#
+# Finds the ``pkg-config`` executable and add the
+# :command:`pkg_check_modules` and :command:`pkg_search_module`
+# commands.
+#
+# In order to find the ``pkg-config`` executable, it uses the
+# :variable:`PKG_CONFIG_EXECUTABLE` variable or the ``PKG_CONFIG``
+# environment variable first.
+
+### Common stuff ####
+set(PKG_CONFIG_VERSION 1)
+
+# find pkg-config, use PKG_CONFIG if set
+if((NOT PKG_CONFIG_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG}" STREQUAL ""))
+  set(PKG_CONFIG_EXECUTABLE "$ENV{PKG_CONFIG}" CACHE FILEPATH "pkg-config executable")
+endif()
+find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
+mark_as_advanced(PKG_CONFIG_EXECUTABLE)
+
+if (PKG_CONFIG_EXECUTABLE)
+  execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --version
+    OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
+    ERROR_QUIET
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(PkgConfig
+                                  REQUIRED_VARS PKG_CONFIG_EXECUTABLE
+                                  VERSION_VAR PKG_CONFIG_VERSION_STRING)
+
+# This is needed because the module name is "PkgConfig" but the name of
+# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
+# handled by FPHSA.
+set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
+
+# Unsets the given variables
+macro(_pkgconfig_unset var)
+  set(${var} "" CACHE INTERNAL "")
+endmacro()
+
+macro(_pkgconfig_set var value)
+  set(${var} ${value} CACHE INTERNAL "")
+endmacro()
+
+# Invokes pkgconfig, cleans up the result and sets variables
+macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
+  set(_pkgconfig_invoke_result)
+
+  execute_process(
+    COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
+    OUTPUT_VARIABLE _pkgconfig_invoke_result
+    RESULT_VARIABLE _pkgconfig_failed
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  if (_pkgconfig_failed)
+    set(_pkgconfig_${_varname} "")
+    _pkgconfig_unset(${_prefix}_${_varname})
+  else()
+    string(REGEX REPLACE "[\r\n]"       " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+
+    if (NOT ${_regexp} STREQUAL "")
+      string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    endif()
+
+    separate_arguments(_pkgconfig_invoke_result)
+
+    #message(STATUS "  ${_varname} ... ${_pkgconfig_invoke_result}")
+    set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
+    _pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
+  endif()
+endmacro()
+
+#[========================================[.rst:
+.. command:: pkg_get_variable
+
+  Retrieves the value of a variable from a package::
+
+    pkg_get_variable(<RESULT> <MODULE> <VARIABLE>)
+
+  If multiple values are returned variable will contain a
+  :ref:`;-list <CMake Language Lists>`.
+
+  For example:
+
+  .. code-block:: cmake
+
+    pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
+#]========================================]
+function (pkg_get_variable result pkg variable)
+  _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
+  set("${result}"
+    "${prefix_result}"
+    PARENT_SCOPE)
+endfunction ()
+
+# Invokes pkgconfig two times; once without '--static' and once with
+# '--static'
+macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
+  _pkgconfig_invoke("${_pkglist}" ${_prefix}        ${_varname} "${cleanup_regexp}" ${ARGN})
+  _pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static  ${ARGN})
+endmacro()
+
+# Splits given arguments into options and a package list
+macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cmake_environment_path _imp_target)
+  set(${_is_req} 0)
+  set(${_is_silent} 0)
+  set(${_no_cmake_path} 0)
+  set(${_no_cmake_environment_path} 0)
+  set(${_imp_target} 0)
+  if(DEFINED PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
+    if(NOT PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
+      set(${_no_cmake_path} 1)
+      set(${_no_cmake_environment_path} 1)
+    endif()
+  elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
+    set(${_no_cmake_path} 1)
+    set(${_no_cmake_environment_path} 1)
+  endif()
+
+  foreach(_pkg ${ARGN})
+    if (_pkg STREQUAL "REQUIRED")
+      set(${_is_req} 1)
+    endif ()
+    if (_pkg STREQUAL "QUIET")
+      set(${_is_silent} 1)
+    endif ()
+    if (_pkg STREQUAL "NO_CMAKE_PATH")
+      set(${_no_cmake_path} 1)
+    endif()
+    if (_pkg STREQUAL "NO_CMAKE_ENVIRONMENT_PATH")
+      set(${_no_cmake_environment_path} 1)
+    endif()
+    if (_pkg STREQUAL "IMPORTED_TARGET")
+      set(${_imp_target} 1)
+    endif()
+  endforeach()
+
+  set(${_result} ${ARGN})
+  list(REMOVE_ITEM ${_result} "REQUIRED")
+  list(REMOVE_ITEM ${_result} "QUIET")
+  list(REMOVE_ITEM ${_result} "NO_CMAKE_PATH")
+  list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
+  list(REMOVE_ITEM ${_result} "IMPORTED_TARGET")
+endmacro()
+
+# Add the content of a variable or an environment variable to a list of
+# paths
+# Usage:
+#  - _pkgconfig_add_extra_path(_extra_paths VAR)
+#  - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
+function(_pkgconfig_add_extra_path _extra_paths_var _var)
+  set(_is_env 0)
+  if(ARGC GREATER 2 AND _var STREQUAL "ENV")
+    set(_var ${ARGV2})
+    set(_is_env 1)
+  endif()
+  if(NOT _is_env)
+    if(NOT "${${_var}}" STREQUAL "")
+      list(APPEND ${_extra_paths_var} ${${_var}})
+    endif()
+  else()
+    if(NOT "$ENV{${_var}}" STREQUAL "")
+      file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
+      list(APPEND ${_extra_paths_var} ${_path})
+      unset(_path)
+    endif()
+  endif()
+  set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
+endfunction()
+
+# scan the LDFLAGS returned by pkg-config for library directories and
+# libraries, figure out the absolute paths of that libraries in the
+# given directories, and create an imported target from them
+function(_pkg_create_imp_target _prefix _no_cmake_path _no_cmake_environment_path)
+  unset(_libs)
+  unset(_find_opts)
+
+  # set the options that are used as long as the .pc file does not provide a library
+  # path to look into
+  if(_no_cmake_path)
+    set(_find_opts "NO_CMAKE_PATH")
+  endif()
+  if(_no_cmake_environment_path)
+    string(APPEND _find_opts " NO_CMAKE_ENVIRONMENT_PATH")
+  endif()
+
+  unset(_search_paths)
+  foreach (flag IN LISTS ${_prefix}_LDFLAGS)
+    if (flag MATCHES "^-L(.*)")
+      # only look into the given paths from now on
+      list(APPEND _search_paths ${CMAKE_MATCH_1})
+      set(_find_opts HINTS ${_search_paths} NO_DEFAULT_PATH)
+      continue()
+    endif()
+    if (flag MATCHES "^-l(.*)")
+      set(_pkg_search "${CMAKE_MATCH_1}")
+    else()
+      continue()
+    endif()
+
+    find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
+                 NAMES ${_pkg_search}
+                 ${_find_opts})
+    list(APPEND _libs "${pkgcfg_lib_${_prefix}_${_pkg_search}}")
+  endforeach()
+
+  # only create the target if it is linkable, i.e. no executables
+  if (NOT TARGET PkgConfig::${_prefix}
+      AND ( ${_prefix}_INCLUDE_DIRS OR _libs OR ${_prefix}_CFLAGS_OTHER ))
+    add_library(PkgConfig::${_prefix} INTERFACE IMPORTED)
+
+    unset(_props)
+    if(${_prefix}_INCLUDE_DIRS)
+      set_property(TARGET PkgConfig::${_prefix} PROPERTY
+                   INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
+    endif()
+    if(_libs)
+      set_property(TARGET PkgConfig::${_prefix} PROPERTY
+                   INTERFACE_LINK_LIBRARIES "${_libs}")
+    endif()
+    if(${_prefix}_CFLAGS_OTHER)
+      set_property(TARGET PkgConfig::${_prefix} PROPERTY
+                   INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
+    endif()
+  endif()
+endfunction()
+
+###
+macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _prefix)
+  _pkgconfig_unset(${_prefix}_FOUND)
+  _pkgconfig_unset(${_prefix}_VERSION)
+  _pkgconfig_unset(${_prefix}_PREFIX)
+  _pkgconfig_unset(${_prefix}_INCLUDEDIR)
+  _pkgconfig_unset(${_prefix}_LIBDIR)
+  _pkgconfig_unset(${_prefix}_LIBS)
+  _pkgconfig_unset(${_prefix}_LIBS_L)
+  _pkgconfig_unset(${_prefix}_LIBS_PATHS)
+  _pkgconfig_unset(${_prefix}_LIBS_OTHER)
+  _pkgconfig_unset(${_prefix}_CFLAGS)
+  _pkgconfig_unset(${_prefix}_CFLAGS_I)
+  _pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
+  _pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
+  _pkgconfig_unset(${_prefix}_STATIC_LIBS)
+  _pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
+  _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
+  _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
+  _pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
+  _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
+  _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
+
+  # create a better addressable variable of the modules and calculate its size
+  set(_pkg_check_modules_list ${ARGN})
+  list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
+
+  if(PKG_CONFIG_EXECUTABLE)
+    # give out status message telling checked module
+    if (NOT ${_is_silent})
+      if (_pkg_check_modules_cnt EQUAL 1)
+        message(STATUS "Checking for module '${_pkg_check_modules_list}'")
+      else()
+        message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
+      endif()
+    endif()
+
+    set(_pkg_check_modules_packages)
+    set(_pkg_check_modules_failed)
+
+    set(_extra_paths)
+
+    if(NOT _no_cmake_path)
+      _pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
+      _pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
+      _pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
+    endif()
+
+    if(NOT _no_cmake_environment_path)
+      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
+      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
+      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
+    endif()
+
+    if(NOT "${_extra_paths}" STREQUAL "")
+      # Save the PKG_CONFIG_PATH environment variable, and add paths
+      # from the CMAKE_PREFIX_PATH variables
+      set(_pkgconfig_path_old "$ENV{PKG_CONFIG_PATH}")
+      set(_pkgconfig_path "${_pkgconfig_path_old}")
+      if(NOT "${_pkgconfig_path}" STREQUAL "")
+        file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
+      endif()
+
+      # Create a list of the possible pkgconfig subfolder (depending on
+      # the system
+      set(_lib_dirs)
+      if(NOT DEFINED CMAKE_SYSTEM_NAME
+          OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
+              AND NOT CMAKE_CROSSCOMPILING))
+        if(EXISTS "/etc/debian_version") # is this a debian system ?
+          if(CMAKE_LIBRARY_ARCHITECTURE)
+            list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
+          endif()
+        else()
+          # not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
+          get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
+          if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
+            list(APPEND _lib_dirs "lib32/pkgconfig")
+          endif()
+          get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
+          if(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
+            list(APPEND _lib_dirs "lib64/pkgconfig")
+          endif()
+          get_property(uselibx32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS)
+          if(uselibx32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF X32")
+            list(APPEND _lib_dirs "libx32/pkgconfig")
+          endif()
+        endif()
+      endif()
+      if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_CROSSCOMPILING)
+        list(APPEND _lib_dirs "libdata/pkgconfig")
+      endif()
+      list(APPEND _lib_dirs "lib/pkgconfig")
+      list(APPEND _lib_dirs "share/pkgconfig")
+
+      # Check if directories exist and eventually append them to the
+      # pkgconfig path list
+      foreach(_prefix_dir ${_extra_paths})
+        foreach(_lib_dir ${_lib_dirs})
+          if(EXISTS "${_prefix_dir}/${_lib_dir}")
+            list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
+            list(REMOVE_DUPLICATES _pkgconfig_path)
+          endif()
+        endforeach()
+      endforeach()
+
+      # Prepare and set the environment variable
+      if(NOT "${_pkgconfig_path}" STREQUAL "")
+        # remove empty values from the list
+        list(REMOVE_ITEM _pkgconfig_path "")
+        file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
+        if(UNIX)
+          string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
+          string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
+        endif()
+        set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
+      endif()
+
+      # Unset variables
+      unset(_lib_dirs)
+      unset(_pkgconfig_path)
+    endif()
+
+    # iterate through module list and check whether they exist and match the required version
+    foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
+      set(_pkg_check_modules_exist_query)
+
+      # check whether version is given
+      if (_pkg_check_modules_pkg MATCHES "(.*[^><])(>=|=|<=)(.*)")
+        set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
+        set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
+        set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
+      else()
+        set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
+        set(_pkg_check_modules_pkg_op)
+        set(_pkg_check_modules_pkg_ver)
+      endif()
+
+      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
+      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
+      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
+      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
+
+      list(APPEND _pkg_check_modules_packages    "${_pkg_check_modules_pkg_name}")
+
+      # create the final query which is of the format:
+      # * <pkg-name> >= <version>
+      # * <pkg-name> = <version>
+      # * <pkg-name> <= <version>
+      # * --exists <pkg-name>
+      list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
+      if (_pkg_check_modules_pkg_op)
+        list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name} ${_pkg_check_modules_pkg_op} ${_pkg_check_modules_pkg_ver}")
+      else()
+        list(APPEND _pkg_check_modules_exist_query --exists)
+        list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
+      endif()
+
+      # execute the query
+      execute_process(
+        COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
+        RESULT_VARIABLE _pkgconfig_retval
+        ERROR_VARIABLE _pkgconfig_error
+        ERROR_STRIP_TRAILING_WHITESPACE)
+
+      # evaluate result and tell failures
+      if (_pkgconfig_retval)
+        if(NOT ${_is_silent})
+          message(STATUS "  ${_pkgconfig_error}")
+        endif()
+
+        set(_pkg_check_modules_failed 1)
+      endif()
+    endforeach()
+
+    if(_pkg_check_modules_failed)
+      # fail when requested
+      if (${_is_required})
+        message(FATAL_ERROR "A required package was not found")
+      endif ()
+    else()
+      # when we are here, we checked whether requested modules
+      # exist. Now, go through them and set variables
+
+      _pkgconfig_set(${_prefix}_FOUND 1)
+      list(LENGTH _pkg_check_modules_packages pkg_count)
+
+      # iterate through all modules again and set individual variables
+      foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
+        # handle case when there is only one package required
+        if (pkg_count EQUAL 1)
+          set(_pkg_check_prefix "${_prefix}")
+        else()
+          set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
+        endif()
+
+        _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION    ""   --modversion )
+        pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
+        pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
+        pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
+        foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
+          _pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
+        endforeach ()
+
+        if (NOT ${_is_silent})
+          message(STATUS "  Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
+        endif ()
+      endforeach()
+
+      # set variables which are combined for multiple modules
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES           "(^| )-l" --libs-only-l )
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS        "(^| )-L" --libs-only-L )
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS             ""        --libs )
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER       ""        --libs-only-other )
+
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS        "(^| )-I" --cflags-only-I )
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS              ""        --cflags )
+      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER        ""        --cflags-only-other )
+
+      if (_imp_target)
+        _pkg_create_imp_target("${_prefix}" _no_cmake_path _no_cmake_environment_path)
+      endif()
+    endif()
+
+    if(NOT "${_extra_paths}" STREQUAL "")
+      # Restore the environment variable
+      set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path_old}")
+    endif()
+
+    unset(_extra_paths)
+    unset(_pkgconfig_path_old)
+  else()
+    if (${_is_required})
+      message(SEND_ERROR "pkg-config tool not found")
+    endif ()
+  endif()
+endmacro()
+
+###
+### User visible macros start here
+###
+
+#[========================================[.rst:
+.. command:: pkg_check_modules
+
+ Checks for all the given modules. ::
+
+    pkg_check_modules(<PREFIX> [REQUIRED] [QUIET]
+                      [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
+                      [IMPORTED_TARGET]
+                      <MODULE> [<MODULE>]*)
+
+
+ When the ``REQUIRED`` argument was set, macros will fail with an error
+ when module(s) could not be found.
+
+ When the ``QUIET`` argument is set, no status messages will be printed.
+
+ By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
+ later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set, the
+ :variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH`, and
+ :variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables will
+ be added to ``pkg-config`` search path.
+ The ``NO_CMAKE_PATH`` and ``NO_CMAKE_ENVIRONMENT_PATH`` arguments
+ disable this behavior for the cache variables and the environment
+ variables, respectively.
+ The ``IMPORTED_TARGET`` argument will create an imported target named
+ PkgConfig::<PREFIX>> that can be passed directly as an argument to
+ :command:`target_link_libraries`.
+
+ It sets the following variables: ::
+
+    PKG_CONFIG_FOUND          ... if pkg-config executable was found
+    PKG_CONFIG_EXECUTABLE     ... pathname of the pkg-config program
+    PKG_CONFIG_VERSION_STRING ... the version of the pkg-config program found
+                                  (since CMake 2.8.8)
+
+ For the following variables two sets of values exist; first one is the
+ common one and has the given PREFIX.  The second set contains flags
+ which are given out when ``pkg-config`` was called with the ``--static``
+ option. ::
+
+    <XPREFIX>_FOUND          ... set to 1 if module(s) exist
+    <XPREFIX>_LIBRARIES      ... only the libraries (w/o the '-l')
+    <XPREFIX>_LIBRARY_DIRS   ... the paths of the libraries (w/o the '-L')
+    <XPREFIX>_LDFLAGS        ... all required linker flags
+    <XPREFIX>_LDFLAGS_OTHER  ... all other linker flags
+    <XPREFIX>_INCLUDE_DIRS   ... the '-I' preprocessor flags (w/o the '-I')
+    <XPREFIX>_CFLAGS         ... all required cflags
+    <XPREFIX>_CFLAGS_OTHER   ... the other compiler flags
+
+ ::
+
+    <XPREFIX> = <PREFIX>        for common case
+    <XPREFIX> = <PREFIX>_STATIC for static linking
+
+ Every variable containing multiple values will be a
+ :ref:`;-list <CMake Language Lists>`.
+
+ There are some special variables whose prefix depends on the count of
+ given modules.  When there is only one module, <PREFIX> stays
+ unchanged.  When there are multiple modules, the prefix will be
+ changed to <PREFIX>_<MODNAME>: ::
+
+    <XPREFIX>_VERSION    ... version of the module
+    <XPREFIX>_PREFIX     ... prefix-directory of the module
+    <XPREFIX>_INCLUDEDIR ... include-dir of the module
+    <XPREFIX>_LIBDIR     ... lib-dir of the module
+
+ ::
+
+    <XPREFIX> = <PREFIX>  when |MODULES| == 1, else
+    <XPREFIX> = <PREFIX>_<MODNAME>
+
+ A <MODULE> parameter can have the following formats: ::
+
+    {MODNAME}            ... matches any version
+    {MODNAME}>={VERSION} ... at least version <VERSION> is required
+    {MODNAME}={VERSION}  ... exactly version <VERSION> is required
+    {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
+
+ Examples
+
+ .. code-block:: cmake
+
+    pkg_check_modules (GLIB2   glib-2.0)
+
+ .. code-block:: cmake
+
+    pkg_check_modules (GLIB2   glib-2.0>=2.10)
+
+ Requires at least version 2.10 of glib2 and defines e.g.
+ ``GLIB2_VERSION=2.10.3``
+
+ .. code-block:: cmake
+
+    pkg_check_modules (FOO     glib-2.0>=2.10 gtk+-2.0)
+
+ Requires both glib2 and gtk2, and defines e.g.
+ ``FOO_glib-2.0_VERSION=2.10.3`` and ``FOO_gtk+-2.0_VERSION=2.8.20``
+
+ .. code-block:: cmake
+
+    pkg_check_modules (XRENDER REQUIRED xrender)
+
+ Defines for example::
+
+   XRENDER_LIBRARIES=Xrender;X11``
+   XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
+#]========================================]
+macro(pkg_check_modules _prefix _module0)
+  _pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target "${_module0}" ${ARGN})
+  # check cached value
+  if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR
+      (NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR
+      (    "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}"))
+    _pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} "${_prefix}" ${_pkg_modules})
+
+    _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
+    if (${_prefix}_FOUND)
+      _pkgconfig_set(__pkg_config_arguments_${_prefix} "${_module0};${ARGN}")
+    endif()
+  elseif (${_prefix}_FOUND AND ${_imp_target})
+    _pkg_create_imp_target("${_prefix}" _no_cmake_path _no_cmake_environment_path)
+  endif()
+endmacro()
+
+
+#[========================================[.rst:
+.. command:: pkg_search_module
+
+ Same as :command:`pkg_check_modules`, but instead it checks for given
+ modules and uses the first working one. ::
+
+    pkg_search_module(<PREFIX> [REQUIRED] [QUIET]
+                      [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
+                      [IMPORTED_TARGET]
+                      <MODULE> [<MODULE>]*)
+
+ Examples
+
+ .. code-block:: cmake
+
+    pkg_search_module (BAR     libxml-2.0 libxml2 libxml>=2)
+#]========================================]
+macro(pkg_search_module _prefix _module0)
+  _pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target "${_module0}" ${ARGN})
+  # check cached value
+  if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
+    set(_pkg_modules_found 0)
+
+    if (NOT ${_pkg_is_silent})
+      message(STATUS "Checking for one of the modules '${_pkg_modules_alt}'")
+    endif ()
+
+    # iterate through all modules and stop at the first working one.
+    foreach(_pkg_alt ${_pkg_modules_alt})
+      if(NOT _pkg_modules_found)
+        _pkg_check_modules_internal(0 1 ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} "${_prefix}" "${_pkg_alt}")
+      endif()
+
+      if (${_prefix}_FOUND)
+        set(_pkg_modules_found 1)
+      endif()
+    endforeach()
+
+    if (NOT ${_prefix}_FOUND)
+      if(${_pkg_is_required})
+        message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
+      endif()
+    endif()
+
+    _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
+  elseif (${_prefix}_FOUND AND ${_imp_target})
+    _pkg_create_imp_target("${_prefix}" _no_cmake_path _no_cmake_environment_path)
+  endif()
+endmacro()
+
+
+#[========================================[.rst:
+.. variable:: PKG_CONFIG_EXECUTABLE
+
+ Path to the pkg-config executable.
+
+
+.. variable:: PKG_CONFIG_USE_CMAKE_PREFIX_PATH
+
+ Whether :command:`pkg_check_modules` and :command:`pkg_search_module`
+ should add the paths in :variable:`CMAKE_PREFIX_PATH`,
+ :variable:`CMAKE_FRAMEWORK_PATH`, and :variable:`CMAKE_APPBUNDLE_PATH`
+ cache and environment variables to ``pkg-config`` search path.
+
+ If this variable is not set, this behavior is enabled by default if
+ :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
+ otherwise.
+#]========================================]
+
+
+### Local Variables:
+### mode: cmake
+### End:
diff --git a/share/cmake-3.10/Modules/FindPostgreSQL.cmake b/share/cmake-3.10/Modules/FindPostgreSQL.cmake
new file mode 100644
index 0000000..f745876
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPostgreSQL.cmake
@@ -0,0 +1,187 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPostgreSQL
+# --------------
+#
+# Find the PostgreSQL installation.
+#
+# This module defines
+#
+# ::
+#
+#   PostgreSQL_LIBRARIES - the PostgreSQL libraries needed for linking
+#   PostgreSQL_INCLUDE_DIRS - the directories of the PostgreSQL headers
+#   PostgreSQL_LIBRARY_DIRS  - the link directories for PostgreSQL libraries
+#   PostgreSQL_VERSION_STRING - the version of PostgreSQL found (since CMake 2.8.8)
+
+# ----------------------------------------------------------------------------
+# History:
+# This module is derived from the module originally found in the VTK source tree.
+#
+# ----------------------------------------------------------------------------
+# Note:
+# PostgreSQL_ADDITIONAL_VERSIONS is a variable that can be used to set the
+# version mumber of the implementation of PostgreSQL.
+# In Windows the default installation of PostgreSQL uses that as part of the path.
+# E.g C:\Program Files\PostgreSQL\8.4.
+# Currently, the following version numbers are known to this module:
+# "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0"
+#
+# To use this variable just do something like this:
+# set(PostgreSQL_ADDITIONAL_VERSIONS "9.2" "8.4.4")
+# before calling find_package(PostgreSQL) in your CMakeLists.txt file.
+# This will mean that the versions you set here will be found first in the order
+# specified before the default ones are searched.
+#
+# ----------------------------------------------------------------------------
+# You may need to manually set:
+#  PostgreSQL_INCLUDE_DIR  - the path to where the PostgreSQL include files are.
+#  PostgreSQL_LIBRARY_DIR  - The path to where the PostgreSQL library files are.
+# If FindPostgreSQL.cmake cannot find the include files or the library files.
+#
+# ----------------------------------------------------------------------------
+# The following variables are set if PostgreSQL is found:
+#  PostgreSQL_FOUND         - Set to true when PostgreSQL is found.
+#  PostgreSQL_INCLUDE_DIRS  - Include directories for PostgreSQL
+#  PostgreSQL_LIBRARY_DIRS  - Link directories for PostgreSQL libraries
+#  PostgreSQL_LIBRARIES     - The PostgreSQL libraries.
+#
+# ----------------------------------------------------------------------------
+# If you have installed PostgreSQL in a non-standard location.
+# (Please note that in the following comments, it is assumed that <Your Path>
+# points to the root directory of the include directory of PostgreSQL.)
+# Then you have three options.
+# 1) After CMake runs, set PostgreSQL_INCLUDE_DIR to <Your Path>/include and
+#    PostgreSQL_LIBRARY_DIR to wherever the library pq (or libpq in windows) is
+# 2) Use CMAKE_INCLUDE_PATH to set a path to <Your Path>/PostgreSQL<-version>. This will allow find_path()
+#    to locate PostgreSQL_INCLUDE_DIR by utilizing the PATH_SUFFIXES option. e.g. In your CMakeLists.txt file
+#    set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "<Your Path>/include")
+# 3) Set an environment variable called ${PostgreSQL_ROOT} that points to the root of where you have
+#    installed PostgreSQL, e.g. <Your Path>.
+#
+# ----------------------------------------------------------------------------
+
+set(PostgreSQL_INCLUDE_PATH_DESCRIPTION "top-level directory containing the PostgreSQL include directories. E.g /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include")
+set(PostgreSQL_INCLUDE_DIR_MESSAGE "Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the ${PostgreSQL_INCLUDE_PATH_DESCRIPTION}")
+set(PostgreSQL_LIBRARY_PATH_DESCRIPTION "top-level directory containing the PostgreSQL libraries.")
+set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache entry to the ${PostgreSQL_LIBRARY_PATH_DESCRIPTION}")
+set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
+
+
+set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
+    "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
+
+# Define additional search paths for root directories.
+set( PostgreSQL_ROOT_DIRECTORIES
+   ENV PostgreSQL_ROOT
+   ${PostgreSQL_ROOT}
+)
+foreach(suffix ${PostgreSQL_KNOWN_VERSIONS})
+  if(WIN32)
+    list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
+        "PostgreSQL/${suffix}/lib")
+    list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
+        "PostgreSQL/${suffix}/include")
+    list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
+        "PostgreSQL/${suffix}/include/server")
+  endif()
+  if(UNIX)
+    list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
+        "pgsql-${suffix}/lib")
+    list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
+        "pgsql-${suffix}/include")
+    list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
+        "postgresql/${suffix}/server"
+        "pgsql-${suffix}/include/server")
+  endif()
+endforeach()
+
+#
+# Look for an installation.
+#
+find_path(PostgreSQL_INCLUDE_DIR
+  NAMES libpq-fe.h
+  PATHS
+   # Look in other places.
+   ${PostgreSQL_ROOT_DIRECTORIES}
+  PATH_SUFFIXES
+    pgsql
+    postgresql
+    include
+    ${PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES}
+  # Help the user find it if we cannot.
+  DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
+)
+
+find_path(PostgreSQL_TYPE_INCLUDE_DIR
+  NAMES catalog/pg_type.h
+  PATHS
+   # Look in other places.
+   ${PostgreSQL_ROOT_DIRECTORIES}
+  PATH_SUFFIXES
+    postgresql
+    pgsql/server
+    postgresql/server
+    include/server
+    ${PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES}
+  # Help the user find it if we cannot.
+  DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
+)
+
+# The PostgreSQL library.
+set (PostgreSQL_LIBRARY_TO_FIND pq)
+# Setting some more prefixes for the library
+set (PostgreSQL_LIB_PREFIX "")
+if ( WIN32 )
+  set (PostgreSQL_LIB_PREFIX ${PostgreSQL_LIB_PREFIX} "lib")
+  set (PostgreSQL_LIBRARY_TO_FIND ${PostgreSQL_LIB_PREFIX}${PostgreSQL_LIBRARY_TO_FIND})
+endif()
+
+find_library(PostgreSQL_LIBRARY
+ NAMES ${PostgreSQL_LIBRARY_TO_FIND}
+ PATHS
+   ${PostgreSQL_ROOT_DIRECTORIES}
+ PATH_SUFFIXES
+   lib
+   ${PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES}
+ # Help the user find it if we cannot.
+ DOC "The ${PostgreSQL_LIBRARY_DIR_MESSAGE}"
+)
+get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH)
+
+if (PostgreSQL_INCLUDE_DIR)
+  # Some platforms include multiple pg_config.hs for multi-lib configurations
+  # This is a temporary workaround.  A better solution would be to compile
+  # a dummy c file and extract the value of the symbol.
+  file(GLOB _PG_CONFIG_HEADERS "${PostgreSQL_INCLUDE_DIR}/pg_config*.h")
+  foreach(_PG_CONFIG_HEADER ${_PG_CONFIG_HEADERS})
+    if(EXISTS "${_PG_CONFIG_HEADER}")
+      file(STRINGS "${_PG_CONFIG_HEADER}" pgsql_version_str
+           REGEX "^#define[\t ]+PG_VERSION[\t ]+\".*\"")
+      if(pgsql_version_str)
+        string(REGEX REPLACE "^#define[\t ]+PG_VERSION[\t ]+\"([^\"]*)\".*"
+               "\\1" PostgreSQL_VERSION_STRING "${pgsql_version_str}")
+        break()
+      endif()
+    endif()
+  endforeach()
+  unset(pgsql_version_str)
+endif()
+
+# Did we find anything?
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(PostgreSQL
+                                  REQUIRED_VARS PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR
+                                  VERSION_VAR PostgreSQL_VERSION_STRING)
+set(PostgreSQL_FOUND  ${POSTGRESQL_FOUND})
+
+# Now try to get the include and library path.
+if(PostgreSQL_FOUND)
+  set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR} )
+  set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} )
+  set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY})
+endif()
+
+mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY )
diff --git a/share/cmake-3.10/Modules/FindProducer.cmake b/share/cmake-3.10/Modules/FindProducer.cmake
new file mode 100644
index 0000000..500c8ed
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindProducer.cmake
@@ -0,0 +1,71 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindProducer
+# ------------
+#
+#
+#
+# Though Producer isn't directly part of OpenSceneGraph, its primary
+# user is OSG so I consider this part of the Findosg* suite used to find
+# OpenSceneGraph components.  You'll notice that I accept OSGDIR as an
+# environment path.
+#
+# Each component is separate and you must opt in to each module.  You
+# must also opt into OpenGL (and OpenThreads?) as these modules won't do
+# it for you.  This is to allow you control over your own system piece
+# by piece in case you need to opt out of certain components or change
+# the Find behavior for a particular module (perhaps because the default
+# FindOpenGL.cmake module doesn't work with your system as an example).
+# If you want to use a more convenient module that includes everything,
+# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake
+# modules.
+#
+# Locate Producer This module defines PRODUCER_LIBRARY PRODUCER_FOUND,
+# if false, do not try to link to Producer PRODUCER_INCLUDE_DIR, where
+# to find the headers
+#
+# $PRODUCER_DIR is an environment variable that would correspond to the
+# ./configure --prefix=$PRODUCER_DIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <Producer/CameraGroup>
+
+# Try the user's environment request before anything else.
+find_path(PRODUCER_INCLUDE_DIR Producer/CameraGroup
+  HINTS
+    ENV PRODUCER_DIR
+    ENV OSG_DIR
+    ENV OSGDIR
+  PATH_SUFFIXES include
+  PATHS
+    ~/Library/Frameworks
+    /Library/Frameworks
+    /sw/include # Fink
+    /opt/local/include # DarwinPorts
+    /opt/csw/include # Blastwave
+    /opt/include
+    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/include
+    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
+)
+
+find_library(PRODUCER_LIBRARY
+  NAMES Producer
+  HINTS
+    ENV PRODUCER_DIR
+    ENV OSG_DIR
+    ENV OSGDIR
+  PATH_SUFFIXES lib
+  PATHS
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Producer DEFAULT_MSG
+    PRODUCER_LIBRARY PRODUCER_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindProtobuf.cmake b/share/cmake-3.10/Modules/FindProtobuf.cmake
new file mode 100644
index 0000000..e1a715e
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindProtobuf.cmake
@@ -0,0 +1,578 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindProtobuf
+# ------------
+#
+# Locate and configure the Google Protocol Buffers library.
+#
+# The following variables can be set and are optional:
+#
+# ``Protobuf_SRC_ROOT_FOLDER``
+#   When compiling with MSVC, if this cache variable is set
+#   the protobuf-default VS project build locations
+#   (vsprojects/Debug and vsprojects/Release
+#   or vsprojects/x64/Debug and vsprojects/x64/Release)
+#   will be searched for libraries and binaries.
+# ``Protobuf_IMPORT_DIRS``
+#   List of additional directories to be searched for
+#   imported .proto files.
+# ``Protobuf_DEBUG``
+#   Show debug messages.
+# ``Protobuf_USE_STATIC_LIBS``
+#   Set to ON to force the use of the static libraries.
+#   Default is OFF.
+#
+# Defines the following variables:
+#
+# ``Protobuf_FOUND``
+#   Found the Google Protocol Buffers library
+#   (libprotobuf & header files)
+# ``Protobuf_VERSION``
+#   Version of package found.
+# ``Protobuf_INCLUDE_DIRS``
+#   Include directories for Google Protocol Buffers
+# ``Protobuf_LIBRARIES``
+#   The protobuf libraries
+# ``Protobuf_PROTOC_LIBRARIES``
+#   The protoc libraries
+# ``Protobuf_LITE_LIBRARIES``
+#   The protobuf-lite libraries
+#
+# The following :prop_tgt:`IMPORTED` targets are also defined:
+#
+# ``protobuf::libprotobuf``
+#   The protobuf library.
+# ``protobuf::libprotobuf-lite``
+#   The protobuf lite library.
+# ``protobuf::libprotoc``
+#   The protoc library.
+# ``protobuf::protoc``
+#   The protoc compiler.
+#
+# The following cache variables are also available to set or use:
+#
+# ``Protobuf_LIBRARY``
+#   The protobuf library
+# ``Protobuf_PROTOC_LIBRARY``
+#   The protoc library
+# ``Protobuf_INCLUDE_DIR``
+#   The include directory for protocol buffers
+# ``Protobuf_PROTOC_EXECUTABLE``
+#   The protoc compiler
+# ``Protobuf_LIBRARY_DEBUG``
+#   The protobuf library (debug)
+# ``Protobuf_PROTOC_LIBRARY_DEBUG``
+#   The protoc library (debug)
+# ``Protobuf_LITE_LIBRARY``
+#   The protobuf lite library
+# ``Protobuf_LITE_LIBRARY_DEBUG``
+#   The protobuf lite library (debug)
+#
+# Example:
+#
+# .. code-block:: cmake
+#
+#   find_package(Protobuf REQUIRED)
+#   include_directories(${Protobuf_INCLUDE_DIRS})
+#   include_directories(${CMAKE_CURRENT_BINARY_DIR})
+#   protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto)
+#   protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS EXPORT_MACRO DLL_EXPORT foo.proto)
+#   protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS DESCRIPTORS PROTO_DESCS foo.proto)
+#   protobuf_generate_python(PROTO_PY foo.proto)
+#   add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS})
+#   target_link_libraries(bar ${Protobuf_LIBRARIES})
+#
+# .. note::
+#   The ``protobuf_generate_cpp`` and ``protobuf_generate_python``
+#   functions and :command:`add_executable` or :command:`add_library`
+#   calls only work properly within the same directory.
+#
+# .. command:: protobuf_generate_cpp
+#
+#   Add custom commands to process ``.proto`` files to C++::
+#
+#     protobuf_generate_cpp (<SRCS> <HDRS>
+#         [DESCRIPTORS <DESC>] [EXPORT_MACRO <MACRO>] [<ARGN>...])
+#
+#   ``SRCS``
+#     Variable to define with autogenerated source files
+#   ``HDRS``
+#     Variable to define with autogenerated header files
+#   ``DESCRIPTORS``
+#     Variable to define with autogenerated descriptor files, if requested.
+#   ``EXPORT_MACRO``
+#     is a macro which should expand to ``__declspec(dllexport)`` or
+#     ``__declspec(dllimport)`` depending on what is being compiled.
+#   ``ARGN``
+#     ``.proto`` files
+#
+# .. command:: protobuf_generate_python
+#
+#   Add custom commands to process ``.proto`` files to Python::
+#
+#     protobuf_generate_python (<PY> [<ARGN>...])
+#
+#   ``PY``
+#     Variable to define with autogenerated Python files
+#   ``ARGN``
+#     ``.proto`` filess
+
+function(PROTOBUF_GENERATE_CPP SRCS HDRS)
+  cmake_parse_arguments(protobuf "" "EXPORT_MACRO;DESCRIPTORS" "" ${ARGN})
+
+  set(PROTO_FILES "${protobuf_UNPARSED_ARGUMENTS}")
+  if(NOT PROTO_FILES)
+    message(SEND_ERROR "Error: PROTOBUF_GENERATE_CPP() called without any proto files")
+    return()
+  endif()
+
+  if(protobuf_EXPORT_MACRO)
+    set(DLL_EXPORT_DECL "dllexport_decl=${protobuf_EXPORT_MACRO}:")
+  endif()
+
+  if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
+    # Create an include path for each file specified
+    foreach(FIL ${PROTO_FILES})
+      get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+      get_filename_component(ABS_PATH ${ABS_FIL} PATH)
+      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
+      if(${_contains_already} EQUAL -1)
+          list(APPEND _protobuf_include_path -I ${ABS_PATH})
+      endif()
+    endforeach()
+  else()
+    set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
+  endif()
+
+  if(DEFINED PROTOBUF_IMPORT_DIRS AND NOT DEFINED Protobuf_IMPORT_DIRS)
+    set(Protobuf_IMPORT_DIRS "${PROTOBUF_IMPORT_DIRS}")
+  endif()
+
+  if(DEFINED Protobuf_IMPORT_DIRS)
+    foreach(DIR ${Protobuf_IMPORT_DIRS})
+      get_filename_component(ABS_PATH ${DIR} ABSOLUTE)
+      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
+      if(${_contains_already} EQUAL -1)
+          list(APPEND _protobuf_include_path -I ${ABS_PATH})
+      endif()
+    endforeach()
+  endif()
+
+  set(${SRCS})
+  set(${HDRS})
+  if (protobuf_DESCRIPTORS)
+    set(${protobuf_DESCRIPTORS})
+  endif()
+
+  foreach(FIL ${PROTO_FILES})
+    get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+    get_filename_component(FIL_WE ${FIL} NAME_WE)
+    if(NOT PROTOBUF_GENERATE_CPP_APPEND_PATH)
+      get_filename_component(FIL_DIR ${FIL} DIRECTORY)
+      if(FIL_DIR)
+        set(FIL_WE "${FIL_DIR}/${FIL_WE}")
+      endif()
+    endif()
+
+    set(_protobuf_protoc_src "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
+    set(_protobuf_protoc_hdr "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")
+    list(APPEND ${SRCS} "${_protobuf_protoc_src}")
+    list(APPEND ${HDRS} "${_protobuf_protoc_hdr}")
+
+    if(protobuf_DESCRIPTORS)
+      set(_protobuf_protoc_desc "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.desc")
+      set(_protobuf_protoc_flags "--descriptor_set_out=${_protobuf_protoc_desc}")
+      list(APPEND ${protobuf_DESCRIPTORS} "${_protobuf_protoc_desc}")
+    else()
+      set(_protobuf_protoc_desc "")
+      set(_protobuf_protoc_flags "")
+    endif()
+
+    add_custom_command(
+      OUTPUT "${_protobuf_protoc_src}"
+             "${_protobuf_protoc_hdr}"
+             ${_protobuf_protoc_desc}
+      COMMAND  protobuf::protoc
+               "--cpp_out=${DLL_EXPORT_DECL}${CMAKE_CURRENT_BINARY_DIR}"
+               ${_protobuf_protoc_flags}
+               ${_protobuf_include_path} ${ABS_FIL}
+      DEPENDS ${ABS_FIL} protobuf::protoc
+      COMMENT "Running C++ protocol buffer compiler on ${FIL}"
+      VERBATIM )
+  endforeach()
+
+  set(${SRCS} "${${SRCS}}" PARENT_SCOPE)
+  set(${HDRS} "${${HDRS}}" PARENT_SCOPE)
+  if(protobuf_DESCRIPTORS)
+    set(${protobuf_DESCRIPTORS} "${${protobuf_DESCRIPTORS}}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(PROTOBUF_GENERATE_PYTHON SRCS)
+  if(NOT ARGN)
+    message(SEND_ERROR "Error: PROTOBUF_GENERATE_PYTHON() called without any proto files")
+    return()
+  endif()
+
+  if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
+    # Create an include path for each file specified
+    foreach(FIL ${ARGN})
+      get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+      get_filename_component(ABS_PATH ${ABS_FIL} PATH)
+      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
+      if(${_contains_already} EQUAL -1)
+          list(APPEND _protobuf_include_path -I ${ABS_PATH})
+      endif()
+    endforeach()
+  else()
+    set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
+  endif()
+
+  if(DEFINED PROTOBUF_IMPORT_DIRS AND NOT DEFINED Protobuf_IMPORT_DIRS)
+    set(Protobuf_IMPORT_DIRS "${PROTOBUF_IMPORT_DIRS}")
+  endif()
+
+  if(DEFINED Protobuf_IMPORT_DIRS)
+    foreach(DIR ${Protobuf_IMPORT_DIRS})
+      get_filename_component(ABS_PATH ${DIR} ABSOLUTE)
+      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
+      if(${_contains_already} EQUAL -1)
+          list(APPEND _protobuf_include_path -I ${ABS_PATH})
+      endif()
+    endforeach()
+  endif()
+
+  set(${SRCS})
+  foreach(FIL ${ARGN})
+    get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+    get_filename_component(FIL_WE ${FIL} NAME_WE)
+    if(NOT PROTOBUF_GENERATE_CPP_APPEND_PATH)
+      get_filename_component(FIL_DIR ${FIL} DIRECTORY)
+      if(FIL_DIR)
+        set(FIL_WE "${FIL_DIR}/${FIL_WE}")
+      endif()
+    endif()
+
+    list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}_pb2.py")
+    add_custom_command(
+      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}_pb2.py"
+      COMMAND  protobuf::protoc --python_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
+      DEPENDS ${ABS_FIL} protobuf::protoc
+      COMMENT "Running Python protocol buffer compiler on ${FIL}"
+      VERBATIM )
+  endforeach()
+
+  set(${SRCS} ${${SRCS}} PARENT_SCOPE)
+endfunction()
+
+
+if(Protobuf_DEBUG)
+  # Output some of their choices
+  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                 "Protobuf_USE_STATIC_LIBS = ${Protobuf_USE_STATIC_LIBS}")
+endif()
+
+
+# Backwards compatibility
+# Define camel case versions of input variables
+foreach(UPPER
+    PROTOBUF_SRC_ROOT_FOLDER
+    PROTOBUF_IMPORT_DIRS
+    PROTOBUF_DEBUG
+    PROTOBUF_LIBRARY
+    PROTOBUF_PROTOC_LIBRARY
+    PROTOBUF_INCLUDE_DIR
+    PROTOBUF_PROTOC_EXECUTABLE
+    PROTOBUF_LIBRARY_DEBUG
+    PROTOBUF_PROTOC_LIBRARY_DEBUG
+    PROTOBUF_LITE_LIBRARY
+    PROTOBUF_LITE_LIBRARY_DEBUG
+    )
+    if (DEFINED ${UPPER})
+        string(REPLACE "PROTOBUF_" "Protobuf_" Camel ${UPPER})
+        if (NOT DEFINED ${Camel})
+            set(${Camel} ${${UPPER}})
+        endif()
+    endif()
+endforeach()
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(_PROTOBUF_ARCH_DIR x64/)
+endif()
+
+
+# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
+if( Protobuf_USE_STATIC_LIBS )
+  set( _protobuf_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  if(WIN32)
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  else()
+    set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
+  endif()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+
+# Internal function: search for normal library as well as a debug one
+#    if the debug one is specified also include debug/optimized keywords
+#    in *_LIBRARIES variable
+function(_protobuf_find_libraries name filename)
+  if(${name}_LIBRARIES)
+    # Use result recorded by a previous call.
+    return()
+  elseif(${name}_LIBRARY)
+    # Honor cache entry used by CMake 3.5 and lower.
+    set(${name}_LIBRARIES "${${name}_LIBRARY}" PARENT_SCOPE)
+  else()
+    find_library(${name}_LIBRARY_RELEASE
+      NAMES ${filename}
+      PATHS ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Release)
+    mark_as_advanced(${name}_LIBRARY_RELEASE)
+
+    find_library(${name}_LIBRARY_DEBUG
+      NAMES ${filename}d ${filename}
+      PATHS ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug)
+    mark_as_advanced(${name}_LIBRARY_DEBUG)
+
+    select_library_configurations(${name})
+    set(${name}_LIBRARY "${${name}_LIBRARY}" PARENT_SCOPE)
+    set(${name}_LIBRARIES "${${name}_LIBRARIES}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+# Internal function: find threads library
+function(_protobuf_find_threads)
+    set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+    find_package(Threads)
+    if(Threads_FOUND)
+        list(APPEND Protobuf_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
+        set(Protobuf_LIBRARIES "${Protobuf_LIBRARIES}" PARENT_SCOPE)
+    endif()
+endfunction()
+
+#
+# Main.
+#
+
+# By default have PROTOBUF_GENERATE_CPP macro pass -I to protoc
+# for each directory where a proto file is referenced.
+if(NOT DEFINED PROTOBUF_GENERATE_CPP_APPEND_PATH)
+  set(PROTOBUF_GENERATE_CPP_APPEND_PATH TRUE)
+endif()
+
+
+# Google's provided vcproj files generate libraries with a "lib"
+# prefix on Windows
+if(MSVC)
+    set(Protobuf_ORIG_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
+    set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
+
+    find_path(Protobuf_SRC_ROOT_FOLDER protobuf.pc.in)
+endif()
+
+# The Protobuf library
+_protobuf_find_libraries(Protobuf protobuf)
+#DOC "The Google Protocol Buffers RELEASE Library"
+
+_protobuf_find_libraries(Protobuf_LITE protobuf-lite)
+
+# The Protobuf Protoc Library
+_protobuf_find_libraries(Protobuf_PROTOC protoc)
+
+# Restore original find library prefixes
+if(MSVC)
+    set(CMAKE_FIND_LIBRARY_PREFIXES "${Protobuf_ORIG_FIND_LIBRARY_PREFIXES}")
+endif()
+
+if(UNIX)
+    _protobuf_find_threads()
+endif()
+
+# Find the include directory
+find_path(Protobuf_INCLUDE_DIR
+    google/protobuf/service.h
+    PATHS ${Protobuf_SRC_ROOT_FOLDER}/src
+)
+mark_as_advanced(Protobuf_INCLUDE_DIR)
+
+# Find the protoc Executable
+find_program(Protobuf_PROTOC_EXECUTABLE
+    NAMES protoc
+    DOC "The Google Protocol Buffers Compiler"
+    PATHS
+    ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Release
+    ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug
+)
+mark_as_advanced(Protobuf_PROTOC_EXECUTABLE)
+
+if(Protobuf_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+        "requested version of Google Protobuf is ${Protobuf_FIND_VERSION}")
+endif()
+
+if(Protobuf_INCLUDE_DIR)
+  set(_PROTOBUF_COMMON_HEADER ${Protobuf_INCLUDE_DIR}/google/protobuf/stubs/common.h)
+
+  if(Protobuf_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "location of common.h: ${_PROTOBUF_COMMON_HEADER}")
+  endif()
+
+  set(Protobuf_VERSION "")
+  set(Protobuf_LIB_VERSION "")
+  file(STRINGS ${_PROTOBUF_COMMON_HEADER} _PROTOBUF_COMMON_H_CONTENTS REGEX "#define[ \t]+GOOGLE_PROTOBUF_VERSION[ \t]+")
+  if(_PROTOBUF_COMMON_H_CONTENTS MATCHES "#define[ \t]+GOOGLE_PROTOBUF_VERSION[ \t]+([0-9]+)")
+      set(Protobuf_LIB_VERSION "${CMAKE_MATCH_1}")
+  endif()
+  unset(_PROTOBUF_COMMON_H_CONTENTS)
+
+  math(EXPR _PROTOBUF_MAJOR_VERSION "${Protobuf_LIB_VERSION} / 1000000")
+  math(EXPR _PROTOBUF_MINOR_VERSION "${Protobuf_LIB_VERSION} / 1000 % 1000")
+  math(EXPR _PROTOBUF_SUBMINOR_VERSION "${Protobuf_LIB_VERSION} % 1000")
+  set(Protobuf_VERSION "${_PROTOBUF_MAJOR_VERSION}.${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
+
+  if(Protobuf_DEBUG)
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+        "${_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_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(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}")
+  endif()
+
+  if(Protobuf_LIBRARY)
+      if(NOT TARGET protobuf::libprotobuf)
+          add_library(protobuf::libprotobuf UNKNOWN IMPORTED)
+          set_target_properties(protobuf::libprotobuf PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${Protobuf_INCLUDE_DIR}")
+          if(EXISTS "${Protobuf_LIBRARY}")
+            set_target_properties(protobuf::libprotobuf PROPERTIES
+              IMPORTED_LOCATION "${Protobuf_LIBRARY}")
+          endif()
+          if(EXISTS "${Protobuf_LIBRARY_RELEASE}")
+            set_property(TARGET protobuf::libprotobuf APPEND PROPERTY
+              IMPORTED_CONFIGURATIONS RELEASE)
+            set_target_properties(protobuf::libprotobuf PROPERTIES
+              IMPORTED_LOCATION_RELEASE "${Protobuf_LIBRARY_RELEASE}")
+          endif()
+          if(EXISTS "${Protobuf_LIBRARY_DEBUG}")
+            set_property(TARGET protobuf::libprotobuf APPEND PROPERTY
+              IMPORTED_CONFIGURATIONS DEBUG)
+            set_target_properties(protobuf::libprotobuf PROPERTIES
+              IMPORTED_LOCATION_DEBUG "${Protobuf_LIBRARY_DEBUG}")
+          endif()
+      endif()
+  endif()
+
+  if(Protobuf_LITE_LIBRARY)
+      if(NOT TARGET protobuf::libprotobuf-lite)
+          add_library(protobuf::libprotobuf-lite UNKNOWN IMPORTED)
+          set_target_properties(protobuf::libprotobuf-lite PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${Protobuf_INCLUDE_DIR}")
+          if(EXISTS "${Protobuf_LITE_LIBRARY}")
+            set_target_properties(protobuf::libprotobuf-lite PROPERTIES
+              IMPORTED_LOCATION "${Protobuf_LITE_LIBRARY}")
+          endif()
+          if(EXISTS "${Protobuf_LITE_LIBRARY_RELEASE}")
+            set_property(TARGET protobuf::libprotobuf-lite APPEND PROPERTY
+              IMPORTED_CONFIGURATIONS RELEASE)
+            set_target_properties(protobuf::libprotobuf-lite PROPERTIES
+              IMPORTED_LOCATION_RELEASE "${Protobuf_LITE_LIBRARY_RELEASE}")
+          endif()
+          if(EXISTS "${Protobuf_LITE_LIBRARY_DEBUG}")
+            set_property(TARGET protobuf::libprotobuf-lite APPEND PROPERTY
+              IMPORTED_CONFIGURATIONS DEBUG)
+            set_target_properties(protobuf::libprotobuf-lite PROPERTIES
+              IMPORTED_LOCATION_DEBUG "${Protobuf_LITE_LIBRARY_DEBUG}")
+          endif()
+      endif()
+  endif()
+
+  if(Protobuf_PROTOC_LIBRARY)
+      if(NOT TARGET protobuf::libprotoc)
+          add_library(protobuf::libprotoc UNKNOWN IMPORTED)
+          set_target_properties(protobuf::libprotoc PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${Protobuf_INCLUDE_DIR}")
+          if(EXISTS "${Protobuf_PROTOC_LIBRARY}")
+            set_target_properties(protobuf::libprotoc PROPERTIES
+              IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}")
+          endif()
+          if(EXISTS "${Protobuf_PROTOC_LIBRARY_RELEASE}")
+            set_property(TARGET protobuf::libprotoc APPEND PROPERTY
+              IMPORTED_CONFIGURATIONS RELEASE)
+            set_target_properties(protobuf::libprotoc PROPERTIES
+              IMPORTED_LOCATION_RELEASE "${Protobuf_PROTOC_LIBRARY_RELEASE}")
+          endif()
+          if(EXISTS "${Protobuf_PROTOC_LIBRARY_DEBUG}")
+            set_property(TARGET protobuf::libprotoc APPEND PROPERTY
+              IMPORTED_CONFIGURATIONS DEBUG)
+            set_target_properties(protobuf::libprotoc PROPERTIES
+              IMPORTED_LOCATION_DEBUG "${Protobuf_PROTOC_LIBRARY_DEBUG}")
+          endif()
+      endif()
+  endif()
+
+  if(Protobuf_PROTOC_EXECUTABLE)
+      if(NOT TARGET protobuf::protoc)
+          add_executable(protobuf::protoc IMPORTED)
+          if(EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
+            set_target_properties(protobuf::protoc PROPERTIES
+              IMPORTED_LOCATION "${Protobuf_PROTOC_EXECUTABLE}")
+          endif()
+      endif()
+  endif()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Protobuf
+    REQUIRED_VARS Protobuf_LIBRARIES Protobuf_INCLUDE_DIR
+    VERSION_VAR Protobuf_VERSION
+)
+
+if(Protobuf_FOUND)
+    set(Protobuf_INCLUDE_DIRS ${Protobuf_INCLUDE_DIR})
+endif()
+
+# Restore the original find library ordering
+if( Protobuf_USE_STATIC_LIBS )
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${_protobuf_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+endif()
+
+# Backwards compatibility
+# Define upper case versions of output variables
+foreach(Camel
+    Protobuf_SRC_ROOT_FOLDER
+    Protobuf_IMPORT_DIRS
+    Protobuf_DEBUG
+    Protobuf_INCLUDE_DIRS
+    Protobuf_LIBRARIES
+    Protobuf_PROTOC_LIBRARIES
+    Protobuf_LITE_LIBRARIES
+    Protobuf_LIBRARY
+    Protobuf_PROTOC_LIBRARY
+    Protobuf_INCLUDE_DIR
+    Protobuf_PROTOC_EXECUTABLE
+    Protobuf_LIBRARY_DEBUG
+    Protobuf_PROTOC_LIBRARY_DEBUG
+    Protobuf_LITE_LIBRARY
+    Protobuf_LITE_LIBRARY_DEBUG
+    )
+    string(TOUPPER ${Camel} UPPER)
+    set(${UPPER} ${${Camel}})
+endforeach()
diff --git a/share/cmake-3.10/Modules/FindPythonInterp.cmake b/share/cmake-3.10/Modules/FindPythonInterp.cmake
new file mode 100644
index 0000000..64b98a8
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPythonInterp.cmake
@@ -0,0 +1,154 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPythonInterp
+# ----------------
+#
+# Find python interpreter
+#
+# This module finds if Python interpreter is installed and determines
+# where the executables are.  This code sets the following variables:
+#
+# ::
+#
+#   PYTHONINTERP_FOUND         - Was the Python executable found
+#   PYTHON_EXECUTABLE          - path to the Python interpreter
+#
+#
+#
+# ::
+#
+#   PYTHON_VERSION_STRING      - Python version found e.g. 2.5.2
+#   PYTHON_VERSION_MAJOR       - Python major version found e.g. 2
+#   PYTHON_VERSION_MINOR       - Python minor version found e.g. 5
+#   PYTHON_VERSION_PATCH       - Python patch version found e.g. 2
+#
+#
+#
+# The Python_ADDITIONAL_VERSIONS variable can be used to specify a list
+# of version numbers that should be taken into account when searching
+# for Python.  You need to set this variable before calling
+# find_package(PythonInterp).
+#
+# If calling both ``find_package(PythonInterp)`` and
+# ``find_package(PythonLibs)``, call ``find_package(PythonInterp)`` first to
+# get the currently active Python version by default with a consistent version
+# of PYTHON_LIBRARIES.
+
+unset(_Python_NAMES)
+
+set(_PYTHON1_VERSIONS 1.6 1.5)
+set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
+set(_PYTHON3_VERSIONS 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
+
+if(PythonInterp_FIND_VERSION)
+    if(PythonInterp_FIND_VERSION_COUNT GREATER 1)
+        set(_PYTHON_FIND_MAJ_MIN "${PythonInterp_FIND_VERSION_MAJOR}.${PythonInterp_FIND_VERSION_MINOR}")
+        list(APPEND _Python_NAMES
+             python${_PYTHON_FIND_MAJ_MIN}
+             python${PythonInterp_FIND_VERSION_MAJOR})
+        unset(_PYTHON_FIND_OTHER_VERSIONS)
+        if(NOT PythonInterp_FIND_VERSION_EXACT)
+            foreach(_PYTHON_V ${_PYTHON${PythonInterp_FIND_VERSION_MAJOR}_VERSIONS})
+                if(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN)
+                    list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
+                endif()
+             endforeach()
+        endif()
+        unset(_PYTHON_FIND_MAJ_MIN)
+    else()
+        list(APPEND _Python_NAMES python${PythonInterp_FIND_VERSION_MAJOR})
+        set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonInterp_FIND_VERSION_MAJOR}_VERSIONS})
+    endif()
+else()
+    set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
+endif()
+find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES})
+
+# Set up the versions we know about, in the order we will search. Always add
+# the user supplied additional versions to the front.
+set(_Python_VERSIONS ${Python_ADDITIONAL_VERSIONS})
+# If FindPythonInterp has already found the major and minor version,
+# insert that version next to get consistent versions of the interpreter and
+# library.
+if(DEFINED PYTHONLIBS_VERSION_STRING)
+  string(REPLACE "." ";" _PYTHONLIBS_VERSION "${PYTHONLIBS_VERSION_STRING}")
+  list(GET _PYTHONLIBS_VERSION 0 _PYTHONLIBS_VERSION_MAJOR)
+  list(GET _PYTHONLIBS_VERSION 1 _PYTHONLIBS_VERSION_MINOR)
+  list(APPEND _Python_VERSIONS ${_PYTHONLIBS_VERSION_MAJOR}.${_PYTHONLIBS_VERSION_MINOR})
+endif()
+# Search for the current active python version first
+list(APPEND _Python_VERSIONS ";")
+list(APPEND _Python_VERSIONS ${_PYTHON_FIND_OTHER_VERSIONS})
+
+unset(_PYTHON_FIND_OTHER_VERSIONS)
+unset(_PYTHON1_VERSIONS)
+unset(_PYTHON2_VERSIONS)
+unset(_PYTHON3_VERSIONS)
+
+# Search for newest python version if python executable isn't found
+if(NOT PYTHON_EXECUTABLE)
+    foreach(_CURRENT_VERSION IN LISTS _Python_VERSIONS)
+      set(_Python_NAMES python${_CURRENT_VERSION})
+      if(CMAKE_HOST_WIN32)
+        list(APPEND _Python_NAMES python)
+      endif()
+      find_program(PYTHON_EXECUTABLE
+        NAMES ${_Python_NAMES}
+        PATHS
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}-32\\InstallPath]
+            [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}-64\\InstallPath]
+        )
+    endforeach()
+endif()
+
+# determine python version string
+if(PYTHON_EXECUTABLE)
+    execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
+                            "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))"
+                    OUTPUT_VARIABLE _VERSION
+                    RESULT_VARIABLE _PYTHON_VERSION_RESULT
+                    ERROR_QUIET)
+    if(NOT _PYTHON_VERSION_RESULT)
+        string(REPLACE ";" "." PYTHON_VERSION_STRING "${_VERSION}")
+        list(GET _VERSION 0 PYTHON_VERSION_MAJOR)
+        list(GET _VERSION 1 PYTHON_VERSION_MINOR)
+        list(GET _VERSION 2 PYTHON_VERSION_PATCH)
+        if(PYTHON_VERSION_PATCH EQUAL 0)
+            # it's called "Python 2.7", not "2.7.0"
+            string(REGEX REPLACE "\\.0$" "" PYTHON_VERSION_STRING "${PYTHON_VERSION_STRING}")
+        endif()
+    else()
+        # sys.version predates sys.version_info, so use that
+        execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)"
+                        OUTPUT_VARIABLE _VERSION
+                        RESULT_VARIABLE _PYTHON_VERSION_RESULT
+                        ERROR_QUIET)
+        if(NOT _PYTHON_VERSION_RESULT)
+            string(REGEX REPLACE " .*" "" PYTHON_VERSION_STRING "${_VERSION}")
+            string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}")
+            string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}")
+            if(PYTHON_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.([0-9]+)")
+                set(PYTHON_VERSION_PATCH "${CMAKE_MATCH_1}")
+            else()
+                set(PYTHON_VERSION_PATCH "0")
+            endif()
+        else()
+            # sys.version was first documented for Python 1.5, so assume
+            # this is older.
+            set(PYTHON_VERSION_STRING "1.4")
+            set(PYTHON_VERSION_MAJOR "1")
+            set(PYTHON_VERSION_MINOR "4")
+            set(PYTHON_VERSION_PATCH "0")
+        endif()
+    endif()
+    unset(_PYTHON_VERSION_RESULT)
+    unset(_VERSION)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonInterp REQUIRED_VARS PYTHON_EXECUTABLE VERSION_VAR PYTHON_VERSION_STRING)
+
+mark_as_advanced(PYTHON_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/FindPythonLibs.cmake b/share/cmake-3.10/Modules/FindPythonLibs.cmake
new file mode 100644
index 0000000..63ec9a8
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindPythonLibs.cmake
@@ -0,0 +1,351 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindPythonLibs
+# --------------
+#
+# Find python libraries
+#
+# This module finds if Python is installed and determines where the
+# include files and libraries are.  It also determines what the name of
+# the library is.  This code sets the following variables:
+#
+# ::
+#
+#   PYTHONLIBS_FOUND           - have the Python libs been found
+#   PYTHON_LIBRARIES           - path to the python library
+#   PYTHON_INCLUDE_PATH        - path to where Python.h is found (deprecated)
+#   PYTHON_INCLUDE_DIRS        - path to where Python.h is found
+#   PYTHON_DEBUG_LIBRARIES     - path to the debug library (deprecated)
+#   PYTHONLIBS_VERSION_STRING  - version of the Python libs found (since CMake 2.8.8)
+#
+#
+#
+# The Python_ADDITIONAL_VERSIONS variable can be used to specify a list
+# of version numbers that should be taken into account when searching
+# for Python.  You need to set this variable before calling
+# find_package(PythonLibs).
+#
+# If you'd like to specify the installation of Python to use, you should
+# modify the following cache variables:
+#
+# ::
+#
+#   PYTHON_LIBRARY             - path to the python library
+#   PYTHON_INCLUDE_DIR         - path to where Python.h is found
+#
+# If calling both ``find_package(PythonInterp)`` and
+# ``find_package(PythonLibs)``, call ``find_package(PythonInterp)`` first to
+# get the currently active Python version by default with a consistent version
+# of PYTHON_LIBRARIES.
+
+# Use the executable's path as a hint
+set(_Python_LIBRARY_PATH_HINT)
+if(IS_ABSOLUTE "${PYTHON_EXECUTABLE}")
+  if(WIN32)
+    get_filename_component(_Python_PREFIX "${PYTHON_EXECUTABLE}" PATH)
+    if(_Python_PREFIX)
+      set(_Python_LIBRARY_PATH_HINT ${_Python_PREFIX}/libs)
+    endif()
+    unset(_Python_PREFIX)
+  else()
+    get_filename_component(_Python_PREFIX "${PYTHON_EXECUTABLE}" PATH)
+    get_filename_component(_Python_PREFIX "${_Python_PREFIX}" PATH)
+    if(_Python_PREFIX)
+      set(_Python_LIBRARY_PATH_HINT ${_Python_PREFIX}/lib)
+    endif()
+    unset(_Python_PREFIX)
+  endif()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindFrameworks.cmake)
+# Search for the python framework on Apple.
+CMAKE_FIND_FRAMEWORKS(Python)
+
+# Save CMAKE_FIND_FRAMEWORK
+if(DEFINED CMAKE_FIND_FRAMEWORK)
+  set(_PythonLibs_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
+else()
+  unset(_PythonLibs_CMAKE_FIND_FRAMEWORK)
+endif()
+# To avoid picking up the system Python.h pre-maturely.
+set(CMAKE_FIND_FRAMEWORK LAST)
+
+set(_PYTHON1_VERSIONS 1.6 1.5)
+set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
+set(_PYTHON3_VERSIONS 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
+
+if(PythonLibs_FIND_VERSION)
+    if(PythonLibs_FIND_VERSION_COUNT GREATER 1)
+        set(_PYTHON_FIND_MAJ_MIN "${PythonLibs_FIND_VERSION_MAJOR}.${PythonLibs_FIND_VERSION_MINOR}")
+        unset(_PYTHON_FIND_OTHER_VERSIONS)
+        if(PythonLibs_FIND_VERSION_EXACT)
+            if(_PYTHON_FIND_MAJ_MIN STREQUAL PythonLibs_FIND_VERSION)
+                set(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}")
+            else()
+                set(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}" "${_PYTHON_FIND_MAJ_MIN}")
+            endif()
+        else()
+            foreach(_PYTHON_V ${_PYTHON${PythonLibs_FIND_VERSION_MAJOR}_VERSIONS})
+                if(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN)
+                    list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
+                endif()
+             endforeach()
+        endif()
+        unset(_PYTHON_FIND_MAJ_MIN)
+    else()
+        set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonLibs_FIND_VERSION_MAJOR}_VERSIONS})
+    endif()
+else()
+    set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
+endif()
+
+# Set up the versions we know about, in the order we will search. Always add
+# the user supplied additional versions to the front.
+# If FindPythonInterp has already found the major and minor version,
+# insert that version between the user supplied versions and the stock
+# version list.
+set(_Python_VERSIONS ${Python_ADDITIONAL_VERSIONS})
+if(DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR)
+  list(APPEND _Python_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+endif()
+list(APPEND _Python_VERSIONS ${_PYTHON_FIND_OTHER_VERSIONS})
+
+unset(_PYTHON_FIND_OTHER_VERSIONS)
+unset(_PYTHON1_VERSIONS)
+unset(_PYTHON2_VERSIONS)
+unset(_PYTHON3_VERSIONS)
+
+foreach(_CURRENT_VERSION ${_Python_VERSIONS})
+  string(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
+  if(WIN32)
+    find_library(PYTHON_DEBUG_LIBRARY
+      NAMES python${_CURRENT_VERSION_NO_DOTS}_d python
+      HINTS ${_Python_LIBRARY_PATH_HINT}
+      PATHS
+      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
+      [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
+      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
+      [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
+      )
+  endif()
+
+  set(PYTHON_FRAMEWORK_LIBRARIES)
+  if(Python_FRAMEWORKS AND NOT PYTHON_LIBRARY)
+    foreach(dir ${Python_FRAMEWORKS})
+      list(APPEND PYTHON_FRAMEWORK_LIBRARIES
+           ${dir}/Versions/${_CURRENT_VERSION}/lib)
+    endforeach()
+  endif()
+  find_library(PYTHON_LIBRARY
+    NAMES
+      python${_CURRENT_VERSION_NO_DOTS}
+      python${_CURRENT_VERSION}mu
+      python${_CURRENT_VERSION}m
+      python${_CURRENT_VERSION}u
+      python${_CURRENT_VERSION}
+    HINTS
+      ${_Python_LIBRARY_PATH_HINT}
+    PATHS
+      ${PYTHON_FRAMEWORK_LIBRARIES}
+      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
+      [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
+    # Avoid finding the .dll in the PATH.  We want the .lib.
+    NO_SYSTEM_ENVIRONMENT_PATH
+  )
+  # Look for the static library in the Python config directory
+  find_library(PYTHON_LIBRARY
+    NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
+    # Avoid finding the .dll in the PATH.  We want the .lib.
+    NO_SYSTEM_ENVIRONMENT_PATH
+    # This is where the static library is usually located
+    PATH_SUFFIXES python${_CURRENT_VERSION}/config
+  )
+
+  # Don't search for include dir until library location is known
+  if(PYTHON_LIBRARY)
+
+    # Use the library's install prefix as a hint
+    set(_Python_INCLUDE_PATH_HINT)
+    # PYTHON_LIBRARY may contain a list because of SelectLibraryConfigurations
+    # which may have been run previously. If it is the case, the list can be:
+    #   optimized;<FILEPATH_TO_RELEASE_LIBRARY>;debug;<FILEPATH_TO_DEBUG_LIBRARY>
+    foreach(lib ${PYTHON_LIBRARY} ${PYTHON_DEBUG_LIBRARY})
+      if(IS_ABSOLUTE "${lib}")
+        get_filename_component(_Python_PREFIX "${lib}" PATH)
+        get_filename_component(_Python_PREFIX "${_Python_PREFIX}" PATH)
+        if(_Python_PREFIX)
+          list(APPEND _Python_INCLUDE_PATH_HINT ${_Python_PREFIX}/include)
+        endif()
+        unset(_Python_PREFIX)
+      endif()
+    endforeach()
+
+    # Add framework directories to the search paths
+    set(PYTHON_FRAMEWORK_INCLUDES)
+    if(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
+      foreach(dir ${Python_FRAMEWORKS})
+        list(APPEND PYTHON_FRAMEWORK_INCLUDES
+          ${dir}/Versions/${_CURRENT_VERSION}/include)
+      endforeach()
+    endif()
+
+    find_path(PYTHON_INCLUDE_DIR
+      NAMES Python.h
+      HINTS
+        ${_Python_INCLUDE_PATH_HINT}
+      PATHS
+        ${PYTHON_FRAMEWORK_INCLUDES}
+        [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include
+        [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include
+      PATH_SUFFIXES
+        python${_CURRENT_VERSION}mu
+        python${_CURRENT_VERSION}m
+        python${_CURRENT_VERSION}u
+        python${_CURRENT_VERSION}
+    )
+  endif()
+
+  # For backward compatibility, set PYTHON_INCLUDE_PATH.
+  set(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}")
+
+  if(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h")
+    file(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" python_version_str
+         REGEX "^#define[ \t]+PY_VERSION[ \t]+\"[^\"]+\"")
+    string(REGEX REPLACE "^#define[ \t]+PY_VERSION[ \t]+\"([^\"]+)\".*" "\\1"
+                         PYTHONLIBS_VERSION_STRING "${python_version_str}")
+    unset(python_version_str)
+  endif()
+
+  if(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
+    break()
+  endif()
+endforeach()
+
+unset(_Python_INCLUDE_PATH_HINT)
+unset(_Python_LIBRARY_PATH_HINT)
+
+mark_as_advanced(
+  PYTHON_DEBUG_LIBRARY
+  PYTHON_LIBRARY
+  PYTHON_INCLUDE_DIR
+)
+
+# We use PYTHON_INCLUDE_DIR, PYTHON_LIBRARY and PYTHON_DEBUG_LIBRARY for the
+# cache entries because they are meant to specify the location of a single
+# library. We now set the variables listed by the documentation for this
+# module.
+set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+set(PYTHON_DEBUG_LIBRARIES "${PYTHON_DEBUG_LIBRARY}")
+
+# These variables have been historically named in this module different from
+# what SELECT_LIBRARY_CONFIGURATIONS() expects.
+set(PYTHON_LIBRARY_DEBUG "${PYTHON_DEBUG_LIBRARY}")
+set(PYTHON_LIBRARY_RELEASE "${PYTHON_LIBRARY}")
+include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+SELECT_LIBRARY_CONFIGURATIONS(PYTHON)
+# SELECT_LIBRARY_CONFIGURATIONS() sets ${PREFIX}_FOUND if it has a library.
+# Unset this, this prefix doesn't match the module prefix, they are different
+# for historical reasons.
+unset(PYTHON_FOUND)
+
+# Restore CMAKE_FIND_FRAMEWORK
+if(DEFINED _PythonLibs_CMAKE_FIND_FRAMEWORK)
+  set(CMAKE_FIND_FRAMEWORK ${_PythonLibs_CMAKE_FIND_FRAMEWORK})
+  unset(_PythonLibs_CMAKE_FIND_FRAMEWORK)
+else()
+  unset(CMAKE_FIND_FRAMEWORK)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs
+                                  REQUIRED_VARS PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS
+                                  VERSION_VAR PYTHONLIBS_VERSION_STRING)
+
+# PYTHON_ADD_MODULE(<name> src1 src2 ... srcN) is used to build modules for python.
+# PYTHON_WRITE_MODULES_HEADER(<filename>) writes a header file you can include
+# in your sources to initialize the static python modules
+function(PYTHON_ADD_MODULE _NAME )
+  get_property(_TARGET_SUPPORTS_SHARED_LIBS
+    GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
+  option(PYTHON_ENABLE_MODULE_${_NAME} "Add module ${_NAME}" TRUE)
+  option(PYTHON_MODULE_${_NAME}_BUILD_SHARED
+    "Add module ${_NAME} shared" ${_TARGET_SUPPORTS_SHARED_LIBS})
+
+  # Mark these options as advanced
+  mark_as_advanced(PYTHON_ENABLE_MODULE_${_NAME}
+    PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+
+  if(PYTHON_ENABLE_MODULE_${_NAME})
+    if(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+      set(PY_MODULE_TYPE MODULE)
+    else()
+      set(PY_MODULE_TYPE STATIC)
+      set_property(GLOBAL  APPEND  PROPERTY  PY_STATIC_MODULES_LIST ${_NAME})
+    endif()
+
+    set_property(GLOBAL  APPEND  PROPERTY  PY_MODULES_LIST ${_NAME})
+    add_library(${_NAME} ${PY_MODULE_TYPE} ${ARGN})
+#    target_link_libraries(${_NAME} ${PYTHON_LIBRARIES})
+
+    if(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+      set_target_properties(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}")
+      if(WIN32 AND NOT CYGWIN)
+        set_target_properties(${_NAME} PROPERTIES SUFFIX ".pyd")
+      endif()
+    endif()
+
+  endif()
+endfunction()
+
+function(PYTHON_WRITE_MODULES_HEADER _filename)
+
+  get_property(PY_STATIC_MODULES_LIST  GLOBAL  PROPERTY PY_STATIC_MODULES_LIST)
+
+  get_filename_component(_name "${_filename}" NAME)
+  string(REPLACE "." "_" _name "${_name}")
+  string(TOUPPER ${_name} _nameUpper)
+  set(_filename ${CMAKE_CURRENT_BINARY_DIR}/${_filename})
+
+  set(_filenameTmp "${_filename}.in")
+  file(WRITE ${_filenameTmp} "/*Created by cmake, do not edit, changes will be lost*/\n")
+  file(APPEND ${_filenameTmp}
+"#ifndef ${_nameUpper}
+#define ${_nameUpper}
+
+#include <Python.h>
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif /* __cplusplus */
+
+")
+
+  foreach(_currentModule ${PY_STATIC_MODULES_LIST})
+    file(APPEND ${_filenameTmp} "extern void init${PYTHON_MODULE_PREFIX}${_currentModule}(void);\n\n")
+  endforeach()
+
+  file(APPEND ${_filenameTmp}
+"#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+")
+
+
+  foreach(_currentModule ${PY_STATIC_MODULES_LIST})
+    file(APPEND ${_filenameTmp} "int ${_name}_${_currentModule}(void) \n{\n  static char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n")
+  endforeach()
+
+  file(APPEND ${_filenameTmp} "void ${_name}_LoadAllPythonModules(void)\n{\n")
+  foreach(_currentModule ${PY_STATIC_MODULES_LIST})
+    file(APPEND ${_filenameTmp} "  ${_name}_${_currentModule}();\n")
+  endforeach()
+  file(APPEND ${_filenameTmp} "}\n\n")
+  file(APPEND ${_filenameTmp} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n  ${_name}_LoadAllPythonModules();\n}\n#endif\n\n#endif\n")
+
+# with configure_file() cmake complains that you may not use a file created using file(WRITE) as input file for configure_file()
+  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_filenameTmp}" "${_filename}" OUTPUT_QUIET ERROR_QUIET)
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindQt.cmake b/share/cmake-3.10/Modules/FindQt.cmake
new file mode 100644
index 0000000..4d8aea9
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindQt.cmake
@@ -0,0 +1,185 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindQt
+# ------
+#
+# Searches for all installed versions of Qt.
+#
+# This should only be used if your project can work with multiple
+# versions of Qt.  If not, you should just directly use FindQt4 or
+# FindQt3.  If multiple versions of Qt are found on the machine, then
+# The user must set the option DESIRED_QT_VERSION to the version they
+# want to use.  If only one version of qt is found on the machine, then
+# the DESIRED_QT_VERSION is set to that version and the matching FindQt3
+# or FindQt4 module is included.  Once the user sets DESIRED_QT_VERSION,
+# then the FindQt3 or FindQt4 module is included.
+#
+# This module can only detect and switch between Qt versions 3 and 4. It
+# cannot handle Qt5 or any later versions.
+#
+# ::
+#
+#   QT_REQUIRED if this is set to TRUE then if CMake can
+#               not find Qt4 or Qt3 an error is raised
+#               and a message is sent to the user.
+#
+#
+#
+# ::
+#
+#   DESIRED_QT_VERSION OPTION is created
+#   QT4_INSTALLED is set to TRUE if qt4 is found.
+#   QT3_INSTALLED is set to TRUE if qt3 is found.
+
+# look for signs of qt3 installations
+file(GLOB GLOB_TEMP_VAR /usr/lib*/qt-3*/bin/qmake /usr/lib*/qt3*/bin/qmake)
+if(GLOB_TEMP_VAR)
+  set(QT3_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
+
+file(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-3*/bin/qmake)
+if(GLOB_TEMP_VAR)
+  set(QT3_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
+
+file(GLOB GLOB_TEMP_VAR /usr/local/lib/qt3/bin/qmake)
+if(GLOB_TEMP_VAR)
+  set(QT3_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
+
+# look for qt4 installations
+file(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-4*/bin/qmake)
+if(GLOB_TEMP_VAR)
+  set(QT4_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
+
+file(GLOB GLOB_TEMP_VAR /usr/local/Trolltech/Qt-4*/bin/qmake)
+if(GLOB_TEMP_VAR)
+  set(QT4_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
+
+file(GLOB GLOB_TEMP_VAR /usr/local/lib/qt4/bin/qmake)
+if(GLOB_TEMP_VAR)
+  set(QT4_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
+
+if (Qt_FIND_VERSION)
+  if (Qt_FIND_VERSION MATCHES "^([34])(\\.[0-9]+.*)?$")
+    set(DESIRED_QT_VERSION ${CMAKE_MATCH_1})
+  else ()
+    message(FATAL_ERROR "FindQt was called with invalid version '${Qt_FIND_VERSION}'. Only Qt major versions 3 or 4 are supported. If you do not need to support both Qt3 and Qt4 in your source consider calling find_package(Qt3) or find_package(Qt4) instead of find_package(Qt) instead.")
+  endif ()
+endif ()
+
+# now find qmake
+find_program(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
+if(QT_QMAKE_EXECUTABLE_FINDQT)
+  exec_program(${QT_QMAKE_EXECUTABLE_FINDQT} ARGS "-query QT_VERSION"
+    OUTPUT_VARIABLE QTVERSION)
+  if(QTVERSION MATCHES "4")
+    set(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE_FINDQT} CACHE PATH "Qt4 qmake program.")
+    set(QT4_INSTALLED TRUE)
+  endif()
+  if(QTVERSION MATCHES "Unknown")
+    set(QT3_INSTALLED TRUE)
+  endif()
+endif()
+
+if(QT_QMAKE_EXECUTABLE_FINDQT)
+  exec_program( ${QT_QMAKE_EXECUTABLE_FINDQT}
+    ARGS "-query QT_INSTALL_HEADERS"
+    OUTPUT_VARIABLE qt_headers )
+endif()
+
+find_file( QT4_QGLOBAL_H_FILE qglobal.h
+  "${QT_SEARCH_PATH}/Qt/include"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/include/Qt"
+  ${qt_headers}/Qt
+  $ENV{QTDIR}/include/Qt
+  /usr/local/qt/include/Qt
+  /usr/local/include/Qt
+  /usr/lib/qt/include/Qt
+  /usr/include/Qt
+  /usr/share/qt4/include/Qt
+  /usr/local/include/X11/qt4/Qt
+  C:/Progra~1/qt/include/Qt )
+
+if(QT4_QGLOBAL_H_FILE)
+  set(QT4_INSTALLED TRUE)
+endif()
+
+find_file( QT3_QGLOBAL_H_FILE qglobal.h
+  "${QT_SEARCH_PATH}/Qt/include"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
+  C:/Qt/3.3.3Educational/include
+  $ENV{QTDIR}/include
+  /usr/include/qt3/Qt
+  /usr/local/qt/include
+  /usr/local/include
+  /usr/lib/qt/include
+  /usr/include
+  /usr/share/qt3/include
+  /usr/local/include/X11/qt3
+  C:/Progra~1/qt/include
+  /usr/include/qt3 )
+
+if(QT3_QGLOBAL_H_FILE)
+  set(QT3_INSTALLED TRUE)
+endif()
+
+if(QT3_INSTALLED AND QT4_INSTALLED AND NOT DESIRED_QT_VERSION)
+  # force user to pick if we have both
+  set(DESIRED_QT_VERSION 0 CACHE STRING "Pick a version of Qt to use: 3 or 4")
+else()
+  # if only one found then pick that one
+  if(QT3_INSTALLED AND NOT DESIRED_QT_VERSION EQUAL 4)
+    set(DESIRED_QT_VERSION 3 CACHE STRING "Pick a version of Qt to use: 3 or 4")
+  endif()
+  if(QT4_INSTALLED AND NOT DESIRED_QT_VERSION EQUAL 3)
+    set(DESIRED_QT_VERSION 4 CACHE STRING "Pick a version of Qt to use: 3 or 4")
+  endif()
+endif()
+
+if(DESIRED_QT_VERSION EQUAL 3)
+  set(Qt3_FIND_REQUIRED ${Qt_FIND_REQUIRED})
+  set(Qt3_FIND_QUIETLY  ${Qt_FIND_QUIETLY})
+  include(${CMAKE_CURRENT_LIST_DIR}/FindQt3.cmake)
+endif()
+if(DESIRED_QT_VERSION EQUAL 4)
+  set(Qt4_FIND_REQUIRED ${Qt_FIND_REQUIRED})
+  set(Qt4_FIND_QUIETLY  ${Qt_FIND_QUIETLY})
+  include(${CMAKE_CURRENT_LIST_DIR}/FindQt4.cmake)
+endif()
+
+if(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
+  if(QT_REQUIRED)
+    message(SEND_ERROR "CMake was unable to find any Qt versions, put qmake in your path, or set QT_QMAKE_EXECUTABLE.")
+  endif()
+else()
+  if(NOT QT_FOUND AND NOT DESIRED_QT_VERSION)
+    if(QT_REQUIRED)
+      message(SEND_ERROR "Multiple versions of Qt found please set DESIRED_QT_VERSION")
+    else()
+      message("Multiple versions of Qt found please set DESIRED_QT_VERSION")
+    endif()
+  endif()
+  if(NOT QT_FOUND AND DESIRED_QT_VERSION)
+    if(QT_REQUIRED)
+      message(FATAL_ERROR "CMake was unable to find Qt version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_H_FILE, if those are set then QT_QT_LIBRARY or QT_LIBRARY_DIR.")
+    else()
+      message( "CMake was unable to find desired Qt version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_H_FILE.")
+    endif()
+  endif()
+endif()
+mark_as_advanced(QT3_QGLOBAL_H_FILE QT4_QGLOBAL_H_FILE QT_QMAKE_EXECUTABLE_FINDQT)
diff --git a/share/cmake-3.10/Modules/FindQt3.cmake b/share/cmake-3.10/Modules/FindQt3.cmake
new file mode 100644
index 0000000..fa9f3a1
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindQt3.cmake
@@ -0,0 +1,316 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindQt3
+# -------
+#
+# Locate Qt include paths and libraries
+#
+# This module defines:
+#
+# ::
+#
+#   QT_INCLUDE_DIR    - where to find qt.h, etc.
+#   QT_LIBRARIES      - the libraries to link against to use Qt.
+#   QT_DEFINITIONS    - definitions to use when
+#                       compiling code that uses Qt.
+#   QT_FOUND          - If false, don't try to use Qt.
+#   QT_VERSION_STRING - the version of Qt found
+#
+#
+#
+# If you need the multithreaded version of Qt, set QT_MT_REQUIRED to
+# TRUE
+#
+# Also defined, but not for general use are:
+#
+# ::
+#
+#   QT_MOC_EXECUTABLE, where to find the moc tool.
+#   QT_UIC_EXECUTABLE, where to find the uic tool.
+#   QT_QT_LIBRARY, where to find the Qt library.
+#   QT_QTMAIN_LIBRARY, where to find the qtmain
+#    library. This is only required by Qt3 on Windows.
+
+# These are around for backwards compatibility
+# they will be set
+#  QT_WRAP_CPP, set true if QT_MOC_EXECUTABLE is found
+#  QT_WRAP_UI set true if QT_UIC_EXECUTABLE is found
+
+# If Qt4 has already been found, fail.
+if(QT4_FOUND)
+  if(Qt3_FIND_REQUIRED)
+    message( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.")
+  else()
+    if(NOT Qt3_FIND_QUIETLY)
+      message( STATUS    "Qt3 and Qt4 cannot be used together in one project.")
+    endif()
+    return()
+  endif()
+endif()
+
+
+file(GLOB GLOB_PATHS /usr/lib/qt-3*)
+foreach(GLOB_PATH ${GLOB_PATHS})
+  list(APPEND GLOB_PATHS_BIN "${GLOB_PATH}/bin")
+endforeach()
+find_path(QT_INCLUDE_DIR qt.h
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
+  $ENV{QTDIR}/include
+  ${GLOB_PATHS}
+  /usr/local/qt/include
+  /usr/lib/qt/include
+  /usr/lib/qt3/include
+  /usr/include/qt
+  /usr/share/qt3/include
+  C:/Progra~1/qt/include
+  /usr/include/qt3
+  /usr/local/include/X11/qt3
+  )
+
+# if qglobal.h is not in the qt_include_dir then set
+# QT_INCLUDE_DIR to NOTFOUND
+if(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h)
+  set(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to Qt3 include directory" FORCE)
+endif()
+
+if(QT_INCLUDE_DIR)
+  #extract the version string from qglobal.h
+  file(STRINGS ${QT_INCLUDE_DIR}/qglobal.h QGLOBAL_H REGEX "#define[\t ]+QT_VERSION_STR[\t ]+\"[0-9]+.[0-9]+.[0-9]+[a-z]*\"")
+  string(REGEX REPLACE ".*\"([0-9]+.[0-9]+.[0-9]+[a-z]*)\".*" "\\1" qt_version_str "${QGLOBAL_H}")
+  unset(QGLOBAL_H)
+
+  # Under windows the qt library (MSVC) has the format qt-mtXYZ where XYZ is the
+  # version X.Y.Z, so we need to remove the dots from version
+  string(REGEX REPLACE "\\." "" qt_version_str_lib "${qt_version_str}")
+  set(QT_VERSION_STRING "${qt_version_str}")
+endif()
+
+file(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/)
+if (QT_MT_REQUIRED)
+  find_library(QT_QT_LIBRARY
+    NAMES
+    qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib}
+    qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3
+    PATHS
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+      ENV QTDIR
+      ${GLOB_PATHS_LIB}
+      /usr/local/qt
+      /usr/lib/qt
+      /usr/lib/qt3
+      /usr/share/qt3
+      C:/Progra~1/qt
+    PATH_SUFFIXES
+      lib
+    )
+
+else ()
+  find_library(QT_QT_LIBRARY
+    NAMES
+    qt qt-${qt_version_str_lib} qt-edu${qt_version_str_lib}
+    qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib}
+    qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3
+    PATHS
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+      ENV QTDIR
+      ${GLOB_PATHS_LIB}
+      /usr/local/qt
+      /usr/lib/qt
+      /usr/lib/qt3
+      /usr/share/qt3
+      C:/Progra~1/qt/lib
+    PATH_SUFFIXES
+      lib
+    )
+endif ()
+
+
+find_library(QT_QASSISTANTCLIENT_LIBRARY
+  NAMES qassistantclient
+  PATHS
+    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+    ENV QTDIR
+    ${GLOB_PATHS_LIB}
+    /usr/local/qt
+    /usr/lib/qt3
+    /usr/share/qt3
+    C:/Progra~1/qt
+  PATH_SUFFIXES
+    lib
+  )
+
+# Qt 3 should prefer QTDIR over the PATH
+find_program(QT_MOC_EXECUTABLE
+  NAMES moc-qt3 moc3 moc3-mt moc
+  HINTS
+    ENV QTDIR
+  PATHS
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
+  ${GLOB_PATHS_BIN}
+    /usr/local/lib/qt3
+    /usr/local/qt
+    /usr/lib/qt
+    /usr/lib/qt3
+    /usr/share/qt3
+    C:/Progra~1/qt
+    /usr/X11R6
+  PATH_SUFFIXES
+    bin
+  )
+
+if(QT_MOC_EXECUTABLE)
+  set ( QT_WRAP_CPP "YES")
+endif()
+
+# Qt 3 should prefer QTDIR over the PATH
+find_program(QT_UIC_EXECUTABLE
+  NAMES uic-qt3 uic3 uic3-mt uic
+  HINTS
+    ENV QTDIR
+  PATHS
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
+  ${GLOB_PATHS_BIN}
+    /usr/local/qt
+    /usr/lib/qt
+    /usr/lib/qt3
+    /usr/share/qt3
+    C:/Progra~1/qt
+    /usr/X11R6
+  PATH_SUFFIXES
+    bin
+  )
+
+if(QT_UIC_EXECUTABLE)
+  set ( QT_WRAP_UI "YES")
+endif()
+
+if (WIN32)
+  find_library(QT_QTMAIN_LIBRARY qtmain
+    HINTS
+      ENV QTDIR
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+    PATHS
+      "$ENV{ProgramFiles}/qt"
+      "C:/Program Files/qt"
+    PATH_SUFFIXES
+      lib
+    DOC "This Library is only needed by and included with Qt3 on MSWindows. It should be NOTFOUND, undefined or IGNORE otherwise."
+    )
+endif ()
+
+#support old QT_MIN_VERSION if set, but not if version is supplied by find_package()
+if(NOT Qt3_FIND_VERSION AND QT_MIN_VERSION)
+  set(Qt3_FIND_VERSION ${QT_MIN_VERSION})
+endif()
+
+# if the include a library are found then we have it
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt3
+                                  REQUIRED_VARS QT_QT_LIBRARY QT_INCLUDE_DIR QT_MOC_EXECUTABLE
+                                  VERSION_VAR QT_VERSION_STRING)
+set(QT_FOUND ${QT3_FOUND} )
+
+if(QT_FOUND)
+  set( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} )
+  set( QT_DEFINITIONS "")
+
+  if (WIN32 AND NOT CYGWIN)
+    if (QT_QTMAIN_LIBRARY)
+      # for version 3
+      set (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG)
+      set (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} )
+      set (QT_LIBRARIES ${QT_LIBRARIES} winmm wsock32)
+    else ()
+      # for version 2
+      set (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} )
+    endif ()
+  else ()
+    set (QT_LIBRARIES ${QT_QT_LIBRARY} )
+
+    set (QT_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG)
+    if(QT_QT_LIBRARY MATCHES "qt-mt")
+      set (QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT)
+    endif()
+
+  endif ()
+
+  if (QT_QASSISTANTCLIENT_LIBRARY)
+    set (QT_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT_LIBRARIES})
+  endif ()
+
+  # Backwards compatibility for CMake1.4 and 1.2
+  set (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+  set (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+  # for unix add X11 stuff
+  if(UNIX)
+    find_package(X11)
+    if (X11_FOUND)
+      set (QT_LIBRARIES ${QT_LIBRARIES} ${X11_LIBRARIES})
+    endif ()
+    if (CMAKE_DL_LIBS)
+      set (QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_DL_LIBS})
+    endif ()
+  endif()
+  if(QT_QT_LIBRARY MATCHES "qt-mt")
+    find_package(Threads)
+    set(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+  endif()
+endif()
+
+if(QT_MOC_EXECUTABLE)
+  execute_process(COMMAND ${QT_MOC_EXECUTABLE} "-v"
+                  OUTPUT_VARIABLE QTVERSION_MOC
+                  ERROR_QUIET)
+endif()
+if(QT_UIC_EXECUTABLE)
+  execute_process(COMMAND ${QT_UIC_EXECUTABLE} "-version"
+                  OUTPUT_VARIABLE QTVERSION_UIC
+                  ERROR_QUIET)
+endif()
+
+set(_QT_UIC_VERSION_3 FALSE)
+if("${QTVERSION_UIC}" MATCHES " 3.")
+  set(_QT_UIC_VERSION_3 TRUE)
+endif()
+
+set(_QT_MOC_VERSION_3 FALSE)
+if("${QTVERSION_MOC}" MATCHES " 3.")
+  set(_QT_MOC_VERSION_3 TRUE)
+endif()
+
+set(QT_WRAP_CPP FALSE)
+if (QT_MOC_EXECUTABLE AND _QT_MOC_VERSION_3)
+  set ( QT_WRAP_CPP TRUE)
+endif ()
+
+set(QT_WRAP_UI FALSE)
+if (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
+  set ( QT_WRAP_UI TRUE)
+endif ()
+
+mark_as_advanced(
+  QT_INCLUDE_DIR
+  QT_QT_LIBRARY
+  QT_QTMAIN_LIBRARY
+  QT_QASSISTANTCLIENT_LIBRARY
+  QT_UIC_EXECUTABLE
+  QT_MOC_EXECUTABLE
+  QT_WRAP_CPP
+  QT_WRAP_UI
+  )
diff --git a/share/cmake-3.10/Modules/FindQt4.cmake b/share/cmake-3.10/Modules/FindQt4.cmake
new file mode 100644
index 0000000..c67d0be
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindQt4.cmake
@@ -0,0 +1,1344 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindQt4
+# -------
+#
+# Finding and Using Qt4
+# ^^^^^^^^^^^^^^^^^^^^^
+#
+# This module can be used to find Qt4.  The most important issue is that
+# the Qt4 qmake is available via the system path.  This qmake is then
+# used to detect basically everything else.  This module defines a
+# number of :prop_tgt:`IMPORTED` targets, macros and variables.
+#
+# Typical usage could be something like:
+#
+# .. code-block:: cmake
+#
+#    set(CMAKE_AUTOMOC ON)
+#    set(CMAKE_INCLUDE_CURRENT_DIR ON)
+#    find_package(Qt4 4.4.3 REQUIRED QtGui QtXml)
+#    add_executable(myexe main.cpp)
+#    target_link_libraries(myexe Qt4::QtGui Qt4::QtXml)
+#
+# .. note::
+#
+#  When using :prop_tgt:`IMPORTED` targets, the qtmain.lib static library is
+#  automatically linked on Windows for :prop_tgt:`WIN32 <WIN32_EXECUTABLE>`
+#  executables. To disable that globally, set the
+#  ``QT4_NO_LINK_QTMAIN`` variable before finding Qt4. To disable that
+#  for a particular executable, set the ``QT4_NO_LINK_QTMAIN`` target
+#  property to ``TRUE`` on the executable.
+#
+# Qt Build Tools
+# ^^^^^^^^^^^^^^
+#
+# Qt relies on some bundled tools for code generation, such as ``moc`` for
+# meta-object code generation,``uic`` for widget layout and population,
+# and ``rcc`` for virtual filesystem content generation.  These tools may be
+# automatically invoked by :manual:`cmake(1)` if the appropriate conditions
+# are met.  See :manual:`cmake-qt(7)` for more.
+#
+# Qt Macros
+# ^^^^^^^^^
+#
+# In some cases it can be necessary or useful to invoke the Qt build tools in a
+# more-manual way. Several macros are available to add targets for such uses.
+#
+# ::
+#
+#   macro QT4_WRAP_CPP(outfiles inputfile ... [TARGET tgt] OPTIONS ...)
+#         create moc code from a list of files containing Qt class with
+#         the Q_OBJECT declaration.  Per-directory preprocessor definitions
+#         are also added.  If the <tgt> is specified, the
+#         INTERFACE_INCLUDE_DIRECTORIES and INTERFACE_COMPILE_DEFINITIONS from
+#         the <tgt> are passed to moc.  Options may be given to moc, such as
+#         those found when executing "moc -help".
+#
+#
+# ::
+#
+#   macro QT4_WRAP_UI(outfiles inputfile ... OPTIONS ...)
+#         create code from a list of Qt designer ui files.
+#         Options may be given to uic, such as those found
+#         when executing "uic -help"
+#
+#
+# ::
+#
+#   macro QT4_ADD_RESOURCES(outfiles inputfile ... OPTIONS ...)
+#         create code from a list of Qt resource files.
+#         Options may be given to rcc, such as those found
+#         when executing "rcc -help"
+#
+#
+# ::
+#
+#   macro QT4_GENERATE_MOC(inputfile outputfile [TARGET tgt])
+#         creates a rule to run moc on infile and create outfile.
+#         Use this if for some reason QT4_WRAP_CPP() isn't appropriate, e.g.
+#         because you need a custom filename for the moc file or something
+#         similar.  If the <tgt> is specified, the
+#         INTERFACE_INCLUDE_DIRECTORIES and INTERFACE_COMPILE_DEFINITIONS from
+#         the <tgt> are passed to moc.
+#
+#
+# ::
+#
+#   macro QT4_ADD_DBUS_INTERFACE(outfiles interface basename)
+#         Create the interface header and implementation files with the
+#         given basename from the given interface xml file and add it to
+#         the list of sources.
+#
+#         You can pass additional parameters to the qdbusxml2cpp call by setting
+#         properties on the input file:
+#
+#         INCLUDE the given file will be included in the generate interface header
+#
+#         CLASSNAME the generated class is named accordingly
+#
+#         NO_NAMESPACE the generated class is not wrapped in a namespace
+#
+#
+# ::
+#
+#   macro QT4_ADD_DBUS_INTERFACES(outfiles inputfile ... )
+#         Create the interface header and implementation files
+#         for all listed interface xml files.
+#         The basename will be automatically determined from the name
+#         of the xml file.
+#
+#         The source file properties described for
+#         QT4_ADD_DBUS_INTERFACE also apply here.
+#
+#
+# ::
+#
+#   macro QT4_ADD_DBUS_ADAPTOR(outfiles xmlfile parentheader parentclassname
+#                              [basename] [classname])
+#         create a dbus adaptor (header and implementation file) from the xml file
+#         describing the interface, and add it to the list of sources. The adaptor
+#         forwards the calls to a parent class, defined in parentheader and named
+#         parentclassname. The name of the generated files will be
+#         <basename>adaptor.{cpp,h} where basename defaults to the basename of the
+#         xml file.
+#         If <classname> is provided, then it will be used as the classname of the
+#         adaptor itself.
+#
+#
+# ::
+#
+#   macro QT4_GENERATE_DBUS_INTERFACE( header [interfacename] OPTIONS ...)
+#         generate the xml interface file from the given header.
+#         If the optional argument interfacename is omitted, the name of the
+#         interface file is constructed from the basename of the header with
+#         the suffix .xml appended.
+#         Options may be given to qdbuscpp2xml, such as those found when
+#         executing "qdbuscpp2xml --help"
+#
+#
+# ::
+#
+#   macro QT4_CREATE_TRANSLATION( qm_files directories ... sources ...
+#                                 ts_files ... OPTIONS ...)
+#         out: qm_files
+#         in:  directories sources ts_files
+#         options: flags to pass to lupdate, such as -extensions to specify
+#         extensions for a directory scan.
+#         generates commands to create .ts (vie lupdate) and .qm
+#         (via lrelease) - files from directories and/or sources. The ts files are
+#         created and/or updated in the source tree (unless given with full paths).
+#         The qm files are generated in the build tree.
+#         Updating the translations can be done by adding the qm_files
+#         to the source list of your library/executable, so they are
+#         always updated, or by adding a custom target to control when
+#         they get updated/generated.
+#
+#
+# ::
+#
+#   macro QT4_ADD_TRANSLATION( qm_files ts_files ... )
+#         out: qm_files
+#         in:  ts_files
+#         generates commands to create .qm from .ts - files. The generated
+#         filenames can be found in qm_files. The ts_files
+#         must exist and are not updated in any way.
+#
+#
+# ::
+#
+#   macro QT4_AUTOMOC(sourcefile1 sourcefile2 ... [TARGET tgt])
+#         The qt4_automoc macro is obsolete.  Use the CMAKE_AUTOMOC feature instead.
+#         This macro is still experimental.
+#         It can be used to have moc automatically handled.
+#         So if you have the files foo.h and foo.cpp, and in foo.h a
+#         a class uses the Q_OBJECT macro, moc has to run on it. If you don't
+#         want to use QT4_WRAP_CPP() (which is reliable and mature), you can insert
+#         #include "foo.moc"
+#         in foo.cpp and then give foo.cpp as argument to QT4_AUTOMOC(). This will
+#         scan all listed files at cmake-time for such included moc files and if it
+#         finds them cause a rule to be generated to run moc at build time on the
+#         accompanying header file foo.h.
+#         If a source file has the SKIP_AUTOMOC property set it will be ignored by
+#         this macro.
+#         If the <tgt> is specified, the INTERFACE_INCLUDE_DIRECTORIES and
+#         INTERFACE_COMPILE_DEFINITIONS from the <tgt> are passed to moc.
+#
+#
+# ::
+#
+#  function QT4_USE_MODULES( target [link_type] modules...)
+#         This function is obsolete. Use target_link_libraries with IMPORTED targets
+#         instead.
+#         Make <target> use the <modules> from Qt. Using a Qt module means
+#         to link to the library, add the relevant include directories for the
+#         module, and add the relevant compiler defines for using the module.
+#         Modules are roughly equivalent to components of Qt4, so usage would be
+#         something like:
+#          qt4_use_modules(myexe Core Gui Declarative)
+#         to use QtCore, QtGui and QtDeclarative. The optional <link_type> argument
+#         can be specified as either LINK_PUBLIC or LINK_PRIVATE to specify the
+#         same argument to the target_link_libraries call.
+#
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# A particular Qt library may be used by using the corresponding
+# :prop_tgt:`IMPORTED` target with the :command:`target_link_libraries`
+# command:
+#
+# .. code-block:: cmake
+#
+#   target_link_libraries(myexe Qt4::QtGui Qt4::QtXml)
+#
+# Using a target in this way causes :cmake(1)` to use the appropriate include
+# directories and compile definitions for the target when compiling ``myexe``.
+#
+# Targets are aware of their dependencies, so for example it is not necessary
+# to list ``Qt4::QtCore`` if another Qt library is listed, and it is not
+# necessary to list ``Qt4::QtGui`` if ``Qt4::QtDeclarative`` is listed.
+# Targets may be tested for existence in the usual way with the
+# :command:`if(TARGET)` command.
+#
+# The Qt toolkit may contain both debug and release libraries.
+# :manual:`cmake(1)` will choose the appropriate version based on the build
+# configuration.
+#
+# ``Qt4::QtCore``
+#  The QtCore target
+# ``Qt4::QtGui``
+#  The QtGui target
+# ``Qt4::Qt3Support``
+#  The Qt3Support target
+# ``Qt4::QtAssistant``
+#  The QtAssistant target
+# ``Qt4::QtAssistantClient``
+#  The QtAssistantClient target
+# ``Qt4::QAxContainer``
+#  The QAxContainer target (Windows only)
+# ``Qt4::QAxServer``
+#  The QAxServer target (Windows only)
+# ``Qt4::QtDBus``
+#  The QtDBus target
+# ``Qt4::QtDeclarative``
+#  The QtDeclarative target
+# ``Qt4::QtDesigner``
+#  The QtDesigner target
+# ``Qt4::QtDesignerComponents``
+#  The QtDesignerComponents target
+# ``Qt4::QtHelp``
+#  The QtHelp target
+# ``Qt4::QtMotif``
+#  The QtMotif target
+# ``Qt4::QtMultimedia``
+#  The QtMultimedia target
+# ``Qt4::QtNetwork``
+#  The QtNetwork target
+# ``Qt4::QtNsPLugin``
+#  The QtNsPLugin target
+# ``Qt4::QtOpenGL``
+#  The QtOpenGL target
+# ``Qt4::QtScript``
+#  The QtScript target
+# ``Qt4::QtScriptTools``
+#  The QtScriptTools target
+# ``Qt4::QtSql``
+#  The QtSql target
+# ``Qt4::QtSvg``
+#  The QtSvg target
+# ``Qt4::QtTest``
+#  The QtTest target
+# ``Qt4::QtUiTools``
+#  The QtUiTools target
+# ``Qt4::QtWebKit``
+#  The QtWebKit target
+# ``Qt4::QtXml``
+#  The QtXml target
+# ``Qt4::QtXmlPatterns``
+#  The QtXmlPatterns target
+# ``Qt4::phonon``
+#  The phonon target
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+#   Below is a detailed list of variables that FindQt4.cmake sets.
+#
+# ``Qt4_FOUND``
+#  If false, don't try to use Qt 4.
+# ``QT_FOUND``
+#  If false, don't try to use Qt. This variable is for compatibility only.
+# ``QT4_FOUND``
+#  If false, don't try to use Qt 4. This variable is for compatibility only.
+# ``QT_VERSION_MAJOR``
+#  The major version of Qt found.
+# ``QT_VERSION_MINOR``
+#  The minor version of Qt found.
+# ``QT_VERSION_PATCH``
+#  The patch version of Qt found.
+
+# Use find_package( Qt4 COMPONENTS ... ) to enable modules
+if( Qt4_FIND_COMPONENTS )
+  foreach( component ${Qt4_FIND_COMPONENTS} )
+    string( TOUPPER ${component} _COMPONENT )
+    set( QT_USE_${_COMPONENT} 1 )
+  endforeach()
+
+  # To make sure we don't use QtCore or QtGui when not in COMPONENTS
+  if(NOT QT_USE_QTCORE)
+    set( QT_DONT_USE_QTCORE 1 )
+  endif()
+
+  if(NOT QT_USE_QTGUI)
+    set( QT_DONT_USE_QTGUI 1 )
+  endif()
+
+endif()
+
+# If Qt3 has already been found, fail.
+if(QT_QT_LIBRARY)
+  if(Qt4_FIND_REQUIRED)
+    message( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.  If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
+  else()
+    if(NOT Qt4_FIND_QUIETLY)
+      message( STATUS    "Qt3 and Qt4 cannot be used together in one project.  If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
+    endif()
+    return()
+  endif()
+endif()
+
+
+include(${CMAKE_CURRENT_LIST_DIR}/CheckCXXSymbolExists.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/MacroAddFileDependencies.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+
+set(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
+
+set( QT_DEFINITIONS "")
+
+# convenience macro for dealing with debug/release library names
+macro (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
+
+  string(TOUPPER "${_camelCaseBasename}" basename)
+
+  # The name of the imported targets, i.e. the prefix "Qt4::" must not change,
+  # since it is stored in EXPORT-files as name of a required library. If the name would change
+  # here, this would lead to the imported Qt4-library targets not being resolved by cmake anymore.
+  if (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+
+    if(NOT TARGET Qt4::${_camelCaseBasename})
+      add_library(Qt4::${_camelCaseBasename} UNKNOWN IMPORTED )
+
+      if (QT_${basename}_LIBRARY_RELEASE)
+        set_property(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+        set(_location "${QT_${basename}_LIBRARY_RELEASE}")
+        if(QT_USE_FRAMEWORKS AND EXISTS ${_location}/${_camelCaseBasename})
+          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_RELEASE "${_location}/${_camelCaseBasename}" )
+        else()
+          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_RELEASE "${_location}" )
+        endif()
+      endif ()
+
+      if (QT_${basename}_LIBRARY_DEBUG)
+        set_property(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+        set(_location "${QT_${basename}_LIBRARY_DEBUG}")
+        if(QT_USE_FRAMEWORKS AND EXISTS ${_location}/${_camelCaseBasename})
+          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_DEBUG "${_location}/${_camelCaseBasename}" )
+        else()
+          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_DEBUG "${_location}" )
+        endif()
+      endif ()
+      set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY
+        INTERFACE_INCLUDE_DIRECTORIES
+          "${QT_${basename}_INCLUDE_DIR}"
+      )
+      string(REGEX REPLACE "^QT" "" _stemname ${basename})
+      set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY
+        INTERFACE_COMPILE_DEFINITIONS
+          "QT_${_stemname}_LIB"
+      )
+    endif()
+
+    # If QT_USE_IMPORTED_TARGETS is enabled, the QT_QTFOO_LIBRARY variables are set to point at these
+    # imported targets. This works better in general, and is also in almost all cases fully
+    # backward compatible. The only issue is when a project A which had this enabled then exports its
+    # libraries via export or export_library_dependencies(). In this case the libraries from project
+    # A will depend on the imported Qt targets, and the names of these imported targets will be stored
+    # in the dependency files on disk. This means when a project B then uses project A, these imported
+    # targets must be created again, otherwise e.g. "Qt4__QtCore" will be interpreted as name of a
+    # library file on disk, and not as a target, and linking will fail:
+    if(QT_USE_IMPORTED_TARGETS)
+        set(QT_${basename}_LIBRARY       Qt4::${_camelCaseBasename} )
+        set(QT_${basename}_LIBRARIES     Qt4::${_camelCaseBasename} )
+    else()
+
+      # if the release- as well as the debug-version of the library have been found:
+      if (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+        # if the generator supports configuration types then set
+        # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
+        if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+          set(QT_${basename}_LIBRARY       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+        else()
+          # if there are no configuration types and CMAKE_BUILD_TYPE has no value
+          # then just use the release libraries
+          set(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE} )
+        endif()
+        set(QT_${basename}_LIBRARIES       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+      endif ()
+
+      # if only the release version was found, set the debug variable also to the release version
+      if (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+        set(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
+        set(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE})
+        set(QT_${basename}_LIBRARIES     ${QT_${basename}_LIBRARY_RELEASE})
+      endif ()
+
+      # if only the debug version was found, set the release variable also to the debug version
+      if (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+        set(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
+        set(QT_${basename}_LIBRARY         ${QT_${basename}_LIBRARY_DEBUG})
+        set(QT_${basename}_LIBRARIES       ${QT_${basename}_LIBRARY_DEBUG})
+      endif ()
+
+      # put the value in the cache:
+      set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The Qt ${basename} library" FORCE)
+
+    endif()
+
+    set(QT_${basename}_FOUND 1)
+
+  else ()
+
+    set(QT_${basename}_LIBRARY "" CACHE STRING "The Qt ${basename} library" FORCE)
+
+  endif ()
+
+  if (QT_${basename}_INCLUDE_DIR)
+    #add the include directory to QT_INCLUDES
+    set(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})
+  endif ()
+
+  # Make variables changeable to the advanced user
+  mark_as_advanced(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
+endmacro ()
+
+function(_QT4_QUERY_QMAKE VAR RESULT)
+  execute_process(COMMAND "${QT_QMAKE_EXECUTABLE}" -query ${VAR}
+    RESULT_VARIABLE return_code
+    OUTPUT_VARIABLE output
+    OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE)
+  if(NOT return_code)
+    file(TO_CMAKE_PATH "${output}" output)
+    set(${RESULT} ${output} PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(_QT4_GET_VERSION_COMPONENTS VERSION RESULT_MAJOR RESULT_MINOR RESULT_PATCH)
+  string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${QTVERSION}")
+  string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${QTVERSION}")
+  string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${QTVERSION}")
+
+  set(${RESULT_MAJOR} ${QT_VERSION_MAJOR} PARENT_SCOPE)
+  set(${RESULT_MINOR} ${QT_VERSION_MINOR} PARENT_SCOPE)
+  set(${RESULT_PATCH} ${QT_VERSION_PATCH} PARENT_SCOPE)
+endfunction()
+
+function(_QT4_FIND_QMAKE QMAKE_NAMES QMAKE_RESULT VERSION_RESULT)
+  list(LENGTH QMAKE_NAMES QMAKE_NAMES_LEN)
+  if(${QMAKE_NAMES_LEN} EQUAL 0)
+    return()
+  endif()
+  list(GET QMAKE_NAMES 0 QMAKE_NAME)
+
+  get_filename_component(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
+
+  find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME}
+    PATHS
+      ENV QTDIR
+      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]"
+    PATH_SUFFIXES bin
+    DOC "The qmake executable for the Qt installation to use"
+  )
+
+  set(major 0)
+  if (QT_QMAKE_EXECUTABLE)
+    _qt4_query_qmake(QT_VERSION QTVERSION)
+    _qt4_get_version_components("${QTVERSION}" major minor patch)
+  endif()
+
+  if (NOT QT_QMAKE_EXECUTABLE OR NOT "${major}" EQUAL 4)
+    set(curr_qmake "${QT_QMAKE_EXECUTABLE}")
+    set(curr_qt_version "${QTVERSION}")
+
+    set(QT_QMAKE_EXECUTABLE NOTFOUND CACHE FILEPATH "" FORCE)
+    list(REMOVE_AT QMAKE_NAMES 0)
+    _qt4_find_qmake("${QMAKE_NAMES}" QMAKE QTVERSION)
+
+    _qt4_get_version_components("${QTVERSION}" major minor patch)
+    if (NOT ${major} EQUAL 4)
+      # Restore possibly found qmake and it's version; these are used later
+      # in error message if incorrect version is found
+      set(QT_QMAKE_EXECUTABLE "${curr_qmake}" CACHE FILEPATH "" FORCE)
+      set(QTVERSION "${curr_qt_version}")
+    endif()
+
+  endif()
+
+
+  set(${QMAKE_RESULT} "${QT_QMAKE_EXECUTABLE}" PARENT_SCOPE)
+  set(${VERSION_RESULT} "${QTVERSION}" PARENT_SCOPE)
+endfunction()
+
+
+set(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
+
+set(_QT4_QMAKE_NAMES qmake qmake4 qmake-qt4 qmake-mac)
+_qt4_find_qmake("${_QT4_QMAKE_NAMES}" QT_QMAKE_EXECUTABLE QTVERSION)
+
+if (QT_QMAKE_EXECUTABLE AND
+  QTVERSION VERSION_GREATER 3 AND QTVERSION VERSION_LESS 5)
+
+  if (Qt5Core_FOUND)
+    # Qt5CoreConfig sets QT_MOC_EXECUTABLE as a non-cache variable to the Qt 5
+    # path to moc.  Unset that variable when Qt 4 and 5 are used together, so
+    # that when find_program looks for moc, it is not set to the Qt 5 version.
+    # If FindQt4 has already put the Qt 4 path in the cache, the unset()
+    # command 'unhides' the (correct) cache variable.
+    unset(QT_MOC_EXECUTABLE)
+  endif()
+  if (QT_QMAKE_EXECUTABLE_LAST)
+    string(COMPARE NOTEQUAL "${QT_QMAKE_EXECUTABLE_LAST}" "${QT_QMAKE_EXECUTABLE}" QT_QMAKE_CHANGED)
+  endif()
+  set(QT_QMAKE_EXECUTABLE_LAST "${QT_QMAKE_EXECUTABLE}" CACHE INTERNAL "" FORCE)
+
+  _qt4_get_version_components("${QTVERSION}" QT_VERSION_MAJOR QT_VERSION_MINOR QT_VERSION_PATCH)
+
+  # ask qmake for the mkspecs directory
+  # we do this first because QT_LIBINFIX might be set
+  if (NOT QT_MKSPECS_DIR  OR  QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QMAKE_MKSPECS qt_mkspecs_dirs)
+    # do not replace : on windows as it might be a drive letter
+    # and windows should already use ; as a separator
+    if(NOT WIN32)
+      string(REPLACE ":" ";" qt_mkspecs_dirs "${qt_mkspecs_dirs}")
+    endif()
+    set(qt_cross_paths)
+    foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
+      set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/mkspecs")
+    endforeach()
+    set(QT_MKSPECS_DIR NOTFOUND)
+    find_path(QT_MKSPECS_DIR NAMES qconfig.pri
+      HINTS ${qt_cross_paths} ${qt_mkspecs_dirs}
+      DOC "The location of the Qt mkspecs containing qconfig.pri"
+      NO_CMAKE_FIND_ROOT_PATH)
+  endif()
+
+  if(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
+    file(READ ${QT_MKSPECS_DIR}/qconfig.pri _qconfig_FILE_contents)
+    string(REGEX MATCH "QT_CONFIG[^\n]+" QT_QCONFIG "${_qconfig_FILE_contents}")
+    string(REGEX MATCH "CONFIG[^\n]+" QT_CONFIG "${_qconfig_FILE_contents}")
+    string(REGEX MATCH "EDITION[^\n]+" QT_EDITION "${_qconfig_FILE_contents}")
+    string(REGEX MATCH "QT_LIBINFIX[^\n]+" _qconfig_qt_libinfix "${_qconfig_FILE_contents}")
+    string(REGEX REPLACE "QT_LIBINFIX *= *([^\n]*)" "\\1" QT_LIBINFIX "${_qconfig_qt_libinfix}")
+  endif()
+  if("${QT_EDITION}" MATCHES "DesktopLight")
+    set(QT_EDITION_DESKTOPLIGHT 1)
+  endif()
+
+  # ask qmake for the library dir as a hint, then search for QtCore library and use that as a reference for finding the
+  # others and for setting QT_LIBRARY_DIR
+  if (NOT (QT_QTCORE_LIBRARY_RELEASE OR QT_QTCORE_LIBRARY_DEBUG)  OR QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QT_INSTALL_LIBS QT_LIBRARY_DIR_TMP)
+    set(QT_QTCORE_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QTCORE_LIBRARY_DEBUG NOTFOUND)
+    find_library(QT_QTCORE_LIBRARY_RELEASE
+                 NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
+                 HINTS ${QT_LIBRARY_DIR_TMP}
+                 NO_DEFAULT_PATH
+        )
+    find_library(QT_QTCORE_LIBRARY_DEBUG
+                 NAMES QtCore${QT_LIBINFIX}_debug QtCore${QT_LIBINFIX}d QtCore${QT_LIBINFIX}d4
+                 HINTS ${QT_LIBRARY_DIR_TMP}
+                 NO_DEFAULT_PATH
+        )
+
+    if(NOT QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCORE_LIBRARY_DEBUG)
+      find_library(QT_QTCORE_LIBRARY_RELEASE
+                   NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
+                   HINTS ${QT_LIBRARY_DIR_TMP}
+          )
+      find_library(QT_QTCORE_LIBRARY_DEBUG
+                   NAMES QtCore${QT_LIBINFIX}_debug QtCore${QT_LIBINFIX}d QtCore${QT_LIBINFIX}d4
+                   HINTS ${QT_LIBRARY_DIR_TMP}
+          )
+    endif()
+
+    # try dropping a hint if trying to use Visual Studio with Qt built by MinGW
+    if(NOT QT_QTCORE_LIBRARY_RELEASE AND MSVC)
+      if(EXISTS ${QT_LIBRARY_DIR_TMP}/libqtmain.a)
+        message( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by MinGW.  Those compilers do not produce code compatible with each other.")
+      endif()
+    endif()
+
+  endif ()
+
+  # set QT_LIBRARY_DIR based on location of QtCore found.
+  if(QT_QTCORE_LIBRARY_RELEASE)
+    get_filename_component(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_RELEASE}" PATH)
+    set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
+    set(QT_QTCORE_FOUND 1)
+  elseif(QT_QTCORE_LIBRARY_DEBUG)
+    get_filename_component(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_DEBUG}" PATH)
+    set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
+    set(QT_QTCORE_FOUND 1)
+  else()
+    if(NOT Qt4_FIND_QUIETLY)
+      message(WARNING
+        "${QT_QMAKE_EXECUTABLE} reported QT_INSTALL_LIBS as "
+        "\"${QT_LIBRARY_DIR_TMP}\" "
+        "but QtCore could not be found there.  "
+        "Qt is NOT installed correctly for the target build environment.")
+    endif()
+    set(Qt4_FOUND FALSE)
+    if(Qt4_FIND_REQUIRED)
+      message( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
+    else()
+      return()
+    endif()
+  endif()
+
+  # ask qmake for the binary dir
+  if (NOT QT_BINARY_DIR  OR  QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QT_INSTALL_BINS qt_bins)
+    set(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "" FORCE)
+  endif ()
+
+  if (APPLE)
+    set(CMAKE_FIND_FRAMEWORK_OLD ${CMAKE_FIND_FRAMEWORK})
+    if (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+      set(QT_USE_FRAMEWORKS ON CACHE INTERNAL "" FORCE)
+      set(CMAKE_FIND_FRAMEWORK FIRST)
+    else ()
+      set(QT_USE_FRAMEWORKS OFF CACHE INTERNAL "" FORCE)
+      set(CMAKE_FIND_FRAMEWORK LAST)
+    endif ()
+  endif ()
+
+  # ask qmake for the include dir
+  if (QT_LIBRARY_DIR AND (NOT QT_QTCORE_INCLUDE_DIR OR NOT QT_HEADERS_DIR OR  QT_QMAKE_CHANGED))
+      _qt4_query_qmake(QT_INSTALL_HEADERS qt_headers)
+      set(QT_QTCORE_INCLUDE_DIR NOTFOUND)
+      find_path(QT_QTCORE_INCLUDE_DIR QtCore
+                HINTS ${qt_headers} ${QT_LIBRARY_DIR}
+                PATH_SUFFIXES QtCore qt4/QtCore
+                NO_DEFAULT_PATH
+        )
+      if(NOT QT_QTCORE_INCLUDE_DIR)
+        find_path(QT_QTCORE_INCLUDE_DIR QtCore
+                  HINTS ${qt_headers} ${QT_LIBRARY_DIR}
+                  PATH_SUFFIXES QtCore qt4/QtCore
+          )
+      endif()
+
+      # Set QT_HEADERS_DIR based on finding QtCore header
+      if(QT_QTCORE_INCLUDE_DIR)
+        if(QT_USE_FRAMEWORKS)
+          set(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
+        else()
+          get_filename_component(qt_headers "${QT_QTCORE_INCLUDE_DIR}/../" ABSOLUTE)
+          set(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
+        endif()
+      elseif()
+        message("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_HEADERS as ${qt_headers}")
+        message("Warning: But QtCore couldn't be found.  Qt must NOT be installed correctly.")
+      endif()
+  endif()
+
+  if(APPLE)
+    set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_OLD})
+  endif()
+
+  # Set QT_INCLUDE_DIR based on QT_HEADERS_DIR
+  if(QT_HEADERS_DIR)
+    if(QT_USE_FRAMEWORKS)
+      # Qt/Mac frameworks has two include dirs.
+      # One is the framework include for which CMake will add a -F flag
+      # and the other is an include dir for non-framework Qt modules
+      set(QT_INCLUDE_DIR ${QT_HEADERS_DIR} ${QT_QTCORE_LIBRARY_RELEASE} )
+    else()
+      set(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
+    endif()
+  endif()
+
+  # Set QT_INCLUDES
+  set( QT_INCLUDES ${QT_MKSPECS_DIR}/default ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})
+
+
+  # ask qmake for the documentation directory
+  if (QT_LIBRARY_DIR AND NOT QT_DOC_DIR  OR  QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QT_INSTALL_DOCS qt_doc_dir)
+    set(QT_DOC_DIR ${qt_doc_dir} CACHE PATH "The location of the Qt docs" FORCE)
+  endif ()
+
+
+  # ask qmake for the plugins directory
+  if (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR  OR  QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QT_INSTALL_PLUGINS qt_plugins_dir)
+    set(QT_PLUGINS_DIR NOTFOUND)
+    foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
+      set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/plugins")
+    endforeach()
+    find_path(QT_PLUGINS_DIR NAMES accessible imageformats sqldrivers codecs designer
+      HINTS ${qt_cross_paths} ${qt_plugins_dir}
+      DOC "The location of the Qt plugins"
+      NO_CMAKE_FIND_ROOT_PATH)
+  endif ()
+
+  # ask qmake for the translations directory
+  if (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR  OR  QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QT_INSTALL_TRANSLATIONS qt_translations_dir)
+    set(QT_TRANSLATIONS_DIR ${qt_translations_dir} CACHE PATH "The location of the Qt translations" FORCE)
+  endif ()
+
+  # ask qmake for the imports directory
+  if (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
+    _qt4_query_qmake(QT_INSTALL_IMPORTS qt_imports_dir)
+    if(qt_imports_dir)
+      set(QT_IMPORTS_DIR NOTFOUND)
+      foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
+        set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/imports")
+      endforeach()
+      find_path(QT_IMPORTS_DIR NAMES Qt
+        HINTS ${qt_cross_paths} ${qt_imports_dir}
+        DOC "The location of the Qt imports"
+        NO_CMAKE_FIND_ROOT_PATH
+        NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH
+        NO_CMAKE_SYSTEM_PATH)
+      mark_as_advanced(QT_IMPORTS_DIR)
+    endif()
+  endif ()
+
+  # Make variables changeable to the advanced user
+  mark_as_advanced( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR
+                    QT_PLUGINS_DIR QT_TRANSLATIONS_DIR)
+
+
+
+
+  #############################################
+  #
+  # Find out what window system we're using
+  #
+  #############################################
+  cmake_push_check_state()
+  # Add QT_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
+  list(APPEND CMAKE_REQUIRED_INCLUDES "${QT_INCLUDE_DIR}")
+  set(CMAKE_REQUIRED_QUIET ${Qt4_FIND_QUIETLY})
+  # Check for Window system symbols (note: only one should end up being set)
+  CHECK_CXX_SYMBOL_EXISTS(Q_WS_X11 "QtCore/qglobal.h" Q_WS_X11)
+  CHECK_CXX_SYMBOL_EXISTS(Q_WS_WIN "QtCore/qglobal.h" Q_WS_WIN)
+  CHECK_CXX_SYMBOL_EXISTS(Q_WS_QWS "QtCore/qglobal.h" Q_WS_QWS)
+  CHECK_CXX_SYMBOL_EXISTS(Q_WS_MAC "QtCore/qglobal.h" Q_WS_MAC)
+  if(Q_WS_MAC)
+    if(QT_QMAKE_CHANGED)
+      unset(QT_MAC_USE_COCOA CACHE)
+    endif()
+    CHECK_CXX_SYMBOL_EXISTS(QT_MAC_USE_COCOA "QtCore/qconfig.h" QT_MAC_USE_COCOA)
+  endif()
+
+  if (QT_QTCOPY_REQUIRED)
+     CHECK_CXX_SYMBOL_EXISTS(QT_IS_QTCOPY "QtCore/qglobal.h" QT_KDE_QT_COPY)
+     if (NOT QT_IS_QTCOPY)
+        message(FATAL_ERROR "qt-copy is required, but hasn't been found")
+     endif ()
+  endif ()
+
+  cmake_pop_check_state()
+  #
+  #############################################
+
+
+
+  ########################################
+  #
+  #       Setting the INCLUDE-Variables
+  #
+  ########################################
+
+  set(QT_MODULES QtGui Qt3Support QtSvg QtScript QtTest QtUiTools
+                 QtHelp QtWebKit QtXmlPatterns phonon QtNetwork QtMultimedia
+                 QtNsPlugin QtOpenGL QtSql QtXml QtDesigner QtDBus QtScriptTools
+                 QtDeclarative)
+
+  if(Q_WS_X11)
+    set(QT_MODULES ${QT_MODULES} QtMotif)
+  endif()
+
+  if(QT_QMAKE_CHANGED)
+    foreach(QT_MODULE ${QT_MODULES})
+      string(TOUPPER ${QT_MODULE} _upper_qt_module)
+      set(QT_${_upper_qt_module}_INCLUDE_DIR NOTFOUND)
+      set(QT_${_upper_qt_module}_LIBRARY_RELEASE NOTFOUND)
+      set(QT_${_upper_qt_module}_LIBRARY_DEBUG NOTFOUND)
+    endforeach()
+    set(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR NOTFOUND)
+    set(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NOTFOUND)
+    set(QT_QTASSISTANTCLIENT_INCLUDE_DIR NOTFOUND)
+    set(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NOTFOUND)
+    set(QT_QTASSISTANT_INCLUDE_DIR NOTFOUND)
+    set(QT_QTASSISTANT_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QTASSISTANT_LIBRARY_DEBUG NOTFOUND)
+    set(QT_QTCLUCENE_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QTCLUCENE_LIBRARY_DEBUG NOTFOUND)
+    set(QT_QAXCONTAINER_INCLUDE_DIR NOTFOUND)
+    set(QT_QAXCONTAINER_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QAXCONTAINER_LIBRARY_DEBUG NOTFOUND)
+    set(QT_QAXSERVER_INCLUDE_DIR NOTFOUND)
+    set(QT_QAXSERVER_LIBRARY_RELEASE NOTFOUND)
+    set(QT_QAXSERVER_LIBRARY_DEBUG NOTFOUND)
+    if(Q_WS_WIN)
+      set(QT_QTMAIN_LIBRARY_DEBUG NOTFOUND)
+      set(QT_QTMAIN_LIBRARY_RELEASE NOTFOUND)
+    endif()
+  endif()
+
+  foreach(QT_MODULE ${QT_MODULES})
+    string(TOUPPER ${QT_MODULE} _upper_qt_module)
+    find_path(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
+              PATHS
+              ${QT_HEADERS_DIR}/${QT_MODULE}
+              ${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
+              NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+      )
+    # phonon doesn't seem consistent, let's try phonondefs.h for some
+    # installations
+    if(${QT_MODULE} STREQUAL "phonon")
+      find_path(QT_${_upper_qt_module}_INCLUDE_DIR phonondefs.h
+                PATHS
+                ${QT_HEADERS_DIR}/${QT_MODULE}
+                ${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
+                NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+        )
+    endif()
+  endforeach()
+
+  if(Q_WS_WIN)
+    set(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
+    # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
+    find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
+      PATHS ${QT_HEADERS_DIR}/ActiveQt
+      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+      )
+    find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt
+      PATHS ${QT_HEADERS_DIR}/ActiveQt
+      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+      )
+  endif()
+
+  # Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR
+  find_path(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents
+    PATHS
+    ${QT_HEADERS_DIR}/QtDesigner
+    ${QT_LIBRARY_DIR}/QtDesigner.framework/Headers
+    NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+    )
+
+  # Set QT_QTASSISTANT_INCLUDE_DIR
+  find_path(QT_QTASSISTANT_INCLUDE_DIR QtAssistant
+    PATHS
+    ${QT_HEADERS_DIR}/QtAssistant
+    ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
+    NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+    )
+
+  # Set QT_QTASSISTANTCLIENT_INCLUDE_DIR
+  find_path(QT_QTASSISTANTCLIENT_INCLUDE_DIR QAssistantClient
+    PATHS
+    ${QT_HEADERS_DIR}/QtAssistant
+    ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
+    NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+    )
+
+  ########################################
+  #
+  #       Setting the LIBRARY-Variables
+  #
+  ########################################
+
+  # find the libraries
+  foreach(QT_MODULE ${QT_MODULES})
+    string(TOUPPER ${QT_MODULE} _upper_qt_module)
+    find_library(QT_${_upper_qt_module}_LIBRARY_RELEASE
+                 NAMES ${QT_MODULE}${QT_LIBINFIX} ${QT_MODULE}${QT_LIBINFIX}4
+                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+        )
+    find_library(QT_${_upper_qt_module}_LIBRARY_DEBUG
+                 NAMES ${QT_MODULE}${QT_LIBINFIX}_debug ${QT_MODULE}${QT_LIBINFIX}d ${QT_MODULE}${QT_LIBINFIX}d4
+                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+        )
+    if(QT_${_upper_qt_module}_LIBRARY_RELEASE MATCHES "/${QT_MODULE}\\.framework$")
+      if(NOT EXISTS "${QT_${_upper_qt_module}_LIBRARY_RELEASE}/${QT_MODULE}")
+        # Release framework library file does not exist... Force to NOTFOUND:
+        set(QT_${_upper_qt_module}_LIBRARY_RELEASE "QT_${_upper_qt_module}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library." FORCE)
+      endif()
+    endif()
+    if(QT_${_upper_qt_module}_LIBRARY_DEBUG MATCHES "/${QT_MODULE}\\.framework$")
+      if(NOT EXISTS "${QT_${_upper_qt_module}_LIBRARY_DEBUG}/${QT_MODULE}")
+        # Debug framework library file does not exist... Force to NOTFOUND:
+        set(QT_${_upper_qt_module}_LIBRARY_DEBUG "QT_${_upper_qt_module}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library." FORCE)
+      endif()
+    endif()
+  endforeach()
+
+  # QtUiTools is sometimes not in the same directory as the other found libraries
+  # e.g. on Mac, its never a framework like the others are
+  if(QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
+    find_library(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
+  endif()
+
+  # Set QT_QTDESIGNERCOMPONENTS_LIBRARY
+  find_library(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents${QT_LIBINFIX} QtDesignerComponents${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  find_library(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG   NAMES QtDesignerComponents${QT_LIBINFIX}_debug QtDesignerComponents${QT_LIBINFIX}d QtDesignerComponents${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+
+  # Set QT_QTMAIN_LIBRARY
+  if(Q_WS_WIN)
+    find_library(QT_QTMAIN_LIBRARY_RELEASE NAMES qtmain${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+    find_library(QT_QTMAIN_LIBRARY_DEBUG NAMES qtmain${QT_LIBINFIX}d PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  endif()
+
+  # Set QT_QTASSISTANTCLIENT_LIBRARY
+  find_library(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  find_library(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG   NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR}  NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+
+  # Set QT_QTASSISTANT_LIBRARY
+  find_library(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 QtAssistant${QT_LIBINFIX} QtAssistant${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  find_library(QT_QTASSISTANT_LIBRARY_DEBUG   NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 QtAssistant${QT_LIBINFIX}_debug QtAssistant${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+
+  # Set QT_QTHELP_LIBRARY
+  find_library(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} QtCLucene${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  find_library(QT_QTCLUCENE_LIBRARY_DEBUG   NAMES QtCLucene${QT_LIBINFIX}_debug QtCLucene${QT_LIBINFIX}d QtCLucene${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+  if(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
+    find_library(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
+  endif()
+
+
+  ############################################
+  #
+  # Check the existence of the libraries.
+  #
+  ############################################
+
+
+  macro(_qt4_add_target_depends_internal _QT_MODULE _PROPERTY)
+    if (TARGET Qt4::${_QT_MODULE})
+      foreach(_DEPEND ${ARGN})
+        set(_VALID_DEPENDS)
+        if (TARGET Qt4::Qt${_DEPEND})
+          list(APPEND _VALID_DEPENDS Qt4::Qt${_DEPEND})
+        endif()
+        if (_VALID_DEPENDS)
+          set_property(TARGET Qt4::${_QT_MODULE} APPEND PROPERTY
+            ${_PROPERTY}
+            "${_VALID_DEPENDS}"
+          )
+        endif()
+        set(_VALID_DEPENDS)
+      endforeach()
+    endif()
+  endmacro()
+
+  macro(_qt4_add_target_depends _QT_MODULE)
+    if (TARGET Qt4::${_QT_MODULE})
+      get_target_property(_configs Qt4::${_QT_MODULE} IMPORTED_CONFIGURATIONS)
+      _qt4_add_target_depends_internal(${_QT_MODULE} INTERFACE_LINK_LIBRARIES ${ARGN})
+      foreach(_config ${_configs})
+        _qt4_add_target_depends_internal(${_QT_MODULE} IMPORTED_LINK_INTERFACE_LIBRARIES_${_config} ${ARGN})
+      endforeach()
+      set(_configs)
+    endif()
+  endmacro()
+
+  macro(_qt4_add_target_private_depends _QT_MODULE)
+    if (TARGET Qt4::${_QT_MODULE})
+      get_target_property(_configs Qt4::${_QT_MODULE} IMPORTED_CONFIGURATIONS)
+      foreach(_config ${_configs})
+        _qt4_add_target_depends_internal(${_QT_MODULE} IMPORTED_LINK_DEPENDENT_LIBRARIES_${_config} ${ARGN})
+      endforeach()
+      set(_configs)
+    endif()
+  endmacro()
+
+
+  # Set QT_xyz_LIBRARY variable and add
+  # library include path to QT_INCLUDES
+  _QT4_ADJUST_LIB_VARS(QtCore)
+  set_property(TARGET Qt4::QtCore APPEND PROPERTY
+    INTERFACE_INCLUDE_DIRECTORIES
+      "${QT_MKSPECS_DIR}/default"
+      ${QT_INCLUDE_DIR}
+  )
+  set_property(TARGET Qt4::QtCore APPEND PROPERTY
+    INTERFACE_COMPILE_DEFINITIONS
+      $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>
+  )
+  set_property(TARGET Qt4::QtCore PROPERTY
+    INTERFACE_QT_MAJOR_VERSION 4
+  )
+  set_property(TARGET Qt4::QtCore APPEND PROPERTY
+    COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION
+  )
+
+  foreach(QT_MODULE ${QT_MODULES})
+    _QT4_ADJUST_LIB_VARS(${QT_MODULE})
+    _qt4_add_target_depends(${QT_MODULE} Core)
+  endforeach()
+
+  _QT4_ADJUST_LIB_VARS(QtAssistant)
+  _QT4_ADJUST_LIB_VARS(QtAssistantClient)
+  _QT4_ADJUST_LIB_VARS(QtCLucene)
+  _QT4_ADJUST_LIB_VARS(QtDesignerComponents)
+
+  # platform dependent libraries
+  if(Q_WS_WIN)
+    _QT4_ADJUST_LIB_VARS(qtmain)
+
+    _QT4_ADJUST_LIB_VARS(QAxServer)
+    if(QT_QAXSERVER_FOUND)
+      set_property(TARGET Qt4::QAxServer PROPERTY
+        INTERFACE_QT4_NO_LINK_QTMAIN ON
+      )
+      set_property(TARGET Qt4::QAxServer APPEND PROPERTY
+        COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)
+    endif()
+
+    _QT4_ADJUST_LIB_VARS(QAxContainer)
+  endif()
+
+  # Only public dependencies are listed here.
+  # Eg, QtDBus links to QtXml, but users of QtDBus do not need to
+  # link to QtXml because QtDBus only uses it internally, not in public
+  # headers.
+  # Everything depends on QtCore, but that is covered above already
+  _qt4_add_target_depends(Qt3Support Sql Gui Network)
+  if (TARGET Qt4::Qt3Support)
+    # An additional define is required for QT3_SUPPORT
+    set_property(TARGET Qt4::Qt3Support APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS QT3_SUPPORT)
+  endif()
+  _qt4_add_target_depends(QtDeclarative Script Gui)
+  _qt4_add_target_depends(QtDesigner Gui)
+  _qt4_add_target_depends(QtHelp Gui)
+  _qt4_add_target_depends(QtMultimedia Gui)
+  _qt4_add_target_depends(QtOpenGL Gui)
+  _qt4_add_target_depends(QtSvg Gui)
+  _qt4_add_target_depends(QtWebKit Gui Network)
+
+  _qt4_add_target_private_depends(Qt3Support Xml)
+  if(QT_VERSION VERSION_GREATER 4.6)
+    _qt4_add_target_private_depends(QtSvg Xml)
+  endif()
+  _qt4_add_target_private_depends(QtDBus Xml)
+  _qt4_add_target_private_depends(QtUiTools Xml Gui)
+  _qt4_add_target_private_depends(QtHelp Sql Xml Network)
+  _qt4_add_target_private_depends(QtXmlPatterns Network)
+  _qt4_add_target_private_depends(QtScriptTools Gui)
+  _qt4_add_target_private_depends(QtWebKit XmlPatterns)
+  _qt4_add_target_private_depends(QtDeclarative XmlPatterns Svg Sql Gui)
+  _qt4_add_target_private_depends(QtMultimedia Gui)
+  _qt4_add_target_private_depends(QtOpenGL Gui)
+  if(QT_QAXSERVER_FOUND)
+    _qt4_add_target_private_depends(QAxServer Gui)
+  endif()
+  if(QT_QAXCONTAINER_FOUND)
+    _qt4_add_target_private_depends(QAxContainer Gui)
+  endif()
+  _qt4_add_target_private_depends(phonon Gui)
+  if(QT_QTDBUS_FOUND)
+    _qt4_add_target_private_depends(phonon DBus)
+  endif()
+
+  if (WIN32 AND NOT QT4_NO_LINK_QTMAIN)
+    set(_isExe $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
+    set(_isWin32 $<BOOL:$<TARGET_PROPERTY:WIN32_EXECUTABLE>>)
+    set(_isNotExcluded $<NOT:$<BOOL:$<TARGET_PROPERTY:QT4_NO_LINK_QTMAIN>>>)
+    set(_isPolicyNEW $<TARGET_POLICY:CMP0020>)
+    get_target_property(_configs Qt4::QtCore IMPORTED_CONFIGURATIONS)
+    set_property(TARGET Qt4::QtCore APPEND PROPERTY
+        INTERFACE_LINK_LIBRARIES
+          $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt4::qtmain>
+    )
+    foreach(_config ${_configs})
+      set_property(TARGET Qt4::QtCore APPEND PROPERTY
+        IMPORTED_LINK_INTERFACE_LIBRARIES_${_config}
+          $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt4::qtmain>
+      )
+    endforeach()
+    unset(_configs)
+    unset(_isExe)
+    unset(_isWin32)
+    unset(_isNotExcluded)
+    unset(_isPolicyNEW)
+  endif()
+
+  #######################################
+  #
+  #       Check the executables of Qt
+  #          ( moc, uic, rcc )
+  #
+  #######################################
+
+
+  if(QT_QMAKE_CHANGED)
+    set(QT_UIC_EXECUTABLE NOTFOUND)
+    set(QT_MOC_EXECUTABLE NOTFOUND)
+    set(QT_UIC3_EXECUTABLE NOTFOUND)
+    set(QT_RCC_EXECUTABLE NOTFOUND)
+    set(QT_DBUSCPP2XML_EXECUTABLE NOTFOUND)
+    set(QT_DBUSXML2CPP_EXECUTABLE NOTFOUND)
+    set(QT_LUPDATE_EXECUTABLE NOTFOUND)
+    set(QT_LRELEASE_EXECUTABLE NOTFOUND)
+    set(QT_QCOLLECTIONGENERATOR_EXECUTABLE NOTFOUND)
+    set(QT_DESIGNER_EXECUTABLE NOTFOUND)
+    set(QT_LINGUIST_EXECUTABLE NOTFOUND)
+  endif()
+
+  macro(_find_qt4_program VAR NAME)
+    find_program(${VAR}
+      NAMES ${ARGN}
+      PATHS ${QT_BINARY_DIR}
+      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+      )
+    if (${VAR} AND NOT TARGET ${NAME})
+      add_executable(${NAME} IMPORTED)
+      set_property(TARGET ${NAME} PROPERTY IMPORTED_LOCATION ${${VAR}})
+    endif()
+  endmacro()
+
+  _find_qt4_program(QT_MOC_EXECUTABLE Qt4::moc moc-qt4 moc4 moc)
+  _find_qt4_program(QT_UIC_EXECUTABLE Qt4::uic uic-qt4 uic4 uic)
+  _find_qt4_program(QT_UIC3_EXECUTABLE Qt4::uic3 uic3)
+  _find_qt4_program(QT_RCC_EXECUTABLE Qt4::rcc rcc)
+  _find_qt4_program(QT_DBUSCPP2XML_EXECUTABLE Qt4::qdbuscpp2xml qdbuscpp2xml)
+  _find_qt4_program(QT_DBUSXML2CPP_EXECUTABLE Qt4::qdbusxml2cpp qdbusxml2cpp)
+  _find_qt4_program(QT_LUPDATE_EXECUTABLE Qt4::lupdate lupdate-qt4 lupdate4 lupdate)
+  _find_qt4_program(QT_LRELEASE_EXECUTABLE Qt4::lrelease lrelease-qt4 lrelease4 lrelease)
+  _find_qt4_program(QT_QCOLLECTIONGENERATOR_EXECUTABLE Qt4::qcollectiongenerator qcollectiongenerator-qt4 qcollectiongenerator)
+  _find_qt4_program(QT_DESIGNER_EXECUTABLE Qt4::designer designer-qt4 designer4 designer)
+  _find_qt4_program(QT_LINGUIST_EXECUTABLE Qt4::linguist linguist-qt4 linguist4 linguist)
+
+  if (NOT TARGET Qt4::qmake)
+    add_executable(Qt4::qmake IMPORTED)
+    set_property(TARGET Qt4::qmake PROPERTY IMPORTED_LOCATION ${QT_QMAKE_EXECUTABLE})
+  endif()
+
+  if (QT_MOC_EXECUTABLE)
+     set(QT_WRAP_CPP "YES")
+  endif ()
+
+  if (QT_UIC_EXECUTABLE)
+     set(QT_WRAP_UI "YES")
+  endif ()
+
+
+
+  mark_as_advanced( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE
+    QT_RCC_EXECUTABLE QT_DBUSXML2CPP_EXECUTABLE QT_DBUSCPP2XML_EXECUTABLE
+    QT_LUPDATE_EXECUTABLE QT_LRELEASE_EXECUTABLE QT_QCOLLECTIONGENERATOR_EXECUTABLE
+    QT_DESIGNER_EXECUTABLE QT_LINGUIST_EXECUTABLE)
+
+
+  # get the directory of the current file, used later on in the file
+  get_filename_component( _qt4_current_dir  "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+
+  ###############################################
+  #
+  #       configuration/system dependent settings
+  #
+  ###############################################
+
+  include("${_qt4_current_dir}/Qt4ConfigDependentSettings.cmake")
+
+
+  #######################################
+  #
+  #       Check the plugins of Qt
+  #
+  #######################################
+
+  set( QT_PLUGIN_TYPES accessible bearer codecs decorations designer gfxdrivers graphicssystems iconengines imageformats inputmethods mousedrivers phonon_backend script sqldrivers )
+
+  set( QT_ACCESSIBLE_PLUGINS qtaccessiblecompatwidgets qtaccessiblewidgets )
+  set( QT_BEARER_PLUGINS qcorewlanbearer qgenericbearer qnativewifibearer )
+  set( QT_CODECS_PLUGINS qcncodecs qjpcodecs qkrcodecs qtwcodecs )
+  set( QT_DECORATIONS_PLUGINS qdecorationdefault qdecorationwindows )
+  set( QT_DESIGNER_PLUGINS arthurplugin containerextension customwidgetplugin phononwidgets qdeclarativeview qt3supportwidgets qwebview taskmenuextension worldtimeclockplugin )
+  set( QT_GRAPHICSDRIVERS_PLUGINS qgfxtransformed qgfxvnc qscreenvfb )
+  set( QT_GRAPHICSSYSTEMS_PLUGINS qglgraphicssystem qtracegraphicssystem )
+  set( QT_ICONENGINES_PLUGINS qsvgicon )
+  set( QT_IMAGEFORMATS_PLUGINS qgif qjpeg qmng qico qsvg qtiff qtga )
+  set( QT_INPUTMETHODS_PLUGINS qimsw_multi )
+  set( QT_MOUSEDRIVERS_PLUGINS qwstslibmousehandler )
+  if(APPLE)
+    set( QT_PHONON_BACKEND_PLUGINS phonon_qt7 )
+  elseif(WIN32)
+    set( QT_PHONON_BACKEND_PLUGINS phonon_ds9 )
+  endif()
+  set( QT_SCRIPT_PLUGINS qtscriptdbus )
+  set( QT_SQLDRIVERS_PLUGINS qsqldb2 qsqlibase qsqlite qsqlite2 qsqlmysql qsqloci qsqlodbc qsqlpsql qsqltds )
+
+  set( QT_PHONON_PLUGINS ${QT_PHONON_BACKEND_PLUGINS} )
+  set( QT_QT3SUPPORT_PLUGINS qtaccessiblecompatwidgets )
+  set( QT_QTCORE_PLUGINS ${QT_BEARER_PLUGINS} ${QT_CODECS_PLUGINS} )
+  set( QT_QTGUI_PLUGINS qtaccessiblewidgets ${QT_IMAGEFORMATS_PLUGINS} ${QT_DECORATIONS_PLUGINS} ${QT_GRAPHICSDRIVERS_PLUGINS} ${QT_GRAPHICSSYSTEMS_PLUGINS} ${QT_INPUTMETHODS_PLUGINS} ${QT_MOUSEDRIVERS_PLUGINS} )
+  set( QT_QTSCRIPT_PLUGINS ${QT_SCRIPT_PLUGINS} )
+  set( QT_QTSQL_PLUGINS ${QT_SQLDRIVERS_PLUGINS} )
+  set( QT_QTSVG_PLUGINS qsvg qsvgicon )
+
+  if(QT_QMAKE_CHANGED)
+    foreach(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
+      string(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
+      set(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
+      foreach(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
+        string(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
+        unset(QT_${_upper_qt_plugin}_LIBRARY_RELEASE CACHE)
+        unset(QT_${_upper_qt_plugin}_LIBRARY_DEBUG CACHE)
+        unset(QT_${_upper_qt_plugin}_LIBRARY CACHE)
+        unset(QT_${_upper_qt_plugin}_PLUGIN_RELEASE CACHE)
+        unset(QT_${_upper_qt_plugin}_PLUGIN_DEBUG CACHE)
+        unset(QT_${_upper_qt_plugin}_PLUGIN CACHE)
+      endforeach()
+    endforeach()
+  endif()
+
+  # find_library works better than find_file but we need to set prefixes to only match plugins
+  foreach(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
+    string(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
+    set(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
+    foreach(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
+      string(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
+      if(QT_IS_STATIC)
+        find_library(QT_${_upper_qt_plugin}_LIBRARY_RELEASE
+                     NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
+                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+            )
+        find_library(QT_${_upper_qt_plugin}_LIBRARY_DEBUG
+                     NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
+                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+            )
+        _QT4_ADJUST_LIB_VARS(${QT_PLUGIN})
+      else()
+        # find_library works easier/better than find_file but we need to set suffixes to only match plugins
+        set(CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT ${CMAKE_FIND_LIBRARY_SUFFIXES})
+        set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_MODULE_SUFFIX} ${CMAKE_SHARED_LIBRARY_SUFFIX})
+        find_library(QT_${_upper_qt_plugin}_PLUGIN_RELEASE
+                     NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
+                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+            )
+        find_library(QT_${_upper_qt_plugin}_PLUGIN_DEBUG
+                     NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
+                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+            )
+        mark_as_advanced(QT_${_upper_qt_plugin}_PLUGIN_RELEASE QT_${_upper_qt_plugin}_PLUGIN_DEBUG)
+        set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT})
+      endif()
+    endforeach()
+  endforeach()
+
+
+  ######################################
+  #
+  #       Macros for building Qt files
+  #
+  ######################################
+
+  include("${_qt4_current_dir}/Qt4Macros.cmake")
+
+endif()
+
+#support old QT_MIN_VERSION if set, but not if version is supplied by find_package()
+if(NOT Qt4_FIND_VERSION AND QT_MIN_VERSION)
+  set(Qt4_FIND_VERSION ${QT_MIN_VERSION})
+endif()
+
+if( Qt4_FIND_COMPONENTS )
+
+  # if components specified in find_package(), make sure each of those pieces were found
+  set(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR)
+  foreach( component ${Qt4_FIND_COMPONENTS} )
+    string( TOUPPER ${component} _COMPONENT )
+    if(${_COMPONENT} STREQUAL "QTMAIN")
+      if(Q_WS_WIN)
+        set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_LIBRARY)
+      endif()
+    else()
+      set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_INCLUDE_DIR QT_${_COMPONENT}_LIBRARY)
+    endif()
+  endforeach()
+
+  if(Qt4_FIND_COMPONENTS MATCHES QtGui)
+    set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_UIC_EXECUTABLE)
+  endif()
+
+else()
+
+  # if no components specified, we'll make a default set of required variables to say Qt is found
+  set(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR
+    QT_LIBRARY_DIR QT_QTCORE_LIBRARY)
+
+endif()
+
+if (NOT QT_VERSION_MAJOR EQUAL 4)
+    set(VERSION_MSG "Found unsuitable Qt version \"${QTVERSION}\" from ${QT_QMAKE_EXECUTABLE}")
+    set(Qt4_FOUND FALSE)
+    if(Qt4_FIND_REQUIRED)
+       message( FATAL_ERROR "${VERSION_MSG}, this code requires Qt 4.x")
+    else()
+      if(NOT Qt4_FIND_QUIETLY)
+         message( STATUS    "${VERSION_MSG}")
+      endif()
+    endif()
+else()
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt4 FOUND_VAR Qt4_FOUND
+    REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS}
+    VERSION_VAR QTVERSION
+    )
+endif()
+
+#######################################
+#
+#       compatibility settings
+#
+#######################################
+# Backwards compatibility for CMake1.4 and 1.2
+set (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+set (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+set( QT_QT_LIBRARY "")
+set(QT4_FOUND ${Qt4_FOUND})
+set(QT_FOUND ${Qt4_FOUND})
+
diff --git a/share/cmake-3.10/Modules/FindQuickTime.cmake b/share/cmake-3.10/Modules/FindQuickTime.cmake
new file mode 100644
index 0000000..995d882
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindQuickTime.cmake
@@ -0,0 +1,33 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindQuickTime
+# -------------
+#
+#
+#
+# Locate QuickTime This module defines QUICKTIME_LIBRARY
+# QUICKTIME_FOUND, if false, do not try to link to gdal
+# QUICKTIME_INCLUDE_DIR, where to find the headers
+#
+# $QUICKTIME_DIR is an environment variable that would correspond to the
+# ./configure --prefix=$QUICKTIME_DIR
+#
+# Created by Eric Wing.
+
+find_path(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h QuickTime.h
+  HINTS
+    ENV QUICKTIME_DIR
+  PATH_SUFFIXES
+    include
+)
+find_library(QUICKTIME_LIBRARY QuickTime
+  HINTS
+    ENV QUICKTIME_DIR
+  PATH_SUFFIXES
+    lib
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(QuickTime DEFAULT_MSG QUICKTIME_LIBRARY QUICKTIME_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindRTI.cmake b/share/cmake-3.10/Modules/FindRTI.cmake
new file mode 100644
index 0000000..b2ef076
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindRTI.cmake
@@ -0,0 +1,101 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindRTI
+# -------
+#
+# Try to find M&S HLA RTI libraries
+#
+# This module finds if any HLA RTI is installed and locates the standard
+# RTI include files and libraries.
+#
+# RTI is a simulation infrastructure standardized by IEEE and SISO.  It
+# has a well defined C++ API that assures that simulation applications
+# are independent on a particular RTI implementation.
+#
+# ::
+#
+#   http://en.wikipedia.org/wiki/Run-Time_Infrastructure_(simulation)
+#
+#
+#
+# This code sets the following variables:
+#
+# ::
+#
+#   RTI_INCLUDE_DIR = the directory where RTI includes file are found
+#   RTI_LIBRARIES = The libraries to link against to use RTI
+#   RTI_DEFINITIONS = -DRTI_USES_STD_FSTREAM
+#   RTI_FOUND = Set to FALSE if any HLA RTI was not found
+#
+#
+#
+# Report problems to <certi-devel@nongnu.org>
+
+macro(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
+  if(NOT ${QUIET})
+    message(${TYPE} "${MSG}")
+  endif()
+endmacro()
+
+set(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM")
+
+# Detect the CERTI installation, http://www.cert.fr/CERTI
+# Detect the MAK Technologies RTI installation, http://www.mak.com/products/rti.php
+# note: the following list is ordered to find the most recent version first
+set(RTI_POSSIBLE_DIRS
+  ENV CERTI_HOME
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 3.2 MSVC++ 8.0;Location]"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 3.2-win32-msvc++8.0;InstallLocation]"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 2.2;Location]"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 2.2;InstallLocation]")
+
+set(RTI_OLD_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
+# The MAK RTI has the "lib" prefix even on Windows.
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
+
+find_library(RTI_LIBRARY
+  NAMES RTI RTI-NG
+  PATHS ${RTI_POSSIBLE_DIRS}
+  PATH_SUFFIXES lib
+  DOC "The RTI Library")
+
+if (RTI_LIBRARY)
+  set(RTI_LIBRARIES ${RTI_LIBRARY})
+  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library found: ${RTI_LIBRARY}")
+else ()
+  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library NOT found")
+endif ()
+
+find_library(RTI_FEDTIME_LIBRARY
+  NAMES FedTime
+  PATHS ${RTI_POSSIBLE_DIRS}
+  PATH_SUFFIXES lib
+  DOC "The FedTime Library")
+
+if (RTI_FEDTIME_LIBRARY)
+  set(RTI_LIBRARIES ${RTI_LIBRARIES} ${RTI_FEDTIME_LIBRARY})
+  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI FedTime found: ${RTI_FEDTIME_LIBRARY}")
+endif ()
+
+find_path(RTI_INCLUDE_DIR
+  NAMES RTI.hh
+  PATHS ${RTI_POSSIBLE_DIRS}
+  PATH_SUFFIXES include
+  DOC "The RTI Include Files")
+
+if (RTI_INCLUDE_DIR)
+  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers found: ${RTI_INCLUDE_DIR}")
+else ()
+  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers NOT found")
+endif ()
+
+# Set the modified system variables back to the original value.
+set(CMAKE_FIND_LIBRARY_PREFIXES "${RTI_OLD_FIND_LIBRARY_PREFIXES}")
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(RTI DEFAULT_MSG
+  RTI_LIBRARY RTI_INCLUDE_DIR)
+
+# $Id$
diff --git a/share/cmake-3.10/Modules/FindRuby.cmake b/share/cmake-3.10/Modules/FindRuby.cmake
new file mode 100644
index 0000000..a9f8d35
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindRuby.cmake
@@ -0,0 +1,275 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindRuby
+# --------
+#
+# Find Ruby
+#
+# This module finds if Ruby is installed and determines where the
+# include files and libraries are.  Ruby 1.8, 1.9, 2.0 and 2.1 are
+# supported.
+#
+# The minimum required version of Ruby can be specified using the
+# standard syntax, e.g.  find_package(Ruby 1.8)
+#
+# It also determines what the name of the library is.  This code sets
+# the following variables:
+#
+# ``RUBY_EXECUTABLE``
+#   full path to the ruby binary
+# ``RUBY_INCLUDE_DIRS``
+#   include dirs to be used when using the ruby library
+# ``RUBY_LIBRARY``
+#   full path to the ruby library
+# ``RUBY_VERSION``
+#   the version of ruby which was found, e.g. "1.8.7"
+# ``RUBY_FOUND``
+#   set to true if ruby ws found successfully
+#
+# Also:
+#
+# ``RUBY_INCLUDE_PATH``
+#   same as RUBY_INCLUDE_DIRS, only provided for compatibility reasons, don't use it
+
+#   RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
+#   RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
+#   RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
+#   RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
+#   RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
+
+# uncomment the following line to get debug output for this file
+# set(_RUBY_DEBUG_OUTPUT TRUE)
+
+# Determine the list of possible names of the ruby executable depending
+# on which version of ruby is required
+set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ruby)
+
+# if 1.9 is required, don't look for ruby18 and ruby1.8, default to version 1.8
+if(DEFINED Ruby_FIND_VERSION_MAJOR AND DEFINED Ruby_FIND_VERSION_MINOR)
+   set(Ruby_FIND_VERSION_SHORT_NODOT "${Ruby_FIND_VERSION_MAJOR}${RUBY_FIND_VERSION_MINOR}")
+   # we can't construct that if only major version is given
+   set(_RUBY_POSSIBLE_EXECUTABLE_NAMES
+       ruby${Ruby_FIND_VERSION_MAJOR}.${Ruby_FIND_VERSION_MINOR}
+       ruby${Ruby_FIND_VERSION_MAJOR}${Ruby_FIND_VERSION_MINOR}
+       ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
+else()
+   set(Ruby_FIND_VERSION_SHORT_NODOT "18")
+endif()
+
+if(NOT Ruby_FIND_VERSION_EXACT)
+  list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.1 ruby21)
+  list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.0 ruby20)
+  list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.9 ruby19)
+
+  # if we want a version below 1.9, also look for ruby 1.8
+  if("${Ruby_FIND_VERSION_SHORT_NODOT}" VERSION_LESS "19")
+    list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.8 ruby18)
+  endif()
+
+  list(REMOVE_DUPLICATES _RUBY_POSSIBLE_EXECUTABLE_NAMES)
+endif()
+
+find_program(RUBY_EXECUTABLE NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
+
+if(RUBY_EXECUTABLE  AND NOT  RUBY_VERSION_MAJOR)
+  function(_RUBY_CONFIG_VAR RBVAR OUTVAR)
+    execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['${RBVAR}']"
+      RESULT_VARIABLE _RUBY_SUCCESS
+      OUTPUT_VARIABLE _RUBY_OUTPUT
+      ERROR_QUIET)
+    if(_RUBY_SUCCESS OR _RUBY_OUTPUT STREQUAL "")
+      execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['${RBVAR}']"
+        RESULT_VARIABLE _RUBY_SUCCESS
+        OUTPUT_VARIABLE _RUBY_OUTPUT
+        ERROR_QUIET)
+    endif()
+    set(${OUTVAR} "${_RUBY_OUTPUT}" PARENT_SCOPE)
+  endfunction()
+
+
+  # query the ruby version
+   _RUBY_CONFIG_VAR("MAJOR" RUBY_VERSION_MAJOR)
+   _RUBY_CONFIG_VAR("MINOR" RUBY_VERSION_MINOR)
+   _RUBY_CONFIG_VAR("TEENY" RUBY_VERSION_PATCH)
+
+   # query the different directories
+   _RUBY_CONFIG_VAR("archdir" RUBY_ARCH_DIR)
+   _RUBY_CONFIG_VAR("arch" RUBY_ARCH)
+   _RUBY_CONFIG_VAR("rubyhdrdir" RUBY_HDR_DIR)
+   _RUBY_CONFIG_VAR("rubyarchhdrdir" RUBY_ARCHHDR_DIR)
+   _RUBY_CONFIG_VAR("libdir" RUBY_POSSIBLE_LIB_DIR)
+   _RUBY_CONFIG_VAR("rubylibdir" RUBY_RUBY_LIB_DIR)
+
+   # site_ruby
+   _RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR)
+   _RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
+
+   # vendor_ruby available ?
+   execute_process(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'"
+      OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY  ERROR_QUIET)
+
+   if(RUBY_HAS_VENDOR_RUBY)
+      _RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR)
+      _RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR)
+   endif()
+
+   # save the results in the cache so we don't have to run ruby the next time again
+   set(RUBY_VERSION_MAJOR    ${RUBY_VERSION_MAJOR}    CACHE PATH "The Ruby major version" FORCE)
+   set(RUBY_VERSION_MINOR    ${RUBY_VERSION_MINOR}    CACHE PATH "The Ruby minor version" FORCE)
+   set(RUBY_VERSION_PATCH    ${RUBY_VERSION_PATCH}    CACHE PATH "The Ruby patch version" FORCE)
+   set(RUBY_ARCH_DIR         ${RUBY_ARCH_DIR}         CACHE PATH "The Ruby arch dir" FORCE)
+   set(RUBY_HDR_DIR          ${RUBY_HDR_DIR}          CACHE PATH "The Ruby header dir (1.9+)" FORCE)
+   set(RUBY_ARCHHDR_DIR      ${RUBY_ARCHHDR_DIR}      CACHE PATH "The Ruby arch header dir (2.0+)" FORCE)
+   set(RUBY_POSSIBLE_LIB_DIR ${RUBY_POSSIBLE_LIB_DIR} CACHE PATH "The Ruby lib dir" FORCE)
+   set(RUBY_RUBY_LIB_DIR     ${RUBY_RUBY_LIB_DIR}     CACHE PATH "The Ruby ruby-lib dir" FORCE)
+   set(RUBY_SITEARCH_DIR     ${RUBY_SITEARCH_DIR}     CACHE PATH "The Ruby site arch dir" FORCE)
+   set(RUBY_SITELIB_DIR      ${RUBY_SITELIB_DIR}      CACHE PATH "The Ruby site lib dir" FORCE)
+   set(RUBY_HAS_VENDOR_RUBY  ${RUBY_HAS_VENDOR_RUBY}  CACHE BOOL "Vendor Ruby is available" FORCE)
+   set(RUBY_VENDORARCH_DIR   ${RUBY_VENDORARCH_DIR}   CACHE PATH "The Ruby vendor arch dir" FORCE)
+   set(RUBY_VENDORLIB_DIR    ${RUBY_VENDORLIB_DIR}    CACHE PATH "The Ruby vendor lib dir" FORCE)
+
+   mark_as_advanced(
+     RUBY_ARCH_DIR
+     RUBY_ARCH
+     RUBY_HDR_DIR
+     RUBY_ARCHHDR_DIR
+     RUBY_POSSIBLE_LIB_DIR
+     RUBY_RUBY_LIB_DIR
+     RUBY_SITEARCH_DIR
+     RUBY_SITELIB_DIR
+     RUBY_HAS_VENDOR_RUBY
+     RUBY_VENDORARCH_DIR
+     RUBY_VENDORLIB_DIR
+     RUBY_VERSION_MAJOR
+     RUBY_VERSION_MINOR
+     RUBY_VERSION_PATCH
+     )
+endif()
+
+# In case RUBY_EXECUTABLE could not be executed (e.g. cross compiling)
+# try to detect which version we found. This is not too good.
+if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
+   # by default assume 1.8.0
+   set(RUBY_VERSION_MAJOR 1)
+   set(RUBY_VERSION_MINOR 8)
+   set(RUBY_VERSION_PATCH 0)
+   # check whether we found 1.9.x
+   if(${RUBY_EXECUTABLE} MATCHES "ruby1.?9")
+      set(RUBY_VERSION_MAJOR 1)
+      set(RUBY_VERSION_MINOR 9)
+   endif()
+   # check whether we found 2.0.x
+   if(${RUBY_EXECUTABLE} MATCHES "ruby2.?0")
+      set(RUBY_VERSION_MAJOR 2)
+      set(RUBY_VERSION_MINOR 0)
+   endif()
+   # check whether we found 2.1.x
+   if(${RUBY_EXECUTABLE} MATCHES "ruby2.?1")
+      set(RUBY_VERSION_MAJOR 2)
+      set(RUBY_VERSION_MINOR 1)
+   endif()
+endif()
+
+if(RUBY_VERSION_MAJOR)
+   set(RUBY_VERSION "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.${RUBY_VERSION_PATCH}")
+   set(_RUBY_VERSION_SHORT "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}")
+   set(_RUBY_VERSION_SHORT_NODOT "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}")
+   set(_RUBY_NODOT_VERSION "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}${RUBY_VERSION_PATCH}")
+endif()
+
+find_path(RUBY_INCLUDE_DIR
+   NAMES ruby.h
+   HINTS
+   ${RUBY_HDR_DIR}
+   ${RUBY_ARCH_DIR}
+   /usr/lib/ruby/${_RUBY_VERSION_SHORT}/i586-linux-gnu/ )
+
+set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIR} )
+
+# if ruby > 1.8 is required or if ruby > 1.8 was found, search for the config.h dir
+if( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18  OR  "${_RUBY_VERSION_SHORT_NODOT}" GREATER 18  OR  RUBY_HDR_DIR)
+   find_path(RUBY_CONFIG_INCLUDE_DIR
+     NAMES ruby/config.h  config.h
+     HINTS
+     ${RUBY_HDR_DIR}/${RUBY_ARCH}
+     ${RUBY_ARCH_DIR}
+     ${RUBY_ARCHHDR_DIR}
+     )
+
+   set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIRS} ${RUBY_CONFIG_INCLUDE_DIR} )
+endif()
+
+
+# Determine the list of possible names for the ruby library
+set(_RUBY_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_RUBY_VERSION_SHORT} ruby${_RUBY_VERSION_SHORT_NODOT} ruby-${_RUBY_VERSION_SHORT} ruby-${RUBY_VERSION})
+
+if(WIN32)
+   set( _RUBY_MSVC_RUNTIME "" )
+   if( MSVC_VERSION EQUAL 1200 )
+     set( _RUBY_MSVC_RUNTIME "60" )
+   endif()
+   if( MSVC_VERSION EQUAL 1300 )
+     set( _RUBY_MSVC_RUNTIME "70" )
+   endif()
+   if( MSVC_VERSION EQUAL 1310 )
+     set( _RUBY_MSVC_RUNTIME "71" )
+   endif()
+   if( MSVC_VERSION EQUAL 1400 )
+     set( _RUBY_MSVC_RUNTIME "80" )
+   endif()
+   if( MSVC_VERSION EQUAL 1500 )
+     set( _RUBY_MSVC_RUNTIME "90" )
+   endif()
+
+   set(_RUBY_ARCH_PREFIX "")
+   if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+     set(_RUBY_ARCH_PREFIX "x64-")
+   endif()
+
+   list(APPEND _RUBY_POSSIBLE_LIB_NAMES
+               "${_RUBY_ARCH_PREFIX}msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}"
+               "${_RUBY_ARCH_PREFIX}msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}-static"
+               "${_RUBY_ARCH_PREFIX}msvcrt-ruby${_RUBY_NODOT_VERSION}"
+               "${_RUBY_ARCH_PREFIX}msvcrt-ruby${_RUBY_NODOT_VERSION}-static" )
+endif()
+
+find_library(RUBY_LIBRARY NAMES ${_RUBY_POSSIBLE_LIB_NAMES} HINTS ${RUBY_POSSIBLE_LIB_DIR} )
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+set(_RUBY_REQUIRED_VARS RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY)
+if(_RUBY_VERSION_SHORT_NODOT GREATER 18)
+   list(APPEND _RUBY_REQUIRED_VARS RUBY_CONFIG_INCLUDE_DIR)
+endif()
+
+if(_RUBY_DEBUG_OUTPUT)
+   message(STATUS "--------FindRuby.cmake debug------------")
+   message(STATUS "_RUBY_POSSIBLE_EXECUTABLE_NAMES: ${_RUBY_POSSIBLE_EXECUTABLE_NAMES}")
+   message(STATUS "_RUBY_POSSIBLE_LIB_NAMES: ${_RUBY_POSSIBLE_LIB_NAMES}")
+   message(STATUS "RUBY_ARCH_DIR: ${RUBY_ARCH_DIR}")
+   message(STATUS "RUBY_HDR_DIR: ${RUBY_HDR_DIR}")
+   message(STATUS "RUBY_POSSIBLE_LIB_DIR: ${RUBY_POSSIBLE_LIB_DIR}")
+   message(STATUS "Found RUBY_VERSION: \"${RUBY_VERSION}\" , short: \"${_RUBY_VERSION_SHORT}\", nodot: \"${_RUBY_VERSION_SHORT_NODOT}\"")
+   message(STATUS "_RUBY_REQUIRED_VARS: ${_RUBY_REQUIRED_VARS}")
+   message(STATUS "RUBY_EXECUTABLE: ${RUBY_EXECUTABLE}")
+   message(STATUS "RUBY_LIBRARY: ${RUBY_LIBRARY}")
+   message(STATUS "RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}")
+   message(STATUS "RUBY_CONFIG_INCLUDE_DIR: ${RUBY_CONFIG_INCLUDE_DIR}")
+   message(STATUS "--------------------")
+endif()
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ruby  REQUIRED_VARS  ${_RUBY_REQUIRED_VARS}
+                                        VERSION_VAR RUBY_VERSION )
+
+mark_as_advanced(
+  RUBY_EXECUTABLE
+  RUBY_LIBRARY
+  RUBY_INCLUDE_DIR
+  RUBY_CONFIG_INCLUDE_DIR
+  )
+
+# Set some variables for compatibility with previous version of this file
+set(RUBY_POSSIBLE_LIB_PATH ${RUBY_POSSIBLE_LIB_DIR})
+set(RUBY_RUBY_LIB_PATH ${RUBY_RUBY_LIB_DIR})
+set(RUBY_INCLUDE_PATH ${RUBY_INCLUDE_DIRS})
diff --git a/share/cmake-3.10/Modules/FindSDL.cmake b/share/cmake-3.10/Modules/FindSDL.cmake
new file mode 100644
index 0000000..3410018
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSDL.cmake
@@ -0,0 +1,192 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSDL
+# -------
+#
+# Locate SDL library
+#
+# This module defines
+#
+# ::
+#
+#   SDL_LIBRARY, the name of the library to link against
+#   SDL_FOUND, if false, do not try to link to SDL
+#   SDL_INCLUDE_DIR, where to find SDL.h
+#   SDL_VERSION_STRING, human-readable string containing the version of SDL
+#
+#
+#
+# This module responds to the flag:
+#
+# ::
+#
+#   SDL_BUILDING_LIBRARY
+#     If this is defined, then no SDL_main will be linked in because
+#     only applications need main().
+#     Otherwise, it is assumed you are building an application and this
+#     module will attempt to locate and set the proper link flags
+#     as part of the returned SDL_LIBRARY variable.
+#
+#
+#
+# Don't forget to include SDLmain.h and SDLmain.m your project for the
+# OS X framework based version.  (Other versions link to -lSDLmain which
+# this module will try to find on your behalf.) Also for OS X, this
+# module will automatically add the -framework Cocoa on your behalf.
+#
+#
+#
+# Additional Note: If you see an empty SDL_LIBRARY_TEMP in your
+# configuration and no SDL_LIBRARY, it means CMake did not find your SDL
+# library (SDL.dll, libsdl.so, SDL.framework, etc).  Set
+# SDL_LIBRARY_TEMP to point to your SDL library, and configure again.
+# Similarly, if you see an empty SDLMAIN_LIBRARY, you should set this
+# value as appropriate.  These values are used to generate the final
+# SDL_LIBRARY variable, but when these values are unset, SDL_LIBRARY
+# does not get created.
+#
+#
+#
+# $SDLDIR is an environment variable that would correspond to the
+# ./configure --prefix=$SDLDIR used in building SDL.  l.e.galup 9-20-02
+#
+# Modified by Eric Wing.  Added code to assist with automated building
+# by using environmental variables and providing a more
+# controlled/consistent search behavior.  Added new modifications to
+# recognize OS X frameworks and additional Unix paths (FreeBSD, etc).
+# Also corrected the header search path to follow "proper" SDL
+# guidelines.  Added a search for SDLmain which is needed by some
+# platforms.  Added a search for threads which is needed by some
+# platforms.  Added needed compile switches for MinGW.
+#
+# On OSX, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of SDL_LIBRARY to
+# override this selection or set the CMake environment
+# CMAKE_INCLUDE_PATH to modify the search paths.
+#
+# Note that the header path has changed from SDL/SDL.h to just SDL.h
+# This needed to change because "proper" SDL convention is #include
+# "SDL.h", not <SDL/SDL.h>.  This is done for portability reasons
+# because not all systems place things in SDL/ (see FreeBSD).
+
+find_path(SDL_INCLUDE_DIR SDL.h
+  HINTS
+    ENV SDLDIR
+  PATH_SUFFIXES SDL SDL12 SDL11
+                # path suffixes to search inside ENV{SDLDIR}
+                include/SDL include/SDL12 include/SDL11 include
+)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(VC_LIB_PATH_SUFFIX lib/x64)
+else()
+  set(VC_LIB_PATH_SUFFIX lib/x86)
+endif()
+
+# SDL-1.1 is the name used by FreeBSD ports...
+# don't confuse it for the version number.
+find_library(SDL_LIBRARY_TEMP
+  NAMES SDL SDL-1.1
+  HINTS
+    ENV SDLDIR
+  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+)
+
+# Hide this cache variable from the user, it's an internal implementation
+# detail. The documented library variable for the user is SDL_LIBRARY
+# which is derived from SDL_LIBRARY_TEMP further below.
+set_property(CACHE SDL_LIBRARY_TEMP PROPERTY TYPE INTERNAL)
+
+if(NOT SDL_BUILDING_LIBRARY)
+  if(NOT SDL_INCLUDE_DIR MATCHES ".framework")
+    # Non-OS X framework versions expect you to also dynamically link to
+    # SDLmain. This is mainly for Windows and OS X. Other (Unix) platforms
+    # seem to provide SDLmain for compatibility even though they don't
+    # necessarily need it.
+    find_library(SDLMAIN_LIBRARY
+      NAMES SDLmain SDLmain-1.1
+      HINTS
+        ENV SDLDIR
+      PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+      PATHS
+      /sw
+      /opt/local
+      /opt/csw
+      /opt
+    )
+  endif()
+endif()
+
+# SDL may require threads on your system.
+# The Apple build may not need an explicit flag because one of the
+# frameworks may already provide it.
+# But for non-OSX systems, I will use the CMake Threads package.
+if(NOT APPLE)
+  find_package(Threads)
+endif()
+
+# MinGW needs an additional link flag, -mwindows
+# It's total link flags should look like -lmingw32 -lSDLmain -lSDL -mwindows
+if(MINGW)
+  set(MINGW32_LIBRARY mingw32 "-mwindows" CACHE STRING "link flags for MinGW")
+endif()
+
+if(SDL_LIBRARY_TEMP)
+  # For SDLmain
+  if(SDLMAIN_LIBRARY AND NOT SDL_BUILDING_LIBRARY)
+    list(FIND SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" _SDL_MAIN_INDEX)
+    if(_SDL_MAIN_INDEX EQUAL -1)
+      set(SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" ${SDL_LIBRARY_TEMP})
+    endif()
+    unset(_SDL_MAIN_INDEX)
+  endif()
+
+  # For OS X, SDL uses Cocoa as a backend so it must link to Cocoa.
+  # CMake doesn't display the -framework Cocoa string in the UI even
+  # though it actually is there if I modify a pre-used variable.
+  # I think it has something to do with the CACHE STRING.
+  # So I use a temporary variable until the end so I can set the
+  # "real" variable in one-shot.
+  if(APPLE)
+    set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} "-framework Cocoa")
+  endif()
+
+  # For threads, as mentioned Apple doesn't need this.
+  # In fact, there seems to be a problem if I used the Threads package
+  # and try using this line, so I'm just skipping it entirely for OS X.
+  if(NOT APPLE)
+    set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
+  endif()
+
+  # For MinGW library
+  if(MINGW)
+    set(SDL_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL_LIBRARY_TEMP})
+  endif()
+
+  # Set the final string here so the GUI reflects the final state.
+  set(SDL_LIBRARY ${SDL_LIBRARY_TEMP} CACHE STRING "Where the SDL Library can be found")
+endif()
+
+if(SDL_INCLUDE_DIR AND EXISTS "${SDL_INCLUDE_DIR}/SDL_version.h")
+  file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MINOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_PATCHLEVEL[ \t]+[0-9]+$")
+  string(REGEX REPLACE "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MAJOR "${SDL_VERSION_MAJOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MINOR "${SDL_VERSION_MINOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_VERSION_PATCH "${SDL_VERSION_PATCH_LINE}")
+  set(SDL_VERSION_STRING ${SDL_VERSION_MAJOR}.${SDL_VERSION_MINOR}.${SDL_VERSION_PATCH})
+  unset(SDL_VERSION_MAJOR_LINE)
+  unset(SDL_VERSION_MINOR_LINE)
+  unset(SDL_VERSION_PATCH_LINE)
+  unset(SDL_VERSION_MAJOR)
+  unset(SDL_VERSION_MINOR)
+  unset(SDL_VERSION_PATCH)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL
+                                  REQUIRED_VARS SDL_LIBRARY SDL_INCLUDE_DIR
+                                  VERSION_VAR SDL_VERSION_STRING)
diff --git a/share/cmake-3.10/Modules/FindSDL_image.cmake b/share/cmake-3.10/Modules/FindSDL_image.cmake
new file mode 100644
index 0000000..8cdaa7a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSDL_image.cmake
@@ -0,0 +1,100 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSDL_image
+# -------------
+#
+# Locate SDL_image library
+#
+# This module defines:
+#
+# ::
+#
+#   SDL_IMAGE_LIBRARIES, the name of the library to link against
+#   SDL_IMAGE_INCLUDE_DIRS, where to find the headers
+#   SDL_IMAGE_FOUND, if false, do not try to link against
+#   SDL_IMAGE_VERSION_STRING - human-readable string containing the
+#                              version of SDL_image
+#
+#
+#
+# For backward compatibility the following variables are also set:
+#
+# ::
+#
+#   SDLIMAGE_LIBRARY (same value as SDL_IMAGE_LIBRARIES)
+#   SDLIMAGE_INCLUDE_DIR (same value as SDL_IMAGE_INCLUDE_DIRS)
+#   SDLIMAGE_FOUND (same value as SDL_IMAGE_FOUND)
+#
+#
+#
+# $SDLDIR is an environment variable that would correspond to the
+# ./configure --prefix=$SDLDIR used in building SDL.
+#
+# Created by Eric Wing.  This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
+# additional Unix paths (FreeBSD, etc).
+
+if(NOT SDL_IMAGE_INCLUDE_DIR AND SDLIMAGE_INCLUDE_DIR)
+  set(SDL_IMAGE_INCLUDE_DIR ${SDLIMAGE_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_IMAGE_INCLUDE_DIR SDL_image.h
+  HINTS
+    ENV SDLIMAGEDIR
+    ENV SDLDIR
+  PATH_SUFFIXES SDL
+                # path suffixes to search inside ENV{SDLDIR}
+                include/SDL include/SDL12 include/SDL11 include
+)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(VC_LIB_PATH_SUFFIX lib/x64)
+else()
+  set(VC_LIB_PATH_SUFFIX lib/x86)
+endif()
+
+if(NOT SDL_IMAGE_LIBRARY AND SDLIMAGE_LIBRARY)
+  set(SDL_IMAGE_LIBRARY ${SDLIMAGE_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_IMAGE_LIBRARY
+  NAMES SDL_image
+  HINTS
+    ENV SDLIMAGEDIR
+    ENV SDLDIR
+  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+)
+
+if(SDL_IMAGE_INCLUDE_DIR AND EXISTS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h")
+  file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+[0-9]+$")
+  string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_MAJOR "${SDL_IMAGE_VERSION_MAJOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_MINOR "${SDL_IMAGE_VERSION_MINOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_PATCH "${SDL_IMAGE_VERSION_PATCH_LINE}")
+  set(SDL_IMAGE_VERSION_STRING ${SDL_IMAGE_VERSION_MAJOR}.${SDL_IMAGE_VERSION_MINOR}.${SDL_IMAGE_VERSION_PATCH})
+  unset(SDL_IMAGE_VERSION_MAJOR_LINE)
+  unset(SDL_IMAGE_VERSION_MINOR_LINE)
+  unset(SDL_IMAGE_VERSION_PATCH_LINE)
+  unset(SDL_IMAGE_VERSION_MAJOR)
+  unset(SDL_IMAGE_VERSION_MINOR)
+  unset(SDL_IMAGE_VERSION_PATCH)
+endif()
+
+set(SDL_IMAGE_LIBRARIES ${SDL_IMAGE_LIBRARY})
+set(SDL_IMAGE_INCLUDE_DIRS ${SDL_IMAGE_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_image
+                                  REQUIRED_VARS SDL_IMAGE_LIBRARIES SDL_IMAGE_INCLUDE_DIRS
+                                  VERSION_VAR SDL_IMAGE_VERSION_STRING)
+
+# for backward compatibility
+set(SDLIMAGE_LIBRARY ${SDL_IMAGE_LIBRARIES})
+set(SDLIMAGE_INCLUDE_DIR ${SDL_IMAGE_INCLUDE_DIRS})
+set(SDLIMAGE_FOUND ${SDL_IMAGE_FOUND})
+
+mark_as_advanced(SDL_IMAGE_LIBRARY SDL_IMAGE_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindSDL_mixer.cmake b/share/cmake-3.10/Modules/FindSDL_mixer.cmake
new file mode 100644
index 0000000..35233d1
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSDL_mixer.cmake
@@ -0,0 +1,100 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSDL_mixer
+# -------------
+#
+# Locate SDL_mixer library
+#
+# This module defines:
+#
+# ::
+#
+#   SDL_MIXER_LIBRARIES, the name of the library to link against
+#   SDL_MIXER_INCLUDE_DIRS, where to find the headers
+#   SDL_MIXER_FOUND, if false, do not try to link against
+#   SDL_MIXER_VERSION_STRING - human-readable string containing the
+#                              version of SDL_mixer
+#
+#
+#
+# For backward compatibility the following variables are also set:
+#
+# ::
+#
+#   SDLMIXER_LIBRARY (same value as SDL_MIXER_LIBRARIES)
+#   SDLMIXER_INCLUDE_DIR (same value as SDL_MIXER_INCLUDE_DIRS)
+#   SDLMIXER_FOUND (same value as SDL_MIXER_FOUND)
+#
+#
+#
+# $SDLDIR is an environment variable that would correspond to the
+# ./configure --prefix=$SDLDIR used in building SDL.
+#
+# Created by Eric Wing.  This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
+# additional Unix paths (FreeBSD, etc).
+
+if(NOT SDL_MIXER_INCLUDE_DIR AND SDLMIXER_INCLUDE_DIR)
+  set(SDL_MIXER_INCLUDE_DIR ${SDLMIXER_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_MIXER_INCLUDE_DIR SDL_mixer.h
+  HINTS
+    ENV SDLMIXERDIR
+    ENV SDLDIR
+  PATH_SUFFIXES SDL
+                # path suffixes to search inside ENV{SDLDIR}
+                include/SDL include/SDL12 include/SDL11 include
+)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(VC_LIB_PATH_SUFFIX lib/x64)
+else()
+  set(VC_LIB_PATH_SUFFIX lib/x86)
+endif()
+
+if(NOT SDL_MIXER_LIBRARY AND SDLMIXER_LIBRARY)
+  set(SDL_MIXER_LIBRARY ${SDLMIXER_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_MIXER_LIBRARY
+  NAMES SDL_mixer
+  HINTS
+    ENV SDLMIXERDIR
+    ENV SDLDIR
+  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+)
+
+if(SDL_MIXER_INCLUDE_DIR AND EXISTS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h")
+  file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+[0-9]+$")
+  string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_MAJOR "${SDL_MIXER_VERSION_MAJOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_MINOR "${SDL_MIXER_VERSION_MINOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_PATCH "${SDL_MIXER_VERSION_PATCH_LINE}")
+  set(SDL_MIXER_VERSION_STRING ${SDL_MIXER_VERSION_MAJOR}.${SDL_MIXER_VERSION_MINOR}.${SDL_MIXER_VERSION_PATCH})
+  unset(SDL_MIXER_VERSION_MAJOR_LINE)
+  unset(SDL_MIXER_VERSION_MINOR_LINE)
+  unset(SDL_MIXER_VERSION_PATCH_LINE)
+  unset(SDL_MIXER_VERSION_MAJOR)
+  unset(SDL_MIXER_VERSION_MINOR)
+  unset(SDL_MIXER_VERSION_PATCH)
+endif()
+
+set(SDL_MIXER_LIBRARIES ${SDL_MIXER_LIBRARY})
+set(SDL_MIXER_INCLUDE_DIRS ${SDL_MIXER_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_mixer
+                                  REQUIRED_VARS SDL_MIXER_LIBRARIES SDL_MIXER_INCLUDE_DIRS
+                                  VERSION_VAR SDL_MIXER_VERSION_STRING)
+
+# for backward compatibility
+set(SDLMIXER_LIBRARY ${SDL_MIXER_LIBRARIES})
+set(SDLMIXER_INCLUDE_DIR ${SDL_MIXER_INCLUDE_DIRS})
+set(SDLMIXER_FOUND ${SDL_MIXER_FOUND})
+
+mark_as_advanced(SDL_MIXER_LIBRARY SDL_MIXER_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindSDL_net.cmake b/share/cmake-3.10/Modules/FindSDL_net.cmake
new file mode 100644
index 0000000..b406946
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSDL_net.cmake
@@ -0,0 +1,99 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSDL_net
+# -----------
+#
+# Locate SDL_net library
+#
+# This module defines:
+#
+# ::
+#
+#   SDL_NET_LIBRARIES, the name of the library to link against
+#   SDL_NET_INCLUDE_DIRS, where to find the headers
+#   SDL_NET_FOUND, if false, do not try to link against
+#   SDL_NET_VERSION_STRING - human-readable string containing the version of SDL_net
+#
+#
+#
+# For backward compatibility the following variables are also set:
+#
+# ::
+#
+#   SDLNET_LIBRARY (same value as SDL_NET_LIBRARIES)
+#   SDLNET_INCLUDE_DIR (same value as SDL_NET_INCLUDE_DIRS)
+#   SDLNET_FOUND (same value as SDL_NET_FOUND)
+#
+#
+#
+# $SDLDIR is an environment variable that would correspond to the
+# ./configure --prefix=$SDLDIR used in building SDL.
+#
+# Created by Eric Wing.  This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
+# additional Unix paths (FreeBSD, etc).
+
+if(NOT SDL_NET_INCLUDE_DIR AND SDLNET_INCLUDE_DIR)
+  set(SDL_NET_INCLUDE_DIR ${SDLNET_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_NET_INCLUDE_DIR SDL_net.h
+  HINTS
+    ENV SDLNETDIR
+    ENV SDLDIR
+  PATH_SUFFIXES SDL
+                # path suffixes to search inside ENV{SDLDIR}
+                include/SDL include/SDL12 include/SDL11 include
+)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(VC_LIB_PATH_SUFFIX lib/x64)
+else()
+  set(VC_LIB_PATH_SUFFIX lib/x86)
+endif()
+
+if(NOT SDL_NET_LIBRARY AND SDLNET_LIBRARY)
+  set(SDL_NET_LIBRARY ${SDLNET_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_NET_LIBRARY
+  NAMES SDL_net
+  HINTS
+    ENV SDLNETDIR
+    ENV SDLDIR
+  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+)
+
+if(SDL_NET_INCLUDE_DIR AND EXISTS "${SDL_NET_INCLUDE_DIR}/SDL_net.h")
+  file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_NET_MAJOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_NET_MINOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_NET_PATCHLEVEL[ \t]+[0-9]+$")
+  string(REGEX REPLACE "^#define[ \t]+SDL_NET_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_MAJOR "${SDL_NET_VERSION_MAJOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_NET_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_MINOR "${SDL_NET_VERSION_MINOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_NET_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_PATCH "${SDL_NET_VERSION_PATCH_LINE}")
+  set(SDL_NET_VERSION_STRING ${SDL_NET_VERSION_MAJOR}.${SDL_NET_VERSION_MINOR}.${SDL_NET_VERSION_PATCH})
+  unset(SDL_NET_VERSION_MAJOR_LINE)
+  unset(SDL_NET_VERSION_MINOR_LINE)
+  unset(SDL_NET_VERSION_PATCH_LINE)
+  unset(SDL_NET_VERSION_MAJOR)
+  unset(SDL_NET_VERSION_MINOR)
+  unset(SDL_NET_VERSION_PATCH)
+endif()
+
+set(SDL_NET_LIBRARIES ${SDL_NET_LIBRARY})
+set(SDL_NET_INCLUDE_DIRS ${SDL_NET_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_net
+                                  REQUIRED_VARS SDL_NET_LIBRARIES SDL_NET_INCLUDE_DIRS
+                                  VERSION_VAR SDL_NET_VERSION_STRING)
+
+# for backward compatibility
+set(SDLNET_LIBRARY ${SDL_NET_LIBRARIES})
+set(SDLNET_INCLUDE_DIR ${SDL_NET_INCLUDE_DIRS})
+set(SDLNET_FOUND ${SDL_NET_FOUND})
+
+mark_as_advanced(SDL_NET_LIBRARY SDL_NET_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindSDL_sound.cmake b/share/cmake-3.10/Modules/FindSDL_sound.cmake
new file mode 100644
index 0000000..cf33a4c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSDL_sound.cmake
@@ -0,0 +1,396 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSDL_sound
+# -------------
+#
+# Locates the SDL_sound library
+#
+#
+#
+# This module depends on SDL being found and must be called AFTER
+# FindSDL.cmake is called.
+#
+# This module defines
+#
+# ::
+#
+#   SDL_SOUND_INCLUDE_DIR, where to find SDL_sound.h
+#   SDL_SOUND_FOUND, if false, do not try to link to SDL_sound
+#   SDL_SOUND_LIBRARIES, this contains the list of libraries that you need
+#     to link against.
+#   SDL_SOUND_EXTRAS, this is an optional variable for you to add your own
+#     flags to SDL_SOUND_LIBRARIES. This is prepended to SDL_SOUND_LIBRARIES.
+#     This is available mostly for cases this module failed to anticipate for
+#     and you must add additional flags. This is marked as ADVANCED.
+#   SDL_SOUND_VERSION_STRING, human-readable string containing the
+#     version of SDL_sound
+#
+#
+#
+# This module also defines (but you shouldn't need to use directly)
+#
+# ::
+#
+#    SDL_SOUND_LIBRARY, the name of just the SDL_sound library you would link
+#    against. Use SDL_SOUND_LIBRARIES for you link instructions and not this one.
+#
+# And might define the following as needed
+#
+# ::
+#
+#    MIKMOD_LIBRARY
+#    MODPLUG_LIBRARY
+#    OGG_LIBRARY
+#    VORBIS_LIBRARY
+#    SMPEG_LIBRARY
+#    FLAC_LIBRARY
+#    SPEEX_LIBRARY
+#
+#
+#
+# Typically, you should not use these variables directly, and you should
+# use SDL_SOUND_LIBRARIES which contains SDL_SOUND_LIBRARY and the other
+# audio libraries (if needed) to successfully compile on your system.
+#
+# Created by Eric Wing.  This module is a bit more complicated than the
+# other FindSDL* family modules.  The reason is that SDL_sound can be
+# compiled in a large variety of different ways which are independent of
+# platform.  SDL_sound may dynamically link against other 3rd party
+# libraries to get additional codec support, such as Ogg Vorbis, SMPEG,
+# ModPlug, MikMod, FLAC, Speex, and potentially others.  Under some
+# circumstances which I don't fully understand, there seems to be a
+# requirement that dependent libraries of libraries you use must also be
+# explicitly linked against in order to successfully compile.  SDL_sound
+# does not currently have any system in place to know how it was
+# compiled.  So this CMake module does the hard work in trying to
+# discover which 3rd party libraries are required for building (if any).
+# This module uses a brute force approach to create a test program that
+# uses SDL_sound, and then tries to build it.  If the build fails, it
+# parses the error output for known symbol names to figure out which
+# libraries are needed.
+#
+# Responds to the $SDLDIR and $SDLSOUNDDIR environmental variable that
+# would correspond to the ./configure --prefix=$SDLDIR used in building
+# SDL.
+#
+# On OSX, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of SDL_LIBRARY to
+# override this selectionor set the CMake environment CMAKE_INCLUDE_PATH
+# to modify the search paths.
+
+set(SDL_SOUND_EXTRAS "" CACHE STRING "SDL_sound extra flags")
+mark_as_advanced(SDL_SOUND_EXTRAS)
+
+# Find SDL_sound.h
+find_path(SDL_SOUND_INCLUDE_DIR SDL_sound.h
+  HINTS
+    ENV SDLSOUNDDIR
+    ENV SDLDIR
+  PATH_SUFFIXES SDL
+                # path suffixes to search inside ENV{SDLDIR}
+                include/SDL include/SDL12 include/SDL11 include
+  )
+
+find_library(SDL_SOUND_LIBRARY
+  NAMES SDL_sound
+  HINTS
+    ENV SDLSOUNDDIR
+    ENV SDLDIR
+  PATH_SUFFIXES lib VisualC/win32lib
+  )
+
+if(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
+
+  # CMake is giving me problems using TRY_COMPILE with the CMAKE_FLAGS
+  # for the :STRING syntax if I have multiple values contained in a
+  # single variable. This is a problem for the SDL_LIBRARY variable
+  # because it does just that. When I feed this variable to the command,
+  # only the first value gets the appropriate modifier (e.g. -I) and
+  # the rest get dropped.
+  # To get multiple single variables to work, I must separate them with a "\;"
+  # I could go back and modify the FindSDL.cmake module, but that's kind of painful.
+  # The solution would be to try something like:
+  # string(APPEND SDL_TRY_COMPILE_LIBRARY_LIST "\;${CMAKE_THREAD_LIBS_INIT}")
+  # Instead, it was suggested on the mailing list to write a temporary CMakeLists.txt
+  # with a temporary test project and invoke that with TRY_COMPILE.
+  # See message thread "Figuring out dependencies for a library in order to build"
+  # 2005-07-16
+  #     try_compile(
+  #             MY_RESULT
+  #             ${CMAKE_BINARY_DIR}
+  #             ${PROJECT_SOURCE_DIR}/DetermineSoundLibs.c
+  #             CMAKE_FLAGS
+  #                     -DINCLUDE_DIRECTORIES:STRING=${SDL_INCLUDE_DIR}\;${SDL_SOUND_INCLUDE_DIR}
+  #                     -DLINK_LIBRARIES:STRING=${SDL_SOUND_LIBRARY}\;${SDL_LIBRARY}
+  #             OUTPUT_VARIABLE MY_OUTPUT
+  #     )
+
+  # To minimize external dependencies, create a sdlsound test program
+  # which will be used to figure out if additional link dependencies are
+  # required for the link phase.
+  file(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/DetermineSoundLibs.c
+    "#include \"SDL_sound.h\"
+    #include \"SDL.h\"
+    int main(int argc, char* argv[])
+    {
+        Sound_AudioInfo desired;
+        Sound_Sample* sample;
+
+        SDL_Init(0);
+        Sound_Init();
+
+        /* This doesn't actually have to work, but Init() is a no-op
+         * for some of the decoders, so this should force more symbols
+         * to be pulled in.
+         */
+        sample = Sound_NewSampleFromFile(argv[1], &desired, 4096);
+
+        Sound_Quit();
+        SDL_Quit();
+        return 0;
+     }"
+     )
+
+   # Calling
+   # target_link_libraries(DetermineSoundLibs "${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
+   # causes problems when SDL_LIBRARY looks like
+   # /Library/Frameworks/SDL.framework;-framework Cocoa
+   # The ;-framework Cocoa seems to be confusing CMake once the OS X
+   # framework support was added. I was told that breaking up the list
+   # would fix the problem.
+   set(TMP_TRY_LIBS)
+   foreach(lib ${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
+     string(APPEND TMP_TRY_LIBS " \"${lib}\"")
+   endforeach()
+
+   # message("TMP_TRY_LIBS ${TMP_TRY_LIBS}")
+
+   # Write the CMakeLists.txt and test project
+   # Weird, this is still sketchy. If I don't quote the variables
+   # in the TARGET_LINK_LIBRARIES, I seem to loose everything
+   # in the SDL_LIBRARY string after the "-framework".
+   # But if I quote the stuff in INCLUDE_DIRECTORIES, it doesn't work.
+   file(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/CMakeLists.txt
+     "cmake_minimum_required(VERSION ${CMAKE_VERSION})
+        project(DetermineSoundLibs)
+        include_directories(${SDL_INCLUDE_DIR} ${SDL_SOUND_INCLUDE_DIR})
+        add_executable(DetermineSoundLibs DetermineSoundLibs.c)
+        target_link_libraries(DetermineSoundLibs ${TMP_TRY_LIBS})"
+     )
+
+   try_compile(
+     MY_RESULT
+     ${PROJECT_BINARY_DIR}/CMakeTmp
+     ${PROJECT_BINARY_DIR}/CMakeTmp
+     DetermineSoundLibs
+     OUTPUT_VARIABLE MY_OUTPUT
+     )
+
+   # message("${MY_RESULT}")
+   # message(${MY_OUTPUT})
+
+   if(NOT MY_RESULT)
+
+     # I expect that MPGLIB, VOC, WAV, AIFF, and SHN are compiled in statically.
+     # I think Timidity is also compiled in statically.
+     # I've never had to explcitly link against Quicktime, so I'll skip that for now.
+
+     set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARY})
+
+     # Find MikMod
+     if("${MY_OUTPUT}" MATCHES "MikMod_")
+     find_library(MIKMOD_LIBRARY
+         NAMES libmikmod-coreaudio mikmod
+         PATHS
+           ENV MIKMODDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+       )
+       if(MIKMOD_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MIKMOD_LIBRARY})
+       endif(MIKMOD_LIBRARY)
+     endif("${MY_OUTPUT}" MATCHES "MikMod_")
+
+     # Find ModPlug
+     if("${MY_OUTPUT}" MATCHES "MODPLUG_")
+       find_library(MODPLUG_LIBRARY
+         NAMES modplug
+         PATHS
+           ENV MODPLUGDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+       )
+       if(MODPLUG_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MODPLUG_LIBRARY})
+       endif()
+     endif()
+
+
+     # Find Ogg and Vorbis
+     if("${MY_OUTPUT}" MATCHES "ov_")
+       find_library(VORBIS_LIBRARY
+         NAMES vorbis Vorbis VORBIS
+         PATHS
+           ENV VORBISDIR
+           ENV OGGDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+         )
+       if(VORBIS_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${VORBIS_LIBRARY})
+       endif()
+
+       find_library(OGG_LIBRARY
+         NAMES ogg Ogg OGG
+         PATHS
+           ENV OGGDIR
+           ENV VORBISDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+         )
+       if(OGG_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
+       endif()
+     endif()
+
+
+     # Find SMPEG
+     if("${MY_OUTPUT}" MATCHES "SMPEG_")
+       find_library(SMPEG_LIBRARY
+         NAMES smpeg SMPEG Smpeg SMpeg
+         PATHS
+           ENV SMPEGDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+         )
+       if(SMPEG_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SMPEG_LIBRARY})
+       endif()
+     endif()
+
+
+     # Find FLAC
+     if("${MY_OUTPUT}" MATCHES "FLAC_")
+       find_library(FLAC_LIBRARY
+         NAMES flac FLAC
+         PATHS
+           ENV FLACDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+         )
+       if(FLAC_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${FLAC_LIBRARY})
+       endif()
+     endif()
+
+
+     # Hmmm...Speex seems to depend on Ogg. This might be a problem if
+     # the TRY_COMPILE attempt gets blocked at SPEEX before it can pull
+     # in the Ogg symbols. I'm not sure if I should duplicate the ogg stuff
+     # above for here or if two ogg entries will screw up things.
+     if("${MY_OUTPUT}" MATCHES "speex_")
+       find_library(SPEEX_LIBRARY
+         NAMES speex SPEEX
+         PATHS
+           ENV SPEEXDIR
+           ENV SDLSOUNDDIR
+           ENV SDLDIR
+           /sw
+           /opt/local
+           /opt/csw
+           /opt
+         PATH_SUFFIXES
+           lib
+         )
+       if(SPEEX_LIBRARY)
+         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SPEEX_LIBRARY})
+       endif()
+
+       # Find OGG (needed for Speex)
+     # We might have already found Ogg for Vorbis, so skip it if so.
+       if(NOT OGG_LIBRARY)
+         find_library(OGG_LIBRARY
+           NAMES ogg Ogg OGG
+           PATHS
+             ENV OGGDIR
+             ENV VORBISDIR
+             ENV SPEEXDIR
+             ENV SDLSOUNDDIR
+             ENV SDLDIR
+             /sw
+             /opt/local
+             /opt/csw
+             /opt
+           PATH_SUFFIXES lib
+           )
+         if(OGG_LIBRARY)
+           set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
+         endif()
+       endif()
+     endif()
+
+     set(SDL_SOUND_LIBRARIES ${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARIES_TMP})
+   else()
+     set(SDL_SOUND_LIBRARIES ${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARY})
+   endif()
+ endif()
+
+if(SDL_SOUND_INCLUDE_DIR AND EXISTS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h")
+  file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SOUND_VER_MAJOR[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_MINOR_LINE REGEX "^#define[ \t]+SOUND_VER_MINOR[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_PATCH_LINE REGEX "^#define[ \t]+SOUND_VER_PATCH[ \t]+[0-9]+$")
+  string(REGEX REPLACE "^#define[ \t]+SOUND_VER_MAJOR[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_MAJOR "${SDL_SOUND_VERSION_MAJOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SOUND_VER_MINOR[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_MINOR "${SDL_SOUND_VERSION_MINOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SOUND_VER_PATCH[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_PATCH "${SDL_SOUND_VERSION_PATCH_LINE}")
+  set(SDL_SOUND_VERSION_STRING ${SDL_SOUND_VERSION_MAJOR}.${SDL_SOUND_VERSION_MINOR}.${SDL_SOUND_VERSION_PATCH})
+  unset(SDL_SOUND_VERSION_MAJOR_LINE)
+  unset(SDL_SOUND_VERSION_MINOR_LINE)
+  unset(SDL_SOUND_VERSION_PATCH_LINE)
+  unset(SDL_SOUND_VERSION_MAJOR)
+  unset(SDL_SOUND_VERSION_MINOR)
+  unset(SDL_SOUND_VERSION_PATCH)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_sound
+                                  REQUIRED_VARS SDL_SOUND_LIBRARY SDL_SOUND_INCLUDE_DIR
+                                  VERSION_VAR SDL_SOUND_VERSION_STRING)
diff --git a/share/cmake-3.10/Modules/FindSDL_ttf.cmake b/share/cmake-3.10/Modules/FindSDL_ttf.cmake
new file mode 100644
index 0000000..aa705f2
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSDL_ttf.cmake
@@ -0,0 +1,99 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSDL_ttf
+# -----------
+#
+# Locate SDL_ttf library
+#
+# This module defines:
+#
+# ::
+#
+#   SDL_TTF_LIBRARIES, the name of the library to link against
+#   SDL_TTF_INCLUDE_DIRS, where to find the headers
+#   SDL_TTF_FOUND, if false, do not try to link against
+#   SDL_TTF_VERSION_STRING - human-readable string containing the version of SDL_ttf
+#
+#
+#
+# For backward compatibility the following variables are also set:
+#
+# ::
+#
+#   SDLTTF_LIBRARY (same value as SDL_TTF_LIBRARIES)
+#   SDLTTF_INCLUDE_DIR (same value as SDL_TTF_INCLUDE_DIRS)
+#   SDLTTF_FOUND (same value as SDL_TTF_FOUND)
+#
+#
+#
+# $SDLDIR is an environment variable that would correspond to the
+# ./configure --prefix=$SDLDIR used in building SDL.
+#
+# Created by Eric Wing.  This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
+# additional Unix paths (FreeBSD, etc).
+
+if(NOT SDL_TTF_INCLUDE_DIR AND SDLTTF_INCLUDE_DIR)
+  set(SDL_TTF_INCLUDE_DIR ${SDLTTF_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_TTF_INCLUDE_DIR SDL_ttf.h
+  HINTS
+    ENV SDLTTFDIR
+    ENV SDLDIR
+  PATH_SUFFIXES SDL
+                # path suffixes to search inside ENV{SDLDIR}
+                include/SDL include/SDL12 include/SDL11 include
+)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  set(VC_LIB_PATH_SUFFIX lib/x64)
+else()
+  set(VC_LIB_PATH_SUFFIX lib/x86)
+endif()
+
+if(NOT SDL_TTF_LIBRARY AND SDLTTF_LIBRARY)
+  set(SDL_TTF_LIBRARY ${SDLTTF_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_TTF_LIBRARY
+  NAMES SDL_ttf
+  HINTS
+    ENV SDLTTFDIR
+    ENV SDLDIR
+  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+)
+
+if(SDL_TTF_INCLUDE_DIR AND EXISTS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h")
+  file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$")
+  file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$")
+  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_MAJOR "${SDL_TTF_VERSION_MAJOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_MINOR "${SDL_TTF_VERSION_MINOR_LINE}")
+  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_PATCH "${SDL_TTF_VERSION_PATCH_LINE}")
+  set(SDL_TTF_VERSION_STRING ${SDL_TTF_VERSION_MAJOR}.${SDL_TTF_VERSION_MINOR}.${SDL_TTF_VERSION_PATCH})
+  unset(SDL_TTF_VERSION_MAJOR_LINE)
+  unset(SDL_TTF_VERSION_MINOR_LINE)
+  unset(SDL_TTF_VERSION_PATCH_LINE)
+  unset(SDL_TTF_VERSION_MAJOR)
+  unset(SDL_TTF_VERSION_MINOR)
+  unset(SDL_TTF_VERSION_PATCH)
+endif()
+
+set(SDL_TTF_LIBRARIES ${SDL_TTF_LIBRARY})
+set(SDL_TTF_INCLUDE_DIRS ${SDL_TTF_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_ttf
+                                  REQUIRED_VARS SDL_TTF_LIBRARIES SDL_TTF_INCLUDE_DIRS
+                                  VERSION_VAR SDL_TTF_VERSION_STRING)
+
+# for backward compatibility
+set(SDLTTF_LIBRARY ${SDL_TTF_LIBRARIES})
+set(SDLTTF_INCLUDE_DIR ${SDL_TTF_INCLUDE_DIRS})
+set(SDLTTF_FOUND ${SDL_TTF_FOUND})
+
+mark_as_advanced(SDL_TTF_LIBRARY SDL_TTF_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindSWIG.cmake b/share/cmake-3.10/Modules/FindSWIG.cmake
new file mode 100644
index 0000000..92c032f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSWIG.cmake
@@ -0,0 +1,66 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSWIG
+# --------
+#
+# Find SWIG
+#
+# This module finds an installed SWIG.  It sets the following variables:
+#
+# ::
+#
+#   SWIG_FOUND - set to true if SWIG is found
+#   SWIG_DIR - the directory where swig is installed
+#   SWIG_EXECUTABLE - the path to the swig executable
+#   SWIG_VERSION   - the version number of the swig executable
+#
+#
+#
+# The minimum required version of SWIG can be specified using the
+# standard syntax, e.g.  find_package(SWIG 1.1)
+#
+# All information is collected from the SWIG_EXECUTABLE so the version
+# to be found can be changed from the command line by means of setting
+# SWIG_EXECUTABLE
+
+find_program(SWIG_EXECUTABLE NAMES swig3.0 swig2.0 swig)
+
+if(SWIG_EXECUTABLE)
+  execute_process(COMMAND ${SWIG_EXECUTABLE} -swiglib
+    OUTPUT_VARIABLE SWIG_swiglib_output
+    ERROR_VARIABLE SWIG_swiglib_error
+    RESULT_VARIABLE SWIG_swiglib_result)
+
+  if(SWIG_swiglib_result)
+    if(SWIG_FIND_REQUIRED)
+      message(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
+    else()
+      message(STATUS "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
+    endif()
+  else()
+    string(REGEX REPLACE "[\n\r]+" ";" SWIG_swiglib_output ${SWIG_swiglib_output})
+    find_path(SWIG_DIR swig.swg PATHS ${SWIG_swiglib_output} NO_CMAKE_FIND_ROOT_PATH)
+    if(SWIG_DIR)
+      set(SWIG_USE_FILE ${CMAKE_CURRENT_LIST_DIR}/UseSWIG.cmake)
+      execute_process(COMMAND ${SWIG_EXECUTABLE} -version
+        OUTPUT_VARIABLE SWIG_version_output
+        ERROR_VARIABLE SWIG_version_output
+        RESULT_VARIABLE SWIG_version_result)
+      if(SWIG_version_result)
+        message(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -version\" failed with output:\n${SWIG_version_output}")
+      else()
+        string(REGEX REPLACE ".*SWIG Version[^0-9.]*\([0-9.]+\).*" "\\1"
+          SWIG_version_output "${SWIG_version_output}")
+        set(SWIG_VERSION ${SWIG_version_output} CACHE STRING "Swig version" FORCE)
+      endif()
+    endif()
+  endif()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SWIG  REQUIRED_VARS SWIG_EXECUTABLE SWIG_DIR
+                                        VERSION_VAR SWIG_VERSION )
+
+mark_as_advanced(SWIG_DIR SWIG_VERSION)
diff --git a/share/cmake-3.10/Modules/FindSelfPackers.cmake b/share/cmake-3.10/Modules/FindSelfPackers.cmake
new file mode 100644
index 0000000..01d0641
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSelfPackers.cmake
@@ -0,0 +1,65 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSelfPackers
+# ---------------
+#
+# Find upx
+#
+# This module looks for some executable packers (i.e.  software that
+# compress executables or shared libs into on-the-fly self-extracting
+# executables or shared libs.  Examples:
+#
+# ::
+#
+#   UPX: http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
+
+find_program(SELF_PACKER_FOR_EXECUTABLE
+  upx
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+
+find_program(SELF_PACKER_FOR_SHARED_LIB
+  upx
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+
+mark_as_advanced(
+  SELF_PACKER_FOR_EXECUTABLE
+  SELF_PACKER_FOR_SHARED_LIB
+)
+
+#
+# Set flags
+#
+if (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx")
+  set (SELF_PACKER_FOR_EXECUTABLE_FLAGS "-q" CACHE STRING
+       "Flags for the executable self-packer.")
+else ()
+  set (SELF_PACKER_FOR_EXECUTABLE_FLAGS "" CACHE STRING
+       "Flags for the executable self-packer.")
+endif ()
+
+if (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx")
+  set (SELF_PACKER_FOR_SHARED_LIB_FLAGS "-q" CACHE STRING
+       "Flags for the shared lib self-packer.")
+else ()
+  set (SELF_PACKER_FOR_SHARED_LIB_FLAGS "" CACHE STRING
+       "Flags for the shared lib self-packer.")
+endif ()
+
+mark_as_advanced(
+  SELF_PACKER_FOR_EXECUTABLE_FLAGS
+  SELF_PACKER_FOR_SHARED_LIB_FLAGS
+)
diff --git a/share/cmake-3.10/Modules/FindSquish.cmake b/share/cmake-3.10/Modules/FindSquish.cmake
new file mode 100644
index 0000000..09bdf1f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSquish.cmake
@@ -0,0 +1,303 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindSquish
+# ----------
+#
+# -- Typical Use
+#
+#
+#
+# This module can be used to find Squish.  Currently Squish versions 3
+# and 4 are supported.
+#
+# ::
+#
+#   SQUISH_FOUND                    If false, don't try to use Squish
+#   SQUISH_VERSION                  The full version of Squish found
+#   SQUISH_VERSION_MAJOR            The major version of Squish found
+#   SQUISH_VERSION_MINOR            The minor version of Squish found
+#   SQUISH_VERSION_PATCH            The patch version of Squish found
+#
+#
+#
+# ::
+#
+#   SQUISH_INSTALL_DIR              The Squish installation directory
+#                                   (containing bin, lib, etc)
+#   SQUISH_SERVER_EXECUTABLE        The squishserver executable
+#   SQUISH_CLIENT_EXECUTABLE        The squishrunner executable
+#
+#
+#
+# ::
+#
+#   SQUISH_INSTALL_DIR_FOUND        Was the install directory found?
+#   SQUISH_SERVER_EXECUTABLE_FOUND  Was the server executable found?
+#   SQUISH_CLIENT_EXECUTABLE_FOUND  Was the client executable found?
+#
+#
+#
+# It provides the function squish_v4_add_test() for adding a squish test
+# to cmake using Squish 4.x:
+#
+# ::
+#
+#    squish_v4_add_test(cmakeTestName
+#      AUT targetName SUITE suiteName TEST squishTestName
+#      [SETTINGSGROUP group] [PRE_COMMAND command] [POST_COMMAND command] )
+#
+#
+#
+# The arguments have the following meaning:
+#
+# ``cmakeTestName``
+#   this will be used as the first argument for add_test()
+# ``AUT targetName``
+#   the name of the cmake target which will be used as AUT, i.e. the
+#   executable which will be tested.
+# ``SUITE suiteName``
+#   this is either the full path to the squish suite, or just the
+#   last directory of the suite, i.e. the suite name. In this case
+#   the CMakeLists.txt which calls squish_add_test() must be located
+#   in the parent directory of the suite directory.
+# ``TEST squishTestName``
+#   the name of the squish test, i.e. the name of the subdirectory
+#   of the test inside the suite directory.
+# ``SETTINGSGROUP group``
+#   if specified, the given settings group will be used for executing the test.
+#   If not specified, the groupname will be "CTest_<username>"
+# ``PRE_COMMAND command``
+#   if specified, the given command will be executed before starting the squish test.
+# ``POST_COMMAND command``
+#   same as PRE_COMMAND, but after the squish test has been executed.
+#
+#
+#
+# ::
+#
+#    enable_testing()
+#    find_package(Squish 4.0)
+#    if (SQUISH_FOUND)
+#       squish_v4_add_test(myTestName
+#         AUT myApp
+#         SUITE ${CMAKE_SOURCE_DIR}/tests/mySuite
+#         TEST someSquishTest
+#         SETTINGSGROUP myGroup
+#         )
+#    endif ()
+#
+#
+#
+#
+#
+# For users of Squish version 3.x the macro squish_v3_add_test() is
+# provided:
+#
+# ::
+#
+#    squish_v3_add_test(testName applicationUnderTest testCase envVars testWrapper)
+#    Use this macro to add a test using Squish 3.x.
+#
+#
+#
+# ::
+#
+#   enable_testing()
+#   find_package(Squish)
+#   if (SQUISH_FOUND)
+#     squish_v3_add_test(myTestName myApplication testCase envVars testWrapper)
+#   endif ()
+#
+#
+#
+# macro SQUISH_ADD_TEST(testName applicationUnderTest testCase envVars
+# testWrapper)
+#
+# ::
+#
+#    This is deprecated. Use SQUISH_V3_ADD_TEST() if you are using Squish 3.x instead.
+
+set(SQUISH_INSTALL_DIR_STRING "Directory containing the bin, doc, and lib directories for Squish; this should be the root of the installation directory.")
+set(SQUISH_SERVER_EXECUTABLE_STRING "The squishserver executable program.")
+set(SQUISH_CLIENT_EXECUTABLE_STRING "The squishclient executable program.")
+
+# Search only if the location is not already known.
+if(NOT SQUISH_INSTALL_DIR)
+  # Get the system search path as a list.
+  file(TO_CMAKE_PATH "$ENV{PATH}" SQUISH_INSTALL_DIR_SEARCH2)
+
+  # Construct a set of paths relative to the system search path.
+  set(SQUISH_INSTALL_DIR_SEARCH "")
+  foreach(dir ${SQUISH_INSTALL_DIR_SEARCH2})
+    set(SQUISH_INSTALL_DIR_SEARCH ${SQUISH_INSTALL_DIR_SEARCH} "${dir}/../lib/fltk")
+  endforeach()
+  string(REPLACE "//" "/" SQUISH_INSTALL_DIR_SEARCH "${SQUISH_INSTALL_DIR_SEARCH}")
+
+  # Look for an installation
+  find_path(SQUISH_INSTALL_DIR bin/squishrunner
+    HINTS
+    # Look for an environment variable SQUISH_INSTALL_DIR.
+      ENV SQUISH_INSTALL_DIR
+
+    # Look in places relative to the system executable search path.
+    ${SQUISH_INSTALL_DIR_SEARCH}
+
+    # Look in standard UNIX install locations.
+    #/usr/local/squish
+
+    DOC "The ${SQUISH_INSTALL_DIR_STRING}"
+    )
+endif()
+
+# search for the executables
+if(SQUISH_INSTALL_DIR)
+  set(SQUISH_INSTALL_DIR_FOUND 1)
+
+  # find the client program
+  if(NOT SQUISH_CLIENT_EXECUTABLE)
+    find_program(SQUISH_CLIENT_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishrunner${CMAKE_EXECUTABLE_SUFFIX} DOC "The ${SQUISH_CLIENT_EXECUTABLE_STRING}")
+  endif()
+
+  # find the server program
+  if(NOT SQUISH_SERVER_EXECUTABLE)
+    find_program(SQUISH_SERVER_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishserver${CMAKE_EXECUTABLE_SUFFIX} DOC "The ${SQUISH_SERVER_EXECUTABLE_STRING}")
+  endif()
+
+else()
+  set(SQUISH_INSTALL_DIR_FOUND 0)
+endif()
+
+
+set(SQUISH_VERSION)
+set(SQUISH_VERSION_MAJOR )
+set(SQUISH_VERSION_MINOR )
+set(SQUISH_VERSION_PATCH )
+
+# record if executables are set
+if(SQUISH_CLIENT_EXECUTABLE)
+  set(SQUISH_CLIENT_EXECUTABLE_FOUND 1)
+  execute_process(COMMAND "${SQUISH_CLIENT_EXECUTABLE}" --version
+                  OUTPUT_VARIABLE _squishVersionOutput
+                  ERROR_QUIET )
+  if("${_squishVersionOutput}" MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
+    set(SQUISH_VERSION_MAJOR "${CMAKE_MATCH_1}")
+    set(SQUISH_VERSION_MINOR "${CMAKE_MATCH_2}")
+    set(SQUISH_VERSION_PATCH "${CMAKE_MATCH_3}")
+    set(SQUISH_VERSION "${SQUISH_VERSION_MAJOR}.${SQUISH_VERSION_MINOR}.${SQUISH_VERSION_PATCH}" )
+  endif()
+else()
+  set(SQUISH_CLIENT_EXECUTABLE_FOUND 0)
+endif()
+
+if(SQUISH_SERVER_EXECUTABLE)
+  set(SQUISH_SERVER_EXECUTABLE_FOUND 1)
+else()
+  set(SQUISH_SERVER_EXECUTABLE_FOUND 0)
+endif()
+
+# record if Squish was found
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Squish  REQUIRED_VARS  SQUISH_INSTALL_DIR SQUISH_CLIENT_EXECUTABLE SQUISH_SERVER_EXECUTABLE
+                                          VERSION_VAR  SQUISH_VERSION )
+
+
+set(_SQUISH_MODULE_DIR "${CMAKE_CURRENT_LIST_DIR}")
+
+macro(SQUISH_V3_ADD_TEST testName testAUT testCase envVars testWraper)
+  if("${SQUISH_VERSION_MAJOR}" STREQUAL "4")
+    message(STATUS "Using squish_v3_add_test(), but SQUISH_VERSION_MAJOR is ${SQUISH_VERSION_MAJOR}.\nThis may not work.")
+  endif()
+
+  add_test(${testName}
+    ${CMAKE_COMMAND} -V -VV
+    "-Dsquish_version:STRING=3"
+    "-Dsquish_aut:STRING=${testAUT}"
+    "-Dsquish_server_executable:STRING=${SQUISH_SERVER_EXECUTABLE}"
+    "-Dsquish_client_executable:STRING=${SQUISH_CLIENT_EXECUTABLE}"
+    "-Dsquish_libqtdir:STRING=${QT_LIBRARY_DIR}"
+    "-Dsquish_test_case:STRING=${testCase}"
+    "-Dsquish_env_vars:STRING=${envVars}"
+    "-Dsquish_wrapper:STRING=${testWraper}"
+    "-Dsquish_module_dir:STRING=${_SQUISH_MODULE_DIR}"
+    -P "${_SQUISH_MODULE_DIR}/SquishTestScript.cmake"
+    )
+  set_tests_properties(${testName}
+    PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;FATAL"
+    )
+endmacro()
+
+
+macro(SQUISH_ADD_TEST)
+  message(STATUS "Using squish_add_test() is deprecated, use squish_v3_add_test() instead.")
+  squish_v3_add_test(${ARGV})
+endmacro()
+
+
+function(SQUISH_V4_ADD_TEST testName)
+
+  if(NOT "${SQUISH_VERSION_MAJOR}" STREQUAL "4")
+    message(STATUS "Using squish_v4_add_test(), but SQUISH_VERSION_MAJOR is ${SQUISH_VERSION_MAJOR}.\nThis may not work.")
+  endif()
+
+  set(oneValueArgs AUT SUITE TEST SETTINGSGROUP PRE_COMMAND POST_COMMAND)
+
+  cmake_parse_arguments(_SQUISH "" "${oneValueArgs}" "" ${ARGN} )
+
+  if(_SQUISH_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to SQUISH_ADD_TEST(): \"${_SQUISH_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  if(NOT _SQUISH_AUT)
+    message(FATAL_ERROR "Required argument AUT not given for SQUISH_ADD_TEST()")
+  endif()
+
+  if(NOT _SQUISH_SUITE)
+    message(FATAL_ERROR "Required argument SUITE not given for SQUISH_ADD_TEST()")
+  endif()
+
+  if(NOT _SQUISH_TEST)
+    message(FATAL_ERROR "Required argument TEST not given for SQUISH_ADD_TEST()")
+  endif()
+
+  get_target_property(testAUTLocation ${_SQUISH_AUT} LOCATION)
+  get_filename_component(testAUTDir ${testAUTLocation} PATH)
+  get_filename_component(testAUTName ${testAUTLocation} NAME)
+
+  get_filename_component(absTestSuite "${_SQUISH_SUITE}" ABSOLUTE)
+  if(NOT EXISTS "${absTestSuite}")
+    message(FATAL_ERROR "Could not find squish test suite ${_SQUISH_SUITE} (checked ${absTestSuite})")
+  endif()
+
+  set(absTestCase "${absTestSuite}/${_SQUISH_TEST}")
+  if(NOT EXISTS "${absTestCase}")
+    message(FATAL_ERROR "Could not find squish testcase ${_SQUISH_TEST} (checked ${absTestCase})")
+  endif()
+
+  if(NOT _SQUISH_SETTINGSGROUP)
+    set(_SQUISH_SETTINGSGROUP "CTest_$ENV{LOGNAME}")
+  endif()
+
+  add_test(${testName}
+    ${CMAKE_COMMAND} -V -VV
+    "-Dsquish_version:STRING=4"
+    "-Dsquish_aut:STRING=${testAUTName}"
+    "-Dsquish_aut_dir:STRING=${testAUTDir}"
+    "-Dsquish_server_executable:STRING=${SQUISH_SERVER_EXECUTABLE}"
+    "-Dsquish_client_executable:STRING=${SQUISH_CLIENT_EXECUTABLE}"
+    "-Dsquish_libqtdir:STRING=${QT_LIBRARY_DIR}"
+    "-Dsquish_test_suite:STRING=${absTestSuite}"
+    "-Dsquish_test_case:STRING=${_SQUISH_TEST}"
+    "-Dsquish_env_vars:STRING=${envVars}"
+    "-Dsquish_wrapper:STRING=${testWraper}"
+    "-Dsquish_module_dir:STRING=${_SQUISH_MODULE_DIR}"
+    "-Dsquish_settingsgroup:STRING=${_SQUISH_SETTINGSGROUP}"
+    "-Dsquish_pre_command:STRING=${_SQUISH_PRE_COMMAND}"
+    "-Dsquish_post_command:STRING=${_SQUISH_POST_COMMAND}"
+    -P "${_SQUISH_MODULE_DIR}/SquishTestScript.cmake"
+    )
+  set_tests_properties(${testName}
+    PROPERTIES FAIL_REGULAR_EXPRESSION "FAIL;FAILED;ERROR;FATAL"
+    )
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindSubversion.cmake b/share/cmake-3.10/Modules/FindSubversion.cmake
new file mode 100644
index 0000000..537d3b2
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindSubversion.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.
+
+#.rst:
+# FindSubversion
+# --------------
+#
+# Extract information from a subversion working copy
+#
+# The module defines the following variables:
+#
+# ::
+#
+#   Subversion_SVN_EXECUTABLE - path to svn command line client
+#   Subversion_VERSION_SVN - version of svn command line client
+#   Subversion_FOUND - true if the command line client was found
+#   SUBVERSION_FOUND - same as Subversion_FOUND, set for compatibility reasons
+#
+#
+#
+# The minimum required version of Subversion can be specified using the
+# standard syntax, e.g.  find_package(Subversion 1.4)
+#
+# If the command line client executable is found two macros are defined:
+#
+# ::
+#
+#   Subversion_WC_INFO(<dir> <var-prefix>)
+#   Subversion_WC_LOG(<dir> <var-prefix>)
+#
+# Subversion_WC_INFO extracts information of a subversion working copy
+# at a given location.  This macro defines the following variables:
+#
+# ::
+#
+#   <var-prefix>_WC_URL - url of the repository (at <dir>)
+#   <var-prefix>_WC_ROOT - root url of the repository
+#   <var-prefix>_WC_REVISION - current revision
+#   <var-prefix>_WC_LAST_CHANGED_AUTHOR - author of last commit
+#   <var-prefix>_WC_LAST_CHANGED_DATE - date of last commit
+#   <var-prefix>_WC_LAST_CHANGED_REV - revision of last commit
+#   <var-prefix>_WC_INFO - output of command `svn info <dir>'
+#
+# Subversion_WC_LOG retrieves the log message of the base revision of a
+# subversion working copy at a given location.  This macro defines the
+# variable:
+#
+# ::
+#
+#   <var-prefix>_LAST_CHANGED_LOG - last log of base revision
+#
+# Example usage:
+#
+# ::
+#
+#   find_package(Subversion)
+#   if(SUBVERSION_FOUND)
+#     Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
+#     message("Current revision is ${Project_WC_REVISION}")
+#     Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
+#     message("Last changed log is ${Project_LAST_CHANGED_LOG}")
+#   endif()
+
+find_program(Subversion_SVN_EXECUTABLE svn
+  PATHS
+    [HKEY_LOCAL_MACHINE\\Software\\TortoiseSVN;Directory]/bin
+  DOC "subversion command line client")
+mark_as_advanced(Subversion_SVN_EXECUTABLE)
+
+if(Subversion_SVN_EXECUTABLE)
+  # the subversion commands should be executed with the C locale, otherwise
+  # the message (which are parsed) may be translated, Alex
+  set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
+  set(ENV{LC_ALL} C)
+
+  execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} --version
+    OUTPUT_VARIABLE Subversion_VERSION_SVN
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  # restore the previous LC_ALL
+  set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
+
+  string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*"
+    "\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}")
+
+  macro(Subversion_WC_INFO dir prefix)
+    # the subversion commands should be executed with the C locale, otherwise
+    # the message (which are parsed) may be translated, Alex
+    set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
+    set(ENV{LC_ALL} C)
+
+    execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} info ${dir}
+      OUTPUT_VARIABLE ${prefix}_WC_INFO
+      ERROR_VARIABLE Subversion_svn_info_error
+      RESULT_VARIABLE Subversion_svn_info_result
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+    if(NOT ${Subversion_svn_info_result} EQUAL 0)
+      message(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} info ${dir}\" failed with output:\n${Subversion_svn_info_error}")
+    else()
+
+      string(REGEX REPLACE "^(.*\n)?URL: ([^\n]+).*"
+        "\\2" ${prefix}_WC_URL "${${prefix}_WC_INFO}")
+      string(REGEX REPLACE "^(.*\n)?Repository Root: ([^\n]+).*"
+        "\\2" ${prefix}_WC_ROOT "${${prefix}_WC_INFO}")
+      string(REGEX REPLACE "^(.*\n)?Revision: ([^\n]+).*"
+        "\\2" ${prefix}_WC_REVISION "${${prefix}_WC_INFO}")
+      string(REGEX REPLACE "^(.*\n)?Last Changed Author: ([^\n]+).*"
+        "\\2" ${prefix}_WC_LAST_CHANGED_AUTHOR "${${prefix}_WC_INFO}")
+      string(REGEX REPLACE "^(.*\n)?Last Changed Rev: ([^\n]+).*"
+        "\\2" ${prefix}_WC_LAST_CHANGED_REV "${${prefix}_WC_INFO}")
+      string(REGEX REPLACE "^(.*\n)?Last Changed Date: ([^\n]+).*"
+        "\\2" ${prefix}_WC_LAST_CHANGED_DATE "${${prefix}_WC_INFO}")
+
+    endif()
+
+    # restore the previous LC_ALL
+    set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
+
+  endmacro()
+
+  macro(Subversion_WC_LOG dir prefix)
+    # This macro can block if the certificate is not signed:
+    # svn ask you to accept the certificate and wait for your answer
+    # This macro requires a svn server network access (Internet most of the time)
+    # and can also be slow since it access the svn server
+    execute_process(COMMAND
+      ${Subversion_SVN_EXECUTABLE} --non-interactive log -r BASE ${dir}
+      OUTPUT_VARIABLE ${prefix}_LAST_CHANGED_LOG
+      ERROR_VARIABLE Subversion_svn_log_error
+      RESULT_VARIABLE Subversion_svn_log_result
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+    if(NOT ${Subversion_svn_log_result} EQUAL 0)
+      message(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} log -r BASE ${dir}\" failed with output:\n${Subversion_svn_log_error}")
+    endif()
+  endmacro()
+
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Subversion REQUIRED_VARS Subversion_SVN_EXECUTABLE
+                                             VERSION_VAR Subversion_VERSION_SVN )
+
+# for compatibility
+set(Subversion_FOUND ${SUBVERSION_FOUND})
+set(Subversion_SVN_FOUND ${SUBVERSION_FOUND})
diff --git a/share/cmake-3.10/Modules/FindTCL.cmake b/share/cmake-3.10/Modules/FindTCL.cmake
new file mode 100644
index 0000000..b6e24a3
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindTCL.cmake
@@ -0,0 +1,223 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindTCL
+# -------
+#
+# TK_INTERNAL_PATH was removed.
+#
+# This module finds if Tcl is installed and determines where the include
+# files and libraries are.  It also determines what the name of the
+# library is.  This code sets the following variables:
+#
+# ::
+#
+#   TCL_FOUND              = Tcl was found
+#   TK_FOUND               = Tk was found
+#   TCLTK_FOUND            = Tcl and Tk were found
+#   TCL_LIBRARY            = path to Tcl library (tcl tcl80)
+#   TCL_INCLUDE_PATH       = path to where tcl.h can be found
+#   TCL_TCLSH              = path to tclsh binary (tcl tcl80)
+#   TK_LIBRARY             = path to Tk library (tk tk80 etc)
+#   TK_INCLUDE_PATH        = path to where tk.h can be found
+#   TK_WISH                = full path to the wish executable
+#
+#
+#
+# In an effort to remove some clutter and clear up some issues for
+# people who are not necessarily Tcl/Tk gurus/developpers, some
+# variables were moved or removed.  Changes compared to CMake 2.4 are:
+#
+# ::
+#
+#    => they were only useful for people writing Tcl/Tk extensions.
+#    => these libs are not packaged by default with Tcl/Tk distributions.
+#       Even when Tcl/Tk is built from source, several flavors of debug libs
+#       are created and there is no real reason to pick a single one
+#       specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
+#       Let's leave that choice to the user by allowing him to assign
+#       TCL_LIBRARY to any Tcl library, debug or not.
+#    => this ended up being only a Win32 variable, and there is a lot of
+#       confusion regarding the location of this file in an installed Tcl/Tk
+#       tree anyway (see 8.5 for example). If you need the internal path at
+#       this point it is safer you ask directly where the *source* tree is
+#       and dig from there.
+
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindFrameworks.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindTclsh.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindWish.cmake)
+
+if(TCLSH_VERSION_STRING)
+  set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
+else()
+  get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+  get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+  string(REGEX REPLACE
+    "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+endif()
+
+get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
+get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
+
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
+
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
+
+set(TCLTK_POSSIBLE_LIB_PATHS
+  "${TCL_INCLUDE_PATH_PARENT}/lib"
+  "${TK_INCLUDE_PATH_PARENT}/lib"
+  "${TCL_LIBRARY_PATH}"
+  "${TK_LIBRARY_PATH}"
+  "${TCL_TCLSH_PATH_PARENT}/lib"
+  "${TK_WISH_PATH_PARENT}/lib"
+  /usr/local/lib/tcl/tcl8.5
+  /usr/local/lib/tcl/tk8.5
+  /usr/local/lib/tcl/tcl8.4
+  /usr/local/lib/tcl/tk8.4
+  )
+
+if(WIN32)
+  get_filename_component(
+    ActiveTcl_CurrentVersion
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+    NAME)
+  set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
+    "$ENV{ProgramFiles}/Tcl/Lib"
+    "C:/Program Files/Tcl/lib"
+    "C:/Tcl/lib"
+    )
+endif()
+
+find_library(TCL_LIBRARY
+  NAMES
+  tcl
+  tcl${TCL_LIBRARY_VERSION} tcl${TCL_TCLSH_VERSION} tcl${TK_WISH_VERSION}
+  tcl86 tcl8.6
+  tcl85 tcl8.5
+  tcl84 tcl8.4
+  tcl83 tcl8.3
+  tcl82 tcl8.2
+  tcl80 tcl8.0
+  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  )
+
+find_library(TK_LIBRARY
+  NAMES
+  tk
+  tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
+  tk86 tk8.6
+  tk85 tk8.5
+  tk84 tk8.4
+  tk83 tk8.3
+  tk82 tk8.2
+  tk80 tk8.0
+  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  )
+
+CMAKE_FIND_FRAMEWORKS(Tcl)
+CMAKE_FIND_FRAMEWORKS(Tk)
+
+set(TCL_FRAMEWORK_INCLUDES)
+if(Tcl_FRAMEWORKS)
+  if(NOT TCL_INCLUDE_PATH)
+    foreach(dir ${Tcl_FRAMEWORKS})
+      set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
+    endforeach()
+  endif()
+endif()
+
+set(TK_FRAMEWORK_INCLUDES)
+if(Tk_FRAMEWORKS)
+  if(NOT TK_INCLUDE_PATH)
+    foreach(dir ${Tk_FRAMEWORKS})
+      set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+        ${dir}/Headers ${dir}/PrivateHeaders)
+    endforeach()
+  endif()
+endif()
+
+set(TCLTK_POSSIBLE_INCLUDE_PATHS
+  "${TCL_LIBRARY_PATH_PARENT}/include"
+  "${TK_LIBRARY_PATH_PARENT}/include"
+  "${TCL_INCLUDE_PATH}"
+  "${TK_INCLUDE_PATH}"
+  ${TCL_FRAMEWORK_INCLUDES}
+  ${TK_FRAMEWORK_INCLUDES}
+  "${TCL_TCLSH_PATH_PARENT}/include"
+  "${TK_WISH_PATH_PARENT}/include"
+  /usr/include/tcl${TK_LIBRARY_VERSION}
+  /usr/include/tcl${TCL_LIBRARY_VERSION}
+  /usr/include/tcl8.6
+  /usr/include/tcl8.5
+  /usr/include/tcl8.4
+  /usr/include/tcl8.3
+  /usr/include/tcl8.2
+  /usr/include/tcl8.0
+  /usr/local/include/tcl8.6
+  /usr/local/include/tk8.6
+  /usr/local/include/tcl8.5
+  /usr/local/include/tk8.5
+  /usr/local/include/tcl8.4
+  /usr/local/include/tk8.4
+  )
+
+if(WIN32)
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include"
+    "$ENV{ProgramFiles}/Tcl/include"
+    "C:/Program Files/Tcl/include"
+    "C:/Tcl/include"
+    )
+endif()
+
+find_path(TCL_INCLUDE_PATH
+  NAMES tcl.h
+  HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+  )
+
+find_path(TK_INCLUDE_PATH
+  NAMES tk.h
+  HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+  )
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH)
+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)
+
+mark_as_advanced(
+  TCL_INCLUDE_PATH
+  TK_INCLUDE_PATH
+  TCL_LIBRARY
+  TK_LIBRARY
+  )
diff --git a/share/cmake-3.10/Modules/FindTIFF.cmake b/share/cmake-3.10/Modules/FindTIFF.cmake
new file mode 100644
index 0000000..b622ca6
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindTIFF.cmake
@@ -0,0 +1,105 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindTIFF
+# --------
+#
+# Find the TIFF library (libtiff).
+#
+# Imported targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` targets:
+#
+# ``TIFF::TIFF``
+#   The TIFF library, if found.
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``TIFF_FOUND``
+#   true if the TIFF headers and libraries were found
+# ``TIFF_INCLUDE_DIR``
+#   the directory containing the TIFF headers
+# ``TIFF_INCLUDE_DIRS``
+#   the directory containing the TIFF headers
+# ``TIFF_LIBRARIES``
+#   TIFF libraries to be linked
+#
+# Cache variables
+# ^^^^^^^^^^^^^^^
+#
+# The following cache variables may also be set:
+#
+# ``TIFF_INCLUDE_DIR``
+#   the directory containing the TIFF headers
+# ``TIFF_LIBRARY``
+#   the path to the TIFF library
+
+find_path(TIFF_INCLUDE_DIR tiff.h)
+
+set(TIFF_NAMES ${TIFF_NAMES} tiff libtiff tiff3 libtiff3)
+foreach(name ${TIFF_NAMES})
+  list(APPEND TIFF_NAMES_DEBUG "${name}d")
+endforeach()
+
+if(NOT TIFF_LIBRARY)
+  find_library(TIFF_LIBRARY_RELEASE NAMES ${TIFF_NAMES})
+  find_library(TIFF_LIBRARY_DEBUG NAMES ${TIFF_NAMES_DEBUG})
+  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+  select_library_configurations(TIFF)
+  mark_as_advanced(TIFF_LIBRARY_RELEASE TIFF_LIBRARY_DEBUG)
+endif()
+unset(TIFF_NAMES)
+unset(TIFF_NAMES_DEBUG)
+
+if(TIFF_INCLUDE_DIR AND EXISTS "${TIFF_INCLUDE_DIR}/tiffvers.h")
+    file(STRINGS "${TIFF_INCLUDE_DIR}/tiffvers.h" tiff_version_str
+         REGEX "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version .*")
+
+    string(REGEX REPLACE "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version +([^ \\n]*).*"
+           "\\1" TIFF_VERSION_STRING "${tiff_version_str}")
+    unset(tiff_version_str)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF
+                                  REQUIRED_VARS TIFF_LIBRARY TIFF_INCLUDE_DIR
+                                  VERSION_VAR TIFF_VERSION_STRING)
+
+if(TIFF_FOUND)
+  set(TIFF_LIBRARIES ${TIFF_LIBRARY})
+  set(TIFF_INCLUDE_DIRS "${TIFF_INCLUDE_DIR}")
+
+  if(NOT TARGET TIFF::TIFF)
+    add_library(TIFF::TIFF UNKNOWN IMPORTED)
+    if(TIFF_INCLUDE_DIRS)
+      set_target_properties(TIFF::TIFF PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${TIFF_INCLUDE_DIRS}")
+    endif()
+    if(EXISTS "${TIFF_LIBRARY}")
+      set_target_properties(TIFF::TIFF PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+        IMPORTED_LOCATION "${TIFF_LIBRARY}")
+    endif()
+    if(EXISTS "${TIFF_LIBRARY_RELEASE}")
+      set_property(TARGET TIFF::TIFF APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(TIFF::TIFF PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
+        IMPORTED_LOCATION_RELEASE "${TIFF_LIBRARY_RELEASE}")
+    endif()
+    if(EXISTS "${TIFF_LIBRARY_DEBUG}")
+      set_property(TARGET TIFF::TIFF APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(TIFF::TIFF PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+        IMPORTED_LOCATION_DEBUG "${TIFF_LIBRARY_DEBUG}")
+    endif()
+  endif()
+endif()
+
+mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY)
diff --git a/share/cmake-3.10/Modules/FindTclStub.cmake b/share/cmake-3.10/Modules/FindTclStub.cmake
new file mode 100644
index 0000000..9711bd6
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindTclStub.cmake
@@ -0,0 +1,140 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindTclStub
+# -----------
+#
+# TCL_STUB_LIBRARY_DEBUG and TK_STUB_LIBRARY_DEBUG were removed.
+#
+# This module finds Tcl stub libraries.  It first finds Tcl include
+# files and libraries by calling FindTCL.cmake.  How to Use the Tcl
+# Stubs Library:
+#
+# ::
+#
+#    http://tcl.activestate.com/doc/howto/stubs.html
+#
+# Using Stub Libraries:
+#
+# ::
+#
+#    http://safari.oreilly.com/0130385603/ch48lev1sec3
+#
+# This code sets the following variables:
+#
+# ::
+#
+#   TCL_STUB_LIBRARY       = path to Tcl stub library
+#   TK_STUB_LIBRARY        = path to Tk stub library
+#   TTK_STUB_LIBRARY       = path to ttk stub library
+#
+#
+#
+# In an effort to remove some clutter and clear up some issues for
+# people who are not necessarily Tcl/Tk gurus/developpers, some
+# variables were moved or removed.  Changes compared to CMake 2.4 are:
+#
+# ::
+#
+#    => these libs are not packaged by default with Tcl/Tk distributions.
+#       Even when Tcl/Tk is built from source, several flavors of debug libs
+#       are created and there is no real reason to pick a single one
+#       specifically (say, amongst tclstub84g, tclstub84gs, or tclstub84sgx).
+#       Let's leave that choice to the user by allowing him to assign
+#       TCL_STUB_LIBRARY to any Tcl library, debug or not.
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindTCL.cmake)
+
+get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+
+get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
+get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
+
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
+
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
+
+set(TCLTK_POSSIBLE_LIB_PATHS
+  "${TCL_INCLUDE_PATH_PARENT}/lib"
+  "${TK_INCLUDE_PATH_PARENT}/lib"
+  "${TCL_LIBRARY_PATH}"
+  "${TK_LIBRARY_PATH}"
+  "${TCL_TCLSH_PATH_PARENT}/lib"
+  "${TK_WISH_PATH_PARENT}/lib"
+)
+
+if(WIN32)
+  get_filename_component(
+    ActiveTcl_CurrentVersion
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+    NAME)
+  set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
+    "$ENV{ProgramFiles}/Tcl/Lib"
+    "C:/Program Files/Tcl/lib"
+    "C:/Tcl/lib"
+    )
+endif()
+
+find_library(TCL_STUB_LIBRARY
+  NAMES
+  tclstub
+  tclstub${TK_LIBRARY_VERSION} tclstub${TCL_TCLSH_VERSION} tclstub${TK_WISH_VERSION}
+  tclstub86 tclstub8.6
+  tclstub85 tclstub8.5
+  tclstub84 tclstub8.4
+  tclstub83 tclstub8.3
+  tclstub82 tclstub8.2
+  tclstub80 tclstub8.0
+  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+)
+
+find_library(TK_STUB_LIBRARY
+  NAMES
+  tkstub
+  tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} tkstub${TK_WISH_VERSION}
+  tkstub86 tkstub8.6
+  tkstub85 tkstub8.5
+  tkstub84 tkstub8.4
+  tkstub83 tkstub8.3
+  tkstub82 tkstub8.2
+  tkstub80 tkstub8.0
+  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+)
+
+find_library(TTK_STUB_LIBRARY
+  NAMES
+  ttkstub
+  ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} ttkstub${TK_WISH_VERSION}
+  ttkstub88 ttkstub8.8
+  ttkstub87 ttkstub8.7
+  ttkstub86 ttkstub8.6
+  ttkstub85 ttkstub8.5
+  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+)
+
+mark_as_advanced(
+  TCL_STUB_LIBRARY
+  TK_STUB_LIBRARY
+  )
diff --git a/share/cmake-3.10/Modules/FindTclsh.cmake b/share/cmake-3.10/Modules/FindTclsh.cmake
new file mode 100644
index 0000000..9fcb41c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindTclsh.cmake
@@ -0,0 +1,97 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindTclsh
+# ---------
+#
+# Find tclsh
+#
+# This module finds if TCL is installed and determines where the include
+# files and libraries are.  It also determines what the name of the
+# library is.  This code sets the following variables:
+#
+# ::
+#
+#   TCLSH_FOUND = TRUE if tclsh has been found
+#   TCL_TCLSH = the path to the tclsh executable
+#
+# In cygwin, look for the cygwin version first.  Don't look for it later
+# to avoid finding the cygwin version on a Win32 build.
+
+if(CYGWIN)
+  find_program(TCL_TCLSH NAMES cygtclsh83 cygtclsh80)
+endif()
+
+get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
+get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
+
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
+
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
+
+set(TCLTK_POSSIBLE_BIN_PATHS
+  "${TCL_INCLUDE_PATH_PARENT}/bin"
+  "${TK_INCLUDE_PATH_PARENT}/bin"
+  "${TCL_LIBRARY_PATH_PARENT}/bin"
+  "${TK_LIBRARY_PATH_PARENT}/bin"
+  "${TK_WISH_PATH_PARENT}/bin"
+  )
+
+if(WIN32)
+  get_filename_component(
+    ActiveTcl_CurrentVersion
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+    NAME)
+  set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
+    )
+endif()
+
+set(TCL_TCLSH_NAMES
+  tclsh
+  tclsh${TCL_LIBRARY_VERSION} tclsh${TK_LIBRARY_VERSION} tclsh${TK_WISH_VERSION}
+  tclsh86 tclsh8.6
+  tclsh85 tclsh8.5
+  tclsh84 tclsh8.4
+  tclsh83 tclsh8.3
+  tclsh82 tclsh8.2
+  tclsh80 tclsh8.0
+  )
+
+find_program(TCL_TCLSH
+  NAMES ${TCL_TCLSH_NAMES}
+  HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
+  )
+
+if(TCL_TCLSH)
+   execute_process(COMMAND "${CMAKE_COMMAND}" -E echo puts "\$tcl_version"
+                   COMMAND "${TCL_TCLSH}"
+                   OUTPUT_VARIABLE TCLSH_VERSION_STRING
+                   ERROR_QUIET
+                   OUTPUT_STRIP_TRAILING_WHITESPACE)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Tclsh
+                                  REQUIRED_VARS TCL_TCLSH
+                                  VERSION_VAR TCLSH_VERSION_STRING)
+
+mark_as_advanced(TCL_TCLSH)
diff --git a/share/cmake-3.10/Modules/FindThreads.cmake b/share/cmake-3.10/Modules/FindThreads.cmake
new file mode 100644
index 0000000..a0148dd
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindThreads.cmake
@@ -0,0 +1,217 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindThreads
+# -----------
+#
+# This module determines the thread library of the system.
+#
+# The following variables are set
+#
+# ::
+#
+#   CMAKE_THREAD_LIBS_INIT     - the thread library
+#   CMAKE_USE_SPROC_INIT       - are we using sproc?
+#   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
+#
+# The following import target is created
+#
+# ::
+#
+#   Threads::Threads
+#
+# For systems with multiple thread libraries, caller can set
+#
+# ::
+#
+#   CMAKE_THREAD_PREFER_PTHREAD
+#
+# If the use of the -pthread compiler and linker flag is preferred then the
+# caller can set
+#
+# ::
+#
+#   THREADS_PREFER_PTHREAD_FLAG
+#
+# Please note that 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.
+
+include (CheckLibraryExists)
+include (CheckSymbolExists)
+set(Threads_FOUND FALSE)
+set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
+set(CMAKE_REQUIRED_QUIET ${Threads_FIND_QUIETLY})
+
+if(CMAKE_C_COMPILER_LOADED)
+  include (CheckIncludeFile)
+elseif(CMAKE_CXX_COMPILER_LOADED)
+  include (CheckIncludeFileCXX)
+else()
+  message(FATAL_ERROR "FindThreads only works if either C or CXX language is enabled")
+endif()
+
+# Do we have sproc?
+if(CMAKE_SYSTEM_NAME MATCHES IRIX AND NOT CMAKE_THREAD_PREFER_PTHREAD)
+  include (CheckIncludeFiles)
+  CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h"  CMAKE_HAVE_SPROC_H)
+endif()
+
+# Internal helper macro.
+# Do NOT even think about using it outside of this file!
+macro(_check_threads_lib LIBNAME FUNCNAME VARNAME)
+  if(NOT Threads_FOUND)
+     CHECK_LIBRARY_EXISTS(${LIBNAME} ${FUNCNAME} "" ${VARNAME})
+     if(${VARNAME})
+       set(CMAKE_THREAD_LIBS_INIT "-l${LIBNAME}")
+       set(CMAKE_HAVE_THREADS_LIBRARY 1)
+       set(Threads_FOUND TRUE)
+     endif()
+  endif ()
+endmacro()
+
+# Internal helper macro.
+# Do NOT even think about using it outside of this file!
+macro(_check_pthreads_flag)
+  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")
+      if(CMAKE_C_COMPILER_LOADED)
+        set(_threads_src ${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c)
+      elseif(CMAKE_CXX_COMPILER_LOADED)
+        set(_threads_src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindThreads/CheckForPthreads.cxx)
+        configure_file(${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c "${_threads_src}" COPYONLY)
+      endif()
+      try_compile(THREADS_HAVE_PTHREAD_ARG
+        ${CMAKE_BINARY_DIR}
+        ${_threads_src}
+        CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
+        OUTPUT_VARIABLE OUTPUT)
+      unset(_threads_src)
+
+      if(THREADS_HAVE_PTHREAD_ARG)
+        set(Threads_FOUND TRUE)
+        message(STATUS "Check if compiler accepts -pthread - yes")
+      else()
+        message(STATUS "Check if compiler accepts -pthread - 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")
+      endif()
+
+    endif()
+
+    if(THREADS_HAVE_PTHREAD_ARG)
+      set(Threads_FOUND TRUE)
+      set(CMAKE_THREAD_LIBS_INIT "-pthread")
+    endif()
+  endif()
+endmacro()
+
+if(CMAKE_HAVE_SPROC_H AND NOT CMAKE_THREAD_PREFER_PTHREAD)
+  # We have sproc
+  set(CMAKE_USE_SPROC_INIT 1)
+else()
+  # Do we have pthreads?
+  if(CMAKE_C_COMPILER_LOADED)
+    CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
+  else()
+    CHECK_INCLUDE_FILE_CXX("pthread.h" CMAKE_HAVE_PTHREAD_H)
+  endif()
+  if(CMAKE_HAVE_PTHREAD_H)
+
+    #
+    # We have pthread.h
+    # Let's check for the library now.
+    #
+    set(CMAKE_HAVE_THREADS_LIBRARY)
+    if(NOT THREADS_HAVE_PTHREAD_ARG)
+      # Check if pthread functions are in normal C library
+      CHECK_SYMBOL_EXISTS(pthread_create pthread.h CMAKE_HAVE_LIBC_CREATE)
+      if(CMAKE_HAVE_LIBC_CREATE)
+        set(CMAKE_THREAD_LIBS_INIT "")
+        set(CMAKE_HAVE_THREADS_LIBRARY 1)
+        set(Threads_FOUND TRUE)
+      else()
+
+        # Check for -pthread first if enabled. This is the recommended
+        # way, but not backwards compatible as one must also pass -pthread
+        # as compiler flag then.
+        if (THREADS_PREFER_PTHREAD_FLAG)
+           _check_pthreads_flag()
+        endif ()
+
+        _check_threads_lib(pthreads pthread_create CMAKE_HAVE_PTHREADS_CREATE)
+        _check_threads_lib(pthread  pthread_create CMAKE_HAVE_PTHREAD_CREATE)
+        if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
+            # On sun also check for -lthread
+            _check_threads_lib(thread thr_create CMAKE_HAVE_THR_CREATE)
+        endif()
+      endif()
+    endif()
+
+    _check_pthreads_flag()
+  endif()
+endif()
+
+if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE)
+  set(CMAKE_USE_PTHREADS_INIT 1)
+  set(Threads_FOUND TRUE)
+endif()
+
+if(CMAKE_SYSTEM_NAME MATCHES "Windows")
+  set(CMAKE_USE_WIN32_THREADS_INIT 1)
+  set(Threads_FOUND TRUE)
+endif()
+
+if(CMAKE_USE_PTHREADS_INIT)
+  if(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
+    # Use libcma if it exists and can be used.  It provides more
+    # symbols than the plain pthread library.  CMA threads
+    # have actually been deprecated:
+    #   http://docs.hp.com/en/B3920-90091/ch12s03.html#d0e11395
+    #   http://docs.hp.com/en/947/d8.html
+    # but we need to maintain compatibility here.
+    # The CMAKE_HP_PTHREADS setting actually indicates whether CMA threads
+    # are available.
+    CHECK_LIBRARY_EXISTS(cma pthread_attr_create "" CMAKE_HAVE_HP_CMA)
+    if(CMAKE_HAVE_HP_CMA)
+      set(CMAKE_THREAD_LIBS_INIT "-lcma")
+      set(CMAKE_HP_PTHREADS_INIT 1)
+      set(Threads_FOUND TRUE)
+    endif()
+    set(CMAKE_USE_PTHREADS_INIT 1)
+  endif()
+
+  if(CMAKE_SYSTEM MATCHES "OSF1-V")
+    set(CMAKE_USE_PTHREADS_INIT 0)
+    set(CMAKE_THREAD_LIBS_INIT )
+  endif()
+
+  if(CMAKE_SYSTEM MATCHES "CYGWIN_NT")
+    set(CMAKE_USE_PTHREADS_INIT 1)
+    set(Threads_FOUND TRUE)
+    set(CMAKE_THREAD_LIBS_INIT )
+    set(CMAKE_USE_WIN32_THREADS_INIT 0)
+  endif()
+endif()
+
+set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND)
+
+if(THREADS_FOUND AND NOT TARGET Threads::Threads)
+  add_library(Threads::Threads INTERFACE IMPORTED)
+
+  if(THREADS_HAVE_PTHREAD_ARG)
+    set_property(TARGET Threads::Threads PROPERTY INTERFACE_COMPILE_OPTIONS "-pthread")
+  endif()
+
+  if(CMAKE_THREAD_LIBS_INIT)
+    set_property(TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindUnixCommands.cmake b/share/cmake-3.10/Modules/FindUnixCommands.cmake
new file mode 100644
index 0000000..d2b6a4d
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindUnixCommands.cmake
@@ -0,0 +1,93 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindUnixCommands
+# ----------------
+#
+# Find Unix commands, including the ones from Cygwin
+#
+# This module looks for the Unix commands bash, cp, gzip, mv, rm, and tar
+# and stores the result in the variables BASH, CP, GZIP, MV, RM, and TAR.
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
+
+find_program(BASH
+  bash
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+mark_as_advanced(
+  BASH
+)
+
+find_program(CP
+  cp
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+mark_as_advanced(
+  CP
+)
+
+find_program(GZIP
+  gzip
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+mark_as_advanced(
+  GZIP
+)
+
+find_program(MV
+  mv
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+mark_as_advanced(
+  MV
+)
+
+find_program(RM
+  rm
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+mark_as_advanced(
+  RM
+)
+
+find_program(TAR
+  NAMES
+  tar
+  gtar
+  PATH
+  ${CYGWIN_INSTALL_PATH}/bin
+  /bin
+  /usr/bin
+  /usr/local/bin
+  /sbin
+)
+mark_as_advanced(
+  TAR
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(UnixCommands
+  REQUIRED_VARS BASH CP GZIP MV RM TAR
+)
diff --git a/share/cmake-3.10/Modules/FindVulkan.cmake b/share/cmake-3.10/Modules/FindVulkan.cmake
new file mode 100644
index 0000000..1f4c8ad
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindVulkan.cmake
@@ -0,0 +1,80 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindVulkan
+# ----------
+#
+# Try to find Vulkan
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` target ``Vulkan::Vulkan``, if
+# Vulkan has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables::
+#
+#   Vulkan_FOUND          - True if Vulkan was found
+#   Vulkan_INCLUDE_DIRS   - include directories for Vulkan
+#   Vulkan_LIBRARIES      - link against this library to use Vulkan
+#
+# The module will also define two cache variables::
+#
+#   Vulkan_INCLUDE_DIR    - the Vulkan include directory
+#   Vulkan_LIBRARY        - the path to the Vulkan library
+#
+
+if(WIN32)
+  find_path(Vulkan_INCLUDE_DIR
+    NAMES vulkan/vulkan.h
+    PATHS
+      "$ENV{VULKAN_SDK}/Include"
+    )
+
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    find_library(Vulkan_LIBRARY
+      NAMES vulkan-1
+      PATHS
+        "$ENV{VULKAN_SDK}/Lib"
+        "$ENV{VULKAN_SDK}/Bin"
+        )
+  elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    find_library(Vulkan_LIBRARY
+      NAMES vulkan-1
+      PATHS
+        "$ENV{VULKAN_SDK}/Lib32"
+        "$ENV{VULKAN_SDK}/Bin32"
+        NO_SYSTEM_ENVIRONMENT_PATH
+        )
+  endif()
+else()
+    find_path(Vulkan_INCLUDE_DIR
+      NAMES vulkan/vulkan.h
+      PATHS
+        "$ENV{VULKAN_SDK}/include")
+    find_library(Vulkan_LIBRARY
+      NAMES vulkan
+      PATHS
+        "$ENV{VULKAN_SDK}/lib")
+endif()
+
+set(Vulkan_LIBRARIES ${Vulkan_LIBRARY})
+set(Vulkan_INCLUDE_DIRS ${Vulkan_INCLUDE_DIR})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Vulkan
+  DEFAULT_MSG
+  Vulkan_LIBRARY Vulkan_INCLUDE_DIR)
+
+mark_as_advanced(Vulkan_INCLUDE_DIR Vulkan_LIBRARY)
+
+if(Vulkan_FOUND AND NOT TARGET Vulkan::Vulkan)
+  add_library(Vulkan::Vulkan UNKNOWN IMPORTED)
+  set_target_properties(Vulkan::Vulkan PROPERTIES
+    IMPORTED_LOCATION "${Vulkan_LIBRARIES}"
+    INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIRS}")
+endif()
diff --git a/share/cmake-3.10/Modules/FindWget.cmake b/share/cmake-3.10/Modules/FindWget.cmake
new file mode 100644
index 0000000..4fcb2fa
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindWget.cmake
@@ -0,0 +1,31 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindWget
+# --------
+#
+# Find wget
+#
+# This module looks for wget.  This module defines the following values:
+#
+# ::
+#
+#   WGET_EXECUTABLE: the full path to the wget tool.
+#   WGET_FOUND: True if wget has been found.
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
+
+find_program(WGET_EXECUTABLE
+  wget
+  ${CYGWIN_INSTALL_PATH}/bin
+)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Wget DEFAULT_MSG WGET_EXECUTABLE)
+
+mark_as_advanced( WGET_EXECUTABLE )
+
+# WGET option is deprecated.
+# use WGET_EXECUTABLE instead.
+set (WGET ${WGET_EXECUTABLE})
diff --git a/share/cmake-3.10/Modules/FindWish.cmake b/share/cmake-3.10/Modules/FindWish.cmake
new file mode 100644
index 0000000..b64b041
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindWish.cmake
@@ -0,0 +1,84 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindWish
+# --------
+#
+# Find wish installation
+#
+# This module finds if TCL is installed and determines where the include
+# files and libraries are.  It also determines what the name of the
+# library is.  This code sets the following variables:
+#
+# ::
+#
+#   TK_WISH = the path to the wish executable
+#
+#
+#
+# if UNIX is defined, then it will look for the cygwin version first
+
+if(UNIX)
+  find_program(TK_WISH cygwish80 )
+endif()
+
+get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
+
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
+  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
+
+set(TCLTK_POSSIBLE_BIN_PATHS
+  "${TCL_INCLUDE_PATH_PARENT}/bin"
+  "${TK_INCLUDE_PATH_PARENT}/bin"
+  "${TCL_LIBRARY_PATH_PARENT}/bin"
+  "${TK_LIBRARY_PATH_PARENT}/bin"
+  "${TCL_TCLSH_PATH_PARENT}/bin"
+  )
+
+if(WIN32)
+  get_filename_component(
+    ActiveTcl_CurrentVersion
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+    NAME)
+  set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
+    )
+endif()
+
+set(TK_WISH_NAMES
+  wish
+  wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
+  wish86 wish8.6
+  wish85 wish8.5
+  wish84 wish8.4
+  wish83 wish8.3
+  wish82 wish8.2
+  wish80 wish8.0
+  )
+
+find_program(TK_WISH
+  NAMES ${TK_WISH_NAMES}
+  HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
+  )
+
+mark_as_advanced(TK_WISH)
diff --git a/share/cmake-3.10/Modules/FindX11.cmake b/share/cmake-3.10/Modules/FindX11.cmake
new file mode 100644
index 0000000..f7dfc82
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindX11.cmake
@@ -0,0 +1,502 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindX11
+# -------
+#
+# Find X11 installation
+#
+# Try to find X11 on UNIX systems. The following values are defined
+#
+# ::
+#
+#   X11_FOUND        - True if X11 is available
+#   X11_INCLUDE_DIR  - include directories to use X11
+#   X11_LIBRARIES    - link against these to use X11
+#
+# and also the following more fine grained variables:
+#
+# ::
+#
+#   X11_ICE_INCLUDE_PATH,          X11_ICE_LIB,        X11_ICE_FOUND
+#   X11_SM_INCLUDE_PATH,           X11_SM_LIB,         X11_SM_FOUND
+#   X11_X11_INCLUDE_PATH,          X11_X11_LIB
+#   X11_Xaccessrules_INCLUDE_PATH,                     X11_Xaccess_FOUND
+#   X11_Xaccessstr_INCLUDE_PATH,                       X11_Xaccess_FOUND
+#   X11_Xau_INCLUDE_PATH,          X11_Xau_LIB,        X11_Xau_FOUND
+#   X11_Xcomposite_INCLUDE_PATH,   X11_Xcomposite_LIB, X11_Xcomposite_FOUND
+#   X11_Xcursor_INCLUDE_PATH,      X11_Xcursor_LIB,    X11_Xcursor_FOUND
+#   X11_Xdamage_INCLUDE_PATH,      X11_Xdamage_LIB,    X11_Xdamage_FOUND
+#   X11_Xdmcp_INCLUDE_PATH,        X11_Xdmcp_LIB,      X11_Xdmcp_FOUND
+#   X11_Xext_LIB,       X11_Xext_FOUND
+#   X11_dpms_INCLUDE_PATH,         (in X11_Xext_LIB),  X11_dpms_FOUND
+#   X11_XShm_INCLUDE_PATH,         (in X11_Xext_LIB),  X11_XShm_FOUND
+#   X11_Xshape_INCLUDE_PATH,       (in X11_Xext_LIB),  X11_Xshape_FOUND
+#   X11_xf86misc_INCLUDE_PATH,     X11_Xxf86misc_LIB,  X11_xf86misc_FOUND
+#   X11_xf86vmode_INCLUDE_PATH,    X11_Xxf86vm_LIB     X11_xf86vmode_FOUND
+#   X11_Xfixes_INCLUDE_PATH,       X11_Xfixes_LIB,     X11_Xfixes_FOUND
+#   X11_Xft_INCLUDE_PATH,          X11_Xft_LIB,        X11_Xft_FOUND
+#   X11_Xi_INCLUDE_PATH,           X11_Xi_LIB,         X11_Xi_FOUND
+#   X11_Xinerama_INCLUDE_PATH,     X11_Xinerama_LIB,   X11_Xinerama_FOUND
+#   X11_Xinput_INCLUDE_PATH,       X11_Xinput_LIB,     X11_Xinput_FOUND
+#   X11_Xkb_INCLUDE_PATH,                              X11_Xkb_FOUND
+#   X11_Xkblib_INCLUDE_PATH,                           X11_Xkb_FOUND
+#   X11_Xkbfile_INCLUDE_PATH,      X11_Xkbfile_LIB,    X11_Xkbfile_FOUND
+#   X11_Xmu_INCLUDE_PATH,          X11_Xmu_LIB,        X11_Xmu_FOUND
+#   X11_Xpm_INCLUDE_PATH,          X11_Xpm_LIB,        X11_Xpm_FOUND
+#   X11_XTest_INCLUDE_PATH,        X11_XTest_LIB,      X11_XTest_FOUND
+#   X11_Xrandr_INCLUDE_PATH,       X11_Xrandr_LIB,     X11_Xrandr_FOUND
+#   X11_Xrender_INCLUDE_PATH,      X11_Xrender_LIB,    X11_Xrender_FOUND
+#   X11_Xscreensaver_INCLUDE_PATH, X11_Xscreensaver_LIB, X11_Xscreensaver_FOUND
+#   X11_Xt_INCLUDE_PATH,           X11_Xt_LIB,         X11_Xt_FOUND
+#   X11_Xutil_INCLUDE_PATH,                            X11_Xutil_FOUND
+#   X11_Xv_INCLUDE_PATH,           X11_Xv_LIB,         X11_Xv_FOUND
+#   X11_XSync_INCLUDE_PATH,        (in X11_Xext_LIB),  X11_XSync_FOUND
+
+if (UNIX)
+  set(X11_FOUND 0)
+  # X11 is never a framework and some header files may be
+  # found in tcl on the mac
+  set(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
+  set(CMAKE_FIND_FRAMEWORK NEVER)
+  set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
+  set(CMAKE_REQUIRED_QUIET ${X11_FIND_QUIETLY})
+  set(X11_INC_SEARCH_PATH
+    /usr/pkg/xorg/include
+    /usr/X11R6/include
+    /usr/X11R7/include
+    /usr/include/X11
+    /usr/openwin/include
+    /usr/openwin/share/include
+    /opt/graphics/OpenGL/include
+    /opt/X11/include
+  )
+
+  set(X11_LIB_SEARCH_PATH
+    /usr/pkg/xorg/lib
+    /usr/X11R6/lib
+    /usr/X11R7/lib
+    /usr/openwin/lib
+    /opt/X11/lib
+  )
+
+  find_path(X11_X11_INCLUDE_PATH X11/X.h                             ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xlib_INCLUDE_PATH X11/Xlib.h                         ${X11_INC_SEARCH_PATH})
+
+  # Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
+  # variable (which doesn't need to match the include file name).
+
+  # Solaris lacks XKBrules.h, so we should skip kxkbd there.
+  find_path(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_SM_INCLUDE_PATH X11/SM/SM.h                          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h  ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h      ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xau_INCLUDE_PATH X11/Xauth.h                         ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h  ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h           ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h        ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h      ${X11_INC_SEARCH_PATH})
+  find_path(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h    ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h      ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h                ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h                     ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xkbfile_INCLUDE_PATH X11/extensions/XKBfile.h        ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xmu_INCLUDE_PATH X11/Xmu/Xmu.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xpm_INCLUDE_PATH X11/xpm.h                           ${X11_INC_SEARCH_PATH})
+  find_path(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h            ${X11_INC_SEARCH_PATH})
+  find_path(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h        ${X11_INC_SEARCH_PATH})
+  find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h           ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xutil_INCLUDE_PATH X11/Xutil.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xt_INCLUDE_PATH X11/Intrinsic.h                      ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h               ${X11_INC_SEARCH_PATH})
+  find_path(X11_XSync_INCLUDE_PATH X11/extensions/sync.h             ${X11_INC_SEARCH_PATH})
+
+
+  find_library(X11_X11_LIB X11               ${X11_LIB_SEARCH_PATH})
+
+  # Find additional X libraries. Keep list sorted by library name.
+  find_library(X11_ICE_LIB ICE               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_SM_LIB SM                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xau_LIB Xau               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xcursor_LIB Xcursor       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xdamage_LIB Xdamage       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xdmcp_LIB Xdmcp           ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xext_LIB Xext             ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xfixes_LIB Xfixes         ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xft_LIB Xft               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xi_LIB Xi                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xinerama_LIB Xinerama     ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xinput_LIB Xi             ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xkbfile_LIB xkbfile       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xmu_LIB Xmu               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xpm_LIB Xpm               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xrandr_LIB Xrandr         ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xrender_LIB Xrender       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_XRes_LIB XRes             ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xscreensaver_LIB Xss      ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xt_LIB Xt                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_XTest_LIB Xtst            ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xv_LIB Xv                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xxf86misc_LIB Xxf86misc   ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xxf86vm_LIB Xxf86vm       ${X11_LIB_SEARCH_PATH})
+
+  set(X11_LIBRARY_DIR "")
+  if(X11_X11_LIB)
+    get_filename_component(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
+  endif()
+
+  set(X11_INCLUDE_DIR) # start with empty list
+  if(X11_X11_INCLUDE_PATH)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_X11_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xlib_INCLUDE_PATH)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xlib_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xutil_INCLUDE_PATH)
+    set(X11_Xutil_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xutil_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xshape_INCLUDE_PATH)
+    set(X11_Xshape_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xshape_INCLUDE_PATH})
+  endif()
+
+  set(X11_LIBRARIES) # start with empty list
+  if(X11_X11_LIB)
+    set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_X11_LIB})
+  endif()
+
+  if(X11_Xext_LIB)
+    set(X11_Xext_FOUND TRUE)
+    set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xext_LIB})
+  endif()
+
+  if(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
+    set(X11_Xt_FOUND TRUE)
+  endif()
+
+  if(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
+    set(X11_Xft_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xft_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
+    set(X11_Xv_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xv_INCLUDE_PATH})
+  endif()
+
+  if (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
+    set(X11_Xau_FOUND TRUE)
+  endif ()
+
+  if (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
+      set(X11_Xdmcp_FOUND TRUE)
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdmcp_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
+      set(X11_Xaccess_FOUND TRUE)
+      set(X11_Xaccess_INCLUDE_PATH ${X11_Xaccessstr_INCLUDE_PATH})
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xaccess_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
+      set(X11_Xpm_FOUND TRUE)
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xpm_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
+     set(X11_Xcomposite_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcomposite_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
+     set(X11_Xdamage_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdamage_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XShm_INCLUDE_PATH)
+     set(X11_XShm_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XShm_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XTest_INCLUDE_PATH AND X11_XTest_LIB)
+      set(X11_XTest_FOUND TRUE)
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XTest_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
+     set(X11_Xi_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xi_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
+     set(X11_Xinerama_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinerama_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
+     set(X11_Xfixes_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xfixes_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
+     set(X11_Xrender_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrender_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
+     set(X11_XRes_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XRes_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
+     set(X11_Xrandr_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH})
+  endif ()
+
+  if (X11_xf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
+     set(X11_xf86misc_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86misc_INCLUDE_PATH})
+  endif ()
+
+  if (X11_xf86vmode_INCLUDE_PATH AND X11_Xxf86vm_LIB)
+     set(X11_xf86vmode_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86vmode_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
+     set(X11_Xcursor_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcursor_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xscreensaver_INCLUDE_PATH AND X11_Xscreensaver_LIB)
+     set(X11_Xscreensaver_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xscreensaver_INCLUDE_PATH})
+  endif ()
+
+  if (X11_dpms_INCLUDE_PATH)
+     set(X11_dpms_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_dpms_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
+     set(X11_Xkb_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkb_INCLUDE_PATH} )
+  endif ()
+
+  if (X11_Xkbfile_INCLUDE_PATH AND X11_Xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
+     set(X11_Xkbfile_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkbfile_INCLUDE_PATH} )
+  endif ()
+
+  if (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
+     set(X11_Xmu_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xmu_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xinput_INCLUDE_PATH AND X11_Xinput_LIB)
+     set(X11_Xinput_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinput_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XSync_INCLUDE_PATH)
+     set(X11_XSync_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XSync_INCLUDE_PATH})
+  endif ()
+
+  if(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
+     set(X11_ICE_FOUND TRUE)
+  endif()
+
+  if(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
+     set(X11_SM_FOUND TRUE)
+  endif()
+
+  # Most of the X11 headers will be in the same directories, avoid
+  # creating a huge list of duplicates.
+  if (X11_INCLUDE_DIR)
+     list(REMOVE_DUPLICATES X11_INCLUDE_DIR)
+  endif ()
+
+  # Deprecated variable for backwards compatibility with CMake 1.4
+  if (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
+    set(X11_FOUND 1)
+  endif ()
+
+  if(X11_FOUND)
+    include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
+    include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
+
+    # Translated from an autoconf-generated configure script.
+    # See libs.m4 in autoconf's m4 directory.
+    if($ENV{ISC} MATCHES "^yes$")
+      set(X11_X_EXTRA_LIBS -lnsl_s -linet)
+    else()
+      set(X11_X_EXTRA_LIBS "")
+
+      # See if XOpenDisplay in X11 works by itself.
+      CHECK_LIBRARY_EXISTS("${X11_LIBRARIES}" "XOpenDisplay" "${X11_LIBRARY_DIR}" X11_LIB_X11_SOLO)
+      if(NOT X11_LIB_X11_SOLO)
+        # Find library needed for dnet_ntoa.
+        CHECK_LIBRARY_EXISTS("dnet" "dnet_ntoa" "" X11_LIB_DNET_HAS_DNET_NTOA)
+        if (X11_LIB_DNET_HAS_DNET_NTOA)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet)
+        else ()
+          CHECK_LIBRARY_EXISTS("dnet_stub" "dnet_ntoa" "" X11_LIB_DNET_STUB_HAS_DNET_NTOA)
+          if (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
+            set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet_stub)
+          endif ()
+        endif ()
+      endif()
+
+      # Find library needed for gethostbyname.
+      CHECK_FUNCTION_EXISTS("gethostbyname" CMAKE_HAVE_GETHOSTBYNAME)
+      if(NOT CMAKE_HAVE_GETHOSTBYNAME)
+        CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
+        if (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lnsl)
+        else ()
+          CHECK_LIBRARY_EXISTS("bsd" "gethostbyname" "" CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
+          if (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
+            set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lbsd)
+          endif ()
+        endif ()
+      endif()
+
+      # Find library needed for connect.
+      CHECK_FUNCTION_EXISTS("connect" CMAKE_HAVE_CONNECT)
+      if(NOT CMAKE_HAVE_CONNECT)
+        CHECK_LIBRARY_EXISTS("socket" "connect" "" CMAKE_LIB_SOCKET_HAS_CONNECT)
+        if (CMAKE_LIB_SOCKET_HAS_CONNECT)
+          set (X11_X_EXTRA_LIBS -lsocket ${X11_X_EXTRA_LIBS})
+        endif ()
+      endif()
+
+      # Find library needed for remove.
+      CHECK_FUNCTION_EXISTS("remove" CMAKE_HAVE_REMOVE)
+      if(NOT CMAKE_HAVE_REMOVE)
+        CHECK_LIBRARY_EXISTS("posix" "remove" "" CMAKE_LIB_POSIX_HAS_REMOVE)
+        if (CMAKE_LIB_POSIX_HAS_REMOVE)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lposix)
+        endif ()
+      endif()
+
+      # Find library needed for shmat.
+      CHECK_FUNCTION_EXISTS("shmat" CMAKE_HAVE_SHMAT)
+      if(NOT CMAKE_HAVE_SHMAT)
+        CHECK_LIBRARY_EXISTS("ipc" "shmat" "" CMAKE_LIB_IPS_HAS_SHMAT)
+        if (CMAKE_LIB_IPS_HAS_SHMAT)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lipc)
+        endif ()
+      endif()
+    endif()
+
+    if (X11_ICE_FOUND)
+      CHECK_LIBRARY_EXISTS("ICE" "IceConnectionNumber" "${X11_LIBRARY_DIR}"
+                            CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
+      if(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
+        set (X11_X_PRE_LIBS ${X11_ICE_LIB})
+        if(X11_SM_LIB)
+          set (X11_X_PRE_LIBS ${X11_SM_LIB} ${X11_X_PRE_LIBS})
+        endif()
+      endif()
+    endif ()
+
+    # Build the final list of libraries.
+    set(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
+
+    include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
+    FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
+      "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
+  else ()
+    if (X11_FIND_REQUIRED)
+      message(FATAL_ERROR "Could not find X11")
+    endif ()
+  endif ()
+
+  mark_as_advanced(
+    X11_X11_INCLUDE_PATH
+    X11_X11_LIB
+    X11_Xext_LIB
+    X11_Xau_LIB
+    X11_Xau_INCLUDE_PATH
+    X11_Xlib_INCLUDE_PATH
+    X11_Xutil_INCLUDE_PATH
+    X11_Xcomposite_INCLUDE_PATH
+    X11_Xcomposite_LIB
+    X11_Xaccess_INCLUDE_PATH
+    X11_Xfixes_LIB
+    X11_Xfixes_INCLUDE_PATH
+    X11_Xrandr_LIB
+    X11_Xrandr_INCLUDE_PATH
+    X11_Xdamage_LIB
+    X11_Xdamage_INCLUDE_PATH
+    X11_Xrender_LIB
+    X11_Xrender_INCLUDE_PATH
+    X11_XRes_LIB
+    X11_XRes_INCLUDE_PATH
+    X11_Xxf86misc_LIB
+    X11_xf86misc_INCLUDE_PATH
+    X11_Xxf86vm_LIB
+    X11_xf86vmode_INCLUDE_PATH
+    X11_Xi_LIB
+    X11_Xi_INCLUDE_PATH
+    X11_Xinerama_LIB
+    X11_Xinerama_INCLUDE_PATH
+    X11_XTest_LIB
+    X11_XTest_INCLUDE_PATH
+    X11_Xcursor_LIB
+    X11_Xcursor_INCLUDE_PATH
+    X11_dpms_INCLUDE_PATH
+    X11_Xt_LIB
+    X11_Xt_INCLUDE_PATH
+    X11_Xdmcp_LIB
+    X11_LIBRARIES
+    X11_Xaccessrules_INCLUDE_PATH
+    X11_Xaccessstr_INCLUDE_PATH
+    X11_Xdmcp_INCLUDE_PATH
+    X11_Xkb_INCLUDE_PATH
+    X11_Xkblib_INCLUDE_PATH
+    X11_Xkbfile_INCLUDE_PATH
+    X11_Xkbfile_LIB
+    X11_Xmu_INCLUDE_PATH
+    X11_Xmu_LIB
+    X11_Xscreensaver_INCLUDE_PATH
+    X11_Xscreensaver_LIB
+    X11_Xpm_INCLUDE_PATH
+    X11_Xpm_LIB
+    X11_Xinput_LIB
+    X11_Xinput_INCLUDE_PATH
+    X11_Xft_LIB
+    X11_Xft_INCLUDE_PATH
+    X11_Xshape_INCLUDE_PATH
+    X11_Xv_LIB
+    X11_Xv_INCLUDE_PATH
+    X11_XShm_INCLUDE_PATH
+    X11_ICE_LIB
+    X11_ICE_INCLUDE_PATH
+    X11_SM_LIB
+    X11_SM_INCLUDE_PATH
+    X11_XSync_INCLUDE_PATH
+  )
+  set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
+  set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
+endif ()
+
+# X11_FIND_REQUIRED_<component> could be checked too
diff --git a/share/cmake-3.10/Modules/FindXCTest.cmake b/share/cmake-3.10/Modules/FindXCTest.cmake
new file mode 100644
index 0000000..8497336
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindXCTest.cmake
@@ -0,0 +1,194 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindXCTest
+----------
+
+Functions to help creating and executing XCTest bundles.
+
+An XCTest bundle is a CFBundle with a special product-type
+and bundle extension. The Mac Developer Library provides more
+information in the `Testing with Xcode`_ document.
+
+.. _Testing with Xcode: http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/
+
+Module Functions
+^^^^^^^^^^^^^^^^
+
+.. command:: xctest_add_bundle
+
+  The ``xctest_add_bundle`` function creates a XCTest bundle named
+  <target> which will test the target <testee>. Supported target types
+  for testee are Frameworks and App Bundles::
+
+    xctest_add_bundle(
+      <target>  # Name of the XCTest bundle
+      <testee>  # Target name of the testee
+      )
+
+.. command:: xctest_add_test
+
+  The ``xctest_add_test`` function adds an XCTest bundle to the
+  project to be run by :manual:`ctest(1)`. The test will be named
+  <name> and tests <bundle>::
+
+    xctest_add_test(
+      <name>    # Test name
+      <bundle>  # Target name of XCTest bundle
+      )
+
+Module Variables
+^^^^^^^^^^^^^^^^
+
+The following variables are set by including this module:
+
+.. variable:: XCTest_FOUND
+
+  True if the XCTest Framework and executable were found.
+
+.. variable:: XCTest_EXECUTABLE
+
+  The path to the xctest command line tool used to execute XCTest bundles.
+
+.. variable:: XCTest_INCLUDE_DIRS
+
+  The directory containing the XCTest Framework headers.
+
+.. variable:: XCTest_LIBRARIES
+
+  The location of the XCTest Framework.
+
+#]=======================================================================]
+
+find_path(XCTest_INCLUDE_DIR
+  NAMES "XCTest/XCTest.h"
+  DOC "XCTest include directory")
+mark_as_advanced(XCTest_INCLUDE_DIR)
+
+find_library(XCTest_LIBRARY
+  NAMES XCTest
+  DOC "XCTest Framework library")
+mark_as_advanced(XCTest_LIBRARY)
+
+execute_process(
+  COMMAND xcrun --find xctest
+  OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
+  ERROR_VARIABLE _xcrun_err)
+if(_xcrun_out)
+  set(XCTest_EXECUTABLE "${_xcrun_out}" CACHE FILEPATH "XCTest executable")
+  mark_as_advanced(XCTest_EXECUTABLE)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(XCTest
+  FOUND_VAR XCTest_FOUND
+  REQUIRED_VARS XCTest_LIBRARY XCTest_INCLUDE_DIR XCTest_EXECUTABLE)
+
+if(XCTest_FOUND)
+  set(XCTest_INCLUDE_DIRS "${XCTest_INCLUDE_DIR}")
+  set(XCTest_LIBRARIES "${XCTest_LIBRARY}")
+endif(XCTest_FOUND)
+
+
+function(xctest_add_bundle target testee)
+  if(NOT XCTest_FOUND)
+    message(FATAL_ERROR "XCTest is required to create a XCTest Bundle.")
+  endif(NOT XCTest_FOUND)
+
+  if(NOT CMAKE_OSX_SYSROOT)
+    message(FATAL_ERROR "Adding XCTest bundles requires CMAKE_OSX_SYSROOT to be set.")
+  endif()
+
+  add_library(${target} MODULE ${ARGN})
+
+  set_target_properties(${target} PROPERTIES
+    BUNDLE TRUE
+    XCTEST TRUE
+    XCTEST_TESTEE ${testee})
+
+  target_link_libraries(${target} PRIVATE "-framework Foundation")
+  target_link_libraries(${target} PRIVATE ${XCTest_LIBRARIES})
+  target_include_directories(${target} PRIVATE ${XCTest_INCLUDE_DIRS})
+
+  # retrieve testee target type
+  if(NOT TARGET ${testee})
+    message(FATAL_ERROR "${testee} is not a target.")
+  endif()
+  get_property(_testee_type TARGET ${testee} PROPERTY TYPE)
+  get_property(_testee_framework TARGET ${testee} PROPERTY FRAMEWORK)
+  get_property(_testee_macosx_bundle TARGET ${testee} PROPERTY MACOSX_BUNDLE)
+
+  if(_testee_type STREQUAL "SHARED_LIBRARY" AND _testee_framework)
+    # testee is a Framework
+    target_link_libraries(${target} PRIVATE ${testee})
+
+  elseif(_testee_type STREQUAL "STATIC_LIBRARY")
+    # testee is a static library
+    target_link_libraries(${target} PRIVATE ${testee})
+
+  elseif(_testee_type STREQUAL "EXECUTABLE" AND _testee_macosx_bundle)
+    # testee is an App Bundle
+    add_dependencies(${target} ${testee})
+    if(XCODE)
+      set_target_properties(${target} PROPERTIES
+        XCODE_ATTRIBUTE_BUNDLE_LOADER "$(TEST_HOST)"
+        XCODE_ATTRIBUTE_TEST_HOST "$<TARGET_FILE:${testee}>")
+      if(NOT XCODE_VERSION VERSION_LESS 7.3)
+        set_target_properties(${target} PROPERTIES
+          LIBRARY_OUTPUT_DIRECTORY "$<TARGET_BUNDLE_CONTENT_DIR:${testee}>/PlugIns")
+      endif()
+    else(XCODE)
+      target_link_libraries(${target}
+        PRIVATE -bundle_loader $<TARGET_FILE:${testee}>)
+    endif(XCODE)
+
+  else()
+    message(FATAL_ERROR "Testee ${testee} is of unsupported type.")
+  endif()
+endfunction(xctest_add_bundle)
+
+
+function(xctest_add_test name bundle)
+  if(NOT XCTest_EXECUTABLE)
+    message(FATAL_ERROR "XCTest executable is required to register a test.")
+  endif()
+
+  # check that bundle is a XCTest Bundle
+
+  if(NOT TARGET ${bundle})
+    message(FATAL_ERROR "${bundle} is not a target.")
+  endif(NOT TARGET ${bundle})
+
+  get_property(_test_type TARGET ${bundle} PROPERTY TYPE)
+  get_property(_test_bundle TARGET ${bundle} PROPERTY BUNDLE)
+  get_property(_test_xctest TARGET ${bundle} PROPERTY XCTEST)
+
+  if(NOT _test_type STREQUAL "MODULE_LIBRARY"
+       OR NOT _test_xctest OR NOT _test_bundle)
+    message(FATAL_ERROR "Test ${bundle} is not an XCTest Bundle")
+  endif()
+
+  # get and check testee properties
+
+  get_property(_testee TARGET ${bundle} PROPERTY XCTEST_TESTEE)
+  if(NOT TARGET ${_testee})
+    message(FATAL_ERROR "${_testee} is not a target.")
+  endif()
+
+  get_property(_testee_type TARGET ${_testee} PROPERTY TYPE)
+  get_property(_testee_framework TARGET ${_testee} PROPERTY FRAMEWORK)
+
+  # register test
+
+  add_test(
+    NAME ${name}
+    COMMAND ${XCTest_EXECUTABLE} $<TARGET_BUNDLE_DIR:${bundle}>)
+
+  # point loader to testee in case rpath is disabled
+
+  if(_testee_type STREQUAL "SHARED_LIBRARY" AND _testee_framework)
+    set_property(TEST ${name} APPEND PROPERTY
+      ENVIRONMENT DYLD_FRAMEWORK_PATH=$<TARGET_LINKER_FILE_DIR:${_testee}>/..)
+  endif()
+endfunction(xctest_add_test)
diff --git a/share/cmake-3.10/Modules/FindXMLRPC.cmake b/share/cmake-3.10/Modules/FindXMLRPC.cmake
new file mode 100644
index 0000000..e7ae919
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindXMLRPC.cmake
@@ -0,0 +1,128 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindXMLRPC
+# ----------
+#
+# Find xmlrpc
+#
+# Find the native XMLRPC headers and libraries.
+#
+# ::
+#
+#   XMLRPC_INCLUDE_DIRS      - where to find xmlrpc.h, etc.
+#   XMLRPC_LIBRARIES         - List of libraries when using xmlrpc.
+#   XMLRPC_FOUND             - True if xmlrpc found.
+#
+# XMLRPC modules may be specified as components for this find module.
+# Modules may be listed by running "xmlrpc-c-config".  Modules include:
+#
+# ::
+#
+#   c++            C++ wrapper code
+#   libwww-client  libwww-based client
+#   cgi-server     CGI-based server
+#   abyss-server   ABYSS-based server
+#
+# Typical usage:
+#
+# ::
+#
+#   find_package(XMLRPC REQUIRED libwww-client)
+
+# First find the config script from which to obtain other values.
+find_program(XMLRPC_C_CONFIG NAMES xmlrpc-c-config)
+
+# Check whether we found anything.
+if(XMLRPC_C_CONFIG)
+  set(XMLRPC_C_FOUND 1)
+else()
+  set(XMLRPC_C_FOUND 0)
+endif()
+
+# Lookup the include directories needed for the components requested.
+if(XMLRPC_C_FOUND)
+  execute_process(
+    COMMAND ${XMLRPC_C_CONFIG} ${XMLRPC_FIND_COMPONENTS} --cflags
+    OUTPUT_VARIABLE XMLRPC_C_CONFIG_CFLAGS
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    RESULT_VARIABLE XMLRPC_C_CONFIG_RESULT
+    )
+
+  # Parse the include flags.
+  if("${XMLRPC_C_CONFIG_RESULT}" STREQUAL "0")
+    # Convert the compile flags to a CMake list.
+    string(REGEX REPLACE " +" ";"
+      XMLRPC_C_CONFIG_CFLAGS "${XMLRPC_C_CONFIG_CFLAGS}")
+
+    # Look for -I options.
+    # FIXME: Use these as hints to a find_path call to find the headers.
+    set(XMLRPC_INCLUDE_DIRS)
+    foreach(flag ${XMLRPC_C_CONFIG_CFLAGS})
+      if("${flag}" MATCHES "^-I(.+)")
+        file(TO_CMAKE_PATH "${CMAKE_MATCH_1}" DIR)
+        list(APPEND XMLRPC_INCLUDE_DIRS "${DIR}")
+      endif()
+    endforeach()
+  else()
+    message("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
+    set(XMLRPC_C_FOUND 0)
+  endif()
+endif()
+
+# Lookup the libraries needed for the components requested.
+if(XMLRPC_C_FOUND)
+  execute_process(
+    COMMAND ${XMLRPC_C_CONFIG} ${XMLRPC_FIND_COMPONENTS} --libs
+    OUTPUT_VARIABLE XMLRPC_C_CONFIG_LIBS
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    RESULT_VARIABLE XMLRPC_C_CONFIG_RESULT
+    )
+
+  # Parse the library names and directories.
+  if("${XMLRPC_C_CONFIG_RESULT}" STREQUAL "0")
+    string(REGEX REPLACE " +" ";"
+      XMLRPC_C_CONFIG_LIBS "${XMLRPC_C_CONFIG_LIBS}")
+
+    # Look for -L flags for directories and -l flags for library names.
+    set(XMLRPC_LIBRARY_DIRS)
+    set(XMLRPC_LIBRARY_NAMES)
+    foreach(flag ${XMLRPC_C_CONFIG_LIBS})
+      if("${flag}" MATCHES "^-L(.+)")
+        file(TO_CMAKE_PATH "${CMAKE_MATCH_1}" DIR)
+        list(APPEND XMLRPC_LIBRARY_DIRS "${DIR}")
+      elseif("${flag}" MATCHES "^-l(.+)")
+        list(APPEND XMLRPC_LIBRARY_NAMES "${CMAKE_MATCH_1}")
+      endif()
+    endforeach()
+
+    # Search for each library needed using the directories given.
+    foreach(name ${XMLRPC_LIBRARY_NAMES})
+      # Look for this library.
+      find_library(XMLRPC_${name}_LIBRARY
+        NAMES ${name}
+        HINTS ${XMLRPC_LIBRARY_DIRS}
+        )
+      mark_as_advanced(XMLRPC_${name}_LIBRARY)
+
+      # If any library is not found then the whole package is not found.
+      if(NOT XMLRPC_${name}_LIBRARY)
+        set(XMLRPC_C_FOUND 0)
+      endif()
+
+      # Build an ordered list of all the libraries needed.
+      set(XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES} "${XMLRPC_${name}_LIBRARY}")
+    endforeach()
+  else()
+    message("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
+    set(XMLRPC_C_FOUND 0)
+  endif()
+endif()
+
+# Report the results.
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+    XMLRPC
+    REQUIRED_VARS XMLRPC_C_FOUND XMLRPC_LIBRARIES
+    FAIL_MESSAGE "XMLRPC was not found. Make sure the entries XMLRPC_* are set.")
diff --git a/share/cmake-3.10/Modules/FindXalanC.cmake b/share/cmake-3.10/Modules/FindXalanC.cmake
new file mode 100644
index 0000000..1951b49
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindXalanC.cmake
@@ -0,0 +1,152 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindXalanC
+# -----------
+#
+# Find the Apache Xalan-C++ XSL transform processor headers and libraries.
+#
+# Imported targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` targets:
+#
+# ``XalanC::XalanC``
+#   The Xalan-C++ ``xalan-c`` library, if found.
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``XalanC_FOUND``
+#   true if the Xalan headers and libraries were found
+# ``XalanC_VERSION``
+#   Xalan release version
+# ``XalanC_INCLUDE_DIRS``
+#   the directory containing the Xalan headers; note
+#   ``XercesC_INCLUDE_DIRS`` is also required
+# ``XalanC_LIBRARIES``
+#   Xalan libraries to be linked; note ``XercesC_LIBRARIES`` is also
+#   required
+#
+# Cache variables
+# ^^^^^^^^^^^^^^^
+#
+# The following cache variables may also be set:
+#
+# ``XalanC_INCLUDE_DIR``
+#   the directory containing the Xalan headers
+# ``XalanC_LIBRARY``
+#   the Xalan library
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+function(_XalanC_GET_VERSION  version_hdr)
+    file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XALAN_VERSION_.*")
+    if(_contents)
+        string(REGEX REPLACE "[^*]*#define XALAN_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XalanC_MAJOR "${_contents}")
+        string(REGEX REPLACE "[^*]*#define XALAN_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XalanC_MINOR "${_contents}")
+        string(REGEX REPLACE "[^*]*#define XALAN_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XalanC_PATCH "${_contents}")
+
+        if(NOT XalanC_MAJOR MATCHES "^[0-9]+$")
+            message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_MAJOR!")
+        endif()
+        if(NOT XalanC_MINOR MATCHES "^[0-9]+$")
+            message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_MINOR!")
+        endif()
+        if(NOT XalanC_PATCH MATCHES "^[0-9]+$")
+            message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_REVISION!")
+        endif()
+
+        set(XalanC_VERSION "${XalanC_MAJOR}.${XalanC_MINOR}.${XalanC_PATCH}" PARENT_SCOPE)
+        set(XalanC_VERSION_MAJOR "${XalanC_MAJOR}" PARENT_SCOPE)
+        set(XalanC_VERSION_MINOR "${XalanC_MINOR}" PARENT_SCOPE)
+        set(XalanC_VERSION_PATCH "${XalanC_PATCH}" PARENT_SCOPE)
+    else()
+        message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information")
+    endif()
+endfunction()
+
+# Find include directory
+find_path(XalanC_INCLUDE_DIR
+          NAMES "xalanc/XalanTransformer/XalanTransformer.hpp"
+          DOC "Xalan-C++ include directory")
+mark_as_advanced(XalanC_INCLUDE_DIR)
+
+if(XalanC_INCLUDE_DIR)
+  _XalanC_GET_VERSION("${XalanC_INCLUDE_DIR}/xalanc/Include/XalanVersion.hpp")
+endif()
+
+if(NOT XalanC_LIBRARY)
+  # Find all XalanC libraries
+  find_library(XalanC_LIBRARY_RELEASE
+               NAMES "Xalan-C" "xalan-c"
+                     "Xalan-C_${XalanC_VERSION_MAJOR}"
+                     "Xalan-C_${XalanC_VERSION_MAJOR}_${XalanC_VERSION_MINOR}"
+               DOC "Xalan-C++ libraries (release)")
+  find_library(XalanC_LIBRARY_DEBUG
+               NAMES "Xalan-CD" "xalan-cd"
+                     "Xalan-C_${XalanC_VERSION_MAJOR}D"
+                     "Xalan-C_${XalanC_VERSION_MAJOR}_${XalanC_VERSION_MINOR}D"
+               DOC "Xalan-C++ libraries (debug)")
+  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+  select_library_configurations(XalanC)
+  mark_as_advanced(XalanC_LIBRARY_RELEASE XalanC_LIBRARY_DEBUG)
+endif()
+
+unset(XalanC_VERSION_MAJOR)
+unset(XalanC_VERSION_MINOR)
+unset(XalanC_VERSION_PATCH)
+
+unset(XalanC_XERCESC_REQUIRED)
+if(XalanC_FIND_REQUIRED)
+  set(XalanC_XERCESC_REQUIRED REQUIRED)
+endif()
+find_package(XercesC ${XalanC_XERCESC_REQUIRED})
+unset(XalanC_XERCESC_REQUIRED)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XalanC
+                                  FOUND_VAR XalanC_FOUND
+                                  REQUIRED_VARS XalanC_LIBRARY
+                                                XalanC_INCLUDE_DIR
+                                                XalanC_VERSION
+                                                XercesC_FOUND
+                                  VERSION_VAR XalanC_VERSION
+                                  FAIL_MESSAGE "Failed to find XalanC")
+
+if(XalanC_FOUND)
+  set(XalanC_INCLUDE_DIRS "${XalanC_INCLUDE_DIR}" ${XercesC_INCLUDE_DIRS})
+  set(XalanC_LIBRARIES "${XalanC_LIBRARY}" ${XercesC_LIBRARIES})
+
+  # For header-only libraries
+  if(NOT TARGET XalanC::XalanC)
+    add_library(XalanC::XalanC UNKNOWN IMPORTED)
+    if(XalanC_INCLUDE_DIRS)
+      set_target_properties(XalanC::XalanC PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${XalanC_INCLUDE_DIRS}")
+    endif()
+    if(EXISTS "${XalanC_LIBRARY}")
+      set_target_properties(XalanC::XalanC PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+        IMPORTED_LOCATION "${XalanC_LIBRARY}")
+    endif()
+    if(EXISTS "${XalanC_LIBRARY_RELEASE}")
+      set_property(TARGET XalanC::XalanC APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(XalanC::XalanC PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+        IMPORTED_LOCATION_RELEASE "${XalanC_LIBRARY_RELEASE}")
+    endif()
+    if(EXISTS "${XalanC_LIBRARY_DEBUG}")
+      set_property(TARGET XalanC::XalanC APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(XalanC::XalanC PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+        IMPORTED_LOCATION_DEBUG "${XalanC_LIBRARY_DEBUG}")
+    endif()
+    set_target_properties(XalanC::XalanC PROPERTIES INTERFACE_LINK_LIBRARIES XercesC::XercesC)
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindXercesC.cmake b/share/cmake-3.10/Modules/FindXercesC.cmake
new file mode 100644
index 0000000..51e68d5
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindXercesC.cmake
@@ -0,0 +1,130 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindXercesC
+# -----------
+#
+# Find the Apache Xerces-C++ validating XML parser headers and libraries.
+#
+# Imported targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following :prop_tgt:`IMPORTED` targets:
+#
+# ``XercesC::XercesC``
+#   The Xerces-C++ ``xerces-c`` library, if found.
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project:
+#
+# ``XercesC_FOUND``
+#   true if the Xerces headers and libraries were found
+# ``XercesC_VERSION``
+#   Xerces release version
+# ``XercesC_INCLUDE_DIRS``
+#   the directory containing the Xerces headers
+# ``XercesC_LIBRARIES``
+#   Xerces libraries to be linked
+#
+# Cache variables
+# ^^^^^^^^^^^^^^^
+#
+# The following cache variables may also be set:
+#
+# ``XercesC_INCLUDE_DIR``
+#   the directory containing the Xerces headers
+# ``XercesC_LIBRARY``
+#   the Xerces library
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+function(_XercesC_GET_VERSION  version_hdr)
+    file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XERCES_VERSION_.*")
+    if(_contents)
+        string(REGEX REPLACE ".*#define XERCES_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XercesC_MAJOR "${_contents}")
+        string(REGEX REPLACE ".*#define XERCES_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XercesC_MINOR "${_contents}")
+        string(REGEX REPLACE ".*#define XERCES_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XercesC_PATCH "${_contents}")
+
+        if(NOT XercesC_MAJOR MATCHES "^[0-9]+$")
+            message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MAJOR!")
+        endif()
+        if(NOT XercesC_MINOR MATCHES "^[0-9]+$")
+            message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MINOR!")
+        endif()
+        if(NOT XercesC_PATCH MATCHES "^[0-9]+$")
+            message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_REVISION!")
+        endif()
+
+        set(XercesC_VERSION "${XercesC_MAJOR}.${XercesC_MINOR}.${XercesC_PATCH}" PARENT_SCOPE)
+    else()
+        message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information")
+    endif()
+endfunction()
+
+# Find include directory
+find_path(XercesC_INCLUDE_DIR
+          NAMES "xercesc/util/PlatformUtils.hpp"
+          DOC "Xerces-C++ include directory")
+mark_as_advanced(XercesC_INCLUDE_DIR)
+
+if(NOT XercesC_LIBRARY)
+  # Find all XercesC libraries
+  find_library(XercesC_LIBRARY_RELEASE
+               NAMES "xerces-c" "xerces-c_3"
+               DOC "Xerces-C++ libraries (release)")
+  find_library(XercesC_LIBRARY_DEBUG
+               NAMES "xerces-cd" "xerces-c_3D" "xerces-c_3_1D"
+               DOC "Xerces-C++ libraries (debug)")
+  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+  select_library_configurations(XercesC)
+  mark_as_advanced(XercesC_LIBRARY_RELEASE XercesC_LIBRARY_DEBUG)
+endif()
+
+if(XercesC_INCLUDE_DIR)
+  _XercesC_GET_VERSION("${XercesC_INCLUDE_DIR}/xercesc/util/XercesVersion.hpp")
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XercesC
+                                  FOUND_VAR XercesC_FOUND
+                                  REQUIRED_VARS XercesC_LIBRARY
+                                                XercesC_INCLUDE_DIR
+                                                XercesC_VERSION
+                                  VERSION_VAR XercesC_VERSION
+                                  FAIL_MESSAGE "Failed to find XercesC")
+
+if(XercesC_FOUND)
+  set(XercesC_INCLUDE_DIRS "${XercesC_INCLUDE_DIR}")
+  set(XercesC_LIBRARIES "${XercesC_LIBRARY}")
+
+  # For header-only libraries
+  if(NOT TARGET XercesC::XercesC)
+    add_library(XercesC::XercesC UNKNOWN IMPORTED)
+    if(XercesC_INCLUDE_DIRS)
+      set_target_properties(XercesC::XercesC PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${XercesC_INCLUDE_DIRS}")
+    endif()
+    if(EXISTS "${XercesC_LIBRARY}")
+      set_target_properties(XercesC::XercesC PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+        IMPORTED_LOCATION "${XercesC_LIBRARY}")
+    endif()
+    if(EXISTS "${XercesC_LIBRARY_RELEASE}")
+      set_property(TARGET XercesC::XercesC APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(XercesC::XercesC PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+        IMPORTED_LOCATION_RELEASE "${XercesC_LIBRARY_RELEASE}")
+    endif()
+    if(EXISTS "${XercesC_LIBRARY_DEBUG}")
+      set_property(TARGET XercesC::XercesC APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(XercesC::XercesC PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+        IMPORTED_LOCATION_DEBUG "${XercesC_LIBRARY_DEBUG}")
+    endif()
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FindZLIB.cmake b/share/cmake-3.10/Modules/FindZLIB.cmake
new file mode 100644
index 0000000..4065999
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindZLIB.cmake
@@ -0,0 +1,146 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindZLIB
+# --------
+#
+# Find the native ZLIB includes and library.
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` target ``ZLIB::ZLIB``, if
+# ZLIB has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables:
+#
+# ::
+#
+#   ZLIB_INCLUDE_DIRS   - where to find zlib.h, etc.
+#   ZLIB_LIBRARIES      - List of libraries when using zlib.
+#   ZLIB_FOUND          - True if zlib found.
+#
+# ::
+#
+#   ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
+#   ZLIB_VERSION_MAJOR  - The major version of zlib
+#   ZLIB_VERSION_MINOR  - The minor version of zlib
+#   ZLIB_VERSION_PATCH  - The patch version of zlib
+#   ZLIB_VERSION_TWEAK  - The tweak version of zlib
+#
+# Backward Compatibility
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# The following variable are provided for backward compatibility
+#
+# ::
+#
+#   ZLIB_MAJOR_VERSION  - The major version of zlib
+#   ZLIB_MINOR_VERSION  - The minor version of zlib
+#   ZLIB_PATCH_VERSION  - The patch version of zlib
+#
+# Hints
+# ^^^^^
+#
+# A user may set ``ZLIB_ROOT`` to a zlib installation root to tell this
+# module where to look.
+
+set(_ZLIB_SEARCHES)
+
+# Search ZLIB_ROOT first if it is set.
+if(ZLIB_ROOT)
+  set(_ZLIB_SEARCH_ROOT PATHS ${ZLIB_ROOT} NO_DEFAULT_PATH)
+  list(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_ROOT)
+endif()
+
+# Normal search.
+set(_ZLIB_SEARCH_NORMAL
+  PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]"
+        "$ENV{PROGRAMFILES}/zlib"
+  )
+list(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_NORMAL)
+
+set(ZLIB_NAMES z zlib zdll zlib1)
+set(ZLIB_NAMES_DEBUG zlibd zlibd1)
+
+# Try each search configuration.
+foreach(search ${_ZLIB_SEARCHES})
+  find_path(ZLIB_INCLUDE_DIR NAMES zlib.h ${${search}} PATH_SUFFIXES include)
+endforeach()
+
+# Allow ZLIB_LIBRARY to be set manually, as the location of the zlib library
+if(NOT ZLIB_LIBRARY)
+  foreach(search ${_ZLIB_SEARCHES})
+    find_library(ZLIB_LIBRARY_RELEASE NAMES ${ZLIB_NAMES} ${${search}} PATH_SUFFIXES lib)
+    find_library(ZLIB_LIBRARY_DEBUG NAMES ${ZLIB_NAMES_DEBUG} ${${search}} PATH_SUFFIXES lib)
+  endforeach()
+
+  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+  select_library_configurations(ZLIB)
+endif()
+
+unset(ZLIB_NAMES)
+unset(ZLIB_NAMES_DEBUG)
+
+mark_as_advanced(ZLIB_INCLUDE_DIR)
+
+if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
+    file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
+
+    string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
+    string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR  "${ZLIB_H}")
+    string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
+    set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
+
+    # only append a TWEAK version if it exists:
+    set(ZLIB_VERSION_TWEAK "")
+    if( "${ZLIB_H}" MATCHES "ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+)")
+        set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
+        string(APPEND ZLIB_VERSION_STRING ".${ZLIB_VERSION_TWEAK}")
+    endif()
+
+    set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
+    set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
+    set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
+                                       VERSION_VAR ZLIB_VERSION_STRING)
+
+if(ZLIB_FOUND)
+    set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
+
+    if(NOT ZLIB_LIBRARIES)
+      set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
+    endif()
+
+    if(NOT TARGET ZLIB::ZLIB)
+      add_library(ZLIB::ZLIB UNKNOWN IMPORTED)
+      set_target_properties(ZLIB::ZLIB PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIRS}")
+
+      if(ZLIB_LIBRARY_RELEASE)
+        set_property(TARGET ZLIB::ZLIB APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS RELEASE)
+        set_target_properties(ZLIB::ZLIB PROPERTIES
+          IMPORTED_LOCATION_RELEASE "${ZLIB_LIBRARY_RELEASE}")
+      endif()
+
+      if(ZLIB_LIBRARY_DEBUG)
+        set_property(TARGET ZLIB::ZLIB APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS DEBUG)
+        set_target_properties(ZLIB::ZLIB PROPERTIES
+          IMPORTED_LOCATION_DEBUG "${ZLIB_LIBRARY_DEBUG}")
+      endif()
+
+      if(NOT ZLIB_LIBRARY_RELEASE AND NOT ZLIB_LIBRARY_DEBUG)
+        set_property(TARGET ZLIB::ZLIB APPEND PROPERTY
+          IMPORTED_LOCATION "${ZLIB_LIBRARY}")
+      endif()
+    endif()
+endif()
diff --git a/share/cmake-3.10/Modules/Findosg.cmake b/share/cmake-3.10/Modules/Findosg.cmake
new file mode 100644
index 0000000..474ea82
--- /dev/null
+++ b/share/cmake-3.10/Modules/Findosg.cmake
@@ -0,0 +1,50 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Findosg
+# -------
+#
+#
+#
+#
+#
+# NOTE: It is highly recommended that you use the new
+# FindOpenSceneGraph.cmake introduced in CMake 2.6.3 and not use this
+# Find module directly.
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osg This module defines
+#
+# OSG_FOUND - Was the Osg found? OSG_INCLUDE_DIR - Where to find the
+# headers OSG_LIBRARIES - The libraries to link against for the OSG (use
+# this)
+#
+# OSG_LIBRARY - The OSG library OSG_LIBRARY_DEBUG - The OSG debug
+# library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgUtil/SceneView>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSG osg/PositionAttitudeTransform)
+OSG_FIND_LIBRARY(OSG osg)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osg DEFAULT_MSG OSG_LIBRARY OSG_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgAnimation.cmake b/share/cmake-3.10/Modules/FindosgAnimation.cmake
new file mode 100644
index 0000000..5b26b64
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgAnimation.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgAnimation
+# ----------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgAnimation This module defines
+#
+# OSGANIMATION_FOUND - Was osgAnimation found? OSGANIMATION_INCLUDE_DIR
+# - Where to find the headers OSGANIMATION_LIBRARIES - The libraries to
+# link against for the OSG (use this)
+#
+# OSGANIMATION_LIBRARY - The OSG library OSGANIMATION_LIBRARY_DEBUG -
+# The OSG debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgAnimation/Animation>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGANIMATION osgAnimation/Animation)
+OSG_FIND_LIBRARY(OSGANIMATION osgAnimation)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgAnimation DEFAULT_MSG
+    OSGANIMATION_LIBRARY OSGANIMATION_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgDB.cmake b/share/cmake-3.10/Modules/FindosgDB.cmake
new file mode 100644
index 0000000..6ddf53c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgDB.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgDB
+# ---------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgDB This module defines
+#
+# OSGDB_FOUND - Was osgDB found? OSGDB_INCLUDE_DIR - Where to find the
+# headers OSGDB_LIBRARIES - The libraries to link against for the osgDB
+# (use this)
+#
+# OSGDB_LIBRARY - The osgDB library OSGDB_LIBRARY_DEBUG - The osgDB
+# debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgDB/DatabasePager>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGDB osgDB/DatabasePager)
+OSG_FIND_LIBRARY(OSGDB osgDB)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgDB DEFAULT_MSG
+    OSGDB_LIBRARY OSGDB_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgFX.cmake b/share/cmake-3.10/Modules/FindosgFX.cmake
new file mode 100644
index 0000000..e4bc276
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgFX.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgFX
+# ---------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgFX This module defines
+#
+# OSGFX_FOUND - Was osgFX found? OSGFX_INCLUDE_DIR - Where to find the
+# headers OSGFX_LIBRARIES - The libraries to link against for the osgFX
+# (use this)
+#
+# OSGFX_LIBRARY - The osgFX library OSGFX_LIBRARY_DEBUG - The osgFX
+# debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgFX/BumpMapping>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGFX osgFX/BumpMapping)
+OSG_FIND_LIBRARY(OSGFX osgFX)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgFX DEFAULT_MSG
+    OSGFX_LIBRARY OSGFX_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgGA.cmake b/share/cmake-3.10/Modules/FindosgGA.cmake
new file mode 100644
index 0000000..97adeb7
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgGA.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgGA
+# ---------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgGA This module defines
+#
+# OSGGA_FOUND - Was osgGA found? OSGGA_INCLUDE_DIR - Where to find the
+# headers OSGGA_LIBRARIES - The libraries to link against for the osgGA
+# (use this)
+#
+# OSGGA_LIBRARY - The osgGA library OSGGA_LIBRARY_DEBUG - The osgGA
+# debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgGA/FlightManipulator>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGGA osgGA/FlightManipulator)
+OSG_FIND_LIBRARY(OSGGA osgGA)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgGA DEFAULT_MSG
+    OSGGA_LIBRARY OSGGA_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgIntrospection.cmake b/share/cmake-3.10/Modules/FindosgIntrospection.cmake
new file mode 100644
index 0000000..e735942
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgIntrospection.cmake
@@ -0,0 +1,46 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgIntrospection
+# --------------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgINTROSPECTION This module defines
+#
+# OSGINTROSPECTION_FOUND - Was osgIntrospection found?
+# OSGINTROSPECTION_INCLUDE_DIR - Where to find the headers
+# OSGINTROSPECTION_LIBRARIES - The libraries to link for
+# osgIntrospection (use this)
+#
+# OSGINTROSPECTION_LIBRARY - The osgIntrospection library
+# OSGINTROSPECTION_LIBRARY_DEBUG - The osgIntrospection debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgIntrospection/Reflection>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGINTROSPECTION osgIntrospection/Reflection)
+OSG_FIND_LIBRARY(OSGINTROSPECTION osgIntrospection)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgIntrospection DEFAULT_MSG
+    OSGINTROSPECTION_LIBRARY OSGINTROSPECTION_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgManipulator.cmake b/share/cmake-3.10/Modules/FindosgManipulator.cmake
new file mode 100644
index 0000000..b88f1a4
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgManipulator.cmake
@@ -0,0 +1,46 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgManipulator
+# ------------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgManipulator This module defines
+#
+# OSGMANIPULATOR_FOUND - Was osgManipulator found?
+# OSGMANIPULATOR_INCLUDE_DIR - Where to find the headers
+# OSGMANIPULATOR_LIBRARIES - The libraries to link for osgManipulator
+# (use this)
+#
+# OSGMANIPULATOR_LIBRARY - The osgManipulator library
+# OSGMANIPULATOR_LIBRARY_DEBUG - The osgManipulator debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgManipulator/TrackballDragger>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGMANIPULATOR osgManipulator/TrackballDragger)
+OSG_FIND_LIBRARY(OSGMANIPULATOR osgManipulator)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgManipulator DEFAULT_MSG
+    OSGMANIPULATOR_LIBRARY OSGMANIPULATOR_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgParticle.cmake b/share/cmake-3.10/Modules/FindosgParticle.cmake
new file mode 100644
index 0000000..059746a
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgParticle.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgParticle
+# ---------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgParticle This module defines
+#
+# OSGPARTICLE_FOUND - Was osgParticle found? OSGPARTICLE_INCLUDE_DIR -
+# Where to find the headers OSGPARTICLE_LIBRARIES - The libraries to
+# link for osgParticle (use this)
+#
+# OSGPARTICLE_LIBRARY - The osgParticle library
+# OSGPARTICLE_LIBRARY_DEBUG - The osgParticle debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgParticle/FireEffect>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGPARTICLE osgParticle/FireEffect)
+OSG_FIND_LIBRARY(OSGPARTICLE osgParticle)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgParticle DEFAULT_MSG
+    OSGPARTICLE_LIBRARY OSGPARTICLE_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgPresentation.cmake b/share/cmake-3.10/Modules/FindosgPresentation.cmake
new file mode 100644
index 0000000..84a4105
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgPresentation.cmake
@@ -0,0 +1,47 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgPresentation
+# -------------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgPresentation This module defines
+#
+# OSGPRESENTATION_FOUND - Was osgPresentation found?
+# OSGPRESENTATION_INCLUDE_DIR - Where to find the headers
+# OSGPRESENTATION_LIBRARIES - The libraries to link for osgPresentation
+# (use this)
+#
+# OSGPRESENTATION_LIBRARY - The osgPresentation library
+# OSGPRESENTATION_LIBRARY_DEBUG - The osgPresentation debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.  Modified to work with osgPresentation by Robert
+# Osfield, January 2012.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgPresentation/SlideEventHandler>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGPRESENTATION osgPresentation/SlideEventHandler)
+OSG_FIND_LIBRARY(OSGPRESENTATION osgPresentation)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgPresentation DEFAULT_MSG
+    OSGPRESENTATION_LIBRARY OSGPRESENTATION_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgProducer.cmake b/share/cmake-3.10/Modules/FindosgProducer.cmake
new file mode 100644
index 0000000..e5700bf
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgProducer.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgProducer
+# ---------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgProducer This module defines
+#
+# OSGPRODUCER_FOUND - Was osgProducer found? OSGPRODUCER_INCLUDE_DIR -
+# Where to find the headers OSGPRODUCER_LIBRARIES - The libraries to
+# link for osgProducer (use this)
+#
+# OSGPRODUCER_LIBRARY - The osgProducer library
+# OSGPRODUCER_LIBRARY_DEBUG - The osgProducer debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgProducer/OsgSceneHandler>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGPRODUCER osgProducer/OsgSceneHandler)
+OSG_FIND_LIBRARY(OSGPRODUCER osgProducer)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgProducer DEFAULT_MSG
+    OSGPRODUCER_LIBRARY OSGPRODUCER_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgQt.cmake b/share/cmake-3.10/Modules/FindosgQt.cmake
new file mode 100644
index 0000000..04a2393
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgQt.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgQt
+# ---------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgQt This module defines
+#
+# OSGQT_FOUND - Was osgQt found? OSGQT_INCLUDE_DIR - Where to find the
+# headers OSGQT_LIBRARIES - The libraries to link for osgQt (use this)
+#
+# OSGQT_LIBRARY - The osgQt library OSGQT_LIBRARY_DEBUG - The osgQt
+# debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.  Modified to work with osgQt by Robert Osfield,
+# January 2012.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgQt/GraphicsWindowQt>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGQT osgQt/GraphicsWindowQt)
+OSG_FIND_LIBRARY(OSGQT osgQt)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgQt DEFAULT_MSG
+    OSGQT_LIBRARY OSGQT_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgShadow.cmake b/share/cmake-3.10/Modules/FindosgShadow.cmake
new file mode 100644
index 0000000..0a7ba23
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgShadow.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgShadow
+# -------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgShadow This module defines
+#
+# OSGSHADOW_FOUND - Was osgShadow found? OSGSHADOW_INCLUDE_DIR - Where
+# to find the headers OSGSHADOW_LIBRARIES - The libraries to link for
+# osgShadow (use this)
+#
+# OSGSHADOW_LIBRARY - The osgShadow library OSGSHADOW_LIBRARY_DEBUG -
+# The osgShadow debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgShadow/ShadowTexture>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGSHADOW osgShadow/ShadowTexture)
+OSG_FIND_LIBRARY(OSGSHADOW osgShadow)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgShadow DEFAULT_MSG
+    OSGSHADOW_LIBRARY OSGSHADOW_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgSim.cmake b/share/cmake-3.10/Modules/FindosgSim.cmake
new file mode 100644
index 0000000..15426a2
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgSim.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgSim
+# ----------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgSim This module defines
+#
+# OSGSIM_FOUND - Was osgSim found? OSGSIM_INCLUDE_DIR - Where to find
+# the headers OSGSIM_LIBRARIES - The libraries to link for osgSim (use
+# this)
+#
+# OSGSIM_LIBRARY - The osgSim library OSGSIM_LIBRARY_DEBUG - The osgSim
+# debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgSim/ImpostorSprite>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGSIM osgSim/ImpostorSprite)
+OSG_FIND_LIBRARY(OSGSIM osgSim)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgSim DEFAULT_MSG
+    OSGSIM_LIBRARY OSGSIM_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgTerrain.cmake b/share/cmake-3.10/Modules/FindosgTerrain.cmake
new file mode 100644
index 0000000..04eae14
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgTerrain.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgTerrain
+# --------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgTerrain This module defines
+#
+# OSGTERRAIN_FOUND - Was osgTerrain found? OSGTERRAIN_INCLUDE_DIR -
+# Where to find the headers OSGTERRAIN_LIBRARIES - The libraries to link
+# for osgTerrain (use this)
+#
+# OSGTERRAIN_LIBRARY - The osgTerrain library OSGTERRAIN_LIBRARY_DEBUG -
+# The osgTerrain debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgTerrain/Terrain>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGTERRAIN osgTerrain/Terrain)
+OSG_FIND_LIBRARY(OSGTERRAIN osgTerrain)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgTerrain DEFAULT_MSG
+    OSGTERRAIN_LIBRARY OSGTERRAIN_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgText.cmake b/share/cmake-3.10/Modules/FindosgText.cmake
new file mode 100644
index 0000000..1e2d9fd
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgText.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgText
+# -----------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgText This module defines
+#
+# OSGTEXT_FOUND - Was osgText found? OSGTEXT_INCLUDE_DIR - Where to find
+# the headers OSGTEXT_LIBRARIES - The libraries to link for osgText (use
+# this)
+#
+# OSGTEXT_LIBRARY - The osgText library OSGTEXT_LIBRARY_DEBUG - The
+# osgText debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgText/Text>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGTEXT osgText/Text)
+OSG_FIND_LIBRARY(OSGTEXT osgText)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgText DEFAULT_MSG
+    OSGTEXT_LIBRARY OSGTEXT_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgUtil.cmake b/share/cmake-3.10/Modules/FindosgUtil.cmake
new file mode 100644
index 0000000..13e0b80
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgUtil.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgUtil
+# -----------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgUtil This module defines
+#
+# OSGUTIL_FOUND - Was osgUtil found? OSGUTIL_INCLUDE_DIR - Where to find
+# the headers OSGUTIL_LIBRARIES - The libraries to link for osgUtil (use
+# this)
+#
+# OSGUTIL_LIBRARY - The osgUtil library OSGUTIL_LIBRARY_DEBUG - The
+# osgUtil debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgUtil/SceneView>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGUTIL osgUtil/SceneView)
+OSG_FIND_LIBRARY(OSGUTIL osgUtil)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgUtil DEFAULT_MSG
+    OSGUTIL_LIBRARY OSGUTIL_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgViewer.cmake b/share/cmake-3.10/Modules/FindosgViewer.cmake
new file mode 100644
index 0000000..a91c49c
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgViewer.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgViewer
+# -------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgViewer This module defines
+#
+# OSGVIEWER_FOUND - Was osgViewer found? OSGVIEWER_INCLUDE_DIR - Where
+# to find the headers OSGVIEWER_LIBRARIES - The libraries to link for
+# osgViewer (use this)
+#
+# OSGVIEWER_LIBRARY - The osgViewer library OSGVIEWER_LIBRARY_DEBUG -
+# The osgViewer debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgViewer/Viewer>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGVIEWER osgViewer/Viewer)
+OSG_FIND_LIBRARY(OSGVIEWER osgViewer)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgViewer DEFAULT_MSG
+    OSGVIEWER_LIBRARY OSGVIEWER_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgVolume.cmake b/share/cmake-3.10/Modules/FindosgVolume.cmake
new file mode 100644
index 0000000..1178ed3
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgVolume.cmake
@@ -0,0 +1,45 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgVolume
+# -------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgVolume This module defines
+#
+# OSGVOLUME_FOUND - Was osgVolume found? OSGVOLUME_INCLUDE_DIR - Where
+# to find the headers OSGVOLUME_LIBRARIES - The libraries to link for
+# osgVolume (use this)
+#
+# OSGVOLUME_LIBRARY - The osgVolume library OSGVOLUME_LIBRARY_DEBUG -
+# The osgVolume debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgVolume/Volume>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGVOLUME osgVolume/Volume)
+OSG_FIND_LIBRARY(OSGVOLUME osgVolume)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgVolume DEFAULT_MSG
+    OSGVOLUME_LIBRARY OSGVOLUME_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/FindosgWidget.cmake b/share/cmake-3.10/Modules/FindosgWidget.cmake
new file mode 100644
index 0000000..78999ec
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindosgWidget.cmake
@@ -0,0 +1,46 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindosgWidget
+# -------------
+#
+#
+#
+# This is part of the Findosg* suite used to find OpenSceneGraph
+# components.  Each component is separate and you must opt in to each
+# module.  You must also opt into OpenGL and OpenThreads (and Producer
+# if needed) as these modules won't do it for you.  This is to allow you
+# control over your own system piece by piece in case you need to opt
+# out of certain components or change the Find behavior for a particular
+# module (perhaps because the default FindOpenGL.cmake module doesn't
+# work with your system as an example).  If you want to use a more
+# convenient module that includes everything, use the
+# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+#
+# Locate osgWidget This module defines
+#
+# OSGWIDGET_FOUND - Was osgWidget found? OSGWIDGET_INCLUDE_DIR - Where
+# to find the headers OSGWIDGET_LIBRARIES - The libraries to link for
+# osgWidget (use this)
+#
+# OSGWIDGET_LIBRARY - The osgWidget library OSGWIDGET_LIBRARY_DEBUG -
+# The osgWidget debug library
+#
+# $OSGDIR is an environment variable that would correspond to the
+# ./configure --prefix=$OSGDIR used in building osg.
+#
+# FindosgWidget.cmake tweaked from Findosg* suite as created by Eric
+# Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgWidget/Widget>
+
+include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
+OSG_FIND_PATH   (OSGWIDGET osgWidget/Widget)
+OSG_FIND_LIBRARY(OSGWIDGET osgWidget)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgWidget DEFAULT_MSG
+    OSGWIDGET_LIBRARY OSGWIDGET_INCLUDE_DIR)
diff --git a/share/cmake-3.10/Modules/Findosg_functions.cmake b/share/cmake-3.10/Modules/Findosg_functions.cmake
new file mode 100644
index 0000000..c81c448
--- /dev/null
+++ b/share/cmake-3.10/Modules/Findosg_functions.cmake
@@ -0,0 +1,107 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Findosg_functions
+# -----------------
+#
+#
+#
+#
+#
+# This CMake file contains two macros to assist with searching for OSG
+# libraries and nodekits.  Please see FindOpenSceneGraph.cmake for full
+# documentation.
+
+#
+# OSG_FIND_PATH
+#
+function(OSG_FIND_PATH module header)
+   string(TOUPPER ${module} module_uc)
+
+   # Try the user's environment request before anything else.
+   find_path(${module_uc}_INCLUDE_DIR ${header}
+       HINTS
+            ENV ${module_uc}_DIR
+            ENV OSG_DIR
+            ENV OSGDIR
+            ENV OSG_ROOT
+            ${${module_uc}_DIR}
+            ${OSG_DIR}
+       PATH_SUFFIXES include
+       PATHS
+            /sw # Fink
+            /opt/local # DarwinPorts
+            /opt/csw # Blastwave
+            /opt
+            /usr/freeware
+   )
+endfunction()
+
+
+#
+# OSG_FIND_LIBRARY
+#
+function(OSG_FIND_LIBRARY module library)
+   string(TOUPPER ${module} module_uc)
+
+   find_library(${module_uc}_LIBRARY
+       NAMES ${library}
+       HINTS
+            ENV ${module_uc}_DIR
+            ENV OSG_DIR
+            ENV OSGDIR
+            ENV OSG_ROOT
+            ${${module_uc}_DIR}
+            ${OSG_DIR}
+       PATH_SUFFIXES lib
+       PATHS
+            /sw # Fink
+            /opt/local # DarwinPorts
+            /opt/csw # Blastwave
+            /opt
+            /usr/freeware
+   )
+
+   find_library(${module_uc}_LIBRARY_DEBUG
+       NAMES ${library}d
+       HINTS
+            ENV ${module_uc}_DIR
+            ENV OSG_DIR
+            ENV OSGDIR
+            ENV OSG_ROOT
+            ${${module_uc}_DIR}
+            ${OSG_DIR}
+       PATH_SUFFIXES lib
+       PATHS
+            /sw # Fink
+            /opt/local # DarwinPorts
+            /opt/csw # Blastwave
+            /opt
+            /usr/freeware
+    )
+
+   if(NOT ${module_uc}_LIBRARY_DEBUG)
+      # They don't have a debug library
+      set(${module_uc}_LIBRARY_DEBUG ${${module_uc}_LIBRARY} PARENT_SCOPE)
+      set(${module_uc}_LIBRARIES ${${module_uc}_LIBRARY} PARENT_SCOPE)
+   else()
+      # They really have a FOO_LIBRARY_DEBUG
+      set(${module_uc}_LIBRARIES
+          optimized ${${module_uc}_LIBRARY}
+          debug ${${module_uc}_LIBRARY_DEBUG}
+          PARENT_SCOPE
+      )
+   endif()
+endfunction()
+
+#
+# OSG_MARK_AS_ADVANCED
+# Just a convenience function for calling MARK_AS_ADVANCED
+#
+function(OSG_MARK_AS_ADVANCED _module)
+   string(TOUPPER ${_module} _module_UC)
+   mark_as_advanced(${_module_UC}_INCLUDE_DIR)
+   mark_as_advanced(${_module_UC}_LIBRARY)
+   mark_as_advanced(${_module_UC}_LIBRARY_DEBUG)
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindwxWidgets.cmake b/share/cmake-3.10/Modules/FindwxWidgets.cmake
new file mode 100644
index 0000000..be84999
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindwxWidgets.cmake
@@ -0,0 +1,1168 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindwxWidgets
+# -------------
+#
+# Find a wxWidgets (a.k.a., wxWindows) installation.
+#
+# This module finds if wxWidgets is installed and selects a default
+# configuration to use.  wxWidgets is a modular library.  To specify the
+# modules that you will use, you need to name them as components to the
+# package:
+#
+# find_package(wxWidgets COMPONENTS core base ...)
+#
+# There are two search branches: a windows style and a unix style.  For
+# windows, the following variables are searched for and set to defaults
+# in case of multiple choices.  Change them if the defaults are not
+# desired (i.e., these are the only variables you should change to
+# select a configuration):
+#
+# ::
+#
+#   wxWidgets_ROOT_DIR      - Base wxWidgets directory
+#                             (e.g., C:/wxWidgets-2.6.3).
+#   wxWidgets_LIB_DIR       - Path to wxWidgets libraries
+#                             (e.g., C:/wxWidgets-2.6.3/lib/vc_lib).
+#   wxWidgets_CONFIGURATION - Configuration to use
+#                             (e.g., msw, mswd, mswu, mswunivud, etc.)
+#   wxWidgets_EXCLUDE_COMMON_LIBRARIES
+#                           - Set to TRUE to exclude linking of
+#                             commonly required libs (e.g., png tiff
+#                             jpeg zlib regex expat).
+#
+#
+#
+# For unix style it uses the wx-config utility.  You can select between
+# debug/release, unicode/ansi, universal/non-universal, and
+# static/shared in the QtDialog or ccmake interfaces by turning ON/OFF
+# the following variables:
+#
+# ::
+#
+#   wxWidgets_USE_DEBUG
+#   wxWidgets_USE_UNICODE
+#   wxWidgets_USE_UNIVERSAL
+#   wxWidgets_USE_STATIC
+#
+#
+#
+# There is also a wxWidgets_CONFIG_OPTIONS variable for all other
+# options that need to be passed to the wx-config utility.  For example,
+# to use the base toolkit found in the /usr/local path, set the variable
+# (before calling the FIND_PACKAGE command) as such:
+#
+# ::
+#
+#   set(wxWidgets_CONFIG_OPTIONS --toolkit=base --prefix=/usr)
+#
+#
+#
+# The following are set after the configuration is done for both windows
+# and unix style:
+#
+# ::
+#
+#   wxWidgets_FOUND            - Set to TRUE if wxWidgets was found.
+#   wxWidgets_INCLUDE_DIRS     - Include directories for WIN32
+#                                i.e., where to find "wx/wx.h" and
+#                                "wx/setup.h"; possibly empty for unices.
+#   wxWidgets_LIBRARIES        - Path to the wxWidgets libraries.
+#   wxWidgets_LIBRARY_DIRS     - compile time link dirs, useful for
+#                                rpath on UNIX. Typically an empty string
+#                                in WIN32 environment.
+#   wxWidgets_DEFINITIONS      - Contains defines required to compile/link
+#                                against WX, e.g. WXUSINGDLL
+#   wxWidgets_DEFINITIONS_DEBUG- Contains defines required to compile/link
+#                                against WX debug builds, e.g. __WXDEBUG__
+#   wxWidgets_CXX_FLAGS        - Include dirs and compiler flags for
+#                                unices, empty on WIN32. Essentially
+#                                "`wx-config --cxxflags`".
+#   wxWidgets_USE_FILE         - Convenience include file.
+#
+#
+#
+# Sample usage:
+#
+# ::
+#
+#    # Note that for MinGW users the order of libs is important!
+#    find_package(wxWidgets COMPONENTS net gl core base)
+#    if(wxWidgets_FOUND)
+#      include(${wxWidgets_USE_FILE})
+#      # and for each of your dependent executable/library targets:
+#      target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
+#    endif()
+#
+#
+#
+# If wxWidgets is required (i.e., not an optional part):
+#
+# ::
+#
+#    find_package(wxWidgets REQUIRED net gl core base)
+#    include(${wxWidgets_USE_FILE})
+#    # and for each of your dependent executable/library targets:
+#    target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
+
+#
+# FIXME: check this and provide a correct sample usage...
+#        Remember to connect back to the upper text.
+# Sample usage with monolithic wx build:
+#
+#   find_package(wxWidgets COMPONENTS mono)
+#   ...
+
+# NOTES
+#
+# This module has been tested on the WIN32 platform with wxWidgets
+# 2.6.2, 2.6.3, and 2.5.3. However, it has been designed to
+# easily extend support to all possible builds, e.g., static/shared,
+# debug/release, unicode, universal, multilib/monolithic, etc..
+#
+# If you want to use the module and your build type is not supported
+# out-of-the-box, please contact me to exchange information on how
+# your system is setup and I'll try to add support for it.
+#
+# AUTHOR
+#
+# Miguel A. Figueroa-Villanueva (miguelf at ieee dot org).
+# Jan Woetzel (jw at mip.informatik.uni-kiel.de).
+#
+# Based on previous works of:
+# Jan Woetzel (FindwxWindows.cmake),
+# Jorgen Bodde and Jerry Fath (FindwxWin.cmake).
+
+# TODO/ideas
+#
+# (1) Option/Setting to use all available wx libs
+# In contrast to expert developer who lists the
+# minimal set of required libs in wxWidgets_USE_LIBS
+# there is the newbie user:
+#   - who just wants to link against WX with more 'magic'
+#   - doesn't know the internal structure of WX or how it was built,
+#     in particular if it is monolithic or not
+#   - want to link against all available WX libs
+# Basically, the intent here is to mimic what wx-config would do by
+# default (i.e., `wx-config --libs`).
+#
+# Possible solution:
+#   Add a reserved keyword "std" that initializes to what wx-config
+# would default to. If the user has not set the wxWidgets_USE_LIBS,
+# default to "std" instead of "base core" as it is now. To implement
+# "std" will basically boil down to a FOR_EACH lib-FOUND, but maybe
+# checking whether a minimal set was found.
+
+
+# FIXME: This and all the DBG_MSG calls should be removed after the
+# module stabilizes.
+#
+# Helper macro to control the debugging output globally. There are
+# two versions for controlling how verbose your output should be.
+macro(DBG_MSG _MSG)
+#  message(STATUS
+#    "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
+endmacro()
+macro(DBG_MSG_V _MSG)
+#  message(STATUS
+#    "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
+endmacro()
+
+# Clear return values in case the module is loaded more than once.
+set(wxWidgets_FOUND FALSE)
+set(wxWidgets_INCLUDE_DIRS "")
+set(wxWidgets_LIBRARIES    "")
+set(wxWidgets_LIBRARY_DIRS "")
+set(wxWidgets_CXX_FLAGS    "")
+
+# DEPRECATED: This is a patch to support the DEPRECATED use of
+# wxWidgets_USE_LIBS.
+#
+# If wxWidgets_USE_LIBS is set:
+# - if using <components>, then override wxWidgets_USE_LIBS
+# - else set wxWidgets_FIND_COMPONENTS to wxWidgets_USE_LIBS
+if(wxWidgets_USE_LIBS AND NOT wxWidgets_FIND_COMPONENTS)
+  set(wxWidgets_FIND_COMPONENTS ${wxWidgets_USE_LIBS})
+endif()
+DBG_MSG("wxWidgets_FIND_COMPONENTS : ${wxWidgets_FIND_COMPONENTS}")
+
+# Add the convenience use file if available.
+#
+# Get dir of this file which may reside in:
+# - CMAKE_MAKE_ROOT/Modules on CMake installation
+# - CMAKE_MODULE_PATH if user prefers his own specialized version
+set(wxWidgets_USE_FILE "")
+get_filename_component(
+  wxWidgets_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+# Prefer an existing customized version, but the user might override
+# the FindwxWidgets module and not the UsewxWidgets one.
+if(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
+  set(wxWidgets_USE_FILE
+    "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
+else()
+  set(wxWidgets_USE_FILE UsewxWidgets)
+endif()
+
+#=====================================================================
+# Determine whether unix or win32 paths should be used
+#=====================================================================
+if(WIN32 AND NOT CYGWIN AND NOT MSYS AND NOT CMAKE_CROSSCOMPILING)
+  set(wxWidgets_FIND_STYLE "win32")
+else()
+  set(wxWidgets_FIND_STYLE "unix")
+endif()
+
+#=====================================================================
+# WIN32_FIND_STYLE
+#=====================================================================
+if(wxWidgets_FIND_STYLE STREQUAL "win32")
+  # Useful common wx libs needed by almost all components.
+  set(wxWidgets_COMMON_LIBRARIES png tiff jpeg zlib regex expat)
+
+  # DEPRECATED: Use find_package(wxWidgets COMPONENTS mono) instead.
+  if(NOT wxWidgets_FIND_COMPONENTS)
+    if(wxWidgets_USE_MONOLITHIC)
+      set(wxWidgets_FIND_COMPONENTS mono)
+    else()
+      set(wxWidgets_FIND_COMPONENTS core base) # this is default
+    endif()
+  endif()
+
+  # Add the common (usually required libs) unless
+  # wxWidgets_EXCLUDE_COMMON_LIBRARIES has been set.
+  if(NOT wxWidgets_EXCLUDE_COMMON_LIBRARIES)
+    list(APPEND wxWidgets_FIND_COMPONENTS
+      ${wxWidgets_COMMON_LIBRARIES})
+  endif()
+
+  #-------------------------------------------------------------------
+  # WIN32: Helper MACROS
+  #-------------------------------------------------------------------
+  #
+  # Get filename components for a configuration. For example,
+  #   if _CONFIGURATION = mswunivud, then _UNV=univ, _UCD=u _DBG=d
+  #   if _CONFIGURATION = mswu,      then _UNV="",   _UCD=u _DBG=""
+  #
+  macro(WX_GET_NAME_COMPONENTS _CONFIGURATION _UNV _UCD _DBG)
+    string(REGEX MATCH "univ" ${_UNV} "${_CONFIGURATION}")
+    string(REGEX REPLACE "msw.*(u)[d]*$" "u" ${_UCD} "${_CONFIGURATION}")
+    if(${_UCD} STREQUAL ${_CONFIGURATION})
+      set(${_UCD} "")
+    endif()
+    string(REGEX MATCH "d$" ${_DBG} "${_CONFIGURATION}")
+  endmacro()
+
+  #
+  # Find libraries associated to a configuration.
+  #
+  macro(WX_FIND_LIBS _UNV _UCD _DBG)
+    DBG_MSG_V("m_unv = ${_UNV}")
+    DBG_MSG_V("m_ucd = ${_UCD}")
+    DBG_MSG_V("m_dbg = ${_DBG}")
+
+    # FIXME: What if both regex libs are available. regex should be
+    # found outside the loop and only wx${LIB}${_UCD}${_DBG}.
+    # Find wxWidgets common libraries.
+    foreach(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
+      find_library(WX_${LIB}${_DBG}
+        NAMES
+        wx${LIB}${_UCD}${_DBG} # for regex
+        wx${LIB}${_DBG}
+        PATHS ${WX_LIB_DIR}
+        NO_DEFAULT_PATH
+        )
+      mark_as_advanced(WX_${LIB}${_DBG})
+    endforeach()
+
+    # Find wxWidgets multilib base libraries.
+    find_library(WX_base${_DBG}
+      NAMES
+      wxbase31${_UCD}${_DBG}
+      wxbase30${_UCD}${_DBG}
+      wxbase29${_UCD}${_DBG}
+      wxbase28${_UCD}${_DBG}
+      wxbase27${_UCD}${_DBG}
+      wxbase26${_UCD}${_DBG}
+      wxbase25${_UCD}${_DBG}
+      PATHS ${WX_LIB_DIR}
+      NO_DEFAULT_PATH
+      )
+    mark_as_advanced(WX_base${_DBG})
+    foreach(LIB net odbc xml)
+      find_library(WX_${LIB}${_DBG}
+        NAMES
+        wxbase31${_UCD}${_DBG}_${LIB}
+        wxbase30${_UCD}${_DBG}_${LIB}
+        wxbase29${_UCD}${_DBG}_${LIB}
+        wxbase28${_UCD}${_DBG}_${LIB}
+        wxbase27${_UCD}${_DBG}_${LIB}
+        wxbase26${_UCD}${_DBG}_${LIB}
+        wxbase25${_UCD}${_DBG}_${LIB}
+        PATHS ${WX_LIB_DIR}
+        NO_DEFAULT_PATH
+        )
+      mark_as_advanced(WX_${LIB}${_DBG})
+    endforeach()
+
+    # Find wxWidgets monolithic library.
+    find_library(WX_mono${_DBG}
+      NAMES
+      wxmsw${_UNV}31${_UCD}${_DBG}
+      wxmsw${_UNV}30${_UCD}${_DBG}
+      wxmsw${_UNV}29${_UCD}${_DBG}
+      wxmsw${_UNV}28${_UCD}${_DBG}
+      wxmsw${_UNV}27${_UCD}${_DBG}
+      wxmsw${_UNV}26${_UCD}${_DBG}
+      wxmsw${_UNV}25${_UCD}${_DBG}
+      PATHS ${WX_LIB_DIR}
+      NO_DEFAULT_PATH
+      )
+    mark_as_advanced(WX_mono${_DBG})
+
+    # Find wxWidgets multilib libraries.
+    foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
+                stc ribbon propgrid webview)
+      find_library(WX_${LIB}${_DBG}
+        NAMES
+        wxmsw${_UNV}31${_UCD}${_DBG}_${LIB}
+        wxmsw${_UNV}30${_UCD}${_DBG}_${LIB}
+        wxmsw${_UNV}29${_UCD}${_DBG}_${LIB}
+        wxmsw${_UNV}28${_UCD}${_DBG}_${LIB}
+        wxmsw${_UNV}27${_UCD}${_DBG}_${LIB}
+        wxmsw${_UNV}26${_UCD}${_DBG}_${LIB}
+        wxmsw${_UNV}25${_UCD}${_DBG}_${LIB}
+        PATHS ${WX_LIB_DIR}
+        NO_DEFAULT_PATH
+        )
+      mark_as_advanced(WX_${LIB}${_DBG})
+    endforeach()
+  endmacro()
+
+  #
+  # Clear all library paths, so that FIND_LIBRARY refinds them.
+  #
+  # Clear a lib, reset its found flag, and mark as advanced.
+  macro(WX_CLEAR_LIB _LIB)
+    set(${_LIB} "${_LIB}-NOTFOUND" CACHE FILEPATH "Cleared." FORCE)
+    set(${_LIB}_FOUND FALSE)
+    mark_as_advanced(${_LIB})
+  endmacro()
+  # Clear all debug or release library paths (arguments are "d" or "").
+  macro(WX_CLEAR_ALL_LIBS _DBG)
+    # Clear wxWidgets common libraries.
+    foreach(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
+      WX_CLEAR_LIB(WX_${LIB}${_DBG})
+    endforeach()
+
+    # Clear wxWidgets multilib base libraries.
+    WX_CLEAR_LIB(WX_base${_DBG})
+    foreach(LIB net odbc xml)
+      WX_CLEAR_LIB(WX_${LIB}${_DBG})
+    endforeach()
+
+    # Clear wxWidgets monolithic library.
+    WX_CLEAR_LIB(WX_mono${_DBG})
+
+    # Clear wxWidgets multilib libraries.
+    foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
+                webview stc ribbon propgrid)
+      WX_CLEAR_LIB(WX_${LIB}${_DBG})
+    endforeach()
+  endmacro()
+  # Clear all wxWidgets debug libraries.
+  macro(WX_CLEAR_ALL_DBG_LIBS)
+    WX_CLEAR_ALL_LIBS("d")
+  endmacro()
+  # Clear all wxWidgets release libraries.
+  macro(WX_CLEAR_ALL_REL_LIBS)
+    WX_CLEAR_ALL_LIBS("")
+  endmacro()
+
+  #
+  # Set the wxWidgets_LIBRARIES variable.
+  # Also, Sets output variable wxWidgets_FOUND to FALSE if it fails.
+  #
+  macro(WX_SET_LIBRARIES _LIBS _DBG)
+    DBG_MSG_V("Looking for ${${_LIBS}}")
+    if(WX_USE_REL_AND_DBG)
+      foreach(LIB ${${_LIBS}})
+        DBG_MSG_V("Searching for ${LIB} and ${LIB}d")
+        DBG_MSG_V("WX_${LIB}  : ${WX_${LIB}}")
+        DBG_MSG_V("WX_${LIB}d : ${WX_${LIB}d}")
+        if(WX_${LIB} AND WX_${LIB}d)
+          DBG_MSG_V("Found ${LIB} and ${LIB}d")
+          list(APPEND wxWidgets_LIBRARIES
+            debug ${WX_${LIB}d} optimized ${WX_${LIB}}
+            )
+        else()
+          DBG_MSG_V("- not found due to missing WX_${LIB}=${WX_${LIB}} or WX_${LIB}d=${WX_${LIB}d}")
+          set(wxWidgets_FOUND FALSE)
+        endif()
+      endforeach()
+    else()
+      foreach(LIB ${${_LIBS}})
+        DBG_MSG_V("Searching for ${LIB}${_DBG}")
+        DBG_MSG_V("WX_${LIB}${_DBG} : ${WX_${LIB}${_DBG}}")
+        if(WX_${LIB}${_DBG})
+          DBG_MSG_V("Found ${LIB}${_DBG}")
+          list(APPEND wxWidgets_LIBRARIES ${WX_${LIB}${_DBG}})
+        else()
+          DBG_MSG_V(
+            "- not found due to missing WX_${LIB}${_DBG}=${WX_${LIB}${_DBG}}")
+          set(wxWidgets_FOUND FALSE)
+        endif()
+      endforeach()
+    endif()
+
+    DBG_MSG_V("OpenGL")
+    list(FIND ${_LIBS} gl WX_USE_GL)
+    if(NOT WX_USE_GL EQUAL -1)
+      DBG_MSG_V("- is required.")
+      list(APPEND wxWidgets_LIBRARIES opengl32 glu32)
+    endif()
+
+    list(APPEND wxWidgets_LIBRARIES winmm comctl32 oleacc rpcrt4 shlwapi version wsock32)
+  endmacro()
+
+  #-------------------------------------------------------------------
+  # WIN32: Start actual work.
+  #-------------------------------------------------------------------
+
+  # Look for an installation tree.
+  find_path(wxWidgets_ROOT_DIR
+    NAMES include/wx/wx.h
+    PATHS
+      ENV wxWidgets_ROOT_DIR
+      ENV WXWIN
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]"  # WX 2.6.x
+      C:/
+      D:/
+      ENV ProgramFiles
+    PATH_SUFFIXES
+      wxWidgets-3.1.0
+      wxWidgets-3.0.2
+      wxWidgets-3.0.1
+      wxWidgets-3.0.0
+      wxWidgets-2.9.5
+      wxWidgets-2.9.4
+      wxWidgets-2.9.3
+      wxWidgets-2.9.2
+      wxWidgets-2.9.1
+      wxWidgets-2.9.0
+      wxWidgets-2.8.9
+      wxWidgets-2.8.8
+      wxWidgets-2.8.7
+      wxWidgets-2.8.6
+      wxWidgets-2.8.5
+      wxWidgets-2.8.4
+      wxWidgets-2.8.3
+      wxWidgets-2.8.2
+      wxWidgets-2.8.1
+      wxWidgets-2.8.0
+      wxWidgets-2.7.4
+      wxWidgets-2.7.3
+      wxWidgets-2.7.2
+      wxWidgets-2.7.1
+      wxWidgets-2.7.0
+      wxWidgets-2.7.0-1
+      wxWidgets-2.6.4
+      wxWidgets-2.6.3
+      wxWidgets-2.6.2
+      wxWidgets-2.6.1
+      wxWidgets-2.5.4
+      wxWidgets-2.5.3
+      wxWidgets-2.5.2
+      wxWidgets-2.5.1
+      wxWidgets
+    DOC "wxWidgets base/installation directory"
+    )
+
+  # If wxWidgets_ROOT_DIR changed, clear lib dir.
+  if(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
+    set(WX_ROOT_DIR ${wxWidgets_ROOT_DIR}
+        CACHE INTERNAL "wxWidgets_ROOT_DIR")
+    set(wxWidgets_LIB_DIR "wxWidgets_LIB_DIR-NOTFOUND"
+        CACHE PATH "Cleared." FORCE)
+  endif()
+
+  if(WX_ROOT_DIR)
+    # Select one default tree inside the already determined wx tree.
+    # Prefer static/shared order usually consistent with build
+    # settings.
+    set(_WX_TOOL "")
+    set(_WX_TOOLVER "")
+    set(_WX_ARCH "")
+    if(MINGW)
+      set(_WX_TOOL gcc)
+    elseif(MSVC)
+      set(_WX_TOOL vc)
+      if(MSVC_VERSION EQUAL 1910)
+        set(_WX_TOOLVER 141)
+      elseif(MSVC_VERSION EQUAL 1900)
+        set(_WX_TOOLVER 140)
+      elseif(MSVC_VERSION EQUAL 1800)
+        set(_WX_TOOLVER 120)
+      elseif(MSVC_VERSION EQUAL 1700)
+        set(_WX_TOOLVER 110)
+      elseif(MSVC_VERSION EQUAL 1600)
+        set(_WX_TOOLVER 100)
+      elseif(MSVC_VERSION EQUAL 1500)
+        set(_WX_TOOLVER 90)
+      endif()
+      if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+        set(_WX_ARCH _x64)
+      endif()
+    endif()
+    if(BUILD_SHARED_LIBS)
+      find_path(wxWidgets_LIB_DIR
+        NAMES
+          msw/wx/setup.h
+          mswd/wx/setup.h
+          mswu/wx/setup.h
+          mswud/wx/setup.h
+          mswuniv/wx/setup.h
+          mswunivd/wx/setup.h
+          mswunivu/wx/setup.h
+          mswunivud/wx/setup.h
+        PATHS
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}_xp${_WX_ARCH}_dll   # prefer shared
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}${_WX_ARCH}_dll   # prefer shared
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_ARCH}_dll                 # prefer shared
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}_xp${_WX_ARCH}_lib
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}${_WX_ARCH}_lib
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_ARCH}_lib
+        DOC "Path to wxWidgets libraries"
+        NO_DEFAULT_PATH
+        )
+    else()
+      find_path(wxWidgets_LIB_DIR
+        NAMES
+          msw/wx/setup.h
+          mswd/wx/setup.h
+          mswu/wx/setup.h
+          mswud/wx/setup.h
+          mswuniv/wx/setup.h
+          mswunivd/wx/setup.h
+          mswunivu/wx/setup.h
+          mswunivud/wx/setup.h
+        PATHS
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}_xp${_WX_ARCH}_lib   # prefer static
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}${_WX_ARCH}_lib   # prefer static
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_ARCH}_lib                 # prefer static
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}_xp${_WX_ARCH}_dll
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_TOOLVER}${_WX_ARCH}_dll
+        ${WX_ROOT_DIR}/lib/${_WX_TOOL}${_WX_ARCH}_dll
+        DOC "Path to wxWidgets libraries"
+        NO_DEFAULT_PATH
+        )
+    endif()
+    unset(_WX_TOOL)
+    unset(_WX_TOOLVER)
+    unset(_WX_ARCH)
+
+    # If wxWidgets_LIB_DIR changed, clear all libraries.
+    if(NOT WX_LIB_DIR STREQUAL wxWidgets_LIB_DIR)
+      set(WX_LIB_DIR ${wxWidgets_LIB_DIR} CACHE INTERNAL "wxWidgets_LIB_DIR")
+      WX_CLEAR_ALL_DBG_LIBS()
+      WX_CLEAR_ALL_REL_LIBS()
+    endif()
+
+    if(WX_LIB_DIR)
+      # If building shared libs, define WXUSINGDLL to use dllimport.
+      if(WX_LIB_DIR MATCHES "[dD][lL][lL]")
+        set(wxWidgets_DEFINITIONS WXUSINGDLL)
+        DBG_MSG_V("detected SHARED/DLL tree WX_LIB_DIR=${WX_LIB_DIR}")
+      endif()
+
+      # Search for available configuration types.
+      foreach(CFG mswunivud mswunivd mswud mswd mswunivu mswuniv mswu msw)
+        set(WX_${CFG}_FOUND FALSE)
+        if(EXISTS ${WX_LIB_DIR}/${CFG})
+          list(APPEND WX_CONFIGURATION_LIST ${CFG})
+          set(WX_${CFG}_FOUND TRUE)
+          set(WX_CONFIGURATION ${CFG})
+        endif()
+      endforeach()
+      DBG_MSG_V("WX_CONFIGURATION_LIST=${WX_CONFIGURATION_LIST}")
+
+      if(WX_CONFIGURATION)
+        set(wxWidgets_FOUND TRUE)
+
+        # If the selected configuration wasn't found force the default
+        # one. Otherwise, use it but still force a refresh for
+        # updating the doc string with the current list of available
+        # configurations.
+        if(NOT WX_${wxWidgets_CONFIGURATION}_FOUND)
+          set(wxWidgets_CONFIGURATION ${WX_CONFIGURATION} CACHE STRING
+            "Set wxWidgets configuration (${WX_CONFIGURATION_LIST})" FORCE)
+        else()
+          set(wxWidgets_CONFIGURATION ${wxWidgets_CONFIGURATION} CACHE STRING
+            "Set wxWidgets configuration (${WX_CONFIGURATION_LIST})" FORCE)
+        endif()
+
+        # If release config selected, and both release/debug exist.
+        if(WX_${wxWidgets_CONFIGURATION}d_FOUND)
+          option(wxWidgets_USE_REL_AND_DBG
+            "Use release and debug configurations?" TRUE)
+          set(WX_USE_REL_AND_DBG ${wxWidgets_USE_REL_AND_DBG})
+        else()
+          # If the option exists (already in cache), force it false.
+          if(wxWidgets_USE_REL_AND_DBG)
+            set(wxWidgets_USE_REL_AND_DBG FALSE CACHE BOOL
+              "No ${wxWidgets_CONFIGURATION}d found." FORCE)
+          endif()
+          set(WX_USE_REL_AND_DBG FALSE)
+        endif()
+
+        # Get configuration parameters from the name.
+        WX_GET_NAME_COMPONENTS(${wxWidgets_CONFIGURATION} UNV UCD DBG)
+
+        # Set wxWidgets lib setup include directory.
+        if(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h)
+          set(wxWidgets_INCLUDE_DIRS
+            ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION})
+        else()
+          DBG_MSG("wxWidgets_FOUND FALSE because ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h does not exists.")
+          set(wxWidgets_FOUND FALSE)
+        endif()
+
+        # Set wxWidgets main include directory.
+        if(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h)
+          list(APPEND wxWidgets_INCLUDE_DIRS ${WX_ROOT_DIR}/include)
+        else()
+          DBG_MSG("wxWidgets_FOUND FALSE because WX_ROOT_DIR=${WX_ROOT_DIR} has no ${WX_ROOT_DIR}/include/wx/wx.h")
+          set(wxWidgets_FOUND FALSE)
+        endif()
+
+        # Find wxWidgets libraries.
+        WX_FIND_LIBS("${UNV}" "${UCD}" "${DBG}")
+        if(WX_USE_REL_AND_DBG)
+          WX_FIND_LIBS("${UNV}" "${UCD}" "d")
+        endif()
+
+        # Settings for requested libs (i.e., include dir, libraries, etc.).
+        WX_SET_LIBRARIES(wxWidgets_FIND_COMPONENTS "${DBG}")
+
+        # Add necessary definitions for unicode builds
+        if("${UCD}" STREQUAL "u")
+          list(APPEND wxWidgets_DEFINITIONS UNICODE _UNICODE)
+        endif()
+
+        # Add necessary definitions for debug builds
+        set(wxWidgets_DEFINITIONS_DEBUG _DEBUG __WXDEBUG__)
+
+      endif()
+    endif()
+  endif()
+
+#=====================================================================
+# UNIX_FIND_STYLE
+#=====================================================================
+else()
+  if(wxWidgets_FIND_STYLE STREQUAL "unix")
+    #-----------------------------------------------------------------
+    # UNIX: Helper MACROS
+    #-----------------------------------------------------------------
+    #
+    # Set the default values based on "wx-config --selected-config".
+    #
+    macro(WX_CONFIG_SELECT_GET_DEFAULT)
+      execute_process(
+        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
+          ${wxWidgets_CONFIG_OPTIONS} --selected-config
+        OUTPUT_VARIABLE _wx_selected_config
+        RESULT_VARIABLE _wx_result
+        ERROR_QUIET
+        )
+      if(_wx_result EQUAL 0)
+        foreach(_opt_name debug static unicode universal)
+          string(TOUPPER ${_opt_name} _upper_opt_name)
+          if(_wx_selected_config MATCHES "${_opt_name}")
+            set(wxWidgets_DEFAULT_${_upper_opt_name} ON)
+          else()
+            set(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
+          endif()
+        endforeach()
+      else()
+        foreach(_upper_opt_name DEBUG STATIC UNICODE UNIVERSAL)
+          set(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
+        endforeach()
+      endif()
+    endmacro()
+
+    #
+    # Query a boolean configuration option to determine if the system
+    # has both builds available. If so, provide the selection option
+    # to the user.
+    #
+    macro(WX_CONFIG_SELECT_QUERY_BOOL _OPT_NAME _OPT_HELP)
+      execute_process(
+        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
+          ${wxWidgets_CONFIG_OPTIONS} --${_OPT_NAME}=yes
+        RESULT_VARIABLE _wx_result_yes
+        OUTPUT_QUIET
+        ERROR_QUIET
+        )
+      execute_process(
+        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
+          ${wxWidgets_CONFIG_OPTIONS} --${_OPT_NAME}=no
+        RESULT_VARIABLE _wx_result_no
+        OUTPUT_QUIET
+        ERROR_QUIET
+        )
+      string(TOUPPER ${_OPT_NAME} _UPPER_OPT_NAME)
+      if(_wx_result_yes EQUAL 0 AND _wx_result_no EQUAL 0)
+        option(wxWidgets_USE_${_UPPER_OPT_NAME}
+          ${_OPT_HELP} ${wxWidgets_DEFAULT_${_UPPER_OPT_NAME}})
+      else()
+        # If option exists (already in cache), force to available one.
+        if(DEFINED wxWidgets_USE_${_UPPER_OPT_NAME})
+          if(_wx_result_yes EQUAL 0)
+            set(wxWidgets_USE_${_UPPER_OPT_NAME} ON  CACHE BOOL ${_OPT_HELP} FORCE)
+          else()
+            set(wxWidgets_USE_${_UPPER_OPT_NAME} OFF CACHE BOOL ${_OPT_HELP} FORCE)
+          endif()
+        endif()
+      endif()
+    endmacro()
+
+    #
+    # Set wxWidgets_SELECT_OPTIONS to wx-config options for selecting
+    # among multiple builds.
+    #
+    macro(WX_CONFIG_SELECT_SET_OPTIONS)
+      set(wxWidgets_SELECT_OPTIONS ${wxWidgets_CONFIG_OPTIONS})
+      foreach(_opt_name debug static unicode universal)
+        string(TOUPPER ${_opt_name} _upper_opt_name)
+        if(DEFINED wxWidgets_USE_${_upper_opt_name})
+          if(wxWidgets_USE_${_upper_opt_name})
+            list(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=yes)
+          else()
+            list(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=no)
+          endif()
+        endif()
+      endforeach()
+    endmacro()
+
+    #-----------------------------------------------------------------
+    # UNIX: Start actual work.
+    #-----------------------------------------------------------------
+    # Support cross-compiling, only search in the target platform.
+    find_program(wxWidgets_CONFIG_EXECUTABLE
+      NAMES wx-config wx-config-3.1 wx-config-3.0 wx-config-2.9 wx-config-2.8
+      DOC "Location of wxWidgets library configuration provider binary (wx-config)."
+      ONLY_CMAKE_FIND_ROOT_PATH
+      )
+
+    if(wxWidgets_CONFIG_EXECUTABLE)
+      set(wxWidgets_FOUND TRUE)
+
+      # get defaults based on "wx-config --selected-config"
+      WX_CONFIG_SELECT_GET_DEFAULT()
+
+      # for each option: if both builds are available, provide option
+      WX_CONFIG_SELECT_QUERY_BOOL(debug "Use debug build?")
+      WX_CONFIG_SELECT_QUERY_BOOL(unicode "Use unicode build?")
+      WX_CONFIG_SELECT_QUERY_BOOL(universal "Use universal build?")
+      WX_CONFIG_SELECT_QUERY_BOOL(static "Link libraries statically?")
+
+      # process selection to set wxWidgets_SELECT_OPTIONS
+      WX_CONFIG_SELECT_SET_OPTIONS()
+      DBG_MSG("wxWidgets_SELECT_OPTIONS=${wxWidgets_SELECT_OPTIONS}")
+
+      # run the wx-config program to get cxxflags
+      execute_process(
+        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
+          ${wxWidgets_SELECT_OPTIONS} --cxxflags
+        OUTPUT_VARIABLE wxWidgets_CXX_FLAGS
+        RESULT_VARIABLE RET
+        ERROR_QUIET
+        )
+      if(RET EQUAL 0)
+        string(STRIP "${wxWidgets_CXX_FLAGS}" wxWidgets_CXX_FLAGS)
+        separate_arguments(wxWidgets_CXX_FLAGS_LIST NATIVE_COMMAND "${wxWidgets_CXX_FLAGS}")
+
+        DBG_MSG_V("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
+
+        # parse definitions and include dirs from cxxflags
+        #   drop the -D and -I prefixes
+        set(wxWidgets_CXX_FLAGS)
+        foreach(arg IN LISTS wxWidgets_CXX_FLAGS_LIST)
+          if("${arg}" MATCHES "^-I(.*)$")
+            # include directory
+            list(APPEND wxWidgets_INCLUDE_DIRS "${CMAKE_MATCH_1}")
+          elseif("${arg}" MATCHES "^-D(.*)$")
+            # compile definition
+            list(APPEND wxWidgets_DEFINITIONS "${CMAKE_MATCH_1}")
+          else()
+            list(APPEND wxWidgets_CXX_FLAGS "${arg}")
+          endif()
+        endforeach()
+
+        DBG_MSG_V("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
+        DBG_MSG_V("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
+        DBG_MSG_V("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
+
+      else()
+        set(wxWidgets_FOUND FALSE)
+        DBG_MSG_V(
+          "${wxWidgets_CONFIG_EXECUTABLE} --cxxflags FAILED with RET=${RET}")
+      endif()
+
+      # run the wx-config program to get the libs
+      # - NOTE: wx-config doesn't verify that the libs requested exist
+      #         it just produces the names. Maybe a TRY_COMPILE would
+      #         be useful here...
+      string(REPLACE ";" ","
+        wxWidgets_FIND_COMPONENTS "${wxWidgets_FIND_COMPONENTS}")
+      execute_process(
+        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
+          ${wxWidgets_SELECT_OPTIONS} --libs ${wxWidgets_FIND_COMPONENTS}
+        OUTPUT_VARIABLE wxWidgets_LIBRARIES
+        RESULT_VARIABLE RET
+        ERROR_QUIET
+        )
+      if(RET EQUAL 0)
+        string(STRIP "${wxWidgets_LIBRARIES}" wxWidgets_LIBRARIES)
+        separate_arguments(wxWidgets_LIBRARIES)
+        string(REPLACE "-framework;" "-framework "
+          wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
+        string(REPLACE "-arch;" "-arch "
+          wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
+        string(REPLACE "-isysroot;" "-isysroot "
+          wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
+
+        # extract linkdirs (-L) for rpath (i.e., LINK_DIRECTORIES)
+        string(REGEX MATCHALL "-L[^;]+"
+          wxWidgets_LIBRARY_DIRS "${wxWidgets_LIBRARIES}")
+        string(REPLACE "-L" ""
+          wxWidgets_LIBRARY_DIRS "${wxWidgets_LIBRARY_DIRS}")
+
+        DBG_MSG_V("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
+        DBG_MSG_V("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
+
+      else()
+        set(wxWidgets_FOUND FALSE)
+        DBG_MSG("${wxWidgets_CONFIG_EXECUTABLE} --libs ${wxWidgets_FIND_COMPONENTS} FAILED with RET=${RET}")
+      endif()
+    endif()
+
+    # When using wx-config in MSYS, the include paths are UNIX style paths which may or may
+    # not work correctly depending on you MSYS/MinGW configuration.  CMake expects native
+    # paths internally.
+    if(wxWidgets_FOUND AND MSYS)
+      find_program(_cygpath_exe cygpath ONLY_CMAKE_FIND_ROOT_PATH)
+      DBG_MSG_V("_cygpath_exe:  ${_cygpath_exe}")
+      if(_cygpath_exe)
+        set(_tmp_path "")
+        foreach(_path ${wxWidgets_INCLUDE_DIRS})
+          execute_process(
+            COMMAND cygpath -w ${_path}
+            OUTPUT_VARIABLE _native_path
+            RESULT_VARIABLE _retv
+            OUTPUT_STRIP_TRAILING_WHITESPACE
+            ERROR_QUIET
+            )
+          if(_retv EQUAL 0)
+            file(TO_CMAKE_PATH ${_native_path} _native_path)
+            DBG_MSG_V("Path ${_path} converted to ${_native_path}")
+            string(APPEND _tmp_path " ${_native_path}")
+          endif()
+        endforeach()
+        DBG_MSG("Setting wxWidgets_INCLUDE_DIRS = ${_tmp_path}")
+        set(wxWidgets_INCLUDE_DIRS ${_tmp_path})
+        separate_arguments(wxWidgets_INCLUDE_DIRS)
+        list(REMOVE_ITEM wxWidgets_INCLUDE_DIRS "")
+      endif()
+      unset(_cygpath_exe CACHE)
+    endif()
+
+#=====================================================================
+# Neither UNIX_FIND_STYLE, nor WIN32_FIND_STYLE
+#=====================================================================
+  else()
+    if(NOT wxWidgets_FIND_QUIETLY)
+      message(STATUS
+        "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): \n"
+        "  Platform unknown/unsupported. It's neither WIN32 nor UNIX "
+        "find style."
+        )
+    endif()
+  endif()
+endif()
+
+# Check that all libraries are present, as wx-config does not check it
+set(_wx_lib_missing "")
+foreach(_wx_lib_ ${wxWidgets_LIBRARIES})
+  if("${_wx_lib_}" MATCHES "^-l(.*)")
+    set(_wx_lib_name "${CMAKE_MATCH_1}")
+    unset(_wx_lib_found CACHE)
+    find_library(_wx_lib_found NAMES ${_wx_lib_name} HINTS ${wxWidgets_LIBRARY_DIRS})
+    if(_wx_lib_found STREQUAL _wx_lib_found-NOTFOUND)
+      list(APPEND _wx_lib_missing ${_wx_lib_name})
+    endif()
+    unset(_wx_lib_found CACHE)
+  endif()
+endforeach()
+
+if (_wx_lib_missing)
+  string(REPLACE ";" " " _wx_lib_missing "${_wx_lib_missing}")
+  DBG_MSG_V("wxWidgets not found due to following missing libraries: ${_wx_lib_missing}")
+  set(wxWidgets_FOUND FALSE)
+  unset(wxWidgets_LIBRARIES)
+endif()
+unset(_wx_lib_missing)
+
+# Check if a specfic version was requested by find_package().
+if(wxWidgets_FOUND)
+  find_file(_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
+  dbg_msg("_filename:  ${_filename}")
+
+  if(NOT _filename)
+    message(FATAL_ERROR "wxWidgets wx/version.h file not found in ${wxWidgets_INCLUDE_DIRS}.")
+  endif()
+
+  file(READ ${_filename} _wx_version_h)
+
+  string(REGEX REPLACE "^(.*\n)?#define +wxMAJOR_VERSION +([0-9]+).*"
+    "\\2" wxWidgets_VERSION_MAJOR "${_wx_version_h}" )
+  string(REGEX REPLACE "^(.*\n)?#define +wxMINOR_VERSION +([0-9]+).*"
+    "\\2" wxWidgets_VERSION_MINOR "${_wx_version_h}" )
+  string(REGEX REPLACE "^(.*\n)?#define +wxRELEASE_NUMBER +([0-9]+).*"
+    "\\2" wxWidgets_VERSION_PATCH "${_wx_version_h}" )
+  set(wxWidgets_VERSION_STRING
+    "${wxWidgets_VERSION_MAJOR}.${wxWidgets_VERSION_MINOR}.${wxWidgets_VERSION_PATCH}" )
+  dbg_msg("wxWidgets_VERSION_STRING:    ${wxWidgets_VERSION_STRING}")
+endif()
+
+# Debug output:
+DBG_MSG("wxWidgets_FOUND           : ${wxWidgets_FOUND}")
+DBG_MSG("wxWidgets_INCLUDE_DIRS    : ${wxWidgets_INCLUDE_DIRS}")
+DBG_MSG("wxWidgets_LIBRARY_DIRS    : ${wxWidgets_LIBRARY_DIRS}")
+DBG_MSG("wxWidgets_LIBRARIES       : ${wxWidgets_LIBRARIES}")
+DBG_MSG("wxWidgets_CXX_FLAGS       : ${wxWidgets_CXX_FLAGS}")
+DBG_MSG("wxWidgets_USE_FILE        : ${wxWidgets_USE_FILE}")
+
+#=====================================================================
+#=====================================================================
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+find_package_handle_standard_args(wxWidgets
+  REQUIRED_VARS wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS
+  VERSION_VAR   wxWidgets_VERSION_STRING
+  )
+
+#=====================================================================
+# Macros for use in wxWidgets apps.
+# - This module will not fail to find wxWidgets based on the code
+#   below. Hence, it's required to check for validity of:
+#
+# wxWidgets_wxrc_EXECUTABLE
+#=====================================================================
+
+# Resource file compiler.
+find_program(wxWidgets_wxrc_EXECUTABLE wxrc
+  ${wxWidgets_ROOT_DIR}/utils/wxrc/vc_msw
+  DOC "Location of wxWidgets resource file compiler binary (wxrc)"
+  )
+
+#
+# WX_SPLIT_ARGUMENTS_ON(<keyword> <left> <right> <arg1> <arg2> ...)
+#
+# Sets <left> and <right> to contain arguments to the left and right,
+# respectively, of <keyword>.
+#
+# Example usage:
+#  function(WXWIDGETS_ADD_RESOURCES outfiles)
+#    WX_SPLIT_ARGUMENTS_ON(OPTIONS wxrc_files wxrc_options ${ARGN})
+#    ...
+#  endfunction()
+#
+#  WXWIDGETS_ADD_RESOURCES(sources ${xrc_files} OPTIONS -e -o file.C)
+#
+# NOTE: This is a generic piece of code that should be renamed to
+# SPLIT_ARGUMENTS_ON and put in a file serving the same purpose as
+# FindPackageStandardArgs.cmake. At the time of this writing
+# FindQt4.cmake has a QT4_EXTRACT_OPTIONS, which I basically copied
+# here a bit more generalized. So, there are already two find modules
+# using this approach.
+#
+function(WX_SPLIT_ARGUMENTS_ON _keyword _leftvar _rightvar)
+  # FIXME: Document that the input variables will be cleared.
+  #list(APPEND ${_leftvar}  "")
+  #list(APPEND ${_rightvar} "")
+  set(${_leftvar}  "")
+  set(${_rightvar} "")
+
+  set(_doing_right FALSE)
+  foreach(element ${ARGN})
+    if("${element}" STREQUAL "${_keyword}")
+      set(_doing_right TRUE)
+    else()
+      if(_doing_right)
+        list(APPEND ${_rightvar} "${element}")
+      else()
+        list(APPEND ${_leftvar} "${element}")
+      endif()
+    endif()
+  endforeach()
+
+  set(${_leftvar}  ${${_leftvar}}  PARENT_SCOPE)
+  set(${_rightvar} ${${_rightvar}} PARENT_SCOPE)
+endfunction()
+
+#
+# WX_GET_DEPENDENCIES_FROM_XML(
+#   <depends>
+#   <match_pattern>
+#   <clean_pattern>
+#   <xml_contents>
+#   <depends_path>
+#   )
+#
+# FIXME: Add documentation here...
+#
+function(WX_GET_DEPENDENCIES_FROM_XML
+    _depends
+    _match_patt
+    _clean_patt
+    _xml_contents
+    _depends_path
+    )
+
+  string(REGEX MATCHALL
+    ${_match_patt}
+    dep_file_list
+    "${${_xml_contents}}"
+    )
+  foreach(dep_file ${dep_file_list})
+    string(REGEX REPLACE ${_clean_patt} "" dep_file "${dep_file}")
+
+    # make the file have an absolute path
+    if(NOT IS_ABSOLUTE "${dep_file}")
+      set(dep_file "${${_depends_path}}/${dep_file}")
+    endif()
+
+    # append file to dependency list
+    list(APPEND ${_depends} "${dep_file}")
+  endforeach()
+
+  set(${_depends} ${${_depends}} PARENT_SCOPE)
+endfunction()
+
+#
+# WXWIDGETS_ADD_RESOURCES(<sources> <xrc_files>
+#                         OPTIONS <options> [NO_CPP_CODE])
+#
+# Adds a custom command for resource file compilation of the
+# <xrc_files> and appends the output files to <sources>.
+#
+# Example usages:
+#   WXWIDGETS_ADD_RESOURCES(sources xrc/main_frame.xrc)
+#   WXWIDGETS_ADD_RESOURCES(sources ${xrc_files} OPTIONS -e -o altname.cxx)
+#
+function(WXWIDGETS_ADD_RESOURCES _outfiles)
+  WX_SPLIT_ARGUMENTS_ON(OPTIONS rc_file_list rc_options ${ARGN})
+
+  # Parse files for dependencies.
+  set(rc_file_list_abs "")
+  set(rc_depends       "")
+  foreach(rc_file ${rc_file_list})
+    get_filename_component(depends_path ${rc_file} PATH)
+
+    get_filename_component(rc_file_abs ${rc_file} ABSOLUTE)
+    list(APPEND rc_file_list_abs "${rc_file_abs}")
+
+    # All files have absolute paths or paths relative to the location
+    # of the rc file.
+    file(READ "${rc_file_abs}" rc_file_contents)
+
+    # get bitmap/bitmap2 files
+    WX_GET_DEPENDENCIES_FROM_XML(
+      rc_depends
+      "<bitmap[^<]+"
+      "^<bitmap[^>]*>"
+      rc_file_contents
+      depends_path
+      )
+
+    # get url files
+    WX_GET_DEPENDENCIES_FROM_XML(
+      rc_depends
+      "<url[^<]+"
+      "^<url[^>]*>"
+      rc_file_contents
+      depends_path
+      )
+
+    # get wxIcon files
+    WX_GET_DEPENDENCIES_FROM_XML(
+      rc_depends
+      "<object[^>]*class=\"wxIcon\"[^<]+"
+      "^<object[^>]*>"
+      rc_file_contents
+      depends_path
+      )
+  endforeach()
+
+  #
+  # Parse options.
+  #
+  # If NO_CPP_CODE option specified, then produce .xrs file rather
+  # than a .cpp file (i.e., don't add the default --cpp-code option).
+  list(FIND rc_options NO_CPP_CODE index)
+  if(index EQUAL -1)
+    list(APPEND rc_options --cpp-code)
+    # wxrc's default output filename for cpp code.
+    set(outfile resource.cpp)
+  else()
+    list(REMOVE_AT rc_options ${index})
+    # wxrc's default output filename for xrs file.
+    set(outfile resource.xrs)
+  endif()
+
+  # Get output name for use in ADD_CUSTOM_COMMAND.
+  # - short option scanning
+  list(FIND rc_options -o index)
+  if(NOT index EQUAL -1)
+    math(EXPR filename_index "${index} + 1")
+    list(GET rc_options ${filename_index} outfile)
+    #list(REMOVE_AT rc_options ${index} ${filename_index})
+  endif()
+  # - long option scanning
+  string(REGEX MATCH "--output=[^;]*" outfile_opt "${rc_options}")
+  if(outfile_opt)
+    string(REPLACE "--output=" "" outfile "${outfile_opt}")
+  endif()
+  #string(REGEX REPLACE "--output=[^;]*;?" "" rc_options "${rc_options}")
+  #string(REGEX REPLACE ";$" "" rc_options "${rc_options}")
+
+  if(NOT IS_ABSOLUTE "${outfile}")
+    set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
+  endif()
+  add_custom_command(
+    OUTPUT "${outfile}"
+    COMMAND ${wxWidgets_wxrc_EXECUTABLE} ${rc_options} ${rc_file_list_abs}
+    DEPENDS ${rc_file_list_abs} ${rc_depends}
+    )
+
+  # Add generated header to output file list.
+  list(FIND rc_options -e short_index)
+  list(FIND rc_options --extra-cpp-code long_index)
+  if(NOT short_index EQUAL -1 OR NOT long_index EQUAL -1)
+    get_filename_component(outfile_ext ${outfile} EXT)
+    string(REPLACE "${outfile_ext}" ".h" outfile_header "${outfile}")
+    list(APPEND ${_outfiles} "${outfile_header}")
+    set_source_files_properties(
+      "${outfile_header}" PROPERTIES GENERATED TRUE
+      )
+  endif()
+
+  # Add generated file to output file list.
+  list(APPEND ${_outfiles} "${outfile}")
+
+  set(${_outfiles} ${${_outfiles}} PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.10/Modules/FindwxWindows.cmake b/share/cmake-3.10/Modules/FindwxWindows.cmake
new file mode 100644
index 0000000..76eb6be
--- /dev/null
+++ b/share/cmake-3.10/Modules/FindwxWindows.cmake
@@ -0,0 +1,726 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindwxWindows
+# -------------
+#
+# Find wxWindows (wxWidgets) installation
+#
+# This module finds if wxWindows/wxWidgets is installed and determines
+# where the include files and libraries are.  It also determines what
+# the name of the library is.  Please note this file is DEPRECATED and
+# replaced by FindwxWidgets.cmake.  This code sets the following
+# variables:
+#
+# ::
+#
+#   WXWINDOWS_FOUND     = system has WxWindows
+#   WXWINDOWS_LIBRARIES = path to the wxWindows libraries
+#                         on Unix/Linux with additional
+#                         linker flags from
+#                         "wx-config --libs"
+#   CMAKE_WXWINDOWS_CXX_FLAGS  = Compiler flags for wxWindows,
+#                                essentially "`wx-config --cxxflags`"
+#                                on Linux
+#   WXWINDOWS_INCLUDE_DIR      = where to find "wx/wx.h" and "wx/setup.h"
+#   WXWINDOWS_LINK_DIRECTORIES = link directories, useful for rpath on
+#                                 Unix
+#   WXWINDOWS_DEFINITIONS      = extra defines
+#
+#
+#
+# OPTIONS If you need OpenGL support please
+#
+# ::
+#
+#   set(WXWINDOWS_USE_GL 1)
+#
+# in your CMakeLists.txt *before* you include this file.
+#
+# ::
+#
+#   HAVE_ISYSTEM      - true required to replace -I by -isystem on g++
+#
+#
+#
+# For convenience include Use_wxWindows.cmake in your project's
+# CMakeLists.txt using
+# include(${CMAKE_CURRENT_LIST_DIR}/Use_wxWindows.cmake).
+#
+# USAGE
+#
+# ::
+#
+#   set(WXWINDOWS_USE_GL 1)
+#   find_package(wxWindows)
+#
+#
+#
+# NOTES wxWidgets 2.6.x is supported for monolithic builds e.g.
+# compiled in wx/build/msw dir as:
+#
+# ::
+#
+#   nmake -f makefile.vc BUILD=debug SHARED=0 USE_OPENGL=1 MONOLITHIC=1
+#
+#
+#
+# DEPRECATED
+#
+# ::
+#
+#   CMAKE_WX_CAN_COMPILE
+#   WXWINDOWS_LIBRARY
+#   CMAKE_WX_CXX_FLAGS
+#   WXWINDOWS_INCLUDE_PATH
+#
+#
+#
+# AUTHOR Jan Woetzel <http://www.mip.informatik.uni-kiel.de/~jw>
+# (07/2003-01/2006)
+
+# ------------------------------------------------------------------
+#
+# -removed OPTION for CMAKE_WXWINDOWS_USE_GL. Force the developer to SET it before calling this.
+# -major update for wx 2.6.2 and monolithic build option. (10/2005)
+#
+# STATUS
+# tested with:
+#  cmake 1.6.7, Linux (Suse 7.3), wxWindows 2.4.0, gcc 2.95
+#  cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.0, gcc 3.3
+#  cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.1-patch1,  gcc 3.3
+#  cmake 1.6.7, MS Windows XP home, wxWindows 2.4.1, MS Visual Studio .net 7 2002 (static build)
+#  cmake 2.0.5 on Windows XP and Suse Linux 9.2
+#  cmake 2.0.6 on Windows XP and Suse Linux 9.2, wxWidgets 2.6.2 MONOLITHIC build
+#  cmake 2.2.2 on Windows XP, MS Visual Studio .net 2003 7.1 wxWidgets 2.6.2 MONOLITHIC build
+#
+# TODO
+#  -OPTION for unicode builds
+#  -further testing of DLL linking under MS WIN32
+#  -better support for non-monolithic builds
+#
+
+
+if(WIN32)
+  set(WIN32_STYLE_FIND 1)
+endif()
+if(MINGW)
+  set(WIN32_STYLE_FIND 0)
+  set(UNIX_STYLE_FIND 1)
+endif()
+if(UNIX)
+  set(UNIX_STYLE_FIND 1)
+endif()
+
+
+if(WIN32_STYLE_FIND)
+
+  ## ######################################################################
+  ##
+  ## Windows specific:
+  ##
+  ## candidates for root/base directory of wxwindows
+  ## should have subdirs include and lib containing include/wx/wx.h
+  ## fix the root dir to avoid mixing of headers/libs from different
+  ## versions/builds:
+
+  ## WX supports monolithic and multiple smaller libs (since 2.5.x), we prefer monolithic for now.
+  ## monolithic = WX is built as a single big library
+  ## e.g. compile on WIN32 as  "nmake -f makefile.vc MONOLITHIC=1 BUILD=debug SHARED=0 USE_OPENGL=1" (JW)
+  option(WXWINDOWS_USE_MONOLITHIC "Use monolithic build of WX??" ON)
+  mark_as_advanced(WXWINDOWS_USE_MONOLITHIC)
+
+  ## GL libs used?
+  option(WXWINDOWS_USE_GL "Use Wx with GL support(glcanvas)?" ON)
+  mark_as_advanced(WXWINDOWS_USE_GL)
+
+
+  ## avoid mixing of headers and libs between multiple installed WX versions,
+  ## select just one tree here:
+  find_path(WXWINDOWS_ROOT_DIR  include/wx/wx.h
+    HINTS
+      ENV WXWIN
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]"  ## WX 2.6.x
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]"  ## WX 2.4.x
+    PATHS
+      C:/wxWidgets-2.6.2
+      D:/wxWidgets-2.6.2
+      C:/wxWidgets-2.6.1
+      D:/wxWidgets-2.6.1
+      C:/wxWindows-2.4.2
+      D:/wxWindows-2.4.2
+  )
+  # message("DBG found WXWINDOWS_ROOT_DIR: ${WXWINDOWS_ROOT_DIR}")
+
+
+  ## find libs for combination of static/shared with release/debug
+  ## be careful if you add something here,
+  ## avoid mixing of headers and libs of different wx versions,
+  ## there may be multiple WX versions installed.
+  set (WXWINDOWS_POSSIBLE_LIB_PATHS
+    "${WXWINDOWS_ROOT_DIR}/lib"
+    )
+
+  ## monolithic?
+  if (WXWINDOWS_USE_MONOLITHIC)
+
+    find_library(WXWINDOWS_STATIC_LIBRARY
+      NAMES wx wxmsw wxmsw26
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static release build library" )
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY
+      NAMES wxd wxmswd wxmsw26d
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug build library" )
+
+    find_library(WXWINDOWS_SHARED_LIBRARY
+      NAMES wxmsw26 wxmsw262 wxmsw24 wxmsw242 wxmsw241 wxmsw240 wx23_2 wx22_9
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows shared release build library" )
+
+    find_library(WXWINDOWS_SHARED_DEBUG_LIBRARY
+      NAMES wxmsw26d wxmsw262d wxmsw24d wxmsw241d wxmsw240d wx23_2d wx22_9d
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows shared debug build library " )
+
+
+    ##
+    ## required for WXWINDOWS_USE_GL
+    ## gl lib is always build separate:
+    ##
+    find_library(WXWINDOWS_STATIC_LIBRARY_GL
+      NAMES wx_gl wxmsw_gl wxmsw26_gl
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static release build GL library" )
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
+      NAMES wxd_gl wxmswd_gl wxmsw26d_gl
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug build GL library" )
+
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
+      NAMES wxpngd
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug png library" )
+
+    find_library(WXWINDOWS_STATIC_LIBRARY_PNG
+      NAMES wxpng
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static png library" )
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
+      NAMES wxtiffd
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug tiff library" )
+
+    find_library(WXWINDOWS_STATIC_LIBRARY_TIFF
+      NAMES wxtiff
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static tiff library" )
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
+      NAMES wxjpegd  wxjpgd
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug jpeg library" )
+
+    find_library(WXWINDOWS_STATIC_LIBRARY_JPEG
+      NAMES wxjpeg wxjpg
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static jpeg library" )
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
+      NAMES wxzlibd
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug zlib library" )
+
+    find_library(WXWINDOWS_STATIC_LIBRARY_ZLIB
+      NAMES wxzlib
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static zib library" )
+
+    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
+      NAMES wxregexd
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static debug regex library" )
+
+    find_library(WXWINDOWS_STATIC_LIBRARY_REGEX
+      NAMES wxregex
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows static regex library" )
+
+
+
+    ## untested:
+    find_library(WXWINDOWS_SHARED_LIBRARY_GL
+      NAMES wx_gl wxmsw_gl wxmsw26_gl
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows shared release build GL library" )
+
+    find_library(WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
+      NAMES wxd_gl wxmswd_gl wxmsw26d_gl
+      PATHS
+      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
+      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+      DOC "wxWindows shared debug build GL library" )
+
+
+  else ()
+    ## WX is built as multiple small pieces libraries instead of monolithic
+
+    ## DEPECATED (jw) replaced by more general WXWINDOWS_USE_MONOLITHIC ON/OFF
+    # option(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
+
+    ## HACK: This is very dirty.
+    ## because the libs of a particular version are explicitly listed
+    ## and NOT searched/verified.
+    ## TODO:  Really search for each lib, then decide for
+    ## monolithic x debug x shared x GL (=16 combinations) for at least 18 libs
+    ## -->  about 288 combinations
+    ## thus we need a different approach so solve this correctly ...
+
+    message(STATUS "Warning: You are trying to use wxWidgets without monolithic build (WXWINDOWS_SEPARATE_LIBS_BUILD). This is a HACK, libraries are not verified! (JW).")
+
+    set(WXWINDOWS_STATIC_LIBS ${WXWINDOWS_STATIC_LIBS}
+      wxbase26
+      wxbase26_net
+      wxbase26_odbc
+      wxbase26_xml
+      wxmsw26_adv
+      wxmsw26_core
+      wxmsw26_dbgrid
+      wxmsw26_gl
+      wxmsw26_html
+      wxmsw26_media
+      wxmsw26_qa
+      wxmsw26_xrc
+      wxexpat
+      wxjpeg
+      wxpng
+      wxregex
+      wxtiff
+      wxzlib
+      comctl32
+      rpcrt4
+      wsock32
+      )
+    ## HACK: feed in to optimized / debug libraries if both were FOUND.
+    set(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
+      wxbase26d
+      wxbase26d_net
+      wxbase26d_odbc
+      wxbase26d_xml
+      wxmsw26d_adv
+      wxmsw26d_core
+      wxmsw26d_dbgrid
+      wxmsw26d_gl
+      wxmsw26d_html
+      wxmsw26d_media
+      wxmsw26d_qa
+      wxmsw26d_xrc
+      wxexpatd
+      wxjpegd
+      wxpngd
+      wxregexd
+      wxtiffd
+      wxzlibd
+      comctl32
+      rpcrt4
+      wsock32
+      )
+  endif ()
+
+
+  ##
+  ## now we should have found all WX libs available on the system.
+  ## let the user decide which of the available onse to use.
+  ##
+
+  ## if there is at least one shared lib available
+  ## let user choose whether to use shared or static wxwindows libs
+  if(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
+    ## default value OFF because wxWindows MSVS default build is static
+    option(WXWINDOWS_USE_SHARED_LIBS
+      "Use shared versions (dll) of wxWindows libraries?" OFF)
+    mark_as_advanced(WXWINDOWS_USE_SHARED_LIBS)
+  endif()
+
+  ## add system libraries wxwindows always seems to depend on
+  set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+    comctl32
+    rpcrt4
+    wsock32
+    )
+
+  if (NOT WXWINDOWS_USE_SHARED_LIBS)
+    set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+      ##  these ones dont seem required, in particular  ctl3d32 is not neccesary (Jan Woetzel 07/2003)
+      #   ctl3d32
+      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB}   optimized ${WXWINDOWS_STATIC_LIBRARY_ZLIB}
+      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX}  optimized ${WXWINDOWS_STATIC_LIBRARY_REGEX}
+      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG}    optimized ${WXWINDOWS_STATIC_LIBRARY_PNG}
+      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG}   optimized ${WXWINDOWS_STATIC_LIBRARY_JPEG}
+      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF}   optimized ${WXWINDOWS_STATIC_LIBRARY_TIFF}
+      )
+  endif ()
+
+  ## opengl/glu: TODO/FIXME: better use FindOpenGL.cmake here
+  ## assume release versions of glu an dopengl, here.
+  if (WXWINDOWS_USE_GL)
+    set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+      opengl32
+      glu32 )
+  endif ()
+
+  ##
+  ## select between use of  shared or static wxWindows lib then set libs to use
+  ## for debug and optimized build.  so the user can switch between debug and
+  ## release build e.g. within MS Visual Studio without running cmake with a
+  ## different build directory again.
+  ##
+  ## then add the build specific include dir for wx/setup.h
+  ##
+
+  if(WXWINDOWS_USE_SHARED_LIBS)
+    ##message("DBG wxWindows use shared lib selected.")
+    ## assume that both builds use the same setup(.h) for simplicity
+
+    ## shared: both wx (debug and release) found?
+    ## assume that both builds use the same setup(.h) for simplicity
+    if(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
+      ##message("DBG wx shared: debug and optimized found.")
+      find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
+        ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
+        ${WXWINDOWS_ROOT_DIR}/lib/mswdll
+        ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd
+        ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
+      set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+        debug     ${WXWINDOWS_SHARED_DEBUG_LIBRARY}
+        optimized ${WXWINDOWS_SHARED_LIBRARY} )
+      if (WXWINDOWS_USE_GL)
+        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+          debug     ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL}
+          optimized ${WXWINDOWS_SHARED_LIBRARY_GL} )
+      endif ()
+    endif()
+
+    ## shared: only debug wx lib found?
+    if(WXWINDOWS_SHARED_DEBUG_LIBRARY)
+      if(NOT WXWINDOWS_SHARED_LIBRARY)
+        ##message("DBG wx shared: debug (but no optimized) found.")
+        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
+          ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
+          ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd  )
+        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+          ${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
+        if (WXWINDOWS_USE_GL)
+          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+            ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
+        endif ()
+      endif()
+    endif()
+
+    ## shared: only release wx lib found?
+    if(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
+      if(WXWINDOWS_SHARED_LIBRARY)
+        ##message("DBG wx shared: optimized (but no debug) found.")
+        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
+          ${WXWINDOWS_ROOT_DIR}/lib/mswdll
+          ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw  )
+        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+          ${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
+        if (WXWINDOWS_USE_GL)
+          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+            ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
+        endif ()
+      endif()
+    endif()
+
+    ## shared: none found?
+    if(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
+      if(NOT WXWINDOWS_SHARED_LIBRARY)
+        message(STATUS
+          "No shared wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
+      endif()
+    endif()
+
+    #########################################################################################
+  else()
+
+    ##jw: DEPRECATED if(NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
+
+    ## static: both wx (debug and release) found?
+    ## assume that both builds use the same setup(.h) for simplicity
+    if(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
+      ##message("DBG wx static: debug and optimized found.")
+      find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
+        ${WXWINDOWS_ROOT_DIR}/lib/mswd
+        ${WXWINDOWS_ROOT_DIR}/lib/msw
+        ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd
+        ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
+      set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+        debug     ${WXWINDOWS_STATIC_DEBUG_LIBRARY}
+        optimized ${WXWINDOWS_STATIC_LIBRARY} )
+      if (WXWINDOWS_USE_GL)
+        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+          debug     ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL}
+          optimized ${WXWINDOWS_STATIC_LIBRARY_GL} )
+      endif ()
+    endif()
+
+    ## static: only debug wx lib found?
+    if(WXWINDOWS_STATIC_DEBUG_LIBRARY)
+      if(NOT WXWINDOWS_STATIC_LIBRARY)
+        ##message("DBG wx static: debug (but no optimized) found.")
+        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
+          ${WXWINDOWS_ROOT_DIR}/lib/mswd
+          ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd  )
+        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+          ${WXWINDOWS_STATIC_DEBUG_LIBRARY} )
+        if (WXWINDOWS_USE_GL)
+          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+            ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL} )
+        endif ()
+      endif()
+    endif()
+
+    ## static: only release wx lib found?
+    if(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
+      if(WXWINDOWS_STATIC_LIBRARY)
+        ##message("DBG wx static: optimized (but no debug) found.")
+        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
+          ${WXWINDOWS_ROOT_DIR}/lib/msw
+          ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
+        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+          ${WXWINDOWS_STATIC_LIBRARY} )
+        if (WXWINDOWS_USE_GL)
+          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+            ${WXWINDOWS_STATIC_LIBRARY_GL} )
+        endif ()
+      endif()
+    endif()
+
+    ## static: none found?
+    if(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
+      if(NOT WXWINDOWS_STATIC_LIBRARY)
+        message(STATUS
+          "No static wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
+      endif()
+    endif()
+  endif()
+
+
+  ## not neccessary in wxWindows 2.4.1 and 2.6.2
+  ## but it may fix a previous bug, see
+  ## http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?8:mss:37574:200305:mpdioeneabobmgjenoap
+  option(WXWINDOWS_SET_DEFINITIONS "Set additional defines for wxWindows" OFF)
+  mark_as_advanced(WXWINDOWS_SET_DEFINITIONS)
+  if (WXWINDOWS_SET_DEFINITIONS)
+    set(WXWINDOWS_DEFINITIONS "-DWINVER=0x400")
+  else ()
+    # clear:
+    set(WXWINDOWS_DEFINITIONS "")
+  endif ()
+
+
+
+  ## Find the include directories for wxwindows
+  ## the first, build specific for wx/setup.h was determined before.
+  ## add inc dir for general for "wx/wx.h"
+  find_path(WXWINDOWS_INCLUDE_DIR  wx/wx.h
+    "${WXWINDOWS_ROOT_DIR}/include" )
+  ## append the build specific include dir for wx/setup.h:
+  if (WXWINDOWS_INCLUDE_DIR_SETUPH)
+    set(WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${WXWINDOWS_INCLUDE_DIR_SETUPH} )
+  endif ()
+
+
+
+  mark_as_advanced(
+    WXWINDOWS_ROOT_DIR
+    WXWINDOWS_INCLUDE_DIR
+    WXWINDOWS_INCLUDE_DIR_SETUPH
+    WXWINDOWS_STATIC_LIBRARY
+    WXWINDOWS_STATIC_LIBRARY_GL
+    WXWINDOWS_STATIC_DEBUG_LIBRARY
+    WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
+    WXWINDOWS_STATIC_LIBRARY_ZLIB
+    WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
+    WXWINDOWS_STATIC_LIBRARY_REGEX
+    WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
+    WXWINDOWS_STATIC_LIBRARY_PNG
+    WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
+    WXWINDOWS_STATIC_LIBRARY_JPEG
+    WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
+    WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
+    WXWINDOWS_STATIC_LIBRARY_TIFF
+    WXWINDOWS_SHARED_LIBRARY
+    WXWINDOWS_SHARED_DEBUG_LIBRARY
+    WXWINDOWS_SHARED_LIBRARY_GL
+    WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
+    )
+
+
+else()
+
+  if (UNIX_STYLE_FIND)
+    ## ######################################################################
+    ##
+    ## UNIX/Linux specific:
+    ##
+    ## use backquoted wx-config to query and set flags and libs:
+    ## 06/2003 Jan Woetzel
+    ##
+
+    option(WXWINDOWS_USE_SHARED_LIBS "Use shared versions (.so) of wxWindows libraries" ON)
+    mark_as_advanced(WXWINDOWS_USE_SHARED_LIBS)
+
+    # JW removed option and force the develper th SET it.
+    # option(WXWINDOWS_USE_GL "use wxWindows with GL support (use additional
+    # --gl-libs for wx-config)?" OFF)
+
+    # wx-config should be in your path anyhow, usually no need to set WXWIN or
+    # search in ../wx or ../../wx
+    find_program(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE wx-config
+      HINTS
+        ENV WXWIN
+        $ENV{WXWIN}/bin
+      PATHS
+      ../wx/bin
+      ../../wx/bin )
+
+    # check whether wx-config was found:
+    if(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+
+      # use shared/static wx lib?
+      # remember: always link shared to use systems GL etc. libs (no static
+      # linking, just link *against* static .a libs)
+      if(WXWINDOWS_USE_SHARED_LIBS)
+        set(WX_CONFIG_ARGS_LIBS "--libs")
+      else()
+        set(WX_CONFIG_ARGS_LIBS "--static --libs")
+      endif()
+
+      # do we need additionial wx GL stuff like GLCanvas ?
+      if(WXWINDOWS_USE_GL)
+        string(APPEND WX_CONFIG_ARGS_LIBS " --gl-libs" )
+      endif()
+      ##message("DBG: WX_CONFIG_ARGS_LIBS=${WX_CONFIG_ARGS_LIBS}===")
+
+      # set CXXFLAGS to be fed into CMAKE_CXX_FLAGS by the user:
+      if (HAVE_ISYSTEM) # does the compiler support -isystem ?
+              if (NOT APPLE) # -isystem seem sto be unsuppored on Mac
+                if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
+            if (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
+              set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
+            else()
+              set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags`")
+            endif()
+                endif()
+              endif ()
+      endif ()
+      ##message("DBG: for compilation:
+      ##CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS}===")
+
+      # keep the back-quoted string for clarity
+      set(WXWINDOWS_LIBRARIES "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} ${WX_CONFIG_ARGS_LIBS}`")
+      ##message("DBG2: for linking:
+      ##WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}===")
+
+      # evaluate wx-config output to separate linker flags and linkdirs for
+      # rpath:
+      exec_program(${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
+        ARGS ${WX_CONFIG_ARGS_LIBS}
+        OUTPUT_VARIABLE WX_CONFIG_LIBS )
+
+      ## extract linkdirs (-L) for rpath
+      ## use regular expression to match wildcard equivalent "-L*<endchar>"
+      ## with <endchar> is a space or a semicolon
+      string(REGEX MATCHALL "[-][L]([^ ;])+" WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX "${WX_CONFIG_LIBS}" )
+      # message("DBG  WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX=${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX}")
+
+      ## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
+      ## replace -L by ; because the separator seems to be lost otherwise (bug or
+      ## feature?)
+      if(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
+        string(REGEX REPLACE "[-][L]" ";" WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX} )
+        # message("DBG  WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}")
+      endif()
+
+
+      ## replace space separated string by semicolon separated vector to make it
+      ## work with LINK_DIRECTORIES
+      separate_arguments(WXWINDOWS_LINK_DIRECTORIES)
+
+      mark_as_advanced(
+        CMAKE_WXWINDOWS_CXX_FLAGS
+        WXWINDOWS_INCLUDE_DIR
+        WXWINDOWS_LIBRARIES
+        CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE
+        )
+
+
+      ## we really need wx-config...
+    else()
+      message(STATUS "Cannot find wx-config anywhere on the system. Please put the file into your path or specify it in CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE.")
+      mark_as_advanced(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+    endif()
+
+
+
+  else()
+    message(STATUS "FindwxWindows.cmake:  Platform unknown/unsupported by FindwxWindows.cmake. It's neither WIN32 nor UNIX")
+  endif()
+endif()
+
+
+if(WXWINDOWS_LIBRARIES)
+  if(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
+    ## found all we need.
+    set(WXWINDOWS_FOUND 1)
+
+    ## set deprecated variables for backward compatibility:
+    set(CMAKE_WX_CAN_COMPILE   ${WXWINDOWS_FOUND})
+    set(WXWINDOWS_LIBRARY     ${WXWINDOWS_LIBRARIES})
+    set(WXWINDOWS_INCLUDE_PATH ${WXWINDOWS_INCLUDE_DIR})
+    set(WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES})
+    set(CMAKE_WX_CXX_FLAGS     ${CMAKE_WXWINDOWS_CXX_FLAGS})
+
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/FortranCInterface.cmake b/share/cmake-3.10/Modules/FortranCInterface.cmake
new file mode 100644
index 0000000..893a96f
--- /dev/null
+++ b/share/cmake-3.10/Modules/FortranCInterface.cmake
@@ -0,0 +1,392 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FortranCInterface
+-----------------
+
+Fortran/C Interface Detection
+
+This module automatically detects the API by which C and Fortran
+languages interact.
+
+Module Variables
+^^^^^^^^^^^^^^^^
+
+Variables that indicate if the mangling is found:
+
+``FortranCInterface_GLOBAL_FOUND``
+  Global subroutines and functions.
+
+``FortranCInterface_MODULE_FOUND``
+  Module subroutines and functions (declared by "MODULE PROCEDURE").
+
+This module also provides the following variables to specify
+the detected mangling, though a typical use case does not need
+to reference them and can use the `Module Functions`_ below.
+
+``FortranCInterface_GLOBAL_PREFIX``
+  Prefix for a global symbol without an underscore.
+
+``FortranCInterface_GLOBAL_SUFFIX``
+  Suffix for a global symbol without an underscore.
+
+``FortranCInterface_GLOBAL_CASE``
+  The case for a global symbol without an underscore,
+  either ``UPPER`` or ``LOWER``.
+
+``FortranCInterface_GLOBAL__PREFIX``
+  Prefix for a global symbol with an underscore.
+
+``FortranCInterface_GLOBAL__SUFFIX``
+  Suffix for a global symbol with an underscore.
+
+``FortranCInterface_GLOBAL__CASE``
+  The case for a global symbol with an underscore,
+  either ``UPPER`` or ``LOWER``.
+
+``FortranCInterface_MODULE_PREFIX``
+  Prefix for a module symbol without an underscore.
+
+``FortranCInterface_MODULE_MIDDLE``
+  Middle of a module symbol without an underscore that appears
+  between the name of the module and the name of the symbol.
+
+``FortranCInterface_MODULE_SUFFIX``
+  Suffix for a module symbol without an underscore.
+
+``FortranCInterface_MODULE_CASE``
+  The case for a module symbol without an underscore,
+  either ``UPPER`` or ``LOWER``.
+
+``FortranCInterface_MODULE__PREFIX``
+  Prefix for a module symbol with an underscore.
+
+``FortranCInterface_MODULE__MIDDLE``
+  Middle of a module symbol with an underscore that appears
+  between the name of the module and the name of the symbol.
+
+``FortranCInterface_MODULE__SUFFIX``
+  Suffix for a module symbol with an underscore.
+
+``FortranCInterface_MODULE__CASE``
+  The case for a module symbol with an underscore,
+  either ``UPPER`` or ``LOWER``.
+
+Module Functions
+^^^^^^^^^^^^^^^^
+
+.. command:: FortranCInterface_HEADER
+
+  The ``FortranCInterface_HEADER`` function is provided to generate a
+  C header file containing macros to mangle symbol names::
+
+    FortranCInterface_HEADER(<file>
+                             [MACRO_NAMESPACE <macro-ns>]
+                             [SYMBOL_NAMESPACE <ns>]
+                             [SYMBOLS [<module>:]<function> ...])
+
+  It generates in ``<file>`` definitions of the following macros::
+
+     #define FortranCInterface_GLOBAL (name,NAME) ...
+     #define FortranCInterface_GLOBAL_(name,NAME) ...
+     #define FortranCInterface_MODULE (mod,name, MOD,NAME) ...
+     #define FortranCInterface_MODULE_(mod,name, MOD,NAME) ...
+
+  These macros mangle four categories of Fortran symbols, respectively:
+
+  * Global symbols without '_': ``call mysub()``
+  * Global symbols with '_'   : ``call my_sub()``
+  * Module symbols without '_': ``use mymod; call mysub()``
+  * Module symbols with '_'   : ``use mymod; call my_sub()``
+
+  If mangling for a category is not known, its macro is left undefined.
+  All macros require raw names in both lower case and upper case.
+
+  The options are:
+
+  ``MACRO_NAMESPACE``
+    Replace the default ``FortranCInterface_`` prefix with a given
+    namespace ``<macro-ns>``.
+
+  ``SYMBOLS``
+    List symbols to mangle automatically with C preprocessor definitions::
+
+      <function>          ==> #define <ns><function> ...
+      <module>:<function> ==> #define <ns><module>_<function> ...
+
+    If the mangling for some symbol is not known then no preprocessor
+    definition is created, and a warning is displayed.
+
+  ``SYMBOL_NAMESPACE``
+    Prefix all preprocessor definitions generated by the ``SYMBOLS``
+    option with a given namespace ``<ns>``.
+
+.. command:: FortranCInterface_VERIFY
+
+  The ``FortranCInterface_VERIFY`` function is provided to verify
+  that the Fortran and C/C++ compilers work together::
+
+    FortranCInterface_VERIFY([CXX] [QUIET])
+
+  It tests whether a simple test executable using Fortran and C (and C++
+  when the CXX option is given) compiles and links successfully.  The
+  result is stored in the cache entry ``FortranCInterface_VERIFIED_C``
+  (or ``FortranCInterface_VERIFIED_CXX`` if ``CXX`` is given) as a boolean.
+  If the check fails and ``QUIET`` is not given the function terminates with a
+  fatal error message describing the problem.  The purpose of this check
+  is to stop a build early for incompatible compiler combinations.  The
+  test is built in the ``Release`` configuration.
+
+Example Usage
+^^^^^^^^^^^^^
+
+.. code-block:: cmake
+
+   include(FortranCInterface)
+   FortranCInterface_HEADER(FC.h MACRO_NAMESPACE "FC_")
+
+This creates a "FC.h" header that defines mangling macros ``FC_GLOBAL()``,
+``FC_GLOBAL_()``, ``FC_MODULE()``, and ``FC_MODULE_()``.
+
+.. code-block:: cmake
+
+   include(FortranCInterface)
+   FortranCInterface_HEADER(FCMangle.h
+                            MACRO_NAMESPACE "FC_"
+                            SYMBOL_NAMESPACE "FC_"
+                            SYMBOLS mysub mymod:my_sub)
+
+This creates a "FCMangle.h" header that defines the same ``FC_*()``
+mangling macros as the previous example plus preprocessor symbols
+``FC_mysub`` and ``FC_mymod_my_sub``.
+
+Additional Manglings
+^^^^^^^^^^^^^^^^^^^^
+
+FortranCInterface is aware of possible ``GLOBAL`` and ``MODULE`` manglings
+for many Fortran compilers, but it also provides an interface to specify
+new possible manglings.  Set the variables::
+
+   FortranCInterface_GLOBAL_SYMBOLS
+   FortranCInterface_MODULE_SYMBOLS
+
+before including FortranCInterface to specify manglings of the symbols
+``MySub``, ``My_Sub``, ``MyModule:MySub``, and ``My_Module:My_Sub``.
+For example, the code:
+
+.. code-block:: cmake
+
+   set(FortranCInterface_GLOBAL_SYMBOLS mysub_ my_sub__ MYSUB_)
+     #                                  ^^^^^  ^^^^^^   ^^^^^
+   set(FortranCInterface_MODULE_SYMBOLS
+       __mymodule_MOD_mysub __my_module_MOD_my_sub)
+     #   ^^^^^^^^     ^^^^^   ^^^^^^^^^     ^^^^^^
+   include(FortranCInterface)
+
+tells FortranCInterface to try given ``GLOBAL`` and ``MODULE`` manglings.
+(The carets point at raw symbol names for clarity in this example but
+are not needed.)
+#]=======================================================================]
+
+#-----------------------------------------------------------------------------
+# Execute at most once in a project.
+if(FortranCInterface_SOURCE_DIR)
+  return()
+endif()
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0007 NEW)
+
+#-----------------------------------------------------------------------------
+# Verify that C and Fortran are available.
+foreach(lang C Fortran)
+  if(NOT CMAKE_${lang}_COMPILER_LOADED)
+    message(FATAL_ERROR
+      "FortranCInterface requires the ${lang} language to be enabled.")
+  endif()
+endforeach()
+
+#-----------------------------------------------------------------------------
+set(FortranCInterface_SOURCE_DIR ${CMAKE_ROOT}/Modules/FortranCInterface)
+
+# MinGW's make tool does not always like () in the path
+if("${CMAKE_GENERATOR}" MATCHES "MinGW" AND
+    "${FortranCInterface_SOURCE_DIR}" MATCHES "[()]")
+  file(COPY ${FortranCInterface_SOURCE_DIR}/
+    DESTINATION ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterfaceMinGW)
+  set(FortranCInterface_SOURCE_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterfaceMinGW)
+endif()
+
+# Create the interface detection project if it does not exist.
+if(NOT FortranCInterface_BINARY_DIR)
+  set(FortranCInterface_BINARY_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterface)
+  include(${FortranCInterface_SOURCE_DIR}/Detect.cmake)
+endif()
+
+# Load the detection results.
+include(${FortranCInterface_BINARY_DIR}/Output.cmake)
+
+#-----------------------------------------------------------------------------
+function(FortranCInterface_HEADER file)
+  # Parse arguments.
+  if(IS_ABSOLUTE "${file}")
+    set(FILE "${file}")
+  else()
+    set(FILE "${CMAKE_CURRENT_BINARY_DIR}/${file}")
+  endif()
+  set(MACRO_NAMESPACE "FortranCInterface_")
+  set(SYMBOL_NAMESPACE)
+  set(SYMBOLS)
+  set(doing)
+  foreach(arg ${ARGN})
+    if("x${arg}" MATCHES "^x(SYMBOLS|SYMBOL_NAMESPACE|MACRO_NAMESPACE)$")
+      set(doing "${arg}")
+    elseif("x${doing}" MATCHES "^x(SYMBOLS)$")
+      list(APPEND "${doing}" "${arg}")
+    elseif("x${doing}" MATCHES "^x(SYMBOL_NAMESPACE|MACRO_NAMESPACE)$")
+      set("${doing}" "${arg}")
+      set(doing)
+    else()
+      message(AUTHOR_WARNING "Unknown argument: \"${arg}\"")
+    endif()
+  endforeach()
+
+  # Generate macro definitions.
+  set(HEADER_CONTENT)
+  set(_desc_GLOBAL  "/* Mangling for Fortran global symbols without underscores. */")
+  set(_desc_GLOBAL_ "/* Mangling for Fortran global symbols with underscores. */")
+  set(_desc_MODULE  "/* Mangling for Fortran module symbols without underscores. */")
+  set(_desc_MODULE_ "/* Mangling for Fortran module symbols with underscores. */")
+  foreach(macro GLOBAL GLOBAL_ MODULE MODULE_)
+    if(FortranCInterface_${macro}_MACRO)
+      string(APPEND HEADER_CONTENT "
+${_desc_${macro}}
+#define ${MACRO_NAMESPACE}${macro}${FortranCInterface_${macro}_MACRO}
+")
+    endif()
+  endforeach()
+
+  # Generate symbol mangling definitions.
+  if(SYMBOLS)
+    string(APPEND HEADER_CONTENT "
+/*--------------------------------------------------------------------------*/
+/* Mangle some symbols automatically.                                       */
+")
+  endif()
+  foreach(f ${SYMBOLS})
+    if("${f}" MATCHES ":")
+      # Module symbol name.  Parse "<module>:<function>" syntax.
+      string(REPLACE ":" ";" pieces "${f}")
+      list(GET pieces 0 module)
+      list(GET pieces 1 function)
+      string(TOUPPER "${module}" m_upper)
+      string(TOLOWER "${module}" m_lower)
+      string(TOUPPER "${function}" f_upper)
+      string(TOLOWER "${function}" f_lower)
+      if("${function}" MATCHES "_")
+        set(form "_")
+      else()
+        set(form "")
+      endif()
+      if(FortranCInterface_MODULE${form}_MACRO)
+        string(APPEND HEADER_CONTENT "#define ${SYMBOL_NAMESPACE}${module}_${function} ${MACRO_NAMESPACE}MODULE${form}(${m_lower},${f_lower}, ${m_upper},${f_upper})\n")
+      else()
+        message(AUTHOR_WARNING "No FortranCInterface mangling known for ${f}")
+      endif()
+    else()
+      # Global symbol name.
+      if("${f}" MATCHES "_")
+        set(form "_")
+      else()
+        set(form "")
+      endif()
+      string(TOUPPER "${f}" f_upper)
+      string(TOLOWER "${f}" f_lower)
+      if(FortranCInterface_GLOBAL${form}_MACRO)
+        string(APPEND HEADER_CONTENT "#define ${SYMBOL_NAMESPACE}${f} ${MACRO_NAMESPACE}GLOBAL${form}(${f_lower}, ${f_upper})\n")
+      else()
+        message(AUTHOR_WARNING "No FortranCInterface mangling known for ${f}")
+      endif()
+    endif()
+  endforeach()
+
+  # Store the content.
+  configure_file(${FortranCInterface_SOURCE_DIR}/Macro.h.in ${FILE} @ONLY)
+endfunction()
+
+function(FortranCInterface_VERIFY)
+  # Check arguments.
+
+  set(lang C)
+  set(quiet 0)
+  set(verify_cxx 0)
+  foreach(arg ${ARGN})
+    if("${arg}" STREQUAL "QUIET")
+      set(quiet 1)
+    elseif("${arg}" STREQUAL "CXX")
+      set(lang CXX)
+      set(verify_cxx 1)
+    else()
+      message(FATAL_ERROR
+        "FortranCInterface_VERIFY - called with unknown argument:\n  ${arg}")
+    endif()
+  endforeach()
+
+  if(NOT CMAKE_${lang}_COMPILER_LOADED)
+    message(FATAL_ERROR
+      "FortranCInterface_VERIFY(${lang}) requires ${lang} to be enabled.")
+  endif()
+
+  # Build the verification project if not yet built.
+  if(NOT DEFINED FortranCInterface_VERIFIED_${lang})
+    set(_desc "Verifying Fortran/${lang} Compiler Compatibility")
+    message(STATUS "${_desc}")
+
+    # Build a sample project which reports symbols.
+    set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
+    try_compile(FortranCInterface_VERIFY_${lang}_COMPILED
+      ${FortranCInterface_BINARY_DIR}/Verify${lang}
+      ${FortranCInterface_SOURCE_DIR}/Verify
+      VerifyFortranC # project name
+      VerifyFortranC # target name
+      CMAKE_FLAGS -DVERIFY_CXX=${verify_cxx}
+                  -DCMAKE_VERBOSE_MAKEFILE=ON
+                 "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
+                 "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}"
+                 "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
+                 "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
+                 "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}"
+                 "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
+      OUTPUT_VARIABLE _output)
+    file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}")
+
+    # Report results.
+    if(FortranCInterface_VERIFY_${lang}_COMPILED)
+      message(STATUS "${_desc} - 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")
+      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")
+    endif()
+    unset(FortranCInterface_VERIFY_${lang}_COMPILED CACHE)
+  endif()
+
+  # Error if compilers are incompatible.
+  if(NOT FortranCInterface_VERIFIED_${lang} AND NOT quiet)
+    file(READ "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" _output)
+    string(REPLACE "\n" "\n  " _output "${_output}")
+    message(FATAL_ERROR
+      "The Fortran compiler:\n  ${CMAKE_Fortran_COMPILER}\n"
+      "and the ${lang} compiler:\n  ${CMAKE_${lang}_COMPILER}\n"
+      "failed to compile a simple test project using both languages.  "
+      "The output was:\n  ${_output}")
+  endif()
+endfunction()
+
+# Restore including context policies.
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/FortranCInterface/CMakeLists.txt b/share/cmake-3.10/Modules/FortranCInterface/CMakeLists.txt
new file mode 100644
index 0000000..e3b81d7
--- /dev/null
+++ b/share/cmake-3.10/Modules/FortranCInterface/CMakeLists.txt
@@ -0,0 +1,104 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+project(FortranCInterface C Fortran)
+include(${FortranCInterface_BINARY_DIR}/Input.cmake OPTIONAL)
+
+# Check if the C compiler supports '$' in identifiers.
+include(CheckCSourceCompiles)
+check_c_source_compiles("
+extern int dollar$(void);
+int main() { return 0; }
+" C_SUPPORTS_DOLLAR)
+
+# List manglings of global symbol names to try.
+set(global_symbols
+  my_sub    # VisualAge
+  my_sub_   # GNU, Intel, HP, SunPro, MIPSpro, PGI
+  my_sub__  # GNU g77
+  MY_SUB    # Intel on Windows
+  mysub     # VisualAge
+  mysub_    # GNU, Intel, HP, SunPro, MIPSpro, PGI
+  MYSUB     # Intel on Windows
+  ${FortranCInterface_GLOBAL_SYMBOLS}
+  )
+list(REMOVE_DUPLICATES global_symbols)
+
+# List manglings of module symbol names to try.
+set(module_symbols
+  __my_module_MOD_my_sub  # GNU 4.3
+  __my_module_NMOD_my_sub # VisualAge
+  __my_module__my_sub     # GNU 4.2
+  __mymodule_MOD_mysub    # GNU 4.3
+  __mymodule_NMOD_mysub   # VisualAge
+  __mymodule__mysub       # GNU 4.2
+  my_module$my_sub        # HP
+  my_module_mp_my_sub_    # Intel
+  MY_MODULE_mp_MY_SUB     # Intel on Windows
+  my_module_my_sub_       # PGI
+  my_module_MP_my_sub     # NAG
+  mymodule$mysub          # HP
+  mymodule_mp_mysub_      # Intel
+  MYMODULE_mp_MYSUB       # Intel on Windows
+  mymodule_mysub_         # PGI
+  mymodule_MP_mysub       # NAG
+  ${FortranCInterface_MODULE_SYMBOLS}
+  )
+list(REMOVE_DUPLICATES module_symbols)
+
+# Note that some compiler manglings cannot be invoked from C:
+#   MIPSpro uses "MY_SUB.in.MY_MODULE"
+#   SunPro uses "my_module.my_sub_"
+#   PathScale uses "MY_SUB.in.MY_MODULE"
+
+# Add module symbols only with Fortran90.
+if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
+  set(myfort_modules mymodule.f90 my_module.f90)
+  set(call_mod call_mod.f90)
+  set_property(SOURCE main.F PROPERTY COMPILE_DEFINITIONS CALL_MOD)
+else()
+  set(module_symbols)
+endif()
+
+# Generate C symbol sources.
+set(symbol_sources)
+if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(PathScale|Cray)$")
+  # Provide mymodule_ and my_module_ init symbols because:
+  #  - PGI Fortran uses module init symbols
+  # but not for:
+  #  - PathScale Fortran uses module init symbols but module symbols
+  #    use '.in.' so we cannot provide them anyway.
+  #  - Cray Fortran >= 7.3.2 uses module init symbols but module symbols
+  #    use 'mysub$mymodule_' so we cannot provide them anyway.
+  list(APPEND symbol_sources mymodule_.c my_module_.c MY_MODULE.c MYMODULE.c)
+endif()
+foreach(symbol IN LISTS global_symbols module_symbols)
+  # Skip symbols with '$' if C cannot handle them.
+  if(C_SUPPORTS_DOLLAR OR NOT "${symbol}" MATCHES "\\$")
+    if("${symbol}" MATCHES "SUB")
+      set(upper "-UPPER")
+    else()
+      set(upper)
+    endif()
+    string(REPLACE "$" "S" name "${symbol}")
+    set(source ${CMAKE_CURRENT_BINARY_DIR}/symbols/${name}${upper}.c)
+    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/symbol.c.in ${source} @ONLY)
+    list(APPEND symbol_sources ${source})
+  endif()
+endforeach()
+
+# Provide symbols through Fortran.
+add_library(myfort STATIC mysub.f my_sub.f ${myfort_modules})
+
+# Provide symbols through C but fall back to Fortran.
+add_library(symbols STATIC ${symbol_sources})
+target_link_libraries(symbols PUBLIC myfort)
+
+# In case the Fortran compiler produces PIC by default make sure
+# the C compiler produces PIC even if it is not its default.
+set_property(TARGET symbols PROPERTY POSITION_INDEPENDENT_CODE 1)
+
+# Require symbols through Fortran.
+add_executable(FortranCInterface main.F call_sub.f ${call_mod})
+target_link_libraries(FortranCInterface PUBLIC symbols)
diff --git a/share/cmake-3.10/Modules/FortranCInterface/Detect.cmake b/share/cmake-3.10/Modules/FortranCInterface/Detect.cmake
new file mode 100644
index 0000000..7789785
--- /dev/null
+++ b/share/cmake-3.10/Modules/FortranCInterface/Detect.cmake
@@ -0,0 +1,178 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+configure_file(${FortranCInterface_SOURCE_DIR}/Input.cmake.in
+               ${FortranCInterface_BINARY_DIR}/Input.cmake @ONLY)
+
+# Detect the Fortran/C interface on the first run or when the
+# configuration changes.
+if(${FortranCInterface_BINARY_DIR}/Input.cmake
+    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
+    OR ${FortranCInterface_SOURCE_DIR}/Output.cmake.in
+    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
+    OR ${FortranCInterface_SOURCE_DIR}/CMakeLists.txt
+    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
+    OR ${CMAKE_CURRENT_LIST_FILE}
+    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
+    )
+  message(STATUS "Detecting Fortran/C Interface")
+else()
+  return()
+endif()
+
+# Invalidate verification results.
+unset(FortranCInterface_VERIFIED_C CACHE)
+unset(FortranCInterface_VERIFIED_CXX CACHE)
+
+set(_result)
+
+# Build a sample project which reports symbols.
+set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
+try_compile(FortranCInterface_COMPILED
+  ${FortranCInterface_BINARY_DIR}
+  ${FortranCInterface_SOURCE_DIR}
+  FortranCInterface # project name
+  FortranCInterface # target name
+  CMAKE_FLAGS
+    "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
+    "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
+    "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
+    "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
+  OUTPUT_VARIABLE FortranCInterface_OUTPUT)
+set(FortranCInterface_COMPILED ${FortranCInterface_COMPILED})
+unset(FortranCInterface_COMPILED CACHE)
+
+# Locate the sample project executable.
+if(FortranCInterface_COMPILED)
+  find_program(FortranCInterface_EXE
+    NAMES FortranCInterface${CMAKE_EXECUTABLE_SUFFIX}
+    PATHS ${FortranCInterface_BINARY_DIR} ${FortranCInterface_BINARY_DIR}/Release
+    NO_DEFAULT_PATH
+    )
+  set(FortranCInterface_EXE ${FortranCInterface_EXE})
+  unset(FortranCInterface_EXE CACHE)
+else()
+  set(_result "Failed to compile")
+  set(FortranCInterface_EXE)
+  file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+    "Fortran/C interface test project failed with the following output:\n"
+    "${FortranCInterface_OUTPUT}\n")
+endif()
+
+# Load symbols from INFO:symbol[] strings in the executable.
+set(FortranCInterface_SYMBOLS)
+if(FortranCInterface_EXE)
+  file(STRINGS "${FortranCInterface_EXE}" _info_strings
+    LIMIT_COUNT 8 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
+  foreach(info ${_info_strings})
+    if("${info}" MATCHES "INFO:symbol\\[([^]]*)\\]")
+      list(APPEND FortranCInterface_SYMBOLS ${CMAKE_MATCH_1})
+    endif()
+  endforeach()
+elseif(NOT _result)
+  set(_result "Failed to load sample executable")
+endif()
+
+set(_case_mysub "LOWER")
+set(_case_my_sub "LOWER")
+set(_case_MYSUB "UPPER")
+set(_case_MY_SUB "UPPER")
+set(_global_regex  "^(_*)(mysub|MYSUB)([_$]*)$")
+set(_global__regex "^(_*)(my_sub|MY_SUB)([_$]*)$")
+set(_module_regex  "^(_*)(mymodule|MYMODULE)([A-Za-z_$]*)(mysub|MYSUB)([_$]*)$")
+set(_module__regex "^(_*)(my_module|MY_MODULE)([A-Za-z_$]*)(my_sub|MY_SUB)([_$]*)$")
+
+# Parse the symbol names.
+foreach(symbol ${FortranCInterface_SYMBOLS})
+  foreach(form "" "_")
+    # Look for global symbols.
+    string(REGEX REPLACE "${_global_${form}regex}"
+                         "\\1;\\2;\\3" pieces "${symbol}")
+    list(LENGTH pieces len)
+    if(len EQUAL 3)
+      set(FortranCInterface_GLOBAL_${form}SYMBOL "${symbol}")
+      list(GET pieces 0 FortranCInterface_GLOBAL_${form}PREFIX)
+      list(GET pieces 1 name)
+      list(GET pieces 2 FortranCInterface_GLOBAL_${form}SUFFIX)
+      set(FortranCInterface_GLOBAL_${form}CASE "${_case_${name}}")
+    endif()
+
+    # Look for module symbols.
+    string(REGEX REPLACE "${_module_${form}regex}"
+                         "\\1;\\2;\\3;\\4;\\5" pieces "${symbol}")
+    list(LENGTH pieces len)
+    if(len EQUAL 5)
+      set(FortranCInterface_MODULE_${form}SYMBOL "${symbol}")
+      list(GET pieces 0 FortranCInterface_MODULE_${form}PREFIX)
+      list(GET pieces 1 module)
+      list(GET pieces 2 FortranCInterface_MODULE_${form}MIDDLE)
+      list(GET pieces 3 name)
+      list(GET pieces 4 FortranCInterface_MODULE_${form}SUFFIX)
+      set(FortranCInterface_MODULE_${form}CASE "${_case_${name}}")
+    endif()
+  endforeach()
+endforeach()
+
+# Construct mangling macro definitions.
+set(_name_LOWER "name")
+set(_name_UPPER "NAME")
+foreach(form "" "_")
+  if(FortranCInterface_GLOBAL_${form}SYMBOL)
+    if(FortranCInterface_GLOBAL_${form}PREFIX)
+      set(_prefix "${FortranCInterface_GLOBAL_${form}PREFIX}##")
+    else()
+      set(_prefix "")
+    endif()
+    if(FortranCInterface_GLOBAL_${form}SUFFIX)
+      set(_suffix "##${FortranCInterface_GLOBAL_${form}SUFFIX}")
+    else()
+      set(_suffix "")
+    endif()
+    set(_name "${_name_${FortranCInterface_GLOBAL_${form}CASE}}")
+    set(FortranCInterface_GLOBAL${form}_MACRO
+      "(name,NAME) ${_prefix}${_name}${_suffix}")
+  endif()
+  if(FortranCInterface_MODULE_${form}SYMBOL)
+    if(FortranCInterface_MODULE_${form}PREFIX)
+      set(_prefix "${FortranCInterface_MODULE_${form}PREFIX}##")
+    else()
+      set(_prefix "")
+    endif()
+    if(FortranCInterface_MODULE_${form}SUFFIX)
+      set(_suffix "##${FortranCInterface_MODULE_${form}SUFFIX}")
+    else()
+      set(_suffix "")
+    endif()
+    set(_name "${_name_${FortranCInterface_MODULE_${form}CASE}}")
+    set(_middle "##${FortranCInterface_MODULE_${form}MIDDLE}##")
+    set(FortranCInterface_MODULE${form}_MACRO
+      "(mod_name,name, mod_NAME,NAME) ${_prefix}mod_${_name}${_middle}${_name}${_suffix}")
+  endif()
+endforeach()
+
+# Summarize what is available.
+foreach(scope GLOBAL MODULE)
+  if(FortranCInterface_${scope}_SYMBOL AND
+      FortranCInterface_${scope}__SYMBOL)
+    set(FortranCInterface_${scope}_FOUND 1)
+  else()
+    set(FortranCInterface_${scope}_FOUND 0)
+  endif()
+endforeach()
+
+# Record the detection results.
+configure_file(${FortranCInterface_SOURCE_DIR}/Output.cmake.in
+               ${FortranCInterface_BINARY_DIR}/Output.cmake @ONLY)
+file(APPEND ${FortranCInterface_BINARY_DIR}/Output.cmake "\n")
+
+# Report the results.
+if(FortranCInterface_GLOBAL_FOUND)
+  if(FortranCInterface_MODULE_FOUND)
+    set(_result "Found GLOBAL and MODULE mangling")
+  else()
+    set(_result "Found GLOBAL but not MODULE mangling")
+  endif()
+elseif(NOT _result)
+  set(_result "Failed to recognize symbols")
+endif()
+message(STATUS "Detecting Fortran/C Interface - ${_result}")
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Input.cmake.in b/share/cmake-3.10/Modules/FortranCInterface/Input.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Input.cmake.in
rename to share/cmake-3.10/Modules/FortranCInterface/Input.cmake.in
diff --git a/share/cmake-3.10/Modules/FortranCInterface/MYMODULE.c b/share/cmake-3.10/Modules/FortranCInterface/MYMODULE.c
new file mode 100644
index 0000000..19b51fb
--- /dev/null
+++ b/share/cmake-3.10/Modules/FortranCInterface/MYMODULE.c
@@ -0,0 +1,3 @@
+void MYMODULE(void)
+{
+}
diff --git a/share/cmake-3.10/Modules/FortranCInterface/MY_MODULE.c b/share/cmake-3.10/Modules/FortranCInterface/MY_MODULE.c
new file mode 100644
index 0000000..87b3071
--- /dev/null
+++ b/share/cmake-3.10/Modules/FortranCInterface/MY_MODULE.c
@@ -0,0 +1,3 @@
+void MY_MODULE(void)
+{
+}
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Macro.h.in b/share/cmake-3.10/Modules/FortranCInterface/Macro.h.in
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Macro.h.in
rename to share/cmake-3.10/Modules/FortranCInterface/Macro.h.in
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Output.cmake.in b/share/cmake-3.10/Modules/FortranCInterface/Output.cmake.in
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Output.cmake.in
rename to share/cmake-3.10/Modules/FortranCInterface/Output.cmake.in
diff --git a/share/cmake-3.10/Modules/FortranCInterface/Verify/CMakeLists.txt b/share/cmake-3.10/Modules/FortranCInterface/Verify/CMakeLists.txt
new file mode 100644
index 0000000..98cdeb7
--- /dev/null
+++ b/share/cmake-3.10/Modules/FortranCInterface/Verify/CMakeLists.txt
@@ -0,0 +1,26 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+project(VerifyFortranC C Fortran)
+
+option(VERIFY_CXX "Whether to verify C++ and Fortran" OFF)
+if(VERIFY_CXX)
+  enable_language(CXX)
+  set(VerifyCXX VerifyCXX.cxx)
+  add_definitions(-DVERIFY_CXX)
+endif()
+
+include(FortranCInterface)
+
+FortranCInterface_HEADER(VerifyFortran.h SYMBOLS VerifyFortran)
+include_directories(${VerifyFortranC_BINARY_DIR})
+
+add_library(VerifyFortran STATIC VerifyFortran.f)
+add_executable(VerifyFortranC main.c VerifyC.c ${VerifyCXX})
+target_link_libraries(VerifyFortranC VerifyFortran)
+
+if(NOT VERIFY_CXX)
+  # The entry point (main) is defined in C; link with the C compiler.
+  set_property(TARGET VerifyFortranC PROPERTY LINKER_LANGUAGE C)
+endif()
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Verify/VerifyC.c b/share/cmake-3.10/Modules/FortranCInterface/Verify/VerifyC.c
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Verify/VerifyC.c
rename to share/cmake-3.10/Modules/FortranCInterface/Verify/VerifyC.c
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Verify/VerifyCXX.cxx b/share/cmake-3.10/Modules/FortranCInterface/Verify/VerifyCXX.cxx
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Verify/VerifyCXX.cxx
rename to share/cmake-3.10/Modules/FortranCInterface/Verify/VerifyCXX.cxx
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Verify/VerifyFortran.f b/share/cmake-3.10/Modules/FortranCInterface/Verify/VerifyFortran.f
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Verify/VerifyFortran.f
rename to share/cmake-3.10/Modules/FortranCInterface/Verify/VerifyFortran.f
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Verify/main.c b/share/cmake-3.10/Modules/FortranCInterface/Verify/main.c
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/Verify/main.c
rename to share/cmake-3.10/Modules/FortranCInterface/Verify/main.c
diff --git a/share/cmake-3.6/Modules/FortranCInterface/call_mod.f90 b/share/cmake-3.10/Modules/FortranCInterface/call_mod.f90
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/call_mod.f90
rename to share/cmake-3.10/Modules/FortranCInterface/call_mod.f90
diff --git a/share/cmake-3.6/Modules/FortranCInterface/call_sub.f b/share/cmake-3.10/Modules/FortranCInterface/call_sub.f
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/call_sub.f
rename to share/cmake-3.10/Modules/FortranCInterface/call_sub.f
diff --git a/share/cmake-3.6/Modules/FortranCInterface/main.F b/share/cmake-3.10/Modules/FortranCInterface/main.F
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/main.F
rename to share/cmake-3.10/Modules/FortranCInterface/main.F
diff --git a/share/cmake-3.6/Modules/FortranCInterface/my_module.f90 b/share/cmake-3.10/Modules/FortranCInterface/my_module.f90
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/my_module.f90
rename to share/cmake-3.10/Modules/FortranCInterface/my_module.f90
diff --git a/share/cmake-3.6/Modules/FortranCInterface/my_module_.c b/share/cmake-3.10/Modules/FortranCInterface/my_module_.c
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/my_module_.c
rename to share/cmake-3.10/Modules/FortranCInterface/my_module_.c
diff --git a/share/cmake-3.6/Modules/FortranCInterface/my_sub.f b/share/cmake-3.10/Modules/FortranCInterface/my_sub.f
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/my_sub.f
rename to share/cmake-3.10/Modules/FortranCInterface/my_sub.f
diff --git a/share/cmake-3.6/Modules/FortranCInterface/mymodule.f90 b/share/cmake-3.10/Modules/FortranCInterface/mymodule.f90
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/mymodule.f90
rename to share/cmake-3.10/Modules/FortranCInterface/mymodule.f90
diff --git a/share/cmake-3.6/Modules/FortranCInterface/mymodule_.c b/share/cmake-3.10/Modules/FortranCInterface/mymodule_.c
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/mymodule_.c
rename to share/cmake-3.10/Modules/FortranCInterface/mymodule_.c
diff --git a/share/cmake-3.6/Modules/FortranCInterface/mysub.f b/share/cmake-3.10/Modules/FortranCInterface/mysub.f
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/mysub.f
rename to share/cmake-3.10/Modules/FortranCInterface/mysub.f
diff --git a/share/cmake-3.6/Modules/FortranCInterface/symbol.c.in b/share/cmake-3.10/Modules/FortranCInterface/symbol.c.in
similarity index 100%
rename from share/cmake-3.6/Modules/FortranCInterface/symbol.c.in
rename to share/cmake-3.10/Modules/FortranCInterface/symbol.c.in
diff --git a/share/cmake-3.10/Modules/GNUInstallDirs.cmake b/share/cmake-3.10/Modules/GNUInstallDirs.cmake
new file mode 100644
index 0000000..91361d2
--- /dev/null
+++ b/share/cmake-3.10/Modules/GNUInstallDirs.cmake
@@ -0,0 +1,378 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# GNUInstallDirs
+# --------------
+#
+# Define GNU standard installation directories
+#
+# Provides install directory variables as defined by the
+# `GNU Coding Standards`_.
+#
+# .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# Inclusion of this module defines the following variables:
+#
+# ``CMAKE_INSTALL_<dir>``
+#
+#   Destination for files of a given type.  This value may be passed to
+#   the ``DESTINATION`` options of :command:`install` commands for the
+#   corresponding file type.
+#
+# ``CMAKE_INSTALL_FULL_<dir>``
+#
+#   The absolute path generated from the corresponding ``CMAKE_INSTALL_<dir>``
+#   value.  If the value is not already an absolute path, an absolute path
+#   is constructed typically by prepending the value of the
+#   :variable:`CMAKE_INSTALL_PREFIX` variable.  However, there are some
+#   `special cases`_ as documented below.
+#
+# where ``<dir>`` is one of:
+#
+# ``BINDIR``
+#   user executables (``bin``)
+# ``SBINDIR``
+#   system admin executables (``sbin``)
+# ``LIBEXECDIR``
+#   program executables (``libexec``)
+# ``SYSCONFDIR``
+#   read-only single-machine data (``etc``)
+# ``SHAREDSTATEDIR``
+#   modifiable architecture-independent data (``com``)
+# ``LOCALSTATEDIR``
+#   modifiable single-machine data (``var``)
+# ``RUNSTATEDIR``
+#   run-time variable data (``LOCALSTATEDIR/run``)
+# ``LIBDIR``
+#   object code libraries (``lib`` or ``lib64``
+#   or ``lib/<multiarch-tuple>`` on Debian)
+# ``INCLUDEDIR``
+#   C header files (``include``)
+# ``OLDINCLUDEDIR``
+#   C header files for non-gcc (``/usr/include``)
+# ``DATAROOTDIR``
+#   read-only architecture-independent data root (``share``)
+# ``DATADIR``
+#   read-only architecture-independent data (``DATAROOTDIR``)
+# ``INFODIR``
+#   info documentation (``DATAROOTDIR/info``)
+# ``LOCALEDIR``
+#   locale-dependent data (``DATAROOTDIR/locale``)
+# ``MANDIR``
+#   man documentation (``DATAROOTDIR/man``)
+# ``DOCDIR``
+#   documentation root (``DATAROOTDIR/doc/PROJECT_NAME``)
+#
+# If the includer does not define a value the above-shown default will be
+# used and the value will appear in the cache for editing by the user.
+#
+# Special Cases
+# ^^^^^^^^^^^^^
+#
+# The following values of :variable:`CMAKE_INSTALL_PREFIX` are special:
+#
+# ``/``
+#
+#   For ``<dir>`` other than the ``SYSCONFDIR``, ``LOCALSTATEDIR`` and
+#   ``RUNSTATEDIR``, the value of ``CMAKE_INSTALL_<dir>`` is prefixed
+#   with ``usr/`` if it is not user-specified as an absolute path.
+#   For example, the ``INCLUDEDIR`` value ``include`` becomes ``usr/include``.
+#   This is required by the `GNU Coding Standards`_, which state:
+#
+#     When building the complete GNU system, the prefix will be empty
+#     and ``/usr`` will be a symbolic link to ``/``.
+#
+# ``/usr``
+#
+#   For ``<dir>`` equal to ``SYSCONFDIR``, ``LOCALSTATEDIR`` or
+#   ``RUNSTATEDIR``, the ``CMAKE_INSTALL_FULL_<dir>`` is computed by
+#   prepending just ``/`` to the value of ``CMAKE_INSTALL_<dir>``
+#   if it is not user-specified as an absolute path.
+#   For example, the ``SYSCONFDIR`` value ``etc`` becomes ``/etc``.
+#   This is required by the `GNU Coding Standards`_.
+#
+# ``/opt/...``
+#
+#   For ``<dir>`` equal to ``SYSCONFDIR``, ``LOCALSTATEDIR`` or
+#   ``RUNSTATEDIR``, the ``CMAKE_INSTALL_FULL_<dir>`` is computed by
+#   *appending* the prefix to the value of ``CMAKE_INSTALL_<dir>``
+#   if it is not user-specified as an absolute path.
+#   For example, the ``SYSCONFDIR`` value ``etc`` becomes ``/etc/opt/...``.
+#   This is defined by the `Filesystem Hierarchy Standard`_.
+#
+# .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
+#
+# Macros
+# ^^^^^^
+#
+# .. command:: GNUInstallDirs_get_absolute_install_dir
+#
+#   ::
+#
+#     GNUInstallDirs_get_absolute_install_dir(absvar var)
+#
+#   Set the given variable ``absvar`` to the absolute path contained
+#   within the variable ``var``.  This is to allow the computation of an
+#   absolute path, accounting for all the special cases documented
+#   above.  While this macro is used to compute the various
+#   ``CMAKE_INSTALL_FULL_<dir>`` variables, it is exposed publicly to
+#   allow users who create additional path variables to also compute
+#   absolute paths where necessary, using the same logic.
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0054 NEW) # if() quoted variables not dereferenced
+
+# Convert a cache variable to PATH type
+
+macro(_GNUInstallDirs_cache_convert_to_path var description)
+  get_property(_GNUInstallDirs_cache_type CACHE ${var} PROPERTY TYPE)
+  if(_GNUInstallDirs_cache_type STREQUAL "UNINITIALIZED")
+    file(TO_CMAKE_PATH "${${var}}" _GNUInstallDirs_cmakepath)
+    set_property(CACHE ${var} PROPERTY TYPE PATH)
+    set_property(CACHE ${var} PROPERTY VALUE "${_GNUInstallDirs_cmakepath}")
+    set_property(CACHE ${var} PROPERTY HELPSTRING "${description}")
+    unset(_GNUInstallDirs_cmakepath)
+  endif()
+  unset(_GNUInstallDirs_cache_type)
+endmacro()
+
+# Create a cache variable with default for a path.
+macro(_GNUInstallDirs_cache_path var default description)
+  if(NOT DEFINED ${var})
+    set(${var} "${default}" CACHE PATH "${description}")
+  endif()
+  _GNUInstallDirs_cache_convert_to_path("${var}" "${description}")
+endmacro()
+
+# Create a cache variable with not default for a path, with a fallback
+# when unset; used for entries slaved to other entries such as
+# DATAROOTDIR.
+macro(_GNUInstallDirs_cache_path_fallback var default description)
+  if(NOT ${var})
+    set(${var} "" CACHE PATH "${description}")
+    set(${var} "${default}")
+  endif()
+  _GNUInstallDirs_cache_convert_to_path("${var}" "${description}")
+endmacro()
+
+# Installation directories
+#
+
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_BINDIR "bin"
+  "User executables (bin)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_SBINDIR "sbin"
+  "System admin executables (sbin)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_LIBEXECDIR "libexec"
+  "Program executables (libexec)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_SYSCONFDIR "etc"
+  "Read-only single-machine data (etc)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_SHAREDSTATEDIR "com"
+  "Modifiable architecture-independent data (com)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_LOCALSTATEDIR "var"
+  "Modifiable single-machine data (var)")
+
+# We check if the variable was manually set and not cached, in order to
+# allow projects to set the values as normal variables before including
+# GNUInstallDirs to avoid having the entries cached or user-editable. It
+# replaces the "if(NOT DEFINED CMAKE_INSTALL_XXX)" checks in all the
+# other cases.
+# If CMAKE_INSTALL_LIBDIR is defined, if _libdir_set is false, then the
+# variable is a normal one, otherwise it is a cache one.
+get_property(_libdir_set CACHE CMAKE_INSTALL_LIBDIR PROPERTY TYPE SET)
+if(NOT DEFINED CMAKE_INSTALL_LIBDIR OR (_libdir_set
+    AND DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX
+    AND NOT "${_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX}" STREQUAL "${CMAKE_INSTALL_PREFIX}"))
+  # If CMAKE_INSTALL_LIBDIR is not defined, it is always executed.
+  # Otherwise:
+  #  * if _libdir_set is false it is not executed (meaning that it is
+  #    not a cache variable)
+  #  * if _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX is not defined it is
+  #    not executed
+  #  * if _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX and
+  #    CMAKE_INSTALL_PREFIX are the same string it is not executed.
+  #    _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX is updated after the
+  #    execution, of this part of code, therefore at the next inclusion
+  #    of the file, CMAKE_INSTALL_LIBDIR is defined, and the 2 strings
+  #    are equal, meaning that the if is not executed the code the
+  #    second time.
+
+  set(_LIBDIR_DEFAULT "lib")
+  # Override this default 'lib' with 'lib64' iff:
+  #  - we are on Linux system but NOT cross-compiling
+  #  - we are NOT on debian
+  #  - we are on a 64 bits system
+  # reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
+  # For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
+  # CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
+  # and CMAKE_INSTALL_PREFIX is "/usr"
+  # See http://wiki.debian.org/Multiarch
+  if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX)
+    set(__LAST_LIBDIR_DEFAULT "lib")
+    # __LAST_LIBDIR_DEFAULT is the default value that we compute from
+    # _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX, not a cache entry for
+    # the value that was last used as the default.
+    # This value is used to figure out whether the user changed the
+    # CMAKE_INSTALL_LIBDIR value manually, or if the value was the
+    # default one. When CMAKE_INSTALL_PREFIX changes, the value is
+    # updated to the new default, unless the user explicitly changed it.
+  endif()
+  if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
+      AND NOT CMAKE_CROSSCOMPILING)
+    if (EXISTS "/etc/debian_version") # is this a debian system ?
+      if(CMAKE_LIBRARY_ARCHITECTURE)
+        if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
+          set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+        endif()
+        if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX
+            AND "${_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
+          set(__LAST_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+        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()
+        endif()
+      endif()
+    endif()
+  endif()
+  if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+    set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "Object code libraries (${_LIBDIR_DEFAULT})")
+  elseif(DEFINED __LAST_LIBDIR_DEFAULT
+      AND "${__LAST_LIBDIR_DEFAULT}" STREQUAL "${CMAKE_INSTALL_LIBDIR}")
+    set_property(CACHE CMAKE_INSTALL_LIBDIR PROPERTY VALUE "${_LIBDIR_DEFAULT}")
+  endif()
+endif()
+_GNUInstallDirs_cache_convert_to_path(CMAKE_INSTALL_LIBDIR "Object code libraries (lib)")
+
+# Save for next run
+set(_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE INTERNAL "CMAKE_INSTALL_PREFIX during last run")
+unset(_libdir_set)
+unset(__LAST_LIBDIR_DEFAULT)
+
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_INCLUDEDIR "include"
+  "C header files (include)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include"
+  "C header files for non-gcc (/usr/include)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_DATAROOTDIR "share"
+  "Read-only architecture-independent data root (share)")
+
+#-----------------------------------------------------------------------------
+# Values whose defaults are relative to DATAROOTDIR.  Store empty values in
+# the cache and store the defaults in local variables if the cache values are
+# not set explicitly.  This auto-updates the defaults as DATAROOTDIR changes.
+
+_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}"
+  "Read-only architecture-independent data (DATAROOTDIR)")
+
+if(CMAKE_SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
+  _GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_INFODIR "info"
+    "Info documentation (info)")
+  _GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_MANDIR "man"
+    "Man documentation (man)")
+else()
+  _GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info"
+    "Info documentation (DATAROOTDIR/info)")
+  _GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man"
+    "Man documentation (DATAROOTDIR/man)")
+endif()
+
+_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale"
+  "Locale-dependent data (DATAROOTDIR/locale)")
+_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}"
+  "Documentation root (DATAROOTDIR/doc/PROJECT_NAME)")
+
+_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_RUNSTATEDIR "${CMAKE_INSTALL_LOCALSTATEDIR}/run"
+  "Run-time variable data (LOCALSTATEDIR/run)")
+
+#-----------------------------------------------------------------------------
+
+mark_as_advanced(
+  CMAKE_INSTALL_BINDIR
+  CMAKE_INSTALL_SBINDIR
+  CMAKE_INSTALL_LIBEXECDIR
+  CMAKE_INSTALL_SYSCONFDIR
+  CMAKE_INSTALL_SHAREDSTATEDIR
+  CMAKE_INSTALL_LOCALSTATEDIR
+  CMAKE_INSTALL_RUNSTATEDIR
+  CMAKE_INSTALL_LIBDIR
+  CMAKE_INSTALL_INCLUDEDIR
+  CMAKE_INSTALL_OLDINCLUDEDIR
+  CMAKE_INSTALL_DATAROOTDIR
+  CMAKE_INSTALL_DATADIR
+  CMAKE_INSTALL_INFODIR
+  CMAKE_INSTALL_LOCALEDIR
+  CMAKE_INSTALL_MANDIR
+  CMAKE_INSTALL_DOCDIR
+  )
+
+macro(GNUInstallDirs_get_absolute_install_dir absvar var)
+  if(NOT IS_ABSOLUTE "${${var}}")
+    # Handle special cases:
+    # - CMAKE_INSTALL_PREFIX == /
+    # - CMAKE_INSTALL_PREFIX == /usr
+    # - CMAKE_INSTALL_PREFIX == /opt/...
+    if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/")
+      if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR" OR "${dir}" STREQUAL "RUNSTATEDIR")
+        set(${absvar} "/${${var}}")
+      else()
+        if (NOT "${${var}}" MATCHES "^usr/")
+          set(${var} "usr/${${var}}")
+        endif()
+        set(${absvar} "/${${var}}")
+      endif()
+    elseif("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
+      if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR" OR "${dir}" STREQUAL "RUNSTATEDIR")
+        set(${absvar} "/${${var}}")
+      else()
+        set(${absvar} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+      endif()
+    elseif("${CMAKE_INSTALL_PREFIX}" MATCHES "^/opt/.*")
+      if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR" OR "${dir}" STREQUAL "RUNSTATEDIR")
+        set(${absvar} "/${${var}}${CMAKE_INSTALL_PREFIX}")
+      else()
+        set(${absvar} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+      endif()
+    else()
+      set(${absvar} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+    endif()
+  else()
+    set(${absvar} "${${var}}")
+  endif()
+endmacro()
+
+# Result directories
+#
+foreach(dir
+    BINDIR
+    SBINDIR
+    LIBEXECDIR
+    SYSCONFDIR
+    SHAREDSTATEDIR
+    LOCALSTATEDIR
+    RUNSTATEDIR
+    LIBDIR
+    INCLUDEDIR
+    OLDINCLUDEDIR
+    DATAROOTDIR
+    DATADIR
+    INFODIR
+    LOCALEDIR
+    MANDIR
+    DOCDIR
+    )
+  GNUInstallDirs_get_absolute_install_dir(CMAKE_INSTALL_FULL_${dir} CMAKE_INSTALL_${dir})
+endforeach()
+
+cmake_policy(POP)
diff --git a/share/cmake-3.10/Modules/GenerateExportHeader.cmake b/share/cmake-3.10/Modules/GenerateExportHeader.cmake
new file mode 100644
index 0000000..4573c2e
--- /dev/null
+++ b/share/cmake-3.10/Modules/GenerateExportHeader.cmake
@@ -0,0 +1,410 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# GenerateExportHeader
+# --------------------
+#
+# Function for generation of export macros for libraries
+#
+# This module provides the function GENERATE_EXPORT_HEADER().
+#
+# The ``GENERATE_EXPORT_HEADER`` function can be used to generate a file
+# suitable for preprocessor inclusion which contains EXPORT macros to be
+# used in library classes::
+#
+#    GENERATE_EXPORT_HEADER( LIBRARY_TARGET
+#              [BASE_NAME <base_name>]
+#              [EXPORT_MACRO_NAME <export_macro_name>]
+#              [EXPORT_FILE_NAME <export_file_name>]
+#              [DEPRECATED_MACRO_NAME <deprecated_macro_name>]
+#              [NO_EXPORT_MACRO_NAME <no_export_macro_name>]
+#              [STATIC_DEFINE <static_define>]
+#              [NO_DEPRECATED_MACRO_NAME <no_deprecated_macro_name>]
+#              [DEFINE_NO_DEPRECATED]
+#              [PREFIX_NAME <prefix_name>]
+#              [CUSTOM_CONTENT_FROM_VARIABLE <variable>]
+#    )
+#
+#
+# The target properties :prop_tgt:`CXX_VISIBILITY_PRESET <<LANG>_VISIBILITY_PRESET>`
+# and :prop_tgt:`VISIBILITY_INLINES_HIDDEN` can be used to add the appropriate
+# compile flags for targets.  See the documentation of those target properties,
+# and the convenience variables
+# :variable:`CMAKE_CXX_VISIBILITY_PRESET <CMAKE_<LANG>_VISIBILITY_PRESET>` and
+# :variable:`CMAKE_VISIBILITY_INLINES_HIDDEN`.
+#
+# By default ``GENERATE_EXPORT_HEADER()`` generates macro names in a file
+# name determined by the name of the library.  This means that in the
+# simplest case, users of ``GenerateExportHeader`` will be equivalent to:
+#
+# .. code-block:: cmake
+#
+#    set(CMAKE_CXX_VISIBILITY_PRESET hidden)
+#    set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
+#    add_library(somelib someclass.cpp)
+#    generate_export_header(somelib)
+#    install(TARGETS somelib DESTINATION ${LIBRARY_INSTALL_DIR})
+#    install(FILES
+#     someclass.h
+#     ${PROJECT_BINARY_DIR}/somelib_export.h DESTINATION ${INCLUDE_INSTALL_DIR}
+#    )
+#
+#
+# And in the ABI header files:
+#
+# .. code-block:: c++
+#
+#    #include "somelib_export.h"
+#    class SOMELIB_EXPORT SomeClass {
+#      ...
+#    };
+#
+#
+# The CMake fragment will generate a file in the
+# ``${CMAKE_CURRENT_BINARY_DIR}`` called ``somelib_export.h`` containing the
+# macros ``SOMELIB_EXPORT``, ``SOMELIB_NO_EXPORT``, ``SOMELIB_DEPRECATED``,
+# ``SOMELIB_DEPRECATED_EXPORT`` and ``SOMELIB_DEPRECATED_NO_EXPORT``.
+# They will be followed by content taken from the variable specified by
+# the ``CUSTOM_CONTENT_FROM_VARIABLE`` option, if any.
+# The resulting file should be installed with other headers in the library.
+#
+# The ``BASE_NAME`` argument can be used to override the file name and the
+# names used for the macros:
+#
+# .. code-block:: cmake
+#
+#    add_library(somelib someclass.cpp)
+#    generate_export_header(somelib
+#      BASE_NAME other_name
+#    )
+#
+#
+# Generates a file called ``other_name_export.h`` containing the macros
+# ``OTHER_NAME_EXPORT``, ``OTHER_NAME_NO_EXPORT`` and ``OTHER_NAME_DEPRECATED``
+# etc.
+#
+# The ``BASE_NAME`` may be overridden by specifying other options in the
+# function.  For example:
+#
+# .. code-block:: cmake
+#
+#    add_library(somelib someclass.cpp)
+#    generate_export_header(somelib
+#      EXPORT_MACRO_NAME OTHER_NAME_EXPORT
+#    )
+#
+#
+# creates the macro ``OTHER_NAME_EXPORT`` instead of ``SOMELIB_EXPORT``, but
+# other macros and the generated file name is as default:
+#
+# .. code-block:: cmake
+#
+#    add_library(somelib someclass.cpp)
+#    generate_export_header(somelib
+#      DEPRECATED_MACRO_NAME KDE_DEPRECATED
+#    )
+#
+#
+# creates the macro ``KDE_DEPRECATED`` instead of ``SOMELIB_DEPRECATED``.
+#
+# If ``LIBRARY_TARGET`` is a static library, macros are defined without
+# values.
+#
+# If the same sources are used to create both a shared and a static
+# library, the uppercased symbol ``${BASE_NAME}_STATIC_DEFINE`` should be
+# used when building the static library:
+#
+# .. code-block:: cmake
+#
+#    add_library(shared_variant SHARED ${lib_SRCS})
+#    add_library(static_variant ${lib_SRCS})
+#    generate_export_header(shared_variant BASE_NAME libshared_and_static)
+#    set_target_properties(static_variant PROPERTIES
+#      COMPILE_FLAGS -DLIBSHARED_AND_STATIC_STATIC_DEFINE)
+#
+# This will cause the export macros to expand to nothing when building
+# the static library.
+#
+# If ``DEFINE_NO_DEPRECATED`` is specified, then a macro
+# ``${BASE_NAME}_NO_DEPRECATED`` will be defined This macro can be used to
+# remove deprecated code from preprocessor output:
+#
+# .. code-block:: cmake
+#
+#    option(EXCLUDE_DEPRECATED "Exclude deprecated parts of the library" FALSE)
+#    if (EXCLUDE_DEPRECATED)
+#      set(NO_BUILD_DEPRECATED DEFINE_NO_DEPRECATED)
+#    endif()
+#    generate_export_header(somelib ${NO_BUILD_DEPRECATED})
+#
+#
+# And then in somelib:
+#
+# .. code-block:: c++
+#
+#    class SOMELIB_EXPORT SomeClass
+#    {
+#    public:
+#    #ifndef SOMELIB_NO_DEPRECATED
+#      SOMELIB_DEPRECATED void oldMethod();
+#    #endif
+#    };
+#
+# .. code-block:: c++
+#
+#    #ifndef SOMELIB_NO_DEPRECATED
+#    void SomeClass::oldMethod() {  }
+#    #endif
+#
+#
+# If ``PREFIX_NAME`` is specified, the argument will be used as a prefix to
+# all generated macros.
+#
+# For example:
+#
+# .. code-block:: cmake
+#
+#    generate_export_header(somelib PREFIX_NAME VTK_)
+#
+# Generates the macros ``VTK_SOMELIB_EXPORT`` etc.
+#
+# ::
+#
+#    ADD_COMPILER_EXPORT_FLAGS( [<output_variable>] )
+#
+# The ``ADD_COMPILER_EXPORT_FLAGS`` function adds ``-fvisibility=hidden`` to
+# :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>` if supported, and is a no-op
+# on Windows which does not need extra compiler flags for exporting support.
+# You may optionally pass a single argument to ``ADD_COMPILER_EXPORT_FLAGS``
+# that will be populated with the ``CXX_FLAGS`` required to enable visibility
+# support for the compiler/architecture in use.
+#
+# This function is deprecated.  Set the target properties
+# :prop_tgt:`CXX_VISIBILITY_PRESET <<LANG>_VISIBILITY_PRESET>` and
+# :prop_tgt:`VISIBILITY_INLINES_HIDDEN` instead.
+
+include(CheckCXXCompilerFlag)
+
+# TODO: Install this macro separately?
+macro(_check_cxx_compiler_attribute _ATTRIBUTE _RESULT)
+  check_cxx_source_compiles("${_ATTRIBUTE} int somefunc() { return 0; }
+    int main() { return somefunc();}" ${_RESULT}
+  )
+endmacro()
+
+macro(_test_compiler_hidden_visibility)
+
+  if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2")
+    set(GCC_TOO_OLD TRUE)
+  elseif(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.2")
+    set(GCC_TOO_OLD TRUE)
+  elseif(CMAKE_CXX_COMPILER_ID MATCHES Intel AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0")
+    set(_INTEL_TOO_OLD TRUE)
+  endif()
+
+  # Exclude XL here because it misinterprets -fvisibility=hidden even though
+  # the check_cxx_compiler_flag passes
+  if(NOT GCC_TOO_OLD
+      AND NOT _INTEL_TOO_OLD
+      AND NOT WIN32
+      AND NOT CYGWIN
+      AND NOT CMAKE_CXX_COMPILER_ID MATCHES XL
+      AND NOT CMAKE_CXX_COMPILER_ID MATCHES PGI
+      AND NOT CMAKE_CXX_COMPILER_ID MATCHES Watcom)
+    check_cxx_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY)
+    check_cxx_compiler_flag(-fvisibility-inlines-hidden
+      COMPILER_HAS_HIDDEN_INLINE_VISIBILITY)
+  endif()
+endmacro()
+
+macro(_test_compiler_has_deprecated)
+  # NOTE:  Some Embarcadero compilers silently compile __declspec(deprecated)
+  # without error, but this is not a documented feature and the attribute does
+  # not actually generate any warnings.
+  if(CMAKE_CXX_COMPILER_ID MATCHES Borland
+      OR CMAKE_CXX_COMPILER_ID MATCHES Embarcadero
+      OR CMAKE_CXX_COMPILER_ID MATCHES HP
+      OR GCC_TOO_OLD
+      OR CMAKE_CXX_COMPILER_ID MATCHES PGI
+      OR CMAKE_CXX_COMPILER_ID MATCHES Watcom)
+    set(COMPILER_HAS_DEPRECATED "" CACHE INTERNAL
+      "Compiler support for a deprecated attribute")
+  else()
+    _check_cxx_compiler_attribute("__attribute__((__deprecated__))"
+      COMPILER_HAS_DEPRECATED_ATTR)
+    if(COMPILER_HAS_DEPRECATED_ATTR)
+      set(COMPILER_HAS_DEPRECATED "${COMPILER_HAS_DEPRECATED_ATTR}"
+        CACHE INTERNAL "Compiler support for a deprecated attribute")
+    else()
+      _check_cxx_compiler_attribute("__declspec(deprecated)"
+        COMPILER_HAS_DEPRECATED)
+    endif()
+  endif()
+endmacro()
+
+get_filename_component(_GENERATE_EXPORT_HEADER_MODULE_DIR
+  "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+macro(_DO_SET_MACRO_VALUES TARGET_LIBRARY)
+  set(DEFINE_DEPRECATED)
+  set(DEFINE_EXPORT)
+  set(DEFINE_IMPORT)
+  set(DEFINE_NO_EXPORT)
+
+  if (COMPILER_HAS_DEPRECATED_ATTR)
+    set(DEFINE_DEPRECATED "__attribute__ ((__deprecated__))")
+  elseif(COMPILER_HAS_DEPRECATED)
+    set(DEFINE_DEPRECATED "__declspec(deprecated)")
+  endif()
+
+  get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
+
+  if(NOT ${type} STREQUAL "STATIC_LIBRARY")
+    if(WIN32 OR CYGWIN)
+      set(DEFINE_EXPORT "__declspec(dllexport)")
+      set(DEFINE_IMPORT "__declspec(dllimport)")
+    elseif(COMPILER_HAS_HIDDEN_VISIBILITY)
+      set(DEFINE_EXPORT "__attribute__((visibility(\"default\")))")
+      set(DEFINE_IMPORT "__attribute__((visibility(\"default\")))")
+      set(DEFINE_NO_EXPORT "__attribute__((visibility(\"hidden\")))")
+    endif()
+  endif()
+endmacro()
+
+macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
+  # Option overrides
+  set(options DEFINE_NO_DEPRECATED)
+  set(oneValueArgs PREFIX_NAME BASE_NAME EXPORT_MACRO_NAME EXPORT_FILE_NAME
+    DEPRECATED_MACRO_NAME NO_EXPORT_MACRO_NAME STATIC_DEFINE
+    NO_DEPRECATED_MACRO_NAME CUSTOM_CONTENT_FROM_VARIABLE)
+  set(multiValueArgs)
+
+  cmake_parse_arguments(_GEH "${options}" "${oneValueArgs}" "${multiValueArgs}"
+    ${ARGN})
+
+  set(BASE_NAME "${TARGET_LIBRARY}")
+
+  if(_GEH_BASE_NAME)
+    set(BASE_NAME ${_GEH_BASE_NAME})
+  endif()
+
+  string(TOUPPER ${BASE_NAME} BASE_NAME_UPPER)
+  string(TOLOWER ${BASE_NAME} BASE_NAME_LOWER)
+
+  # Default options
+  set(EXPORT_MACRO_NAME "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_EXPORT")
+  set(NO_EXPORT_MACRO_NAME "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_NO_EXPORT")
+  set(EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME_LOWER}_export.h")
+  set(DEPRECATED_MACRO_NAME "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_DEPRECATED")
+  set(STATIC_DEFINE "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_STATIC_DEFINE")
+  set(NO_DEPRECATED_MACRO_NAME
+    "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_NO_DEPRECATED")
+
+  if(_GEH_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to GENERATE_EXPORT_HEADER(): \"${_GEH_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  if(_GEH_EXPORT_MACRO_NAME)
+    set(EXPORT_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_EXPORT_MACRO_NAME})
+  endif()
+  string(MAKE_C_IDENTIFIER ${EXPORT_MACRO_NAME} EXPORT_MACRO_NAME)
+  if(_GEH_EXPORT_FILE_NAME)
+    if(IS_ABSOLUTE ${_GEH_EXPORT_FILE_NAME})
+      set(EXPORT_FILE_NAME ${_GEH_EXPORT_FILE_NAME})
+    else()
+      set(EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/${_GEH_EXPORT_FILE_NAME}")
+    endif()
+  endif()
+  if(_GEH_DEPRECATED_MACRO_NAME)
+    set(DEPRECATED_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_DEPRECATED_MACRO_NAME})
+  endif()
+  string(MAKE_C_IDENTIFIER ${DEPRECATED_MACRO_NAME} DEPRECATED_MACRO_NAME)
+  if(_GEH_NO_EXPORT_MACRO_NAME)
+    set(NO_EXPORT_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_NO_EXPORT_MACRO_NAME})
+  endif()
+  string(MAKE_C_IDENTIFIER ${NO_EXPORT_MACRO_NAME} NO_EXPORT_MACRO_NAME)
+  if(_GEH_STATIC_DEFINE)
+    set(STATIC_DEFINE ${_GEH_PREFIX_NAME}${_GEH_STATIC_DEFINE})
+  endif()
+  string(MAKE_C_IDENTIFIER ${STATIC_DEFINE} STATIC_DEFINE)
+
+  if(_GEH_DEFINE_NO_DEPRECATED)
+    set(DEFINE_NO_DEPRECATED 1)
+  else()
+    set(DEFINE_NO_DEPRECATED 0)
+  endif()
+
+  if(_GEH_NO_DEPRECATED_MACRO_NAME)
+    set(NO_DEPRECATED_MACRO_NAME
+      ${_GEH_PREFIX_NAME}${_GEH_NO_DEPRECATED_MACRO_NAME})
+  endif()
+  string(MAKE_C_IDENTIFIER ${NO_DEPRECATED_MACRO_NAME} NO_DEPRECATED_MACRO_NAME)
+
+  set(INCLUDE_GUARD_NAME "${EXPORT_MACRO_NAME}_H")
+
+  get_target_property(EXPORT_IMPORT_CONDITION ${TARGET_LIBRARY} DEFINE_SYMBOL)
+
+  if(NOT EXPORT_IMPORT_CONDITION)
+    set(EXPORT_IMPORT_CONDITION ${TARGET_LIBRARY}_EXPORTS)
+  endif()
+  string(MAKE_C_IDENTIFIER ${EXPORT_IMPORT_CONDITION} EXPORT_IMPORT_CONDITION)
+
+  if(_GEH_CUSTOM_CONTENT_FROM_VARIABLE)
+    if(DEFINED "${_GEH_CUSTOM_CONTENT_FROM_VARIABLE}")
+      set(CUSTOM_CONTENT "${${_GEH_CUSTOM_CONTENT_FROM_VARIABLE}}")
+    else()
+      set(CUSTOM_CONTENT "")
+    endif()
+  endif()
+
+  configure_file("${_GENERATE_EXPORT_HEADER_MODULE_DIR}/exportheader.cmake.in"
+    "${EXPORT_FILE_NAME}" @ONLY)
+endmacro()
+
+function(GENERATE_EXPORT_HEADER TARGET_LIBRARY)
+  get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
+  if(NOT ${type} STREQUAL "STATIC_LIBRARY"
+      AND NOT ${type} STREQUAL "SHARED_LIBRARY"
+      AND NOT ${type} STREQUAL "OBJECT_LIBRARY"
+      AND NOT ${type} STREQUAL "MODULE_LIBRARY")
+    message(WARNING "This macro can only be used with libraries")
+    return()
+  endif()
+  _test_compiler_hidden_visibility()
+  _test_compiler_has_deprecated()
+  _do_set_macro_values(${TARGET_LIBRARY})
+  _do_generate_export_header(${TARGET_LIBRARY} ${ARGN})
+endfunction()
+
+function(add_compiler_export_flags)
+  if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
+    message(DEPRECATION "The add_compiler_export_flags function is obsolete. Use the CXX_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties instead.")
+  endif()
+
+  _test_compiler_hidden_visibility()
+  _test_compiler_has_deprecated()
+
+  option(USE_COMPILER_HIDDEN_VISIBILITY
+    "Use HIDDEN visibility support if available." ON)
+  mark_as_advanced(USE_COMPILER_HIDDEN_VISIBILITY)
+  if(NOT (USE_COMPILER_HIDDEN_VISIBILITY AND COMPILER_HAS_HIDDEN_VISIBILITY))
+    # Just return if there are no flags to add.
+    return()
+  endif()
+
+  set (EXTRA_FLAGS "-fvisibility=hidden")
+
+  if(COMPILER_HAS_HIDDEN_INLINE_VISIBILITY)
+    set (EXTRA_FLAGS "${EXTRA_FLAGS} -fvisibility-inlines-hidden")
+  endif()
+
+  # Either return the extra flags needed in the supplied argument, or to the
+  # CMAKE_CXX_FLAGS if no argument is supplied.
+  if(ARGC GREATER 0)
+    set(${ARGV0} "${EXTRA_FLAGS}" PARENT_SCOPE)
+  else()
+    string(APPEND CMAKE_CXX_FLAGS " ${EXTRA_FLAGS}")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" PARENT_SCOPE)
+  endif()
+endfunction()
diff --git a/share/cmake-3.10/Modules/GetPrerequisites.cmake b/share/cmake-3.10/Modules/GetPrerequisites.cmake
new file mode 100644
index 0000000..b81dd76
--- /dev/null
+++ b/share/cmake-3.10/Modules/GetPrerequisites.cmake
@@ -0,0 +1,1040 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# GetPrerequisites
+# ----------------
+#
+# Functions to analyze and list executable file prerequisites.
+#
+# This module provides functions to list the .dll, .dylib or .so files
+# that an executable or shared library file depends on.  (Its
+# prerequisites.)
+#
+# It uses various tools to obtain the list of required shared library
+# files:
+#
+# ::
+#
+#    dumpbin (Windows)
+#    objdump (MinGW on Windows)
+#    ldd (Linux/Unix)
+#    otool (Mac OSX)
+#
+# The following functions are provided by this module:
+#
+# ::
+#
+#    get_prerequisites
+#    list_prerequisites
+#    list_prerequisites_by_glob
+#    gp_append_unique
+#    is_file_executable
+#    gp_item_default_embedded_path
+#      (projects can override with gp_item_default_embedded_path_override)
+#    gp_resolve_item
+#      (projects can override with gp_resolve_item_override)
+#    gp_resolved_file_type
+#      (projects can override with gp_resolved_file_type_override)
+#    gp_file_type
+#
+# Requires CMake 2.6 or greater because it uses function, break, return
+# and PARENT_SCOPE.
+#
+# ::
+#
+#   GET_PREREQUISITES(<target> <prerequisites_var> <exclude_system> <recurse>
+#                     <exepath> <dirs> [<rpaths>])
+#
+# Get the list of shared library files required by <target>.  The list
+# in the variable named <prerequisites_var> should be empty on first
+# entry to this function.  On exit, <prerequisites_var> will contain the
+# list of required shared library files.
+#
+# <target> is the full path to an executable file.  <prerequisites_var>
+# is the name of a CMake variable to contain the results.
+# <exclude_system> must be 0 or 1 indicating whether to include or
+# exclude "system" prerequisites.  If <recurse> is set to 1 all
+# prerequisites will be found recursively, if set to 0 only direct
+# prerequisites are listed.  <exepath> is the path to the top level
+# executable used for @executable_path replacment on the Mac.  <dirs> is
+# a list of paths where libraries might be found: these paths are
+# searched first when a target without any path info is given.  Then
+# standard system locations are also searched: PATH, Framework
+# locations, /usr/lib...
+#
+# ::
+#
+#   LIST_PREREQUISITES(<target> [<recurse> [<exclude_system> [<verbose>]]])
+#
+# Print a message listing the prerequisites of <target>.
+#
+# <target> is the name of a shared library or executable target or the
+# full path to a shared library or executable file.  If <recurse> is set
+# to 1 all prerequisites will be found recursively, if set to 0 only
+# direct prerequisites are listed.  <exclude_system> must be 0 or 1
+# indicating whether to include or exclude "system" prerequisites.  With
+# <verbose> set to 0 only the full path names of the prerequisites are
+# printed, set to 1 extra informatin will be displayed.
+#
+# ::
+#
+#   LIST_PREREQUISITES_BY_GLOB(<glob_arg> <glob_exp>)
+#
+# Print the prerequisites of shared library and executable files
+# matching a globbing pattern.  <glob_arg> is GLOB or GLOB_RECURSE and
+# <glob_exp> is a globbing expression used with "file(GLOB" or
+# "file(GLOB_RECURSE" to retrieve a list of matching files.  If a
+# matching file is executable, its prerequisites are listed.
+#
+# Any additional (optional) arguments provided are passed along as the
+# optional arguments to the list_prerequisites calls.
+#
+# ::
+#
+#   GP_APPEND_UNIQUE(<list_var> <value>)
+#
+# Append <value> to the list variable <list_var> only if the value is
+# not already in the list.
+#
+# ::
+#
+#   IS_FILE_EXECUTABLE(<file> <result_var>)
+#
+# Return 1 in <result_var> if <file> is a binary executable, 0
+# otherwise.
+#
+# ::
+#
+#   GP_ITEM_DEFAULT_EMBEDDED_PATH(<item> <default_embedded_path_var>)
+#
+# Return the path that others should refer to the item by when the item
+# is embedded inside a bundle.
+#
+# Override on a per-project basis by providing a project-specific
+# gp_item_default_embedded_path_override function.
+#
+# ::
+#
+#   GP_RESOLVE_ITEM(<context> <item> <exepath> <dirs> <resolved_item_var>
+#                   [<rpaths>])
+#
+# Resolve an item into an existing full path file.
+#
+# Override on a per-project basis by providing a project-specific
+# gp_resolve_item_override function.
+#
+# ::
+#
+#   GP_RESOLVED_FILE_TYPE(<original_file> <file> <exepath> <dirs> <type_var>
+#                         [<rpaths>])
+#
+# Return the type of <file> with respect to <original_file>.  String
+# describing type of prerequisite is returned in variable named
+# <type_var>.
+#
+# Use <exepath> and <dirs> if necessary to resolve non-absolute <file>
+# values -- but only for non-embedded items.
+#
+# Possible types are:
+#
+# ::
+#
+#    system
+#    local
+#    embedded
+#    other
+#
+# Override on a per-project basis by providing a project-specific
+# gp_resolved_file_type_override function.
+#
+# ::
+#
+#   GP_FILE_TYPE(<original_file> <file> <type_var>)
+#
+# Return the type of <file> with respect to <original_file>.  String
+# describing type of prerequisite is returned in variable named
+# <type_var>.
+#
+# Possible types are:
+#
+# ::
+#
+#    system
+#    local
+#    embedded
+#    other
+
+function(gp_append_unique list_var value)
+  set(contains 0)
+
+  foreach(item ${${list_var}})
+    if(item STREQUAL "${value}")
+      set(contains 1)
+      break()
+    endif()
+  endforeach()
+
+  if(NOT contains)
+    set(${list_var} ${${list_var}} "${value}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+
+function(is_file_executable file result_var)
+  #
+  # A file is not executable until proven otherwise:
+  #
+  set(${result_var} 0 PARENT_SCOPE)
+
+  get_filename_component(file_full "${file}" ABSOLUTE)
+  string(TOLOWER "${file_full}" file_full_lower)
+
+  # If file name ends in .exe on Windows, *assume* executable:
+  #
+  if(WIN32 AND NOT UNIX)
+    if("${file_full_lower}" MATCHES "\\.exe$")
+      set(${result_var} 1 PARENT_SCOPE)
+      return()
+    endif()
+
+    # A clause could be added here that uses output or return value of dumpbin
+    # to determine ${result_var}. In 99%+? practical cases, the exe name
+    # match will be sufficient...
+    #
+  endif()
+
+  # Use the information returned from the Unix shell command "file" to
+  # determine if ${file_full} should be considered an executable file...
+  #
+  # If the file command's output contains "executable" and does *not* contain
+  # "text" then it is likely an executable suitable for prerequisite analysis
+  # via the get_prerequisites macro.
+  #
+  if(UNIX)
+    if(NOT file_cmd)
+      find_program(file_cmd "file")
+      mark_as_advanced(file_cmd)
+    endif()
+
+    if(file_cmd)
+      execute_process(COMMAND "${file_cmd}" "${file_full}"
+        RESULT_VARIABLE file_rv
+        OUTPUT_VARIABLE file_ov
+        ERROR_VARIABLE file_ev
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+      if(NOT file_rv STREQUAL "0")
+        message(FATAL_ERROR "${file_cmd} failed: ${file_rv}\n${file_ev}")
+      endif()
+
+      # Replace the name of the file in the output with a placeholder token
+      # (the string " _file_full_ ") so that just in case the path name of
+      # the file contains the word "text" or "executable" we are not fooled
+      # into thinking "the wrong thing" because the file name matches the
+      # other 'file' command output we are looking for...
+      #
+      string(REPLACE "${file_full}" " _file_full_ " file_ov "${file_ov}")
+      string(TOLOWER "${file_ov}" file_ov)
+
+      #message(STATUS "file_ov='${file_ov}'")
+      if("${file_ov}" MATCHES "executable")
+        #message(STATUS "executable!")
+        if("${file_ov}" MATCHES "text")
+          #message(STATUS "but text, so *not* a binary executable!")
+        else()
+          set(${result_var} 1 PARENT_SCOPE)
+          return()
+        endif()
+      endif()
+
+      # Also detect position independent executables on Linux,
+      # where "file" gives "shared object ... (uses shared libraries)"
+      if("${file_ov}" MATCHES "shared object.*\(uses shared libs\)")
+        set(${result_var} 1 PARENT_SCOPE)
+        return()
+      endif()
+
+      # "file" version 5.22 does not print "(used shared libraries)"
+      # but uses "interpreter"
+      if("${file_ov}" MATCHES "shared object.*interpreter")
+        set(${result_var} 1 PARENT_SCOPE)
+        return()
+      endif()
+
+    else()
+      message(STATUS "warning: No 'file' command, skipping execute_process...")
+    endif()
+  endif()
+endfunction()
+
+
+function(gp_item_default_embedded_path item default_embedded_path_var)
+
+  # On Windows and Linux, "embed" prerequisites in the same directory
+  # as the executable by default:
+  #
+  set(path "@executable_path")
+  set(overridden 0)
+
+  # On the Mac, relative to the executable depending on the type
+  # of the thing we are embedding:
+  #
+  if(APPLE)
+    #
+    # The assumption here is that all executables in the bundle will be
+    # in same-level-directories inside the bundle. The parent directory
+    # of an executable inside the bundle should be MacOS or a sibling of
+    # MacOS and all embedded paths returned from here will begin with
+    # "@executable_path/../" and will work from all executables in all
+    # such same-level-directories inside the bundle.
+    #
+
+    # By default, embed things right next to the main bundle executable:
+    #
+    set(path "@executable_path/../../Contents/MacOS")
+
+    # Embed .dylibs right next to the main bundle executable:
+    #
+    if(item MATCHES "\\.dylib$")
+      set(path "@executable_path/../MacOS")
+      set(overridden 1)
+    endif()
+
+    # Embed frameworks in the embedded "Frameworks" directory (sibling of MacOS):
+    #
+    if(NOT overridden)
+      if(item MATCHES "[^/]+\\.framework/")
+        set(path "@executable_path/../Frameworks")
+        set(overridden 1)
+      endif()
+    endif()
+  endif()
+
+  # Provide a hook so that projects can override the default embedded location
+  # of any given library by whatever logic they choose:
+  #
+  if(COMMAND gp_item_default_embedded_path_override)
+    gp_item_default_embedded_path_override("${item}" path)
+  endif()
+
+  set(${default_embedded_path_var} "${path}" PARENT_SCOPE)
+endfunction()
+
+
+function(gp_resolve_item context item exepath dirs resolved_item_var)
+  set(resolved 0)
+  set(resolved_item "${item}")
+  if(ARGC GREATER 5)
+    set(rpaths "${ARGV5}")
+  else()
+    set(rpaths "")
+  endif()
+
+  # Is it already resolved?
+  #
+  if(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
+    set(resolved 1)
+  endif()
+
+  if(NOT resolved)
+    if(item MATCHES "^@executable_path")
+      #
+      # @executable_path references are assumed relative to exepath
+      #
+      string(REPLACE "@executable_path" "${exepath}" ri "${item}")
+      get_filename_component(ri "${ri}" ABSOLUTE)
+
+      if(EXISTS "${ri}")
+        #message(STATUS "info: embedded item exists (${ri})")
+        set(resolved 1)
+        set(resolved_item "${ri}")
+      else()
+        message(STATUS "warning: embedded item does not exist '${ri}'")
+      endif()
+    endif()
+  endif()
+
+  if(NOT resolved)
+    if(item MATCHES "^@loader_path")
+      #
+      # @loader_path references are assumed relative to the
+      # PATH of the given "context" (presumably another library)
+      #
+      get_filename_component(contextpath "${context}" PATH)
+      string(REPLACE "@loader_path" "${contextpath}" ri "${item}")
+      get_filename_component(ri "${ri}" ABSOLUTE)
+
+      if(EXISTS "${ri}")
+        #message(STATUS "info: embedded item exists (${ri})")
+        set(resolved 1)
+        set(resolved_item "${ri}")
+      else()
+        message(STATUS "warning: embedded item does not exist '${ri}'")
+      endif()
+    endif()
+  endif()
+
+  if(NOT resolved)
+    if(item MATCHES "^@rpath")
+      #
+      # @rpath references are relative to the paths built into the binaries with -rpath
+      # We handle this case like we do for other Unixes
+      #
+      string(REPLACE "@rpath/" "" norpath_item "${item}")
+
+      set(ri "ri-NOTFOUND")
+      find_file(ri "${norpath_item}" ${exepath} ${dirs} ${rpaths} NO_DEFAULT_PATH)
+      if(ri)
+        #message(STATUS "info: 'find_file' in exepath/dirs/rpaths (${ri})")
+        set(resolved 1)
+        set(resolved_item "${ri}")
+        set(ri "ri-NOTFOUND")
+      endif()
+
+    endif()
+  endif()
+
+  if(NOT resolved)
+    set(ri "ri-NOTFOUND")
+    find_file(ri "${item}" ${exepath} ${dirs} NO_DEFAULT_PATH)
+    find_file(ri "${item}" ${exepath} ${dirs} /usr/lib)
+
+    get_filename_component(basename_item "${item}" NAME)
+    find_file(ri "${basename_item}" PATHS ${exepath} ${dirs} NO_DEFAULT_PATH)
+    find_file(ri "${basename_item}" PATHS /usr/lib)
+
+    if(ri)
+      #message(STATUS "info: 'find_file' in exepath/dirs (${ri})")
+      set(resolved 1)
+      set(resolved_item "${ri}")
+      set(ri "ri-NOTFOUND")
+    endif()
+  endif()
+
+  if(NOT resolved)
+    if(item MATCHES "[^/]+\\.framework/")
+      set(fw "fw-NOTFOUND")
+      find_file(fw "${item}"
+        "~/Library/Frameworks"
+        "/Library/Frameworks"
+        "/System/Library/Frameworks"
+      )
+      if(fw)
+        #message(STATUS "info: 'find_file' found framework (${fw})")
+        set(resolved 1)
+        set(resolved_item "${fw}")
+        set(fw "fw-NOTFOUND")
+      endif()
+    endif()
+  endif()
+
+  # Using find_program on Windows will find dll files that are in the PATH.
+  # (Converting simple file names into full path names if found.)
+  #
+  if(WIN32 AND NOT UNIX)
+  if(NOT resolved)
+    set(ri "ri-NOTFOUND")
+    find_program(ri "${item}" PATHS ${exepath} ${dirs} NO_DEFAULT_PATH)
+    find_program(ri "${item}" PATHS ${exepath} ${dirs})
+    if(ri)
+      #message(STATUS "info: 'find_program' in exepath/dirs (${ri})")
+      set(resolved 1)
+      set(resolved_item "${ri}")
+      set(ri "ri-NOTFOUND")
+    endif()
+  endif()
+  endif()
+
+  # Provide a hook so that projects can override item resolution
+  # by whatever logic they choose:
+  #
+  if(COMMAND gp_resolve_item_override)
+    gp_resolve_item_override("${context}" "${item}" "${exepath}" "${dirs}" resolved_item resolved)
+  endif()
+
+  if(NOT resolved)
+    message(STATUS "
+warning: cannot resolve item '${item}'
+
+  possible problems:
+    need more directories?
+    need to use InstallRequiredSystemLibraries?
+    run in install tree instead of build tree?
+")
+#    message(STATUS "
+#******************************************************************************
+#warning: cannot resolve item '${item}'
+#
+#  possible problems:
+#    need more directories?
+#    need to use InstallRequiredSystemLibraries?
+#    run in install tree instead of build tree?
+#
+#    context='${context}'
+#    item='${item}'
+#    exepath='${exepath}'
+#    dirs='${dirs}'
+#    resolved_item_var='${resolved_item_var}'
+#******************************************************************************
+#")
+  endif()
+
+  set(${resolved_item_var} "${resolved_item}" PARENT_SCOPE)
+endfunction()
+
+
+function(gp_resolved_file_type original_file file exepath dirs type_var)
+  if(ARGC GREATER 5)
+    set(rpaths "${ARGV5}")
+  else()
+    set(rpaths "")
+  endif()
+  #message(STATUS "**")
+
+  if(NOT IS_ABSOLUTE "${original_file}")
+    message(STATUS "warning: gp_resolved_file_type expects absolute full path for first arg original_file")
+  endif()
+  if(IS_ABSOLUTE "${original_file}")
+    get_filename_component(original_file "${original_file}" ABSOLUTE) # canonicalize path
+  endif()
+
+  set(is_embedded 0)
+  set(is_local 0)
+  set(is_system 0)
+
+  set(resolved_file "${file}")
+
+  if("${file}" MATCHES "^@(executable|loader)_path")
+    set(is_embedded 1)
+  endif()
+
+  if(NOT is_embedded)
+    if(NOT IS_ABSOLUTE "${file}")
+      gp_resolve_item("${original_file}" "${file}" "${exepath}" "${dirs}" resolved_file "${rpaths}")
+    endif()
+    if(IS_ABSOLUTE "${resolved_file}")
+      get_filename_component(resolved_file "${resolved_file}" ABSOLUTE) # canonicalize path
+    endif()
+
+    string(TOLOWER "${original_file}" original_lower)
+    string(TOLOWER "${resolved_file}" lower)
+
+    if(UNIX)
+      if(resolved_file MATCHES "^(/lib/|/lib32/|/libx32/|/lib64/|/usr/lib/|/usr/lib32/|/usr/libx32/|/usr/lib64/|/usr/X11R6/|/usr/bin/)")
+        set(is_system 1)
+      endif()
+    endif()
+
+    if(APPLE)
+      if(resolved_file MATCHES "^(/System/Library/|/usr/lib/)")
+        set(is_system 1)
+      endif()
+    endif()
+
+    if(WIN32)
+      string(TOLOWER "$ENV{SystemRoot}" sysroot)
+      file(TO_CMAKE_PATH "${sysroot}" sysroot)
+
+      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)")
+        set(is_system 1)
+      endif()
+
+      if(UNIX)
+        # if cygwin, we can get the properly formed windows paths from cygpath
+        find_program(CYGPATH_EXECUTABLE cygpath)
+
+        if(CYGPATH_EXECUTABLE)
+          execute_process(COMMAND ${CYGPATH_EXECUTABLE} -W
+                          RESULT_VARIABLE env_rv
+                          OUTPUT_VARIABLE env_windir
+                          ERROR_VARIABLE env_ev
+                          OUTPUT_STRIP_TRAILING_WHITESPACE)
+          if(NOT env_rv STREQUAL "0")
+            message(FATAL_ERROR "${CYGPATH_EXECUTABLE} -W failed: ${env_rv}\n${env_ev}")
+          endif()
+          execute_process(COMMAND ${CYGPATH_EXECUTABLE} -S
+                          RESULT_VARIABLE env_rv
+                          OUTPUT_VARIABLE env_sysdir
+                          ERROR_VARIABLE env_ev
+                          OUTPUT_STRIP_TRAILING_WHITESPACE)
+          if(NOT env_rv STREQUAL "0")
+            message(FATAL_ERROR "${CYGPATH_EXECUTABLE} -S failed: ${env_rv}\n${env_ev}")
+          endif()
+          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)")
+            set(is_system 1)
+          endif()
+        endif()
+      endif()
+    endif()
+
+    if(NOT is_system)
+      get_filename_component(original_path "${original_lower}" PATH)
+      get_filename_component(path "${lower}" PATH)
+      if(original_path STREQUAL path)
+        set(is_local 1)
+      else()
+        string(LENGTH "${original_path}/" original_length)
+        string(LENGTH "${lower}" path_length)
+        if(${path_length} GREATER ${original_length})
+          string(SUBSTRING "${lower}" 0 ${original_length} path)
+          if("${original_path}/" STREQUAL path)
+            set(is_embedded 1)
+          endif()
+        endif()
+      endif()
+    endif()
+  endif()
+
+  # Return type string based on computed booleans:
+  #
+  set(type "other")
+
+  if(is_system)
+    set(type "system")
+  elseif(is_embedded)
+    set(type "embedded")
+  elseif(is_local)
+    set(type "local")
+  endif()
+
+  #message(STATUS "gp_resolved_file_type: '${file}' '${resolved_file}'")
+  #message(STATUS "                type: '${type}'")
+
+  if(NOT is_embedded)
+    if(NOT IS_ABSOLUTE "${resolved_file}")
+      if(lower MATCHES "^(msvc|api-ms-win-)[^/]+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")
+      endif()
+    endif()
+  endif()
+
+  # Provide a hook so that projects can override the decision on whether a
+  # library belongs to the system or not by whatever logic they choose:
+  #
+  if(COMMAND gp_resolved_file_type_override)
+    gp_resolved_file_type_override("${resolved_file}" type)
+  endif()
+
+  set(${type_var} "${type}" PARENT_SCOPE)
+
+  #message(STATUS "**")
+endfunction()
+
+
+function(gp_file_type original_file file type_var)
+  if(NOT IS_ABSOLUTE "${original_file}")
+    message(STATUS "warning: gp_file_type expects absolute full path for first arg original_file")
+  endif()
+
+  get_filename_component(exepath "${original_file}" PATH)
+
+  set(type "")
+  gp_resolved_file_type("${original_file}" "${file}" "${exepath}" "" type)
+
+  set(${type_var} "${type}" PARENT_SCOPE)
+endfunction()
+
+
+function(get_prerequisites target prerequisites_var exclude_system recurse exepath dirs)
+  set(verbose 0)
+  set(eol_char "E")
+  if(ARGC GREATER 6)
+    set(rpaths "${ARGV6}")
+  else()
+    set(rpaths "")
+  endif()
+
+  if(NOT IS_ABSOLUTE "${target}")
+    message("warning: target '${target}' is not absolute...")
+  endif()
+
+  if(NOT EXISTS "${target}")
+    message("warning: target '${target}' does not exist...")
+    return()
+  endif()
+
+  set(gp_cmd_paths ${gp_cmd_paths}
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0;InstallDir]/../../VC/bin"
+    "$ENV{VS140COMNTOOLS}/../../VC/bin"
+    "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0;InstallDir]/../../VC/bin"
+    "$ENV{VS120COMNTOOLS}/../../VC/bin"
+    "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;InstallDir]/../../VC/bin"
+    "$ENV{VS110COMNTOOLS}/../../VC/bin"
+    "C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;InstallDir]/../../VC/bin"
+    "$ENV{VS100COMNTOOLS}/../../VC/bin"
+    "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/bin"
+    "$ENV{VS90COMNTOOLS}/../../VC/bin"
+    "C:/Program Files/Microsoft Visual Studio 9.0/VC/bin"
+    "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/bin"
+    "$ENV{VS80COMNTOOLS}/../../VC/bin"
+    "C:/Program Files/Microsoft Visual Studio 8/VC/BIN"
+    "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/BIN"
+    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1;InstallDir]/../../VC7/bin"
+    "$ENV{VS71COMNTOOLS}/../../VC7/bin"
+    "C:/Program Files/Microsoft Visual Studio .NET 2003/VC7/BIN"
+    "C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/VC7/BIN"
+    "/usr/local/bin"
+    "/usr/bin"
+    )
+
+  # <setup-gp_tool-vars>
+  #
+  # Try to choose the right tool by default. Caller can set gp_tool prior to
+  # calling this function to force using a different tool.
+  #
+  if(NOT gp_tool)
+    set(gp_tool "ldd")
+
+    if(APPLE)
+      set(gp_tool "otool")
+    endif()
+
+    if(WIN32 AND NOT UNIX) # This is how to check for cygwin, har!
+      find_program(gp_dumpbin "dumpbin" PATHS ${gp_cmd_paths})
+      if(gp_dumpbin)
+        set(gp_tool "dumpbin")
+      else() # Try harder. Maybe we're on MinGW
+        set(gp_tool "objdump")
+      endif()
+    endif()
+  endif()
+
+  find_program(gp_cmd ${gp_tool} PATHS ${gp_cmd_paths})
+
+  if(NOT gp_cmd)
+    message(STATUS "warning: could not find '${gp_tool}' - cannot analyze prerequisites...")
+    return()
+  endif()
+
+  set(gp_cmd_maybe_filter)      # optional command to pre-filter gp_tool results
+
+  if(gp_tool STREQUAL "ldd")
+    set(gp_cmd_args "")
+    set(gp_regex "^[\t ]*[^\t ]+ => ([^\t\(]+) .*${eol_char}$")
+    set(gp_regex_error "not found${eol_char}$")
+    set(gp_regex_fallback "^[\t ]*([^\t ]+) => ([^\t ]+).*${eol_char}$")
+    set(gp_regex_cmp_count 1)
+  elseif(gp_tool STREQUAL "otool")
+    set(gp_cmd_args "-L")
+    set(gp_regex "^\t([^\t]+) \\(compatibility version ([0-9]+.[0-9]+.[0-9]+), current version ([0-9]+.[0-9]+.[0-9]+)\\)${eol_char}$")
+    set(gp_regex_error "")
+    set(gp_regex_fallback "")
+    set(gp_regex_cmp_count 3)
+  elseif(gp_tool STREQUAL "dumpbin")
+    set(gp_cmd_args "/dependents")
+    set(gp_regex "^    ([^ ].*[Dd][Ll][Ll])${eol_char}$")
+    set(gp_regex_error "")
+    set(gp_regex_fallback "")
+    set(gp_regex_cmp_count 1)
+  elseif(gp_tool STREQUAL "objdump")
+    set(gp_cmd_args "-p")
+    set(gp_regex "^\t*DLL Name: (.*\\.[Dd][Ll][Ll])${eol_char}$")
+    set(gp_regex_error "")
+    set(gp_regex_fallback "")
+    set(gp_regex_cmp_count 1)
+    # objdump generates copious output so we create a grep filter to pre-filter results
+    if(WIN32)
+      find_program(gp_grep_cmd findstr)
+    else()
+      find_program(gp_grep_cmd grep)
+    endif()
+    if(gp_grep_cmd)
+      set(gp_cmd_maybe_filter COMMAND ${gp_grep_cmd} "-a" "^[[:blank:]]*DLL Name: ")
+    endif()
+  else()
+    message(STATUS "warning: gp_tool='${gp_tool}' is an unknown tool...")
+    message(STATUS "CMake function get_prerequisites needs more code to handle '${gp_tool}'")
+    message(STATUS "Valid gp_tool values are dumpbin, ldd, objdump and otool.")
+    return()
+  endif()
+
+
+  if(gp_tool STREQUAL "dumpbin")
+    # When running dumpbin, it also needs the "Common7/IDE" directory in the
+    # PATH. It will already be in the PATH if being run from a Visual Studio
+    # command prompt. Add it to the PATH here in case we are running from a
+    # different command prompt.
+    #
+    get_filename_component(gp_cmd_dir "${gp_cmd}" PATH)
+    get_filename_component(gp_cmd_dlls_dir "${gp_cmd_dir}/../../Common7/IDE" ABSOLUTE)
+    # Use cmake paths as a user may have a PATH element ending with a backslash.
+    # This will escape the list delimiter and create havoc!
+    if(EXISTS "${gp_cmd_dlls_dir}")
+      # only add to the path if it is not already in the path
+      set(gp_found_cmd_dlls_dir 0)
+      file(TO_CMAKE_PATH "$ENV{PATH}" env_path)
+      foreach(gp_env_path_element ${env_path})
+        if(gp_env_path_element STREQUAL gp_cmd_dlls_dir)
+          set(gp_found_cmd_dlls_dir 1)
+        endif()
+      endforeach()
+
+      if(NOT gp_found_cmd_dlls_dir)
+        file(TO_NATIVE_PATH "${gp_cmd_dlls_dir}" gp_cmd_dlls_dir)
+        set(ENV{PATH} "$ENV{PATH};${gp_cmd_dlls_dir}")
+      endif()
+    endif()
+  endif()
+  #
+  # </setup-gp_tool-vars>
+
+  if(gp_tool STREQUAL "ldd")
+    set(old_ld_env "$ENV{LD_LIBRARY_PATH}")
+    set(new_ld_env "${exepath}")
+    foreach(dir ${dirs})
+      string(APPEND new_ld_env ":${dir}")
+    endforeach()
+    set(ENV{LD_LIBRARY_PATH} "${new_ld_env}:$ENV{LD_LIBRARY_PATH}")
+  endif()
+
+
+  # Track new prerequisites at each new level of recursion. Start with an
+  # empty list at each level:
+  #
+  set(unseen_prereqs)
+
+  # Run gp_cmd on the target:
+  #
+  execute_process(
+    COMMAND ${gp_cmd} ${gp_cmd_args} ${target}
+    ${gp_cmd_maybe_filter}
+    RESULT_VARIABLE gp_rv
+    OUTPUT_VARIABLE gp_cmd_ov
+    ERROR_VARIABLE gp_ev
+    )
+
+  if(gp_tool STREQUAL "dumpbin")
+    # Exclude delay load dependencies under windows (they are listed in dumpbin output after the message below)
+    string(FIND "${gp_cmd_ov}" "Image has the following delay load dependencies" gp_delayload_pos)
+    if (${gp_delayload_pos} GREATER -1)
+      string(SUBSTRING "${gp_cmd_ov}" 0 ${gp_delayload_pos} gp_cmd_ov_no_delayload_deps)
+      string(SUBSTRING "${gp_cmd_ov}" ${gp_delayload_pos} -1 gp_cmd_ov_delayload_deps)
+      if (verbose)
+        message(STATUS "GetPrequisites(${target}) : ignoring the following delay load dependencies :\n ${gp_cmd_ov_delayload_deps}")
+      endif()
+      set(gp_cmd_ov ${gp_cmd_ov_no_delayload_deps})
+    endif()
+  endif()
+
+  if(NOT gp_rv STREQUAL "0")
+    if(gp_tool STREQUAL "dumpbin")
+      # dumpbin error messages seem to go to stdout
+      message(FATAL_ERROR "${gp_cmd} failed: ${gp_rv}\n${gp_ev}\n${gp_cmd_ov}")
+    else()
+      message(FATAL_ERROR "${gp_cmd} failed: ${gp_rv}\n${gp_ev}")
+    endif()
+  endif()
+
+  if(gp_tool STREQUAL "ldd")
+    set(ENV{LD_LIBRARY_PATH} "${old_ld_env}")
+  endif()
+
+  if(verbose)
+    message(STATUS "<RawOutput cmd='${gp_cmd} ${gp_cmd_args} ${target}'>")
+    message(STATUS "gp_cmd_ov='${gp_cmd_ov}'")
+    message(STATUS "</RawOutput>")
+  endif()
+
+  get_filename_component(target_dir "${target}" PATH)
+
+  # Convert to a list of lines:
+  #
+  string(REPLACE ";" "\\;" candidates "${gp_cmd_ov}")
+  string(REPLACE "\n" "${eol_char};" candidates "${candidates}")
+
+  # check for install id and remove it from list, since otool -L can include a
+  # reference to itself
+  set(gp_install_id)
+  if(gp_tool STREQUAL "otool")
+    execute_process(
+      COMMAND otool -D ${target}
+      RESULT_VARIABLE otool_rv
+      OUTPUT_VARIABLE gp_install_id_ov
+      ERROR_VARIABLE otool_ev
+      )
+    if(NOT otool_rv STREQUAL "0")
+      message(FATAL_ERROR "otool -D failed: ${otool_rv}\n${otool_ev}")
+    endif()
+    # second line is install name
+    string(REGEX REPLACE ".*:\n" "" gp_install_id "${gp_install_id_ov}")
+    if(gp_install_id)
+      # trim
+      string(REGEX MATCH "[^\n ].*[^\n ]" gp_install_id "${gp_install_id}")
+      #message("INSTALL ID is \"${gp_install_id}\"")
+    endif()
+  endif()
+
+  # Analyze each line for file names that match the regular expression:
+  #
+  foreach(candidate ${candidates})
+  if("${candidate}" MATCHES "${gp_regex}")
+
+    # Extract information from each candidate:
+    if(gp_regex_error AND "${candidate}" MATCHES "${gp_regex_error}")
+      string(REGEX REPLACE "${gp_regex_fallback}" "\\1" raw_item "${candidate}")
+    else()
+      string(REGEX REPLACE "${gp_regex}" "\\1" raw_item "${candidate}")
+    endif()
+
+    if(gp_regex_cmp_count GREATER 1)
+      string(REGEX REPLACE "${gp_regex}" "\\2" raw_compat_version "${candidate}")
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" compat_major_version "${raw_compat_version}")
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" compat_minor_version "${raw_compat_version}")
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" compat_patch_version "${raw_compat_version}")
+    endif()
+
+    if(gp_regex_cmp_count GREATER 2)
+      string(REGEX REPLACE "${gp_regex}" "\\3" raw_current_version "${candidate}")
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" current_major_version "${raw_current_version}")
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" current_minor_version "${raw_current_version}")
+      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" current_patch_version "${raw_current_version}")
+    endif()
+
+    # Use the raw_item as the list entries returned by this function. Use the
+    # gp_resolve_item function to resolve it to an actual full path file if
+    # necessary.
+    #
+    set(item "${raw_item}")
+
+    # Add each item unless it is excluded:
+    #
+    set(add_item 1)
+
+    if(item STREQUAL gp_install_id)
+      set(add_item 0)
+    endif()
+
+    if(add_item AND ${exclude_system})
+      set(type "")
+      gp_resolved_file_type("${target}" "${item}" "${exepath}" "${dirs}" type "${rpaths}")
+
+      if(type STREQUAL "system")
+        set(add_item 0)
+      endif()
+    endif()
+
+    if(add_item)
+      list(LENGTH ${prerequisites_var} list_length_before_append)
+      gp_append_unique(${prerequisites_var} "${item}")
+      list(LENGTH ${prerequisites_var} list_length_after_append)
+
+      if(${recurse})
+        # If item was really added, this is the first time we have seen it.
+        # Add it to unseen_prereqs so that we can recursively add *its*
+        # prerequisites...
+        #
+        # But first: resolve its name to an absolute full path name such
+        # that the analysis tools can simply accept it as input.
+        #
+        if(NOT list_length_before_append EQUAL list_length_after_append)
+          gp_resolve_item("${target}" "${item}" "${exepath}" "${dirs}" resolved_item "${rpaths}")
+          if(EXISTS "${resolved_item}")
+            # Recurse only if we could resolve the item.
+            # Otherwise the prerequisites_var list will be cleared
+            set(unseen_prereqs ${unseen_prereqs} "${resolved_item}")
+          endif()
+        endif()
+      endif()
+    endif()
+  else()
+    if(verbose)
+      message(STATUS "ignoring non-matching line: '${candidate}'")
+    endif()
+  endif()
+  endforeach()
+
+  list(LENGTH ${prerequisites_var} prerequisites_var_length)
+  if(prerequisites_var_length GREATER 0)
+    list(SORT ${prerequisites_var})
+  endif()
+  if(${recurse})
+    set(more_inputs ${unseen_prereqs})
+    foreach(input ${more_inputs})
+      get_prerequisites("${input}" ${prerequisites_var} ${exclude_system} ${recurse} "${exepath}" "${dirs}" "${rpaths}")
+    endforeach()
+  endif()
+
+  set(${prerequisites_var} ${${prerequisites_var}} PARENT_SCOPE)
+endfunction()
+
+
+function(list_prerequisites target)
+  if(ARGC GREATER 1 AND NOT "${ARGV1}" STREQUAL "")
+    set(all "${ARGV1}")
+  else()
+    set(all 1)
+  endif()
+
+  if(ARGC GREATER 2 AND NOT "${ARGV2}" STREQUAL "")
+    set(exclude_system "${ARGV2}")
+  else()
+    set(exclude_system 0)
+  endif()
+
+  if(ARGC GREATER 3 AND NOT "${ARGV3}" STREQUAL "")
+    set(verbose "${ARGV3}")
+  else()
+    set(verbose 0)
+  endif()
+
+  set(count 0)
+  set(count_str "")
+  set(print_count "${verbose}")
+  set(print_prerequisite_type "${verbose}")
+  set(print_target "${verbose}")
+  set(type_str "")
+
+  get_filename_component(exepath "${target}" PATH)
+
+  set(prereqs "")
+  get_prerequisites("${target}" prereqs ${exclude_system} ${all} "${exepath}" "")
+
+  if(print_target)
+    message(STATUS "File '${target}' depends on:")
+  endif()
+
+  foreach(d ${prereqs})
+    math(EXPR count "${count} + 1")
+
+    if(print_count)
+      set(count_str "${count}. ")
+    endif()
+
+    if(print_prerequisite_type)
+      gp_file_type("${target}" "${d}" type)
+      set(type_str " (${type})")
+    endif()
+
+    message(STATUS "${count_str}${d}${type_str}")
+  endforeach()
+endfunction()
+
+
+function(list_prerequisites_by_glob glob_arg glob_exp)
+  message(STATUS "=============================================================================")
+  message(STATUS "List prerequisites of executables matching ${glob_arg} '${glob_exp}'")
+  message(STATUS "")
+  file(${glob_arg} file_list ${glob_exp})
+  foreach(f ${file_list})
+    is_file_executable("${f}" is_f_executable)
+    if(is_f_executable)
+      message(STATUS "=============================================================================")
+      list_prerequisites("${f}" ${ARGN})
+      message(STATUS "")
+    endif()
+  endforeach()
+endfunction()
diff --git a/share/cmake-3.10/Modules/GoogleTest.cmake b/share/cmake-3.10/Modules/GoogleTest.cmake
new file mode 100644
index 0000000..c525101
--- /dev/null
+++ b/share/cmake-3.10/Modules/GoogleTest.cmake
@@ -0,0 +1,445 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+GoogleTest
+----------
+
+This module defines functions to help use the Google Test infrastructure.  Two
+mechanisms for adding tests are provided. :command:`gtest_add_tests` has been
+around for some time, originally via ``find_package(GTest)``.
+:command:`gtest_discover_tests` was introduced in CMake 3.10.
+
+The (older) :command:`gtest_add_tests` scans source files to identify tests.
+This is usually effective, with some caveats, including in cross-compiling
+environments, and makes setting additional properties on tests more convenient.
+However, its handling of parameterized tests is less comprehensive, and it
+requires re-running CMake to detect changes to the list of tests.
+
+The (newer) :command:`gtest_discover_tests` discovers tests by asking the
+compiled test executable to enumerate its tests.  This is more robust and
+provides better handling of parameterized tests, and does not require CMake
+to be re-run when tests change.  However, it may not work in a cross-compiling
+environment, and setting test properties is less convenient.
+
+More details can be found in the documentation of the respective functions.
+
+Both commands are intended to replace use of :command:`add_test` to register
+tests, and will create a separate CTest test for each Google Test test case.
+Note that this is in some cases less efficient, as common set-up and tear-down
+logic cannot be shared by multiple test cases executing in the same instance.
+However, it provides more fine-grained pass/fail information to CTest, which is
+usually considered as more beneficial.  By default, the CTest test name is the
+same as the Google Test name (i.e. ``suite.testcase``); see also
+``TEST_PREFIX`` and ``TEST_SUFFIX``.
+
+.. command:: gtest_add_tests
+
+  Automatically add tests with CTest by scanning source code for Google Test
+  macros::
+
+    gtest_add_tests(TARGET target
+                    [SOURCES src1...]
+                    [EXTRA_ARGS arg1...]
+                    [WORKING_DIRECTORY dir]
+                    [TEST_PREFIX prefix]
+                    [TEST_SUFFIX suffix]
+                    [SKIP_DEPENDENCY]
+                    [TEST_LIST outVar]
+    )
+
+  ``gtest_add_tests`` attempts to identify tests by scanning source files.
+  Although this is generally effective, it uses only a basic regular expression
+  match, which can be defeated by atypical test declarations, and is unable to
+  fully "split" parameterized tests.  Additionally, it requires that CMake be
+  re-run to discover any newly added, removed or renamed tests (by default,
+  this means that CMake is re-run when any test source file is changed, but see
+  ``SKIP_DEPENDENCY``).  However, it has the advantage of declaring tests at
+  CMake time, which somewhat simplifies setting additional properties on tests,
+  and always works in a cross-compiling environment.
+
+  The options are:
+
+  ``TARGET target``
+    Specifies the Google Test executable, which must be a known CMake
+    executable target.  CMake will substitute the location of the built
+    executable when running the test.
+
+  ``SOURCES src1...``
+    When provided, only the listed files will be scanned for test cases.  If
+    this option is not given, the :prop_tgt:`SOURCES` property of the
+    specified ``target`` will be used to obtain the list of sources.
+
+  ``EXTRA_ARGS arg1...``
+    Any extra arguments to pass on the command line to each test case.
+
+  ``WORKING_DIRECTORY dir``
+    Specifies the directory in which to run the discovered test cases.  If this
+    option is not provided, the current binary directory is used.
+
+  ``TEST_PREFIX prefix``
+    Specifies a ``prefix`` to be prepended to the name of each discovered test
+    case.  This can be useful when the same source files are being used in
+    multiple calls to ``gtest_add_test()`` but with different ``EXTRA_ARGS``.
+
+  ``TEST_SUFFIX suffix``
+    Similar to ``TEST_PREFIX`` except the ``suffix`` is appended to the name of
+    every discovered test case.  Both ``TEST_PREFIX`` and ``TEST_SUFFIX`` may
+    be specified.
+
+  ``SKIP_DEPENDENCY``
+    Normally, the function creates a dependency which will cause CMake to be
+    re-run if any of the sources being scanned are changed.  This is to ensure
+    that the list of discovered tests is updated.  If this behavior is not
+    desired (as may be the case while actually writing the test cases), this
+    option can be used to prevent the dependency from being added.
+
+  ``TEST_LIST outVar``
+    The variable named by ``outVar`` will be populated in the calling scope
+    with the list of discovered test cases.  This allows the caller to do
+    things like manipulate test properties of the discovered tests.
+
+  .. code-block:: cmake
+
+    include(GoogleTest)
+    add_executable(FooTest FooUnitTest.cxx)
+    gtest_add_tests(TARGET      FooTest
+                    TEST_SUFFIX .noArgs
+                    TEST_LIST   noArgsTests
+    )
+    gtest_add_tests(TARGET      FooTest
+                    EXTRA_ARGS  --someArg someValue
+                    TEST_SUFFIX .withArgs
+                    TEST_LIST   withArgsTests
+    )
+    set_tests_properties(${noArgsTests}   PROPERTIES TIMEOUT 10)
+    set_tests_properties(${withArgsTests} PROPERTIES TIMEOUT 20)
+
+  For backward compatibility, the following form is also supported::
+
+    gtest_add_tests(exe args files...)
+
+  ``exe``
+    The path to the test executable or the name of a CMake target.
+  ``args``
+    A ;-list of extra arguments to be passed to executable.  The entire
+    list must be passed as a single argument.  Enclose it in quotes,
+    or pass ``""`` for no arguments.
+  ``files...``
+    A list of source files to search for tests and test fixtures.
+    Alternatively, use ``AUTO`` to specify that ``exe`` is the name
+    of a CMake executable target whose sources should be scanned.
+
+  .. code-block:: cmake
+
+    include(GoogleTest)
+    set(FooTestArgs --foo 1 --bar 2)
+    add_executable(FooTest FooUnitTest.cxx)
+    gtest_add_tests(FooTest "${FooTestArgs}" AUTO)
+
+.. command:: gtest_discover_tests
+
+  Automatically add tests with CTest by querying the compiled test executable
+  for available tests::
+
+    gtest_discover_tests(target
+                         [EXTRA_ARGS arg1...]
+                         [WORKING_DIRECTORY dir]
+                         [TEST_PREFIX prefix]
+                         [TEST_SUFFIX suffix]
+                         [NO_PRETTY_TYPES] [NO_PRETTY_VALUES]
+                         [PROPERTIES name1 value1...]
+                         [TEST_LIST var]
+    )
+
+  ``gtest_discover_tests`` sets up a post-build command on the test executable
+  that generates the list of tests by parsing the output from running the test
+  with the ``--gtest_list_tests`` argument.  Compared to the source parsing
+  approach of :command:`gtest_add_tests`, this ensures that the full list of
+  tests, including instantiations of parameterized tests, is obtained.  Since
+  test discovery occurs at build time, it is not necessary to re-run CMake when
+  the list of tests changes.
+  However, it requires that :prop_tgt:`CROSSCOMPILING_EMULATOR` is properly set
+  in order to function in a cross-compiling environment.
+
+  Additionally, setting properties on tests is somewhat less convenient, since
+  the tests are not available at CMake time.  Additional test properties may be
+  assigned to the set of tests as a whole using the ``PROPERTIES`` option.  If
+  more fine-grained test control is needed, custom content may be provided
+  through an external CTest script using the :prop_dir:`TEST_INCLUDE_FILES`
+  directory property.  The set of discovered tests is made accessible to such a
+  script via the ``<target>_TESTS`` variable.
+
+  The options are:
+
+  ``target``
+    Specifies the Google Test executable, which must be a known CMake
+    executable target.  CMake will substitute the location of the built
+    executable when running the test.
+
+  ``EXTRA_ARGS arg1...``
+    Any extra arguments to pass on the command line to each test case.
+
+  ``WORKING_DIRECTORY dir``
+    Specifies the directory in which to run the discovered test cases.  If this
+    option is not provided, the current binary directory is used.
+
+  ``TEST_PREFIX prefix``
+    Specifies a ``prefix`` to be prepended to the name of each discovered test
+    case.  This can be useful when the same test executable is being used in
+    multiple calls to ``gtest_discover_tests()`` but with different
+    ``EXTRA_ARGS``.
+
+  ``TEST_SUFFIX suffix``
+    Similar to ``TEST_PREFIX`` except the ``suffix`` is appended to the name of
+    every discovered test case.  Both ``TEST_PREFIX`` and ``TEST_SUFFIX`` may
+    be specified.
+
+  ``NO_PRETTY_TYPES``
+    By default, the type index of type-parameterized tests is replaced by the
+    actual type name in the CTest test name.  If this behavior is undesirable
+    (e.g. because the type names are unwieldy), this option will suppress this
+    behavior.
+
+  ``NO_PRETTY_VALUES``
+    By default, the value index of value-parameterized tests is replaced by the
+    actual value in the CTest test name.  If this behavior is undesirable
+    (e.g. because the value strings are unwieldy), this option will suppress
+    this behavior.
+
+  ``PROPERTIES name1 value1...``
+    Specifies additional properties to be set on all tests discovered by this
+    invocation of ``gtest_discover_tests``.
+
+  ``TEST_LIST var``
+    Make the list of tests available in the variable ``var``, rather than the
+    default ``<target>_TESTS``.  This can be useful when the same test
+    executable is being used in multiple calls to ``gtest_discover_tests()``.
+    Note that this variable is only available in CTest.
+
+  ``TIMEOUT num``
+    Specifies how long (in seconds) CMake will wait for the test to enumerate
+    available tests.  If the test takes longer than this, discovery (and your
+    build) will fail.  Most test executables will enumerate their tests very
+    quickly, but under some exceptional circumstances, a test may require a
+    longer timeout.  The default is 5.  See also the ``TIMEOUT`` option of
+    :command:`execute_process`.
+
+#]=======================================================================]
+
+#------------------------------------------------------------------------------
+function(gtest_add_tests)
+
+  if (ARGC LESS 1)
+    message(FATAL_ERROR "No arguments supplied to gtest_add_tests()")
+  endif()
+
+  set(options
+      SKIP_DEPENDENCY
+  )
+  set(oneValueArgs
+      TARGET
+      WORKING_DIRECTORY
+      TEST_PREFIX
+      TEST_SUFFIX
+      TEST_LIST
+  )
+  set(multiValueArgs
+      SOURCES
+      EXTRA_ARGS
+  )
+  set(allKeywords ${options} ${oneValueArgs} ${multiValueArgs})
+
+  unset(sources)
+  if("${ARGV0}" IN_LIST allKeywords)
+    cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+    set(autoAddSources YES)
+  else()
+    # Non-keyword syntax, convert to keyword form
+    if (ARGC LESS 3)
+      message(FATAL_ERROR "gtest_add_tests() without keyword options requires at least 3 arguments")
+    endif()
+    set(ARGS_TARGET     "${ARGV0}")
+    set(ARGS_EXTRA_ARGS "${ARGV1}")
+    if(NOT "${ARGV2}" STREQUAL "AUTO")
+      set(ARGS_SOURCES "${ARGV}")
+      list(REMOVE_AT ARGS_SOURCES 0 1)
+    endif()
+  endif()
+
+  # The non-keyword syntax allows the first argument to be an arbitrary
+  # executable rather than a target if source files are also provided. In all
+  # other cases, both forms require a target.
+  if(NOT TARGET "${ARGS_TARGET}" AND NOT ARGS_SOURCES)
+    message(FATAL_ERROR "${ARGS_TARGET} does not define an existing CMake target")
+  endif()
+  if(NOT ARGS_WORKING_DIRECTORY)
+    unset(workDir)
+  else()
+    set(workDir WORKING_DIRECTORY "${ARGS_WORKING_DIRECTORY}")
+  endif()
+
+  if(NOT ARGS_SOURCES)
+    get_property(ARGS_SOURCES TARGET ${ARGS_TARGET} PROPERTY SOURCES)
+  endif()
+
+  unset(testList)
+
+  set(gtest_case_name_regex ".*\\( *([A-Za-z_0-9]+) *, *([A-Za-z_0-9]+) *\\).*")
+  set(gtest_test_type_regex "(TYPED_TEST|TEST_?[FP]?)")
+
+  foreach(source IN LISTS ARGS_SOURCES)
+    if(NOT ARGS_SKIP_DEPENDENCY)
+      set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${source})
+    endif()
+    file(READ "${source}" contents)
+    string(REGEX MATCHALL "${gtest_test_type_regex} *\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents})
+    foreach(hit ${found_tests})
+      string(REGEX MATCH "${gtest_test_type_regex}" test_type ${hit})
+
+      # Parameterized tests have a different signature for the filter
+      if("x${test_type}" STREQUAL "xTEST_P")
+        string(REGEX REPLACE ${gtest_case_name_regex}  "*/\\1.\\2/*" gtest_test_name ${hit})
+      elseif("x${test_type}" STREQUAL "xTEST_F" OR "x${test_type}" STREQUAL "xTEST")
+        string(REGEX REPLACE ${gtest_case_name_regex} "\\1.\\2" gtest_test_name ${hit})
+      elseif("x${test_type}" STREQUAL "xTYPED_TEST")
+        string(REGEX REPLACE ${gtest_case_name_regex} "\\1/*.\\2" gtest_test_name ${hit})
+      else()
+        message(WARNING "Could not parse GTest ${hit} for adding to CTest.")
+        continue()
+      endif()
+
+      # Make sure tests disabled in GTest get disabled in CTest
+      if(gtest_test_name MATCHES "(^|\\.)DISABLED_")
+        # Add the disabled test if CMake is new enough
+        # Note that this check is to allow backwards compatibility so this
+        # module can be copied locally in projects to use with older CMake
+        # versions
+        if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.8.20170401)
+          string(REGEX REPLACE
+                 "(^|\\.)DISABLED_" "\\1"
+                 orig_test_name "${gtest_test_name}"
+          )
+          set(ctest_test_name
+              ${ARGS_TEST_PREFIX}${orig_test_name}${ARGS_TEST_SUFFIX}
+          )
+          add_test(NAME ${ctest_test_name}
+                   ${workDir}
+                   COMMAND ${ARGS_TARGET}
+                     --gtest_also_run_disabled_tests
+                     --gtest_filter=${gtest_test_name}
+                     ${ARGS_EXTRA_ARGS}
+          )
+          set_tests_properties(${ctest_test_name} PROPERTIES DISABLED TRUE)
+          list(APPEND testList ${ctest_test_name})
+        endif()
+      else()
+        set(ctest_test_name ${ARGS_TEST_PREFIX}${gtest_test_name}${ARGS_TEST_SUFFIX})
+        add_test(NAME ${ctest_test_name}
+                 ${workDir}
+                 COMMAND ${ARGS_TARGET}
+                   --gtest_filter=${gtest_test_name}
+                   ${ARGS_EXTRA_ARGS}
+        )
+        list(APPEND testList ${ctest_test_name})
+      endif()
+    endforeach()
+  endforeach()
+
+  if(ARGS_TEST_LIST)
+    set(${ARGS_TEST_LIST} ${testList} PARENT_SCOPE)
+  endif()
+
+endfunction()
+
+#------------------------------------------------------------------------------
+function(gtest_discover_tests TARGET)
+  cmake_parse_arguments(
+    ""
+    "NO_PRETTY_TYPES;NO_PRETTY_VALUES"
+    "TEST_PREFIX;TEST_SUFFIX;WORKING_DIRECTORY;TEST_LIST;TIMEOUT"
+    "EXTRA_ARGS;PROPERTIES"
+    ${ARGN}
+  )
+
+  if(NOT _WORKING_DIRECTORY)
+    set(_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+  endif()
+  if(NOT _TEST_LIST)
+    set(_TEST_LIST ${TARGET}_TESTS)
+  endif()
+  if(NOT _TIMEOUT)
+    set(_TIMEOUT 5)
+  endif()
+
+  get_property(
+    has_counter
+    TARGET ${TARGET}
+    PROPERTY CTEST_DISCOVERED_TEST_COUNTER
+    SET
+  )
+  if(has_counter)
+    get_property(
+      counter
+      TARGET ${TARGET}
+      PROPERTY CTEST_DISCOVERED_TEST_COUNTER
+    )
+    math(EXPR counter "${counter} + 1")
+  else()
+    set(counter 1)
+  endif()
+  set_property(
+    TARGET ${TARGET}
+    PROPERTY CTEST_DISCOVERED_TEST_COUNTER
+    ${counter}
+  )
+
+  # Define rule to generate test list for aforementioned test executable
+  set(ctest_file_base "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}[${counter}]")
+  set(ctest_include_file "${ctest_file_base}_include.cmake")
+  set(ctest_tests_file "${ctest_file_base}_tests.cmake")
+  get_property(crosscompiling_emulator
+    TARGET ${TARGET}
+    PROPERTY CROSSCOMPILING_EMULATOR
+  )
+  add_custom_command(
+    TARGET ${TARGET} POST_BUILD
+    BYPRODUCTS "${ctest_tests_file}"
+    COMMAND "${CMAKE_COMMAND}"
+            -D "TEST_TARGET=${TARGET}"
+            -D "TEST_EXECUTABLE=$<TARGET_FILE:${TARGET}>"
+            -D "TEST_EXECUTOR=${crosscompiling_emulator}"
+            -D "TEST_WORKING_DIR=${_WORKING_DIRECTORY}"
+            -D "TEST_EXTRA_ARGS=${_EXTRA_ARGS}"
+            -D "TEST_PROPERTIES=${_PROPERTIES}"
+            -D "TEST_PREFIX=${_TEST_PREFIX}"
+            -D "TEST_SUFFIX=${_TEST_SUFFIX}"
+            -D "NO_PRETTY_TYPES=${_NO_PRETTY_TYPES}"
+            -D "NO_PRETTY_VALUES=${_NO_PRETTY_VALUES}"
+            -D "TEST_LIST=${_TEST_LIST}"
+            -D "CTEST_FILE=${ctest_tests_file}"
+            -D "TEST_DISCOVERY_TIMEOUT=${_TIMEOUT}"
+            -P "${_GOOGLETEST_DISCOVER_TESTS_SCRIPT}"
+    VERBATIM
+  )
+
+  file(WRITE "${ctest_include_file}"
+    "if(EXISTS \"${ctest_tests_file}\")\n"
+    "  include(\"${ctest_tests_file}\")\n"
+    "else()\n"
+    "  add_test(${TARGET}_NOT_BUILT ${TARGET}_NOT_BUILT)\n"
+    "endif()\n"
+  )
+
+  # Add discovered tests to directory TEST_INCLUDE_FILES
+  set_property(DIRECTORY
+    APPEND PROPERTY TEST_INCLUDE_FILES "${ctest_include_file}"
+  )
+
+endfunction()
+
+###############################################################################
+
+set(_GOOGLETEST_DISCOVER_TESTS_SCRIPT
+  ${CMAKE_CURRENT_LIST_DIR}/GoogleTestAddTests.cmake
+)
diff --git a/share/cmake-3.10/Modules/GoogleTestAddTests.cmake b/share/cmake-3.10/Modules/GoogleTestAddTests.cmake
new file mode 100644
index 0000000..5a4bdca
--- /dev/null
+++ b/share/cmake-3.10/Modules/GoogleTestAddTests.cmake
@@ -0,0 +1,105 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+set(prefix "${TEST_PREFIX}")
+set(suffix "${TEST_SUFFIX}")
+set(extra_args ${TEST_EXTRA_ARGS})
+set(properties ${TEST_PROPERTIES})
+set(script)
+set(suite)
+set(tests)
+
+function(add_command NAME)
+  set(_args "")
+  foreach(_arg ${ARGN})
+    if(_arg MATCHES "[^-./:a-zA-Z0-9_]")
+      set(_args "${_args} [==[${_arg}]==]")
+    else()
+      set(_args "${_args} ${_arg}")
+    endif()
+  endforeach()
+  set(script "${script}${NAME}(${_args})\n" PARENT_SCOPE)
+endfunction()
+
+# Run test executable to get list of available tests
+if(NOT EXISTS "${TEST_EXECUTABLE}")
+  message(FATAL_ERROR
+    "Specified test executable does not exist.\n"
+    "  Path: '${TEST_EXECUTABLE}'"
+  )
+endif()
+execute_process(
+  COMMAND ${TEST_EXECUTOR} "${TEST_EXECUTABLE}" --gtest_list_tests
+  TIMEOUT ${TEST_DISCOVERY_TIMEOUT}
+  OUTPUT_VARIABLE output
+  RESULT_VARIABLE result
+)
+if(NOT ${result} EQUAL 0)
+  string(REPLACE "\n" "\n    " output "${output}")
+  message(FATAL_ERROR
+    "Error running test executable.\n"
+    "  Path: '${TEST_EXECUTABLE}'\n"
+    "  Result: ${result}\n"
+    "  Output:\n"
+    "    ${output}\n"
+  )
+endif()
+
+string(REPLACE "\n" ";" output "${output}")
+
+# Parse output
+foreach(line ${output})
+  # Skip header
+  if(NOT line MATCHES "gtest_main\\.cc")
+    # Do we have a module name or a test name?
+    if(NOT line MATCHES "^  ")
+      # Module; remove trailing '.' to get just the name...
+      string(REGEX REPLACE "\\.( *#.*)?" "" suite "${line}")
+      if(line MATCHES "#" AND NOT NO_PRETTY_TYPES)
+        string(REGEX REPLACE "/[0-9]\\.+ +#.*= +" "/" pretty_suite "${line}")
+      else()
+        set(pretty_suite "${suite}")
+      endif()
+      string(REGEX REPLACE "^DISABLED_" "" pretty_suite "${pretty_suite}")
+    else()
+      # Test name; strip spaces and comments to get just the name...
+      string(REGEX REPLACE " +" "" test "${line}")
+      if(test MATCHES "#" AND NOT NO_PRETTY_VALUES)
+        string(REGEX REPLACE "/[0-9]+#GetParam..=" "/" pretty_test "${test}")
+      else()
+        string(REGEX REPLACE "#.*" "" pretty_test "${test}")
+      endif()
+      string(REGEX REPLACE "^DISABLED_" "" pretty_test "${pretty_test}")
+      string(REGEX REPLACE "#.*" "" test "${test}")
+      # ...and add to script
+      add_command(add_test
+        "${prefix}${pretty_suite}.${pretty_test}${suffix}"
+        ${TEST_EXECUTOR}
+        "${TEST_EXECUTABLE}"
+        "--gtest_filter=${suite}.${test}"
+        "--gtest_also_run_disabled_tests"
+        ${extra_args}
+      )
+      if(suite MATCHES "^DISABLED" OR test MATCHES "^DISABLED")
+        add_command(set_tests_properties
+          "${prefix}${pretty_suite}.${pretty_test}${suffix}"
+          PROPERTIES DISABLED TRUE
+        )
+      endif()
+      add_command(set_tests_properties
+        "${prefix}${pretty_suite}.${pretty_test}${suffix}"
+        PROPERTIES
+        WORKING_DIRECTORY "${TEST_WORKING_DIR}"
+        ${properties}
+      )
+     list(APPEND tests "${prefix}${pretty_suite}.${pretty_test}${suffix}")
+    endif()
+  endif()
+endforeach()
+
+# Create a list of all discovered tests, which users may use to e.g. set
+# properties on the tests
+add_command(set ${TEST_LIST} ${tests})
+
+# Write CTest script
+file(WRITE "${CTEST_FILE}" "${script}")
diff --git a/share/cmake-3.10/Modules/ITKCompatibility.cmake b/share/cmake-3.10/Modules/ITKCompatibility.cmake
new file mode 100644
index 0000000..fef0653
--- /dev/null
+++ b/share/cmake-3.10/Modules/ITKCompatibility.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# work around an old bug in ITK prior to verison 3.0
+set(TIFF_RIGHT_VERSION 1)
+
diff --git a/share/cmake-3.10/Modules/InstallRequiredSystemLibraries.cmake b/share/cmake-3.10/Modules/InstallRequiredSystemLibraries.cmake
new file mode 100644
index 0000000..f62bd09
--- /dev/null
+++ b/share/cmake-3.10/Modules/InstallRequiredSystemLibraries.cmake
@@ -0,0 +1,747 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# InstallRequiredSystemLibraries
+# ------------------------------
+#
+# Include this module to search for compiler-provided system runtime
+# libraries and add install rules for them.  Some optional variables
+# may be set prior to including the module to adjust behavior:
+#
+# ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS``
+#   Specify additional runtime libraries that may not be detected.
+#   After inclusion any detected libraries will be appended to this.
+#
+# ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP``
+#   Set to TRUE to skip calling the :command:`install(PROGRAMS)` command to
+#   allow the includer to specify its own install rule, using the value of
+#   ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS`` to get the list of libraries.
+#
+# ``CMAKE_INSTALL_DEBUG_LIBRARIES``
+#   Set to TRUE to install the debug runtime libraries when available
+#   with MSVC tools.
+#
+# ``CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY``
+#   Set to TRUE to install only the debug runtime libraries with MSVC
+#   tools even if the release runtime libraries are also available.
+#
+# ``CMAKE_INSTALL_UCRT_LIBRARIES``
+#   Set to TRUE to install the Windows Universal CRT libraries for
+#   app-local deployment (e.g. to Windows XP).  This is meaningful
+#   only with MSVC from Visual Studio 2015 or higher.
+#
+#   One may set a ``CMAKE_WINDOWS_KITS_10_DIR`` *environment variable*
+#   to an absolute path to tell CMake to look for Windows 10 SDKs in
+#   a custom location.  The specified directory is expected to contain
+#   ``Redist/ucrt/DLLs/*`` directories.
+#
+# ``CMAKE_INSTALL_MFC_LIBRARIES``
+#   Set to TRUE to install the MSVC MFC runtime libraries.
+#
+# ``CMAKE_INSTALL_OPENMP_LIBRARIES``
+#   Set to TRUE to install the MSVC OpenMP runtime libraries
+#
+# ``CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION``
+#   Specify the :command:`install(PROGRAMS)` command ``DESTINATION``
+#   option.  If not specified, the default is ``bin`` on Windows
+#   and ``lib`` elsewhere.
+#
+# ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS``
+#   Set to TRUE to disable warnings about required library files that
+#   do not exist.  (For example, Visual Studio Express editions may
+#   not provide the redistributable files.)
+#
+# ``CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT``
+#   Specify the :command:`install(PROGRAMS)` command ``COMPONENT``
+#   option.  If not specified, no such option will be used.
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0054 NEW) # if() quoted variables not dereferenced
+
+set(_IRSL_HAVE_Intel FALSE)
+set(_IRSL_HAVE_MSVC FALSE)
+foreach(LANG IN ITEMS C CXX Fortran)
+  if("${CMAKE_${LANG}_COMPILER_ID}" STREQUAL "Intel")
+    if(NOT _IRSL_HAVE_Intel)
+      get_filename_component(_Intel_basedir "${CMAKE_${LANG}_COMPILER}" PATH)
+      if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+        set(_Intel_archdir intel64)
+      else()
+        set(_Intel_archdir x86)
+      endif()
+      set(_Intel_compiler_ver ${CMAKE_${LANG}_COMPILER_VERSION})
+      if(WIN32)
+        get_filename_component(_Intel_redistdir "${_Intel_basedir}/../../redist/${_Intel_archdir}/compiler" ABSOLUTE)
+      elseif(APPLE)
+        get_filename_component(_Intel_redistdir "${_Intel_basedir}/../../compiler/lib" ABSOLUTE)
+      else()
+        if(EXISTS "${_Intel_basedir}/../lib/${_Intel_archdir}_lin")
+          get_filename_component(_Intel_redistdir "${_Intel_basedir}/../lib/${_Intel_archdir}" ABSOLUTE)
+        else()
+          get_filename_component(_Intel_redistdir "${_Intel_basedir}/../../compiler/lib/${_Intel_archdir}_lin" ABSOLUTE)
+        endif()
+      endif()
+      set(_IRSL_HAVE_Intel TRUE)
+    endif()
+  elseif("${CMAKE_${LANG}_COMPILER_ID}" STREQUAL "MSVC")
+    set(_IRSL_HAVE_MSVC TRUE)
+  endif()
+endforeach()
+
+if(MSVC)
+  file(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
+
+  if(CMAKE_CL_64)
+    if(MSVC_VERSION GREATER 1599)
+      # VS 10 and later:
+      set(CMAKE_MSVC_ARCH x64)
+    else()
+      # VS 9 and earlier:
+      set(CMAKE_MSVC_ARCH amd64)
+    endif()
+  else()
+    set(CMAKE_MSVC_ARCH x86)
+  endif()
+
+  get_filename_component(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)
+  get_filename_component(base_dir "${devenv_dir}/../.." ABSOLUTE)
+
+  if(MSVC_VERSION EQUAL 1300)
+    set(__install__libs
+      "${SYSTEMROOT}/system32/msvcp70.dll"
+      "${SYSTEMROOT}/system32/msvcr70.dll"
+      )
+  endif()
+
+  if(MSVC_VERSION EQUAL 1310)
+    set(__install__libs
+      "${SYSTEMROOT}/system32/msvcp71.dll"
+      "${SYSTEMROOT}/system32/msvcr71.dll"
+      )
+  endif()
+
+  if(MSVC_VERSION EQUAL 1400)
+    set(MSVC_REDIST_NAME VC80)
+
+    # Find the runtime library redistribution directory.
+    get_filename_component(msvc_install_dir
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]" ABSOLUTE)
+    if(DEFINED MSVC80_REDIST_DIR AND EXISTS "${MSVC80_REDIST_DIR}")
+      set(MSVC_REDIST_DIR "${MSVC80_REDIST_DIR}") # use old cache entry
+    endif()
+    find_path(MSVC_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
+      PATHS
+        "${msvc_install_dir}/../../VC/redist"
+        "${base_dir}/VC/redist"
+      )
+    mark_as_advanced(MSVC_REDIST_DIR)
+    set(MSVC_CRT_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT")
+
+    # Install the manifest that allows DLLs to be loaded from the
+    # directory containing the executable.
+    if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+      set(__install__libs
+        "${MSVC_CRT_DIR}/Microsoft.VC80.CRT.manifest"
+        "${MSVC_CRT_DIR}/msvcm80.dll"
+        "${MSVC_CRT_DIR}/msvcp80.dll"
+        "${MSVC_CRT_DIR}/msvcr80.dll"
+        )
+    else()
+      set(__install__libs)
+    endif()
+
+    if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+      set(MSVC_CRT_DIR
+        "${MSVC_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugCRT")
+      set(__install__libs ${__install__libs}
+        "${MSVC_CRT_DIR}/Microsoft.VC80.DebugCRT.manifest"
+        "${MSVC_CRT_DIR}/msvcm80d.dll"
+        "${MSVC_CRT_DIR}/msvcp80d.dll"
+        "${MSVC_CRT_DIR}/msvcr80d.dll"
+        )
+    endif()
+  endif()
+
+  if(MSVC_VERSION EQUAL 1500)
+    set(MSVC_REDIST_NAME VC90)
+
+    # Find the runtime library redistribution directory.
+    get_filename_component(msvc_install_dir
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]" ABSOLUTE)
+    get_filename_component(msvc_express_install_dir
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]" ABSOLUTE)
+    if(DEFINED MSVC90_REDIST_DIR AND EXISTS "${MSVC90_REDIST_DIR}")
+      set(MSVC_REDIST_DIR "${MSVC90_REDIST_DIR}") # use old cache entry
+    endif()
+    find_path(MSVC_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
+      PATHS
+        "${msvc_install_dir}/../../VC/redist"
+        "${msvc_express_install_dir}/../../VC/redist"
+        "${base_dir}/VC/redist"
+      )
+    mark_as_advanced(MSVC_REDIST_DIR)
+    set(MSVC_CRT_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
+
+    # Install the manifest that allows DLLs to be loaded from the
+    # directory containing the executable.
+    if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+      set(__install__libs
+        "${MSVC_CRT_DIR}/Microsoft.VC90.CRT.manifest"
+        "${MSVC_CRT_DIR}/msvcm90.dll"
+        "${MSVC_CRT_DIR}/msvcp90.dll"
+        "${MSVC_CRT_DIR}/msvcr90.dll"
+        )
+    else()
+      set(__install__libs)
+    endif()
+
+    if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+      set(MSVC_CRT_DIR
+        "${MSVC_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
+      set(__install__libs ${__install__libs}
+        "${MSVC_CRT_DIR}/Microsoft.VC90.DebugCRT.manifest"
+        "${MSVC_CRT_DIR}/msvcm90d.dll"
+        "${MSVC_CRT_DIR}/msvcp90d.dll"
+        "${MSVC_CRT_DIR}/msvcr90d.dll"
+        )
+    endif()
+  endif()
+
+  set(MSVC_REDIST_NAME "")
+  set(_MSVCRT_DLL_VERSION "")
+  set(_MSVCRT_IDE_VERSION "")
+  if(MSVC_VERSION GREATER_EQUAL 2000)
+    message(WARNING "MSVC ${MSVC_VERSION} not yet supported.")
+  elseif(MSVC_VERSION GREATER_EQUAL 1911)
+    set(MSVC_REDIST_NAME VC141)
+    set(_MSVCRT_DLL_VERSION 140)
+    set(_MSVCRT_IDE_VERSION 15)
+  elseif(MSVC_VERSION EQUAL 1910)
+    set(MSVC_REDIST_NAME VC150)
+    set(_MSVCRT_DLL_VERSION 140)
+    set(_MSVCRT_IDE_VERSION 15)
+  elseif(MSVC_VERSION EQUAL 1900)
+    set(MSVC_REDIST_NAME VC140)
+    set(_MSVCRT_DLL_VERSION 140)
+    set(_MSVCRT_IDE_VERSION 14)
+  elseif(MSVC_VERSION EQUAL 1800)
+    set(MSVC_REDIST_NAME VC120)
+    set(_MSVCRT_DLL_VERSION 120)
+    set(_MSVCRT_IDE_VERSION 12)
+  elseif(MSVC_VERSION EQUAL 1700)
+    set(MSVC_REDIST_NAME VC110)
+    set(_MSVCRT_DLL_VERSION 110)
+    set(_MSVCRT_IDE_VERSION 11)
+  elseif(MSVC_VERSION EQUAL 1600)
+    set(MSVC_REDIST_NAME VC100)
+    set(_MSVCRT_DLL_VERSION 100)
+    set(_MSVCRT_IDE_VERSION 10)
+  endif()
+
+  if(_MSVCRT_DLL_VERSION)
+    set(v "${_MSVCRT_DLL_VERSION}")
+    set(vs "${_MSVCRT_IDE_VERSION}")
+
+    # Find the runtime library redistribution directory.
+    if(vs VERSION_LESS 15 AND DEFINED MSVC${vs}_REDIST_DIR AND EXISTS "${MSVC${vs}_REDIST_DIR}")
+      set(MSVC_REDIST_DIR "${MSVC${vs}_REDIST_DIR}") # use old cache entry
+    endif()
+    if(NOT vs VERSION_LESS 15)
+      set(_vs_redist_paths "")
+      cmake_host_system_information(RESULT _vs_dir QUERY VS_${vs}_DIR) # undocumented query
+      if(IS_DIRECTORY "${_vs_dir}")
+        file(GLOB _vs_redist_paths "${_vs_dir}/VC/Redist/MSVC/*")
+      endif()
+      unset(_vs_dir)
+    else()
+      get_filename_component(_vs_dir
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${vs}.0;InstallDir]" ABSOLUTE)
+      set(programfilesx86 "ProgramFiles(x86)")
+      set(_vs_redist_paths
+        "${_vs_dir}/../../VC/redist"
+        "${base_dir}/VC/redist"
+        "$ENV{ProgramFiles}/Microsoft Visual Studio ${vs}.0/VC/redist"
+        "$ENV{${programfilesx86}}/Microsoft Visual Studio ${vs}.0/VC/redist"
+        )
+      unset(_vs_dir)
+      unset(programfilesx86)
+    endif()
+    find_path(MSVC_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.CRT PATHS ${_vs_redist_paths})
+    unset(_vs_redist_paths)
+    mark_as_advanced(MSVC_REDIST_DIR)
+    set(MSVC_CRT_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.CRT")
+
+    if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+      set(__install__libs
+        "${MSVC_CRT_DIR}/msvcp${v}.dll"
+        )
+      if(NOT vs VERSION_LESS 14)
+        list(APPEND __install__libs
+            "${MSVC_CRT_DIR}/vcruntime${v}.dll"
+            "${MSVC_CRT_DIR}/concrt${v}.dll"
+            )
+      else()
+        list(APPEND __install__libs "${MSVC_CRT_DIR}/msvcr${v}.dll")
+      endif()
+    else()
+      set(__install__libs)
+    endif()
+
+    if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+      set(MSVC_CRT_DIR
+        "${MSVC_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.DebugCRT")
+      set(__install__libs ${__install__libs}
+        "${MSVC_CRT_DIR}/msvcp${v}d.dll"
+        )
+      if(NOT vs VERSION_LESS 14)
+        list(APPEND __install__libs
+            "${MSVC_CRT_DIR}/vcruntime${v}d.dll"
+            "${MSVC_CRT_DIR}/concrt${v}d.dll"
+            )
+      else()
+        list(APPEND __install__libs "${MSVC_CRT_DIR}/msvcr${v}d.dll")
+      endif()
+    endif()
+
+    if(CMAKE_INSTALL_UCRT_LIBRARIES AND NOT vs VERSION_LESS 14)
+      # Find the Windows Kits directory.
+      get_filename_component(windows_kits_dir
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots;KitsRoot10]" ABSOLUTE)
+      set(programfilesx86 "ProgramFiles(x86)")
+      find_path(WINDOWS_KITS_DIR NAMES Redist/ucrt/DLLs/${CMAKE_MSVC_ARCH}/ucrtbase.dll
+        PATHS
+        $ENV{CMAKE_WINDOWS_KITS_10_DIR}
+        "${windows_kits_dir}"
+        "$ENV{ProgramFiles}/Windows Kits/10"
+        "$ENV{${programfilesx86}}/Windows Kits/10"
+        )
+      mark_as_advanced(WINDOWS_KITS_DIR)
+
+      # Glob the list of UCRT DLLs.
+      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+        file(GLOB __ucrt_dlls "${WINDOWS_KITS_DIR}/Redist/ucrt/DLLs/${CMAKE_MSVC_ARCH}/*.dll")
+        list(APPEND __install__libs ${__ucrt_dlls})
+      endif()
+      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+        file(GLOB __ucrt_dlls "${WINDOWS_KITS_DIR}/bin/${CMAKE_MSVC_ARCH}/ucrt/*.dll")
+        list(APPEND __install__libs ${__ucrt_dlls})
+      endif()
+    endif()
+  endif()
+
+  if(CMAKE_INSTALL_MFC_LIBRARIES)
+    if(MSVC_VERSION EQUAL 1300)
+      set(__install__libs ${__install__libs}
+        "${SYSTEMROOT}/system32/mfc70.dll"
+        )
+    endif()
+
+    if(MSVC_VERSION EQUAL 1310)
+      set(__install__libs ${__install__libs}
+        "${SYSTEMROOT}/system32/mfc71.dll"
+        )
+    endif()
+
+    if(MSVC_VERSION EQUAL 1400)
+      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+        set(MSVC_MFC_DIR
+          "${MSVC_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugMFC")
+        set(__install__libs ${__install__libs}
+          "${MSVC_MFC_DIR}/Microsoft.VC80.DebugMFC.manifest"
+          "${MSVC_MFC_DIR}/mfc80d.dll"
+          "${MSVC_MFC_DIR}/mfc80ud.dll"
+          "${MSVC_MFC_DIR}/mfcm80d.dll"
+          "${MSVC_MFC_DIR}/mfcm80ud.dll"
+          )
+      endif()
+
+      set(MSVC_MFC_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFC")
+      # Install the manifest that allows DLLs to be loaded from the
+      # directory containing the executable.
+      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+        set(__install__libs ${__install__libs}
+          "${MSVC_MFC_DIR}/Microsoft.VC80.MFC.manifest"
+          "${MSVC_MFC_DIR}/mfc80.dll"
+          "${MSVC_MFC_DIR}/mfc80u.dll"
+          "${MSVC_MFC_DIR}/mfcm80.dll"
+          "${MSVC_MFC_DIR}/mfcm80u.dll"
+          )
+      endif()
+
+      # include the language dll's for vs8 as well as the actuall dll's
+      set(MSVC_MFCLOC_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFCLOC")
+      # Install the manifest that allows DLLs to be loaded from the
+      # directory containing the executable.
+      set(__install__libs ${__install__libs}
+        "${MSVC_MFCLOC_DIR}/Microsoft.VC80.MFCLOC.manifest"
+        "${MSVC_MFCLOC_DIR}/mfc80chs.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80cht.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80enu.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80esp.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80deu.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80fra.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80ita.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80jpn.dll"
+        "${MSVC_MFCLOC_DIR}/mfc80kor.dll"
+        )
+    endif()
+
+    if(MSVC_VERSION EQUAL 1500)
+      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+        set(MSVC_MFC_DIR
+          "${MSVC_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugMFC")
+        set(__install__libs ${__install__libs}
+          "${MSVC_MFC_DIR}/Microsoft.VC90.DebugMFC.manifest"
+          "${MSVC_MFC_DIR}/mfc90d.dll"
+          "${MSVC_MFC_DIR}/mfc90ud.dll"
+          "${MSVC_MFC_DIR}/mfcm90d.dll"
+          "${MSVC_MFC_DIR}/mfcm90ud.dll"
+          )
+      endif()
+
+      set(MSVC_MFC_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFC")
+      # Install the manifest that allows DLLs to be loaded from the
+      # directory containing the executable.
+      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+        set(__install__libs ${__install__libs}
+          "${MSVC_MFC_DIR}/Microsoft.VC90.MFC.manifest"
+          "${MSVC_MFC_DIR}/mfc90.dll"
+          "${MSVC_MFC_DIR}/mfc90u.dll"
+          "${MSVC_MFC_DIR}/mfcm90.dll"
+          "${MSVC_MFC_DIR}/mfcm90u.dll"
+          )
+      endif()
+
+      # include the language dll's for vs9 as well as the actuall dll's
+      set(MSVC_MFCLOC_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFCLOC")
+      # Install the manifest that allows DLLs to be loaded from the
+      # directory containing the executable.
+      set(__install__libs ${__install__libs}
+        "${MSVC_MFCLOC_DIR}/Microsoft.VC90.MFCLOC.manifest"
+        "${MSVC_MFCLOC_DIR}/mfc90chs.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90cht.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90enu.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90esp.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90deu.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90fra.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90ita.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90jpn.dll"
+        "${MSVC_MFCLOC_DIR}/mfc90kor.dll"
+        )
+    endif()
+
+    set(_MFC_DLL_VERSION "")
+    set(_MFC_IDE_VERSION "")
+    if(MSVC_VERSION GREATER_EQUAL 2000)
+      # Version not yet supported.
+    elseif(MSVC_VERSION GREATER_EQUAL 1910)
+      set(_MFC_DLL_VERSION 140)
+      set(_MFC_IDE_VERSION 15)
+    elseif(MSVC_VERSION EQUAL 1900)
+      set(_MFC_DLL_VERSION 140)
+      set(_MFC_IDE_VERSION 14)
+    elseif(MSVC_VERSION EQUAL 1800)
+      set(_MFC_DLL_VERSION 120)
+      set(_MFC_IDE_VERSION 12)
+    elseif(MSVC_VERSION EQUAL 1700)
+      set(_MFC_DLL_VERSION 110)
+      set(_MFC_IDE_VERSION 11)
+    elseif(MSVC_VERSION EQUAL 1600)
+      set(_MFC_DLL_VERSION 100)
+      set(_MFC_IDE_VERSION 10)
+    endif()
+
+    if(_MFC_DLL_VERSION)
+      set(v "${_MFC_DLL_VERSION}")
+      set(vs "${_MFC_IDE_VERSION}")
+
+      # Starting with VS 15 the MFC DLLs may be in a different directory.
+      if (NOT vs VERSION_LESS 15)
+        file(GLOB _MSVC_REDIST_DIRS "${MSVC_REDIST_DIR}/../*")
+        find_path(MSVC_REDIST_MFC_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.MFC
+          PATHS ${_MSVC_REDIST_DIRS} NO_DEFAULT_PATH)
+        mark_as_advanced(MSVC_REDIST_MFC_DIR)
+        unset(_MSVC_REDIST_DIRS)
+      else()
+        set(MSVC_REDIST_MFC_DIR "${MSVC_REDIST_DIR}")
+      endif()
+
+      # Multi-Byte Character Set versions of MFC are available as optional
+      # addon since Visual Studio 12.  So for version 12 or higher, check
+      # whether they are available and exclude them if they are not.
+
+      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+        set(MSVC_MFC_DIR
+          "${MSVC_REDIST_MFC_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.DebugMFC")
+        set(__install__libs ${__install__libs}
+          "${MSVC_MFC_DIR}/mfc${v}ud.dll"
+          "${MSVC_MFC_DIR}/mfcm${v}ud.dll"
+          )
+        if("${v}" LESS 12 OR EXISTS "${MSVC_MFC_DIR}/mfc${v}d.dll")
+          set(__install__libs ${__install__libs}
+            "${MSVC_MFC_DIR}/mfc${v}d.dll"
+            "${MSVC_MFC_DIR}/mfcm${v}d.dll"
+          )
+        endif()
+      endif()
+
+      set(MSVC_MFC_DIR "${MSVC_REDIST_MFC_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.MFC")
+      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+        set(__install__libs ${__install__libs}
+          "${MSVC_MFC_DIR}/mfc${v}u.dll"
+          "${MSVC_MFC_DIR}/mfcm${v}u.dll"
+          )
+        if("${v}" LESS 12 OR EXISTS "${MSVC_MFC_DIR}/mfc${v}.dll")
+          set(__install__libs ${__install__libs}
+            "${MSVC_MFC_DIR}/mfc${v}.dll"
+            "${MSVC_MFC_DIR}/mfcm${v}.dll"
+          )
+        endif()
+      endif()
+
+      # include the language dll's as well as the actuall dll's
+      set(MSVC_MFCLOC_DIR "${MSVC_REDIST_MFC_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.MFCLOC")
+      set(__install__libs ${__install__libs}
+        "${MSVC_MFCLOC_DIR}/mfc${v}chs.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}cht.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}deu.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}enu.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}esn.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}fra.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}ita.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}jpn.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}kor.dll"
+        "${MSVC_MFCLOC_DIR}/mfc${v}rus.dll"
+        )
+    endif()
+  endif()
+
+  # MSVC 8 was the first version with OpenMP
+  # Furthermore, there is no debug version of this
+  if(CMAKE_INSTALL_OPENMP_LIBRARIES AND _IRSL_HAVE_MSVC)
+    set(_MSOMP_DLL_VERSION "")
+    set(_MSOMP_IDE_VERSION "")
+    if(MSVC_VERSION GREATER_EQUAL 2000)
+      # Version not yet supported.
+    elseif(MSVC_VERSION GREATER_EQUAL 1910)
+      set(_MSOMP_DLL_VERSION 140)
+      set(_MSOMP_IDE_VERSION 15)
+    elseif(MSVC_VERSION EQUAL 1900)
+      set(_MSOMP_DLL_VERSION 140)
+      set(_MSOMP_IDE_VERSION 14)
+    elseif(MSVC_VERSION EQUAL 1800)
+      set(_MSOMP_DLL_VERSION 120)
+      set(_MSOMP_IDE_VERSION 12)
+    elseif(MSVC_VERSION EQUAL 1700)
+      set(_MSOMP_DLL_VERSION 110)
+      set(_MSOMP_IDE_VERSION 11)
+    elseif(MSVC_VERSION EQUAL 1600)
+      set(_MSOMP_DLL_VERSION 100)
+      set(_MSOMP_IDE_VERSION 10)
+    elseif(MSVC_VERSION EQUAL 1500)
+      set(_MSOMP_DLL_VERSION 90)
+      set(_MSOMP_IDE_VERSION 9)
+    elseif(MSVC_VERSION EQUAL 1400)
+      set(_MSOMP_DLL_VERSION 80)
+      set(_MSOMP_IDE_VERSION 8)
+    endif()
+
+    if(_MSOMP_DLL_VERSION)
+      set(v "${_MSOMP_DLL_VERSION}")
+      set(vs "${_MSOMP_IDE_VERSION}")
+      set(MSVC_OPENMP_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.OPENMP")
+
+      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+        set(__install__libs ${__install__libs}
+          "${MSVC_OPENMP_DIR}/vcomp${v}.dll")
+      endif()
+    endif()
+  endif()
+
+  foreach(lib
+      ${__install__libs}
+      )
+    if(EXISTS ${lib})
+      set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
+        ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
+    else()
+      if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+        message(WARNING "system runtime library file does not exist: '${lib}'")
+        # This warning indicates an incomplete Visual Studio installation
+        # or a bug somewhere above here in this file.
+        # If you would like to avoid this warning, fix the real problem, or
+        # set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS before including
+        # this file.
+      endif()
+    endif()
+  endforeach()
+endif()
+
+if(_IRSL_HAVE_Intel)
+  unset(__install_libs)
+  if(CMAKE_INSTALL_OPENMP_LIBRARIES)
+    if(WIN32)
+      list(APPEND __install_libs "${_Intel_redistdir}/libiomp5md.dll" "${_Intel_redistdir}/libiompstubs5md.dll")
+    elseif(APPLE)
+      list(APPEND __install_libs "${_Intel_redistdir}/libiomp5.dylib" "${_Intel_redistdir}/libiompstubs5.dylib")
+    else()
+      list(APPEND __install_libs "${_Intel_redistdir}/libiomp5.so" "${_Intel_redistdir}/libiompstubs5.so")
+      if(_Intel_compiler_ver VERSION_LESS 17)
+        list(APPEND __install_libs "${_Intel_redistdir}/libomp_db.so")
+      endif()
+      if(_Intel_compiler_ver VERSION_LESS 13)
+        list(APPEND __install_libs "${_Intel_redistdir}/libiompprof5.so")
+      endif()
+    endif()
+  endif()
+  if(WIN32)
+    set(__install_dirs "${_Intel_redistdir}/1033")
+    if(_Intel_compiler_ver VERSION_LESS 18)
+      list(APPEND __install_dirs "${_Intel_redistdir}/irml" "${_Intel_redistdir}/irml_c" "${_Intel_redistdir}/1041")
+    endif()
+    foreach(__Intel_lib IN ITEMS cilkrts20.dll libchkp.dll libgfxoffload.dll libioffload_host.dll libirngmd.dll
+      libmmd.dll libmmdd.dll libmpx.dll liboffload.dll svml_dispmd.dll)
+
+      list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+    endforeach()
+    if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
+      foreach(__Intel_lib IN ITEMS ifdlg100.dll libicaf.dll libifcoremd.dll libifcoremdd.dll libifcorert.dll libifcorertd.dll libifportmd.dll)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+  elseif(APPLE)
+    foreach(__Intel_lib IN ITEMS libchkp.dylib libcilkrts.5.dylib libcilkrts.dylib libimf.dylib libintlc.dylib libirc.dylib libirng.dylib libsvml.dylib)
+      list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+    endforeach()
+    if(_Intel_compiler_ver VERSION_LESS 17)
+      list(APPEND __install_libs "${_Intel_redistdir}/libistrconv.dylib")
+    endif()
+    if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
+      foreach(__Intel_lib IN ITEMS libifcore.dylib libifcoremt.dylib libifport.dylib libifportmt.dylib)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+  else()
+    set(__install_dirs "${_Intel_redistdir}/irml")
+    foreach(__Intel_lib IN ITEMS cilk_db.so libchkp.so libcilkrts.so libcilkrts.so.5 libimf.so libintlc.so libintlc.so.5 libirc.so libpdbx.so libpdbx.so.5 libsvml.so)
+
+      list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+    endforeach()
+    if(_Intel_compiler_ver VERSION_GREATER_EQUAL 13)
+      foreach(__Intel_lib IN ITEMS libirng.so liboffload.so liboffload.so.5)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+    if(_Intel_compiler_ver VERSION_GREATER_EQUAL 15)
+      foreach(__Intel_lib IN ITEMS libgfxoffload.so libistrconv.so)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+    if(_Intel_compiler_ver VERSION_GREATER_EQUAL 16)
+      foreach(__Intel_lib IN ITEMS libioffload_host.so libioffload_host.so.5 libioffload_target.so libioffload_target.so.5 libmpx.so offload_main)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+    if(_Intel_compiler_ver VERSION_LESS 15)
+      foreach(__Intel_lib IN ITEMS libcxaguard.so libcxaguard.so.5)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+    if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
+      foreach(__Intel_lib IN ITEMS libicaf.so libifcore.so libifcore.so.5 libifcoremt.so libifcoremt.so.5 libifport.so libifport.so.5)
+
+        list(APPEND __install_libs "${_Intel_redistdir}/${__Intel_lib}")
+      endforeach()
+    endif()
+  endif()
+
+  foreach(lib IN LISTS __install_libs)
+    if(EXISTS ${lib})
+      list(APPEND CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ${lib})
+    else()
+      if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+        message(WARNING "system runtime library file does not exist: '${lib}'")
+      endif()
+    endif()
+  endforeach()
+
+  foreach(dir IN LISTS __install_dirs)
+    if(EXISTS ${dir})
+      list(APPEND CMAKE_INSTALL_SYSTEM_RUNTIME_DIRECTORIES ${dir})
+    else()
+      if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+        message(WARNING "system runtime library file does not exist: '${dir}'")
+      endif()
+    endif()
+  endforeach()
+endif()
+
+if(WATCOM)
+  get_filename_component( CompilerPath ${CMAKE_C_COMPILER} PATH )
+  if(CMAKE_C_COMPILER_VERSION)
+    set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
+  else()
+    set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
+  endif()
+  string(REGEX MATCHALL "[0-9]+" _watcom_version_list "${_compiler_version}")
+  list(GET _watcom_version_list 0 _watcom_major)
+  list(GET _watcom_version_list 1 _watcom_minor)
+  set( __install__libs
+    ${CompilerPath}/clbr${_watcom_major}${_watcom_minor}.dll
+    ${CompilerPath}/mt7r${_watcom_major}${_watcom_minor}.dll
+    ${CompilerPath}/plbr${_watcom_major}${_watcom_minor}.dll )
+  foreach(lib
+      ${__install__libs}
+      )
+    if(EXISTS ${lib})
+      set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
+        ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
+    else()
+      if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+        message(WARNING "system runtime library file does not exist: '${lib}'")
+        # This warning indicates an incomplete Watcom installation
+        # or a bug somewhere above here in this file.
+        # If you would like to avoid this warning, fix the real problem, or
+        # set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS before including
+        # this file.
+      endif()
+    endif()
+  endforeach()
+endif()
+
+
+# Include system runtime libraries in the installation if any are
+# specified by CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS.
+if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
+  if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
+    if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
+      if(WIN32)
+        set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION bin)
+      else()
+        set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
+      endif()
+    endif()
+    if(CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT)
+      set(_CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT
+        COMPONENT ${CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT})
+    endif()
+    install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
+      DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION}
+      ${_CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT}
+      )
+
+    install(DIRECTORY ${CMAKE_INSTALL_SYSTEM_RUNTIME_DIRECTORIES}
+      DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION}
+      ${_CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT}
+      )
+  endif()
+endif()
+
+cmake_policy(POP)
diff --git a/share/cmake-3.6/Modules/IntelVSImplicitPath/CMakeLists.txt b/share/cmake-3.10/Modules/IntelVSImplicitPath/CMakeLists.txt
similarity index 100%
rename from share/cmake-3.6/Modules/IntelVSImplicitPath/CMakeLists.txt
rename to share/cmake-3.10/Modules/IntelVSImplicitPath/CMakeLists.txt
diff --git a/share/cmake-3.6/Modules/IntelVSImplicitPath/detect.cmake b/share/cmake-3.10/Modules/IntelVSImplicitPath/detect.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/IntelVSImplicitPath/detect.cmake
rename to share/cmake-3.10/Modules/IntelVSImplicitPath/detect.cmake
diff --git a/share/cmake-3.6/Modules/IntelVSImplicitPath/hello.f b/share/cmake-3.10/Modules/IntelVSImplicitPath/hello.f
similarity index 100%
rename from share/cmake-3.6/Modules/IntelVSImplicitPath/hello.f
rename to share/cmake-3.10/Modules/IntelVSImplicitPath/hello.f
diff --git a/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake b/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake
new file mode 100644
index 0000000..de336e7
--- /dev/null
+++ b/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake
@@ -0,0 +1,80 @@
+
+macro(_record_compiler_features lang compile_flags feature_list)
+  include("${CMAKE_ROOT}/Modules/Compiler/${CMAKE_${lang}_COMPILER_ID}-${lang}-FeatureTests.cmake" OPTIONAL)
+
+  string(TOLOWER ${lang} lang_lc)
+  file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin")
+  file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}" "
+  const char features[] = {\"\\n\"\n")
+
+  get_property(known_features GLOBAL PROPERTY CMAKE_${lang}_KNOWN_FEATURES)
+
+  foreach(feature ${known_features})
+    if (_cmake_feature_test_${feature})
+      if (${_cmake_feature_test_${feature}} STREQUAL 1)
+        set(_feature_condition "\"1\" ")
+      else()
+        set(_feature_condition "#if ${_cmake_feature_test_${feature}}\n\"1\"\n#else\n\"0\"\n#endif\n")
+      endif()
+      file(APPEND "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}" "\"${lang}_FEATURE:\"\n${_feature_condition}\"${feature}\\n\"\n")
+    endif()
+  endforeach()
+  file(APPEND "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}"
+    "\n};\n\nint main(int argc, char** argv) { (void)argv; return features[argc]; }\n")
+
+  if(CMAKE_${lang}_LINK_WITH_STANDARD_COMPILE_OPTION)
+    # This toolchain requires use of the language standard flag
+    # when linking in order to use the matching standard library.
+    set(compile_flags_for_link "${compile_flags}")
+  else()
+    set(compile_flags_for_link "")
+  endif()
+
+  try_compile(CMAKE_${lang}_FEATURE_TEST
+    ${CMAKE_BINARY_DIR} "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}"
+    COMPILE_DEFINITIONS "${compile_flags}"
+    LINK_LIBRARIES "${compile_flags_for_link}"
+    OUTPUT_VARIABLE _output
+    COPY_FILE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin"
+    COPY_FILE_ERROR _copy_error
+    )
+  if(CMAKE_${lang}_FEATURE_TEST AND NOT _copy_error)
+    set(_result 0)
+  else()
+    set(_result 255)
+  endif()
+  unset(CMAKE_${lang}_FEATURE_TEST CACHE)
+  unset(compile_flags_for_link)
+
+  if (_result EQUAL 0)
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+      "\n\nDetecting ${lang} [${compile_flags}] compiler features compiled with the following output:\n${_output}\n\n")
+    if(EXISTS "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin")
+      file(STRINGS "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin"
+        features REGEX "${lang}_FEATURE:.*")
+      foreach(info ${features})
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "    Feature record: ${info}\n")
+        string(REPLACE "${lang}_FEATURE:" "" info ${info})
+        string(SUBSTRING ${info} 0 1 has_feature)
+        if(has_feature)
+          string(REGEX REPLACE "^1" "" feature ${info})
+          list(APPEND ${feature_list} ${feature})
+        endif()
+      endforeach()
+    endif()
+  else()
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+      "Detecting ${lang} [${compile_flags}] compiler features failed to compile with the following output:\n${_output}\n${_copy_error}\n\n")
+  endif()
+endmacro()
+
+macro(_record_compiler_features_c std)
+  list(APPEND CMAKE_C${std}_COMPILE_FEATURES c_std_${std})
+  _record_compiler_features(C "${CMAKE_C${std}_STANDARD_COMPILE_OPTION}" CMAKE_C${std}_COMPILE_FEATURES)
+endmacro()
+
+macro(_record_compiler_features_cxx std)
+  list(APPEND CMAKE_CXX${std}_COMPILE_FEATURES cxx_std_${std})
+  _record_compiler_features(CXX "${CMAKE_CXX${std}_STANDARD_COMPILE_OPTION}" CMAKE_CXX${std}_COMPILE_FEATURES)
+endmacro()
diff --git a/share/cmake-3.10/Modules/KDE3Macros.cmake b/share/cmake-3.10/Modules/KDE3Macros.cmake
new file mode 100644
index 0000000..b3f31ed
--- /dev/null
+++ b/share/cmake-3.10/Modules/KDE3Macros.cmake
@@ -0,0 +1,399 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#
+
+# See FindKDE3.cmake for documentation.
+#
+# this file contains the following macros:
+# KDE3_ADD_DCOP_SKELS
+# KDE3_ADD_DCOP_STUBS
+# KDE3_ADD_MOC_FILES
+# KDE3_ADD_UI_FILES
+# KDE3_ADD_KCFG_FILES
+# KDE3_AUTOMOC
+# KDE3_INSTALL_LIBTOOL_FILE
+# KDE3_CREATE_FINAL_FILE
+# KDE3_ADD_KPART
+# KDE3_ADD_KDEINIT_EXECUTABLE
+# KDE3_ADD_EXECUTABLE
+
+
+#neundorf@kde.org
+
+include(AddFileDependencies)
+
+#create the kidl and skeletion file for dcop stuff
+#usage: KDE_ADD_COP_SKELS(foo_SRCS ${dcop_headers})
+macro(KDE3_ADD_DCOP_SKELS _sources)
+   foreach (_current_FILE ${ARGN})
+
+      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+
+      set(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp)
+      set(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
+
+      if (NOT HAVE_${_basename}_KIDL_RULE)
+         set(HAVE_${_basename}_KIDL_RULE ON)
+
+          add_custom_command(OUTPUT ${_kidl}
+          COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
+          ARGS ${_tmp_FILE} > ${_kidl}
+          DEPENDS ${_tmp_FILE}
+         )
+
+       endif ()
+
+      if (NOT HAVE_${_basename}_SKEL_RULE)
+        set(HAVE_${_basename}_SKEL_RULE ON)
+
+       add_custom_command(OUTPUT ${_skel}
+          COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
+          ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl}
+          DEPENDS ${_kidl}
+          )
+
+      endif ()
+
+      set(${_sources} ${${_sources}} ${_skel})
+
+   endforeach ()
+
+endmacro()
+
+
+macro(KDE3_ADD_DCOP_STUBS _sources)
+   foreach (_current_FILE ${ARGN})
+
+      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+
+      set(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.cpp)
+      set(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
+
+      if (NOT HAVE_${_basename}_KIDL_RULE)
+        set(HAVE_${_basename}_KIDL_RULE ON)
+
+
+        add_custom_command(OUTPUT ${_kidl}
+           COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
+           ARGS ${_tmp_FILE} > ${_kidl}
+           DEPENDS ${_tmp_FILE}
+           )
+
+      endif ()
+
+
+      if (NOT HAVE_${_basename}_STUB_RULE)
+        set(HAVE_${_basename}_STUB_RULE ON)
+
+        add_custom_command(OUTPUT ${_stub_CPP}
+           COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
+           ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl}
+           DEPENDS ${_kidl}
+         )
+
+      endif ()
+
+      set(${_sources} ${${_sources}} ${_stub_CPP})
+
+   endforeach ()
+
+endmacro()
+
+
+macro(KDE3_ADD_KCFG_FILES _sources)
+   foreach (_current_FILE ${ARGN})
+
+      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+
+      file(READ ${_tmp_FILE} _contents)
+      string(REGEX REPLACE "^(.*\n)?File=([^\n]+)\n.*$" "\\2"  _kcfg_FILE "${_contents}")
+
+      set(_src_FILE    ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+      set(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+
+      add_custom_command(OUTPUT ${_src_FILE}
+         COMMAND ${KDE3_KCFGC_EXECUTABLE}
+         ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} ${_tmp_FILE}
+         DEPENDS ${_tmp_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} )
+
+      set(${_sources} ${${_sources}} ${_src_FILE})
+
+   endforeach ()
+
+endmacro()
+
+
+#create the moc files and add them to the list of sources
+#usage: KDE_ADD_MOC_FILES(foo_SRCS ${moc_headers})
+macro(KDE3_ADD_MOC_FILES _sources)
+   foreach (_current_FILE ${ARGN})
+
+      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+      set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
+
+      add_custom_command(OUTPUT ${_moc}
+         COMMAND ${QT_MOC_EXECUTABLE}
+         ARGS ${_tmp_FILE} -o ${_moc}
+         DEPENDS ${_tmp_FILE}
+      )
+
+      set(${_sources} ${${_sources}} ${_moc})
+
+   endforeach ()
+endmacro()
+
+
+get_filename_component( KDE3_MODULE_DIR  ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+#create the implementation files from the ui files and add them to the list of sources
+#usage: KDE_ADD_UI_FILES(foo_SRCS ${ui_files})
+macro(KDE3_ADD_UI_FILES _sources )
+   foreach (_current_FILE ${ARGN})
+
+      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+      set(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+      set(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+      set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
+
+      add_custom_command(OUTPUT ${_header}
+         COMMAND ${QT_UIC_EXECUTABLE}
+         ARGS  -L ${KDE3_LIB_DIR}/kde3/plugins/designer -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
+         DEPENDS ${_tmp_FILE}
+      )
+
+      add_custom_command(OUTPUT ${_src}
+         COMMAND ${CMAKE_COMMAND}
+         ARGS
+         -DKDE_UIC_PLUGIN_DIR:FILEPATH=${KDE3_LIB_DIR}/kde3/plugins/designer
+         -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE}
+         -DKDE_UIC_FILE:FILEPATH=${_tmp_FILE}
+         -DKDE_UIC_CPP_FILE:FILEPATH=${_src}
+         -DKDE_UIC_H_FILE:FILEPATH=${_header}
+         -P ${KDE3_MODULE_DIR}/kde3uic.cmake
+         DEPENDS ${_header}
+      )
+
+      add_custom_command(OUTPUT ${_moc}
+         COMMAND ${QT_MOC_EXECUTABLE}
+         ARGS ${_header} -o ${_moc}
+         DEPENDS ${_header}
+      )
+
+      set(${_sources} ${${_sources}} ${_src} ${_moc} )
+
+   endforeach ()
+endmacro()
+
+
+macro(KDE3_AUTOMOC)
+   set(_matching_FILES )
+   foreach (_current_FILE ${ARGN})
+
+      get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
+
+      # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
+      # here. this is required to make bouic work correctly:
+      # we need to add generated .cpp files to the sources (to compile them),
+      # but we cannot let automoc handle them, as the .cpp files don't exist yet when
+      # cmake is run for the very first time on them -> however the .cpp files might
+      # exist at a later run. at that time we need to skip them, so that we don't add two
+      # different rules for the same moc file
+      get_source_file_property(_skip ${_abs_FILE} SKIP_AUTOMOC)
+
+      if (EXISTS ${_abs_FILE} AND NOT _skip)
+
+         file(STRINGS ${_abs_FILE} _match REGEX "#include +[^ ]+\\.moc[\">]")
+
+         get_filename_component(_abs_PATH ${_abs_FILE} PATH)
+
+         foreach (_current_MOC_INC IN LISTS _match)
+            string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+
+            get_filename_component(_basename ${_current_MOC} NAME_WE)
+#            set(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
+            set(_header ${_abs_PATH}/${_basename}.h)
+            set(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+
+            add_custom_command(OUTPUT ${_moc}
+               COMMAND ${QT_MOC_EXECUTABLE}
+               ARGS ${_header} -o ${_moc}
+               DEPENDS ${_header}
+            )
+
+            ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
+
+         endforeach ()
+         unset(_match)
+         unset(_header)
+         unset(_moc)
+      endif ()
+   endforeach ()
+endmacro()
+
+# only used internally by KDE3_INSTALL_ICONS
+macro (_KDE3_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME)
+
+   # if the string doesn't match the pattern, the result is the full string, so all three have the same content
+   if (NOT ${_group} STREQUAL ${_install_NAME} )
+      set(_icon_GROUP "actions")
+
+      if (${_group} STREQUAL "mime")
+         set(_icon_GROUP  "mimetypes")
+      endif ()
+
+      if (${_group} STREQUAL "filesys")
+         set(_icon_GROUP  "filesystems")
+      endif ()
+
+      if (${_group} STREQUAL "device")
+         set(_icon_GROUP  "devices")
+      endif ()
+
+      if (${_group} STREQUAL "app")
+         set(_icon_GROUP  "apps")
+      endif ()
+
+      if (${_group} STREQUAL "action")
+         set(_icon_GROUP  "actions")
+      endif ()
+
+#      message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" )
+   install(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} )
+   endif ()
+
+endmacro ()
+
+
+macro (KDE3_INSTALL_ICONS _theme )
+   set(_defaultpath "${CMAKE_INSTALL_PREFIX}/share/icons")
+   # first the png icons
+   file(GLOB _icons *.png)
+   foreach (_current_ICON ${_icons} )
+      string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size  "${_current_ICON}")
+      string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}")
+      string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name  "${_current_ICON}")
+      _KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake
+         ${_defaultpath}/${_theme}/${_size}x${_size}
+         ${_group} ${_current_ICON} ${_name})
+   endforeach ()
+
+   # and now the svg icons
+   file(GLOB _icons *.svgz)
+   foreach (_current_ICON ${_icons} )
+      string(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}")
+      string(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}")
+      _KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake
+                                 ${_defaultpath}/${_theme}/scalable
+                                 ${_group} ${_current_ICON} ${_name})
+   endforeach ()
+
+endmacro ()
+
+macro(KDE3_INSTALL_LIBTOOL_FILE _target)
+   get_target_property(_target_location ${_target} LOCATION)
+
+   get_filename_component(_laname ${_target_location} NAME_WE)
+   get_filename_component(_soname ${_target_location} NAME)
+   set(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la)
+
+   file(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n")
+   file(APPEND ${_laname} "# The name that we can dlopen(3).\n")
+   file(APPEND ${_laname} "dlname='${_soname}'\n")
+   file(APPEND ${_laname} "# Names of this library\n")
+   if(CYGWIN)
+     file(APPEND ${_laname} "library_names='${_soname}'\n")
+   else()
+     file(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n")
+   endif()
+   file(APPEND ${_laname} "# The name of the static archive\n")
+   file(APPEND ${_laname} "old_library=''\n")
+   file(APPEND ${_laname} "# Libraries that this one depends upon.\n")
+   file(APPEND ${_laname} "dependency_libs=''\n")
+#   file(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n")
+   file(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n")
+   file(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n")
+   file(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n")
+   file(APPEND ${_laname} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n")
+   file(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
+   file(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/lib/kde3'\n")
+
+   install_files(${KDE3_LIBTOOL_DIR} FILES ${_laname})
+endmacro()
+
+
+macro(KDE3_CREATE_FINAL_FILE _filename)
+   file(WRITE ${_filename} "//autogenerated file\n")
+   foreach (_current_FILE ${ARGN})
+      file(APPEND ${_filename} "#include \"${_current_FILE}\"\n")
+   endforeach ()
+
+endmacro()
+
+
+# option(KDE3_ENABLE_FINAL "Enable final all-in-one compilation")
+option(KDE3_BUILD_TESTS  "Build the tests")
+
+
+macro(KDE3_ADD_KPART _target_NAME _with_PREFIX)
+#is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, otherwise SET the prefix empty
+   if (${_with_PREFIX} STREQUAL "WITH_PREFIX")
+      set(_first_SRC)
+   else ()
+      set(_first_SRC ${_with_PREFIX})
+   endif ()
+
+#    if (KDE3_ENABLE_FINAL)
+#       KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN})
+#       add_library(${_target_NAME} MODULE  ${_target_NAME}_final.cpp)
+#    else ()
+   add_library(${_target_NAME} MODULE ${_first_SRC} ${ARGN})
+#    endif ()
+
+   if(_first_SRC)
+      set_target_properties(${_target_NAME} PROPERTIES PREFIX "")
+   endif()
+
+   KDE3_INSTALL_LIBTOOL_FILE(${_target_NAME})
+
+endmacro()
+
+
+macro(KDE3_ADD_KDEINIT_EXECUTABLE _target_NAME )
+
+#    if (KDE3_ENABLE_FINAL)
+#       KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
+#       add_library(kdeinit_${_target_NAME} SHARED  ${_target_NAME}_final.cpp)
+#    else ()
+   add_library(kdeinit_${_target_NAME} SHARED ${ARGN} )
+#    endif ()
+
+   configure_file(${KDE3_MODULE_DIR}/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
+
+   add_executable( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
+   target_link_libraries( ${_target_NAME} kdeinit_${_target_NAME} )
+
+endmacro()
+
+
+macro(KDE3_ADD_EXECUTABLE _target_NAME )
+
+#    if (KDE3_ENABLE_FINAL)
+#       KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
+#       add_executable(${_target_NAME} ${_target_NAME}_final.cpp)
+#    else ()
+   add_executable(${_target_NAME} ${ARGN} )
+#    endif ()
+
+endmacro()
+
+
diff --git a/share/cmake-3.6/Modules/MacOSXBundleInfo.plist.in b/share/cmake-3.10/Modules/MacOSXBundleInfo.plist.in
similarity index 100%
rename from share/cmake-3.6/Modules/MacOSXBundleInfo.plist.in
rename to share/cmake-3.10/Modules/MacOSXBundleInfo.plist.in
diff --git a/share/cmake-3.6/Modules/MacOSXFrameworkInfo.plist.in b/share/cmake-3.10/Modules/MacOSXFrameworkInfo.plist.in
similarity index 100%
rename from share/cmake-3.6/Modules/MacOSXFrameworkInfo.plist.in
rename to share/cmake-3.10/Modules/MacOSXFrameworkInfo.plist.in
diff --git a/share/cmake-3.10/Modules/MacroAddFileDependencies.cmake b/share/cmake-3.10/Modules/MacroAddFileDependencies.cmake
new file mode 100644
index 0000000..db26814
--- /dev/null
+++ b/share/cmake-3.10/Modules/MacroAddFileDependencies.cmake
@@ -0,0 +1,29 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# MacroAddFileDependencies
+# ------------------------
+#
+# MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...)
+#
+# Using the macro MACRO_ADD_FILE_DEPENDENCIES() is discouraged.  There
+# are usually better ways to specify the correct dependencies.
+#
+# MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...) is just a
+# convenience wrapper around the OBJECT_DEPENDS source file property.
+# You can just use set_property(SOURCE <file> APPEND PROPERTY
+# OBJECT_DEPENDS depend_files) instead.
+
+macro (MACRO_ADD_FILE_DEPENDENCIES _file)
+
+   get_source_file_property(_deps ${_file} OBJECT_DEPENDS)
+   if (_deps)
+      set(_deps ${_deps} ${ARGN})
+   else ()
+      set(_deps ${ARGN})
+   endif ()
+
+   set_source_files_properties(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
+
+endmacro ()
diff --git a/share/cmake-3.10/Modules/MatlabTestsRedirect.cmake b/share/cmake-3.10/Modules/MatlabTestsRedirect.cmake
new file mode 100644
index 0000000..64d580d
--- /dev/null
+++ b/share/cmake-3.10/Modules/MatlabTestsRedirect.cmake
@@ -0,0 +1,105 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This is an undocumented internal helper for the FindMatlab
+# module ``matlab_add_unit_test`` command.
+
+# Usage: cmake
+#   -Dtest_timeout=180
+#   -Doutput_directory=
+#   -Dadditional_paths=""
+#   -Dno_unittest_framework=""
+#   -DMatlab_PROGRAM=matlab_exe_location
+#   -DMatlab_ADDITIONAL_STARTUP_OPTIONS=""
+#   -Dtest_name=name_of_the_test
+#   -Dcustom_Matlab_test_command=""
+#   -Dcmd_to_run_before_test=""
+#   -Dunittest_file_to_run
+#   -P FindMatlab_TestsRedirect.cmake
+
+set(Matlab_UNIT_TESTS_CMD -nosplash -nodesktop -nodisplay ${Matlab_ADDITIONAL_STARTUP_OPTIONS})
+if(WIN32)
+  set(Matlab_UNIT_TESTS_CMD ${Matlab_UNIT_TESTS_CMD} -wait)
+endif()
+
+if(NOT test_timeout)
+  set(test_timeout 180)
+endif()
+
+# If timeout is -1, then do not put a timeout on the execute_process
+if(test_timeout EQUAL -1)
+  set(test_timeout "")
+else()
+  set(test_timeout TIMEOUT ${test_timeout})
+endif()
+
+if(NOT cmd_to_run_before_test)
+  set(cmd_to_run_before_test)
+endif()
+
+get_filename_component(unittest_file_directory   "${unittest_file_to_run}" DIRECTORY)
+get_filename_component(unittest_file_to_run_name "${unittest_file_to_run}" NAME_WE)
+
+set(concat_string '${unittest_file_directory}')
+foreach(s IN LISTS additional_paths)
+  if(NOT "${s}" STREQUAL "")
+    string(APPEND concat_string ", '${s}'")
+  endif()
+endforeach()
+
+if(custom_Matlab_test_command)
+  set(unittest_to_run "${custom_Matlab_test_command}")
+else()
+  set(unittest_to_run "runtests('${unittest_file_to_run_name}'), exit(max([ans(1,:).Failed]))")
+endif()
+
+
+if(no_unittest_framework)
+  set(unittest_to_run "try, ${unittest_file_to_run_name}, catch err, disp('An exception has been thrown during the execution'), disp(err), disp(err.stack), exit(1), end, exit(0)")
+endif()
+
+set(Matlab_SCRIPT_TO_RUN
+    "addpath(${concat_string}); ${cmd_to_run_before_test}; ${unittest_to_run}"
+   )
+# if the working directory is not specified then default
+# to the output_directory because the log file will go there
+# if the working_directory is specified it will override the
+# output_directory
+if(NOT working_directory)
+  set(working_directory "${output_directory}")
+endif()
+
+string(REPLACE "/" "_" log_file_name "${test_name}.log")
+set(Matlab_LOG_FILE "${working_directory}/${log_file_name}")
+
+set(devnull)
+if(UNIX)
+  set(devnull INPUT_FILE /dev/null)
+elseif(WIN32)
+  set(devnull INPUT_FILE NUL)
+endif()
+
+execute_process(
+  # Do not use a full path to log file.  Depend on the fact that the log file
+  # is always going to go in the working_directory.  This is because matlab
+  # on unix is a shell script that does not handle spaces in the logfile path.
+  COMMAND "${Matlab_PROGRAM}" ${Matlab_UNIT_TESTS_CMD} -logfile "${log_file_name}" -r "${Matlab_SCRIPT_TO_RUN}"
+  RESULT_VARIABLE res
+  ${test_timeout}
+  OUTPUT_QUIET # we do not want the output twice
+  WORKING_DIRECTORY "${working_directory}"
+  ${devnull}
+  )
+
+if(NOT EXISTS ${Matlab_LOG_FILE})
+  message( FATAL_ERROR "[MATLAB] ERROR: cannot find the log file ${Matlab_LOG_FILE}")
+endif()
+
+# print the output in any case.
+file(READ ${Matlab_LOG_FILE} matlab_log_content)
+message("Matlab test ${name_of_the_test} output:\n${matlab_log_content}") # if we put FATAL_ERROR here, the file is indented.
+
+
+if(NOT (res EQUAL 0))
+  message( FATAL_ERROR "[MATLAB] TEST FAILED Matlab returned ${res}" )
+endif()
diff --git a/share/cmake-3.6/Modules/NSIS.InstallOptions.ini.in b/share/cmake-3.10/Modules/NSIS.InstallOptions.ini.in
similarity index 100%
rename from share/cmake-3.6/Modules/NSIS.InstallOptions.ini.in
rename to share/cmake-3.10/Modules/NSIS.InstallOptions.ini.in
diff --git a/share/cmake-3.10/Modules/NSIS.template.in b/share/cmake-3.10/Modules/NSIS.template.in
new file mode 100644
index 0000000..9001888
--- /dev/null
+++ b/share/cmake-3.10/Modules/NSIS.template.in
@@ -0,0 +1,972 @@
+; CPack install script designed for a nmake build
+
+;--------------------------------
+; You must define these values
+
+  !define VERSION "@CPACK_PACKAGE_VERSION@"
+  !define PATCH  "@CPACK_PACKAGE_VERSION_PATCH@"
+  !define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
+
+;--------------------------------
+;Variables
+
+  Var MUI_TEMP
+  Var STARTMENU_FOLDER
+  Var SV_ALLUSERS
+  Var START_MENU
+  Var DO_NOT_ADD_TO_PATH
+  Var ADD_TO_PATH_ALL_USERS
+  Var ADD_TO_PATH_CURRENT_USER
+  Var INSTALL_DESKTOP
+  Var IS_DEFAULT_INSTALLDIR
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI.nsh"
+
+  ;Default installation folder
+  InstallDir "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "@CPACK_NSIS_PACKAGE_NAME@"
+  OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
+
+  ;Set compression
+  SetCompressor @CPACK_NSIS_COMPRESSOR@
+
+  ;Require administrator access
+  RequestExecutionLevel admin
+
+@CPACK_NSIS_DEFINES@
+
+  !include Sections.nsh
+
+;--- Component support macros: ---
+; The code for the add/remove functionality is from:
+;   http://nsis.sourceforge.net/Add/Remove_Functionality
+; It has been modified slightly and extended to provide
+; inter-component dependencies.
+Var AR_SecFlags
+Var AR_RegFlags
+@CPACK_NSIS_SECTION_SELECTED_VARS@
+
+; Loads the "selected" flag for the section named SecName into the
+; variable VarName.
+!macro LoadSectionSelectedIntoVar SecName VarName
+ SectionGetFlags ${${SecName}} $${VarName}
+ IntOp $${VarName} $${VarName} & ${SF_SELECTED}  ;Turn off all other bits
+!macroend
+
+; Loads the value of a variable... can we get around this?
+!macro LoadVar VarName
+  IntOp $R0 0 + $${VarName}
+!macroend
+
+; Sets the value of a variable
+!macro StoreVar VarName IntValue
+  IntOp $${VarName} 0 + ${IntValue}
+!macroend
+
+!macro InitSection SecName
+  ;  This macro reads component installed flag from the registry and
+  ;changes checked state of the section on the components page.
+  ;Input: section index constant name specified in Section command.
+
+  ClearErrors
+  ;Reading component status from registry
+  ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed"
+  IfErrors "default_${SecName}"
+    ;Status will stay default if registry value not found
+    ;(component was never installed)
+  IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
+  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading default section flags
+  IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE  ;Turn lowest (enabled) bit off
+  IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags      ;Change lowest bit
+
+  ; Note whether this component was installed before
+  !insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
+  IntOp $R0 $AR_RegFlags & $AR_RegFlags
+
+  ;Writing modified flags
+  SectionSetFlags ${${SecName}} $AR_SecFlags
+
+ "default_${SecName}:"
+ !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
+!macroend
+
+!macro FinishSection SecName
+  ;  This macro reads section flag set by user and removes the section
+  ;if it is not selected.
+  ;Then it writes component installed flag to registry
+  ;Input: section index constant name specified in Section command.
+
+  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading section flags
+  ;Checking lowest bit:
+  IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
+  IntCmp $AR_SecFlags 1 "leave_${SecName}"
+    ;Section is not selected:
+    ;Calling Section uninstall macro and writing zero installed flag
+    !insertmacro "Remove_${${SecName}}"
+    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
+  "Installed" 0
+    Goto "exit_${SecName}"
+
+ "leave_${SecName}:"
+    ;Section is selected:
+    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
+  "Installed" 1
+
+ "exit_${SecName}:"
+!macroend
+
+!macro RemoveSection_CPack SecName
+  ;  This macro is used to call section's Remove_... macro
+  ;from the uninstaller.
+  ;Input: section index constant name specified in Section command.
+
+  !insertmacro "Remove_${${SecName}}"
+!macroend
+
+; Determine whether the selection of SecName changed
+!macro MaybeSelectionChanged SecName
+  !insertmacro LoadVar ${SecName}_selected
+  SectionGetFlags ${${SecName}} $R1
+  IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
+
+  ; See if the status has changed:
+  IntCmp $R0 $R1 "${SecName}_unchanged"
+  !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
+
+  IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
+  !insertmacro "Deselect_required_by_${SecName}"
+  goto "${SecName}_unchanged"
+
+  "${SecName}_was_selected:"
+  !insertmacro "Select_${SecName}_depends"
+
+  "${SecName}_unchanged:"
+!macroend
+;--- End of Add/Remove macros ---
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_HEADERIMAGE
+  !define MUI_ABORTWARNING
+
+;----------------------------------------
+; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
+;----------------------------------------
+!verbose 3
+!include "WinMessages.NSH"
+!verbose 4
+;====================================================
+; get_NT_environment
+;     Returns: the selected environment
+;     Output : head of the stack
+;====================================================
+!macro select_NT_profile UN
+Function ${UN}select_NT_profile
+   StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
+      DetailPrint "Selected environment for all users"
+      Push "all"
+      Return
+   environment_single:
+      DetailPrint "Selected environment for current user only."
+      Push "current"
+      Return
+FunctionEnd
+!macroend
+!insertmacro select_NT_profile ""
+!insertmacro select_NT_profile "un."
+;----------------------------------------------------
+!define NT_current_env 'HKCU "Environment"'
+!define NT_all_env     'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
+
+!ifndef WriteEnvStr_RegKey
+  !ifdef ALL_USERS
+    !define WriteEnvStr_RegKey \
+       'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
+  !else
+    !define WriteEnvStr_RegKey 'HKCU "Environment"'
+  !endif
+!endif
+
+; AddToPath - Adds the given dir to the search path.
+;        Input - head of the stack
+;        Note - Win9x systems requires reboot
+
+Function AddToPath
+  Exch $0
+  Push $1
+  Push $2
+  Push $3
+
+  # don't add if the path doesn't exist
+  IfFileExists "$0\*.*" "" AddToPath_done
+
+  ReadEnvStr $1 PATH
+  ; if the path is too long for a NSIS variable NSIS will return a 0
+  ; length string.  If we find that, then warn and skip any path
+  ; modification as it will trash the existing path.
+  StrLen $2 $1
+  IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
+    CheckPathLength_ShowPathWarning:
+    Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
+    Goto AddToPath_done
+  CheckPathLength_Done:
+  Push "$1;"
+  Push "$0;"
+  Call StrStr
+  Pop $2
+  StrCmp $2 "" "" AddToPath_done
+  Push "$1;"
+  Push "$0\;"
+  Call StrStr
+  Pop $2
+  StrCmp $2 "" "" AddToPath_done
+  GetFullPathName /SHORT $3 $0
+  Push "$1;"
+  Push "$3;"
+  Call StrStr
+  Pop $2
+  StrCmp $2 "" "" AddToPath_done
+  Push "$1;"
+  Push "$3\;"
+  Call StrStr
+  Pop $2
+  StrCmp $2 "" "" AddToPath_done
+
+  Call IsNT
+  Pop $1
+  StrCmp $1 1 AddToPath_NT
+    ; Not on NT
+    StrCpy $1 $WINDIR 2
+    FileOpen $1 "$1\autoexec.bat" a
+    FileSeek $1 -1 END
+    FileReadByte $1 $2
+    IntCmp $2 26 0 +2 +2 # DOS EOF
+      FileSeek $1 -1 END # write over EOF
+    FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
+    FileClose $1
+    SetRebootFlag true
+    Goto AddToPath_done
+
+  AddToPath_NT:
+    StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
+      ReadRegStr $1 ${NT_current_env} "PATH"
+      Goto DoTrim
+    ReadAllKey:
+      ReadRegStr $1 ${NT_all_env} "PATH"
+    DoTrim:
+    StrCmp $1 "" AddToPath_NTdoIt
+      Push $1
+      Call Trim
+      Pop $1
+      StrCpy $0 "$1;$0"
+    AddToPath_NTdoIt:
+      StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
+        WriteRegExpandStr ${NT_current_env} "PATH" $0
+        Goto DoSend
+      WriteAllKey:
+        WriteRegExpandStr ${NT_all_env} "PATH" $0
+      DoSend:
+      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
+  AddToPath_done:
+    Pop $3
+    Pop $2
+    Pop $1
+    Pop $0
+FunctionEnd
+
+
+; RemoveFromPath - Remove a given dir from the path
+;     Input: head of the stack
+
+Function un.RemoveFromPath
+  Exch $0
+  Push $1
+  Push $2
+  Push $3
+  Push $4
+  Push $5
+  Push $6
+
+  IntFmt $6 "%c" 26 # DOS EOF
+
+  Call un.IsNT
+  Pop $1
+  StrCmp $1 1 unRemoveFromPath_NT
+    ; Not on NT
+    StrCpy $1 $WINDIR 2
+    FileOpen $1 "$1\autoexec.bat" r
+    GetTempFileName $4
+    FileOpen $2 $4 w
+    GetFullPathName /SHORT $0 $0
+    StrCpy $0 "SET PATH=%PATH%;$0"
+    Goto unRemoveFromPath_dosLoop
+
+    unRemoveFromPath_dosLoop:
+      FileRead $1 $3
+      StrCpy $5 $3 1 -1 # read last char
+      StrCmp $5 $6 0 +2 # if DOS EOF
+        StrCpy $3 $3 -1 # remove DOS EOF so we can compare
+      StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
+      StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
+      StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
+      StrCmp $3 "" unRemoveFromPath_dosLoopEnd
+      FileWrite $2 $3
+      Goto unRemoveFromPath_dosLoop
+      unRemoveFromPath_dosLoopRemoveLine:
+        SetRebootFlag true
+        Goto unRemoveFromPath_dosLoop
+
+    unRemoveFromPath_dosLoopEnd:
+      FileClose $2
+      FileClose $1
+      StrCpy $1 $WINDIR 2
+      Delete "$1\autoexec.bat"
+      CopyFiles /SILENT $4 "$1\autoexec.bat"
+      Delete $4
+      Goto unRemoveFromPath_done
+
+  unRemoveFromPath_NT:
+    StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
+      ReadRegStr $1 ${NT_current_env} "PATH"
+      Goto unDoTrim
+    unReadAllKey:
+      ReadRegStr $1 ${NT_all_env} "PATH"
+    unDoTrim:
+    StrCpy $5 $1 1 -1 # copy last char
+    StrCmp $5 ";" +2 # if last char != ;
+      StrCpy $1 "$1;" # append ;
+    Push $1
+    Push "$0;"
+    Call un.StrStr ; Find `$0;` in $1
+    Pop $2 ; pos of our dir
+    StrCmp $2 "" unRemoveFromPath_done
+      ; else, it is in path
+      # $0 - path to add
+      # $1 - path var
+      StrLen $3 "$0;"
+      StrLen $4 $2
+      StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
+      StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
+      StrCpy $3 $5$6
+
+      StrCpy $5 $3 1 -1 # copy last char
+      StrCmp $5 ";" 0 +2 # if last char == ;
+        StrCpy $3 $3 -1 # remove last char
+
+      StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
+        WriteRegExpandStr ${NT_current_env} "PATH" $3
+        Goto unDoSend
+      unWriteAllKey:
+        WriteRegExpandStr ${NT_all_env} "PATH" $3
+      unDoSend:
+      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
+  unRemoveFromPath_done:
+    Pop $6
+    Pop $5
+    Pop $4
+    Pop $3
+    Pop $2
+    Pop $1
+    Pop $0
+FunctionEnd
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Uninstall sutff
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+###########################################
+#            Utility Functions            #
+###########################################
+
+;====================================================
+; IsNT - Returns 1 if the current system is NT, 0
+;        otherwise.
+;     Output: head of the stack
+;====================================================
+; IsNT
+; no input
+; output, top of the stack = 1 if NT or 0 if not
+;
+; Usage:
+;   Call IsNT
+;   Pop $R0
+;  ($R0 at this point is 1 or 0)
+
+!macro IsNT un
+Function ${un}IsNT
+  Push $0
+  ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
+  StrCmp $0 "" 0 IsNT_yes
+  ; we are not NT.
+  Pop $0
+  Push 0
+  Return
+
+  IsNT_yes:
+    ; NT!!!
+    Pop $0
+    Push 1
+FunctionEnd
+!macroend
+!insertmacro IsNT ""
+!insertmacro IsNT "un."
+
+; StrStr
+; input, top of stack = string to search for
+;        top of stack-1 = string to search in
+; output, top of stack (replaces with the portion of the string remaining)
+; modifies no other variables.
+;
+; Usage:
+;   Push "this is a long ass string"
+;   Push "ass"
+;   Call StrStr
+;   Pop $R0
+;  ($R0 at this point is "ass string")
+
+!macro StrStr un
+Function ${un}StrStr
+Exch $R1 ; st=haystack,old$R1, $R1=needle
+  Exch    ; st=old$R1,haystack
+  Exch $R2 ; st=old$R1,old$R2, $R2=haystack
+  Push $R3
+  Push $R4
+  Push $R5
+  StrLen $R3 $R1
+  StrCpy $R4 0
+  ; $R1=needle
+  ; $R2=haystack
+  ; $R3=len(needle)
+  ; $R4=cnt
+  ; $R5=tmp
+  loop:
+    StrCpy $R5 $R2 $R3 $R4
+    StrCmp $R5 $R1 done
+    StrCmp $R5 "" done
+    IntOp $R4 $R4 + 1
+    Goto loop
+done:
+  StrCpy $R1 $R2 "" $R4
+  Pop $R5
+  Pop $R4
+  Pop $R3
+  Pop $R2
+  Exch $R1
+FunctionEnd
+!macroend
+!insertmacro StrStr ""
+!insertmacro StrStr "un."
+
+Function Trim ; Added by Pelaca
+	Exch $R1
+	Push $R2
+Loop:
+	StrCpy $R2 "$R1" 1 -1
+	StrCmp "$R2" " " RTrim
+	StrCmp "$R2" "$\n" RTrim
+	StrCmp "$R2" "$\r" RTrim
+	StrCmp "$R2" ";" RTrim
+	GoTo Done
+RTrim:
+	StrCpy $R1 "$R1" -1
+	Goto Loop
+Done:
+	Pop $R2
+	Exch $R1
+FunctionEnd
+
+Function ConditionalAddToRegisty
+  Pop $0
+  Pop $1
+  StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
+    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" \
+    "$1" "$0"
+    ;MessageBox MB_OK "Set Registry: '$1' to '$0'"
+    DetailPrint "Set install registry entry: '$1' to '$0'"
+  ConditionalAddToRegisty_EmptyString:
+FunctionEnd
+
+;--------------------------------
+
+!ifdef CPACK_USES_DOWNLOAD
+Function DownloadFile
+    IfFileExists $INSTDIR\* +2
+    CreateDirectory $INSTDIR
+    Pop $0
+
+    ; Skip if already downloaded
+    IfFileExists $INSTDIR\$0 0 +2
+    Return
+
+    StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
+
+  try_again:
+    NSISdl::download "$1/$0" "$INSTDIR\$0"
+
+    Pop $1
+    StrCmp $1 "success" success
+    StrCmp $1 "Cancelled" cancel
+    MessageBox MB_OK "Download failed: $1"
+  cancel:
+    Return
+  success:
+FunctionEnd
+!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@
+@CPACK_NSIS_INSTALLER_MUI_WELCOMEFINISH_CODE@
+@CPACK_NSIS_INSTALLER_MUI_UNWELCOMEFINISH_CODE@
+@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
+@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
+
+;--------------------------------
+;Pages
+  !insertmacro MUI_PAGE_WELCOME
+
+  !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
+  Page custom InstallOptionsPage
+  !insertmacro MUI_PAGE_DIRECTORY
+
+  ;Start Menu Folder Page Configuration
+  !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
+  !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+  !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+  !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+
+  @CPACK_NSIS_PAGE_COMPONENTS@
+
+  !insertmacro MUI_PAGE_INSTFILES
+  !insertmacro MUI_PAGE_FINISH
+
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+
+  !insertmacro MUI_LANGUAGE "English" ;first language is the default language
+  !insertmacro MUI_LANGUAGE "Albanian"
+  !insertmacro MUI_LANGUAGE "Arabic"
+  !insertmacro MUI_LANGUAGE "Basque"
+  !insertmacro MUI_LANGUAGE "Belarusian"
+  !insertmacro MUI_LANGUAGE "Bosnian"
+  !insertmacro MUI_LANGUAGE "Breton"
+  !insertmacro MUI_LANGUAGE "Bulgarian"
+  !insertmacro MUI_LANGUAGE "Croatian"
+  !insertmacro MUI_LANGUAGE "Czech"
+  !insertmacro MUI_LANGUAGE "Danish"
+  !insertmacro MUI_LANGUAGE "Dutch"
+  !insertmacro MUI_LANGUAGE "Estonian"
+  !insertmacro MUI_LANGUAGE "Farsi"
+  !insertmacro MUI_LANGUAGE "Finnish"
+  !insertmacro MUI_LANGUAGE "French"
+  !insertmacro MUI_LANGUAGE "German"
+  !insertmacro MUI_LANGUAGE "Greek"
+  !insertmacro MUI_LANGUAGE "Hebrew"
+  !insertmacro MUI_LANGUAGE "Hungarian"
+  !insertmacro MUI_LANGUAGE "Icelandic"
+  !insertmacro MUI_LANGUAGE "Indonesian"
+  !insertmacro MUI_LANGUAGE "Irish"
+  !insertmacro MUI_LANGUAGE "Italian"
+  !insertmacro MUI_LANGUAGE "Japanese"
+  !insertmacro MUI_LANGUAGE "Korean"
+  !insertmacro MUI_LANGUAGE "Kurdish"
+  !insertmacro MUI_LANGUAGE "Latvian"
+  !insertmacro MUI_LANGUAGE "Lithuanian"
+  !insertmacro MUI_LANGUAGE "Luxembourgish"
+  !insertmacro MUI_LANGUAGE "Macedonian"
+  !insertmacro MUI_LANGUAGE "Malay"
+  !insertmacro MUI_LANGUAGE "Mongolian"
+  !insertmacro MUI_LANGUAGE "Norwegian"
+  !insertmacro MUI_LANGUAGE "Polish"
+  !insertmacro MUI_LANGUAGE "Portuguese"
+  !insertmacro MUI_LANGUAGE "PortugueseBR"
+  !insertmacro MUI_LANGUAGE "Romanian"
+  !insertmacro MUI_LANGUAGE "Russian"
+  !insertmacro MUI_LANGUAGE "Serbian"
+  !insertmacro MUI_LANGUAGE "SerbianLatin"
+  !insertmacro MUI_LANGUAGE "SimpChinese"
+  !insertmacro MUI_LANGUAGE "Slovak"
+  !insertmacro MUI_LANGUAGE "Slovenian"
+  !insertmacro MUI_LANGUAGE "Spanish"
+  !insertmacro MUI_LANGUAGE "Swedish"
+  !insertmacro MUI_LANGUAGE "Thai"
+  !insertmacro MUI_LANGUAGE "TradChinese"
+  !insertmacro MUI_LANGUAGE "Turkish"
+  !insertmacro MUI_LANGUAGE "Ukrainian"
+  !insertmacro MUI_LANGUAGE "Welsh"
+
+
+;--------------------------------
+;Reserve Files
+
+  ;These files should be inserted before other files in the data block
+  ;Keep these lines before any File command
+  ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
+
+  ReserveFile "NSIS.InstallOptions.ini"
+  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+;--------------------------------
+;Installer Sections
+
+Section "-Core installation"
+  ;Use the entire tree produced by the INSTALL target.  Keep the
+  ;list of directories here in sync with the RMDir commands below.
+  SetOutPath "$INSTDIR"
+  @CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@
+  @CPACK_NSIS_FULL_INSTALL@
+
+  ;Store installation folder
+  WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
+
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  Push "DisplayName"
+  Push "@CPACK_NSIS_DISPLAY_NAME@"
+  Call ConditionalAddToRegisty
+  Push "DisplayVersion"
+  Push "@CPACK_PACKAGE_VERSION@"
+  Call ConditionalAddToRegisty
+  Push "Publisher"
+  Push "@CPACK_PACKAGE_VENDOR@"
+  Call ConditionalAddToRegisty
+  Push "UninstallString"
+  Push "$INSTDIR\Uninstall.exe"
+  Call ConditionalAddToRegisty
+  Push "NoRepair"
+  Push "1"
+  Call ConditionalAddToRegisty
+
+  !ifdef CPACK_NSIS_ADD_REMOVE
+  ;Create add/remove functionality
+  Push "ModifyPath"
+  Push "$INSTDIR\AddRemove.exe"
+  Call ConditionalAddToRegisty
+  !else
+  Push "NoModify"
+  Push "1"
+  Call ConditionalAddToRegisty
+  !endif
+
+  ; Optional registration
+  Push "DisplayIcon"
+  Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
+  Call ConditionalAddToRegisty
+  Push "HelpLink"
+  Push "@CPACK_NSIS_HELP_LINK@"
+  Call ConditionalAddToRegisty
+  Push "URLInfoAbout"
+  Push "@CPACK_NSIS_URL_INFO_ABOUT@"
+  Call ConditionalAddToRegisty
+  Push "Contact"
+  Push "@CPACK_NSIS_CONTACT@"
+  Call ConditionalAddToRegisty
+  !insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
+  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+  ;Create shortcuts
+  CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+@CPACK_NSIS_CREATE_ICONS@
+@CPACK_NSIS_CREATE_ICONS_EXTRA@
+  CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+
+  ;Read a value from an InstallOptions INI file
+  !insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
+  !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
+  !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
+
+  ; Write special uninstall registry entries
+  Push "StartMenu"
+  Push "$STARTMENU_FOLDER"
+  Call ConditionalAddToRegisty
+  Push "DoNotAddToPath"
+  Push "$DO_NOT_ADD_TO_PATH"
+  Call ConditionalAddToRegisty
+  Push "AddToPathAllUsers"
+  Push "$ADD_TO_PATH_ALL_USERS"
+  Call ConditionalAddToRegisty
+  Push "AddToPathCurrentUser"
+  Push "$ADD_TO_PATH_CURRENT_USER"
+  Call ConditionalAddToRegisty
+  Push "InstallToDesktop"
+  Push "$INSTALL_DESKTOP"
+  Call ConditionalAddToRegisty
+
+  !insertmacro MUI_STARTMENU_WRITE_END
+
+@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
+
+SectionEnd
+
+Section "-Add to path"
+  Push $INSTDIR\bin
+  StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
+  StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
+    Call AddToPath
+  doNotAddToPath:
+SectionEnd
+
+;--------------------------------
+; Create custom pages
+Function InstallOptionsPage
+  !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
+  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
+
+FunctionEnd
+
+;--------------------------------
+; determine admin versus local install
+Function un.onInit
+
+  ClearErrors
+  UserInfo::GetName
+  IfErrors noLM
+  Pop $0
+  UserInfo::GetAccountType
+  Pop $1
+  StrCmp $1 "Admin" 0 +3
+    SetShellVarContext all
+    ;MessageBox MB_OK 'User "$0" is in the Admin group'
+    Goto done
+  StrCmp $1 "Power" 0 +3
+    SetShellVarContext all
+    ;MessageBox MB_OK 'User "$0" is in the Power Users group'
+    Goto done
+
+  noLM:
+    ;Get installation folder from registry if available
+
+  done:
+
+FunctionEnd
+
+;--- Add/Remove callback functions: ---
+!macro SectionList MacroName
+  ;This macro used to perform operation on multiple sections.
+  ;List all of your components in following manner here.
+@CPACK_NSIS_COMPONENT_SECTION_LIST@
+!macroend
+
+Section -FinishComponents
+  ;Removes unselected components and writes component status to registry
+  !insertmacro SectionList "FinishSection"
+
+!ifdef CPACK_NSIS_ADD_REMOVE
+  ; Get the name of the installer executable
+  System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
+  StrCpy $R3 $R0
+
+  ; Strip off the last 13 characters, to see if we have AddRemove.exe
+  StrLen $R1 $R0
+  IntOp $R1 $R0 - 13
+  StrCpy $R2 $R0 13 $R1
+  StrCmp $R2 "AddRemove.exe" addremove_installed
+
+  ; We're not running AddRemove.exe, so install it
+  CopyFiles $R3 $INSTDIR\AddRemove.exe
+
+  addremove_installed:
+!endif
+SectionEnd
+;--- End of Add/Remove callback functions ---
+
+;--------------------------------
+; Component dependencies
+Function .onSelChange
+  !insertmacro SectionList MaybeSelectionChanged
+FunctionEnd
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+  ReadRegStr $START_MENU SHCTX \
+   "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu"
+  ;MessageBox MB_OK "Start menu is in: $START_MENU"
+  ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
+    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "DoNotAddToPath"
+  ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
+    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathAllUsers"
+  ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
+    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathCurrentUser"
+  ;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
+  ReadRegStr $INSTALL_DESKTOP SHCTX \
+    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "InstallToDesktop"
+  ;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
+
+@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
+
+  ;Remove files we installed.
+  ;Keep the list of directories here in sync with the File commands above.
+@CPACK_NSIS_DELETE_FILES@
+@CPACK_NSIS_DELETE_DIRECTORIES@
+
+!ifdef CPACK_NSIS_ADD_REMOVE
+  ;Remove the add/remove program
+  Delete "$INSTDIR\AddRemove.exe"
+!endif
+
+  ;Remove the uninstaller itself.
+  Delete "$INSTDIR\Uninstall.exe"
+  DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+
+  ;Remove the installation directory if it is empty.
+  RMDir "$INSTDIR"
+
+  ; Remove the registry entries.
+  DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+
+  ; Removes all optional components
+  !insertmacro SectionList "RemoveSection_CPack"
+
+  !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+
+  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+@CPACK_NSIS_DELETE_ICONS@
+@CPACK_NSIS_DELETE_ICONS_EXTRA@
+
+  ;Delete empty start menu parent diretories
+  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+  startMenuDeleteLoop:
+    ClearErrors
+    RMDir $MUI_TEMP
+    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+    IfErrors startMenuDeleteLoopDone
+
+    StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
+  startMenuDeleteLoopDone:
+
+  ; If the user changed the shortcut, then untinstall may not work. This should
+  ; try to fix it.
+  StrCpy $MUI_TEMP "$START_MENU"
+  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+@CPACK_NSIS_DELETE_ICONS_EXTRA@
+
+  ;Delete empty start menu parent diretories
+  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+  secondStartMenuDeleteLoop:
+    ClearErrors
+    RMDir $MUI_TEMP
+    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+    IfErrors secondStartMenuDeleteLoopDone
+
+    StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
+  secondStartMenuDeleteLoopDone:
+
+  DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+
+  Push $INSTDIR\bin
+  StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
+    Call un.RemoveFromPath
+  doNotRemoveFromPath:
+SectionEnd
+
+;--------------------------------
+; determine admin versus local install
+; Is install for "AllUsers" or "JustMe"?
+; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
+; This function is used for the very first "custom page" of the installer.
+; This custom page does not show up visibly, but it executes prior to the
+; first visible page and sets up $INSTDIR properly...
+; Choose different default installation folder based on SV_ALLUSERS...
+; "Program Files" for AllUsers, "My Documents" for JustMe...
+
+Function .onInit
+  StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
+
+  ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString"
+  StrCmp $0 "" inst
+
+  MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
+  "@CPACK_NSIS_PACKAGE_NAME@ is already installed. $\n$\nDo you want to uninstall the old version before installing the new one?" \
+  /SD IDYES IDYES uninst IDNO inst
+  Abort
+
+;Run the uninstaller
+uninst:
+  ClearErrors
+  StrLen $2 "\Uninstall.exe"
+  StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
+  ExecWait '"$0" /S _?=$3' ;Do not copy the uninstaller to a temp file
+
+  IfErrors uninst_failed inst
+uninst_failed:
+  MessageBox MB_OK|MB_ICONSTOP "Uninstall failed."
+  Abort
+
+
+inst:
+  ; Reads components status for registry
+  !insertmacro SectionList "InitSection"
+
+  ; check to see if /D has been used to change
+  ; the install directory by comparing it to the
+  ; install directory that is expected to be the
+  ; default
+  StrCpy $IS_DEFAULT_INSTALLDIR 0
+  StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
+    StrCpy $IS_DEFAULT_INSTALLDIR 1
+
+  StrCpy $SV_ALLUSERS "JustMe"
+  ; if default install dir then change the default
+  ; if it is installed for JustMe
+  StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
+    StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
+
+  ClearErrors
+  UserInfo::GetName
+  IfErrors noLM
+  Pop $0
+  UserInfo::GetAccountType
+  Pop $1
+  StrCmp $1 "Admin" 0 +4
+    SetShellVarContext all
+    ;MessageBox MB_OK 'User "$0" is in the Admin group'
+    StrCpy $SV_ALLUSERS "AllUsers"
+    Goto done
+  StrCmp $1 "Power" 0 +4
+    SetShellVarContext all
+    ;MessageBox MB_OK 'User "$0" is in the Power Users group'
+    StrCpy $SV_ALLUSERS "AllUsers"
+    Goto done
+
+  noLM:
+    StrCpy $SV_ALLUSERS "AllUsers"
+    ;Get installation folder from registry if available
+
+  done:
+  StrCmp $SV_ALLUSERS "AllUsers" 0 +3
+    StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
+      StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
+
+  StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
+    !insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
+
+  noOptionsPage:
+FunctionEnd
diff --git a/share/cmake-3.10/Modules/Platform/AIX-Clang-C.cmake b/share/cmake-3.10/Modules/Platform/AIX-Clang-C.cmake
new file mode 100644
index 0000000..0e8a1c0
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-Clang-C.cmake
@@ -0,0 +1 @@
+include(Platform/AIX-GNU-C)
diff --git a/share/cmake-3.10/Modules/Platform/AIX-Clang-CXX.cmake b/share/cmake-3.10/Modules/Platform/AIX-Clang-CXX.cmake
new file mode 100644
index 0000000..6b9110e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-Clang-CXX.cmake
@@ -0,0 +1 @@
+include(Platform/AIX-GNU-CXX)
diff --git a/share/cmake-3.6/Modules/Platform/AIX-GNU-ASM.cmake b/share/cmake-3.10/Modules/Platform/AIX-GNU-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-GNU-ASM.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-GNU-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Platform/AIX-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/AIX-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-GNU-C.cmake
diff --git a/share/cmake-3.10/Modules/Platform/AIX-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/AIX-GNU-CXX.cmake
new file mode 100644
index 0000000..d047801
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-GNU-CXX.cmake
@@ -0,0 +1,3 @@
+include(Platform/AIX-GNU)
+__aix_compiler_gnu(CXX)
+unset(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN)
diff --git a/share/cmake-3.6/Modules/Platform/AIX-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/AIX-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-GNU-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/AIX-GNU.cmake b/share/cmake-3.10/Modules/Platform/AIX-GNU.cmake
new file mode 100644
index 0000000..7f08c4a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-GNU.cmake
@@ -0,0 +1,28 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__AIX_COMPILER_GNU)
+  return()
+endif()
+set(__AIX_COMPILER_GNU 1)
+
+#
+# By default, runtime linking is enabled. All shared objects specified on the command line
+# will be listed, even if there are no symbols referenced, in the output file.
+string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " -Wl,-brtl")
+string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " -Wl,-brtl")
+string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,-brtl")
+
+
+macro(__aix_compiler_gnu lang)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-blibpath:")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
+  string(APPEND CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS " -Wl,-G,-bnoipath")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-bexpall")
+  set(CMAKE_${lang}_USE_IMPLICIT_LINK_DIRECTORIES_IN_RUNTIME_PATH 1)
+
+  set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath")
+  unset(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY)
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/AIX-VisualAge-C.cmake b/share/cmake-3.10/Modules/Platform/AIX-VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-VisualAge-C.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-VisualAge-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/AIX-VisualAge-CXX.cmake b/share/cmake-3.10/Modules/Platform/AIX-VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-VisualAge-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-VisualAge-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/AIX-VisualAge-Fortran.cmake b/share/cmake-3.10/Modules/Platform/AIX-VisualAge-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-VisualAge-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-VisualAge-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/AIX-XL-ASM.cmake b/share/cmake-3.10/Modules/Platform/AIX-XL-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-XL-ASM.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-XL-ASM.cmake
diff --git a/share/cmake-3.10/Modules/Platform/AIX-XL-C.cmake b/share/cmake-3.10/Modules/Platform/AIX-XL-C.cmake
new file mode 100644
index 0000000..cbfd58b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-XL-C.cmake
@@ -0,0 +1,5 @@
+include(Platform/AIX-XL)
+__aix_compiler_xl(C)
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/AIX-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/AIX-XL-CXX.cmake
new file mode 100644
index 0000000..78baef5
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-XL-CXX.cmake
@@ -0,0 +1,5 @@
+include(Platform/AIX-XL)
+__aix_compiler_xl(CXX)
+
+# -qhalt=s       = Halt on severe error messages
+string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s")
diff --git a/share/cmake-3.6/Modules/Platform/AIX-XL-Fortran.cmake b/share/cmake-3.10/Modules/Platform/AIX-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX-XL-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/AIX-XL-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/AIX-XL.cmake b/share/cmake-3.10/Modules/Platform/AIX-XL.cmake
new file mode 100644
index 0000000..b3078ff
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/AIX-XL.cmake
@@ -0,0 +1,28 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__AIX_COMPILER_XL)
+  return()
+endif()
+set(__AIX_COMPILER_XL 1)
+
+#
+# By default, runtime linking is enabled. All shared objects specified on the command line
+# will be listed, even if there are no symbols referenced, in the output file.
+string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " -Wl,-brtl")
+string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " -Wl,-brtl")
+string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,-brtl")
+
+
+macro(__aix_compiler_xl lang)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-blibpath:")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-G -Wl,-bnoipath")  # -shared
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-bexpall")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS " ")
+  set(CMAKE_SHARED_MODULE_${lang}_FLAGS  " ")
+
+  set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/AIX.cmake b/share/cmake-3.10/Modules/Platform/AIX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/AIX.cmake
rename to share/cmake-3.10/Modules/Platform/AIX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/ARTOS-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/ARTOS-GNU-C.cmake
new file mode 100644
index 0000000..fe8d782
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/ARTOS-GNU-C.cmake
@@ -0,0 +1,9 @@
+# Define ARTOS to select proper behaviour and tell preprocessor to accept C++ style comments.
+string(APPEND CMAKE_C_FLAGS_INIT " -DARTOS -Xp -+")
+# ac doesn't support -g properly and doesn't support the normal gcc optimization options. Just use the defaults set by ac.
+string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
+# Most projects expect the stdio functions to be available.
+set(CMAKE_C_STANDARD_LIBRARIES_INIT "stdio.a")
diff --git a/share/cmake-3.6/Modules/Platform/ARTOS.cmake b/share/cmake-3.10/Modules/Platform/ARTOS.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/ARTOS.cmake
rename to share/cmake-3.10/Modules/Platform/ARTOS.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Android-Clang-ASM.cmake b/share/cmake-3.10/Modules/Platform/Android-Clang-ASM.cmake
new file mode 100644
index 0000000..6448da6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Clang-ASM.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android-Clang)
+__android_compiler_clang(ASM)
diff --git a/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake b/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake
new file mode 100644
index 0000000..9e16911
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android-Clang)
+__android_compiler_clang(C)
diff --git a/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake b/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake
new file mode 100644
index 0000000..7111836
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android-Clang)
+__android_compiler_clang(CXX)
diff --git a/share/cmake-3.10/Modules/Platform/Android-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android-Clang.cmake
new file mode 100644
index 0000000..f739ab1
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Clang.cmake
@@ -0,0 +1,44 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__ANDROID_COMPILER_CLANG)
+  return()
+endif()
+set(__ANDROID_COMPILER_CLANG 1)
+
+# Support for NVIDIA Nsight Tegra Visual Studio Edition was previously
+# implemented in the CMake VS IDE generators.  Avoid interfering with
+# that functionality for now.  Later we may try to integrate this.
+if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+  macro(__android_compiler_clang lang)
+  endmacro()
+  return()
+endif()
+
+# Commonly used Android toolchain files that pre-date CMake upstream support
+# set CMAKE_SYSTEM_VERSION to 1.  Avoid interfering with them.
+if(CMAKE_SYSTEM_VERSION EQUAL 1)
+  macro(__android_compiler_clang lang)
+  endmacro()
+  return()
+endif()
+
+include(Platform/Android-Common)
+
+# The NDK toolchain configuration files at:
+#
+#   <ndk>/[build/core/]toolchains/*-clang*/setup.mk
+#
+# contain logic to set LLVM_TRIPLE for Clang-based toolchains for each target.
+# We need to produce the same target here to produce compatible binaries.
+include(Platform/Android/abi-${CMAKE_ANDROID_ARCH_ABI}-Clang)
+
+macro(__android_compiler_clang lang)
+  if(NOT "x${lang}" STREQUAL "xASM")
+    __android_compiler_common(${lang})
+  endif()
+  if(NOT CMAKE_${lang}_COMPILER_TARGET)
+    set(CMAKE_${lang}_COMPILER_TARGET "${_ANDROID_ABI_CLANG_TARGET}")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android-Common.cmake b/share/cmake-3.10/Modules/Platform/Android-Common.cmake
new file mode 100644
index 0000000..80a8f41
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Common.cmake
@@ -0,0 +1,178 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__ANDROID_COMPILER_COMMON)
+  return()
+endif()
+set(__ANDROID_COMPILER_COMMON 1)
+
+if(CMAKE_ANDROID_NDK)
+  # <ndk>/build/core/definitions.mk
+
+  set(_ANDROID_STL_TYPES
+    none
+    system
+    c++_static
+    c++_shared
+    gabi++_static
+    gabi++_shared
+    gnustl_static
+    gnustl_shared
+    stlport_static
+    stlport_shared
+    )
+
+  if(CMAKE_ANDROID_STL_TYPE)
+    list(FIND _ANDROID_STL_TYPES "${CMAKE_ANDROID_STL_TYPE}" _ANDROID_STL_TYPE_FOUND)
+    if(_ANDROID_STL_TYPE_FOUND EQUAL -1)
+      string(REPLACE ";" "\n  " _msg ";${_ANDROID_STL_TYPES}")
+      message(FATAL_ERROR
+        "The CMAKE_ANDROID_STL_TYPE '${CMAKE_ANDROID_STL_TYPE}' is not one of the allowed values:${_msg}\n"
+        )
+    endif()
+    unset(_ANDROID_STL_TYPE_FOUND)
+  else()
+    set(CMAKE_ANDROID_STL_TYPE "gnustl_static")
+  endif()
+
+  unset(_ANDROID_STL_TYPES)
+
+  # Forward Android-specific platform variables to try_compile projects.
+  list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
+    CMAKE_ANDROID_STL_TYPE
+    )
+endif()
+
+if(CMAKE_ANDROID_STL_TYPE)
+  if(CMAKE_ANDROID_NDK)
+
+    macro(__android_stl_inc lang dir req)
+      if(EXISTS "${dir}")
+        list(APPEND CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES "${dir}")
+      elseif(${req})
+        message(FATAL_ERROR
+          "Android: STL '${CMAKE_ANDROID_STL_TYPE}' include directory not found:\n"
+          "  ${dir}"
+          )
+      endif()
+    endmacro()
+
+    macro(__android_stl_lib lang lib req)
+      if(CMAKE_ANDROID_ARCH_ABI MATCHES "^armeabi" AND NOT CMAKE_ANDROID_ARM_MODE)
+        get_filename_component(_ANDROID_STL_LIBDIR "${lib}" DIRECTORY)
+        get_filename_component(_ANDROID_STL_LIBNAME "${lib}" NAME)
+        set(_ANDROID_STL_LIBTHUMB "${_ANDROID_STL_LIBDIR}/thumb/${_ANDROID_STL_LIBNAME}")
+        unset(_ANDROID_STL_LIBDIR)
+        unset(_ANDROID_STL_LIBNAME)
+      else()
+        set(_ANDROID_STL_LIBTHUMB "")
+      endif()
+
+      if(_ANDROID_STL_LIBTHUMB AND EXISTS "${_ANDROID_STL_LIBTHUMB}")
+        string(APPEND CMAKE_${lang}_STANDARD_LIBRARIES " \"${_ANDROID_STL_LIBTHUMB}\"")
+      elseif(EXISTS "${lib}")
+        string(APPEND CMAKE_${lang}_STANDARD_LIBRARIES " \"${lib}\"")
+      elseif(${req})
+        message(FATAL_ERROR
+          "Android: STL '${CMAKE_ANDROID_STL_TYPE}' library file not found:\n"
+          "  ${lib}"
+          )
+      endif()
+
+      unset(_ANDROID_STL_LIBTHUMB)
+    endmacro()
+
+    include(Platform/Android/ndk-stl-${CMAKE_ANDROID_STL_TYPE})
+  else()
+    macro(__android_stl lang)
+    endmacro()
+  endif()
+else()
+  macro(__android_stl lang)
+  endmacro()
+endif()
+
+# The NDK toolchain configuration files at:
+#
+#   <ndk>/[build/core/]toolchains/*/setup.mk
+#
+# contain logic to set TARGET_CFLAGS and TARGET_LDFLAGS (and debug/release
+# variants) to tell their build system what flags to pass for each ABI.
+# We need to produce the same flags here to produce compatible binaries.
+# We initialize these variables here and set them in the compiler-specific
+# modules that include this one.  Then we use them in the macro below when
+# it is called.
+set(_ANDROID_ABI_INIT_CFLAGS "")
+set(_ANDROID_ABI_INIT_CFLAGS_DEBUG "")
+set(_ANDROID_ABI_INIT_CFLAGS_RELEASE "")
+set(_ANDROID_ABI_INIT_LDFLAGS "")
+set(_ANDROID_ABI_INIT_EXE_LDFLAGS "")
+
+macro(__android_compiler_common lang)
+  if(_ANDROID_ABI_INIT_CFLAGS)
+    string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_ANDROID_ABI_INIT_CFLAGS}")
+  endif()
+  if(_ANDROID_ABI_INIT_CFLAGS_DEBUG)
+    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " ${_ANDROID_ABI_INIT_CFLAGS_DEBUG}")
+  endif()
+  if(_ANDROID_ABI_INIT_CFLAGS_RELEASE)
+    string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " ${_ANDROID_ABI_INIT_CFLAGS_RELEASE}")
+    string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " ${_ANDROID_ABI_INIT_CFLAGS_RELEASE}")
+    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " ${_ANDROID_ABI_INIT_CFLAGS_RELEASE}")
+  endif()
+  if(_ANDROID_ABI_INIT_LDFLAGS)
+    foreach(t EXE SHARED MODULE)
+      string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_ANDROID_ABI_INIT_LDFLAGS}")
+    endforeach()
+  endif()
+  if(_ANDROID_ABI_INIT_EXE_LDFLAGS)
+    string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${_ANDROID_ABI_INIT_EXE_LDFLAGS}")
+  endif()
+
+  if(DEFINED _ANDROID_STL_EXCEPTIONS)
+    if(_ANDROID_STL_EXCEPTIONS)
+      string(APPEND CMAKE_${lang}_FLAGS_INIT " -fexceptions")
+    else()
+      string(APPEND CMAKE_${lang}_FLAGS_INIT " -fno-exceptions")
+    endif()
+  endif()
+
+  if("x${lang}" STREQUAL "xCXX" AND DEFINED _ANDROID_STL_RTTI)
+    if(_ANDROID_STL_RTTI)
+      string(APPEND CMAKE_${lang}_FLAGS_INIT " -frtti")
+    else()
+      string(APPEND CMAKE_${lang}_FLAGS_INIT " -fno-rtti")
+    endif()
+  endif()
+
+  if("x${lang}" STREQUAL "xCXX")
+    __android_stl(CXX)
+  endif()
+
+  # <ndk>/build/core/definitions.mk appends the sysroot's include directory
+  # explicitly at the end of the command-line include path so that it
+  # precedes the toolchain's builtin include directories.  This is
+  # necessary so that Android API-version-specific headers are preferred
+  # over those in the toolchain's `include-fixed` directory (which cannot
+  # possibly match all versions).
+  #
+  # Do not do this for a standalone toolchain because it is already
+  # tied to a specific API version.
+  if(CMAKE_ANDROID_NDK)
+    if(CMAKE_SYSROOT_COMPILE)
+      set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}")
+    else()
+      set(_cmake_sysroot_compile "${CMAKE_SYSROOT}")
+    endif()
+    if(NOT CMAKE_ANDROID_NDK_DEPRECATED_HEADERS)
+      list(APPEND CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES
+        "${_cmake_sysroot_compile}/usr/include"
+        "${_cmake_sysroot_compile}/usr/include/${CMAKE_ANDROID_ARCH_HEADER_TRIPLE}"
+        )
+    else()
+      list(APPEND CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES "${_cmake_sysroot_compile}/usr/include")
+    endif()
+    unset(_cmake_sysroot_compile)
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake b/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake
new file mode 100644
index 0000000..c7d1d15
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Determine-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android/Determine-Compiler)
+__android_determine_compiler(C)
diff --git a/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake b/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake
new file mode 100644
index 0000000..3a3de88
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Determine-CXX.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android/Determine-Compiler)
+__android_determine_compiler(CXX)
diff --git a/share/cmake-3.10/Modules/Platform/Android-Determine.cmake b/share/cmake-3.10/Modules/Platform/Android-Determine.cmake
new file mode 100644
index 0000000..add1dc1
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Determine.cmake
@@ -0,0 +1,340 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# When CMAKE_SYSTEM_NAME is "Android", CMakeDetermineSystem loads this module.
+# This module detects platform-wide information about the Android target
+# in order to store it in "CMakeSystem.cmake".
+
+# Support for NVIDIA Nsight Tegra Visual Studio Edition was previously
+# implemented in the CMake VS IDE generators.  Avoid interfering with
+# that functionality for now.  Later we may try to integrate this.
+if(CMAKE_GENERATOR MATCHES "Visual Studio")
+  return()
+endif()
+
+# Commonly used Android toolchain files that pre-date CMake upstream support
+# set CMAKE_SYSTEM_VERSION to 1.  Avoid interfering with them.
+if(CMAKE_SYSTEM_VERSION EQUAL 1)
+  return()
+endif()
+
+# If the user provided CMAKE_SYSROOT for us, extract information from it.
+set(_ANDROID_SYSROOT_NDK "")
+set(_ANDROID_SYSROOT_API "")
+set(_ANDROID_SYSROOT_ARCH "")
+set(_ANDROID_SYSROOT_STANDALONE_TOOLCHAIN "")
+if(CMAKE_SYSROOT)
+  if(NOT IS_DIRECTORY "${CMAKE_SYSROOT}")
+    message(FATAL_ERROR
+      "Android: The specified CMAKE_SYSROOT:\n"
+      "  ${CMAKE_SYSROOT}\n"
+      "is not an existing directory."
+      )
+  endif()
+  if(CMAKE_SYSROOT MATCHES "^([^\\\n]*)/platforms/android-([0-9]+)/arch-([a-z0-9_]+)$")
+    set(_ANDROID_SYSROOT_NDK "${CMAKE_MATCH_1}")
+    set(_ANDROID_SYSROOT_API "${CMAKE_MATCH_2}")
+    set(_ANDROID_SYSROOT_ARCH "${CMAKE_MATCH_3}")
+  elseif(CMAKE_SYSROOT MATCHES "^([^\\\n]*)/sysroot$")
+    set(_ANDROID_SYSROOT_STANDALONE_TOOLCHAIN "${CMAKE_MATCH_1}")
+  else()
+    message(FATAL_ERROR
+      "The value of CMAKE_SYSROOT:\n"
+      "  ${CMAKE_SYSROOT}\n"
+      "does not match any of the forms:\n"
+      "  <ndk>/platforms/android-<api>/arch-<arch>\n"
+      "  <standalone-toolchain>/sysroot\n"
+      "where:\n"
+      "  <ndk>  = Android NDK directory (with forward slashes)\n"
+      "  <api>  = Android API version number (decimal digits)\n"
+      "  <arch> = Android ARCH name (lower case)\n"
+      "  <standalone-toolchain> = Path to standalone toolchain prefix\n"
+      )
+  endif()
+endif()
+
+# Find the Android NDK.
+if(CMAKE_ANDROID_NDK)
+  if(NOT IS_DIRECTORY "${CMAKE_ANDROID_NDK}")
+    message(FATAL_ERROR
+      "Android: The NDK root directory specified by CMAKE_ANDROID_NDK:\n"
+      "  ${CMAKE_ANDROID_NDK}\n"
+      "does not exist."
+      )
+  endif()
+elseif(CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+  if(NOT IS_DIRECTORY "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}")
+    message(FATAL_ERROR
+      "Android: The standalone toolchain directory specified by CMAKE_ANDROID_STANDALONE_TOOLCHAIN:\n"
+      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}\n"
+      "does not exist."
+      )
+  endif()
+  if(NOT EXISTS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h")
+    message(FATAL_ERROR
+      "Android: The standalone toolchain directory specified by CMAKE_ANDROID_STANDALONE_TOOLCHAIN:\n"
+      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}\n"
+      "does not contain a sysroot with a known layout.  The file:\n"
+      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h\n"
+      "does not exist."
+      )
+  endif()
+else()
+  if(IS_DIRECTORY "${_ANDROID_SYSROOT_NDK}")
+    set(CMAKE_ANDROID_NDK "${_ANDROID_SYSROOT_NDK}")
+  elseif(IS_DIRECTORY "${_ANDROID_SYSROOT_STANDALONE_TOOLCHAIN}")
+    set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN "${_ANDROID_SYSROOT_STANDALONE_TOOLCHAIN}")
+  elseif(IS_DIRECTORY "${ANDROID_NDK}")
+    file(TO_CMAKE_PATH "${ANDROID_NDK}" CMAKE_ANDROID_NDK)
+  elseif(IS_DIRECTORY "${ANDROID_STANDALONE_TOOLCHAIN}")
+    file(TO_CMAKE_PATH "${ANDROID_STANDALONE_TOOLCHAIN}" CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+  elseif(IS_DIRECTORY "$ENV{ANDROID_NDK_ROOT}")
+    file(TO_CMAKE_PATH "$ENV{ANDROID_NDK_ROOT}" CMAKE_ANDROID_NDK)
+  elseif(IS_DIRECTORY "$ENV{ANDROID_NDK}")
+    file(TO_CMAKE_PATH "$ENV{ANDROID_NDK}" CMAKE_ANDROID_NDK)
+  elseif(IS_DIRECTORY "$ENV{ANDROID_STANDALONE_TOOLCHAIN}")
+    file(TO_CMAKE_PATH "$ENV{ANDROID_STANDALONE_TOOLCHAIN}" CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+  endif()
+  # TODO: Search harder for the NDK or standalone toolchain.
+endif()
+
+set(_ANDROID_STANDALONE_TOOLCHAIN_API "")
+if(CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+  # Try to read the API level from the toolchain launcher.
+  if(EXISTS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang")
+    set(_ANDROID_API_LEVEL_CLANG_REGEX "__ANDROID_API__=([0-9]+)")
+    file(STRINGS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang" _ANDROID_STANDALONE_TOOLCHAIN_BIN_CLANG
+      REGEX "${_ANDROID_API_LEVEL_CLANG_REGEX}" LIMIT_COUNT 1 LIMIT_INPUT 65536)
+    if(_ANDROID_STANDALONE_TOOLCHAIN_BIN_CLANG MATCHES "${_ANDROID_API_LEVEL_CLANG_REGEX}")
+      set(_ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}")
+    endif()
+    unset(_ANDROID_STANDALONE_TOOLCHAIN_BIN_CLANG)
+    unset(_ANDROID_API_LEVEL_CLANG_REGEX)
+  endif()
+  if(NOT _ANDROID_STANDALONE_TOOLCHAIN_API)
+    # The compiler launcher does not know __ANDROID_API__.  Assume this
+    # is not unified headers and look for it in the api-level.h header.
+    set(_ANDROID_API_LEVEL_H_REGEX "^[\t ]*#[\t ]*define[\t ]+__ANDROID_API__[\t ]+([0-9]+)")
+    file(STRINGS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h"
+      _ANDROID_API_LEVEL_H_CONTENT REGEX "${_ANDROID_API_LEVEL_H_REGEX}")
+    if(_ANDROID_API_LEVEL_H_CONTENT MATCHES "${_ANDROID_API_LEVEL_H_REGEX}")
+      set(_ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}")
+    endif()
+  endif()
+  if(NOT _ANDROID_STANDALONE_TOOLCHAIN_API)
+    message(WARNING
+      "Android: Did not detect API level from\n"
+      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang\n"
+      "or\n"
+      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h\n"
+      )
+  endif()
+endif()
+
+if(NOT CMAKE_ANDROID_NDK AND NOT CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+  message(FATAL_ERROR "Android: Neither the NDK or a standalone toolchain was found.")
+endif()
+
+# Select an API.
+if(CMAKE_SYSTEM_VERSION)
+  set(_ANDROID_API_VAR CMAKE_SYSTEM_VERSION)
+elseif(CMAKE_ANDROID_API)
+  set(CMAKE_SYSTEM_VERSION "${CMAKE_ANDROID_API}")
+  set(_ANDROID_API_VAR CMAKE_ANDROID_API)
+elseif(_ANDROID_SYSROOT_API)
+  set(CMAKE_SYSTEM_VERSION "${_ANDROID_SYSROOT_API}")
+  set(_ANDROID_API_VAR CMAKE_SYSROOT)
+elseif(_ANDROID_STANDALONE_TOOLCHAIN_API)
+  set(CMAKE_SYSTEM_VERSION "${_ANDROID_STANDALONE_TOOLCHAIN_API}")
+endif()
+if(CMAKE_SYSTEM_VERSION)
+  if(CMAKE_ANDROID_API AND NOT "x${CMAKE_ANDROID_API}" STREQUAL "x${CMAKE_SYSTEM_VERSION}")
+    message(FATAL_ERROR
+      "Android: The API specified by CMAKE_ANDROID_API='${CMAKE_ANDROID_API}' is not consistent with CMAKE_SYSTEM_VERSION='${CMAKE_SYSTEM_VERSION}'."
+      )
+  endif()
+  if(_ANDROID_SYSROOT_API)
+    foreach(v CMAKE_ANDROID_API CMAKE_SYSTEM_VERSION)
+      if(${v} AND NOT "x${_ANDROID_SYSROOT_API}" STREQUAL "x${${v}}")
+        message(FATAL_ERROR
+          "Android: The API specified by ${v}='${${v}}' is not consistent with CMAKE_SYSROOT:\n"
+          "  ${CMAKE_SYSROOT}"
+          )
+      endif()
+    endforeach()
+  endif()
+  if(CMAKE_ANDROID_NDK AND NOT IS_DIRECTORY "${CMAKE_ANDROID_NDK}/platforms/android-${CMAKE_SYSTEM_VERSION}")
+    message(FATAL_ERROR
+      "Android: The API specified by ${_ANDROID_API_VAR}='${${_ANDROID_API_VAR}}' does not exist in the NDK.  "
+      "The directory:\n"
+      "  ${CMAKE_ANDROID_NDK}/platforms/android-${CMAKE_SYSTEM_VERSION}\n"
+      "does not exist."
+      )
+  endif()
+elseif(CMAKE_ANDROID_NDK)
+  file(GLOB _ANDROID_APIS_1 RELATIVE "${CMAKE_ANDROID_NDK}/platforms" "${CMAKE_ANDROID_NDK}/platforms/android-[0-9]")
+  file(GLOB _ANDROID_APIS_2 RELATIVE "${CMAKE_ANDROID_NDK}/platforms" "${CMAKE_ANDROID_NDK}/platforms/android-[0-9][0-9]")
+  list(SORT _ANDROID_APIS_1)
+  list(SORT _ANDROID_APIS_2)
+  set(_ANDROID_APIS ${_ANDROID_APIS_1} ${_ANDROID_APIS_2})
+  unset(_ANDROID_APIS_1)
+  unset(_ANDROID_APIS_2)
+  if(_ANDROID_APIS STREQUAL "")
+    message(FATAL_ERROR
+      "Android: No APIs found in the NDK.  No\n"
+      "  ${CMAKE_ANDROID_NDK}/platforms/android-*\n"
+      "directories exist."
+      )
+  endif()
+  string(REPLACE "android-" "" _ANDROID_APIS "${_ANDROID_APIS}")
+  list(REVERSE _ANDROID_APIS)
+  list(GET _ANDROID_APIS 0 CMAKE_SYSTEM_VERSION)
+  unset(_ANDROID_APIS)
+endif()
+if(NOT CMAKE_SYSTEM_VERSION MATCHES "^[0-9]+$")
+  message(FATAL_ERROR "Android: The API specified by CMAKE_SYSTEM_VERSION='${CMAKE_SYSTEM_VERSION}' is not an integer.")
+endif()
+
+# https://developer.android.com/ndk/guides/abis.html
+
+set(_ANDROID_ABI_arm64-v8a_PROC     "aarch64")
+set(_ANDROID_ABI_arm64-v8a_ARCH     "arm64")
+set(_ANDROID_ABI_arm64-v8a_HEADER   "aarch64-linux-android")
+set(_ANDROID_ABI_armeabi-v7a_PROC   "armv7-a")
+set(_ANDROID_ABI_armeabi-v7a_ARCH   "arm")
+set(_ANDROID_ABI_armeabi-v7a_HEADER "arm-linux-androideabi")
+set(_ANDROID_ABI_armeabi-v6_PROC    "armv6")
+set(_ANDROID_ABI_armeabi-v6_ARCH    "arm")
+set(_ANDROID_ABI_armeabi-v6_HEADER  "arm-linux-androideabi")
+set(_ANDROID_ABI_armeabi_PROC       "armv5te")
+set(_ANDROID_ABI_armeabi_ARCH       "arm")
+set(_ANDROID_ABI_armeabi_HEADER     "arm-linux-androideabi")
+set(_ANDROID_ABI_mips_PROC          "mips")
+set(_ANDROID_ABI_mips_ARCH          "mips")
+set(_ANDROID_ABI_mips_HEADER        "mipsel-linux-android")
+set(_ANDROID_ABI_mips64_PROC        "mips64")
+set(_ANDROID_ABI_mips64_ARCH        "mips64")
+set(_ANDROID_ABI_mips64_HEADER      "mips64el-linux-android")
+set(_ANDROID_ABI_x86_PROC           "i686")
+set(_ANDROID_ABI_x86_ARCH           "x86")
+set(_ANDROID_ABI_x86_HEADER         "i686-linux-android")
+set(_ANDROID_ABI_x86_64_PROC        "x86_64")
+set(_ANDROID_ABI_x86_64_ARCH        "x86_64")
+set(_ANDROID_ABI_x86_64_HEADER      "x86_64-linux-android")
+
+set(_ANDROID_PROC_aarch64_ARCH_ABI "arm64-v8a")
+set(_ANDROID_PROC_armv7-a_ARCH_ABI "armeabi-v7a")
+set(_ANDROID_PROC_armv6_ARCH_ABI   "armeabi-v6")
+set(_ANDROID_PROC_armv5te_ARCH_ABI "armeabi")
+set(_ANDROID_PROC_i686_ARCH_ABI    "x86")
+set(_ANDROID_PROC_mips_ARCH_ABI    "mips")
+set(_ANDROID_PROC_mips64_ARCH_ABI  "mips64")
+set(_ANDROID_PROC_x86_64_ARCH_ABI  "x86_64")
+
+set(_ANDROID_ARCH_arm64_ABI  "arm64-v8a")
+set(_ANDROID_ARCH_arm_ABI    "armeabi")
+set(_ANDROID_ARCH_mips_ABI   "mips")
+set(_ANDROID_ARCH_mips64_ABI "mips64")
+set(_ANDROID_ARCH_x86_ABI    "x86")
+set(_ANDROID_ARCH_x86_64_ABI "x86_64")
+
+# Validate inputs.
+if(CMAKE_ANDROID_ARCH_ABI AND NOT DEFINED "_ANDROID_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC")
+  message(FATAL_ERROR "Android: Unknown ABI CMAKE_ANDROID_ARCH_ABI='${CMAKE_ANDROID_ARCH_ABI}'.")
+endif()
+if(CMAKE_SYSTEM_PROCESSOR AND NOT DEFINED "_ANDROID_PROC_${CMAKE_SYSTEM_PROCESSOR}_ARCH_ABI")
+  message(FATAL_ERROR "Android: Unknown processor CMAKE_SYSTEM_PROCESSOR='${CMAKE_SYSTEM_PROCESSOR}'.")
+endif()
+if(_ANDROID_SYSROOT_ARCH AND NOT DEFINED "_ANDROID_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI")
+  message(FATAL_ERROR
+    "Android: Unknown architecture '${_ANDROID_SYSROOT_ARCH}' specified in CMAKE_SYSROOT:\n"
+    "  ${CMAKE_SYSROOT}"
+    )
+endif()
+
+# Select an ABI.
+if(NOT CMAKE_ANDROID_ARCH_ABI)
+  if(CMAKE_SYSTEM_PROCESSOR)
+    set(CMAKE_ANDROID_ARCH_ABI "${_ANDROID_PROC_${CMAKE_SYSTEM_PROCESSOR}_ARCH_ABI}")
+  elseif(_ANDROID_SYSROOT_ARCH)
+    set(CMAKE_ANDROID_ARCH_ABI "${_ANDROID_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI}")
+  else()
+    # https://developer.android.com/ndk/guides/application_mk.html
+    # Default is the oldest ARM ABI.
+    set(CMAKE_ANDROID_ARCH_ABI "armeabi")
+  endif()
+endif()
+set(CMAKE_ANDROID_ARCH "${_ANDROID_ABI_${CMAKE_ANDROID_ARCH_ABI}_ARCH}")
+if(_ANDROID_SYSROOT_ARCH AND NOT "x${_ANDROID_SYSROOT_ARCH}" STREQUAL "x${CMAKE_ANDROID_ARCH}")
+  message(FATAL_ERROR
+    "Android: Architecture '${_ANDROID_SYSROOT_ARCH}' specified in CMAKE_SYSROOT:\n"
+    "  ${CMAKE_SYSROOT}\n"
+    "does not match architecture '${CMAKE_ANDROID_ARCH}' for the ABI '${CMAKE_ANDROID_ARCH_ABI}'."
+    )
+endif()
+set(CMAKE_ANDROID_ARCH_HEADER_TRIPLE "${_ANDROID_ABI_${CMAKE_ANDROID_ARCH_ABI}_HEADER}")
+
+# Select a processor.
+if(NOT CMAKE_SYSTEM_PROCESSOR)
+  set(CMAKE_SYSTEM_PROCESSOR "${_ANDROID_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC}")
+endif()
+
+# If the user specified both an ABI and a processor then they might not match.
+if(NOT _ANDROID_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC STREQUAL CMAKE_SYSTEM_PROCESSOR)
+  message(FATAL_ERROR "Android: The specified CMAKE_ANDROID_ARCH_ABI='${CMAKE_ANDROID_ARCH_ABI}' and CMAKE_SYSTEM_PROCESSOR='${CMAKE_SYSTEM_PROCESSOR}' is not a valid combination.")
+endif()
+
+if(CMAKE_ANDROID_NDK AND NOT DEFINED CMAKE_ANDROID_NDK_DEPRECATED_HEADERS)
+  if(IS_DIRECTORY "${CMAKE_ANDROID_NDK}/sysroot/usr/include/${CMAKE_ANDROID_ARCH_HEADER_TRIPLE}")
+    # Unified headers exist so we use them by default.
+    set(CMAKE_ANDROID_NDK_DEPRECATED_HEADERS 0)
+  else()
+    # Unified headers do not exist so use the deprecated headers.
+    set(CMAKE_ANDROID_NDK_DEPRECATED_HEADERS 1)
+  endif()
+endif()
+
+# Save the Android-specific information in CMakeSystem.cmake.
+set(CMAKE_SYSTEM_CUSTOM_CODE "
+set(CMAKE_ANDROID_NDK \"${CMAKE_ANDROID_NDK}\")
+set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN \"${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}\")
+set(CMAKE_ANDROID_ARCH \"${CMAKE_ANDROID_ARCH}\")
+set(CMAKE_ANDROID_ARCH_ABI \"${CMAKE_ANDROID_ARCH_ABI}\")
+")
+
+if(CMAKE_ANDROID_NDK)
+  string(APPEND CMAKE_SYSTEM_CUSTOM_CODE
+    "set(CMAKE_ANDROID_ARCH_HEADER_TRIPLE \"${CMAKE_ANDROID_ARCH_HEADER_TRIPLE}\")\n"
+    "set(CMAKE_ANDROID_NDK_DEPRECATED_HEADERS \"${CMAKE_ANDROID_NDK_DEPRECATED_HEADERS}\")\n"
+    )
+endif()
+
+# Select an ARM variant.
+if(CMAKE_ANDROID_ARCH_ABI MATCHES "^armeabi")
+  if(CMAKE_ANDROID_ARM_MODE)
+    set(CMAKE_ANDROID_ARM_MODE 1)
+  else()
+    set(CMAKE_ANDROID_ARM_MODE 0)
+  endif()
+  string(APPEND CMAKE_SYSTEM_CUSTOM_CODE
+    "set(CMAKE_ANDROID_ARM_MODE \"${CMAKE_ANDROID_ARM_MODE}\")\n"
+    )
+elseif(DEFINED CMAKE_ANDROID_ARM_MODE)
+  message(FATAL_ERROR "Android: CMAKE_ANDROID_ARM_MODE is set but is valid only for 'armeabi' architectures.")
+endif()
+
+if(CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a")
+  if(CMAKE_ANDROID_ARM_NEON)
+    set(CMAKE_ANDROID_ARM_NEON 1)
+  else()
+    set(CMAKE_ANDROID_ARM_NEON 0)
+  endif()
+  string(APPEND CMAKE_SYSTEM_CUSTOM_CODE
+    "set(CMAKE_ANDROID_ARM_NEON \"${CMAKE_ANDROID_ARM_NEON}\")\n"
+    )
+elseif(DEFINED CMAKE_ANDROID_ARM_NEON)
+  message(FATAL_ERROR "Android: CMAKE_ANDROID_ARM_NEON is set but is valid only for 'armeabi-v7a' architecture.")
+endif()
+
+# Report the chosen architecture.
+message(STATUS "Android: Targeting API '${CMAKE_SYSTEM_VERSION}' with architecture '${CMAKE_ANDROID_ARCH}', ABI '${CMAKE_ANDROID_ARCH_ABI}', and processor '${CMAKE_SYSTEM_PROCESSOR}'")
diff --git a/share/cmake-3.10/Modules/Platform/Android-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/Android-GNU-C.cmake
new file mode 100644
index 0000000..78a6a50
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-GNU-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android-GNU)
+__android_compiler_gnu(C)
diff --git a/share/cmake-3.10/Modules/Platform/Android-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/Android-GNU-CXX.cmake
new file mode 100644
index 0000000..41279d1
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-GNU-CXX.cmake
@@ -0,0 +1,2 @@
+include(Platform/Android-GNU)
+__android_compiler_gnu(CXX)
diff --git a/share/cmake-3.10/Modules/Platform/Android-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android-GNU.cmake
new file mode 100644
index 0000000..e1f79ca
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-GNU.cmake
@@ -0,0 +1,33 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__ANDROID_COMPILER_GNU)
+  return()
+endif()
+set(__ANDROID_COMPILER_GNU 1)
+
+# Support for NVIDIA Nsight Tegra Visual Studio Edition was previously
+# implemented in the CMake VS IDE generators.  Avoid interfering with
+# that functionality for now.  Later we may try to integrate this.
+if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+  macro(__android_compiler_gnu lang)
+  endmacro()
+  return()
+endif()
+
+# Commonly used Android toolchain files that pre-date CMake upstream support
+# set CMAKE_SYSTEM_VERSION to 1.  Avoid interfering with them.
+if(CMAKE_SYSTEM_VERSION EQUAL 1)
+  macro(__android_compiler_gnu lang)
+  endmacro()
+  return()
+endif()
+
+include(Platform/Android-Common)
+
+include(Platform/Android/abi-${CMAKE_ANDROID_ARCH_ABI}-GNU)
+
+macro(__android_compiler_gnu lang)
+  __android_compiler_common(${lang})
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake b/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake
new file mode 100644
index 0000000..a434f90
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake
@@ -0,0 +1,44 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# When CMAKE_SYSTEM_NAME is "Android", CMakeSystemSpecificInitialize loads this
+# module.
+
+# Support for NVIDIA Nsight Tegra Visual Studio Edition was previously
+# implemented in the CMake VS IDE generators.  Avoid interfering with
+# that functionality for now.  Later we may try to integrate this.
+if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+  return()
+endif()
+
+# Commonly used Android toolchain files that pre-date CMake upstream support
+# set CMAKE_SYSTEM_VERSION to 1.  Avoid interfering with them.
+if(CMAKE_SYSTEM_VERSION EQUAL 1)
+  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}")
+    if(NOT CMAKE_ANDROID_NDK_DEPRECATED_HEADERS)
+      set(CMAKE_SYSROOT_COMPILE "${CMAKE_ANDROID_NDK}/sysroot")
+    endif()
+  elseif(CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+    set(CMAKE_SYSROOT "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot")
+  endif()
+endif()
+
+if(CMAKE_SYSROOT)
+  if(NOT IS_DIRECTORY "${CMAKE_SYSROOT}")
+    message(FATAL_ERROR
+      "Android: The system root directory needed for the selected Android version and architecture does not exist:\n"
+      "  ${CMAKE_SYSROOT}\n"
+      )
+  endif()
+else()
+  message(FATAL_ERROR
+    "Android: No CMAKE_SYSROOT was selected."
+    )
+endif()
+
+set(CMAKE_BUILD_TYPE_INIT Debug)
diff --git a/share/cmake-3.10/Modules/Platform/Android.cmake b/share/cmake-3.10/Modules/Platform/Android.cmake
new file mode 100644
index 0000000..3d69733
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android.cmake
@@ -0,0 +1,17 @@
+include(Platform/Linux)
+
+set(ANDROID 1)
+
+# Android has soname, but binary names must end in ".so" so we cannot append
+# a version number.  Also we cannot portably represent symlinks on the host.
+set(CMAKE_PLATFORM_NO_VERSIONED_SONAME 1)
+
+# Android reportedly ignores RPATH, and we cannot predict the install
+# location anyway.
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
+
+# Nsight Tegra Visual Studio Edition takes care of
+# prefixing library names with '-l'.
+if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+  set(CMAKE_LINK_LIBRARY_FLAG "")
+endif()
diff --git a/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler-NDK.cmake b/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler-NDK.cmake
new file mode 100644
index 0000000..0649925
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler-NDK.cmake
@@ -0,0 +1,259 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# In Android NDK releases there is build system toolchain selection logic in
+# these files:
+#
+# * <ndk>/build/core/init.mk
+# * <ndk>/build/core/setup-toolchain.mk
+# * <ndk>/[build/core/]toolchains/<toolchain>/{config.mk,setup.mk}
+#
+# We parse information out of the ``config.mk`` and ``setup.mk`` files below.
+#
+# There is also a "toolchains" directory with the prebuilt toolchains themselves:
+#
+# * <triple-or-arch>-<gcc-version>/prebuilt/<host>/bin/<triple>-gcc(.exe)?
+#   The gcc compiler to be invoked.
+#
+# * llvm*/prebuilt/<host>/bin/clang
+#   The clang compiler to be invoked with flags:
+#     -target <triple>
+#     -gcc-toolchain <ndk>/toolchains/<triple-or-arch>-<gcc-version>
+
+# Glob available toolchains in the NDK, restricted by any version request.
+if(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION STREQUAL "clang")
+  set(_ANDROID_TOOL_PATTERNS "*-clang" "*-clang[0-9].[0-9]")
+elseif(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION)
+  if(NOT CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION MATCHES "^(clang)?[0-9]\\.[0-9]$")
+    message(FATAL_ERROR
+      "Android: The CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION value '${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}' "
+      "is not one of the allowed forms:\n"
+      "  <major>.<minor>       = GCC of specified version\n"
+      "  clang<major>.<minor>  = Clang of specified version\n"
+      "  clang                 = Clang of most recent available version\n"
+      )
+  endif()
+  set(_ANDROID_TOOL_PATTERNS "*-${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}")
+else()
+  set(_ANDROID_TOOL_PATTERNS "*-[0-9].[0-9]")
+endif()
+set(_ANDROID_CONFIG_MK_PATTERNS)
+foreach(base "build/core/toolchains" "toolchains")
+  foreach(pattern IN LISTS _ANDROID_TOOL_PATTERNS)
+    list(APPEND _ANDROID_CONFIG_MK_PATTERNS
+      "${CMAKE_ANDROID_NDK}/${base}/${pattern}/config.mk"
+      )
+  endforeach()
+endforeach()
+unset(_ANDROID_TOOL_PATTERNS)
+file(GLOB _ANDROID_CONFIG_MKS ${_ANDROID_CONFIG_MK_PATTERNS})
+unset(_ANDROID_CONFIG_MK_PATTERNS)
+
+# Find the newest toolchain version matching the ABI.
+set(_ANDROID_TOOL_NAME "")
+set(_ANDROID_TOOL_VERS 0)
+set(_ANDROID_TOOL_VERS_NDK "")
+set(_ANDROID_TOOL_SETUP_MK "")
+foreach(config_mk IN LISTS _ANDROID_CONFIG_MKS)
+  # Check that the toolchain matches the ABI.
+  file(STRINGS "${config_mk}" _ANDROID_TOOL_ABIS REGEX "^TOOLCHAIN_ABIS :=.* ${CMAKE_ANDROID_ARCH_ABI}( |$)")
+  if(NOT _ANDROID_TOOL_ABIS)
+    continue()
+  endif()
+  unset(_ANDROID_TOOL_ABIS)
+
+  # Check the version.
+  if("${config_mk}" MATCHES [[/([^/]+-((clang)?([0-9]\.[0-9]|)))/config.mk$]])
+    set(_ANDROID_CUR_NAME "${CMAKE_MATCH_1}")
+    set(_ANDROID_CUR_VERS "${CMAKE_MATCH_4}")
+    set(_ANDROID_CUR_VERS_NDK "${CMAKE_MATCH_2}")
+    if(_ANDROID_TOOL_VERS STREQUAL "")
+      # already the latest possible
+    elseif(_ANDROID_CUR_VERS STREQUAL "" OR _ANDROID_CUR_VERS VERSION_GREATER _ANDROID_TOOL_VERS)
+      set(_ANDROID_TOOL_NAME "${_ANDROID_CUR_NAME}")
+      set(_ANDROID_TOOL_VERS "${_ANDROID_CUR_VERS}")
+      set(_ANDROID_TOOL_VERS_NDK "${_ANDROID_CUR_VERS_NDK}")
+      string(REPLACE "/config.mk" "/setup.mk" _ANDROID_TOOL_SETUP_MK "${config_mk}")
+    endif()
+    unset(_ANDROID_CUR_TOOL)
+    unset(_ANDROID_CUR_VERS)
+    unset(_ANDROID_CUR_VERS_NDK)
+  endif()
+endforeach()
+
+# Verify that we have a suitable toolchain.
+if(NOT _ANDROID_TOOL_NAME)
+  if(_ANDROID_CONFIG_MKS)
+    string(REPLACE ";" "\n  " _ANDROID_TOOLS_MSG "after considering:;${_ANDROID_CONFIG_MKS}")
+  else()
+    set(_ANDROID_TOOLS_MSG "")
+  endif()
+  if(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION)
+    string(CONCAT _ANDROID_TOOLS_MSG
+      "of the version specified by CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION:\n"
+      "  ${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}\n"
+      "${_ANDROID_TOOLS_MSG}")
+  endif()
+  message(FATAL_ERROR
+    "Android: No toolchain for ABI '${CMAKE_ANDROID_ARCH_ABI}' found in the NDK:\n"
+    "  ${CMAKE_ANDROID_NDK}\n"
+    "${_ANDROID_TOOLS_MSG}"
+    )
+endif()
+unset(_ANDROID_CONFIG_MKS)
+
+# For clang toolchains we still need to find a gcc toolchain.
+if(_ANDROID_TOOL_NAME MATCHES "-clang")
+  set(_ANDROID_TOOL_CLANG_NAME "${_ANDROID_TOOL_NAME}")
+  set(_ANDROID_TOOL_CLANG_VERS "${_ANDROID_TOOL_VERS}")
+  set(_ANDROID_TOOL_NAME "")
+  set(_ANDROID_TOOL_VERS "")
+else()
+  set(_ANDROID_TOOL_CLANG_NAME "")
+  set(_ANDROID_TOOL_CLANG_VERS "")
+endif()
+
+# Parse the toolchain setup.mk file to extract information we need.
+# Their content is not standardized across toolchains or NDK versions,
+# so we match known cases.  Note that the parsing is stateful across
+# lines because we need to substitute for some Make variable references.
+if(CMAKE_ANDROID_NDK_TOOLCHAIN_DEBUG)
+  message(STATUS "loading: ${_ANDROID_TOOL_SETUP_MK}")
+endif()
+file(STRINGS "${_ANDROID_TOOL_SETUP_MK}" _ANDROID_TOOL_SETUP REGEX "^(LLVM|TOOLCHAIN)_[A-Z_]+ +:= +.*$")
+unset(_ANDROID_TOOL_SETUP_MK)
+set(_ANDROID_TOOL_PREFIX "")
+set(_ANDROID_TOOL_NAME_ONLY "")
+set(_ANDROID_TOOL_LLVM_NAME "llvm")
+set(_ANDROID_TOOL_LLVM_VERS "")
+foreach(line IN LISTS _ANDROID_TOOL_SETUP)
+  if(CMAKE_ANDROID_NDK_TOOLCHAIN_DEBUG)
+    message(STATUS "setup.mk: ${line}")
+  endif()
+
+  if(line MATCHES [[^TOOLCHAIN_PREFIX +:= +.*/bin/([^$/ ]*) *$]])
+    # We just matched the toolchain prefix with no Make variable references.
+    set(_ANDROID_TOOL_PREFIX "${CMAKE_MATCH_1}")
+  elseif(_ANDROID_TOOL_CLANG_NAME)
+    # For clang toolchains we need to find more information.
+    if(line MATCHES [[^TOOLCHAIN_VERSION +:= +([0-9.]+) *$]])
+      # We just matched the gcc toolchain version number.  Save it for later.
+      set(_ANDROID_TOOL_VERS "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^TOOLCHAIN_NAME +:= +(.*\$\(TOOLCHAIN_VERSION\)) *$]])
+      # We just matched the gcc toolchain name with a version number placeholder, so substitute it.
+      # The gcc toolchain version number will have already been extracted from a TOOLCHAIN_VERSION line.
+      string(REPLACE "$(TOOLCHAIN_VERSION)" "${_ANDROID_TOOL_VERS}" _ANDROID_TOOL_NAME "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^TOOLCHAIN_NAME +:= +([^$/ ]+) *$]])
+      # We just matched the gcc toolchain name without version number.  Save it for later.
+      set(_ANDROID_TOOL_NAME_ONLY "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^TOOLCHAIN_PREFIX +:= +.*/bin/(\$\(TOOLCHAIN_NAME\)-) *$]])
+      # We just matched the toolchain prefix with a name placholder, so substitute it.
+      # The gcc toolchain name will have already been extracted without version number from a TOOLCHAIN_NAME line.
+      string(REPLACE "$(TOOLCHAIN_NAME)" "${_ANDROID_TOOL_NAME_ONLY}" _ANDROID_TOOL_PREFIX "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^LLVM_VERSION +:= +([0-9.]+)$]])
+      # We just matched the llvm prebuilt binary toolchain version number.  Save it for later.
+      set(_ANDROID_TOOL_LLVM_VERS "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^LLVM_NAME +:= +(llvm-\$\(LLVM_VERSION\)) *$]])
+      # We just matched the llvm prebuilt binary toolchain directory name with a version number placeholder,
+      # so substitute it. The llvm prebuilt binary toolchain version number will have already been extracted
+      # from a LLVM_VERSION line.
+      string(REPLACE "$(LLVM_VERSION)" "${_ANDROID_TOOL_LLVM_VERS}" _ANDROID_TOOL_LLVM_NAME "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^LLVM_TOOLCHAIN_PREBUILT_ROOT +:= +\$\(call get-toolchain-root.*,([^$ ]+)\) *$]])
+      # We just matched the llvm prebuilt binary toolchain directory name.
+      set(_ANDROID_TOOL_LLVM_NAME "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^TOOLCHAIN_ROOT +:= +\$\(call get-toolchain-root.*,(\$\(TOOLCHAIN_NAME\)-[0-9.]+)\) *$]])
+      # We just matched a placeholder for the name followed by a version number.
+      # The gcc toolchain name will have already been extracted without version number from a TOOLCHAIN_NAME line.
+      # Substitute for the placeholder to get the full gcc toolchain name.
+      string(REPLACE "$(TOOLCHAIN_NAME)" "${_ANDROID_TOOL_NAME_ONLY}" _ANDROID_TOOL_NAME "${CMAKE_MATCH_1}")
+    elseif(line MATCHES [[^TOOLCHAIN_ROOT +:= +\$\(call get-toolchain-root.*,([^$ ]+)\) *$]])
+      # We just matched the full gcc toolchain name without placeholder.
+      set(_ANDROID_TOOL_NAME "${CMAKE_MATCH_1}")
+    endif()
+  endif()
+endforeach()
+unset(_ANDROID_TOOL_NAME_ONLY)
+unset(_ANDROID_TOOL_LLVM_VERS)
+unset(_ANDROID_TOOL_SETUP)
+
+# Fall back to parsing the version and prefix from the tool name.
+if(NOT _ANDROID_TOOL_VERS AND "${_ANDROID_TOOL_NAME}" MATCHES "-([0-9.]+)$")
+  set(_ANDROID_TOOL_VERS "${CMAKE_MATCH_1}")
+endif()
+if(NOT _ANDROID_TOOL_PREFIX AND "${_ANDROID_TOOL_NAME}" MATCHES "^(.*-)[0-9.]+$")
+  set(_ANDROID_TOOL_PREFIX "${CMAKE_MATCH_1}")
+endif()
+
+# Identify the host platform.
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+  if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
+    set(_ANDROID_HOST_DIR "darwin-x86_64")
+  else()
+    set(_ANDROID_HOST_DIR "darwin-x86")
+  endif()
+elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
+  if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
+    set(_ANDROID_HOST_DIR "linux-x86_64")
+  else()
+    set(_ANDROID_HOST_DIR "linux-x86")
+  endif()
+elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+  if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "AMD64")
+    set(_ANDROID_HOST_DIR "windows-x86_64")
+  else()
+    set(_ANDROID_HOST_DIR "windows")
+  endif()
+else()
+  message(FATAL_ERROR "Android: Builds hosted on '${CMAKE_HOST_SYSTEM_NAME}' not supported.")
+endif()
+
+# Help CMakeFindBinUtils locate things.
+set(_CMAKE_TOOLCHAIN_PREFIX "${_ANDROID_TOOL_PREFIX}")
+
+set(_ANDROID_TOOL_NDK_TOOLCHAIN_HOST_TAG "${_ANDROID_HOST_DIR}")
+set(_ANDROID_TOOL_NDK_TOOLCHAIN_VERSION "${_ANDROID_TOOL_VERS_NDK}")
+
+# _ANDROID_TOOL_PREFIX should now match `gcc -dumpmachine`.
+string(REGEX REPLACE "-$" "" _ANDROID_TOOL_C_TOOLCHAIN_MACHINE "${_ANDROID_TOOL_PREFIX}")
+
+set(_ANDROID_TOOL_C_TOOLCHAIN_VERSION "${_ANDROID_TOOL_VERS}")
+set(_ANDROID_TOOL_C_TOOLCHAIN_PREFIX "${CMAKE_ANDROID_NDK}/toolchains/${_ANDROID_TOOL_NAME}/prebuilt/${_ANDROID_HOST_DIR}/bin/${_ANDROID_TOOL_PREFIX}")
+set(_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX "${_ANDROID_HOST_EXT}")
+
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_MACHINE "${_ANDROID_TOOL_C_TOOLCHAIN_MACHINE}")
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_VERSION "${_ANDROID_TOOL_C_TOOLCHAIN_VERSION}")
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX "${_ANDROID_TOOL_C_TOOLCHAIN_PREFIX}")
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX "${_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX}")
+
+if(_ANDROID_TOOL_CLANG_NAME)
+  message(STATUS "Android: Selected Clang toolchain '${_ANDROID_TOOL_CLANG_NAME}' with GCC toolchain '${_ANDROID_TOOL_NAME}'")
+  set(_ANDROID_TOOL_C_COMPILER "${CMAKE_ANDROID_NDK}/toolchains/${_ANDROID_TOOL_LLVM_NAME}/prebuilt/${_ANDROID_HOST_DIR}/bin/clang${_ANDROID_HOST_EXT}")
+  set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN ${CMAKE_ANDROID_NDK}/toolchains/${_ANDROID_TOOL_NAME}/prebuilt/${_ANDROID_HOST_DIR})
+  set(_ANDROID_TOOL_CXX_COMPILER "${CMAKE_ANDROID_NDK}/toolchains/${_ANDROID_TOOL_LLVM_NAME}/prebuilt/${_ANDROID_HOST_DIR}/bin/clang++${_ANDROID_HOST_EXT}")
+  set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN}")
+else()
+  message(STATUS "Android: Selected GCC toolchain '${_ANDROID_TOOL_NAME}'")
+  set(_ANDROID_TOOL_C_COMPILER "${_ANDROID_TOOL_C_TOOLCHAIN_PREFIX}gcc${_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX}")
+  set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN "")
+  set(_ANDROID_TOOL_CXX_COMPILER "${_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX}g++${_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX}")
+  set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "")
+endif()
+
+if(CMAKE_ANDROID_NDK_TOOLCHAIN_DEBUG)
+  message(STATUS "_ANDROID_TOOL_NAME=${_ANDROID_TOOL_NAME}")
+  message(STATUS "_ANDROID_TOOL_VERS=${_ANDROID_TOOL_VERS}")
+  message(STATUS "_ANDROID_TOOL_VERS_NDK=${_ANDROID_TOOL_VERS_NDK}")
+  message(STATUS "_ANDROID_TOOL_PREFIX=${_ANDROID_TOOL_PREFIX}")
+  message(STATUS "_ANDROID_TOOL_CLANG_NAME=${_ANDROID_TOOL_CLANG_NAME}")
+  message(STATUS "_ANDROID_TOOL_CLANG_VERS=${_ANDROID_TOOL_CLANG_VERS}")
+  message(STATUS "_ANDROID_TOOL_LLVM_NAME=${_ANDROID_TOOL_LLVM_NAME}")
+endif()
+
+unset(_ANDROID_TOOL_NAME)
+unset(_ANDROID_TOOL_VERS)
+unset(_ANDROID_TOOL_VERS_NDK)
+unset(_ANDROID_TOOL_PREFIX)
+unset(_ANDROID_TOOL_CLANG_NAME)
+unset(_ANDROID_TOOL_CLANG_VERS)
+unset(_ANDROID_TOOL_LLVM_NAME)
+unset(_ANDROID_HOST_DIR)
diff --git a/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler-Standalone.cmake b/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler-Standalone.cmake
new file mode 100644
index 0000000..4c1ac1f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler-Standalone.cmake
@@ -0,0 +1,66 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+set(_ANDROID_TOOL_C_COMPILER "")
+set(_ANDROID_TOOL_CXX_COMPILER "")
+set(_ANDROID_TOOL_PREFIX "")
+file(GLOB _gcc "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/*-gcc${_ANDROID_HOST_EXT}")
+foreach(gcc IN LISTS _gcc)
+  if("${gcc}" MATCHES "/bin/([^/]*)gcc${_ANDROID_HOST_EXT}$")
+    set(_ANDROID_TOOL_PREFIX "${CMAKE_MATCH_1}")
+    break()
+  endif()
+endforeach()
+
+if(NOT _ANDROID_TOOL_PREFIX)
+  message(FATAL_ERROR
+    "Android: No '*-gcc' compiler found in CMAKE_ANDROID_STANDALONE_TOOLCHAIN:\n"
+    "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}"
+    )
+endif()
+
+# Help CMakeFindBinUtils locate things.
+set(_CMAKE_TOOLCHAIN_PREFIX "${_ANDROID_TOOL_PREFIX}")
+
+# _ANDROID_TOOL_PREFIX should now match `gcc -dumpmachine`.
+string(REGEX REPLACE "-$" "" _ANDROID_TOOL_C_TOOLCHAIN_MACHINE "${_ANDROID_TOOL_PREFIX}")
+
+execute_process(
+  COMMAND "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/${_ANDROID_TOOL_PREFIX}gcc${_ANDROID_HOST_EXT}" -dumpversion
+  OUTPUT_VARIABLE _gcc_version
+  ERROR_VARIABLE _gcc_error
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+if(_gcc_version MATCHES "^([0-9]+\\.[0-9]+)")
+  set(_ANDROID_TOOL_C_TOOLCHAIN_VERSION "${CMAKE_MATCH_1}")
+else()
+  message(FATAL_ERROR
+    "Android: Failed to extract the standalone toolchain version.  The command:\n"
+    "  '${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/${_ANDROID_TOOL_PREFIX}gcc${_ANDROID_HOST_EXT}' '-dumpversion'\n"
+    "produced output:\n"
+    "  ${_gcc_version}\n"
+    )
+endif()
+
+set(_ANDROID_TOOL_C_TOOLCHAIN_PREFIX "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/${_ANDROID_TOOL_PREFIX}")
+set(_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX "${_ANDROID_HOST_EXT}")
+
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_MACHINE "${_ANDROID_TOOL_C_TOOLCHAIN_MACHINE}")
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_VERSION "${_ANDROID_TOOL_C_TOOLCHAIN_VERSION}")
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX "${_ANDROID_TOOL_C_TOOLCHAIN_PREFIX}")
+set(_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX "${_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX}")
+
+if(EXISTS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang${_ANDROID_HOST_EXT}")
+  set(_ANDROID_TOOL_C_COMPILER "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang${_ANDROID_HOST_EXT}")
+  set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}")
+  set(_ANDROID_TOOL_CXX_COMPILER "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang++${_ANDROID_HOST_EXT}")
+  set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}")
+else()
+  set(_ANDROID_TOOL_C_COMPILER "${_ANDROID_TOOL_C_TOOLCHAIN_PREFIX}gcc${_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX}")
+  set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN "")
+  set(_ANDROID_TOOL_CXX_COMPILER "${_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX}g++${_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX}")
+  set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "")
+endif()
+
+set(_ANDROID_TOOL_NDK_TOOLCHAIN_HOST_TAG "")
+set(_ANDROID_TOOL_NDK_TOOLCHAIN_VERSION "")
diff --git a/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake b/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake
new file mode 100644
index 0000000..a03ebcc
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/Determine-Compiler.cmake
@@ -0,0 +1,77 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__ANDROID_DETERMINE_COMPILER)
+  return()
+endif()
+set(__ANDROID_DETERMINE_COMPILER 1)
+
+# Support for NVIDIA Nsight Tegra Visual Studio Edition was previously
+# implemented in the CMake VS IDE generators.  Avoid interfering with
+# that functionality for now.  Later we may try to integrate this.
+if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
+  macro(__android_determine_compiler lang)
+  endmacro()
+  return()
+endif()
+
+# Commonly used Android toolchain files that pre-date CMake upstream support
+# set CMAKE_SYSTEM_VERSION to 1.  Avoid interfering with them.
+if(CMAKE_SYSTEM_VERSION EQUAL 1)
+  macro(__android_determine_compiler lang)
+  endmacro()
+  return()
+endif()
+
+# Identify the host platform.
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+  set(_ANDROID_HOST_EXT "")
+elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
+  set(_ANDROID_HOST_EXT "")
+elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+  set(_ANDROID_HOST_EXT ".exe")
+else()
+  message(FATAL_ERROR "Android: Builds hosted on '${CMAKE_HOST_SYSTEM_NAME}' not supported.")
+endif()
+
+if(CMAKE_ANDROID_NDK)
+  include(Platform/Android/Determine-Compiler-NDK)
+elseif(CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
+  include(Platform/Android/Determine-Compiler-Standalone)
+else()
+  set(_ANDROID_TOOL_NDK_TOOLCHAIN_HOST_TAG "")
+  set(_ANDROID_TOOL_NDK_TOOLCHAIN_VERSION "")
+  set(_ANDROID_TOOL_C_COMPILER "")
+  set(_ANDROID_TOOL_C_TOOLCHAIN_MACHINE "")
+  set(_ANDROID_TOOL_C_TOOLCHAIN_VERSION "")
+  set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN "")
+  set(_ANDROID_TOOL_C_TOOLCHAIN_PREFIX "")
+  set(_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX "")
+  set(_ANDROID_TOOL_CXX_COMPILER "")
+  set(_ANDROID_TOOL_CXX_TOOLCHAIN_MACHINE "")
+  set(_ANDROID_TOOL_CXX_TOOLCHAIN_VERSION "")
+  set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "")
+  set(_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX "")
+  set(_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX "")
+endif()
+
+unset(_ANDROID_HOST_EXT)
+
+macro(__android_determine_compiler lang)
+  if(_ANDROID_TOOL_${lang}_COMPILER)
+    set(CMAKE_${lang}_COMPILER "${_ANDROID_TOOL_${lang}_COMPILER}")
+    set(CMAKE_${lang}_COMPILER_EXTERNAL_TOOLCHAIN "${_ANDROID_TOOL_${lang}_COMPILER_EXTERNAL_TOOLCHAIN}")
+
+    # Save the Android-specific information in CMake${lang}Compiler.cmake.
+    set(CMAKE_${lang}_COMPILER_CUSTOM_CODE "
+set(CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG \"${_ANDROID_TOOL_NDK_TOOLCHAIN_HOST_TAG}\")
+set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION \"${_ANDROID_TOOL_NDK_TOOLCHAIN_VERSION}\")
+set(CMAKE_${lang}_ANDROID_TOOLCHAIN_MACHINE \"${_ANDROID_TOOL_${lang}_TOOLCHAIN_MACHINE}\")
+set(CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION \"${_ANDROID_TOOL_${lang}_TOOLCHAIN_VERSION}\")
+set(CMAKE_${lang}_COMPILER_EXTERNAL_TOOLCHAIN \"${_ANDROID_TOOL_${lang}_COMPILER_EXTERNAL_TOOLCHAIN}\")
+set(CMAKE_${lang}_ANDROID_TOOLCHAIN_PREFIX \"${_ANDROID_TOOL_${lang}_TOOLCHAIN_PREFIX}\")
+set(CMAKE_${lang}_ANDROID_TOOLCHAIN_SUFFIX \"${_ANDROID_TOOL_${lang}_TOOLCHAIN_SUFFIX}\")
+")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake
new file mode 100644
index 0000000..f4717d5
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake
@@ -0,0 +1,7 @@
+# <ndk>/build/core/toolchains/aarch64-linux-android-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "aarch64-none-linux-android")
+
+# Suppress -Wl,-z,nocopyreloc flag on arm64-v8a
+set(_ANDROID_ABI_INIT_EXE_LDFLAGS_NO_nocopyreloc 1)
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake
new file mode 100644
index 0000000..b71a674
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake
@@ -0,0 +1,6 @@
+# <ndk>/build/core/toolchains/aarch64-linux-android-4.9/setup.mk
+
+# Suppress -Wl,-z,nocopyreloc flag on arm64-v8a
+set(_ANDROID_ABI_INIT_EXE_LDFLAGS_NO_nocopyreloc 1)
+
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-Clang.cmake
new file mode 100644
index 0000000..b857bd3
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-Clang.cmake
@@ -0,0 +1,19 @@
+# <ndk>/build/core/toolchains/arm-linux-androideabi-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "armv5te-none-linux-androideabi")
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -march=armv5te"
+  )
+
+if(CMAKE_ANDROID_ARM_MODE)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -marm")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mthumb")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -msoft-float"
+  " -mtune=xscale"
+  )
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-GNU.cmake
new file mode 100644
index 0000000..33e8b31
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-GNU.cmake
@@ -0,0 +1,17 @@
+# <ndk>/build/core/toolchains/arm-linux-androideabi-4.9/setup.mk
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -march=armv5te"
+  )
+
+if(CMAKE_ANDROID_ARM_MODE)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -marm")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mthumb")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -msoft-float"
+  " -mtune=xscale"
+  )
+
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake
new file mode 100644
index 0000000..a7412f5
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake
@@ -0,0 +1,18 @@
+# <ndk>/build/core/toolchains/arm-linux-androideabi-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "armv6-none-linux-androideabi")
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -march=armv6"
+  )
+
+if(CMAKE_ANDROID_ARM_MODE)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -marm")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mthumb")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -mfloat-abi=softfp"
+  )
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake
new file mode 100644
index 0000000..1fda184
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake
@@ -0,0 +1,16 @@
+# <ndk>/build/core/toolchains/arm-linux-androideabi-4.9/setup.mk
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -march=armv6"
+  )
+
+if(CMAKE_ANDROID_ARM_MODE)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -marm")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mthumb")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -mfloat-abi=softfp"
+  )
+
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake
new file mode 100644
index 0000000..e2ab58b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake
@@ -0,0 +1,28 @@
+# <ndk>/build/core/toolchains/arm-linux-androideabi-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "armv7-none-linux-androideabi")
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -march=armv7-a"
+  )
+
+if(CMAKE_ANDROID_ARM_MODE)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -marm")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mthumb")
+endif()
+
+if(CMAKE_ANDROID_ARM_NEON)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mfpu=neon")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mfpu=vfpv3-d16")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_LDFLAGS
+  " -Wl,--fix-cortex-a8"
+  )
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -mfloat-abi=softfp"
+  )
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake
new file mode 100644
index 0000000..b7c328d
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake
@@ -0,0 +1,26 @@
+# <ndk>/build/core/toolchains/arm-linux-androideabi-4.9/setup.mk
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -march=armv7-a"
+  )
+
+if(CMAKE_ANDROID_ARM_MODE)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -marm")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mthumb")
+endif()
+
+if(CMAKE_ANDROID_ARM_NEON)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mfpu=neon")
+else()
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -mfpu=vfpv3-d16")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -mfloat-abi=softfp"
+  )
+
+string(APPEND _ANDROID_ABI_INIT_LDFLAGS
+  " -Wl,--fix-cortex-a8"
+  )
+
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-common-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-common-Clang.cmake
new file mode 100644
index 0000000..6025170
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-common-Clang.cmake
@@ -0,0 +1,6 @@
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  #" -Wno-invalid-command-line-argument"
+  #" -Wno-unused-command-line-argument"
+  )
+
+include(Platform/Android/abi-common)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-common-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-common-GNU.cmake
new file mode 100644
index 0000000..40d829f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-common-GNU.cmake
@@ -0,0 +1 @@
+include(Platform/Android/abi-common)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-common.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-common.cmake
new file mode 100644
index 0000000..10fb897
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-common.cmake
@@ -0,0 +1,23 @@
+string(APPEND _ANDROID_ABI_INIT_CFLAGS
+  " -funwind-tables"
+  " -no-canonical-prefixes"
+  )
+
+if(CMAKE_ANDROID_NDK AND NOT CMAKE_ANDROID_NDK_DEPRECATED_HEADERS)
+  string(APPEND _ANDROID_ABI_INIT_CFLAGS " -D__ANDROID_API__=${CMAKE_SYSTEM_VERSION}")
+endif()
+
+if(NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE
+    AND NOT CMAKE_SYSTEM_VERSION VERSION_LESS 16)
+  set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+endif()
+
+if(CMAKE_POSITION_INDEPENDENT_CODE)
+  string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -fPIE -pie")
+endif()
+
+string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -Wl,--gc-sections")
+
+if(NOT _ANDROID_ABI_INIT_EXE_LDFLAGS_NO_nocopyreloc)
+  string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -Wl,-z,nocopyreloc")
+endif()
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-mips-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-mips-Clang.cmake
new file mode 100644
index 0000000..73addde
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-mips-Clang.cmake
@@ -0,0 +1,4 @@
+# <ndk>/build/core/toolchains/mipsel-linux-android-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "mipsel-none-linux-android")
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-mips-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-mips-GNU.cmake
new file mode 100644
index 0000000..982ad46
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-mips-GNU.cmake
@@ -0,0 +1,3 @@
+# <ndk>/build/core/toolchains/mipsel-linux-android-4.9/setup.mk
+
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-mips64-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-mips64-Clang.cmake
new file mode 100644
index 0000000..603f1b2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-mips64-Clang.cmake
@@ -0,0 +1,4 @@
+# <ndk>/build/core/toolchains/mips64el-linux-android-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "mips64el-none-linux-android")
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-mips64-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-mips64-GNU.cmake
new file mode 100644
index 0000000..a1bc2c2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-mips64-GNU.cmake
@@ -0,0 +1,3 @@
+# <ndk>/build/core/toolchains/mips64el-linux-android-4.9/setup.mk
+
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-x86-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-x86-Clang.cmake
new file mode 100644
index 0000000..fe7eace
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-x86-Clang.cmake
@@ -0,0 +1,4 @@
+# <ndk>/build/core/toolchains/x86-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "i686-none-linux-android")
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-x86-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-x86-GNU.cmake
new file mode 100644
index 0000000..76ea5ca
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-x86-GNU.cmake
@@ -0,0 +1,2 @@
+# <ndk>/build/core/toolchains/x86-4.9/setup.mk
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-x86_64-Clang.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-x86_64-Clang.cmake
new file mode 100644
index 0000000..3cbcd49
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-x86_64-Clang.cmake
@@ -0,0 +1,4 @@
+# <ndk>/build/core/toolchains/x86_64-clang/setup.mk
+set(_ANDROID_ABI_CLANG_TARGET "x86_64-none-linux-android")
+
+include(Platform/Android/abi-common-Clang)
diff --git a/share/cmake-3.10/Modules/Platform/Android/abi-x86_64-GNU.cmake b/share/cmake-3.10/Modules/Platform/Android/abi-x86_64-GNU.cmake
new file mode 100644
index 0000000..441bdcd
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/abi-x86_64-GNU.cmake
@@ -0,0 +1,2 @@
+# <ndk>/build/core/toolchains/x86_64-4.9/setup.mk
+include(Platform/Android/abi-common-GNU)
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++.cmake
new file mode 100644
index 0000000..a12411c
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++.cmake
@@ -0,0 +1,20 @@
+# <ndk>/sources/cxx-stl/llvm-libc++/Android.mk
+set(_ANDROID_STL_RTTI 1)
+set(_ANDROID_STL_EXCEPTIONS 1)
+macro(__android_stl_cxx lang filename)
+  # Add the include directory.
+  if(EXISTS "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libcxx/include/cstddef")
+    # r12 and below
+    __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libcxx/include" 1)
+    __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/android/support/include" 0)
+    __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/libcxxabi/include" 1)
+  else()
+    # r13 and above
+    __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/include" 1)
+    __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/android/support/include" 0)
+    __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/include" 1)
+  endif()
+
+  # Add the library file.
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++_shared.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++_shared.cmake
new file mode 100644
index 0000000..3389408
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++_shared.cmake
@@ -0,0 +1,5 @@
+include(Platform/Android/ndk-stl-c++)
+macro(__android_stl lang)
+  __android_stl_cxx(${lang} libc++_shared.so)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libandroid_support.a" 0)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++_static.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++_static.cmake
new file mode 100644
index 0000000..061a5c2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-c++_static.cmake
@@ -0,0 +1,8 @@
+include(Platform/Android/ndk-stl-c++)
+macro(__android_stl lang)
+  __android_stl_cxx(${lang} libc++_static.a)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libc++abi.a" 0)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libandroid_support.a" 0)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libunwind.a" 0)
+  string(APPEND CMAKE_${lang}_STANDARD_LIBRARIES " -latomic") # provided by toolchain
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++.cmake
new file mode 100644
index 0000000..850a47a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++.cmake
@@ -0,0 +1,7 @@
+# <ndk>/sources/cxx-stl/gabi++/Android.mk
+set(_ANDROID_STL_RTTI 1)
+set(_ANDROID_STL_EXCEPTIONS 1)
+macro(__android_stl_gabixx lang filename)
+  __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gabi++/include" 1)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gabi++/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake
new file mode 100644
index 0000000..314c1e0
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake
@@ -0,0 +1,4 @@
+include(Platform/Android/ndk-stl-gabi++)
+macro(__android_stl lang)
+  __android_stl_gabixx(${lang} libgabi++_shared.so)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++_static.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++_static.cmake
new file mode 100644
index 0000000..f4a1d3c
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gabi++_static.cmake
@@ -0,0 +1,4 @@
+include(Platform/Android/ndk-stl-gabi++)
+macro(__android_stl lang)
+  __android_stl_gabixx(${lang} libgabi++_static.a)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl.cmake
new file mode 100644
index 0000000..b3226ee
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl.cmake
@@ -0,0 +1,9 @@
+# <ndk>/sources/cxx-stl/gnu-libstdc++/Android.mk
+set(_ANDROID_STL_RTTI 1)
+set(_ANDROID_STL_EXCEPTIONS 1)
+macro(__android_stl_gnustl lang filename)
+  __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/include" 1)
+  __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/libs/${CMAKE_ANDROID_ARCH_ABI}/include" 1)
+  __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/include/backward" 1)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake
new file mode 100644
index 0000000..f20cc4d
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake
@@ -0,0 +1,4 @@
+include(Platform/Android/ndk-stl-gnustl)
+macro(__android_stl lang)
+  __android_stl_gnustl(${lang} libgnustl_shared.so)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl_static.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl_static.cmake
new file mode 100644
index 0000000..af4cc2a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-gnustl_static.cmake
@@ -0,0 +1,4 @@
+include(Platform/Android/ndk-stl-gnustl)
+macro(__android_stl lang)
+  __android_stl_gnustl(${lang} libgnustl_static.a)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-none.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-none.cmake
new file mode 100644
index 0000000..9049c91
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-none.cmake
@@ -0,0 +1,2 @@
+macro(__android_stl lang)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport.cmake
new file mode 100644
index 0000000..eab6b94
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport.cmake
@@ -0,0 +1,7 @@
+# <ndk>/sources/cxx-stl/stlport/Android.mk
+set(_ANDROID_STL_RTTI 1)
+set(_ANDROID_STL_EXCEPTIONS 1)
+macro(__android_stl_stlport lang filename)
+  __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/stlport/stlport" 1)
+  __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/stlport/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport_shared.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport_shared.cmake
new file mode 100644
index 0000000..2b5846b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport_shared.cmake
@@ -0,0 +1,4 @@
+include(Platform/Android/ndk-stl-stlport)
+macro(__android_stl lang)
+  __android_stl_stlport(${lang} libstlport_shared.so)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport_static.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport_static.cmake
new file mode 100644
index 0000000..bf60307
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-stlport_static.cmake
@@ -0,0 +1,4 @@
+include(Platform/Android/ndk-stl-stlport)
+macro(__android_stl lang)
+  __android_stl_stlport(${lang} libstlport_static.a)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Android/ndk-stl-system.cmake b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-system.cmake
new file mode 100644
index 0000000..dd554fe
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Android/ndk-stl-system.cmake
@@ -0,0 +1,6 @@
+# <ndk>/android-ndk-r11c/sources/cxx-stl/system/Android.mk
+set(_ANDROID_STL_RTTI 0)
+set(_ANDROID_STL_EXCEPTIONS 0)
+macro(__android_stl lang)
+  __android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/system/include" 1)
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/BSDOS.cmake b/share/cmake-3.10/Modules/Platform/BSDOS.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/BSDOS.cmake
rename to share/cmake-3.10/Modules/Platform/BSDOS.cmake
diff --git a/share/cmake-3.6/Modules/Platform/BeOS.cmake b/share/cmake-3.10/Modules/Platform/BeOS.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/BeOS.cmake
rename to share/cmake-3.10/Modules/Platform/BeOS.cmake
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneL.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneL.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/BlueGeneL.cmake
rename to share/cmake-3.10/Modules/Platform/BlueGeneL.cmake
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-base.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-base.cmake
new file mode 100644
index 0000000..fe95b42
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-base.cmake
@@ -0,0 +1,114 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+#
+# BlueGeneP base platform file.
+#
+# NOTE: Do not set your platform to "BlueGeneP-base".  This file is included
+# by the real platform files.  Use one of these two platforms instead:
+#
+#     BlueGeneP-dynamic  For dynamically linked builds
+#     BlueGeneP-static   For statically linked builds
+#
+# This platform file tries its best to adhere to the behavior of the MPI
+# compiler wrappers included with the latest BG/P drivers.
+#
+
+
+#
+# For BGP builds, we're cross compiling, but we don't want to re-root things
+# (e.g. with CMAKE_FIND_ROOT_PATH) because users may have libraries anywhere on
+# the shared filesystems, and this may lie outside the root.  Instead, we set the
+# system directories so that the various system BGP CNK library locations are
+# searched first.  This is not the clearest thing in the world, given IBM's driver
+# layout, but this should cover all the standard ones.
+#
+set(CMAKE_SYSTEM_LIBRARY_PATH
+  /bgsys/drivers/ppcfloor/comm/default/lib                # default comm layer (used by mpi compiler wrappers)
+  /bgsys/drivers/ppcfloor/comm/sys/lib                    # DCMF, other lower-level comm libraries
+  /bgsys/drivers/ppcfloor/runtime/SPI                     # other low-level stuff
+  /bgsys/drivers/ppcfloor/gnu-linux/lib                   # CNK python installation directory
+  /bgsys/drivers/ppcfloor/gnu-linux/powerpc-bgp-linux/lib # CNK Linux image -- standard runtime libs, pthread, etc.
+)
+
+#
+# This adds directories that find commands should specifically ignore for cross compiles.
+# Most of these directories are the includeand lib directories for the frontend on BG/P systems.
+# Not ignoring these can cause things like FindX11 to find a frontend PPC version mistakenly.
+# We use this on BG instead of re-rooting because backend libraries are typically strewn about
+# the filesystem, and we can't re-root ALL backend libraries to a single place.
+#
+set(CMAKE_SYSTEM_IGNORE_PATH
+  /lib             /lib64             /include
+  /usr/lib         /usr/lib64         /usr/include
+  /usr/local/lib   /usr/local/lib64   /usr/local/include
+  /usr/X11/lib     /usr/X11/lib64     /usr/X11/include
+  /usr/lib/X11     /usr/lib64/X11     /usr/include/X11
+  /usr/X11R6/lib   /usr/X11R6/lib64   /usr/X11R6/include
+  /usr/X11R7/lib   /usr/X11R7/lib64   /usr/X11R7/include
+)
+
+#
+# Indicate that this is a unix-like system
+#
+set(UNIX 1)
+
+#
+# Library prefixes, suffixes, extra libs.
+#
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")     # lib
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")      # .a
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")     # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")     # .so
+set(CMAKE_EXECUTABLE_SUFFIX "")            # .exe
+set(CMAKE_DL_LIBS "dl")
+
+#
+# This macro needs to be called for dynamic library support.  Unfortunately on BGP,
+# We can't support both static and dynamic links in the same platform file.  The
+# dynamic link platform file needs to call this explicitly to set up dynamic linking.
+#
+macro(__BlueGeneP_set_dynamic_flags compiler_id lang)
+  if (${compiler_id} STREQUAL XL)
+    # Flags for XL compilers if we explicitly detected XL
+    set(CMAKE_${lang}_COMPILE_OPTIONS_PIC            "-qpic")
+    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE            "-qpie")
+    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-qpic")
+    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-qmkshrobj -qnostaticlink")
+    set(BGP_${lang}_DYNAMIC_EXE_FLAGS                "-qnostaticlink -qnostaticlink=libgcc")
+  else()
+    # Assume flags for GNU compilers (if the ID is GNU *or* anything else).
+    set(CMAKE_${lang}_COMPILE_OPTIONS_PIC            "-fPIC")
+    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE            "-fPIE")
+    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-fPIC")
+    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-shared")
+    set(BGP_${lang}_DYNAMIC_EXE_FLAGS                "-dynamic")
+  endif()
+
+  # Both toolchains use the GNU linker on BG/P, so these options are shared.
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG      "-Wl,-rpath,")
+  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_${lang}_FLAG   "-Wl,-rpath-link,")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG       "-Wl,-soname,")
+  set(CMAKE_EXE_EXPORTS_${lang}_FLAG                 "-Wl,--export-dynamic")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS        "")  # +s, flag for exe link to use shared lib
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP  ":") # : or empty
+
+  set(BGP_${lang}_DEFAULT_EXE_FLAGS
+    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGP_${lang}_DYNAMIC_EXE_FLAGS} ${BGP_${lang}_DEFAULT_EXE_FLAGS}")
+endmacro()
+
+#
+# This macro needs to be called for static builds.  Right now it just adds -Wl,-relax
+# to the link line.
+#
+macro(__BlueGeneP_set_static_flags compiler_id lang)
+  set(BGP_${lang}_DEFAULT_EXE_FLAGS
+    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGP_${lang}_DEFAULT_EXE_FLAGS}")
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
new file mode 100644
index 0000000..3491870
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_dynamic_flags(GNU C)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
new file mode 100644
index 0000000..d3c946b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_dynamic_flags(GNU CXX)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
new file mode 100644
index 0000000..9db75be
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_dynamic_flags(GNU Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
new file mode 100644
index 0000000..918ee70
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_dynamic_flags(XL C)
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
new file mode 100644
index 0000000..cfefb0b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_dynamic_flags(XL CXX)
+
+# -qhalt=s       = Halt on severe error messages
+string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
new file mode 100644
index 0000000..9c295bd
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_dynamic_flags(XL Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic.cmake
new file mode 100644
index 0000000..daebab3
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-dynamic.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(Platform/BlueGeneP-base)
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-C.cmake
new file mode 100644
index 0000000..7c60794
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-C.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_static_flags(GNU C)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
new file mode 100644
index 0000000..edceaad
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_static_flags(GNU CXX)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
new file mode 100644
index 0000000..6b2265a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_static_flags(GNU Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-C.cmake
new file mode 100644
index 0000000..7d4fc13
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-C.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_static_flags(XL C)
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
new file mode 100644
index 0000000..1df276e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_static_flags(XL CXX)
+
+# -qhalt=s       = Halt on severe error messages
+string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
new file mode 100644
index 0000000..2bdb6d9
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneP_set_static_flags(XL Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneP-static.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneP-static.cmake
new file mode 100644
index 0000000..3675ed2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneP-static.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(Platform/BlueGeneP-base)
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-base.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-base.cmake
new file mode 100644
index 0000000..5e56d8e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-base.cmake
@@ -0,0 +1,166 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+#
+# Blue Gene/Q base platform file.
+#
+# NOTE: Do not set your platform to "BlueGeneQ-base".  This file is
+# included by the real platform files.  Use one of these two platforms
+# instead:
+#
+#     BlueGeneQ-dynamic  For dynamically linked executables
+#     BlueGeneQ-static   For statically linked executables
+#
+# The platform you choose doesn't affect whether or not you can build
+# shared or static libraries -- it ONLY changs whether exeuatbles are linked
+# statically or dynamically.
+#
+# This platform file tries its best to adhere to the behavior of the MPI
+# compiler wrappers included with the latest BG/P drivers.
+#
+
+#
+# This adds directories that find commands should specifically ignore
+# for cross compiles.  Most of these directories are the includeand
+# lib directories for the frontend on BG/P systems.  Not ignoring
+# these can cause things like FindX11 to find a frontend PPC version
+# mistakenly.  We use this on BG instead of re-rooting because backend
+# libraries are typically strewn about the filesystem, and we can't
+# re-root ALL backend libraries to a single place.
+#
+set(CMAKE_SYSTEM_IGNORE_PATH
+  /lib             /lib64             /include
+  /usr/lib         /usr/lib64         /usr/include
+  /usr/local/lib   /usr/local/lib64   /usr/local/include
+  /usr/X11/lib     /usr/X11/lib64     /usr/X11/include
+  /usr/lib/X11     /usr/lib64/X11     /usr/include/X11
+  /usr/X11R6/lib   /usr/X11R6/lib64   /usr/X11R6/include
+  /usr/X11R7/lib   /usr/X11R7/lib64   /usr/X11R7/include
+)
+
+#
+# Indicate that this is a unix-like system
+#
+set(UNIX 1)
+
+#
+# Library prefixes, suffixes, extra libs.
+#
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")     # lib
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")      # .a
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")     # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")     # .so
+set(CMAKE_EXECUTABLE_SUFFIX "")            # .exe
+
+set(CMAKE_DL_LIBS "dl")
+
+#
+# BG/Q supports dynamic libraries regardless of whether we're building
+# static or dynamic *executables*.
+#
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+
+#
+# For BGQ builds, we're cross compiling, but we don't want to re-root things
+# (e.g. with CMAKE_FIND_ROOT_PATH) because users may have libraries anywhere on
+# the shared filesystems, and this may lie outside the root.  Instead, we set the
+# system directories so that the various system BG CNK library locations are
+# searched first.  This is not the clearest thing in the world, given IBM's driver
+# layout, but this should cover all the standard ones.
+#
+macro(__BlueGeneQ_common_setup compiler_id lang)
+  # Need to use the version of the comm lib compiled with the right compiler.
+  set(__BlueGeneQ_commlib_dir gcc)
+  if (${compiler_id} STREQUAL XL)
+    set(__BlueGeneQ_commlib_dir xl)
+  endif()
+
+  set(CMAKE_SYSTEM_LIBRARY_PATH
+    /bgsys/drivers/ppcfloor/comm/default/lib                    # default comm layer (used by mpi compiler wrappers)
+    /bgsys/drivers/ppcfloor/comm/${__BlueGeneQ_commlib_dir}/lib # PAMI, other lower-level comm libraries
+    /bgsys/drivers/ppcfloor/gnu-linux/lib                       # CNK python installation directory
+    /bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/lib   # CNK Linux image -- standard runtime libs, pthread, etc.
+    )
+
+  # Add all the system include paths.
+  set(CMAKE_SYSTEM_INCLUDE_PATH
+    /bgsys/drivers/ppcfloor/comm/sys/include
+    /bgsys/drivers/ppcfloor/
+    /bgsys/drivers/ppcfloor/spi/include
+    /bgsys/drivers/ppcfloor/spi/include/kernel/cnk
+    /bgsys/drivers/ppcfloor/comm/${__BlueGeneQ_commlib_dir}/include
+    )
+
+  # Ensure that the system directories are included with the regular compilers, as users will expect this
+  # to do the same thing as the MPI compilers, which add these flags.
+  set(BGQ_SYSTEM_INCLUDES "")
+  foreach(dir ${CMAKE_SYSTEM_INCLUDE_PATH})
+    string(APPEND BGQ_SYSTEM_INCLUDES " -I${dir}")
+  endforeach()
+  set(CMAKE_C_COMPILE_OBJECT   "<CMAKE_C_COMPILER>   <DEFINES> ${BGQ_SYSTEM_INCLUDES} <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+  set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> ${BGQ_SYSTEM_INCLUDES} <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+
+  #
+  # Code below does setup for shared libraries.  That this is done
+  # regardless of whether the platform is static or dynamic -- you can make
+  # shared libraries even if you intend to make static executables, you just
+  # can't make a dynamic executable if you use the static platform file.
+  #
+  if (${compiler_id} STREQUAL XL)
+    # Flags for XL compilers if we explicitly detected XL
+    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-qpic")
+    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-qmkshrobj -qnostaticlink")
+  else()
+    # Assume flags for GNU compilers (if the ID is GNU *or* anything else).
+    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-fPIC")
+    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-shared")
+  endif()
+
+  # Both toolchains use the GNU linker on BG/P, so these options are shared.
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG      "-Wl,-rpath,")
+  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_${lang}_FLAG   "-Wl,-rpath-link,")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG       "-Wl,-soname,")
+  set(CMAKE_EXE_EXPORTS_${lang}_FLAG                 "-Wl,--export-dynamic")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS        "")  # +s, flag for exe link to use shared lib
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP  ":") # : or empty
+
+endmacro()
+
+#
+# This macro needs to be called for dynamic library support.  Unfortunately on BG,
+# We can't support both static and dynamic links in the same platform file.  The
+# dynamic link platform file needs to call this explicitly to set up dynamic linking.
+#
+macro(__BlueGeneQ_setup_dynamic compiler_id lang)
+  __BlueGeneQ_common_setup(${compiler_id} ${lang})
+
+  if (${compiler_id} STREQUAL XL)
+    set(BGQ_${lang}_DYNAMIC_EXE_FLAGS "-qnostaticlink -qnostaticlink=libgcc")
+  else()
+    set(BGQ_${lang}_DYNAMIC_EXE_FLAGS "-dynamic")
+  endif()
+
+  # For dynamic executables, need to provide special BG/Q arguments.
+  set(BGQ_${lang}_DEFAULT_EXE_FLAGS
+    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGQ_${lang}_DYNAMIC_EXE_FLAGS} ${BGQ_${lang}_DEFAULT_EXE_FLAGS}")
+endmacro()
+
+#
+# This macro needs to be called for static builds.  Right now it just adds -Wl,-relax
+# to the link line.
+#
+macro(__BlueGeneQ_setup_static compiler_id lang)
+  __BlueGeneQ_common_setup(${compiler_id} ${lang})
+
+  # For static executables, use default link settings.
+  set(BGQ_${lang}_DEFAULT_EXE_FLAGS
+    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGQ_${lang}_DEFAULT_EXE_FLAGS}")
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
new file mode 100644
index 0000000..6758304
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_dynamic(GNU C)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
new file mode 100644
index 0000000..5d40f9f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_dynamic(GNU CXX)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
new file mode 100644
index 0000000..6105999
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_dynamic(GNU Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
new file mode 100644
index 0000000..c51dacb
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_dynamic(XL C)
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
new file mode 100644
index 0000000..5dbc836
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_dynamic(XL CXX)
+
+# -qhalt=s       = Halt on severe error messages
+string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
new file mode 100644
index 0000000..a6ac03b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_dynamic(XL Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic.cmake
new file mode 100644
index 0000000..9440a3e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-dynamic.cmake
@@ -0,0 +1,6 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(Platform/BlueGeneQ-base)
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
new file mode 100644
index 0000000..5fdc25c
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_static(GNU C)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
new file mode 100644
index 0000000..ad7c092
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_static(GNU CXX)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
new file mode 100644
index 0000000..f32d1d4
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_static(GNU Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-C.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-C.cmake
new file mode 100644
index 0000000..67cd57d
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-C.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_static(XL C)
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
new file mode 100644
index 0000000..a171e7f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_static(XL CXX)
+
+# -qhalt=s       = Halt on severe error messages
+string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s")
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
new file mode 100644
index 0000000..c7fbb44
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
@@ -0,0 +1,5 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+__BlueGeneQ_setup_static(XL Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/BlueGeneQ-static.cmake b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static.cmake
new file mode 100644
index 0000000..79cd391
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/BlueGeneQ-static.cmake
@@ -0,0 +1,6 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+include(Platform/BlueGeneQ-base)
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-Clang-C.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-Clang-C.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-Clang-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-Clang-CXX.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-Clang-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-Clang-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-CXX.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-Determine-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-GNU-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-GNU-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-GNU-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-GNU-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/CYGWIN-GNU.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-GNU.cmake
new file mode 100644
index 0000000..784c8c6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/CYGWIN-GNU.cmake
@@ -0,0 +1,51 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__CYGWIN_COMPILER_GNU)
+  return()
+endif()
+set(__CYGWIN_COMPILER_GNU 1)
+
+# TODO: Is -Wl,--enable-auto-import now always default?
+string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,--enable-auto-import")
+set(CMAKE_CREATE_WIN32_EXE  "-mwindows")
+
+set(CMAKE_GNULD_IMAGE_VERSION
+  "-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
+set(CMAKE_GENERATOR_RC windres)
+macro(__cygwin_compiler_gnu lang)
+  # Binary link rules.
+  set(CMAKE_${lang}_CREATE_SHARED_MODULE
+    "<CMAKE_${lang}_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_${lang}_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+    "<CMAKE_${lang}_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
+
+   # No -fPIC on cygwin
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
+
+  # Initialize C link type selection flags.  These flags are used when
+  # building a shared library, shared module, or executable that links
+  # to other libraries to select whether to use the static or shared
+  # versions of the libraries.
+  foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+    set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
+    set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
+  endforeach()
+
+  set(CMAKE_EXE_EXPORTS_${lang}_FLAG "-Wl,--export-all-symbols")
+  # TODO: Is -Wl,--enable-auto-import now always default?
+  string(APPEND CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS " -Wl,--enable-auto-import")
+  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS}")
+
+  if(NOT CMAKE_RC_COMPILER_INIT)
+    set(CMAKE_RC_COMPILER_INIT windres)
+  endif()
+
+  enable_language(RC)
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-windres.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN-windres.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/CYGWIN-windres.cmake
rename to share/cmake-3.10/Modules/Platform/CYGWIN-windres.cmake
diff --git a/share/cmake-3.10/Modules/Platform/CYGWIN.cmake b/share/cmake-3.10/Modules/Platform/CYGWIN.cmake
new file mode 100644
index 0000000..9b897bd
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/CYGWIN.cmake
@@ -0,0 +1,74 @@
+if("${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS "2.8.3.20101214")
+  set(__USE_CMAKE_LEGACY_CYGWIN_WIN32 1)
+endif()
+if(NOT DEFINED WIN32)
+  set(WIN32 0)
+  if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32)
+    if(NOT DEFINED CMAKE_LEGACY_CYGWIN_WIN32
+        AND DEFINED ENV{CMAKE_LEGACY_CYGWIN_WIN32})
+      set(CMAKE_LEGACY_CYGWIN_WIN32 $ENV{CMAKE_LEGACY_CYGWIN_WIN32})
+    endif()
+    if(CMAKE_LEGACY_CYGWIN_WIN32)
+      message(STATUS "Defining WIN32 under Cygwin due to CMAKE_LEGACY_CYGWIN_WIN32")
+      set(WIN32 1)
+    elseif("x${CMAKE_LEGACY_CYGWIN_WIN32}" STREQUAL "x")
+      message(WARNING "CMake no longer defines WIN32 on Cygwin!"
+        "\n"
+        "(1) If you are just trying to build this project, ignore this warning "
+        "or quiet it by setting CMAKE_LEGACY_CYGWIN_WIN32=0 in your environment or "
+        "in the CMake cache.  "
+        "If later configuration or build errors occur then this project may "
+        "have been written under the assumption that Cygwin is WIN32.  "
+        "In that case, set CMAKE_LEGACY_CYGWIN_WIN32=1 instead."
+        "\n"
+        "(2) If you are developing this project, add the line\n"
+        "  set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required\n"
+        "at the top of your top-level CMakeLists.txt file or set the minimum "
+        "required version of CMake to 2.8.4 or higher.  "
+        "Then teach your project to build on Cygwin without WIN32.")
+    endif()
+  elseif(DEFINED CMAKE_LEGACY_CYGWIN_WIN32)
+    message(AUTHOR_WARNING "CMAKE_LEGACY_CYGWIN_WIN32 ignored because\n"
+      "  cmake_minimum_required(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})\n"
+      "is at least 2.8.4.")
+  endif()
+endif()
+if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32)
+  # Pass WIN32 legacy setting to scripts.
+  if(WIN32)
+    set(ENV{CMAKE_LEGACY_CYGWIN_WIN32} 1)
+  else()
+    set(ENV{CMAKE_LEGACY_CYGWIN_WIN32} 0)
+  endif()
+  unset(__USE_CMAKE_LEGACY_CYGWIN_WIN32)
+endif()
+
+set(CYGWIN 1)
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
+set(CMAKE_SHARED_MODULE_PREFIX "cyg")
+set(CMAKE_SHARED_MODULE_SUFFIX ".dll")
+set(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
+set(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
+set(CMAKE_EXECUTABLE_SUFFIX ".exe")          # .exe
+# Modules have a different default prefix that shared libs.
+set(CMAKE_MODULE_EXISTS 1)
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a")
+
+# Shared libraries on cygwin can be named with their version number.
+set(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1)
+
+include(Platform/UnixPaths)
+
+# Windows API on Cygwin
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+  /usr/include/w32api
+  )
+
+# Windows API on Cygwin
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+  /usr/lib/w32api
+  )
diff --git a/share/cmake-3.6/Modules/Platform/Catamount.cmake b/share/cmake-3.10/Modules/Platform/Catamount.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Catamount.cmake
rename to share/cmake-3.10/Modules/Platform/Catamount.cmake
diff --git a/share/cmake-3.10/Modules/Platform/CrayLinuxEnvironment.cmake b/share/cmake-3.10/Modules/Platform/CrayLinuxEnvironment.cmake
new file mode 100644
index 0000000..a1a3d3f
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/CrayLinuxEnvironment.cmake
@@ -0,0 +1,151 @@
+# Compute Node Linux doesn't quite work the same as native Linux so all of this
+# needs to be custom.  We use the variables defined through Cray's environment
+# modules to set up the right paths for things.
+
+set(UNIX 1)
+
+if(DEFINED ENV{CRAYOS_VERSION})
+  set(CMAKE_SYSTEM_VERSION "$ENV{CRAYOS_VERSION}")
+elseif(DEFINED ENV{XTOS_VERSION})
+  set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}")
+elseif(EXISTS /etc/opt/cray/release/cle-release)
+  file(STRINGS /etc/opt/cray/release/cle-release release REGEX "^RELEASE=.*")
+  string(REGEX REPLACE "^RELEASE=(.*)$" "\\1" CMAKE_SYSTEM_VERSION "${release}")
+  unset(release)
+elseif(EXISTS /etc/opt/cray/release/clerelease)
+  file(READ /etc/opt/cray/release/clerelease CMAKE_SYSTEM_VERSION)
+endif()
+
+# Guard against multiple messages
+if(NOT __CrayLinuxEnvironment_message)
+  set(__CrayLinuxEnvironment_message 1 CACHE INTERNAL "")
+  if(NOT CMAKE_SYSTEM_VERSION)
+    message(STATUS "CrayLinuxEnvironment: Unable to determine CLE version.  This platform file should only be used from inside the Cray Linux Environment for targeting compute nodes (NIDs).")
+  else()
+    message(STATUS "Cray Linux Environment ${CMAKE_SYSTEM_VERSION}")
+  endif()
+endif()
+
+# All cray systems are x86 CPUs and have been for quite some time
+# Note: this may need to change in the future with 64-bit ARM
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+
+# Don't override shared lib support if it's already been set and possibly
+# overridden elsewhere by the CrayPrgEnv module
+if(NOT CMAKE_FIND_LIBRARY_SUFFIXES)
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
+  set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
+endif()
+
+set(CMAKE_DL_LIBS dl)
+
+# Note: Much of this is pulled from UnixPaths.cmake but adjusted to the Cray
+# environment accordingly
+
+# Get the install directory of the running cmake to the search directories
+# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
+get_filename_component(__cmake_install_dir "${CMAKE_ROOT}" PATH)
+get_filename_component(__cmake_install_dir "${__cmake_install_dir}" PATH)
+
+# Note: Some Cray's have the SYSROOT_DIR variable defined, pointing to a copy
+# of the NIDs userland.  If so, then we'll use it.  Otherwise, just assume
+# the userland from the login node is ok
+
+# List common installation prefixes.  These will be used for all
+# search types.
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+  # Standard
+  $ENV{SYSROOT_DIR}/usr/local $ENV{SYSROOT_DIR}/usr $ENV{SYSROOT_DIR}/
+
+  # CMake install location
+  "${__cmake_install_dir}"
+  )
+if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
+  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+    # Project install destination.
+    "${CMAKE_INSTALL_PREFIX}"
+  )
+  if(CMAKE_STAGING_PREFIX)
+    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+      # User-supplied staging prefix.
+      "${CMAKE_STAGING_PREFIX}"
+    )
+  endif()
+endif()
+
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+  $ENV{SYSROOT_DIR}/usr/include
+  $ENV{SYSROOT_DIR}/usr/include/X11
+)
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+  $ENV{SYSROOT_DIR}/usr/local/lib64
+  $ENV{SYSROOT_DIR}/usr/lib64
+  $ENV{SYSROOT_DIR}/lib64
+)
+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+  $ENV{SYSROOT_DIR}/usr/local/lib64
+  $ENV{SYSROOT_DIR}/usr/lib64
+  $ENV{SYSROOT_DIR}/lib64
+)
+
+# Compute the intersection of several lists
+function(__cray_list_intersect OUTPUT INPUT0)
+  if(ARGC EQUAL 2)
+    list(APPEND ${OUTPUT} ${${INPUT0}})
+  else()
+    foreach(I IN LISTS ${INPUT0})
+      set(__is_common 1)
+      foreach(L IN LISTS ARGN)
+        list(FIND ${L} "${I}" __idx)
+        if(__idx EQUAL -1)
+          set(__is_common 0)
+          break()
+        endif()
+      endforeach()
+      if(__is_common)
+        list(APPEND ${OUTPUT}  "${I}")
+      endif()
+    endforeach()
+  endif()
+  set(${OUTPUT} ${${OUTPUT}} PARENT_SCOPE)
+endfunction()
+
+macro(__list_clean_dupes var)
+  if(${var})
+    list(REMOVE_DUPLICATES ${var})
+  endif()
+endmacro()
+
+get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES)
+set(__cray_inc_path_vars)
+set(__cray_lib_path_vars)
+foreach(__lang IN LISTS __langs)
+  list(APPEND __cray_inc_path_vars CMAKE_${__lang}_IMPLICIT_INCLUDE_DIRECTORIES)
+  list(APPEND __cray_lib_path_vars CMAKE_${__lang}_IMPLICIT_LINK_DIRECTORIES)
+endforeach()
+if(__cray_inc_path_vars)
+  __cray_list_intersect(__cray_implicit_include_dirs ${__cray_inc_path_vars})
+  if(__cray_implicit_include_dirs)
+    list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${__cray_implicit_include_dirs})
+  endif()
+endif()
+if(__cray_lib_path_vars)
+  __cray_list_intersect(__cray_implicit_library_dirs ${__cray_lib_path_vars})
+  if(__cray_implicit_library_dirs)
+    list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${__cray_implicit_library_dirs})
+  endif()
+endif()
+__list_clean_dupes(CMAKE_SYSTEM_PREFIX_PATH)
+__list_clean_dupes(CMAKE_SYSTEM_INCLUDE_PATH)
+__list_clean_dupes(CMAKE_SYSTEM_LIBRARY_PATH)
+__list_clean_dupes(CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES)
+
+# Enable use of lib64 search path variants by default.
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-Absoft-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Absoft-Fortran.cmake
new file mode 100644
index 0000000..8caa202
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-Absoft-Fortran.cmake
@@ -0,0 +1,7 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+set(CMAKE_Fortran_VERBOSE_FLAG "-X -v") # Runs gcc under the hood.
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-AppleClang-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-AppleClang-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-AppleClang-C.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-AppleClang-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-AppleClang-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-AppleClang-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-AppleClang-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-AppleClang-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Clang-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-Clang-C.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-Clang-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Clang-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-Clang-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-Clang-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-Clang.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Clang.cmake
new file mode 100644
index 0000000..a6661a8
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-Clang.cmake
@@ -0,0 +1,20 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__DARWIN_COMPILER_CLANG)
+  return()
+endif()
+set(__DARWIN_COMPILER_CLANG 1)
+
+macro(__darwin_compiler_clang lang)
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+  set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
+  set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.2)
+    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Determine-CXX.cmake
similarity index 100%
copy from share/cmake-3.6/Modules/Platform/CYGWIN-CXX.cmake
copy to share/cmake-3.10/Modules/Platform/Darwin-Determine-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-GNU-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-GNU-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-GNU-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Darwin-GNU-Fortran.cmake
new file mode 100644
index 0000000..568d79b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-GNU-Fortran.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Platform/Darwin-GNU)
+__darwin_compiler_gnu(Fortran)
+cmake_gnu_set_sysroot_flag(Fortran)
+cmake_gnu_set_osx_deployment_target_flag(Fortran)
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-GNU.cmake b/share/cmake-3.10/Modules/Platform/Darwin-GNU.cmake
new file mode 100644
index 0000000..9f9ef01
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-GNU.cmake
@@ -0,0 +1,60 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__DARWIN_COMPILER_GNU)
+  return()
+endif()
+set(__DARWIN_COMPILER_GNU 1)
+
+macro(__darwin_compiler_gnu lang)
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
+  # GNU does not have -shared on OS X
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.3)
+    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
+  endif()
+endmacro()
+
+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}")
+    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")
+      set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
+    else()
+      message(STATUS "Checking whether ${_doc} - no")
+      set(CMAKE_${lang}_SYSROOT_FLAG "")
+    endif()
+    set(CMAKE_${lang}_SYSROOT_FLAG_CODE "set(CMAKE_${lang}_SYSROOT_FLAG \"${CMAKE_${lang}_SYSROOT_FLAG}\")")
+  endif()
+endmacro()
+
+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}")
+    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")
+      set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
+    else()
+      message(STATUS "Checking whether ${_doc} - 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}\")")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-Initialize.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Initialize.cmake
new file mode 100644
index 0000000..b539e45
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-Initialize.cmake
@@ -0,0 +1,143 @@
+# Ask xcode-select where to find /Developer or fall back to ancient location.
+execute_process(COMMAND xcode-select -print-path
+  OUTPUT_VARIABLE _stdout
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  ERROR_VARIABLE _stderr
+  RESULT_VARIABLE _failed)
+if(NOT _failed AND IS_DIRECTORY ${_stdout})
+  set(OSX_DEVELOPER_ROOT ${_stdout})
+elseif(IS_DIRECTORY "/Developer")
+  set(OSX_DEVELOPER_ROOT "/Developer")
+else()
+  set(OSX_DEVELOPER_ROOT "")
+endif()
+
+execute_process(COMMAND sw_vers -productVersion
+  OUTPUT_VARIABLE CURRENT_OSX_VERSION
+  OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+# Save CMAKE_OSX_ARCHITECTURES from the environment.
+set(CMAKE_OSX_ARCHITECTURES "$ENV{CMAKE_OSX_ARCHITECTURES}" CACHE STRING
+  "Build architectures for OSX")
+
+#----------------------------------------------------------------------------
+# _CURRENT_OSX_VERSION - as a two-component string: 10.5, 10.6, ...
+#
+string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*$" "\\1"
+  _CURRENT_OSX_VERSION "${CURRENT_OSX_VERSION}")
+
+#----------------------------------------------------------------------------
+# CMAKE_OSX_DEPLOYMENT_TARGET
+
+# Set cache variable - end user may change this during ccmake or cmake-gui configure.
+if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3)
+  set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING
+    "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")
+endif()
+
+#----------------------------------------------------------------------------
+# CMAKE_OSX_SYSROOT
+
+if(CMAKE_OSX_SYSROOT)
+  # Use the existing value without further computation to choose a default.
+  set(_CMAKE_OSX_SYSROOT_DEFAULT "${CMAKE_OSX_SYSROOT}")
+elseif(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND
+        (NOT "x$ENV{SDKROOT}" MATCHES "/" OR IS_DIRECTORY "$ENV{SDKROOT}"))
+  # Use the value of SDKROOT from the environment.
+  set(_CMAKE_OSX_SYSROOT_DEFAULT "$ENV{SDKROOT}")
+elseif("${CMAKE_GENERATOR}" MATCHES Xcode
+       OR CMAKE_OSX_DEPLOYMENT_TARGET
+       OR CMAKE_OSX_ARCHITECTURES MATCHES "[^;]"
+       OR NOT EXISTS "/usr/include/sys/types.h")
+  # Find installed SDKs in either Xcode-4.3+ or pre-4.3 SDKs directory.
+  set(_CMAKE_OSX_SDKS_DIR "")
+  if(OSX_DEVELOPER_ROOT)
+    foreach(d Platforms/MacOSX.platform/Developer/SDKs SDKs)
+      file(GLOB _CMAKE_OSX_SDKS ${OSX_DEVELOPER_ROOT}/${d}/*)
+      if(_CMAKE_OSX_SDKS)
+        set(_CMAKE_OSX_SDKS_DIR ${OSX_DEVELOPER_ROOT}/${d})
+        break()
+      endif()
+    endforeach()
+  endif()
+
+  if(_CMAKE_OSX_SDKS_DIR)
+    # Select SDK for current OSX version accounting for the known
+    # specially named SDKs.
+    set(_CMAKE_OSX_SDKS_VER_SUFFIX_10.4 "u")
+    set(_CMAKE_OSX_SDKS_VER_SUFFIX_10.3 ".9")
+
+    # find the latest SDK
+    set(_CMAKE_OSX_LATEST_SDK_VERSION "0.0")
+    file(GLOB _CMAKE_OSX_SDKS RELATIVE "${_CMAKE_OSX_SDKS_DIR}" "${_CMAKE_OSX_SDKS_DIR}/MacOSX*.sdk")
+    foreach(_SDK ${_CMAKE_OSX_SDKS})
+      if(_SDK MATCHES "MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk" AND CMAKE_MATCH_1 VERSION_GREATER ${_CMAKE_OSX_LATEST_SDK_VERSION})
+        set(_CMAKE_OSX_LATEST_SDK_VERSION "${CMAKE_MATCH_1}")
+      endif()
+    endforeach()
+
+    # pick an SDK that works
+    set(_CMAKE_OSX_SYSROOT_DEFAULT)
+    foreach(ver ${CMAKE_OSX_DEPLOYMENT_TARGET}
+                ${_CURRENT_OSX_VERSION}
+                ${_CMAKE_OSX_LATEST_SDK_VERSION})
+      set(_CMAKE_OSX_DEPLOYMENT_TARGET ${ver})
+      set(_CMAKE_OSX_SDKS_VER ${_CMAKE_OSX_DEPLOYMENT_TARGET}${_CMAKE_OSX_SDKS_VER_SUFFIX_${_CMAKE_OSX_DEPLOYMENT_TARGET}})
+      set(_CMAKE_OSX_SYSROOT_CHECK "${_CMAKE_OSX_SDKS_DIR}/MacOSX${_CMAKE_OSX_SDKS_VER}.sdk")
+      if(IS_DIRECTORY "${_CMAKE_OSX_SYSROOT_CHECK}")
+        set(_CMAKE_OSX_SYSROOT_DEFAULT "${_CMAKE_OSX_SYSROOT_CHECK}")
+        break()
+      endif()
+    endforeach()
+
+    if(NOT CMAKE_CROSSCOMPILING AND NOT CMAKE_OSX_DEPLOYMENT_TARGET AND _CURRENT_OSX_VERSION VERSION_LESS _CMAKE_OSX_DEPLOYMENT_TARGET)
+      set(CMAKE_OSX_DEPLOYMENT_TARGET ${_CURRENT_OSX_VERSION} CACHE STRING
+        "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value." FORCE)
+    endif()
+  else()
+    # Assume developer files are in root (such as Xcode 4.5 command-line tools).
+    set(_CMAKE_OSX_SYSROOT_DEFAULT "")
+  endif()
+endif()
+
+# Set cache variable - end user may change this during ccmake or cmake-gui configure.
+# Choose the type based on the current value.
+set(_CMAKE_OSX_SYSROOT_TYPE STRING)
+foreach(v CMAKE_OSX_SYSROOT _CMAKE_OSX_SYSROOT_DEFAULT)
+  if("x${${v}}" MATCHES "/")
+    set(_CMAKE_OSX_SYSROOT_TYPE PATH)
+    break()
+  endif()
+endforeach()
+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.
+set(_CMAKE_OSX_SYSROOT_PATH "")
+if(CMAKE_OSX_SYSROOT)
+  if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")
+    # This is a path to the SDK.  Make sure it exists.
+    if(NOT IS_DIRECTORY "${CMAKE_OSX_SYSROOT}")
+      message(WARNING "Ignoring CMAKE_OSX_SYSROOT value:\n ${CMAKE_OSX_SYSROOT}\n"
+        "because the directory does not exist.")
+      set(CMAKE_OSX_SYSROOT "")
+    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}")
+      # For non-Xcode generators use the path.
+      if(NOT "${CMAKE_GENERATOR}" MATCHES "Xcode")
+        set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}")
+      endif()
+    endif()
+  endif()
+endif()
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Intel-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-Intel-C.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-Intel-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Intel-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-Intel-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-Intel-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-Intel-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Intel-Fortran.cmake
new file mode 100644
index 0000000..2299da9
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-Intel-Fortran.cmake
@@ -0,0 +1,8 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+include(Platform/Darwin-Intel)
+__darwin_compiler_intel(Fortran)
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-Intel.cmake b/share/cmake-3.10/Modules/Platform/Darwin-Intel.cmake
new file mode 100644
index 0000000..dd33cec
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-Intel.cmake
@@ -0,0 +1,19 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__DARWIN_COMPILER_INTEL)
+  return()
+endif()
+set(__DARWIN_COMPILER_INTEL 1)
+
+macro(__darwin_compiler_intel lang)
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-NAG-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Darwin-NAG-Fortran.cmake
new file mode 100644
index 0000000..8d3e741
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-NAG-Fortran.cmake
@@ -0,0 +1,15 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+set(CMAKE_Fortran_VERBOSE_FLAG "-Wl,-v") # Runs gcc under the hood.
+
+# Need -fpp explicitly on case-insensitive filesystem.
+set(CMAKE_Fortran_COMPILE_OBJECT
+  "<CMAKE_Fortran_COMPILER> -fpp -o <OBJECT> <DEFINES> <INCLUDES> <FLAGS> -c <SOURCE>")
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-Wl,-compatibility_version -Wl,")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-Wl,-current_version -Wl,")
+set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-Wl,-shared")
+set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-Wl,-install_name -Wl,")
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+  "<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG><TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-NVIDIA-CUDA.cmake b/share/cmake-3.10/Modules/Platform/Darwin-NVIDIA-CUDA.cmake
new file mode 100644
index 0000000..bec3948
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-NVIDIA-CUDA.cmake
@@ -0,0 +1,19 @@
+include(Platform/Darwin)
+
+set(__IMPLICT_LINKS )
+foreach(dir ${CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES})
+  string(APPEND __IMPLICT_LINKS " -L\"${dir}\"")
+endforeach()
+foreach(lib ${CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES})
+  if(${lib} MATCHES "/")
+    string(APPEND __IMPLICT_LINKS " \"${lib}\"")
+  else()
+    string(APPEND __IMPLICT_LINKS " -l${lib}")
+  endif()
+endforeach()
+
+set(CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS "-shared -Wl,-headerpad_max_install_names")
+set(CMAKE_SHARED_MODULE_CREATE_CUDA_FLAGS "-shared -Wl,-headerpad_max_install_names")
+
+set(CMAKE_CUDA_CREATE_SHARED_LIBRARY "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <CMAKE_SHARED_LIBRARY_CUDA_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
+set(CMAKE_CUDA_CREATE_SHARED_MODULE "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <CMAKE_SHARED_LIBRARY_CUDA_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-PGI-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-PGI-C.cmake
new file mode 100644
index 0000000..790919b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-PGI-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Darwin-PGI)
+__darwin_compiler_pgi(C)
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-PGI-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-PGI-CXX.cmake
new file mode 100644
index 0000000..ceaed71
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-PGI-CXX.cmake
@@ -0,0 +1,2 @@
+include(Platform/Darwin-PGI)
+__darwin_compiler_pgi(CXX)
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-PGI-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Darwin-PGI-Fortran.cmake
new file mode 100644
index 0000000..146807b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-PGI-Fortran.cmake
@@ -0,0 +1,2 @@
+include(Platform/Darwin-PGI)
+__darwin_compiler_pgi(Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-PGI.cmake b/share/cmake-3.10/Modules/Platform/Darwin-PGI.cmake
new file mode 100644
index 0000000..04479a8
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-PGI.cmake
@@ -0,0 +1,14 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+# This module is shared by multiple languages; use include blocker.
+if(__DARWIN_COMPILER_PGI)
+  return()
+endif()
+set(__DARWIN_COMPILER_PGI 1)
+
+macro(__darwin_compiler_pgi lang)
+  set(CMAKE_${lang}_OSX_COMPATIBILITY_VERSION_FLAG "-Wl,-compatibility_version,")
+  set(CMAKE_${lang}_OSX_CURRENT_VERSION_FLAG "-Wl,-current_version,")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,-install_name")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-VisualAge-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-VisualAge-C.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-VisualAge-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-VisualAge-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Darwin-VisualAge-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Darwin-VisualAge-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-XL-C.cmake b/share/cmake-3.10/Modules/Platform/Darwin-XL-C.cmake
new file mode 100644
index 0000000..2aeb132
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-XL-C.cmake
@@ -0,0 +1,8 @@
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle")
+
+# Enable shared library versioning.
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-install_name")
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/Darwin-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/Darwin-XL-CXX.cmake
new file mode 100644
index 0000000..f8e1906
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin-XL-CXX.cmake
@@ -0,0 +1,8 @@
+set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "-bundle")
+
+# Enable shared library versioning.
+set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-install_name")
+
+# -qhalt=e       = Halt on error messages (rather than just severe errors)
+string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e")
diff --git a/share/cmake-3.10/Modules/Platform/Darwin.cmake b/share/cmake-3.10/Modules/Platform/Darwin.cmake
new file mode 100644
index 0000000..727baa6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Darwin.cmake
@@ -0,0 +1,215 @@
+set(APPLE 1)
+
+# Darwin versions:
+#   6.x == Mac OSX 10.2 (Jaguar)
+#   7.x == Mac OSX 10.3 (Panther)
+#   8.x == Mac OSX 10.4 (Tiger)
+#   9.x == Mac OSX 10.5 (Leopard)
+#  10.x == Mac OSX 10.6 (Snow Leopard)
+#  11.x == Mac OSX 10.7 (Lion)
+#  12.x == Mac OSX 10.8 (Mountain Lion)
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
+
+# Do not use the "-Wl,-search_paths_first" flag with the OSX 10.2 compiler.
+# Done this way because it is too early to do a TRY_COMPILE.
+if(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
+  set(HAVE_FLAG_SEARCH_PATHS_FIRST 0)
+  if("${DARWIN_MAJOR_VERSION}" GREATER 6)
+    set(HAVE_FLAG_SEARCH_PATHS_FIRST 1)
+  endif()
+endif()
+# More desirable, but does not work:
+  #include(CheckCXXCompilerFlag)
+  #CHECK_CXX_COMPILER_FLAG("-Wl,-search_paths_first" HAVE_FLAG_SEARCH_PATHS_FIRST)
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
+set(CMAKE_SHARED_MODULE_PREFIX "lib")
+set(CMAKE_SHARED_MODULE_SUFFIX ".so")
+set(CMAKE_MODULE_EXISTS 1)
+set(CMAKE_DL_LIBS "")
+
+# Enable rpath support for 10.5 and greater where it is known to work.
+if("${DARWIN_MAJOR_VERSION}" GREATER 8)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+endif()
+
+set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
+set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
+set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
+
+set(CMAKE_C_LINK_FLAGS "-Wl,-headerpad_max_install_names")
+set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names")
+
+if(HAVE_FLAG_SEARCH_PATHS_FIRST)
+  set(CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
+  set(CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
+endif()
+
+set(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+set(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
+set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a")
+
+# hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree
+# (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache
+# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
+# hardcode CMAKE_INSTALL_NAME_TOOL here to install_name_tool, so it behaves as it did before, Alex
+if(NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
+  find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool)
+  mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
+endif()
+
+# Enable shared library versioning.
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
+
+# Xcode does not support -isystem yet.
+if(XCODE)
+  set(CMAKE_INCLUDE_SYSTEM_FLAG_C)
+  set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+endif()
+
+if("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
+  # Need to list dependent shared libraries on link line.  When building
+  # with -isysroot (for universal binaries), the linker always looks for
+  # dependent libraries under the sysroot.  Listing them on the link
+  # line works around the problem.
+  set(CMAKE_LINK_DEPENDENT_LIBRARY_FILES 1)
+endif()
+
+set(CMAKE_C_CREATE_SHARED_LIBRARY
+  "<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY
+  "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+  "<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
+
+set(CMAKE_CXX_CREATE_SHARED_MODULE
+      "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+
+set(CMAKE_C_CREATE_SHARED_MODULE
+      "<CMAKE_C_COMPILER>  <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+
+set(CMAKE_Fortran_CREATE_SHARED_MODULE
+      "<CMAKE_Fortran_COMPILER>  <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+
+set(CMAKE_C_CREATE_MACOSX_FRAMEWORK
+      "<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
+set(CMAKE_CXX_CREATE_MACOSX_FRAMEWORK
+      "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
+
+# Set default framework search path flag for languages known to use a
+# preprocessor that may find headers in frameworks.
+set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F)
+set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F)
+set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F)
+
+# default to searching for frameworks first
+if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
+  set(CMAKE_FIND_FRAMEWORK FIRST)
+endif()
+
+# Older OS X linkers do not report their framework search path
+# with -v but "man ld" documents the following locations.
+set(CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+  ${_CMAKE_OSX_SYSROOT_PATH}/Library/Frameworks
+  ${_CMAKE_OSX_SYSROOT_PATH}/System/Library/Frameworks
+  )
+if(_CMAKE_OSX_SYSROOT_PATH)
+  # Treat some paths as implicit so we do not override the SDK versions.
+  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+    /System/Library/Frameworks)
+endif()
+if("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
+  # Older OS X tools had more implicit paths.
+  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+    ${_CMAKE_OSX_SYSROOT_PATH}/Network/Library/Frameworks)
+endif()
+
+# set up the default search directories for frameworks
+set(CMAKE_SYSTEM_FRAMEWORK_PATH
+  ~/Library/Frameworks
+  )
+if(_CMAKE_OSX_SYSROOT_PATH)
+  list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
+    ${_CMAKE_OSX_SYSROOT_PATH}/Library/Frameworks
+    ${_CMAKE_OSX_SYSROOT_PATH}/Network/Library/Frameworks
+    ${_CMAKE_OSX_SYSROOT_PATH}/System/Library/Frameworks
+    )
+  # add platform developer framework path if exists
+  foreach(_path
+    # Xcode 6
+    ${_CMAKE_OSX_SYSROOT_PATH}/../../Library/Frameworks
+    # Xcode 5 iOS
+    ${_CMAKE_OSX_SYSROOT_PATH}/Developer/Library/Frameworks
+    # Xcode 5 OSX
+    ${_CMAKE_OSX_SYSROOT_PATH}/../../../../../Library/Frameworks
+    )
+    get_filename_component(_abolute_path "${_path}" ABSOLUTE)
+    if(EXISTS "${_abolute_path}")
+      list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH "${_abolute_path}")
+      break()
+    endif()
+  endforeach()
+endif()
+list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
+  /Library/Frameworks
+  /Network/Library/Frameworks
+  /System/Library/Frameworks)
+
+# Warn about known system mis-configuration case.
+if(CMAKE_OSX_SYSROOT)
+  get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
+  if(NOT _IN_TC AND
+     NOT IS_SYMLINK "${CMAKE_OSX_SYSROOT}/Library/Frameworks"
+     AND IS_SYMLINK "${CMAKE_OSX_SYSROOT}/Library/Frameworks/Frameworks")
+    message(WARNING "The SDK Library/Frameworks path\n"
+      " ${CMAKE_OSX_SYSROOT}/Library/Frameworks\n"
+      "is not set up correctly on this system.  "
+      "This is known to occur when installing Xcode 3.2.6:\n"
+      " http://bugs.python.org/issue14018\n"
+      "The problem may cause build errors that report missing system frameworks.  "
+      "Fix your SDK symlinks to resolve this issue and avoid this warning."
+      )
+  endif()
+endif()
+
+# default to searching for application bundles first
+if(NOT DEFINED CMAKE_FIND_APPBUNDLE)
+  set(CMAKE_FIND_APPBUNDLE FIRST)
+endif()
+# set up the default search directories for application bundles
+set(_apps_paths)
+foreach(_path
+  "~/Applications"
+  "/Applications"
+  "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+
+  "${OSX_DEVELOPER_ROOT}/Applications"    # pre-4.3
+  )
+  get_filename_component(_apps "${_path}" ABSOLUTE)
+  if(EXISTS "${_apps}")
+    list(APPEND _apps_paths "${_apps}")
+  endif()
+endforeach()
+if(_apps_paths)
+  list(REMOVE_DUPLICATES _apps_paths)
+endif()
+set(CMAKE_SYSTEM_APPBUNDLE_PATH
+  ${_apps_paths})
+unset(_apps_paths)
+
+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)
+    list(APPEND CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES ${_CMAKE_OSX_SYSROOT_PATH}/usr/include)
+  endforeach()
+endif()
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+  /sw        # Fink
+  /opt/local # MacPorts
+  )
diff --git a/share/cmake-3.6/Modules/Platform/DragonFly.cmake b/share/cmake-3.10/Modules/Platform/DragonFly.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/DragonFly.cmake
rename to share/cmake-3.10/Modules/Platform/DragonFly.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Euros.cmake b/share/cmake-3.10/Modules/Platform/Euros.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Euros.cmake
rename to share/cmake-3.10/Modules/Platform/Euros.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-CXX.cmake b/share/cmake-3.10/Modules/Platform/FreeBSD-Determine-CXX.cmake
similarity index 100%
copy from share/cmake-3.6/Modules/Platform/Linux-CXX.cmake
copy to share/cmake-3.10/Modules/Platform/FreeBSD-Determine-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/FreeBSD.cmake b/share/cmake-3.10/Modules/Platform/FreeBSD.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/FreeBSD.cmake
rename to share/cmake-3.10/Modules/Platform/FreeBSD.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Fuchsia.cmake b/share/cmake-3.10/Modules/Platform/Fuchsia.cmake
new file mode 100644
index 0000000..896da7b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Fuchsia.cmake
@@ -0,0 +1,25 @@
+set(FUCHSIA 1)
+
+set(CMAKE_DL_LIBS "")
+set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
+set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+
+# Shared libraries with no builtin soname may not be linked safely by
+# specifying the file path.
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+
+# Initialize C link type selection flags.  These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+  set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+  set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
diff --git a/share/cmake-3.10/Modules/Platform/GHS-MULTI-Initialize.cmake b/share/cmake-3.10/Modules/Platform/GHS-MULTI-Initialize.cmake
new file mode 100644
index 0000000..bf61d7b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/GHS-MULTI-Initialize.cmake
@@ -0,0 +1,41 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+#Setup Greenhills MULTI specific compilation information
+
+if (NOT GHS_INT_DIRECTORY)
+  #Assume the C:/ghs/int#### directory that is latest is preferred
+  set(GHS_EXPECTED_ROOT "C:/ghs")
+  if (EXISTS ${GHS_EXPECTED_ROOT})
+    FILE(GLOB GHS_CANDIDATE_INT_DIRS RELATIVE
+      ${GHS_EXPECTED_ROOT} ${GHS_EXPECTED_ROOT}/*)
+    string(REGEX MATCHALL  "int[0-9][0-9][0-9][0-9a-z]" GHS_CANDIDATE_INT_DIRS
+      ${GHS_CANDIDATE_INT_DIRS})
+    if (GHS_CANDIDATE_INT_DIRS)
+      list(SORT GHS_CANDIDATE_INT_DIRS)
+      list(GET GHS_CANDIDATE_INT_DIRS -1 GHS_INT_DIRECTORY)
+      string(CONCAT GHS_INT_DIRECTORY ${GHS_EXPECTED_ROOT} "/"
+        ${GHS_INT_DIRECTORY})
+    endif ()
+  endif ()
+
+  #Try to look for known registry values
+  if (NOT GHS_INT_DIRECTORY)
+    find_path(GHS_INT_DIRECTORY INTEGRITY.ld PATHS
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\GreenHillsSoftware6433c345;InstallLocation]" #int1122
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\GreenHillsSoftware289b6625;InstallLocation]" #int1104
+      )
+  endif ()
+
+  set(GHS_INT_DIRECTORY ${GHS_INT_DIRECTORY} CACHE PATH
+    "Path to integrity directory")
+endif ()
+
+set(GHS_OS_DIR ${GHS_INT_DIRECTORY} CACHE PATH "OS directory")
+set(GHS_PRIMARY_TARGET "arm_integrity.tgt" CACHE STRING "target for compilation")
+set(GHS_BSP_NAME "simarm" CACHE STRING "BSP name")
+set(GHS_CUSTOMIZATION "" CACHE FILEPATH "optional GHS customization")
+mark_as_advanced(GHS_CUSTOMIZATION)
+set(GHS_GPJ_MACROS "" CACHE STRING "optional GHS macros generated in the .gpjs for legacy reasons")
+mark_as_advanced(GHS_GPJ_MACROS)
diff --git a/share/cmake-3.10/Modules/Platform/GHS-MULTI.cmake b/share/cmake-3.10/Modules/Platform/GHS-MULTI.cmake
new file mode 100644
index 0000000..60a15c4
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/GHS-MULTI.cmake
@@ -0,0 +1,17 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+
+if(__GHSMULTI)
+  return()
+endif()
+set(__GHSMULTI 1)
+
+set(GHSMULTI 1)
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+
+include(Platform/WindowsPaths)
diff --git a/share/cmake-3.6/Modules/Platform/GNU.cmake b/share/cmake-3.10/Modules/Platform/GNU.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/GNU.cmake
rename to share/cmake-3.10/Modules/Platform/GNU.cmake
diff --git a/share/cmake-3.10/Modules/Platform/GNUtoMS_lib.bat.in b/share/cmake-3.10/Modules/Platform/GNUtoMS_lib.bat.in
new file mode 100644
index 0000000..8613be3
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/GNUtoMS_lib.bat.in
@@ -0,0 +1,4 @@
+@echo off

+set VSCMD_START_DIR=.

+call "@CMAKE_GNUtoMS_BAT@"

+lib /machine:"@CMAKE_GNUtoMS_ARCH@" %*

diff --git a/share/cmake-3.6/Modules/Platform/GNUtoMS_lib.cmake b/share/cmake-3.10/Modules/Platform/GNUtoMS_lib.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/GNUtoMS_lib.cmake
rename to share/cmake-3.10/Modules/Platform/GNUtoMS_lib.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Generic-ADSP-ASM.cmake b/share/cmake-3.10/Modules/Platform/Generic-ADSP-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Generic-ADSP-ASM.cmake
rename to share/cmake-3.10/Modules/Platform/Generic-ADSP-ASM.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Generic-ADSP-C.cmake b/share/cmake-3.10/Modules/Platform/Generic-ADSP-C.cmake
new file mode 100644
index 0000000..de1cee2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Generic-ADSP-C.cmake
@@ -0,0 +1,20 @@
+
+include(Platform/Generic-ADSP-Common)
+
+
+set(CMAKE_C_OUTPUT_EXTENSION ".doj")
+
+string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " ")
+string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ")
+string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " ")
+
+set(CMAKE_C_CREATE_STATIC_LIBRARY
+    "<CMAKE_C_COMPILER> -build-lib -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <TARGET> <CMAKE_C_LINK_FLAGS> <OBJECTS>")
+
+set(CMAKE_C_LINK_EXECUTABLE
+    "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+
+set(CMAKE_C_CREATE_SHARED_LIBRARY)
+set(CMAKE_C_CREATE_MODULE_LIBRARY)
+
diff --git a/share/cmake-3.10/Modules/Platform/Generic-ADSP-CXX.cmake b/share/cmake-3.10/Modules/Platform/Generic-ADSP-CXX.cmake
new file mode 100644
index 0000000..0cde8f2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Generic-ADSP-CXX.cmake
@@ -0,0 +1,18 @@
+include(Platform/Generic-ADSP-Common)
+
+set(CMAKE_CXX_OUTPUT_EXTENSION ".doj")
+
+string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " ")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ")
+string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " ")
+
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY
+     "<CMAKE_CXX_COMPILER> -build-lib -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <TARGET> <CMAKE_CXX_LINK_FLAGS> <OBJECTS>")
+
+set(CMAKE_CXX_LINK_EXECUTABLE
+     "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY)
+set(CMAKE_CXX_CREATE_MODULE_LIBRARY)
+
diff --git a/share/cmake-3.6/Modules/Platform/Generic-ADSP-Common.cmake b/share/cmake-3.10/Modules/Platform/Generic-ADSP-Common.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Generic-ADSP-Common.cmake
rename to share/cmake-3.10/Modules/Platform/Generic-ADSP-Common.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Generic-SDCC-C.cmake b/share/cmake-3.10/Modules/Platform/Generic-SDCC-C.cmake
new file mode 100644
index 0000000..4b3912a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Generic-SDCC-C.cmake
@@ -0,0 +1,54 @@
+
+# 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:
+# cmake -DCMAKE_C_COMPILER=sdcc -DCMAKE_SYSTEM_NAME=Generic <dir...>
+# Since sdcc doesn't support C++, C++ support should be disabled in the
+# CMakeLists.txt using the project() command:
+# project(my_project C)
+
+set(CMAKE_STATIC_LIBRARY_PREFIX "")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
+set(CMAKE_SHARED_LIBRARY_PREFIX "")          # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".lib")          # .so
+set(CMAKE_IMPORT_LIBRARY_PREFIX )
+set(CMAKE_IMPORT_LIBRARY_SUFFIX )
+set(CMAKE_EXECUTABLE_SUFFIX ".ihx")          # intel hex file
+set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
+set(CMAKE_DL_LIBS "")
+
+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
+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")
+endif()
+
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
+  set (CMAKE_EXE_LINKER_FLAGS_INIT --model-small)
+endif()
+
+# compile a C file into an object file
+set(CMAKE_C_COMPILE_OBJECT  "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+
+# 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
+set(CMAKE_C_CREATE_STATIC_LIBRARY
+      "\"${CMAKE_COMMAND}\" -E remove <TARGET>"
+      "<CMAKE_AR> -a <TARGET> <LINK_FLAGS> <OBJECTS> ")
+
+# not supported by sdcc
+set(CMAKE_C_CREATE_SHARED_LIBRARY "")
+set(CMAKE_C_CREATE_MODULE_LIBRARY "")
+
diff --git a/share/cmake-3.6/Modules/Platform/Generic.cmake b/share/cmake-3.10/Modules/Platform/Generic.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Generic.cmake
rename to share/cmake-3.10/Modules/Platform/Generic.cmake
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-GNU-ASM.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-GNU-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX-GNU-ASM.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX-GNU-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX-GNU-C.cmake
diff --git a/share/cmake-3.10/Modules/Platform/HP-UX-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-GNU-CXX.cmake
new file mode 100644
index 0000000..ac72560
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/HP-UX-GNU-CXX.cmake
@@ -0,0 +1,3 @@
+include(Platform/HP-UX-GNU)
+__hpux_compiler_gnu(CXX)
+unset(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN)
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX-GNU-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/HP-UX-GNU.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-GNU.cmake
new file mode 100644
index 0000000..699c4aa
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/HP-UX-GNU.cmake
@@ -0,0 +1,20 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__HPUX_COMPILER_GNU)
+  return()
+endif()
+set(__HPUX_COMPILER_GNU 1)
+
+macro(__hpux_compiler_gnu lang)
+  string(APPEND CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS " -Wl,-E,-b,+nodefaultrpath")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-E")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,+b")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,+h")
+
+  set(CMAKE_${lang}_LINK_FLAGS "-Wl,+s,+nodefaultrpath")
+  unset(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY)
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-HP-ASM.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-HP-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX-HP-ASM.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX-HP-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-HP-C.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-HP-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX-HP-C.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX-HP-C.cmake
diff --git a/share/cmake-3.10/Modules/Platform/HP-UX-HP-CXX.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-HP-CXX.cmake
new file mode 100644
index 0000000..d37d2b0
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/HP-UX-HP-CXX.cmake
@@ -0,0 +1,14 @@
+include(Platform/HP-UX-HP)
+__hpux_compiler_hp(CXX)
+
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
+  "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE>"
+  "mv `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.s <ASSEMBLY_SOURCE>"
+  "rm -f `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.o"
+  )
+
+string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " -g")
+string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " +O3 -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " +O2 -DNDEBUG")
+string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -g")
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-HP-Fortran.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-HP-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX-HP-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX-HP-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/HP-UX-HP.cmake b/share/cmake-3.10/Modules/Platform/HP-UX-HP.cmake
new file mode 100644
index 0000000..b301d17
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/HP-UX-HP.cmake
@@ -0,0 +1,23 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__HPUX_COMPILER_HP)
+  return()
+endif()
+set(__HPUX_COMPILER_HP 1)
+
+macro(__hpux_compiler_hp lang)
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "+Z")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "+Z")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-Wl,-E,+nodefaultrpath -b -L/usr/lib")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-E")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,+b")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,+h")
+
+  string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
+
+  set(CMAKE_${lang}_LINK_FLAGS "-Wl,+s,+nodefaultrpath")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX.cmake b/share/cmake-3.10/Modules/Platform/HP-UX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/HP-UX.cmake
rename to share/cmake-3.10/Modules/Platform/HP-UX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Haiku.cmake b/share/cmake-3.10/Modules/Platform/Haiku.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Haiku.cmake
rename to share/cmake-3.10/Modules/Platform/Haiku.cmake
diff --git a/share/cmake-3.6/Modules/Platform/IRIX.cmake b/share/cmake-3.10/Modules/Platform/IRIX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/IRIX.cmake
rename to share/cmake-3.10/Modules/Platform/IRIX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/IRIX64.cmake b/share/cmake-3.10/Modules/Platform/IRIX64.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/IRIX64.cmake
rename to share/cmake-3.10/Modules/Platform/IRIX64.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Absoft-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-Absoft-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-Absoft-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-Absoft-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-CCur-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-CCur-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-CCur-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-CCur-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Clang-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-Clang-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-Clang-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Clang-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-Clang-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-Clang-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-Clang-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-GNU-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-GNU-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake b/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake
new file mode 100644
index 0000000..ce30a26
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake
@@ -0,0 +1,16 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__LINUX_COMPILER_GNU)
+  return()
+endif()
+set(__LINUX_COMPILER_GNU 1)
+
+macro(__linux_compiler_gnu lang)
+  # We pass this for historical reasons.  Projects may have
+  # executables that use dlopen but do not set ENABLE_EXPORTS.
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic")
+  set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" "-dM" "-E" "-c" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Intel-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-Intel-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-Intel-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Intel-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-Intel-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-Intel-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Linux-Intel-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-Intel-Fortran.cmake
new file mode 100644
index 0000000..d8e94d0
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux-Intel-Fortran.cmake
@@ -0,0 +1,4 @@
+include(Platform/Linux-Intel)
+__linux_compiler_intel(Fortran)
+string(APPEND CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS " -nofor_main")
+set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "")
diff --git a/share/cmake-3.10/Modules/Platform/Linux-Intel.cmake b/share/cmake-3.10/Modules/Platform/Linux-Intel.cmake
new file mode 100644
index 0000000..ee9aac2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux-Intel.cmake
@@ -0,0 +1,50 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__LINUX_COMPILER_INTEL)
+  return()
+endif()
+set(__LINUX_COMPILER_INTEL 1)
+
+if(NOT XIAR)
+  set(_intel_xiar_hints)
+  foreach(lang C CXX Fortran)
+    if(IS_ABSOLUTE "${CMAKE_${lang}_COMPILER}")
+      get_filename_component(_hint "${CMAKE_${lang}_COMPILER}" PATH)
+      list(APPEND _intel_xiar_hints ${_hint})
+    endif()
+  endforeach()
+  find_program(XIAR NAMES xiar HINTS ${_intel_xiar_hints})
+  mark_as_advanced(XIAR)
+endif()
+
+macro(__linux_compiler_intel lang)
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
+
+  # We pass this for historical reasons.  Projects may have
+  # executables that use dlopen but do not set ENABLE_EXPORTS.
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic")
+
+  set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
+
+  if(XIAR)
+    # INTERPROCEDURAL_OPTIMIZATION
+    set(CMAKE_${lang}_COMPILE_OPTIONS_IPO -ipo)
+    set(CMAKE_${lang}_CREATE_STATIC_LIBRARY_IPO
+      "${XIAR} cr <TARGET> <LINK_FLAGS> <OBJECTS> "
+      "${XIAR} -s <TARGET> ")
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+    set(_CMAKE_${lang}_IPO_LEGACY_BEHAVIOR YES)
+  else()
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+  endif()
+
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-NAG-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-NAG-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-NAG-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-NAG-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PGI-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-PGI-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-PGI-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-PGI-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PGI-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-PGI-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-PGI-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-PGI-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PGI-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-PGI-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-PGI-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-PGI-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Linux-PGI.cmake b/share/cmake-3.10/Modules/Platform/Linux-PGI.cmake
new file mode 100644
index 0000000..db032c2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux-PGI.cmake
@@ -0,0 +1,18 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__LINUX_COMPILER_PGI)
+  return()
+endif()
+set(__LINUX_COMPILER_PGI 1)
+
+macro(__linux_compiler_pgi lang)
+  # Shared library compile and link flags.
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
+  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS " ")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PathScale-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-PathScale-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-PathScale-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-PathScale-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PathScale-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-PathScale-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-PathScale-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-PathScale-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PathScale-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-PathScale-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-PathScale-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-PathScale-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Linux-PathScale.cmake b/share/cmake-3.10/Modules/Platform/Linux-PathScale.cmake
new file mode 100644
index 0000000..6070606
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux-PathScale.cmake
@@ -0,0 +1,17 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__LINUX_COMPILER_PATHSCALE)
+  return()
+endif()
+set(__LINUX_COMPILER_PATHSCALE 1)
+
+macro(__linux_compiler_pathscale lang)
+  # Shared library compile and link flags.
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-SunPro-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-SunPro-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-SunPro-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-SunPro-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Linux-TinyCC-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-TinyCC-C.cmake
new file mode 100644
index 0000000..9409d8b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux-TinyCC-C.cmake
@@ -0,0 +1,5 @@
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-soname ")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-rdynamic ")
diff --git a/share/cmake-3.6/Modules/Platform/Linux-VisualAge-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-VisualAge-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-VisualAge-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-VisualAge-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-VisualAge-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-VisualAge-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-VisualAge-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-VisualAge-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-VisualAge-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-VisualAge-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-VisualAge-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-VisualAge-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-XL-C.cmake b/share/cmake-3.10/Modules/Platform/Linux-XL-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-XL-C.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-XL-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-XL-CXX.cmake b/share/cmake-3.10/Modules/Platform/Linux-XL-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-XL-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-XL-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-XL-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Linux-XL-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-XL-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-XL-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Linux-como.cmake b/share/cmake-3.10/Modules/Platform/Linux-como.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Linux-como.cmake
rename to share/cmake-3.10/Modules/Platform/Linux-como.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Linux.cmake b/share/cmake-3.10/Modules/Platform/Linux.cmake
new file mode 100644
index 0000000..1f8c1b4
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Linux.cmake
@@ -0,0 +1,58 @@
+set(CMAKE_DL_LIBS "dl")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+
+# Shared libraries with no builtin soname may not be linked safely by
+# specifying the file path.
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+
+# Initialize C link type selection flags.  These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+  set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+  set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
+
+# Debian policy requires that shared libraries be installed without
+# executable permission.  Fedora policy requires that shared libraries
+# be installed with the executable permission.  Since the native tools
+# create shared libraries with execute permission in the first place a
+# reasonable policy seems to be to install with execute permission by
+# default.  In order to support debian packages we provide an option
+# here.  The option default is based on the current distribution, but
+# packagers can set it explicitly on the command line.
+if(DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  # Store the decision variable in the cache.  This preserves any
+  # setting the user provides on the command line.
+  set(CMAKE_INSTALL_SO_NO_EXE "${CMAKE_INSTALL_SO_NO_EXE}" CACHE INTERNAL
+    "Install .so files without execute permission.")
+else()
+  # Store the decision variable as an internal cache entry to avoid
+  # checking the platform every time.  This option is advanced enough
+  # that only package maintainers should need to adjust it.  They are
+  # capable of providing a setting on the command line.
+  if(EXISTS "/etc/debian_version")
+    set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
+      "Install .so files without execute permission.")
+  else()
+    set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
+      "Install .so files without execute permission.")
+  endif()
+endif()
+
+# Match multiarch library directory names.
+set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
+
+include(Platform/UnixPaths)
+
+# Debian has lib32 and lib64 paths only for compatibility so they should not be
+# searched.
+if(NOT CMAKE_CROSSCOMPILING AND EXISTS "/etc/debian_version")
+  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS FALSE)
+  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
+endif()
diff --git a/share/cmake-3.6/Modules/Platform/MP-RAS.cmake b/share/cmake-3.10/Modules/Platform/MP-RAS.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/MP-RAS.cmake
rename to share/cmake-3.10/Modules/Platform/MP-RAS.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Midipix.cmake b/share/cmake-3.10/Modules/Platform/Midipix.cmake
new file mode 100644
index 0000000..54a156b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Midipix.cmake
@@ -0,0 +1 @@
+include(Platform/UnixPaths)
diff --git a/share/cmake-3.6/Modules/Platform/MirBSD.cmake b/share/cmake-3.10/Modules/Platform/MirBSD.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/MirBSD.cmake
rename to share/cmake-3.10/Modules/Platform/MirBSD.cmake
diff --git a/share/cmake-3.6/Modules/Platform/NetBSD.cmake b/share/cmake-3.10/Modules/Platform/NetBSD.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/NetBSD.cmake
rename to share/cmake-3.10/Modules/Platform/NetBSD.cmake
diff --git a/share/cmake-3.6/Modules/Platform/OSF1.cmake b/share/cmake-3.10/Modules/Platform/OSF1.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/OSF1.cmake
rename to share/cmake-3.10/Modules/Platform/OSF1.cmake
diff --git a/share/cmake-3.10/Modules/Platform/OpenBSD.cmake b/share/cmake-3.10/Modules/Platform/OpenBSD.cmake
new file mode 100644
index 0000000..6466a0a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/OpenBSD.cmake
@@ -0,0 +1,39 @@
+include(Platform/NetBSD)
+
+# On OpenBSD, the compile time linker does not share it's configuration with
+# the runtime linker.  This will extract the library search paths from the
+# system's ld.so.hints file which will allow CMake to set the appropriate
+# -rpath-link flags
+if(NOT CMAKE_PLATFORM_RUNTIME_PATH)
+  execute_process(COMMAND /sbin/ldconfig -r
+                  OUTPUT_VARIABLE LDCONFIG_HINTS
+                  ERROR_QUIET)
+  string(REGEX REPLACE ".*search\\ directories:\\ ([^\n]*).*" "\\1"
+         LDCONFIG_HINTS "${LDCONFIG_HINTS}")
+  string(REPLACE ":" ";"
+         CMAKE_PLATFORM_RUNTIME_PATH
+         "${LDCONFIG_HINTS}")
+endif()
+
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_OPENBSD_VERSIONING 1)
+
+# OpenBSD has no multilib
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS FALSE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
+
+# OpenBSD policy requires that shared libraries be installed without
+# executable permission.
+set(CMAKE_INSTALL_SO_NO_EXE 1)
+
+if($ENV{LOCALBASE})
+  set(OPENBSD_LOCALBASE $ENV{LOCALBASE})
+else()
+  set(OPENBSD_LOCALBASE /usr/local)
+endif()
+if($ENV{X11BASE})
+  set(OPENBSD_X11BASE $ENV{X11BASE})
+else()
+  set(OPENBSD_X11BASE /usr/X11R6)
+endif()
+
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${OPENBSD_LOCALBASE})
diff --git a/share/cmake-3.6/Modules/Platform/OpenVMS.cmake b/share/cmake-3.10/Modules/Platform/OpenVMS.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/OpenVMS.cmake
rename to share/cmake-3.10/Modules/Platform/OpenVMS.cmake
diff --git a/share/cmake-3.6/Modules/Platform/QNX.cmake b/share/cmake-3.10/Modules/Platform/QNX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/QNX.cmake
rename to share/cmake-3.10/Modules/Platform/QNX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/RISCos.cmake b/share/cmake-3.10/Modules/Platform/RISCos.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/RISCos.cmake
rename to share/cmake-3.10/Modules/Platform/RISCos.cmake
diff --git a/share/cmake-3.10/Modules/Platform/SCO_SV.cmake b/share/cmake-3.10/Modules/Platform/SCO_SV.cmake
new file mode 100644
index 0000000..1cb4b38
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/SCO_SV.cmake
@@ -0,0 +1,3 @@
+set(CMAKE_DL_LIBS "")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h,")
+include(Platform/UnixPaths)
diff --git a/share/cmake-3.6/Modules/Platform/SINIX.cmake b/share/cmake-3.10/Modules/Platform/SINIX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SINIX.cmake
rename to share/cmake-3.10/Modules/Platform/SINIX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/SunOS-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SunOS-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/SunOS-GNU-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/SunOS-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SunOS-GNU-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/SunOS-GNU-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/SunOS-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SunOS-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/SunOS-GNU-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/SunOS-GNU.cmake b/share/cmake-3.10/Modules/Platform/SunOS-GNU.cmake
new file mode 100644
index 0000000..485f235
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/SunOS-GNU.cmake
@@ -0,0 +1,24 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__SUNOS_COMPILER_GNU)
+  return()
+endif()
+set(__SUNOS_COMPILER_GNU 1)
+
+macro(__sunos_compiler_gnu lang)
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-R")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,-h")
+
+  # Initialize C link type selection flags.  These flags are used when
+  # building a shared library, shared module, or executable that links
+  # to other libraries to select whether to use the static or shared
+  # versions of the libraries.
+  foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+    set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
+    set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
+  endforeach()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-PathScale-C.cmake b/share/cmake-3.10/Modules/Platform/SunOS-PathScale-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SunOS-PathScale-C.cmake
rename to share/cmake-3.10/Modules/Platform/SunOS-PathScale-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-PathScale-CXX.cmake b/share/cmake-3.10/Modules/Platform/SunOS-PathScale-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SunOS-PathScale-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/SunOS-PathScale-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-PathScale-Fortran.cmake b/share/cmake-3.10/Modules/Platform/SunOS-PathScale-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/SunOS-PathScale-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/SunOS-PathScale-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/SunOS-PathScale.cmake b/share/cmake-3.10/Modules/Platform/SunOS-PathScale.cmake
new file mode 100644
index 0000000..25ead80
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/SunOS-PathScale.cmake
@@ -0,0 +1,21 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__SUNOS_COMPILER_PATHSCALE)
+  return()
+endif()
+set(__SUNOS_COMPILER_PATHSCALE 1)
+
+macro(__sunos_compiler_pathscale lang)
+  # Shared library compile and link flags.
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
+
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-R")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,-h")
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/SunOS.cmake b/share/cmake-3.10/Modules/Platform/SunOS.cmake
new file mode 100644
index 0000000..e19e89a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/SunOS.cmake
@@ -0,0 +1,23 @@
+if(CMAKE_SYSTEM MATCHES "SunOS-4")
+   set(CMAKE_C_COMPILE_OPTIONS_PIC "-PIC")
+   set(CMAKE_C_COMPILE_OPTIONS_PIE "-PIE")
+   set(CMAKE_SHARED_LIBRARY_C_FLAGS "-PIC")
+   set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r")
+   set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-R")
+   set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+endif()
+
+include(Platform/UnixPaths)
+
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+  /opt/csw
+  /opt/openwin
+  )
+
+# The Sun linker needs to find transitive shared library dependencies
+# in the -L path.
+set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
+
+# Shared libraries with no builtin soname may not be linked safely by
+# specifying the file path.
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
diff --git a/share/cmake-3.6/Modules/Platform/Tru64.cmake b/share/cmake-3.10/Modules/Platform/Tru64.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Tru64.cmake
rename to share/cmake-3.10/Modules/Platform/Tru64.cmake
diff --git a/share/cmake-3.6/Modules/Platform/ULTRIX.cmake b/share/cmake-3.10/Modules/Platform/ULTRIX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/ULTRIX.cmake
rename to share/cmake-3.10/Modules/Platform/ULTRIX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/UNIX_SV.cmake b/share/cmake-3.10/Modules/Platform/UNIX_SV.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/UNIX_SV.cmake
rename to share/cmake-3.10/Modules/Platform/UNIX_SV.cmake
diff --git a/share/cmake-3.10/Modules/Platform/UnixPaths.cmake b/share/cmake-3.10/Modules/Platform/UnixPaths.cmake
new file mode 100644
index 0000000..328d3c6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/UnixPaths.cmake
@@ -0,0 +1,79 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Block multiple inclusion because "CMakeCInformation.cmake" includes
+# "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module
+# "CMakeSystemSpecificInformation.cmake" already included it.
+# The extra inclusion is a work-around documented next to the include()
+# call, so this can be removed when the work-around is removed.
+if(__UNIX_PATHS_INCLUDED)
+  return()
+endif()
+set(__UNIX_PATHS_INCLUDED 1)
+
+set(UNIX 1)
+
+# also add the install directory of the running cmake to the search directories
+# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
+get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
+get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+
+# List common installation prefixes.  These will be used for all
+# search types.
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+  # Standard
+  /usr/local /usr /
+
+  # CMake install location
+  "${_CMAKE_INSTALL_DIR}"
+  )
+if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
+  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+    # Project install destination.
+    "${CMAKE_INSTALL_PREFIX}"
+  )
+  if(CMAKE_STAGING_PREFIX)
+    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+      # User-supplied staging prefix.
+      "${CMAKE_STAGING_PREFIX}"
+    )
+  endif()
+endif()
+
+# Non "standard" but common install prefixes
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+  /usr/X11R6
+  /usr/pkg
+  /opt
+  )
+
+# List common include file locations not under the common prefixes.
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+  # X11
+  /usr/include/X11
+  )
+
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+  # X11
+  /usr/lib/X11
+  )
+
+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
+  )
+
+list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+  /usr/include
+  )
+list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+  /usr/include
+  )
+list(APPEND CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES
+  /usr/include
+  )
+
+# Enable use of lib32 and lib64 search path variants by default.
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS TRUE)
diff --git a/share/cmake-3.6/Modules/Platform/UnixWare.cmake b/share/cmake-3.10/Modules/Platform/UnixWare.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/UnixWare.cmake
rename to share/cmake-3.10/Modules/Platform/UnixWare.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Borland-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-Borland-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Borland-C.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Borland-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Borland-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-Borland-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Borland-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Borland-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Clang-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-Clang-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Clang-C.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Clang-C.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Clang-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-Clang-CXX.cmake
new file mode 100644
index 0000000..f1d40f2
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Clang-CXX.cmake
@@ -0,0 +1,3 @@
+include(Platform/Windows-Clang)
+set(_COMPILE_CXX_MSVC " -TP")
+__windows_compiler_clang(CXX)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Clang.cmake b/share/cmake-3.10/Modules/Platform/Windows-Clang.cmake
new file mode 100644
index 0000000..007ae53
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Clang.cmake
@@ -0,0 +1,23 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_CLANG)
+  return()
+endif()
+set(__WINDOWS_CLANG 1)
+
+if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
+    OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+  include(Platform/Windows-MSVC)
+  macro(__windows_compiler_clang lang)
+    set(_COMPILE_${lang} "${_COMPILE_${lang}_MSVC}")
+    __windows_compiler_msvc(${lang})
+  endmacro()
+else()
+  include(Platform/Windows-GNU)
+  macro(__windows_compiler_clang lang)
+    __windows_compiler_gnu(${lang})
+  endmacro()
+endif()
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-Determine-CXX.cmake
similarity index 100%
copy from share/cmake-3.6/Modules/Platform/CYGWIN-CXX.cmake
copy to share/cmake-3.10/Modules/Platform/Windows-Determine-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Embarcadero-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-Embarcadero-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Embarcadero-C.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Embarcadero-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Embarcadero-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-Embarcadero-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Embarcadero-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Embarcadero-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Embarcadero.cmake b/share/cmake-3.10/Modules/Platform/Windows-Embarcadero.cmake
new file mode 100644
index 0000000..f8e1c9e
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Embarcadero.cmake
@@ -0,0 +1,127 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_EMBARCADERO)
+  return()
+endif()
+set(__WINDOWS_EMBARCADERO 1)
+
+set(BORLAND 1)
+
+if("${CMAKE_${_lang}_COMPILER_VERSION}" VERSION_LESS 6.30)
+  # Borland target type flags (bcc32 -h -t):
+  set(_tW "-tW")       # -tW  GUI App         (implies -U__CONSOLE__)
+  set(_tC "-tWC")      # -tWC Console App     (implies -D__CONSOLE__=1)
+  set(_tD "-tWD")      # -tWD Build a DLL     (implies -D__DLL__=1 -D_DLL=1)
+  set(_tM "-tWM")      # -tWM Enable threads  (implies -D__MT__=1 -D_MT=1)
+  set(_tR "-tWR -tW-") # -tWR Use DLL runtime (implies -D_RTLDLL, and '-tW' too!!)
+  # Notes:
+  #  - The flags affect linking so we pass them to the linker.
+  #  - The flags affect preprocessing so we pass them to the compiler.
+  #  - Since '-tWR' implies '-tW' we use '-tWR -tW-' instead.
+  #  - Since '-tW-' disables '-tWD' we use '-tWR -tW- -tWD' for DLLs.
+else()
+  set(EMBARCADERO 1)
+  set(_tC "-tC") # Target is a console application
+  set(_tD "-tD") # Target is a shared library
+  set(_tM "-tM") # Target is multi-threaded
+  set(_tR "-tR") # Target uses the dynamic RTL
+  set(_tW "-tW") # Target is a Windows application
+endif()
+set(_COMPILE_C "-c")
+set(_COMPILE_CXX "-P -c")
+
+set(CMAKE_LIBRARY_PATH_FLAG "-L")
+set(CMAKE_LINK_LIBRARY_FLAG "")
+
+set(CMAKE_FIND_LIBRARY_SUFFIXES "-bcc.lib" ".lib")
+
+# uncomment these out to debug makefiles
+#set(CMAKE_START_TEMP_FILE "")
+#set(CMAKE_END_TEMP_FILE "")
+#set(CMAKE_VERBOSE_MAKEFILE 1)
+
+# Borland cannot handle + in the file name, so mangle object file name
+set (CMAKE_MANGLE_OBJECT_FILE_NAMES "ON")
+
+# extra flags for a win32 exe
+set(CMAKE_CREATE_WIN32_EXE "${_tW}" )
+# extra flags for a console app
+set(CMAKE_CREATE_CONSOLE_EXE "${_tC}" )
+
+set (CMAKE_BUILD_TYPE Debug CACHE STRING
+     "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
+
+foreach(t EXE SHARED MODULE)
+  string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_tM} -lS:1048576 -lSc:4098 -lH:1048576 -lHc:8192 ")
+  string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " -v")
+  string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " -v")
+endforeach()
+
+# The Borland link tool does not support multiple concurrent
+# invocations within a single working directory.
+if(NOT DEFINED CMAKE_JOB_POOL_LINK)
+  set(CMAKE_JOB_POOL_LINK BCC32LinkPool)
+  get_property(_bccjp GLOBAL PROPERTY JOB_POOLS)
+  if(NOT _bccjp MATCHES "BCC32LinkPool=")
+      set_property(GLOBAL APPEND PROPERTY JOB_POOLS BCC32LinkPool=1)
+  endif()
+  unset(_bccjp)
+endif()
+
+macro(__embarcadero_language lang)
+  set(CMAKE_${lang}_COMPILE_OPTIONS_DLL "${_tD}") # Note: This variable is a ';' separated list
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "${_tD}") # ... while this is a space separated string.
+  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1)
+
+  # compile a source file into an object file
+  # place <DEFINES> outside the response file because Borland refuses
+  # to parse quotes from the response file.
+  set(CMAKE_${lang}_COMPILE_OBJECT
+    "<CMAKE_${lang}_COMPILER> ${_tR} -DWIN32 <DEFINES> <INCLUDES> <FLAGS> -o<OBJECT> ${_COMPILE_${lang}} <SOURCE>"
+    )
+
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> ${_tR} -e<TARGET> <LINK_FLAGS> <FLAGS> ${CMAKE_START_TEMP_FILE} <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
+    # "implib -c -w <TARGET_IMPLIB> <TARGET>"
+    )
+
+  # place <DEFINES> outside the response file because Borland refuses
+  # to parse quotes from the response file.
+  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
+    "cpp32 -DWIN32 <DEFINES> <INCLUDES> <FLAGS> -o<PREPROCESSED_SOURCE> ${_COMPILE_${lang}} <SOURCE>"
+    )
+  # Borland >= 5.6 allows -P option for cpp32, <= 5.5 does not
+
+  # Create a module library.
+  set(CMAKE_${lang}_CREATE_SHARED_MODULE
+    "<CMAKE_${lang}_COMPILER> ${_tR} ${_tD} ${CMAKE_START_TEMP_FILE}-e<TARGET> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
+    )
+
+  # Create an import library for another target.
+  set(CMAKE_${lang}_CREATE_IMPORT_LIBRARY
+    "implib -c -w <TARGET_IMPLIB> <TARGET>"
+    )
+
+  # Create a shared library.
+  # First create a module and then its import library.
+  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+    ${CMAKE_${lang}_CREATE_SHARED_MODULE}
+    ${CMAKE_${lang}_CREATE_IMPORT_LIBRARY}
+    )
+
+  # create a static library
+  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
+    "tlib ${CMAKE_START_TEMP_FILE}/p512 <LINK_FLAGS> /a <TARGET_QUOTED> <OBJECTS>${CMAKE_END_TEMP_FILE}"
+    )
+
+  # Initial configuration flags.
+  string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_tM}")
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -Od -v")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -O1 -DNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O2 -DNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -Od")
+  set(CMAKE_${lang}_STANDARD_LIBRARIES_INIT "import32.lib")
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-G95-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Windows-G95-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-G95-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-G95-Fortran.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU-C-ABI.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU-C-ABI.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-GNU-C-ABI.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-GNU-C-ABI.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-GNU-C.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-GNU-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU-CXX-ABI.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU-CXX-ABI.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-GNU-CXX-ABI.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-GNU-CXX-ABI.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-GNU-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-GNU-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU-Fortran-ABI.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU-Fortran.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-GNU-Fortran.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-GNU-Fortran.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Windows-GNU.cmake b/share/cmake-3.10/Modules/Platform/Windows-GNU.cmake
new file mode 100644
index 0000000..cfb325b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-GNU.cmake
@@ -0,0 +1,207 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_GNU)
+  return()
+endif()
+set(__WINDOWS_GNU 1)
+
+set(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
+set(CMAKE_SHARED_MODULE_PREFIX  "lib")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+
+set(CMAKE_EXECUTABLE_SUFFIX     ".exe")
+set(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
+set(CMAKE_SHARED_MODULE_SUFFIX  ".dll")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+
+if(MSYS OR MINGW)
+  set(CMAKE_EXTRA_LINK_EXTENSIONS ".lib") # MinGW can also link to a MS .lib
+endif()
+
+if(MINGW)
+  set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".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()
+
+set(CMAKE_DL_LIBS "")
+set(CMAKE_LIBRARY_PATH_FLAG "-L")
+set(CMAKE_LINK_LIBRARY_FLAG "-l")
+set(CMAKE_LINK_DEF_FILE_FLAG "") # Empty string: passing the file is enough
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_CREATE_WIN32_EXE  "-mwindows")
+
+set(CMAKE_GNULD_IMAGE_VERSION
+  "-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
+
+# Check if GNU ld is too old to support @FILE syntax.
+set(__WINDOWS_GNU_LD_RESPONSE 1)
+execute_process(COMMAND ld -v OUTPUT_VARIABLE _help ERROR_VARIABLE _help)
+if("${_help}" MATCHES "GNU ld .* 2\\.1[1-6]")
+  set(__WINDOWS_GNU_LD_RESPONSE 0)
+endif()
+
+if(NOT CMAKE_GENERATOR_RC AND CMAKE_GENERATOR MATCHES "Unix Makefiles")
+  set(CMAKE_GENERATOR_RC windres)
+endif()
+
+macro(__windows_compiler_gnu lang)
+
+  if(MSYS OR MINGW)
+    # Create archiving rules to support large object file lists for static libraries.
+    set(CMAKE_${lang}_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
+    set(CMAKE_${lang}_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
+    set(CMAKE_${lang}_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+
+    # Initialize C link type selection flags.  These flags are used when
+    # building a shared library, shared module, or executable that links
+    # to other libraries to select whether to use the static or shared
+    # versions of the libraries.
+    foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+      set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
+      set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
+    endforeach()
+  endif()
+
+  # No -fPIC on Windows
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "")
+  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
+
+  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS ${__WINDOWS_GNU_LD_RESPONSE})
+  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_LIBRARIES ${__WINDOWS_GNU_LD_RESPONSE})
+  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1)
+
+  # We prefer "@" for response files but it is not supported by gcc 3.
+  execute_process(COMMAND ${CMAKE_${lang}_COMPILER} --version OUTPUT_VARIABLE _ver ERROR_VARIABLE _ver)
+  if("${_ver}" MATCHES "\\(GCC\\) 3\\.")
+    if("${lang}" STREQUAL "Fortran")
+      # The GNU Fortran compiler reports an error:
+      #   no input files; unwilling to write output files
+      # when the response file is passed with "-Wl,@".
+      set(CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 0)
+    else()
+      # Use "-Wl,@" to pass the response file to the linker.
+      set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-Wl,@")
+    endif()
+    # The GNU 3.x compilers do not support response files (only linkers).
+    set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 0)
+    # Link libraries are generated only for the front-end.
+    set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
+  else()
+    # Use "@" to pass the response file to the front-end.
+    set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "@")
+  endif()
+
+  # Binary link rules.
+  set(CMAKE_${lang}_CREATE_SHARED_MODULE
+    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_MODULE_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "<CMAKE_${lang}_COMPILER> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
+
+  list(APPEND CMAKE_${lang}_ABI_FILES "Platform/Windows-GNU-${lang}-ABI")
+
+  # Support very long lists of object files.
+  # TODO: check for which gcc versions this is still needed, not needed for gcc >= 4.4.
+  # Ninja generator doesn't support this work around.
+  if("${CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG}" STREQUAL "@" AND NOT CMAKE_GENERATOR MATCHES "Ninja")
+    foreach(rule CREATE_SHARED_MODULE CREATE_SHARED_LIBRARY LINK_EXECUTABLE)
+      # The gcc/collect2/ld toolchain does not use response files
+      # internally so we cannot pass long object lists.  Instead pass
+      # the object file list in a response file to the archiver to put
+      # them in a temporary archive.  Hand the archive to the linker.
+      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_AR> cr <OBJECT_DIR>/objects.a <OBJECTS>"
+        "${CMAKE_${lang}_${rule}}"
+        )
+    endforeach()
+  endif()
+
+  if(NOT CMAKE_RC_COMPILER_INIT AND NOT CMAKE_GENERATOR_RC)
+    set(CMAKE_RC_COMPILER_INIT windres)
+  endif()
+
+  enable_language(RC)
+endmacro()
+
+macro(__windows_compiler_gnu_abi lang)
+  if(CMAKE_NO_GNUtoMS)
+    set(CMAKE_GNUtoMS 0)
+  else()
+    option(CMAKE_GNUtoMS "Convert GNU import libraries to MS format (requires Visual Studio)" OFF)
+  endif()
+
+  if(CMAKE_GNUtoMS AND NOT CMAKE_GNUtoMS_LIB)
+    # Find MS development environment setup script for this architecture.
+    # We need to use the MS Librarian tool (lib.exe).
+    # Find the most recent version available.
+
+    # Query the VS Installer tool for locations of VS 2017 and above.
+    set(_vs_installer_paths "")
+    foreach(vs RANGE 15 15 -1) # change the first number to the largest supported version
+      cmake_host_system_information(RESULT _vs_dir QUERY VS_${vs}_DIR)
+      if(_vs_dir)
+        list(APPEND _vs_installer_paths "${_vs_dir}/VC/Auxiliary/Build")
+      endif()
+    endforeach(vs)
+
+    if("${CMAKE_SIZEOF_VOID_P}" EQUAL 4)
+      find_program(CMAKE_GNUtoMS_VCVARS NAMES vcvars32.bat
+        DOC "Visual Studio vcvars32.bat"
+        PATHS
+        ${_vs_installer_paths}
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC;ProductDir]/bin"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Setup\\Microsoft Visual C++;ProductDir]/bin"
+        )
+      set(CMAKE_GNUtoMS_ARCH x86)
+    elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
+      find_program(CMAKE_GNUtoMS_VCVARS NAMES vcvars64.bat vcvarsamd64.bat
+        DOC "Visual Studio vcvarsamd64.bat"
+        PATHS
+        ${_vs_installer_paths}
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0\\Setup\\VC;ProductDir]/bin/amd64"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VC;ProductDir]/bin/amd64"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VC;ProductDir]/bin/amd64"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/bin/amd64"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VC;ProductDir]/bin/amd64"
+        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/bin/amd64"
+        )
+      set(CMAKE_GNUtoMS_ARCH amd64)
+    endif()
+    unset(_vs_installer_paths)
+    set_property(CACHE CMAKE_GNUtoMS_VCVARS PROPERTY ADVANCED 1)
+    if(CMAKE_GNUtoMS_VCVARS)
+      # Create helper script to run lib.exe from MS environment.
+      string(REPLACE "/" "\\" CMAKE_GNUtoMS_BAT "${CMAKE_GNUtoMS_VCVARS}")
+      set(CMAKE_GNUtoMS_LIB ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeGNUtoMS_lib.bat)
+      configure_file(${CMAKE_ROOT}/Modules/Platform/GNUtoMS_lib.bat.in ${CMAKE_GNUtoMS_LIB})
+    else()
+      message(WARNING "Disabling CMAKE_GNUtoMS option because CMAKE_GNUtoMS_VCVARS is not set.")
+      set(CMAKE_GNUtoMS 0)
+    endif()
+  endif()
+
+  if(CMAKE_GNUtoMS)
+    # Teach CMake how to create a MS import library at link time.
+    set(CMAKE_${lang}_GNUtoMS_RULE " -Wl,--output-def,<TARGET_NAME>.def"
+      "<CMAKE_COMMAND> -Dlib=\"${CMAKE_GNUtoMS_LIB}\" -Ddef=<TARGET_NAME>.def -Ddll=<TARGET> -Dimp=<TARGET_IMPLIB> -P \"${CMAKE_ROOT}/Modules/Platform/GNUtoMS_lib.cmake\""
+      )
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Intel-ASM.cmake b/share/cmake-3.10/Modules/Platform/Windows-Intel-ASM.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Intel-ASM.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Intel-ASM.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Intel-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-Intel-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Intel-C.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Intel-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Intel-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-Intel-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-Intel-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-Intel-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Intel-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Windows-Intel-Fortran.cmake
new file mode 100644
index 0000000..3981a09
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Intel-Fortran.cmake
@@ -0,0 +1,11 @@
+include(Platform/Windows-Intel)
+set(CMAKE_BUILD_TYPE_INIT Debug)
+set(_COMPILE_Fortran " /fpp")
+set(CMAKE_Fortran_MODDIR_FLAG "-module:")
+set(CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
+__windows_compiler_intel(Fortran)
+string(APPEND CMAKE_Fortran_FLAGS_INIT " /W1 /nologo /fpp /libs:dll /threads")
+string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " /Od /debug:full /dbglibs")
+string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " /O1 /DNDEBUG")
+string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " /O2 /DNDEBUG")
+string(APPEND CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT " /O2 /debug:full /DNDEBUG")
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Intel.cmake b/share/cmake-3.10/Modules/Platform/Windows-Intel.cmake
new file mode 100644
index 0000000..ba31001
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Intel.cmake
@@ -0,0 +1,18 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_INTEL)
+  return()
+endif()
+set(__WINDOWS_INTEL 1)
+
+include(Platform/Windows-MSVC)
+macro(__windows_compiler_intel lang)
+  __windows_compiler_msvc(${lang})
+  string(REPLACE "<CMAKE_LINKER> /lib" "lib" CMAKE_${lang}_CREATE_STATIC_LIBRARY "${CMAKE_${lang}_CREATE_STATIC_LIBRARY}")
+  foreach(rule CREATE_SHARED_LIBRARY CREATE_SHARED_MODULE LINK_EXECUTABLE)
+    string(REPLACE "<CMAKE_LINKER>" "xilink" CMAKE_${lang}_${rule} "${CMAKE_${lang}_${rule}}")
+  endforeach()
+endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-MSVC-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-MSVC-C.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-MSVC-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Windows-MSVC-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-MSVC-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-MSVC-CXX.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Windows-MSVC.cmake b/share/cmake-3.10/Modules/Platform/Windows-MSVC.cmake
new file mode 100644
index 0000000..4719563
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-MSVC.cmake
@@ -0,0 +1,325 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_MSVC)
+  return()
+endif()
+set(__WINDOWS_MSVC 1)
+
+set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
+set(CMAKE_LINK_LIBRARY_FLAG "")
+set(MSVC 1)
+
+# hack: if a new cmake (which uses CMAKE_LINKER) runs on an old build tree
+# (where link was hardcoded) and where CMAKE_LINKER isn't in the cache
+# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
+# hardcode CMAKE_LINKER here to link, so it behaves as it did before, Alex
+if(NOT DEFINED CMAKE_LINKER)
+   set(CMAKE_LINKER link)
+endif()
+
+if(CMAKE_VERBOSE_MAKEFILE)
+  set(CMAKE_CL_NOLOGO)
+else()
+  set(CMAKE_CL_NOLOGO "/nologo")
+endif()
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsCE")
+  set(CMAKE_CREATE_WIN32_EXE "/entry:WinMainCRTStartup")
+  set(CMAKE_CREATE_CONSOLE_EXE "/entry:mainACRTStartup")
+  set(_PLATFORM_LINK_FLAGS " /subsystem:windowsce")
+else()
+  set(CMAKE_CREATE_WIN32_EXE "/subsystem:windows")
+  set(CMAKE_CREATE_CONSOLE_EXE "/subsystem:console")
+  set(_PLATFORM_LINK_FLAGS "")
+endif()
+
+set(CMAKE_SUPPORT_WINDOWS_EXPORT_ALL_SYMBOLS 1)
+if(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
+  set (CMAKE_NO_BUILD_TYPE 1)
+endif()
+
+if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
+  set(MSVC_IDE 1)
+else()
+  set(MSVC_IDE 0)
+endif()
+
+if(NOT MSVC_VERSION)
+  if(CMAKE_C_SIMULATE_VERSION)
+    set(_compiler_version ${CMAKE_C_SIMULATE_VERSION})
+  elseif(CMAKE_CXX_SIMULATE_VERSION)
+    set(_compiler_version ${CMAKE_CXX_SIMULATE_VERSION})
+  elseif(CMAKE_Fortran_SIMULATE_VERSION)
+    set(_compiler_version ${CMAKE_Fortran_SIMULATE_VERSION})
+  elseif(CMAKE_CUDA_SIMULATE_VERSION)
+    set(_compiler_version ${CMAKE_CUDA_SIMULATE_VERSION})
+  elseif(CMAKE_C_COMPILER_VERSION)
+    set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
+  else()
+    set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
+  endif()
+  if("${_compiler_version}" MATCHES "^([0-9]+)\\.([0-9]+)")
+    math(EXPR MSVC_VERSION "${CMAKE_MATCH_1}*100 + ${CMAKE_MATCH_2}")
+  else()
+    message(FATAL_ERROR "MSVC compiler version not detected properly: ${_compiler_version}")
+  endif()
+
+  set(MSVC10)
+  set(MSVC11)
+  set(MSVC12)
+  set(MSVC14)
+  set(MSVC60)
+  set(MSVC70)
+  set(MSVC71)
+  set(MSVC80)
+  set(MSVC90)
+  set(CMAKE_COMPILER_2005)
+  set(CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+  if(NOT "${_compiler_version}" VERSION_LESS 20)
+    # We no longer provide per-version variables.  Use MSVC_VERSION instead.
+  elseif(NOT "${_compiler_version}" VERSION_LESS 19)
+    set(MSVC14 1)
+  elseif(NOT "${_compiler_version}" VERSION_LESS 18)
+    set(MSVC12 1)
+  elseif(NOT "${_compiler_version}" VERSION_LESS 17)
+    set(MSVC11 1)
+  elseif(NOT  "${_compiler_version}" VERSION_LESS 16)
+    set(MSVC10 1)
+  elseif(NOT  "${_compiler_version}" VERSION_LESS 15)
+    set(MSVC90 1)
+  elseif(NOT  "${_compiler_version}" VERSION_LESS 14)
+    set(MSVC80 1)
+    set(CMAKE_COMPILER_2005 1)
+  elseif(NOT  "${_compiler_version}" VERSION_LESS 13.10)
+    set(MSVC71 1)
+  elseif(NOT  "${_compiler_version}" VERSION_LESS 13)
+    set(MSVC70 1)
+  else()
+    set(MSVC60 1)
+    set(CMAKE_COMPILER_SUPPORTS_PDBTYPE 1)
+  endif()
+endif()
+
+if(MSVC_C_ARCHITECTURE_ID MATCHES 64 OR MSVC_CXX_ARCHITECTURE_ID MATCHES 64)
+  set(CMAKE_CL_64 1)
+else()
+  set(CMAKE_CL_64 0)
+endif()
+if(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
+  set(CMAKE_CL_64 1)
+endif()
+
+if("${MSVC_VERSION}" GREATER 1599)
+  set(MSVC_INCREMENTAL_DEFAULT ON)
+endif()
+
+# default to Debug builds
+set(CMAKE_BUILD_TYPE_INIT Debug)
+
+# Compute an architecture family from the architecture id.
+foreach(lang C CXX)
+  set(_MSVC_${lang}_ARCHITECTURE_FAMILY "${MSVC_${lang}_ARCHITECTURE_ID}")
+  if(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^ARM64")
+    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "ARM64")
+  elseif(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^ARM")
+    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "ARM")
+  elseif(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^SH")
+    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "SHx")
+  endif()
+endforeach()
+
+if(WINCE)
+  foreach(lang C CXX)
+    string(TOUPPER "${_MSVC_${lang}_ARCHITECTURE_FAMILY}" _MSVC_${lang}_ARCHITECTURE_FAMILY_UPPER)
+  endforeach()
+
+  if("${CMAKE_SYSTEM_VERSION}" MATCHES "^([0-9]+)\\.([0-9]+)")
+    math(EXPR _CE_VERSION "${CMAKE_MATCH_1}*100 + ${CMAKE_MATCH_2}")
+  elseif("${CMAKE_SYSTEM_VERSION}" STREQUAL "")
+    set(_CE_VERSION "500")
+  else()
+    message(FATAL_ERROR "Invalid Windows CE version: ${CMAKE_SYSTEM_VERSION}")
+  endif()
+
+  set(_PLATFORM_DEFINES "/D_WIN32_WCE=0x${_CE_VERSION} /DUNDER_CE /DWINCE")
+  set(_PLATFORM_DEFINES_C " /D${_MSVC_C_ARCHITECTURE_FAMILY} /D_${_MSVC_C_ARCHITECTURE_FAMILY_UPPER}_")
+  set(_PLATFORM_DEFINES_CXX " /D${_MSVC_CXX_ARCHITECTURE_FAMILY} /D_${_MSVC_CXX_ARCHITECTURE_FAMILY_UPPER}_")
+
+  set(_RTC1 "")
+  set(_FLAGS_C "")
+  set(_FLAGS_CXX " /GR /EHsc")
+
+  foreach(lang C CXX)
+    if(_MSVC_${lang}_ARCHITECTURE_FAMILY STREQUAL "ARM")
+      string(APPEND _PLATFORM_DEFINES_${lang} " /D${MSVC_${lang}_ARCHITECTURE_ID}")
+      if(MSVC_${lang}_ARCHITECTURE_ID MATCHES "^ARMV([45])I$")
+        string(APPEND _FLAGS_${lang} " /QRarch${CMAKE_MATCH_1}T")
+      endif()
+    endif()
+  endforeach()
+
+  set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
+  foreach(t EXE SHARED MODULE)
+    string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
+  endforeach()
+
+  if (MSVC_VERSION LESS 1600)
+    string(APPEND CMAKE_C_STANDARD_LIBRARIES_INIT " corelibc.lib")
+  endif ()
+elseif(WINDOWS_PHONE OR WINDOWS_STORE)
+  set(_PLATFORM_DEFINES "/DWIN32")
+  set(_FLAGS_C " /DUNICODE /D_UNICODE")
+  set(_FLAGS_CXX " /DUNICODE /D_UNICODE /GR /EHsc")
+  if(WINDOWS_STORE AND MSVC_VERSION GREATER 1899)
+    set(CMAKE_C_STANDARD_LIBRARIES_INIT "WindowsApp.lib")
+  elseif(WINDOWS_PHONE)
+    set(CMAKE_C_STANDARD_LIBRARIES_INIT "WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib")
+  elseif(_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")
+    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
+  else()
+    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib")
+  endif()
+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")
+    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_.*")
+      # Clang/C2 in MSVC14 Update 1 seems to not support -fsantinize (yet?)
+      # set(_RTC1 "-fsantinize=memory,safe-stack")
+      set(_FLAGS_CXX " -frtti -fexceptions")
+    else()
+      set(_RTC1 "/RTC1")
+      set(_FLAGS_CXX " /GR /EHsc")
+    endif()
+    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib")
+  else()
+    set(_RTC1 "/GZ")
+    set(_FLAGS_CXX " /GR /GX")
+    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib")
+  endif()
+
+  if(MSVC_VERSION LESS 1310)
+    set(_FLAGS_C   " /Zm1000${_FLAGS_C}")
+    set(_FLAGS_CXX " /Zm1000${_FLAGS_CXX}")
+  endif()
+endif()
+
+set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+
+# executable linker flags
+set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
+# set the machine type
+if(MSVC_C_ARCHITECTURE_ID)
+  if(MSVC_C_ARCHITECTURE_ID MATCHES "^ARMV.I")
+    set(_MACHINE_ARCH_FLAG "/machine:THUMB")
+  elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64")
+    set(_MACHINE_ARCH_FLAG "/machine:ARM64")
+  elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM")
+    set(_MACHINE_ARCH_FLAG "/machine:ARM")
+  else()
+    set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
+  endif()
+elseif(MSVC_CXX_ARCHITECTURE_ID)
+  if(MSVC_CXX_ARCHITECTURE_ID MATCHES "^ARMV.I")
+    set(_MACHINE_ARCH_FLAG "/machine:THUMB")
+  elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM64")
+    set(_MACHINE_ARCH_FLAG "/machine:ARM64")
+  elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
+    set(_MACHINE_ARCH_FLAG "/machine:ARM")
+  else()
+    set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
+  endif()
+elseif(MSVC_Fortran_ARCHITECTURE_ID)
+  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
+endif()
+
+# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
+# on versions that support it
+set( MSVC_INCREMENTAL_YES_FLAG "")
+if(NOT WINDOWS_PHONE AND NOT WINDOWS_STORE)
+  if(NOT MSVC_INCREMENTAL_DEFAULT)
+    set( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:YES")
+  else()
+    set(  MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL" )
+  endif()
+endif()
+
+foreach(t EXE SHARED MODULE)
+  string(APPEND CMAKE_${t}_LINKER_FLAGS_INIT " ${_MACHINE_ARCH_FLAG}")
+  if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+    string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " /debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
+    string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " /debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
+  else ()
+    string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " /debug ${MSVC_INCREMENTAL_YES_FLAG}")
+    string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " /debug ${MSVC_INCREMENTAL_YES_FLAG}")
+  endif ()
+  # for release and minsize release default to no incremental linking
+  string(APPEND CMAKE_${t}_LINKER_FLAGS_MINSIZEREL_INIT " /INCREMENTAL:NO")
+  string(APPEND CMAKE_${t}_LINKER_FLAGS_RELEASE_INIT " /INCREMENTAL:NO")
+endforeach()
+
+string(APPEND CMAKE_STATIC_LINKER_FLAGS_INIT " ${_MACHINE_ARCH_FLAG}")
+unset(_MACHINE_ARCH_FLAG)
+
+macro(__windows_compiler_msvc lang)
+  if(NOT MSVC_VERSION LESS 1400)
+    # for 2005 make sure the manifest is put in the dll with mt
+    set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
+    set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
+  endif()
+  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+    "${_CMAKE_VS_LINK_DLL}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+
+  set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
+  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY  "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
+
+  set(CMAKE_${lang}_COMPILE_OBJECT
+    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <INCLUDES> <FLAGS> /Fo<OBJECT> /Fd<TARGET_COMPILE_PDB>${_FS_${lang}} -c <SOURCE>${CMAKE_END_TEMP_FILE}")
+  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
+    "<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
+  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE
+    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <INCLUDES> <FLAGS> /FoNUL /FAs /Fa<ASSEMBLY_SOURCE> /c <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
+  set(CMAKE_${lang}_LINK_EXECUTABLE
+    "${_CMAKE_VS_LINK_EXE}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
+
+  if("x${lang}" STREQUAL "xC" OR
+      "x${lang}" STREQUAL "xCXX")
+    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
+      # note: MSVC 14 2015 Update 1 sets -fno-ms-compatibility by default, but this does not allow one to compile many projects
+      # that include MS's own headers. CMake itself is affected project too.
+      string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} -fms-extensions -fms-compatibility -D_WINDOWS -Wall${_FLAGS_${lang}}")
+      string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " /MDd -gline-tables-only -fno-inline -O0 ${_RTC1}")
+      string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " /MD -O2 -DNDEBUG")
+      string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " /MD -gline-tables-only -O2 -fno-inline -DNDEBUG")
+      string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " /MD -DNDEBUG") # TODO: Add '-Os' once VS generator maps it properly for Clang
+    else()
+      string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} /D_WINDOWS /W3${_FLAGS_${lang}}")
+      string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " /MDd /Zi /Ob0 /Od ${_RTC1}")
+      string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " /MD /O2 /Ob2 /DNDEBUG")
+      string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " /MD /Zi /O2 /Ob1 /DNDEBUG")
+      string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " /MD /O1 /Ob1 /DNDEBUG")
+    endif()
+  endif()
+  set(CMAKE_${lang}_LINKER_SUPPORTS_PDB ON)
+  set(CMAKE_NINJA_DEPTYPE_${lang} msvc)
+
+  if(NOT CMAKE_RC_COMPILER_INIT)
+    set(CMAKE_RC_COMPILER_INIT rc)
+  endif()
+  if(NOT CMAKE_RC_FLAGS_INIT)
+    string(APPEND CMAKE_RC_FLAGS_INIT " ${_PLATFORM_DEFINES} ${_PLATFORM_DEFINES_${lang}}")
+  endif()
+  if(NOT CMAKE_RC_FLAGS_DEBUG_INIT)
+    string(APPEND CMAKE_RC_FLAGS_DEBUG_INIT " /D_DEBUG")
+  endif()
+
+  enable_language(RC)
+  set(CMAKE_NINJA_CMCLDEPS_RC 1)
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Windows-NVIDIA-CUDA.cmake b/share/cmake-3.10/Modules/Platform/Windows-NVIDIA-CUDA.cmake
new file mode 100644
index 0000000..970c2c6
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-NVIDIA-CUDA.cmake
@@ -0,0 +1,54 @@
+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")
+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")
+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")
+
+set(__IMPLICT_LINKS )
+foreach(dir ${CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES})
+  string(APPEND __IMPLICT_LINKS " -LIBPATH:\"${dir}\"")
+endforeach()
+foreach(lib ${CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES})
+  string(APPEND __IMPLICT_LINKS " \"${lib}\"")
+endforeach()
+set(CMAKE_CUDA_LINK_EXECUTABLE
+   "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <CMAKE_CUDA_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
+
+set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
+set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
+set(CMAKE_CUDA_CREATE_SHARED_LIBRARY
+  "${_CMAKE_VS_LINK_DLL}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES>${__IMPLICT_LINKS} ${CMAKE_END_TEMP_FILE}")
+
+set(CMAKE_CUDA_CREATE_SHARED_MODULE ${CMAKE_CUDA_CREATE_SHARED_LIBRARY})
+set(CMAKE_CUDA_CREATE_STATIC_LIBRARY  "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
+set(CMAKE_CUDA_LINKER_SUPPORTS_PDB ON)
+set(CMAKE_CUDA_LINK_EXECUTABLE
+  "${_CMAKE_VS_LINK_EXE}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <CMAKE_CUDA_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${__IMPLICT_LINKS} ${CMAKE_END_TEMP_FILE}")
+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()
+
+set(CMAKE_CUDA_DEVICE_LINK_LIBRARY
+  "<CMAKE_CUDA_COMPILER> <CMAKE_CUDA_LINK_FLAGS> <LANGUAGE_COMPILE_FLAGS> ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
+set(CMAKE_CUDA_DEVICE_LINK_EXECUTABLE
+  "<CMAKE_CUDA_COMPILER> <FLAGS> <CMAKE_CUDA_LINK_FLAGS> ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Xcompiler=-Fd<TARGET_COMPILE_PDB>,-FS")
+
+unset(_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS)
+
+string(REPLACE "/D" "-D" _PLATFORM_DEFINES_CUDA "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_CXX}")
+
+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")
+string(APPEND CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT " -Xcompiler=\"-MD -Zi -O2 -Ob1\" -DNDEBUG")
+string(APPEND CMAKE_CUDA_FLAGS_MINSIZEREL_INIT " -Xcompiler=\"-MD -O1 -Ob1\" -DNDEBUG")
+
+set(CMAKE_CUDA_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
diff --git a/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom-C.cmake
new file mode 100644
index 0000000..ce9bc45
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom-C.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-OpenWatcom)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom-CXX.cmake
new file mode 100644
index 0000000..ce9bc45
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom-CXX.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-OpenWatcom)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom.cmake b/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom.cmake
new file mode 100644
index 0000000..d38d616
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-OpenWatcom.cmake
@@ -0,0 +1,129 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_OPENWATCOM)
+  return()
+endif()
+set(__WINDOWS_OPENWATCOM 1)
+
+set(CMAKE_LIBRARY_PATH_FLAG "libpath ")
+set(CMAKE_LINK_LIBRARY_FLAG "library ")
+set(CMAKE_LINK_LIBRARY_FILE_FLAG "library")
+
+if(CMAKE_VERBOSE_MAKEFILE)
+  set(CMAKE_WCL_QUIET)
+  set(CMAKE_WLINK_QUIET)
+  set(CMAKE_LIB_QUIET)
+else()
+  set(CMAKE_WCL_QUIET "-zq")
+  set(CMAKE_WLINK_QUIET "option quiet")
+  set(CMAKE_LIB_QUIET "-q")
+endif()
+
+string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ")
+set(CMAKE_CREATE_WIN32_EXE "system nt_win" )
+set(CMAKE_CREATE_CONSOLE_EXE "system nt" )
+string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " system nt_dll")
+string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " system nt_dll")
+foreach(type SHARED MODULE EXE)
+  string(APPEND CMAKE_${type}_LINKER_FLAGS_DEBUG_INIT " debug all opt map")
+  string(APPEND CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO_INIT " debug all opt map")
+endforeach()
+
+set(CMAKE_C_COMPILE_OPTIONS_DLL "-bd") # Note: This variable is a ';' separated list
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-bd") # ... while this is a space separated string.
+
+set(CMAKE_RC_COMPILER "rc" )
+
+set(CMAKE_BUILD_TYPE_INIT Debug)
+
+# single/multi-threaded                 /-bm
+# static/DLL run-time libraries         /-br
+# default is setup for multi-threaded + DLL run-time libraries
+string(APPEND CMAKE_C_FLAGS_INIT " -bt=nt -w3 -dWIN32 -br -bm")
+string(APPEND CMAKE_CXX_FLAGS_INIT " -bt=nt -xs -w3 -dWIN32 -br -bm")
+foreach(lang C CXX)
+  string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -d2")
+  string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -s -os -d0 -dNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -s -ot -d0 -dNDEBUG")
+  string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -s -ot -d1 -dNDEBUG")
+endforeach()
+
+foreach(type CREATE_SHARED_LIBRARY CREATE_SHARED_MODULE LINK_EXECUTABLE)
+  set(CMAKE_C_${type}_USE_WATCOM_QUOTE 1)
+  set(CMAKE_CXX_${type}_USE_WATCOM_QUOTE 1)
+endforeach()
+
+set(CMAKE_C_CREATE_IMPORT_LIBRARY
+  "wlib -c -q -n -b <TARGET_IMPLIB> +<TARGET_QUOTED>")
+set(CMAKE_CXX_CREATE_IMPORT_LIBRARY ${CMAKE_C_CREATE_IMPORT_LIBRARY})
+
+set(CMAKE_C_LINK_EXECUTABLE
+    "wlink ${CMAKE_START_TEMP_FILE} ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+
+
+set(CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE})
+
+# compile a C++ file into an object file
+set(CMAKE_CXX_COMPILE_OBJECT
+    "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<OBJECT> -c -cc++ <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+# compile a C file into an object file
+set(CMAKE_C_COMPILE_OBJECT
+    "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<OBJECT> -c -cc <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+# preprocess a C source file
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE
+    "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<PREPROCESSED_SOURCE> -pl -cc <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+# preprocess a C++ source file
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE
+    "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<PREPROCESSED_SOURCE> -pl -cc++ <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY
+ "wlink ${CMAKE_START_TEMP_FILE} ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> option implib=<TARGET_IMPLIB> file {<OBJECTS>} <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+string(REPLACE " option implib=<TARGET_IMPLIB>" ""
+  CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
+
+# create a C shared library
+set(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
+
+# create a C shared module
+set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_MODULE})
+
+# create a C++ static library
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY  "wlib ${CMAKE_LIB_QUIET} -c -n -b <TARGET_QUOTED> <LINK_FLAGS> <OBJECTS> ")
+
+# create a C static library
+set(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})
+
+if(NOT _CMAKE_WATCOM_VERSION)
+  set(_CMAKE_WATCOM_VERSION 1)
+  if(CMAKE_C_COMPILER_VERSION)
+    set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
+    set(_compiler_id ${CMAKE_C_COMPILER_ID})
+  else()
+    set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
+    set(_compiler_id ${CMAKE_CXX_COMPILER_ID})
+  endif()
+  set(WATCOM16)
+  set(WATCOM17)
+  set(WATCOM18)
+  set(WATCOM19)
+  if("${_compiler_id}" STREQUAL "OpenWatcom")
+    if("${_compiler_version}" VERSION_LESS 1.7)
+      set(WATCOM16 1)
+    endif()
+    if("${_compiler_version}" VERSION_EQUAL 1.7)
+      set(WATCOM17 1)
+    endif()
+    if("${_compiler_version}" VERSION_EQUAL 1.8)
+      set(WATCOM18 1)
+    endif()
+    if("${_compiler_version}" VERSION_EQUAL 1.9)
+      set(WATCOM19 1)
+    endif()
+  endif()
+endif()
diff --git a/share/cmake-3.10/Modules/Platform/Windows-PGI-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-PGI-C.cmake
new file mode 100644
index 0000000..0495b93
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-PGI-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Windows-PGI)
+__windows_compiler_pgi(C)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-PGI-Fortran.cmake b/share/cmake-3.10/Modules/Platform/Windows-PGI-Fortran.cmake
new file mode 100644
index 0000000..2222e33
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-PGI-Fortran.cmake
@@ -0,0 +1,2 @@
+include(Platform/Windows-PGI)
+__windows_compiler_pgi(Fortran)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-PGI.cmake b/share/cmake-3.10/Modules/Platform/Windows-PGI.cmake
new file mode 100644
index 0000000..ad77e8a
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-PGI.cmake
@@ -0,0 +1,48 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_COMPILER_PGI)
+  return()
+endif()
+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)
+  set(CMAKE_JOB_POOL_LINK PGITaskPool)
+  set(CMAKE_JOB_POOL_COMPILE PGITaskPool)
+  get_property(_pgijp GLOBAL PROPERTY JOB_POOLS)
+  if(NOT _pgijp MATCHES "PGITaskPool=")
+      set_property(GLOBAL APPEND PROPERTY JOB_POOLS PGITaskPool=1)
+  endif()
+  unset(_pgijp)
+endif()
+
+set(CMAKE_SUPPORT_WINDOWS_EXPORT_ALL_SYMBOLS 1)
+set(CMAKE_LINK_DEF_FILE_FLAG "-def:")
+# The link flags for PGI are the raw filename to add a file
+# and the UNIX -L syntax to link directories.
+set(CMAKE_LINK_LIBRARY_FLAG "")
+set(CMAKE_LINK_STARTFILE "pgimain[mx][xpt]+[.]obj")
+
+# Default to Debug builds, mirroring Windows-MSVC behavior
+set(CMAKE_BUILD_TYPE_INIT Debug)
+
+if(CMAKE_VERBOSE_MAKEFILE)
+  set(CMAKE_CL_NOLOGO)
+else()
+  set(CMAKE_CL_NOLOGO "/nologo")
+endif()
+
+macro(__windows_compiler_pgi lang)
+  # Shared library compile and link rules.
+  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
+  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} -Mmakedll -implib:<TARGET_IMPLIB> -Xlinker -pdb:<TARGET_PDB> -Xlinker -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+  set(CMAKE_${lang}_CREATE_SHARED_MODULE "${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
+  set(CMAKE_${lang}_LINK_EXECUTABLE "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} -implib:<TARGET_IMPLIB> -Xlinker -pdb:<TARGET_PDB> -Xlinker -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+
+  if("${lang}" MATCHES "C|CXX")
+    set(CMAKE_${lang}_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Watcom-C.cmake b/share/cmake-3.10/Modules/Platform/Windows-Watcom-C.cmake
new file mode 100644
index 0000000..44a008b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Watcom-C.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-OpenWatcom-C)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-Watcom-CXX.cmake b/share/cmake-3.10/Modules/Platform/Windows-Watcom-CXX.cmake
new file mode 100644
index 0000000..63d109b
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-Watcom-CXX.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-OpenWatcom-CXX)
diff --git a/share/cmake-3.10/Modules/Platform/Windows-df.cmake b/share/cmake-3.10/Modules/Platform/Windows-df.cmake
new file mode 100644
index 0000000..c59be45
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows-df.cmake
@@ -0,0 +1,63 @@
+# compiler support for fortran CVF compiler on windows
+
+set(CMAKE_WINDOWS_OBJECT_PATH 1)
+set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
+set(CMAKE_LINK_LIBRARY_FLAG "")
+set(WIN32 1)
+if(CMAKE_VERBOSE_MAKEFILE)
+  set(CMAKE_CL_NOLOGO)
+else()
+  set(CMAKE_CL_NOLOGO "/nologo")
+endif()
+
+set(CMAKE_Fortran_MODDIR_FLAG "-module:")
+
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+ "link ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE}  /out:<TARGET> /dll  <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+
+set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
+
+# create a C++ static library
+set(CMAKE_Fortran_CREATE_STATIC_LIBRARY  "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
+
+# compile a C++ file into an object file
+set(CMAKE_Fortran_COMPILE_OBJECT
+    "<CMAKE_Fortran_COMPILER>  ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /object:<OBJECT> <FLAGS> /compile_only <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+set(CMAKE_Fortran_LINK_EXECUTABLE
+    "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /exe:<TARGET> <OBJECTS> /link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
+
+set(CMAKE_CREATE_WIN32_EXE /winapp)
+set(CMAKE_CREATE_CONSOLE_EXE )
+
+if(CMAKE_GENERATOR MATCHES "Visual Studio 8")
+  set (CMAKE_NO_BUILD_TYPE 1)
+endif()
+# does the compiler support pdbtype and is it the newer compiler
+
+set(CMAKE_BUILD_TYPE_INIT Debug)
+set (CMAKE_Fortran_FLAGS_INIT "")
+set (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
+set (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/Optimize:2 /Define:NDEBUG")
+set (CMAKE_Fortran_FLAGS_RELEASE_INIT "/Optimize:1 /Define:NDEBUG")
+set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/Optimize:1 /debug:full /Define:NDEBUG")
+
+set (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
+
+# executable linker flags
+set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
+set (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
+if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+  set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
+  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
+else ()
+  set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
+  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
+endif ()
+
+set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
diff --git a/share/cmake-3.6/Modules/Platform/Windows-windres.cmake b/share/cmake-3.10/Modules/Platform/Windows-windres.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Windows-windres.cmake
rename to share/cmake-3.10/Modules/Platform/Windows-windres.cmake
diff --git a/share/cmake-3.10/Modules/Platform/Windows.cmake b/share/cmake-3.10/Modules/Platform/Windows.cmake
new file mode 100644
index 0000000..d8b3957
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/Windows.cmake
@@ -0,0 +1,45 @@
+set(WIN32 1)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsCE")
+  set(WINCE 1)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone")
+  set(WINDOWS_PHONE 1)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+  set(WINDOWS_STORE 1)
+endif()
+
+set(CMAKE_STATIC_LIBRARY_PREFIX "")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
+set(CMAKE_SHARED_LIBRARY_PREFIX "")          # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")          # .so
+set(CMAKE_IMPORT_LIBRARY_PREFIX "")
+set(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
+set(CMAKE_EXECUTABLE_SUFFIX ".exe")          # .exe
+set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
+set(CMAKE_DL_LIBS "")
+set(CMAKE_EXTRA_LINK_EXTENSIONS ".targets")
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+
+# for borland make long command lines are redirected to a file
+# with the following syntax, see Windows-bcc32.cmake for use
+if(CMAKE_GENERATOR MATCHES "Borland")
+  set(CMAKE_START_TEMP_FILE "@&&|\n")
+  set(CMAKE_END_TEMP_FILE "\n|")
+endif()
+
+# for nmake make long command lines are redirected to a file
+# with the following syntax, see Windows-bcc32.cmake for use
+if(CMAKE_GENERATOR MATCHES "NMake")
+  set(CMAKE_START_TEMP_FILE "@<<\n")
+  set(CMAKE_END_TEMP_FILE "\n<<")
+endif()
+
+include(Platform/WindowsPaths)
+
+# uncomment these out to debug nmake and borland makefiles
+#set(CMAKE_START_TEMP_FILE "")
+#set(CMAKE_END_TEMP_FILE "")
+#set(CMAKE_VERBOSE_MAKEFILE 1)
+
diff --git a/share/cmake-3.6/Modules/Platform/WindowsCE-MSVC-C.cmake b/share/cmake-3.10/Modules/Platform/WindowsCE-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsCE-MSVC-C.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsCE-MSVC-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsCE-MSVC-CXX.cmake b/share/cmake-3.10/Modules/Platform/WindowsCE-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsCE-MSVC-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsCE-MSVC-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsCE.cmake b/share/cmake-3.10/Modules/Platform/WindowsCE.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsCE.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsCE.cmake
diff --git a/share/cmake-3.10/Modules/Platform/WindowsPaths.cmake b/share/cmake-3.10/Modules/Platform/WindowsPaths.cmake
new file mode 100644
index 0000000..71cc609
--- /dev/null
+++ b/share/cmake-3.10/Modules/Platform/WindowsPaths.cmake
@@ -0,0 +1,92 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# Block multiple inclusion because "CMakeCInformation.cmake" includes
+# "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module
+# "CMakeSystemSpecificInformation.cmake" already included it.
+# The extra inclusion is a work-around documented next to the include()
+# call, so this can be removed when the work-around is removed.
+if(__WINDOWS_PATHS_INCLUDED)
+  return()
+endif()
+set(__WINDOWS_PATHS_INCLUDED 1)
+
+# Add the program-files folder(s) to the list of installation
+# prefixes.
+#
+# Windows 64-bit Binary:
+#   ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
+#   ENV{ProgramFiles} = [C:\Program Files]
+#   ENV{ProgramW6432} = [C:\Program Files] or <not set>
+#
+# Windows 32-bit Binary on 64-bit Windows:
+#   ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
+#   ENV{ProgramFiles} = [C:\Program Files (x86)]
+#   ENV{ProgramW6432} = [C:\Program Files]
+set(_programfiles "")
+foreach(v "ProgramW6432" "ProgramFiles" "ProgramFiles(x86)")
+  if(DEFINED "ENV{${v}}")
+    file(TO_CMAKE_PATH "$ENV{${v}}" _env_programfiles)
+    list(APPEND _programfiles "${_env_programfiles}")
+    unset(_env_programfiles)
+  endif()
+endforeach()
+if(DEFINED "ENV{SystemDrive}")
+  foreach(d "Program Files" "Program Files (x86)")
+    if(EXISTS "$ENV{SystemDrive}/${d}")
+      list(APPEND _programfiles "$ENV{SystemDrive}/${d}")
+    endif()
+  endforeach()
+endif()
+if(_programfiles)
+  list(REMOVE_DUPLICATES _programfiles)
+  list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${_programfiles})
+endif()
+unset(_programfiles)
+
+# Add the CMake install location.
+get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
+get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
+
+if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
+  # Add other locations.
+  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+    # Project install destination.
+    "${CMAKE_INSTALL_PREFIX}"
+    )
+  if (CMAKE_STAGING_PREFIX)
+    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+      # User-supplied staging prefix.
+      "${CMAKE_STAGING_PREFIX}"
+    )
+  endif()
+endif()
+
+if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
+  # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
+  list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
+endif()
+
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+  )
+
+# mingw can also link against dlls which can also be in /bin, so list this too
+if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
+  list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+    "${CMAKE_INSTALL_PREFIX}/bin"
+  )
+  if (CMAKE_STAGING_PREFIX)
+    list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+      "${CMAKE_STAGING_PREFIX}/bin"
+    )
+  endif()
+endif()
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+  "${_CMAKE_INSTALL_DIR}/bin"
+  /bin
+  )
+
+list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
+  )
diff --git a/share/cmake-3.6/Modules/Platform/WindowsPhone-MSVC-C.cmake b/share/cmake-3.10/Modules/Platform/WindowsPhone-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsPhone-MSVC-C.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsPhone-MSVC-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsPhone-MSVC-CXX.cmake b/share/cmake-3.10/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsPhone.cmake b/share/cmake-3.10/Modules/Platform/WindowsPhone.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsPhone.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsPhone.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsStore-MSVC-C.cmake b/share/cmake-3.10/Modules/Platform/WindowsStore-MSVC-C.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsStore-MSVC-C.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsStore-MSVC-C.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsStore-MSVC-CXX.cmake b/share/cmake-3.10/Modules/Platform/WindowsStore-MSVC-CXX.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsStore-MSVC-CXX.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsStore-MSVC-CXX.cmake
diff --git a/share/cmake-3.6/Modules/Platform/WindowsStore.cmake b/share/cmake-3.10/Modules/Platform/WindowsStore.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/WindowsStore.cmake
rename to share/cmake-3.10/Modules/Platform/WindowsStore.cmake
diff --git a/share/cmake-3.6/Modules/Platform/Xenix.cmake b/share/cmake-3.10/Modules/Platform/Xenix.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/Xenix.cmake
rename to share/cmake-3.10/Modules/Platform/Xenix.cmake
diff --git a/share/cmake-3.6/Modules/Platform/eCos.cmake b/share/cmake-3.10/Modules/Platform/eCos.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/eCos.cmake
rename to share/cmake-3.10/Modules/Platform/eCos.cmake
diff --git a/share/cmake-3.6/Modules/Platform/gas.cmake b/share/cmake-3.10/Modules/Platform/gas.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/gas.cmake
rename to share/cmake-3.10/Modules/Platform/gas.cmake
diff --git a/share/cmake-3.6/Modules/Platform/kFreeBSD.cmake b/share/cmake-3.10/Modules/Platform/kFreeBSD.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/kFreeBSD.cmake
rename to share/cmake-3.10/Modules/Platform/kFreeBSD.cmake
diff --git a/share/cmake-3.6/Modules/Platform/syllable.cmake b/share/cmake-3.10/Modules/Platform/syllable.cmake
similarity index 100%
rename from share/cmake-3.6/Modules/Platform/syllable.cmake
rename to share/cmake-3.10/Modules/Platform/syllable.cmake
diff --git a/share/cmake-3.10/Modules/ProcessorCount.cmake b/share/cmake-3.10/Modules/ProcessorCount.cmake
new file mode 100644
index 0000000..772a615
--- /dev/null
+++ b/share/cmake-3.10/Modules/ProcessorCount.cmake
@@ -0,0 +1,234 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# ProcessorCount
+# --------------
+#
+# ProcessorCount(var)
+#
+# Determine the number of processors/cores and save value in ${var}
+#
+# Sets the variable named ${var} to the number of physical cores
+# available on the machine if the information can be determined.
+# Otherwise it is set to 0.  Currently this functionality is implemented
+# for AIX, cygwin, FreeBSD, HPUX, IRIX, Linux, Mac OS X, QNX, Sun and
+# Windows.
+#
+# This function is guaranteed to return a positive integer (>=1) if it
+# succeeds.  It returns 0 if there's a problem determining the processor
+# count.
+#
+# Example use, in a ctest -S dashboard script:
+#
+# ::
+#
+#    include(ProcessorCount)
+#    ProcessorCount(N)
+#    if(NOT N EQUAL 0)
+#      set(CTEST_BUILD_FLAGS -j${N})
+#      set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
+#    endif()
+#
+#
+#
+# This function is intended to offer an approximation of the value of
+# the number of compute cores available on the current machine, such
+# that you may use that value for parallel building and parallel
+# testing.  It is meant to help utilize as much of the machine as seems
+# reasonable.  Of course, knowledge of what else might be running on the
+# machine simultaneously should be used when deciding whether to request
+# a machine's full capacity all for yourself.
+
+# A more reliable way might be to compile a small C program that uses the CPUID
+# instruction, but that again requires compiler support or compiling assembler
+# code.
+
+function(ProcessorCount var)
+  # Unknown:
+  set(count 0)
+
+  if(WIN32)
+    # Windows:
+    set(count "$ENV{NUMBER_OF_PROCESSORS}")
+    #message("ProcessorCount: WIN32, trying environment variable")
+  endif()
+
+  if(NOT count)
+    # Mac, FreeBSD, OpenBSD (systems with sysctl):
+    find_program(ProcessorCount_cmd_sysctl sysctl
+      PATHS /usr/sbin /sbin)
+    mark_as_advanced(ProcessorCount_cmd_sysctl)
+    if(ProcessorCount_cmd_sysctl)
+      execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE count)
+      #message("ProcessorCount: trying sysctl '${ProcessorCount_cmd_sysctl}'")
+    endif()
+  endif()
+
+  if(NOT count)
+    # Linux (systems with getconf):
+    find_program(ProcessorCount_cmd_getconf getconf)
+    mark_as_advanced(ProcessorCount_cmd_getconf)
+    if(ProcessorCount_cmd_getconf)
+      execute_process(COMMAND ${ProcessorCount_cmd_getconf} _NPROCESSORS_ONLN
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE count)
+      #message("ProcessorCount: trying getconf '${ProcessorCount_cmd_getconf}'")
+    endif()
+  endif()
+
+  if(NOT count)
+    # HPUX (systems with machinfo):
+    find_program(ProcessorCount_cmd_machinfo machinfo
+      PATHS /usr/contrib/bin)
+    mark_as_advanced(ProcessorCount_cmd_machinfo)
+    if(ProcessorCount_cmd_machinfo)
+      execute_process(COMMAND ${ProcessorCount_cmd_machinfo}
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE machinfo_output)
+      string(REGEX MATCHALL "Number of CPUs = ([0-9]+)" procs "${machinfo_output}")
+      set(count "${CMAKE_MATCH_1}")
+      if(NOT count)
+        string(REGEX MATCHALL "([0-9]+) logical processors" procs "${machinfo_output}")
+        set(count "${CMAKE_MATCH_1}")
+      endif()
+      #message("ProcessorCount: trying machinfo '${ProcessorCount_cmd_machinfo}'")
+    else()
+      find_program(ProcessorCount_cmd_mpsched mpsched)
+      mark_as_advanced(ProcessorCount_cmd_mpsched)
+      if(ProcessorCount_cmd_mpsched)
+        execute_process(COMMAND ${ProcessorCount_cmd_mpsched} -s
+          OUTPUT_QUIET
+          ERROR_STRIP_TRAILING_WHITESPACE
+          ERROR_VARIABLE mpsched_output)
+        string(REGEX MATCHALL "Processor Count *: *([0-9]+)" procs "${mpsched_output}")
+        set(count "${CMAKE_MATCH_1}")
+        #message("ProcessorCount: trying mpsched -s '${ProcessorCount_cmd_mpsched}'")
+      endif()
+    endif()
+  endif()
+
+  if(NOT count)
+    # IRIX (systems with hinv):
+    find_program(ProcessorCount_cmd_hinv hinv
+      PATHS /sbin)
+    mark_as_advanced(ProcessorCount_cmd_hinv)
+    if(ProcessorCount_cmd_hinv)
+      execute_process(COMMAND ${ProcessorCount_cmd_hinv}
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE hinv_output)
+      string(REGEX MATCHALL "([0-9]+) .* Processors" procs "${hinv_output}")
+      set(count "${CMAKE_MATCH_1}")
+      #message("ProcessorCount: trying hinv '${ProcessorCount_cmd_hinv}'")
+    endif()
+  endif()
+
+  if(NOT count)
+    # AIX (systems with lsconf):
+    find_program(ProcessorCount_cmd_lsconf lsconf
+      PATHS /usr/sbin)
+    mark_as_advanced(ProcessorCount_cmd_lsconf)
+    if(ProcessorCount_cmd_lsconf)
+      execute_process(COMMAND ${ProcessorCount_cmd_lsconf}
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE lsconf_output)
+      string(REGEX MATCHALL "Number Of Processors: ([0-9]+)" procs "${lsconf_output}")
+      set(count "${CMAKE_MATCH_1}")
+      #message("ProcessorCount: trying lsconf '${ProcessorCount_cmd_lsconf}'")
+    endif()
+  endif()
+
+  if(NOT count)
+    # QNX (systems with pidin):
+    find_program(ProcessorCount_cmd_pidin pidin)
+    mark_as_advanced(ProcessorCount_cmd_pidin)
+    if(ProcessorCount_cmd_pidin)
+      execute_process(COMMAND ${ProcessorCount_cmd_pidin} info
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE pidin_output)
+      string(REGEX MATCHALL "Processor[0-9]+: " procs "${pidin_output}")
+      list(LENGTH procs count)
+      #message("ProcessorCount: trying pidin '${ProcessorCount_cmd_pidin}'")
+    endif()
+  endif()
+
+  if(NOT count)
+    # Sun (systems where psrinfo tool is available)
+    find_program(ProcessorCount_cmd_psrinfo psrinfo PATHS /usr/sbin /sbin)
+    mark_as_advanced(ProcessorCount_cmd_psrinfo)
+    if (ProcessorCount_cmd_psrinfo)
+      execute_process(COMMAND ${ProcessorCount_cmd_psrinfo} -p -v
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE psrinfo_output)
+      string(REGEX MATCH "([0-9]+) virtual processor" procs "${psrinfo_output}")
+      set(count "${CMAKE_MATCH_1}")
+      #message("ProcessorCount: trying psrinfo -p -v '${ProcessorCount_cmd_prvinfo}'")
+    else()
+      # Sun (systems where uname -X emits "NumCPU" in its output):
+      find_program(ProcessorCount_cmd_uname uname)
+      mark_as_advanced(ProcessorCount_cmd_uname)
+      if(ProcessorCount_cmd_uname)
+        execute_process(COMMAND ${ProcessorCount_cmd_uname} -X
+          ERROR_QUIET
+          OUTPUT_STRIP_TRAILING_WHITESPACE
+          OUTPUT_VARIABLE uname_X_output)
+        string(REGEX MATCHALL "NumCPU = ([0-9]+)" procs "${uname_X_output}")
+        set(count "${CMAKE_MATCH_1}")
+        #message("ProcessorCount: trying uname -X '${ProcessorCount_cmd_uname}'")
+      endif()
+    endif()
+  endif()
+
+  # Execute this code when all previously attempted methods return empty
+  # output:
+  #
+  if(NOT count)
+    # Systems with /proc/cpuinfo:
+    set(cpuinfo_file /proc/cpuinfo)
+    if(EXISTS "${cpuinfo_file}")
+      file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$")
+      list(LENGTH procs count)
+      #message("ProcessorCount: trying cpuinfo '${cpuinfo_file}'")
+    endif()
+  endif()
+
+  if(NOT count)
+    # Haiku
+    find_program(ProcessorCount_cmd_sysinfo sysinfo)
+    if(ProcessorCount_cmd_sysinfo)
+      execute_process(COMMAND ${ProcessorCount_cmd_sysinfo}
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        OUTPUT_VARIABLE sysinfo_X_output)
+      string(REGEX MATCHALL "\nCPU #[0-9]+:" procs "\n${sysinfo_X_output}")
+      list(LENGTH procs count)
+      #message("ProcessorCount: trying sysinfo '${ProcessorCount_cmd_sysinfo}'")
+    endif()
+  endif()
+
+  # Since cygwin builds of CMake do not define WIN32 anymore, but they still
+  # run on Windows, and will still have this env var defined:
+  #
+  if(NOT count)
+    set(count "$ENV{NUMBER_OF_PROCESSORS}")
+    #message("ProcessorCount: last fallback, trying environment variable")
+  endif()
+
+  # Ensure an integer return (avoid inadvertently returning an empty string
+  # or an error string)... If it's not a decimal integer, return 0:
+  #
+  if(NOT count MATCHES "^[0-9]+$")
+    set(count 0)
+  endif()
+
+  set(${var} ${count} PARENT_SCOPE)
+endfunction()
diff --git a/share/cmake-3.10/Modules/Qt4ConfigDependentSettings.cmake b/share/cmake-3.10/Modules/Qt4ConfigDependentSettings.cmake
new file mode 100644
index 0000000..e21ecf4
--- /dev/null
+++ b/share/cmake-3.10/Modules/Qt4ConfigDependentSettings.cmake
@@ -0,0 +1,290 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Qt4ConfigDependentSettings
+# --------------------------
+#
+#
+#
+# This file is included by FindQt4.cmake, don't include it directly.
+
+###############################################
+#
+#       configuration/system dependent settings
+#
+###############################################
+
+# find dependencies for some Qt modules
+# when doing builds against a static Qt, they are required
+# when doing builds against a shared Qt, they are not required
+# if a user needs the dependencies, and they couldn't be found, they can set
+# the variables themselves.
+
+set(QT_QTGUI_LIB_DEPENDENCIES "")
+set(QT_QTCORE_LIB_DEPENDENCIES "")
+set(QT_QTNETWORK_LIB_DEPENDENCIES "")
+set(QT_QTOPENGL_LIB_DEPENDENCIES "")
+set(QT_QTDBUS_LIB_DEPENDENCIES "")
+set(QT_QTHELP_LIB_DEPENDENCIES ${QT_QTCLUCENE_LIBRARY})
+
+
+if(Q_WS_WIN)
+  # On Windows, qconfig.pri has "shared" for shared library builds
+  if(NOT QT_CONFIG MATCHES "shared")
+    set(QT_IS_STATIC 1)
+  endif()
+else()
+  # On other platforms, check file extension to know if its static
+  if(QT_QTCORE_LIBRARY_RELEASE)
+    get_filename_component(qtcore_lib_ext "${QT_QTCORE_LIBRARY_RELEASE}" EXT)
+    if("${qtcore_lib_ext}" STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}")
+      set(QT_IS_STATIC 1)
+    endif()
+  endif()
+  if(QT_QTCORE_LIBRARY_DEBUG)
+    get_filename_component(qtcore_lib_ext "${QT_QTCORE_LIBRARY_DEBUG}" EXT)
+    if(${qtcore_lib_ext} STREQUAL ${CMAKE_STATIC_LIBRARY_SUFFIX})
+      set(QT_IS_STATIC 1)
+    endif()
+  endif()
+endif()
+
+# build using shared Qt needs -DQT_DLL on Windows
+if(Q_WS_WIN  AND  NOT QT_IS_STATIC)
+  set(QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_DLL)
+endif()
+
+if(NOT QT_IS_STATIC)
+  return()
+endif()
+
+# QtOpenGL dependencies
+find_package(OpenGL)
+set (QT_QTOPENGL_LIB_DEPENDENCIES ${OPENGL_glu_LIBRARY} ${OPENGL_gl_LIBRARY})
+
+
+## system png
+if(QT_QCONFIG MATCHES "system-png")
+  find_package(PNG)
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${PNG_LIBRARY})
+endif()
+
+## system jpeg
+if(QT_QCONFIG MATCHES "system-jpeg")
+  find_package(JPEG)
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${JPEG_LIBRARIES})
+endif()
+
+## system tiff
+if(QT_QCONFIG MATCHES "system-tiff")
+  find_package(TIFF)
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${TIFF_LIBRARIES})
+endif()
+
+## system mng
+if(QT_QCONFIG MATCHES "system-mng")
+  find_library(MNG_LIBRARY NAMES mng)
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${MNG_LIBRARY})
+endif()
+
+# for X11, get X11 library directory
+if(Q_WS_X11)
+  find_package(X11)
+endif()
+
+
+## X11 SM
+if(QT_QCONFIG MATCHES "x11sm")
+  if(X11_SM_LIB AND X11_ICE_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_SM_LIB} ${X11_ICE_LIB})
+  endif()
+endif()
+
+
+## Xi
+if(QT_QCONFIG MATCHES "tablet")
+  if(X11_Xi_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xi_LIB})
+  endif()
+endif()
+
+
+## Xrender
+if(QT_QCONFIG MATCHES "xrender")
+  if(X11_Xrender_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrender_LIB})
+  endif()
+endif()
+
+
+## Xrandr
+if(QT_QCONFIG MATCHES "xrandr")
+  if(X11_Xrandr_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrandr_LIB})
+  endif()
+endif()
+
+
+## Xcursor
+if(QT_QCONFIG MATCHES "xcursor")
+  if(X11_Xcursor_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xcursor_LIB})
+  endif()
+endif()
+
+
+## Xinerama
+if(QT_QCONFIG MATCHES "xinerama")
+  if(X11_Xinerama_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xinerama_LIB})
+  endif()
+endif()
+
+
+## Xfixes
+if(QT_QCONFIG MATCHES "xfixes")
+  if(X11_Xfixes_LIB)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xfixes_LIB})
+  endif()
+endif()
+
+
+## fontconfig
+if(QT_QCONFIG MATCHES "fontconfig")
+  find_library(QT_FONTCONFIG_LIBRARY NAMES fontconfig)
+  mark_as_advanced(QT_FONTCONFIG_LIBRARY)
+  if(QT_FONTCONFIG_LIBRARY)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY})
+  endif()
+endif()
+
+
+## system-freetype
+if(QT_QCONFIG MATCHES "system-freetype")
+  find_package(Freetype)
+  if(FREETYPE_LIBRARIES)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${FREETYPE_LIBRARIES})
+  endif()
+endif()
+
+
+## system-zlib
+if(QT_QCONFIG MATCHES "system-zlib")
+  find_package(ZLIB)
+  set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${ZLIB_LIBRARIES})
+endif()
+
+
+## openssl
+if(NOT Q_WS_WIN)
+  set(_QT_NEED_OPENSSL 0)
+  if(QT_VERSION_MINOR LESS 4 AND QT_QCONFIG MATCHES "openssl")
+    set(_QT_NEED_OPENSSL 1)
+  endif()
+  if(QT_VERSION_MINOR GREATER 3 AND QT_QCONFIG MATCHES "openssl-linked")
+    set(_QT_NEED_OPENSSL 1)
+  endif()
+  if(_QT_NEED_OPENSSL)
+    find_package(OpenSSL)
+    if(OPENSSL_LIBRARIES)
+      set(QT_QTNETWORK_LIB_DEPENDENCIES ${QT_QTNETWORK_LIB_DEPENDENCIES} ${OPENSSL_LIBRARIES})
+    endif()
+  endif()
+endif()
+
+
+## dbus
+if(QT_QCONFIG MATCHES "dbus")
+
+  find_library(QT_DBUS_LIBRARY NAMES dbus-1 )
+  if(QT_DBUS_LIBRARY)
+    set(QT_QTDBUS_LIB_DEPENDENCIES ${QT_QTDBUS_LIB_DEPENDENCIES} ${QT_DBUS_LIBRARY})
+  endif()
+  mark_as_advanced(QT_DBUS_LIBRARY)
+
+endif()
+
+
+## glib
+if(QT_QCONFIG MATCHES "glib")
+
+  # Qt 4.2.0+ uses glib-2.0
+  find_library(QT_GLIB_LIBRARY NAMES glib-2.0 )
+  find_library(QT_GTHREAD_LIBRARY NAMES gthread-2.0 )
+  mark_as_advanced(QT_GLIB_LIBRARY)
+  mark_as_advanced(QT_GTHREAD_LIBRARY)
+
+  if(QT_GLIB_LIBRARY AND QT_GTHREAD_LIBRARY)
+    set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
+        ${QT_GTHREAD_LIBRARY} ${QT_GLIB_LIBRARY})
+  endif()
+
+
+  # Qt 4.5+ also links to gobject-2.0
+  if(QT_VERSION_MINOR GREATER 4)
+     find_library(QT_GOBJECT_LIBRARY NAMES gobject-2.0 PATHS ${_glib_query_output} )
+     mark_as_advanced(QT_GOBJECT_LIBRARY)
+
+     if(QT_GOBJECT_LIBRARY)
+       set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
+           ${QT_GOBJECT_LIBRARY})
+     endif()
+  endif()
+
+endif()
+
+
+## clock-monotonic, just see if we need to link with rt
+if(QT_QCONFIG MATCHES "clock-monotonic")
+  set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
+  set(CMAKE_REQUIRED_LIBRARIES rt)
+  CHECK_SYMBOL_EXISTS(_POSIX_TIMERS "unistd.h;time.h" QT_POSIX_TIMERS)
+  set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
+  if(QT_POSIX_TIMERS)
+    find_library(QT_RT_LIBRARY NAMES rt)
+    mark_as_advanced(QT_RT_LIBRARY)
+    if(QT_RT_LIBRARY)
+      set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY})
+    endif()
+  endif()
+endif()
+
+
+if(Q_WS_X11)
+  # X11 libraries Qt always depends on
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xext_LIB} ${X11_X11_LIB})
+
+  set(CMAKE_THREAD_PREFER_PTHREAD 1)
+  find_package(Threads)
+  if(CMAKE_USE_PTHREADS_INIT)
+    set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_THREAD_LIBS_INIT})
+  endif()
+
+  set (QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_DL_LIBS})
+
+endif()
+
+
+if(Q_WS_WIN)
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} imm32 winmm)
+  set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ws2_32)
+endif()
+
+
+if(Q_WS_MAC)
+  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework Carbon")
+
+  # Qt 4.0, 4.1, 4.2 use QuickTime
+  if(QT_VERSION_MINOR LESS 3)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework QuickTime")
+  endif()
+
+  # Qt 4.2+ use AppKit
+  if(QT_VERSION_MINOR GREATER 1)
+    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework AppKit")
+  endif()
+
+  set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} "-framework ApplicationServices")
+endif()
+
diff --git a/share/cmake-3.10/Modules/Qt4Macros.cmake b/share/cmake-3.10/Modules/Qt4Macros.cmake
new file mode 100644
index 0000000..0478918
--- /dev/null
+++ b/share/cmake-3.10/Modules/Qt4Macros.cmake
@@ -0,0 +1,504 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Qt4Macros
+# ---------
+#
+#
+#
+# This file is included by FindQt4.cmake, don't include it directly.
+
+######################################
+#
+#       Macros for building Qt files
+#
+######################################
+
+
+macro (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options _qt4_target)
+  set(${_qt4_files})
+  set(${_qt4_options})
+  set(_QT4_DOING_OPTIONS FALSE)
+  set(_QT4_DOING_TARGET FALSE)
+  foreach(_currentArg ${ARGN})
+    if ("x${_currentArg}" STREQUAL "xOPTIONS")
+      set(_QT4_DOING_OPTIONS TRUE)
+    elseif ("x${_currentArg}" STREQUAL "xTARGET")
+      set(_QT4_DOING_TARGET TRUE)
+    else ()
+      if(_QT4_DOING_TARGET)
+        set(${_qt4_target} "${_currentArg}")
+      elseif(_QT4_DOING_OPTIONS)
+        list(APPEND ${_qt4_options} "${_currentArg}")
+      else()
+        list(APPEND ${_qt4_files} "${_currentArg}")
+      endif()
+    endif ()
+  endforeach()
+endmacro ()
+
+
+# macro used to create the names of output files preserving relative dirs
+macro (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
+  string(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
+  string(LENGTH ${infile} _infileLength)
+  set(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
+  if(_infileLength GREATER _binlength)
+    string(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
+    if(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+      file(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
+    else()
+      file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+    endif()
+  else()
+    file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+  endif()
+  if(WIN32 AND rel MATCHES "^([a-zA-Z]):(.*)$") # absolute path
+    set(rel "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
+  endif()
+  set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
+  string(REPLACE ".." "__" _outfile ${_outfile})
+  get_filename_component(outpath ${_outfile} PATH)
+  get_filename_component(_outfile ${_outfile} NAME_WE)
+  file(MAKE_DIRECTORY ${outpath})
+  set(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
+endmacro ()
+
+
+macro (QT4_GET_MOC_FLAGS _moc_flags)
+  set(${_moc_flags})
+  get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
+
+  foreach(_current ${_inc_DIRS})
+    if("${_current}" MATCHES "\\.framework/?$")
+      string(REGEX REPLACE "/[^/]+\\.framework" "" framework_path "${_current}")
+      set(${_moc_flags} ${${_moc_flags}} "-F${framework_path}")
+    else()
+      set(${_moc_flags} ${${_moc_flags}} "-I${_current}")
+    endif()
+  endforeach()
+
+  get_directory_property(_defines COMPILE_DEFINITIONS)
+  foreach(_current ${_defines})
+    set(${_moc_flags} ${${_moc_flags}} "-D${_current}")
+  endforeach()
+
+  if(Q_WS_WIN)
+    set(${_moc_flags} ${${_moc_flags}} -DWIN32)
+  endif()
+
+endmacro()
+
+
+# helper macro to set up a moc rule
+function (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target)
+  # For Windows, create a parameters file to work around command line length limit
+  # Pass the parameters in a file.  Set the working directory to
+  # be that containing the parameters file and reference it by
+  # just the file name.  This is necessary because the moc tool on
+  # MinGW builds does not seem to handle spaces in the path to the
+  # file given with the @ syntax.
+  get_filename_component(_moc_outfile_name "${outfile}" NAME)
+  get_filename_component(_moc_outfile_dir "${outfile}" PATH)
+  if(_moc_outfile_dir)
+    set(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
+  endif()
+  set (_moc_parameters_file ${outfile}_parameters)
+  set (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
+  string (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
+
+  if(moc_target)
+    set (_moc_parameters_file ${_moc_parameters_file}$<$<BOOL:$<CONFIGURATION>>:_$<CONFIGURATION>>)
+    set(targetincludes "$<TARGET_PROPERTY:${moc_target},INCLUDE_DIRECTORIES>")
+    set(targetdefines "$<TARGET_PROPERTY:${moc_target},COMPILE_DEFINITIONS>")
+
+    set(targetincludes "$<$<BOOL:${targetincludes}>:-I$<JOIN:${targetincludes},\n-I>\n>")
+    set(targetdefines "$<$<BOOL:${targetdefines}>:-D$<JOIN:${targetdefines},\n-D>\n>")
+
+    file (GENERATE
+      OUTPUT ${_moc_parameters_file}
+      CONTENT "${targetdefines}${targetincludes}${_moc_parameters}\n"
+    )
+
+    set(targetincludes)
+    set(targetdefines)
+  else()
+    set(CMAKE_CONFIGURABLE_FILE_CONTENT "${_moc_parameters}")
+    configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+                   "${_moc_parameters_file}" @ONLY)
+  endif()
+
+  set(_moc_extra_parameters_file @${_moc_parameters_file})
+  add_custom_command(OUTPUT ${outfile}
+                      COMMAND Qt4::moc ${_moc_extra_parameters_file}
+                      DEPENDS ${infile} ${_moc_parameters_file}
+                      ${_moc_working_dir}
+                      VERBATIM)
+endfunction ()
+
+
+macro (QT4_GENERATE_MOC infile outfile )
+# get include dirs and flags
+   QT4_GET_MOC_FLAGS(moc_flags)
+   get_filename_component(abs_infile ${infile} ABSOLUTE)
+   set(_outfile "${outfile}")
+   if(NOT IS_ABSOLUTE "${outfile}")
+     set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
+   endif()
+
+   if (${ARGC} GREATER 3 AND "x${ARGV2}" STREQUAL "xTARGET")
+      set(moc_target ${ARGV3})
+   endif()
+   QT4_CREATE_MOC_COMMAND(${abs_infile} ${_outfile} "${moc_flags}" "" "${moc_target}")
+   set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC TRUE)  # dont run automoc on this file
+endmacro ()
+
+
+# QT4_WRAP_CPP(outfiles inputfile ... )
+
+macro (QT4_WRAP_CPP outfiles )
+  # get include dirs
+  QT4_GET_MOC_FLAGS(moc_flags)
+  QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
+
+  foreach (it ${moc_files})
+    get_filename_component(it ${it} ABSOLUTE)
+    QT4_MAKE_OUTPUT_FILE(${it} moc_ cxx outfile)
+    QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
+    set(${outfiles} ${${outfiles}} ${outfile})
+  endforeach()
+
+endmacro ()
+
+
+# QT4_WRAP_UI(outfiles inputfile ... )
+
+macro (QT4_WRAP_UI outfiles )
+  QT4_EXTRACT_OPTIONS(ui_files ui_options ui_target ${ARGN})
+
+  foreach (it ${ui_files})
+    get_filename_component(outfile ${it} NAME_WE)
+    get_filename_component(infile ${it} ABSOLUTE)
+    set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
+    add_custom_command(OUTPUT ${outfile}
+      COMMAND Qt4::uic
+      ARGS ${ui_options} -o ${outfile} ${infile}
+      MAIN_DEPENDENCY ${infile} VERBATIM)
+    set(${outfiles} ${${outfiles}} ${outfile})
+  endforeach ()
+
+endmacro ()
+
+
+# QT4_ADD_RESOURCES(outfiles inputfile ... )
+
+macro (QT4_ADD_RESOURCES outfiles )
+  QT4_EXTRACT_OPTIONS(rcc_files rcc_options rcc_target ${ARGN})
+
+  foreach (it ${rcc_files})
+    get_filename_component(outfilename ${it} NAME_WE)
+    get_filename_component(infile ${it} ABSOLUTE)
+    get_filename_component(rc_path ${infile} PATH)
+    set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
+
+    set(_RC_DEPENDS)
+    if(EXISTS "${infile}")
+      #  parse file for dependencies
+      #  all files are absolute paths or relative to the location of the qrc file
+      file(READ "${infile}" _RC_FILE_CONTENTS)
+      string(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
+      foreach(_RC_FILE ${_RC_FILES})
+        string(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
+        if(NOT IS_ABSOLUTE "${_RC_FILE}")
+          set(_RC_FILE "${rc_path}/${_RC_FILE}")
+        endif()
+        set(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
+      endforeach()
+      unset(_RC_FILES)
+      unset(_RC_FILE_CONTENTS)
+      # Since this cmake macro is doing the dependency scanning for these files,
+      # let's make a configured file and add it as a dependency so cmake is run
+      # again when dependencies need to be recomputed.
+      QT4_MAKE_OUTPUT_FILE("${infile}" "" "qrc.depends" out_depends)
+      configure_file("${infile}" "${out_depends}" COPYONLY)
+    else()
+      # The .qrc file does not exist (yet). Let's add a dependency and hope
+      # that it will be generated later
+      set(out_depends)
+    endif()
+
+    add_custom_command(OUTPUT ${outfile}
+      COMMAND Qt4::rcc
+      ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
+      MAIN_DEPENDENCY ${infile}
+      DEPENDS ${_RC_DEPENDS} "${out_depends}" VERBATIM)
+    set(${outfiles} ${${outfiles}} ${outfile})
+  endforeach ()
+
+endmacro ()
+
+
+macro(QT4_ADD_DBUS_INTERFACE _sources _interface _basename)
+  get_filename_component(_infile ${_interface} ABSOLUTE)
+  set(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
+  set(_impl   "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
+  set(_moc    "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
+
+  get_source_file_property(_nonamespace ${_interface} NO_NAMESPACE)
+  if(_nonamespace)
+    set(_params -N -m)
+  else()
+    set(_params -m)
+  endif()
+
+  get_source_file_property(_classname ${_interface} CLASSNAME)
+  if(_classname)
+    set(_params ${_params} -c ${_classname})
+  endif()
+
+  get_source_file_property(_include ${_interface} INCLUDE)
+  if(_include)
+    set(_params ${_params} -i ${_include})
+  endif()
+
+  add_custom_command(OUTPUT "${_impl}" "${_header}"
+      COMMAND Qt4::qdbusxml2cpp ${_params} -p ${_basename} ${_infile}
+      DEPENDS ${_infile} VERBATIM)
+
+  set_source_files_properties("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
+
+  QT4_GENERATE_MOC("${_header}" "${_moc}")
+
+  list(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
+  MACRO_ADD_FILE_DEPENDENCIES("${_impl}" "${_moc}")
+
+endmacro()
+
+
+macro(QT4_ADD_DBUS_INTERFACES _sources)
+  foreach (_current_FILE ${ARGN})
+    get_filename_component(_infile ${_current_FILE} ABSOLUTE)
+    get_filename_component(_basename ${_current_FILE} NAME)
+    # get the part before the ".xml" suffix
+    string(TOLOWER ${_basename} _basename)
+    string(REGEX REPLACE "(.*\\.)?([^\\.]+)\\.xml" "\\2" _basename ${_basename})
+    QT4_ADD_DBUS_INTERFACE(${_sources} ${_infile} ${_basename}interface)
+  endforeach ()
+endmacro()
+
+
+macro(QT4_GENERATE_DBUS_INTERFACE _header) # _customName OPTIONS -some -options )
+  QT4_EXTRACT_OPTIONS(_customName _qt4_dbus_options _qt4_dbus_target ${ARGN})
+
+  get_filename_component(_in_file ${_header} ABSOLUTE)
+  get_filename_component(_basename ${_header} NAME_WE)
+
+  if (_customName)
+    if (IS_ABSOLUTE ${_customName})
+      get_filename_component(_containingDir ${_customName} PATH)
+      if (NOT EXISTS ${_containingDir})
+        file(MAKE_DIRECTORY "${_containingDir}")
+      endif()
+      set(_target ${_customName})
+    else()
+      set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_customName})
+    endif()
+  else ()
+    set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.xml)
+  endif ()
+
+  add_custom_command(OUTPUT ${_target}
+      COMMAND Qt4::qdbuscpp2xml ${_qt4_dbus_options} ${_in_file} -o ${_target}
+      DEPENDS ${_in_file} VERBATIM
+  )
+endmacro()
+
+
+macro(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass) # _optionalBasename _optionalClassName)
+  get_filename_component(_infile ${_xml_file} ABSOLUTE)
+
+  unset(_optionalBasename)
+  if(${ARGC} GREATER 4)
+    set(_optionalBasename "${ARGV4}")
+  endif()
+  if (_optionalBasename)
+    set(_basename ${_optionalBasename} )
+  else ()
+    string(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile})
+    string(TOLOWER ${_basename} _basename)
+  endif ()
+
+  unset(_optionalClassName)
+  if(${ARGC} GREATER 5)
+    set(_optionalClassName "${ARGV5}")
+  endif()
+  set(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
+  set(_impl   "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
+  set(_moc    "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
+
+  if(_optionalClassName)
+    add_custom_command(OUTPUT "${_impl}" "${_header}"
+       COMMAND Qt4::qdbusxml2cpp -m -a ${_basename} -c ${_optionalClassName} -i ${_include} -l ${_parentClass} ${_infile}
+       DEPENDS ${_infile} VERBATIM
+    )
+  else()
+    add_custom_command(OUTPUT "${_impl}" "${_header}"
+       COMMAND Qt4::qdbusxml2cpp -m -a ${_basename} -i ${_include} -l ${_parentClass} ${_infile}
+       DEPENDS ${_infile} VERBATIM
+     )
+  endif()
+
+  QT4_GENERATE_MOC("${_header}" "${_moc}")
+  set_source_files_properties("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
+  MACRO_ADD_FILE_DEPENDENCIES("${_impl}" "${_moc}")
+
+  list(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
+endmacro()
+
+
+macro(QT4_AUTOMOC)
+  if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
+    message(DEPRECATION "The qt4_automoc macro is obsolete. Use the CMAKE_AUTOMOC feature instead.")
+  endif()
+  QT4_GET_MOC_FLAGS(_moc_INCS)
+
+  set(_matching_FILES )
+  foreach (_current_FILE ${ARGN})
+
+    get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
+    # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
+    # This is required to make uic work correctly:
+    # we need to add generated .cpp files to the sources (to compile them),
+    # but we cannot let automoc handle them, as the .cpp files don't exist yet when
+    # cmake is run for the very first time on them -> however the .cpp files might
+    # exist at a later run. at that time we need to skip them, so that we don't add two
+    # different rules for the same moc file
+    get_source_file_property(_skip ${_abs_FILE} SKIP_AUTOMOC)
+
+    if ( NOT _skip AND EXISTS ${_abs_FILE} )
+
+      file(READ ${_abs_FILE} _contents)
+
+      get_filename_component(_abs_PATH ${_abs_FILE} PATH)
+
+      string(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match "${_contents}")
+      if(_match)
+        foreach (_current_MOC_INC ${_match})
+          string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+
+          get_filename_component(_basename ${_current_MOC} NAME_WE)
+          if(EXISTS ${_abs_PATH}/${_basename}.hpp)
+            set(_header ${_abs_PATH}/${_basename}.hpp)
+          else()
+            set(_header ${_abs_PATH}/${_basename}.h)
+          endif()
+          set(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+          QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "" "")
+          MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
+        endforeach ()
+      endif()
+    endif ()
+  endforeach ()
+endmacro()
+
+
+macro(QT4_CREATE_TRANSLATION _qm_files)
+   QT4_EXTRACT_OPTIONS(_lupdate_files _lupdate_options _lupdate_target ${ARGN})
+   set(_my_sources)
+   set(_my_dirs)
+   set(_my_tsfiles)
+   set(_ts_pro)
+   foreach (_file ${_lupdate_files})
+     get_filename_component(_ext ${_file} EXT)
+     get_filename_component(_abs_FILE ${_file} ABSOLUTE)
+     if(_ext MATCHES "ts")
+       list(APPEND _my_tsfiles ${_abs_FILE})
+     else()
+       if(NOT _ext)
+         list(APPEND _my_dirs ${_abs_FILE})
+       else()
+         list(APPEND _my_sources ${_abs_FILE})
+       endif()
+     endif()
+   endforeach()
+   foreach(_ts_file ${_my_tsfiles})
+     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)
+       set(_ts_pro ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lupdate.pro)
+       set(_pro_srcs)
+       foreach(_pro_src ${_my_sources})
+         string(APPEND _pro_srcs " \\\n  \"${_pro_src}\"")
+       endforeach()
+       set(_pro_includes)
+       get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
+       list(REMOVE_DUPLICATES _inc_DIRS)
+       foreach(_pro_include ${_inc_DIRS})
+         get_filename_component(_abs_include "${_pro_include}" ABSOLUTE)
+         string(APPEND _pro_includes " \\\n  \"${_abs_include}\"")
+       endforeach()
+       file(GENERATE OUTPUT ${_ts_pro} CONTENT "SOURCES =${_pro_srcs}\nINCLUDEPATH =${_pro_includes}\n")
+     endif()
+     add_custom_command(OUTPUT ${_ts_file}
+        COMMAND Qt4::lupdate
+        ARGS ${_lupdate_options} ${_ts_pro} ${_my_dirs} -ts ${_ts_file}
+        DEPENDS ${_my_sources} ${_ts_pro} VERBATIM)
+   endforeach()
+   QT4_ADD_TRANSLATION(${_qm_files} ${_my_tsfiles})
+endmacro()
+
+
+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_source_file_property(output_location ${_abs_FILE} OUTPUT_LOCATION)
+    if(output_location)
+      file(MAKE_DIRECTORY "${output_location}")
+      set(qm "${output_location}/${qm}.qm")
+    else()
+      set(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
+    endif()
+
+    add_custom_command(OUTPUT ${qm}
+       COMMAND Qt4::lrelease
+       ARGS ${_abs_FILE} -qm ${qm}
+       DEPENDS ${_abs_FILE} VERBATIM
+    )
+    set(${_qm_files} ${${_qm_files}} ${qm})
+  endforeach ()
+endmacro()
+
+function(qt4_use_modules _target _link_type)
+  if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
+    message(DEPRECATION "The qt4_use_modules function is obsolete. Use target_link_libraries with IMPORTED targets instead.")
+  endif()
+  if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE")
+    set(modules ${ARGN})
+    set(link_type ${_link_type})
+  else()
+    set(modules ${_link_type} ${ARGN})
+  endif()
+  foreach(_module ${modules})
+    string(TOUPPER ${_module} _ucmodule)
+    set(_targetPrefix QT_QT${_ucmodule})
+    if (_ucmodule STREQUAL QAXCONTAINER OR _ucmodule STREQUAL QAXSERVER)
+      if (NOT QT_Q${_ucmodule}_FOUND)
+        message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
+      endif()
+      set(_targetPrefix QT_Q${_ucmodule})
+    else()
+      if (NOT QT_QT${_ucmodule}_FOUND)
+        message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
+      endif()
+      if ("${_ucmodule}" STREQUAL "MAIN")
+        message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
+      endif()
+    endif()
+    target_link_libraries(${_target} ${link_type} ${${_targetPrefix}_LIBRARIES})
+    set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${${_targetPrefix}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
+    set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${${_targetPrefix}_COMPILE_DEFINITIONS})
+  endforeach()
+endfunction()
diff --git a/share/cmake-3.6/Modules/RepositoryInfo.txt.in b/share/cmake-3.10/Modules/RepositoryInfo.txt.in
similarity index 100%
rename from share/cmake-3.6/Modules/RepositoryInfo.txt.in
rename to share/cmake-3.10/Modules/RepositoryInfo.txt.in
diff --git a/share/cmake-3.10/Modules/SelectLibraryConfigurations.cmake b/share/cmake-3.10/Modules/SelectLibraryConfigurations.cmake
new file mode 100644
index 0000000..dce6f99
--- /dev/null
+++ b/share/cmake-3.10/Modules/SelectLibraryConfigurations.cmake
@@ -0,0 +1,70 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# SelectLibraryConfigurations
+# ---------------------------
+#
+#
+#
+# select_library_configurations( basename )
+#
+# This macro takes a library base name as an argument, and will choose
+# good values for basename_LIBRARY, basename_LIBRARIES,
+# basename_LIBRARY_DEBUG, and basename_LIBRARY_RELEASE depending on what
+# has been found and set.  If only basename_LIBRARY_RELEASE is defined,
+# basename_LIBRARY will be set to the release value, and
+# basename_LIBRARY_DEBUG will be set to basename_LIBRARY_DEBUG-NOTFOUND.
+# If only basename_LIBRARY_DEBUG is defined, then basename_LIBRARY will
+# take the debug value, and basename_LIBRARY_RELEASE will be set to
+# basename_LIBRARY_RELEASE-NOTFOUND.
+#
+# If the generator supports configuration types, then basename_LIBRARY
+# and basename_LIBRARIES will be set with debug and optimized flags
+# specifying the library to be used for the given configuration.  If no
+# build type has been set or the generator in use does not support
+# configuration types, then basename_LIBRARY and basename_LIBRARIES will
+# take only the release value, or the debug value if the release one is
+# not set.
+
+# This macro was adapted from the FindQt4 CMake module and is maintained by Will
+# Dicharry <wdicharry@stellarscience.com>.
+
+macro( select_library_configurations basename )
+    if(NOT ${basename}_LIBRARY_RELEASE)
+        set(${basename}_LIBRARY_RELEASE "${basename}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library.")
+    endif()
+    if(NOT ${basename}_LIBRARY_DEBUG)
+        set(${basename}_LIBRARY_DEBUG "${basename}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library.")
+    endif()
+
+    if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND
+           NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE AND
+           ( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE ) )
+        # if the generator supports configuration types or CMAKE_BUILD_TYPE
+        # is set, then set optimized and debug options.
+        set( ${basename}_LIBRARY "" )
+        foreach( _libname IN LISTS ${basename}_LIBRARY_RELEASE )
+            list( APPEND ${basename}_LIBRARY optimized "${_libname}" )
+        endforeach()
+        foreach( _libname IN LISTS ${basename}_LIBRARY_DEBUG )
+            list( APPEND ${basename}_LIBRARY debug "${_libname}" )
+        endforeach()
+    elseif( ${basename}_LIBRARY_RELEASE )
+        set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
+    elseif( ${basename}_LIBRARY_DEBUG )
+        set( ${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG} )
+    else()
+        set( ${basename}_LIBRARY "${basename}_LIBRARY-NOTFOUND")
+    endif()
+
+    set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" )
+
+    if( ${basename}_LIBRARY )
+        set( ${basename}_FOUND TRUE )
+    endif()
+
+    mark_as_advanced( ${basename}_LIBRARY_RELEASE
+        ${basename}_LIBRARY_DEBUG
+    )
+endmacro()
diff --git a/share/cmake-3.10/Modules/Squish4RunTestCase.bat b/share/cmake-3.10/Modules/Squish4RunTestCase.bat
new file mode 100644
index 0000000..c658208
--- /dev/null
+++ b/share/cmake-3.10/Modules/Squish4RunTestCase.bat
@@ -0,0 +1,24 @@
+set SQUISHSERVER=%1

+set SQUISHRUNNER=%2

+set TESTSUITE=%3

+set TESTCASE=%4

+set AUT=%5

+set AUTDIR=%6

+set SETTINGSGROUP=%7

+

+%SQUISHSERVER% --stop

+

+echo "Adding AUT... %SQUISHSERVER% --config addAUT %AUT% %AUTDIR%"

+%SQUISHSERVER% --config addAUT "%AUT%" "%AUTDIR%"

+

+echo "Starting the squish server... %SQUISHSERVER%"

+start /B %SQUISHSERVER%

+

+echo "Running the test case...%SQUISHRUNNER% --testsuite %TESTSUITE% --testcase %TESTCASE%"

+%SQUISHRUNNER% --testsuite "%TESTSUITE%" --testcase "%TESTCASE%"

+set returnValue=%ERRORLEVEL%

+

+echo "Stopping the squish server... %SQUISHSERVER% --stop"

+%SQUISHSERVER% --stop

+

+exit /B %returnValue%

diff --git a/share/cmake-3.6/Modules/Squish4RunTestCase.sh b/share/cmake-3.10/Modules/Squish4RunTestCase.sh
similarity index 100%
rename from share/cmake-3.6/Modules/Squish4RunTestCase.sh
rename to share/cmake-3.10/Modules/Squish4RunTestCase.sh
diff --git a/share/cmake-3.6/Modules/SquishRunTestCase.bat b/share/cmake-3.10/Modules/SquishRunTestCase.bat
similarity index 100%
rename from share/cmake-3.6/Modules/SquishRunTestCase.bat
rename to share/cmake-3.10/Modules/SquishRunTestCase.bat
diff --git a/share/cmake-3.6/Modules/SquishRunTestCase.sh b/share/cmake-3.10/Modules/SquishRunTestCase.sh
similarity index 100%
rename from share/cmake-3.6/Modules/SquishRunTestCase.sh
rename to share/cmake-3.10/Modules/SquishRunTestCase.sh
diff --git a/share/cmake-3.10/Modules/SquishTestScript.cmake b/share/cmake-3.10/Modules/SquishTestScript.cmake
new file mode 100644
index 0000000..cfdfaec
--- /dev/null
+++ b/share/cmake-3.10/Modules/SquishTestScript.cmake
@@ -0,0 +1,85 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# SquishTestScript
+# ----------------
+#
+#
+#
+#
+#
+# This script launches a GUI test using Squish.  You should not call the
+# script directly; instead, you should access it via the SQUISH_ADD_TEST
+# macro that is defined in FindSquish.cmake.
+#
+# This script starts the Squish server, launches the test on the client,
+# and finally stops the squish server.  If any of these steps fail
+# (including if the tests do not pass) then a fatal error is raised.
+
+# print out the variable that we are using
+message(STATUS "squish_aut='${squish_aut}'")
+message(STATUS "squish_aut_dir='${squish_aut_dir}'")
+
+message(STATUS "squish_version='${squish_version}'")
+message(STATUS "squish_server_executable='${squish_server_executable}'")
+message(STATUS "squish_client_executable='${squish_client_executable}'")
+message(STATUS "squish_libqtdir ='${squish_libqtdir}'")
+message(STATUS "squish_test_suite='${squish_test_suite}'")
+message(STATUS "squish_test_case='${squish_test_case}'")
+message(STATUS "squish_wrapper='${squish_wrapper}'")
+message(STATUS "squish_env_vars='${squish_env_vars}'")
+message(STATUS "squish_module_dir='${squish_module_dir}'")
+message(STATUS "squish_settingsgroup='${squish_settingsgroup}'")
+message(STATUS "squish_pre_command='${squish_pre_command}'")
+message(STATUS "squish_post_command='${squish_post_command}'")
+
+# parse enviornment variables
+foreach(i ${squish_env_vars})
+  message(STATUS "parsing env var key/value pair ${i}")
+  string(REGEX MATCH "([^=]*)=(.*)" squish_env_name ${i})
+  message(STATUS "key=${CMAKE_MATCH_1}")
+  message(STATUS "value=${CMAKE_MATCH_2}")
+  set ( ENV{${CMAKE_MATCH_1}} ${CMAKE_MATCH_2} )
+endforeach()
+
+if (QT4_INSTALLED)
+  # record Qt lib directory
+  set ( ENV{${SQUISH_LIBQTDIR}} ${squish_libqtdir} )
+endif ()
+
+if(squish_pre_command)
+  message(STATUS "Executing pre command: ${squish_pre_command}")
+  execute_process(COMMAND "${squish_pre_command}")
+endif()
+
+# run the test
+if("${squish_version}" STREQUAL "4")
+  if (WIN32)
+    execute_process(COMMAND ${squish_module_dir}/Squish4RunTestCase.bat ${squish_server_executable} ${squish_client_executable} ${squish_test_suite} ${squish_test_case} ${squish_aut} ${squish_aut_dir} ${squish_settingsgroup}
+                    RESULT_VARIABLE test_rv )
+  elseif(UNIX)
+    execute_process(COMMAND ${squish_module_dir}/Squish4RunTestCase.sh ${squish_server_executable} ${squish_client_executable} ${squish_test_suite} ${squish_test_case} ${squish_aut} ${squish_aut_dir} ${squish_settingsgroup}
+                    RESULT_VARIABLE test_rv )
+  endif ()
+
+else()
+
+  if (WIN32)
+    execute_process(COMMAND ${squish_module_dir}/SquishRunTestCase.bat ${squish_server_executable} ${squish_client_executable} ${squish_test_case} ${squish_wrapper} ${squish_aut}
+                    RESULT_VARIABLE test_rv )
+  elseif(UNIX)
+    execute_process(COMMAND ${squish_module_dir}/SquishRunTestCase.sh ${squish_server_executable} ${squish_client_executable} ${squish_test_case} ${squish_wrapper} ${squish_aut}
+                    RESULT_VARIABLE test_rv )
+  endif ()
+endif()
+
+if(squish_post_command)
+  message(STATUS "Executing post command: ${squish_post_command}")
+  execute_process(COMMAND "${squish_post_command}")
+endif()
+
+# check for an error with running the test
+if(NOT "${test_rv}" STREQUAL "0")
+  message(FATAL_ERROR "Error running Squish test")
+endif()
diff --git a/share/cmake-3.10/Modules/SystemInformation.cmake b/share/cmake-3.10/Modules/SystemInformation.cmake
new file mode 100644
index 0000000..5ecc39a
--- /dev/null
+++ b/share/cmake-3.10/Modules/SystemInformation.cmake
@@ -0,0 +1,93 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+project(DumpInformation)
+
+# first get the standard information for th platform
+include_directories("This does not exists")
+get_directory_property(incl INCLUDE_DIRECTORIES)
+set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
+
+configure_file("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
+
+
+file(APPEND "${RESULT_FILE}"
+  "\n=================================================================\n")
+file(APPEND "${RESULT_FILE}"
+  "=== VARIABLES\n")
+file(APPEND "${RESULT_FILE}"
+  "=================================================================\n")
+get_cmake_property(res VARIABLES)
+foreach(var ${res})
+  file(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
+endforeach()
+
+file(APPEND "${RESULT_FILE}"
+  "\n=================================================================\n")
+file(APPEND "${RESULT_FILE}"
+  "=== COMMANDS\n")
+file(APPEND "${RESULT_FILE}"
+  "=================================================================\n")
+get_cmake_property(res COMMANDS)
+foreach(var ${res})
+  file(APPEND "${RESULT_FILE}" "${var}\n")
+endforeach()
+
+file(APPEND "${RESULT_FILE}"
+  "\n=================================================================\n")
+file(APPEND "${RESULT_FILE}"
+  "=== MACROS\n")
+file(APPEND "${RESULT_FILE}"
+  "=================================================================\n")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
+get_cmake_property(res MACROS)
+foreach(var ${res})
+  file(APPEND "${RESULT_FILE}" "${var}\n")
+endforeach()
+
+file(APPEND "${RESULT_FILE}"
+  "\n=================================================================\n")
+file(APPEND "${RESULT_FILE}"
+  "=== OTHER\n")
+file(APPEND "${RESULT_FILE}"
+  "=================================================================\n")
+get_directory_property(res INCLUDE_DIRECTORIES)
+foreach(var ${res})
+  file(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
+endforeach()
+
+get_directory_property(res LINK_DIRECTORIES)
+foreach(var ${res})
+  file(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
+endforeach()
+
+get_directory_property(res INCLUDE_REGULAR_EXPRESSION)
+file(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
+
+# include other files if they are present, such as when run from within the
+# binary tree
+macro(DUMP_FILE THE_FILE)
+  if (EXISTS "${THE_FILE}")
+    file(APPEND "${RESULT_FILE}"
+      "\n=================================================================\n")
+    file(APPEND "${RESULT_FILE}"
+      "=== ${THE_FILE}\n")
+    file(APPEND "${RESULT_FILE}"
+      "=================================================================\n")
+
+    file(READ "${THE_FILE}" FILE_CONTENTS LIMIT 50000)
+    file(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
+  endif ()
+endmacro()
+
+DUMP_FILE("../CMakeCache.txt")
+DUMP_FILE("../CMakeFiles/CMakeOutput.log")
+DUMP_FILE("../CMakeFiles/CMakeError.log")
+DUMP_FILE("../CMakeFiles/CMakeSystem.cmake")
+
+foreach (EXTRA_FILE ${EXTRA_DUMP_FILES})
+  DUMP_FILE("${EXTRA_FILE}")
+endforeach ()
+
diff --git a/share/cmake-3.6/Modules/SystemInformation.in b/share/cmake-3.10/Modules/SystemInformation.in
similarity index 100%
rename from share/cmake-3.6/Modules/SystemInformation.in
rename to share/cmake-3.10/Modules/SystemInformation.in
diff --git a/share/cmake-3.10/Modules/TestBigEndian.cmake b/share/cmake-3.10/Modules/TestBigEndian.cmake
new file mode 100644
index 0000000..cc627d0
--- /dev/null
+++ b/share/cmake-3.10/Modules/TestBigEndian.cmake
@@ -0,0 +1,121 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# TestBigEndian
+# -------------
+#
+# Define macro to determine endian type
+#
+# Check if the system is big endian or little endian
+#
+# ::
+#
+#   TEST_BIG_ENDIAN(VARIABLE)
+#   VARIABLE - variable to store the result to
+
+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")
+
+    if(CMAKE_C_COMPILER_LOADED)
+      set(_test_language "C")
+    elseif(CMAKE_CXX_COMPILER_LOADED)
+      set(_test_language "CXX")
+    else()
+      message(FATAL_ERROR "TEST_BIG_ENDIAN needs either C or CXX language enabled")
+    endif()
+
+    include(CheckTypeSize)
+
+    CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT LANGUAGE ${_test_language})
+    if(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
+      message(STATUS "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")
+        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")
+          set(CMAKE_16BIT_TYPE "unsigned long")
+        else()
+          message(FATAL_ERROR "no suitable type found")
+        endif()
+
+      endif()
+
+    endif()
+
+    if(_test_language STREQUAL "CXX")
+      set(_test_file "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.cpp")
+    else()
+      set(_test_file "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c")
+    endif()
+
+    configure_file("${CMAKE_ROOT}/Modules/TestEndianess.c.in"
+                   ${_test_file}
+                   @ONLY)
+
+     file(READ ${_test_file} TEST_ENDIANESS_FILE_CONTENT)
+
+     try_compile(HAVE_${VARIABLE}
+      "${CMAKE_BINARY_DIR}"
+      ${_test_file}
+      OUTPUT_VARIABLE OUTPUT
+      COPY_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin" )
+
+      if(HAVE_${VARIABLE})
+
+        file(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
+            CMAKE_TEST_ENDIANESS_STRINGS_LE LIMIT_COUNT 1 REGEX "THIS IS LITTLE ENDIAN")
+
+        file(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
+            CMAKE_TEST_ENDIANESS_STRINGS_BE LIMIT_COUNT 1 REGEX "THIS IS BIG ENDIAN")
+
+        # on mac, if there are universal binaries built both will be true
+        # return the result depending on the machine on which cmake runs
+        if(CMAKE_TEST_ENDIANESS_STRINGS_BE  AND  CMAKE_TEST_ENDIANESS_STRINGS_LE)
+          if(CMAKE_SYSTEM_PROCESSOR MATCHES powerpc)
+            set(CMAKE_TEST_ENDIANESS_STRINGS_BE TRUE)
+            set(CMAKE_TEST_ENDIANESS_STRINGS_LE FALSE)
+          else()
+            set(CMAKE_TEST_ENDIANESS_STRINGS_BE FALSE)
+            set(CMAKE_TEST_ENDIANESS_STRINGS_LE TRUE)
+          endif()
+          message(STATUS "TEST_BIG_ENDIAN found different results, consider setting CMAKE_OSX_ARCHITECTURES or CMAKE_TRY_COMPILE_OSX_ARCHITECTURES to one or no architecture !")
+        endif()
+
+        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")
+        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")
+        endif()
+
+        if(NOT CMAKE_TEST_ENDIANESS_STRINGS_BE  AND  NOT CMAKE_TEST_ENDIANESS_STRINGS_LE)
+          message(SEND_ERROR "TEST_BIG_ENDIAN found no result!")
+        endif()
+
+        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "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")
+        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})
+      endif()
+  endif()
+endmacro()
+
+
diff --git a/share/cmake-3.10/Modules/TestCXXAcceptsFlag.cmake b/share/cmake-3.10/Modules/TestCXXAcceptsFlag.cmake
new file mode 100644
index 0000000..10019ec
--- /dev/null
+++ b/share/cmake-3.10/Modules/TestCXXAcceptsFlag.cmake
@@ -0,0 +1,41 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# TestCXXAcceptsFlag
+# ------------------
+#
+# Deprecated.  See :module:`CheckCXXCompilerFlag`.
+#
+# Check if the CXX compiler accepts a flag.
+#
+# .. code-block:: cmake
+#
+#  CHECK_CXX_ACCEPTS_FLAG(<flags> <variable>)
+#
+# ``<flags>``
+#  the flags to try
+# ``<variable>``
+#  variable to store the result
+
+macro(CHECK_CXX_ACCEPTS_FLAG FLAGS  VARIABLE)
+  if(NOT DEFINED ${VARIABLE})
+    message(STATUS "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")
+      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")
+      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")
+    endif()
+  endif()
+endmacro()
diff --git a/share/cmake-3.6/Modules/TestEndianess.c.in b/share/cmake-3.10/Modules/TestEndianess.c.in
similarity index 100%
rename from share/cmake-3.6/Modules/TestEndianess.c.in
rename to share/cmake-3.10/Modules/TestEndianess.c.in
diff --git a/share/cmake-3.10/Modules/TestForANSIForScope.cmake b/share/cmake-3.10/Modules/TestForANSIForScope.cmake
new file mode 100644
index 0000000..7d2aad6
--- /dev/null
+++ b/share/cmake-3.10/Modules/TestForANSIForScope.cmake
@@ -0,0 +1,42 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# TestForANSIForScope
+# -------------------
+#
+# Check for ANSI for scope support
+#
+# Check if the compiler restricts the scope of variables declared in a
+# for-init-statement to the loop body.
+#
+# ::
+#
+#   CMAKE_NO_ANSI_FOR_SCOPE - holds result
+
+if(NOT DEFINED CMAKE_ANSI_FOR_SCOPE)
+  message(STATUS "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")
+    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")
+    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
+      "Determining if the CXX compiler understands ansi for scopes failed with "
+      "the following output:\n${OUTPUT}\n\n")
+  endif ()
+endif()
+
+
+
+
+
diff --git a/share/cmake-3.10/Modules/TestForANSIStreamHeaders.cmake b/share/cmake-3.10/Modules/TestForANSIStreamHeaders.cmake
new file mode 100644
index 0000000..e890c67
--- /dev/null
+++ b/share/cmake-3.10/Modules/TestForANSIStreamHeaders.cmake
@@ -0,0 +1,32 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# TestForANSIStreamHeaders
+# ------------------------
+#
+# Test for compiler support of ANSI stream headers iostream, etc.
+#
+# check if the compiler supports the standard ANSI iostream header
+# (without the .h)
+#
+# ::
+#
+#   CMAKE_NO_ANSI_STREAM_HEADERS - defined by the results
+
+include(${CMAKE_CURRENT_LIST_DIR}/CheckIncludeFileCXX.cmake)
+
+if(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
+  CHECK_INCLUDE_FILE_CXX(iostream CMAKE_ANSI_STREAM_HEADERS)
+  if (CMAKE_ANSI_STREAM_HEADERS)
+    set (CMAKE_NO_ANSI_STREAM_HEADERS 0 CACHE INTERNAL
+         "Does the compiler support headers like iostream.")
+  else ()
+    set (CMAKE_NO_ANSI_STREAM_HEADERS 1 CACHE INTERNAL
+       "Does the compiler support headers like iostream.")
+  endif ()
+
+  mark_as_advanced(CMAKE_NO_ANSI_STREAM_HEADERS)
+endif()
+
+
diff --git a/share/cmake-3.6/Modules/TestForANSIStreamHeaders.cxx b/share/cmake-3.10/Modules/TestForANSIStreamHeaders.cxx
similarity index 100%
rename from share/cmake-3.6/Modules/TestForANSIStreamHeaders.cxx
rename to share/cmake-3.10/Modules/TestForANSIStreamHeaders.cxx
diff --git a/share/cmake-3.6/Modules/TestForAnsiForScope.cxx b/share/cmake-3.10/Modules/TestForAnsiForScope.cxx
similarity index 100%
rename from share/cmake-3.6/Modules/TestForAnsiForScope.cxx
rename to share/cmake-3.10/Modules/TestForAnsiForScope.cxx
diff --git a/share/cmake-3.10/Modules/TestForSSTREAM.cmake b/share/cmake-3.10/Modules/TestForSSTREAM.cmake
new file mode 100644
index 0000000..0bfbfbb
--- /dev/null
+++ b/share/cmake-3.10/Modules/TestForSSTREAM.cmake
@@ -0,0 +1,40 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# TestForSSTREAM
+# --------------
+#
+# Test for compiler support of ANSI sstream header
+#
+# check if the compiler supports the standard ANSI sstream header
+#
+# ::
+#
+#   CMAKE_NO_ANSI_STRING_STREAM - defined by the results
+
+if(NOT DEFINED CMAKE_HAS_ANSI_STRING_STREAM)
+  message(STATUS "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")
+    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")
+    set (CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL
+       "Does the compiler support sstream")
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+      "Determining if the CXX compiler has sstream failed with "
+      "the following output:\n${OUTPUT}\n\n")
+  endif ()
+endif()
+
+
+
+
diff --git a/share/cmake-3.6/Modules/TestForSSTREAM.cxx b/share/cmake-3.10/Modules/TestForSSTREAM.cxx
similarity index 100%
rename from share/cmake-3.6/Modules/TestForSSTREAM.cxx
rename to share/cmake-3.10/Modules/TestForSSTREAM.cxx
diff --git a/share/cmake-3.10/Modules/TestForSTDNamespace.cmake b/share/cmake-3.10/Modules/TestForSTDNamespace.cmake
new file mode 100644
index 0000000..3ae80c7
--- /dev/null
+++ b/share/cmake-3.10/Modules/TestForSTDNamespace.cmake
@@ -0,0 +1,40 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# TestForSTDNamespace
+# -------------------
+#
+# Test for std:: namespace support
+#
+# check if the compiler supports std:: on stl classes
+#
+# ::
+#
+#   CMAKE_NO_STD_NAMESPACE - defined by the results
+
+if(NOT DEFINED CMAKE_STD_NAMESPACE)
+  message(STATUS "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")
+    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")
+    set (CMAKE_NO_STD_NAMESPACE 1 CACHE INTERNAL
+       "Does the compiler support std::.")
+    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+      "Determining if the CXX compiler has std namespace failed with "
+      "the following output:\n${OUTPUT}\n\n")
+  endif ()
+endif()
+
+
+
+
diff --git a/share/cmake-3.6/Modules/TestForSTDNamespace.cxx b/share/cmake-3.10/Modules/TestForSTDNamespace.cxx
similarity index 100%
rename from share/cmake-3.6/Modules/TestForSTDNamespace.cxx
rename to share/cmake-3.10/Modules/TestForSTDNamespace.cxx
diff --git a/share/cmake-3.10/Modules/UseEcos.cmake b/share/cmake-3.10/Modules/UseEcos.cmake
new file mode 100644
index 0000000..942bc38
--- /dev/null
+++ b/share/cmake-3.10/Modules/UseEcos.cmake
@@ -0,0 +1,235 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UseEcos
+# -------
+#
+# This module defines variables and macros required to build eCos application.
+#
+# This file contains the following macros:
+# ECOS_ADD_INCLUDE_DIRECTORIES() - add the eCos include dirs
+# ECOS_ADD_EXECUTABLE(name source1 ...  sourceN ) - create an eCos
+# executable ECOS_ADJUST_DIRECTORY(VAR source1 ...  sourceN ) - adjusts
+# the path of the source files and puts the result into VAR
+#
+# Macros for selecting the toolchain: ECOS_USE_ARM_ELF_TOOLS() - enable
+# the ARM ELF toolchain for the directory where it is called
+# ECOS_USE_I386_ELF_TOOLS() - enable the i386 ELF toolchain for the
+# directory where it is called ECOS_USE_PPC_EABI_TOOLS() - enable the
+# PowerPC toolchain for the directory where it is called
+#
+# It contains the following variables: ECOS_DEFINITIONS
+# ECOSCONFIG_EXECUTABLE ECOS_CONFIG_FILE - defaults to ecos.ecc, if your
+# eCos configuration file has a different name, adjust this variable for
+# internal use only:
+#
+# ::
+#
+#   ECOS_ADD_TARGET_LIB
+
+# first check that ecosconfig is available
+find_program(ECOSCONFIG_EXECUTABLE NAMES ecosconfig)
+if(NOT ECOSCONFIG_EXECUTABLE)
+   message(SEND_ERROR "ecosconfig was not found. Either include it in the system path or set it manually using ccmake.")
+else()
+   message(STATUS "Found ecosconfig: ${ECOSCONFIG_EXECUTABLE}")
+endif()
+
+# check that ECOS_REPOSITORY is set correctly
+if (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db)
+   message(SEND_ERROR "The environment variable ECOS_REPOSITORY is not set correctly. Set it to the directory which contains the file ecos.db")
+else ()
+   message(STATUS "ECOS_REPOSITORY is set to $ENV{ECOS_REPOSITORY}")
+endif ()
+
+# check that tclsh (coming with TCL) is available, otherwise ecosconfig doesn't work
+find_package(Tclsh)
+if (NOT TCL_TCLSH)
+   message(SEND_ERROR "The TCL tclsh was not found. Please install TCL, it is required for building eCos applications.")
+else ()
+   message(STATUS "tlcsh found: ${TCL_TCLSH}")
+endif ()
+
+#add the globale include-diretories
+#usage: ECOS_ADD_INCLUDE_DIRECTORIES()
+macro(ECOS_ADD_INCLUDE_DIRECTORIES)
+#check for ProjectSources.txt one level higher
+   if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt)
+      include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
+   else ()
+      include_directories(${CMAKE_CURRENT_SOURCE_DIR}/)
+   endif ()
+
+#the ecos include directory
+   include_directories(${CMAKE_CURRENT_BINARY_DIR}/ecos/install/include/)
+
+endmacro()
+
+
+#we want to compile for the xscale processor, in this case the following macro has to be called
+#usage: ECOS_USE_ARM_ELF_TOOLS()
+macro (ECOS_USE_ARM_ELF_TOOLS)
+   set(CMAKE_CXX_COMPILER "arm-elf-c++")
+   set(CMAKE_COMPILER_IS_GNUCXX 1)
+   set(CMAKE_C_COMPILER "arm-elf-gcc")
+   set(CMAKE_AR "arm-elf-ar")
+   set(CMAKE_RANLIB "arm-elf-ranlib")
+#for linking
+   set(ECOS_LD_MCPU "-mcpu=xscale")
+#for compiling
+   add_definitions(-mcpu=xscale -mapcs-frame)
+#for the obj-tools
+   set(ECOS_ARCH_PREFIX "arm-elf-")
+endmacro ()
+
+#usage: ECOS_USE_PPC_EABI_TOOLS()
+macro (ECOS_USE_PPC_EABI_TOOLS)
+   set(CMAKE_CXX_COMPILER "powerpc-eabi-c++")
+   set(CMAKE_COMPILER_IS_GNUCXX 1)
+   set(CMAKE_C_COMPILER "powerpc-eabi-gcc")
+   set(CMAKE_AR "powerpc-eabi-ar")
+   set(CMAKE_RANLIB "powerpc-eabi-ranlib")
+#for linking
+   set(ECOS_LD_MCPU "")
+#for compiling
+   add_definitions()
+#for the obj-tools
+   set(ECOS_ARCH_PREFIX "powerpc-eabi-")
+endmacro ()
+
+#usage: ECOS_USE_I386_ELF_TOOLS()
+macro (ECOS_USE_I386_ELF_TOOLS)
+   set(CMAKE_CXX_COMPILER "i386-elf-c++")
+   set(CMAKE_COMPILER_IS_GNUCXX 1)
+   set(CMAKE_C_COMPILER "i386-elf-gcc")
+   set(CMAKE_AR "i386-elf-ar")
+   set(CMAKE_RANLIB "i386-elf-ranlib")
+#for linking
+   set(ECOS_LD_MCPU "")
+#for compiling
+   add_definitions()
+#for the obj-tools
+   set(ECOS_ARCH_PREFIX "i386-elf-")
+endmacro ()
+
+
+#since the actual sources are located one level upwards
+#a "../" has to be prepended in front of every source file
+#call the following macro to achieve this, the first parameter
+#is the name of the new list of source files with adjusted paths,
+#followed by all source files
+#usage: ECOS_ADJUST_DIRECTORY(adjusted_SRCS ${my_srcs})
+macro(ECOS_ADJUST_DIRECTORY _target_FILES )
+   foreach (_current_FILE ${ARGN})
+      get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
+      if (NOT ${_abs_FILE} STREQUAL ${_current_FILE})
+         get_filename_component(_abs_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${_current_FILE} ABSOLUTE)
+      endif ()
+      list(APPEND ${_target_FILES} ${_abs_FILE})
+   endforeach ()
+endmacro()
+
+# the default ecos config file name
+# maybe in future also out-of-source builds may be possible
+set(ECOS_CONFIG_FILE ecos.ecc)
+
+#creates the dependency from all source files on the ecos target.ld,
+#adds the command for compiling ecos
+macro(ECOS_ADD_TARGET_LIB)
+# when building out-of-source, create the ecos/ subdir
+    if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos)
+        file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ecos)
+    endif()
+
+#sources depend on target.ld
+   set_source_files_properties(
+      ${ARGN}
+      PROPERTIES
+      OBJECT_DEPENDS
+      ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
+   )
+
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
+      COMMAND sh -c \"make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos || exit -1\; if [ -e ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld ] \; then touch ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld\; fi\"
+      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
+   )
+
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
+      COMMAND sh -c \" cd ${CMAKE_CURRENT_BINARY_DIR}/ecos\; ${ECOSCONFIG_EXECUTABLE} --config=${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} tree || exit -1\;\"
+      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE}
+   )
+
+   add_custom_target( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS  ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile )
+endmacro()
+
+# get the directory of the current file, used later on in the file
+get_filename_component( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+#macro for creating an executable ecos application
+#the first parameter is the name of the executable,
+#the second is the list of all source files (where the path
+#has been adjusted beforehand by calling ECOS_ADJUST_DIRECTORY()
+#usage: ECOS_ADD_EXECUTABLE(my_app ${adjusted_SRCS})
+macro(ECOS_ADD_EXECUTABLE _exe_NAME )
+   #definitions, valid for all ecos projects
+   #the optimization and "-g" for debugging has to be enabled
+   #in the project-specific CMakeLists.txt
+   add_definitions(-D__ECOS__=1 -D__ECOS=1)
+   set(ECOS_DEFINITIONS -Wall -Wno-long-long -pipe -fno-builtin)
+
+#the executable depends on ecos target.ld
+   ECOS_ADD_TARGET_LIB(${ARGN})
+
+# when using nmake makefiles, the custom buildtype supresses the default cl.exe flags
+# and the rules for creating objects are adjusted for gcc
+   set(CMAKE_BUILD_TYPE CUSTOM_ECOS_BUILD)
+   set(CMAKE_C_COMPILE_OBJECT     "<CMAKE_C_COMPILER>   <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+   set(CMAKE_CXX_COMPILE_OBJECT   "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+# special link commands for ecos-executables
+   set(CMAKE_CXX_LINK_EXECUTABLE  "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS>  -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib  -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
+   set(CMAKE_C_LINK_EXECUTABLE    "<CMAKE_C_COMPILER>   <CMAKE_C_LINK_FLAGS>   <OBJECTS>  -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib  -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
+# some strict compiler flags
+   set (CMAKE_C_FLAGS "-Wstrict-prototypes")
+   set (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions")
+
+   add_executable(${_exe_NAME} ${ARGN})
+   set_target_properties(${_exe_NAME} PROPERTIES SUFFIX ".elf")
+
+#create a binary file
+   add_custom_command(
+      TARGET ${_exe_NAME}
+      POST_BUILD
+      COMMAND ${ECOS_ARCH_PREFIX}objcopy
+      ARGS -O binary ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin
+   )
+
+#and an srec file
+   add_custom_command(
+      TARGET ${_exe_NAME}
+      POST_BUILD
+      COMMAND ${ECOS_ARCH_PREFIX}objcopy
+      ARGS -O srec ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec
+   )
+
+#add the created files to the clean-files
+   set_directory_properties(
+      PROPERTIES
+       ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst;"
+   )
+
+   add_custom_target(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake  )
+   add_custom_target(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+   add_dependencies (ecosclean normalclean)
+
+
+   add_custom_target( listing
+      COMMAND echo -e   \"\\n--- Symbols sorted by address ---\\n\" > ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
+      COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -n ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
+      COMMAND echo -e \"\\n--- Symbols sorted by size ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
+      COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -r --size-sort ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
+      COMMAND echo -e \"\\n--- Full assembly listing ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
+      COMMAND ${ECOS_ARCH_PREFIX}objdump -S -x -d -C ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst )
+
+endmacro()
+
diff --git a/share/cmake-3.10/Modules/UseJava.cmake b/share/cmake-3.10/Modules/UseJava.cmake
new file mode 100644
index 0000000..1182875
--- /dev/null
+++ b/share/cmake-3.10/Modules/UseJava.cmake
@@ -0,0 +1,1435 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UseJava
+# -------
+#
+# Use Module for Java
+#
+# This file provides functions for Java.  It is assumed that
+# FindJava.cmake has already been loaded.  See FindJava.cmake for
+# information on how to load Java into your CMake project.
+#
+# ::
+#
+#  add_jar(target_name
+#          [SOURCES] source1 [source2 ...] [resource1 ...]
+#          [INCLUDE_JARS jar1 [jar2 ...]]
+#          [ENTRY_POINT entry]
+#          [VERSION version]
+#          [OUTPUT_NAME name]
+#          [OUTPUT_DIR dir]
+#          )
+#
+# This command creates a <target_name>.jar.  It compiles the given
+# source files (source) and adds the given resource files (resource) to
+# the jar file.  Source files can be java files or listing files
+# (prefixed by '@').  If only resource files are given then just a jar file
+# is created.  The list of include jars are added to the classpath when
+# compiling the java sources and also to the dependencies of the target.
+# INCLUDE_JARS also accepts other target names created by add_jar.  For
+# backwards compatibility, jar files listed as sources are ignored (as
+# they have been since the first version of this module).
+#
+# The default OUTPUT_DIR can also be changed by setting the variable
+# CMAKE_JAVA_TARGET_OUTPUT_DIR.
+#
+# Additional instructions:
+#
+# ::
+#
+#    To add compile flags to the target you can set these flags with
+#    the following variable:
+#
+#
+#
+# ::
+#
+#        set(CMAKE_JAVA_COMPILE_FLAGS -nowarn)
+#
+#
+#
+# ::
+#
+#    To add a path or a jar file to the class path you can do this
+#    with the CMAKE_JAVA_INCLUDE_PATH variable.
+#
+#
+#
+# ::
+#
+#        set(CMAKE_JAVA_INCLUDE_PATH /usr/share/java/shibboleet.jar)
+#
+#
+#
+# ::
+#
+#    To use a different output name for the target you can set it with:
+#
+#
+#
+# ::
+#
+#        add_jar(foobar foobar.java OUTPUT_NAME shibboleet.jar)
+#
+#
+#
+# ::
+#
+#    To use a different output directory than CMAKE_CURRENT_BINARY_DIR
+#    you can set it with:
+#
+#
+#
+# ::
+#
+#        add_jar(foobar foobar.java OUTPUT_DIR ${PROJECT_BINARY_DIR}/bin)
+#
+#
+#
+# ::
+#
+#    To define an entry point in your jar you can set it with the ENTRY_POINT
+#    named argument:
+#
+#
+#
+# ::
+#
+#        add_jar(example ENTRY_POINT com/examples/MyProject/Main)
+#
+#
+#
+# ::
+#
+#    To define a custom manifest for the jar, you can set it with the manifest
+#    named argument:
+#
+#
+#
+# ::
+#
+#        add_jar(example MANIFEST /path/to/manifest)
+#
+#
+#
+# ::
+#
+#    To add a VERSION to the target output name you can set it using
+#    the VERSION named argument to add_jar. This will create a jar file with the
+#    name shibboleet-1.0.0.jar and will create a symlink shibboleet.jar
+#    pointing to the jar with the version information.
+#
+#
+#
+# ::
+#
+#        add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
+#
+#
+#
+# ::
+#
+#     If the target is a JNI library, utilize the following commands to
+#     create a JNI symbolic link:
+#
+#
+#
+# ::
+#
+#        set(CMAKE_JNI_TARGET TRUE)
+#        add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
+#        install_jar(shibboleet ${LIB_INSTALL_DIR}/shibboleet)
+#        install_jni_symlink(shibboleet ${JAVA_LIB_INSTALL_DIR})
+#
+#
+#
+# ::
+#
+#     If a single target needs to produce more than one jar from its
+#     java source code, to prevent the accumulation of duplicate class
+#     files in subsequent jars, set/reset CMAKE_JAR_CLASSES_PREFIX prior
+#     to calling the add_jar() function:
+#
+#
+#
+# ::
+#
+#        set(CMAKE_JAR_CLASSES_PREFIX com/redhat/foo)
+#        add_jar(foo foo.java)
+#
+#
+#
+# ::
+#
+#        set(CMAKE_JAR_CLASSES_PREFIX com/redhat/bar)
+#        add_jar(bar bar.java)
+#
+#
+#
+# Target Properties:
+#
+# ::
+#
+#    The add_jar() function sets some target properties. You can get these
+#    properties with the
+#       get_property(TARGET <target_name> PROPERTY <propery_name>)
+#    command.
+#
+#
+#
+# ::
+#
+#    INSTALL_FILES      The files which should be installed. This is used by
+#                       install_jar().
+#    JNI_SYMLINK        The JNI symlink which should be installed.
+#                       This is used by install_jni_symlink().
+#    JAR_FILE           The location of the jar file so that you can include
+#                       it.
+#    CLASSDIR           The directory where the class files can be found. For
+#                       example to use them with javah.
+#
+# ::
+#
+#  find_jar(<VAR>
+#           name | NAMES name1 [name2 ...]
+#           [PATHS path1 [path2 ... ENV var]]
+#           [VERSIONS version1 [version2]]
+#           [DOC "cache documentation string"]
+#           )
+#
+# This command is used to find a full path to the named jar.  A cache
+# entry named by <VAR> is created to stor the result of this command.
+# If the full path to a jar is found the result is stored in the
+# variable and the search will not repeated unless the variable is
+# cleared.  If nothing is found, the result will be <VAR>-NOTFOUND, and
+# the search will be attempted again next time find_jar is invoked with
+# the same variable.  The name of the full path to a file that is
+# searched for is specified by the names listed after NAMES argument.
+# Additional search locations can be specified after the PATHS argument.
+# If you require special a version of a jar file you can specify it with
+# the VERSIONS argument.  The argument after DOC will be used for the
+# documentation string in the cache.
+#
+# ::
+#
+#  install_jar(target_name destination)
+#  install_jar(target_name DESTINATION destination [COMPONENT component])
+#
+# This command installs the TARGET_NAME files to the given DESTINATION.
+# It should be called in the same scope as add_jar() or it will fail.
+#
+# Target Properties:
+#
+# ::
+#
+#    The install_jar() function sets the INSTALL_DESTINATION target property
+#    on jars so installed. This property holds the DESTINATION as described
+#    above, and is used by install_jar_exports(). You can get this property
+#    with the
+#       get_property(TARGET <target_name> PROPERTY INSTALL_DESTINATION)
+#    command.
+#
+#
+#
+# ::
+#
+#  install_jni_symlink(target_name destination)
+#  install_jni_symlink(target_name DESTINATION destination [COMPONENT component])
+#
+# This command installs the TARGET_NAME JNI symlinks to the given
+# DESTINATION.  It should be called in the same scope as add_jar() or it
+# will fail.
+#
+# ::
+#
+#  install_jar_exports(TARGETS jars...
+#                      [NAMESPACE <namespace>]
+#                      FILE <filename>
+#                      DESTINATION <dir> [COMPONENT <component>])
+#
+# This command installs a target export file ``<filename>`` for the named jar
+# targets to the given ``DESTINATION``. Its function is similar to that of
+# :command:`install(EXPORTS ...)`.
+#
+# ::
+#
+#  export_jars(TARGETS jars...
+#              [NAMESPACE <namespace>]
+#              FILE <filename>)
+#
+# This command writes a target export file ``<filename>`` for the named jar
+# targets. Its function is similar to that of :command:`export(...)`.
+#
+# ::
+#
+#  create_javadoc(<VAR>
+#                 PACKAGES pkg1 [pkg2 ...]
+#                 [SOURCEPATH <sourcepath>]
+#                 [CLASSPATH <classpath>]
+#                 [INSTALLPATH <install path>]
+#                 [DOCTITLE "the documentation title"]
+#                 [WINDOWTITLE "the title of the document"]
+#                 [AUTHOR TRUE|FALSE]
+#                 [USE TRUE|FALSE]
+#                 [VERSION TRUE|FALSE]
+#                 )
+#
+# Create java documentation based on files or packages.  For more
+# details please read the javadoc manpage.
+#
+# There are two main signatures for create_javadoc.  The first signature
+# works with package names on a path with source files:
+#
+# ::
+#
+#    Example:
+#    create_javadoc(my_example_doc
+#      PACKAGES com.exmaple.foo com.example.bar
+#      SOURCEPATH "${CMAKE_CURRENT_SOURCE_DIR}"
+#      CLASSPATH ${CMAKE_JAVA_INCLUDE_PATH}
+#      WINDOWTITLE "My example"
+#      DOCTITLE "<h1>My example</h1>"
+#      AUTHOR TRUE
+#      USE TRUE
+#      VERSION TRUE
+#    )
+#
+#
+#
+# The second signature for create_javadoc works on a given list of
+# files.
+#
+# ::
+#
+#    create_javadoc(<VAR>
+#                   FILES file1 [file2 ...]
+#                   [CLASSPATH <classpath>]
+#                   [INSTALLPATH <install path>]
+#                   [DOCTITLE "the documentation title"]
+#                   [WINDOWTITLE "the title of the document"]
+#                   [AUTHOR TRUE|FALSE]
+#                   [USE TRUE|FALSE]
+#                   [VERSION TRUE|FALSE]
+#                  )
+#
+#
+#
+# Example:
+#
+# ::
+#
+#    create_javadoc(my_example_doc
+#      FILES ${example_SRCS}
+#      CLASSPATH ${CMAKE_JAVA_INCLUDE_PATH}
+#      WINDOWTITLE "My example"
+#      DOCTITLE "<h1>My example</h1>"
+#      AUTHOR TRUE
+#      USE TRUE
+#      VERSION TRUE
+#    )
+#
+#
+#
+# Both signatures share most of the options.  These options are the same
+# as what you can find in the javadoc manpage.  Please look at the
+# manpage for CLASSPATH, DOCTITLE, WINDOWTITLE, AUTHOR, USE and VERSION.
+#
+# The documentation will be by default installed to
+#
+# ::
+#
+#    ${CMAKE_INSTALL_PREFIX}/share/javadoc/<VAR>
+#
+#
+#
+# if you don't set the INSTALLPATH.
+#
+# ::
+#
+#  create_javah(TARGET <target>
+#               GENERATED_FILES <VAR>
+#               CLASSES <class>...
+#               [CLASSPATH <classpath>...]
+#               [DEPENDS <depend>...]
+#               [OUTPUT_NAME <path>|OUTPUT_DIR <path>]
+#               )
+#
+# Create C header files from java classes. These files provide the connective glue
+# that allow your Java and C code to interact.
+#
+# There are two main signatures for create_javah.  The first signature
+# returns generated files through variable specified by GENERATED_FILES option:
+#
+# ::
+#
+#    Example:
+#    Create_javah(GENERATED_FILES files_headers
+#      CLASSES org.cmake.HelloWorld
+#      CLASSPATH hello.jar
+#    )
+#
+#
+#
+# The second signature for create_javah creates a target which encapsulates
+# header files generation.
+#
+# ::
+#
+#    Example:
+#    Create_javah(TARGET target_headers
+#      CLASSES org.cmake.HelloWorld
+#      CLASSPATH hello.jar
+#    )
+#
+#
+#
+# Both signatures share same options.
+#
+#  ``CLASSES <class>...``
+#    Specifies Java classes used to generate headers.
+#
+#  ``CLASSPATH <classpath>...``
+#    Specifies various paths to look up classes. Here .class files, jar files or targets
+#    created by command add_jar can be used.
+#
+#  ``DEPENDS <depend>...``
+#    Targets on which the javah target depends
+#
+#  ``OUTPUT_NAME <path>``
+#    Concatenates the resulting header files for all the classes listed by option CLASSES
+#    into <path>. Same behavior as option '-o' of javah tool.
+#
+#  ``OUTPUT_DIR <path>``
+#    Sets the directory where the header files will be generated. Same behavior as option
+#    '-d' of javah tool. If not specified, ${CMAKE_CURRENT_BINARY_DIR} is used as output directory.
+
+function (__java_copy_file src dest comment)
+    add_custom_command(
+        OUTPUT  ${dest}
+        COMMAND ${CMAKE_COMMAND} -E copy_if_different
+        ARGS    ${src}
+                ${dest}
+        DEPENDS ${src}
+        COMMENT ${comment})
+endfunction ()
+
+function(__java_lcat VAR)
+    foreach(_line ${ARGN})
+        string(APPEND ${VAR} "${_line}\n")
+    endforeach()
+
+    set(${VAR} "${${VAR}}" PARENT_SCOPE)
+endfunction()
+
+function(__java_export_jar VAR TARGET PATH)
+    get_target_property(_jarpath ${TARGET} JAR_FILE)
+    get_filename_component(_jarname ${_jarpath} NAME)
+    set(_target "${_jar_NAMESPACE}${TARGET}")
+    __java_lcat(${VAR}
+      "# Create imported target ${_target}"
+      "add_library(${_target} IMPORTED STATIC)"
+      "set_target_properties(${_target} PROPERTIES"
+      "  IMPORTED_LOCATION \"${PATH}/${_jarname}\""
+      "  JAR_FILE \"${PATH}/${_jarname}\")"
+      ""
+    )
+    set(${VAR} "${${VAR}}" PARENT_SCOPE)
+endfunction()
+
+# 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)
+
+function(add_jar _TARGET_NAME)
+
+    cmake_parse_arguments(_add_jar
+      ""
+      "VERSION;OUTPUT_DIR;OUTPUT_NAME;ENTRY_POINT;MANIFEST"
+      "SOURCES;INCLUDE_JARS"
+      ${ARGN}
+    )
+
+    # In CMake < 2.8.12, add_jar used variables which were set prior to calling
+    # add_jar for customizing the behavior of add_jar. In order to be backwards
+    # compatible, check if any of those variables are set, and use them to
+    # initialize values of the named arguments. (Giving the corresponding named
+    # argument will override the value set here.)
+    #
+    # New features should use named arguments only.
+    if(NOT DEFINED _add_jar_VERSION AND DEFINED CMAKE_JAVA_TARGET_VERSION)
+        set(_add_jar_VERSION "${CMAKE_JAVA_TARGET_VERSION}")
+    endif()
+    if(NOT DEFINED _add_jar_OUTPUT_DIR AND DEFINED CMAKE_JAVA_TARGET_OUTPUT_DIR)
+        set(_add_jar_OUTPUT_DIR "${CMAKE_JAVA_TARGET_OUTPUT_DIR}")
+    endif()
+    if(NOT DEFINED _add_jar_OUTPUT_NAME AND DEFINED CMAKE_JAVA_TARGET_OUTPUT_NAME)
+        set(_add_jar_OUTPUT_NAME "${CMAKE_JAVA_TARGET_OUTPUT_NAME}")
+        # reset
+        set(CMAKE_JAVA_TARGET_OUTPUT_NAME)
+    endif()
+    if(NOT DEFINED _add_jar_ENTRY_POINT AND DEFINED CMAKE_JAVA_JAR_ENTRY_POINT)
+        set(_add_jar_ENTRY_POINT "${CMAKE_JAVA_JAR_ENTRY_POINT}")
+    endif()
+
+    set(_JAVA_SOURCE_FILES ${_add_jar_SOURCES} ${_add_jar_UNPARSED_ARGUMENTS})
+
+    if (NOT DEFINED _add_jar_OUTPUT_DIR)
+        set(_add_jar_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
+    else()
+        get_filename_component(_add_jar_OUTPUT_DIR ${_add_jar_OUTPUT_DIR} ABSOLUTE)
+    endif()
+
+    if (_add_jar_ENTRY_POINT)
+        set(_ENTRY_POINT_OPTION e)
+        set(_ENTRY_POINT_VALUE ${_add_jar_ENTRY_POINT})
+    endif ()
+
+    if (_add_jar_MANIFEST)
+        set(_MANIFEST_OPTION m)
+        get_filename_component (_MANIFEST_VALUE "${_add_jar_MANIFEST}" ABSOLUTE)
+    endif ()
+
+    if (LIBRARY_OUTPUT_PATH)
+        set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH})
+    else ()
+        set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${_add_jar_OUTPUT_DIR})
+    endif ()
+
+    set(CMAKE_JAVA_INCLUDE_PATH
+        ${CMAKE_JAVA_INCLUDE_PATH}
+        ${CMAKE_CURRENT_SOURCE_DIR}
+        ${CMAKE_JAVA_OBJECT_OUTPUT_PATH}
+        ${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 ${CMAKE_JAVA_INCLUDE_PATH})
+       string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
+    endforeach()
+
+    set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
+
+    set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
+    if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
+        set(_JAVA_TARGET_OUTPUT_NAME "${_add_jar_OUTPUT_NAME}-${_add_jar_VERSION}.jar")
+        set(_JAVA_TARGET_OUTPUT_LINK "${_add_jar_OUTPUT_NAME}.jar")
+    elseif (_add_jar_VERSION)
+        set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}-${_add_jar_VERSION}.jar")
+        set(_JAVA_TARGET_OUTPUT_LINK "${_TARGET_NAME}.jar")
+    elseif (_add_jar_OUTPUT_NAME)
+        set(_JAVA_TARGET_OUTPUT_NAME "${_add_jar_OUTPUT_NAME}.jar")
+    endif ()
+
+    set(_JAVA_CLASS_FILES)
+    set(_JAVA_COMPILE_FILES)
+    set(_JAVA_COMPILE_FILELISTS)
+    set(_JAVA_DEPENDS)
+    set(_JAVA_COMPILE_DEPENDS)
+    set(_JAVA_RESOURCE_FILES)
+    set(_JAVA_RESOURCE_FILES_RELATIVE)
+    foreach(_JAVA_SOURCE_FILE ${_JAVA_SOURCE_FILES})
+        get_filename_component(_JAVA_EXT ${_JAVA_SOURCE_FILE} EXT)
+        get_filename_component(_JAVA_FILE ${_JAVA_SOURCE_FILE} NAME_WE)
+        get_filename_component(_JAVA_PATH ${_JAVA_SOURCE_FILE} PATH)
+        get_filename_component(_JAVA_FULL ${_JAVA_SOURCE_FILE} ABSOLUTE)
+
+        if (_JAVA_SOURCE_FILE MATCHES "^@(.+)$")
+            get_filename_component(_JAVA_FULL ${CMAKE_MATCH_1} ABSOLUTE)
+            list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
+
+        elseif (_JAVA_EXT MATCHES ".java")
+            file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${_add_jar_OUTPUT_DIR} ${_JAVA_FULL})
+            file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
+            string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
+            string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
+            if (${_BIN_LEN} LESS ${_SRC_LEN})
+                set(_JAVA_REL_PATH ${_JAVA_REL_BINARY_PATH})
+            else ()
+                set(_JAVA_REL_PATH ${_JAVA_REL_SOURCE_PATH})
+            endif ()
+            get_filename_component(_JAVA_REL_PATH ${_JAVA_REL_PATH} PATH)
+
+            list(APPEND _JAVA_COMPILE_FILES ${_JAVA_SOURCE_FILE})
+            set(_JAVA_CLASS_FILE "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_REL_PATH}/${_JAVA_FILE}.class")
+            set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES} ${_JAVA_CLASS_FILE})
+
+        elseif (_JAVA_EXT MATCHES ".jar"
+                OR _JAVA_EXT MATCHES ".war"
+                OR _JAVA_EXT MATCHES ".ear"
+                OR _JAVA_EXT MATCHES ".sar")
+            # Ignored for backward compatibility
+
+        elseif (_JAVA_EXT STREQUAL "")
+            list(APPEND CMAKE_JAVA_INCLUDE_PATH ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}} ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}_CLASSPATH})
+            list(APPEND _JAVA_DEPENDS ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}})
+
+        else ()
+            __java_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/${_JAVA_SOURCE_FILE}
+                             ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE}
+                             "Copying ${_JAVA_SOURCE_FILE} to the build directory")
+            list(APPEND _JAVA_RESOURCE_FILES ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE})
+            list(APPEND _JAVA_RESOURCE_FILES_RELATIVE ${_JAVA_SOURCE_FILE})
+        endif ()
+    endforeach()
+
+    foreach(_JAVA_INCLUDE_JAR ${_add_jar_INCLUDE_JARS})
+        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}")
+                list(APPEND CMAKE_JAVA_INCLUDE_PATH ${_JAVA_JAR_PATH})
+                list(APPEND _JAVA_DEPENDS ${_JAVA_INCLUDE_JAR})
+                list(APPEND _JAVA_COMPILE_DEPENDS ${_JAVA_INCLUDE_JAR})
+            else ()
+                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}")
+            list(APPEND CMAKE_JAVA_INCLUDE_PATH "${_JAVA_INCLUDE_JAR}")
+            list(APPEND _JAVA_DEPENDS "${_JAVA_INCLUDE_JAR}")
+            list(APPEND _JAVA_COMPILE_DEPENDS "${_JAVA_INCLUDE_JAR}")
+        endif ()
+    endforeach()
+
+    if (_JAVA_COMPILE_FILES OR _JAVA_COMPILE_FILELISTS)
+        set (_JAVA_SOURCES_FILELISTS)
+
+        if (_JAVA_COMPILE_FILES)
+            # Create the list of files to compile.
+            set(_JAVA_SOURCES_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_sources)
+            string(REPLACE ";" "\"\n\"" _JAVA_COMPILE_STRING "\"${_JAVA_COMPILE_FILES}\"")
+            file(WRITE ${_JAVA_SOURCES_FILE} ${_JAVA_COMPILE_STRING})
+            list (APPEND _JAVA_SOURCES_FILELISTS "@${_JAVA_SOURCES_FILE}")
+        endif()
+        if (_JAVA_COMPILE_FILELISTS)
+            foreach (_JAVA_FILELIST IN LISTS _JAVA_COMPILE_FILELISTS)
+                list (APPEND _JAVA_SOURCES_FILELISTS "@${_JAVA_FILELIST}")
+            endforeach()
+        endif()
+
+        # Compile the java files and create a list of class files
+        add_custom_command(
+            # NOTE: this command generates an artificial dependency file
+            OUTPUT ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
+            COMMAND ${Java_JAVAC_EXECUTABLE}
+                ${CMAKE_JAVA_COMPILE_FLAGS}
+                -classpath "${CMAKE_JAVA_INCLUDE_PATH_FINAL}"
+                -d ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
+                ${_JAVA_SOURCES_FILELISTS}
+            COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
+            DEPENDS ${_JAVA_COMPILE_FILES} ${_JAVA_COMPILE_FILELISTS} ${_JAVA_COMPILE_DEPENDS}
+            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+            COMMENT "Building Java objects for ${_TARGET_NAME}.jar"
+        )
+        add_custom_command(
+            OUTPUT ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
+            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}
+            DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
+            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+        )
+    else ()
+        # create an empty java_class_filelist
+        if (NOT EXISTS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist)
+            file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist "")
+        endif()
+    endif ()
+
+    # create the jar file
+    set(_JAVA_JAR_OUTPUT_PATH
+      ${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_NAME})
+    if (CMAKE_JNI_TARGET)
+        add_custom_command(
+            OUTPUT ${_JAVA_JAR_OUTPUT_PATH}
+            COMMAND ${Java_JAR_EXECUTABLE}
+                -cf${_ENTRY_POINT_OPTION}${_MANIFEST_OPTION} ${_JAVA_JAR_OUTPUT_PATH} ${_ENTRY_POINT_VALUE} ${_MANIFEST_VALUE}
+                ${_JAVA_RESOURCE_FILES_RELATIVE} @java_class_filelist
+            COMMAND ${CMAKE_COMMAND}
+                -D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
+                -D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_TARGET_OUTPUT_NAME}
+                -D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
+                -P ${_JAVA_SYMLINK_SCRIPT}
+            COMMAND ${CMAKE_COMMAND}
+                -D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
+                -D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_JAR_OUTPUT_PATH}
+                -D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
+                -P ${_JAVA_SYMLINK_SCRIPT}
+            DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
+            WORKING_DIRECTORY ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
+            COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}"
+        )
+    else ()
+        add_custom_command(
+            OUTPUT ${_JAVA_JAR_OUTPUT_PATH}
+            COMMAND ${Java_JAR_EXECUTABLE}
+                -cf${_ENTRY_POINT_OPTION}${_MANIFEST_OPTION} ${_JAVA_JAR_OUTPUT_PATH} ${_ENTRY_POINT_VALUE} ${_MANIFEST_VALUE}
+                ${_JAVA_RESOURCE_FILES_RELATIVE} @java_class_filelist
+            COMMAND ${CMAKE_COMMAND}
+                -D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
+                -D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_TARGET_OUTPUT_NAME}
+                -D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
+                -P ${_JAVA_SYMLINK_SCRIPT}
+            WORKING_DIRECTORY ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
+            DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
+            COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}"
+        )
+    endif ()
+
+    # Add the target and make sure we have the latest resource files.
+    add_custom_target(${_TARGET_NAME} ALL DEPENDS ${_JAVA_JAR_OUTPUT_PATH})
+
+    set_property(
+        TARGET
+            ${_TARGET_NAME}
+        PROPERTY
+            INSTALL_FILES
+                ${_JAVA_JAR_OUTPUT_PATH}
+    )
+
+    if (_JAVA_TARGET_OUTPUT_LINK)
+        set_property(
+            TARGET
+                ${_TARGET_NAME}
+            PROPERTY
+                INSTALL_FILES
+                    ${_JAVA_JAR_OUTPUT_PATH}
+                    ${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
+        )
+
+        if (CMAKE_JNI_TARGET)
+            set_property(
+                TARGET
+                    ${_TARGET_NAME}
+                PROPERTY
+                    JNI_SYMLINK
+                        ${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
+            )
+        endif ()
+    endif ()
+
+    set_property(
+        TARGET
+            ${_TARGET_NAME}
+        PROPERTY
+            JAR_FILE
+                ${_JAVA_JAR_OUTPUT_PATH}
+    )
+
+    set_property(
+        TARGET
+            ${_TARGET_NAME}
+        PROPERTY
+            CLASSDIR
+                ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
+    )
+
+endfunction()
+
+function(INSTALL_JAR _TARGET_NAME)
+    if (ARGC EQUAL 2)
+      set (_DESTINATION ${ARGV1})
+    else()
+      cmake_parse_arguments(_install_jar
+        ""
+        "DESTINATION;COMPONENT"
+        ""
+        ${ARGN})
+      if (_install_jar_DESTINATION)
+        set (_DESTINATION ${_install_jar_DESTINATION})
+      else()
+        message(SEND_ERROR "install_jar: ${_TARGET_NAME}: DESTINATION must be specified.")
+      endif()
+
+      if (_install_jar_COMPONENT)
+        set (_COMPONENT COMPONENT ${_install_jar_COMPONENT})
+      endif()
+    endif()
+
+    get_property(__FILES
+        TARGET
+            ${_TARGET_NAME}
+        PROPERTY
+            INSTALL_FILES
+    )
+    set_property(
+        TARGET
+            ${_TARGET_NAME}
+        PROPERTY
+            INSTALL_DESTINATION
+            ${_DESTINATION}
+    )
+
+    if (__FILES)
+        install(
+            FILES
+                ${__FILES}
+            DESTINATION
+                ${_DESTINATION}
+            ${_COMPONENT}
+        )
+    else ()
+        message(SEND_ERROR "install_jar: The target ${_TARGET_NAME} is not known in this scope.")
+    endif ()
+endfunction()
+
+function(INSTALL_JNI_SYMLINK _TARGET_NAME)
+    if (ARGC EQUAL 2)
+      set (_DESTINATION ${ARGV1})
+    else()
+      cmake_parse_arguments(_install_jni_symlink
+        ""
+        "DESTINATION;COMPONENT"
+        ""
+        ${ARGN})
+      if (_install_jni_symlink_DESTINATION)
+        set (_DESTINATION ${_install_jni_symlink_DESTINATION})
+      else()
+        message(SEND_ERROR "install_jni_symlink: ${_TARGET_NAME}: DESTINATION must be specified.")
+      endif()
+
+      if (_install_jni_symlink_COMPONENT)
+        set (_COMPONENT COMPONENT ${_install_jni_symlink_COMPONENT})
+      endif()
+    endif()
+
+    get_property(__SYMLINK
+        TARGET
+            ${_TARGET_NAME}
+        PROPERTY
+            JNI_SYMLINK
+    )
+
+    if (__SYMLINK)
+        install(
+            FILES
+                ${__SYMLINK}
+            DESTINATION
+                ${_DESTINATION}
+            ${_COMPONENT}
+        )
+    else ()
+        message(SEND_ERROR "install_jni_symlink: The target ${_TARGET_NAME} is not known in this scope.")
+    endif ()
+endfunction()
+
+function (find_jar VARIABLE)
+    set(_jar_names)
+    set(_jar_files)
+    set(_jar_versions)
+    set(_jar_paths
+        /usr/share/java/
+        /usr/local/share/java/
+        ${Java_JAR_PATHS})
+    set(_jar_doc "NOTSET")
+
+    set(_state "name")
+
+    foreach (arg ${ARGN})
+        if (${_state} STREQUAL "name")
+            if (${arg} STREQUAL "VERSIONS")
+                set(_state "versions")
+            elseif (${arg} STREQUAL "NAMES")
+                set(_state "names")
+            elseif (${arg} STREQUAL "PATHS")
+                set(_state "paths")
+            elseif (${arg} STREQUAL "DOC")
+                set(_state "doc")
+            else ()
+                set(_jar_names ${arg})
+                if (_jar_doc STREQUAL "NOTSET")
+                    set(_jar_doc "Finding ${arg} jar")
+                endif ()
+            endif ()
+        elseif (${_state} STREQUAL "versions")
+            if (${arg} STREQUAL "NAMES")
+                set(_state "names")
+            elseif (${arg} STREQUAL "PATHS")
+                set(_state "paths")
+            elseif (${arg} STREQUAL "DOC")
+                set(_state "doc")
+            else ()
+                set(_jar_versions ${_jar_versions} ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "names")
+            if (${arg} STREQUAL "VERSIONS")
+                set(_state "versions")
+            elseif (${arg} STREQUAL "PATHS")
+                set(_state "paths")
+            elseif (${arg} STREQUAL "DOC")
+                set(_state "doc")
+            else ()
+                set(_jar_names ${_jar_names} ${arg})
+                if (_jar_doc STREQUAL "NOTSET")
+                    set(_jar_doc "Finding ${arg} jar")
+                endif ()
+            endif ()
+        elseif (${_state} STREQUAL "paths")
+            if (${arg} STREQUAL "VERSIONS")
+                set(_state "versions")
+            elseif (${arg} STREQUAL "NAMES")
+                set(_state "names")
+            elseif (${arg} STREQUAL "DOC")
+                set(_state "doc")
+            else ()
+                set(_jar_paths ${_jar_paths} ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "doc")
+            if (${arg} STREQUAL "VERSIONS")
+                set(_state "versions")
+            elseif (${arg} STREQUAL "NAMES")
+                set(_state "names")
+            elseif (${arg} STREQUAL "PATHS")
+                set(_state "paths")
+            else ()
+                set(_jar_doc ${arg})
+            endif ()
+        endif ()
+    endforeach ()
+
+    if (NOT _jar_names)
+        message(FATAL_ERROR "find_jar: No name to search for given")
+    endif ()
+
+    foreach (jar_name ${_jar_names})
+        foreach (version ${_jar_versions})
+            set(_jar_files ${_jar_files} ${jar_name}-${version}.jar)
+        endforeach ()
+        set(_jar_files ${_jar_files} ${jar_name}.jar)
+    endforeach ()
+
+    find_file(${VARIABLE}
+        NAMES   ${_jar_files}
+        PATHS   ${_jar_paths}
+        DOC     ${_jar_doc}
+        NO_DEFAULT_PATH)
+endfunction ()
+
+function(create_javadoc _target)
+    set(_javadoc_packages)
+    set(_javadoc_files)
+    set(_javadoc_sourcepath)
+    set(_javadoc_classpath)
+    set(_javadoc_installpath "${CMAKE_INSTALL_PREFIX}/share/javadoc")
+    set(_javadoc_doctitle)
+    set(_javadoc_windowtitle)
+    set(_javadoc_author FALSE)
+    set(_javadoc_version FALSE)
+    set(_javadoc_use FALSE)
+
+    set(_state "package")
+
+    foreach (arg ${ARGN})
+        if (${_state} STREQUAL "package")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_packages ${arg})
+                set(_state "packages")
+            endif ()
+        elseif (${_state} STREQUAL "packages")
+            if (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                list(APPEND _javadoc_packages ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "files")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                list(APPEND _javadoc_files ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "sourcepath")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                list(APPEND _javadoc_sourcepath ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "classpath")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                list(APPEND _javadoc_classpath ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "installpath")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_installpath ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "doctitle")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_doctitle ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "windowtitle")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_windowtitle ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "author")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_author ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "use")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_use ${arg})
+            endif ()
+        elseif (${_state} STREQUAL "version")
+            if (${arg} STREQUAL "PACKAGES")
+                set(_state "packages")
+            elseif (${arg} STREQUAL "FILES")
+                set(_state "files")
+            elseif (${arg} STREQUAL "SOURCEPATH")
+                set(_state "sourcepath")
+            elseif (${arg} STREQUAL "CLASSPATH")
+                set(_state "classpath")
+            elseif (${arg} STREQUAL "INSTALLPATH")
+                set(_state "installpath")
+            elseif (${arg} STREQUAL "DOCTITLE")
+                set(_state "doctitle")
+            elseif (${arg} STREQUAL "WINDOWTITLE")
+                set(_state "windowtitle")
+            elseif (${arg} STREQUAL "AUTHOR")
+                set(_state "author")
+            elseif (${arg} STREQUAL "USE")
+                set(_state "use")
+            elseif (${arg} STREQUAL "VERSION")
+                set(_state "version")
+            else ()
+                set(_javadoc_version ${arg})
+            endif ()
+        endif ()
+    endforeach ()
+
+    set(_javadoc_builddir ${CMAKE_CURRENT_BINARY_DIR}/javadoc/${_target})
+    set(_javadoc_options -d ${_javadoc_builddir})
+
+    if (_javadoc_sourcepath)
+        set(_start TRUE)
+        foreach(_path ${_javadoc_sourcepath})
+            if (_start)
+                set(_sourcepath ${_path})
+                set(_start FALSE)
+            else ()
+                set(_sourcepath ${_sourcepath}:${_path})
+            endif ()
+        endforeach()
+        set(_javadoc_options ${_javadoc_options} -sourcepath ${_sourcepath})
+    endif ()
+
+    if (_javadoc_classpath)
+        set(_start TRUE)
+        foreach(_path ${_javadoc_classpath})
+            if (_start)
+                set(_classpath ${_path})
+                set(_start FALSE)
+            else ()
+                set(_classpath ${_classpath}:${_path})
+            endif ()
+        endforeach()
+        set(_javadoc_options ${_javadoc_options} -classpath "${_classpath}")
+    endif ()
+
+    if (_javadoc_doctitle)
+        set(_javadoc_options ${_javadoc_options} -doctitle '${_javadoc_doctitle}')
+    endif ()
+
+    if (_javadoc_windowtitle)
+        set(_javadoc_options ${_javadoc_options} -windowtitle '${_javadoc_windowtitle}')
+    endif ()
+
+    if (_javadoc_author)
+        set(_javadoc_options ${_javadoc_options} -author)
+    endif ()
+
+    if (_javadoc_use)
+        set(_javadoc_options ${_javadoc_options} -use)
+    endif ()
+
+    if (_javadoc_version)
+        set(_javadoc_options ${_javadoc_options} -version)
+    endif ()
+
+    add_custom_target(${_target}_javadoc ALL
+        COMMAND ${Java_JAVADOC_EXECUTABLE} ${_javadoc_options}
+                            ${_javadoc_files}
+                            ${_javadoc_packages}
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    )
+
+    install(
+        DIRECTORY ${_javadoc_builddir}
+        DESTINATION ${_javadoc_installpath}
+    )
+endfunction()
+
+function (create_javah)
+    cmake_parse_arguments(_create_javah
+      ""
+      "TARGET;GENERATED_FILES;OUTPUT_NAME;OUTPUT_DIR"
+      "CLASSES;CLASSPATH;DEPENDS"
+      ${ARGN})
+
+    # ckeck parameters
+    if (NOT _create_javah_TARGET AND NOT _create_javah_GENERATED_FILES)
+      message (FATAL_ERROR "create_javah: TARGET or GENERATED_FILES must be specified.")
+    endif()
+    if (_create_javah_OUTPUT_NAME AND _create_javah_OUTPUT_DIR)
+      message (FATAL_ERROR "create_javah: OUTPUT_NAME and OUTPUT_DIR are mutually exclusive.")
+    endif()
+
+    if (NOT _create_javah_CLASSES)
+      message (FATAL_ERROR "create_javah: CLASSES is a required parameter.")
+    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)
+
+    if (_create_javah_CLASSPATH)
+      # CLASSPATH can specify directories, jar files or targets created with add_jar command
+      set (_classpath)
+      foreach (_path IN LISTS _create_javah_CLASSPATH)
+        if (TARGET ${_path})
+          get_target_property (_jar_path ${_path} JAR_FILE)
+          if (_jar_path)
+            list (APPEND _classpath "${_jar_path}")
+            list (APPEND _create_javah_DEPENDS "${_path}")
+          else()
+            message(SEND_ERROR "create_javah: CLASSPATH target ${_path} is not a jar.")
+          endif()
+        elseif (EXISTS "${_path}")
+          list (APPEND _classpath "${_path}")
+          if (NOT IS_DIRECTORY "${_path}")
+            list (APPEND _create_javah_DEPENDS "${_path}")
+          endif()
+        else()
+          message(SEND_ERROR "create_javah: CLASSPATH entry ${_path} does not exist.")
+        endif()
+      endforeach()
+      string (REPLACE ";" "${_classpath_sep}" _classpath "${_classpath}")
+      list (APPEND _javah_options -classpath "${_classpath}")
+    endif()
+
+    if (_create_javah_OUTPUT_DIR)
+      list (APPEND _javah_options -d "${_create_javah_OUTPUT_DIR}")
+    endif()
+
+    if (_create_javah_OUTPUT_NAME)
+      list (APPEND _javah_options -o "${_create_javah_OUTPUT_NAME}")
+      set (_output_files "${_create_javah_OUTPUT_NAME}")
+
+      get_filename_component (_create_javah_OUTPUT_DIR "${_create_javah_OUTPUT_NAME}" DIRECTORY)
+      get_filename_component (_create_javah_OUTPUT_DIR "${_create_javah_OUTPUT_DIR}" ABSOLUTE)
+    endif()
+
+    if (NOT _create_javah_OUTPUT_DIR)
+      set (_create_javah_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+    endif()
+
+    if (NOT _create_javah_OUTPUT_NAME)
+      # compute output names
+      foreach (_class IN LISTS _create_javah_CLASSES)
+        string (REPLACE "." "_" _c_header "${_class}")
+        set (_c_header  "${_create_javah_OUTPUT_DIR}/${_c_header}.h")
+        list (APPEND _output_files "${_c_header}")
+      endforeach()
+    endif()
+
+    # finalize custom command arguments
+    if (_create_javah_DEPENDS)
+      list (INSERT _create_javah_DEPENDS 0 DEPENDS)
+    endif()
+
+    add_custom_command (OUTPUT ${_output_files}
+      COMMAND "${Java_JAVAH_EXECUTABLE}" ${_javah_options} -jni ${_create_javah_CLASSES}
+      ${_create_javah_DEPENDS}
+      WORKING_DIRECTORY ${_create_javah_OUTPUT_DIR}
+      COMMENT "Building C header files from classes...")
+
+    if (_create_javah_TARGET)
+      add_custom_target (${_create_javah_TARGET} ALL DEPENDS ${_output_files})
+    endif()
+    if (_create_javah_GENERATED_FILES)
+      set (${_create_javah_GENERATED_FILES} ${_output_files} PARENT_SCOPE)
+    endif()
+endfunction()
+
+function(export_jars)
+    # Parse and validate arguments
+    cmake_parse_arguments(_export_jars
+      ""
+      "FILE;NAMESPACE"
+      "TARGETS"
+      ${ARGN}
+    )
+    if (NOT _export_jars_FILE)
+      message(SEND_ERROR "export_jars: FILE must be specified.")
+    endif()
+    if (NOT _export_jars_TARGETS)
+      message(SEND_ERROR "export_jars: TARGETS must be specified.")
+    endif()
+    set(_jar_NAMESPACE "${_export_jars_NAMESPACE}")
+
+    # Set content of generated exports file
+    string(REPLACE ";" " " __targets__ "${_export_jars_TARGETS}")
+    set(__targetdefs__ "")
+    foreach(_target ${_export_jars_TARGETS})
+        get_target_property(_jarpath ${_target} JAR_FILE)
+        get_filename_component(_jarpath ${_jarpath} PATH)
+        __java_export_jar(__targetdefs__ ${_target} "${_jarpath}")
+    endforeach()
+
+    # Generate exports file
+    configure_file(
+      ${_JAVA_EXPORT_TARGETS_SCRIPT}
+      ${_export_jars_FILE}
+      @ONLY
+    )
+endfunction()
+
+function(install_jar_exports)
+    # Parse and validate arguments
+    cmake_parse_arguments(_install_jar_exports
+      ""
+      "FILE;DESTINATION;COMPONENT;NAMESPACE"
+      "TARGETS"
+      ${ARGN}
+    )
+    if (NOT _install_jar_exports_FILE)
+      message(SEND_ERROR "install_jar_exports: FILE must be specified.")
+    endif()
+    if (NOT _install_jar_exports_DESTINATION)
+      message(SEND_ERROR "install_jar_exports: DESTINATION must be specified.")
+    endif()
+    if (NOT _install_jar_exports_TARGETS)
+      message(SEND_ERROR "install_jar_exports: TARGETS must be specified.")
+    endif()
+    set(_jar_NAMESPACE "${_install_jar_exports_NAMESPACE}")
+
+    if (_install_jar_exports_COMPONENT)
+      set (_COMPONENT COMPONENT ${_install_jar_exports_COMPONENT})
+    endif()
+
+    # Determine relative path from installed export file to install prefix
+    if(IS_ABSOLUTE ${_install_jar_exports_DESTINATION})
+      file(RELATIVE_PATH _relpath
+        ${_install_jar_exports_DESTINATION}
+        ${CMAKE_INSTALL_PREFIX}
+      )
+    else()
+      file(RELATIVE_PATH _relpath
+        ${CMAKE_INSTALL_PREFIX}/${_install_jar_exports_DESTINATION}
+        ${CMAKE_INSTALL_PREFIX}
+      )
+    endif()
+
+    # Set up unique location for generated exports file
+    string(SHA256 _hash "${_install_jar_exports_DESTINATION}")
+    set(_tmpdir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/JavaExports/${_hash})
+
+    # Set content of generated exports file
+    string(REPLACE ";" " " __targets__ "${_install_jar_exports_TARGETS}")
+    set(__targetdefs__ "set(_prefix \${CMAKE_CURRENT_LIST_DIR}/${_relpath})\n\n")
+    foreach(_target ${_install_jar_exports_TARGETS})
+        get_target_property(_dir ${_target} INSTALL_DESTINATION)
+        __java_export_jar(__targetdefs__ ${_target} "\${_prefix}/${_dir}")
+    endforeach()
+    __java_lcat(__targetdefs__ "\nunset(_prefix)")
+
+    # Generate and install exports file
+    configure_file(
+      ${_JAVA_EXPORT_TARGETS_SCRIPT}
+      ${_tmpdir}/${_install_jar_exports_FILE}
+      @ONLY
+    )
+    install(FILES ${_tmpdir}/${_install_jar_exports_FILE}
+            DESTINATION ${_install_jar_exports_DESTINATION}
+            ${_COMPONENT})
+endfunction()
diff --git a/share/cmake-3.10/Modules/UseJavaClassFilelist.cmake b/share/cmake-3.10/Modules/UseJavaClassFilelist.cmake
new file mode 100644
index 0000000..c2f9afa
--- /dev/null
+++ b/share/cmake-3.10/Modules/UseJavaClassFilelist.cmake
@@ -0,0 +1,48 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UseJavaClassFilelist
+# --------------------
+#
+#
+#
+#
+#
+# This script create a list of compiled Java class files to be added to
+# a jar file.  This avoids including cmake files which get created in
+# the binary directory.
+
+if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
+    if (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
+
+        set(_JAVA_GLOBBED_FILES)
+        if (CMAKE_JAR_CLASSES_PREFIX)
+            foreach(JAR_CLASS_PREFIX ${CMAKE_JAR_CLASSES_PREFIX})
+                message(STATUS "JAR_CLASS_PREFIX: ${JAR_CLASS_PREFIX}")
+
+                file(GLOB_RECURSE _JAVA_GLOBBED_TMP_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${JAR_CLASS_PREFIX}/*.class")
+                if (_JAVA_GLOBBED_TMP_FILES)
+                    list(APPEND _JAVA_GLOBBED_FILES ${_JAVA_GLOBBED_TMP_FILES})
+                endif ()
+            endforeach()
+        else()
+            file(GLOB_RECURSE _JAVA_GLOBBED_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/*.class")
+        endif ()
+
+        set(_JAVA_CLASS_FILES)
+        # file(GLOB_RECURSE foo RELATIVE) is broken so we need this.
+        foreach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES})
+            file(RELATIVE_PATH _JAVA_CLASS_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH} ${_JAVA_GLOBBED_FILE})
+            set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n)
+        endforeach()
+
+        # write to file
+        file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist ${_JAVA_CLASS_FILES})
+
+    else ()
+        message(SEND_ERROR "FATAL: Java class output path doesn't exist")
+    endif ()
+else ()
+    message(SEND_ERROR "FATAL: Can't find CMAKE_JAVA_CLASS_OUTPUT_PATH")
+endif ()
diff --git a/share/cmake-3.10/Modules/UseJavaSymlinks.cmake b/share/cmake-3.10/Modules/UseJavaSymlinks.cmake
new file mode 100644
index 0000000..358b9ef
--- /dev/null
+++ b/share/cmake-3.10/Modules/UseJavaSymlinks.cmake
@@ -0,0 +1,28 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UseJavaSymlinks
+# ---------------
+#
+#
+#
+#
+#
+# Helper script for UseJava.cmake
+
+if (UNIX AND _JAVA_TARGET_OUTPUT_LINK)
+    if (_JAVA_TARGET_OUTPUT_NAME)
+        find_program(LN_EXECUTABLE
+            NAMES
+                ln
+        )
+
+        execute_process(
+            COMMAND ${LN_EXECUTABLE} -sf "${_JAVA_TARGET_OUTPUT_NAME}" "${_JAVA_TARGET_OUTPUT_LINK}"
+            WORKING_DIRECTORY ${_JAVA_TARGET_DIR}
+        )
+    else ()
+        message(SEND_ERROR "FATAL: Can't find _JAVA_TARGET_OUTPUT_NAME")
+    endif ()
+endif ()
diff --git a/share/cmake-3.10/Modules/UsePkgConfig.cmake b/share/cmake-3.10/Modules/UsePkgConfig.cmake
new file mode 100644
index 0000000..28618eb
--- /dev/null
+++ b/share/cmake-3.10/Modules/UsePkgConfig.cmake
@@ -0,0 +1,74 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UsePkgConfig
+# ------------
+#
+# Obsolete pkg-config module for CMake, use FindPkgConfig instead.
+#
+#
+#
+# This module defines the following macro:
+#
+# PKGCONFIG(package includedir libdir linkflags cflags)
+#
+# Calling PKGCONFIG will fill the desired information into the 4 given
+# arguments, e.g.  PKGCONFIG(libart-2.0 LIBART_INCLUDE_DIR
+# LIBART_LINK_DIR LIBART_LINK_FLAGS LIBART_CFLAGS) if pkg-config was NOT
+# found or the specified software package doesn't exist, the variable
+# will be empty when the function returns, otherwise they will contain
+# the respective information
+
+find_program(PKGCONFIG_EXECUTABLE NAMES pkg-config )
+
+macro(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
+  message(STATUS
+    "WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig")
+# reset the variables at the beginning
+  set(${_include_DIR})
+  set(${_link_DIR})
+  set(${_link_FLAGS})
+  set(${_cflags})
+
+  # if pkg-config has been found
+  if(PKGCONFIG_EXECUTABLE)
+
+    exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
+
+    # and if the package of interest also exists for pkg-config, then get the information
+    if(NOT _return_VALUE)
+
+      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir
+        OUTPUT_VARIABLE ${_include_DIR} )
+      string(REGEX REPLACE "[\r\n]" " " ${_include_DIR} "${${_include_DIR}}")
+
+
+      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir
+        OUTPUT_VARIABLE ${_link_DIR} )
+      string(REGEX REPLACE "[\r\n]" " " ${_link_DIR} "${${_link_DIR}}")
+
+      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs
+        OUTPUT_VARIABLE ${_link_FLAGS} )
+      string(REGEX REPLACE "[\r\n]" " " ${_link_FLAGS} "${${_link_FLAGS}}")
+
+      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags
+        OUTPUT_VARIABLE ${_cflags} )
+      string(REGEX REPLACE "[\r\n]" " " ${_cflags} "${${_cflags}}")
+
+    else()
+
+      message(STATUS "PKGCONFIG() indicates that ${_package} is not installed (install the package which contains ${_package}.pc if you want to support this feature)")
+
+    endif()
+
+  # if pkg-config has NOT been found, INFORM the user
+  else()
+
+    message(STATUS "WARNING: PKGCONFIG() indicates that the tool pkg-config has not been found on your system. You should install it.")
+
+  endif()
+
+endmacro()
+
+mark_as_advanced(PKGCONFIG_EXECUTABLE)
diff --git a/share/cmake-3.10/Modules/UseQt4.cmake b/share/cmake-3.10/Modules/UseQt4.cmake
new file mode 100644
index 0000000..c8eab77
--- /dev/null
+++ b/share/cmake-3.10/Modules/UseQt4.cmake
@@ -0,0 +1,107 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UseQt4
+# ------
+#
+# Use Module for QT4
+#
+# Sets up C and C++ to use Qt 4.  It is assumed that FindQt.cmake has
+# already been loaded.  See FindQt.cmake for information on how to load
+# Qt 4 into your CMake project.
+
+add_definitions(${QT_DEFINITIONS})
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
+
+if(QT_INCLUDE_DIRS_NO_SYSTEM)
+  include_directories(${QT_INCLUDE_DIR})
+else(QT_INCLUDE_DIRS_NO_SYSTEM)
+  include_directories(SYSTEM ${QT_INCLUDE_DIR})
+endif(QT_INCLUDE_DIRS_NO_SYSTEM)
+
+set(QT_LIBRARIES "")
+set(QT_LIBRARIES_PLUGINS "")
+
+if (QT_USE_QTMAIN)
+  if (Q_WS_WIN)
+    set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
+  endif ()
+endif ()
+
+if(QT_DONT_USE_QTGUI)
+  set(QT_USE_QTGUI 0)
+else()
+  set(QT_USE_QTGUI 1)
+endif()
+
+if(QT_DONT_USE_QTCORE)
+  set(QT_USE_QTCORE 0)
+else()
+  set(QT_USE_QTCORE 1)
+endif()
+
+if (QT_USE_QT3SUPPORT)
+  add_definitions(-DQT3_SUPPORT)
+endif ()
+
+# list dependent modules, so dependent libraries are added
+set(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
+set(QT_QTSVG_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE)
+set(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
+if(QT_QTDBUS_FOUND)
+  set(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE)
+else()
+  set(QT_PHONON_MODULE_DEPENDS QTGUI QTCORE)
+endif()
+set(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE)
+set(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE)
+set(QT_QAXCONTAINER_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QAXSERVER_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTSCRIPTTOOLS_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTWEBKIT_MODULE_DEPENDS QTXMLPATTERNS QTGUI QTCORE)
+set(QT_QTDECLARATIVE_MODULE_DEPENDS QTSCRIPT QTSVG QTSQL QTXMLPATTERNS QTGUI QTCORE)
+set(QT_QTMULTIMEDIA_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTOPENGL_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTSCRIPT_MODULE_DEPENDS QTCORE)
+set(QT_QTGUI_MODULE_DEPENDS QTCORE)
+set(QT_QTTEST_MODULE_DEPENDS QTCORE)
+set(QT_QTXML_MODULE_DEPENDS QTCORE)
+set(QT_QTSQL_MODULE_DEPENDS QTCORE)
+set(QT_QTNETWORK_MODULE_DEPENDS QTCORE)
+
+# Qt modules  (in order of dependence)
+foreach(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
+               QAXSERVER QAXCONTAINER QTDECLARATIVE QTSCRIPT QTSVG QTUITOOLS QTHELP
+               QTWEBKIT PHONON QTSCRIPTTOOLS QTMULTIMEDIA QTXMLPATTERNS QTGUI QTTEST
+               QTDBUS QTXML QTSQL QTNETWORK QTCORE)
+
+  if (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
+    if (QT_${module}_FOUND)
+      if(QT_USE_${module})
+        string(REPLACE "QT" "" qt_module_def "${module}")
+        add_definitions(-DQT_${qt_module_def}_LIB)
+        if(QT_INCLUDE_DIRS_NO_SYSTEM)
+          include_directories(${QT_${module}_INCLUDE_DIR})
+        else(QT_INCLUDE_DIRS_NO_SYSTEM)
+          include_directories(SYSTEM ${QT_${module}_INCLUDE_DIR})
+        endif(QT_INCLUDE_DIRS_NO_SYSTEM)
+      endif()
+      if(QT_USE_${module} OR QT_IS_STATIC)
+        set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIBRARY})
+      endif()
+      set(QT_LIBRARIES_PLUGINS ${QT_LIBRARIES_PLUGINS} ${QT_${module}_PLUGINS})
+      if(QT_IS_STATIC)
+        set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIB_DEPENDENCIES})
+      endif()
+      foreach(depend_module ${QT_${module}_MODULE_DEPENDS})
+        set(QT_USE_${depend_module}_DEPENDS 1)
+      endforeach()
+    else ()
+      message("Qt ${module} library not found.")
+    endif ()
+  endif ()
+
+endforeach()
+
diff --git a/share/cmake-3.10/Modules/UseSWIG.cmake b/share/cmake-3.10/Modules/UseSWIG.cmake
new file mode 100644
index 0000000..c8b1cd7
--- /dev/null
+++ b/share/cmake-3.10/Modules/UseSWIG.cmake
@@ -0,0 +1,349 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UseSWIG
+# -------
+#
+# Defines the following macros for use with SWIG:
+#
+# ::
+#
+#    SWIG_ADD_LIBRARY(<name>
+#                     [TYPE <SHARED|MODULE|STATIC|USE_BUILD_SHARED_LIBS>]
+#                     LANGUAGE <language>
+#                     SOURCES <file>...
+#                     )
+#      - Define swig module with given name and specified language
+#    SWIG_LINK_LIBRARIES(name [ libraries ])
+#      - Link libraries to swig module
+#
+# Source files properties on module files can be set before the invocation
+# of the SWIG_ADD_LIBRARY macro to specify special behavior of SWIG.
+#
+# The source file property CPLUSPLUS calls SWIG in c++ mode, e.g.::
+#
+#    set_property(SOURCE mymod.i PROPERTY CPLUSPLUS ON)
+#    swig_add_library(mymod LANGUAGE python SOURCES mymod.i)
+#
+# The source file property SWIG_FLAGS adds custom flags to the SWIG executable.
+#
+# The source-file property SWIG_MODULE_NAME have to be provided to specify the actual
+# import name of the module in the target language if it cannot be scanned automatically
+# from source or different from the module file basename.::
+#
+#    set_property(SOURCE mymod.i PROPERTY SWIG_MODULE_NAME mymod_realname)
+#
+# To get the name of the swig module target library, use: ${SWIG_MODULE_${name}_REAL_NAME}.
+#
+# Also some variables can be set to specify special behavior of SWIG.
+#
+# CMAKE_SWIG_FLAGS can be used to add special flags to all swig calls.
+#
+# CMAKE_SWIG_OUTDIR allows one to specify where to write
+# the language specific files (swig -outdir option).
+#
+# SWIG_OUTFILE_DIR allows one to specify where to write the output file
+# (swig -o option).  If not specified, CMAKE_SWIG_OUTDIR is used.
+#
+# The name-specific variable SWIG_MODULE_<name>_EXTRA_DEPS may be used to specify extra
+# dependencies for the generated modules.
+#
+# If the source file generated by swig need some special flag you can use::
+#
+#    set_source_files_properties( ${swig_generated_file_fullname}
+#                                 PROPERTIES COMPILE_FLAGS "-bla")
+
+set(SWIG_CXX_EXTENSION "cxx")
+set(SWIG_EXTRA_LIBRARIES "")
+
+set(SWIG_PYTHON_EXTRA_FILE_EXTENSIONS ".py")
+set(SWIG_JAVA_EXTRA_FILE_EXTENSIONS ".java" "JNI.java")
+
+#
+# For given swig module initialize variables associated with it
+#
+macro(SWIG_MODULE_INITIALIZE name language)
+  string(TOUPPER "${language}" swig_uppercase_language)
+  string(TOLOWER "${language}" swig_lowercase_language)
+  set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}")
+  set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}")
+
+  set(SWIG_MODULE_${name}_REAL_NAME "${name}")
+  if (";${CMAKE_SWIG_FLAGS};" MATCHES ";-noproxy;")
+    set (SWIG_MODULE_${name}_NOPROXY TRUE)
+  endif ()
+  if("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xUNKNOWN")
+    message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
+  elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xPYTHON" AND NOT SWIG_MODULE_${name}_NOPROXY)
+    # swig will produce a module.py containing an 'import _modulename' statement,
+    # which implies having a corresponding _modulename.so (*NIX), _modulename.pyd (Win32),
+    # unless the -noproxy flag is used
+    set(SWIG_MODULE_${name}_REAL_NAME "_${name}")
+  elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xPERL")
+    set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
+  endif()
+endmacro()
+
+#
+# For a given language, input file, and output file, determine extra files that
+# will be generated. This is internal swig macro.
+#
+
+macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
+  set(${outfiles} "")
+  get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename
+    ${infile} SWIG_MODULE_NAME)
+  if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
+
+    # try to get module name from "%module foo" syntax
+    if ( EXISTS ${infile} )
+      file ( STRINGS ${infile} _MODULE_NAME REGEX "[ ]*%module[ ]*[a-zA-Z0-9_]+.*" )
+    endif ()
+    if ( _MODULE_NAME )
+      string ( REGEX REPLACE "[ ]*%module[ ]*([a-zA-Z0-9_]+).*" "\\1" _MODULE_NAME "${_MODULE_NAME}" )
+      set(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${_MODULE_NAME}")
+
+    else ()
+      # try to get module name from "%module (options=...) foo" syntax
+      if ( EXISTS ${infile} )
+        file ( STRINGS ${infile} _MODULE_NAME REGEX "[ ]*%module[ ]*\\(.*\\)[ ]*[a-zA-Z0-9_]+.*" )
+      endif ()
+      if ( _MODULE_NAME )
+        string ( REGEX REPLACE "[ ]*%module[ ]*\\(.*\\)[ ]*([a-zA-Z0-9_]+).*" "\\1" _MODULE_NAME "${_MODULE_NAME}" )
+        set(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${_MODULE_NAME}")
+
+      else ()
+        # fallback to file basename
+        get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename ${infile} NAME_WE)
+      endif ()
+    endif ()
+
+  endif()
+  foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSIONS})
+    set(extra_file "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}${it}")
+    list(APPEND ${outfiles} ${extra_file})
+    # Treat extra outputs as plain files regardless of language.
+    set_property(SOURCE "${extra_file}" PROPERTY LANGUAGE "")
+  endforeach()
+endmacro()
+
+#
+# Take swig (*.i) file and add proper custom commands for it
+#
+macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
+  set(swig_full_infile ${infile})
+  get_filename_component(swig_source_file_name_we "${infile}" NAME_WE)
+  get_source_file_property(swig_source_file_generated ${infile} GENERATED)
+  get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS)
+  get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS)
+  if("${swig_source_file_flags}" STREQUAL "NOTFOUND")
+    set(swig_source_file_flags "")
+  endif()
+  get_filename_component(swig_source_file_fullname "${infile}" ABSOLUTE)
+
+  # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir
+  if(CMAKE_SWIG_OUTDIR)
+    set(swig_outdir ${CMAKE_SWIG_OUTDIR})
+  else()
+    set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR})
+  endif()
+
+  if(SWIG_OUTFILE_DIR)
+    set(swig_outfile_dir ${SWIG_OUTFILE_DIR})
+  else()
+    set(swig_outfile_dir ${swig_outdir})
+  endif()
+
+  if (NOT SWIG_MODULE_${name}_NOPROXY)
+    SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
+      swig_extra_generated_files
+      "${swig_outdir}"
+      "${swig_source_file_fullname}")
+  endif()
+  set(swig_generated_file_fullname
+    "${swig_outfile_dir}/${swig_source_file_name_we}")
+  # add the language into the name of the file (i.e. TCL_wrap)
+  # this allows for the same .i file to be wrapped into different languages
+  string(APPEND swig_generated_file_fullname
+    "${SWIG_MODULE_${name}_LANGUAGE}_wrap")
+
+  if(swig_source_file_cplusplus)
+    string(APPEND swig_generated_file_fullname
+      ".${SWIG_CXX_EXTENSION}")
+  else()
+    string(APPEND swig_generated_file_fullname
+      ".c")
+  endif()
+
+  #message("Full path to source file: ${swig_source_file_fullname}")
+  #message("Full path to the output file: ${swig_generated_file_fullname}")
+  get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES)
+  list(REMOVE_DUPLICATES cmake_include_directories)
+  set(swig_include_dirs)
+  foreach(it ${cmake_include_directories})
+    set(swig_include_dirs ${swig_include_dirs} "-I${it}")
+  endforeach()
+
+  set(swig_special_flags)
+  # default is c, so add c++ flag if it is c++
+  if(swig_source_file_cplusplus)
+    set(swig_special_flags ${swig_special_flags} "-c++")
+  endif()
+  if("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xCSHARP")
+    if(NOT ";${swig_source_file_flags};${CMAKE_SWIG_FLAGS};" MATCHES ";-dllimport;")
+      # This makes sure that the name used in the generated DllImport
+      # matches the library name created by CMake
+      set(SWIG_MODULE_${name}_EXTRA_FLAGS "-dllimport;${name}")
+    endif()
+  endif()
+  set(swig_extra_flags)
+  if(SWIG_MODULE_${name}_EXTRA_FLAGS)
+    set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
+  endif()
+  add_custom_command(
+    OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files}
+    # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir)
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir}
+    COMMAND "${SWIG_EXECUTABLE}"
+    ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
+    ${swig_source_file_flags}
+    ${CMAKE_SWIG_FLAGS}
+    -outdir ${swig_outdir}
+    ${swig_special_flags}
+    ${swig_extra_flags}
+    ${swig_include_dirs}
+    -o "${swig_generated_file_fullname}"
+    "${swig_source_file_fullname}"
+    MAIN_DEPENDENCY "${swig_source_file_fullname}"
+    DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS}
+    IMPLICIT_DEPENDS CXX "${swig_source_file_fullname}"
+    COMMENT "Swig source")
+  set_source_files_properties("${swig_generated_file_fullname}" ${swig_extra_generated_files}
+    PROPERTIES GENERATED 1)
+  set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files})
+endmacro()
+
+#
+# Create Swig module
+#
+macro(SWIG_ADD_MODULE name language)
+  message(DEPRECATION "SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.")
+  swig_add_library(${name}
+                   LANGUAGE ${language}
+                   TYPE MODULE
+                   SOURCES ${ARGN})
+endmacro()
+
+
+macro(SWIG_ADD_LIBRARY name)
+  set(options "")
+  set(oneValueArgs LANGUAGE
+                   TYPE)
+  set(multiValueArgs SOURCES)
+  cmake_parse_arguments(_SAM "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+  if(NOT DEFINED _SAM_LANGUAGE)
+    message(FATAL_ERROR "SWIG_ADD_LIBRARY: Missing LANGUAGE argument")
+  endif()
+
+  if(NOT DEFINED _SAM_SOURCES)
+    message(FATAL_ERROR "SWIG_ADD_LIBRARY: Missing SOURCES argument")
+  endif()
+
+  if(NOT DEFINED _SAM_TYPE)
+    set(_SAM_TYPE MODULE)
+  elseif("${_SAM_TYPE}" STREQUAL "USE_BUILD_SHARED_LIBS")
+    unset(_SAM_TYPE)
+  endif()
+
+  swig_module_initialize(${name} ${_SAM_LANGUAGE})
+
+  set(swig_dot_i_sources)
+  set(swig_other_sources)
+  foreach(it ${_SAM_SOURCES})
+    if(${it} MATCHES "\\.i$")
+      set(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
+    else()
+      set(swig_other_sources ${swig_other_sources} "${it}")
+    endif()
+  endforeach()
+
+  set(swig_generated_sources)
+  foreach(it ${swig_dot_i_sources})
+    SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it})
+    set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}")
+  endforeach()
+  get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
+  set_directory_properties(PROPERTIES
+    ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}")
+  add_library(${SWIG_MODULE_${name}_REAL_NAME}
+    ${_SAM_TYPE}
+    ${swig_generated_sources}
+    ${swig_other_sources})
+  if("${_SAM_TYPE}" STREQUAL "MODULE")
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES NO_SONAME ON)
+  endif()
+  string(TOLOWER "${_SAM_LANGUAGE}" swig_lowercase_language)
+  if ("${swig_lowercase_language}" STREQUAL "octave")
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".oct")
+  elseif ("${swig_lowercase_language}" STREQUAL "go")
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+  elseif ("${swig_lowercase_language}" STREQUAL "java")
+    if (APPLE)
+        # In java you want:
+        #      System.loadLibrary("LIBRARY");
+        # then JNI will look for a library whose name is platform dependent, namely
+        #   MacOS  : libLIBRARY.jnilib
+        #   Windows: LIBRARY.dll
+        #   Linux  : libLIBRARY.so
+        set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
+      endif ()
+  elseif ("${swig_lowercase_language}" STREQUAL "lua")
+    if("${_SAM_TYPE}" STREQUAL "MODULE")
+      set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+    endif()
+  elseif ("${swig_lowercase_language}" STREQUAL "python")
+    # this is only needed for the python case where a _modulename.so is generated
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+    # Python extension modules on Windows must have the extension ".pyd"
+    # instead of ".dll" as of Python 2.5.  Older python versions do support
+    # this suffix.
+    # http://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000
+    # <quote>
+    # Windows: .dll is no longer supported as a filename extension for extension modules.
+    # .pyd is now the only filename extension that will be searched for.
+    # </quote>
+    if(WIN32 AND NOT CYGWIN)
+      set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd")
+    endif()
+  elseif ("${swig_lowercase_language}" STREQUAL "r")
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+  elseif ("${swig_lowercase_language}" STREQUAL "ruby")
+    # In ruby you want:
+    #      require 'LIBRARY'
+    # then ruby will look for a library whose name is platform dependent, namely
+    #   MacOS  : LIBRARY.bundle
+    #   Windows: LIBRARY.dll
+    #   Linux  : LIBRARY.so
+    set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+    if (APPLE)
+      set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".bundle")
+    endif ()
+  else()
+    # assume empty prefix because we expect the module to be dynamically loaded
+    set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+  endif ()
+endmacro()
+
+#
+# Like TARGET_LINK_LIBRARIES but for swig modules
+#
+macro(SWIG_LINK_LIBRARIES name)
+  if(SWIG_MODULE_${name}_REAL_NAME)
+    target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN})
+  else()
+    message(SEND_ERROR "Cannot find Swig library \"${name}\".")
+  endif()
+endmacro()
diff --git a/share/cmake-3.10/Modules/Use_wxWindows.cmake b/share/cmake-3.10/Modules/Use_wxWindows.cmake
new file mode 100644
index 0000000..bd8cc01
--- /dev/null
+++ b/share/cmake-3.10/Modules/Use_wxWindows.cmake
@@ -0,0 +1,68 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# Use_wxWindows
+# -------------
+#
+#
+#
+#
+# This convenience include finds if wxWindows is installed and set the
+# appropriate libs, incdirs, flags etc.  author Jan Woetzel <jw -at-
+# mip.informatik.uni-kiel.de> (07/2003)
+#
+# USAGE:
+#
+# ::
+#
+#    just include Use_wxWindows.cmake
+#    in your projects CMakeLists.txt
+#
+# include( ${CMAKE_MODULE_PATH}/Use_wxWindows.cmake)
+#
+# ::
+#
+#    if you are sure you need GL then
+#
+# set(WXWINDOWS_USE_GL 1)
+#
+# ::
+#
+#    *before* you include this file.
+
+# -----------------------------------------------------
+# 16.Feb.2004: changed INCLUDE to FIND_PACKAGE to read from users own non-system CMAKE_MODULE_PATH (Jan Woetzel JW)
+# 07/2006: rewrite as FindwxWidgets.cmake, kept for backward compatibility JW
+
+message(STATUS "Use_wxWindows.cmake is DEPRECATED. \n"
+"Please use find_package(wxWidgets) and include(${wxWidgets_USE_FILE}) instead. (JW)")
+
+
+# ------------------------
+
+find_package( wxWindows )
+
+if(WXWINDOWS_FOUND)
+
+#message("DBG Use_wxWindows.cmake:  WXWINDOWS_INCLUDE_DIR=${WXWINDOWS_INCLUDE_DIR} WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}     WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}  CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS} WXWINDOWS_DEFINITIONS=${WXWINDOWS_DEFINITIONS}")
+
+ if(WXWINDOWS_INCLUDE_DIR)
+    include_directories(${WXWINDOWS_INCLUDE_DIR})
+  endif()
+ if(WXWINDOWS_LINK_DIRECTORIES)
+    link_directories(${WXWINDOWS_LINK_DIRECTORIES})
+  endif()
+  if(WXWINDOWS_LIBRARIES)
+    link_libraries(${WXWINDOWS_LIBRARIES})
+  endif()
+  if (CMAKE_WXWINDOWS_CXX_FLAGS)
+    string(APPEND CMAKE_CXX_FLAGS " ${CMAKE_WXWINDOWS_CXX_FLAGS}")
+  endif()
+  if(WXWINDOWS_DEFINITIONS)
+    add_definitions(${WXWINDOWS_DEFINITIONS})
+  endif()
+else()
+  message(SEND_ERROR "wxWindows not found by Use_wxWindows.cmake")
+endif()
+
diff --git a/share/cmake-3.10/Modules/UsewxWidgets.cmake b/share/cmake-3.10/Modules/UsewxWidgets.cmake
new file mode 100644
index 0000000..a50d03d
--- /dev/null
+++ b/share/cmake-3.10/Modules/UsewxWidgets.cmake
@@ -0,0 +1,100 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# UsewxWidgets
+# ------------
+#
+# Convenience include for using wxWidgets library.
+#
+# Determines if wxWidgets was FOUND and sets the appropriate libs,
+# incdirs, flags, etc.  INCLUDE_DIRECTORIES and LINK_DIRECTORIES are
+# called.
+#
+# USAGE
+#
+# ::
+#
+#   # Note that for MinGW users the order of libs is important!
+#   find_package(wxWidgets REQUIRED net gl core base)
+#   include(${wxWidgets_USE_FILE})
+#   # and for each of your dependent executable/library targets:
+#   target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
+#
+#
+#
+# DEPRECATED
+#
+# ::
+#
+#   LINK_LIBRARIES is not called in favor of adding dependencies per target.
+#
+#
+#
+# AUTHOR
+#
+# ::
+#
+#   Jan Woetzel <jw -at- mip.informatik.uni-kiel.de>
+
+# debug message and logging.
+# comment these out for distribution
+if    (NOT LOGFILE )
+  #  set(LOGFILE "${PROJECT_BINARY_DIR}/CMakeOutput.log")
+endif ()
+macro(MSG _MSG)
+  #  file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}):   ${_MSG}\n")
+  #  message(STATUS "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
+endmacro()
+
+
+MSG("wxWidgets_FOUND=${wxWidgets_FOUND}")
+if   (wxWidgets_FOUND)
+  if   (wxWidgets_INCLUDE_DIRS)
+    if(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
+      include_directories(${wxWidgets_INCLUDE_DIRS})
+    else()
+      include_directories(SYSTEM ${wxWidgets_INCLUDE_DIRS})
+    endif()
+    MSG("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
+  endif()
+
+  if   (wxWidgets_LIBRARY_DIRS)
+    link_directories(${wxWidgets_LIBRARY_DIRS})
+    MSG("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
+  endif()
+
+  if   (wxWidgets_DEFINITIONS)
+    set_property(DIRECTORY APPEND
+      PROPERTY COMPILE_DEFINITIONS ${wxWidgets_DEFINITIONS})
+    MSG("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
+  endif()
+
+  if   (wxWidgets_DEFINITIONS_DEBUG)
+    set_property(DIRECTORY APPEND
+      PROPERTY COMPILE_DEFINITIONS_DEBUG ${wxWidgets_DEFINITIONS_DEBUG})
+    MSG("wxWidgets_DEFINITIONS_DEBUG=${wxWidgets_DEFINITIONS_DEBUG}")
+  endif()
+
+  if   (wxWidgets_CXX_FLAGS)
+    # Flags are expected to be a string here, not a list.
+    string(REPLACE ";" " " wxWidgets_CXX_FLAGS_str "${wxWidgets_CXX_FLAGS}")
+    string(APPEND CMAKE_CXX_FLAGS " ${wxWidgets_CXX_FLAGS_str}")
+    MSG("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS_str}")
+    unset(wxWidgets_CXX_FLAGS_str)
+  endif()
+
+  # DEPRECATED JW
+  # just for backward compatibility: add deps to all targets
+  # library projects better use advanced find_package(wxWidgets) directly.
+  #if(wxWidgets_LIBRARIES)
+  #  link_libraries(${wxWidgets_LIBRARIES})
+  #  # BUG: str too long:  MSG("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
+  #  if(LOGFILE)
+  #    file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}):   ${wxWidgets_LIBRARIES}\n")
+  #  endif()
+  #endif()
+
+else ()
+  message("wxWidgets requested but not found.")
+endif()
diff --git a/share/cmake-3.10/Modules/VTKCompatibility.cmake b/share/cmake-3.10/Modules/VTKCompatibility.cmake
new file mode 100644
index 0000000..1b0815e
--- /dev/null
+++ b/share/cmake-3.10/Modules/VTKCompatibility.cmake
@@ -0,0 +1,42 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if(APPLE)
+  set(CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY}")
+  set(CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE}")
+  string( REGEX REPLACE "CMAKE_C_COMPILER"
+    CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_MODULE
+    "${CMAKE_CXX_CREATE_SHARED_MODULE}")
+  string( REGEX REPLACE "CMAKE_C_COMPILER"
+    CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_LIBRARY
+    "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
+endif()
+
+set(VTKFTGL_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/ftgl"
+  CACHE INTERNAL "")
+set(VTKFREETYPE_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/freetype"
+  CACHE INTERNAL "")
+set(VTKFTGL_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/ftgl"
+  CACHE INTERNAL "")
+set(VTKFREETYPE_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/freetype"
+  CACHE INTERNAL "")
+
+set(VTK_GLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glext.h"
+  CACHE FILEPATH
+  "Location of the OpenGL extensions header file (glext.h).")
+set(VTK_GLXEXT_FILE
+  "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glxext.h" CACHE FILEPATH
+  "Location of the GLX extensions header file (glxext.h).")
+set(VTK_WGLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/wglext.h"
+  CACHE FILEPATH
+  "Location of the WGL extensions header file (wglext.h).")
+
+# work around an old bug in VTK
+set(TIFF_RIGHT_VERSION 1)
+
+# for very old VTK (versions prior to 4.2)
+macro(SOURCE_FILES)
+  message (FATAL_ERROR "You are trying to build a very old version of VTK (prior to VTK 4.2). To do this you need to use CMake 2.0 as it was the last version of CMake to support VTK 4.0.")
+endmacro()
+
diff --git a/share/cmake-3.6/Modules/WIX.template.in b/share/cmake-3.10/Modules/WIX.template.in
similarity index 100%
rename from share/cmake-3.6/Modules/WIX.template.in
rename to share/cmake-3.10/Modules/WIX.template.in
diff --git a/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake b/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake
new file mode 100644
index 0000000..7c9467a
--- /dev/null
+++ b/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake
@@ -0,0 +1,48 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# WriteBasicConfigVersionFile
+# ---------------------------
+#
+#
+#
+# ::
+#
+#   WRITE_BASIC_CONFIG_VERSION_FILE( filename
+#     [VERSION major.minor.patch]
+#     COMPATIBILITY (AnyNewerVersion|SameMajorVersion)
+#     )
+#
+#
+#
+# Deprecated, see WRITE_BASIC_PACKAGE_VERSION_FILE(), it is identical.
+
+function(WRITE_BASIC_CONFIG_VERSION_FILE _filename)
+
+  set(options )
+  set(oneValueArgs VERSION COMPATIBILITY )
+  set(multiValueArgs )
+
+  cmake_parse_arguments(CVF "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+
+  if(CVF_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  set(versionTemplateFile "${CMAKE_ROOT}/Modules/BasicConfigVersion-${CVF_COMPATIBILITY}.cmake.in")
+  if(NOT EXISTS "${versionTemplateFile}")
+    message(FATAL_ERROR "Bad COMPATIBILITY value used for WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_COMPATIBILITY}\"")
+  endif()
+
+  if("${CVF_VERSION}" STREQUAL "")
+    if ("${PROJECT_VERSION}" STREQUAL "")
+      message(FATAL_ERROR "No VERSION specified for WRITE_BASIC_CONFIG_VERSION_FILE()")
+    else()
+      set(CVF_VERSION "${PROJECT_VERSION}")
+    endif()
+  endif()
+
+  configure_file("${versionTemplateFile}" "${_filename}" @ONLY)
+
+endfunction()
diff --git a/share/cmake-3.10/Modules/WriteCompilerDetectionHeader.cmake b/share/cmake-3.10/Modules/WriteCompilerDetectionHeader.cmake
new file mode 100644
index 0000000..e7f9912
--- /dev/null
+++ b/share/cmake-3.10/Modules/WriteCompilerDetectionHeader.cmake
@@ -0,0 +1,632 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# WriteCompilerDetectionHeader
+# ----------------------------
+#
+# This module provides the function write_compiler_detection_header().
+#
+# The ``WRITE_COMPILER_DETECTION_HEADER`` function can be used to generate
+# a file suitable for preprocessor inclusion which contains macros to be
+# used in source code::
+#
+#    write_compiler_detection_header(
+#              FILE <file>
+#              PREFIX <prefix>
+#              [OUTPUT_FILES_VAR <output_files_var> OUTPUT_DIR <output_dir>]
+#              COMPILERS <compiler> [...]
+#              FEATURES <feature> [...]
+#              [VERSION <version>]
+#              [PROLOG <prolog>]
+#              [EPILOG <epilog>]
+#              [ALLOW_UNKNOWN_COMPILERS]
+#              [ALLOW_UNKNOWN_COMPILER_VERSIONS]
+#    )
+#
+# The ``write_compiler_detection_header`` function generates the
+# file ``<file>`` with macros which all have the prefix ``<prefix>``.
+#
+# By default, all content is written directly to the ``<file>``.  The
+# ``OUTPUT_FILES_VAR`` may be specified to cause the compiler-specific
+# content to be written to separate files.  The separate files are then
+# available in the ``<output_files_var>`` and may be consumed by the caller
+# for installation for example.  The ``OUTPUT_DIR`` specifies a relative
+# path from the main ``<file>`` to the compiler-specific files. For example:
+#
+# .. code-block:: cmake
+#
+#    write_compiler_detection_header(
+#      FILE climbingstats_compiler_detection.h
+#      PREFIX ClimbingStats
+#      OUTPUT_FILES_VAR support_files
+#      OUTPUT_DIR compilers
+#      COMPILERS GNU Clang MSVC Intel
+#      FEATURES cxx_variadic_templates
+#    )
+#    install(FILES
+#      ${CMAKE_CURRENT_BINARY_DIR}/climbingstats_compiler_detection.h
+#      DESTINATION include
+#    )
+#    install(FILES
+#      ${support_files}
+#      DESTINATION include/compilers
+#    )
+#
+#
+# ``VERSION`` may be used to specify the API version to be generated.
+# Future versions of CMake may introduce alternative APIs.  A given
+# API is selected by any ``<version>`` value greater than or equal
+# to the version of CMake that introduced the given API and less
+# than the version of CMake that introduced its succeeding API.
+# The value of the :variable:`CMAKE_MINIMUM_REQUIRED_VERSION`
+# variable is used if no explicit version is specified.
+# (As of CMake version |release| there is only one API version.)
+#
+# ``PROLOG`` may be specified as text content to write at the start of the
+# header. ``EPILOG`` may be specified as text content to write at the end
+# of the header
+#
+# At least one ``<compiler>`` and one ``<feature>`` must be listed.  Compilers
+# which are known to CMake, but not specified are detected and a preprocessor
+# ``#error`` is generated for them.  A preprocessor macro matching
+# ``<PREFIX>_COMPILER_IS_<compiler>`` is generated for each compiler
+# known to CMake to contain the value ``0`` or ``1``.
+#
+# Possible compiler identifiers are documented with the
+# :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
+# Available features in this version of CMake are listed in the
+# :prop_gbl:`CMAKE_C_KNOWN_FEATURES` and
+# :prop_gbl:`CMAKE_CXX_KNOWN_FEATURES` global properties.
+# The ``{c,cxx}_std_*`` meta-features are ignored if requested.
+#
+# See the :manual:`cmake-compile-features(7)` manual for information on
+# compile features.
+#
+# ``ALLOW_UNKNOWN_COMPILERS`` and ``ALLOW_UNKNOWN_COMPILER_VERSIONS`` cause
+# the module to generate conditions that treat unknown compilers as simply
+# lacking all features.  Without these options the default behavior is to
+# generate a ``#error`` for unknown compilers.
+#
+# Feature Test Macros
+# ===================
+#
+# For each compiler, a preprocessor macro is generated matching
+# ``<PREFIX>_COMPILER_IS_<compiler>`` which has the content either ``0``
+# or ``1``, depending on the compiler in use. Preprocessor macros for
+# compiler version components are generated matching
+# ``<PREFIX>_COMPILER_VERSION_MAJOR`` ``<PREFIX>_COMPILER_VERSION_MINOR``
+# and ``<PREFIX>_COMPILER_VERSION_PATCH`` containing decimal values
+# for the corresponding compiler version components, if defined.
+#
+# A preprocessor test is generated based on the compiler version
+# denoting whether each feature is enabled.  A preprocessor macro
+# matching ``<PREFIX>_COMPILER_<FEATURE>``, where ``<FEATURE>`` is the
+# upper-case ``<feature>`` name, is generated to contain the value
+# ``0`` or ``1`` depending on whether the compiler in use supports the
+# feature:
+#
+# .. code-block:: cmake
+#
+#    write_compiler_detection_header(
+#      FILE climbingstats_compiler_detection.h
+#      PREFIX ClimbingStats
+#      COMPILERS GNU Clang AppleClang MSVC Intel
+#      FEATURES cxx_variadic_templates
+#    )
+#
+# .. code-block:: c++
+#
+#    #if ClimbingStats_COMPILER_CXX_VARIADIC_TEMPLATES
+#    template<typename... T>
+#    void someInterface(T t...) { /* ... */ }
+#    #else
+#    // Compatibility versions
+#    template<typename T1>
+#    void someInterface(T1 t1) { /* ... */ }
+#    template<typename T1, typename T2>
+#    void someInterface(T1 t1, T2 t2) { /* ... */ }
+#    template<typename T1, typename T2, typename T3>
+#    void someInterface(T1 t1, T2 t2, T3 t3) { /* ... */ }
+#    #endif
+#
+# Symbol Macros
+# =============
+#
+# Some additional symbol-defines are created for particular features for
+# use as symbols which may be conditionally defined empty:
+#
+# .. code-block:: c++
+#
+#    class MyClass ClimbingStats_FINAL
+#    {
+#        ClimbingStats_CONSTEXPR int someInterface() { return 42; }
+#    };
+#
+# The ``ClimbingStats_FINAL`` macro will expand to ``final`` if the
+# compiler (and its flags) support the ``cxx_final`` feature, and the
+# ``ClimbingStats_CONSTEXPR`` macro will expand to ``constexpr``
+# if ``cxx_constexpr`` is supported.
+#
+# The following features generate corresponding symbol defines:
+#
+# ========================== =================================== =================
+#         Feature                          Define                      Symbol
+# ========================== =================================== =================
+# ``c_restrict``              ``<PREFIX>_RESTRICT``               ``restrict``
+# ``cxx_constexpr``           ``<PREFIX>_CONSTEXPR``              ``constexpr``
+# ``cxx_deleted_functions``   ``<PREFIX>_DELETED_FUNCTION``       ``= delete``
+# ``cxx_extern_templates``    ``<PREFIX>_EXTERN_TEMPLATE``        ``extern``
+# ``cxx_final``               ``<PREFIX>_FINAL``                  ``final``
+# ``cxx_noexcept``            ``<PREFIX>_NOEXCEPT``               ``noexcept``
+# ``cxx_noexcept``            ``<PREFIX>_NOEXCEPT_EXPR(X)``       ``noexcept(X)``
+# ``cxx_override``            ``<PREFIX>_OVERRIDE``               ``override``
+# ========================== =================================== =================
+#
+# Compatibility Implementation Macros
+# ===================================
+#
+# Some features are suitable for wrapping in a macro with a backward
+# compatibility implementation if the compiler does not support the feature.
+#
+# When the ``cxx_static_assert`` feature is not provided by the compiler,
+# a compatibility implementation is available via the
+# ``<PREFIX>_STATIC_ASSERT(COND)`` and
+# ``<PREFIX>_STATIC_ASSERT_MSG(COND, MSG)`` function-like macros. The macros
+# expand to ``static_assert`` where that compiler feature is available, and
+# to a compatibility implementation otherwise. In the first form, the
+# condition is stringified in the message field of ``static_assert``.  In
+# the second form, the message ``MSG`` is passed to the message field of
+# ``static_assert``, or ignored if using the backward compatibility
+# implementation.
+#
+# The ``cxx_attribute_deprecated`` feature provides a macro definition
+# ``<PREFIX>_DEPRECATED``, which expands to either the standard
+# ``[[deprecated]]`` attribute or a compiler-specific decorator such
+# as ``__attribute__((__deprecated__))`` used by GNU compilers.
+#
+# The ``cxx_alignas`` feature provides a macro definition
+# ``<PREFIX>_ALIGNAS`` which expands to either the standard ``alignas``
+# decorator or a compiler-specific decorator such as
+# ``__attribute__ ((__aligned__))`` used by GNU compilers.
+#
+# The ``cxx_alignof`` feature provides a macro definition
+# ``<PREFIX>_ALIGNOF`` which expands to either the standard ``alignof``
+# decorator or a compiler-specific decorator such as ``__alignof__``
+# used by GNU compilers.
+#
+# ============================= ================================ =====================
+#           Feature                          Define                     Symbol
+# ============================= ================================ =====================
+# ``cxx_alignas``                ``<PREFIX>_ALIGNAS``             ``alignas``
+# ``cxx_alignof``                ``<PREFIX>_ALIGNOF``             ``alignof``
+# ``cxx_nullptr``                ``<PREFIX>_NULLPTR``             ``nullptr``
+# ``cxx_static_assert``          ``<PREFIX>_STATIC_ASSERT``       ``static_assert``
+# ``cxx_static_assert``          ``<PREFIX>_STATIC_ASSERT_MSG``   ``static_assert``
+# ``cxx_attribute_deprecated``   ``<PREFIX>_DEPRECATED``          ``[[deprecated]]``
+# ``cxx_attribute_deprecated``   ``<PREFIX>_DEPRECATED_MSG``      ``[[deprecated]]``
+# ``cxx_thread_local``           ``<PREFIX>_THREAD_LOCAL``        ``thread_local``
+# ============================= ================================ =====================
+#
+# A use-case which arises with such deprecation macros is the deprecation
+# of an entire library.  In that case, all public API in the library may
+# be decorated with the ``<PREFIX>_DEPRECATED`` macro.  This results in
+# very noisy build output when building the library itself, so the macro
+# may be may be defined to empty in that case when building the deprecated
+# library:
+#
+# .. code-block:: cmake
+#
+#   add_library(compat_support ${srcs})
+#   target_compile_definitions(compat_support
+#     PRIVATE
+#       CompatSupport_DEPRECATED=
+#   )
+
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeCompilerIdDetection.cmake)
+
+function(_load_compiler_variables CompilerId lang)
+  include("${CMAKE_ROOT}/Modules/Compiler/${CompilerId}-${lang}-FeatureTests.cmake" OPTIONAL)
+  set(_cmake_oldestSupported_${CompilerId} ${_cmake_oldestSupported} PARENT_SCOPE)
+  foreach(feature ${ARGN})
+    set(_cmake_feature_test_${CompilerId}_${feature} ${_cmake_feature_test_${feature}} PARENT_SCOPE)
+  endforeach()
+  include("${CMAKE_ROOT}/Modules/Compiler/${CompilerId}-${lang}-DetermineCompiler.cmake" OPTIONAL
+      RESULT_VARIABLE determinedCompiler)
+  if (NOT determinedCompiler)
+    include("${CMAKE_ROOT}/Modules/Compiler/${CompilerId}-DetermineCompiler.cmake" OPTIONAL)
+  endif()
+  set(_compiler_id_version_compute_${CompilerId} ${_compiler_id_version_compute} PARENT_SCOPE)
+endfunction()
+
+macro(_simpledefine FEATURE_NAME FEATURE_TESTNAME FEATURE_STRING FEATURE_DEFAULT_STRING)
+  if (feature STREQUAL "${FEATURE_NAME}")
+        set(def_value "${prefix_arg}_${FEATURE_TESTNAME}")
+        string(APPEND file_content "
+#  if defined(${def_name}) && ${def_name}
+#    define ${def_value} ${FEATURE_STRING}
+#  else
+#    define ${def_value} ${FEATURE_DEFAULT_STRING}
+#  endif
+\n")
+  endif()
+endmacro()
+
+function(write_compiler_detection_header
+    file_keyword file_arg
+    prefix_keyword prefix_arg
+    )
+  if (NOT "x${file_keyword}" STREQUAL "xFILE")
+    message(FATAL_ERROR "write_compiler_detection_header: FILE parameter missing.")
+  endif()
+  if (NOT "x${prefix_keyword}" STREQUAL "xPREFIX")
+    message(FATAL_ERROR "write_compiler_detection_header: PREFIX parameter missing.")
+  endif()
+  set(options ALLOW_UNKNOWN_COMPILERS ALLOW_UNKNOWN_COMPILER_VERSIONS)
+  set(oneValueArgs VERSION EPILOG PROLOG OUTPUT_FILES_VAR OUTPUT_DIR)
+  set(multiValueArgs COMPILERS FEATURES)
+  cmake_parse_arguments(_WCD "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+  if (NOT _WCD_COMPILERS)
+    message(FATAL_ERROR "Invalid arguments.  write_compiler_detection_header requires at least one compiler.")
+  endif()
+  if (NOT _WCD_FEATURES)
+    message(FATAL_ERROR "Invalid arguments.  write_compiler_detection_header requires at least one feature.")
+  endif()
+
+  if(_WCD_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unparsed arguments: ${_WCD_UNPARSED_ARGUMENTS}")
+  endif()
+
+  if (prefix_arg STREQUAL "")
+    message(FATAL_ERROR "A prefix must be specified")
+  endif()
+  string(MAKE_C_IDENTIFIER ${prefix_arg} cleaned_prefix)
+  if (NOT prefix_arg STREQUAL cleaned_prefix)
+    message(FATAL_ERROR "The prefix must be a valid C identifier.")
+  endif()
+
+  if(NOT _WCD_VERSION)
+    set(_WCD_VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})
+  endif()
+  set(_min_version 3.1.0) # Version which introduced this function
+  if (_WCD_VERSION VERSION_LESS _min_version)
+    set(err "VERSION compatibility for write_compiler_detection_header is set to ${_WCD_VERSION}, which is too low.")
+    string(APPEND err "  It must be set to at least ${_min_version}.  ")
+    string(APPEND err "  Either set the VERSION parameter to the write_compiler_detection_header function, or update")
+    string(APPEND err " your minimum required CMake version with the cmake_minimum_required command.")
+    message(FATAL_ERROR "${err}")
+  endif()
+
+  if(_WCD_OUTPUT_FILES_VAR)
+    if(NOT _WCD_OUTPUT_DIR)
+      message(FATAL_ERROR "If OUTPUT_FILES_VAR is specified, then OUTPUT_DIR must also be specified.")
+    endif()
+  endif()
+  if(_WCD_OUTPUT_DIR)
+    if(NOT _WCD_OUTPUT_FILES_VAR)
+      message(FATAL_ERROR "If OUTPUT_DIR is specified, then OUTPUT_FILES_VAR must also be specified.")
+    endif()
+    get_filename_component(main_file_dir ${file_arg} DIRECTORY)
+    if (NOT IS_ABSOLUTE ${main_file_dir})
+      set(main_file_dir "${CMAKE_CURRENT_BINARY_DIR}/${main_file_dir}")
+    endif()
+    if (NOT IS_ABSOLUTE ${_WCD_OUTPUT_DIR})
+      set(_WCD_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${_WCD_OUTPUT_DIR}")
+    endif()
+    get_filename_component(out_file_dir ${_WCD_OUTPUT_DIR} ABSOLUTE)
+    string(FIND ${out_file_dir} ${main_file_dir} idx)
+    if (NOT idx EQUAL 0)
+      message(FATAL_ERROR "The compiler-specific output directory must be within the same directory as the main file.")
+    endif()
+
+    if (main_file_dir STREQUAL out_file_dir)
+      unset(_WCD_OUTPUT_DIR)
+    else()
+      string(REPLACE "${main_file_dir}/" "" _WCD_OUTPUT_DIR "${out_file_dir}/")
+    endif()
+  endif()
+
+  set(compilers
+    GNU
+    Clang
+    AppleClang
+    MSVC
+    SunPro
+    Intel
+  )
+
+  set(_hex_compilers ADSP Borland Embarcadero SunPro)
+
+  foreach(_comp ${_WCD_COMPILERS})
+    list(FIND compilers ${_comp} idx)
+    if (idx EQUAL -1)
+      message(FATAL_ERROR "Unsupported compiler ${_comp}.")
+    endif()
+    if (NOT _need_hex_conversion)
+      list(FIND _hex_compilers ${_comp} idx)
+      if (NOT idx EQUAL -1)
+        set(_need_hex_conversion TRUE)
+      endif()
+    endif()
+  endforeach()
+
+  set(file_content "
+// This is a generated file. Do not edit!
+
+#ifndef ${prefix_arg}_COMPILER_DETECTION_H
+#define ${prefix_arg}_COMPILER_DETECTION_H
+")
+
+  if (_WCD_PROLOG)
+    string(APPEND file_content "\n${_WCD_PROLOG}\n")
+  endif()
+
+  if (_need_hex_conversion)
+    string(APPEND file_content "
+#define ${prefix_arg}_DEC(X) (X)
+#define ${prefix_arg}_HEX(X) ( \\
+    ((X)>>28 & 0xF) * 10000000 + \\
+    ((X)>>24 & 0xF) *  1000000 + \\
+    ((X)>>20 & 0xF) *   100000 + \\
+    ((X)>>16 & 0xF) *    10000 + \\
+    ((X)>>12 & 0xF) *     1000 + \\
+    ((X)>>8  & 0xF) *      100 + \\
+    ((X)>>4  & 0xF) *       10 + \\
+    ((X)     & 0xF) \\
+    )\n")
+  endif()
+
+  foreach(feature ${_WCD_FEATURES})
+    if (feature MATCHES "^c_std_")
+      # ignored
+    elseif (feature MATCHES "^cxx_std_")
+      # ignored
+    elseif (feature MATCHES "^cxx_")
+      list(APPEND _langs CXX)
+      list(APPEND CXX_features ${feature})
+    elseif (feature MATCHES "^c_")
+      list(APPEND _langs C)
+      list(APPEND C_features ${feature})
+    else()
+      message(FATAL_ERROR "Unsupported feature ${feature}.")
+    endif()
+  endforeach()
+  list(REMOVE_DUPLICATES _langs)
+
+  if(_WCD_OUTPUT_FILES_VAR)
+    get_filename_component(main_file_name ${file_arg} NAME)
+    set(compiler_file_content_
+"#ifndef ${prefix_arg}_COMPILER_DETECTION_H
+#  error This file may only be included from ${main_file_name}
+#endif\n")
+  endif()
+
+  foreach(_lang ${_langs})
+    set(target_compilers)
+    foreach(compiler ${_WCD_COMPILERS})
+      _load_compiler_variables(${compiler} ${_lang} ${${_lang}_features})
+      if(_cmake_oldestSupported_${compiler})
+        list(APPEND target_compilers ${compiler})
+      endif()
+    endforeach()
+
+    get_property(known_features GLOBAL PROPERTY CMAKE_${_lang}_KNOWN_FEATURES)
+    foreach(feature ${${_lang}_features})
+      list(FIND known_features ${feature} idx)
+      if (idx EQUAL -1)
+        message(FATAL_ERROR "Unsupported feature ${feature}.")
+      endif()
+    endforeach()
+
+    if(_lang STREQUAL CXX)
+      string(APPEND file_content "\n#ifdef __cplusplus\n")
+    else()
+      string(APPEND file_content "\n#ifndef __cplusplus\n")
+    endif()
+
+    compiler_id_detection(ID_CONTENT ${_lang} PREFIX ${prefix_arg}_
+      ID_DEFINE
+    )
+
+    string(APPEND file_content "${ID_CONTENT}\n")
+
+    set(pp_if "if")
+    foreach(compiler ${target_compilers})
+      string(APPEND file_content "\n#  ${pp_if} ${prefix_arg}_COMPILER_IS_${compiler}\n")
+
+      if(_WCD_OUTPUT_FILES_VAR)
+        set(compile_file_name "${_WCD_OUTPUT_DIR}${prefix_arg}_COMPILER_INFO_${compiler}_${_lang}.h")
+        string(APPEND file_content "\n#    include \"${compile_file_name}\"\n")
+      endif()
+
+      if(_WCD_OUTPUT_FILES_VAR)
+        set(compiler_file_content compiler_file_content_${compiler}_${_lang})
+      else()
+        set(compiler_file_content file_content)
+      endif()
+
+      if(NOT _WCD_ALLOW_UNKNOWN_COMPILER_VERSIONS)
+        string(APPEND ${compiler_file_content} "
+#    if !(${_cmake_oldestSupported_${compiler}})
+#      error Unsupported compiler version
+#    endif\n")
+      endif()
+
+      set(PREFIX ${prefix_arg}_)
+      if (_need_hex_conversion)
+        set(MACRO_DEC ${prefix_arg}_DEC)
+        set(MACRO_HEX ${prefix_arg}_HEX)
+      else()
+        set(MACRO_DEC)
+        set(MACRO_HEX)
+      endif()
+      string(CONFIGURE "${_compiler_id_version_compute_${compiler}}" VERSION_BLOCK @ONLY)
+      string(APPEND ${compiler_file_content} "${VERSION_BLOCK}\n")
+      set(PREFIX)
+      set(MACRO_DEC)
+      set(MACRO_HEX)
+
+      set(pp_if "elif")
+      foreach(feature ${${_lang}_features})
+        string(TOUPPER ${feature} feature_upper)
+        set(feature_PP "COMPILER_${feature_upper}")
+        set(_define_item "\n#    define ${prefix_arg}_${feature_PP} 0\n")
+        if (_cmake_feature_test_${compiler}_${feature} STREQUAL "1")
+          set(_define_item "\n#    define ${prefix_arg}_${feature_PP} 1\n")
+        elseif (_cmake_feature_test_${compiler}_${feature})
+          set(_define_item "\n#      define ${prefix_arg}_${feature_PP} 0\n")
+          set(_define_item "\n#    if ${_cmake_feature_test_${compiler}_${feature}}\n#      define ${prefix_arg}_${feature_PP} 1\n#    else${_define_item}#    endif\n")
+        endif()
+        string(APPEND ${compiler_file_content} "${_define_item}")
+      endforeach()
+    endforeach()
+    if(pp_if STREQUAL "elif")
+      if(_WCD_ALLOW_UNKNOWN_COMPILERS)
+        string(APPEND file_content "
+#  endif\n")
+      else()
+        string(APPEND file_content "
+#  else
+#    error Unsupported compiler
+#  endif\n")
+      endif()
+    endif()
+    foreach(feature ${${_lang}_features})
+      string(TOUPPER ${feature} feature_upper)
+      set(feature_PP "COMPILER_${feature_upper}")
+      set(def_name ${prefix_arg}_${feature_PP})
+      _simpledefine(c_restrict RESTRICT restrict "")
+      _simpledefine(cxx_constexpr CONSTEXPR constexpr "")
+      _simpledefine(cxx_final FINAL final "")
+      _simpledefine(cxx_override OVERRIDE override "")
+      if (feature STREQUAL cxx_static_assert)
+        set(def_value "${prefix_arg}_STATIC_ASSERT(X)")
+        set(def_value_msg "${prefix_arg}_STATIC_ASSERT_MSG(X, MSG)")
+        set(def_fallback "enum { ${prefix_arg}_STATIC_ASSERT_JOIN(${prefix_arg}StaticAssertEnum, __LINE__) = sizeof(${prefix_arg}StaticAssert<X>) }")
+        string(APPEND file_content "#  if defined(${def_name}) && ${def_name}
+#    define ${def_value} static_assert(X, #X)
+#    define ${def_value_msg} static_assert(X, MSG)
+#  else
+#    define ${prefix_arg}_STATIC_ASSERT_JOIN(X, Y) ${prefix_arg}_STATIC_ASSERT_JOIN_IMPL(X, Y)
+#    define ${prefix_arg}_STATIC_ASSERT_JOIN_IMPL(X, Y) X##Y
+template<bool> struct ${prefix_arg}StaticAssert;
+template<> struct ${prefix_arg}StaticAssert<true>{};
+#    define ${def_value} ${def_fallback}
+#    define ${def_value_msg} ${def_fallback}
+#  endif
+\n")
+      endif()
+      if (feature STREQUAL cxx_alignas)
+        set(def_value "${prefix_arg}_ALIGNAS(X)")
+        string(APPEND file_content "
+#  if defined(${def_name}) && ${def_name}
+#    define ${def_value} alignas(X)
+#  elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang || ${prefix_arg}_COMPILER_IS_AppleClang
+#    define ${def_value} __attribute__ ((__aligned__(X)))
+#  elif ${prefix_arg}_COMPILER_IS_MSVC
+#    define ${def_value} __declspec(align(X))
+#  else
+#    define ${def_value}
+#  endif
+\n")
+      endif()
+      if (feature STREQUAL cxx_alignof)
+        set(def_value "${prefix_arg}_ALIGNOF(X)")
+        string(APPEND file_content "
+#  if defined(${def_name}) && ${def_name}
+#    define ${def_value} alignof(X)
+#  elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang || ${prefix_arg}_COMPILER_IS_AppleClang
+#    define ${def_value} __alignof__(X)
+#  elif ${prefix_arg}_COMPILER_IS_MSVC
+#    define ${def_value} __alignof(X)
+#  endif
+\n")
+      endif()
+      _simpledefine(cxx_deleted_functions DELETED_FUNCTION "= delete" "")
+      _simpledefine(cxx_extern_templates EXTERN_TEMPLATE extern "")
+      if (feature STREQUAL cxx_noexcept)
+        set(def_value "${prefix_arg}_NOEXCEPT")
+        string(APPEND file_content "
+#  if defined(${def_name}) && ${def_name}
+#    define ${def_value} noexcept
+#    define ${def_value}_EXPR(X) noexcept(X)
+#  else
+#    define ${def_value}
+#    define ${def_value}_EXPR(X)
+#  endif
+\n")
+      endif()
+      _simpledefine(cxx_nullptr NULLPTR nullptr 0)
+      if (feature STREQUAL cxx_thread_local)
+        set(def_value "${prefix_arg}_THREAD_LOCAL")
+        string(APPEND file_content "
+#  if defined(${def_name}) && ${def_name}
+#    define ${def_value} thread_local
+#  elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang || ${prefix_arg}_COMPILER_IS_AppleClang
+#    define ${def_value} __thread
+#  elif ${prefix_arg}_COMPILER_IS_MSVC
+#    define ${def_value} __declspec(thread)
+#  else
+// ${def_value} not defined for this configuration.
+#  endif
+\n")
+      endif()
+      if (feature STREQUAL cxx_attribute_deprecated)
+        set(def_name ${prefix_arg}_${feature_PP})
+        set(def_value "${prefix_arg}_DEPRECATED")
+        string(APPEND file_content "
+#  ifndef ${def_value}
+#    if defined(${def_name}) && ${def_name}
+#      define ${def_value} [[deprecated]]
+#      define ${def_value}_MSG(MSG) [[deprecated(MSG)]]
+#    elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang
+#      define ${def_value} __attribute__((__deprecated__))
+#      define ${def_value}_MSG(MSG) __attribute__((__deprecated__(MSG)))
+#    elif ${prefix_arg}_COMPILER_IS_MSVC
+#      define ${def_value} __declspec(deprecated)
+#      define ${def_value}_MSG(MSG) __declspec(deprecated(MSG))
+#    else
+#      define ${def_value}
+#      define ${def_value}_MSG(MSG)
+#    endif
+#  endif
+\n")
+      endif()
+    endforeach()
+
+    string(APPEND file_content "#endif\n")
+
+  endforeach()
+
+  if(_WCD_OUTPUT_FILES_VAR)
+    foreach(compiler ${_WCD_COMPILERS})
+      foreach(_lang ${_langs})
+        if(compiler_file_content_${compiler}_${_lang})
+          set(CMAKE_CONFIGURABLE_FILE_CONTENT "${compiler_file_content_}")
+          string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT "${compiler_file_content_${compiler}_${_lang}}")
+
+          set(compile_file_name "${_WCD_OUTPUT_DIR}${prefix_arg}_COMPILER_INFO_${compiler}_${_lang}.h")
+          set(full_path "${main_file_dir}/${compile_file_name}")
+          list(APPEND ${_WCD_OUTPUT_FILES_VAR} ${full_path})
+          configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+            "${full_path}"
+            @ONLY
+          )
+        endif()
+      endforeach()
+    endforeach()
+    set(${_WCD_OUTPUT_FILES_VAR} ${${_WCD_OUTPUT_FILES_VAR}} PARENT_SCOPE)
+  endif()
+
+  if (_WCD_EPILOG)
+    string(APPEND file_content "\n${_WCD_EPILOG}\n")
+  endif()
+  string(APPEND file_content "\n#endif")
+
+  set(CMAKE_CONFIGURABLE_FILE_CONTENT ${file_content})
+  configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+    "${file_arg}"
+    @ONLY
+  )
+endfunction()
diff --git a/share/cmake-3.10/Modules/ecos_clean.cmake b/share/cmake-3.10/Modules/ecos_clean.cmake
new file mode 100644
index 0000000..21126f6
--- /dev/null
+++ b/share/cmake-3.10/Modules/ecos_clean.cmake
@@ -0,0 +1,16 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+file(GLOB _files ${ECOS_DIR}/*)
+
+# remove all directories, which consist of lower-case letters only
+# this skips e.g. CVS/ and .subversion/
+foreach(_entry ${_files})
+   if(IS_DIRECTORY ${_entry})
+      get_filename_component(dir ${_entry} NAME)
+      if(${dir} MATCHES "^[a-z]+$")
+         file(REMOVE_RECURSE ${_entry})
+      endif()
+   endif()
+endforeach()
diff --git a/share/cmake-3.10/Modules/exportheader.cmake.in b/share/cmake-3.10/Modules/exportheader.cmake.in
new file mode 100644
index 0000000..9dd75bf
--- /dev/null
+++ b/share/cmake-3.10/Modules/exportheader.cmake.in
@@ -0,0 +1,42 @@
+
+#ifndef @INCLUDE_GUARD_NAME@
+#define @INCLUDE_GUARD_NAME@
+
+#ifdef @STATIC_DEFINE@
+#  define @EXPORT_MACRO_NAME@
+#  define @NO_EXPORT_MACRO_NAME@
+#else
+#  ifndef @EXPORT_MACRO_NAME@
+#    ifdef @EXPORT_IMPORT_CONDITION@
+        /* We are building this library */
+#      define @EXPORT_MACRO_NAME@ @DEFINE_EXPORT@
+#    else
+        /* We are using this library */
+#      define @EXPORT_MACRO_NAME@ @DEFINE_IMPORT@
+#    endif
+#  endif
+
+#  ifndef @NO_EXPORT_MACRO_NAME@
+#    define @NO_EXPORT_MACRO_NAME@ @DEFINE_NO_EXPORT@
+#  endif
+#endif
+
+#ifndef @DEPRECATED_MACRO_NAME@
+#  define @DEPRECATED_MACRO_NAME@ @DEFINE_DEPRECATED@
+#endif
+
+#ifndef @DEPRECATED_MACRO_NAME@_EXPORT
+#  define @DEPRECATED_MACRO_NAME@_EXPORT @EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@
+#endif
+
+#ifndef @DEPRECATED_MACRO_NAME@_NO_EXPORT
+#  define @DEPRECATED_MACRO_NAME@_NO_EXPORT @NO_EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@
+#endif
+
+#if @DEFINE_NO_DEPRECATED@ /* DEFINE_NO_DEPRECATED */
+#  ifndef @NO_DEPRECATED_MACRO_NAME@
+#    define @NO_DEPRECATED_MACRO_NAME@
+#  endif
+#endif
+@CUSTOM_CONTENT@
+#endif
diff --git a/share/cmake-3.10/Modules/javaTargets.cmake.in b/share/cmake-3.10/Modules/javaTargets.cmake.in
new file mode 100644
index 0000000..c5f9c78
--- /dev/null
+++ b/share/cmake-3.10/Modules/javaTargets.cmake.in
@@ -0,0 +1,39 @@
+cmake_minimum_required(VERSION 2.8)
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.8)
+
+#----------------------------------------------------------------
+# Generated CMake Java target import file.
+#----------------------------------------------------------------
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_targetsDefined)
+set(_targetsNotDefined)
+set(_expectedTargets)
+foreach(_expectedTarget @__targets__@)
+  list(APPEND _expectedTargets ${_expectedTarget})
+  if(TARGET ${_expectedTarget})
+    list(APPEND _targetsDefined ${_expectedTarget})
+  else()
+    list(APPEND _targetsNotDefined ${_expectedTarget})
+  endif()
+endforeach()
+if("%${_targetsDefined}" STREQUAL "%${_expectedTargets}")
+  unset(_targetsDefined)
+  unset(_targetsNotDefined)
+  unset(_expectedTargets)
+  cmake_policy(POP)
+  return()
+endif()
+if(NOT "${_targetsDefined}" STREQUAL "")
+  message(FATAL_ERROR
+    "Some (but not all) targets in this export set were already defined.\n"
+    "Targets Defined: ${_targetsDefined}\n"
+    "Targets not yet defined: ${_targetsNotDefined}\n")
+endif()
+unset(_targetsDefined)
+unset(_targetsNotDefined)
+unset(_expectedTargets)
+
+@__targetdefs__@
+cmake_policy(POP)
diff --git a/share/cmake-3.6/Modules/kde3init_dummy.cpp.in b/share/cmake-3.10/Modules/kde3init_dummy.cpp.in
similarity index 100%
rename from share/cmake-3.6/Modules/kde3init_dummy.cpp.in
rename to share/cmake-3.10/Modules/kde3init_dummy.cpp.in
diff --git a/share/cmake-3.10/Modules/kde3uic.cmake b/share/cmake-3.10/Modules/kde3uic.cmake
new file mode 100644
index 0000000..b1f73d5
--- /dev/null
+++ b/share/cmake-3.10/Modules/kde3uic.cmake
@@ -0,0 +1,22 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+# used internally by KDE3Macros.cmake
+# neundorf@kde.org
+
+
+execute_process(COMMAND ${KDE_UIC_EXECUTABLE}
+   -L ${KDE_UIC_PLUGIN_DIR} -nounload -tr tr2i18n
+   -impl ${KDE_UIC_H_FILE}
+   ${KDE_UIC_FILE}
+   OUTPUT_VARIABLE _uic_CONTENTS
+   ERROR_QUIET
+  )
+
+string(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+string(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+
+file(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n")
+file(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}")
+
diff --git a/share/cmake-3.6/Modules/readme.txt b/share/cmake-3.10/Modules/readme.txt
similarity index 100%
rename from share/cmake-3.6/Modules/readme.txt
rename to share/cmake-3.10/Modules/readme.txt
diff --git a/share/cmake-3.6/Templates/AppleInfo.plist b/share/cmake-3.10/Templates/AppleInfo.plist
similarity index 100%
rename from share/cmake-3.6/Templates/AppleInfo.plist
rename to share/cmake-3.10/Templates/AppleInfo.plist
diff --git a/share/cmake-3.6/Templates/CMakeVSMacros1.vsmacros b/share/cmake-3.10/Templates/CMakeVSMacros1.vsmacros
similarity index 100%
rename from share/cmake-3.6/Templates/CMakeVSMacros1.vsmacros
rename to share/cmake-3.10/Templates/CMakeVSMacros1.vsmacros
Binary files differ
diff --git a/share/cmake-3.6/Templates/CMakeVSMacros2.vsmacros b/share/cmake-3.10/Templates/CMakeVSMacros2.vsmacros
similarity index 100%
rename from share/cmake-3.6/Templates/CMakeVSMacros2.vsmacros
rename to share/cmake-3.10/Templates/CMakeVSMacros2.vsmacros
Binary files differ
diff --git a/share/cmake-3.6/Templates/CPack.GenericDescription.txt b/share/cmake-3.10/Templates/CPack.GenericDescription.txt
similarity index 100%
rename from share/cmake-3.6/Templates/CPack.GenericDescription.txt
rename to share/cmake-3.10/Templates/CPack.GenericDescription.txt
diff --git a/share/cmake-3.6/Templates/CPack.GenericLicense.txt b/share/cmake-3.10/Templates/CPack.GenericLicense.txt
similarity index 100%
rename from share/cmake-3.6/Templates/CPack.GenericLicense.txt
rename to share/cmake-3.10/Templates/CPack.GenericLicense.txt
diff --git a/share/cmake-3.6/Templates/CPack.GenericWelcome.txt b/share/cmake-3.10/Templates/CPack.GenericWelcome.txt
similarity index 100%
rename from share/cmake-3.6/Templates/CPack.GenericWelcome.txt
rename to share/cmake-3.10/Templates/CPack.GenericWelcome.txt
diff --git a/share/cmake-3.6/Templates/CPackConfig.cmake.in b/share/cmake-3.10/Templates/CPackConfig.cmake.in
similarity index 100%
rename from share/cmake-3.6/Templates/CPackConfig.cmake.in
rename to share/cmake-3.10/Templates/CPackConfig.cmake.in
diff --git a/share/cmake-3.6/Templates/CTestScript.cmake.in b/share/cmake-3.10/Templates/CTestScript.cmake.in
similarity index 100%
rename from share/cmake-3.6/Templates/CTestScript.cmake.in
rename to share/cmake-3.10/Templates/CTestScript.cmake.in
diff --git a/share/cmake-3.10/Templates/MSBuild/nasm.props.in b/share/cmake-3.10/Templates/MSBuild/nasm.props.in
new file mode 100644
index 0000000..3443108
--- /dev/null
+++ b/share/cmake-3.10/Templates/MSBuild/nasm.props.in
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(NASMBeforeTargets)' == '' and '$(NASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
+    <NASMBeforeTargets>Midl</NASMBeforeTargets>
+    <NASMAfterTargets>CustomBuild</NASMAfterTargets>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <NASM>
+      <OutputFormat>$(IntDir)%(FileName).obj</OutputFormat>
+      <Outputswitch>0</Outputswitch>
+      <CompilerNasm>@CMAKE_ASM_NASM_COMPILER@</CompilerNasm>
+      <PackAlignmentBoundary>0</PackAlignmentBoundary>
+      <CommandLineTemplate>"%(CompilerNasm)" [AllOptions] [AdditionalOptions] "%(FullPath)"</CommandLineTemplate>
+      <ExecutionDescription>Assembling %(Filename)%(Extension)</ExecutionDescription>
+    </NASM>
+  </ItemDefinitionGroup>
+</Project>
diff --git a/share/cmake-3.10/Templates/MSBuild/nasm.targets b/share/cmake-3.10/Templates/MSBuild/nasm.targets
new file mode 100644
index 0000000..eeeb613
--- /dev/null
+++ b/share/cmake-3.10/Templates/MSBuild/nasm.targets
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml"/>
+    <AvailableItemName Include="NASM">
+      <Targets>_NASM</Targets>
+    </AvailableItemName>
+  </ItemGroup>
+  <PropertyGroup>
+    <ComputeLinkInputsTargets>
+      $(ComputeLinkInputsTargets);
+      ComputeNASMOutput;
+    </ComputeLinkInputsTargets>
+    <ComputeLibInputsTargets>
+      $(ComputeLibInputsTargets);
+      ComputeNASMOutput;
+    </ComputeLibInputsTargets>
+  </PropertyGroup>
+  <UsingTask TaskName="NASM" TaskFactory="XamlTaskFactory" AssemblyName="Microsoft.Build.Tasks.v4.0">
+    <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
+  </UsingTask>
+  <Target Name="_NASM" BeforeTargets="$(NASMBeforeTargets)" AfterTargets="$(NASMAfterTargets)" Condition="'@(NASM)' != ''" Outputs="%(NASM.OutputFormat)" Inputs="%(NASM.Identity);%(NASM.AdditionalDependencies);$(MSBuildProjectFile)" DependsOnTargets="_SelectedFiles">
+    <ItemGroup Condition="'@(SelectedFiles)' != ''">
+      <NASM Remove="@(NASM)" Condition="'%(Identity)' != '@(SelectedFiles)'"/>
+    </ItemGroup>
+    <ItemGroup>
+      <NASM_tlog Include="%(NASM.OutputFormat)" Condition="'%(NASM.OutputFormat)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'">
+        <Source>@(NASM, '|')</Source>
+      </NASM_tlog>
+    </ItemGroup>
+    <Message Importance="High" Text="%(NASM.ExecutionDescription)"/>
+    <WriteLinesToFile Condition="'@(NASM_tlog)' != '' and '%(NASM_tlog.ExcludedFromBuild)' != 'true'" File="$(IntDir)$(ProjectName).write.1.tlog" Lines="^%(NASM_tlog.Source);@(NASM_tlog-&gt;'%(Fullpath)')"/>
+    <NASM Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'" Inputs="%(NASM.Inputs)" OutputFormat="%(NASM.OutputFormat)" Outputswitch="%(NASM.Outputswitch)" AssembledCodeListingFile="%(NASM.AssembledCodeListingFile)" GenerateDebugInformation="%(NASM.GenerateDebugInformation)" ErrorReporting="%(NASM.ErrorReporting)" IncludePaths="%(NASM.IncludePaths)" PreprocessorDefinitions="%(NASM.PreprocessorDefinitions)" UndefinePreprocessorDefinitions="%(NASM.UndefinePreprocessorDefinitions)" ErrorReportingFormat="%(NASM.ErrorReportingFormat)" TreatWarningsAsErrors="%(NASM.TreatWarningsAsErrors)" floatunderflow="%(NASM.floatunderflow)" macrodefaults="%(NASM.macrodefaults)" user="%(NASM.user)" floatoverflow="%(NASM.floatoverflow)" floatdenorm="%(NASM.floatdenorm)" numberoverflow="%(NASM.numberoverflow)" macroselfref="%(NASM.macroselfref)" floattoolong="%(NASM.floattoolong)" orphanlabels="%(NASM.orphanlabels)" CommandLineTemplate="%(NASM.CommandLineTemplate)" AdditionalOptions="%(NASM.AdditionalOptions)"/>
+  </Target>
+  <Target Name="ComputeNASMOutput" Condition="'@(NASM)' != ''">
+    <ItemGroup>
+      <Link Include="@(NASM-&gt;Metadata('OutputFormat')-&gt;Distinct()-&gt;ClearMetadata())" Condition="'%(NASM.ExcludedFromBuild)' != 'true'"/>
+      <Lib Include="@(NASM-&gt;Metadata('OutputFormat')-&gt;Distinct()-&gt;ClearMetadata())" Condition="'%(NASM.ExcludedFromBuild)' != 'true'"/>
+    </ItemGroup>
+  </Target>
+</Project>
diff --git a/share/cmake-3.10/Templates/MSBuild/nasm.xml b/share/cmake-3.10/Templates/MSBuild/nasm.xml
new file mode 100644
index 0000000..92f8548
--- /dev/null
+++ b/share/cmake-3.10/Templates/MSBuild/nasm.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ProjectSchemaDefinitions xmlns="http://schemas.microsoft.com/build/2009/properties" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib">
+  <Rule Name="NASM" PageTemplate="tool" DisplayName="Netwide Assembler" Order="200">
+    <Rule.DataSource>
+      <DataSource Persistence="ProjectFile" ItemType="NASM"/>
+    </Rule.DataSource>
+    <Rule.Categories>
+      <Category Name="General">
+        <Category.DisplayName>
+          <sys:String>General</sys:String>
+        </Category.DisplayName>
+      </Category>
+      <Category Name="Preprocessor">
+        <Category.DisplayName>
+          <sys:String>Preprocessing Options</sys:String>
+        </Category.DisplayName>
+      </Category>
+      <Category Name="Assembler Options">
+        <Category.DisplayName>
+          <sys:String>Assembler Options</sys:String>
+        </Category.DisplayName>
+      </Category>
+      <Category Name="Advanced">
+        <Category.DisplayName>
+          <sys:String>Advanced </sys:String>
+        </Category.DisplayName>
+      </Category>
+      <Category Name="Command Line" Subtype="CommandLine">
+        <Category.DisplayName>
+          <sys:String>Command Line</sys:String>
+        </Category.DisplayName>
+      </Category>
+    </Rule.Categories>
+    <StringProperty Name="Inputs" Category="Command Line" IsRequired="true">
+      <StringProperty.DataSource>
+        <DataSource Persistence="ProjectFile" ItemType="NASM" SourceType="Item"/>
+      </StringProperty.DataSource>
+    </StringProperty>
+    <StringProperty Name="OutputFormat" Category="Assembler Options" HelpUrl="http://www.nasm.us/doc/" DisplayName="Output File Name" Description="Specify Output Filename.-o [value]" Switch="-o [value]"/>
+    <BoolProperty Name="tasmmode" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="SciTech TASM compatible mode" Description="assemble in SciTech TASM compatible mode" Switch="-t"/>
+    <EnumProperty Name="Outputswitch" Category="Assembler Options" HelpUrl="http://www.nasm.us/doc/" DisplayName="Output Switch" Description="Select the type of output format required. Linking Should be disabled for ELF and Binary ,else error will popup">
+      <EnumValue Name="0" DisplayName="Object File win32" Switch="-fwin32"/>
+      <EnumValue Name="1" DisplayName="Object File win64" Switch="-fwin64"/>
+      <EnumValue Name="2" DisplayName="ELF32 (i386) object files (e.g. Linux)" Switch="-felf32"/>
+      <EnumValue Name="3" DisplayName="ELF64 (x86_64) object files (e.g. Linux)" Switch="-felf64"/>
+    </EnumProperty>
+    <StringListProperty Name="AssembledCodeListingFile" Category="Assembler Options" DisplayName="Assembled Code Listing File" Description="Generates an assembled code listing file.     (-l [file])" HelpUrl="http://www.nasm.us/doc/" Switch="-l &quot;[value]&quot;"/>
+    <BoolProperty Name="GenerateDebugInformation" Category="Assembler Options" DisplayName="Generate Debug Information" Description="Generates Debug Information.     (-g)" HelpUrl="http://www.nasm.us/doc/" Switch="-g"/>
+    <StringListProperty Name="ErrorReporting" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Redirect Error Messages to File" Description="Drops the error Message on specified device" Switch="-Z &quot;[value]&quot;"/>
+    <StringListProperty Name="IncludePaths" Category="General" DisplayName="Include Paths" Description="Sets path for include file.     (-I[path])" HelpUrl="http://www.nasm.us/doc/" Switch="-I&quot;[value]&quot;"/>
+    <StringListProperty Name="PreprocessorDefinitions" Category="Preprocessor" HelpUrl="http://www.nasm.us/doc/" DisplayName="Preprocessor Definitions" Description="Defines a text macro with the given name.     (-D[symbol])" Switch="-D[value]"/>
+    <StringListProperty Name="UndefinePreprocessorDefinitions" Category="Preprocessor" HelpUrl="http://www.nasm.us/doc/" DisplayName="Undefine Preprocessor Definitions" Description="Undefines a text macro with the given name.     (-U[symbol])" Switch="-U[value]"/>
+    <EnumProperty Name="ErrorReportingFormat" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Error Reporting Format" Description="Select the error reporting format ie. GNU or VC">
+      <EnumValue Name="0" DisplayName="-Xgnu GNU format: Default format" Switch="-Xgnu"/>
+      <EnumValue Name="1" DisplayName="-Xvc Style used by Microsoft Visual C++" Switch="-Xvc"/>
+    </EnumProperty>
+    <BoolProperty Name="TreatWarningsAsErrors" Category="Assembler Options" DisplayName="Treat Warnings As Errors" Description="Returns an error code if warnings are generated.     (-Werror)" HelpUrl="http://www.nasm.us/doc/" Switch="-Werror"/>
+    <BoolProperty Name="floatunderflow" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="float-underflow" Description="floating point underflow (default off)" Switch="-w+float-underflow"/>
+    <BoolProperty Name="macrodefaults" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Disable macro-defaults" Description="macros with more default than optional parameters (default on)" Switch="-w-macro-defaults"/>
+    <BoolProperty Name="user" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Disable user" Description="%warning directives (default on)" Switch="-w-user"/>
+    <BoolProperty Name="floatoverflow" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Disable float-overflow" Description="floating point overflow (default on)" Switch="-w-float-overflow"/>
+    <BoolProperty Name="floatdenorm" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="float-denorm" Description="floating point denormal (default off)" Switch="-w+float-denorm"/>
+    <BoolProperty Name="numberoverflow" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Disable number-overflow" Description="numeric constant does not fit (default on)" Switch="-w-number-overflow"/>
+    <BoolProperty Name="macroselfref" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="macro-selfref" Description="cyclic macro references (default off)" Switch="-w+macro-selfref"/>
+    <BoolProperty Name="floattoolong" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Disable float-toolong" Description=" too many digits in floating-point number (default on)" Switch="-w-float-toolong"/>
+    <BoolProperty Name="orphanlabels" Category="Advanced" HelpUrl="http://www.nasm.us/doc/" DisplayName="Disable orphan-labels" Description="labels alone on lines without trailing `:' (default on)" Switch="-w-orphan-labels"/>
+    <StringProperty Name="CommandLineTemplate" DisplayName="Command Line" Visible="False" IncludeInCommandLine="False"/>
+    <DynamicEnumProperty Name="NASMBeforeTargets" Category="General" EnumProvider="Targets" IncludeInCommandLine="False">
+      <DynamicEnumProperty.DisplayName>
+        <sys:String>Execute Before</sys:String>
+      </DynamicEnumProperty.DisplayName>
+      <DynamicEnumProperty.Description>
+        <sys:String>Specifies the targets for the build customization to run before.</sys:String>
+      </DynamicEnumProperty.Description>
+      <DynamicEnumProperty.ProviderSettings>
+        <NameValuePair Name="Exclude" Value="^NASMBeforeTargets|^Compute"/>
+      </DynamicEnumProperty.ProviderSettings>
+      <DynamicEnumProperty.DataSource>
+        <DataSource Persistence="ProjectFile" ItemType="" HasConfigurationCondition="true"/>
+      </DynamicEnumProperty.DataSource>
+    </DynamicEnumProperty>
+    <DynamicEnumProperty Name="NASMAfterTargets" Category="General" EnumProvider="Targets" IncludeInCommandLine="False">
+      <DynamicEnumProperty.DisplayName>
+        <sys:String>Execute After</sys:String>
+      </DynamicEnumProperty.DisplayName>
+      <DynamicEnumProperty.Description>
+        <sys:String>Specifies the targets for the build customization to run after.</sys:String>
+      </DynamicEnumProperty.Description>
+      <DynamicEnumProperty.ProviderSettings>
+        <NameValuePair Name="Exclude" Value="^NASMAfterTargets|^Compute"/>
+      </DynamicEnumProperty.ProviderSettings>
+      <DynamicEnumProperty.DataSource>
+        <DataSource Persistence="ProjectFile" ItemType="" HasConfigurationCondition="true"/>
+      </DynamicEnumProperty.DataSource>
+    </DynamicEnumProperty>
+    <StringProperty Name="ExecutionDescription" DisplayName="Execution Description" IncludeInCommandLine="False" Visible="False"/>
+    <StringListProperty Name="AdditionalDependencies" DisplayName="Additional Dependencies" IncludeInCommandLine="False" Visible="False"/>
+    <StringProperty Subtype="AdditionalOptions" Name="AdditionalOptions" Category="Command Line">
+      <StringProperty.DisplayName>
+        <sys:String>Additional Options</sys:String>
+      </StringProperty.DisplayName>
+      <StringProperty.Description>
+        <sys:String>Additional Options</sys:String>
+      </StringProperty.Description>
+    </StringProperty>
+  </Rule>
+  <ItemType Name="NASM" DisplayName="Netwide Assembler"/>
+  <FileExtension Name="*.asm" ContentType="NASM"/>
+  <ContentType Name="NASM" DisplayName="Netwide Assembler" ItemType="NASM"/>
+</ProjectSchemaDefinitions>
diff --git a/share/cmake-3.10/Templates/TestDriver.cxx.in b/share/cmake-3.10/Templates/TestDriver.cxx.in
new file mode 100644
index 0000000..bf61be4
--- /dev/null
+++ b/share/cmake-3.10/Templates/TestDriver.cxx.in
@@ -0,0 +1,137 @@
+#include <ctype.h>  /* NOLINT */
+#include <stdio.h>  /* NOLINT */
+#include <stdlib.h> /* NOLINT */
+#include <string.h> /* NOLINT */
+
+#if defined(_MSC_VER)
+#pragma warning(disable : 4996) /* deprecation */
+#endif
+
+@CMAKE_TESTDRIVER_EXTRA_INCLUDES@
+
+/* Forward declare test functions. */
+@CMAKE_FORWARD_DECLARE_TESTS@
+
+#ifdef __cplusplus
+#define CM_CAST(TYPE, EXPR) static_cast<TYPE>(EXPR)
+#else
+#define CM_CAST(TYPE, EXPR) (TYPE)(EXPR)
+#endif
+
+/* Create map.  */
+
+typedef int (*MainFuncPointer)(int, char* []);
+typedef struct
+{
+  const char* name;
+  MainFuncPointer func;
+} functionMapEntry;
+
+static functionMapEntry cmakeGeneratedFunctionMapEntries[] = {
+  @CMAKE_FUNCTION_TABLE_ENTIRES@
+  { NULL, NULL } /* NOLINT */
+};
+
+static const int NumTests = CM_CAST(int,
+  sizeof(cmakeGeneratedFunctionMapEntries) / sizeof(functionMapEntry)) - 1;
+
+/* Allocate and create a lowercased copy of string
+   (note that it has to be free'd manually) */
+static char* lowercase(const char* string)
+{
+  char *new_string, *p;
+  size_t stringSize;
+
+  stringSize = CM_CAST(size_t, strlen(string) + 1);
+  new_string = CM_CAST(char*, malloc(sizeof(char) * stringSize));
+
+  if (new_string == NULL) { /* NOLINT */
+    return NULL;            /* NOLINT */
+  }
+  strncpy(new_string, string, stringSize);
+  for (p = new_string; *p != 0; ++p) {
+    *p = CM_CAST(char, tolower(*p));
+  }
+  return new_string;
+}
+
+int main(int ac, char* av[])
+{
+  int i, testNum = 0, partial_match;
+  char *arg, *test_name;
+  int testToRun = -1;
+
+  @CMAKE_TESTDRIVER_ARGVC_FUNCTION@
+
+  /* If no test name was given */
+  /* process command line with user function.  */
+  if (ac < 2) {
+    /* Ask for a test.  */
+    printf("Available tests:\n");
+    for (i = 0; i < NumTests; ++i) {
+      printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name);
+    }
+    printf("To run a test, enter the test number: ");
+    fflush(stdout);
+    if (scanf("%d", &testNum) != 1) {
+      printf("Couldn't parse that input as a number\n");
+      return -1;
+    }
+    if (testNum >= NumTests) {
+      printf("%3d is an invalid test number.\n", testNum);
+      return -1;
+    }
+    testToRun = testNum;
+    ac--;
+    av++;
+  }
+  partial_match = 0;
+  arg = NULL; /* NOLINT */
+  /* If partial match is requested.  */
+  if (testToRun == -1 && ac > 1) {
+    partial_match = (strcmp(av[1], "-R") == 0) ? 1 : 0;
+  }
+  if (partial_match != 0 && ac < 3) {
+    printf("-R needs an additional parameter.\n");
+    return -1;
+  }
+  if (testToRun == -1) {
+    arg = lowercase(av[1 + partial_match]);
+  }
+  for (i = 0; i < NumTests && testToRun == -1; ++i) {
+    test_name = lowercase(cmakeGeneratedFunctionMapEntries[i].name);
+    if (partial_match != 0 && strstr(test_name, arg) != NULL) { /* NOLINT */
+      testToRun = i;
+      ac -= 2;
+      av += 2;
+    } else if (partial_match == 0 && strcmp(test_name, arg) == 0) {
+      testToRun = i;
+      ac--;
+      av++;
+    }
+    free(test_name);
+  }
+  free(arg);
+  if (testToRun != -1) {
+    int result;
+@CMAKE_TESTDRIVER_BEFORE_TESTMAIN@
+    if (testToRun < 0 || testToRun >= NumTests) {
+      printf("testToRun was modified by TestDriver code to an invalid value: "
+             "%3d.\n",
+             testNum);
+      return -1;
+    }
+    result = (*cmakeGeneratedFunctionMapEntries[testToRun].func)(ac, av);
+@CMAKE_TESTDRIVER_AFTER_TESTMAIN@
+    return result;
+  }
+
+  /* Nothing was run, display the test names.  */
+  printf("Available tests:\n");
+  for (i = 0; i < NumTests; ++i) {
+    printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name);
+  }
+  printf("Failed: %s is an invalid test name.\n", av[1]);
+
+  return -1;
+}
diff --git a/share/cmake-3.6/Templates/Windows/ApplicationIcon.png b/share/cmake-3.10/Templates/Windows/ApplicationIcon.png
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/ApplicationIcon.png
rename to share/cmake-3.10/Templates/Windows/ApplicationIcon.png
Binary files differ
diff --git a/share/cmake-3.6/Templates/Windows/Logo.png b/share/cmake-3.10/Templates/Windows/Logo.png
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/Logo.png
rename to share/cmake-3.10/Templates/Windows/Logo.png
Binary files differ
diff --git a/share/cmake-3.6/Templates/Windows/SmallLogo.png b/share/cmake-3.10/Templates/Windows/SmallLogo.png
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/SmallLogo.png
rename to share/cmake-3.10/Templates/Windows/SmallLogo.png
Binary files differ
diff --git a/share/cmake-3.6/Templates/Windows/SmallLogo44x44.png b/share/cmake-3.10/Templates/Windows/SmallLogo44x44.png
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/SmallLogo44x44.png
rename to share/cmake-3.10/Templates/Windows/SmallLogo44x44.png
Binary files differ
diff --git a/share/cmake-3.6/Templates/Windows/SplashScreen.png b/share/cmake-3.10/Templates/Windows/SplashScreen.png
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/SplashScreen.png
rename to share/cmake-3.10/Templates/Windows/SplashScreen.png
Binary files differ
diff --git a/share/cmake-3.6/Templates/Windows/StoreLogo.png b/share/cmake-3.10/Templates/Windows/StoreLogo.png
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/StoreLogo.png
rename to share/cmake-3.10/Templates/Windows/StoreLogo.png
Binary files differ
diff --git a/share/cmake-3.6/Templates/Windows/Windows_TemporaryKey.pfx b/share/cmake-3.10/Templates/Windows/Windows_TemporaryKey.pfx
similarity index 100%
rename from share/cmake-3.6/Templates/Windows/Windows_TemporaryKey.pfx
rename to share/cmake-3.10/Templates/Windows/Windows_TemporaryKey.pfx
Binary files differ
diff --git a/share/cmake-3.10/completions/cmake b/share/cmake-3.10/completions/cmake
new file mode 100644
index 0000000..0a862fa
--- /dev/null
+++ b/share/cmake-3.10/completions/cmake
@@ -0,0 +1,163 @@
+# bash completion for cmake(1)                             -*- shell-script -*-
+
+_cmake()
+{
+    local cur prev words cword split=false
+    if type -t _init_completion >/dev/null; then
+        _init_completion -n = || return
+    else
+        # manual initialization for older bash completion versions
+        COMPREPLY=()
+        cur="${COMP_WORDS[COMP_CWORD]}"
+        prev="${COMP_WORDS[COMP_CWORD-1]}"
+    fi
+
+    # Workaround for options like -DCMAKE_BUILD_TYPE=Release
+    local prefix=
+    if [[ $cur == -D* ]]; then
+        prev=-D
+        prefix=-D
+        cur="${cur#-D}"
+    elif [[ $cur == -U* ]]; then
+        prev=-U
+        prefix=-U
+        cur="${cur#-U}"
+    fi
+
+    case "$prev" in
+        -D)
+            if [[ $cur == *=* ]]; then
+            # complete values for variables
+                local var type value
+                var="${cur%%[:=]*}"
+                value="${cur#*=}"
+
+                if [[ $cur == CMAKE_BUILD_TYPE* ]]; then # most widely used case
+                    COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
+                        MinSizeRel' -- "$value" ) )
+                    return
+                fi
+
+                if [[ $cur == *:* ]]; then
+                    type="${cur#*:}"
+                    type="${type%%=*}"
+                else # get type from cache if it's not set explicitly
+                    type=$( cmake -LA -N 2>/dev/null | grep "$var:" \
+                        2>/dev/null )
+                    type="${type#*:}"
+                    type="${type%%=*}"
+                fi
+                case "$type" in
+                    FILEPATH)
+                        cur="$value"
+                        _filedir
+                        return
+                        ;;
+                    PATH)
+                        cur="$value"
+                        _filedir -d
+                        return
+                        ;;
+                    BOOL)
+                        COMPREPLY=( $( compgen -W 'ON OFF TRUE FALSE' -- \
+                            "$value" ) )
+                        return
+                        ;;
+                    STRING|INTERNAL)
+                        # no completion available
+                        return
+                        ;;
+                esac
+            elif [[ $cur == *:* ]]; then
+            # complete types
+                local type="${cur#*:}"
+                COMPREPLY=( $( compgen -W 'FILEPATH PATH STRING BOOL INTERNAL'\
+                    -S = -- "$type" ) )
+                compopt -o nospace
+            else
+            # complete variable names
+                COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 |
+                    cut -f1 -d: )' -P "$prefix" -- "$cur" ) )
+                compopt -o nospace
+            fi
+            return
+            ;;
+        -U)
+            COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 |
+                cut -f1 -d: )' -P "$prefix" -- "$cur" ) )
+            return
+            ;;
+    esac
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -C|-P|--graphviz|--system-information)
+            _filedir
+            return
+            ;;
+        --build)
+            _filedir -d
+            return
+            ;;
+        -E)
+            COMPREPLY=( $( compgen -W "$( cmake -E help |& sed -n \
+                '/^  [^ ]/{s|^  \([^ ]\{1,\}\) .*$|\1|;p}' 2>/dev/null )" \
+                -- "$cur" ) )
+            return
+            ;;
+        -G)
+            local IFS=$'\n'
+            local quoted
+            printf -v quoted %q "$cur"
+            COMPREPLY=( $( compgen -W '$( cmake --help 2>/dev/null | sed -n \
+                -e "1,/^Generators/d" \
+                -e "/^  *[^ =]/{s|^ *\([^=]*[^ =]\).*$|\1|;s| |\\\\ |g;p}" \
+                2>/dev/null )' -- "$quoted" ) )
+            return
+            ;;
+        --help-command)
+            COMPREPLY=( $( compgen -W '$( cmake --help-command-list 2>/dev/null|
+                grep -v "^cmake version " )' -- "$cur" ) )
+            return
+            ;;
+        --help-manual)
+            COMPREPLY=( $( compgen -W '$( cmake --help-manual-list 2>/dev/null|
+                grep -v "^cmake version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
+            return
+            ;;
+        --help-module)
+            COMPREPLY=( $( compgen -W '$( cmake --help-module-list 2>/dev/null|
+                grep -v "^cmake version " )' -- "$cur" ) )
+            return
+            ;;
+         --help-policy)
+            COMPREPLY=( $( compgen -W '$( cmake --help-policy-list 2>/dev/null |
+                grep -v "^cmake version " )' -- "$cur" ) )
+            return
+            ;;
+         --help-property)
+            COMPREPLY=( $( compgen -W '$( cmake --help-property-list \
+                2>/dev/null | grep -v "^cmake version " )' -- "$cur" ) )
+            return
+            ;;
+         --help-variable)
+            COMPREPLY=( $( compgen -W '$( cmake --help-variable-list \
+                2>/dev/null | grep -v "^cmake version " )' -- "$cur" ) )
+            return
+            ;;
+    esac
+
+    $split && return
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
+        [[ $COMPREPLY == *= ]] && compopt -o nospace
+        [[ $COMPREPLY ]] && return
+    fi
+
+    _filedir
+} &&
+complete -F _cmake cmake
+
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/share/cmake-3.6/completions/cpack b/share/cmake-3.10/completions/cpack
similarity index 100%
rename from share/cmake-3.6/completions/cpack
rename to share/cmake-3.10/completions/cpack
diff --git a/share/cmake-3.6/completions/ctest b/share/cmake-3.10/completions/ctest
similarity index 100%
rename from share/cmake-3.6/completions/ctest
rename to share/cmake-3.10/completions/ctest
diff --git a/share/cmake-3.10/editors/emacs/cmake-mode.el b/share/cmake-3.10/editors/emacs/cmake-mode.el
new file mode 100644
index 0000000..a1b43c5
--- /dev/null
+++ b/share/cmake-3.10/editors/emacs/cmake-mode.el
@@ -0,0 +1,393 @@
+;;; cmake-mode.el --- major-mode for editing CMake sources
+
+; Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+; file Copyright.txt or https://cmake.org/licensing for details.
+
+;------------------------------------------------------------------------------
+
+;;; Commentary:
+
+;; Provides syntax highlighting and indentation for CMakeLists.txt and
+;; *.cmake source files.
+;;
+;; Add this code to your .emacs file to use the mode:
+;;
+;;  (setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path))
+;;  (require 'cmake-mode)
+
+;------------------------------------------------------------------------------
+
+;;; Code:
+;;
+;; cmake executable variable used to run cmake --help-command
+;; on commands in cmake-mode
+;;
+;; cmake-command-help Written by James Bigler
+;;
+
+(defcustom cmake-mode-cmake-executable "cmake"
+  "*The name of the cmake executable.
+
+This can be either absolute or looked up in $PATH.  You can also
+set the path with these commands:
+ (setenv \"PATH\" (concat (getenv \"PATH\") \";C:\\\\Program Files\\\\CMake 2.8\\\\bin\"))
+ (setenv \"PATH\" (concat (getenv \"PATH\") \":/usr/local/cmake/bin\"))"
+  :type 'file
+  :group 'cmake)
+
+;; Keywords
+(defconst cmake-keywords-block-open '("IF" "MACRO" "FOREACH" "ELSE" "ELSEIF" "WHILE" "FUNCTION"))
+(defconst cmake-keywords-block-close '("ENDIF" "ENDFOREACH" "ENDMACRO" "ELSE" "ELSEIF" "ENDWHILE" "ENDFUNCTION"))
+(defconst cmake-keywords
+  (let ((kwds (append cmake-keywords-block-open cmake-keywords-block-close nil)))
+    (delete-dups kwds)))
+
+;; Regular expressions used by line indentation function.
+;;
+(defconst cmake-regex-blank "^[ \t]*$")
+(defconst cmake-regex-comment "#.*")
+(defconst cmake-regex-paren-left "(")
+(defconst cmake-regex-paren-right ")")
+(defconst cmake-regex-argument-quoted
+  (rx ?\" (* (or (not (any ?\" ?\\)) (and ?\\ anything))) ?\"))
+(defconst cmake-regex-argument-unquoted
+  (rx (or (not (any space "()#\"\\\n")) (and ?\\ nonl))
+      (* (or (not (any space "()#\\\n")) (and ?\\ nonl)))))
+(defconst cmake-regex-token
+  (rx-to-string `(group (or (regexp ,cmake-regex-comment)
+                            ?( ?)
+                            (regexp ,cmake-regex-argument-unquoted)
+                            (regexp ,cmake-regex-argument-quoted)))))
+(defconst cmake-regex-indented
+  (rx-to-string `(and bol (* (group (or (regexp ,cmake-regex-token) (any space ?\n)))))))
+(defconst cmake-regex-block-open
+  (rx-to-string `(and symbol-start (or ,@(append cmake-keywords-block-open
+                                        (mapcar 'downcase cmake-keywords-block-open))) symbol-end)))
+(defconst cmake-regex-block-close
+  (rx-to-string `(and symbol-start (or ,@(append cmake-keywords-block-close
+                                        (mapcar 'downcase cmake-keywords-block-close))) symbol-end)))
+(defconst cmake-regex-close
+  (rx-to-string `(and bol (* space) (regexp ,cmake-regex-block-close)
+                      (* space) (regexp ,cmake-regex-paren-left))))
+
+;------------------------------------------------------------------------------
+
+;; Line indentation helper functions
+
+(defun cmake-line-starts-inside-string ()
+  "Determine whether the beginning of the current line is in a string."
+  (save-excursion
+    (beginning-of-line)
+    (let ((parse-end (point)))
+      (goto-char (point-min))
+      (nth 3 (parse-partial-sexp (point) parse-end))
+      )
+    )
+  )
+
+(defun cmake-find-last-indented-line ()
+  "Move to the beginning of the last line that has meaningful indentation."
+  (let ((point-start (point))
+        region)
+    (forward-line -1)
+    (setq region (buffer-substring-no-properties (point) point-start))
+    (while (and (not (bobp))
+                (or (looking-at cmake-regex-blank)
+                    (cmake-line-starts-inside-string)
+                    (not (and (string-match cmake-regex-indented region)
+                              (= (length region) (match-end 0))))))
+      (forward-line -1)
+      (setq region (buffer-substring-no-properties (point) point-start))
+      )
+    )
+  )
+
+;------------------------------------------------------------------------------
+
+;;
+;; Indentation increment.
+;;
+(defcustom cmake-tab-width 2
+  "Number of columns to indent cmake blocks"
+  :type 'integer
+  :group 'cmake)
+
+;;
+;; Line indentation function.
+;;
+(defun cmake-indent ()
+  "Indent current line as CMake code."
+  (interactive)
+  (unless (cmake-line-starts-inside-string)
+    (if (bobp)
+        (cmake-indent-line-to 0)
+      (let (cur-indent)
+        (save-excursion
+          (beginning-of-line)
+          (let ((point-start (point))
+                (case-fold-search t)  ;; case-insensitive
+                token)
+            ; Search back for the last indented line.
+            (cmake-find-last-indented-line)
+            ; Start with the indentation on this line.
+            (setq cur-indent (current-indentation))
+            ; Search forward counting tokens that adjust indentation.
+            (while (re-search-forward cmake-regex-token point-start t)
+              (setq token (match-string 0))
+              (when (or (string-match (concat "^" cmake-regex-paren-left "$") token)
+                        (and (string-match cmake-regex-block-open token)
+                             (looking-at (concat "[ \t]*" cmake-regex-paren-left))))
+                (setq cur-indent (+ cur-indent cmake-tab-width)))
+              (when (string-match (concat "^" cmake-regex-paren-right "$") token)
+                (setq cur-indent (- cur-indent cmake-tab-width)))
+              )
+            (goto-char point-start)
+            ;; If next token closes the block, decrease indentation
+            (when (looking-at cmake-regex-close)
+              (setq cur-indent (- cur-indent cmake-tab-width))
+              )
+            )
+          )
+        ; Indent this line by the amount selected.
+        (cmake-indent-line-to (max cur-indent 0))
+        )
+      )
+    )
+  )
+
+(defun cmake-point-in-indendation ()
+  (string-match "^[ \\t]*$" (buffer-substring (point-at-bol) (point))))
+
+(defun cmake-indent-line-to (column)
+  "Indent the current line to COLUMN.
+If point is within the existing indentation it is moved to the end of
+the indentation.  Otherwise it retains the same position on the line"
+  (if (cmake-point-in-indendation)
+      (indent-line-to column)
+    (save-excursion (indent-line-to column))))
+
+;------------------------------------------------------------------------------
+
+;;
+;; Helper functions for buffer
+;;
+(defun cmake-unscreamify-buffer ()
+  "Convert all CMake commands to lowercase in buffer."
+  (interactive)
+  (save-excursion
+    (goto-char (point-min))
+    (while (re-search-forward "^\\([ \t]*\\)\\_<\\(\\(?:\\w\\|\\s_\\)+\\)\\_>\\([ \t]*(\\)" nil t)
+      (replace-match
+       (concat
+        (match-string 1)
+        (downcase (match-string 2))
+        (match-string 3))
+       t))
+    )
+  )
+
+;------------------------------------------------------------------------------
+
+;;
+;; Keyword highlighting regex-to-face map.
+;;
+(defconst cmake-font-lock-keywords
+  `((,(rx-to-string `(and symbol-start
+                          (or ,@cmake-keywords
+                              ,@(mapcar #'downcase cmake-keywords))
+                          symbol-end))
+     . font-lock-keyword-face)
+    (,(rx symbol-start (group (+ (or word (syntax symbol)))) (* blank) ?\()
+     1 font-lock-function-name-face)
+    (,(rx "${" (group (+(any alnum "-_+/."))) "}")
+     1 font-lock-variable-name-face t)
+    )
+  "Highlighting expressions for CMake mode.")
+
+;------------------------------------------------------------------------------
+
+;; Syntax table for this mode.
+(defvar cmake-mode-syntax-table nil
+  "Syntax table for CMake mode.")
+(or cmake-mode-syntax-table
+    (setq cmake-mode-syntax-table
+          (let ((table (make-syntax-table)))
+            (modify-syntax-entry ?\(  "()" table)
+            (modify-syntax-entry ?\)  ")(" table)
+            (modify-syntax-entry ?# "<" table)
+            (modify-syntax-entry ?\n ">" table)
+            (modify-syntax-entry ?$ "'" table)
+            table)))
+
+;;
+;; User hook entry point.
+;;
+(defvar cmake-mode-hook nil)
+
+;------------------------------------------------------------------------------
+
+;; For compatibility with Emacs < 24
+(defalias 'cmake--parent-mode
+  (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
+
+;;------------------------------------------------------------------------------
+;; Mode definition.
+;;
+;;;###autoload
+(define-derived-mode cmake-mode cmake--parent-mode "CMake"
+  "Major mode for editing CMake source files."
+
+  ; Setup font-lock mode.
+  (set (make-local-variable 'font-lock-defaults) '(cmake-font-lock-keywords))
+  ; Setup indentation function.
+  (set (make-local-variable 'indent-line-function) 'cmake-indent)
+  ; Setup comment syntax.
+  (set (make-local-variable 'comment-start) "#"))
+
+; Help mode starts here
+
+
+;;;###autoload
+(defun cmake-command-run (type &optional topic buffer)
+  "Runs the command cmake with the arguments specified.  The
+optional argument topic will be appended to the argument list."
+  (interactive "s")
+  (let* ((bufname (if buffer buffer (concat "*CMake" type (if topic "-") topic "*")))
+         (buffer  (if (get-buffer bufname) (get-buffer bufname) (generate-new-buffer bufname)))
+         (command (concat cmake-mode-cmake-executable " " type " " topic))
+         ;; Turn of resizing of mini-windows for shell-command.
+         (resize-mini-windows nil)
+         )
+    (shell-command command buffer)
+    (save-selected-window
+      (select-window (display-buffer buffer 'not-this-window))
+      (cmake-mode)
+      (read-only-mode 1))
+    )
+  )
+
+;;;###autoload
+(defun cmake-help-list-commands ()
+  "Prints out a list of the cmake commands."
+  (interactive)
+  (cmake-command-run "--help-command-list")
+  )
+
+(defvar cmake-commands '() "List of available topics for --help-command.")
+(defvar cmake-help-command-history nil "Command read history.")
+(defvar cmake-modules '() "List of available topics for --help-module.")
+(defvar cmake-help-module-history nil "Module read history.")
+(defvar cmake-variables '() "List of available topics for --help-variable.")
+(defvar cmake-help-variable-history nil "Variable read history.")
+(defvar cmake-properties '() "List of available topics for --help-property.")
+(defvar cmake-help-property-history nil "Property read history.")
+(defvar cmake-help-complete-history nil "Complete help read history.")
+(defvar cmake-string-to-list-symbol
+  '(("command" cmake-commands cmake-help-command-history)
+    ("module" cmake-modules cmake-help-module-history)
+    ("variable"  cmake-variables cmake-help-variable-history)
+    ("property" cmake-properties cmake-help-property-history)
+    ))
+
+(defun cmake-get-list (listname)
+  "If the value of LISTVAR is nil, run cmake --help-LISTNAME-list
+and store the result as a list in LISTVAR."
+  (let ((listvar (car (cdr (assoc listname cmake-string-to-list-symbol)))))
+    (if (not (symbol-value listvar))
+        (let ((temp-buffer-name "*CMake Temporary*"))
+          (save-window-excursion
+            (cmake-command-run (concat "--help-" listname "-list") nil temp-buffer-name)
+            (with-current-buffer temp-buffer-name
+              ; FIXME: Ignore first line if it is "cmake version ..." from CMake < 3.0.
+              (set listvar (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n" t)))))
+      (symbol-value listvar)
+      ))
+  )
+
+(require 'thingatpt)
+(defun cmake-symbol-at-point ()
+  (let ((symbol (symbol-at-point)))
+    (and (not (null symbol))
+         (symbol-name symbol))))
+
+(defun cmake-help-type (type)
+  (let* ((default-entry (cmake-symbol-at-point))
+         (history (car (cdr (cdr (assoc type cmake-string-to-list-symbol)))))
+         (input (completing-read
+                 (format "CMake %s: " type) ; prompt
+                 (cmake-get-list type) ; completions
+                 nil ; predicate
+                 t   ; require-match
+                 default-entry ; initial-input
+                 history
+                 )))
+    (if (string= input "")
+        (error "No argument given")
+      input))
+  )
+
+;;;###autoload
+(defun cmake-help-command ()
+  "Prints out the help message for the command the cursor is on."
+  (interactive)
+  (cmake-command-run "--help-command" (cmake-help-type "command") "*CMake Help*"))
+
+;;;###autoload
+(defun cmake-help-module ()
+  "Prints out the help message for the module the cursor is on."
+  (interactive)
+  (cmake-command-run "--help-module" (cmake-help-type "module") "*CMake Help*"))
+
+;;;###autoload
+(defun cmake-help-variable ()
+  "Prints out the help message for the variable the cursor is on."
+  (interactive)
+  (cmake-command-run "--help-variable" (cmake-help-type "variable") "*CMake Help*"))
+
+;;;###autoload
+(defun cmake-help-property ()
+  "Prints out the help message for the property the cursor is on."
+  (interactive)
+  (cmake-command-run "--help-property" (cmake-help-type "property") "*CMake Help*"))
+
+;;;###autoload
+(defun cmake-help ()
+  "Queries for any of the four available help topics and prints out the approriate page."
+  (interactive)
+  (let* ((default-entry (cmake-symbol-at-point))
+         (command-list (cmake-get-list "command"))
+         (variable-list (cmake-get-list "variable"))
+         (module-list (cmake-get-list "module"))
+         (property-list (cmake-get-list "property"))
+         (all-words (append command-list variable-list module-list property-list))
+         (input (completing-read
+                 "CMake command/module/variable/property: " ; prompt
+                 all-words ; completions
+                 nil ; predicate
+                 t   ; require-match
+                 default-entry ; initial-input
+                 'cmake-help-complete-history
+                 )))
+    (if (string= input "")
+        (error "No argument given")
+      (if (member input command-list)
+          (cmake-command-run "--help-command" input "*CMake Help*")
+        (if (member input variable-list)
+            (cmake-command-run "--help-variable" input "*CMake Help*")
+          (if (member input module-list)
+              (cmake-command-run "--help-module" input "*CMake Help*")
+            (if (member input property-list)
+                (cmake-command-run "--help-property" input "*CMake Help*")
+              (error "Not a know help topic.") ; this really should not happen
+              ))))))
+  )
+
+;;;###autoload
+(progn
+  (add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode))
+  (add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode)))
+
+; This file provides cmake-mode.
+(provide 'cmake-mode)
+
+;;; cmake-mode.el ends here
diff --git a/share/cmake-3.10/editors/vim/indent/cmake.vim b/share/cmake-3.10/editors/vim/indent/cmake.vim
new file mode 100644
index 0000000..76aff64
--- /dev/null
+++ b/share/cmake-3.10/editors/vim/indent/cmake.vim
@@ -0,0 +1,83 @@
+" Vim indent file
+" Language:     CMake (ft=cmake)
+" Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
+" Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
+" Last Change:  $Date$
+" Version:      $Revision$
+"
+" Licence:      The CMake license applies to this file. See
+"               https://cmake.org/licensing
+"               This implies that distribution with Vim is allowed
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=CMakeGetIndent(v:lnum)
+setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
+
+" Only define the function once.
+if exists("*CMakeGetIndent")
+  finish
+endif
+
+fun! CMakeGetIndent(lnum)
+  let this_line = getline(a:lnum)
+
+  " Find a non-blank line above the current line.
+  let lnum = a:lnum
+  let lnum = prevnonblank(lnum - 1)
+  let previous_line = getline(lnum)
+
+  " Hit the start of the file, use zero indent.
+  if lnum == 0
+    return 0
+  endif
+
+  let ind = indent(lnum)
+
+  let or = '\|'
+  " Regular expressions used by line indentation function.
+  let cmake_regex_comment = '#.*'
+  let cmake_regex_identifier = '[A-Za-z][A-Za-z0-9_]*'
+  let cmake_regex_quoted = '"\([^"\\]\|\\.\)*"'
+  let cmake_regex_arguments = '\(' . cmake_regex_quoted .
+                    \       or . '\$(' . cmake_regex_identifier . ')' .
+                    \       or . '[^()\\#"]' . or . '\\.' . '\)*'
+
+  let cmake_indent_comment_line = '^\s*' . cmake_regex_comment
+  let cmake_indent_blank_regex = '^\s*$'
+  let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier .
+                    \           '\s*(' . cmake_regex_arguments .
+                    \           '\(' . cmake_regex_comment . '\)\?$'
+
+  let cmake_indent_close_regex = '^' . cmake_regex_arguments .
+                    \            ')\s*' .
+                    \            '\(' . cmake_regex_comment . '\)\?$'
+
+  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*('
+  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*('
+
+  " Add
+  if previous_line =~? cmake_indent_comment_line " Handle comments
+    let ind = ind
+  else
+    if previous_line =~? cmake_indent_begin_regex
+      let ind = ind + &sw
+    endif
+    if previous_line =~? cmake_indent_open_regex
+      let ind = ind + &sw
+    endif
+  endif
+
+  " Subtract
+  if this_line =~? cmake_indent_end_regex
+    let ind = ind - &sw
+  endif
+  if previous_line =~? cmake_indent_close_regex
+    let ind = ind - &sw
+  endif
+
+  return ind
+endfun
diff --git a/share/cmake-3.10/editors/vim/syntax/cmake.vim b/share/cmake-3.10/editors/vim/syntax/cmake.vim
new file mode 100644
index 0000000..5f9af05
--- /dev/null
+++ b/share/cmake-3.10/editors/vim/syntax/cmake.vim
@@ -0,0 +1,477 @@
+" vim: set nowrap:
+" Vim syntax file
+" Program:      CMake - Cross-Platform Makefile Generator
+" Version:      cmake version 3.9.20170830-ge0713
+" Language:     CMake
+" Author:       Andy Cedilnik <andy.cedilnik@kitware.com>,
+"               Nicholas Hutchinson <nshutchinson@gmail.com>,
+"               Patrick Boettcher <patrick.boettcher@posteo.de>
+" Maintainer:   Dimitri Merejkowsky <d.merej@gmail.com>
+" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
+"
+" Licence:      The CMake license applies to this file. See
+"               https://cmake.org/licensing
+"               This implies that distribution with Vim is allowed
+
+if exists("b:current_syntax")
+  finish
+endif
+let s:keepcpo= &cpo
+set cpo&vim
+
+syn region cmakeComment start="#" end="$" contains=cmakeTodo,cmakeLuaComment,@Spell
+syn region cmakeLuaComment start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
+
+syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
+syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped
+
+syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo
+
+syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped
+
+syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo
+
+syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo
+
+syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeArguments,cmakeTodo
+
+syn case match
+
+syn keyword cmakeProperty contained
+            \ ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ADVANCED ALIASED_TARGET ALLOW_DUPLICATE_CUSTOM_TARGETS ANDROID_ANT_ADDITIONAL_OPTIONS ANDROID_API ANDROID_API_MIN ANDROID_ARCH ANDROID_ASSETS_DIRECTORIES ANDROID_GUI ANDROID_JAR_DEPENDENCIES ANDROID_JAR_DIRECTORIES ANDROID_JAVA_SOURCE_DIR ANDROID_NATIVE_LIB_DEPENDENCIES ANDROID_NATIVE_LIB_DIRECTORIES ANDROID_PROCESS_MAX ANDROID_PROGUARD ANDROID_PROGUARD_CONFIG_PATH ANDROID_SECURE_PROPS_PATH ANDROID_SKIP_ANT_STEP ANDROID_STL_TYPE ARCHIVE_OUTPUT_DIRECTORY ARCHIVE_OUTPUT_NAME ATTACHED_FILES ATTACHED_FILES_ON_FAIL AUTOGEN_BUILD_DIR AUTOGEN_SOURCE_GROUP AUTOGEN_TARGETS_FOLDER AUTOGEN_TARGET_DEPENDS AUTOMOC AUTOMOC_DEPEND_FILTERS AUTOMOC_MACRO_NAMES AUTOMOC_MOC_OPTIONS AUTOMOC_SOURCE_GROUP AUTOMOC_TARGETS_FOLDER AUTORCC AUTORCC_OPTIONS AUTORCC_SOURCE_GROUP AUTOUIC AUTOUIC_OPTIONS AUTOUIC_SEARCH_PATHS BINARY_DIR BUILDSYSTEM_TARGETS BUILD_RPATH BUILD_WITH_INSTALL_NAME_DIR BUILD_WITH_INSTALL_RPATH BUNDLE BUNDLE_EXTENSION CACHE_VARIABLES CLEAN_NO_CUSTOM CMAKE_CONFIGURE_DEPENDS CMAKE_CXX_KNOWN_FEATURES CMAKE_C_KNOWN_FEATURES COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_NUMBER_MAX COMPATIBLE_INTERFACE_NUMBER_MIN COMPATIBLE_INTERFACE_STRING COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_FLAGS COMPILE_OPTIONS COMPILE_PDB_NAME COMPILE_PDB_OUTPUT_DIRECTORY COST CPACK_DESKTOP_SHORTCUTS CPACK_NEVER_OVERWRITE CPACK_PERMANENT CPACK_STARTUP_SHORTCUTS CPACK_START_MENU_SHORTCUTS CPACK_WIX_ACL CROSSCOMPILING_EMULATOR CUDA_EXTENSIONS CUDA_PTX_COMPILATION CUDA_RESOLVE_DEVICE_SYMBOLS CUDA_SEPARABLE_COMPILATION CUDA_STANDARD CUDA_STANDARD_REQUIRED CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEBUG_CONFIGURATIONS DEBUG_POSTFIX DEFINE_SYMBOL DEFINITIONS DEPENDS DEPLOYMENT_REMOTE_DIRECTORY DISABLED DISABLED_FEATURES ECLIPSE_EXTRA_NATURES ENABLED_FEATURES ENABLED_LANGUAGES ENABLE_EXPORTS ENVIRONMENT EXCLUDE_FROM_ALL EXCLUDE_FROM_DEFAULT_BUILD EXPORT_NAME EXTERNAL_OBJECT EchoString FAIL_REGULAR_EXPRESSION FIND_LIBRARY_USE_LIB32_PATHS FIND_LIBRARY_USE_LIB64_PATHS FIND_LIBRARY_USE_LIBX32_PATHS FIND_LIBRARY_USE_OPENBSD_VERSIONING FIXTURES_CLEANUP FIXTURES_REQUIRED FIXTURES_SETUP FOLDER FRAMEWORK FRAMEWORK_VERSION Fortran_FORMAT Fortran_MODULE_DIRECTORY GENERATED GENERATOR_FILE_NAME GENERATOR_IS_MULTI_CONFIG GLOBAL_DEPENDS_DEBUG_MODE GLOBAL_DEPENDS_NO_CYCLES GNUtoMS HAS_CXX HEADER_FILE_ONLY HELPSTRING IMPLICIT_DEPENDS_INCLUDE_TRANSFORM IMPORTED IMPORTED_CONFIGURATIONS IMPORTED_IMPLIB IMPORTED_LIBNAME IMPORTED_LINK_DEPENDENT_LIBRARIES IMPORTED_LINK_INTERFACE_LANGUAGES IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_INTERFACE_MULTIPLICITY IMPORTED_LOCATION IMPORTED_NO_SONAME IMPORTED_OBJECTS IMPORTED_SONAME IMPORT_PREFIX IMPORT_SUFFIX INCLUDE_DIRECTORIES INCLUDE_REGULAR_EXPRESSION INSTALL_NAME_DIR INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH INTERFACE_AUTOUIC_OPTIONS INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_FEATURES INTERFACE_COMPILE_OPTIONS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_POSITION_INDEPENDENT_CODE INTERFACE_SOURCES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES INTERPROCEDURAL_OPTIMIZATION IN_TRY_COMPILE IOS_INSTALL_COMBINED JOB_POOLS JOB_POOL_COMPILE JOB_POOL_LINK KEEP_EXTENSION LABELS LANGUAGE LIBRARY_OUTPUT_DIRECTORY LIBRARY_OUTPUT_NAME LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED LINK_DIRECTORIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_MULTIPLICITY LINK_LIBRARIES LINK_SEARCH_END_STATIC LINK_SEARCH_START_STATIC LINK_WHAT_YOU_USE LISTFILE_STACK LOCATION MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_PACKAGE_LOCATION MACOSX_RPATH MACROS MANUALLY_ADDED_DEPENDENCIES MEASUREMENT MODIFIED NAME NO_SONAME NO_SYSTEM_FROM_IMPORTED OBJECT_DEPENDS OBJECT_OUTPUTS OSX_ARCHITECTURES OUTPUT_NAME PACKAGES_FOUND PACKAGES_NOT_FOUND PARENT_DIRECTORY PASS_REGULAR_EXPRESSION PDB_NAME PDB_OUTPUT_DIRECTORY POSITION_INDEPENDENT_CODE POST_INSTALL_SCRIPT PREDEFINED_TARGETS_FOLDER PREFIX PRE_INSTALL_SCRIPT PRIVATE_HEADER PROCESSORS PROJECT_LABEL PUBLIC_HEADER REPORT_UNDEFINED_PROPERTIES REQUIRED_FILES RESOURCE RESOURCE_LOCK RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK RULE_MESSAGES RUNTIME_OUTPUT_DIRECTORY RUNTIME_OUTPUT_NAME RUN_SERIAL SKIP_AUTOGEN SKIP_AUTOMOC SKIP_AUTORCC SKIP_AUTOUIC SKIP_BUILD_RPATH SKIP_RETURN_CODE SOURCES SOURCE_DIR SOVERSION STATIC_LIBRARY_FLAGS STRINGS SUBDIRECTORIES SUFFIX SYMBOLIC TARGET_ARCHIVES_MAY_BE_SHARED_LIBS TARGET_MESSAGES TARGET_SUPPORTS_SHARED_LIBS TEST_INCLUDE_FILE TEST_INCLUDE_FILES TIMEOUT TIMEOUT_AFTER_MATCH TYPE USE_FOLDERS VALUE VARIABLES VERSION VISIBILITY_INLINES_HIDDEN VS_CONFIGURATION_TYPE VS_COPY_TO_OUT_DIR VS_DEBUGGER_WORKING_DIRECTORY VS_DEPLOYMENT_CONTENT VS_DEPLOYMENT_LOCATION VS_DESKTOP_EXTENSIONS_VERSION VS_DOTNET_REFERENCES VS_DOTNET_REFERENCES_COPY_LOCAL VS_DOTNET_TARGET_FRAMEWORK_VERSION VS_GLOBAL_KEYWORD VS_GLOBAL_PROJECT_TYPES VS_GLOBAL_ROOTNAMESPACE VS_INCLUDE_IN_VSIX VS_IOT_EXTENSIONS_VERSION VS_IOT_STARTUP_TASK VS_KEYWORD VS_MOBILE_EXTENSIONS_VERSION VS_RESOURCE_GENERATOR VS_SCC_AUXPATH VS_SCC_LOCALPATH VS_SCC_PROJECTNAME VS_SCC_PROVIDER VS_SDK_REFERENCES VS_SHADER_ENTRYPOINT VS_SHADER_FLAGS VS_SHADER_MODEL VS_SHADER_TYPE VS_SHADER_OUTPUT_HEADER_FILE VS_SHADER_VARIABLE_NAME VS_STARTUP_PROJECT VS_TOOL_OVERRIDE VS_USER_PROPS VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION VS_WINRT_COMPONENT VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES VS_XAML_TYPE WILL_FAIL WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS WORKING_DIRECTORY WRAP_EXCLUDE XCODE_EMIT_EFFECTIVE_PLATFORM_NAME XCODE_EXPLICIT_FILE_TYPE XCODE_FILE_ATTRIBUTES XCODE_LAST_KNOWN_FILE_TYPE XCODE_PRODUCT_TYPE XCTEST
+
+syn keyword cmakeVariable contained
+            \ ANDROID APPLE BORLAND BUILD_SHARED_LIBS CMAKE_ABSOLUTE_DESTINATION_FILES CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS CMAKE_ANDROID_API CMAKE_ANDROID_API_MIN CMAKE_ANDROID_ARCH CMAKE_ANDROID_ARCH_ABI CMAKE_ANDROID_ARM_MODE CMAKE_ANDROID_ARM_NEON CMAKE_ANDROID_ASSETS_DIRECTORIES CMAKE_ANDROID_GUI CMAKE_ANDROID_JAR_DEPENDENCIES CMAKE_ANDROID_JAR_DIRECTORIES CMAKE_ANDROID_JAVA_SOURCE_DIR CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES CMAKE_ANDROID_NDK CMAKE_ANDROID_NDK_DEPRECATED_HEADERS CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION CMAKE_ANDROID_PROCESS_MAX CMAKE_ANDROID_PROGUARD CMAKE_ANDROID_PROGUARD_CONFIG_PATH CMAKE_ANDROID_SECURE_PROPS_PATH CMAKE_ANDROID_SKIP_ANT_STEP CMAKE_ANDROID_STANDALONE_TOOLCHAIN CMAKE_ANDROID_STL_TYPE CMAKE_APPBUNDLE_PATH CMAKE_AR CMAKE_ARCHIVE_OUTPUT_DIRECTORY CMAKE_ARGC CMAKE_ARGV0 CMAKE_AUTOMOC CMAKE_AUTOMOC_DEPEND_FILTERS CMAKE_AUTOMOC_MACRO_NAMES CMAKE_AUTOMOC_MOC_OPTIONS CMAKE_AUTOMOC_RELAXED_MODE CMAKE_AUTORCC CMAKE_AUTORCC_OPTIONS CMAKE_AUTOUIC CMAKE_AUTOUIC_OPTIONS CMAKE_AUTOUIC_SEARCH_PATHS CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BINARY_DIR CMAKE_BUILD_RPATH CMAKE_BUILD_TOOL CMAKE_BUILD_TYPE CMAKE_BUILD_WITH_INSTALL_NAME_DIR CMAKE_BUILD_WITH_INSTALL_RPATH CMAKE_CACHEFILE_DIR CMAKE_CACHE_MAJOR_VERSION CMAKE_CACHE_MINOR_VERSION CMAKE_CACHE_PATCH_VERSION CMAKE_CFG_INTDIR CMAKE_CL_64 CMAKE_CODELITE_USE_TARGETS CMAKE_COLOR_MAKEFILE CMAKE_COMMAND CMAKE_COMPILER_2005 CMAKE_COMPILER_IS_GNUCC CMAKE_COMPILER_IS_GNUCXX CMAKE_COMPILER_IS_GNUG77 CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY CMAKE_CONFIGURATION_TYPES CMAKE_CROSSCOMPILING CMAKE_CROSSCOMPILING_EMULATOR CMAKE_CTEST_COMMAND CMAKE_CUDA_EXTENSIONS CMAKE_CUDA_STANDARD CMAKE_CUDA_STANDARD_REQUIRED CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES CMAKE_CURRENT_BINARY_DIR CMAKE_CURRENT_LIST_DIR CMAKE_CURRENT_LIST_FILE CMAKE_CURRENT_LIST_LINE CMAKE_CURRENT_SOURCE_DIR CMAKE_CXX_COMPILE_FEATURES CMAKE_CXX_EXTENSIONS CMAKE_CXX_STANDARD CMAKE_CXX_STANDARD_REQUIRED CMAKE_C_COMPILE_FEATURES CMAKE_C_EXTENSIONS CMAKE_C_STANDARD CMAKE_C_STANDARD_REQUIRED CMAKE_DEBUG_POSTFIX CMAKE_DEBUG_TARGET_PROPERTIES CMAKE_DEPENDS_IN_PROJECT_ONLY CMAKE_DIRECTORY_LABELS CMAKE_DL_LIBS CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT CMAKE_ECLIPSE_MAKE_ARGUMENTS CMAKE_ECLIPSE_VERSION CMAKE_EDIT_COMMAND CMAKE_ENABLE_EXPORTS CMAKE_ERROR_DEPRECATED CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_EXECUTABLE_SUFFIX CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS_INIT CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_EXTRA_GENERATOR CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES CMAKE_FIND_APPBUNDLE CMAKE_FIND_FRAMEWORK CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX CMAKE_FIND_LIBRARY_PREFIXES CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_NO_INSTALL_PREFIX CMAKE_FIND_PACKAGE_NAME CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_SORT_DIRECTION CMAKE_FIND_PACKAGE_SORT_ORDER CMAKE_FIND_PACKAGE_WARN_NO_MODULE CMAKE_FIND_ROOT_PATH CMAKE_FIND_ROOT_PATH_MODE_INCLUDE CMAKE_FIND_ROOT_PATH_MODE_LIBRARY CMAKE_FIND_ROOT_PATH_MODE_PACKAGE CMAKE_FIND_ROOT_PATH_MODE_PROGRAM CMAKE_FRAMEWORK_PATH CMAKE_Fortran_FORMAT CMAKE_Fortran_MODDIR_DEFAULT CMAKE_Fortran_MODDIR_FLAG CMAKE_Fortran_MODOUT_FLAG CMAKE_Fortran_MODULE_DIRECTORY CMAKE_GENERATOR CMAKE_GENERATOR_PLATFORM CMAKE_GENERATOR_TOOLSET CMAKE_GNUtoMS CMAKE_HOME_DIRECTORY CMAKE_HOST_APPLE CMAKE_HOST_SOLARIS CMAKE_HOST_SYSTEM CMAKE_HOST_SYSTEM_NAME CMAKE_HOST_SYSTEM_PROCESSOR CMAKE_HOST_SYSTEM_VERSION CMAKE_HOST_UNIX CMAKE_HOST_WIN32 CMAKE_IGNORE_PATH CMAKE_IMPORT_LIBRARY_PREFIX CMAKE_IMPORT_LIBRARY_SUFFIX CMAKE_INCLUDE_CURRENT_DIR CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE CMAKE_INCLUDE_DIRECTORIES_BEFORE CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE CMAKE_INCLUDE_PATH CMAKE_INSTALL_DEFAULT_COMPONENT_NAME CMAKE_INSTALL_MESSAGE CMAKE_INSTALL_NAME_DIR CMAKE_INSTALL_PREFIX CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT CMAKE_INSTALL_RPATH CMAKE_INSTALL_RPATH_USE_LINK_PATH CMAKE_INTERNAL_PLATFORM_ABI CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_IOS_INSTALL_COMBINED CMAKE_JOB_POOL_COMPILE CMAKE_JOB_POOL_LINK CMAKE_LIBRARY_ARCHITECTURE CMAKE_LIBRARY_ARCHITECTURE_REGEX CMAKE_LIBRARY_OUTPUT_DIRECTORY CMAKE_LIBRARY_PATH CMAKE_LIBRARY_PATH_FLAG CMAKE_LINK_DEF_FILE_FLAG CMAKE_LINK_DEPENDS_NO_SHARED CMAKE_LINK_INTERFACE_LIBRARIES CMAKE_LINK_LIBRARY_FILE_FLAG CMAKE_LINK_LIBRARY_FLAG CMAKE_LINK_LIBRARY_SUFFIX CMAKE_LINK_SEARCH_END_STATIC CMAKE_LINK_SEARCH_START_STATIC CMAKE_LINK_WHAT_YOU_USE CMAKE_MACOSX_BUNDLE CMAKE_MACOSX_RPATH CMAKE_MAJOR_VERSION CMAKE_MAKE_PROGRAM CMAKE_MATCH_COUNT CMAKE_MFC_FLAG CMAKE_MINIMUM_REQUIRED_VERSION CMAKE_MINOR_VERSION CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS_INIT CMAKE_MODULE_PATH CMAKE_MSVCIDE_RUN_PATH CMAKE_NINJA_OUTPUT_PATH_PREFIX CMAKE_NOT_USING_CONFIG_FLAGS CMAKE_NO_BUILTIN_CHRPATH CMAKE_NO_SYSTEM_FROM_IMPORTED CMAKE_OBJECT_PATH_MAX CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE CMAKE_PREFIX_PATH CMAKE_PROGRAM_PATH CMAKE_PROJECT_DESCRIPTION CMAKE_PROJECT_NAME CMAKE_RANLIB CMAKE_ROOT CMAKE_RUNTIME_OUTPUT_DIRECTORY CMAKE_SCRIPT_MODE_FILE CMAKE_SHARED_LIBRARY_PREFIX CMAKE_SHARED_LIBRARY_SUFFIX CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS_INIT CMAKE_SHARED_MODULE_PREFIX CMAKE_SHARED_MODULE_SUFFIX CMAKE_SIZEOF_VOID_P CMAKE_SKIP_BUILD_RPATH CMAKE_SKIP_INSTALL_ALL_DEPENDENCY CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_INSTALL_RULES CMAKE_SKIP_RPATH CMAKE_SOURCE_DIR CMAKE_STAGING_PREFIX CMAKE_STATIC_LIBRARY_PREFIX CMAKE_STATIC_LIBRARY_SUFFIX CMAKE_STATIC_LINKER_FLAGS CMAKE_STATIC_LINKER_FLAGS_INIT CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE CMAKE_SYSROOT CMAKE_SYSROOT_COMPILE CMAKE_SYSROOT_LINK CMAKE_SYSTEM CMAKE_SYSTEM_APPBUNDLE_PATH CMAKE_SYSTEM_FRAMEWORK_PATH CMAKE_SYSTEM_IGNORE_PATH CMAKE_SYSTEM_INCLUDE_PATH CMAKE_SYSTEM_LIBRARY_PATH CMAKE_SYSTEM_NAME CMAKE_SYSTEM_PREFIX_PATH CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_PROGRAM_PATH CMAKE_SYSTEM_VERSION CMAKE_Swift_LANGUAGE_VERSION CMAKE_TOOLCHAIN_FILE CMAKE_TRY_COMPILE_CONFIGURATION CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_TRY_COMPILE_TARGET_TYPE CMAKE_TWEAK_VERSION CMAKE_USER_MAKE_RULES_OVERRIDE CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE CMAKE_VERSION CMAKE_VISIBILITY_INLINES_HIDDEN CMAKE_VS_DEVENV_COMMAND CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD CMAKE_VS_INTEL_Fortran_PROJECT_VERSION CMAKE_VS_MSBUILD_COMMAND CMAKE_VS_NsightTegra_VERSION CMAKE_VS_PLATFORM_NAME CMAKE_VS_PLATFORM_TOOLSET CMAKE_VS_PLATFORM_TOOLSET_CUDA CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION CMAKE_WARN_DEPRECATED CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_WIN32_EXECUTABLE CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS CMAKE_XCODE_GENERATE_SCHEME CMAKE_XCODE_PLATFORM_TOOLSET CPACK_ABSOLUTE_DESTINATION_FILES CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CPACK_INCLUDE_TOPLEVEL_DIRECTORY CPACK_INSTALL_SCRIPT CPACK_PACKAGING_INSTALL_PREFIX CPACK_SET_DESTDIR CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CTEST_BINARY_DIRECTORY CTEST_BUILD_COMMAND CTEST_BUILD_NAME CTEST_BZR_COMMAND CTEST_BZR_UPDATE_OPTIONS CTEST_CHANGE_ID CTEST_CHECKOUT_COMMAND CTEST_CONFIGURATION_TYPE CTEST_CONFIGURE_COMMAND CTEST_COVERAGE_COMMAND CTEST_COVERAGE_EXTRA_FLAGS CTEST_CURL_OPTIONS CTEST_CUSTOM_COVERAGE_EXCLUDE CTEST_CUSTOM_ERROR_EXCEPTION CTEST_CUSTOM_ERROR_MATCH CTEST_CUSTOM_ERROR_POST_CONTEXT CTEST_CUSTOM_ERROR_PRE_CONTEXT CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE CTEST_CUSTOM_MEMCHECK_IGNORE CTEST_CUSTOM_POST_MEMCHECK CTEST_CUSTOM_POST_TEST CTEST_CUSTOM_PRE_MEMCHECK CTEST_CUSTOM_PRE_TEST CTEST_CUSTOM_TEST_IGNORE CTEST_CUSTOM_WARNING_EXCEPTION CTEST_CUSTOM_WARNING_MATCH CTEST_CVS_CHECKOUT CTEST_CVS_COMMAND CTEST_CVS_UPDATE_OPTIONS CTEST_DROP_LOCATION CTEST_DROP_METHOD CTEST_DROP_SITE CTEST_DROP_SITE_CDASH CTEST_DROP_SITE_PASSWORD CTEST_DROP_SITE_USER CTEST_EXTRA_COVERAGE_GLOB CTEST_GIT_COMMAND CTEST_GIT_INIT_SUBMODULES CTEST_GIT_UPDATE_CUSTOM CTEST_GIT_UPDATE_OPTIONS CTEST_HG_COMMAND CTEST_HG_UPDATE_OPTIONS CTEST_LABELS_FOR_SUBPROJECTS CTEST_MEMORYCHECK_COMMAND CTEST_MEMORYCHECK_COMMAND_OPTIONS CTEST_MEMORYCHECK_SANITIZER_OPTIONS CTEST_MEMORYCHECK_SUPPRESSIONS_FILE CTEST_MEMORYCHECK_TYPE CTEST_NIGHTLY_START_TIME CTEST_P4_CLIENT CTEST_P4_COMMAND CTEST_P4_OPTIONS CTEST_P4_UPDATE_OPTIONS CTEST_SCP_COMMAND CTEST_SITE CTEST_SOURCE_DIRECTORY CTEST_SVN_COMMAND CTEST_SVN_OPTIONS CTEST_SVN_UPDATE_OPTIONS CTEST_TEST_LOAD CTEST_TEST_TIMEOUT CTEST_TRIGGER_SITE CTEST_UPDATE_COMMAND CTEST_UPDATE_OPTIONS CTEST_UPDATE_VERSION_ONLY CTEST_USE_LAUNCHERS CYGWIN ENV EXECUTABLE_OUTPUT_PATH GHS-MULTI LIBRARY_OUTPUT_PATH MINGW MSVC MSVC10 MSVC11 MSVC12 MSVC14 MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 MSVC_IDE MSVC_VERSION PROJECT_BINARY_DIR PROJECT_DESCRIPTION PROJECT_NAME PROJECT_SOURCE_DIR PROJECT_VERSION PROJECT_VERSION_MAJOR PROJECT_VERSION_MINOR PROJECT_VERSION_PATCH PROJECT_VERSION_TWEAK UNIX WIN32 WINCE WINDOWS_PHONE WINDOWS_STORE XCODE XCODE_VERSION
+
+syn keyword cmakeModule contained
+            \ ExternalProject
+
+syn keyword cmakeKWExternalProject contained
+            \ ALGO AWS BINARY_DIR BUILD_ALWAYS BUILD_BYPRODUCTS BUILD_COMMAND BUILD_IN_SOURCE CMAKE_ARGS CMAKE_CACHE_ARGS CMAKE_CACHE_DEFAULT_ARGS CMAKE_TLS_CAINFO CMAKE_TLS_VERIFY COMMENT CONFIGURE_COMMAND CVS CVSROOT CVS_MODULE CVS_REPOSITORY CVS_TAG DEPENDEES DEPENDERS DEPENDS DOWNLOADED_FILE DOWNLOAD_COMMAND DOWNLOAD_DIR DOWNLOAD_NAME DOWNLOAD_NO_EXTRACT DOWNLOAD_NO_PROGRESS EP_BASE EP_INDEPENDENT_STEP_TARGETS EP_PREFIX EP_STEP_TARGETS EP_UPDATE_DISCONNECTED EXCLUDE_FROM_ALL FORCE GIT_CONFIG GIT_PROGRESS GIT_REMOTE_NAME GIT_REPOSITORY GIT_SHALLOW GIT_SUBMODULES GIT_TAG HG_REPOSITORY HG_TAG HTTP_HEADER HTTP_PASSWORD HTTP_USERNAME INDEPENDENT_STEP_TARGETS INSTALL_COMMAND INSTALL_DIR JOB_POOLS LIST_SEPARATOR LOG_ LOG_BUILD LOG_CONFIGURE LOG_DOWNLOAD LOG_INSTALL LOG_TEST LOG_UPDATE MAKE_EXE NAMES NOTE NO_DEPENDS PATCH_COMMAND PREFIX PROPERTY SOURCE_DIR SOURCE_SUBDIR STAMP_DIR STEP_TARGETS STRING SVN_PASSWORD SVN_REPOSITORY SVN_REVISION SVN_TRUST_CERT SVN_USERNAME TEST_AFTER_INSTALL TEST_BEFORE_INSTALL TEST_COMMAND TEST_EXCLUDE_FROM_MAIN TIMEOUT TLS_CAINFO TLS_VERIFY TMP_DIR TRUE UPDATE_COMMAND UPDATE_DISCONNECTED URL URL_HASH USES_TERMINAL_BUILD USES_TERMINAL_CONFIGURE USES_TERMINAL_DOWNLOAD USES_TERMINAL_INSTALL USES_TERMINAL_TEST USES_TERMINAL_UPDATE WORKING_DIRECTORY
+
+syn keyword cmakeKWadd_compile_options contained
+            \ COMPILE_OPTIONS
+
+syn keyword cmakeKWadd_custom_command contained
+            \ APPEND ARGS BYPRODUCTS CC COMMAND COMMAND_EXPAND_LISTS COMMENT CROSSCOMPILING_EMULATOR DEPENDS DEPFILE GENERATED IMPLICIT_DEPENDS INCLUDE_DIRECTORIES JOIN MAIN_DEPENDENCY NOT OUTPUT POST_BUILD PRE_BUILD PRE_LINK SYMBOLIC TARGET_FILE TARGET_PROPERTY USES_TERMINAL VERBATIM WORKING_DIRECTORY
+
+syn keyword cmakeKWadd_custom_target contained
+            \ ALL BYPRODUCTS CC COMMAND COMMAND_EXPAND_LISTS COMMENT CROSSCOMPILING_EMULATOR DEPENDS GENERATED INCLUDE_DIRECTORIES JOIN SOURCES TARGET_PROPERTY USES_TERMINAL VERBATIM WORKING_DIRECTORY
+
+syn keyword cmakeKWadd_definitions contained
+            \ COMPILE_DEFINITIONS
+
+syn keyword cmakeKWadd_dependencies contained
+            \ DEPENDS OBJECT_DEPENDS
+
+syn keyword cmakeKWadd_executable contained
+            \ ALIAS CONFIG EXCLUDE_FROM_ALL GLOBAL HEADER_FILE_ONLY IMPORTED IMPORTED_ IMPORTED_LOCATION IMPORTED_LOCATION_ MACOSX_BUNDLE OUTPUT_NAME RUNTIME_OUTPUT_DIRECTORY TARGET
+
+syn keyword cmakeKWadd_library contained
+            \ ALIAS ARCHIVE_OUTPUT_DIRECTORY CLI CONFIG DLL EXCLUDE_FROM_ALL FRAMEWORK GLOBAL HEADER_FILE_ONLY IMPORTED IMPORTED_ IMPORTED_LOCATION IMPORTED_LOCATION_ INTERFACE_ LIBRARY_OUTPUT_DIRECTORY MODULE OBJECT ON OUTPUT_NAME POSITION_INDEPENDENT_CODE POST_BUILD PRE_BUILD PRE_LINK RUNTIME_OUTPUT_DIRECTORY SHARED STATIC TARGET_OBJECTS UNKNOWN
+
+syn keyword cmakeKWadd_subdirectory contained
+            \ EXCLUDE_FROM_ALL
+
+syn keyword cmakeKWadd_test contained
+            \ BUILD_TESTING COMMAND CONFIGURATIONS FAIL_REGULAR_EXPRESSION NAME PASS_REGULAR_EXPRESSION TARGET_FILE WILL_FAIL WORKING_DIRECTORY
+
+syn keyword cmakeKWbuild_command contained
+            \ CONFIGURATION TARGET
+
+syn keyword cmakeKWbuild_name contained
+            \ CMAKE_CXX_COMPILER
+
+syn keyword cmakeKWcmake_host_system_information contained
+            \ AVAILABLE_PHYSICAL_MEMORY AVAILABLE_VIRTUAL_MEMORY FQDN HAS_FPU HAS_MMX HAS_MMX_PLUS HAS_SERIAL_NUMBER HAS_SSE HAS_SSE_FP HAS_SSE_MMX HOSTNAME ID NUMBER_OF_LOGICAL_CORES NUMBER_OF_PHYSICAL_CORES OS_NAME OS_PLATFORM OS_RELEASE OS_VERSION PROCESSOR_DESCRIPTION PROCESSOR_NAME PROCESSOR_SERIAL_NUMBER QUERY RESULT TOTAL_PHYSICAL_MEMORY TOTAL_VIRTUAL_MEMORY
+
+syn keyword cmakeKWcmake_minimum_required contained
+            \ FATAL_ERROR VERSION
+
+syn keyword cmakeKWcmake_parse_arguments contained
+            \ ARGN CONFIGURATIONS DESTINATION FALSE FAST FILES MY_INSTALL MY_INSTALL_CONFIGURATIONS MY_INSTALL_DESTINATION MY_INSTALL_FAST MY_INSTALL_OPTIONAL MY_INSTALL_RENAME MY_INSTALL_TARGETS MY_INSTALL_UNPARSED_ARGUMENTS OPTIONAL PARSE_ARGV RENAME TARGETS TRUE _UNPARSED_ARGUMENTS
+
+syn keyword cmakeKWcmake_policy contained
+            \ CMAKE_POLICY_DEFAULT_CMP CMP GET NNNN NO_POLICY_SCOPE OLD POP PUSH SET VERSION
+
+syn keyword cmakeKWconfigure_file contained
+            \ COPYONLY CRLF DOS ESCAPE_QUOTES FOO_ENABLE FOO_STRING LF NEWLINE_STYLE VAR
+
+syn keyword cmakeKWcreate_test_sourcelist contained
+            \ CMAKE_TESTDRIVER_AFTER_TESTMAIN CMAKE_TESTDRIVER_BEFORE_TESTMAIN EXTRA_INCLUDE FUNCTION
+
+syn keyword cmakeKWctest_build contained
+            \ ALL_BUILD APPEND BUILD CAPTURE_CMAKE_ERROR CONFIGURATION CTEST_BUILD_CONFIGURATION CTEST_BUILD_FLAGS CTEST_BUILD_TARGET CTEST_PROJECT_NAME FLAGS NUMBER_ERRORS NUMBER_WARNINGS QUIET RETURN_VALUE TARGET
+
+syn keyword cmakeKWctest_configure contained
+            \ APPEND BUILD CAPTURE_CMAKE_ERROR OPTIONS QUIET RETURN_VALUE SOURCE
+
+syn keyword cmakeKWctest_coverage contained
+            \ APPEND BUILD CAPTURE_CMAKE_ERROR LABELS QUIET RETURN_VALUE
+
+syn keyword cmakeKWctest_memcheck contained
+            \ APPEND BUILD DEFECT_COUNT EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD
+
+syn keyword cmakeKWctest_run_script contained
+            \ NEW_PROCESS RETURN_VALUE
+
+syn keyword cmakeKWctest_start contained
+            \ APPEND QUIET TAG TRACK
+
+syn keyword cmakeKWctest_submit contained
+            \ API CDASH_UPLOAD CDASH_UPLOAD_TYPE CTEST_EXTRA_SUBMIT_FILES CTEST_NOTES_FILES FILES HTTPHEADER PARTS QUIET RETRY_COUNT RETRY_DELAY RETURN_VALUE
+
+syn keyword cmakeKWctest_test contained
+            \ APPEND BUILD CAPTURE_CMAKE_ERROR CPU EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD
+
+syn keyword cmakeKWctest_update contained
+            \ QUIET RETURN_VALUE SOURCE
+
+syn keyword cmakeKWctest_upload contained
+            \ CAPTURE_CMAKE_ERROR FILES QUIET
+
+syn keyword cmakeKWdefine_property contained
+            \ BRIEF_DOCS CACHED_VARIABLE DIRECTORY FULL_DOCS GLOBAL INHERITED PROPERTY SOURCE TARGET TEST VARIABLE
+
+syn keyword cmakeKWenable_language contained
+            \ OPTIONAL
+
+syn keyword cmakeKWexec_program contained
+            \ ARGS OUTPUT_VARIABLE RETURN_VALUE
+
+syn keyword cmakeKWexecute_process contained
+            \ ANSI AUTO COMMAND ENCODING ERROR_FILE ERROR_QUIET ERROR_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE INPUT_FILE NONE OEM OUTPUT_FILE OUTPUT_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE RESULTS_VARIABLE RESULT_VARIABLE TIMEOUT UTF VERBATIM WORKING_DIRECTORY
+
+syn keyword cmakeKWexport contained
+            \ ANDROID_MK APPEND CONFIG EXPORT EXPORT_LINK_INTERFACE_LIBRARIES FILE IMPORTED IMPORTED_ NAMESPACE NDK OLD PACKAGE TARGETS
+
+syn keyword cmakeKWexport_library_dependencies contained
+            \ APPEND EXPORT INCLUDE LINK_INTERFACE_LIBRARIES SET
+
+syn keyword cmakeKWfile contained
+            \ ALGO APPEND ASCII CMAKE_TLS_CAINFO CMAKE_TLS_VERIFY CONDITION CONFIG CONTENT COPY CR DESTINATION DIRECTORY_PERMISSIONS DOWNLOAD ENCODING EXCLUDE EXPECTED_HASH FILES_MATCHING FILE_PERMISSIONS FOLLOW_SYMLINKS FUNCTION GENERATE GLOB GLOB_RECURSE GUARD HASH HEX HTTPHEADER INACTIVITY_TIMEOUT INSTALL LENGTH_MAXIMUM LENGTH_MINIMUM LF LIMIT LIMIT_COUNT LIMIT_INPUT LIMIT_OUTPUT LIST_DIRECTORIES LOCK LOG MAKE_DIRECTORY NEWLINE_CONSUME NO_HEX_CONVERSION NO_SOURCE_PERMISSIONS OFFSET OLD PATTERN PROCESS READ REGEX RELATIVE RELATIVE_PATH RELEASE REMOVE REMOVE_RECURSE RENAME RESULT_VARIABLE SHOW_PROGRESS SSL STATUS STRINGS TIMESTAMP TLS_CAINFO TLS_VERIFY TO_CMAKE_PATH TO_NATIVE_PATH UPLOAD USERPWD USE_SOURCE_PERMISSIONS UTC UTF WRITE
+
+syn keyword cmakeKWfind_file contained
+            \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS INCLUDE NAMES NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR
+
+syn keyword cmakeKWfind_library contained
+            \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS LIB NAMES NAMES_PER_DIR NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR
+
+syn keyword cmakeKWfind_package contained
+            \ CMAKE_DISABLE_FIND_PACKAGE_ CMAKE_FIND_ROOT_PATH_BOTH COMPONENTS CONFIG CONFIGS DEC DVAR EXACT HINTS MODULE NAMES NATURAL NO_CMAKE_BUILDS_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_PATH NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_MODULE NO_POLICY_SCOPE NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OPTIONAL_COMPONENTS OS PACKAGE_FIND_NAME PACKAGE_FIND_VERSION PACKAGE_FIND_VERSION_COUNT PACKAGE_FIND_VERSION_MAJOR PACKAGE_FIND_VERSION_MINOR PACKAGE_FIND_VERSION_PATCH PACKAGE_FIND_VERSION_TWEAK PACKAGE_VERSION PACKAGE_VERSION_COMPATIBLE PACKAGE_VERSION_EXACT PACKAGE_VERSION_UNSUITABLE PATHS PATH_SUFFIXES QUIET REQUIRED SET TRUE _CONFIG _CONSIDERED_CONFIGS _CONSIDERED_VERSIONS _DIR _FIND_COMPONENTS _FIND_QUIETLY _FIND_REQUIRED _FIND_REQUIRED_ _FIND_VERSION_EXACT _FOUND
+
+syn keyword cmakeKWfind_path contained
+            \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS INCLUDE NAMES NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR
+
+syn keyword cmakeKWfind_program contained
+            \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS NAMES NAMES_PER_DIR NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OS PATHS PATH_SUFFIXES VAR
+
+syn keyword cmakeKWfltk_wrap_ui contained
+            \ FLTK
+
+syn keyword cmakeKWforeach contained
+            \ ARGS IN ITEMS LISTS RANGE
+
+syn keyword cmakeKWfunction contained
+            \ ARGC ARGN ARGS ARGV PARENT_SCOPE
+
+syn keyword cmakeKWget_cmake_property contained
+            \ COMPONENTS GLOBAL MACROS VAR VARIABLES
+
+syn keyword cmakeKWget_directory_property contained
+            \ DEFINITION DIRECTORY
+
+syn keyword cmakeKWget_filename_component contained
+            \ ABSOLUTE ARG_VAR BASE_DIR CACHE COMP DIRECTORY EXT NAME NAME_WE PATH PROGRAM PROGRAM_ARGS REALPATH VAR
+
+syn keyword cmakeKWget_property contained
+            \ BRIEF_DOCS CACHE DEFINED DIRECTORY FULL_DOCS GLOBAL INSTALL PROPERTY SET SOURCE TARGET TEST VARIABLE
+
+syn keyword cmakeKWget_source_file_property contained
+            \ LOCATION VAR
+
+syn keyword cmakeKWget_target_property contained
+            \ VAR
+
+syn keyword cmakeKWget_test_property contained
+            \ VAR
+
+syn keyword cmakeKWif contained
+            \ ARGS CMAKE_MATCH_ CMP COMMAND DEFINED EQUAL EXISTS FALSE GREATER GREATER_EQUAL IGNORE IN_LIST IS_ABSOLUTE IS_DIRECTORY IS_NEWER_THAN IS_SYMLINK LESS LESS_EQUAL MATCHES NNNN NOT OFF OR POLICY STREQUAL STRGREATER STRGREATER_EQUAL STRLESS STRLESS_EQUAL TARGET TEST THEN TRUE VERSION_EQUAL VERSION_GREATER VERSION_GREATER_EQUAL VERSION_LESS VERSION_LESS_EQUAL YES
+
+syn keyword cmakeKWinclude contained
+            \ NO_POLICY_SCOPE OPTIONAL RESULT_VARIABLE
+
+syn keyword cmakeKWinclude_directories contained
+            \ AFTER BEFORE INCLUDE_DIRECTORIES ON SYSTEM
+
+syn keyword cmakeKWinclude_external_msproject contained
+            \ GUID MAP_IMPORTED_CONFIG_ PLATFORM TYPE WIX
+
+syn keyword cmakeKWinclude_guard contained
+            \ DIRECTORY GLOBAL TRUE __CURRENT_FILE_VAR__
+
+syn keyword cmakeKWinstall contained
+            \ ARCHIVE BUNDLE CODE COMPONENT CONFIGURATIONS CVS DESTDIR DESTINATION DIRECTORY DIRECTORY_PERMISSIONS DLL EXCLUDE_FROM_ALL EXPORT EXPORT_ANDROID_MK EXPORT_LINK_INTERFACE_LIBRARIES FILES FILES_MATCHING FILE_PERMISSIONS FRAMEWORK GROUP_EXECUTE GROUP_READ GROUP_WRITE IMPORTED_ INCLUDES INSTALL_PREFIX INTERFACE_INCLUDE_DIRECTORIES LIBRARY MACOSX_BUNDLE MESSAGE_NEVER NAMELINK_ONLY NAMELINK_SKIP NAMESPACE NDK OBJECTS OPTIONAL OWNER_EXECUTE OWNER_READ OWNER_WRITE PATTERN PERMISSIONS POST_INSTALL_SCRIPT PRE_INSTALL_SCRIPT PRIVATE_HEADER PROGRAMS PUBLIC_HEADER REGEX RENAME RESOURCE RUNTIME SCRIPT SETGID SETUID SOVERSION TARGETS TRUE USE_SOURCE_PERMISSIONS VERSION WORLD_EXECUTE WORLD_READ WORLD_WRITE
+
+syn keyword cmakeKWinstall_files contained
+            \ FILES GLOB
+
+syn keyword cmakeKWinstall_programs contained
+            \ FILES GLOB PROGRAMS TARGETS
+
+syn keyword cmakeKWinstall_targets contained
+            \ DLL RUNTIME_DIRECTORY TARGETS
+
+syn keyword cmakeKWlist contained
+            \ APPEND CACHE EXCLUDE FILTER FIND GET INCLUDE INSERT INTERNAL LENGTH LIST NOTES PARENT_SCOPE REGEX REMOVE_AT REMOVE_DUPLICATES REMOVE_ITEM REVERSE SORT
+
+syn keyword cmakeKWload_cache contained
+            \ EXCLUDE INCLUDE_INTERNALS READ_WITH_PREFIX
+
+syn keyword cmakeKWload_command contained
+            \ CMAKE_LOADED_COMMAND_ COMMAND_NAME
+
+syn keyword cmakeKWmacro contained
+            \ ARGC ARGN ARGS ARGV DEFINED GREATER LISTS NOT _BAR _FOO
+
+syn keyword cmakeKWmake_directory contained
+            \ MAKE_DIRECTORY
+
+syn keyword cmakeKWmark_as_advanced contained
+            \ CLEAR FORCE VAR
+
+syn keyword cmakeKWmath contained
+            \ EXPR
+
+syn keyword cmakeKWmessage contained
+            \ AUTHOR_WARNING DEPRECATION FATAL_ERROR GUI SEND_ERROR STATUS WARNING
+
+syn keyword cmakeKWoption contained
+            \ OFF ON
+
+syn keyword cmakeKWproject contained
+            \ CMAKE_PROJECT_ DESCRIPTION LANGUAGES NAME NONE PROJECT VERSION _BINARY_DIR _INCLUDE _SOURCE_DIR _VERSION _VERSION_MAJOR _VERSION_MINOR _VERSION_PATCH _VERSION_TWEAK
+
+syn keyword cmakeKWremove contained
+            \ REMOVE_ITEM VALUE VAR
+
+syn keyword cmakeKWseparate_arguments contained
+            \ MSDN NATIVE NATIVE_COMMAND UNIX_COMMAND WINDOWS WINDOWS_COMMAND _COMMAND
+
+syn keyword cmakeKWset contained
+            \ BOOL CACHE FILEPATH FORCE INTERNAL OFF ON PARENT_SCOPE STRING STRINGS
+
+syn keyword cmakeKWset_directory_properties contained
+            \ PROPERTIES
+
+syn keyword cmakeKWset_property contained
+            \ APPEND APPEND_STRING CACHE DIRECTORY GLOBAL INSTALL PROPERTY SOURCE TARGET TEST WIX
+
+syn keyword cmakeKWset_source_files_properties contained
+            \ PROPERTIES
+
+syn keyword cmakeKWset_target_properties contained
+            \ PROPERTIES
+
+syn keyword cmakeKWset_tests_properties contained
+            \ PROPERTIES
+
+syn keyword cmakeKWsource_group contained
+            \ FILES PREFIX REGULAR_EXPRESSION TREE
+
+syn keyword cmakeKWstring contained
+            \ ALPHABET APPEND ASCII CMAKE_MATCH_ COMPARE CONCAT CONFIGURE EQUAL ESCAPE_QUOTES FIND GENEX_STRIP GREATER GREATER_EQUAL GUID HASH LENGTH LESS LESS_EQUAL MAKE_C_IDENTIFIER MATCH MATCHALL MATCHES NAMESPACE NOTEQUAL ONLY PREPEND RANDOM RANDOM_SEED REGEX REPLACE REVERSE RFC SHA SOURCE_DATE_EPOCH STRIP SUBSTRING SZ TIMESTAMP TOLOWER TOUPPER TYPE US UTC UUID
+
+syn keyword cmakeKWsubdirs contained
+            \ EXCLUDE_FROM_ALL PREORDER
+
+syn keyword cmakeKWtarget_compile_definitions contained
+            \ COMPILE_DEFINITIONS INTERFACE INTERFACE_COMPILE_DEFINITIONS PRIVATE PUBLIC
+
+syn keyword cmakeKWtarget_compile_features contained
+            \ COMPILE_FEATURES IMPORTED INTERFACE INTERFACE_COMPILE_FEATURES PRIVATE PUBLIC
+
+syn keyword cmakeKWtarget_compile_options contained
+            \ BEFORE COMPILE_OPTIONS IMPORTED INTERFACE INTERFACE_COMPILE_OPTIONS PRIVATE PUBLIC
+
+syn keyword cmakeKWtarget_include_directories contained
+            \ BEFORE BUILD_INTERFACE IMPORTED INCLUDE_DIRECTORIES INSTALL_INTERFACE INTERFACE INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES PRIVATE PUBLIC SYSTEM
+
+syn keyword cmakeKWtarget_link_libraries contained
+            \ ALIAS DAG DEBUG_CONFIGURATIONS IMPORTED IMPORTED_NO_SONAME INTERFACE INTERFACE_LINK_LIBRARIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_LIBRARIES_DEBUG LINK_INTERFACE_MULTIPLICITY LINK_PRIVATE LINK_PUBLIC OLD OSX PRIVATE PUBLIC STATIC
+
+syn keyword cmakeKWtarget_sources contained
+            \ IMPORTED INTERFACE INTERFACE_SOURCES PRIVATE PUBLIC SOURCES
+
+syn keyword cmakeKWtry_compile contained
+            \ ALL_BUILD CMAKE_FLAGS COMPILE_DEFINITIONS COPY_FILE COPY_FILE_ERROR CUDA_EXTENSIONS CUDA_STANDARD CUDA_STANDARD_REQUIRED CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEFINED DLINK_LIBRARIES DVAR FALSE INCLUDE_DIRECTORIES LANG LINK_DIRECTORIES LINK_LIBRARIES NOT OUTPUT_VARIABLE RESULT_VAR SOURCES TRUE TYPE VALUE _EXTENSIONS _STANDARD _STANDARD_REQUIRED
+
+syn keyword cmakeKWtry_run contained
+            \ ARGS CMAKE_FLAGS COMPILE_DEFINITIONS COMPILE_OUTPUT_VARIABLE COMPILE_RESULT_VAR DLINK_LIBRARIES DVAR FAILED_TO_RUN FALSE INCLUDE_DIRECTORIES LINK_DIRECTORIES LINK_LIBRARIES RUN_OUTPUT_VARIABLE RUN_RESULT_VAR TRUE TYPE VALUE __TRYRUN_OUTPUT
+
+syn keyword cmakeKWunset contained
+            \ CACHE LD_LIBRARY_PATH PARENT_SCOPE
+
+syn keyword cmakeKWuse_mangled_mesa contained
+            \ GL OUTPUT_DIRECTORY PATH_TO_MESA
+
+syn keyword cmakeKWvariable_requires contained
+            \ RESULT_VARIABLE TEST_VARIABLE
+
+syn keyword cmakeKWvariable_watch contained
+            \ COMMAND
+
+syn keyword cmakeKWwhile contained
+            \ ARGS
+
+syn keyword cmakeKWwrite_file contained
+            \ APPEND CONFIGURE_FILE NOTE WRITE
+
+
+syn keyword cmakeGeneratorExpressions contained
+            \ LINK_LIBRARIES INCLUDE_DIRECTORIES COMPILE_DEFINITIONS CONFIG DEBUG_MODE BOOL AND NOT IF STREQUAL MAP_IMPORTED_CONFIG_ PLATFORM_ID C_COMPILER_ID CXX_COMPILER_ID VERSION_LESS VERSION_GREATER VERSION_EQUAL VERSION_LESS_EQUAL VERSION_GREATER_EQUAL C_COMPILER_VERSION CXX_COMPILER_VERSION TARGET_POLICY COMPILE_FEATURES C_STANDARD CXX_STANDARD COMPILE_LANGUAGE PRIVATE PUBLIC COMPILING_CXX GNU OLD_COMPILER CMAKE_CXX_COMPILER_VERSION CONFIGURATION TARGET_FILE TARGET_FILE_NAME TARGET_FILE_DIR TARGET_LINKER_FILE TARGET_LINKER_FILE_NAME TARGET_LINKER_FILE_DIR TARGET_SONAME_FILE TARGET_SONAME_FILE_NAME TARGET_SONAME_FILE_DIR TARGET_PDB_FILE PDB_NAME PDB_OUTPUT_DIRECTORY PDB_NAME_ PDB_OUTPUT_DIRECTORY_ TARGET_PDB_FILE_NAME TARGET_PDB_FILE_DIR TARGET_BUNDLE_DIR TARGET_BUNDLE_CONTENT_DIR SDK TARGET_PROPERTY INSTALL_PREFIX EXPORT JOIN ANGLE COMMA SEMICOLON TARGET_NAME LINK_ONLY INTERFACE_LINK_LIBRARIES INSTALL_INTERFACE BUILD_INTERFACE LOWER_CASE UPPER_CASE MAKE_C_IDENTIFIER TARGET_OBJECTS OBJECT_LIBRARY SHELL_PATH MSYS
+
+syn case ignore
+
+syn keyword cmakeCommand
+            \ add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue create_test_sourcelist ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload define_property enable_language enable_testing endfunction endmacro execute_process export file find_file find_library find_package find_path find_program fltk_wrap_ui function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property include include_directories include_external_msproject include_guard include_regular_expression install link_directories list load_cache load_command macro mark_as_advanced math message option project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_libraries target_sources try_compile try_run unset variable_watch
+            \ nextgroup=cmakeArguments
+
+syn keyword cmakeCommandConditional
+            \ else elseif endif if
+            \ nextgroup=cmakeArguments
+
+syn keyword cmakeCommandRepeat
+            \ endforeach endwhile foreach while
+            \ nextgroup=cmakeArguments
+
+syn keyword cmakeCommandDeprecated
+            \ build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file
+            \ nextgroup=cmakeArguments
+
+syn case match
+
+syn keyword cmakeTodo
+            \ TODO FIXME XXX
+            \ contained
+
+hi def link cmakeCommand Function
+hi def link cmakeCommandConditional Conditional
+hi def link cmakeCommandDeprecated WarningMsg
+hi def link cmakeCommandRepeat Repeat
+hi def link cmakeComment Comment
+hi def link cmakeEnvironment Special
+hi def link cmakeEscaped Special
+hi def link cmakeGeneratorExpression WarningMsg
+hi def link cmakeGeneratorExpressions Constant
+hi def link cmakeLuaComment Comment
+hi def link cmakeModule Include
+hi def link cmakeProperty Constant
+hi def link cmakeRegistry Underlined
+hi def link cmakeString String
+hi def link cmakeTodo TODO
+hi def link cmakeVariableValue Type
+hi def link cmakeVariable Identifier
+
+hi def link cmakeKWExternalProject ModeMsg
+hi def link cmakeKWadd_compile_options ModeMsg
+hi def link cmakeKWadd_custom_command ModeMsg
+hi def link cmakeKWadd_custom_target ModeMsg
+hi def link cmakeKWadd_definitions ModeMsg
+hi def link cmakeKWadd_dependencies ModeMsg
+hi def link cmakeKWadd_executable ModeMsg
+hi def link cmakeKWadd_library ModeMsg
+hi def link cmakeKWadd_subdirectory ModeMsg
+hi def link cmakeKWadd_test ModeMsg
+hi def link cmakeKWbuild_command ModeMsg
+hi def link cmakeKWbuild_name ModeMsg
+hi def link cmakeKWcmake_host_system_information ModeMsg
+hi def link cmakeKWcmake_minimum_required ModeMsg
+hi def link cmakeKWcmake_parse_arguments ModeMsg
+hi def link cmakeKWcmake_policy ModeMsg
+hi def link cmakeKWconfigure_file ModeMsg
+hi def link cmakeKWcreate_test_sourcelist ModeMsg
+hi def link cmakeKWctest_build ModeMsg
+hi def link cmakeKWctest_configure ModeMsg
+hi def link cmakeKWctest_coverage ModeMsg
+hi def link cmakeKWctest_memcheck ModeMsg
+hi def link cmakeKWctest_run_script ModeMsg
+hi def link cmakeKWctest_start ModeMsg
+hi def link cmakeKWctest_submit ModeMsg
+hi def link cmakeKWctest_test ModeMsg
+hi def link cmakeKWctest_update ModeMsg
+hi def link cmakeKWctest_upload ModeMsg
+hi def link cmakeKWdefine_property ModeMsg
+hi def link cmakeKWenable_language ModeMsg
+hi def link cmakeKWexec_program ModeMsg
+hi def link cmakeKWexecute_process ModeMsg
+hi def link cmakeKWexport ModeMsg
+hi def link cmakeKWexport_library_dependencies ModeMsg
+hi def link cmakeKWfile ModeMsg
+hi def link cmakeKWfind_file ModeMsg
+hi def link cmakeKWfind_library ModeMsg
+hi def link cmakeKWfind_package ModeMsg
+hi def link cmakeKWfind_path ModeMsg
+hi def link cmakeKWfind_program ModeMsg
+hi def link cmakeKWfltk_wrap_ui ModeMsg
+hi def link cmakeKWforeach ModeMsg
+hi def link cmakeKWfunction ModeMsg
+hi def link cmakeKWget_cmake_property ModeMsg
+hi def link cmakeKWget_directory_property ModeMsg
+hi def link cmakeKWget_filename_component ModeMsg
+hi def link cmakeKWget_property ModeMsg
+hi def link cmakeKWget_source_file_property ModeMsg
+hi def link cmakeKWget_target_property ModeMsg
+hi def link cmakeKWget_test_property ModeMsg
+hi def link cmakeKWif ModeMsg
+hi def link cmakeKWinclude ModeMsg
+hi def link cmakeKWinclude_directories ModeMsg
+hi def link cmakeKWinclude_external_msproject ModeMsg
+hi def link cmakeKWinclude_guard ModeMsg
+hi def link cmakeKWinstall ModeMsg
+hi def link cmakeKWinstall_files ModeMsg
+hi def link cmakeKWinstall_programs ModeMsg
+hi def link cmakeKWinstall_targets ModeMsg
+hi def link cmakeKWlist ModeMsg
+hi def link cmakeKWload_cache ModeMsg
+hi def link cmakeKWload_command ModeMsg
+hi def link cmakeKWmacro ModeMsg
+hi def link cmakeKWmake_directory ModeMsg
+hi def link cmakeKWmark_as_advanced ModeMsg
+hi def link cmakeKWmath ModeMsg
+hi def link cmakeKWmessage ModeMsg
+hi def link cmakeKWoption ModeMsg
+hi def link cmakeKWproject ModeMsg
+hi def link cmakeKWremove ModeMsg
+hi def link cmakeKWseparate_arguments ModeMsg
+hi def link cmakeKWset ModeMsg
+hi def link cmakeKWset_directory_properties ModeMsg
+hi def link cmakeKWset_property ModeMsg
+hi def link cmakeKWset_source_files_properties ModeMsg
+hi def link cmakeKWset_target_properties ModeMsg
+hi def link cmakeKWset_tests_properties ModeMsg
+hi def link cmakeKWsource_group ModeMsg
+hi def link cmakeKWstring ModeMsg
+hi def link cmakeKWsubdirs ModeMsg
+hi def link cmakeKWtarget_compile_definitions ModeMsg
+hi def link cmakeKWtarget_compile_features ModeMsg
+hi def link cmakeKWtarget_compile_options ModeMsg
+hi def link cmakeKWtarget_include_directories ModeMsg
+hi def link cmakeKWtarget_link_libraries ModeMsg
+hi def link cmakeKWtarget_sources ModeMsg
+hi def link cmakeKWtry_compile ModeMsg
+hi def link cmakeKWtry_run ModeMsg
+hi def link cmakeKWunset ModeMsg
+hi def link cmakeKWuse_mangled_mesa ModeMsg
+hi def link cmakeKWvariable_requires ModeMsg
+hi def link cmakeKWvariable_watch ModeMsg
+hi def link cmakeKWwhile ModeMsg
+hi def link cmakeKWwrite_file ModeMsg
+
+let b:current_syntax = "cmake"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
+"EOF"
diff --git a/share/cmake-3.10/include/cmCPluginAPI.h b/share/cmake-3.10/include/cmCPluginAPI.h
new file mode 100644
index 0000000..88b81c6
--- /dev/null
+++ b/share/cmake-3.10/include/cmCPluginAPI.h
@@ -0,0 +1,225 @@
+/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+   file Copyright.txt or https://cmake.org/licensing for details.  */
+/* This header file defines the API that loadable commands can use. In many
+   of these commands C++ instances of cmMakefile of cmSourceFile are passed
+   in as arguments or returned. In these cases they are passed as a void *
+   argument. In the function prototypes mf is used to represent a makefile
+   and sf is used to represent a source file. The functions are grouped
+   loosely into four groups 1) Utility 2) cmMakefile 3) cmSourceFile 4)
+   cmSystemTools. Within each grouping functions are listed alphabetically */
+/*=========================================================================*/
+#ifndef cmCPluginAPI_h
+#define cmCPluginAPI_h
+
+#define CMAKE_VERSION_MAJOR 2
+#define CMAKE_VERSION_MINOR 5
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __WATCOMC__
+#define CCONV __cdecl
+#else
+#define CCONV
+#endif
+/*=========================================================================
+this is the structure of function entry points that a plugin may call. This
+structure must be kept in sync with the static decaled at the bottom of
+cmCPLuginAPI.cxx
+=========================================================================*/
+typedef struct
+{
+  /*=========================================================================
+  Here we define the set of functions that a plugin may call. The first goup
+  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
+     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 */
+  int(CCONV* GetTotalArgumentSize)(int argc, char** argv);
+  /* 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
+     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 */
+  void(CCONV* SetError)(void* info, const char* err);
+
+  /*=========================================================================
+  The following functions all directly map to methods in the cmMakefile
+  class. See cmMakefile.h for descriptions of what each method does. All of
+  these methods take the void * makefile pointer as their first argument.
+  =========================================================================*/
+  void(CCONV* AddCacheDefinition)(void* mf, const char* name,
+                                  const char* value, const char* doc,
+                                  int cachetype);
+  void(CCONV* AddCustomCommand)(void* mf, const char* source,
+                                const char* command, int numArgs,
+                                const char** args, int numDepends,
+                                const char** depends, int numOutputs,
+                                const char** outputs, const char* target);
+  void(CCONV* AddDefineFlag)(void* mf, const char* definition);
+  void(CCONV* AddDefinition)(void* mf, const char* name, const char* value);
+  void(CCONV* AddExecutable)(void* mf, const char* exename, int numSrcs,
+                             const char** srcs, int win32);
+  void(CCONV* AddLibrary)(void* mf, const char* libname, int shared,
+                          int numSrcs, const char** srcs);
+  void(CCONV* AddLinkDirectoryForTarget)(void* mf, const char* tgt,
+                                         const char* d);
+  void(CCONV* AddLinkLibraryForTarget)(void* mf, const char* tgt,
+                                       const char* libname, int libtype);
+  void(CCONV* AddUtilityCommand)(void* mf, const char* utilityName,
+                                 const char* command, const char* arguments,
+                                 int all, int numDepends, const char** depends,
+                                 int numOutputs, const char** outputs);
+  int(CCONV* CommandExists)(void* mf, const char* name);
+  int(CCONV* ExecuteCommand)(void* mf, const char* name, int numArgs,
+                             const char** args);
+  void(CCONV* ExpandSourceListArguments)(void* mf, int argc, const char** argv,
+                                         int* resArgc, char*** resArgv,
+                                         unsigned int startArgumentIndex);
+  char*(CCONV* ExpandVariablesInString)(void* mf, const char* source,
+                                        int escapeQuotes, int atOnly);
+  unsigned int(CCONV* GetCacheMajorVersion)(void* mf);
+  unsigned int(CCONV* GetCacheMinorVersion)(void* mf);
+  const char*(CCONV* GetCurrentDirectory)(void* mf);
+  const char*(CCONV* GetCurrentOutputDirectory)(void* mf);
+  const char*(CCONV* GetDefinition)(void* mf, const char* def);
+  const char*(CCONV* GetHomeDirectory)(void* mf);
+  const char*(CCONV* GetHomeOutputDirectory)(void* mf);
+  unsigned int(CCONV* GetMajorVersion)(void* mf);
+  unsigned int(CCONV* GetMinorVersion)(void* mf);
+  const char*(CCONV* GetProjectName)(void* mf);
+  const char*(CCONV* GetStartDirectory)(void* mf);
+  const char*(CCONV* GetStartOutputDirectory)(void* mf);
+  int(CCONV* IsOn)(void* mf, const char* name);
+
+  /*=========================================================================
+  The following functions are designed to operate or manipulate
+  cmSourceFiles. Please see cmSourceFile.h for additional information on many
+  of these methods. Some of these methods are in cmMakefile.h.
+  =========================================================================*/
+  void*(CCONV* AddSource)(void* mf, void* sf);
+  void*(CCONV* CreateSourceFile)();
+  void(CCONV* DestroySourceFile)(void* sf);
+  void*(CCONV* GetSource)(void* mf, const char* sourceName);
+  void(CCONV* SourceFileAddDepend)(void* sf, const char* depend);
+  const char*(CCONV* SourceFileGetProperty)(void* sf, const char* prop);
+  int(CCONV* SourceFileGetPropertyAsBool)(void* sf, const char* prop);
+  const char*(CCONV* SourceFileGetSourceName)(void* sf);
+  const char*(CCONV* SourceFileGetFullPath)(void* sf);
+  void(CCONV* SourceFileSetName)(void* sf, const char* name, const char* dir,
+                                 int numSourceExtensions,
+                                 const char** sourceExtensions,
+                                 int numHeaderExtensions,
+                                 const char** headerExtensions);
+  void(CCONV* SourceFileSetName2)(void* sf, const char* name, const char* dir,
+                                  const char* ext, int headerFileOnly);
+  void(CCONV* SourceFileSetProperty)(void* sf, const char* prop,
+                                     const char* value);
+
+  /*=========================================================================
+  The following methods are from cmSystemTools.h see that file for specific
+  documentation on each method.
+  =========================================================================*/
+  char*(CCONV* Capitalized)(const char*);
+  void(CCONV* CopyFileIfDifferent)(const char* f1, const char* f2);
+  char*(CCONV* GetFilenameWithoutExtension)(const char*);
+  char*(CCONV* GetFilenamePath)(const char*);
+  void(CCONV* RemoveFile)(const char* f1);
+  void(CCONV* Free)(void*);
+
+  /*=========================================================================
+    The following are new functions added after 1.6
+  =========================================================================*/
+  void(CCONV* AddCustomCommandToOutput)(void* mf, const char* output,
+                                        const char* command, int numArgs,
+                                        const char** args,
+                                        const char* main_dependency,
+                                        int numDepends, const char** depends);
+  void(CCONV* AddCustomCommandToTarget)(void* mf, const char* target,
+                                        const char* command, int numArgs,
+                                        const char** args, int commandType);
+
+  /* display status information */
+  void(CCONV* DisplaySatus)(void* info, const char* message);
+
+  /* new functions added after 2.4 */
+  void*(CCONV* CreateNewSourceFile)(void* mf);
+  void(CCONV* DefineSourceFileProperty)(void* mf, const char* name,
+                                        const char* briefDocs,
+                                        const char* longDocs, int chained);
+
+  /* this is the end of the C function stub API structure */
+} cmCAPI;
+
+/*=========================================================================
+CM_PLUGIN_EXPORT should be used by plugins
+=========================================================================*/
+#ifdef _WIN32
+#define CM_PLUGIN_EXPORT __declspec(dllexport)
+#else
+#define CM_PLUGIN_EXPORT
+#endif
+
+/*=========================================================================
+define the different types of cache entries, see cmCacheManager.h for more
+information
+=========================================================================*/
+#define CM_CACHE_BOOL 0
+#define CM_CACHE_PATH 1
+#define CM_CACHE_FILEPATH 2
+#define CM_CACHE_STRING 3
+#define CM_CACHE_INTERNAL 4
+#define CM_CACHE_STATIC 5
+
+/*=========================================================================
+define the different types of compiles a library may be
+=========================================================================*/
+#define CM_LIBRARY_GENERAL 0
+#define CM_LIBRARY_DEBUG 1
+#define CM_LIBRARY_OPTIMIZED 2
+
+/*=========================================================================
+define the different types of custom commands for a target
+=========================================================================*/
+#define CM_PRE_BUILD 0
+#define CM_PRE_LINK 1
+#define CM_POST_BUILD 2
+
+/*=========================================================================
+Finally we define the key data structures and function prototypes
+=========================================================================*/
+typedef const char*(CCONV* CM_DOC_FUNCTION)();
+typedef int(CCONV* CM_INITIAL_PASS_FUNCTION)(void* info, void* mf, int argc,
+                                             char* []);
+typedef void(CCONV* CM_FINAL_PASS_FUNCTION)(void* info, void* mf);
+typedef void(CCONV* CM_DESTRUCTOR_FUNCTION)(void* info);
+
+typedef struct
+{
+  unsigned long reserved1; /* Reserved for future use.  DO NOT USE.  */
+  unsigned long reserved2; /* Reserved for future use.  DO NOT USE.  */
+  cmCAPI* CAPI;
+  int m_Inherited; /* this ivar is no longer used in CMake 2.2 or later */
+  CM_INITIAL_PASS_FUNCTION InitialPass;
+  CM_FINAL_PASS_FUNCTION FinalPass;
+  CM_DESTRUCTOR_FUNCTION Destructor;
+  CM_DOC_FUNCTION GetTerseDocumentation;
+  CM_DOC_FUNCTION GetFullDocumentation;
+  const char* Name;
+  char* Error;
+  void* ClientData;
+} cmLoadedCommandInfo;
+
+typedef void(CCONV* CM_INIT_FUNCTION)(cmLoadedCommandInfo*);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/share/cmake-3.6/Help/command/FIND_XXX.txt b/share/cmake-3.6/Help/command/FIND_XXX.txt
deleted file mode 100644
index bd4d295..0000000
--- a/share/cmake-3.6/Help/command/FIND_XXX.txt
+++ /dev/null
@@ -1,119 +0,0 @@
-A short-hand signature is:
-
-.. parsed-literal::
-
-   |FIND_XXX| (<VAR> name1 [path1 path2 ...])
-
-The general signature is:
-
-.. parsed-literal::
-
-   |FIND_XXX| (
-             <VAR>
-             name | |NAMES|
-             [HINTS path1 [path2 ... ENV var]]
-             [PATHS path1 [path2 ... ENV var]]
-             [PATH_SUFFIXES suffix1 [suffix2 ...]]
-             [DOC "cache documentation string"]
-             [NO_DEFAULT_PATH]
-             [NO_CMAKE_ENVIRONMENT_PATH]
-             [NO_CMAKE_PATH]
-             [NO_SYSTEM_ENVIRONMENT_PATH]
-             [NO_CMAKE_SYSTEM_PATH]
-             [CMAKE_FIND_ROOT_PATH_BOTH |
-              ONLY_CMAKE_FIND_ROOT_PATH |
-              NO_CMAKE_FIND_ROOT_PATH]
-            )
-
-This command is used to find a |SEARCH_XXX_DESC|.
-A cache entry named by ``<VAR>`` is created to store the result
-of this command.
-If the |SEARCH_XXX| is found the result is stored in the variable
-and the search will not be repeated unless the variable is cleared.
-If nothing is found, the result will be
-``<VAR>-NOTFOUND``, and the search will be attempted again the
-next time |FIND_XXX| is invoked with the same variable.
-
-Options include:
-
-``NAMES``
-  Specify one or more possible names for the |SEARCH_XXX|.
-
-  When using this to specify names with and without a version
-  suffix, we recommend specifying the unversioned name first
-  so that locally-built packages can be found before those
-  provided by distributions.
-
-``HINTS``, ``PATHS``
-  Specify directories to search in addition to the default locations.
-  The ``ENV var`` sub-option reads paths from a system environment
-  variable.
-
-``PATH_SUFFIXES``
-  Specify additional subdirectories to check below each directory
-  location otherwise considered.
-
-``DOC``
-  Specify the documentation string for the ``<VAR>`` cache entry.
-
-If ``NO_DEFAULT_PATH`` is specified, then no additional paths are
-added to the search.
-If ``NO_DEFAULT_PATH`` is not specified, the search process is as follows:
-
-.. |CMAKE_PREFIX_PATH_XXX_SUBDIR| replace::
-   |prefix_XXX_SUBDIR| for each ``<prefix>`` in :variable:`CMAKE_PREFIX_PATH`
-
-.. |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR| replace::
-   |prefix_XXX_SUBDIR| for each ``<prefix>/[s]bin`` in ``PATH``, and
-   |entry_XXX_SUBDIR| for other entries in ``PATH``
-
-.. |CMAKE_SYSTEM_PREFIX_PATH_XXX_SUBDIR| replace::
-   |prefix_XXX_SUBDIR| for each ``<prefix>`` in
-   :variable:`CMAKE_SYSTEM_PREFIX_PATH`
-
-1. Search paths specified in cmake-specific cache variables.
-   These are intended to be used on the command line with a ``-DVAR=value``.
-   This can be skipped if ``NO_CMAKE_PATH`` is passed.
-
-   * |CMAKE_PREFIX_PATH_XXX|
-   * |CMAKE_XXX_PATH|
-   * |CMAKE_XXX_MAC_PATH|
-
-2. Search paths specified in cmake-specific environment variables.
-   These are intended to be set in the user's shell configuration.
-   This can be skipped if ``NO_CMAKE_ENVIRONMENT_PATH`` is passed.
-
-   * |CMAKE_PREFIX_PATH_XXX|
-   * |CMAKE_XXX_PATH|
-   * |CMAKE_XXX_MAC_PATH|
-
-3. Search the paths specified by the ``HINTS`` option.
-   These should be paths computed by system introspection, such as a
-   hint provided by the location of another item already found.
-   Hard-coded guesses should be specified with the ``PATHS`` option.
-
-4. Search the standard system environment variables.
-   This can be skipped if ``NO_SYSTEM_ENVIRONMENT_PATH`` is an argument.
-
-   * |SYSTEM_ENVIRONMENT_PATH_XXX|
-
-5. Search cmake variables defined in the Platform files
-   for the current system.  This can be skipped if ``NO_CMAKE_SYSTEM_PATH``
-   is passed.
-
-   * |CMAKE_SYSTEM_PREFIX_PATH_XXX|
-   * |CMAKE_SYSTEM_XXX_PATH|
-   * |CMAKE_SYSTEM_XXX_MAC_PATH|
-
-6. Search the paths specified by the PATHS option
-   or in the short-hand version of the command.
-   These are typically hard-coded guesses.
-
-.. |FIND_ARGS_XXX| replace:: <VAR> NAMES name
-
-On OS X the :variable:`CMAKE_FIND_FRAMEWORK` and
-:variable:`CMAKE_FIND_APPBUNDLE` variables determine the order of
-preference between Apple-style and unix-style package components.
-
-.. include:: FIND_XXX_ROOT.txt
-.. include:: FIND_XXX_ORDER.txt
diff --git a/share/cmake-3.6/Help/command/add_custom_command.rst b/share/cmake-3.6/Help/command/add_custom_command.rst
deleted file mode 100644
index d421364..0000000
--- a/share/cmake-3.6/Help/command/add_custom_command.rst
+++ /dev/null
@@ -1,211 +0,0 @@
-add_custom_command
-------------------
-
-Add a custom build rule to the generated build system.
-
-There are two main signatures for ``add_custom_command``.
-
-Generating Files
-^^^^^^^^^^^^^^^^
-
-The first signature is for adding a custom command to produce an output::
-
-  add_custom_command(OUTPUT output1 [output2 ...]
-                     COMMAND command1 [ARGS] [args1...]
-                     [COMMAND command2 [ARGS] [args2...] ...]
-                     [MAIN_DEPENDENCY depend]
-                     [DEPENDS [depends...]]
-                     [BYPRODUCTS [files...]]
-                     [IMPLICIT_DEPENDS <lang1> depend1
-                                      [<lang2> depend2] ...]
-                     [WORKING_DIRECTORY dir]
-                     [COMMENT comment]
-                     [VERBATIM] [APPEND] [USES_TERMINAL])
-
-This defines a command to generate specified ``OUTPUT`` file(s).
-A target created in the same directory (``CMakeLists.txt`` file)
-that specifies any output of the custom command as a source file
-is given a rule to generate the file using the command at build time.
-Do not list the output in more than one independent target that
-may build in parallel or the two instances of the rule may conflict
-(instead use the :command:`add_custom_target` command to drive the
-command and make the other targets depend on that one).
-In makefile terms this creates a new target in the following form::
-
-  OUTPUT: MAIN_DEPENDENCY DEPENDS
-          COMMAND
-
-The options are:
-
-``APPEND``
-  Append the ``COMMAND`` and ``DEPENDS`` option values to the custom
-  command for the first output specified.  There must have already
-  been a previous call to this command with the same output.
-  The ``COMMENT``, ``MAIN_DEPENDENCY``, and ``WORKING_DIRECTORY``
-  options are currently ignored when APPEND is given, but may be
-  used in the future.
-
-``BYPRODUCTS``
-  Specify the files the command is expected to produce but whose
-  modification time may or may not be newer than the dependencies.
-  If a byproduct name is a relative path it will be interpreted
-  relative to the build tree directory corresponding to the
-  current source directory.
-  Each byproduct file will be marked with the :prop_sf:`GENERATED`
-  source file property automatically.
-
-  Explicit specification of byproducts is supported by the
-  :generator:`Ninja` generator to tell the ``ninja`` build tool
-  how to regenerate byproducts when they are missing.  It is
-  also useful when other build rules (e.g. custom commands)
-  depend on the byproducts.  Ninja requires a build rule for any
-  generated file on which another rule depends even if there are
-  order-only dependencies to ensure the byproducts will be
-  available before their dependents build.
-
-  The ``BYPRODUCTS`` option is ignored on non-Ninja generators
-  except to mark byproducts ``GENERATED``.
-
-``COMMAND``
-  Specify the command-line(s) to execute at build time.
-  If more than one ``COMMAND`` is specified they will be executed in order,
-  but *not* necessarily composed into a stateful shell or batch script.
-  (To run a full script, use the :command:`configure_file` command or the
-  :command:`file(GENERATE)` command to create it, and then specify
-  a ``COMMAND`` to launch it.)
-  The optional ``ARGS`` argument is for backward compatibility and
-  will be ignored.
-
-  If ``COMMAND`` specifies an executable target name (created by the
-  :command:`add_executable` command) it will automatically be replaced
-  by the location of the executable created at build time. If set, the
-  :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property will
-  also be prepended to the command to allow the executable to run on
-  the host.
-  (Use the ``TARGET_FILE``
-  :manual:`generator expression <cmake-generator-expressions(7)>` to
-  reference an executable later in the command line.)
-  Additionally a target-level dependency will be added so that the
-  executable target will be built before any target using this custom
-  command.  However this does NOT add a file-level dependency that
-  would cause the custom command to re-run whenever the executable is
-  recompiled.
-
-  Arguments to ``COMMAND`` may use
-  :manual:`generator expressions <cmake-generator-expressions(7)>`.
-  References to target names in generator expressions imply target-level
-  dependencies, but NOT file-level dependencies.  List target names with
-  the ``DEPENDS`` option to add file-level dependencies.
-
-``COMMENT``
-  Display the given message before the commands are executed at
-  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
-  custom command into the target in which this command is built.
-  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.
-
-  Arguments to ``DEPENDS`` may use
-  :manual:`generator expressions <cmake-generator-expressions(7)>`.
-
-``IMPLICIT_DEPENDS``
-  Request scanning of implicit dependencies of an input file.
-  The language given specifies the programming language whose
-  corresponding dependency scanner should be used.
-  Currently only ``C`` and ``CXX`` language scanners are supported.
-  The language has to be specified for every file in the
-  ``IMPLICIT_DEPENDS`` list.  Dependencies discovered from the
-  scanning are added to those of the custom command at build time.
-  Note that the ``IMPLICIT_DEPENDS`` option is currently supported
-  only for Makefile generators and will be ignored by other generators.
-
-``MAIN_DEPENDENCY``
-  Specify the primary input source file to the command.  This is
-  treated just like any value given to the ``DEPENDS`` option
-  but also suggests to Visual Studio generators where to hang
-  the custom command.  At most one custom command may specify a
-  given source file as its main dependency.
-
-``OUTPUT``
-  Specify the output files the command is expected to produce.
-  If an output name is a relative path it will be interpreted
-  relative to the build tree directory corresponding to the
-  current source directory.
-  Each output file will be marked with the :prop_sf:`GENERATED`
-  source file property automatically.
-  If the output of the custom command is not actually created
-  as a file on disk it should be marked with the :prop_sf:`SYMBOLIC`
-  source file property.
-
-``USES_TERMINAL``
-  The command will be given direct access to the terminal if possible.
-  With the :generator:`Ninja` generator, this places the command in
-  the ``console`` :prop_gbl:`pool <JOB_POOLS>`.
-
-``VERBATIM``
-  All arguments to the commands will be escaped properly for the
-  build tool so that the invoked command receives each argument
-  unchanged.  Note that one level of escapes is still used by the
-  CMake language processor before add_custom_command even sees the
-  arguments.  Use of ``VERBATIM`` is recommended as it enables
-  correct behavior.  When ``VERBATIM`` is not given the behavior
-  is platform specific because there is no protection of
-  tool-specific special characters.
-
-``WORKING_DIRECTORY``
-  Execute the command with the given current working directory.
-  If it is a relative path it will be interpreted relative to the
-  build tree directory corresponding to the current source directory.
-
-Build Events
-^^^^^^^^^^^^
-
-The second signature adds a custom command to a target such as a
-library or executable.  This is useful for performing an operation
-before or after building the target.  The command becomes part of the
-target and will only execute when the target itself is built.  If the
-target is already built, the command will not execute.
-
-::
-
-  add_custom_command(TARGET <target>
-                     PRE_BUILD | PRE_LINK | POST_BUILD
-                     COMMAND command1 [ARGS] [args1...]
-                     [COMMAND command2 [ARGS] [args2...] ...]
-                     [BYPRODUCTS [files...]]
-                     [WORKING_DIRECTORY dir]
-                     [COMMENT comment]
-                     [VERBATIM] [USES_TERMINAL])
-
-This defines a new command that will be associated with building the
-specified ``<target>``.  The ``<target>`` must be defined in the current
-directory; targets defined in other directories may not be specified.
-
-When the command will happen is determined by which
-of the following is specified:
-
-``PRE_BUILD``
-  Run before any other rules are executed within the target.
-  This is supported only on Visual Studio 7 or later.
-  For all other generators ``PRE_BUILD`` will be treated as
-  ``PRE_LINK``.
-``PRE_LINK``
-  Run after sources have been compiled but before linking the binary
-  or running the librarian or archiver tool of a static library.
-  This is not defined for targets created by the
-  :command:`add_custom_target` command.
-``POST_BUILD``
-  Run after all other rules within the target have been executed.
diff --git a/share/cmake-3.6/Help/command/add_custom_target.rst b/share/cmake-3.6/Help/command/add_custom_target.rst
deleted file mode 100644
index 6980d61..0000000
--- a/share/cmake-3.6/Help/command/add_custom_target.rst
+++ /dev/null
@@ -1,114 +0,0 @@
-add_custom_target
------------------
-
-Add a target with no output so it will always be built.
-
-::
-
-  add_custom_target(Name [ALL] [command1 [args1...]]
-                    [COMMAND command2 [args2...] ...]
-                    [DEPENDS depend depend depend ... ]
-                    [BYPRODUCTS [files...]]
-                    [WORKING_DIRECTORY dir]
-                    [COMMENT comment]
-                    [VERBATIM] [USES_TERMINAL]
-                    [SOURCES src1 [src2...]])
-
-Adds a target with the given name that executes the given commands.
-The target has no output file and is *always considered out of date*
-even if the commands try to create a file with the name of the target.
-Use the :command:`add_custom_command` command to generate a file with
-dependencies.  By default nothing depends on the custom target.  Use
-the :command:`add_dependencies` command to add dependencies to or
-from other targets.
-
-The options are:
-
-``ALL``
-  Indicate that this target should be added to the default build
-  target so that it will be run every time (the command cannot be
-  called ``ALL``).
-
-``BYPRODUCTS``
-  Specify the files the command is expected to produce but whose
-  modification time may or may not be updated on subsequent builds.
-  If a byproduct name is a relative path it will be interpreted
-  relative to the build tree directory corresponding to the
-  current source directory.
-  Each byproduct file will be marked with the :prop_sf:`GENERATED`
-  source file property automatically.
-
-  Explicit specification of byproducts is supported by the
-  :generator:`Ninja` generator to tell the ``ninja`` build tool
-  how to regenerate byproducts when they are missing.  It is
-  also useful when other build rules (e.g. custom commands)
-  depend on the byproducts.  Ninja requires a build rule for any
-  generated file on which another rule depends even if there are
-  order-only dependencies to ensure the byproducts will be
-  available before their dependents build.
-
-  The ``BYPRODUCTS`` option is ignored on non-Ninja generators
-  except to mark byproducts ``GENERATED``.
-
-``COMMAND``
-  Specify the command-line(s) to execute at build time.
-  If more than one ``COMMAND`` is specified they will be executed in order,
-  but *not* necessarily composed into a stateful shell or batch script.
-  (To run a full script, use the :command:`configure_file` command or the
-  :command:`file(GENERATE)` command to create it, and then specify
-  a ``COMMAND`` to launch it.)
-
-  If ``COMMAND`` specifies an executable target name (created by the
-  :command:`add_executable` command) it will automatically be replaced
-  by the location of the executable created at build time. If set, the
-  :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property will
-  also be prepended to the command to allow the executable to run on
-  the host.
-  Additionally a target-level dependency will be added so that the
-  executable target will be built before this custom target.
-
-  Arguments to ``COMMAND`` may use
-  :manual:`generator expressions <cmake-generator-expressions(7)>`.
-  References to target names in generator expressions imply target-level
-  dependencies.
-
-  The command and arguments are optional and if not specified an empty
-  target will be created.
-
-``COMMENT``
-  Display the given message before the commands are executed at
-  build time.
-
-``DEPENDS``
-  Reference files and outputs of custom commands created with
-  :command:`add_custom_command` command calls in the same directory
-  (``CMakeLists.txt`` file).  They will be brought up to date when
-  the target is built.
-
-  Use the :command:`add_dependencies` command to add dependencies
-  on other targets.
-
-``SOURCES``
-  Specify additional source files to be included in the custom target.
-  Specified source files will be added to IDE project files for
-  convenience in editing even if they have no build rules.
-
-``VERBATIM``
-  All arguments to the commands will be escaped properly for the
-  build tool so that the invoked command receives each argument
-  unchanged.  Note that one level of escapes is still used by the
-  CMake language processor before ``add_custom_target`` even sees
-  the arguments.  Use of ``VERBATIM`` is recommended as it enables
-  correct behavior.  When ``VERBATIM`` is not given the behavior
-  is platform specific because there is no protection of
-  tool-specific special characters.
-
-``USES_TERMINAL``
-  The command will be given direct access to the terminal if possible.
-  With the :generator:`Ninja` generator, this places the command in
-  the ``console`` :prop_gbl:`pool <JOB_POOLS>`.
-
-``WORKING_DIRECTORY``
-  Execute the command with the given current working directory.
-  If it is a relative path it will be interpreted relative to the
-  build tree directory corresponding to the current source directory.
diff --git a/share/cmake-3.6/Help/command/add_executable.rst b/share/cmake-3.6/Help/command/add_executable.rst
deleted file mode 100644
index 19ca658..0000000
--- a/share/cmake-3.6/Help/command/add_executable.rst
+++ /dev/null
@@ -1,80 +0,0 @@
-add_executable
---------------
-
-Add an executable to the project using the specified source files.
-
-::
-
-  add_executable(<name> [WIN32] [MACOSX_BUNDLE]
-                 [EXCLUDE_FROM_ALL]
-                 source1 [source2 ...])
-
-Adds an executable target called ``<name>`` to be built from the source
-files listed in the command invocation.  The ``<name>`` corresponds to the
-logical target name and must be globally unique within a project.  The
-actual file name of the executable built is constructed based on
-conventions of the native platform (such as ``<name>.exe`` or just
-``<name>``).
-
-By default the executable file will be created in the build tree
-directory corresponding to the source tree directory in which the
-command was invoked.  See documentation of the
-:prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target property to change this
-location.  See documentation of the :prop_tgt:`OUTPUT_NAME` target property
-to change the ``<name>`` part of the final file name.
-
-If ``WIN32`` is given the property :prop_tgt:`WIN32_EXECUTABLE` will be
-set on the target created.  See documentation of that target property for
-details.
-
-If ``MACOSX_BUNDLE`` is given the corresponding property will be set on
-the created target.  See documentation of the :prop_tgt:`MACOSX_BUNDLE`
-target property for details.
-
-If ``EXCLUDE_FROM_ALL`` is given the corresponding property will be set on
-the created target.  See documentation of the :prop_tgt:`EXCLUDE_FROM_ALL`
-target property for details.
-
-Source arguments to ``add_executable`` may use "generator expressions" with
-the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
-manual for available expressions.  See the :manual:`cmake-buildsystem(7)`
-manual for more on defining buildsystem properties.
-
-
---------------------------------------------------------------------------
-
-::
-
-  add_executable(<name> IMPORTED [GLOBAL])
-
-An :ref:`IMPORTED executable target <Imported Targets>` references an
-executable file located outside the project.  No rules are generated to
-build it, and the :prop_tgt:`IMPORTED` target property is ``True``.  The
-target name has scope in the directory in which it is created and below, but
-the ``GLOBAL`` option extends visibility.  It may be referenced like any
-target built within the project.  ``IMPORTED`` executables are useful
-for convenient reference from commands like :command:`add_custom_command`.
-Details about the imported executable are specified by setting properties
-whose names begin in ``IMPORTED_``.  The most important such property is
-:prop_tgt:`IMPORTED_LOCATION` (and its per-configuration version
-:prop_tgt:`IMPORTED_LOCATION_<CONFIG>`) which specifies the location of
-the main executable file on disk.  See documentation of the ``IMPORTED_*``
-properties for more information.
-
---------------------------------------------------------------------------
-
-::
-
-  add_executable(<name> ALIAS <target>)
-
-Creates an :ref:`Alias Target <Alias Targets>`, such that ``<name>`` can
-be used to refer to ``<target>`` in subsequent commands.  The ``<name>``
-does not appear in the generated buildsystem as a make target.  The
-``<target>`` may not be an :ref:`Imported Target <Imported Targets>` or an
-``ALIAS``.  ``ALIAS`` targets can be used as targets to read properties
-from, executables for custom commands and custom targets.  They can also be
-tested for existence with the regular :command:`if(TARGET)` subcommand.
-The ``<name>`` may not be used to modify properties of ``<target>``, that
-is, it may not be used as the operand of :command:`set_property`,
-:command:`set_target_properties`, :command:`target_link_libraries` etc.
-An ``ALIAS`` target may not be installed or exported.
diff --git a/share/cmake-3.6/Help/command/add_library.rst b/share/cmake-3.6/Help/command/add_library.rst
deleted file mode 100644
index 36adcbe..0000000
--- a/share/cmake-3.6/Help/command/add_library.rst
+++ /dev/null
@@ -1,162 +0,0 @@
-add_library
------------
-
-.. only:: html
-
-   .. contents::
-
-Add a library to the project using the specified source files.
-
-Normal Libraries
-^^^^^^^^^^^^^^^^
-
-::
-
-  add_library(<name> [STATIC | SHARED | MODULE]
-              [EXCLUDE_FROM_ALL]
-              source1 [source2 ...])
-
-Adds a library target called ``<name>`` to be built from the source files
-listed in the command invocation.  The ``<name>`` corresponds to the
-logical target name and must be globally unique within a project.  The
-actual file name of the library built is constructed based on
-conventions of the native platform (such as ``lib<name>.a`` or
-``<name>.lib``).
-
-``STATIC``, ``SHARED``, or ``MODULE`` may be given to specify the type of
-library to be created.  ``STATIC`` libraries are archives of object files
-for use when linking other targets.  ``SHARED`` libraries are linked
-dynamically and loaded at runtime.  ``MODULE`` libraries are plugins that
-are not linked into other targets but may be loaded dynamically at runtime
-using dlopen-like functionality.  If no type is given explicitly the
-type is ``STATIC`` or ``SHARED`` based on whether the current value of the
-variable :variable:`BUILD_SHARED_LIBS` is ``ON``.  For ``SHARED`` and
-``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
-property is set to ``ON`` automatically.
-A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
-target property to create an OS X Framework.
-
-If a library does not export any symbols, it must not be declared as a
-``SHARED`` library.  For example, a Windows resource DLL or a managed C++/CLI
-DLL that exports no unmanaged symbols would need to be a ``MODULE`` library.
-This is because CMake expects a ``SHARED`` library to always have an
-associated import library on Windows.
-
-By default the library file will be created in the build tree directory
-corresponding to the source tree directory in which the command was
-invoked.  See documentation of the :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`,
-:prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and
-:prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties to change this
-location.  See documentation of the :prop_tgt:`OUTPUT_NAME` target
-property to change the ``<name>`` part of the final file name.
-
-If ``EXCLUDE_FROM_ALL`` is given the corresponding property will be set on
-the created target.  See documentation of the :prop_tgt:`EXCLUDE_FROM_ALL`
-target property for details.
-
-Source arguments to ``add_library`` may use "generator expressions" with
-the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
-manual for available expressions.  See the :manual:`cmake-buildsystem(7)`
-manual for more on defining buildsystem properties.
-
-Imported Libraries
-^^^^^^^^^^^^^^^^^^
-
-::
-
-  add_library(<name> <SHARED|STATIC|MODULE|UNKNOWN> IMPORTED
-              [GLOBAL])
-
-An :ref:`IMPORTED library target <Imported Targets>` references a library
-file located outside the project.  No rules are generated to build it, and
-the :prop_tgt:`IMPORTED` target property is ``True``.  The target name has
-scope in the directory in which it is created and below, but the ``GLOBAL``
-option extends visibility.  It may be referenced like any target built
-within the project.  ``IMPORTED`` libraries are useful for convenient
-reference from commands like :command:`target_link_libraries`.  Details
-about the imported library are specified by setting properties whose names
-begin in ``IMPORTED_`` and ``INTERFACE_``.  The most important such
-property is :prop_tgt:`IMPORTED_LOCATION` (and its per-configuration
-variant :prop_tgt:`IMPORTED_LOCATION_<CONFIG>`) which specifies the
-location of the main library file on disk.  See documentation of the
-``IMPORTED_*`` and ``INTERFACE_*`` properties for more information.
-
-Object Libraries
-^^^^^^^^^^^^^^^^
-
-::
-
-  add_library(<name> OBJECT <src>...)
-
-Creates an :ref:`Object Library <Object Libraries>`.  An object library
-compiles source files but does not archive or link their object files into a
-library.  Instead other targets created by :command:`add_library` or
-:command:`add_executable` may reference the objects using an expression of the
-form ``$<TARGET_OBJECTS:objlib>`` as a source, where ``objlib`` is the
-object library name.  For example:
-
-.. code-block:: cmake
-
-  add_library(... $<TARGET_OBJECTS:objlib> ...)
-  add_executable(... $<TARGET_OBJECTS:objlib> ...)
-
-will include objlib's object files in a library and an executable
-along with those compiled from their own sources.  Object libraries
-may contain only sources that compile, header files, and other files
-that would not affect linking of a normal library (e.g. ``.txt``).
-They may contain custom commands generating such sources, but not
-``PRE_BUILD``, ``PRE_LINK``, or ``POST_BUILD`` commands.  Object libraries
-cannot be imported, exported, installed, or linked.  Some native build
-systems may not like targets that have only object files, so consider
-adding at least one real source file to any target that references
-``$<TARGET_OBJECTS:objlib>``.
-
-Alias Libraries
-^^^^^^^^^^^^^^^
-
-::
-
-  add_library(<name> ALIAS <target>)
-
-Creates an :ref:`Alias Target <Alias Targets>`, such that ``<name>`` can be
-used to refer to ``<target>`` in subsequent commands.  The ``<name>`` does
-not appear in the generatedbuildsystem as a make target.  The ``<target>``
-may not be an :ref:`Imported Target <Imported Targets>` or an ``ALIAS``.
-``ALIAS`` targets can be used as linkable targets and as targets to
-read properties from.  They can also be tested for existence with the
-regular :command:`if(TARGET)` subcommand.  The ``<name>`` may not be used
-to modify properties of ``<target>``, that is, it may not be used as the
-operand of :command:`set_property`, :command:`set_target_properties`,
-:command:`target_link_libraries` etc.  An ``ALIAS`` target may not be
-installed or exported.
-
-Interface Libraries
-^^^^^^^^^^^^^^^^^^^
-
-::
-
-  add_library(<name> INTERFACE [IMPORTED [GLOBAL]])
-
-Creates an :ref:`Interface Library <Interface Libraries>`.  An ``INTERFACE``
-library target does not directly create build output, though it may
-have properties set on it and it may be installed, exported and
-imported. Typically the ``INTERFACE_*`` properties are populated on
-the interface target using the commands:
-
-* :command:`set_property`,
-* :command:`target_link_libraries(INTERFACE)`,
-* :command:`target_include_directories(INTERFACE)`,
-* :command:`target_compile_options(INTERFACE)`,
-* :command:`target_compile_definitions(INTERFACE)`, and
-* :command:`target_sources(INTERFACE)`,
-
-and then it is used as an argument to :command:`target_link_libraries`
-like any other target.
-
-An ``INTERFACE`` :ref:`Imported Target <Imported Targets>` may also be
-created with this signature.  An ``IMPORTED`` library target references a
-library defined outside the project.  The target name has scope in the
-directory in which it is created and below, but the ``GLOBAL`` option
-extends visibility.  It may be referenced like any target built within
-the project.  ``IMPORTED`` libraries are useful for convenient reference
-from commands like :command:`target_link_libraries`.
diff --git a/share/cmake-3.6/Help/command/cmake_host_system_information.rst b/share/cmake-3.6/Help/command/cmake_host_system_information.rst
deleted file mode 100644
index 9402d57..0000000
--- a/share/cmake-3.6/Help/command/cmake_host_system_information.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-cmake_host_system_information
------------------------------
-
-Query host system specific information.
-
-::
-
-  cmake_host_system_information(RESULT <variable> QUERY <key> ...)
-
-Queries system information of the host system on which cmake runs.
-One or more ``<key>`` can be provided to select the information to be
-queried.  The list of queried values is stored in ``<variable>``.
-
-``<key>`` can be one of the following values:
-
-::
-
-  NUMBER_OF_LOGICAL_CORES   = Number of logical cores.
-  NUMBER_OF_PHYSICAL_CORES  = Number of physical cores.
-  HOSTNAME                  = Hostname.
-  FQDN                      = Fully qualified domain name.
-  TOTAL_VIRTUAL_MEMORY      = Total virtual memory in megabytes.
-  AVAILABLE_VIRTUAL_MEMORY  = Available virtual memory in megabytes.
-  TOTAL_PHYSICAL_MEMORY     = Total physical memory in megabytes.
-  AVAILABLE_PHYSICAL_MEMORY = Available physical memory in megabytes.
diff --git a/share/cmake-3.6/Help/command/cmake_parse_arguments.rst b/share/cmake-3.6/Help/command/cmake_parse_arguments.rst
deleted file mode 100644
index 6206611..0000000
--- a/share/cmake-3.6/Help/command/cmake_parse_arguments.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-cmake_parse_arguments
----------------------
-
-``cmake_parse_arguments`` is intended to be used in macros or functions for
-parsing the arguments given to that macro or function.  It processes the
-arguments and defines a set of variables which hold the values of the
-respective options.
-
-::
-
-  cmake_parse_arguments(<prefix> <options> <one_value_keywords>
-                        <multi_value_keywords> args...)
-
-
-The ``<options>`` argument contains all options for the respective macro,
-i.e.  keywords which can be used when calling the macro without any value
-following, like e.g.  the ``OPTIONAL`` keyword of the :command:`install`
-command.
-
-The ``<one_value_keywords>`` argument contains all keywords for this macro
-which are followed by one value, like e.g. ``DESTINATION`` keyword of the
-:command:`install` command.
-
-The ``<multi_value_keywords>`` argument contains all keywords for this
-macro which can be followed by more than one value, like e.g. the
-``TARGETS`` or ``FILES`` keywords of the :command:`install` command.
-
-.. note::
-
-   All keywords shall be unique. I.e. every keyword shall only be specified
-   once in either ``<options>``, ``<one_value_keywords>`` or
-   ``<multi_value_keywords>``. A warning will be emitted if uniqueness is
-   violated.
-
-When done, ``cmake_parse_arguments`` will have defined for each of the
-keywords listed in ``<options>``, ``<one_value_keywords>`` and
-``<multi_value_keywords>`` a variable composed of the given ``<prefix>``
-followed by ``"_"`` and the name of the respective keyword.  These
-variables will then hold the respective value from the argument list.
-For the ``<options>`` keywords this will be ``TRUE`` or ``FALSE``.
-
-All remaining arguments are collected in a variable
-``<prefix>_UNPARSED_ARGUMENTS``, this can be checked afterwards to see
-whether your macro was called with unrecognized parameters.
-
-As an example here a ``my_install()`` macro, which takes similar arguments
-as the real :command:`install` command:
-
-.. code-block:: cmake
-
-   function(MY_INSTALL)
-       set(options OPTIONAL FAST)
-       set(oneValueArgs DESTINATION RENAME)
-       set(multiValueArgs TARGETS CONFIGURATIONS)
-       cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}"
-                             "${multiValueArgs}" ${ARGN} )
-
-       # ...
-
-Assume ``my_install()`` has been called like this:
-
-.. code-block:: cmake
-
-   my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
-
-After the ``cmake_parse_arguments`` call the macro will have set the
-following variables::
-
-   MY_INSTALL_OPTIONAL = TRUE
-   MY_INSTALL_FAST = FALSE (was not used in call to my_install)
-   MY_INSTALL_DESTINATION = "bin"
-   MY_INSTALL_RENAME = "" (was not used)
-   MY_INSTALL_TARGETS = "foo;bar"
-   MY_INSTALL_CONFIGURATIONS = "" (was not used)
-   MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (nothing expected after "OPTIONAL")
-
-You can then continue and process these variables.
-
-Keywords terminate lists of values, e.g.  if directly after a
-one_value_keyword another recognized keyword follows, this is
-interpreted as the beginning of the new option.  E.g.
-``my_install(TARGETS foo DESTINATION OPTIONAL)`` would result in
-``MY_INSTALL_DESTINATION`` set to ``"OPTIONAL"``, but as ``OPTIONAL``
-is a keyword itself ``MY_INSTALL_DESTINATION`` will be empty and
-``MY_INSTALL_OPTIONAL`` will therefore be set to ``TRUE``.
diff --git a/share/cmake-3.6/Help/command/configure_file.rst b/share/cmake-3.6/Help/command/configure_file.rst
deleted file mode 100644
index 4304f09..0000000
--- a/share/cmake-3.6/Help/command/configure_file.rst
+++ /dev/null
@@ -1,111 +0,0 @@
-configure_file
---------------
-
-Copy a file to another location and modify its contents.
-
-::
-
-  configure_file(<input> <output>
-                 [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
-                 [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
-
-Copies an ``<input>`` file to an ``<output>`` file and substitutes
-variable values referenced as ``@VAR@`` or ``${VAR}`` in the input
-file content.  Each variable reference will be replaced with the
-current value of the variable, or the empty string if the variable
-is not defined.  Furthermore, input lines of the form::
-
-  #cmakedefine VAR ...
-
-will be replaced with either::
-
-  #define VAR ...
-
-or::
-
-  /* #undef VAR */
-
-depending on whether ``VAR`` is set in CMake to any value not considered
-a false constant by the :command:`if` command.  The "..." content on the
-line after the variable name, if any, is processed as above.
-Input file lines of the form ``#cmakedefine01 VAR`` will be replaced with
-either ``#define VAR 1`` or ``#define VAR 0`` similarly.
-
-If the input file is modified the build system will re-run CMake to
-re-configure the file and generate the build system again.
-
-The arguments are:
-
-``<input>``
-  Path to the input file.  A relative path is treated with respect to
-  the value of :variable:`CMAKE_CURRENT_SOURCE_DIR`.  The input path
-  must be a file, not a directory.
-
-``<output>``
-  Path to the output file or directory.  A relative path is treated
-  with respect to the value of :variable:`CMAKE_CURRENT_BINARY_DIR`.
-  If the path names an existing directory the output file is placed
-  in that directory with the same file name as the input file.
-
-``COPYONLY``
-  Copy the file without replacing any variable references or other
-  content.  This option may not be used with ``NEWLINE_STYLE``.
-
-``ESCAPE_QUOTES``
-  Escape any substituted quotes with backslashes (C-style).
-
-``@ONLY``
-  Restrict variable replacement to references of the form ``@VAR@``.
-  This is useful for configuring scripts that use ``${VAR}`` syntax.
-
-``NEWLINE_STYLE <style>``
-  Specify the newline style for the output file.  Specify
-  ``UNIX`` or ``LF`` for ``\n`` newlines, or specify
-  ``DOS``, ``WIN32``, or ``CRLF`` for ``\r\n`` newlines.
-  This option may not be used with ``COPYONLY``.
-
-Example
-^^^^^^^
-
-Consider a source tree containing a ``foo.h.in`` file:
-
-.. code-block:: c
-
-  #cmakedefine FOO_ENABLE
-  #cmakedefine FOO_STRING "@FOO_STRING@"
-
-An adjacent ``CMakeLists.txt`` may use ``configure_file`` to
-configure the header:
-
-.. code-block:: cmake
-
-  option(FOO_ENABLE "Enable Foo" ON)
-  if(FOO_ENABLE)
-    set(FOO_STRING "foo")
-  endif()
-  configure_file(foo.h.in foo.h @ONLY)
-
-This creates a ``foo.h`` in the build directory corresponding to
-this source directory.  If the ``FOO_ENABLE`` option is on, the
-configured file will contain:
-
-.. code-block:: c
-
-  #define FOO_ENABLE
-  #define FOO_STRING "foo"
-
-Otherwise it will contain:
-
-.. code-block:: c
-
-  /* #undef FOO_ENABLE */
-  /* #undef FOO_STRING */
-
-One may then use the :command:`include_directories` command to
-specify the output directory as an include directory:
-
-.. code-block:: cmake
-
-  include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
-so that sources may include the header as ``#include <foo.h>``.
diff --git a/share/cmake-3.6/Help/command/ctest_build.rst b/share/cmake-3.6/Help/command/ctest_build.rst
deleted file mode 100644
index e1b7793..0000000
--- a/share/cmake-3.6/Help/command/ctest_build.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-ctest_build
------------
-
-Perform the :ref:`CTest Build Step` as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_build([BUILD <build-dir>] [APPEND]
-              [CONFIGURATION <config>]
-              [FLAGS <flags>]
-              [PROJECT_NAME <project-name>]
-              [TARGET <target-name>]
-              [NUMBER_ERRORS <num-err-var>]
-              [NUMBER_WARNINGS <num-warn-var>]
-              [RETURN_VALUE <result-var>]
-              )
-
-Build the project and store results in ``Build.xml``
-for submission with the :command:`ctest_submit` command.
-
-The :variable:`CTEST_BUILD_COMMAND` variable may be set to explicitly
-specify the build command line.  Otherwise the build command line is
-computed automatically based on the options given.
-
-The options are:
-
-``BUILD <build-dir>``
-  Specify the top-level build directory.  If not given, the
-  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
-
-``APPEND``
-  Mark results for append to those previously submitted to a
-  dashboard server since the last :command:`ctest_start` call.
-  Append semantics are defined by the dashboard server in use.
-
-``CONFIGURATION <config>``
-  Specify the build configuration (e.g. ``Debug``).  If not
-  specified the ``CTEST_BUILD_CONFIGURATION`` variable will be checked.
-  Otherwise the ``-C <cfg>`` option given to the :manual:`ctest(1)`
-  command will be used, if any.
-
-``FLAGS <flags>``
-  Pass additional arguments to the underlying build command.
-  If not specified the ``CTEST_BUILD_FLAGS`` variable will be checked.
-  This can, e.g., be used to trigger a parallel build using the
-  ``-j`` option of make. See the :module:`ProcessorCount` module
-  for an example.
-
-``PROJECT_NAME <project-name>``
-  Set the name of the project to build.  This should correspond
-  to the top-level call to the :command:`project` command.
-  If not specified the ``CTEST_PROJECT_NAME`` variable will be checked.
-
-``TARGET <target-name>``
-  Specify the name of a target to build.  If not specified the
-  ``CTEST_BUILD_TARGET`` variable will be checked.  Otherwise the
-  default target will be built.  This is the "all" target
-  (called ``ALL_BUILD`` in :ref:`Visual Studio Generators`).
-
-``NUMBER_ERRORS <num-err-var>``
-  Store the number of build errors detected in the given variable.
-
-``NUMBER_WARNINGS <num-warn-var>``
-  Store the number of build warnings detected in the given variable.
-
-``RETURN_VALUE <result-var>``
-  Store the return value of the native build tool in the given variable.
-
-``QUIET``
-  Suppress any CTest-specific non-error output that would have been
-  printed to the console otherwise.  The summary of warnings / errors,
-  as well as the output from the native build tool is unaffected by
-  this option.
diff --git a/share/cmake-3.6/Help/command/ctest_configure.rst b/share/cmake-3.6/Help/command/ctest_configure.rst
deleted file mode 100644
index 851c292..0000000
--- a/share/cmake-3.6/Help/command/ctest_configure.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-ctest_configure
----------------
-
-Perform the :ref:`CTest Configure Step` as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_configure([BUILD <build-dir>] [SOURCE <source-dir>] [APPEND]
-                  [OPTIONS <options>] [RETURN_VALUE <result-var>] [QUIET])
-
-Configure the project build tree and record results in ``Configure.xml``
-for submission with the :command:`ctest_submit` command.
-
-The options are:
-
-``BUILD <build-dir>``
-  Specify the top-level build directory.  If not given, the
-  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
-
-``SOURCE <source-dir>``
-  Specify the source directory.  If not given, the
-  :variable:`CTEST_SOURCE_DIRECTORY` variable is used.
-
-``APPEND``
-  Mark results for append to those previously submitted to a
-  dashboard server since the last :command:`ctest_start` call.
-  Append semantics are defined by the dashboard server in use.
-
-``OPTIONS <options>``
-  Specify command-line arguments to pass to the configuration tool.
-
-``RETURN_VALUE <result-var>``
-  Store in the ``<result-var>`` variable the return value of the native
-  configuration tool.
-
-``QUIET``
-  Suppress any CTest-specific non-error messages that would have
-  otherwise been printed to the console.  Output from the underlying
-  configure command is not affected.
diff --git a/share/cmake-3.6/Help/command/ctest_coverage.rst b/share/cmake-3.6/Help/command/ctest_coverage.rst
deleted file mode 100644
index 12429b9..0000000
--- a/share/cmake-3.6/Help/command/ctest_coverage.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-ctest_coverage
---------------
-
-Perform the :ref:`CTest Coverage Step` as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_coverage([BUILD <build-dir>] [APPEND]
-                 [LABELS <label>...]
-                 [RETURN_VALUE <result-var>]
-                 [QUIET]
-                 )
-
-Collect coverage tool results and stores them in ``Coverage.xml``
-for submission with the :command:`ctest_submit` command.
-
-The options are:
-
-``BUILD <build-dir>``
-  Specify the top-level build directory.  If not given, the
-  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
-
-``APPEND``
-  Mark results for append to those previously submitted to a
-  dashboard server since the last :command:`ctest_start` call.
-  Append semantics are defined by the dashboard server in use.
-
-``LABELS``
-  Filter the coverage report to include only source files labeled
-  with at least one of the labels specified.
-
-``RETURN_VALUE <result-var>``
-  Store in the ``<result-var>`` variable ``0`` if coverage tools
-  ran without error and non-zero otherwise.
-
-``QUIET``
-  Suppress any CTest-specific non-error output that would have been
-  printed to the console otherwise.  The summary indicating how many
-  lines of code were covered is unaffected by this option.
diff --git a/share/cmake-3.6/Help/command/ctest_memcheck.rst b/share/cmake-3.6/Help/command/ctest_memcheck.rst
deleted file mode 100644
index 29bdf7d..0000000
--- a/share/cmake-3.6/Help/command/ctest_memcheck.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-ctest_memcheck
---------------
-
-Perform the :ref:`CTest MemCheck Step` as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_memcheck([BUILD <build-dir>] [APPEND]
-                 [START <start-number>]
-                 [END <end-number>]
-                 [STRIDE <stride-number>]
-                 [EXCLUDE <exclude-regex>]
-                 [INCLUDE <include-regex>]
-                 [EXCLUDE_LABEL <label-exclude-regex>]
-                 [INCLUDE_LABEL <label-include-regex>]
-                 [PARALLEL_LEVEL <level>]
-                 [TEST_LOAD <threshold>]
-                 [SCHEDULE_RANDOM <ON|OFF>]
-                 [STOP_TIME <time-of-day>]
-                 [RETURN_VALUE <result-var>]
-                 [QUIET]
-                 )
-
-
-Run tests with a dynamic analysis tool and store results in
-``MemCheck.xml`` for submission with the :command:`ctest_submit`
-command.
-
-The options are the same as those for the :command:`ctest_test` command.
diff --git a/share/cmake-3.6/Help/command/ctest_submit.rst b/share/cmake-3.6/Help/command/ctest_submit.rst
deleted file mode 100644
index 6830b59..0000000
--- a/share/cmake-3.6/Help/command/ctest_submit.rst
+++ /dev/null
@@ -1,65 +0,0 @@
-ctest_submit
-------------
-
-Perform the :ref:`CTest Submit Step` as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_submit([PARTS <part>...] [FILES <file>...]
-               [RETRY_COUNT <count>]
-               [RETRY_DELAY <delay>]
-               [RETURN_VALUE <result-var>]
-               [QUIET]
-               )
-
-Submit results to a dashboard server.
-By default all available parts are submitted.
-
-The options are:
-
-``PARTS <part>...``
-  Specify a subset of parts to submit.  Valid part names are::
-
-    Start      = nothing
-    Update     = ctest_update results, in Update.xml
-    Configure  = ctest_configure results, in Configure.xml
-    Build      = ctest_build results, in Build.xml
-    Test       = ctest_test results, in Test.xml
-    Coverage   = ctest_coverage results, in Coverage.xml
-    MemCheck   = ctest_memcheck results, in DynamicAnalysis.xml
-    Notes      = Files listed by CTEST_NOTES_FILES, in Notes.xml
-    ExtraFiles = Files listed by CTEST_EXTRA_SUBMIT_FILES
-    Upload     = Files prepared for upload by ctest_upload(), in Upload.xml
-    Submit     = nothing
-
-``FILES <file>...``
-  Specify an explicit list of specific files to be submitted.
-  Each individual file must exist at the time of the call.
-
-``RETRY_COUNT <count>``
-  Specify how many times to retry a timed-out submission.
-
-``RETRY_DELAY <delay>``
-  Specify how long (in seconds) to wait after a timed-out submission
-  before attempting to re-submit.
-
-``RETURN_VALUE <result-var>``
-  Store in the ``<result-var>`` variable ``0`` for success and
-  non-zero on failure.
-
-``QUIET``
-  Suppress all non-error messages that would have otherwise been
-  printed to the console.
-
-Submit to CDash Upload API
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>])
-
-This second signature is used to upload files to CDash via the CDash
-file upload API. The api first sends a request to upload to CDash along
-with a content hash of the file. If CDash does not already have the file,
-then it is uploaded. Along with the file, a CDash type string is specified
-to tell CDash which handler to use to process the data.
diff --git a/share/cmake-3.6/Help/command/ctest_test.rst b/share/cmake-3.6/Help/command/ctest_test.rst
deleted file mode 100644
index 412e323..0000000
--- a/share/cmake-3.6/Help/command/ctest_test.rst
+++ /dev/null
@@ -1,90 +0,0 @@
-ctest_test
-----------
-
-Perform the :ref:`CTest Test Step` as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_test([BUILD <build-dir>] [APPEND]
-             [START <start-number>]
-             [END <end-number>]
-             [STRIDE <stride-number>]
-             [EXCLUDE <exclude-regex>]
-             [INCLUDE <include-regex>]
-             [EXCLUDE_LABEL <label-exclude-regex>]
-             [INCLUDE_LABEL <label-include-regex>]
-             [PARALLEL_LEVEL <level>]
-             [TEST_LOAD <threshold>]
-             [SCHEDULE_RANDOM <ON|OFF>]
-             [STOP_TIME <time-of-day>]
-             [RETURN_VALUE <result-var>]
-             [QUIET]
-             )
-
-Run tests in the project build tree and store results in
-``Test.xml`` for submission with the :command:`ctest_submit` command.
-
-The options are:
-
-``BUILD <build-dir>``
-  Specify the top-level build directory.  If not given, the
-  :variable:`CTEST_BINARY_DIRECTORY` variable is used.
-
-``APPEND``
-  Mark results for append to those previously submitted to a
-  dashboard server since the last :command:`ctest_start` call.
-  Append semantics are defined by the dashboard server in use.
-
-``START <start-number>``
-  Specify the beginning of a range of test numbers.
-
-``END <end-number>``
-  Specify the end of a range of test numbers.
-
-``STRIDE <stride-number>``
-  Specify the stride by which to step across a range of test numbers.
-
-``EXCLUDE <exclude-regex>``
-  Specify a regular expression matching test names to exclude.
-
-``INCLUDE <include-regex>``
-  Specify a regular expression matching test names to include.
-  Tests not matching this expression are excluded.
-
-``EXCLUDE_LABEL <label-exclude-regex>``
-  Specify a regular expression matching test labels to exclude.
-
-``INCLUDE_LABEL <label-include-regex>``
-  Specify a regular expression matching test labels to include.
-  Tests not matching this expression are excluded.
-
-``PARALLEL_LEVEL <level>``
-  Specify a positive number representing the number of tests to
-  be run in parallel.
-
-``TEST_LOAD <threshold>``
-  While running tests in parallel, try not to start tests when they
-  may cause the CPU load to pass above a given threshold.  If not
-  specified the :variable:`CTEST_TEST_LOAD` variable will be checked,
-  and then the ``--test-load`` command-line argument to :manual:`ctest(1)`.
-  See also the ``TestLoad`` setting in the :ref:`CTest Test Step`.
-
-``SCHEDULE_RANDOM <ON|OFF>``
-  Launch tests in a random order.  This may be useful for detecting
-  implicit test dependencies.
-
-``STOP_TIME <time-of-day>``
-  Specify a time of day at which the tests should all stop running.
-
-``RETURN_VALUE <result-var>``
-  Store in the ``<result-var>`` variable ``0`` if all tests passed.
-  Store non-zero if anything went wrong.
-
-``QUIET``
-  Suppress any CTest-specific non-error messages that would have otherwise
-  been printed to the console.  Output from the underlying test command is not
-  affected.  Summary info detailing the percentage of passing tests is also
-  unaffected by the ``QUIET`` option.
-
-See also the :variable:`CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE`
-and :variable:`CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE` variables.
diff --git a/share/cmake-3.6/Help/command/ctest_upload.rst b/share/cmake-3.6/Help/command/ctest_upload.rst
deleted file mode 100644
index d9630d2..0000000
--- a/share/cmake-3.6/Help/command/ctest_upload.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-ctest_upload
-------------
-
-Upload files to a dashboard server as a :ref:`Dashboard Client`.
-
-::
-
-  ctest_upload(FILES <file>... [QUIET])
-
-The options are:
-
-``FILES <file>...``
-  Specify a list of files to be sent along with the build results to the
-  dashboard server.
-
-``QUIET``
-  Suppress any CTest-specific non-error output that would have been
-  printed to the console otherwise.
diff --git a/share/cmake-3.6/Help/command/execute_process.rst b/share/cmake-3.6/Help/command/execute_process.rst
deleted file mode 100644
index ca44b53..0000000
--- a/share/cmake-3.6/Help/command/execute_process.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-execute_process
----------------
-
-Execute one or more child processes.
-
-.. code-block:: cmake
-
-  execute_process(COMMAND <cmd1> [args1...]]
-                  [COMMAND <cmd2> [args2...] [...]]
-                  [WORKING_DIRECTORY <directory>]
-                  [TIMEOUT <seconds>]
-                  [RESULT_VARIABLE <variable>]
-                  [OUTPUT_VARIABLE <variable>]
-                  [ERROR_VARIABLE <variable>]
-                  [INPUT_FILE <file>]
-                  [OUTPUT_FILE <file>]
-                  [ERROR_FILE <file>]
-                  [OUTPUT_QUIET]
-                  [ERROR_QUIET]
-                  [OUTPUT_STRIP_TRAILING_WHITESPACE]
-                  [ERROR_STRIP_TRAILING_WHITESPACE])
-
-Runs the given sequence of one or more commands with the standard
-output of each process piped to the standard input of the next.
-A single standard error pipe is used for all processes.
-
-Options:
-
-``COMMAND``
- A child process command line.
-
- CMake executes the child process using operating system APIs directly.
- All arguments are passed VERBATIM to the child process.
- No intermediate shell is used, so shell operators such as ``>``
- are treated as normal arguments.
- (Use the ``INPUT_*``, ``OUTPUT_*``, and ``ERROR_*`` options to
- redirect stdin, stdout, and stderr.)
-
-``WORKING_DIRECTORY``
- The named directory will be set as the current working directory of
- the child processes.
-
-``TIMEOUT``
- The child processes will be terminated if they do not finish in the
- specified number of seconds (fractions are allowed).
-
-``RESULT_VARIABLE``
- The variable will be set to contain the result of running the processes.
- This will be an integer return code from the last child or a string
- describing an error condition.
-
-``OUTPUT_VARIABLE``, ``ERROR_VARIABLE``
- The variable named will be set with the contents of the standard output
- and standard error pipes, respectively.  If the same variable is named
- for both pipes their output will be merged in the order produced.
-
-``INPUT_FILE, OUTPUT_FILE``, ``ERROR_FILE``
- The file named will be attached to the standard input of the first
- process, standard output of the last process, or standard error of
- all processes, respectively.  If the same file is named for both
- output and error then it will be used for both.
-
-``OUTPUT_QUIET``, ``ERROR_QUIET``
- The standard output or standard error results will be quietly ignored.
-
-If more than one ``OUTPUT_*`` or ``ERROR_*`` option is given for the
-same pipe the precedence is not specified.
-If no ``OUTPUT_*`` or ``ERROR_*`` options are given the output will
-be shared with the corresponding pipes of the CMake process itself.
-
-The :command:`execute_process` command is a newer more powerful version of
-:command:`exec_program`, but the old command has been kept for compatibility.
-Both commands run while CMake is processing the project prior to build
-system generation.  Use :command:`add_custom_target` and
-:command:`add_custom_command` to create custom commands that run at
-build time.
diff --git a/share/cmake-3.6/Help/command/export.rst b/share/cmake-3.6/Help/command/export.rst
deleted file mode 100644
index 4419dc1..0000000
--- a/share/cmake-3.6/Help/command/export.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-export
-------
-
-Export targets from the build tree for use by outside projects.
-
-::
-
-  export(EXPORT <export-name> [NAMESPACE <namespace>] [FILE <filename>])
-
-Create a file ``<filename>`` that may be included by outside projects to
-import targets from the current project's build tree.  This is useful
-during cross-compiling to build utility executables that can run on
-the host platform in one project and then import them into another
-project being compiled for the target platform.  If the ``NAMESPACE``
-option is given the ``<namespace>`` string will be prepended to all target
-names written to the file.
-
-Target installations are associated with the export ``<export-name>``
-using the ``EXPORT`` option of the :command:`install(TARGETS)` command.
-
-The file created by this command is specific to the build tree and
-should never be installed.  See the :command:`install(EXPORT)` command to
-export targets from an installation tree.
-
-The properties set on the generated IMPORTED targets will have the
-same values as the final values of the input TARGETS.
-
-::
-
-  export(TARGETS [target1 [target2 [...]]] [NAMESPACE <namespace>]
-         [APPEND] FILE <filename> [EXPORT_LINK_INTERFACE_LIBRARIES])
-
-This signature is similar to the ``EXPORT`` signature, but targets are listed
-explicitly rather than specified as an export-name.  If the APPEND option is
-given the generated code will be appended to the file instead of overwriting it.
-The EXPORT_LINK_INTERFACE_LIBRARIES keyword, if present, causes the
-contents of the properties matching
-``(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?`` to be exported, when
-policy CMP0022 is NEW.  If a library target is included in the export
-but a target to which it links is not included the behavior is
-unspecified.
-
-::
-
-  export(PACKAGE <name>)
-
-Store the current build directory in the CMake user package registry
-for package ``<name>``.  The find_package command may consider the
-directory while searching for package ``<name>``.  This helps dependent
-projects find and use a package from the current project's build tree
-without help from the user.  Note that the entry in the package
-registry that this command creates works only in conjunction with a
-package configuration file (``<name>Config.cmake``) that works with the
-build tree. In some cases, for example for packaging and for system
-wide installations, it is not desirable to write the user package
-registry. If the :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable
-is enabled, the ``export(PACKAGE)`` command will do nothing.
diff --git a/share/cmake-3.6/Help/command/file.rst b/share/cmake-3.6/Help/command/file.rst
deleted file mode 100644
index 256d16d..0000000
--- a/share/cmake-3.6/Help/command/file.rst
+++ /dev/null
@@ -1,359 +0,0 @@
-file
-----
-
-File manipulation command.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(WRITE <filename> <content>...)
-  file(APPEND <filename> <content>...)
-
-Write ``<content>`` into a file called ``<filename>``.  If the file does
-not exist, it will be created.  If the file already exists, ``WRITE``
-mode will overwrite it and ``APPEND`` mode will append to the end.
-(If the file is a build input, use the :command:`configure_file` command
-to update the file only when its content changes.)
-
-------------------------------------------------------------------------------
-
-::
-
-  file(READ <filename> <variable>
-       [OFFSET <offset>] [LIMIT <max-in>] [HEX])
-
-Read content from a file called ``<filename>`` and store it in a
-``<variable>``.  Optionally start from the given ``<offset>`` and
-read at most ``<max-in>`` bytes.  The ``HEX`` option causes data to
-be converted to a hexadecimal representation (useful for binary data).
-
-------------------------------------------------------------------------------
-
-::
-
-  file(STRINGS <filename> <variable> [<options>...])
-
-Parse a list of ASCII strings from ``<filename>`` and store it in
-``<variable>``.  Binary data in the file are ignored.  Carriage return
-(``\r``, CR) characters are ignored.  The options are:
-
-``LENGTH_MAXIMUM <max-len>``
- Consider only strings of at most a given length.
-
-``LENGTH_MINIMUM <min-len>``
- Consider only strings of at least a given length.
-
-``LIMIT_COUNT <max-num>``
- Limit the number of distinct strings to be extracted.
-
-``LIMIT_INPUT <max-in>``
- Limit the number of input bytes to read from the file.
-
-``LIMIT_OUTPUT <max-out>``
- Limit the number of total bytes to store in the ``<variable>``.
-
-``NEWLINE_CONSUME``
- Treat newline characters (``\n``, LF) as part of string content
- instead of terminating at them.
-
-``NO_HEX_CONVERSION``
- Intel Hex and Motorola S-record files are automatically converted to
- binary while reading unless this option is given.
-
-``REGEX <regex>``
- Consider only strings that match the given regular expression.
-
-``ENCODING <encoding-type>``
- Consider strings of a given encoding.  Currently supported encodings are:
- UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE.  If the ENCODING option
- is not provided and the file has a Byte Order Mark, the ENCODING option
- will be defaulted to respect the Byte Order Mark.
-
-For example, the code
-
-.. code-block:: cmake
-
-  file(STRINGS myfile.txt myfile)
-
-stores a list in the variable ``myfile`` in which each item is a line
-from the input file.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512> <filename> <variable>)
-
-Compute a cryptographic hash of the content of ``<filename>`` and
-store it in a ``<variable>``.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(GLOB <variable>
-       [LIST_DIRECTORIES true|false] [RELATIVE <path>]
-       [<globbing-expressions>...])
-  file(GLOB_RECURSE <variable> [FOLLOW_SYMLINKS]
-       [LIST_DIRECTORIES true|false] [RELATIVE <path>]
-       [<globbing-expressions>...])
-
-Generate a list of files that match the ``<globbing-expressions>`` and
-store it into the ``<variable>``.  Globbing expressions are similar to
-regular expressions, but much simpler.  If ``RELATIVE`` flag is
-specified, the results will be returned as relative paths to the given
-path.  No specific order of results is defined other than that it is
-deterministic.  If order is important then sort the list explicitly
-(e.g. using the :command:`list(SORT)` command).
-
-By default ``GLOB`` lists directories - directories are omited in result if
-``LIST_DIRECTORIES`` is set to false.
-
-.. note::
-  We do not recommend using GLOB to collect a list of source files from
-  your source tree.  If no CMakeLists.txt file changes when a source is
-  added or removed then the generated build system cannot know when to
-  ask CMake to regenerate.
-
-Examples of globbing expressions include::
-
-  *.cxx      - match all files with extension cxx
-  *.vt?      - match all files with extension vta,...,vtz
-  f[3-5].txt - match files f3.txt, f4.txt, f5.txt
-
-The ``GLOB_RECURSE`` mode will traverse all the subdirectories of the
-matched directory and match the files.  Subdirectories that are symlinks
-are only traversed if ``FOLLOW_SYMLINKS`` is given or policy
-:policy:`CMP0009` is not set to ``NEW``.
-
-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.
-
-Examples of recursive globbing include::
-
-  /dir/*.py  - match all python files in /dir and subdirectories
-
-------------------------------------------------------------------------------
-
-::
-
-  file(RENAME <oldname> <newname>)
-
-Move a file or directory within a filesystem from ``<oldname>`` to
-``<newname>``, replacing the destination atomically.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(REMOVE [<files>...])
-  file(REMOVE_RECURSE [<files>...])
-
-Remove the given files.  The ``REMOVE_RECURSE`` mode will remove the given
-files and directories, also non-empty directories
-
-------------------------------------------------------------------------------
-
-::
-
-  file(MAKE_DIRECTORY [<directories>...])
-
-Create the given directories and their parents as needed.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(RELATIVE_PATH <variable> <directory> <file>)
-
-Compute the relative path from a ``<directory>`` to a ``<file>`` and
-store it in the ``<variable>``.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(TO_CMAKE_PATH "<path>" <variable>)
-  file(TO_NATIVE_PATH "<path>" <variable>)
-
-The ``TO_CMAKE_PATH`` mode converts a native ``<path>`` into a cmake-style
-path with forward-slashes (``/``).  The input can be a single path or a
-system search path like ``$ENV{PATH}``.  A search path will be converted
-to a cmake-style list separated by ``;`` characters.
-
-The ``TO_NATIVE_PATH`` mode converts a cmake-style ``<path>`` into a native
-path with platform-specific slashes (``\`` on Windows and ``/`` elsewhere).
-
-Always use double quotes around the ``<path>`` to be sure it is treated
-as a single argument to this command.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(DOWNLOAD <url> <file> [<options>...])
-  file(UPLOAD   <file> <url> [<options>...])
-
-The ``DOWNLOAD`` mode downloads the given ``<url>`` to a local ``<file>``.
-The ``UPLOAD`` mode uploads a local ``<file>`` to a given ``<url>``.
-
-Options to both ``DOWNLOAD`` and ``UPLOAD`` are:
-
-``INACTIVITY_TIMEOUT <seconds>``
-  Terminate the operation after a period of inactivity.
-
-``LOG <variable>``
-  Store a human-readable log of the operation in a variable.
-
-``SHOW_PROGRESS``
-  Print progress information as status messages until the operation is
-  complete.
-
-``STATUS <variable>``
-  Store the resulting status of the operation in a variable.
-  The status is a ``;`` separated list of length 2.
-  The first element is the numeric return value for the operation,
-  and the second element is a string value for the error.
-  A ``0`` numeric error means no error in the operation.
-
-``TIMEOUT <seconds>``
-  Terminate the operation after a given total time has elapsed.
-
-Additional options to ``DOWNLOAD`` are:
-
-``EXPECTED_HASH ALGO=<value>``
-
-  Verify that the downloaded content hash matches the expected value, where
-  ``ALGO`` is one of ``MD5``, ``SHA1``, ``SHA224``, ``SHA256``, ``SHA384``, or
-  ``SHA512``.  If it does not match, the operation fails with an error.
-
-``EXPECTED_MD5 <value>``
-  Historical short-hand for ``EXPECTED_HASH MD5=<value>``.
-
-``TLS_VERIFY <ON|OFF>``
-  Specify whether to verify the server certificate for ``https://`` URLs.
-  The default is to *not* verify.
-
-``TLS_CAINFO <file>``
-  Specify a custom Certificate Authority file for ``https://`` URLs.
-
-For ``https://`` URLs CMake must be built with OpenSSL support.  ``TLS/SSL``
-certificates are not checked by default.  Set ``TLS_VERIFY`` to ``ON`` to
-check certificates and/or use ``EXPECTED_HASH`` to verify downloaded content.
-If neither ``TLS`` option is given CMake will check variables
-``CMAKE_TLS_VERIFY`` and ``CMAKE_TLS_CAINFO``, respectively.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(TIMESTAMP <filename> <variable> [<format>] [UTC])
-
-Compute a string representation of the modification time of ``<filename>``
-and store it in ``<variable>``.  Should the command be unable to obtain a
-timestamp variable will be set to the empty string ("").
-
-See the :command:`string(TIMESTAMP)` command for documentation of
-the ``<format>`` and ``UTC`` options.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(GENERATE OUTPUT output-file
-       <INPUT input-file|CONTENT content>
-       [CONDITION expression])
-
-Generate an output file for each build configuration supported by the current
-:manual:`CMake Generator <cmake-generators(7)>`.  Evaluate
-:manual:`generator expressions <cmake-generator-expressions(7)>`
-from the input content to produce the output content.  The options are:
-
-``CONDITION <condition>``
-  Generate the output file for a particular configuration only if
-  the condition is true.  The condition must be either ``0`` or ``1``
-  after evaluating generator expressions.
-
-``CONTENT <content>``
-  Use the content given explicitly as input.
-
-``INPUT <input-file>``
-  Use the content from a given file as input.
-
-``OUTPUT <output-file>``
-  Specify the output file name to generate.  Use generator expressions
-  such as ``$<CONFIG>`` to specify a configuration-specific output file
-  name.  Multiple configurations may generate the same output file only
-  if the generated content is identical.  Otherwise, the ``<output-file>``
-  must evaluate to an unique name for each configuration.
-
-Exactly one ``CONTENT`` or ``INPUT`` option must be given.  A specific
-``OUTPUT`` file may be named by at most one invocation of ``file(GENERATE)``.
-Generated files are modified on subsequent cmake runs only if their content
-is changed.
-
-------------------------------------------------------------------------------
-
-::
-
-  file(<COPY|INSTALL> <files>... DESTINATION <dir>
-       [FILE_PERMISSIONS <permissions>...]
-       [DIRECTORY_PERMISSIONS <permissions>...]
-       [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS]
-       [FILES_MATCHING]
-       [[PATTERN <pattern> | REGEX <regex>]
-        [EXCLUDE] [PERMISSIONS <permissions>...]] [...])
-
-The ``COPY`` signature copies files, directories, and symlinks to a
-destination folder.  Relative input paths are evaluated with respect
-to the current source directory, and a relative destination is
-evaluated with respect to the current build directory.  Copying
-preserves input file timestamps, and optimizes out a file if it exists
-at the destination with the same timestamp.  Copying preserves input
-permissions unless explicit permissions or ``NO_SOURCE_PERMISSIONS``
-are given (default is ``USE_SOURCE_PERMISSIONS``).
-
-See the :command:`install(DIRECTORY)` command for documentation of
-permissions, ``FILES_MATCHING``, ``PATTERN``, ``REGEX``, and
-``EXCLUDE`` options.  Copying directories preserves the structure
-of their content even if options are used to select a subset of
-files.
-
-The ``INSTALL`` signature differs slightly from ``COPY``: it prints
-status messages (subject to the :variable:`CMAKE_INSTALL_MESSAGE` variable),
-and ``NO_SOURCE_PERMISSIONS`` is default.
-Installation scripts generated by the :command:`install` command
-use this signature (with some undocumented options for internal use).
-
-------------------------------------------------------------------------------
-
-::
-
-  file(LOCK <path> [DIRECTORY] [RELEASE]
-       [GUARD <FUNCTION|FILE|PROCESS>]
-       [RESULT_VARIABLE <variable>]
-       [TIMEOUT <seconds>])
-
-Lock a file specified by ``<path>`` if no ``DIRECTORY`` option present and file
-``<path>/cmake.lock`` otherwise. File will be locked for scope defined by
-``GUARD`` option (default value is ``PROCESS``). ``RELEASE`` option can be used
-to unlock file explicitly. If option ``TIMEOUT`` is not specified CMake will
-wait until lock succeed or until fatal error occurs. If ``TIMEOUT`` is set to
-``0`` lock will be tried once and result will be reported immediately. If
-``TIMEOUT`` is not ``0`` CMake will try to lock file for the period specified
-by ``<seconds>`` value. Any errors will be interpreted as fatal if there is no
-``RESULT_VARIABLE`` option. Otherwise result will be stored in ``<variable>``
-and will be ``0`` on success or error message on failure.
-
-Note that lock is advisory - there is no guarantee that other processes will
-respect this lock, i.e. lock synchronize two or more CMake instances sharing
-some modifiable resources. Similar logic applied to ``DIRECTORY`` option -
-locking parent directory doesn't prevent other ``LOCK`` commands to lock any
-child directory or file.
-
-Trying to lock file twice is not allowed.  Any intermediate directories and
-file itself will be created if they not exist.  ``GUARD`` and ``TIMEOUT``
-options ignored on ``RELEASE`` operation.
diff --git a/share/cmake-3.6/Help/command/find_library.rst b/share/cmake-3.6/Help/command/find_library.rst
deleted file mode 100644
index 31e6ec0..0000000
--- a/share/cmake-3.6/Help/command/find_library.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-find_library
-------------
-
-.. |FIND_XXX| replace:: find_library
-.. |NAMES| replace:: NAMES name1 [name2 ...] [NAMES_PER_DIR]
-.. |SEARCH_XXX| replace:: library
-.. |SEARCH_XXX_DESC| replace:: library
-.. |prefix_XXX_SUBDIR| replace:: ``<prefix>/lib``
-.. |entry_XXX_SUBDIR| replace:: ``<entry>/lib``
-
-.. |CMAKE_PREFIX_PATH_XXX| replace::
-   ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
-   and |CMAKE_PREFIX_PATH_XXX_SUBDIR|
-.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_LIBRARY_PATH`
-.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
-
-.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``LIB``.
-   On Windows hosts:
-   ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
-   and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|,
-   and the directories in ``PATH`` itself.
-
-.. |CMAKE_SYSTEM_PREFIX_PATH_XXX| replace::
-   ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
-   and |CMAKE_SYSTEM_PREFIX_PATH_XXX_SUBDIR|
-.. |CMAKE_SYSTEM_XXX_PATH| replace::
-   :variable:`CMAKE_SYSTEM_LIBRARY_PATH`
-.. |CMAKE_SYSTEM_XXX_MAC_PATH| replace::
-   :variable:`CMAKE_SYSTEM_FRAMEWORK_PATH`
-
-.. |CMAKE_FIND_ROOT_PATH_MODE_XXX| replace::
-   :variable:`CMAKE_FIND_ROOT_PATH_MODE_LIBRARY`
-
-.. include:: FIND_XXX.txt
-
-When more than one value is given to the ``NAMES`` option this command by
-default will consider one name at a time and search every directory
-for it.  The ``NAMES_PER_DIR`` option tells this command to consider one
-directory at a time and search for all names in it.
-
-Each library name given to the ``NAMES`` option is first considered
-as a library file name and then considered with platform-specific
-prefixes (e.g. ``lib``) and suffixes (e.g. ``.so``).  Therefore one
-may specify library file names such as ``libfoo.a`` directly.
-This can be used to locate static libraries on UNIX-like systems.
-
-If the library found is a framework, then ``<VAR>`` will be set to the full
-path to the framework ``<fullPath>/A.framework``.  When a full path to a
-framework is used as a library, CMake will use a ``-framework A``, and a
-``-F<fullPath>`` to link the framework to the target.
-
-If the :prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS` global property is set
-all search paths will be tested as normal, with ``64/`` appended, and
-with all matches of ``lib/`` replaced with ``lib64/``.  This property is
-automatically set for the platforms that are known to need it if at
-least one of the languages supported by the :command:`project` command
-is enabled.
diff --git a/share/cmake-3.6/Help/command/find_package.rst b/share/cmake-3.6/Help/command/find_package.rst
deleted file mode 100644
index 58dff9d..0000000
--- a/share/cmake-3.6/Help/command/find_package.rst
+++ /dev/null
@@ -1,344 +0,0 @@
-find_package
-------------
-
-Load settings for an external project.
-
-::
-
-  find_package(<package> [version] [EXACT] [QUIET] [MODULE]
-               [REQUIRED] [[COMPONENTS] [components...]]
-               [OPTIONAL_COMPONENTS components...]
-               [NO_POLICY_SCOPE])
-
-Finds and loads settings from an external project.  ``<package>_FOUND``
-will be set to indicate whether the package was found.  When the
-package is found package-specific information is provided through
-variables and :ref:`Imported Targets` documented by the package itself.  The
-``QUIET`` option disables messages if the package cannot be found.  The
-``MODULE`` option disables the second signature documented below.  The
-``REQUIRED`` option stops processing with an error message if the package
-cannot be found.
-
-A package-specific list of required components may be listed after the
-``COMPONENTS`` option (or after the ``REQUIRED`` option if present).
-Additional optional components may be listed after
-``OPTIONAL_COMPONENTS``.  Available components and their influence on
-whether a package is considered to be found are defined by the target
-package.
-
-The ``[version]`` argument requests a version with which the package found
-should be compatible (format is ``major[.minor[.patch[.tweak]]]``).  The
-``EXACT`` option requests that the version be matched exactly.  If no
-``[version]`` and/or component list is given to a recursive invocation
-inside a find-module, the corresponding arguments are forwarded
-automatically from the outer call (including the ``EXACT`` flag for
-``[version]``).  Version support is currently provided only on a
-package-by-package basis (details below).
-
-User code should generally look for packages using the above simple
-signature.  The remainder of this command documentation specifies the
-full command signature and details of the search process.  Project
-maintainers wishing to provide a package to be found by this command
-are encouraged to read on.
-
-The command has two modes by which it searches for packages: "Module"
-mode and "Config" mode.  Module mode is available when the command is
-invoked with the above reduced signature.  CMake searches for a file
-called ``Find<package>.cmake`` in the :variable:`CMAKE_MODULE_PATH`
-followed by the CMake installation.  If the file is found, it is read
-and processed by CMake.  It is responsible for finding the package,
-checking the version, and producing any needed messages.  Many
-find-modules provide limited or no support for versioning; check
-the module documentation.  If no module is found and the ``MODULE``
-option is not given the command proceeds to Config mode.
-
-The complete Config mode command signature is::
-
-  find_package(<package> [version] [EXACT] [QUIET]
-               [REQUIRED] [[COMPONENTS] [components...]]
-               [CONFIG|NO_MODULE]
-               [NO_POLICY_SCOPE]
-               [NAMES name1 [name2 ...]]
-               [CONFIGS config1 [config2 ...]]
-               [HINTS path1 [path2 ... ]]
-               [PATHS path1 [path2 ... ]]
-               [PATH_SUFFIXES suffix1 [suffix2 ...]]
-               [NO_DEFAULT_PATH]
-               [NO_CMAKE_ENVIRONMENT_PATH]
-               [NO_CMAKE_PATH]
-               [NO_SYSTEM_ENVIRONMENT_PATH]
-               [NO_CMAKE_PACKAGE_REGISTRY]
-               [NO_CMAKE_BUILDS_PATH] # Deprecated; does nothing.
-               [NO_CMAKE_SYSTEM_PATH]
-               [NO_CMAKE_SYSTEM_PACKAGE_REGISTRY]
-               [CMAKE_FIND_ROOT_PATH_BOTH |
-                ONLY_CMAKE_FIND_ROOT_PATH |
-                NO_CMAKE_FIND_ROOT_PATH])
-
-The ``CONFIG`` option may be used to skip Module mode explicitly and
-switch to Config mode.  It is synonymous to using ``NO_MODULE``.  Config
-mode is also implied by use of options not specified in the reduced
-signature.
-
-Config mode attempts to locate a configuration file provided by the
-package to be found.  A cache entry called ``<package>_DIR`` is created to
-hold the directory containing the file.  By default the command
-searches for a package with the name ``<package>``.  If the ``NAMES`` option
-is given the names following it are used instead of ``<package>``.  The
-command searches for a file called ``<name>Config.cmake`` or
-``<lower-case-name>-config.cmake`` for each name specified.  A
-replacement set of possible configuration file names may be given
-using the ``CONFIGS`` option.  The search procedure is specified below.
-Once found, the configuration file is read and processed by CMake.
-Since the file is provided by the package it already knows the
-location of package contents.  The full path to the configuration file
-is stored in the cmake variable ``<package>_CONFIG``.
-
-All configuration files which have been considered by CMake while
-searching for an installation of the package with an appropriate
-version are stored in the cmake variable ``<package>_CONSIDERED_CONFIGS``,
-the associated versions in ``<package>_CONSIDERED_VERSIONS``.
-
-If the package configuration file cannot be found CMake will generate
-an error describing the problem unless the ``QUIET`` argument is
-specified.  If ``REQUIRED`` is specified and the package is not found a
-fatal error is generated and the configure step stops executing.  If
-``<package>_DIR`` has been set to a directory not containing a
-configuration file CMake will ignore it and search from scratch.
-
-When the ``[version]`` argument is given Config mode will only find a
-version of the package that claims compatibility with the requested
-version (format is ``major[.minor[.patch[.tweak]]]``).  If the ``EXACT``
-option is given only a version of the package claiming an exact match
-of the requested version may be found.  CMake does not establish any
-convention for the meaning of version numbers.  Package version
-numbers are checked by "version" files provided by the packages
-themselves.  For a candidate package configuration file
-``<config-file>.cmake`` the corresponding version file is located next
-to it and named either ``<config-file>-version.cmake`` or
-``<config-file>Version.cmake``.  If no such version file is available
-then the configuration file is assumed to not be compatible with any
-requested version.  A basic version file containing generic version
-matching code can be created using the
-:module:`CMakePackageConfigHelpers` module.  When a version file
-is found it is loaded to check the requested version number.  The
-version file is loaded in a nested scope in which the following
-variables have been defined:
-
-``PACKAGE_FIND_NAME``
-  the ``<package>`` name
-``PACKAGE_FIND_VERSION``
-  full requested version string
-``PACKAGE_FIND_VERSION_MAJOR``
-  major version if requested, else 0
-``PACKAGE_FIND_VERSION_MINOR``
-  minor version if requested, else 0
-``PACKAGE_FIND_VERSION_PATCH``
-  patch version if requested, else 0
-``PACKAGE_FIND_VERSION_TWEAK``
-  tweak version if requested, else 0
-``PACKAGE_FIND_VERSION_COUNT``
-  number of version components, 0 to 4
-
-The version file checks whether it satisfies the requested version and
-sets these variables:
-
-``PACKAGE_VERSION``
-  full provided version string
-``PACKAGE_VERSION_EXACT``
-  true if version is exact match
-``PACKAGE_VERSION_COMPATIBLE``
-  true if version is compatible
-``PACKAGE_VERSION_UNSUITABLE``
-  true if unsuitable as any version
-
-These variables are checked by the ``find_package`` command to determine
-whether the configuration file provides an acceptable version.  They
-are not available after the find_package call returns.  If the version
-is acceptable the following variables are set:
-
-``<package>_VERSION``
-  full provided version string
-``<package>_VERSION_MAJOR``
-  major version if provided, else 0
-``<package>_VERSION_MINOR``
-  minor version if provided, else 0
-``<package>_VERSION_PATCH``
-  patch version if provided, else 0
-``<package>_VERSION_TWEAK``
-  tweak version if provided, else 0
-``<package>_VERSION_COUNT``
-  number of version components, 0 to 4
-
-and the corresponding package configuration file is loaded.  When
-multiple package configuration files are available whose version files
-claim compatibility with the version requested it is unspecified which
-one is chosen.  No attempt is made to choose a highest or closest
-version number.
-
-Config mode provides an elaborate interface and search procedure.
-Much of the interface is provided for completeness and for use
-internally by find-modules loaded by Module mode.  Most user code
-should simply call::
-
-  find_package(<package> [major[.minor]] [EXACT] [REQUIRED|QUIET])
-
-in order to find a package.  Package maintainers providing CMake
-package configuration files are encouraged to name and install them
-such that the procedure outlined below will find them without
-requiring use of additional options.
-
-CMake constructs a set of possible installation prefixes for the
-package.  Under each prefix several directories are searched for a
-configuration file.  The tables below show the directories searched.
-Each entry is meant for installation trees following Windows (W), UNIX
-(U), or Apple (A) conventions::
-
-  <prefix>/                                               (W)
-  <prefix>/(cmake|CMake)/                                 (W)
-  <prefix>/<name>*/                                       (W)
-  <prefix>/<name>*/(cmake|CMake)/                         (W)
-  <prefix>/(lib/<arch>|lib|share)/cmake/<name>*/          (U)
-  <prefix>/(lib/<arch>|lib|share)/<name>*/                (U)
-  <prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/  (U)
-
-On systems supporting OS X Frameworks and Application Bundles the
-following directories are searched for frameworks or bundles
-containing a configuration file::
-
-  <prefix>/<name>.framework/Resources/                    (A)
-  <prefix>/<name>.framework/Resources/CMake/              (A)
-  <prefix>/<name>.framework/Versions/*/Resources/         (A)
-  <prefix>/<name>.framework/Versions/*/Resources/CMake/   (A)
-  <prefix>/<name>.app/Contents/Resources/                 (A)
-  <prefix>/<name>.app/Contents/Resources/CMake/           (A)
-
-In all cases the ``<name>`` is treated as case-insensitive and corresponds
-to any of the names specified (``<package>`` or names given by ``NAMES``).
-Paths with ``lib/<arch>`` are enabled if the
-:variable:`CMAKE_LIBRARY_ARCHITECTURE` variable is set.  If ``PATH_SUFFIXES``
-is specified the suffixes are appended to each (W) or (U) directory entry
-one-by-one.
-
-This set of directories is intended to work in cooperation with
-projects that provide configuration files in their installation trees.
-Directories above marked with (W) are intended for installations on
-Windows where the prefix may point at the top of an application's
-installation directory.  Those marked with (U) are intended for
-installations on UNIX platforms where the prefix is shared by multiple
-packages.  This is merely a convention, so all (W) and (U) directories
-are still searched on all platforms.  Directories marked with (A) are
-intended for installations on Apple platforms.  The
-:variable:`CMAKE_FIND_FRAMEWORK` and :variable:`CMAKE_FIND_APPBUNDLE`
-variables determine the order of preference.
-
-The set of installation prefixes is constructed using the following
-steps.  If ``NO_DEFAULT_PATH`` is specified all ``NO_*`` options are
-enabled.
-
-1. Search paths specified in cmake-specific cache variables.  These
-   are intended to be used on the command line with a ``-DVAR=value``.
-   This can be skipped if ``NO_CMAKE_PATH`` is passed::
-
-     CMAKE_PREFIX_PATH
-     CMAKE_FRAMEWORK_PATH
-     CMAKE_APPBUNDLE_PATH
-
-2. Search paths specified in cmake-specific environment variables.
-   These are intended to be set in the user's shell configuration.
-   This can be skipped if ``NO_CMAKE_ENVIRONMENT_PATH`` is passed::
-
-     <package>_DIR
-     CMAKE_PREFIX_PATH
-     CMAKE_FRAMEWORK_PATH
-     CMAKE_APPBUNDLE_PATH
-
-3. Search paths specified by the ``HINTS`` option.  These should be paths
-   computed by system introspection, such as a hint provided by the
-   location of another item already found.  Hard-coded guesses should
-   be specified with the ``PATHS`` option.
-
-4. Search the standard system environment variables.  This can be
-   skipped if ``NO_SYSTEM_ENVIRONMENT_PATH`` is passed.  Path entries
-   ending in ``/bin`` or ``/sbin`` are automatically converted to their
-   parent directories::
-
-     PATH
-
-5. Search paths stored in the CMake :ref:`User Package Registry`.
-   This can be skipped if ``NO_CMAKE_PACKAGE_REGISTRY`` is passed or by
-   setting the :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY`
-   to ``TRUE``.
-   See the :manual:`cmake-packages(7)` manual for details on the user
-   package registry.
-
-6. Search cmake variables defined in the Platform files for the
-   current system.  This can be skipped if ``NO_CMAKE_SYSTEM_PATH`` is
-   passed::
-
-     CMAKE_SYSTEM_PREFIX_PATH
-     CMAKE_SYSTEM_FRAMEWORK_PATH
-     CMAKE_SYSTEM_APPBUNDLE_PATH
-
-7. Search paths stored in the CMake :ref:`System Package Registry`.
-   This can be skipped if ``NO_CMAKE_SYSTEM_PACKAGE_REGISTRY`` is passed
-   or by setting the
-   :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` to ``TRUE``.
-   See the :manual:`cmake-packages(7)` manual for details on the system
-   package registry.
-
-8. Search paths specified by the ``PATHS`` option.  These are typically
-   hard-coded guesses.
-
-.. |FIND_XXX| replace:: find_package
-.. |FIND_ARGS_XXX| replace:: <package>
-.. |CMAKE_FIND_ROOT_PATH_MODE_XXX| replace::
-   :variable:`CMAKE_FIND_ROOT_PATH_MODE_PACKAGE`
-
-.. include:: FIND_XXX_ROOT.txt
-.. include:: FIND_XXX_ORDER.txt
-
-Every non-REQUIRED ``find_package`` call can be disabled by setting the
-:variable:`CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` variable to ``TRUE``.
-
-When loading a find module or package configuration file ``find_package``
-defines variables to provide information about the call arguments (and
-restores their original state before returning):
-
-``CMAKE_FIND_PACKAGE_NAME``
-  the ``<package>`` name which is searched for
-``<package>_FIND_REQUIRED``
-  true if ``REQUIRED`` option was given
-``<package>_FIND_QUIETLY``
-  true if ``QUIET`` option was given
-``<package>_FIND_VERSION``
-  full requested version string
-``<package>_FIND_VERSION_MAJOR``
-  major version if requested, else 0
-``<package>_FIND_VERSION_MINOR``
-  minor version if requested, else 0
-``<package>_FIND_VERSION_PATCH``
-  patch version if requested, else 0
-``<package>_FIND_VERSION_TWEAK``
-  tweak version if requested, else 0
-``<package>_FIND_VERSION_COUNT``
-  number of version components, 0 to 4
-``<package>_FIND_VERSION_EXACT``
-  true if ``EXACT`` option was given
-``<package>_FIND_COMPONENTS``
-  list of requested components
-``<package>_FIND_REQUIRED_<c>``
-  true if component ``<c>`` is required,
-  false if component ``<c>`` is optional
-
-In Module mode the loaded find module is responsible to honor the
-request detailed by these variables; see the find module for details.
-In Config mode ``find_package`` handles ``REQUIRED``, ``QUIET``, and
-``[version]`` options automatically but leaves it to the package
-configuration file to handle components in a way that makes sense
-for the package.  The package configuration file may set
-``<package>_FOUND`` to false to tell ``find_package`` that component
-requirements are not satisfied.
-
-See the :command:`cmake_policy` command documentation for discussion
-of the ``NO_POLICY_SCOPE`` option.
diff --git a/share/cmake-3.6/Help/command/get_cmake_property.rst b/share/cmake-3.6/Help/command/get_cmake_property.rst
deleted file mode 100644
index 3a6fb41..0000000
--- a/share/cmake-3.6/Help/command/get_cmake_property.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-get_cmake_property
-------------------
-
-Get a property of the CMake instance.
-
-::
-
-  get_cmake_property(VAR property)
-
-Get a property from the CMake instance.  The value of the property is
-stored in the variable ``VAR``.  If the property is not found, ``VAR``
-will be  set to "NOTFOUND".  See the :manual:`cmake-properties(7)` manual
-for available properties.
-
-See also the more general :command:`get_property` command.
diff --git a/share/cmake-3.6/Help/command/if.rst b/share/cmake-3.6/Help/command/if.rst
deleted file mode 100644
index 56e618c..0000000
--- a/share/cmake-3.6/Help/command/if.rst
+++ /dev/null
@@ -1,216 +0,0 @@
-if
---
-
-Conditionally execute a group of commands.
-
-.. code-block:: cmake
-
- if(expression)
-   # then section.
-   COMMAND1(ARGS ...)
-   COMMAND2(ARGS ...)
-   ...
- elseif(expression2)
-   # elseif section.
-   COMMAND1(ARGS ...)
-   COMMAND2(ARGS ...)
-   ...
- else(expression)
-   # else section.
-   COMMAND1(ARGS ...)
-   COMMAND2(ARGS ...)
-   ...
- endif(expression)
-
-Evaluates the given expression.  If the result is true, the commands
-in the THEN section are invoked.  Otherwise, the commands in the else
-section are invoked.  The elseif and else sections are optional.  You
-may have multiple elseif clauses.  Note that the expression in the
-else and endif clause is optional.  Long expressions can be used and
-there is a traditional order of precedence.  Parenthetical expressions
-are evaluated first followed by unary tests such as ``EXISTS``,
-``COMMAND``, and ``DEFINED``.  Then any binary tests such as
-``EQUAL``, ``LESS``, ``GREATER``, ``STRLESS``, ``STRGREATER``,
-``STREQUAL``, and ``MATCHES`` will be evaluated.  Then boolean ``NOT``
-operators and finally boolean ``AND`` and then ``OR`` operators will
-be evaluated.
-
-Possible expressions are:
-
-``if(<constant>)``
- True if the constant is ``1``, ``ON``, ``YES``, ``TRUE``, ``Y``,
- or a non-zero number.  False if the constant is ``0``, ``OFF``,
- ``NO``, ``FALSE``, ``N``, ``IGNORE``, ``NOTFOUND``, the empty string,
- or ends in the suffix ``-NOTFOUND``.  Named boolean constants are
- case-insensitive.  If the argument is not one of these specific
- constants, it is treated as a variable or string and the following
- signature is used.
-
-``if(<variable|string>)``
- True if given a variable that is defined to a value that is not a false
- constant.  False otherwise.  (Note macro arguments are not variables.)
-
-``if(NOT <expression>)``
- True if the expression is not true.
-
-``if(<expr1> AND <expr2>)``
- True if both expressions would be considered true individually.
-
-``if(<expr1> OR <expr2>)``
- True if either expression would be considered true individually.
-
-``if(COMMAND command-name)``
- True if the given name is a command, macro or function that can be
- invoked.
-
-``if(POLICY policy-id)``
- True if the given name is an existing policy (of the form ``CMP<NNNN>``).
-
-``if(TARGET target-name)``
- True if the given name is an existing logical target name created
- by a call to the :command:`add_executable`, :command:`add_library`,
- or :command:`add_custom_target` command that has already been invoked
- (in any directory).
-
-``if(TEST test-name)``
- True if the given name is an existing test name created by the
- :command:`add_test` command.
-
-``if(EXISTS path-to-file-or-directory)``
- True if the named file or directory exists.  Behavior is well-defined
- only for full paths.
-
-``if(file1 IS_NEWER_THAN file2)``
- True if ``file1`` is newer than ``file2`` or if one of the two files doesn't
- exist.  Behavior is well-defined only for full paths.  If the file
- time stamps are exactly the same, an ``IS_NEWER_THAN`` comparison returns
- true, so that any dependent build operations will occur in the event
- of a tie.  This includes the case of passing the same file name for
- both file1 and file2.
-
-``if(IS_DIRECTORY path-to-directory)``
- True if the given name is a directory.  Behavior is well-defined only
- for full paths.
-
-``if(IS_SYMLINK file-name)``
- True if the given name is a symbolic link.  Behavior is well-defined
- only for full paths.
-
-``if(IS_ABSOLUTE path)``
- True if the given path is an absolute path.
-
-``if(<variable|string> MATCHES regex)``
- True if the given string or variable's value matches the given regular
- expression.
-
-``if(<variable|string> LESS <variable|string>)``
- True if the given string or variable's value is a valid number and less
- than that on the right.
-
-``if(<variable|string> GREATER <variable|string>)``
- True if the given string or variable's value is a valid number and greater
- than that on the right.
-
-``if(<variable|string> EQUAL <variable|string>)``
- True if the given string or variable's value is a valid number and equal
- to that on the right.
-
-``if(<variable|string> STRLESS <variable|string>)``
- True if the given string or variable's value is lexicographically less
- than the string or variable on the right.
-
-``if(<variable|string> STRGREATER <variable|string>)``
- True if the given string or variable's value is lexicographically greater
- than the string or variable on the right.
-
-``if(<variable|string> STREQUAL <variable|string>)``
- True if the given string or variable's value is lexicographically equal
- to the string or variable on the right.
-
-``if(<variable|string> VERSION_LESS <variable|string>)``
- Component-wise integer version number comparison (version format is
- ``major[.minor[.patch[.tweak]]]``).
-
-``if(<variable|string> VERSION_EQUAL <variable|string>)``
- Component-wise integer version number comparison (version format is
- ``major[.minor[.patch[.tweak]]]``).
-
-``if(<variable|string> VERSION_GREATER <variable|string>)``
- Component-wise integer version number comparison (version format is
- ``major[.minor[.patch[.tweak]]]``).
-
-``if(<variable|string> IN_LIST <variable>)``
- True if the given element is contained in the named list variable.
-
-``if(DEFINED <variable>)``
- True if the given variable is defined.  It does not matter if the
- variable is true or false just if it has been set.  (Note macro
- arguments are not variables.)
-
-``if((expression) AND (expression OR (expression)))``
- The expressions inside the parenthesis are evaluated first and then
- the remaining expression is evaluated as in the previous examples.
- Where there are nested parenthesis the innermost are evaluated as part
- of evaluating the expression that contains them.
-
-The if command was written very early in CMake's history, predating
-the ``${}`` variable evaluation syntax, and for convenience evaluates
-variables named by its arguments as shown in the above signatures.
-Note that normal variable evaluation with ``${}`` applies before the if
-command even receives the arguments.  Therefore code like::
-
- set(var1 OFF)
- set(var2 "var1")
- if(${var2})
-
-appears to the if command as::
-
- if(var1)
-
-and is evaluated according to the ``if(<variable>)`` case documented
-above.  The result is ``OFF`` which is false.  However, if we remove the
-``${}`` from the example then the command sees::
-
- if(var2)
-
-which is true because ``var2`` is defined to "var1" which is not a false
-constant.
-
-Automatic evaluation applies in the other cases whenever the
-above-documented signature accepts ``<variable|string>``:
-
-* The left hand argument to ``MATCHES`` is first checked to see if it is
-  a defined variable, if so the variable's value is used, otherwise the
-  original value is used.
-
-* If the left hand argument to ``MATCHES`` is missing it returns false
-  without error
-
-* Both left and right hand arguments to ``LESS``, ``GREATER``, and
-  ``EQUAL`` are independently tested to see if they are defined
-  variables, if so their defined values are used otherwise the original
-  value is used.
-
-* Both left and right hand arguments to ``STRLESS``, ``STREQUAL``, and
-  ``STRGREATER`` are independently tested to see if they are defined
-  variables, if so their defined values are used otherwise the original
-  value is used.
-
-* Both left and right hand arguments to ``VERSION_LESS``,
-  ``VERSION_EQUAL``, and ``VERSION_GREATER`` are independently tested
-  to see if they are defined variables, if so their defined values are
-  used otherwise the original value is used.
-
-* The right hand argument to ``NOT`` is tested to see if it is a boolean
-  constant, if so the value is used, otherwise it is assumed to be a
-  variable and it is dereferenced.
-
-* The left and right hand arguments to ``AND`` and ``OR`` are independently
-  tested to see if they are boolean constants, if so they are used as
-  such, otherwise they are assumed to be variables and are dereferenced.
-
-To prevent ambiguity, potential variable or keyword names can be
-specified in a :ref:`Quoted Argument` or a :ref:`Bracket Argument`.
-A quoted or bracketed variable or keyword will be interpreted as a
-string and not dereferenced or interpreted.
-See policy :policy:`CMP0054`.
diff --git a/share/cmake-3.6/Help/command/include.rst b/share/cmake-3.6/Help/command/include.rst
deleted file mode 100644
index c391561..0000000
--- a/share/cmake-3.6/Help/command/include.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-include
--------
-
-Load and run CMake code from a file or module.
-
-::
-
-  include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>]
-                        [NO_POLICY_SCOPE])
-
-Load and run CMake code from the file given.  Variable reads and
-writes access the scope of the caller (dynamic scoping).  If ``OPTIONAL``
-is present, then no error is raised if the file does not exist.  If
-``RESULT_VARIABLE`` is given the variable will be set to the full filename
-which has been included or NOTFOUND if it failed.
-
-If a module is specified instead of a file, the file with name
-<modulename>.cmake is searched first in :variable:`CMAKE_MODULE_PATH`,
-then in the CMake module directory.  There is one exception to this: if
-the file which calls ``include()`` is located itself in the CMake module
-directory, then first the CMake module directory is searched and
-:variable:`CMAKE_MODULE_PATH` afterwards.  See also policy :policy:`CMP0017`.
-
-See the :command:`cmake_policy` command documentation for discussion of the
-``NO_POLICY_SCOPE`` option.
diff --git a/share/cmake-3.6/Help/command/include_external_msproject.rst b/share/cmake-3.6/Help/command/include_external_msproject.rst
deleted file mode 100644
index 18a2b50..0000000
--- a/share/cmake-3.6/Help/command/include_external_msproject.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-include_external_msproject
---------------------------
-
-Include an external Microsoft project file in a workspace.
-
-::
-
-  include_external_msproject(projectname location
-                             [TYPE projectTypeGUID]
-                             [GUID projectGUID]
-                             [PLATFORM platformName]
-                             dep1 dep2 ...)
-
-Includes an external Microsoft project in the generated workspace
-file.  Currently does nothing on UNIX.  This will create a target
-named [projectname].  This can be used in the :command:`add_dependencies`
-command to make things depend on the external project.
-
-``TYPE``, ``GUID`` and ``PLATFORM`` are optional parameters that allow one to
-specify the type of project, id (GUID) of the project and the name of
-the target platform.  This is useful for projects requiring values
-other than the default (e.g.  WIX projects).
diff --git a/share/cmake-3.6/Help/command/install.rst b/share/cmake-3.6/Help/command/install.rst
deleted file mode 100644
index aaf12cc..0000000
--- a/share/cmake-3.6/Help/command/install.rst
+++ /dev/null
@@ -1,367 +0,0 @@
-install
--------
-
-.. only:: html
-
-   .. contents::
-
-Specify rules to run at install time.
-
-Introduction
-^^^^^^^^^^^^
-
-This command generates installation rules for a project.  Rules
-specified by calls to this command within a source directory are
-executed in order during installation.  The order across directories
-is not defined.
-
-There are multiple signatures for this command.  Some of them define
-installation options for files and targets.  Options common to
-multiple signatures are covered here but they are valid only for
-signatures that specify them.  The common options are:
-
-``DESTINATION``
-  Specify the directory on disk to which a file will be installed.
-  If a full path (with a leading slash or drive letter) is given
-  it is used directly.  If a relative path is given it is interpreted
-  relative to the value of the :variable:`CMAKE_INSTALL_PREFIX` variable.
-  The prefix can be relocated at install time using the ``DESTDIR``
-  mechanism explained in the :variable:`CMAKE_INSTALL_PREFIX` variable
-  documentation.
-
-``PERMISSIONS``
-  Specify permissions for installed files.  Valid permissions are
-  ``OWNER_READ``, ``OWNER_WRITE``, ``OWNER_EXECUTE``, ``GROUP_READ``,
-  ``GROUP_WRITE``, ``GROUP_EXECUTE``, ``WORLD_READ``, ``WORLD_WRITE``,
-  ``WORLD_EXECUTE``, ``SETUID``, and ``SETGID``.  Permissions that do
-  not make sense on certain platforms are ignored on those platforms.
-
-``CONFIGURATIONS``
-  Specify a list of build configurations for which the install rule
-  applies (Debug, Release, etc.).
-
-``COMPONENT``
-  Specify an installation component name with which the install rule
-  is associated, such as "runtime" or "development".  During
-  component-specific installation only install rules associated with
-  the given component name will be executed.  During a full installation
-  all components are installed unless marked with ``EXCLUDE_FROM_ALL``.
-  If ``COMPONENT`` is not provided a default component "Unspecified" is
-  created.  The default component name may be controlled with the
-  :variable:`CMAKE_INSTALL_DEFAULT_COMPONENT_NAME` variable.
-
-``EXCLUDE_FROM_ALL``
-  Specify that the file is excluded from a full installation and only
-  installed as part of a component-specific installation
-
-``RENAME``
-  Specify a name for an installed file that may be different from the
-  original file.  Renaming is allowed only when a single file is
-  installed by the command.
-
-``OPTIONAL``
-  Specify that it is not an error if the file to be installed does
-  not exist.
-
-Command signatures that install files may print messages during
-installation.  Use the :variable:`CMAKE_INSTALL_MESSAGE` variable
-to control which messages are printed.
-
-Installing Targets
-^^^^^^^^^^^^^^^^^^
-
-::
-
-  install(TARGETS targets... [EXPORT <export-name>]
-          [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE|
-            PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE]
-           [DESTINATION <dir>]
-           [PERMISSIONS permissions...]
-           [CONFIGURATIONS [Debug|Release|...]]
-           [COMPONENT <component>]
-           [OPTIONAL] [EXCLUDE_FROM_ALL]
-           [NAMELINK_ONLY|NAMELINK_SKIP]
-          ] [...]
-          [INCLUDES DESTINATION [<dir> ...]]
-          )
-
-The ``TARGETS`` form specifies rules for installing targets from a
-project.  There are five kinds of target files that may be installed:
-``ARCHIVE``, ``LIBRARY``, ``RUNTIME``, ``FRAMEWORK``, and ``BUNDLE``.
-Executables are treated as ``RUNTIME`` targets, except that those
-marked with the ``MACOSX_BUNDLE`` property are treated as ``BUNDLE``
-targets on OS X.  Static libraries are always treated as ``ARCHIVE``
-targets.  Module libraries are always treated as ``LIBRARY`` targets.
-For non-DLL platforms shared libraries are treated as ``LIBRARY``
-targets, except that those marked with the ``FRAMEWORK`` property are
-treated as ``FRAMEWORK`` targets on OS X.  For DLL platforms the DLL
-part of a shared library is treated as a ``RUNTIME`` target and the
-corresponding import library is treated as an ``ARCHIVE`` target.
-All Windows-based systems including Cygwin are DLL platforms.
-The ``ARCHIVE``, ``LIBRARY``, ``RUNTIME``, and ``FRAMEWORK`` arguments
-change the type of target to which the subsequent properties apply.
-If none is given the installation properties apply to all target
-types.  If only one is given then only targets of that type will be
-installed (which can be used to install just a DLL or just an import
-library).
-
-The ``PRIVATE_HEADER``, ``PUBLIC_HEADER``, and ``RESOURCE`` arguments
-cause subsequent properties to be applied to installing a ``FRAMEWORK``
-shared library target's associated files on non-Apple platforms.  Rules
-defined by these arguments are ignored on Apple platforms because the
-associated files are installed into the appropriate locations inside
-the framework folder.  See documentation of the
-:prop_tgt:`PRIVATE_HEADER`, :prop_tgt:`PUBLIC_HEADER`, and
-:prop_tgt:`RESOURCE` target properties for details.
-
-Either ``NAMELINK_ONLY`` or ``NAMELINK_SKIP`` may be specified as a
-``LIBRARY`` option.  On some platforms a versioned shared library
-has a symbolic link such as::
-
-  lib<name>.so -> lib<name>.so.1
-
-where ``lib<name>.so.1`` is the soname of the library and ``lib<name>.so``
-is a "namelink" allowing linkers to find the library when given
-``-l<name>``.  The ``NAMELINK_ONLY`` option causes installation of only the
-namelink when a library target is installed.  The ``NAMELINK_SKIP`` option
-causes installation of library files other than the namelink when a
-library target is installed.  When neither option is given both
-portions are installed.  On platforms where versioned shared libraries
-do not have namelinks or when a library is not versioned the
-``NAMELINK_SKIP`` option installs the library and the ``NAMELINK_ONLY``
-option installs nothing.  See the :prop_tgt:`VERSION` and
-:prop_tgt:`SOVERSION` target properties for details on creating versioned
-shared libraries.
-
-The ``INCLUDES DESTINATION`` specifies a list of directories
-which will be added to the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`
-target property of the ``<targets>`` when exported by the
-:command:`install(EXPORT)` command.  If a relative path is
-specified, it is treated as relative to the ``$<INSTALL_PREFIX>``.
-This is independent of the rest of the argument groups and does
-not actually install anything.
-
-One or more groups of properties may be specified in a single call to
-the ``TARGETS`` form of this command.  A target may be installed more than
-once to different locations.  Consider hypothetical targets ``myExe``,
-``mySharedLib``, and ``myStaticLib``.  The code:
-
-.. code-block:: cmake
-
-  install(TARGETS myExe mySharedLib myStaticLib
-          RUNTIME DESTINATION bin
-          LIBRARY DESTINATION lib
-          ARCHIVE DESTINATION lib/static)
-  install(TARGETS mySharedLib DESTINATION /some/full/path)
-
-will install ``myExe`` to ``<prefix>/bin`` and ``myStaticLib`` to
-``<prefix>/lib/static``.  On non-DLL platforms ``mySharedLib`` will be
-installed to ``<prefix>/lib`` and ``/some/full/path``.  On DLL platforms
-the ``mySharedLib`` DLL will be installed to ``<prefix>/bin`` and
-``/some/full/path`` and its import library will be installed to
-``<prefix>/lib/static`` and ``/some/full/path``.
-
-The ``EXPORT`` option associates the installed target files with an
-export called ``<export-name>``.  It must appear before any ``RUNTIME``,
-``LIBRARY``, or ``ARCHIVE`` options.  To actually install the export
-file itself, call ``install(EXPORT)``, documented below.
-
-Installing a target with the :prop_tgt:`EXCLUDE_FROM_ALL` target property
-set to ``TRUE`` has undefined behavior.
-
-The install destination given to the target install ``DESTINATION`` may
-use "generator expressions" with the syntax ``$<...>``.  See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
-
-Installing Files
-^^^^^^^^^^^^^^^^
-
-::
-
-  install(<FILES|PROGRAMS> files... DESTINATION <dir>
-          [PERMISSIONS permissions...]
-          [CONFIGURATIONS [Debug|Release|...]]
-          [COMPONENT <component>]
-          [RENAME <name>] [OPTIONAL] [EXCLUDE_FROM_ALL])
-
-The ``FILES`` form specifies rules for installing files for a project.
-File names given as relative paths are interpreted with respect to the
-current source directory.  Files installed by this form are by default
-given permissions ``OWNER_WRITE``, ``OWNER_READ``, ``GROUP_READ``, and
-``WORLD_READ`` if no ``PERMISSIONS`` argument is given.
-
-The ``PROGRAMS`` form is identical to the ``FILES`` form except that the
-default permissions for the installed file also include ``OWNER_EXECUTE``,
-``GROUP_EXECUTE``, and ``WORLD_EXECUTE``.  This form is intended to install
-programs that are not targets, such as shell scripts.  Use the ``TARGETS``
-form to install targets built within the project.
-
-The list of ``files...`` given to ``FILES`` or ``PROGRAMS`` may use
-"generator expressions" with the syntax ``$<...>``.  See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
-However, if any item begins in a generator expression it must evaluate
-to a full path.
-
-The install destination given to the files install ``DESTINATION`` may
-use "generator expressions" with the syntax ``$<...>``.  See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
-
-Installing Directories
-^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  install(DIRECTORY dirs... DESTINATION <dir>
-          [FILE_PERMISSIONS permissions...]
-          [DIRECTORY_PERMISSIONS permissions...]
-          [USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER]
-          [CONFIGURATIONS [Debug|Release|...]]
-          [COMPONENT <component>] [EXCLUDE_FROM_ALL]
-          [FILES_MATCHING]
-          [[PATTERN <pattern> | REGEX <regex>]
-           [EXCLUDE] [PERMISSIONS permissions...]] [...])
-
-The ``DIRECTORY`` form installs contents of one or more directories to a
-given destination.  The directory structure is copied verbatim to the
-destination.  The last component of each directory name is appended to
-the destination directory but a trailing slash may be used to avoid
-this because it leaves the last component empty.  Directory names
-given as relative paths are interpreted with respect to the current
-source directory.  If no input directory names are given the
-destination directory will be created but nothing will be installed
-into it.  The ``FILE_PERMISSIONS`` and ``DIRECTORY_PERMISSIONS`` options
-specify permissions given to files and directories in the destination.
-If ``USE_SOURCE_PERMISSIONS`` is specified and ``FILE_PERMISSIONS`` is not,
-file permissions will be copied from the source directory structure.
-If no permissions are specified files will be given the default
-permissions specified in the ``FILES`` form of the command, and the
-directories will be given the default permissions specified in the
-``PROGRAMS`` form of the command.
-
-The ``MESSAGE_NEVER`` option disables file installation status output.
-
-Installation of directories may be controlled with fine granularity
-using the ``PATTERN`` or ``REGEX`` options.  These "match" options specify a
-globbing pattern or regular expression to match directories or files
-encountered within input directories.  They may be used to apply
-certain options (see below) to a subset of the files and directories
-encountered.  The full path to each input file or directory (with
-forward slashes) is matched against the expression.  A ``PATTERN`` will
-match only complete file names: the portion of the full path matching
-the pattern must occur at the end of the file name and be preceded by
-a slash.  A ``REGEX`` will match any portion of the full path but it may
-use ``/`` and ``$`` to simulate the ``PATTERN`` behavior.  By default all
-files and directories are installed whether or not they are matched.
-The ``FILES_MATCHING`` option may be given before the first match option
-to disable installation of files (but not directories) not matched by
-any expression.  For example, the code
-
-.. code-block:: cmake
-
-  install(DIRECTORY src/ DESTINATION include/myproj
-          FILES_MATCHING PATTERN "*.h")
-
-will extract and install header files from a source tree.
-
-Some options may follow a ``PATTERN`` or ``REGEX`` expression and are applied
-only to files or directories matching them.  The ``EXCLUDE`` option will
-skip the matched file or directory.  The ``PERMISSIONS`` option overrides
-the permissions setting for the matched file or directory.  For
-example the code
-
-.. code-block:: cmake
-
-  install(DIRECTORY icons scripts/ DESTINATION share/myproj
-          PATTERN "CVS" EXCLUDE
-          PATTERN "scripts/*"
-          PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
-                      GROUP_EXECUTE GROUP_READ)
-
-will install the ``icons`` directory to ``share/myproj/icons`` and the
-``scripts`` directory to ``share/myproj``.  The icons will get default
-file permissions, the scripts will be given specific permissions, and any
-``CVS`` directories will be excluded.
-
-The list of ``dirs...`` given to ``DIRECTORY`` and the install destination
-given to the directory install ``DESTINATION`` may use "generator expressions"
-with the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
-manual for available expressions.
-
-Custom Installation Logic
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  install([[SCRIPT <file>] [CODE <code>]]
-          [COMPONENT <component>] [EXCLUDE_FROM_ALL] [...])
-
-The ``SCRIPT`` form will invoke the given CMake script files during
-installation.  If the script file name is a relative path it will be
-interpreted with respect to the current source directory.  The ``CODE``
-form will invoke the given CMake code during installation.  Code is
-specified as a single argument inside a double-quoted string.  For
-example, the code
-
-.. code-block:: cmake
-
-  install(CODE "MESSAGE(\"Sample install message.\")")
-
-will print a message during installation.
-
-Installing Exports
-^^^^^^^^^^^^^^^^^^
-
-::
-
-  install(EXPORT <export-name> DESTINATION <dir>
-          [NAMESPACE <namespace>] [FILE <name>.cmake]
-          [PERMISSIONS permissions...]
-          [CONFIGURATIONS [Debug|Release|...]]
-          [EXPORT_LINK_INTERFACE_LIBRARIES]
-          [COMPONENT <component>]
-          [EXCLUDE_FROM_ALL])
-
-The ``EXPORT`` form generates and installs a CMake file containing code to
-import targets from the installation tree into another project.
-Target installations are associated with the export ``<export-name>``
-using the ``EXPORT`` option of the ``install(TARGETS)`` signature
-documented above.  The ``NAMESPACE`` option will prepend ``<namespace>`` to
-the target names as they are written to the import file.  By default
-the generated file will be called ``<export-name>.cmake`` but the ``FILE``
-option may be used to specify a different name.  The value given to
-the ``FILE`` option must be a file name with the ``.cmake`` extension.
-If a ``CONFIGURATIONS`` option is given then the file will only be installed
-when one of the named configurations is installed.  Additionally, the
-generated import file will reference only the matching target
-configurations.  The ``EXPORT_LINK_INTERFACE_LIBRARIES`` keyword, if
-present, causes the contents of the properties matching
-``(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?`` to be exported, when
-policy :policy:`CMP0022` is ``NEW``.  If a ``COMPONENT`` option is
-specified that does not match that given to the targets associated with
-``<export-name>`` the behavior is undefined.  If a library target is
-included in the export but a target to which it links is not included
-the behavior is unspecified.
-
-The ``EXPORT`` form is useful to help outside projects use targets built
-and installed by the current project.  For example, the code
-
-.. code-block:: cmake
-
-  install(TARGETS myexe EXPORT myproj DESTINATION bin)
-  install(EXPORT myproj NAMESPACE mp_ DESTINATION lib/myproj)
-
-will install the executable myexe to ``<prefix>/bin`` and code to import
-it in the file ``<prefix>/lib/myproj/myproj.cmake``.  An outside project
-may load this file with the include command and reference the ``myexe``
-executable from the installation tree using the imported target name
-``mp_myexe`` as if the target were built in its own tree.
-
-.. note::
-  This command supercedes the :command:`install_targets` command and
-  the :prop_tgt:`PRE_INSTALL_SCRIPT` and :prop_tgt:`POST_INSTALL_SCRIPT`
-  target properties.  It also replaces the ``FILES`` forms of the
-  :command:`install_files` and :command:`install_programs` commands.
-  The processing order of these install rules relative to
-  those generated by :command:`install_targets`,
-  :command:`install_files`, and :command:`install_programs` commands
-  is not defined.
diff --git a/share/cmake-3.6/Help/command/math.rst b/share/cmake-3.6/Help/command/math.rst
deleted file mode 100644
index d4deb16..0000000
--- a/share/cmake-3.6/Help/command/math.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-math
-----
-
-Mathematical expressions.
-
-::
-
-  math(EXPR <output variable> <math expression>)
-
-``EXPR`` evaluates mathematical expression and returns result in the
-output variable.  Example mathematical expression is '5 * ( 10 + 13
-)'.  Supported operators are + - * / % | & ^ ~ << >> * / %.  They have
-the same meaning as they do in C code.
diff --git a/share/cmake-3.6/Help/command/project.rst b/share/cmake-3.6/Help/command/project.rst
deleted file mode 100644
index 6c5ace7..0000000
--- a/share/cmake-3.6/Help/command/project.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-project
--------
-
-Set a name, version, and enable languages for the entire project.
-
-.. code-block:: cmake
-
- project(<PROJECT-NAME> [LANGUAGES] [<language-name>...])
- project(<PROJECT-NAME>
-         [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
-         [LANGUAGES <language-name>...])
-
-Sets the name of the project and stores the name in the
-:variable:`PROJECT_NAME` variable.  Additionally this sets variables
-
-* :variable:`PROJECT_SOURCE_DIR`,
-  :variable:`<PROJECT-NAME>_SOURCE_DIR`
-* :variable:`PROJECT_BINARY_DIR`,
-  :variable:`<PROJECT-NAME>_BINARY_DIR`
-
-If ``VERSION`` is specified, given components must be non-negative integers.
-If ``VERSION`` is not specified, the default version is the empty string.
-The ``VERSION`` option may not be used unless policy :policy:`CMP0048` is
-set to ``NEW``.
-
-The :command:`project()` command stores the version number and its components
-in variables
-
-* :variable:`PROJECT_VERSION`,
-  :variable:`<PROJECT-NAME>_VERSION`
-* :variable:`PROJECT_VERSION_MAJOR`,
-  :variable:`<PROJECT-NAME>_VERSION_MAJOR`
-* :variable:`PROJECT_VERSION_MINOR`,
-  :variable:`<PROJECT-NAME>_VERSION_MINOR`
-* :variable:`PROJECT_VERSION_PATCH`,
-  :variable:`<PROJECT-NAME>_VERSION_PATCH`
-* :variable:`PROJECT_VERSION_TWEAK`,
-  :variable:`<PROJECT-NAME>_VERSION_TWEAK`
-
-Variables corresponding to unspecified versions are set to the empty string
-(if policy :policy:`CMP0048` is set to ``NEW``).
-
-Optionally you can specify which languages your project supports.
-Example languages are ``C``, ``CXX`` (i.e.  C++), ``Fortran``, etc.
-By default ``C`` and ``CXX`` are enabled if no language options are
-given.  Specify language ``NONE``, or use the ``LANGUAGES`` keyword
-and list no languages, to skip enabling any languages.
-
-If a variable exists called :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
-the file pointed to by that variable will be included as the last step of the
-project command.
-
-The top-level ``CMakeLists.txt`` file for a project must contain a
-literal, direct call to the :command:`project` command; loading one
-through the :command:`include` command is not sufficient.  If no such
-call exists CMake will implicitly add one to the top that enables the
-default languages (``C`` and ``CXX``).
-
-.. note::
-  Call the :command:`cmake_minimum_required` command at the beginning
-  of the top-level ``CMakeLists.txt`` file even before calling the
-  ``project()`` command.  It is important to establish version and
-  policy settings before invoking other commands whose behavior they
-  may affect.  See also policy :policy:`CMP0000`.
diff --git a/share/cmake-3.6/Help/command/separate_arguments.rst b/share/cmake-3.6/Help/command/separate_arguments.rst
deleted file mode 100644
index 0e3e5a5..0000000
--- a/share/cmake-3.6/Help/command/separate_arguments.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-separate_arguments
-------------------
-
-Parse space-separated arguments into a semicolon-separated list.
-
-::
-
-  separate_arguments(<var> <UNIX|WINDOWS>_COMMAND "<args>")
-
-Parses a unix- or windows-style command-line string "<args>" and
-stores a semicolon-separated list of the arguments in ``<var>``.  The
-entire command line must be given in one "<args>" argument.
-
-The ``UNIX_COMMAND`` mode separates arguments by unquoted whitespace.  It
-recognizes both single-quote and double-quote pairs.  A backslash
-escapes the next literal character (\" is "); there are no special
-escapes (\n is just n).
-
-The ``WINDOWS_COMMAND`` mode parses a windows command-line using the same
-syntax the runtime library uses to construct argv at startup.  It
-separates arguments by whitespace that is not double-quoted.
-Backslashes are literal unless they precede double-quotes.  See the
-MSDN article "Parsing C Command-Line Arguments" for details.
-
-::
-
-  separate_arguments(VARIABLE)
-
-Convert the value of ``VARIABLE`` to a semi-colon separated list.  All
-spaces are replaced with ';'.  This helps with generating command
-lines.
diff --git a/share/cmake-3.6/Help/command/set.rst b/share/cmake-3.6/Help/command/set.rst
deleted file mode 100644
index d04b880..0000000
--- a/share/cmake-3.6/Help/command/set.rst
+++ /dev/null
@@ -1,89 +0,0 @@
-set
----
-
-Set a normal, cache, or environment variable to a given value.
-See the :ref:`cmake-language(7) variables <CMake Language Variables>`
-documentation for the scopes and interaction of normal variables
-and cache entries.
-
-Signatures of this command that specify a ``<value>...`` placeholder
-expect zero or more arguments.  Multiple arguments will be joined as
-a :ref:`;-list <CMake Language Lists>` to form the actual variable
-value to be set.  Zero arguments will cause normal variables to be
-unset.  See the :command:`unset` command to unset variables explicitly.
-
-Set Normal Variable
-^^^^^^^^^^^^^^^^^^^
-
-::
-
-  set(<variable> <value>... [PARENT_SCOPE])
-
-Set the given ``<variable>`` in the current function or directory scope.
-
-If the ``PARENT_SCOPE`` option is given the variable will be set in
-the scope above the current scope.  Each new directory or function
-creates a new scope.  This command will set the value of a variable
-into the parent directory or calling function (whichever is applicable
-to the case at hand).
-
-Set Cache Entry
-^^^^^^^^^^^^^^^
-
-::
-
-  set(<variable> <value>... CACHE <type> <docstring> [FORCE])
-
-Set the given cache ``<variable>`` (cache entry).  Since cache entries
-are meant to provide user-settable values this does not overwrite
-existing cache entries by default.  Use the ``FORCE`` option to
-overwrite existing entries.
-
-The ``<type>`` must be specified as one of:
-
-``BOOL``
-  Boolean ``ON/OFF`` value.  :manual:`cmake-gui(1)` offers a checkbox.
-
-``FILEPATH``
-  Path to a file on disk.  :manual:`cmake-gui(1)` offers a file dialog.
-
-``PATH``
-  Path to a directory on disk.  :manual:`cmake-gui(1)` offers a file dialog.
-
-``STRING``
-  A line of text.  :manual:`cmake-gui(1)` offers a text field or a
-  drop-down selection if the :prop_cache:`STRINGS` cache entry
-  property is set.
-
-``INTERNAL``
-  A line of text.  :manual:`cmake-gui(1)` does not show internal entries.
-  They may be used to store variables persistently across runs.
-  Use of this type implies ``FORCE``.
-
-The ``<docstring>`` must be specified as a line of text providing
-a quick summary of the option for presentation to :manual:`cmake-gui(1)`
-users.
-
-If the cache entry does not exist prior to the call or the ``FORCE``
-option is given then the cache entry will be set to the given value.
-Furthermore, any normal variable binding in the current scope will
-be removed to expose the newly cached value to any immediately
-following evaluation.
-
-It is possible for the cache entry to exist prior to the call but
-have no type set if it was created on the :manual:`cmake(1)` command
-line by a user through the ``-D<var>=<value>`` option without
-specifying a type.  In this case the ``set`` command will add the
-type.  Furthermore, if the ``<type>`` is ``PATH`` or ``FILEPATH``
-and the ``<value>`` provided on the command line is a relative path,
-then the ``set`` command will treat the path as relative to the
-current working directory and convert it to an absolute path.
-
-Set Environment Variable
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  set(ENV{<variable>} <value>...)
-
-Set the current process environment ``<variable>`` to the given value.
diff --git a/share/cmake-3.6/Help/command/source_group.rst b/share/cmake-3.6/Help/command/source_group.rst
deleted file mode 100644
index 6e3829c..0000000
--- a/share/cmake-3.6/Help/command/source_group.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-source_group
-------------
-
-Define a grouping for source files in IDE project generation.
-
-.. code-block:: cmake
-
-  source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
-
-Defines a group into which sources will be placed in project files.
-This is intended to set up file tabs in Visual Studio.
-The options are:
-
-``FILES``
- Any source file specified explicitly will be placed in group
- ``<name>``.  Relative paths are interpreted with respect to the
- current source directory.
-
-``REGULAR_EXPRESSION``
- Any source file whose name matches the regular expression will
- be placed in group ``<name>``.
-
-If a source file matches multiple groups, the *last* group that
-explicitly lists the file with ``FILES`` will be favored, if any.
-If no group explicitly lists the file, the *last* group whose
-regular expression matches the file will be favored.
-
-The ``<name>`` of the group may contain backslashes to specify subgroups:
-
-.. code-block:: cmake
-
-  source_group(outer\\inner ...)
-
-For backwards compatibility, the short-hand signature
-
-.. code-block:: cmake
-
-  source_group(<name> <regex>)
-
-is equivalent to
-
-.. code-block:: cmake
-
-  source_group(<name> REGULAR_EXPRESSION <regex>)
diff --git a/share/cmake-3.6/Help/command/string.rst b/share/cmake-3.6/Help/command/string.rst
deleted file mode 100644
index 3f4050e..0000000
--- a/share/cmake-3.6/Help/command/string.rst
+++ /dev/null
@@ -1,321 +0,0 @@
-string
-------
-
-.. only:: html
-
-   .. contents::
-
-String operations.
-
-Search and Replace
-^^^^^^^^^^^^^^^^^^
-
-FIND
-""""
-
-::
-
-  string(FIND <string> <substring> <output variable> [REVERSE])
-
-Return the position where the given substring was found in
-the supplied string.  If the ``REVERSE`` flag was used, the command will
-search for the position of the last occurrence of the specified
-substring.  If the substring is not found, a position of -1 is returned.
-
-REPLACE
-"""""""
-
-::
-
-  string(REPLACE <match_string>
-         <replace_string> <output variable>
-         <input> [<input>...])
-
-Replace all occurrences of ``match_string`` in the input
-with ``replace_string`` and store the result in the output.
-
-Regular Expressions
-^^^^^^^^^^^^^^^^^^^
-
-REGEX MATCH
-"""""""""""
-
-::
-
-  string(REGEX MATCH <regular_expression>
-         <output variable> <input> [<input>...])
-
-Match the regular expression once and store the match in the output variable.
-All ``<input>`` arguments are concatenated before matching.
-
-REGEX MATCHALL
-""""""""""""""
-
-::
-
-  string(REGEX MATCHALL <regular_expression>
-         <output variable> <input> [<input>...])
-
-Match the regular expression as many times as possible and store the matches
-in the output variable as a list.
-All ``<input>`` arguments are concatenated before matching.
-
-REGEX REPLACE
-"""""""""""""
-
-::
-
-  string(REGEX REPLACE <regular_expression>
-         <replace_expression> <output variable>
-         <input> [<input>...])
-
-Match the regular expression as many times as possible and substitute the
-replacement expression for the match in the output.
-All ``<input>`` arguments are concatenated before matching.
-
-The replace expression may refer to paren-delimited subexpressions of the
-match using ``\1``, ``\2``, ..., ``\9``.  Note that two backslashes (``\\1``)
-are required in CMake code to get a backslash through argument parsing.
-
-Regex Specification
-"""""""""""""""""""
-
-The following characters have special meaning in regular expressions:
-
-::
-
-   ^         Matches at beginning of input
-   $         Matches at end of input
-   .         Matches any single character
-   [ ]       Matches any character(s) inside the brackets
-   [^ ]      Matches any character(s) not inside the brackets
-    -        Inside brackets, specifies an inclusive range between
-             characters on either side e.g. [a-f] is [abcdef]
-             To match a literal - using brackets, make it the first
-             or the last character e.g. [+*/-] matches basic
-             mathematical operators.
-   *         Matches preceding pattern zero or more times
-   +         Matches preceding pattern one or more times
-   ?         Matches preceding pattern zero or once only
-   |         Matches a pattern on either side of the |
-   ()        Saves a matched subexpression, which can be referenced
-             in the REGEX REPLACE operation. Additionally it is saved
-             by all regular expression-related commands, including
-             e.g. if( MATCHES ), in the variables CMAKE_MATCH_(0..9).
-
-``*``, ``+`` and ``?`` have higher precedence than concatenation.  ``|``
-has lower precedence than concatenation.  This means that the regular
-expression ``^ab+d$`` matches ``abbd`` but not ``ababd``, and the regular
-expression ``^(ab|cd)$`` matches ``ab`` but not ``abd``.
-
-Manipulation
-^^^^^^^^^^^^
-
-APPEND
-""""""
-
-::
-
-  string(APPEND <string variable> [<input>...])
-
-Append all the input arguments to the string.
-
-CONCAT
-""""""
-
-::
-
-  string(CONCAT <output variable> [<input>...])
-
-Concatenate all the input arguments together and store
-the result in the named output variable.
-
-TOLOWER
-"""""""
-
-::
-
-  string(TOLOWER <string1> <output variable>)
-
-Convert string to lower characters.
-
-TOUPPER
-"""""""
-
-::
-
-  string(TOUPPER <string1> <output variable>)
-
-Convert string to upper characters.
-
-LENGTH
-""""""
-
-::
-
-  string(LENGTH <string> <output variable>)
-
-Store in an output variable a given string's length.
-
-SUBSTRING
-"""""""""
-
-::
-
-  string(SUBSTRING <string> <begin> <length> <output variable>)
-
-Store in an output variable a substring of a given string.  If length is
-``-1`` the remainder of the string starting at begin will be returned.
-If string is shorter than length then end of string is used instead.
-
-.. note::
-  CMake 3.1 and below reported an error if length pointed past
-  the end of string.
-
-STRIP
-"""""
-
-::
-
-  string(STRIP <string> <output variable>)
-
-Store in an output variable a substring of a given string with leading and
-trailing spaces removed.
-
-GENEX_STRIP
-"""""""""""
-
-::
-
-  string(GENEX_STRIP <input string> <output variable>)
-
-Strip any :manual:`generator expressions <cmake-generator-expressions(7)>`
-from the ``input string`` and store the result in the ``output variable``.
-
-Comparison
-^^^^^^^^^^
-
-::
-
-  string(COMPARE EQUAL <string1> <string2> <output variable>)
-  string(COMPARE NOTEQUAL <string1> <string2> <output variable>)
-  string(COMPARE LESS <string1> <string2> <output variable>)
-  string(COMPARE GREATER <string1> <string2> <output variable>)
-
-Compare the strings and store true or false in the output variable.
-
-Hashing
-^^^^^^^
-
-::
-
-  string(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512>
-         <output variable> <input>)
-
-Compute a cryptographic hash of the input string.
-
-Generation
-^^^^^^^^^^
-
-ASCII
-"""""
-
-::
-
-  string(ASCII <number> [<number> ...] <output variable>)
-
-Convert all numbers into corresponding ASCII characters.
-
-CONFIGURE
-"""""""""
-
-::
-
-  string(CONFIGURE <string1> <output variable>
-         [@ONLY] [ESCAPE_QUOTES])
-
-Transform a string like :command:`configure_file` transforms a file.
-
-RANDOM
-""""""
-
-::
-
-  string(RANDOM [LENGTH <length>] [ALPHABET <alphabet>]
-         [RANDOM_SEED <seed>] <output variable>)
-
-Return a random string of given length consisting of
-characters from the given alphabet.  Default length is 5 characters
-and default alphabet is all numbers and upper and lower case letters.
-If an integer ``RANDOM_SEED`` is given, its value will be used to seed the
-random number generator.
-
-TIMESTAMP
-"""""""""
-
-::
-
-  string(TIMESTAMP <output variable> [<format string>] [UTC])
-
-Write a string representation of the current date
-and/or time to the output variable.
-
-Should the command be unable to obtain a timestamp the output variable
-will be set to the empty string "".
-
-The optional ``UTC`` flag requests the current date/time representation to
-be in Coordinated Universal Time (UTC) rather than local time.
-
-The optional ``<format string>`` may contain the following format
-specifiers:
-
-::
-
-   %d        The day of the current month (01-31).
-   %H        The hour on a 24-hour clock (00-23).
-   %I        The hour on a 12-hour clock (01-12).
-   %j        The day of the current year (001-366).
-   %m        The month of the current year (01-12).
-   %M        The minute of the current hour (00-59).
-   %s        Seconds since midnight (UTC) 1-Jan-1970 (UNIX time).
-   %S        The second of the current minute.
-             60 represents a leap second. (00-60)
-   %U        The week number of the current year (00-53).
-   %w        The day of the current week. 0 is Sunday. (0-6)
-   %y        The last two digits of the current year (00-99)
-   %Y        The current year.
-
-Unknown format specifiers will be ignored and copied to the output
-as-is.
-
-If no explicit ``<format string>`` is given it will default to:
-
-::
-
-   %Y-%m-%dT%H:%M:%S    for local time.
-   %Y-%m-%dT%H:%M:%SZ   for UTC.
-
-
-::
-
-  string(MAKE_C_IDENTIFIER <input string> <output variable>)
-
-Write a string which can be used as an identifier in C.
-
-UUID
-""""
-
-::
-
-  string(UUID <output variable> NAMESPACE <namespace> NAME <name>
-         TYPE <MD5|SHA1> [UPPER])
-
-Create a univerally unique identifier (aka GUID) as per RFC4122
-based on the hash of the combined values of ``<namespace>``
-(which itself has to be a valid UUID) and ``<name>``.
-The hash algorithm can be either ``MD5`` (Version 3 UUID) or
-``SHA1`` (Version 5 UUID).
-A UUID has the format ``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx``
-where each `x` represents a lower case hexadecimal character.
-Where required an uppercase representation can be requested
-with the optional ``UPPER`` flag.
diff --git a/share/cmake-3.6/Help/command/target_link_libraries.rst b/share/cmake-3.6/Help/command/target_link_libraries.rst
deleted file mode 100644
index d903d05..0000000
--- a/share/cmake-3.6/Help/command/target_link_libraries.rst
+++ /dev/null
@@ -1,204 +0,0 @@
-target_link_libraries
----------------------
-
-.. only:: html
-
-   .. contents::
-
-Specify libraries or flags to use when linking a given target and/or
-its dependents.  :ref:`Usage requirements <Target Usage Requirements>`
-from linked library targets will be propagated.  Usage requirements
-of a target's dependencies affect compilation of its own sources.
-
-Overview
-^^^^^^^^
-
-This command has several signatures as detailed in subsections below.
-All of them have the general form::
-
-  target_link_libraries(<target> ... <item>... ...)
-
-The named ``<target>`` must have been created in the current directory by
-a command such as :command:`add_executable` or :command:`add_library`.
-Repeated calls for the same ``<target>`` append items in the order called.
-Each ``<item>`` may be:
-
-* **A library target name**: The generated link line will have the
-  full path to the linkable library file associated with the target.
-  The buildsystem will have a dependency to re-link ``<target>`` if
-  the library file changes.
-
-  The named target must be created by :command:`add_library` within
-  the project or as an :ref:`IMPORTED library <Imported Targets>`.
-  If it is created within the project an ordering dependency will
-  automatically be added in the build system to make sure the named
-  library target is up-to-date before the ``<target>`` links.
-
-  If an imported library has the :prop_tgt:`IMPORTED_NO_SONAME`
-  target property set, CMake may ask the linker to search for
-  the library instead of using the full path
-  (e.g. ``/usr/lib/libfoo.so`` becomes ``-lfoo``).
-
-* **A full path to a library file**: The generated link line will
-  normally preserve the full path to the file. The buildsystem will
-  have a dependency to re-link ``<target>`` if the library file changes.
-
-  There are some cases where CMake may ask the linker to search for
-  the library (e.g. ``/usr/lib/libfoo.so`` becomes ``-lfoo``), such
-  as when a shared library is detected to have no ``SONAME`` field.
-  See policy :policy:`CMP0060` for discussion of another case.
-
-  If the library file is in a Mac OSX framework, the ``Headers`` directory
-  of the framework will also be processed as a
-  :ref:`usage requirement <Target Usage Requirements>`.  This has the same
-  effect as passing the framework directory as an include directory.
-
-* **A plain library name**: The generated link line will ask the linker
-  to search for the library (e.g. ``foo`` becomes ``-lfoo`` or ``foo.lib``).
-
-* **A link flag**: Item names starting with ``-``, but not ``-l`` or
-  ``-framework``, are treated as linker flags.  Note that such flags will
-  be treated like any other library link item for purposes of transitive
-  dependencies, so they are generally safe to specify only as private link
-  items that will not propagate to dependents.
-
-* A ``debug``, ``optimized``, or ``general`` keyword immediately followed
-  by another ``<item>``.  The item following such a keyword will be used
-  only for the corresponding build configuration.  The ``debug`` keyword
-  corresponds to the ``Debug`` configuration (or to configurations named
-  in the :prop_gbl:`DEBUG_CONFIGURATIONS` global property if it is set).
-  The ``optimized`` keyword corresponds to all other configurations.  The
-  ``general`` keyword corresponds to all configurations, and is purely
-  optional.  Higher granularity may be achieved for per-configuration
-  rules by creating and linking to
-  :ref:`IMPORTED library targets <Imported Targets>`.
-
-Items containing ``::``, such as ``Foo::Bar``, are assumed to be
-:ref:`IMPORTED <Imported Targets>` or :ref:`ALIAS <Alias Targets>` library
-target names and will cause an error if no such target exists.
-See policy :policy:`CMP0028`.
-
-Arguments to ``target_link_libraries`` may use "generator expressions"
-with the syntax ``$<...>``.  Note however, that generator expressions
-will not be used in OLD handling of :policy:`CMP0003` or :policy:`CMP0004`.
-See the :manual:`cmake-generator-expressions(7)` manual for available
-expressions.  See the :manual:`cmake-buildsystem(7)` manual for more on
-defining buildsystem properties.
-
-Libraries for a Target and/or its Dependents
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  target_link_libraries(<target>
-                        <PRIVATE|PUBLIC|INTERFACE> <item>...
-                       [<PRIVATE|PUBLIC|INTERFACE> <item>...]...)
-
-The ``PUBLIC``, ``PRIVATE`` and ``INTERFACE`` keywords can be used to
-specify both the link dependencies and the link interface in one command.
-Libraries and targets following ``PUBLIC`` are linked to, and are made
-part of the link interface.  Libraries and targets following ``PRIVATE``
-are linked to, but are not made part of the link interface.  Libraries
-following ``INTERFACE`` are appended to the link interface and are not
-used for linking ``<target>``.
-
-Libraries for both a Target and its Dependents
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  target_link_libraries(<target> <item>...)
-
-Library dependencies are transitive by default with this signature.
-When this target is linked into another target then the libraries
-linked to this target will appear on the link line for the other
-target too.  This transitive "link interface" is stored in the
-:prop_tgt:`INTERFACE_LINK_LIBRARIES` target property and may be overridden
-by setting the property directly.  When :policy:`CMP0022` is not set to
-``NEW``, transitive linking is built in but may be overridden by the
-:prop_tgt:`LINK_INTERFACE_LIBRARIES` property.  Calls to other signatures
-of this command may set the property making any libraries linked
-exclusively by this signature private.
-
-Libraries for a Target and/or its Dependents (Legacy)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  target_link_libraries(<target>
-                        <LINK_PRIVATE|LINK_PUBLIC> <lib>...
-                       [<LINK_PRIVATE|LINK_PUBLIC> <lib>...]...)
-
-The ``LINK_PUBLIC`` and ``LINK_PRIVATE`` modes can be used to specify both
-the link dependencies and the link interface in one command.
-
-This signature is for compatibility only.  Prefer the ``PUBLIC`` or
-``PRIVATE`` keywords instead.
-
-Libraries and targets following ``LINK_PUBLIC`` are linked to, and are
-made part of the :prop_tgt:`INTERFACE_LINK_LIBRARIES`.  If policy
-:policy:`CMP0022` is not ``NEW``, they are also made part of the
-:prop_tgt:`LINK_INTERFACE_LIBRARIES`.  Libraries and targets following
-``LINK_PRIVATE`` are linked to, but are not made part of the
-:prop_tgt:`INTERFACE_LINK_LIBRARIES` (or :prop_tgt:`LINK_INTERFACE_LIBRARIES`).
-
-Libraries for Dependents Only (Legacy)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  target_link_libraries(<target> LINK_INTERFACE_LIBRARIES <item>...)
-
-The ``LINK_INTERFACE_LIBRARIES`` mode appends the libraries to the
-:prop_tgt:`INTERFACE_LINK_LIBRARIES` target property instead of using them
-for linking.  If policy :policy:`CMP0022` is not ``NEW``, then this mode
-also appends libraries to the :prop_tgt:`LINK_INTERFACE_LIBRARIES` and its
-per-configuration equivalent.
-
-This signature is for compatibility only.  Prefer the ``INTERFACE`` mode
-instead.
-
-Libraries specified as ``debug`` are wrapped in a generator expression to
-correspond to debug builds.  If policy :policy:`CMP0022` is
-not ``NEW``, the libraries are also appended to the
-:prop_tgt:`LINK_INTERFACE_LIBRARIES_DEBUG <LINK_INTERFACE_LIBRARIES_<CONFIG>>`
-property (or to the properties corresponding to configurations listed in
-the :prop_gbl:`DEBUG_CONFIGURATIONS` global property if it is set).
-Libraries specified as ``optimized`` are appended to the
-:prop_tgt:`INTERFACE_LINK_LIBRARIES` property.  If policy :policy:`CMP0022`
-is not ``NEW``, they are also appended to the
-:prop_tgt:`LINK_INTERFACE_LIBRARIES` property.  Libraries specified as
-``general`` (or without any keyword) are treated as if specified for both
-``debug`` and ``optimized``.
-
-Cyclic Dependencies of Static Libraries
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The library dependency graph is normally acyclic (a DAG), but in the case
-of mutually-dependent ``STATIC`` libraries CMake allows the graph to
-contain cycles (strongly connected components).  When another target links
-to one of the libraries, CMake repeats the entire connected component.
-For example, the code
-
-.. code-block:: cmake
-
-  add_library(A STATIC a.c)
-  add_library(B STATIC b.c)
-  target_link_libraries(A B)
-  target_link_libraries(B A)
-  add_executable(main main.c)
-  target_link_libraries(main A)
-
-links ``main`` to ``A B A B``.  While one repetition is usually
-sufficient, pathological object file and symbol arrangements can require
-more.  One may handle such cases by using the
-:prop_tgt:`LINK_INTERFACE_MULTIPLICITY` target property or by manually
-repeating the component in the last ``target_link_libraries`` call.
-However, if two archives are really so interdependent they should probably
-be combined into a single archive, perhaps by using :ref:`Object Libraries`.
-
-Creating Relocatable Packages
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. |INTERFACE_PROPERTY_LINK| replace:: :prop_tgt:`INTERFACE_LINK_LIBRARIES`
-.. include:: /include/INTERFACE_LINK_LIBRARIES_WARNING.txt
diff --git a/share/cmake-3.6/Help/command/try_compile.rst b/share/cmake-3.6/Help/command/try_compile.rst
deleted file mode 100644
index 7830deb..0000000
--- a/share/cmake-3.6/Help/command/try_compile.rst
+++ /dev/null
@@ -1,121 +0,0 @@
-try_compile
------------
-
-.. only:: html
-
-   .. contents::
-
-Try building some code.
-
-Try Compiling Whole Projects
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  try_compile(RESULT_VAR <bindir> <srcdir>
-              <projectName> [<targetName>] [CMAKE_FLAGS <flags>...]
-              [OUTPUT_VARIABLE <var>])
-
-Try building a project.  The success or failure of the ``try_compile``,
-i.e. ``TRUE`` or ``FALSE`` respectively, is returned in ``RESULT_VAR``.
-
-In this form, ``<srcdir>`` should contain a complete CMake project with a
-``CMakeLists.txt`` file and all sources.  The ``<bindir>`` and ``<srcdir>``
-will not be deleted after this command is run.  Specify ``<targetName>`` to
-build a specific target instead of the ``all`` or ``ALL_BUILD`` target.  See
-below for the meaning of other options.
-
-Try Compiling Source Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-  try_compile(RESULT_VAR <bindir> <srcfile|SOURCES srcfile...>
-              [CMAKE_FLAGS <flags>...]
-              [COMPILE_DEFINITIONS <defs>...]
-              [LINK_LIBRARIES <libs>...]
-              [OUTPUT_VARIABLE <var>]
-              [COPY_FILE <fileName> [COPY_FILE_ERROR <var>]])
-
-Try building an executable from one or more source files.  The success or
-failure of the ``try_compile``, i.e. ``TRUE`` or ``FALSE`` respectively, is
-returned in ``RESULT_VAR``.
-
-In this form the user need only supply one or more source files that include a
-definition for ``main``.  CMake will create a ``CMakeLists.txt`` file to build
-the source(s) as an executable that looks something like this::
-
-  add_definitions(<expanded COMPILE_DEFINITIONS from caller>)
-  include_directories(${INCLUDE_DIRECTORIES})
-  link_directories(${LINK_DIRECTORIES})
-  add_executable(cmTryCompileExec <srcfile>...)
-  target_link_libraries(cmTryCompileExec ${LINK_LIBRARIES})
-
-The options are:
-
-``CMAKE_FLAGS <flags>...``
-  Specify flags of the form ``-DVAR:TYPE=VALUE`` to be passed to
-  the ``cmake`` command-line used to drive the test build.
-  The above example shows how values for variables
-  ``INCLUDE_DIRECTORIES``, ``LINK_DIRECTORIES``, and ``LINK_LIBRARIES``
-  are used.
-
-``COMPILE_DEFINITIONS <defs>...``
-  Specify ``-Ddefinition`` arguments to pass to ``add_definitions``
-  in the generated test project.
-
-``COPY_FILE <fileName>``
-  Copy the linked executable to the given ``<fileName>``.
-
-``COPY_FILE_ERROR <var>``
-  Use after ``COPY_FILE`` to capture into variable ``<var>`` any error
-  message encountered while trying to copy the file.
-
-``LINK_LIBRARIES <libs>...``
-  Specify libraries to be linked in the generated project.
-  The list of libraries may refer to system libraries and to
-  :ref:`Imported Targets <Imported Targets>` from the calling project.
-
-  If this option is specified, any ``-DLINK_LIBRARIES=...`` value
-  given to the ``CMAKE_FLAGS`` option will be ignored.
-
-``OUTPUT_VARIABLE <var>``
-  Store the output from the build process the given variable.
-
-In this version all files in ``<bindir>/CMakeFiles/CMakeTmp`` will be
-cleaned automatically.  For debugging, ``--debug-trycompile`` can be
-passed to ``cmake`` to avoid this clean.  However, multiple sequential
-``try_compile`` operations reuse this single output directory.  If you use
-``--debug-trycompile``, you can only debug one ``try_compile`` call at a time.
-The recommended procedure is to protect all ``try_compile`` calls in your
-project by ``if(NOT DEFINED RESULT_VAR)`` logic, configure with cmake
-all the way through once, then delete the cache entry associated with
-the try_compile call of interest, and then re-run cmake again with
-``--debug-trycompile``.
-
-Other Behavior Settings
-^^^^^^^^^^^^^^^^^^^^^^^
-
-If set, the following variables are passed in to the generated
-try_compile CMakeLists.txt to initialize compile target properties with
-default values:
-
-* :variable:`CMAKE_ENABLE_EXPORTS`
-* :variable:`CMAKE_LINK_SEARCH_START_STATIC`
-* :variable:`CMAKE_LINK_SEARCH_END_STATIC`
-* :variable:`CMAKE_POSITION_INDEPENDENT_CODE`
-
-If :policy:`CMP0056` is set to ``NEW``, then
-:variable:`CMAKE_EXE_LINKER_FLAGS` is passed in as well.
-
-The current setting of :policy:`CMP0065` is set in the generated project.
-
-Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
-a build configuration.
-
-Set the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable to specify
-the type of target used for the source file signature.
-
-Set the :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify
-variables that must be propagated into the test project.  This variable is
-meant for use only in toolchain files.
diff --git a/share/cmake-3.6/Help/generator/CodeBlocks.rst b/share/cmake-3.6/Help/generator/CodeBlocks.rst
deleted file mode 100644
index 01798c7..0000000
--- a/share/cmake-3.6/Help/generator/CodeBlocks.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-CodeBlocks
-----------
-
-Generates CodeBlocks project files.
-
-Project files for CodeBlocks will be created in the top directory and
-in every subdirectory which features a CMakeLists.txt file containing
-a PROJECT() call.  Additionally a hierarchy of makefiles is generated
-into the build tree.  The appropriate make program can build the
-project through the default make target.  A "make install" target is
-also provided.
-
-This "extra" generator may be specified as:
-
-``CodeBlocks - MinGW Makefiles``
- Generate with :generator:`MinGW Makefiles`.
-
-``CodeBlocks - NMake Makefiles``
- Generate with :generator:`NMake Makefiles`.
-
-``CodeBlocks - Ninja``
- Generate with :generator:`Ninja`.
-
-``CodeBlocks - Unix Makefiles``
- Generate with :generator:`Unix Makefiles`.
diff --git a/share/cmake-3.6/Help/generator/CodeLite.rst b/share/cmake-3.6/Help/generator/CodeLite.rst
deleted file mode 100644
index dbc46d7..0000000
--- a/share/cmake-3.6/Help/generator/CodeLite.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-CodeLite
-----------
-
-Generates CodeLite project files.
-
-Project files for CodeLite will be created in the top directory and
-in every subdirectory which features a CMakeLists.txt file containing
-a PROJECT() call. The appropriate make program can build the
-project through the default make target.  A "make install" target is
-also provided.
-
-This "extra" generator may be specified as:
-
-``CodeLite - MinGW Makefiles``
- Generate with :generator:`MinGW Makefiles`.
-
-``CodeLite - NMake Makefiles``
- Generate with :generator:`NMake Makefiles`.
-
-``CodeLite - Ninja``
- Generate with :generator:`Ninja`.
-
-``CodeLite - Unix Makefiles``
- Generate with :generator:`Unix Makefiles`.
diff --git a/share/cmake-3.6/Help/generator/Ninja.rst b/share/cmake-3.6/Help/generator/Ninja.rst
deleted file mode 100644
index d94e5f6..0000000
--- a/share/cmake-3.6/Help/generator/Ninja.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-Ninja
------
-
-Generates build.ninja files.
-
-A build.ninja file is generated into the build tree.  Recent versions
-of the ninja program can build the project through the "all" target.
-An "install" target is also provided.
-
-For each subdirectory ``sub/dir`` of the project an additional target
-named ``sub/dir/all`` is generated that depends on all targets required
-by that subdirectory.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 10 2010.rst b/share/cmake-3.6/Help/generator/Visual Studio 10 2010.rst
deleted file mode 100644
index 77ea9df..0000000
--- a/share/cmake-3.6/Help/generator/Visual Studio 10 2010.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Visual Studio 10 2010
----------------------
-
-Generates Visual Studio 10 (VS 2010) project files.
-
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
-to specify a target platform name.
-
-For compatibility with CMake versions prior to 3.1, one may specify
-a target platform name optionally at the end of this generator name:
-
-``Visual Studio 10 2010 Win64``
-  Specify target platform ``x64``.
-
-``Visual Studio 10 2010 IA64``
-  Specify target platform ``Itanium``.
-
-For compatibility with CMake versions prior to 3.0, one may specify this
-generator using the name ``Visual Studio 10`` without the year component.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 11 2012.rst b/share/cmake-3.6/Help/generator/Visual Studio 11 2012.rst
deleted file mode 100644
index 5fa7f2c..0000000
--- a/share/cmake-3.6/Help/generator/Visual Studio 11 2012.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-Visual Studio 11 2012
----------------------
-
-Generates Visual Studio 11 (VS 2012) project files.
-
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
-to specify a target platform name.
-
-For compatibility with CMake versions prior to 3.1, one may specify
-a target platform name optionally at the end of this generator name:
-
-``Visual Studio 11 2012 Win64``
-  Specify target platform ``x64``.
-
-``Visual Studio 11 2012 ARM``
-  Specify target platform ``ARM``.
-
-``Visual Studio 11 2012 <WinCE-SDK>``
-  Specify target platform matching a Windows CE SDK name.
-
-For compatibility with CMake versions prior to 3.0, one may specify this
-generator using the name "Visual Studio 11" without the year component.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 12 2013.rst b/share/cmake-3.6/Help/generator/Visual Studio 12 2013.rst
deleted file mode 100644
index 2c3b119..0000000
--- a/share/cmake-3.6/Help/generator/Visual Studio 12 2013.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Visual Studio 12 2013
----------------------
-
-Generates Visual Studio 12 (VS 2013) project files.
-
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
-to specify a target platform name.
-
-For compatibility with CMake versions prior to 3.1, one may specify
-a target platform name optionally at the end of this generator name:
-
-``Visual Studio 12 2013 Win64``
-  Specify target platform ``x64``.
-
-``Visual Studio 12 2013 ARM``
-  Specify target platform ``ARM``.
-
-For compatibility with CMake versions prior to 3.0, one may specify this
-generator using the name "Visual Studio 12" without the year component.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 14 2015.rst b/share/cmake-3.6/Help/generator/Visual Studio 14 2015.rst
deleted file mode 100644
index b35997a..0000000
--- a/share/cmake-3.6/Help/generator/Visual Studio 14 2015.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-Visual Studio 14 2015
----------------------
-
-Generates Visual Studio 14 (VS 2015) project files.
-
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
-to specify a target platform name.
-
-For compatibility with CMake versions prior to 3.1, one may specify
-a target platform name optionally at the end of this generator name:
-
-``Visual Studio 14 2015 Win64``
-  Specify target platform ``x64``.
-
-``Visual Studio 14 2015 ARM``
-  Specify target platform ``ARM``.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 7 .NET 2003.rst b/share/cmake-3.6/Help/generator/Visual Studio 7 .NET 2003.rst
deleted file mode 100644
index 1c086a0..0000000
--- a/share/cmake-3.6/Help/generator/Visual Studio 7 .NET 2003.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Visual Studio 7 .NET 2003
--------------------------
-
-Deprecated.  Generates Visual Studio .NET 2003 project files.
-
-.. note::
-  This generator is deprecated and will be removed
-  in a future version of CMake.  It will still be
-  possible to build with VS 7.1 tools using the
-  :generator:`NMake Makefiles` generator.
diff --git a/share/cmake-3.6/Help/generator/Visual Studio 8 2005.rst b/share/cmake-3.6/Help/generator/Visual Studio 8 2005.rst
deleted file mode 100644
index 29012c3..0000000
--- a/share/cmake-3.6/Help/generator/Visual Studio 8 2005.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-Visual Studio 8 2005
---------------------
-
-Generates Visual Studio 8 2005 project files.
-
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
-to specify a target platform name.
-
-For compatibility with CMake versions prior to 3.1, one may specify
-a target platform name optionally at the end of this generator name:
-
-``Visual Studio 8 2005 Win64``
-  Specify target platform ``x64``.
-
-``Visual Studio 8 2005 <WinCE-SDK>``
-  Specify target platform matching a Windows CE SDK name.
diff --git a/share/cmake-3.6/Help/generator/Xcode.rst b/share/cmake-3.6/Help/generator/Xcode.rst
deleted file mode 100644
index d8a6790..0000000
--- a/share/cmake-3.6/Help/generator/Xcode.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Xcode
------
-
-Generate Xcode project files.
diff --git a/share/cmake-3.6/Help/index.rst b/share/cmake-3.6/Help/index.rst
deleted file mode 100644
index 2d3f156..0000000
--- a/share/cmake-3.6/Help/index.rst
+++ /dev/null
@@ -1,59 +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-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-toolchains.7
-   /manual/cmake-variables.7
-
-.. 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.6/Help/manual/OPTIONS_BUILD.txt b/share/cmake-3.6/Help/manual/OPTIONS_BUILD.txt
deleted file mode 100644
index b428a74..0000000
--- a/share/cmake-3.6/Help/manual/OPTIONS_BUILD.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-``-C <initial-cache>``
- Pre-load a script to populate the cache.
-
- When cmake is first run in an empty build tree, it creates a
- CMakeCache.txt file and populates it with customizable settings for
- the project.  This option may be used to specify a file from which
- to load cache entries before the first pass through the project's
- cmake listfiles.  The loaded entries take priority over the
- project's default values.  The given file should be a CMake script
- containing SET commands that use the CACHE option, not a
- cache-format file.
-
-``-D <var>:<type>=<value>, -D <var>=<value>``
- Create a cmake cache entry.
-
- When cmake is first run in an empty build tree, it creates a
- CMakeCache.txt file and populates it with customizable settings for
- the project.  This option may be used to specify a setting that
- takes priority over the project's default value.  The option may be
- repeated for as many cache entries as desired.
-
- If the ``:<type>`` portion is given it must be one of the types
- specified by the :command:`set` command documentation for its
- ``CACHE`` signature.
- If the ``:<type>`` portion is omitted the entry will be created
- with no type if it does not exist with a type already.  If a
- command in the project sets the type to ``PATH`` or ``FILEPATH``
- then the ``<value>`` will be converted to an absolute path.
-
- This option may also be given as a single argument:
- ``-D<var>:<type>=<value>`` or ``-D<var>=<value>``.
-
-``-U <globbing_expr>``
- Remove matching entries from CMake cache.
-
- This option may be used to remove one or more variables from the
- CMakeCache.txt file, globbing expressions using * and ? are
- supported.  The option may be repeated for as many cache entries as
- desired.
-
- Use with care, you can make your CMakeCache.txt non-working.
-
-``-G <generator-name>``
- Specify a build system generator.
-
- CMake may support multiple native build systems on certain
- platforms.  A generator is responsible for generating a particular
- build system.  Possible generator names are specified in the
- :manual:`cmake-generators(7)` manual.
-
-``-T <toolset-name>``
- Specify toolset name if supported by generator.
-
- Some CMake generators support a toolset name to be given to the
- native build system to choose a compiler.  This is supported only on
- specific generators:
-
- ::
-
-   Visual Studio >= 10
-   Xcode >= 3.0
-
- See native build system documentation for allowed toolset names.
-
-``-A <platform-name>``
- Specify platform name if supported by generator.
-
- Some CMake generators support a platform name to be given to the
- native build system to choose a compiler or SDK.  This is supported only on
- specific generators::
-
-   Visual Studio >= 8
-
- See native build system documentation for allowed platform names.
-
-``-Wno-dev``
- Suppress developer warnings.
-
- Suppress warnings that are meant for the author of the
- CMakeLists.txt files. By default this will also turn off
- deprecation warnings.
-
-``-Wdev``
- Enable developer warnings.
-
- Enable warnings that are meant for the author of the CMakeLists.txt
- files. By default this will also turn on deprecation warnings.
-
-``-Werror=dev``
- Make developer warnings errors.
-
- Make warnings that are meant for the author of the CMakeLists.txt files
- errors. By default this will also turn on deprecated warnings as errors.
-
-``-Wno-error=dev``
- Make developer warnings not errors.
-
- Make warnings that are meant for the author of the CMakeLists.txt files not
- errors. By default this will also turn off deprecated warnings as errors.
-
-``-Wdeprecated``
- Enable deprecated functionality warnings.
-
- Enable warnings for usage of deprecated functionality, that are meant
- for the author of the CMakeLists.txt files.
-
-``-Wno-deprecated``
- Suppress deprecated functionality warnings.
-
- Suppress warnings for usage of deprecated functionality, that are meant
- for the author of the CMakeLists.txt files.
-
-``-Werror=deprecated``
- Make deprecated macro and function warnings errors.
-
- Make warnings for usage of deprecated macros and functions, that are meant
- for the author of the CMakeLists.txt files, errors.
-
-``-Wno-error=deprecated``
- Make deprecated macro and function warnings not errors.
-
- Make warnings for usage of deprecated macros and functions, that are meant
- for the author of the CMakeLists.txt files, not errors.
diff --git a/share/cmake-3.6/Help/manual/cmake-buildsystem.7.rst b/share/cmake-3.6/Help/manual/cmake-buildsystem.7.rst
deleted file mode 100644
index 07bf33f..0000000
--- a/share/cmake-3.6/Help/manual/cmake-buildsystem.7.rst
+++ /dev/null
@@ -1,989 +0,0 @@
-.. cmake-manual-description: CMake Buildsystem Reference
-
-cmake-buildsystem(7)
-********************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-A CMake-based buildsystem is organized as a set of high-level logical
-targets.  Each target corresponds to an executable or library, or
-is a custom target containing custom commands.  Dependencies between the
-targets are expressed in the buildsystem to determine the build order
-and the rules for regeneration in response to change.
-
-Binary Targets
-==============
-
-Executables and libraries are defined using the :command:`add_executable`
-and :command:`add_library` commands.  The resulting binary files have
-appropriate prefixes, suffixes and extensions for the platform targeted.
-Dependencies between binary targets are expressed using the
-:command:`target_link_libraries` command:
-
-.. code-block:: cmake
-
-  add_library(archive archive.cpp zip.cpp lzma.cpp)
-  add_executable(zipapp zipapp.cpp)
-  target_link_libraries(zipapp archive)
-
-``archive`` is defined as a static library -- an archive containing objects
-compiled from ``archive.cpp``, ``zip.cpp``, and ``lzma.cpp``.  ``zipapp``
-is defined as an executable formed by compiling and linking ``zipapp.cpp``.
-When linking the ``zipapp`` executable, the ``archive`` static library is
-linked in.
-
-Binary Executables
-------------------
-
-The :command:`add_executable` command defines an executable target:
-
-.. code-block:: cmake
-
-  add_executable(mytool mytool.cpp)
-
-Commands such as :command:`add_custom_command`, which generates rules to be
-run at build time can transparently use an :prop_tgt:`EXECUTABLE <TYPE>`
-target as a ``COMMAND`` executable.  The buildsystem rules will ensure that
-the executable is built before attempting to run the command.
-
-Binary Library Types
---------------------
-
-.. _`Normal Libraries`:
-
-Normal Libraries
-^^^^^^^^^^^^^^^^
-
-By default, the :command:`add_library` command defines a static library,
-unless a type is specified.  A type may be specified when using the command:
-
-.. code-block:: cmake
-
-  add_library(archive SHARED archive.cpp zip.cpp lzma.cpp)
-
-.. code-block:: cmake
-
-  add_library(archive STATIC archive.cpp zip.cpp lzma.cpp)
-
-The :variable:`BUILD_SHARED_LIBS` variable may be enabled to change the
-behavior of :command:`add_library` to build shared libraries by default.
-
-In the context of the buildsystem definition as a whole, it is largely
-irrelevant whether particular libraries are ``SHARED`` or ``STATIC`` --
-the commands, dependency specifications and other APIs work similarly
-regardless of the library type.  The ``MODULE`` library type is
-dissimilar in that it is generally not linked to -- it is not used in
-the right-hand-side of the :command:`target_link_libraries` command.
-It is a type which is loaded as a plugin using runtime techniques.
-If the library does not export any unmanaged symbols (e.g. Windows
-resource DLL, C++/CLI DLL), it is required that the library not be a
-``SHARED`` library because CMake expects ``SHARED`` libraries to export
-at least one symbol.
-
-.. code-block:: cmake
-
-  add_library(archive MODULE 7z.cpp)
-
-.. _`Apple Frameworks`:
-
-Apple Frameworks
-""""""""""""""""
-
-A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
-target property to create an OS X or iOS Framework Bundle.
-The ``MACOSX_FRAMEWORK_IDENTIFIER`` sets ``CFBundleIdentifier`` key
-and it uniquely identifies the bundle.
-
-.. code-block:: cmake
-
-  add_library(MyFramework SHARED MyFramework.cpp)
-  set_target_properties(MyFramework PROPERTIES
-    FRAMEWORK TRUE
-    FRAMEWORK_VERSION A
-    MACOSX_FRAMEWORK_IDENTIFIER org.cmake.MyFramework
-  )
-
-.. _`Object Libraries`:
-
-Object Libraries
-^^^^^^^^^^^^^^^^
-
-The ``OBJECT`` library type is also not linked to. It defines a non-archival
-collection of object files resulting from compiling the given source files.
-The object files collection can be used as source inputs to other targets:
-
-.. code-block:: cmake
-
-  add_library(archive OBJECT archive.cpp zip.cpp lzma.cpp)
-
-  add_library(archiveExtras STATIC $<TARGET_OBJECTS:archive> extras.cpp)
-
-  add_executable(test_exe $<TARGET_OBJECTS:archive> test.cpp)
-
-``OBJECT`` libraries may only be used locally as sources in a buildsystem --
-they may not be installed, exported, or used in the right hand side of
-:command:`target_link_libraries`.  They also may not be used as the ``TARGET``
-in a use of the :command:`add_custom_command(TARGET)` command signature.
-
-Although object libraries may not be named directly in calls to
-the :command:`target_link_libraries` command, they can be "linked"
-indirectly by using an :ref:`Interface Library <Interface Libraries>`
-whose :prop_tgt:`INTERFACE_SOURCES` target property is set to name
-``$<TARGET_OBJECTS:objlib>``.
-
-Build Specification and Usage Requirements
-==========================================
-
-The :command:`target_include_directories`, :command:`target_compile_definitions`
-and :command:`target_compile_options` commands specify the build specifications
-and the usage requirements of binary targets.  The commands populate the
-:prop_tgt:`INCLUDE_DIRECTORIES`, :prop_tgt:`COMPILE_DEFINITIONS` and
-:prop_tgt:`COMPILE_OPTIONS` target properties respectively, and/or the
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`, :prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`
-and :prop_tgt:`INTERFACE_COMPILE_OPTIONS` target properties.
-
-Each of the commands has a ``PRIVATE``, ``PUBLIC`` and ``INTERFACE`` mode.  The
-``PRIVATE`` mode populates only the non-``INTERFACE_`` variant of the target
-property and the ``INTERFACE`` mode populates only the ``INTERFACE_`` variants.
-The ``PUBLIC`` mode populates both variants of the respective target property.
-Each command may be invoked with multiple uses of each keyword:
-
-.. code-block:: cmake
-
-  target_compile_definitions(archive
-    PRIVATE BUILDING_WITH_LZMA
-    INTERFACE USING_ARCHIVE_LIB
-  )
-
-Note that usage requirements are not designed as a way to make downstreams
-use particular :prop_tgt:`COMPILE_OPTIONS` or
-:prop_tgt:`COMPILE_DEFINITIONS` etc for convenience only.  The contents of
-the properties must be **requirements**, not merely recommendations or
-convenience.
-
-See the :ref:`Creating Relocatable Packages` section of the
-:manual:`cmake-packages(7)` manual for discussion of additional care
-that must be taken when specifying usage requirements while creating
-packages for redistribution.
-
-Target Properties
------------------
-
-The contents of the :prop_tgt:`INCLUDE_DIRECTORIES`,
-:prop_tgt:`COMPILE_DEFINITIONS` and :prop_tgt:`COMPILE_OPTIONS` target
-properties are used appropriately when compiling the source files of a
-binary target.
-
-Entries in the :prop_tgt:`INCLUDE_DIRECTORIES` are added to the compile line
-with ``-I`` or ``-isystem`` prefixes and in the order of appearance in the
-property value.
-
-Entries in the :prop_tgt:`COMPILE_DEFINITIONS` are prefixed with ``-D`` or
-``/D`` and added to the compile line in an unspecified order.  The
-:prop_tgt:`DEFINE_SYMBOL` target property is also added as a compile
-definition as a special convenience case for ``SHARED`` and ``MODULE``
-library targets.
-
-Entries in the :prop_tgt:`COMPILE_OPTIONS` are escaped for the shell and added
-in the order of appearance in the property value.  Several compile options have
-special separate handling, such as :prop_tgt:`POSITION_INDEPENDENT_CODE`.
-
-The contents of the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
-:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` and
-:prop_tgt:`INTERFACE_COMPILE_OPTIONS` target properties are
-*Usage Requirements* -- they specify content which consumers
-must use to correctly compile and link with the target they appear on.
-For any binary target, the contents of each ``INTERFACE_`` property on
-each target specified in a :command:`target_link_libraries` command is
-consumed:
-
-.. code-block:: cmake
-
-  set(srcs archive.cpp zip.cpp)
-  if (LZMA_FOUND)
-    list(APPEND srcs lzma.cpp)
-  endif()
-  add_library(archive SHARED ${srcs})
-  if (LZMA_FOUND)
-    # The archive library sources are compiled with -DBUILDING_WITH_LZMA
-    target_compile_definitions(archive PRIVATE BUILDING_WITH_LZMA)
-  endif()
-  target_compile_definitions(archive INTERFACE USING_ARCHIVE_LIB)
-
-  add_executable(consumer)
-  # Link consumer to archive and consume its usage requirements. The consumer
-  # executable sources are compiled with -DUSING_ARCHIVE_LIB.
-  target_link_libraries(consumer archive)
-
-Because it is common to require that the source directory and corresponding
-build directory are added to the :prop_tgt:`INCLUDE_DIRECTORIES`, the
-:variable:`CMAKE_INCLUDE_CURRENT_DIR` variable can be enabled to conveniently
-add the corresponding directories to the :prop_tgt:`INCLUDE_DIRECTORIES` of
-all targets.  The variable :variable:`CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE`
-can be enabled to add the corresponding directories to the
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of all targets.  This makes use of
-targets in multiple different directories convenient through use of the
-:command:`target_link_libraries` command.
-
-
-.. _`Target Usage Requirements`:
-
-Transitive Usage Requirements
------------------------------
-
-The usage requirements of a target can transitively propagate to dependents.
-The :command:`target_link_libraries` command has ``PRIVATE``,
-``INTERFACE`` and ``PUBLIC`` keywords to control the propagation.
-
-.. code-block:: cmake
-
-  add_library(archive archive.cpp)
-  target_compile_definitions(archive INTERFACE USING_ARCHIVE_LIB)
-
-  add_library(serialization serialization.cpp)
-  target_compile_definitions(serialization INTERFACE USING_SERIALIZATION_LIB)
-
-  add_library(archiveExtras extras.cpp)
-  target_link_libraries(archiveExtras PUBLIC archive)
-  target_link_libraries(archiveExtras PRIVATE serialization)
-  # archiveExtras is compiled with -DUSING_ARCHIVE_LIB
-  # and -DUSING_SERIALIZATION_LIB
-
-  add_executable(consumer consumer.cpp)
-  # consumer is compiled with -DUSING_ARCHIVE_LIB
-  target_link_libraries(consumer archiveExtras)
-
-Because ``archive`` is a ``PUBLIC`` dependency of ``archiveExtras``, the
-usage requirements of it are propagated to ``consumer`` too.  Because
-``serialization`` is a ``PRIVATE`` dependency of ``archive``, the usage
-requirements of it are not propagated to ``consumer``.
-
-Generally, a dependency should be specified in a use of
-:command:`target_link_libraries` with the ``PRIVATE`` keyword if it is used by
-only the implementation of a library, and not in the header files.  If a
-dependency is additionally used in the header files of a library (e.g. for
-class inheritance), then it should be specified as a ``PUBLIC`` dependency.
-A dependency which is not used by the implementation of a library, but only by
-its headers should be specified as an ``INTERFACE`` dependency.  The
-:command:`target_link_libraries` command may be invoked with multiple uses of
-each keyword:
-
-.. code-block:: cmake
-
-  target_link_libraries(archiveExtras
-    PUBLIC archive
-    PRIVATE serialization
-  )
-
-Usage requirements are propagated by reading the ``INTERFACE_`` variants
-of target properties from dependencies and appending the values to the
-non-``INTERFACE_`` variants of the operand.  For example, the
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of dependencies is read and
-appended to the :prop_tgt:`INCLUDE_DIRECTORIES` of the operand.  In cases
-where order is relevant and maintained, and the order resulting from the
-:command:`target_link_libraries` calls does not allow correct compilation,
-use of an appropriate command to set the property directly may update the
-order.
-
-For example, if the linked libraries for a target must be specified
-in the order ``lib1`` ``lib2`` ``lib3`` , but the include directories must
-be specified in the order ``lib3`` ``lib1`` ``lib2``:
-
-.. code-block:: cmake
-
-  target_link_libraries(myExe lib1 lib2 lib3)
-  target_include_directories(myExe
-    PRIVATE $<TARGET_PROPERTY:lib3,INTERFACE_INCLUDE_DIRECTORIES>)
-
-Note that care must be taken when specifying usage requirements for targets
-which will be exported for installation using the :command:`install(EXPORT)`
-command.  See :ref:`Creating Packages` for more.
-
-.. _`Compatible Interface Properties`:
-
-Compatible Interface Properties
--------------------------------
-
-Some target properties are required to be compatible between a target and
-the interface of each dependency.  For example, the
-:prop_tgt:`POSITION_INDEPENDENT_CODE` target property may specify a
-boolean value of whether a target should be compiled as
-position-independent-code, which has platform-specific consequences.
-A target may also specify the usage requirement
-:prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE` to communicate that
-consumers must be compiled as position-independent-code.
-
-.. code-block:: cmake
-
-  add_executable(exe1 exe1.cpp)
-  set_property(TARGET exe1 PROPERTY POSITION_INDEPENDENT_CODE ON)
-
-  add_library(lib1 SHARED lib1.cpp)
-  set_property(TARGET lib1 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
-
-  add_executable(exe2 exe2.cpp)
-  target_link_libraries(exe2 lib1)
-
-Here, both ``exe1`` and ``exe2`` will be compiled as position-independent-code.
-``lib1`` will also be compiled as position-independent-code because that is the
-default setting for ``SHARED`` libraries.  If dependencies have conflicting,
-non-compatible requirements :manual:`cmake(1)` issues a diagnostic:
-
-.. code-block:: cmake
-
-  add_library(lib1 SHARED lib1.cpp)
-  set_property(TARGET lib1 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
-
-  add_library(lib2 SHARED lib2.cpp)
-  set_property(TARGET lib2 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE OFF)
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 lib1)
-  set_property(TARGET exe1 PROPERTY POSITION_INDEPENDENT_CODE OFF)
-
-  add_executable(exe2 exe2.cpp)
-  target_link_libraries(exe2 lib1 lib2)
-
-The ``lib1`` requirement ``INTERFACE_POSITION_INDEPENDENT_CODE`` is not
-"compatible" with the ``POSITION_INDEPENDENT_CODE`` property of the ``exe1``
-target.  The library requires that consumers are built as
-position-independent-code, while the executable specifies to not built as
-position-independent-code, so a diagnostic is issued.
-
-The ``lib1`` and ``lib2`` requirements are not "compatible".  One of them
-requires that consumers are built as position-independent-code, while
-the other requires that consumers are not built as position-independent-code.
-Because ``exe2`` links to both and they are in conflict, a diagnostic is
-issued.
-
-To be "compatible", the :prop_tgt:`POSITION_INDEPENDENT_CODE` property,
-if set must be either the same, in a boolean sense, as the
-:prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE` property of all transitively
-specified dependencies on which that property is set.
-
-This property of "compatible interface requirement" may be extended to other
-properties by specifying the property in the content of the
-:prop_tgt:`COMPATIBLE_INTERFACE_BOOL` target property.  Each specified property
-must be compatible between the consuming target and the corresponding property
-with an ``INTERFACE_`` prefix from each dependency:
-
-.. code-block:: cmake
-
-  add_library(lib1Version2 SHARED lib1_v2.cpp)
-  set_property(TARGET lib1Version2 PROPERTY INTERFACE_CUSTOM_PROP ON)
-  set_property(TARGET lib1Version2 APPEND PROPERTY
-    COMPATIBLE_INTERFACE_BOOL CUSTOM_PROP
-  )
-
-  add_library(lib1Version3 SHARED lib1_v3.cpp)
-  set_property(TARGET lib1Version3 PROPERTY INTERFACE_CUSTOM_PROP OFF)
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 lib1Version2) # CUSTOM_PROP will be ON
-
-  add_executable(exe2 exe2.cpp)
-  target_link_libraries(exe2 lib1Version2 lib1Version3) # Diagnostic
-
-Non-boolean properties may also participate in "compatible interface"
-computations.  Properties specified in the
-:prop_tgt:`COMPATIBLE_INTERFACE_STRING`
-property must be either unspecified or compare to the same string among
-all transitively specified dependencies. This can be useful to ensure
-that multiple incompatible versions of a library are not linked together
-through transitive requirements of a target:
-
-.. code-block:: cmake
-
-  add_library(lib1Version2 SHARED lib1_v2.cpp)
-  set_property(TARGET lib1Version2 PROPERTY INTERFACE_LIB_VERSION 2)
-  set_property(TARGET lib1Version2 APPEND PROPERTY
-    COMPATIBLE_INTERFACE_STRING LIB_VERSION
-  )
-
-  add_library(lib1Version3 SHARED lib1_v3.cpp)
-  set_property(TARGET lib1Version3 PROPERTY INTERFACE_LIB_VERSION 3)
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 lib1Version2) # LIB_VERSION will be "2"
-
-  add_executable(exe2 exe2.cpp)
-  target_link_libraries(exe2 lib1Version2 lib1Version3) # Diagnostic
-
-The :prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` target property specifies
-that content will be evaluated numerically and the maximum number among all
-specified will be calculated:
-
-.. code-block:: cmake
-
-  add_library(lib1Version2 SHARED lib1_v2.cpp)
-  set_property(TARGET lib1Version2 PROPERTY INTERFACE_CONTAINER_SIZE_REQUIRED 200)
-  set_property(TARGET lib1Version2 APPEND PROPERTY
-    COMPATIBLE_INTERFACE_NUMBER_MAX CONTAINER_SIZE_REQUIRED
-  )
-
-  add_library(lib1Version3 SHARED lib1_v3.cpp)
-  set_property(TARGET lib1Version3 PROPERTY INTERFACE_CONTAINER_SIZE_REQUIRED 1000)
-
-  add_executable(exe1 exe1.cpp)
-  # CONTAINER_SIZE_REQUIRED will be "200"
-  target_link_libraries(exe1 lib1Version2)
-
-  add_executable(exe2 exe2.cpp)
-  # CONTAINER_SIZE_REQUIRED will be "1000"
-  target_link_libraries(exe2 lib1Version2 lib1Version3)
-
-Similarly, the :prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN` may be used to
-calculate the numeric minimum value for a property from dependencies.
-
-Each calculated "compatible" property value may be read in the consumer at
-generate-time using generator expressions.
-
-Note that for each dependee, the set of properties specified in each
-compatible interface property must not intersect with the set specified in
-any of the other properties.
-
-Property Origin Debugging
--------------------------
-
-Because build specifications can be determined by dependencies, the lack of
-locality of code which creates a target and code which is responsible for
-setting build specifications may make the code more difficult to reason about.
-:manual:`cmake(1)` provides a debugging facility to print the origin of the
-contents of properties which may be determined by dependencies.  The properties
-which can be debugged are listed in the
-:variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable documentation:
-
-.. code-block:: cmake
-
-  set(CMAKE_DEBUG_TARGET_PROPERTIES
-    INCLUDE_DIRECTORIES
-    COMPILE_DEFINITIONS
-    POSITION_INDEPENDENT_CODE
-    CONTAINER_SIZE_REQUIRED
-    LIB_VERSION
-  )
-  add_executable(exe1 exe1.cpp)
-
-In the case of properties listed in :prop_tgt:`COMPATIBLE_INTERFACE_BOOL` or
-:prop_tgt:`COMPATIBLE_INTERFACE_STRING`, the debug output shows which target
-was responsible for setting the property, and which other dependencies also
-defined the property.  In the case of
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` and
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN`, the debug output shows the
-value of the property from each dependency, and whether the value determines
-the new extreme.
-
-Build Specification with Generator Expressions
-----------------------------------------------
-
-Build specifications may use
-:manual:`generator expressions <cmake-generator-expressions(7)>` containing
-content which may be conditional or known only at generate-time.  For example,
-the calculated "compatible" value of a property may be read with the
-``TARGET_PROPERTY`` expression:
-
-.. code-block:: cmake
-
-  add_library(lib1Version2 SHARED lib1_v2.cpp)
-  set_property(TARGET lib1Version2 PROPERTY
-    INTERFACE_CONTAINER_SIZE_REQUIRED 200)
-  set_property(TARGET lib1Version2 APPEND PROPERTY
-    COMPATIBLE_INTERFACE_NUMBER_MAX CONTAINER_SIZE_REQUIRED
-  )
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 lib1Version2)
-  target_compile_definitions(exe1 PRIVATE
-      CONTAINER_SIZE=$<TARGET_PROPERTY:CONTAINER_SIZE_REQUIRED>
-  )
-
-In this case, the ``exe1`` source files will be compiled with
-``-DCONTAINER_SIZE=200``.
-
-Configuration determined build specifications may be conveniently set using
-the ``CONFIG`` generator expression.
-
-.. code-block:: cmake
-
-  target_compile_definitions(exe1 PRIVATE
-      $<$<CONFIG:Debug>:DEBUG_BUILD>
-  )
-
-The ``CONFIG`` parameter is compared case-insensitively with the configuration
-being built.  In the presence of :prop_tgt:`IMPORTED` targets, the content of
-:prop_tgt:`MAP_IMPORTED_CONFIG_DEBUG <MAP_IMPORTED_CONFIG_<CONFIG>>` is also
-accounted for by this expression.
-
-Some buildsystems generated by :manual:`cmake(1)` have a predetermined
-build-configuration set in the :variable:`CMAKE_BUILD_TYPE` variable.  The
-buildsystem for the IDEs such as Visual Studio and Xcode are generated
-independent of the build-configuration, and the actual build configuration
-is not known until build-time.  Therefore, code such as
-
-.. code-block:: cmake
-
-  string(TOLOWER ${CMAKE_BUILD_TYPE} _type)
-  if (_type STREQUAL debug)
-    target_compile_definitions(exe1 PRIVATE DEBUG_BUILD)
-  endif()
-
-may appear to work for ``Makefile`` based and ``Ninja`` generators, but is not
-portable to IDE generators.  Additionally, the :prop_tgt:`IMPORTED`
-configuration-mappings are not accounted for with code like this, so it should
-be avoided.
-
-The unary ``TARGET_PROPERTY`` generator expression and the ``TARGET_POLICY``
-generator expression are evaluated with the consuming target context.  This
-means that a usage requirement specification may be evaluated differently based
-on the consumer:
-
-.. code-block:: cmake
-
-  add_library(lib1 lib1.cpp)
-  target_compile_definitions(lib1 INTERFACE
-    $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:LIB1_WITH_EXE>
-    $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:LIB1_WITH_SHARED_LIB>
-    $<$<TARGET_POLICY:CMP0041>:CONSUMER_CMP0041_NEW>
-  )
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 lib1)
-
-  cmake_policy(SET CMP0041 NEW)
-
-  add_library(shared_lib shared_lib.cpp)
-  target_link_libraries(shared_lib lib1)
-
-The ``exe1`` executable will be compiled with ``-DLIB1_WITH_EXE``, while the
-``shared_lib`` shared library will be compiled with ``-DLIB1_WITH_SHARED_LIB``
-and ``-DCONSUMER_CMP0041_NEW``, because policy :policy:`CMP0041` is
-``NEW`` at the point where the ``shared_lib`` target is created.
-
-The ``BUILD_INTERFACE`` expression wraps requirements which are only used when
-consumed from a target in the same buildsystem, or when consumed from a target
-exported to the build directory using the :command:`export` command.  The
-``INSTALL_INTERFACE`` expression wraps requirements which are only used when
-consumed from a target which has been installed and exported with the
-:command:`install(EXPORT)` command:
-
-.. code-block:: cmake
-
-  add_library(ClimbingStats climbingstats.cpp)
-  target_compile_definitions(ClimbingStats INTERFACE
-    $<BUILD_INTERFACE:ClimbingStats_FROM_BUILD_LOCATION>
-    $<INSTALL_INTERFACE:ClimbingStats_FROM_INSTALLED_LOCATION>
-  )
-  install(TARGETS ClimbingStats EXPORT libExport ${InstallArgs})
-  install(EXPORT libExport NAMESPACE Upstream::
-          DESTINATION lib/cmake/ClimbingStats)
-  export(EXPORT libExport NAMESPACE Upstream::)
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 ClimbingStats)
-
-In this case, the ``exe1`` executable will be compiled with
-``-DClimbingStats_FROM_BUILD_LOCATION``.  The exporting commands generate
-:prop_tgt:`IMPORTED` targets with either the ``INSTALL_INTERFACE`` or the
-``BUILD_INTERFACE`` omitted, and the ``*_INTERFACE`` marker stripped away.
-A separate project consuming the ``ClimbingStats`` package would contain:
-
-.. code-block:: cmake
-
-  find_package(ClimbingStats REQUIRED)
-
-  add_executable(Downstream main.cpp)
-  target_link_libraries(Downstream Upstream::ClimbingStats)
-
-Depending on whether the ``ClimbingStats`` package was used from the build
-location or the install location, the ``Downstream`` target would be compiled
-with either ``-DClimbingStats_FROM_BUILD_LOCATION`` or
-``-DClimbingStats_FROM_INSTALL_LOCATION``.  For more about packages and
-exporting see the :manual:`cmake-packages(7)` manual.
-
-.. _`Include Directories and Usage Requirements`:
-
-Include Directories and Usage Requirements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Include directories require some special consideration when specified as usage
-requirements and when used with generator expressions.  The
-:command:`target_include_directories` command accepts both relative and
-absolute include directories:
-
-.. code-block:: cmake
-
-  add_library(lib1 lib1.cpp)
-  target_include_directories(lib1 PRIVATE
-    /absolute/path
-    relative/path
-  )
-
-Relative paths are interpreted relative to the source directory where the
-command appears.  Relative paths are not allowed in the
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of :prop_tgt:`IMPORTED` targets.
-
-In cases where a non-trivial generator expression is used, the
-``INSTALL_PREFIX`` expression may be used within the argument of an
-``INSTALL_INTERFACE`` expression.  It is a replacement marker which
-expands to the installation prefix when imported by a consuming project.
-
-Include directories usage requirements commonly differ between the build-tree
-and the install-tree.  The ``BUILD_INTERFACE`` and ``INSTALL_INTERFACE``
-generator expressions can be used to describe separate usage requirements
-based on the usage location.  Relative paths are allowed within the
-``INSTALL_INTERFACE`` expression and are interpreted relative to the
-installation prefix.  For example:
-
-.. code-block:: cmake
-
-  add_library(ClimbingStats climbingstats.cpp)
-  target_include_directories(ClimbingStats INTERFACE
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/generated>
-    $<INSTALL_INTERFACE:/absolute/path>
-    $<INSTALL_INTERFACE:relative/path>
-    $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/$<CONFIG>/generated>
-  )
-
-Two convenience APIs are provided relating to include directories usage
-requirements.  The :variable:`CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE` variable
-may be enabled, with an equivalent effect to:
-
-.. code-block:: cmake
-
-  set_property(TARGET tgt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}>
-  )
-
-for each target affected.  The convenience for installed targets is
-an ``INCLUDES DESTINATION`` component with the :command:`install(TARGETS)`
-command:
-
-.. code-block:: cmake
-
-  install(TARGETS foo bar bat EXPORT tgts ${dest_args}
-    INCLUDES DESTINATION include
-  )
-  install(EXPORT tgts ${other_args})
-  install(FILES ${headers} DESTINATION include)
-
-This is equivalent to appending ``${CMAKE_INSTALL_PREFIX}/include`` to the
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of each of the installed
-:prop_tgt:`IMPORTED` targets when generated by :command:`install(EXPORT)`.
-
-When the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of an
-:ref:`imported target <Imported targets>` is consumed, the entries in the
-property are treated as ``SYSTEM`` include directories, as if they were
-listed in the :prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` of the
-dependency. This can result in omission of compiler warnings for headers
-found in those directories.  This behavior for :ref:`imported targets` may
-be controlled with the :prop_tgt:`NO_SYSTEM_FROM_IMPORTED` target property.
-
-If a binary target is linked transitively to a Mac OX framework, the
-``Headers`` directory of the framework is also treated as a usage requirement.
-This has the same effect as passing the framework directory as an include
-directory.
-
-Link Libraries and Generator Expressions
-----------------------------------------
-
-Like build specifications, :prop_tgt:`link libraries <LINK_LIBRARIES>` may be
-specified with generator expression conditions.  However, as consumption of
-usage requirements is based on collection from linked dependencies, there is
-an additional limitation that the link dependencies must form a "directed
-acyclic graph".  That is, if linking to a target is dependent on the value of
-a target property, that target property may not be dependent on the linked
-dependencies:
-
-.. code-block:: cmake
-
-  add_library(lib1 lib1.cpp)
-  add_library(lib2 lib2.cpp)
-  target_link_libraries(lib1 PUBLIC
-    $<$<TARGET_PROPERTY:POSITION_INDEPENDENT_CODE>:lib2>
-  )
-  add_library(lib3 lib3.cpp)
-  set_property(TARGET lib3 PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 lib1 lib3)
-
-As the value of the :prop_tgt:`POSITION_INDEPENDENT_CODE` property of
-the ``exe1`` target is dependent on the linked libraries (``lib3``), and the
-edge of linking ``exe1`` is determined by the same
-:prop_tgt:`POSITION_INDEPENDENT_CODE` property, the dependency graph above
-contains a cycle.  :manual:`cmake(1)` issues a diagnostic in this case.
-
-.. _`Output Artifacts`:
-
-Output Artifacts
-----------------
-
-The buildsystem targets created by the :command:`add_library` and
-:command:`add_executable` commands create rules to create binary outputs.
-The exact output location of the binaries can only be determined at
-generate-time because it can depend on the build-configuration and the
-link-language of linked dependencies etc.  ``TARGET_FILE``,
-``TARGET_LINKER_FILE`` and related expressions can be used to access the
-name and location of generated binaries.  These expressions do not work
-for ``OBJECT`` libraries however, as there is no single file generated
-by such libraries which is relevant to the expressions.
-
-There are three kinds of output artifacts that may be build by targets
-as detailed in the following sections.  Their classification differs
-between DLL platforms and non-DLL platforms.  All Windows-based
-systems including Cygwin are DLL platforms.
-
-.. _`Runtime Output Artifacts`:
-
-Runtime Output Artifacts
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-A *runtime* output artifact of a buildsystem target may be:
-
-* The executable file (e.g. ``.exe``) of an executable target
-  created by the :command:`add_executable` command.
-
-* On DLL platforms: the executable file (e.g. ``.dll``) of a shared
-  library target created by the :command:`add_library` command
-  with the ``SHARED`` option.
-
-The :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` and :prop_tgt:`RUNTIME_OUTPUT_NAME`
-target properties may be used to control runtime output artifact locations
-and names in the build tree.
-
-.. _`Library Output Artifacts`:
-
-Library Output Artifacts
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-A *library* output artifact of a buildsystem target may be:
-
-* The loadable module file (e.g. ``.dll`` or ``.so``) of a module
-  library target created by the :command:`add_library` command
-  with the ``MODULE`` option.
-
-* On non-DLL platforms: the shared library file (e.g. ``.so`` or ``.dylib``)
-  of a shared shared library target created by the :command:`add_library`
-  command with the ``SHARED`` option.
-
-The :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY` and :prop_tgt:`LIBRARY_OUTPUT_NAME`
-target properties may be used to control library output artifact locations
-and names in the build tree.
-
-.. _`Archive Output Artifacts`:
-
-Archive Output Artifacts
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-An *archive* output artifact of a buildsystem target may be:
-
-* The static library file (e.g. ``.lib`` or ``.a``) of a static
-  library target created by the :command:`add_library` command
-  with the ``STATIC`` option.
-
-* On DLL platforms: the import library file (e.g. ``.lib``) of a shared
-  library target created by the :command:`add_library` command
-  with the ``SHARED`` option.  This file is only guaranteed to exist if
-  the library exports at least one unmanaged symbol.
-
-* On DLL platforms: the import library file (e.g. ``.lib``) of an
-  executable target created by the :command:`add_executable` command
-  when its :prop_tgt:`ENABLE_EXPORTS` target property is set.
-
-The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY` and :prop_tgt:`ARCHIVE_OUTPUT_NAME`
-target properties may be used to control archive output artifact locations
-and names in the build tree.
-
-Directory-Scoped Commands
--------------------------
-
-The :command:`target_include_directories`,
-:command:`target_compile_definitions` and
-:command:`target_compile_options` commands have an effect on only one
-target at a time.  The commands :command:`add_definitions`,
-:command:`add_compile_options` and :command:`include_directories` have
-a similar function, but operate at directory scope instead of target
-scope for convenience.
-
-Pseudo Targets
-==============
-
-Some target types do not represent outputs of the buildsystem, but only inputs
-such as external dependencies, aliases or other non-build artifacts.  Pseudo
-targets are not represented in the generated buildsystem.
-
-.. _`Imported Targets`:
-
-Imported Targets
-----------------
-
-An :prop_tgt:`IMPORTED` target represents a pre-existing dependency.  Usually
-such targets are defined by an upstream package and should be treated as
-immutable.  It is not possible to use an :prop_tgt:`IMPORTED` target in the
-left-hand-side of the :command:`target_compile_definitions`,
-:command:`target_include_directories`, :command:`target_compile_options` or
-:command:`target_link_libraries` commands, as that would be an attempt to
-modify it.  :prop_tgt:`IMPORTED` targets are designed to be used only in the
-right-hand-side of those commands.
-
-:prop_tgt:`IMPORTED` targets may have the same usage requirement properties
-populated as binary targets, such as
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
-:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`,
-:prop_tgt:`INTERFACE_COMPILE_OPTIONS`,
-:prop_tgt:`INTERFACE_LINK_LIBRARIES`, and
-:prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE`.
-
-The :prop_tgt:`LOCATION` may also be read from an IMPORTED target, though there
-is rarely reason to do so.  Commands such as :command:`add_custom_command` can
-transparently use an :prop_tgt:`IMPORTED` :prop_tgt:`EXECUTABLE <TYPE>` target
-as a ``COMMAND`` executable.
-
-The scope of the definition of an :prop_tgt:`IMPORTED` target is the directory
-where it was defined.  It may be accessed and used from subdirectories, but
-not from parent directories or sibling directories.  The scope is similar to
-the scope of a cmake variable.
-
-It is also possible to define a ``GLOBAL`` :prop_tgt:`IMPORTED` target which is
-accessible globally in the buildsystem.
-
-See the :manual:`cmake-packages(7)` manual for more on creating packages
-with :prop_tgt:`IMPORTED` targets.
-
-.. _`Alias Targets`:
-
-Alias Targets
--------------
-
-An ``ALIAS`` target is a name which may be used interchangably with
-a binary target name in read-only contexts.  A primary use-case for ``ALIAS``
-targets is for example or unit test executables accompanying a library, which
-may be part of the same buildsystem or built separately based on user
-configuration.
-
-.. code-block:: cmake
-
-  add_library(lib1 lib1.cpp)
-  install(TARGETS lib1 EXPORT lib1Export ${dest_args})
-  install(EXPORT lib1Export NAMESPACE Upstream:: ${other_args})
-
-  add_library(Upstream::lib1 ALIAS lib1)
-
-In another directory, we can link unconditionally to the ``Upstream::lib1``
-target, which may be an :prop_tgt:`IMPORTED` target from a package, or an
-``ALIAS`` target if built as part of the same buildsystem.
-
-.. code-block:: cmake
-
-  if (NOT TARGET Upstream::lib1)
-    find_package(lib1 REQUIRED)
-  endif()
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 Upstream::lib1)
-
-``ALIAS`` targets are not mutable, installable or exportable.  They are
-entirely local to the buildsystem description.  A name can be tested for
-whether it is an ``ALIAS`` name by reading the :prop_tgt:`ALIASED_TARGET`
-property from it:
-
-.. code-block:: cmake
-
-  get_target_property(_aliased Upstream::lib1 ALIASED_TARGET)
-  if(_aliased)
-    message(STATUS "The name Upstream::lib1 is an ALIAS for ${_aliased}.")
-  endif()
-
-.. _`Interface Libraries`:
-
-Interface Libraries
--------------------
-
-An ``INTERFACE`` target has no :prop_tgt:`LOCATION` and is mutable, but is
-otherwise similar to an :prop_tgt:`IMPORTED` target.
-
-It may specify usage requirements such as
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
-:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`,
-:prop_tgt:`INTERFACE_COMPILE_OPTIONS`,
-:prop_tgt:`INTERFACE_LINK_LIBRARIES`,
-:prop_tgt:`INTERFACE_SOURCES`,
-and :prop_tgt:`INTERFACE_POSITION_INDEPENDENT_CODE`.
-Only the ``INTERFACE`` modes of the :command:`target_include_directories`,
-:command:`target_compile_definitions`, :command:`target_compile_options`,
-:command:`target_sources`, and :command:`target_link_libraries` commands
-may be used with ``INTERFACE`` libraries.
-
-A primary use-case for ``INTERFACE`` libraries is header-only libraries.
-
-.. code-block:: cmake
-
-  add_library(Eigen INTERFACE)
-  target_include_directories(Eigen INTERFACE
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
-    $<INSTALL_INTERFACE:include/Eigen>
-  )
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 Eigen)
-
-Here, the usage requirements from the ``Eigen`` target are consumed and used
-when compiling, but it has no effect on linking.
-
-Another use-case is to employ an entirely target-focussed design for usage
-requirements:
-
-.. code-block:: cmake
-
-  add_library(pic_on INTERFACE)
-  set_property(TARGET pic_on PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON)
-  add_library(pic_off INTERFACE)
-  set_property(TARGET pic_off PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE OFF)
-
-  add_library(enable_rtti INTERFACE)
-  target_compile_options(enable_rtti INTERFACE
-    $<$<OR:$<COMPILER_ID:GNU>,$<COMPILER_ID:Clang>>:-rtti>
-  )
-
-  add_executable(exe1 exe1.cpp)
-  target_link_libraries(exe1 pic_on enable_rtti)
-
-This way, the build specification of ``exe1`` is expressed entirely as linked
-targets, and the complexity of compiler-specific flags is encapsulated in an
-``INTERFACE`` library target.
-
-The properties permitted to be set on or read from an ``INTERFACE`` library
-are:
-
-* Properties matching ``INTERFACE_*``
-* Built-in properties matching ``COMPATIBLE_INTERFACE_*``
-* ``EXPORT_NAME``
-* ``IMPORTED``
-* ``NAME``
-* Properties matching ``MAP_IMPORTED_CONFIG_*``
-
-``INTERFACE`` libraries may be installed and exported.  Any content they refer
-to must be installed separately:
-
-.. code-block:: cmake
-
-  add_library(Eigen INTERFACE)
-  target_include_directories(Eigen INTERFACE
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
-    $<INSTALL_INTERFACE:include/Eigen>
-  )
-
-  install(TARGETS Eigen EXPORT eigenExport)
-  install(EXPORT eigenExport NAMESPACE Upstream::
-    DESTINATION lib/cmake/Eigen
-  )
-  install(FILES
-      ${CMAKE_CURRENT_SOURCE_DIR}/src/eigen.h
-      ${CMAKE_CURRENT_SOURCE_DIR}/src/vector.h
-      ${CMAKE_CURRENT_SOURCE_DIR}/src/matrix.h
-    DESTINATION include/Eigen
-  )
diff --git a/share/cmake-3.6/Help/manual/cmake-commands.7.rst b/share/cmake-3.6/Help/manual/cmake-commands.7.rst
deleted file mode 100644
index d0c2986..0000000
--- a/share/cmake-3.6/Help/manual/cmake-commands.7.rst
+++ /dev/null
@@ -1,155 +0,0 @@
-.. cmake-manual-description: CMake Language Command Reference
-
-cmake-commands(7)
-*****************
-
-.. only:: html
-
-   .. contents::
-
-Normal Commands
-===============
-
-These commands may be used freely in CMake projects.
-
-.. toctree::
-   :maxdepth: 1
-
-   /command/add_compile_options
-   /command/add_custom_command
-   /command/add_custom_target
-   /command/add_definitions
-   /command/add_dependencies
-   /command/add_executable
-   /command/add_library
-   /command/add_subdirectory
-   /command/add_test
-   /command/aux_source_directory
-   /command/break
-   /command/build_command
-   /command/cmake_host_system_information
-   /command/cmake_minimum_required
-   /command/cmake_parse_arguments
-   /command/cmake_policy
-   /command/configure_file
-   /command/continue
-   /command/create_test_sourcelist
-   /command/define_property
-   /command/elseif
-   /command/else
-   /command/enable_language
-   /command/enable_testing
-   /command/endforeach
-   /command/endfunction
-   /command/endif
-   /command/endmacro
-   /command/endwhile
-   /command/execute_process
-   /command/export
-   /command/file
-   /command/find_file
-   /command/find_library
-   /command/find_package
-   /command/find_path
-   /command/find_program
-   /command/fltk_wrap_ui
-   /command/foreach
-   /command/function
-   /command/get_cmake_property
-   /command/get_directory_property
-   /command/get_filename_component
-   /command/get_property
-   /command/get_source_file_property
-   /command/get_target_property
-   /command/get_test_property
-   /command/if
-   /command/include_directories
-   /command/include_external_msproject
-   /command/include_regular_expression
-   /command/include
-   /command/install
-   /command/link_directories
-   /command/link_libraries
-   /command/list
-   /command/load_cache
-   /command/macro
-   /command/mark_as_advanced
-   /command/math
-   /command/message
-   /command/option
-   /command/project
-   /command/qt_wrap_cpp
-   /command/qt_wrap_ui
-   /command/remove_definitions
-   /command/return
-   /command/separate_arguments
-   /command/set_directory_properties
-   /command/set_property
-   /command/set
-   /command/set_source_files_properties
-   /command/set_target_properties
-   /command/set_tests_properties
-   /command/site_name
-   /command/source_group
-   /command/string
-   /command/target_compile_definitions
-   /command/target_compile_features
-   /command/target_compile_options
-   /command/target_include_directories
-   /command/target_link_libraries
-   /command/target_sources
-   /command/try_compile
-   /command/try_run
-   /command/unset
-   /command/variable_watch
-   /command/while
-
-Deprecated Commands
-===================
-
-These commands are available only for compatibility with older
-versions of CMake.  Do not use them in new code.
-
-.. toctree::
-   :maxdepth: 1
-
-   /command/build_name
-   /command/exec_program
-   /command/export_library_dependencies
-   /command/install_files
-   /command/install_programs
-   /command/install_targets
-   /command/load_command
-   /command/make_directory
-   /command/output_required_files
-   /command/remove
-   /command/subdir_depends
-   /command/subdirs
-   /command/use_mangled_mesa
-   /command/utility_source
-   /command/variable_requires
-   /command/write_file
-
-.. _`CTest Commands`:
-
-CTest Commands
-==============
-
-These commands are available only in ctest scripts.
-
-.. toctree::
-   :maxdepth: 1
-
-   /command/ctest_build
-   /command/ctest_configure
-   /command/ctest_coverage
-   /command/ctest_empty_binary_directory
-   /command/ctest_memcheck
-   /command/ctest_read_custom_files
-   /command/ctest_run_script
-   /command/ctest_sleep
-   /command/ctest_start
-   /command/ctest_submit
-   /command/ctest_test
-   /command/ctest_update
-   /command/ctest_upload
diff --git a/share/cmake-3.6/Help/manual/cmake-compile-features.7.rst b/share/cmake-3.6/Help/manual/cmake-compile-features.7.rst
deleted file mode 100644
index 7289e61..0000000
--- a/share/cmake-3.6/Help/manual/cmake-compile-features.7.rst
+++ /dev/null
@@ -1,312 +0,0 @@
-.. cmake-manual-description: CMake Compile Features Reference
-
-cmake-compile-features(7)
-*************************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-Project source code may depend on, or be conditional on, the availability
-of certain features of the compiler.  There are three use-cases which arise:
-`Compile Feature Requirements`_, `Optional Compile Features`_
-and `Conditional Compilation Options`_.
-
-While features are typically specified in programming language standards,
-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
-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
-CMake knows are known to the compiler, regardless of language standard
-or compile flags needed to use them.
-
-Features known to CMake are named mostly following the same convention
-as the Clang feature test macros.  The are some exceptions, such as
-CMake using ``cxx_final`` and ``cxx_override`` instead of the single
-``cxx_override_control`` used by Clang.
-
-Compile Feature Requirements
-============================
-
-Compile feature requirements may be specified with the
-:command:`target_compile_features` command.  For example, if a target must
-be compiled with compiler support for the
-:prop_gbl:`cxx_constexpr <CMAKE_CXX_KNOWN_FEATURES>` feature:
-
-.. code-block:: cmake
-
-  add_library(mylib requires_constexpr.cpp)
-  target_compile_features(mylib PRIVATE cxx_constexpr)
-
-In processing the requirement for the ``cxx_constexpr`` feature,
-:manual:`cmake(1)` will ensure that the in-use C++ compiler is capable
-of the feature, and will add any necessary flags such as ``-std=gnu++11``
-to the compile lines of C++ files in the ``mylib`` target.  A
-``FATAL_ERROR`` is issued if the compiler is not capable of the
-feature.
-
-The exact compile flags and language standard are deliberately not part
-of the user interface for this use-case.  CMake will compute the
-appropriate compile flags to use by considering the features specified
-for each target.
-
-Such compile flags are added even if the compiler supports the
-particular feature without the flag. For example, the GNU compiler
-supports variadic templates (with a warning) even if ``-std=gnu++98`` is
-used.  CMake adds the ``-std=gnu++11`` flag if ``cxx_variadic_templates``
-is specified as a requirement.
-
-In the above example, ``mylib`` requires ``cxx_constexpr`` when it
-is built itself, but consumers of ``mylib`` are not required to use a
-compiler which supports ``cxx_constexpr``.  If the interface of
-``mylib`` does require the ``cxx_constexpr`` feature (or any other
-known feature), that may be specified with the ``PUBLIC`` or
-``INTERFACE`` signatures of :command:`target_compile_features`:
-
-.. code-block:: cmake
-
-  add_library(mylib requires_constexpr.cpp)
-  # cxx_constexpr is a usage-requirement
-  target_compile_features(mylib PUBLIC cxx_constexpr)
-
-  # main.cpp will be compiled with -std=gnu++11 on GNU for cxx_constexpr.
-  add_executable(myexe main.cpp)
-  target_link_libraries(myexe mylib)
-
-Feature requirements are evaluated transitively by consuming the link
-implementation.  See :manual:`cmake-buildsystem(7)` for more on
-transitive behavior of build properties and usage requirements.
-
-Because the :prop_tgt:`CXX_EXTENSIONS` target property is ``ON`` by default,
-CMake uses extended variants of language dialects by default, such as
-``-std=gnu++11`` instead of ``-std=c++11``.  That target property may be
-set to ``OFF`` to use the non-extended variant of the dialect flag.  Note
-that because most compilers enable extensions by default, this could
-expose cross-platform bugs in user code or in the headers of third-party
-dependencies.
-
-Optional Compile Features
-=========================
-
-Compile features may be preferred if available, without creating a hard
-requirement.  For example, a library may provides alternative
-implementations depending on whether the ``cxx_variadic_templates``
-feature is available:
-
-.. code-block:: c++
-
-  #if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
-  template<int I, int... Is>
-  struct Interface;
-
-  template<int I>
-  struct Interface<I>
-  {
-    static int accumulate()
-    {
-      return I;
-    }
-  };
-
-  template<int I, int... Is>
-  struct Interface
-  {
-    static int accumulate()
-    {
-      return I + Interface<Is...>::accumulate();
-    }
-  };
-  #else
-  template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
-  struct Interface
-  {
-    static int accumulate() { return I1 + I2 + I3 + I4; }
-  };
-  #endif
-
-Such an interface depends on using the correct preprocessor defines for the
-compiler features.  CMake can generate a header file containing such
-defines using the :module:`WriteCompilerDetectionHeader` module.  The
-module contains the ``write_compiler_detection_header`` function which
-accepts parameters to control the content of the generated header file:
-
-.. code-block:: cmake
-
-  write_compiler_detection_header(
-    FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
-    PREFIX Foo
-    COMPILERS GNU
-    FEATURES
-      cxx_variadic_templates
-  )
-
-Such a header file may be used internally in the source code of a project,
-and it may be installed and used in the interface of library code.
-
-For each feature listed in ``FEATURES``, a preprocessor definition
-is created in the header file, and defined to either ``1`` or ``0``.
-
-Additionally, some features call for additional defines, such as the
-``cxx_final`` and ``cxx_override`` features. Rather than being used in
-``#ifdef`` code, the ``final`` keyword is abstracted by a symbol
-which is defined to either ``final``, a compiler-specific equivalent, or
-to empty.  That way, C++ code can be written to unconditionally use the
-symbol, and compiler support determines what it is expanded to:
-
-.. code-block:: c++
-
-  struct Interface {
-    virtual void Execute() = 0;
-  };
-
-  struct Concrete Foo_FINAL {
-    void Execute() Foo_OVERRIDE;
-  };
-
-In this case, ``Foo_FINAL`` will expand to ``final`` if the
-compiler supports the keyword, or to empty otherwise.
-
-In this use-case, the CMake code will wish to enable a particular language
-standard if available from the compiler. The :prop_tgt:`CXX_STANDARD`
-target property variable may be set to the desired language standard
-for a particular target, and the :variable:`CMAKE_CXX_STANDARD` may be
-set to influence all following targets:
-
-.. code-block:: cmake
-
-  write_compiler_detection_header(
-    FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
-    PREFIX Foo
-    COMPILERS GNU
-    FEATURES
-      cxx_final cxx_override
-  )
-
-  # Includes foo_compiler_detection.h and uses the Foo_FINAL symbol
-  # which will expand to 'final' if the compiler supports the requested
-  # CXX_STANDARD.
-  add_library(foo foo.cpp)
-  set_property(TARGET foo PROPERTY CXX_STANDARD 11)
-
-  # Includes foo_compiler_detection.h and uses the Foo_FINAL symbol
-  # which will expand to 'final' if the compiler supports the feature,
-  # even though CXX_STANDARD is not set explicitly.  The requirement of
-  # cxx_constexpr causes CMake to set CXX_STANDARD internally, which
-  # affects the compile flags.
-  add_library(foo_impl foo_impl.cpp)
-  target_compile_features(foo_impl PRIVATE cxx_constexpr)
-
-The ``write_compiler_detection_header`` function also creates compatibility
-code for other features which have standard equivalents.  For example, the
-``cxx_static_assert`` feature is emulated with a template and abstracted
-via the ``<PREFIX>_STATIC_ASSERT`` and ``<PREFIX>_STATIC_ASSERT_MSG``
-function-macros.
-
-Conditional Compilation Options
-===============================
-
-Libraries may provide entirely different header files depending on
-requested compiler features.
-
-For example, a header at ``with_variadics/interface.h`` may contain:
-
-.. code-block:: c++
-
-  template<int I, int... Is>
-  struct Interface;
-
-  template<int I>
-  struct Interface<I>
-  {
-    static int accumulate()
-    {
-      return I;
-    }
-  };
-
-  template<int I, int... Is>
-  struct Interface
-  {
-    static int accumulate()
-    {
-      return I + Interface<Is...>::accumulate();
-    }
-  };
-
-while a header at ``no_variadics/interface.h`` may contain:
-
-.. code-block:: c++
-
-  template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
-  struct Interface
-  {
-    static int accumulate() { return I1 + I2 + I3 + I4; }
-  };
-
-It would be possible to write a abstraction ``interface.h`` header
-containing something like:
-
-.. code-block:: c++
-
-  #include "foo_compiler_detection.h"
-  #if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
-  #include "with_variadics/interface.h"
-  #else
-  #include "no_variadics/interface.h"
-  #endif
-
-However this could be unmaintainable if there are many files to
-abstract. What is needed is to use alternative include directories
-depending on the compiler capabilities.
-
-CMake provides a ``COMPILE_FEATURES``
-:manual:`generator expression <cmake-generator-expressions(7)>` to implement
-such conditions.  This may be used with the build-property commands such as
-:command:`target_include_directories` and :command:`target_link_libraries`
-to set the appropriate :manual:`buildsystem <cmake-buildsystem(7)>`
-properties:
-
-.. code-block:: cmake
-
-  add_library(foo INTERFACE)
-  set(with_variadics ${CMAKE_CURRENT_SOURCE_DIR}/with_variadics)
-  set(no_variadics ${CMAKE_CURRENT_SOURCE_DIR}/no_variadics)
-  target_include_directories(foo
-    INTERFACE
-      "$<$<COMPILE_FEATURES:cxx_variadic_templates>:${with_variadics}>"
-      "$<$<NOT:$<COMPILE_FEATURES:cxx_variadic_templates>>:${no_variadics}>"
-    )
-
-Consuming code then simply links to the ``foo`` target as usual and uses
-the feature-appropriate include directory
-
-.. code-block:: cmake
-
-  add_executable(consumer_with consumer_with.cpp)
-  target_link_libraries(consumer_with foo)
-  set_property(TARGET consumer_with CXX_STANDARD 11)
-
-  add_executable(consumer_no consumer_no.cpp)
-  target_link_libraries(consumer_no foo)
-
-Supported Compilers
-===================
-
-CMake is currently aware of the :prop_tgt:`language standards <CXX_STANDARD>`
-and :prop_gbl:`compile features <CMAKE_CXX_KNOWN_FEATURES>` available from
-the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
-versions specified for each:
-
-* ``AppleClang``: Apple Clang for Xcode versions 4.4 though 6.2.
-* ``Clang``: Clang compiler versions 2.9 through 3.4.
-* ``GNU``: GNU compiler versions 4.4 through 5.0.
-* ``MSVC``: Microsoft Visual Studio versions 2010 through 2015.
-* ``SunPro``: Oracle SolarisStudio version 12.4.
-* ``Intel``: Intel compiler versions 12.1 through 16.0 on UNIX platforms.
diff --git a/share/cmake-3.6/Help/manual/cmake-developer.7.rst b/share/cmake-3.6/Help/manual/cmake-developer.7.rst
deleted file mode 100644
index 7bfdcad..0000000
--- a/share/cmake-3.6/Help/manual/cmake-developer.7.rst
+++ /dev/null
@@ -1,1007 +0,0 @@
-.. cmake-manual-description: CMake Developer Reference
-
-cmake-developer(7)
-******************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-This manual is intended for reference by developers modifying the CMake
-source tree itself.
-
-
-Permitted C++ Subset
-====================
-
-CMake is required to build with ancient C++ compilers and standard library
-implementations.  Some common C++ constructs may not be used in CMake in order
-to build with such toolchains.
-
-std::auto_ptr
--------------
-
-Some implementations have a ``std::auto_ptr`` which can not be used as a
-return value from a function. ``std::auto_ptr`` may not be used. Use
-``cmsys::auto_ptr`` instead.
-
-size_t
-------
-
-Various implementations have differing implementation of ``size_t``.  When
-assigning the result of ``.size()`` on a container for example, the result
-should be assigned to ``size_t`` not to ``std::size_t``, ``unsigned int`` or
-similar types.
-
-Adding Compile Features
-=======================
-
-CMake reports an error if a compiler whose features are known does not report
-support for a particular requested feature.  A compiler is considered to have
-known features if it reports support for at least one feature.
-
-When adding a new compile feature to CMake, it is therefore necessary to list
-support for the feature for all CompilerIds which already have one or more
-feature supported, if the new feature is available for any version of the
-compiler.
-
-When adding the first supported feature to a particular CompilerId, it is
-necessary to list support for all features known to cmake (See
-:variable:`CMAKE_C_COMPILE_FEATURES` and
-:variable:`CMAKE_CXX_COMPILE_FEATURES` as appropriate), where available for
-the compiler.  Ensure that the ``CMAKE_<LANG>_STANDARD_DEFAULT`` is set to
-the computed internal variable ``CMAKE_<LANG>_STANDARD_COMPUTED_DEFAULT``
-for compiler versions which should be supported.
-
-It is sensible to record the features for the most recent version of a
-particular CompilerId first, and then work backwards.  It is sensible to
-try to create a continuous range of versions of feature releases of the
-compiler.  Gaps in the range indicate incorrect features recorded for
-intermediate releases.
-
-Generally, features are made available for a particular version if the
-compiler vendor documents availability of the feature with that
-version.  Note that sometimes partially implemented features appear to
-be functional in previous releases (such as ``cxx_constexpr`` in GNU 4.6,
-though availability is documented in GNU 4.7), and sometimes compiler vendors
-document availability of features, though supporting infrastructure is
-not available (such as ``__has_feature(cxx_generic_lambdas)`` indicating
-non-availability in Clang 3.4, though it is documented as available, and
-fixed in Clang 3.5).  Similar cases for other compilers and versions
-need to be investigated when extending CMake to support them.
-
-When a vendor releases a new version of a known compiler which supports
-a previously unsupported feature, and there are already known features for
-that compiler, the feature should be listed as supported in CMake for
-that version of the compiler as soon as reasonably possible.
-
-Standard-specific/compiler-specific variables such
-``CMAKE_CXX98_COMPILE_FEATURES`` are deliberately not documented.  They
-only exist for the compiler-specific implementation of adding the ``-std``
-compile flag for compilers which need that.
-
-Help
-====
-
-The ``Help`` directory contains CMake help manual source files.
-They are written using the `reStructuredText`_ markup syntax and
-processed by `Sphinx`_ to generate the CMake help manuals.
-
-.. _`reStructuredText`: http://docutils.sourceforge.net/docs/ref/rst/introduction.html
-.. _`Sphinx`: http://sphinx-doc.org
-
-Markup Constructs
------------------
-
-In addition to using Sphinx to generate the CMake help manuals, we
-also use a C++-implemented document processor to print documents for
-the ``--help-*`` command-line help options.  It supports a subset of
-reStructuredText markup.  When authoring or modifying documents,
-please verify that the command-line help looks good in addition to the
-Sphinx-generated html and man pages.
-
-The command-line help processor supports the following constructs
-defined by reStructuredText, Sphinx, and a CMake extension to Sphinx.
-
-..
- Note: This list must be kept consistent with the cmRST implementation.
-
-CMake Domain directives
- Directives defined in the `CMake Domain`_ for defining CMake
- documentation objects are printed in command-line help output as
- if the lines were normal paragraph text with interpretation.
-
-CMake Domain interpreted text roles
- Interpreted text roles defined in the `CMake Domain`_ for
- cross-referencing CMake documentation objects are replaced by their
- link text in command-line help output.  Other roles are printed
- literally and not processed.
-
-``code-block`` directive
- Add a literal code block without interpretation.  The command-line
- help processor prints the block content without the leading directive
- line and with common indentation replaced by one space.
-
-``include`` directive
- Include another document source file.  The command-line help
- processor prints the included document inline with the referencing
- document.
-
-literal block after ``::``
- A paragraph ending in ``::`` followed by a blank line treats
- the following indented block as literal text without interpretation.
- The command-line help processor prints the ``::`` literally and
- prints the block content with common indentation replaced by one
- space.
-
-``note`` directive
- Call out a side note.  The command-line help processor prints the
- block content as if the lines were normal paragraph text with
- interpretation.
-
-``parsed-literal`` directive
- Add a literal block with markup interpretation.  The command-line
- help processor prints the block content without the leading
- directive line and with common indentation replaced by one space.
-
-``productionlist`` directive
- Render context-free grammar productions.  The command-line help
- processor prints the block content as if the lines were normal
- paragraph text with interpretation.
-
-``replace`` directive
- Define a ``|substitution|`` replacement.
- The command-line help processor requires a substitution replacement
- to be defined before it is referenced.
-
-``|substitution|`` reference
- Reference a substitution replacement previously defined by
- the ``replace`` directive.  The command-line help processor
- performs the substitution and replaces all newlines in the
- replacement text with spaces.
-
-``toctree`` directive
- Include other document sources in the Table-of-Contents
- document tree.  The command-line help processor prints
- the referenced documents inline as part of the referencing
- document.
-
-Inline markup constructs not listed above are printed literally in the
-command-line help output.  We prefer to use inline markup constructs that
-look correct in source form, so avoid use of \\-escapes in favor of inline
-literals when possible.
-
-Explicit markup blocks not matching directives listed above are removed from
-command-line help output.  Do not use them, except for plain ``..`` comments
-that are removed by Sphinx too.
-
-Note that nested indentation of blocks is not recognized by the
-command-line help processor.  Therefore:
-
-* Explicit markup blocks are recognized only when not indented
-  inside other blocks.
-
-* Literal blocks after paragraphs ending in ``::`` but not
-  at the top indentation level may consume all indented lines
-  following them.
-
-Try to avoid these cases in practice.
-
-CMake Domain
-------------
-
-CMake adds a `Sphinx Domain`_ called ``cmake``, also called the
-"CMake Domain".  It defines several "object" types for CMake
-documentation:
-
-``command``
- A CMake language command.
-
-``generator``
- A CMake native build system generator.
- See the :manual:`cmake(1)` command-line tool's ``-G`` option.
-
-``manual``
- A CMake manual page, like this :manual:`cmake-developer(7)` manual.
-
-``module``
- A CMake module.
- See the :manual:`cmake-modules(7)` manual
- and the :command:`include` command.
-
-``policy``
- A CMake policy.
- See the :manual:`cmake-policies(7)` manual
- and the :command:`cmake_policy` command.
-
-``prop_cache, prop_dir, prop_gbl, prop_sf, prop_inst, prop_test, prop_tgt``
- A CMake cache, directory, global, source file, installed file, test,
- or target property, respectively.  See the :manual:`cmake-properties(7)`
- manual and the :command:`set_property` command.
-
-``variable``
- A CMake language variable.
- See the :manual:`cmake-variables(7)` manual
- and the :command:`set` command.
-
-Documentation objects in the CMake Domain come from two sources.
-First, the CMake extension to Sphinx transforms every document named
-with the form ``Help/<type>/<file-name>.rst`` to a domain object with
-type ``<type>``.  The object name is extracted from the document title,
-which is expected to be of the form::
-
- <object-name>
- -------------
-
-and to appear at or near the top of the ``.rst`` file before any other
-lines starting in a letter, digit, or ``<``.  If no such title appears
-literally in the ``.rst`` file, the object name is the ``<file-name>``.
-If a title does appear, it is expected that ``<file-name>`` is equal
-to ``<object-name>`` with any ``<`` and ``>`` characters removed.
-
-Second, the CMake Domain provides directives to define objects inside
-other documents:
-
-.. code-block:: rst
-
- .. command:: <command-name>
-
-  This indented block documents <command-name>.
-
- .. variable:: <variable-name>
-
-  This indented block documents <variable-name>.
-
-Object types for which no directive is available must be defined using
-the first approach above.
-
-.. _`Sphinx Domain`: http://sphinx-doc.org/domains.html
-
-Cross-References
-----------------
-
-Sphinx uses reStructuredText interpreted text roles to provide
-cross-reference syntax.  The `CMake Domain`_ provides for each
-domain object type a role of the same name to cross-reference it.
-CMake Domain roles are inline markup of the forms::
-
- :type:`name`
- :type:`text <name>`
-
-where ``type`` is the domain object type and ``name`` is the
-domain object name.  In the first form the link text will be
-``name`` (or ``name()`` if the type is ``command``) and in
-the second form the link text will be the explicit ``text``.
-For example, the code:
-
-.. code-block:: rst
-
- * The :command:`list` command.
- * The :command:`list(APPEND)` sub-command.
- * The :command:`list() command <list>`.
- * The :command:`list(APPEND) sub-command <list>`.
- * The :variable:`CMAKE_VERSION` variable.
- * The :prop_tgt:`OUTPUT_NAME_<CONFIG>` target property.
-
-produces:
-
-* The :command:`list` command.
-* The :command:`list(APPEND)` sub-command.
-* The :command:`list() command <list>`.
-* The :command:`list(APPEND) sub-command <list>`.
-* The :variable:`CMAKE_VERSION` variable.
-* The :prop_tgt:`OUTPUT_NAME_<CONFIG>` target property.
-
-Note that CMake Domain roles differ from Sphinx and reStructuredText
-convention in that the form ``a<b>``, without a space preceding ``<``,
-is interpreted as a name instead of link text with an explicit target.
-This is necessary because we use ``<placeholders>`` frequently in
-object names like ``OUTPUT_NAME_<CONFIG>``.  The form ``a <b>``,
-with a space preceding ``<``, is still interpreted as a link text
-with an explicit target.
-
-Style
------
-
-Style: Section Headers
-^^^^^^^^^^^^^^^^^^^^^^
-
-When marking section titles, make the section decoration line as long as
-the title text.  Use only a line below the title, not above. For
-example:
-
-.. code-block:: rst
-
-  Title Text
-  ----------
-
-Capitalize the first letter of each non-minor word in the title.
-
-The section header underline character hierarchy is
-
-* ``#``: Manual group (part) in the master document
-* ``*``: Manual (chapter) title
-* ``=``: Section within a manual
-* ``-``: Subsection or `CMake Domain`_ object document title
-* ``^``: Subsubsection or `CMake Domain`_ object document section
-* ``"``: Paragraph or `CMake Domain`_ object document subsection
-
-Style: Whitespace
-^^^^^^^^^^^^^^^^^
-
-Use two spaces for indentation.  Use two spaces between sentences in
-prose.
-
-Style: Line Length
-^^^^^^^^^^^^^^^^^^
-
-Prefer to restrict the width of lines to 75-80 columns.  This is not a
-hard restriction, but writing new paragraphs wrapped at 75 columns
-allows space for adding minor content without significant re-wrapping of
-content.
-
-Style: Prose
-^^^^^^^^^^^^
-
-Use American English spellings in prose.
-
-Style: Starting Literal Blocks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Prefer to mark the start of literal blocks with ``::`` at the end of
-the preceding paragraph. In cases where the following block gets
-a ``code-block`` marker, put a single ``:`` at the end of the preceding
-paragraph.
-
-Style: CMake Command Signatures
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Command signatures should be marked up as plain literal blocks, not as
-cmake ``code-blocks``.
-
-Signatures are separated from preceding content by a section header.
-That is, use:
-
-.. code-block:: rst
-
-  ... preceding paragraph.
-
-  Normal Libraries
-  ^^^^^^^^^^^^^^^^
-
-  ::
-
-    add_library(<lib> ...)
-
-  This signature is used for ...
-
-Signatures of commands should wrap optional parts with square brackets,
-and should mark list of optional arguments with an ellipsis (``...``).
-Elements of the signature which are specified by the user should be
-specified with angle brackets, and may be referred to in prose using
-``inline-literal`` syntax.
-
-Style: Boolean Constants
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use "``OFF``" and "``ON``" for boolean values which can be modified by
-the user, such as :prop_tgt:`POSITION_INDEPENDENT_CODE`. Such properties
-may be "enabled" and "disabled". Use "``True``" and "``False``" for
-inherent values which can't be modified after being set, such as the
-:prop_tgt:`IMPORTED` property of a build target.
-
-Style: Inline Literals
-^^^^^^^^^^^^^^^^^^^^^^
-
-Mark up references to keywords in signatures, file names, and other
-technical terms with ``inline-literal`` syntax, for example:
-
-.. code-block:: rst
-
-  If ``WIN32`` is used with :command:`add_executable`, the
-  :prop_tgt:`WIN32_EXECUTABLE` target property is enabled. That command
-  creates the file ``<name>.exe`` on Windows.
-
-Style: Cross-References
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Mark up linkable references as links, including repeats.
-An alternative, which is used by wikipedia
-(`<http://en.wikipedia.org/wiki/WP:REPEATLINK>`_),
-is to link to a reference only once per article. That style is not used
-in CMake documentation.
-
-Style: Referencing CMake Concepts
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If referring to a concept which corresponds to a property, and that
-concept is described in a high-level manual, prefer to link to the
-manual section instead of the property. For example:
-
-.. code-block:: rst
-
-  This command creates an :ref:`Imported Target <Imported Targets>`.
-
-instead of:
-
-.. code-block:: rst
-
-  This command creates an :prop_tgt:`IMPORTED` target.
-
-The latter should be used only when referring specifically to the
-property.
-
-References to manual sections are not automatically created by creating
-a section, but code such as:
-
-.. code-block:: rst
-
-  .. _`Imported Targets`:
-
-creates a suitable anchor.  Use an anchor name which matches the name
-of the corresponding section.  Refer to the anchor using a
-cross-reference with specified text.
-
-Imported Targets need the ``IMPORTED`` term marked up with care in
-particular because the term may refer to a command keyword
-(``IMPORTED``), a target property (:prop_tgt:`IMPORTED`), or a
-concept (:ref:`Imported Targets`).
-
-Where a property, command or variable is related conceptually to others,
-by for example, being related to the buildsystem description, generator
-expressions or Qt, each relevant property, command or variable should
-link to the primary manual, which provides high-level information.  Only
-particular information relating to the command should be in the
-documentation of the command.
-
-Style: Referencing CMake Domain Objects
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When referring to `CMake Domain`_ objects such as properties, variables,
-commands etc, prefer to link to the target object and follow that with
-the type of object it is.  For example:
-
-.. code-block:: rst
-
-  Set the :prop_tgt:`AUTOMOC` target property to ``ON``.
-
-Instead of
-
-.. code-block:: rst
-
-  Set the target property :prop_tgt:`AUTOMOC` to ``ON``.
-
-The ``policy`` directive is an exception, and the type us usually
-referred to before the link:
-
-.. code-block:: rst
-
-  If policy :prop_tgt:`CMP0022` is set to ``NEW`` the behavior is ...
-
-However, markup self-references with ``inline-literal`` syntax.
-For example, within the :command:`add_executable` command
-documentation, use
-
-.. code-block:: rst
-
-  ``add_executable``
-
-not
-
-.. code-block:: rst
-
-  :command:`add_executable`
-
-which is used elsewhere.
-
-Modules
-=======
-
-The ``Modules`` directory contains CMake-language ``.cmake`` module files.
-
-Module Documentation
---------------------
-
-To document CMake module ``Modules/<module-name>.cmake``, modify
-``Help/manual/cmake-modules.7.rst`` to reference the module in the
-``toctree`` directive, in sorted order, as::
-
- /module/<module-name>
-
-Then add the module document file ``Help/module/<module-name>.rst``
-containing just the line::
-
- .. cmake-module:: ../../Modules/<module-name>.cmake
-
-The ``cmake-module`` directive will scan the module file to extract
-reStructuredText markup from comment blocks that start in ``.rst:``.
-Add to the top of ``Modules/<module-name>.cmake`` a
-:ref:`Line Comment` block of the form:
-
-.. code-block:: cmake
-
- #.rst:
- # <module-name>
- # -------------
- #
- # <reStructuredText documentation of module>
-
-or a :ref:`Bracket Comment` of the form:
-
-.. code-block:: cmake
-
- #[[.rst:
- <module-name>
- -------------
-
- <reStructuredText documentation of module>
- #]]
-
-Any number of ``=`` may be used in the opening and closing brackets
-as long as they match.  Content on the line containing the closing
-bracket is excluded if and only if the line starts in ``#``.
-
-Additional such ``.rst:`` comments may appear anywhere in the module file.
-All such comments must start with ``#`` in the first column.
-
-For example, a ``Modules/Findxxx.cmake`` module may contain:
-
-.. code-block:: cmake
-
- #.rst:
- # FindXxx
- # -------
- #
- # This is a cool module.
- # This module does really cool stuff.
- # It can do even more than you think.
- #
- # It even needs two paragraphs to tell you about it.
- # And it defines the following variables:
- #
- # * VAR_COOL: this is great isn't it?
- # * VAR_REALLY_COOL: cool right?
-
- <code>
-
- #[========================================[.rst:
- .. command:: xxx_do_something
-
-  This command does something for Xxx::
-
-   xxx_do_something(some arguments)
- #]========================================]
- macro(xxx_do_something)
-   <code>
- endmacro()
-
-After the top documentation block, leave a *BLANK* line, and then add a
-copyright and licence notice block like this one (change only the year
-range and name)
-
-.. code-block:: cmake
-
-  #=============================================================================
-  # Copyright 2009-2011 Your Name
-  #
-  # Distributed under the OSI-approved BSD License (the "License");
-  # see accompanying file Copyright.txt for details.
-  #
-  # This software is distributed WITHOUT ANY WARRANTY; without even the
-  # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  # See the License for more information.
-  #=============================================================================
-  # (To distribute this file outside of CMake, substitute the full
-  #  License text for the above reference.)
-
-Test the documentation formatting by running
-``cmake --help-module <module-name>``, and also by enabling the
-``SPHINX_HTML`` and ``SPHINX_MAN`` options to build the documentation.
-Edit the comments until generated documentation looks satisfactory.  To
-have a .cmake file in this directory NOT show up in the modules
-documentation, simply leave out the ``Help/module/<module-name>.rst``
-file and the ``Help/manual/cmake-modules.7.rst`` toctree entry.
-
-.. _`Find Modules`:
-
-Find Modules
-------------
-
-A "find module" is a ``Modules/Find<package>.cmake`` file to be loaded
-by the :command:`find_package` command when invoked for ``<package>``.
-
-The primary task of a find module is to determine whether a package
-exists on the system, set the ``<package>_FOUND`` variable to reflect
-this and provide any variables, macros and imported targets required to
-use the package.  A find module is useful in cases where an upstream
-library does not provide a
-:ref:`config file package <Config File Packages>`.
-
-The traditional approach is to use variables for everything, including
-libraries and executables: see the `Standard Variable Names`_ section
-below.  This is what most of the existing find modules provided by CMake
-do.
-
-The more modern approach is to behave as much like
-:ref:`config file packages <Config File Packages>` files as possible, by
-providing :ref:`imported target <Imported targets>`.  This has the advantage
-of propagating :ref:`Target Usage Requirements` to consumers.
-
-In either case (or even when providing both variables and imported
-targets), find modules should provide backwards compatibility with old
-versions that had the same name.
-
-A FindFoo.cmake module will typically be loaded by the command::
-
-  find_package(Foo [major[.minor[.patch[.tweak]]]]
-               [EXACT] [QUIET] [REQUIRED]
-               [[COMPONENTS] [components...]]
-               [OPTIONAL_COMPONENTS components...]
-               [NO_POLICY_SCOPE])
-
-See the :command:`find_package` documentation for details on what
-variables are set for the find module.  Most of these are dealt with by
-using :module:`FindPackageHandleStandardArgs`.
-
-Briefly, the module should only locate versions of the package
-compatible with the requested version, as described by the
-``Foo_FIND_VERSION`` family of variables.  If ``Foo_FIND_QUIETLY`` is
-set to true, it should avoid printing messages, including anything
-complaining about the package not being found.  If ``Foo_FIND_REQUIRED``
-is set to true, the module should issue a ``FATAL_ERROR`` if the package
-cannot be found.  If neither are set to true, it should print a
-non-fatal message if it cannot find the package.
-
-Packages that find multiple semi-independent parts (like bundles of
-libraries) should search for the components listed in
-``Foo_FIND_COMPONENTS`` if it is set , and only set ``Foo_FOUND`` to
-true if for each searched-for component ``<c>`` that was not found,
-``Foo_FIND_REQUIRED_<c>`` is not set to true.  The ``HANDLE_COMPONENTS``
-argument of ``find_package_handle_standard_args()`` can be used to
-implement this.
-
-If ``Foo_FIND_COMPONENTS`` is not set, which modules are searched for
-and required is up to the find module, but should be documented.
-
-For internal implementation, it is a generally accepted convention that
-variables starting with underscore are for temporary use only.
-
-Like all modules, find modules should be properly documented.  To add a
-module to the CMake documentation, follow the steps in the `Module
-Documentation`_ section above.
-
-
-
-Standard Variable Names
-^^^^^^^^^^^^^^^^^^^^^^^
-
-For a ``FindXxx.cmake`` module that takes the approach of setting
-variables (either instead of or in addition to creating imported
-targets), the following variable names should be used to keep things
-consistent between find modules.  Note that all variables start with
-``Xxx_`` to make sure they do not interfere with other find modules; the
-same consideration applies to macros, functions and imported targets.
-
-``Xxx_INCLUDE_DIRS``
-  The final set of include directories listed in one variable for use by
-  client code.  This should not be a cache entry.
-
-``Xxx_LIBRARIES``
-  The libraries to link against to use Xxx. These should include full
-  paths.  This should not be a cache entry.
-
-``Xxx_DEFINITIONS``
-  Definitions to use when compiling code that uses Xxx. This really
-  shouldn't include options such as ``-DHAS_JPEG`` that a client
-  source-code file uses to decide whether to ``#include <jpeg.h>``
-
-``Xxx_EXECUTABLE``
-  Where to find the Xxx tool.
-
-``Xxx_Yyy_EXECUTABLE``
-  Where to find the Yyy tool that comes with Xxx.
-
-``Xxx_LIBRARY_DIRS``
-  Optionally, the final set of library directories listed in one
-  variable for use by client code.  This should not be a cache entry.
-
-``Xxx_ROOT_DIR``
-  Where to find the base directory of Xxx.
-
-``Xxx_VERSION_Yy``
-  Expect Version Yy if true. Make sure at most one of these is ever true.
-
-``Xxx_WRAP_Yy``
-  If False, do not try to use the relevant CMake wrapping command.
-
-``Xxx_Yy_FOUND``
-  If False, optional Yy part of Xxx system is not available.
-
-``Xxx_FOUND``
-  Set to false, or undefined, if we haven't found, or don't want to use
-  Xxx.
-
-``Xxx_NOT_FOUND_MESSAGE``
-  Should be set by config-files in the case that it has set
-  ``Xxx_FOUND`` to FALSE.  The contained message will be printed by the
-  :command:`find_package` command and by
-  ``find_package_handle_standard_args()`` to inform the user about the
-  problem.
-
-``Xxx_RUNTIME_LIBRARY_DIRS``
-  Optionally, the runtime library search path for use when running an
-  executable linked to shared libraries.  The list should be used by
-  user code to create the ``PATH`` on windows or ``LD_LIBRARY_PATH`` on
-  UNIX.  This should not be a cache entry.
-
-``Xxx_VERSION``
-  The full version string of the package found, if any.  Note that many
-  existing modules provide ``Xxx_VERSION_STRING`` instead.
-
-``Xxx_VERSION_MAJOR``
-  The major version of the package found, if any.
-
-``Xxx_VERSION_MINOR``
-  The minor version of the package found, if any.
-
-``Xxx_VERSION_PATCH``
-  The patch version of the package found, if any.
-
-The following names should not usually be used in CMakeLists.txt files, but
-are typically cache variables for users to edit and control the
-behaviour of find modules (like entering the path to a library manually)
-
-``Xxx_LIBRARY``
-  The path of the Xxx library (as used with :command:`find_library`, for
-  example).
-
-``Xxx_Yy_LIBRARY``
-  The path of the Yy library that is part of the Xxx system. It may or
-  may not be required to use Xxx.
-
-``Xxx_INCLUDE_DIR``
-  Where to find headers for using the Xxx library.
-
-``Xxx_Yy_INCLUDE_DIR``
-  Where to find headers for using the Yy library of the Xxx system.
-
-To prevent users being overwhelmed with settings to configure, try to
-keep as many options as possible out of the cache, leaving at least one
-option which can be used to disable use of the module, or locate a
-not-found library (e.g. ``Xxx_ROOT_DIR``).  For the same reason, mark
-most cache options as advanced.  For packages which provide both debug
-and release binaries, it is common to create cache variables with a
-``_LIBRARY_<CONFIG>`` suffix, such as ``Foo_LIBRARY_RELEASE`` and
-``Foo_LIBRARY_DEBUG``.
-
-While these are the standard variable names, you should provide
-backwards compatibility for any old names that were actually in use.
-Make sure you comment them as deprecated, so that no-one starts using
-them.
-
-
-
-A Sample Find Module
-^^^^^^^^^^^^^^^^^^^^
-
-We will describe how to create a simple find module for a library
-``Foo``.
-
-The first thing that is needed is documentation.  CMake's documentation
-system requires you to start the file with a documentation marker and
-the name of the module.  You should follow this with a simple statement
-of what the module does.
-
-.. code-block:: cmake
-
-  #.rst:
-  # FindFoo
-  # -------
-  #
-  # Finds the Foo library
-  #
-
-More description may be required for some packages.  If there are
-caveats or other details users of the module should be aware of, you can
-add further paragraphs below this.  Then you need to document what
-variables and imported targets are set by the module, such as
-
-.. code-block:: cmake
-
-  # This will define the following variables::
-  #
-  #   Foo_FOUND    - True if the system has the Foo library
-  #   Foo_VERSION  - The version of the Foo library which was found
-  #
-  # and the following imported targets::
-  #
-  #   Foo::Foo   - The Foo library
-
-If the package provides any macros, they should be listed here, but can
-be documented where they are defined.  See the `Module
-Documentation`_ section above for more details.
-
-After the documentation, leave a blank line, and then add a copyright and
-licence notice block
-
-.. code-block:: cmake
-
-  #=============================================================================
-  # Copyright 2009-2011 Your Name
-  #
-  # Distributed under the OSI-approved BSD License (the "License");
-  # see accompanying file Copyright.txt for details.
-  #
-  # This software is distributed WITHOUT ANY WARRANTY; without even the
-  # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  # See the License for more information.
-  #=============================================================================
-  # (To distribute this file outside of CMake, substitute the full
-  #  License text for the above reference.)
-
-Now the actual libraries and so on have to be found.  The code here will
-obviously vary from module to module (dealing with that, after all, is the
-point of find modules), but there tends to be a common pattern for libraries.
-
-First, we try to use ``pkg-config`` to find the library.  Note that we
-cannot rely on this, as it may not be available, but it provides a good
-starting point.
-
-.. code-block:: cmake
-
-  find_package(PkgConfig)
-  pkg_check_modules(PC_Foo QUIET Foo)
-
-This should define some variables starting ``PC_Foo_`` that contain the
-information from the ``Foo.pc`` file.
-
-Now we need to find the libraries and include files; we use the
-information from ``pkg-config`` to provide hints to CMake about where to
-look.
-
-.. code-block:: cmake
-
-  find_path(Foo_INCLUDE_DIR
-    NAMES foo.h
-    PATHS ${PC_Foo_INCLUDE_DIRS}
-    PATH_SUFFIXES Foo
-  )
-  find_library(Foo_LIBRARY
-    NAMES foo
-    PATHS ${PC_Foo_LIBRARY_DIRS}
-  )
-
-If you have a good way of getting the version (from a header file, for
-example), you can use that information to set ``Foo_VERSION`` (although
-note that find modules have traditionally used ``Foo_VERSION_STRING``,
-so you may want to set both).  Otherwise, attempt to use the information
-from ``pkg-config``
-
-.. code-block:: cmake
-
-  set(Foo_VERSION ${PC_Foo_VERSION})
-
-Now we can use :module:`FindPackageHandleStandardArgs` to do most of the
-rest of the work for us
-
-.. code-block:: cmake
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(Foo
-    FOUND_VAR Foo_FOUND
-    REQUIRED_VARS
-      Foo_LIBRARY
-      Foo_INCLUDE_DIR
-    VERSION_VAR Foo_VERSION
-  )
-
-This will check that the ``REQUIRED_VARS`` contain values (that do not
-end in ``-NOTFOUND``) and set ``Foo_FOUND`` appropriately.  It will also
-cache those values.  If ``Foo_VERSION`` is set, and a required version
-was passed to :command:`find_package`, it will check the requested version
-against the one in ``Foo_VERSION``.  It will also print messages as
-appropriate; note that if the package was found, it will print the
-contents of the first required variable to indicate where it was found.
-
-At this point, we have to provide a way for users of the find module to
-link to the library or libraries that were found.  There are two
-approaches, as discussed in the `Find Modules`_ section above.  The
-traditional variable approach looks like
-
-.. code-block:: cmake
-
-  if(Foo_FOUND)
-    set(Foo_LIBRARIES ${Foo_LIBRARY})
-    set(Foo_INCLUDE_DIRS ${Foo_INCLUDE_DIR})
-    set(Foo_DEFINITIONS ${PC_Foo_CFLAGS_OTHER})
-  endif()
-
-If more than one library was found, all of them should be included in
-these variables (see the `Standard Variable Names`_ section for more
-information).
-
-When providing imported targets, these should be namespaced (hence the
-``Foo::`` prefix); CMake will recognize that values passed to
-:command:`target_link_libraries` that contain ``::`` in their name are
-supposed to be imported targets (rather than just library names), and
-will produce appropriate diagnostic messages if that target does not
-exist (see policy :policy:`CMP0028`).
-
-.. code-block:: cmake
-
-  if(Foo_FOUND AND NOT TARGET Foo::Foo)
-    add_library(Foo::Foo UNKNOWN IMPORTED)
-    set_target_properties(Foo::Foo PROPERTIES
-      IMPORTED_LOCATION "${Foo_LIBRARY}"
-      INTERFACE_COMPILE_OPTIONS "${PC_Foo_CFLAGS_OTHER}"
-      INTERFACE_INCLUDE_DIRECTORIES "${Foo_INCLUDE_DIR}"
-    )
-  endif()
-
-One thing to note about this is that the ``INTERFACE_INCLUDE_DIRECTORIES`` and
-similar properties should only contain information about the target itself, and
-not any of its dependencies.  Instead, those dependencies should also be
-targets, and CMake should be told that they are dependencies of this target.
-CMake will then combine all the necessary information automatically.
-
-The type of the :prop_tgt:`IMPORTED` target created in the
-:command:`add_library` command can always be specified as ``UNKNOWN``
-type.  This simplifies the code in cases where static or shared variants may
-be found, and CMake will determine the type by inspecting the files.
-
-If the library is available with multiple configurations, the
-:prop_tgt:`IMPORTED_CONFIGURATIONS` target property should also be
-populated:
-
-.. code-block:: cmake
-
-  if(Foo_FOUND)
-    if (NOT TARGET Foo::Foo)
-      add_library(Foo::Foo UNKNOWN IMPORTED)
-    endif()
-    if (Foo_LIBRARY_RELEASE)
-      set_property(TARGET Foo::Foo APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS RELEASE
-      )
-      set_target_properties(Foo::Foo PROPERTIES
-        IMPORTED_LOCATION_RELEASE "${Foo_LIBRARY_RELEASE}"
-      )
-    endif()
-    if (Foo_LIBRARY_DEBUG)
-      set_property(TARGET Foo::Foo APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS DEBUG
-      )
-      set_target_properties(Foo::Foo PROPERTIES
-        IMPORTED_LOCATION_DEBUG "${Foo_LIBRARY_DEBUG}"
-      )
-    endif()
-    set_target_properties(Foo::Foo PROPERTIES
-      INTERFACE_COMPILE_OPTIONS "${PC_Foo_CFLAGS_OTHER}"
-      INTERFACE_INCLUDE_DIRECTORIES "${Foo_INCLUDE_DIR}"
-    )
-  endif()
-
-The ``RELEASE`` variant should be listed first in the property
-so that that variant is chosen if the user uses a configuration which is
-not an exact match for any listed ``IMPORTED_CONFIGURATIONS``.
-
-Most of the cache variables should be hidden in the ``ccmake`` interface unless
-the user explicitly asks to edit them.
-
-.. code-block:: cmake
-
-  mark_as_advanced(
-    Foo_INCLUDE_DIR
-    Foo_LIBRARY
-  )
-
-If this module replaces an older version, you should set compatibility variables
-to cause the least disruption possible.
-
-.. code-block:: cmake
-
-  # compatibility variables
-  set(Foo_VERSION_STRING ${Foo_VERSION})
diff --git a/share/cmake-3.6/Help/manual/cmake-generator-expressions.7.rst b/share/cmake-3.6/Help/manual/cmake-generator-expressions.7.rst
deleted file mode 100644
index d4f47dd..0000000
--- a/share/cmake-3.6/Help/manual/cmake-generator-expressions.7.rst
+++ /dev/null
@@ -1,284 +0,0 @@
-.. cmake-manual-description: CMake Generator Expressions
-
-cmake-generator-expressions(7)
-******************************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-Generator expressions are evaluated during build system generation to produce
-information specific to each build configuration.
-
-Generator expressions are allowed in the context of many target properties,
-such as :prop_tgt:`LINK_LIBRARIES`, :prop_tgt:`INCLUDE_DIRECTORIES`,
-:prop_tgt:`COMPILE_DEFINITIONS` and others.  They may also be used when using
-commands to populate those properties, such as :command:`target_link_libraries`,
-:command:`target_include_directories`, :command:`target_compile_definitions`
-and others.
-
-This means that they enable conditional linking, conditional
-definitions used when compiling, and conditional include directories and
-more.  The conditions may be based on the build configuration, target
-properties, platform information or any other queryable information.
-
-Logical Expressions
-===================
-
-Logical expressions are used to create conditional output.  The basic
-expressions are the ``0`` and ``1`` expressions.  Because other logical
-expressions evaluate to either ``0`` or ``1``, they can be composed to
-create conditional output::
-
-  $<$<CONFIG:Debug>:DEBUG_MODE>
-
-expands to ``DEBUG_MODE`` when the ``Debug`` configuration is used, and
-otherwise expands to nothing.
-
-Available logical expressions are:
-
-``$<BOOL:...>``
-  ``1`` if the ``...`` is true, else ``0``
-``$<AND:?[,?]...>``
-  ``1`` if all ``?`` are ``1``, else ``0``
-
-  The ``?`` must always be either ``0`` or ``1`` in boolean expressions.
-
-``$<OR:?[,?]...>``
-  ``0`` if all ``?`` are ``0``, else ``1``
-``$<NOT:?>``
-  ``0`` if ``?`` is ``1``, else ``1``
-``$<STREQUAL:a,b>``
-  ``1`` if ``a`` is STREQUAL ``b``, else ``0``
-``$<EQUAL:a,b>``
-  ``1`` if ``a`` is EQUAL ``b`` in a numeric comparison, else ``0``
-``$<CONFIG:cfg>``
-  ``1`` if config is ``cfg``, else ``0``. This is a case-insensitive comparison.
-  The mapping in :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` is also considered by
-  this expression when it is evaluated on a property on an :prop_tgt:`IMPORTED`
-  target.
-``$<PLATFORM_ID:comp>``
-  ``1`` if the CMake-id of the platform matches ``comp``, otherwise ``0``.
-``$<C_COMPILER_ID:comp>``
-  ``1`` if the CMake-id of the C compiler matches ``comp``, otherwise ``0``.
-``$<CXX_COMPILER_ID:comp>``
-  ``1`` if the CMake-id of the CXX compiler matches ``comp``, otherwise ``0``.
-``$<VERSION_GREATER:v1,v2>``
-  ``1`` if ``v1`` is a version greater than ``v2``, else ``0``.
-``$<VERSION_LESS:v1,v2>``
-  ``1`` if ``v1`` is a version less than ``v2``, else ``0``.
-``$<VERSION_EQUAL:v1,v2>``
-  ``1`` if ``v1`` is the same version as ``v2``, else ``0``.
-``$<C_COMPILER_VERSION:ver>``
-  ``1`` if the version of the C compiler matches ``ver``, otherwise ``0``.
-``$<CXX_COMPILER_VERSION:ver>``
-  ``1`` if the version of the CXX compiler matches ``ver``, otherwise ``0``.
-``$<TARGET_POLICY:pol>``
-  ``1`` if the policy ``pol`` was NEW when the 'head' target was created,
-  else ``0``.  If the policy was not set, the warning message for the policy
-  will be emitted. This generator expression only works for a subset of
-  policies.
-``$<COMPILE_FEATURES:feature[,feature]...>``
-  ``1`` if all of the ``feature`` features are available for the 'head'
-  target, and ``0`` otherwise. If this expression is used while evaluating
-  the link implementation of a target and if any dependency transitively
-  increases the required :prop_tgt:`C_STANDARD` or :prop_tgt:`CXX_STANDARD`
-  for the 'head' target, an error is reported.  See the
-  :manual:`cmake-compile-features(7)` manual for information on
-  compile features and a list of supported compilers.
-``$<COMPILE_LANGUAGE:lang>``
-  ``1`` when the language used for compilation unit matches ``lang``,
-  otherwise ``0``.  This expression used to specify compile options for
-  source files of a particular language in a target. For example, to specify
-  the use of the ``-fno-exceptions`` compile option (compiler id checks
-  elided):
-
-  .. code-block:: cmake
-
-    add_executable(myapp main.cpp foo.c bar.cpp)
-    target_compile_options(myapp
-      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>
-    )
-
-  This generator expression has limited use because it is not possible to
-  use it with the Visual Studio generators.  Portable buildsystems would
-  not use this expression, and would create separate libraries for each
-  source file language instead:
-
-  .. code-block:: cmake
-
-    add_library(myapp_c foo.c)
-    add_library(myapp_cxx foo.c)
-    target_compile_options(myapp_cxx PUBLIC -fno-exceptions)
-    add_executable(myapp main.cpp)
-    target_link_libraries(myapp myapp_c myapp_cxx)
-
-  The ``Makefile`` and ``Ninja`` based generators can also use this
-  expression to specify compile-language specific compile definitions
-  and include directories:
-
-  .. code-block:: cmake
-
-    add_executable(myapp main.cpp foo.c bar.cpp)
-    target_compile_definitions(myapp
-      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:COMPILING_CXX>
-    )
-    target_include_directories(myapp
-      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/opt/foo/cxx_headers>
-    )
-
-Informational Expressions
-=========================
-
-These expressions expand to some information. The information may be used
-directly, eg::
-
-  include_directories(/usr/include/$<CXX_COMPILER_ID>/)
-
-expands to ``/usr/include/GNU/`` or ``/usr/include/Clang/`` etc, depending on
-the Id of the compiler.
-
-These expressions may also may be combined with logical expressions::
-
-  $<$<VERSION_LESS:$<CXX_COMPILER_VERSION>,4.2.0>:OLD_COMPILER>
-
-expands to ``OLD_COMPILER`` if the
-:variable:`CMAKE_CXX_COMPILER_VERSION <CMAKE_<LANG>_COMPILER_VERSION>` is less
-than 4.2.0.
-
-Available informational expressions are:
-
-``$<CONFIGURATION>``
-  Configuration name. Deprecated. Use ``CONFIG`` instead.
-``$<CONFIG>``
-  Configuration name
-``$<PLATFORM_ID>``
-  The CMake-id of the platform.
-  See also the :variable:`CMAKE_SYSTEM_NAME` variable.
-``$<C_COMPILER_ID>``
-  The CMake-id of the C compiler used.
-  See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
-``$<CXX_COMPILER_ID>``
-  The CMake-id of the CXX compiler used.
-  See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
-``$<C_COMPILER_VERSION>``
-  The version of the C compiler used.
-  See also the :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable.
-``$<CXX_COMPILER_VERSION>``
-  The version of the CXX compiler used.
-  See also the :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable.
-``$<TARGET_FILE:tgt>``
-  Full path to main file (.exe, .so.1.2, .a) where ``tgt`` is the name of a target.
-``$<TARGET_FILE_NAME:tgt>``
-  Name of main file (.exe, .so.1.2, .a).
-``$<TARGET_FILE_DIR:tgt>``
-  Directory of main file (.exe, .so.1.2, .a).
-``$<TARGET_LINKER_FILE:tgt>``
-  File used to link (.a, .lib, .so) where ``tgt`` is the name of a target.
-``$<TARGET_LINKER_FILE_NAME:tgt>``
-  Name of file used to link (.a, .lib, .so).
-``$<TARGET_LINKER_FILE_DIR:tgt>``
-  Directory of file used to link (.a, .lib, .so).
-``$<TARGET_SONAME_FILE:tgt>``
-  File with soname (.so.3) where ``tgt`` is the name of a target.
-``$<TARGET_SONAME_FILE_NAME:tgt>``
-  Name of file with soname (.so.3).
-``$<TARGET_SONAME_FILE_DIR:tgt>``
-  Directory of with soname (.so.3).
-``$<TARGET_PDB_FILE:tgt>``
-  Full path to the linker generated program database file (.pdb)
-  where ``tgt`` is the name of a target.
-
-  See also the :prop_tgt:`PDB_NAME` and :prop_tgt:`PDB_OUTPUT_DIRECTORY`
-  target properties and their configuration specific variants
-  :prop_tgt:`PDB_NAME_<CONFIG>` and :prop_tgt:`PDB_OUTPUT_DIRECTORY_<CONFIG>`.
-``$<TARGET_PDB_FILE_NAME:tgt>``
-  Name of the linker generated program database file (.pdb).
-``$<TARGET_PDB_FILE_DIR:tgt>``
-  Directory of the linker generated program database file (.pdb).
-``$<TARGET_PROPERTY:tgt,prop>``
-  Value of the property ``prop`` on the target ``tgt``.
-
-  Note that ``tgt`` is not added as a dependency of the target this
-  expression is evaluated on.
-``$<TARGET_PROPERTY:prop>``
-  Value of the property ``prop`` on the target on which the generator
-  expression is evaluated.
-``$<INSTALL_PREFIX>``
-  Content of the install prefix when the target is exported via
-  :command:`install(EXPORT)` and empty otherwise.
-``$<COMPILE_LANGUAGE>``
-  The compile language of source files when evaluating compile options. See
-  the unary version for notes about portability of this generator
-  expression.
-
-Output Expressions
-==================
-
-These expressions generate output, in some cases depending on an input. These
-expressions may be combined with other expressions for information or logical
-comparison::
-
-  -I$<JOIN:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>, -I>
-
-generates a string of the entries in the :prop_tgt:`INCLUDE_DIRECTORIES` target
-property with each entry preceded by ``-I``. Note that a more-complete use
-in this situation would require first checking if the INCLUDE_DIRECTORIES
-property is non-empty::
-
-  $<$<BOOL:${prop}>:-I$<JOIN:${prop}, -I>>
-
-where ``${prop}`` refers to a helper variable::
-
-  set(prop "$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>")
-
-Available output expressions are:
-
-``$<0:...>``
-  Empty string (ignores ``...``)
-``$<1:...>``
-  Content of ``...``
-``$<JOIN:list,...>``
-  Joins the list with the content of ``...``
-``$<ANGLE-R>``
-  A literal ``>``. Used to compare strings which contain a ``>`` for example.
-``$<COMMA>``
-  A literal ``,``. Used to compare strings which contain a ``,`` for example.
-``$<SEMICOLON>``
-  A literal ``;``. Used to prevent list expansion on an argument with ``;``.
-``$<TARGET_NAME:...>``
-  Marks ``...`` as being the name of a target.  This is required if exporting
-  targets to multiple dependent export sets.  The ``...`` must be a literal
-  name of a target- it may not contain generator expressions.
-``$<LINK_ONLY:...>``
-  Content of ``...`` except when evaluated in a link interface while
-  propagating :ref:`Target Usage Requirements`, in which case it is the
-  empty string.
-  Intended for use only in an :prop_tgt:`INTERFACE_LINK_LIBRARIES` target
-  property, perhaps via the :command:`target_link_libraries` command,
-  to specify private link dependencies without other usage requirements.
-``$<INSTALL_INTERFACE:...>``
-  Content of ``...`` when the property is exported using :command:`install(EXPORT)`,
-  and empty otherwise.
-``$<BUILD_INTERFACE:...>``
-  Content of ``...`` when the property is exported using :command:`export`, or
-  when the target is used by another target in the same buildsystem. Expands to
-  the empty string otherwise.
-``$<LOWER_CASE:...>``
-  Content of ``...`` converted to lower case.
-``$<UPPER_CASE:...>``
-  Content of ``...`` converted to upper case.
-``$<MAKE_C_IDENTIFIER:...>``
-  Content of ``...`` converted to a C identifier.
-``$<TARGET_OBJECTS:objLib>``
-  List of objects resulting from build of ``objLib``. ``objLib`` must be an
-  object of type ``OBJECT_LIBRARY``.  This expression may only be used in
-  the sources of :command:`add_library` and :command:`add_executable`
-  commands.
-``$<SHELL_PATH:...>``
-  Content of ``...`` converted to shell path style. For example, slashes are
-  converted to backslashes in Windows shells and drive letters are converted
-  to posix paths in MSYS shells. The ``...`` must be an absolute path.
diff --git a/share/cmake-3.6/Help/manual/cmake-generators.7.rst b/share/cmake-3.6/Help/manual/cmake-generators.7.rst
deleted file mode 100644
index cde8de8..0000000
--- a/share/cmake-3.6/Help/manual/cmake-generators.7.rst
+++ /dev/null
@@ -1,112 +0,0 @@
-.. cmake-manual-description: CMake Generators Reference
-
-cmake-generators(7)
-*******************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-A *CMake Generator* is responsible for writing the input files for
-a native build system.  Exactly one of the `CMake Generators`_ must be
-selected for a build tree to determine what native build system is to
-be used.  Optionally one of the `Extra Generators`_ may be selected
-as a variant of some of the `Command-Line Build Tool Generators`_ to
-produce project files for an auxiliary IDE.
-
-CMake Generators are platform-specific so each may be available only
-on certain platforms.  The :manual:`cmake(1)` command-line tool ``--help``
-output lists available generators on the current platform.  Use its ``-G``
-option to specify the generator for a new build tree.
-The :manual:`cmake-gui(1)` offers interactive selection of a generator
-when creating a new build tree.
-
-CMake Generators
-================
-
-Command-Line Build Tool Generators
-----------------------------------
-
-These generators support command-line build tools.  In order to use them,
-one must launch CMake from a command-line prompt whose environment is
-already configured for the chosen compiler and build tool.
-
-.. _`Makefile Generators`:
-
-Makefile Generators
-^^^^^^^^^^^^^^^^^^^
-
-.. toctree::
-   :maxdepth: 1
-
-   /generator/Borland Makefiles
-   /generator/MSYS Makefiles
-   /generator/MinGW Makefiles
-   /generator/NMake Makefiles
-   /generator/NMake Makefiles JOM
-   /generator/Unix Makefiles
-   /generator/Watcom WMake
-
-Ninja Generator
-^^^^^^^^^^^^^^^
-
-.. toctree::
-   :maxdepth: 1
-
-   /generator/Ninja
-
-IDE Build Tool Generators
--------------------------
-
-These generators support Integrated Development Environment (IDE)
-project files.  Since the IDEs configure their own environment
-one may launch CMake from any environment.
-
-.. _`Visual Studio Generators`:
-
-Visual Studio Generators
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. toctree::
-   :maxdepth: 1
-
-   /generator/Visual Studio 6
-   /generator/Visual Studio 7
-   /generator/Visual Studio 7 .NET 2003
-   /generator/Visual Studio 8 2005
-   /generator/Visual Studio 9 2008
-   /generator/Visual Studio 10 2010
-   /generator/Visual Studio 11 2012
-   /generator/Visual Studio 12 2013
-   /generator/Visual Studio 14 2015
-
-Other Generators
-^^^^^^^^^^^^^^^^
-
-.. toctree::
-   :maxdepth: 1
-
-   /generator/Green Hills MULTI
-   /generator/Xcode
-
-Extra Generators
-================
-
-Some of the `CMake Generators`_ listed in the :manual:`cmake(1)`
-command-line tool ``--help`` output may have variants that specify
-an extra generator for an auxiliary IDE tool.  Such generator
-names have the form ``<extra-generator> - <main-generator>``.
-The following extra generators are known to CMake.
-
-.. toctree::
-   :maxdepth: 1
-
-   /generator/CodeBlocks
-   /generator/CodeLite
-   /generator/Eclipse CDT4
-   /generator/KDevelop3
-   /generator/Kate
-   /generator/Sublime Text 2
diff --git a/share/cmake-3.6/Help/manual/cmake-language.7.rst b/share/cmake-3.6/Help/manual/cmake-language.7.rst
deleted file mode 100644
index 41542c9..0000000
--- a/share/cmake-3.6/Help/manual/cmake-language.7.rst
+++ /dev/null
@@ -1,572 +0,0 @@
-.. cmake-manual-description: CMake Language Reference
-
-cmake-language(7)
-*****************
-
-.. only:: html
-
-   .. contents::
-
-Organization
-============
-
-CMake input files are written in the "CMake Language" in source files
-named ``CMakeLists.txt`` or ending in a ``.cmake`` file name extension.
-
-CMake Language source files in a project are organized into:
-
-* `Directories`_ (``CMakeLists.txt``),
-* `Scripts`_ (``<script>.cmake``), and
-* `Modules`_ (``<module>.cmake``).
-
-Directories
------------
-
-When CMake processes a project source tree, the entry point is
-a source file called ``CMakeLists.txt`` in the top-level source
-directory.  This file may contain the entire build specification
-or use the :command:`add_subdirectory` command to add subdirectories
-to the build.  Each subdirectory added by the command must also
-contain a ``CMakeLists.txt`` file as the entry point to that
-directory.  For each source directory whose ``CMakeLists.txt`` file
-is processed CMake generates a corresponding directory in the build
-tree to act as the default working and output directory.
-
-Scripts
--------
-
-An individual ``<script>.cmake`` source file may be processed
-in *script mode* by using the :manual:`cmake(1)` command-line tool
-with the ``-P`` option.  Script mode simply runs the commands in
-the given CMake Language source file and does not generate a
-build system.  It does not allow CMake commands that define build
-targets or actions.
-
-Modules
--------
-
-CMake Language code in either `Directories`_ or `Scripts`_ may
-use the :command:`include` command to load a ``<module>.cmake``
-source file in the scope of the including context.
-See the :manual:`cmake-modules(7)` manual page for documentation
-of modules included with the CMake distribution.
-Project source trees may also provide their own modules and
-specify their location(s) in the :variable:`CMAKE_MODULE_PATH`
-variable.
-
-Syntax
-======
-
-.. _`CMake Language Encoding`:
-
-Encoding
---------
-
-A CMake Language source file may be written in 7-bit ASCII text for
-maximum portability across all supported platforms.  Newlines may be
-encoded as either ``\n`` or ``\r\n`` but will be converted to ``\n``
-as input files are read.
-
-Note that the implementation is 8-bit clean so source files may
-be encoded as UTF-8 on platforms with system APIs supporting this
-encoding.  In addition, CMake 3.2 and above support source files
-encoded in UTF-8 on Windows (using UTF-16 to call system APIs).
-Furthermore, CMake 3.0 and above allow a leading UTF-8
-`Byte-Order Mark`_ in source files.
-
-.. _`Byte-Order Mark`: http://en.wikipedia.org/wiki/Byte_order_mark
-
-Source Files
-------------
-
-A CMake Language source file consists of zero or more
-`Command Invocations`_ separated by newlines and optionally
-spaces and `Comments`_:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- file: `file_element`*
- file_element: `command_invocation` `line_ending` |
-             : (`bracket_comment`|`space`)* `line_ending`
- line_ending: `line_comment`? `newline`
- space: <match '[ \t]+'>
- newline: <match '\n'>
-
-.. raw:: latex
-
-   \end{small}
-
-Note that any source file line not inside `Command Arguments`_ or
-a `Bracket Comment`_ can end in a `Line Comment`_.
-
-.. _`Command Invocations`:
-
-Command Invocations
--------------------
-
-A *command invocation* is a name followed by paren-enclosed arguments
-separated by whitespace:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- command_invocation: `space`* `identifier` `space`* '(' `arguments` ')'
- identifier: <match '[A-Za-z_][A-Za-z0-9_]*'>
- arguments: `argument`? `separated_arguments`*
- separated_arguments: `separation`+ `argument`? |
-                    : `separation`* '(' `arguments` ')'
- separation: `space` | `line_ending`
-
-.. raw:: latex
-
-   \end{small}
-
-For example:
-
-.. code-block:: cmake
-
- add_executable(hello world.c)
-
-Command names are case-insensitive.
-Nested unquoted parentheses in the arguments must balance.
-Each ``(`` or ``)`` is given to the command invocation as
-a literal `Unquoted Argument`_.  This may be used in calls
-to the :command:`if` command to enclose conditions.
-For example:
-
-.. code-block:: cmake
-
- if(FALSE AND (FALSE OR TRUE)) # evaluates to FALSE
-
-.. note::
- CMake versions prior to 3.0 require command name identifiers
- to be at least 2 characters.
-
- CMake versions prior to 2.8.12 silently accept an `Unquoted Argument`_
- or a `Quoted Argument`_ immediately following a `Quoted Argument`_ and
- not separated by any whitespace.  For compatibility, CMake 2.8.12 and
- higher accept such code but produce a warning.
-
-Command Arguments
------------------
-
-There are three types of arguments within `Command Invocations`_:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- argument: `bracket_argument` | `quoted_argument` | `unquoted_argument`
-
-.. raw:: latex
-
-   \end{small}
-
-.. _`Bracket Argument`:
-
-Bracket Argument
-^^^^^^^^^^^^^^^^
-
-A *bracket argument*, inspired by `Lua`_ long bracket syntax,
-encloses content between opening and closing "brackets" of the
-same length:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- bracket_argument: `bracket_open` `bracket_content` `bracket_close`
- bracket_open: '[' '='{len} '['
- bracket_content: <any text not containing a `bracket_close`
-                :  of the same {len} as the `bracket_open`>
- bracket_close: ']' '='{len} ']'
-
-.. raw:: latex
-
-   \end{small}
-
-An opening bracket of length *len >= 0* is written ``[`` followed
-by *len* ``=`` followed by ``[`` and the corresponding closing
-bracket is written ``]`` followed by *len* ``=`` followed by ``]``.
-Brackets do not nest.  A unique length may always be chosen
-for the opening and closing brackets to contain closing brackets
-of other lengths.
-
-Bracket argument content consists of all text between the opening
-and closing brackets, except that one newline immediately following
-the opening bracket, if any, is ignored.  No evaluation of the
-enclosed content, such as `Escape Sequences`_ or `Variable References`_,
-is performed.  A bracket argument is always given to the command
-invocation as exactly one argument.
-
-For example:
-
-.. code-block:: cmake
-
- message([=[
- This is the first line in a bracket argument with bracket length 1.
- No \-escape sequences or ${variable} references are evaluated.
- This is always one argument even though it contains a ; character.
- The text does not end on a closing bracket of length 0 like ]].
- It does end in a closing bracket of length 1.
- ]=])
-
-.. note::
- CMake versions prior to 3.0 do not support bracket arguments.
- They interpret the opening bracket as the start of an
- `Unquoted Argument`_.
-
-.. _`Lua`: http://www.lua.org/
-
-.. _`Quoted Argument`:
-
-Quoted Argument
-^^^^^^^^^^^^^^^
-
-A *quoted argument* encloses content between opening and closing
-double-quote characters:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- quoted_argument: '"' `quoted_element`* '"'
- quoted_element: <any character except '\' or '"'> |
-                 : `escape_sequence` |
-                 : `quoted_continuation`
- quoted_continuation: '\' `newline`
-
-.. raw:: latex
-
-   \end{small}
-
-Quoted argument content consists of all text between opening and
-closing quotes.  Both `Escape Sequences`_ and `Variable References`_
-are evaluated.  A quoted argument is always given to the command
-invocation as exactly one argument.
-
-For example:
-
-.. code-block:: cmake
-
- message("This is a quoted argument containing multiple lines.
- This is always one argument even though it contains a ; character.
- Both \\-escape sequences and ${variable} references are evaluated.
- The text does not end on an escaped double-quote like \".
- It does end in an unescaped double quote.
- ")
-
-The final ``\`` on any line ending in an odd number of backslashes
-is treated as a line continuation and ignored along with the
-immediately following newline character.  For example:
-
-.. code-block:: cmake
-
- message("\
- This is the first line of a quoted argument. \
- In fact it is the only line but since it is long \
- the source code uses line continuation.\
- ")
-
-.. note::
- CMake versions prior to 3.0 do not support continuation with ``\``.
- They report errors in quoted arguments containing lines ending in
- an odd number of ``\`` characters.
-
-.. _`Unquoted Argument`:
-
-Unquoted Argument
-^^^^^^^^^^^^^^^^^
-
-An *unquoted argument* is not enclosed by any quoting syntax.
-It may not contain any whitespace, ``(``, ``)``, ``#``, ``"``, or ``\``
-except when escaped by a backslash:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- unquoted_argument: `unquoted_element`+ | `unquoted_legacy`
- unquoted_element: <any character except whitespace or one of '()#"\'> |
-                 : `escape_sequence`
- unquoted_legacy: <see note in text>
-
-.. raw:: latex
-
-   \end{small}
-
-Unquoted argument content consists of all text in a contiguous block
-of allowed or escaped characters.  Both `Escape Sequences`_ and
-`Variable References`_ are evaluated.  The resulting value is divided
-in the same way `Lists`_ divide into elements.  Each non-empty element
-is given to the command invocation as an argument.  Therefore an
-unquoted argument may be given to a command invocation as zero or
-more arguments.
-
-For example:
-
-.. code-block:: cmake
-
- foreach(arg
-     NoSpace
-     Escaped\ Space
-     This;Divides;Into;Five;Arguments
-     Escaped\;Semicolon
-     )
-   message("${arg}")
- endforeach()
-
-.. note::
- To support legacy CMake code, unquoted arguments may also contain
- double-quoted strings (``"..."``, possibly enclosing horizontal
- whitespace), and make-style variable references (``$(MAKEVAR)``).
- Unescaped double-quotes must balance, may not appear at the
- beginning of an unquoted argument, and are treated as part of the
- content.  For example, the unquoted arguments ``-Da="b c"``,
- ``-Da=$(v)``, and ``a" "b"c"d`` are each interpreted literally.
-
- The above "unquoted_legacy" production represents such arguments.
- We do not recommend using legacy unquoted arguments in new code.
- Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to
- represent the content.
-
-.. _`Escape Sequences`:
-
-Escape Sequences
-----------------
-
-An *escape sequence* is a ``\`` followed by one character:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- escape_sequence: `escape_identity` | `escape_encoded` | `escape_semicolon`
- escape_identity: '\' <match '[^A-Za-z0-9;]'>
- escape_encoded: '\t' | '\r' | '\n'
- escape_semicolon: '\;'
-
-.. raw:: latex
-
-   \end{small}
-
-A ``\`` followed by a non-alphanumeric character simply encodes the literal
-character without interpreting it as syntax.  A ``\t``, ``\r``, or ``\n``
-encodes a tab, carriage return, or newline character, respectively. A ``\;``
-outside of any `Variable References`_  encodes itself but may be used in an
-`Unquoted Argument`_ to encode the ``;`` without dividing the argument
-value on it.  A ``\;`` inside `Variable References`_ encodes the literal
-``;`` character.  (See also policy :policy:`CMP0053` documentation for
-historical considerations.)
-
-.. _`Variable References`:
-
-Variable References
--------------------
-
-A *variable reference* has the form ``${variable_name}`` and is
-evaluated inside a `Quoted Argument`_ or an `Unquoted Argument`_.
-A variable reference is replaced by the value of the variable,
-or by the empty string if the variable is not set.
-Variable references can nest and are evaluated from the
-inside out, e.g. ``${outer_${inner_variable}_variable}``.
-
-Literal variable references may consist of alphanumeric characters,
-the characters ``/_.+-``, and `Escape Sequences`_.  Nested references
-may be used to evaluate variables of any name.  (See also policy
-:policy:`CMP0053` documentation for historical considerations.)
-
-The `Variables`_ section documents the scope of variable names
-and how their values are set.
-
-An *environment variable reference* has the form ``$ENV{VAR}`` and
-is evaluated in the same contexts as a normal variable reference.
-
-Comments
---------
-
-A comment starts with a ``#`` character that is not inside a
-`Bracket Argument`_, `Quoted Argument`_, or escaped with ``\``
-as part of an `Unquoted Argument`_.  There are two types of
-comments: a `Bracket Comment`_ and a `Line Comment`_.
-
-.. _`Bracket Comment`:
-
-Bracket Comment
-^^^^^^^^^^^^^^^
-
-A ``#`` immediately followed by a `Bracket Argument`_ forms a
-*bracket comment* consisting of the entire bracket enclosure:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- bracket_comment: '#' `bracket_argument`
-
-.. raw:: latex
-
-   \end{small}
-
-For example:
-
-.. code-block:: cmake
-
- #[[This is a bracket comment.
- It runs until the close bracket.]]
- message("First Argument\n" #[[Bracket Comment]] "Second Argument")
-
-.. note::
- CMake versions prior to 3.0 do not support bracket comments.
- They interpret the opening ``#`` as the start of a `Line Comment`_.
-
-.. _`Line Comment`:
-
-Line Comment
-^^^^^^^^^^^^
-
-A ``#`` not immediately followed by a `Bracket Argument`_ forms a
-*line comment* that runs until the end of the line:
-
-.. raw:: latex
-
-   \begin{small}
-
-.. productionlist::
- line_comment: '#' <any text not starting in a `bracket_argument`
-             :      and not containing a `newline`>
-
-.. raw:: latex
-
-   \end{small}
-
-For example:
-
-.. code-block:: cmake
-
- # This is a line comment.
- message("First Argument\n" # This is a line comment :)
-         "Second Argument") # This is a line comment.
-
-Control Structures
-==================
-
-Conditional Blocks
-------------------
-
-The :command:`if`/:command:`elseif`/:command:`else`/:command:`endif`
-commands delimit code blocks to be executed conditionally.
-
-Loops
------
-
-The :command:`foreach`/:command:`endforeach` and
-:command:`while`/:command:`endwhile` commands delimit code
-blocks to be executed in a loop.  Inside such blocks the
-:command:`break` command may be used to terminate the loop
-early whereas the :command:`continue` command may be used
-to start with the next iteration immediately.
-
-Command Definitions
--------------------
-
-The :command:`macro`/:command:`endmacro`, and
-:command:`function`/:command:`endfunction` commands delimit
-code blocks to be recorded for later invocation as commands.
-
-.. _`CMake Language Variables`:
-
-Variables
-=========
-
-Variables are the basic unit of storage in the CMake Language.
-Their values are always of string type, though some commands may
-interpret the strings as values of other types.
-The :command:`set` and :command:`unset` commands explicitly
-set or unset a variable, but other commands have semantics
-that modify variables as well.
-Variable names are case-sensitive and may consist of almost
-any text, but we recommend sticking to names consisting only
-of alphanumeric characters plus ``_`` and ``-``.
-
-Variables have dynamic scope.  Each variable "set" or "unset"
-creates a binding in the current scope:
-
-Function Scope
- `Command Definitions`_ created by the :command:`function` command
- create commands that, when invoked, process the recorded commands
- in a new variable binding scope.  A variable "set" or "unset"
- binds in this scope and is visible for the current function and
- any nested calls, but not after the function returns.
-
-Directory Scope
- Each of the `Directories`_ in a source tree has its own variable
- bindings.  Before processing the ``CMakeLists.txt`` file for a
- directory, CMake copies all variable bindings currently defined
- in the parent directory, if any, to initialize the new directory
- scope.  CMake `Scripts`_, when processed with ``cmake -P``, bind
- variables in one "directory" scope.
-
- A variable "set" or "unset" not inside a function call binds
- to the current directory scope.
-
-Persistent Cache
- CMake stores a separate set of "cache" variables, or "cache entries",
- whose values persist across multiple runs within a project build
- tree.  Cache entries have an isolated binding scope modified only
- by explicit request, such as by the ``CACHE`` option of the
- :command:`set` and :command:`unset` commands.
-
-When evaluating `Variable References`_, CMake first searches the
-function call stack, if any, for a binding and then falls back
-to the binding in the current directory scope, if any.  If a
-"set" binding is found, its value is used.  If an "unset" binding
-is found, or no binding is found, CMake then searches for a
-cache entry.  If a cache entry is found, its value is used.
-Otherwise, the variable reference evaluates to an empty string.
-
-The :manual:`cmake-variables(7)` manual documents many variables
-that are provided by CMake or have meaning to CMake when set
-by project code.
-
-.. _`CMake Language Lists`:
-
-Lists
-=====
-
-Although all values in CMake are stored as strings, a string
-may be treated as a list in certain contexts, such as during
-evaluation of an `Unquoted Argument`_.  In such contexts, a string
-is divided into list elements by splitting on ``;`` characters not
-following an unequal number of ``[`` and ``]`` characters and not
-immediately preceded by a ``\``.  The sequence ``\;`` does not
-divide a value but is replaced by ``;`` in the resulting element.
-
-A list of elements is represented as a string by concatenating
-the elements separated by ``;``.  For example, the :command:`set`
-command stores multiple values into the destination variable
-as a list:
-
-.. code-block:: cmake
-
- set(srcs a.c b.c c.c) # sets "srcs" to "a.c;b.c;c.c"
-
-Lists are meant for simple use cases such as a list of source
-files and should not be used for complex data processing tasks.
-Most commands that construct lists do not escape ``;`` characters
-in list elements, thus flattening nested lists:
-
-.. code-block:: cmake
-
- set(x a "b;c") # sets "x" to "a;b;c", not "a;b\;c"
diff --git a/share/cmake-3.6/Help/manual/cmake-modules.7.rst b/share/cmake-3.6/Help/manual/cmake-modules.7.rst
deleted file mode 100644
index 62910cf..0000000
--- a/share/cmake-3.6/Help/manual/cmake-modules.7.rst
+++ /dev/null
@@ -1,246 +0,0 @@
-.. cmake-manual-description: CMake Modules Reference
-
-cmake-modules(7)
-****************
-
-.. only:: html
-
-   .. contents::
-
-All Modules
-===========
-
-.. toctree::
-   :maxdepth: 1
-
-   /module/AddFileDependencies
-   /module/BundleUtilities
-   /module/CheckCCompilerFlag
-   /module/CheckCSourceCompiles
-   /module/CheckCSourceRuns
-   /module/CheckCXXCompilerFlag
-   /module/CheckCXXSourceCompiles
-   /module/CheckCXXSourceRuns
-   /module/CheckCXXSymbolExists
-   /module/CheckFortranCompilerFlag
-   /module/CheckFortranFunctionExists
-   /module/CheckFortranSourceCompiles
-   /module/CheckFunctionExists
-   /module/CheckIncludeFileCXX
-   /module/CheckIncludeFile
-   /module/CheckIncludeFiles
-   /module/CheckLanguage
-   /module/CheckLibraryExists
-   /module/CheckPrototypeDefinition
-   /module/CheckStructHasMember
-   /module/CheckSymbolExists
-   /module/CheckTypeSize
-   /module/CheckVariableExists
-   /module/CMakeAddFortranSubdirectory
-   /module/CMakeBackwardCompatibilityCXX
-   /module/CMakeDependentOption
-   /module/CMakeDetermineVSServicePack
-   /module/CMakeExpandImportedTargets
-   /module/CMakeFindDependencyMacro
-   /module/CMakeFindFrameworks
-   /module/CMakeFindPackageMode
-   /module/CMakeForceCompiler
-   /module/CMakeGraphVizOptions
-   /module/CMakePackageConfigHelpers
-   /module/CMakeParseArguments
-   /module/CMakePrintHelpers
-   /module/CMakePrintSystemInformation
-   /module/CMakePushCheckState
-   /module/CMakeVerifyManifest
-   /module/CPackBundle
-   /module/CPackComponent
-   /module/CPackCygwin
-   /module/CPackDeb
-   /module/CPackDMG
-   /module/CPackIFW
-   /module/CPackNSIS
-   /module/CPackPackageMaker
-   /module/CPackRPM
-   /module/CPack
-   /module/CPackWIX
-   /module/CTest
-   /module/CTestCoverageCollectGCOV
-   /module/CTestScriptMode
-   /module/CTestUseLaunchers
-   /module/Dart
-   /module/DeployQt4
-   /module/Documentation
-   /module/ExternalData
-   /module/ExternalProject
-   /module/FeatureSummary
-   /module/FindALSA
-   /module/FindArmadillo
-   /module/FindASPELL
-   /module/FindAVIFile
-   /module/FindBISON
-   /module/FindBLAS
-   /module/FindBacktrace
-   /module/FindBoost
-   /module/FindBullet
-   /module/FindBZip2
-   /module/FindCABLE
-   /module/FindCoin3D
-   /module/FindCUDA
-   /module/FindCups
-   /module/FindCURL
-   /module/FindCurses
-   /module/FindCVS
-   /module/FindCxxTest
-   /module/FindCygwin
-   /module/FindDart
-   /module/FindDCMTK
-   /module/FindDevIL
-   /module/FindDoxygen
-   /module/FindEXPAT
-   /module/FindFLEX
-   /module/FindFLTK2
-   /module/FindFLTK
-   /module/FindFreetype
-   /module/FindGCCXML
-   /module/FindGDAL
-   /module/FindGettext
-   /module/FindGIF
-   /module/FindGit
-   /module/FindGLEW
-   /module/FindGLUT
-   /module/FindGnuplot
-   /module/FindGnuTLS
-   /module/FindGSL
-   /module/FindGTest
-   /module/FindGTK2
-   /module/FindGTK
-   /module/FindHDF5
-   /module/FindHg
-   /module/FindHSPELL
-   /module/FindHTMLHelp
-   /module/FindIce
-   /module/FindIcotool
-   /module/FindImageMagick
-   /module/FindIntl
-   /module/FindITK
-   /module/FindJasper
-   /module/FindJava
-   /module/FindJNI
-   /module/FindJPEG
-   /module/FindKDE3
-   /module/FindKDE4
-   /module/FindLAPACK
-   /module/FindLATEX
-   /module/FindLibArchive
-   /module/FindLibLZMA
-   /module/FindLibXml2
-   /module/FindLibXslt
-   /module/FindLTTngUST
-   /module/FindLua50
-   /module/FindLua51
-   /module/FindLua
-   /module/FindMatlab
-   /module/FindMFC
-   /module/FindMotif
-   /module/FindMPEG2
-   /module/FindMPEG
-   /module/FindMPI
-   /module/FindOpenAL
-   /module/FindOpenCL
-   /module/FindOpenGL
-   /module/FindOpenMP
-   /module/FindOpenSceneGraph
-   /module/FindOpenSSL
-   /module/FindOpenThreads
-   /module/FindosgAnimation
-   /module/FindosgDB
-   /module/Findosg_functions
-   /module/FindosgFX
-   /module/FindosgGA
-   /module/FindosgIntrospection
-   /module/FindosgManipulator
-   /module/FindosgParticle
-   /module/FindosgPresentation
-   /module/FindosgProducer
-   /module/FindosgQt
-   /module/Findosg
-   /module/FindosgShadow
-   /module/FindosgSim
-   /module/FindosgTerrain
-   /module/FindosgText
-   /module/FindosgUtil
-   /module/FindosgViewer
-   /module/FindosgVolume
-   /module/FindosgWidget
-   /module/FindPackageHandleStandardArgs
-   /module/FindPackageMessage
-   /module/FindPerlLibs
-   /module/FindPerl
-   /module/FindPHP4
-   /module/FindPhysFS
-   /module/FindPike
-   /module/FindPkgConfig
-   /module/FindPNG
-   /module/FindPostgreSQL
-   /module/FindProducer
-   /module/FindProtobuf
-   /module/FindPythonInterp
-   /module/FindPythonLibs
-   /module/FindQt3
-   /module/FindQt4
-   /module/FindQt
-   /module/FindQuickTime
-   /module/FindRTI
-   /module/FindRuby
-   /module/FindSDL_image
-   /module/FindSDL_mixer
-   /module/FindSDL_net
-   /module/FindSDL
-   /module/FindSDL_sound
-   /module/FindSDL_ttf
-   /module/FindSelfPackers
-   /module/FindSquish
-   /module/FindSubversion
-   /module/FindSWIG
-   /module/FindTCL
-   /module/FindTclsh
-   /module/FindTclStub
-   /module/FindThreads
-   /module/FindTIFF
-   /module/FindUnixCommands
-   /module/FindVTK
-   /module/FindWget
-   /module/FindWish
-   /module/FindwxWidgets
-   /module/FindwxWindows
-   /module/FindXCTest
-   /module/FindXalanC
-   /module/FindXercesC
-   /module/FindX11
-   /module/FindXMLRPC
-   /module/FindZLIB
-   /module/FortranCInterface
-   /module/GenerateExportHeader
-   /module/GetPrerequisites
-   /module/GNUInstallDirs
-   /module/InstallRequiredSystemLibraries
-   /module/MacroAddFileDependencies
-   /module/ProcessorCount
-   /module/SelectLibraryConfigurations
-   /module/SquishTestScript
-   /module/TestBigEndian
-   /module/TestCXXAcceptsFlag
-   /module/TestForANSIForScope
-   /module/TestForANSIStreamHeaders
-   /module/TestForSSTREAM
-   /module/TestForSTDNamespace
-   /module/UseEcos
-   /module/UseJavaClassFilelist
-   /module/UseJava
-   /module/UseJavaSymlinks
-   /module/UsePkgConfig
-   /module/UseSWIG
-   /module/UsewxWidgets
-   /module/Use_wxWindows
-   /module/WriteBasicConfigVersionFile
-   /module/WriteCompilerDetectionHeader
diff --git a/share/cmake-3.6/Help/manual/cmake-packages.7.rst b/share/cmake-3.6/Help/manual/cmake-packages.7.rst
deleted file mode 100644
index c27c612..0000000
--- a/share/cmake-3.6/Help/manual/cmake-packages.7.rst
+++ /dev/null
@@ -1,709 +0,0 @@
-.. cmake-manual-description: CMake Packages Reference
-
-cmake-packages(7)
-*****************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-Packages provide dependency information to CMake based buildsystems.  Packages
-are found with the :command:`find_package` command.  The result of
-using ``find_package`` is either a set of :prop_tgt:`IMPORTED` targets, or
-a set of variables corresponding to build-relevant information.
-
-Using Packages
-==============
-
-CMake provides direct support for two forms of packages,
-`Config-file Packages`_ and `Find-module Packages`_.
-Indirect support for ``pkg-config`` packages is also provided via
-the :module:`FindPkgConfig` module.  In all cases, the basic form
-of :command:`find_package` calls is the same:
-
-.. code-block:: cmake
-
-  find_package(Qt4 4.7.0 REQUIRED) # CMake provides a Qt4 find-module
-  find_package(Qt5Core 5.1.0 REQUIRED) # Qt provides a Qt5 package config file.
-  find_package(LibXml2 REQUIRED) # Use pkg-config via the LibXml2 find-module
-
-In cases where it is known that a package configuration file is provided by
-upstream, and only that should be used, the ``CONFIG`` keyword may be passed
-to :command:`find_package`:
-
-.. code-block:: cmake
-
-  find_package(Qt5Core 5.1.0 CONFIG REQUIRED)
-  find_package(Qt5Gui 5.1.0 CONFIG)
-
-Similarly, the ``MODULE`` keyword says to use only a find-module:
-
-.. code-block:: cmake
-
-  find_package(Qt4 4.7.0 MODULE REQUIRED)
-
-Specifying the type of package explicitly improves the error message shown to
-the user if it is not found.
-
-Both types of packages also support specifying components of a package,
-either after the ``REQUIRED`` keyword:
-
-.. code-block:: cmake
-
-  find_package(Qt5 5.1.0 CONFIG REQUIRED Widgets Xml Sql)
-
-or as a separate ``COMPONENTS`` list:
-
-.. code-block:: cmake
-
-  find_package(Qt5 5.1.0 COMPONENTS Widgets Xml Sql)
-
-or as a separate ``OPTIONAL_COMPONENTS`` list:
-
-.. code-block:: cmake
-
-  find_package(Qt5 5.1.0 COMPONENTS Widgets
-                         OPTIONAL_COMPONENTS Xml Sql
-  )
-
-Handling of ``COMPONENTS`` and ``OPTIONAL_COMPONENTS`` is defined by the
-package.
-
-By setting the :variable:`CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` variable to
-``TRUE``, the ``PackageName`` package will not be searched, and will always
-be ``NOTFOUND``.
-
-.. _`Config File Packages`:
-
-Config-file Packages
---------------------
-
-A config-file package is a set of files provided by upstreams for downstreams
-to use. CMake searches in a number of locations for package configuration files, as
-described in the :command:`find_package` documentation.  The most simple way for
-a CMake user to tell :manual:`cmake(1)` to search in a non-standard prefix for
-a package is to set the ``CMAKE_PREFIX_PATH`` cache variable.
-
-Config-file packages are provided by upstream vendors as part of development
-packages, that is, they belong with the header files and any other files
-provided to assist downstreams in using the package.
-
-A set of variables which provide package status information are also set
-automatically when using a config-file package.  The ``<Package>_FOUND``
-variable is set to true or false, depending on whether the package was
-found.  The ``<Package>_DIR`` cache variable is set to the location of the
-package configuration file.
-
-Find-module Packages
---------------------
-
-A find module is a file with a set of rules for finding the required pieces of
-a dependency, primarily header files and libraries.  Typically, a find module
-is needed when the upstream is not built with CMake, or is not CMake-aware
-enough to otherwise provide a package configuration file.  Unlike a package configuration
-file, it is not shipped with upstream, but is used by downstream to find the
-files by guessing locations of files with platform-specific hints.
-
-Unlike the case of an upstream-provided package configuration file, no single point
-of reference identifies the package as being found, so the ``<Package>_FOUND``
-variable is not automatically set by the :command:`find_package` command.  It
-can still be expected to be set by convention however and should be set by
-the author of the Find-module.  Similarly there is no ``<Package>_DIR`` variable,
-but each of the artifacts such as library locations and header file locations
-provide a separate cache variable.
-
-See the :manual:`cmake-developer(7)` manual for more information about creating
-Find-module files.
-
-Package Layout
-==============
-
-A config-file package consists of a `Package Configuration File`_ and
-optionally a `Package Version File`_ provided with the project distribution.
-
-Package Configuration File
---------------------------
-
-Consider a project ``Foo`` that installs the following files::
-
-  <prefix>/include/foo-1.2/foo.h
-  <prefix>/lib/foo-1.2/libfoo.a
-
-It may also provide a CMake package configuration file::
-
-  <prefix>/lib/cmake/foo-1.2/FooConfig.cmake
-
-with content defining :prop_tgt:`IMPORTED` targets, or defining variables, such
-as:
-
-.. code-block:: cmake
-
-  # ...
-  # (compute PREFIX relative to file location)
-  # ...
-  set(Foo_INCLUDE_DIRS ${PREFIX}/include/foo-1.2)
-  set(Foo_LIBRARIES ${PREFIX}/lib/foo-1.2/libfoo.a)
-
-If another project wishes to use ``Foo`` it need only to locate the ``FooConfig.cmake``
-file and load it to get all the information it needs about package content
-locations.  Since the package configuration file is provided by the package
-installation it already knows all the file locations.
-
-The :command:`find_package` command may be used to search for the package
-configuration file.  This command constructs a set of installation prefixes
-and searches under each prefix in several locations.  Given the name ``Foo``,
-it looks for a file called ``FooConfig.cmake`` or ``foo-config.cmake``.
-The full set of locations is specified in the :command:`find_package` command
-documentation. One place it looks is::
-
- <prefix>/lib/cmake/Foo*/
-
-where ``Foo*`` is a case-insensitive globbing expression.  In our example the
-globbing expression will match ``<prefix>/lib/cmake/foo-1.2`` and the package
-configuration file will be found.
-
-Once found, a package configuration file is immediately loaded.  It, together
-with a package version file, contains all the information the project needs to
-use the package.
-
-Package Version File
---------------------
-
-When the :command:`find_package` command finds a candidate package configuration
-file it looks next to it for a version file. The version file is loaded to test
-whether the package version is an acceptable match for the version requested.
-If the version file claims compatibility the configuration file is accepted.
-Otherwise it is ignored.
-
-The name of the package version file must match that of the package configuration
-file but has either ``-version`` or ``Version`` appended to the name before
-the ``.cmake`` extension.  For example, the files::
-
- <prefix>/lib/cmake/foo-1.3/foo-config.cmake
- <prefix>/lib/cmake/foo-1.3/foo-config-version.cmake
-
-and::
-
- <prefix>/lib/cmake/bar-4.2/BarConfig.cmake
- <prefix>/lib/cmake/bar-4.2/BarConfigVersion.cmake
-
-are each pairs of package configuration files and corresponding package version
-files.
-
-When the :command:`find_package` command loads a version file it first sets the
-following variables:
-
-``PACKAGE_FIND_NAME``
- The <package> name
-
-``PACKAGE_FIND_VERSION``
- Full requested version string
-
-``PACKAGE_FIND_VERSION_MAJOR``
- Major version if requested, else 0
-
-``PACKAGE_FIND_VERSION_MINOR``
- Minor version if requested, else 0
-
-``PACKAGE_FIND_VERSION_PATCH``
- Patch version if requested, else 0
-
-``PACKAGE_FIND_VERSION_TWEAK``
- Tweak version if requested, else 0
-
-``PACKAGE_FIND_VERSION_COUNT``
- Number of version components, 0 to 4
-
-The version file must use these variables to check whether it is compatible or
-an exact match for the requested version and set the following variables with
-results:
-
-``PACKAGE_VERSION``
- Full provided version string
-
-``PACKAGE_VERSION_EXACT``
- True if version is exact match
-
-``PACKAGE_VERSION_COMPATIBLE``
- True if version is compatible
-
-``PACKAGE_VERSION_UNSUITABLE``
- True if unsuitable as any version
-
-Version files are loaded in a nested scope so they are free to set any variables
-they wish as part of their computation. The find_package command wipes out the
-scope when the version file has completed and it has checked the output
-variables. When the version file claims to be an acceptable match for the
-requested version the find_package command sets the following variables for
-use by the project:
-
-``<package>_VERSION``
- Full provided version string
-
-``<package>_VERSION_MAJOR``
- Major version if provided, else 0
-
-``<package>_VERSION_MINOR``
- Minor version if provided, else 0
-
-``<package>_VERSION_PATCH``
- Patch version if provided, else 0
-
-``<package>_VERSION_TWEAK``
- Tweak version if provided, else 0
-
-``<package>_VERSION_COUNT``
- Number of version components, 0 to 4
-
-The variables report the version of the package that was actually found.
-The ``<package>`` part of their name matches the argument given to the
-:command:`find_package` command.
-
-.. _`Creating Packages`:
-
-Creating Packages
-=================
-
-Usually, the upstream depends on CMake itself and can use some CMake facilities
-for creating the package files. Consider an upstream which provides a single
-shared library:
-
-.. code-block:: cmake
-
-  project(UpstreamLib)
-
-  set(CMAKE_INCLUDE_CURRENT_DIR ON)
-  set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
-
-  set(Upstream_VERSION 3.4.1)
-
-  include(GenerateExportHeader)
-
-  add_library(ClimbingStats SHARED climbingstats.cpp)
-  generate_export_header(ClimbingStats)
-  set_property(TARGET ClimbingStats PROPERTY VERSION ${Upstream_VERSION})
-  set_property(TARGET ClimbingStats PROPERTY SOVERSION 3)
-  set_property(TARGET ClimbingStats PROPERTY
-    INTERFACE_ClimbingStats_MAJOR_VERSION 3)
-  set_property(TARGET ClimbingStats APPEND PROPERTY
-    COMPATIBLE_INTERFACE_STRING ClimbingStats_MAJOR_VERSION
-  )
-
-  install(TARGETS ClimbingStats EXPORT ClimbingStatsTargets
-    LIBRARY DESTINATION lib
-    ARCHIVE DESTINATION lib
-    RUNTIME DESTINATION bin
-    INCLUDES DESTINATION include
-  )
-  install(
-    FILES
-      climbingstats.h
-      "${CMAKE_CURRENT_BINARY_DIR}/climbingstats_export.h"
-    DESTINATION
-      include
-    COMPONENT
-      Devel
-  )
-
-  include(CMakePackageConfigHelpers)
-  write_basic_package_version_file(
-    "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsConfigVersion.cmake"
-    VERSION ${Upstream_VERSION}
-    COMPATIBILITY AnyNewerVersion
-  )
-
-  export(EXPORT ClimbingStatsTargets
-    FILE "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsTargets.cmake"
-    NAMESPACE Upstream::
-  )
-  configure_file(cmake/ClimbingStatsConfig.cmake
-    "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsConfig.cmake"
-    COPYONLY
-  )
-
-  set(ConfigPackageLocation lib/cmake/ClimbingStats)
-  install(EXPORT ClimbingStatsTargets
-    FILE
-      ClimbingStatsTargets.cmake
-    NAMESPACE
-      Upstream::
-    DESTINATION
-      ${ConfigPackageLocation}
-  )
-  install(
-    FILES
-      cmake/ClimbingStatsConfig.cmake
-      "${CMAKE_CURRENT_BINARY_DIR}/ClimbingStats/ClimbingStatsConfigVersion.cmake"
-    DESTINATION
-      ${ConfigPackageLocation}
-    COMPONENT
-      Devel
-  )
-
-The :module:`CMakePackageConfigHelpers` module provides a macro for creating
-a simple ``ConfigVersion.cmake`` file.  This file sets the version of the
-package.  It is read by CMake when :command:`find_package` is called to
-determine the compatibility with the requested version, and to set some
-version-specific variables ``<Package>_VERSION``, ``<Package>_VERSION_MAJOR``,
-``<Package>_VERSION_MINOR`` etc.  The :command:`install(EXPORT)` command is
-used to export the targets in the ``ClimbingStatsTargets`` export-set, defined
-previously by the :command:`install(TARGETS)` command. This command generates
-the ``ClimbingStatsTargets.cmake`` file to contain :prop_tgt:`IMPORTED`
-targets, suitable for use by downstreams and arranges to install it to
-``lib/cmake/ClimbingStats``.  The generated ``ClimbingStatsConfigVersion.cmake``
-and a ``cmake/ClimbingStatsConfig.cmake`` are installed to the same location,
-completing the package.
-
-The generated :prop_tgt:`IMPORTED` targets have appropriate properties set
-to define their :ref:`usage requirements <Target Usage Requirements>`, such as
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
-:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` and other relevant built-in
-``INTERFACE_`` properties.  The ``INTERFACE`` variant of user-defined
-properties listed in :prop_tgt:`COMPATIBLE_INTERFACE_STRING` and
-other :ref:`Compatible Interface Properties` are also propagated to the
-generated :prop_tgt:`IMPORTED` targets.  In the above case,
-``ClimbingStats_MAJOR_VERSION`` is defined as a string which must be
-compatible among the dependencies of any depender.  By setting this custom
-defined user property in this version and in the next version of
-``ClimbingStats``, :manual:`cmake(1)` will issue a diagnostic if there is an
-attempt to use version 3 together with version 4.  Packages can choose to
-employ such a pattern if different major versions of the package are designed
-to be incompatible.
-
-A ``NAMESPACE`` with double-colons is specified when exporting the targets
-for installation.  This convention of double-colons gives CMake a hint that
-the name is an :prop_tgt:`IMPORTED` target when it is used by downstreams
-with the :command:`target_link_libraries` command.  This way, CMake can
-issue a diagnostic if the package providing it has not yet been found.
-
-In this case, when using :command:`install(TARGETS)` the ``INCLUDES DESTINATION``
-was specified.  This causes the ``IMPORTED`` targets to have their
-:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` populated with the ``include``
-directory in the :variable:`CMAKE_INSTALL_PREFIX`.  When the ``IMPORTED``
-target is used by downstream, it automatically consumes the entries from
-that property.
-
-Creating a Package Configuration File
--------------------------------------
-
-In this case, the ``ClimbingStatsConfig.cmake`` file could be as simple as:
-
-.. code-block:: cmake
-
-  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
-
-As this allows downstreams to use the ``IMPORTED`` targets.  If any macros
-should be provided by the ``ClimbingStats`` package, they should
-be in a separate file which is installed to the same location as the
-``ClimbingStatsConfig.cmake`` file, and included from there.
-
-This can also be extended to cover dependencies:
-
-.. code-block:: cmake
-
-  # ...
-  add_library(ClimbingStats SHARED climbingstats.cpp)
-  generate_export_header(ClimbingStats)
-
-  find_package(Stats 2.6.4 REQUIRED)
-  target_link_libraries(ClimbingStats PUBLIC Stats::Types)
-
-As the ``Stats::Types`` target is a ``PUBLIC`` dependency of ``ClimbingStats``,
-downstreams must also find the ``Stats`` package and link to the ``Stats::Types``
-library.  The ``Stats`` package should be found in the ``ClimbingStatsConfig.cmake``
-file to ensure this.  The ``find_dependency`` macro from the
-:module:`CMakeFindDependencyMacro` helps with this by propagating
-whether the package is ``REQUIRED``, or ``QUIET`` etc.  All ``REQUIRED``
-dependencies of a package should be found in the ``Config.cmake`` file:
-
-.. code-block:: cmake
-
-  include(CMakeFindDependencyMacro)
-  find_dependency(Stats 2.6.4)
-
-  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
-  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
-
-The ``find_dependency`` macro also sets ``ClimbingStats_FOUND`` to ``False`` if
-the dependency is not found, along with a diagnostic that the ``ClimbingStats``
-package can not be used without the ``Stats`` package.
-
-If ``COMPONENTS`` are specified when the downstream uses :command:`find_package`,
-they are listed in the ``<Package>_FIND_COMPONENTS`` variable. If a particular
-component is non-optional, then the ``<Package>_FIND_REQUIRED_<comp>`` will
-be true. This can be tested with logic in the package configuration file:
-
-.. code-block:: cmake
-
-  include(CMakeFindDependencyMacro)
-  find_dependency(Stats 2.6.4)
-
-  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
-  include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
-
-  set(_supported_components Plot Table)
-
-  foreach(_comp ${ClimbingStats_FIND_COMPONENTS})
-    if (NOT ";${_supported_components};" MATCHES _comp)
-      set(ClimbingStats_FOUND False)
-      set(ClimbingStats_NOTFOUND_MESSAGE "Unsupported component: ${_comp}")
-    endif()
-    include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStats${_comp}Targets.cmake")
-  endforeach()
-
-Here, the ``ClimbingStats_NOTFOUND_MESSAGE`` is set to a diagnosis that the package
-could not be found because an invalid component was specified.  This message
-variable can be set for any case where the ``_FOUND`` variable is set to ``False``,
-and will be displayed to the user.
-
-Creating a Package Configuration File for the Build Tree
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The :command:`export(EXPORT)` command creates an :prop_tgt:`IMPORTED` targets
-definition file which is specific to the build-tree, and is not relocatable.
-This can similarly be used with a suitable package configuration file and
-package version file to define a package for the build tree which may be used
-without installation.  Consumers of the build tree can simply ensure that the
-:variable:`CMAKE_PREFIX_PATH` contains the build directory, or set the
-``ClimbingStats_DIR`` to ``<build_dir>/ClimbingStats`` in the cache.
-
-.. _`Creating Relocatable Packages`:
-
-Creating Relocatable Packages
------------------------------
-
-A relocatable package must not reference absolute paths of files on
-the machine where the package is built that will not exist on the
-machines where the package may be installed.
-
-Packages created by :command:`install(EXPORT)` are designed to be relocatable,
-using paths relative to the location of the package itself.  When defining
-the interface of a target for ``EXPORT``, keep in mind that the include
-directories should be specified as relative paths which are relative to the
-:variable:`CMAKE_INSTALL_PREFIX`:
-
-.. code-block:: cmake
-
-  target_include_directories(tgt INTERFACE
-    # Wrong, not relocatable:
-    $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include/TgtName>
-  )
-
-  target_include_directories(tgt INTERFACE
-    # Ok, relocatable:
-    $<INSTALL_INTERFACE:include/TgtName>
-  )
-
-The ``$<INSTALL_PREFIX>``
-:manual:`generator expression <cmake-generator-expressions(7)>` may be used as
-a placeholder for the install prefix without resulting in a non-relocatable
-package.  This is necessary if complex generator expressions are used:
-
-.. code-block:: cmake
-
-  target_include_directories(tgt INTERFACE
-    # Ok, relocatable:
-    $<INSTALL_INTERFACE:$<$<CONFIG:Debug>:$<INSTALL_PREFIX>/include/TgtName>>
-  )
-
-This also applies to paths referencing external dependencies.
-It is not advisable to populate any properties which may contain
-paths, such as :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` and
-:prop_tgt:`INTERFACE_LINK_LIBRARIES`, with paths relevant to dependencies.
-For example, this code may not work well for a relocatable package:
-
-.. code-block:: cmake
-
-  target_link_libraries(ClimbingStats INTERFACE
-    ${Foo_LIBRARIES} ${Bar_LIBRARIES}
-    )
-  target_include_directories(ClimbingStats INTERFACE
-    "$<INSTALL_INTERFACE:${Foo_INCLUDE_DIRS};${Bar_INCLUDE_DIRS}>"
-    )
-
-The referenced variables may contain the absolute paths to libraries
-and include directories **as found on the machine the package was made on**.
-This would create a package with hard-coded paths to dependencies and not
-suitable for relocation.
-
-Ideally such dependencies should be used through their own
-:ref:`IMPORTED targets <Imported Targets>` that have their own
-:prop_tgt:`IMPORTED_LOCATION` and usage requirement properties
-such as :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` populated
-appropriately.  Those imported targets may then be used with
-the :command:`target_link_libraries` command for ``ClimbingStats``:
-
-.. code-block:: cmake
-
-  target_link_libraries(ClimbingStats INTERFACE Foo::Foo Bar::Bar)
-
-With this approach the package references its external dependencies
-only through the names of :ref:`IMPORTED targets <Imported Targets>`.
-When a consumer uses the installed package, the consumer will run the
-appropriate :command:`find_package` commands (via the ``find_dependency``
-macro described above) to find the dependencies and populate the
-imported targets with appropriate paths on their own machine.
-
-Unfortunately many :manual:`modules <cmake-modules(7)>` shipped with
-CMake do not yet provide :ref:`IMPORTED targets <Imported Targets>`
-because their development pre-dated this approach.  This may improve
-incrementally over time.  Workarounds to create relocatable packages
-using such modules include:
-
-* When building the package, specify each ``Foo_LIBRARY`` cache
-  entry as just a library name, e.g. ``-DFoo_LIBRARY=foo``.  This
-  tells the corresponding find module to populate the ``Foo_LIBRARIES``
-  with just ``foo`` to ask the linker to search for the library
-  instead of hard-coding a path.
-
-* Or, after installing the package content but before creating the
-  package installation binary for redistribution, manually replace
-  the absolute paths with placeholders for substitution by the
-  installation tool when the package is installed.
-
-.. _`Package Registry`:
-
-Package Registry
-================
-
-CMake provides two central locations to register packages that have
-been built or installed anywhere on a system:
-
-* `User Package Registry`_
-* `System Package Registry`_
-
-The registries are especially useful to help projects find packages in
-non-standard install locations or directly in their own build trees.
-A project may populate either the user or system registry (using its own
-means, see below) to refer to its location.
-In either case the package should store at the registered location a
-`Package Configuration File`_ (``<package>Config.cmake``) and optionally a
-`Package Version File`_ (``<package>ConfigVersion.cmake``).
-
-The :command:`find_package` command searches the two package registries
-as two of the search steps specified in its documentation.  If it has
-sufficient permissions it also removes stale package registry entries
-that refer to directories that do not exist or do not contain a matching
-package configuration file.
-
-.. _`User Package Registry`:
-
-User Package Registry
----------------------
-
-The User Package Registry is stored in a per-user location.
-The :command:`export(PACKAGE)` command may be used to register a project
-build tree in the user package registry.  CMake currently provides no
-interface to add install trees to the user package registry.  Installers
-must be manually taught to register their packages if desired.
-
-On Windows the user package registry is stored in the Windows registry
-under a key in ``HKEY_CURRENT_USER``.
-
-A ``<package>`` may appear under registry key::
-
-  HKEY_CURRENT_USER\Software\Kitware\CMake\Packages\<package>
-
-as a ``REG_SZ`` value, with arbitrary name, that specifies the directory
-containing the package configuration file.
-
-On UNIX platforms the user package registry is stored in the user home
-directory under ``~/.cmake/packages``.  A ``<package>`` may appear under
-the directory::
-
-  ~/.cmake/packages/<package>
-
-as a file, with arbitrary name, whose content specifies the directory
-containing the package configuration file.
-
-.. _`System Package Registry`:
-
-System Package Registry
------------------------
-
-The System Package Registry is stored in a system-wide location.
-CMake currently provides no interface to add to the system package registry.
-Installers must be manually taught to register their packages if desired.
-
-On Windows the system package registry is stored in the Windows registry
-under a key in ``HKEY_LOCAL_MACHINE``.  A ``<package>`` may appear under
-registry key::
-
-  HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>
-
-as a ``REG_SZ`` value, with arbitrary name, that specifies the directory
-containing the package configuration file.
-
-There is no system package registry on non-Windows platforms.
-
-.. _`Disabling the Package Registry`:
-
-Disabling the Package Registry
-------------------------------
-
-In some cases using the Package Registries is not desirable. CMake
-allows one to disable them using the following variables:
-
- * :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` disables the
-   :command:`export(PACKAGE)` command.
- * :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` disables the
-   User Package Registry in all the :command:`find_package` calls.
- * :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` disables
-   the System Package Registry in all the :command:`find_package` calls.
-
-Package Registry Example
-------------------------
-
-A simple convention for naming package registry entries is to use content
-hashes.  They are deterministic and unlikely to collide
-(:command:`export(PACKAGE)` uses this approach).
-The name of an entry referencing a specific directory is simply the content
-hash of the directory path itself.
-
-If a project arranges for package registry entries to exist, such as::
-
- > reg query HKCU\Software\Kitware\CMake\Packages\MyPackage
- HKEY_CURRENT_USER\Software\Kitware\CMake\Packages\MyPackage
-  45e7d55f13b87179bb12f907c8de6fc4 REG_SZ c:/Users/Me/Work/lib/cmake/MyPackage
-  7b4a9844f681c80ce93190d4e3185db9 REG_SZ c:/Users/Me/Work/MyPackage-build
-
-or::
-
- $ cat ~/.cmake/packages/MyPackage/7d1fb77e07ce59a81bed093bbee945bd
- /home/me/work/lib/cmake/MyPackage
- $ cat ~/.cmake/packages/MyPackage/f92c1db873a1937f3100706657c63e07
- /home/me/work/MyPackage-build
-
-then the ``CMakeLists.txt`` code:
-
-.. code-block:: cmake
-
-  find_package(MyPackage)
-
-will search the registered locations for package configuration files
-(``MyPackageConfig.cmake``).  The search order among package registry
-entries for a single package is unspecified and the entry names
-(hashes in this example) have no meaning.  Registered locations may
-contain package version files (``MyPackageConfigVersion.cmake``) to
-tell :command:`find_package` whether a specific location is suitable
-for the version requested.
-
-Package Registry Ownership
---------------------------
-
-Package registry entries are individually owned by the project installations
-that they reference.  A package installer is responsible for adding its own
-entry and the corresponding uninstaller is responsible for removing it.
-
-The :command:`export(PACKAGE)` command populates the user package registry
-with the location of a project build tree.  Build trees tend to be deleted by
-developers and have no "uninstall" event that could trigger removal of their
-entries.  In order to keep the registries clean the :command:`find_package`
-command automatically removes stale entries it encounters if it has sufficient
-permissions.  CMake provides no interface to remove an entry referencing an
-existing build tree once :command:`export(PACKAGE)` has been invoked.
-However, if the project removes its package configuration file from the build
-tree then the entry referencing the location will be considered stale.
diff --git a/share/cmake-3.6/Help/manual/cmake-policies.7.rst b/share/cmake-3.6/Help/manual/cmake-policies.7.rst
deleted file mode 100644
index 43f4637..0000000
--- a/share/cmake-3.6/Help/manual/cmake-policies.7.rst
+++ /dev/null
@@ -1,167 +0,0 @@
-.. cmake-manual-description: CMake Policies Reference
-
-cmake-policies(7)
-*****************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-Policies in CMake are used to preserve backward compatible behavior
-across multiple releases.  When a new policy is introduced, newer CMake
-versions will begin to warn about the backward compatible behavior.  It
-is possible to disable the warning by explicitly requesting the OLD, or
-backward compatible behavior using the :command:`cmake_policy` command.
-It is also possible to request ``NEW``, or non-backward compatible behavior
-for a policy, also avoiding the warning.  Each policy can also be set to
-either ``NEW`` or ``OLD`` behavior explicitly on the command line with the
-:variable:`CMAKE_POLICY_DEFAULT_CMP<NNNN>` variable.
-
-A policy is a deprecation mechanism and not a reliable feature toggle.
-A policy should almost never be set to ``OLD``, except to silence warnings
-in an otherwise frozen or stable codebase, or temporarily as part of a
-larger migration path. The ``OLD`` behavior of each policy is undesirable
-and will be replaced with an error condition in a future release.
-
-The :command:`cmake_minimum_required` command does more than report an
-error if a too-old version of CMake is used to build a project.  It
-also sets all policies introduced in that CMake version or earlier to
-``NEW`` behavior.  To manage policies without increasing the minimum required
-CMake version, the :command:`if(POLICY)` command may be used:
-
-.. code-block:: cmake
-
-  if(POLICY CMP0990)
-    cmake_policy(SET CMP0990 NEW)
-  endif()
-
-This has the effect of using the ``NEW`` behavior with newer CMake releases which
-users may be using and not issuing a compatibility warning.
-
-The setting of a policy is confined in some cases to not propagate to the
-parent scope.  For example, if the files read by the :command:`include` command
-or the :command:`find_package` command contain a use of :command:`cmake_policy`,
-that policy setting will not affect the caller by default.  Both commands accept
-an optional ``NO_POLICY_SCOPE`` keyword to control this behavior.
-
-The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
-to determine whether to report an error on use of deprecated macros or
-functions.
-
-Policies Introduced by CMake 3.4
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0065: Do not add flags to export symbols from executables without the ENABLE_EXPORTS target property. </policy/CMP0065>
-   CMP0064: Support new TEST if() operator. </policy/CMP0064>
-
-Policies Introduced by CMake 3.3
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0063: Honor visibility properties for all target types. </policy/CMP0063>
-   CMP0062: Disallow install() of export() result. </policy/CMP0062>
-   CMP0061: CTest does not by default tell make to ignore errors (-i). </policy/CMP0061>
-   CMP0060: Link libraries by full path even in implicit directories. </policy/CMP0060>
-   CMP0059: Do not treat DEFINITIONS as a built-in directory property. </policy/CMP0059>
-   CMP0058: Ninja requires custom command byproducts to be explicit. </policy/CMP0058>
-   CMP0057: Support new IN_LIST if() operator. </policy/CMP0057>
-
-Policies Introduced by CMake 3.2
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0056: Honor link flags in try_compile() source-file signature. </policy/CMP0056>
-   CMP0055: Strict checking for break() command. </policy/CMP0055>
-
-Policies Introduced by CMake 3.1
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0054: Only interpret if() arguments as variables or keywords when unquoted. </policy/CMP0054>
-   CMP0053: Simplify variable reference and escape sequence evaluation. </policy/CMP0053>
-   CMP0052: Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES. </policy/CMP0052>
-   CMP0051: List TARGET_OBJECTS in SOURCES target property. </policy/CMP0051>
-
-Policies Introduced by CMake 3.0
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0050: Disallow add_custom_command SOURCE signatures. </policy/CMP0050>
-   CMP0049: Do not expand variables in target source entries. </policy/CMP0049>
-   CMP0048: project() command manages VERSION variables. </policy/CMP0048>
-   CMP0047: Use QCC compiler id for the qcc drivers on QNX. </policy/CMP0047>
-   CMP0046: Error on non-existent dependency in add_dependencies. </policy/CMP0046>
-   CMP0045: Error on non-existent target in get_target_property. </policy/CMP0045>
-   CMP0044: Case sensitive Lang_COMPILER_ID generator expressions. </policy/CMP0044>
-   CMP0043: Ignore COMPILE_DEFINITIONS_Config properties. </policy/CMP0043>
-   CMP0042: MACOSX_RPATH is enabled by default. </policy/CMP0042>
-   CMP0041: Error on relative include with generator expression. </policy/CMP0041>
-   CMP0040: The target in the TARGET signature of add_custom_command() must exist. </policy/CMP0040>
-   CMP0039: Utility targets may not have link dependencies. </policy/CMP0039>
-   CMP0038: Targets may not link directly to themselves. </policy/CMP0038>
-   CMP0037: Target names should not be reserved and should match a validity pattern. </policy/CMP0037>
-   CMP0036: The build_name command should not be called. </policy/CMP0036>
-   CMP0035: The variable_requires command should not be called. </policy/CMP0035>
-   CMP0034: The utility_source command should not be called. </policy/CMP0034>
-   CMP0033: The export_library_dependencies command should not be called. </policy/CMP0033>
-   CMP0032: The output_required_files command should not be called. </policy/CMP0032>
-   CMP0031: The load_command command should not be called. </policy/CMP0031>
-   CMP0030: The use_mangled_mesa command should not be called. </policy/CMP0030>
-   CMP0029: The subdir_depends command should not be called. </policy/CMP0029>
-   CMP0028: Double colon in target name means ALIAS or IMPORTED target. </policy/CMP0028>
-   CMP0027: Conditionally linked imported targets with missing include directories. </policy/CMP0027>
-   CMP0026: Disallow use of the LOCATION target property. </policy/CMP0026>
-   CMP0025: Compiler id for Apple Clang is now AppleClang. </policy/CMP0025>
-   CMP0024: Disallow include export result. </policy/CMP0024>
-
-Policies Introduced by CMake 2.8
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0023: Plain and keyword target_link_libraries signatures cannot be mixed. </policy/CMP0023>
-   CMP0022: INTERFACE_LINK_LIBRARIES defines the link interface. </policy/CMP0022>
-   CMP0021: Fatal error on relative paths in INCLUDE_DIRECTORIES target property. </policy/CMP0021>
-   CMP0020: Automatically link Qt executables to qtmain target on Windows. </policy/CMP0020>
-   CMP0019: Do not re-expand variables in include and link information. </policy/CMP0019>
-   CMP0018: Ignore CMAKE_SHARED_LIBRARY_Lang_FLAGS variable. </policy/CMP0018>
-   CMP0017: Prefer files from the CMake module directory when including from there. </policy/CMP0017>
-   CMP0016: target_link_libraries() reports error if its only argument is not a target. </policy/CMP0016>
-   CMP0015: link_directories() treats paths relative to the source dir. </policy/CMP0015>
-   CMP0014: Input directories must have CMakeLists.txt. </policy/CMP0014>
-   CMP0013: Duplicate binary directories are not allowed. </policy/CMP0013>
-   CMP0012: if() recognizes numbers and boolean constants. </policy/CMP0012>
-
-Policies Introduced by CMake 2.6
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   CMP0011: Included scripts do automatic cmake_policy PUSH and POP. </policy/CMP0011>
-   CMP0010: Bad variable reference syntax is an error. </policy/CMP0010>
-   CMP0009: FILE GLOB_RECURSE calls should not follow symlinks by default. </policy/CMP0009>
-   CMP0008: Libraries linked by full-path must have a valid library file name. </policy/CMP0008>
-   CMP0007: list command no longer ignores empty elements. </policy/CMP0007>
-   CMP0006: Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION. </policy/CMP0006>
-   CMP0005: Preprocessor definition values are now escaped automatically. </policy/CMP0005>
-   CMP0004: Libraries linked may not have leading or trailing whitespace. </policy/CMP0004>
-   CMP0003: Libraries linked via full path no longer produce linker search paths. </policy/CMP0003>
-   CMP0002: Logical target names must be globally unique. </policy/CMP0002>
-   CMP0001: CMAKE_BACKWARDS_COMPATIBILITY should no longer be used. </policy/CMP0001>
-   CMP0000: A minimum required CMake version must be specified. </policy/CMP0000>
diff --git a/share/cmake-3.6/Help/manual/cmake-properties.7.rst b/share/cmake-3.6/Help/manual/cmake-properties.7.rst
deleted file mode 100644
index 3403dcd..0000000
--- a/share/cmake-3.6/Help/manual/cmake-properties.7.rst
+++ /dev/null
@@ -1,406 +0,0 @@
-.. cmake-manual-description: CMake Properties Reference
-
-cmake-properties(7)
-*******************
-
-.. only:: html
-
-   .. contents::
-
-.. _`Global Properties`:
-
-Properties of Global Scope
-==========================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS
-   /prop_gbl/AUTOGEN_TARGETS_FOLDER
-   /prop_gbl/AUTOMOC_TARGETS_FOLDER
-   /prop_gbl/CMAKE_C_KNOWN_FEATURES
-   /prop_gbl/CMAKE_CXX_KNOWN_FEATURES
-   /prop_gbl/DEBUG_CONFIGURATIONS
-   /prop_gbl/DISABLED_FEATURES
-   /prop_gbl/ENABLED_FEATURES
-   /prop_gbl/ENABLED_LANGUAGES
-   /prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS
-   /prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING
-   /prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE
-   /prop_gbl/GLOBAL_DEPENDS_NO_CYCLES
-   /prop_gbl/IN_TRY_COMPILE
-   /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/REPORT_UNDEFINED_PROPERTIES
-   /prop_gbl/RULE_LAUNCH_COMPILE
-   /prop_gbl/RULE_LAUNCH_CUSTOM
-   /prop_gbl/RULE_LAUNCH_LINK
-   /prop_gbl/RULE_MESSAGES
-   /prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
-   /prop_gbl/TARGET_MESSAGES
-   /prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
-   /prop_gbl/USE_FOLDERS
-
-.. _`Directory Properties`:
-
-Properties on Directories
-=========================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_dir/ADDITIONAL_MAKE_CLEAN_FILES
-   /prop_dir/CACHE_VARIABLES
-   /prop_dir/CLEAN_NO_CUSTOM
-   /prop_dir/CMAKE_CONFIGURE_DEPENDS
-   /prop_dir/COMPILE_DEFINITIONS
-   /prop_dir/COMPILE_OPTIONS
-   /prop_dir/DEFINITIONS
-   /prop_dir/EXCLUDE_FROM_ALL
-   /prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
-   /prop_dir/INCLUDE_DIRECTORIES
-   /prop_dir/INCLUDE_REGULAR_EXPRESSION
-   /prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG
-   /prop_dir/INTERPROCEDURAL_OPTIMIZATION
-   /prop_dir/LINK_DIRECTORIES
-   /prop_dir/LISTFILE_STACK
-   /prop_dir/MACROS
-   /prop_dir/PARENT_DIRECTORY
-   /prop_dir/RULE_LAUNCH_COMPILE
-   /prop_dir/RULE_LAUNCH_CUSTOM
-   /prop_dir/RULE_LAUNCH_LINK
-   /prop_dir/TEST_INCLUDE_FILE
-   /prop_dir/VARIABLES
-   /prop_dir/VS_GLOBAL_SECTION_POST_section
-   /prop_dir/VS_GLOBAL_SECTION_PRE_section
-   /prop_dir/VS_STARTUP_PROJECT
-
-.. _`Target Properties`:
-
-Properties on Targets
-=====================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_tgt/ALIASED_TARGET
-   /prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS
-   /prop_tgt/ANDROID_API
-   /prop_tgt/ANDROID_API_MIN
-   /prop_tgt/ANDROID_ARCH
-   /prop_tgt/ANDROID_ASSETS_DIRECTORIES
-   /prop_tgt/ANDROID_GUI
-   /prop_tgt/ANDROID_JAR_DEPENDENCIES
-   /prop_tgt/ANDROID_JAR_DIRECTORIES
-   /prop_tgt/ANDROID_JAVA_SOURCE_DIR
-   /prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES
-   /prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES
-   /prop_tgt/ANDROID_PROCESS_MAX
-   /prop_tgt/ANDROID_PROGUARD
-   /prop_tgt/ANDROID_PROGUARD_CONFIG_PATH
-   /prop_tgt/ANDROID_SECURE_PROPS_PATH
-   /prop_tgt/ANDROID_SKIP_ANT_STEP
-   /prop_tgt/ANDROID_STL_TYPE
-   /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG
-   /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY
-   /prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG
-   /prop_tgt/ARCHIVE_OUTPUT_NAME
-   /prop_tgt/AUTOGEN_TARGET_DEPENDS
-   /prop_tgt/AUTOMOC_MOC_OPTIONS
-   /prop_tgt/AUTOMOC
-   /prop_tgt/AUTOUIC
-   /prop_tgt/AUTOUIC_OPTIONS
-   /prop_tgt/AUTORCC
-   /prop_tgt/AUTORCC_OPTIONS
-   /prop_tgt/BINARY_DIR
-   /prop_tgt/BUILD_WITH_INSTALL_RPATH
-   /prop_tgt/BUNDLE_EXTENSION
-   /prop_tgt/BUNDLE
-   /prop_tgt/C_EXTENSIONS
-   /prop_tgt/C_STANDARD
-   /prop_tgt/C_STANDARD_REQUIRED
-   /prop_tgt/COMPATIBLE_INTERFACE_BOOL
-   /prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX
-   /prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN
-   /prop_tgt/COMPATIBLE_INTERFACE_STRING
-   /prop_tgt/COMPILE_DEFINITIONS
-   /prop_tgt/COMPILE_FEATURES
-   /prop_tgt/COMPILE_FLAGS
-   /prop_tgt/COMPILE_OPTIONS
-   /prop_tgt/COMPILE_PDB_NAME
-   /prop_tgt/COMPILE_PDB_NAME_CONFIG
-   /prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY
-   /prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
-   /prop_tgt/CONFIG_OUTPUT_NAME
-   /prop_tgt/CONFIG_POSTFIX
-   /prop_tgt/CROSSCOMPILING_EMULATOR
-   /prop_tgt/CXX_EXTENSIONS
-   /prop_tgt/CXX_STANDARD
-   /prop_tgt/CXX_STANDARD_REQUIRED
-   /prop_tgt/DEBUG_POSTFIX
-   /prop_tgt/DEFINE_SYMBOL
-   /prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY
-   /prop_tgt/EchoString
-   /prop_tgt/ENABLE_EXPORTS
-   /prop_tgt/EXCLUDE_FROM_ALL
-   /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG
-   /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD
-   /prop_tgt/EXPORT_NAME
-   /prop_tgt/FOLDER
-   /prop_tgt/Fortran_FORMAT
-   /prop_tgt/Fortran_MODULE_DIRECTORY
-   /prop_tgt/FRAMEWORK
-   /prop_tgt/FRAMEWORK_VERSION
-   /prop_tgt/GENERATOR_FILE_NAME
-   /prop_tgt/GNUtoMS
-   /prop_tgt/HAS_CXX
-   /prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
-   /prop_tgt/IMPORTED_CONFIGURATIONS
-   /prop_tgt/IMPORTED_IMPLIB_CONFIG
-   /prop_tgt/IMPORTED_IMPLIB
-   /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG
-   /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES
-   /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG
-   /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES
-   /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG
-   /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES
-   /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG
-   /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY
-   /prop_tgt/IMPORTED_LOCATION_CONFIG
-   /prop_tgt/IMPORTED_LOCATION
-   /prop_tgt/IMPORTED_NO_SONAME_CONFIG
-   /prop_tgt/IMPORTED_NO_SONAME
-   /prop_tgt/IMPORTED
-   /prop_tgt/IMPORTED_SONAME_CONFIG
-   /prop_tgt/IMPORTED_SONAME
-   /prop_tgt/IMPORT_PREFIX
-   /prop_tgt/IMPORT_SUFFIX
-   /prop_tgt/INCLUDE_DIRECTORIES
-   /prop_tgt/INSTALL_NAME_DIR
-   /prop_tgt/INSTALL_RPATH
-   /prop_tgt/INSTALL_RPATH_USE_LINK_PATH
-   /prop_tgt/INTERFACE_AUTOUIC_OPTIONS
-   /prop_tgt/INTERFACE_COMPILE_DEFINITIONS
-   /prop_tgt/INTERFACE_COMPILE_FEATURES
-   /prop_tgt/INTERFACE_COMPILE_OPTIONS
-   /prop_tgt/INTERFACE_INCLUDE_DIRECTORIES
-   /prop_tgt/INTERFACE_LINK_LIBRARIES
-   /prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE
-   /prop_tgt/INTERFACE_SOURCES
-   /prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
-   /prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG
-   /prop_tgt/INTERPROCEDURAL_OPTIMIZATION
-   /prop_tgt/IOS_INSTALL_COMBINED
-   /prop_tgt/JOB_POOL_COMPILE
-   /prop_tgt/JOB_POOL_LINK
-   /prop_tgt/LABELS
-   /prop_tgt/LANG_CLANG_TIDY
-   /prop_tgt/LANG_COMPILER_LAUNCHER
-   /prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
-   /prop_tgt/LANG_VISIBILITY_PRESET
-   /prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG
-   /prop_tgt/LIBRARY_OUTPUT_DIRECTORY
-   /prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG
-   /prop_tgt/LIBRARY_OUTPUT_NAME
-   /prop_tgt/LINK_DEPENDS_NO_SHARED
-   /prop_tgt/LINK_DEPENDS
-   /prop_tgt/LINKER_LANGUAGE
-   /prop_tgt/LINK_FLAGS_CONFIG
-   /prop_tgt/LINK_FLAGS
-   /prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG
-   /prop_tgt/LINK_INTERFACE_LIBRARIES
-   /prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG
-   /prop_tgt/LINK_INTERFACE_MULTIPLICITY
-   /prop_tgt/LINK_LIBRARIES
-   /prop_tgt/LINK_SEARCH_END_STATIC
-   /prop_tgt/LINK_SEARCH_START_STATIC
-   /prop_tgt/LOCATION_CONFIG
-   /prop_tgt/LOCATION
-   /prop_tgt/MACOSX_BUNDLE_INFO_PLIST
-   /prop_tgt/MACOSX_BUNDLE
-   /prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST
-   /prop_tgt/MACOSX_RPATH
-   /prop_tgt/MAP_IMPORTED_CONFIG_CONFIG
-   /prop_tgt/NAME
-   /prop_tgt/NO_SONAME
-   /prop_tgt/NO_SYSTEM_FROM_IMPORTED
-   /prop_tgt/OSX_ARCHITECTURES_CONFIG
-   /prop_tgt/OSX_ARCHITECTURES
-   /prop_tgt/OUTPUT_NAME_CONFIG
-   /prop_tgt/OUTPUT_NAME
-   /prop_tgt/PDB_NAME_CONFIG
-   /prop_tgt/PDB_NAME
-   /prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG
-   /prop_tgt/PDB_OUTPUT_DIRECTORY
-   /prop_tgt/POSITION_INDEPENDENT_CODE
-   /prop_tgt/PREFIX
-   /prop_tgt/PRIVATE_HEADER
-   /prop_tgt/PROJECT_LABEL
-   /prop_tgt/PUBLIC_HEADER
-   /prop_tgt/RESOURCE
-   /prop_tgt/RULE_LAUNCH_COMPILE
-   /prop_tgt/RULE_LAUNCH_CUSTOM
-   /prop_tgt/RULE_LAUNCH_LINK
-   /prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG
-   /prop_tgt/RUNTIME_OUTPUT_DIRECTORY
-   /prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG
-   /prop_tgt/RUNTIME_OUTPUT_NAME
-   /prop_tgt/SKIP_BUILD_RPATH
-   /prop_tgt/SOURCE_DIR
-   /prop_tgt/SOURCES
-   /prop_tgt/SOVERSION
-   /prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG
-   /prop_tgt/STATIC_LIBRARY_FLAGS
-   /prop_tgt/SUFFIX
-   /prop_tgt/TYPE
-   /prop_tgt/VERSION
-   /prop_tgt/VISIBILITY_INLINES_HIDDEN
-   /prop_tgt/VS_CONFIGURATION_TYPE
-   /prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION
-   /prop_tgt/VS_DOTNET_REFERENCES
-   /prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
-   /prop_tgt/VS_GLOBAL_KEYWORD
-   /prop_tgt/VS_GLOBAL_PROJECT_TYPES
-   /prop_tgt/VS_GLOBAL_ROOTNAMESPACE
-   /prop_tgt/VS_GLOBAL_variable
-   /prop_tgt/VS_IOT_EXTENSIONS_VERSION
-   /prop_tgt/VS_IOT_STARTUP_TASK
-   /prop_tgt/VS_KEYWORD
-   /prop_tgt/VS_MOBILE_EXTENSIONS_VERSION
-   /prop_tgt/VS_SCC_AUXPATH
-   /prop_tgt/VS_SCC_LOCALPATH
-   /prop_tgt/VS_SCC_PROJECTNAME
-   /prop_tgt/VS_SCC_PROVIDER
-   /prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
-   /prop_tgt/VS_WINRT_COMPONENT
-   /prop_tgt/VS_WINRT_EXTENSIONS
-   /prop_tgt/VS_WINRT_REFERENCES
-   /prop_tgt/WIN32_EXECUTABLE
-   /prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS
-   /prop_tgt/XCODE_ATTRIBUTE_an-attribute
-   /prop_tgt/XCTEST
-
-.. _`Test Properties`:
-
-Properties on Tests
-===================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_test/ATTACHED_FILES_ON_FAIL
-   /prop_test/ATTACHED_FILES
-   /prop_test/COST
-   /prop_test/DEPENDS
-   /prop_test/ENVIRONMENT
-   /prop_test/FAIL_REGULAR_EXPRESSION
-   /prop_test/LABELS
-   /prop_test/MEASUREMENT
-   /prop_test/PASS_REGULAR_EXPRESSION
-   /prop_test/PROCESSORS
-   /prop_test/REQUIRED_FILES
-   /prop_test/RESOURCE_LOCK
-   /prop_test/RUN_SERIAL
-   /prop_test/SKIP_RETURN_CODE
-   /prop_test/TIMEOUT
-   /prop_test/TIMEOUT_AFTER_MATCH
-   /prop_test/WILL_FAIL
-   /prop_test/WORKING_DIRECTORY
-
-.. _`Source File Properties`:
-
-Properties on Source Files
-==========================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_sf/ABSTRACT
-   /prop_sf/AUTOUIC_OPTIONS
-   /prop_sf/AUTORCC_OPTIONS
-   /prop_sf/COMPILE_DEFINITIONS
-   /prop_sf/COMPILE_FLAGS
-   /prop_sf/EXTERNAL_OBJECT
-   /prop_sf/Fortran_FORMAT
-   /prop_sf/GENERATED
-   /prop_sf/HEADER_FILE_ONLY
-   /prop_sf/KEEP_EXTENSION
-   /prop_sf/LABELS
-   /prop_sf/LANGUAGE
-   /prop_sf/LOCATION
-   /prop_sf/MACOSX_PACKAGE_LOCATION
-   /prop_sf/OBJECT_DEPENDS
-   /prop_sf/OBJECT_OUTPUTS
-   /prop_sf/SYMBOLIC
-   /prop_sf/VS_DEPLOYMENT_CONTENT
-   /prop_sf/VS_DEPLOYMENT_LOCATION
-   /prop_sf/VS_SHADER_ENTRYPOINT
-   /prop_sf/VS_SHADER_FLAGS
-   /prop_sf/VS_SHADER_MODEL
-   /prop_sf/VS_SHADER_TYPE
-   /prop_sf/VS_XAML_TYPE
-   /prop_sf/WRAP_EXCLUDE
-   /prop_sf/XCODE_EXPLICIT_FILE_TYPE
-   /prop_sf/XCODE_LAST_KNOWN_FILE_TYPE
-
-.. _`Cache Entry Properties`:
-
-Properties on Cache Entries
-===========================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_cache/ADVANCED
-   /prop_cache/HELPSTRING
-   /prop_cache/MODIFIED
-   /prop_cache/STRINGS
-   /prop_cache/TYPE
-   /prop_cache/VALUE
-
-.. _`Installed File Properties`:
-
-Properties on Installed Files
-=============================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
-   /prop_inst/CPACK_NEVER_OVERWRITE.rst
-   /prop_inst/CPACK_PERMANENT.rst
-   /prop_inst/CPACK_START_MENU_SHORTCUTS.rst
-   /prop_inst/CPACK_STARTUP_SHORTCUTS.rst
-   /prop_inst/CPACK_WIX_ACL.rst
-
-
-Deprecated Properties on Directories
-====================================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_dir/COMPILE_DEFINITIONS_CONFIG
-
-
-Deprecated Properties on Targets
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_tgt/COMPILE_DEFINITIONS_CONFIG
-   /prop_tgt/POST_INSTALL_SCRIPT
-   /prop_tgt/PRE_INSTALL_SCRIPT
-
-
-Deprecated Properties on Source Files
-=====================================
-
-.. toctree::
-   :maxdepth: 1
-
-   /prop_sf/COMPILE_DEFINITIONS_CONFIG
diff --git a/share/cmake-3.6/Help/manual/cmake-qt.7.rst b/share/cmake-3.6/Help/manual/cmake-qt.7.rst
deleted file mode 100644
index e8a2c1e..0000000
--- a/share/cmake-3.6/Help/manual/cmake-qt.7.rst
+++ /dev/null
@@ -1,187 +0,0 @@
-.. cmake-manual-description: CMake Qt Features Reference
-
-cmake-qt(7)
-***********
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-CMake can find and use Qt 4 and Qt 5 libraries.  The Qt 4 libraries are found
-by the :module:`FindQt4` find-module shipped with CMake, whereas the
-Qt 5 libraries are found using "Config-file Packages" shipped with Qt 5. See
-:manual:`cmake-packages(7)` for more information about CMake packages, and
-see `the Qt cmake manual <http://qt-project.org/doc/qt-5/cmake-manual.html>`_
-for your Qt version.
-
-Qt 4 and Qt 5 may be used together in the same
-:manual:`CMake buildsystem <cmake-buildsystem(7)>`:
-
-.. code-block:: cmake
-
-  cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
-
-  project(Qt4And5)
-
-  set(CMAKE_AUTOMOC ON)
-  set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-  find_package(Qt5Widgets REQUIRED)
-  add_executable(publisher publisher.cpp)
-  target_link_libraries(publisher Qt5::Widgets Qt5::DBus)
-
-  find_package(Qt4 REQUIRED)
-  add_executable(subscriber subscriber.cpp)
-  target_link_libraries(subscriber Qt4::QtGui Qt4::QtDBus)
-
-A CMake target may not link to both Qt 4 and Qt 5.  A diagnostic is issued if
-this is attempted or results from transitive target dependency evaluation.
-
-Qt Build Tools
-==============
-
-Qt relies on some bundled tools for code generation, such as ``moc`` for
-meta-object code generation, ``uic`` for widget layout and population,
-and ``rcc`` for virtual filesystem content generation.  These tools may be
-automatically invoked by :manual:`cmake(1)` if the appropriate conditions
-are met.  The automatic tool invocation may be used with both Qt 4 and Qt 5.
-
-The tools are executed as part of a synthesized custom target generated by
-CMake.  Target dependencies may be added to that custom target by adding them
-to the :prop_tgt:`AUTOGEN_TARGET_DEPENDS` target property.
-
-AUTOMOC
-^^^^^^^
-
-The :prop_tgt:`AUTOMOC` target property controls whether :manual:`cmake(1)`
-inspects the C++ files in the target to determine if they require ``moc`` to
-be run, and to create rules to execute ``moc`` at the appropriate time.
-
-If a ``Q_OBJECT`` or ``Q_GADGET`` macro is found in a header file, ``moc``
-will be run on the file.  The result will be put into a file named according
-to ``moc_<basename>.cpp``.  If the macro is found in a C++ implementation
-file, the moc output will be put into a file named according to
-``<basename>.moc``, following the Qt conventions.  The ``moc file`` may be
-included by the user in the C++ implementation file with a preprocessor
-``#include``.  If it is not so included, it will be added to a separate file
-which is compiled into the target.
-
-The ``moc`` command line will consume the :prop_tgt:`COMPILE_DEFINITIONS` and
-:prop_tgt:`INCLUDE_DIRECTORIES` target properties from the target it is being
-invoked for, and for the appropriate build configuration.
-
-Generated ``moc_*.cpp`` and ``*.moc`` files are placed in the build directory
-so it is convenient to set the :variable:`CMAKE_INCLUDE_CURRENT_DIR`
-variable.  The :prop_tgt:`AUTOMOC` target property may be pre-set for all
-following targets by setting the :variable:`CMAKE_AUTOMOC` variable.  The
-:prop_tgt:`AUTOMOC_MOC_OPTIONS` target property may be populated to set
-options to pass to ``moc``. The :variable:`CMAKE_AUTOMOC_MOC_OPTIONS`
-variable may be populated to pre-set the options for all following targets.
-
-.. _`Qt AUTOUIC`:
-
-AUTOUIC
-^^^^^^^
-
-The :prop_tgt:`AUTOUIC` target property controls whether :manual:`cmake(1)`
-inspects the C++ files in the target to determine if they require ``uic`` to
-be run, and to create rules to execute ``uic`` at the appropriate time.
-
-If a preprocessor ``#include`` directive is found which matches
-``ui_<basename>.h``, and a ``<basename>.ui`` file exists, then ``uic`` will
-be executed to generate the appropriate file.
-
-Generated ``ui_*.h`` files are placed in the build directory so it is
-convenient to set the :variable:`CMAKE_INCLUDE_CURRENT_DIR` variable.  The
-:prop_tgt:`AUTOUIC` target property may be pre-set for all following targets
-by setting the :variable:`CMAKE_AUTOUIC` variable.  The
-:prop_tgt:`AUTOUIC_OPTIONS` target property may be populated to set options
-to pass to ``uic``.  The :variable:`CMAKE_AUTOUIC_OPTIONS` variable may be
-populated to pre-set the options for all following targets.  The
-:prop_sf:`AUTOUIC_OPTIONS` source file property may be set on the
-``<basename>.ui`` file to set particular options for the file.  This
-overrides options from the :prop_tgt:`AUTOUIC_OPTIONS` target property.
-
-A target may populate the :prop_tgt:`INTERFACE_AUTOUIC_OPTIONS` target
-property with options that should be used when invoking ``uic``.  This must be
-consistent with the :prop_tgt:`AUTOUIC_OPTIONS` target property content of the
-depender target.  The :variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable may
-be used to track the origin target of such
-:prop_tgt:`INTERFACE_AUTOUIC_OPTIONS`.  This means that a library which
-provides an alternative translation system for Qt may specify options which
-should be used when running ``uic``:
-
-.. code-block:: cmake
-
-  add_library(KI18n klocalizedstring.cpp)
-  target_link_libraries(KI18n Qt5::Core)
-
-  # KI18n uses the tr2i18n() function instead of tr().  That function is
-  # declared in the klocalizedstring.h header.
-  set(autouic_options
-    -tr tr2i18n
-    -include klocalizedstring.h
-  )
-
-  set_property(TARGET KI18n APPEND PROPERTY
-    INTERFACE_AUTOUIC_OPTIONS ${autouic_options}
-  )
-
-A consuming project linking to the target exported from upstream automatically
-uses appropriate options when ``uic`` is run by :prop_tgt:`AUTOUIC`, as a
-result of linking with the :prop_tgt:`IMPORTED` target:
-
-.. code-block:: cmake
-
-  set(CMAKE_AUTOUIC ON)
-  # Uses a libwidget.ui file:
-  add_library(LibWidget libwidget.cpp)
-  target_link_libraries(LibWidget
-    KF5::KI18n
-    Qt5::Widgets
-  )
-
-.. _`Qt AUTORCC`:
-
-AUTORCC
-^^^^^^^
-
-The :prop_tgt:`AUTORCC` target property controls whether :manual:`cmake(1)`
-creates rules to execute ``rcc`` at the appropriate time on source files
-which have the suffix ``.qrc``.
-
-.. code-block:: cmake
-
-  add_executable(myexe main.cpp resource_file.qrc)
-
-The :prop_tgt:`AUTORCC` target property may be pre-set for all following targets
-by setting the :variable:`CMAKE_AUTORCC` variable.  The
-:prop_tgt:`AUTORCC_OPTIONS` target property may be populated to set options
-to pass to ``rcc``.  The :variable:`CMAKE_AUTORCC_OPTIONS` variable may be
-populated to pre-set the options for all following targets.  The
-:prop_sf:`AUTORCC_OPTIONS` source file property may be set on the
-``<name>.qrc`` file to set particular options for the file.  This
-overrides options from the :prop_tgt:`AUTORCC_OPTIONS` target property.
-
-qtmain.lib on Windows
-=====================
-
-The Qt 4 and 5 :prop_tgt:`IMPORTED` targets for the QtGui libraries specify
-that the qtmain.lib static library shipped with Qt will be linked by all
-dependent executables which have the :prop_tgt:`WIN32_EXECUTABLE` enabled.
-
-To disable this behavior, enable the ``Qt5_NO_LINK_QTMAIN`` target property for
-Qt 5 based targets or ``QT4_NO_LINK_QTMAIN`` target property for Qt 4 based
-targets.
-
-.. code-block:: cmake
-
-  add_executable(myexe WIN32 main.cpp)
-  target_link_libraries(myexe Qt4::QtGui)
-
-  add_executable(myexe_no_qtmain WIN32 main_no_qtmain.cpp)
-  set_property(TARGET main_no_qtmain PROPERTY QT4_NO_LINK_QTMAIN ON)
-  target_link_libraries(main_no_qtmain Qt4::QtGui)
diff --git a/share/cmake-3.6/Help/manual/cmake-toolchains.7.rst b/share/cmake-3.6/Help/manual/cmake-toolchains.7.rst
deleted file mode 100644
index 390220c..0000000
--- a/share/cmake-3.6/Help/manual/cmake-toolchains.7.rst
+++ /dev/null
@@ -1,325 +0,0 @@
-.. cmake-manual-description: CMake Toolchains Reference
-
-cmake-toolchains(7)
-*******************
-
-.. only:: html
-
-   .. contents::
-
-Introduction
-============
-
-CMake uses a toolchain of utilities to compile, link libraries and create
-archives, and other tasks to drive the build. The toolchain utilities available
-are determined by the languages enabled. In normal builds, CMake automatically
-determines the toolchain for host builds based on system introspection and
-defaults. In cross-compiling scenarios, a toolchain file may be specified
-with information about compiler and utility paths.
-
-Languages
-=========
-
-Languages are enabled by the :command:`project` command.  Language-specific
-built-in variables, such as
-:variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>`,
-:variable:`CMAKE_CXX_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` etc are set by
-invoking the :command:`project` command.  If no project command
-is in the top-level CMakeLists file, one will be implicitly generated. By default
-the enabled languages are C and CXX:
-
-.. code-block:: cmake
-
-  project(C_Only C)
-
-A special value of NONE can also be used with the :command:`project` command
-to enable no languages:
-
-.. code-block:: cmake
-
-  project(MyProject NONE)
-
-The :command:`enable_language` command can be used to enable languages after the
-:command:`project` command:
-
-.. code-block:: cmake
-
-  enable_language(CXX)
-
-When a language is enabled, CMake finds a compiler for that language, and
-determines some information, such as the vendor and version of the compiler,
-the target architecture and bitwidth, the location of corresponding utilities
-etc.
-
-The :prop_gbl:`ENABLED_LANGUAGES` global property contains the languages which
-are currently enabled.
-
-Variables and Properties
-========================
-
-Several variables relate to the language components of a toolchain which are
-enabled. :variable:`CMAKE_<LANG>_COMPILER` is the full path to the compiler used
-for ``<LANG>``. :variable:`CMAKE_<LANG>_COMPILER_ID` is the identifier used
-by CMake for the compiler and :variable:`CMAKE_<LANG>_COMPILER_VERSION` is the
-version of the compiler.
-
-The :variable:`CMAKE_<LANG>_FLAGS` variables and the configuration-specific
-equivalents contain flags that will be added to the compile command when
-compiling a file of a particular language.
-
-As the linker is invoked by the compiler driver, CMake needs a way to determine
-which compiler to use to invoke the linker. This is calculated by the
-:prop_sf:`LANGUAGE` of source files in the target, and in the case of static
-libraries, the language of the dependent libraries. The choice CMake makes may
-be overridden with the :prop_tgt:`LINKER_LANGUAGE` target property.
-
-Toolchain Features
-==================
-
-CMake provides the :command:`try_compile` command and wrapper macros such as
-:module:`CheckCXXSourceCompiles`, :module:`CheckCXXSymbolExists` and
-:module:`CheckIncludeFile` to test capability and availability of various
-toolchain features. These APIs test the toolchain in some way and cache the
-result so that the test does not have to be performed again the next time
-CMake runs.
-
-Some toolchain features have built-in handling in CMake, and do not require
-compile-tests. For example, :prop_tgt:`POSITION_INDEPENDENT_CODE` allows
-specifying that a target should be built as position-independent code, if
-the compiler supports that feature. The :prop_tgt:`<LANG>_VISIBILITY_PRESET`
-and :prop_tgt:`VISIBILITY_INLINES_HIDDEN` target properties add flags for
-hidden visibility, if supported by the compiler.
-
-.. _`Cross Compiling Toolchain`:
-
-Cross Compiling
-===============
-
-If :manual:`cmake(1)` is invoked with the command line parameter
-``-DCMAKE_TOOLCHAIN_FILE=path/to/file``, the file will be loaded early to set
-values for the compilers.
-The :variable:`CMAKE_CROSSCOMPILING` variable is set to true when CMake is
-cross-compiling.
-
-Cross Compiling for Linux
--------------------------
-
-A typical cross-compiling toolchain for Linux has content such
-as:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME Linux)
-  set(CMAKE_SYSTEM_PROCESSOR arm)
-
-  set(CMAKE_SYSROOT /home/devel/rasp-pi-rootfs)
-  set(CMAKE_STAGING_PREFIX /home/devel/stage)
-
-  set(tools /home/devel/gcc-4.7-linaro-rpi-gnueabihf)
-  set(CMAKE_C_COMPILER ${tools}/bin/arm-linux-gnueabihf-gcc)
-  set(CMAKE_CXX_COMPILER ${tools}/bin/arm-linux-gnueabihf-g++)
-
-  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-  set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
-
-The :variable:`CMAKE_SYSTEM_NAME` is the CMake-identifier of the target platform
-to build for.
-
-The :variable:`CMAKE_SYSTEM_PROCESSOR` is the CMake-identifier of the target architecture
-to build for.
-
-The :variable:`CMAKE_SYSROOT` is optional, and may be specified if a sysroot
-is available.
-
-The :variable:`CMAKE_STAGING_PREFIX` is also optional. It may be used to specify
-a path on the host to install to. The :variable:`CMAKE_INSTALL_PREFIX` is always
-the runtime installation location, even when cross-compiling.
-
-The :variable:`CMAKE_<LANG>_COMPILER` variables may be set to full paths, or to
-names of compilers to search for in standard locations.   For toolchains that
-do not support linking binaries without custom flags or scripts one may set
-the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable to ``STATIC_LIBRARY``
-to tell CMake not to try to link executables during its checks.
-
-CMake ``find_*`` commands will look in the sysroot, and the :variable:`CMAKE_FIND_ROOT_PATH`
-entries by default in all cases, as well as looking in the host system root prefix.
-Although this can be controlled on a case-by-case basis, when cross-compiling, it
-can be useful to exclude looking in either the host or the target for particular
-artifacts. Generally, includes, libraries and packages should be found in the
-target system prefixes, whereas executables which must be run as part of the build
-should be found only on the host and not on the target. This is the purpose of
-the ``CMAKE_FIND_ROOT_PATH_MODE_*`` variables.
-
-.. _`Cray Cross-Compile`:
-
-Cross Compiling for the Cray Linux Environment
-----------------------------------------------
-
-Cross compiling for compute nodes in the Cray Linux Environment can be done
-without needing a separate toolchain file.  Specifying
-``-DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment`` on the CMake command line will
-ensure that the appropriate build settings and search paths are configured.
-The platform will pull its configuration from the current environment
-variables and will configure a project to use the compiler wrappers from the
-Cray Programming Environment's ``PrgEnv-*`` modules if present and loaded.
-
-The default configuration of the Cray Programming Environment is to only
-support static libraries.  This can be overridden and shared libraries
-enabled by setting the ``CRAYPE_LINK_TYPE`` environment variable to
-``dynamic``.
-
-Running CMake without specifying :variable:`CMAKE_SYSTEM_NAME` will
-run the configure step in host mode assuming a standard Linux environment.
-If not overridden, the ``PrgEnv-*`` compiler wrappers will end up getting used,
-which if targeting the either the login node or compute node, is likely not the
-desired behavior.  The exception to this would be if you are building directly
-on a NID instead of cross-compiling from a login node. If trying to build
-software for a login node, you will need to either first unload the
-currently loaded ``PrgEnv-*`` module or explicitly tell CMake to use the
-system compilers in ``/usr/bin`` instead of the Cray wrappers.  If instead
-targeting a compute node is desired, just specify the
-:variable:`CMAKE_SYSTEM_NAME` as mentioned above.
-
-Cross Compiling using Clang
----------------------------
-
-Some compilers such as Clang are inherently cross compilers.
-The :variable:`CMAKE_<LANG>_COMPILER_TARGET` can be set to pass a
-value to those supported compilers when compiling:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME Linux)
-  set(CMAKE_SYSTEM_PROCESSOR arm)
-
-  set(triple arm-linux-gnueabihf)
-
-  set(CMAKE_C_COMPILER clang)
-  set(CMAKE_C_COMPILER_TARGET ${triple})
-  set(CMAKE_CXX_COMPILER clang++)
-  set(CMAKE_CXX_COMPILER_TARGET ${triple})
-
-Similarly, some compilers do not ship their own supplementary utilities
-such as linkers, but provide a way to specify the location of the external
-toolchain which will be used by the compiler driver. The
-:variable:`CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN` variable can be set in a
-toolchain file to pass the path to the compiler driver.
-
-Cross Compiling for QNX
------------------------
-
-As the Clang compiler the QNX QCC compile is inherently a cross compiler.
-And the :variable:`CMAKE_<LANG>_COMPILER_TARGET` can be set to pass a
-value to those supported compilers when compiling:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME QNX)
-
-  set(arch gcc_ntoarmv7le)
-
-  set(CMAKE_C_COMPILER qcc)
-  set(CMAKE_C_COMPILER_TARGET ${arch})
-  set(CMAKE_CXX_COMPILER QCC)
-  set(CMAKE_CXX_COMPILER_TARGET ${arch})
-
-Cross Compiling for Windows CE
-------------------------------
-
-Cross compiling for Windows CE requires the corresponding SDK being
-installed on your system.  These SDKs are usually installed under
-``C:/Program Files (x86)/Windows CE Tools/SDKs``.
-
-A toolchain file to configure a Visual Studio generator for
-Windows CE may look like this:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME WindowsCE)
-
-  set(CMAKE_SYSTEM_VERSION 8.0)
-  set(CMAKE_SYSTEM_PROCESSOR arm)
-
-  set(CMAKE_GENERATOR_TOOLSET CE800) # Can be omitted for 8.0
-  set(CMAKE_GENERATOR_PLATFORM SDK_AM335X_SK_WEC2013_V310)
-
-The :variable:`CMAKE_GENERATOR_PLATFORM` tells the generator which SDK to use.
-Further :variable:`CMAKE_SYSTEM_VERSION` tells the generator what version of
-Windows CE to use.  Currently version 8.0 (Windows Embedded Compact 2013) is
-supported out of the box.  Other versions may require one to set
-:variable:`CMAKE_GENERATOR_TOOLSET` to the correct value.
-
-Cross Compiling for Windows 10 Universal Applications
------------------------------------------------------
-
-A toolchain file to configure a Visual Studio generator for a
-Windows 10 Universal Application may look like this:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME WindowsStore)
-  set(CMAKE_SYSTEM_VERSION 10.0)
-
-A Windows 10 Universal Application targets both Windows Store and
-Windows Phone.  Specify the :variable:`CMAKE_SYSTEM_VERSION` variable
-to be ``10.0`` to build with the latest available Windows 10 SDK.
-Specify a more specific version (e.g. ``10.0.10240.0`` for RTM)
-to build with the corresponding SDK.
-
-Cross Compiling for Windows Phone
----------------------------------
-
-A toolchain file to configure a Visual Studio generator for
-Windows Phone may look like this:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME WindowsPhone)
-  set(CMAKE_SYSTEM_VERSION 8.1)
-
-Cross Compiling for Windows Store
----------------------------------
-
-A toolchain file to configure a Visual Studio generator for
-Windows Store may look like this:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME WindowsStore)
-  set(CMAKE_SYSTEM_VERSION 8.1)
-
-Cross Compiling using NVIDIA Nsight Tegra
------------------------------------------
-
-A toolchain file to configure a Visual Studio generator to
-build using NVIDIA Nsight Tegra targeting Android may look
-like this:
-
-.. code-block:: cmake
-
-  set(CMAKE_SYSTEM_NAME Android)
-
-The :variable:`CMAKE_GENERATOR_TOOLSET` may be set to select
-the Nsight Tegra "Toolchain Version" value.
-
-See also target properties:
-
-* :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS`
-* :prop_tgt:`ANDROID_API_MIN`
-* :prop_tgt:`ANDROID_API`
-* :prop_tgt:`ANDROID_ARCH`
-* :prop_tgt:`ANDROID_ASSETS_DIRECTORIES`
-* :prop_tgt:`ANDROID_GUI`
-* :prop_tgt:`ANDROID_JAR_DEPENDENCIES`
-* :prop_tgt:`ANDROID_JAR_DIRECTORIES`
-* :prop_tgt:`ANDROID_JAVA_SOURCE_DIR`
-* :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES`
-* :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES`
-* :prop_tgt:`ANDROID_PROCESS_MAX`
-* :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH`
-* :prop_tgt:`ANDROID_PROGUARD`
-* :prop_tgt:`ANDROID_SECURE_PROPS_PATH`
-* :prop_tgt:`ANDROID_SKIP_ANT_STEP`
-* :prop_tgt:`ANDROID_STL_TYPE`
diff --git a/share/cmake-3.6/Help/manual/cmake-variables.7.rst b/share/cmake-3.6/Help/manual/cmake-variables.7.rst
deleted file mode 100644
index 85b8eae..0000000
--- a/share/cmake-3.6/Help/manual/cmake-variables.7.rst
+++ /dev/null
@@ -1,461 +0,0 @@
-.. cmake-manual-description: CMake Variables Reference
-
-cmake-variables(7)
-******************
-
-.. only:: html
-
-   .. contents::
-
-Variables that Provide Information
-==================================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/CMAKE_ARGC
-   /variable/CMAKE_ARGV0
-   /variable/CMAKE_AR
-   /variable/CMAKE_BINARY_DIR
-   /variable/CMAKE_BUILD_TOOL
-   /variable/CMAKE_CACHEFILE_DIR
-   /variable/CMAKE_CACHE_MAJOR_VERSION
-   /variable/CMAKE_CACHE_MINOR_VERSION
-   /variable/CMAKE_CACHE_PATCH_VERSION
-   /variable/CMAKE_CFG_INTDIR
-   /variable/CMAKE_COMMAND
-   /variable/CMAKE_CROSSCOMPILING
-   /variable/CMAKE_CROSSCOMPILING_EMULATOR
-   /variable/CMAKE_CTEST_COMMAND
-   /variable/CMAKE_CURRENT_BINARY_DIR
-   /variable/CMAKE_CURRENT_LIST_DIR
-   /variable/CMAKE_CURRENT_LIST_FILE
-   /variable/CMAKE_CURRENT_LIST_LINE
-   /variable/CMAKE_CURRENT_SOURCE_DIR
-   /variable/CMAKE_DL_LIBS
-   /variable/CMAKE_EDIT_COMMAND
-   /variable/CMAKE_EXECUTABLE_SUFFIX
-   /variable/CMAKE_EXTRA_GENERATOR
-   /variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
-   /variable/CMAKE_FIND_PACKAGE_NAME
-   /variable/CMAKE_GENERATOR
-   /variable/CMAKE_GENERATOR_PLATFORM
-   /variable/CMAKE_GENERATOR_TOOLSET
-   /variable/CMAKE_HOME_DIRECTORY
-   /variable/CMAKE_IMPORT_LIBRARY_PREFIX
-   /variable/CMAKE_IMPORT_LIBRARY_SUFFIX
-   /variable/CMAKE_JOB_POOL_COMPILE
-   /variable/CMAKE_JOB_POOL_LINK
-   /variable/CMAKE_LINK_LIBRARY_SUFFIX
-   /variable/CMAKE_LINK_SEARCH_END_STATIC
-   /variable/CMAKE_LINK_SEARCH_START_STATIC
-   /variable/CMAKE_MAJOR_VERSION
-   /variable/CMAKE_MAKE_PROGRAM
-   /variable/CMAKE_MATCH_COUNT
-   /variable/CMAKE_MINIMUM_REQUIRED_VERSION
-   /variable/CMAKE_MINOR_VERSION
-   /variable/CMAKE_PARENT_LIST_FILE
-   /variable/CMAKE_PATCH_VERSION
-   /variable/CMAKE_PROJECT_NAME
-   /variable/CMAKE_RANLIB
-   /variable/CMAKE_ROOT
-   /variable/CMAKE_SCRIPT_MODE_FILE
-   /variable/CMAKE_SHARED_LIBRARY_PREFIX
-   /variable/CMAKE_SHARED_LIBRARY_SUFFIX
-   /variable/CMAKE_SHARED_MODULE_PREFIX
-   /variable/CMAKE_SHARED_MODULE_SUFFIX
-   /variable/CMAKE_SIZEOF_VOID_P
-   /variable/CMAKE_SKIP_INSTALL_RULES
-   /variable/CMAKE_SKIP_RPATH
-   /variable/CMAKE_SOURCE_DIR
-   /variable/CMAKE_STATIC_LIBRARY_PREFIX
-   /variable/CMAKE_STATIC_LIBRARY_SUFFIX
-   /variable/CMAKE_TOOLCHAIN_FILE
-   /variable/CMAKE_TWEAK_VERSION
-   /variable/CMAKE_VERBOSE_MAKEFILE
-   /variable/CMAKE_VERSION
-   /variable/CMAKE_VS_DEVENV_COMMAND
-   /variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
-   /variable/CMAKE_VS_MSBUILD_COMMAND
-   /variable/CMAKE_VS_NsightTegra_VERSION
-   /variable/CMAKE_VS_PLATFORM_NAME
-   /variable/CMAKE_VS_PLATFORM_TOOLSET
-   /variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
-   /variable/CMAKE_XCODE_PLATFORM_TOOLSET
-   /variable/PROJECT_BINARY_DIR
-   /variable/PROJECT-NAME_BINARY_DIR
-   /variable/PROJECT_NAME
-   /variable/PROJECT-NAME_SOURCE_DIR
-   /variable/PROJECT-NAME_VERSION
-   /variable/PROJECT-NAME_VERSION_MAJOR
-   /variable/PROJECT-NAME_VERSION_MINOR
-   /variable/PROJECT-NAME_VERSION_PATCH
-   /variable/PROJECT-NAME_VERSION_TWEAK
-   /variable/PROJECT_SOURCE_DIR
-   /variable/PROJECT_VERSION
-   /variable/PROJECT_VERSION_MAJOR
-   /variable/PROJECT_VERSION_MINOR
-   /variable/PROJECT_VERSION_PATCH
-   /variable/PROJECT_VERSION_TWEAK
-
-Variables that Change Behavior
-==============================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/BUILD_SHARED_LIBS
-   /variable/CMAKE_ABSOLUTE_DESTINATION_FILES
-   /variable/CMAKE_APPBUNDLE_PATH
-   /variable/CMAKE_AUTOMOC_RELAXED_MODE
-   /variable/CMAKE_BACKWARDS_COMPATIBILITY
-   /variable/CMAKE_BUILD_TYPE
-   /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
-   /variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
-   /variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS
-   /variable/CMAKE_ECLIPSE_VERSION
-   /variable/CMAKE_ERROR_DEPRECATED
-   /variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
-   /variable/CMAKE_EXPORT_COMPILE_COMMANDS
-   /variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY
-   /variable/CMAKE_SYSROOT
-   /variable/CMAKE_FIND_APPBUNDLE
-   /variable/CMAKE_FIND_FRAMEWORK
-   /variable/CMAKE_FIND_LIBRARY_PREFIXES
-   /variable/CMAKE_FIND_LIBRARY_SUFFIXES
-   /variable/CMAKE_FIND_NO_INSTALL_PREFIX
-   /variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
-   /variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
-   /variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE
-   /variable/CMAKE_FIND_ROOT_PATH
-   /variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
-   /variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
-   /variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
-   /variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
-   /variable/CMAKE_FRAMEWORK_PATH
-   /variable/CMAKE_IGNORE_PATH
-   /variable/CMAKE_INCLUDE_PATH
-   /variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE
-   /variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
-   /variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
-   /variable/CMAKE_INSTALL_MESSAGE
-   /variable/CMAKE_INSTALL_PREFIX
-   /variable/CMAKE_LIBRARY_PATH
-   /variable/CMAKE_MFC_FLAG
-   /variable/CMAKE_MODULE_PATH
-   /variable/CMAKE_NOT_USING_CONFIG_FLAGS
-   /variable/CMAKE_POLICY_DEFAULT_CMPNNNN
-   /variable/CMAKE_POLICY_WARNING_CMPNNNN
-   /variable/CMAKE_PREFIX_PATH
-   /variable/CMAKE_PROGRAM_PATH
-   /variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
-   /variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
-   /variable/CMAKE_STAGING_PREFIX
-   /variable/CMAKE_SYSTEM_APPBUNDLE_PATH
-   /variable/CMAKE_SYSTEM_FRAMEWORK_PATH
-   /variable/CMAKE_SYSTEM_IGNORE_PATH
-   /variable/CMAKE_SYSTEM_INCLUDE_PATH
-   /variable/CMAKE_SYSTEM_LIBRARY_PATH
-   /variable/CMAKE_SYSTEM_PREFIX_PATH
-   /variable/CMAKE_SYSTEM_PROGRAM_PATH
-   /variable/CMAKE_USER_MAKE_RULES_OVERRIDE
-   /variable/CMAKE_WARN_DEPRECATED
-   /variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
-
-Variables that Describe the System
-==================================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/APPLE
-   /variable/BORLAND
-   /variable/CMAKE_CL_64
-   /variable/CMAKE_COMPILER_2005
-   /variable/CMAKE_HOST_APPLE
-   /variable/CMAKE_HOST_SOLARIS
-   /variable/CMAKE_HOST_SYSTEM_NAME
-   /variable/CMAKE_HOST_SYSTEM_PROCESSOR
-   /variable/CMAKE_HOST_SYSTEM
-   /variable/CMAKE_HOST_SYSTEM_VERSION
-   /variable/CMAKE_HOST_UNIX
-   /variable/CMAKE_HOST_WIN32
-   /variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX
-   /variable/CMAKE_LIBRARY_ARCHITECTURE
-   /variable/CMAKE_OBJECT_PATH_MAX
-   /variable/CMAKE_SYSTEM_NAME
-   /variable/CMAKE_SYSTEM_PROCESSOR
-   /variable/CMAKE_SYSTEM
-   /variable/CMAKE_SYSTEM_VERSION
-   /variable/CYGWIN
-   /variable/ENV
-   /variable/GHS-MULTI
-   /variable/MINGW
-   /variable/MSVC10
-   /variable/MSVC11
-   /variable/MSVC12
-   /variable/MSVC14
-   /variable/MSVC60
-   /variable/MSVC70
-   /variable/MSVC71
-   /variable/MSVC80
-   /variable/MSVC90
-   /variable/MSVC_IDE
-   /variable/MSVC
-   /variable/MSVC_VERSION
-   /variable/UNIX
-   /variable/WIN32
-   /variable/WINCE
-   /variable/WINDOWS_PHONE
-   /variable/WINDOWS_STORE
-   /variable/XCODE_VERSION
-
-Variables that Control the Build
-================================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS
-   /variable/CMAKE_ANDROID_API
-   /variable/CMAKE_ANDROID_API_MIN
-   /variable/CMAKE_ANDROID_ARCH
-   /variable/CMAKE_ANDROID_ASSETS_DIRECTORIES
-   /variable/CMAKE_ANDROID_GUI
-   /variable/CMAKE_ANDROID_JAR_DEPENDENCIES
-   /variable/CMAKE_ANDROID_JAR_DIRECTORIES
-   /variable/CMAKE_ANDROID_JAVA_SOURCE_DIR
-   /variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES
-   /variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES
-   /variable/CMAKE_ANDROID_PROCESS_MAX
-   /variable/CMAKE_ANDROID_PROGUARD
-   /variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH
-   /variable/CMAKE_ANDROID_SECURE_PROPS_PATH
-   /variable/CMAKE_ANDROID_SKIP_ANT_STEP
-   /variable/CMAKE_ANDROID_STL_TYPE
-   /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY
-   /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG
-   /variable/CMAKE_AUTOMOC_MOC_OPTIONS
-   /variable/CMAKE_AUTOMOC
-   /variable/CMAKE_AUTORCC
-   /variable/CMAKE_AUTORCC_OPTIONS
-   /variable/CMAKE_AUTOUIC
-   /variable/CMAKE_AUTOUIC_OPTIONS
-   /variable/CMAKE_BUILD_WITH_INSTALL_RPATH
-   /variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
-   /variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
-   /variable/CMAKE_CONFIG_POSTFIX
-   /variable/CMAKE_DEBUG_POSTFIX
-   /variable/CMAKE_ENABLE_EXPORTS
-   /variable/CMAKE_EXE_LINKER_FLAGS_CONFIG
-   /variable/CMAKE_EXE_LINKER_FLAGS
-   /variable/CMAKE_Fortran_FORMAT
-   /variable/CMAKE_Fortran_MODULE_DIRECTORY
-   /variable/CMAKE_GNUtoMS
-   /variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
-   /variable/CMAKE_INCLUDE_CURRENT_DIR
-   /variable/CMAKE_INSTALL_NAME_DIR
-   /variable/CMAKE_INSTALL_RPATH
-   /variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH
-   /variable/CMAKE_IOS_INSTALL_COMBINED
-   /variable/CMAKE_LANG_CLANG_TIDY
-   /variable/CMAKE_LANG_COMPILER_LAUNCHER
-   /variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
-   /variable/CMAKE_LANG_VISIBILITY_PRESET
-   /variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY
-   /variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG
-   /variable/CMAKE_LIBRARY_PATH_FLAG
-   /variable/CMAKE_LINK_DEF_FILE_FLAG
-   /variable/CMAKE_LINK_DEPENDS_NO_SHARED
-   /variable/CMAKE_LINK_INTERFACE_LIBRARIES
-   /variable/CMAKE_LINK_LIBRARY_FILE_FLAG
-   /variable/CMAKE_LINK_LIBRARY_FLAG
-   /variable/CMAKE_MACOSX_BUNDLE
-   /variable/CMAKE_MACOSX_RPATH
-   /variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
-   /variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
-   /variable/CMAKE_MODULE_LINKER_FLAGS
-   /variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX
-   /variable/CMAKE_NO_BUILTIN_CHRPATH
-   /variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
-   /variable/CMAKE_OSX_ARCHITECTURES
-   /variable/CMAKE_OSX_DEPLOYMENT_TARGET
-   /variable/CMAKE_OSX_SYSROOT
-   /variable/CMAKE_PDB_OUTPUT_DIRECTORY
-   /variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG
-   /variable/CMAKE_POSITION_INDEPENDENT_CODE
-   /variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY
-   /variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG
-   /variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG
-   /variable/CMAKE_SHARED_LINKER_FLAGS
-   /variable/CMAKE_SKIP_BUILD_RPATH
-   /variable/CMAKE_SKIP_INSTALL_RPATH
-   /variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG
-   /variable/CMAKE_STATIC_LINKER_FLAGS
-   /variable/CMAKE_TRY_COMPILE_CONFIGURATION
-   /variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
-   /variable/CMAKE_TRY_COMPILE_TARGET_TYPE
-   /variable/CMAKE_USE_RELATIVE_PATHS
-   /variable/CMAKE_VISIBILITY_INLINES_HIDDEN
-   /variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
-   /variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
-   /variable/CMAKE_WIN32_EXECUTABLE
-   /variable/CMAKE_XCODE_ATTRIBUTE_an-attribute
-   /variable/EXECUTABLE_OUTPUT_PATH
-   /variable/LIBRARY_OUTPUT_PATH
-
-Variables for Languages
-=======================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/CMAKE_COMPILER_IS_GNULANG
-   /variable/CMAKE_C_COMPILE_FEATURES
-   /variable/CMAKE_C_EXTENSIONS
-   /variable/CMAKE_C_STANDARD
-   /variable/CMAKE_C_STANDARD_REQUIRED
-   /variable/CMAKE_CXX_COMPILE_FEATURES
-   /variable/CMAKE_CXX_EXTENSIONS
-   /variable/CMAKE_CXX_STANDARD
-   /variable/CMAKE_CXX_STANDARD_REQUIRED
-   /variable/CMAKE_Fortran_MODDIR_DEFAULT
-   /variable/CMAKE_Fortran_MODDIR_FLAG
-   /variable/CMAKE_Fortran_MODOUT_FLAG
-   /variable/CMAKE_INTERNAL_PLATFORM_ABI
-   /variable/CMAKE_LANG_ARCHIVE_APPEND
-   /variable/CMAKE_LANG_ARCHIVE_CREATE
-   /variable/CMAKE_LANG_ARCHIVE_FINISH
-   /variable/CMAKE_LANG_COMPILE_OBJECT
-   /variable/CMAKE_LANG_COMPILER_ABI
-   /variable/CMAKE_LANG_COMPILER_ID
-   /variable/CMAKE_LANG_COMPILER_LOADED
-   /variable/CMAKE_LANG_COMPILER
-   /variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN
-   /variable/CMAKE_LANG_COMPILER_TARGET
-   /variable/CMAKE_LANG_COMPILER_VERSION
-   /variable/CMAKE_LANG_CREATE_SHARED_LIBRARY
-   /variable/CMAKE_LANG_CREATE_SHARED_MODULE
-   /variable/CMAKE_LANG_CREATE_STATIC_LIBRARY
-   /variable/CMAKE_LANG_FLAGS_DEBUG
-   /variable/CMAKE_LANG_FLAGS_MINSIZEREL
-   /variable/CMAKE_LANG_FLAGS_RELEASE
-   /variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO
-   /variable/CMAKE_LANG_FLAGS
-   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG
-   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL
-   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE
-   /variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO
-   /variable/CMAKE_LANG_IGNORE_EXTENSIONS
-   /variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES
-   /variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES
-   /variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
-   /variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES
-   /variable/CMAKE_LANG_LIBRARY_ARCHITECTURE
-   /variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES
-   /variable/CMAKE_LANG_LINKER_PREFERENCE
-   /variable/CMAKE_LANG_LINK_EXECUTABLE
-   /variable/CMAKE_LANG_OUTPUT_EXTENSION
-   /variable/CMAKE_LANG_PLATFORM_ID
-   /variable/CMAKE_LANG_SIMULATE_ID
-   /variable/CMAKE_LANG_SIMULATE_VERSION
-   /variable/CMAKE_LANG_SIZEOF_DATA_PTR
-   /variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS
-   /variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES
-   /variable/CMAKE_LANG_STANDARD_LIBRARIES
-   /variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG
-
-Variables for CTest
-===================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/CTEST_BINARY_DIRECTORY
-   /variable/CTEST_BUILD_COMMAND
-   /variable/CTEST_BUILD_NAME
-   /variable/CTEST_BZR_COMMAND
-   /variable/CTEST_BZR_UPDATE_OPTIONS
-   /variable/CTEST_CHANGE_ID
-   /variable/CTEST_CHECKOUT_COMMAND
-   /variable/CTEST_CONFIGURATION_TYPE
-   /variable/CTEST_CONFIGURE_COMMAND
-   /variable/CTEST_COVERAGE_COMMAND
-   /variable/CTEST_COVERAGE_EXTRA_FLAGS
-   /variable/CTEST_CURL_OPTIONS
-   /variable/CTEST_CUSTOM_COVERAGE_EXCLUDE
-   /variable/CTEST_CUSTOM_ERROR_EXCEPTION
-   /variable/CTEST_CUSTOM_ERROR_MATCH
-   /variable/CTEST_CUSTOM_ERROR_POST_CONTEXT
-   /variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT
-   /variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE
-   /variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS
-   /variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS
-   /variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE
-   /variable/CTEST_CUSTOM_MEMCHECK_IGNORE
-   /variable/CTEST_CUSTOM_POST_MEMCHECK
-   /variable/CTEST_CUSTOM_POST_TEST
-   /variable/CTEST_CUSTOM_PRE_MEMCHECK
-   /variable/CTEST_CUSTOM_PRE_TEST
-   /variable/CTEST_CUSTOM_TEST_IGNORE
-   /variable/CTEST_CUSTOM_WARNING_EXCEPTION
-   /variable/CTEST_CUSTOM_WARNING_MATCH
-   /variable/CTEST_CVS_CHECKOUT
-   /variable/CTEST_CVS_COMMAND
-   /variable/CTEST_CVS_UPDATE_OPTIONS
-   /variable/CTEST_DROP_LOCATION
-   /variable/CTEST_DROP_METHOD
-   /variable/CTEST_DROP_SITE
-   /variable/CTEST_DROP_SITE_CDASH
-   /variable/CTEST_DROP_SITE_PASSWORD
-   /variable/CTEST_DROP_SITE_USER
-   /variable/CTEST_EXTRA_COVERAGE_GLOB
-   /variable/CTEST_GIT_COMMAND
-   /variable/CTEST_GIT_INIT_SUBMODULES
-   /variable/CTEST_GIT_UPDATE_CUSTOM
-   /variable/CTEST_GIT_UPDATE_OPTIONS
-   /variable/CTEST_HG_COMMAND
-   /variable/CTEST_HG_UPDATE_OPTIONS
-   /variable/CTEST_MEMORYCHECK_COMMAND
-   /variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS
-   /variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS
-   /variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
-   /variable/CTEST_MEMORYCHECK_TYPE
-   /variable/CTEST_NIGHTLY_START_TIME
-   /variable/CTEST_P4_CLIENT
-   /variable/CTEST_P4_COMMAND
-   /variable/CTEST_P4_OPTIONS
-   /variable/CTEST_P4_UPDATE_OPTIONS
-   /variable/CTEST_SCP_COMMAND
-   /variable/CTEST_SITE
-   /variable/CTEST_SOURCE_DIRECTORY
-   /variable/CTEST_SVN_COMMAND
-   /variable/CTEST_SVN_OPTIONS
-   /variable/CTEST_SVN_UPDATE_OPTIONS
-   /variable/CTEST_TEST_LOAD
-   /variable/CTEST_TEST_TIMEOUT
-   /variable/CTEST_TRIGGER_SITE
-   /variable/CTEST_UPDATE_COMMAND
-   /variable/CTEST_UPDATE_OPTIONS
-   /variable/CTEST_UPDATE_VERSION_ONLY
-   /variable/CTEST_USE_LAUNCHERS
-
-Variables for CPack
-===================
-
-.. toctree::
-   :maxdepth: 1
-
-   /variable/CPACK_ABSOLUTE_DESTINATION_FILES
-   /variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
-   /variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
-   /variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY
-   /variable/CPACK_INSTALL_SCRIPT
-   /variable/CPACK_PACKAGING_INSTALL_PREFIX
-   /variable/CPACK_SET_DESTDIR
-   /variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
diff --git a/share/cmake-3.6/Help/manual/cmake.1.rst b/share/cmake-3.6/Help/manual/cmake.1.rst
deleted file mode 100644
index 65153af..0000000
--- a/share/cmake-3.6/Help/manual/cmake.1.rst
+++ /dev/null
@@ -1,313 +0,0 @@
-.. cmake-manual-description: CMake Command-Line Reference
-
-cmake(1)
-********
-
-Synopsis
-========
-
-.. parsed-literal::
-
- cmake [<options>] (<path-to-source> | <path-to-existing-build>)
- cmake [(-D <var>=<value>)...] -P <cmake-script-file>
- cmake --build <dir> [<options>...] [-- <build-tool-options>...]
- cmake -E <command> [<options>...]
- cmake --find-package <options>...
-
-Description
-===========
-
-The "cmake" executable is the CMake command-line interface.  It may be
-used to configure projects in scripts.  Project configuration settings
-may be specified on the command line with the -D option.
-
-CMake is a cross-platform build system generator.  Projects specify
-their build process with platform-independent CMake listfiles included
-in each directory of a source tree with the name CMakeLists.txt.
-Users build a project by using CMake to generate a build system for a
-native tool on their platform.
-
-.. _`CMake Options`:
-
-Options
-=======
-
-.. include:: OPTIONS_BUILD.txt
-
-``-E <command> [<options>...]``
- See `Command-Line Tool Mode`_.
-
-``-L[A][H]``
- List non-advanced cached variables.
-
- List cache variables will run CMake and list all the variables from
- the CMake cache that are not marked as INTERNAL or ADVANCED.  This
- will effectively display current CMake settings, which can then be
- changed with -D option.  Changing some of the variables may result
- in more variables being created.  If A is specified, then it will
- display also advanced variables.  If H is specified, it will also
- display help for each variable.
-
-``--build <dir>``
- See `Build Tool Mode`_.
-
-``-N``
- View mode only.
-
- Only load the cache.  Do not actually run configure and generate
- steps.
-
-``-P <file>``
- Process script mode.
-
- Process the given cmake file as a script written in the CMake
- language.  No configure or generate step is performed and the cache
- is not modified.  If variables are defined using -D, this must be
- done before the -P argument.
-
-``--find-package``
- See `Find-Package Tool Mode`_.
-
-``--graphviz=[file]``
- Generate graphviz of dependencies, see CMakeGraphVizOptions.cmake for more.
-
- Generate a graphviz input file that will contain all the library and
- executable dependencies in the project.  See the documentation for
- CMakeGraphVizOptions.cmake for more details.
-
-``--system-information [file]``
- Dump information about this system.
-
- Dump a wide range of information about the current system.  If run
- from the top of a binary tree for a CMake project it will dump
- additional information such as the cache, log files etc.
-
-``--debug-trycompile``
- Do not delete the try_compile build tree. Only useful on one try_compile at a time.
-
- Do not delete the files and directories created for try_compile
- calls.  This is useful in debugging failed try_compiles.  It may
- however change the results of the try-compiles as old junk from a
- previous try-compile may cause a different test to either pass or
- fail incorrectly.  This option is best used for one try-compile at a
- time, and only when debugging.
-
-``--debug-output``
- Put cmake in a debug mode.
-
- Print extra information during the cmake run like stack traces with
- message(send_error ) calls.
-
-``--trace``
- Put cmake in trace mode.
-
- Print a trace of all calls made and from where.
-
-``--trace-expand``
- Put cmake in trace mode.
-
- Like ``--trace``, but with variables expanded.
-
-``--warn-uninitialized``
- Warn about uninitialized values.
-
- Print a warning when an uninitialized variable is used.
-
-``--warn-unused-vars``
- Warn about unused variables.
-
- Find variables that are declared or set, but not used.
-
-``--no-warn-unused-cli``
- Don't warn about command line options.
-
- Don't find variables that are declared on the command line, but not
- used.
-
-``--check-system-vars``
- Find problems with variable usage in system files.
-
- Normally, unused and uninitialized variables are searched for only
- in CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR.  This flag tells CMake to
- warn about other files as well.
-
-.. include:: OPTIONS_HELP.txt
-
-Build Tool Mode
-===============
-
-CMake provides a command-line signature to build an already-generated
-project binary tree::
-
- cmake --build <dir> [<options>...] [-- <build-tool-options>...]
-
-This abstracts a native build tool's command-line interface with the
-following options:
-
-``--build <dir>``
-  Project binary directory to be built.  This is required and must be first.
-
-``--target <tgt>``
-  Build ``<tgt>`` instead of default targets.  May only be specified once.
-
-``--config <cfg>``
-  For multi-configuration tools, choose configuration ``<cfg>``.
-
-``--clean-first``
-  Build target ``clean`` first, then build.
-  (To clean only, use ``--target clean``.)
-
-``--use-stderr``
-  Ignored.  Behavior is default in CMake >= 3.0.
-
-``--``
-  Pass remaining options to the native tool.
-
-Run ``cmake --build`` with no options for quick help.
-
-Command-Line Tool Mode
-======================
-
-CMake provides builtin command-line tools through the signature::
-
- cmake -E <command> [<options>...]
-
-Run ``cmake -E`` or ``cmake -E help`` for a summary of commands.
-Available commands are:
-
-``chdir <dir> <cmd> [<arg>...]``
-  Change the current working directory and run a command.
-
-``compare_files <file1> <file2>``
-  Check if ``<file1>`` is same as ``<file2>``. If files are the same,
-  then returns 0, if not it returns 1.
-
-``copy <file>... <destination>``
-  Copy files to ``<destination>`` (either file or directory).
-  If multiple files are specified, the ``<destination>`` must be
-  directory and it must exist.
-
-``copy_directory <dir>... <destination>``
-  Copy directories to ``<destination>`` directory.
-  If ``<destination>`` directory does not exist it will be created.
-
-``copy_if_different <file>... <destination>``
-  Copy files to ``<destination>`` (either file or directory) if
-  they have changed.
-  If multiple files are specified, the ``<destination>`` must be
-  directory and it must exist.
-
-``echo [<string>...]``
-  Displays arguments as text.
-
-``echo_append [<string>...]``
-  Displays arguments as text but no new line.
-
-``env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...``
-  Run command in a modified environment.
-
-``environment``
-  Display the current environment variables.
-
-``make_directory <dir>...``
-  Create ``<dir>`` directories.  If necessary, create parent
-  directories too.  If a directory already exists it will be
-  silently ignored.
-
-``md5sum <file>...``
-  Create MD5 checksum of files in ``md5sum`` compatible format::
-
-     351abe79cd3800b38cdfb25d45015a15  file1.txt
-     052f86c15bbde68af55c7f7b340ab639  file2.txt
-
-``remove [-f] <file>...``
-  Remove the file(s), use ``-f`` to force it.  If a file does
-  not exist it will be silently ignored.
-
-``remove_directory <dir>``
-  Remove a directory and its contents.  If a directory does
-  not exist it will be silently ignored.
-
-``rename <oldname> <newname>``
-  Rename a file or directory (on one volume).
-
-``sleep <number>...``
-  Sleep for given number of seconds.
-
-``tar [cxt][vf][zjJ] file.tar [<options>...] [--] [<file>...]``
-  Create or extract a tar or zip archive.  Options are:
-
-  ``--``
-    Stop interpreting options and treat all remaining arguments
-    as file names even if they start in ``-``.
-  ``--files-from=<file>``
-    Read file names from the given file, one per line.
-    Blank lines are ignored.  Lines may not start in ``-``
-    except for ``--add-file=<name>`` to add files whose
-    names start in ``-``.
-  ``--mtime=<date>``
-    Specify modification time recorded in tarball entries.
-  ``--format=<format>``
-    Specify the format of the archive to be created.
-    Supported formats are: ``7zip``, ``gnutar``, ``pax``,
-    ``paxr`` (restricted pax, default), and ``zip``.
-
-``time <command> [<args>...]``
-  Run command and return elapsed time.
-
-``touch <file>``
-  Touch a file.
-
-``touch_nocreate <file>``
-  Touch a file if it exists but do not create it.  If a file does
-  not exist it will be silently ignored.
-
-UNIX-specific Command-Line Tools
---------------------------------
-
-The following ``cmake -E`` commands are available only on UNIX:
-
-``create_symlink <old> <new>``
-  Create a symbolic link ``<new>`` naming ``<old>``.
-
-Windows-specific Command-Line Tools
------------------------------------
-
-The following ``cmake -E`` commands are available only on Windows:
-
-``delete_regv <key>``
-  Delete Windows registry value.
-
-``env_vs8_wince <sdkname>``
-  Displays a batch file which sets the environment for the provided
-  Windows CE SDK installed in VS2005.
-
-``env_vs9_wince <sdkname>``
-  Displays a batch file which sets the environment for the provided
-  Windows CE SDK installed in VS2008.
-
-``write_regv <key> <value>``
-  Write Windows registry value.
-
-Find-Package Tool Mode
-======================
-
-CMake provides a helper for Makefile-based projects with the signature::
-
-  cmake --find-package <options>...
-
-This runs in a pkg-config like mode.
-
-Search a package using :command:`find_package()` and print the resulting flags
-to stdout.  This can be used to use cmake instead of pkg-config to find
-installed libraries in plain Makefile-based projects or in autoconf-based
-projects (via ``share/aclocal/cmake.m4``).
-
-.. note::
-  This mode is not well-supported due to some technical limitations.
-  It is kept for compatibility but should not be used in new projects.
-
-See Also
-========
-
-.. include:: LINKS.txt
diff --git a/share/cmake-3.6/Help/manual/ctest.1.rst b/share/cmake-3.6/Help/manual/ctest.1.rst
deleted file mode 100644
index e797333..0000000
--- a/share/cmake-3.6/Help/manual/ctest.1.rst
+++ /dev/null
@@ -1,1034 +0,0 @@
-.. cmake-manual-description: CTest Command-Line Reference
-
-ctest(1)
-********
-
-Synopsis
-========
-
-.. parsed-literal::
-
- ctest [<options>]
-
-Description
-===========
-
-The "ctest" executable is the CMake test driver program.
-CMake-generated build trees created for projects that use the
-ENABLE_TESTING and ADD_TEST commands have testing support.  This
-program will run the tests and report results.
-
-Options
-=======
-
-``-C <cfg>, --build-config <cfg>``
- Choose configuration to test.
-
- Some CMake-generated build trees can have multiple build
- configurations in the same tree.  This option can be used to specify
- which one should be tested.  Example configurations are "Debug" and
- "Release".
-
-``-V,--verbose``
- Enable verbose output from tests.
-
- Test output is normally suppressed and only summary information is
- displayed.  This option will show all test output.
-
-``-VV,--extra-verbose``
- Enable more verbose output from tests.
-
- Test output is normally suppressed and only summary information is
- displayed.  This option will show even more test output.
-
-``--debug``
- Displaying more verbose internals of CTest.
-
- This feature will result in a large number of output that is mostly
- useful for debugging dashboard problems.
-
-``--output-on-failure``
- Output anything outputted by the test program if the test should fail.
- This option can also be enabled by setting the environment variable
- ``CTEST_OUTPUT_ON_FAILURE``.
-
-``-F``
- Enable failover.
-
- This option allows ctest to resume a test set execution that was
- previously interrupted.  If no interruption occurred, the -F option
- will have no effect.
-
-``-j <jobs>, --parallel <jobs>``
- Run the tests in parallel using the given number of jobs.
-
- This option tells ctest to run the tests in parallel using given
- number of jobs.  This option can also be set by setting the
- environment variable ``CTEST_PARALLEL_LEVEL``.
-
-``--test-load <level>``
- While running tests in parallel (e.g. with ``-j``), try not to start
- tests when they may cause the CPU load to pass above a given threshold.
-
- When ``ctest`` is run as a `Dashboard Client`_ this sets the
- ``TestLoad`` option of the `CTest Test Step`_.
-
-``-Q,--quiet``
- Make ctest quiet.
-
- This option will suppress all the output.  The output log file will
- still be generated if the --output-log is specified.  Options such
- as --verbose, --extra-verbose, and --debug are ignored if --quiet is
- specified.
-
-``-O <file>, --output-log <file>``
- Output to log file
-
- This option tells ctest to write all its output to a log file.
-
-``-N,--show-only``
- Disable actual execution of tests.
-
- This option tells ctest to list the tests that would be run but not
- actually run them.  Useful in conjunction with the -R and -E
- options.
-
-``-L <regex>, --label-regex <regex>``
- Run tests with labels matching regular expression.
-
- This option tells ctest to run only the tests whose labels match the
- given regular expression.
-
-``-R <regex>, --tests-regex <regex>``
- Run tests matching regular expression.
-
- This option tells ctest to run only the tests whose names match the
- given regular expression.
-
-``-E <regex>, --exclude-regex <regex>``
- Exclude tests matching regular expression.
-
- This option tells ctest to NOT run the tests whose names match the
- given regular expression.
-
-``-LE <regex>, --label-exclude <regex>``
- Exclude tests with labels matching regular expression.
-
- This option tells ctest to NOT run the tests whose labels match the
- given regular expression.
-
-``-D <dashboard>, --dashboard <dashboard>``
- Execute dashboard test
-
- This option tells ctest to act as a CDash client and perform a
- dashboard test.  All tests are <Mode><Test>, where Mode can be
- Experimental, Nightly, and Continuous, and Test can be Start,
- Update, Configure, Build, Test, Coverage, and Submit.
-
-``-D <var>:<type>=<value>``
- Define a variable for script mode
-
- Pass in variable values on the command line.  Use in conjunction
- with -S to pass variable values to a dashboard script.  Parsing -D
- arguments as variable values is only attempted if the value
- following -D does not match any of the known dashboard types.
-
-``-M <model>, --test-model <model>``
- Sets the model for a dashboard
-
- This option tells ctest to act as a CDash client where the TestModel
- can be Experimental, Nightly, and Continuous.  Combining -M and -T
- is similar to -D
-
-``-T <action>, --test-action <action>``
- Sets the dashboard action to perform
-
- This option tells ctest to act as a CDash client and perform some
- action such as start, build, test etc.  Combining -M and -T is
- similar to -D
-
-``--track <track>``
- Specify the track to submit dashboard to
-
- Submit dashboard to specified track instead of default one.  By
- default, the dashboard is submitted to Nightly, Experimental, or
- Continuous track, but by specifying this option, the track can be
- arbitrary.
-
-``-S <script>, --script <script>``
- Execute a dashboard for a configuration
-
- This option tells ctest to load in a configuration script which sets
- a number of parameters such as the binary and source directories.
- Then ctest will do what is required to create and run a dashboard.
- This option basically sets up a dashboard and then runs ctest -D
- with the appropriate options.
-
-``-SP <script>, --script-new-process <script>``
- Execute a dashboard for a configuration
-
- This option does the same operations as -S but it will do them in a
- separate process.  This is primarily useful in cases where the
- script may modify the environment and you do not want the modified
- environment to impact other -S scripts.
-
-``-A <file>, --add-notes <file>``
- Add a notes file with submission
-
- This option tells ctest to include a notes file when submitting
- dashboard.
-
-``-I [Start,End,Stride,test#,test#|Test file], --tests-information``
- Run a specific number of tests by number.
-
- This option causes ctest to run tests starting at number Start,
- ending at number End, and incrementing by Stride.  Any additional
- numbers after Stride are considered individual test numbers.  Start,
- End,or stride can be empty.  Optionally a file can be given that
- contains the same syntax as the command line.
-
-``-U, --union``
- Take the Union of -I and -R
-
- When both -R and -I are specified by default the intersection of
- tests are run.  By specifying -U the union of tests is run instead.
-
-``--rerun-failed``
- Run only the tests that failed previously
-
- This option tells ctest to perform only the tests that failed during
- its previous run.  When this option is specified, ctest ignores all
- other options intended to modify the list of tests to run (-L, -R,
- -E, -LE, -I, etc).  In the event that CTest runs and no tests 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.
-
- This is useful in finding sporadic failures in test cases.
-
-``--max-width <width>``
- Set the max width for a test name to output
-
- Set the maximum width for each test name to show in the output.
- This allows the user to widen the output to avoid clipping the test
- name which can be very annoying.
-
-``--interactive-debug-mode [0|1]``
- Set the interactive mode to 0 or 1.
-
- This option causes ctest to run tests in either an interactive mode
- or a non-interactive mode.  On Windows this means that in
- non-interactive mode, all system debug pop up windows are blocked.
- In dashboard mode (Experimental, Nightly, Continuous), the default
- is non-interactive.  When just running tests not for a dashboard the
- default is to allow popups and interactive debugging.
-
-``--no-label-summary``
- Disable timing summary information for labels.
-
- This option tells ctest not to print summary information for each
- label associated with the tests run.  If there are no labels on the
- tests, nothing extra is printed.
-
-``--build-and-test``
- Configure, build and run a test.
-
- This option tells ctest to configure (i.e.  run cmake on), build,
- and or execute a test.  The configure and test steps are optional.
- The arguments to this command line are the source and binary
- directories.  By default this will run CMake on the Source/Bin
- directories specified unless --build-nocmake is specified.
- The --build-generator option *must* be provided to use
- --build-and-test.  If --test-command is specified then that will be
- run after the build is complete.  Other options that affect this
- mode are --build-target --build-nocmake, --build-run-dir,
- --build-two-config, --build-exe-dir,
- --build-project,--build-noclean, --build-options
-
-``--build-target``
- Specify a specific target to build.
-
- This option goes with the --build-and-test option, if left out the
- all target is built.
-
-``--build-nocmake``
- Run the build without running cmake first.
-
- Skip the cmake step.
-
-``--build-run-dir``
- Specify directory to run programs from.
-
- Directory where programs will be after it has been compiled.
-
-``--build-two-config``
- Run CMake twice
-
-``--build-exe-dir``
- Specify the directory for the executable.
-
-``--build-generator``
- Specify the generator to use.
-
-``--build-generator-platform``
- Specify the generator-specific platform.
-
-``--build-generator-toolset``
- Specify the generator-specific toolset.
-
-``--build-project``
- Specify the name of the project to build.
-
-``--build-makeprogram``
- Override the make program chosen by CTest with a given one.
-
-``--build-noclean``
- Skip the make clean step.
-
-``--build-config-sample``
- A sample executable to use to determine the configuration
-
- A sample executable to use to determine the configuration that
- should be used.  e.g.  Debug/Release/etc
-
-``--build-options``
- Add extra options to the build step.
-
- This option must be the last option with the exception of
- --test-command
-
-``--test-command``
- The test to run with the --build-and-test option.
-
-``--test-output-size-passed <size>``
- Limit the output for passed tests to <size> bytes.
-
-``--test-output-size-failed <size>``
- Limit the output for failed tests to <size> bytes.
-
-``--test-timeout``
- The time limit in seconds, internal use only.
-
-``--tomorrow-tag``
- Nightly or experimental starts with next day tag.
-
- This is useful if the build will not finish in one day.
-
-``--ctest-config``
- The configuration file used to initialize CTest state when submitting dashboards.
-
- This option tells CTest to use different initialization file instead
- of CTestConfiguration.tcl.  This way multiple initialization files
- can be used for example to submit to multiple dashboards.
-
-``--overwrite``
- Overwrite CTest configuration option.
-
- By default ctest uses configuration options from configuration file.
- This option will overwrite the configuration option.
-
-``--extra-submit <file>[;<file>]``
- Submit extra files to the dashboard.
-
- This option will submit extra files to the dashboard.
-
-``--force-new-ctest-process``
- Run child CTest instances as new processes
-
- By default CTest will run child CTest instances within the same
- process.  If this behavior is not desired, this argument will
- enforce new processes for child CTest processes.
-
-``--schedule-random``
- Use a random order for scheduling tests
-
- This option will run the tests in a random order.  It is commonly
- used to detect implicit dependencies in a test suite.
-
-``--submit-index``
- Legacy option for old Dart2 dashboard server feature.
- Do not use.
-
-``--timeout <seconds>``
- Set a global timeout on all tests.
-
- This option will set a global timeout on all tests that do not
- already have a timeout set on them.
-
-``--stop-time <time>``
- Set a time at which all tests should stop running.
-
- Set a real time of day at which all tests should timeout.  Example:
- 7:00:00 -0400.  Any time format understood by the curl date parser
- is accepted.  Local time is assumed if no timezone is specified.
-
-``--http1.0``
- Submit using HTTP 1.0.
-
- This option will force CTest to use HTTP 1.0 to submit files to the
- dashboard, instead of HTTP 1.1.
-
-``--no-compress-output``
- Do not compress test output when submitting.
-
- This flag will turn off automatic compression of test output.  Use
- this to maintain compatibility with an older version of CDash which
- doesn't support compressed test output.
-
-``--print-labels``
- Print all available test labels.
-
- This option will not run any tests, it will simply print the list of
- all labels associated with the test set.
-
-.. include:: OPTIONS_HELP.txt
-
-.. _`Dashboard Client`:
-
-Dashboard Client
-================
-
-CTest can operate as a client for the `CDash`_ software quality dashboard
-application.  As a dashboard client, CTest performs a sequence of steps
-to configure, build, and test software, and then submits the results to
-a `CDash`_ server.
-
-.. _`CDash`: http://cdash.org/
-
-Dashboard Client Steps
-----------------------
-
-CTest defines an ordered list of testing steps of which some or all may
-be run as a dashboard client:
-
-``Start``
-  Start a new dashboard submission to be composed of results recorded
-  by the following steps.
-  See the `CTest Start Step`_ section below.
-
-``Update``
-  Update the source tree from its version control repository.
-  Record the old and new versions and the list of updated source files.
-  See the `CTest Update Step`_ section below.
-
-``Configure``
-  Configure the software by running a command in the build tree.
-  Record the configuration output log.
-  See the `CTest Configure Step`_ section below.
-
-``Build``
-  Build the software by running a command in the build tree.
-  Record the build output log and detect warnings and errors.
-  See the `CTest Build Step`_ section below.
-
-``Test``
-  Test the software by loading a ``CTestTestfile.cmake``
-  from the build tree and executing the defined tests.
-  Record the output and result of each test.
-  See the `CTest Test Step`_ section below.
-
-``Coverage``
-  Compute coverage of the source code by running a coverage
-  analysis tool and recording its output.
-  See the `CTest Coverage Step`_ section below.
-
-``MemCheck``
-  Run the software test suite through a memory check tool.
-  Record the test output, results, and issues reported by the tool.
-  See the `CTest MemCheck Step`_ section below.
-
-``Submit``
-  Submit results recorded from other testing steps to the
-  software quality dashboard server.
-  See the `CTest Submit Step`_ section below.
-
-Dashboard Client Modes
-----------------------
-
-CTest defines three modes of operation as a dashboard client:
-
-``Nightly``
-  This mode is intended to be invoked once per day, typically at night.
-  It enables the ``Start``, ``Update``, ``Configure``, ``Build``, ``Test``,
-  ``Coverage``, and ``Submit`` steps by default.  Selected steps run even
-  if the ``Update`` step reports no changes to the source tree.
-
-``Continuous``
-  This mode is intended to be invoked repeatedly throughout the day.
-  It enables the ``Start``, ``Update``, ``Configure``, ``Build``, ``Test``,
-  ``Coverage``, and ``Submit`` steps by default, but exits after the
-  ``Update`` step if it reports no changes to the source tree.
-
-``Experimental``
-  This mode is intended to be invoked by a developer to test local changes.
-  It enables the ``Start``, ``Configure``, ``Build``, ``Test``, ``Coverage``,
-  and ``Submit`` steps by default.
-
-Dashboard Client via CTest Command-Line
----------------------------------------
-
-CTest can perform testing on an already-generated build tree.
-Run the ``ctest`` command with the current working directory set
-to the build tree and use one of these signatures::
-
-  ctest -D <mode>[<step>]
-  ctest -M <mode> [ -T <step> ]...
-
-The ``<mode>`` must be one of the above `Dashboard Client Modes`_,
-and each ``<step>`` must be one of the above `Dashboard Client Steps`_.
-
-CTest reads the `Dashboard Client Configuration`_ settings from
-a file in the build tree called either ``CTestConfiguration.ini``
-or ``DartConfiguration.tcl`` (the names are historical).  The format
-of the file is::
-
-  # Lines starting in '#' are comments.
-  # Other non-blank lines are key-value pairs.
-  <setting>: <value>
-
-where ``<setting>`` is the setting name and ``<value>`` is the
-setting value.
-
-In build trees generated by CMake, this configuration file is
-generated by the :module:`CTest` module if included by the project.
-The module uses variables to obtain a value for each setting
-as documented with the settings below.
-
-.. _`CTest Script`:
-
-Dashboard Client via CTest Script
----------------------------------
-
-CTest can perform testing driven by a :manual:`cmake-language(7)`
-script that creates and maintains the source and build tree as
-well as performing the testing steps.  Run the ``ctest`` command
-with the current working directory set outside of any build tree
-and use one of these signatures::
-
-  ctest -S <script>
-  ctest -SP <script>
-
-The ``<script>`` file must call :ref:`CTest Commands` commands
-to run testing steps explicitly as documented below.  The commands
-obtain `Dashboard Client Configuration`_ settings from their
-arguments or from variables set in the script.
-
-Dashboard Client Configuration
-==============================
-
-The `Dashboard Client Steps`_ may be configured by named
-settings as documented in the following sections.
-
-.. _`CTest Start Step`:
-
-CTest Start Step
-----------------
-
-Start a new dashboard submission to be composed of results recorded
-by the following steps.
-
-In a `CTest Script`_, the :command:`ctest_start` command runs this step.
-Arguments to the command may specify some of the step settings.
-The command first runs the command-line specified by the
-``CTEST_CHECKOUT_COMMAND`` variable, if set, to initialize the source
-directory.
-
-Configuration settings include:
-
-``BuildDirectory``
-  The full path to the project build tree.
-
-  * `CTest Script`_ variable: :variable:`CTEST_BINARY_DIRECTORY`
-  * :module:`CTest` module variable: :variable:`PROJECT_BINARY_DIR`
-
-``SourceDirectory``
-  The full path to the project source tree.
-
-  * `CTest Script`_ variable: :variable:`CTEST_SOURCE_DIRECTORY`
-  * :module:`CTest` module variable: :variable:`PROJECT_SOURCE_DIR`
-
-.. _`CTest Update Step`:
-
-CTest Update Step
------------------
-
-In a `CTest Script`_, the :command:`ctest_update` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings to specify the version control tool include:
-
-``BZRCommand``
-  ``bzr`` command-line tool to use if source tree is managed by Bazaar.
-
-  * `CTest Script`_ variable: :variable:`CTEST_BZR_COMMAND`
-  * :module:`CTest` module variable: none
-
-``BZRUpdateOptions``
-  Command-line options to the ``BZRCommand`` when updating the source.
-
-  * `CTest Script`_ variable: :variable:`CTEST_BZR_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: none
-
-``CVSCommand``
-  ``cvs`` command-line tool to use if source tree is managed by CVS.
-
-  * `CTest Script`_ variable: :variable:`CTEST_CVS_COMMAND`
-  * :module:`CTest` module variable: ``CVSCOMMAND``
-
-``CVSUpdateOptions``
-  Command-line options to the ``CVSCommand`` when updating the source.
-
-  * `CTest Script`_ variable: :variable:`CTEST_CVS_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: ``CVS_UPDATE_OPTIONS``
-
-``GITCommand``
-  ``git`` command-line tool to use if source tree is managed by Git.
-
-  * `CTest Script`_ variable: :variable:`CTEST_GIT_COMMAND`
-  * :module:`CTest` module variable: ``GITCOMMAND``
-
-  The source tree is updated by ``git fetch`` followed by
-  ``git reset --hard`` to the ``FETCH_HEAD``.  The result is the same
-  as ``git pull`` except that any local moficiations are overwritten.
-  Use ``GITUpdateCustom`` to specify a different approach.
-
-``GITInitSubmodules``
-  If set, CTest will update the repository's submodules before updating.
-
-  * `CTest Script`_ variable: :variable:`CTEST_GIT_INIT_SUBMODULES`
-  * :module:`CTest` module variable: ``CTEST_GIT_INIT_SUBMODULES``
-
-``GITUpdateCustom``
-  Specify a custom command line (as a semicolon-separated list) to run
-  in the source tree (Git work tree) to update it instead of running
-  the ``GITCommand``.
-
-  * `CTest Script`_ variable: :variable:`CTEST_GIT_UPDATE_CUSTOM`
-  * :module:`CTest` module variable: ``CTEST_GIT_UPDATE_CUSTOM``
-
-``GITUpdateOptions``
-  Command-line options to the ``GITCommand`` when updating the source.
-
-  * `CTest Script`_ variable: :variable:`CTEST_GIT_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: ``GIT_UPDATE_OPTIONS``
-
-``HGCommand``
-  ``hg`` command-line tool to use if source tree is managed by Mercurial.
-
-  * `CTest Script`_ variable: :variable:`CTEST_HG_COMMAND`
-  * :module:`CTest` module variable: none
-
-``HGUpdateOptions``
-  Command-line options to the ``HGCommand`` when updating the source.
-
-  * `CTest Script`_ variable: :variable:`CTEST_HG_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: none
-
-``P4Client``
-  Value of the ``-c`` option to the ``P4Command``.
-
-  * `CTest Script`_ variable: :variable:`CTEST_P4_CLIENT`
-  * :module:`CTest` module variable: ``CTEST_P4_CLIENT``
-
-``P4Command``
-  ``p4`` command-line tool to use if source tree is managed by Perforce.
-
-  * `CTest Script`_ variable: :variable:`CTEST_P4_COMMAND`
-  * :module:`CTest` module variable: ``P4COMMAND``
-
-``P4Options``
-  Command-line options to the ``P4Command`` for all invocations.
-
-  * `CTest Script`_ variable: :variable:`CTEST_P4_OPTIONS`
-  * :module:`CTest` module variable: ``CTEST_P4_OPTIONS``
-
-``P4UpdateCustom``
-  Specify a custom command line (as a semicolon-separated list) to run
-  in the source tree (Perforce tree) to update it instead of running
-  the ``P4Command``.
-
-  * `CTest Script`_ variable: none
-  * :module:`CTest` module variable: ``CTEST_P4_UPDATE_CUSTOM``
-
-``P4UpdateOptions``
-  Command-line options to the ``P4Command`` when updating the source.
-
-  * `CTest Script`_ variable: :variable:`CTEST_P4_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: ``CTEST_P4_UPDATE_OPTIONS``
-
-``SVNCommand``
-  ``svn`` command-line tool to use if source tree is managed by Subversion.
-
-  * `CTest Script`_ variable: :variable:`CTEST_SVN_COMMAND`
-  * :module:`CTest` module variable: ``SVNCOMMAND``
-
-``SVNOptions``
-  Command-line options to the ``SVNCommand`` for all invocations.
-
-  * `CTest Script`_ variable: :variable:`CTEST_SVN_OPTIONS`
-  * :module:`CTest` module variable: ``CTEST_SVN_OPTIONS``
-
-``SVNUpdateOptions``
-  Command-line options to the ``SVNCommand`` when updating the source.
-
-  * `CTest Script`_ variable: :variable:`CTEST_SVN_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: ``SVN_UPDATE_OPTIONS``
-
-``UpdateCommand``
-  Specify the version-control command-line tool to use without
-  detecting the VCS that manages the source tree.
-
-  * `CTest Script`_ variable: :variable:`CTEST_UPDATE_COMMAND`
-  * :module:`CTest` module variable: ``<VCS>COMMAND``
-    when ``UPDATE_TYPE`` is ``<vcs>``, else ``UPDATE_COMMAND``
-
-``UpdateOptions``
-  Command-line options to the ``UpdateCommand``.
-
-  * `CTest Script`_ variable: :variable:`CTEST_UPDATE_OPTIONS`
-  * :module:`CTest` module variable: ``<VCS>_UPDATE_OPTIONS``
-    when ``UPDATE_TYPE`` is ``<vcs>``, else ``UPDATE_OPTIONS``
-
-``UpdateType``
-  Specify the version-control system that manages the source
-  tree if it cannot be detected automatically.
-  The value may be ``bzr``, ``cvs``, ``git``, ``hg``,
-  ``p4``, or ``svn``.
-
-  * `CTest Script`_ variable: none, detected from source tree
-  * :module:`CTest` module variable: ``UPDATE_TYPE`` if set,
-    else ``CTEST_UPDATE_TYPE``
-
-``UpdateVersionOnly``
-  Specify that you want the version control update command to only
-  discover the current version that is checked out, and not to update
-  to a different version.
-
-  * `CTest Script`_ variable: :variable:`CTEST_UPDATE_VERSION_ONLY`
-
-
-
-Additional configuration settings include:
-
-``NightlyStartTime``
-  In the ``Nightly`` dashboard mode, specify the "nightly start time".
-  With centralized version control systems (``cvs`` and ``svn``),
-  the ``Update`` step checks out the version of the software as of
-  this time so that multiple clients choose a common version to test.
-  This is not well-defined in distributed version-control systems so
-  the setting is ignored.
-
-  * `CTest Script`_ variable: :variable:`CTEST_NIGHTLY_START_TIME`
-  * :module:`CTest` module variable: ``NIGHTLY_START_TIME`` if set,
-    else ``CTEST_NIGHTLY_START_TIME``
-
-.. _`CTest Configure Step`:
-
-CTest Configure Step
---------------------
-
-In a `CTest Script`_, the :command:`ctest_configure` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings include:
-
-``ConfigureCommand``
-  Command-line to launch the software configuration process.
-  It will be executed in the location specified by the
-  ``BuildDirectory`` setting.
-
-  * `CTest Script`_ variable: :variable:`CTEST_CONFIGURE_COMMAND`
-  * :module:`CTest` module variable: :variable:`CMAKE_COMMAND`
-    followed by :variable:`PROJECT_SOURCE_DIR`
-
-.. _`CTest Build Step`:
-
-CTest Build Step
-----------------
-
-In a `CTest Script`_, the :command:`ctest_build` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings include:
-
-``DefaultCTestConfigurationType``
-  When the build system to be launched allows build-time selection
-  of the configuration (e.g. ``Debug``, ``Release``), this specifies
-  the default configuration to be built when no ``-C`` option is
-  given to the ``ctest`` command.  The value will be substituted into
-  the value of ``MakeCommand`` to replace the literal string
-  ``${CTEST_CONFIGURATION_TYPE}`` if it appears.
-
-  * `CTest Script`_ variable: :variable:`CTEST_CONFIGURATION_TYPE`
-  * :module:`CTest` module variable: ``DEFAULT_CTEST_CONFIGURATION_TYPE``,
-    initialized by the ``CMAKE_CONFIG_TYPE`` environment variable
-
-``MakeCommand``
-  Command-line to launch the software build process.
-  It will be executed in the location specified by the
-  ``BuildDirectory`` setting.
-
-  * `CTest Script`_ variable: :variable:`CTEST_BUILD_COMMAND`
-  * :module:`CTest` module variable: ``MAKECOMMAND``,
-    initialized by the :command:`build_command` command
-
-``UseLaunchers``
-  For build trees generated by CMake using one of the
-  :ref:`Makefile Generators` or the :generator:`Ninja`
-  generator, specify whether the
-  ``CTEST_USE_LAUNCHERS`` feature is enabled by the
-  :module:`CTestUseLaunchers` module (also included by the
-  :module:`CTest` module).  When enabled, the generated build
-  system wraps each invocation of the compiler, linker, or
-  custom command line with a "launcher" that communicates
-  with CTest via environment variables and files to report
-  granular build warning and error information.  Otherwise,
-  CTest must "scrape" the build output log for diagnostics.
-
-  * `CTest Script`_ variable: :variable:`CTEST_USE_LAUNCHERS`
-  * :module:`CTest` module variable: ``CTEST_USE_LAUNCHERS``
-
-.. _`CTest Test Step`:
-
-CTest Test Step
----------------
-
-In a `CTest Script`_, the :command:`ctest_test` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings include:
-
-``TestLoad``
-  While running tests in parallel (e.g. with ``-j``), try not to start
-  tests when they may cause the CPU load to pass above a given threshold.
-
-  * `CTest Script`_ variable: :variable:`CTEST_TEST_LOAD`
-  * :module:`CTest` module variable: ``CTEST_TEST_LOAD``
-
-``TimeOut``
-  The default timeout for each test if not specified by the
-  :prop_test:`TIMEOUT` test property.
-
-  * `CTest Script`_ variable: :variable:`CTEST_TEST_TIMEOUT`
-  * :module:`CTest` module variable: ``DART_TESTING_TIMEOUT``
-
-.. _`CTest Coverage Step`:
-
-CTest Coverage Step
--------------------
-
-In a `CTest Script`_, the :command:`ctest_coverage` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings include:
-
-``CoverageCommand``
-  Command-line tool to perform software coverage analysis.
-  It will be executed in the location specified by the
-  ``BuildDirectory`` setting.
-
-  * `CTest Script`_ variable: :variable:`CTEST_COVERAGE_COMMAND`
-  * :module:`CTest` module variable: ``COVERAGE_COMMAND``
-
-``CoverageExtraFlags``
-  Specify command-line options to the ``CoverageCommand`` tool.
-
-  * `CTest Script`_ variable: :variable:`CTEST_COVERAGE_EXTRA_FLAGS`
-  * :module:`CTest` module variable: ``COVERAGE_EXTRA_FLAGS``
-
-.. _`CTest MemCheck Step`:
-
-CTest MemCheck Step
--------------------
-
-In a `CTest Script`_, the :command:`ctest_memcheck` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings include:
-
-``MemoryCheckCommand``
-  Command-line tool to perform dynamic analysis.  Test command lines
-  will be launched through this tool.
-
-  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_COMMAND`
-  * :module:`CTest` module variable: ``MEMORYCHECK_COMMAND``
-
-``MemoryCheckCommandOptions``
-  Specify command-line options to the ``MemoryCheckCommand`` tool.
-  They will be placed prior to the test command line.
-
-  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_COMMAND_OPTIONS`
-  * :module:`CTest` module variable: ``MEMORYCHECK_COMMAND_OPTIONS``
-
-``MemoryCheckType``
-  Specify the type of memory checking to perform.
-
-  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_TYPE`
-  * :module:`CTest` module variable: ``MEMORYCHECK_TYPE``
-
-``MemoryCheckSanitizerOptions``
-  Specify options to sanitizers when running with a sanitize-enabled build.
-
-  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS`
-  * :module:`CTest` module variable: ``MEMORYCHECK_SANITIZER_OPTIONS``
-
-``MemoryCheckSuppressionFile``
-  Specify a file containing suppression rules for the
-  ``MemoryCheckCommand`` tool.  It will be passed with options
-  appropriate to the tool.
-
-  * `CTest Script`_ variable: :variable:`CTEST_MEMORYCHECK_SUPPRESSIONS_FILE`
-  * :module:`CTest` module variable: ``MEMORYCHECK_SUPPRESSIONS_FILE``
-
-Additional configuration settings include:
-
-``BoundsCheckerCommand``
-  Specify a ``MemoryCheckCommand`` that is known to be command-line
-  compatible with Bounds Checker.
-
-  * `CTest Script`_ variable: none
-  * :module:`CTest` module variable: none
-
-``PurifyCommand``
-  Specify a ``MemoryCheckCommand`` that is known to be command-line
-  compatible with Purify.
-
-  * `CTest Script`_ variable: none
-  * :module:`CTest` module variable: ``PURIFYCOMMAND``
-
-``ValgrindCommand``
-  Specify a ``MemoryCheckCommand`` that is known to be command-line
-  compatible with Valgrind.
-
-  * `CTest Script`_ variable: none
-  * :module:`CTest` module variable: ``VALGRIND_COMMAND``
-
-``ValgrindCommandOptions``
-  Specify command-line options to the ``ValgrindCommand`` tool.
-  They will be placed prior to the test command line.
-
-  * `CTest Script`_ variable: none
-  * :module:`CTest` module variable: ``VALGRIND_COMMAND_OPTIONS``
-
-.. _`CTest Submit Step`:
-
-CTest Submit Step
------------------
-
-In a `CTest Script`_, the :command:`ctest_submit` command runs this step.
-Arguments to the command may specify some of the step settings.
-
-Configuration settings include:
-
-``BuildName``
-  Describe the dashboard client platform with a short string.
-  (Operating system, compiler, etc.)
-
-  * `CTest Script`_ variable: :variable:`CTEST_BUILD_NAME`
-  * :module:`CTest` module variable: ``BUILDNAME``
-
-``CDashVersion``
-  Specify the version of `CDash`_ on the server.
-
-  * `CTest Script`_ variable: none, detected from server
-  * :module:`CTest` module variable: ``CTEST_CDASH_VERSION``
-
-``CTestSubmitRetryCount``
-  Specify a number of attempts to retry submission on network failure.
-
-  * `CTest Script`_ variable: none,
-    use the :command:`ctest_submit` ``RETRY_COUNT`` option.
-  * :module:`CTest` module variable: ``CTEST_SUBMIT_RETRY_COUNT``
-
-``CTestSubmitRetryDelay``
-  Specify a delay before retrying submission on network failure.
-
-  * `CTest Script`_ variable: none,
-    use the :command:`ctest_submit` ``RETRY_DELAY`` option.
-  * :module:`CTest` module variable: ``CTEST_SUBMIT_RETRY_DELAY``
-
-``CurlOptions``
-  Specify a semicolon-separated list of options to control the
-  Curl library that CTest uses internally to connect to the
-  server.  Possible options are ``CURLOPT_SSL_VERIFYPEER_OFF``
-  and ``CURLOPT_SSL_VERIFYHOST_OFF``.
-
-  * `CTest Script`_ variable: :variable:`CTEST_CURL_OPTIONS`
-  * :module:`CTest` module variable: ``CTEST_CURL_OPTIONS``
-
-``DropLocation``
-  The path on the dashboard server to send the submission.
-
-  * `CTest Script`_ variable: :variable:`CTEST_DROP_LOCATION`
-  * :module:`CTest` module variable: ``DROP_LOCATION`` if set,
-    else ``CTEST_DROP_LOCATION``
-
-``DropMethod``
-  Specify the method by which results should be submitted to the
-  dashboard server.  The value may be ``cp``, ``ftp``, ``http``,
-  ``https``, ``scp``, or ``xmlrpc`` (if CMake was built with
-  support for it).
-
-  * `CTest Script`_ variable: :variable:`CTEST_DROP_METHOD`
-  * :module:`CTest` module variable: ``DROP_METHOD`` if set,
-    else ``CTEST_DROP_METHOD``
-
-``DropSite``
-  The dashboard server name
-  (for ``ftp``, ``http``, and ``https``, ``scp``, and ``xmlrpc``).
-
-  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE`
-  * :module:`CTest` module variable: ``DROP_SITE`` if set,
-    else ``CTEST_DROP_SITE``
-
-``DropSitePassword``
-  The dashboard server login password, if any
-  (for ``ftp``, ``http``, and ``https``).
-
-  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_PASSWORD`
-  * :module:`CTest` module variable: ``DROP_SITE_PASSWORD`` if set,
-    else ``CTEST_DROP_SITE_PASWORD``
-
-``DropSiteUser``
-  The dashboard server login user name, if any
-  (for ``ftp``, ``http``, and ``https``).
-
-  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_USER`
-  * :module:`CTest` module variable: ``DROP_SITE_USER`` if set,
-    else ``CTEST_DROP_SITE_USER``
-
-``IsCDash``
-  Specify whether the dashboard server is `CDash`_ or an older
-  dashboard server implementation requiring ``TriggerSite``.
-
-  * `CTest Script`_ variable: :variable:`CTEST_DROP_SITE_CDASH`
-  * :module:`CTest` module variable: ``CTEST_DROP_SITE_CDASH``
-
-``ScpCommand``
-  ``scp`` command-line tool to use when ``DropMethod`` is ``scp``.
-
-  * `CTest Script`_ variable: :variable:`CTEST_SCP_COMMAND`
-  * :module:`CTest` module variable: ``SCPCOMMAND``
-
-``Site``
-  Describe the dashboard client host site with a short string.
-  (Hostname, domain, etc.)
-
-  * `CTest Script`_ variable: :variable:`CTEST_SITE`
-  * :module:`CTest` module variable: ``SITE``,
-    initialized by the :command:`site_name` command
-
-``TriggerSite``
-  Legacy option to support older dashboard server implementations.
-  Not used when ``IsCDash`` is true.
-
-  * `CTest Script`_ variable: :variable:`CTEST_TRIGGER_SITE`
-  * :module:`CTest` module variable: ``TRIGGER_SITE`` if set,
-    else ``CTEST_TRIGGER_SITE``
-
-See Also
-========
-
-.. include:: LINKS.txt
diff --git a/share/cmake-3.6/Help/policy/CMP0040.rst b/share/cmake-3.6/Help/policy/CMP0040.rst
deleted file mode 100644
index d46baf6..0000000
--- a/share/cmake-3.6/Help/policy/CMP0040.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-CMP0040
--------
-
-The target in the ``TARGET`` signature of :command:`add_custom_command`
-must exist and must be defined in current directory.
-
-CMake 2.8.12 and lower silently ignored a custom command created with
-the ``TARGET`` signature of :command:`add_custom_command`
-if the target is unknown or was defined outside the current directory.
-
-The ``OLD`` behavior for this policy is to ignore custom commands
-for unknown targets.  The ``NEW`` behavior for this policy is to report
-an error if the target referenced in :command:`add_custom_command` is
-unknown or was defined outside the current directory.
-
-This policy was introduced in CMake version 3.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.6/Help/prop_dir/TEST_INCLUDE_FILE.rst b/share/cmake-3.6/Help/prop_dir/TEST_INCLUDE_FILE.rst
deleted file mode 100644
index e477951..0000000
--- a/share/cmake-3.6/Help/prop_dir/TEST_INCLUDE_FILE.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-TEST_INCLUDE_FILE
------------------
-
-A cmake file that will be included when ctest is run.
-
-If you specify TEST_INCLUDE_FILE, that file will be included and
-processed when ctest is run on the directory.
diff --git a/share/cmake-3.6/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst b/share/cmake-3.6/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
deleted file mode 100644
index eb91832..0000000
--- a/share/cmake-3.6/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-VS_GLOBAL_SECTION_POST_<section>
---------------------------------
-
-Specify a postSolution global section in Visual Studio.
-
-Setting a property like this generates an entry of the following form
-in the solution file:
-
-::
-
-  GlobalSection(<section>) = postSolution
-    <contents based on property value>
-  EndGlobalSection
-
-The property must be set to a semicolon-separated list of key=value
-pairs.  Each such pair will be transformed into an entry in the
-solution global section.  Whitespace around key and value is ignored.
-List elements which do not contain an equal sign are skipped.
-
-This property only works for Visual Studio 7 and above; it is ignored
-on other generators.  The property only applies when set on a
-directory whose CMakeLists.txt contains a project() command.
-
-Note that CMake generates postSolution sections ExtensibilityGlobals
-and ExtensibilityAddIns by default.  If you set the corresponding
-property, it will override the default section.  For example, setting
-VS_GLOBAL_SECTION_POST_ExtensibilityGlobals will override the default
-contents of the ExtensibilityGlobals section, while keeping
-ExtensibilityAddIns on its default.
diff --git a/share/cmake-3.6/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst b/share/cmake-3.6/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
deleted file mode 100644
index fbcd9e6..0000000
--- a/share/cmake-3.6/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-VS_GLOBAL_SECTION_PRE_<section>
--------------------------------
-
-Specify a preSolution global section in Visual Studio.
-
-Setting a property like this generates an entry of the following form
-in the solution file:
-
-::
-
-  GlobalSection(<section>) = preSolution
-    <contents based on property value>
-  EndGlobalSection
-
-The property must be set to a semicolon-separated list of key=value
-pairs.  Each such pair will be transformed into an entry in the
-solution global section.  Whitespace around key and value is ignored.
-List elements which do not contain an equal sign are skipped.
-
-This property only works for Visual Studio 7 and above; it is ignored
-on other generators.  The property only applies when set on a
-directory whose CMakeLists.txt contains a project() command.
diff --git a/share/cmake-3.6/Help/prop_dir/VS_STARTUP_PROJECT.rst b/share/cmake-3.6/Help/prop_dir/VS_STARTUP_PROJECT.rst
deleted file mode 100644
index edd4832..0000000
--- a/share/cmake-3.6/Help/prop_dir/VS_STARTUP_PROJECT.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-VS_STARTUP_PROJECT
-------------------
-
-Specify the default startup project in a Visual Studio solution.
-
-The property must be set to the name of an existing target.  This
-will cause that project to be listed first in the generated solution
-file causing Visual Studio to make it the startup project if the
-solution has never been opened before.
-
-If this property is not specified, then the "ALL_BUILD" project
-will be the default.
diff --git a/share/cmake-3.6/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst b/share/cmake-3.6/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
deleted file mode 100644
index 5a69ef3..0000000
--- a/share/cmake-3.6/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-AUTOGEN_TARGETS_FOLDER
-----------------------
-
-Name of :prop_tgt:`FOLDER` for ``*_automoc`` targets that are added automatically by
-CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
-
-If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
-default value for this property.  See also the documentation for the
-:prop_tgt:`FOLDER` target property and the :prop_tgt:`AUTOMOC` target property.
diff --git a/share/cmake-3.6/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst b/share/cmake-3.6/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
deleted file mode 100644
index 671f86a..0000000
--- a/share/cmake-3.6/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-AUTOMOC_TARGETS_FOLDER
-----------------------
-
-Name of :prop_tgt:`FOLDER` for ``*_automoc`` targets that are added automatically by
-CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
-
-This property is obsolete.  Use :prop_gbl:`AUTOGEN_TARGETS_FOLDER` instead.
-
-If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
-default value for this property.  See also the documentation for the
-:prop_tgt:`FOLDER` target property and the :prop_tgt:`AUTOMOC` target property.
diff --git a/share/cmake-3.6/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst b/share/cmake-3.6/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
deleted file mode 100644
index e8f4d2a..0000000
--- a/share/cmake-3.6/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
+++ /dev/null
@@ -1,303 +0,0 @@
-CMAKE_CXX_KNOWN_FEATURES
-------------------------
-
-List of C++ features known to this version of CMake.
-
-The features listed in this global property may be known to be available to the
-C++ compiler.  If the feature is available with the C++ compiler, it will
-be listed in the :variable:`CMAKE_CXX_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:
-
-``cxx_aggregate_default_initializers``
-  Aggregate default initializers, as defined in N3605_.
-
-  .. _N3605: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3605.html
-
-``cxx_alias_templates``
-  Template aliases, as defined in N2258_.
-
-  .. _N2258: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
-
-``cxx_alignas``
-  Alignment control ``alignas``, as defined in N2341_.
-
-  .. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
-
-``cxx_alignof``
-  Alignment control ``alignof``, as defined in N2341_.
-
-  .. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
-
-``cxx_attributes``
-  Generic attributes, as defined in N2761_.
-
-  .. _N2761: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
-
-``cxx_attribute_deprecated``
-  ``[[deprecated]]`` attribute, as defined in N3760_.
-
-  .. _N3760: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html
-
-``cxx_auto_type``
-  Automatic type deduction, as defined in N1984_.
-
-  .. _N1984: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
-
-``cxx_binary_literals``
-  Binary literals, as defined in N3472_.
-
-  .. _N3472: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf
-
-``cxx_constexpr``
-  Constant expressions, as defined in N2235_.
-
-  .. _N2235: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
-
-``cxx_contextual_conversions``
-  Contextual conversions, as defined in N3323_.
-
-  .. _N3323: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf
-
-``cxx_decltype_incomplete_return_types``
-  Decltype on incomplete return types, as defined in N3276_.
-
-  .. _N3276 : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf
-
-``cxx_decltype``
-  Decltype, as defined in N2343_.
-
-  .. _N2343: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
-
-``cxx_decltype_auto``
-  ``decltype(auto)`` semantics, as defined in N3638_.
-
-  .. _N3638: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html
-
-``cxx_default_function_template_args``
-  Default template arguments for function templates, as defined in DR226_
-
-  .. _DR226: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
-
-``cxx_defaulted_functions``
-  Defaulted functions, as defined in N2346_.
-
-  .. _N2346: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
-
-``cxx_defaulted_move_initializers``
-  Defaulted move initializers, as defined in N3053_.
-
-  .. _N3053: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
-
-``cxx_delegating_constructors``
-  Delegating constructors, as defined in N1986_.
-
-  .. _N1986: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
-
-``cxx_deleted_functions``
-  Deleted functions, as defined in N2346_.
-
-  .. _N2346: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
-
-``cxx_digit_separators``
-  Digit separators, as defined in N3781_.
-
-  .. _N3781: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf
-
-``cxx_enum_forward_declarations``
-  Enum forward declarations, as defined in N2764_.
-
-  .. _N2764: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
-
-``cxx_explicit_conversions``
-  Explicit conversion operators, as defined in N2437_.
-
-  .. _N2437: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
-
-``cxx_extended_friend_declarations``
-  Extended friend declarations, as defined in N1791_.
-
-  .. _N1791: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
-
-``cxx_extern_templates``
-  Extern templates, as defined in N1987_.
-
-  .. _N1987: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
-
-``cxx_final``
-  Override control ``final`` keyword, as defined in N2928_, N3206_ and N3272_.
-
-  .. _N2928: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
-  .. _N3206: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
-  .. _N3272: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
-
-``cxx_func_identifier``
-  Predefined ``__func__`` identifier, as defined in N2340_.
-
-  .. _N2340: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
-
-``cxx_generalized_initializers``
-  Initializer lists, as defined in N2672_.
-
-  .. _N2672: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
-
-``cxx_generic_lambdas``
-  Generic lambdas, as defined in N3649_.
-
-  .. _N3649: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html
-
-``cxx_inheriting_constructors``
-  Inheriting constructors, as defined in N2540_.
-
-  .. _N2540: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
-
-``cxx_inline_namespaces``
-  Inline namespaces, as defined in N2535_.
-
-  .. _N2535: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
-
-``cxx_lambdas``
-  Lambda functions, as defined in N2927_.
-
-  .. _N2927: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf
-
-``cxx_lambda_init_captures``
-  Initialized lambda captures, as defined in N3648_.
-
-  .. _N3648: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html
-
-``cxx_local_type_template_args``
-  Local and unnamed types as template arguments, as defined in N2657_.
-
-  .. _N2657: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
-
-``cxx_long_long_type``
-  ``long long`` type, as defined in N1811_.
-
-  .. _N1811: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
-
-``cxx_noexcept``
-  Exception specifications, as defined in N3050_.
-
-  .. _N3050: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
-
-``cxx_nonstatic_member_init``
-  Non-static data member initialization, as defined in N2756_.
-
-  .. _N2756: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm
-
-``cxx_nullptr``
-  Null pointer, as defined in N2431_.
-
-  .. _N2431: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
-
-``cxx_override``
-  Override control ``override`` keyword, as defined in N2928_, N3206_
-  and N3272_.
-
-  .. _N2928: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
-  .. _N3206: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
-  .. _N3272: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
-
-``cxx_range_for``
-  Range-based for, as defined in N2930_.
-
-  .. _N2930: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
-
-``cxx_raw_string_literals``
-  Raw string literals, as defined in N2442_.
-
-  .. _N2442: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
-
-``cxx_reference_qualified_functions``
-  Reference qualified functions, as defined in N2439_.
-
-  .. _N2439: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
-
-``cxx_relaxed_constexpr``
-  Relaxed constexpr, as defined in N3652_.
-
-  .. _N3652: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html
-
-``cxx_return_type_deduction``
-  Return type deduction on normal functions, as defined in N3386_.
-
-  .. _N3386: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3386.html
-
-``cxx_right_angle_brackets``
-  Right angle bracket parsing, as defined in N1757_.
-
-  .. _N1757: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
-
-``cxx_rvalue_references``
-  R-value references, as defined in N2118_.
-
-  .. _N2118: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
-
-``cxx_sizeof_member``
-  Size of non-static data members, as defined in N2253_.
-
-  .. _N2253: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
-
-``cxx_static_assert``
-  Static assert, as defined in N1720_.
-
-  .. _N1720: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
-
-``cxx_strong_enums``
-  Strongly typed enums, as defined in N2347_.
-
-  .. _N2347: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
-
-``cxx_thread_local``
-  Thread-local variables, as defined in N2659_.
-
-  .. _N2659: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
-
-``cxx_trailing_return_types``
-  Automatic function return type, as defined in N2541_.
-
-  .. _N2541: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
-
-``cxx_unicode_literals``
-  Unicode string literals, as defined in N2442_.
-
-  .. _N2442: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
-
-``cxx_uniform_initialization``
-  Uniform initialization, as defined in N2640_.
-
-  .. _N2640: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf
-
-``cxx_unrestricted_unions``
-  Unrestricted unions, as defined in N2544_.
-
-  .. _N2544: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
-
-``cxx_user_literals``
-  User-defined literals, as defined in N2765_.
-
-  .. _N2765: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
-
-``cxx_variable_templates``
-  Variable templates, as defined in N3651_.
-
-  .. _N3651: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf
-
-``cxx_variadic_macros``
-  Variadic macros, as defined in N1653_.
-
-  .. _N1653: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
-
-``cxx_variadic_templates``
-  Variadic templates, as defined in N2242_.
-
-  .. _N2242: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
-
-``cxx_template_template_parameters``
-  Template template parameters, as defined in ``ISO/IEC 14882:1998``.
diff --git a/share/cmake-3.6/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst b/share/cmake-3.6/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
deleted file mode 100644
index a08af00..0000000
--- a/share/cmake-3.6/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-CMAKE_C_KNOWN_FEATURES
-----------------------
-
-List of C features known to this version of CMake.
-
-The features listed in this global property may be known to be available to the
-C compiler.  If the feature is available with the C compiler, it will
-be listed in the :variable:`CMAKE_C_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:
-
-``c_function_prototypes``
-  Function prototypes, as defined in ``ISO/IEC 9899:1990``.
-
-``c_restrict``
-  ``restrict`` keyword, as defined in ``ISO/IEC 9899:1999``.
-
-``c_static_assert``
-  Static assert, as defined in ``ISO/IEC 9899:2011``.
-
-``c_variadic_macros``
-  Variadic macros, as defined in ``ISO/IEC 9899:1999``.
diff --git a/share/cmake-3.6/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst b/share/cmake-3.6/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
deleted file mode 100644
index e52f8eb..0000000
--- a/share/cmake-3.6/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-FIND_LIBRARY_USE_LIB64_PATHS
-----------------------------
-
-Whether :command:`find_library` should automatically search lib64
-directories.
-
-FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the
-:command:`find_library` command should automatically search the lib64
-variant of directories called lib in the search path when building
-64-bit binaries.
diff --git a/share/cmake-3.6/Help/prop_sf/AUTORCC_OPTIONS.rst b/share/cmake-3.6/Help/prop_sf/AUTORCC_OPTIONS.rst
deleted file mode 100644
index d9dc4d3..0000000
--- a/share/cmake-3.6/Help/prop_sf/AUTORCC_OPTIONS.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-AUTORCC_OPTIONS
----------------
-
-Additional options for ``rcc`` when using :prop_tgt:`AUTORCC`
-
-This property holds additional command line options which will be used when
-``rcc`` is executed during the build via :prop_tgt:`AUTORCC`, i.e. it is equivalent to the
-optional ``OPTIONS`` argument of the :module:`qt4_add_resources() <FindQt4>` macro.
-
-By default it is empty.
-
-The options set on the ``.qrc`` source file may override :prop_tgt:`AUTORCC_OPTIONS` set
-on the target.
diff --git a/share/cmake-3.6/Help/prop_sf/AUTOUIC_OPTIONS.rst b/share/cmake-3.6/Help/prop_sf/AUTOUIC_OPTIONS.rst
deleted file mode 100644
index bb48da9..0000000
--- a/share/cmake-3.6/Help/prop_sf/AUTOUIC_OPTIONS.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-AUTOUIC_OPTIONS
----------------
-
-Additional options for ``uic`` when using :prop_tgt:`AUTOUIC`
-
-This property holds additional command line options
-which will be used when ``uic`` is executed during the build via :prop_tgt:`AUTOUIC`,
-i.e. it is equivalent to the optional ``OPTIONS`` argument of the
-:module:`qt4_wrap_ui() <FindQt4>` macro.
-
-By default it is empty.
-
-The options set on the ``.ui`` source file may override :prop_tgt:`AUTOUIC_OPTIONS` set
-on the target.
diff --git a/share/cmake-3.6/Help/prop_sf/COMPILE_FLAGS.rst b/share/cmake-3.6/Help/prop_sf/COMPILE_FLAGS.rst
deleted file mode 100644
index 086a063..0000000
--- a/share/cmake-3.6/Help/prop_sf/COMPILE_FLAGS.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-COMPILE_FLAGS
--------------
-
-Additional flags to be added when compiling this source file.
-
-These flags will be added to the list of compile flags when this
-source file builds.  Use :prop_sf:`COMPILE_DEFINITIONS` to pass
-additional preprocessor definitions.
diff --git a/share/cmake-3.6/Help/prop_sf/HEADER_FILE_ONLY.rst b/share/cmake-3.6/Help/prop_sf/HEADER_FILE_ONLY.rst
deleted file mode 100644
index b4fb2db..0000000
--- a/share/cmake-3.6/Help/prop_sf/HEADER_FILE_ONLY.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-HEADER_FILE_ONLY
-----------------
-
-Is this source file only a header file.
-
-A property on a source file that indicates if the source file is a
-header file with no associated implementation.  This is set
-automatically based on the file extension and is used by CMake to
-determine if certain dependency information should be computed.
diff --git a/share/cmake-3.6/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst b/share/cmake-3.6/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
deleted file mode 100644
index 69cdcb7..0000000
--- a/share/cmake-3.6/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-MACOSX_PACKAGE_LOCATION
------------------------
-
-Place a source file inside a Application Bundle
-(:prop_tgt:`MACOSX_BUNDLE`), Core Foundation Bundle (:prop_tgt:`BUNDLE`),
-or Framework Bundle (:prop_tgt:`FRAMEWORK`).  It is applicable for OS X
-and iOS.
-
-Executable targets with the :prop_tgt:`MACOSX_BUNDLE` property set are
-built as OS X or iOS application bundles on Apple platforms.  Shared
-library targets with the :prop_tgt:`FRAMEWORK` property set are built as
-OS X or iOS frameworks on Apple platforms.  Module library targets with
-the :prop_tgt:`BUNDLE` property set are built as OS X ``CFBundle`` bundles
-on Apple platforms.  Source files listed in the target with this property
-set will be copied to a directory inside the bundle or framework content
-folder specified by the property value.  For OS X Application Bundles the
-content folder is ``<name>.app/Contents``.  For OS X Frameworks the
-content folder is ``<name>.framework/Versions/<version>``.  For OS X
-CFBundles the content folder is ``<name>.bundle/Contents`` (unless the
-extension is changed).  See the :prop_tgt:`PUBLIC_HEADER`,
-:prop_tgt:`PRIVATE_HEADER`, and :prop_tgt:`RESOURCE` target properties for
-specifying files meant for ``Headers``, ``PrivateHeaders``, or
-``Resources`` directories.
diff --git a/share/cmake-3.6/Help/prop_test/DEPENDS.rst b/share/cmake-3.6/Help/prop_test/DEPENDS.rst
deleted file mode 100644
index ee946d9..0000000
--- a/share/cmake-3.6/Help/prop_test/DEPENDS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-DEPENDS
--------
-
-Specifies that this test should only be run after the specified list of tests.
-
-Set this to a list of tests that must finish before this test is run.
diff --git a/share/cmake-3.6/Help/prop_test/PROCESSORS.rst b/share/cmake-3.6/Help/prop_test/PROCESSORS.rst
deleted file mode 100644
index 763b6d0..0000000
--- a/share/cmake-3.6/Help/prop_test/PROCESSORS.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-PROCESSORS
-----------
-
-How many process slots this test requires
-
-Denotes the number of processors that this test will require.  This is
-typically used for MPI tests, and should be used in conjunction with
-the ctest_test PARALLEL_LEVEL option.
diff --git a/share/cmake-3.6/Help/prop_test/RESOURCE_LOCK.rst b/share/cmake-3.6/Help/prop_test/RESOURCE_LOCK.rst
deleted file mode 100644
index 8c30f01..0000000
--- a/share/cmake-3.6/Help/prop_test/RESOURCE_LOCK.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-RESOURCE_LOCK
--------------
-
-Specify a list of resources that are locked by this test.
-
-If multiple tests specify the same resource lock, they are guaranteed
-not to run concurrently.
diff --git a/share/cmake-3.6/Help/prop_test/TIMEOUT_AFTER_MATCH.rst b/share/cmake-3.6/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
deleted file mode 100644
index a191a9c..0000000
--- a/share/cmake-3.6/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-TIMEOUT_AFTER_MATCH
--------------------
-
-Change a test's timeout duration after a matching line is encountered
-in its output.
-
-Usage
-^^^^^
-
-.. code-block:: cmake
-
- add_test(mytest ...)
- set_property(TEST mytest PROPERTY TIMEOUT_AFTER_MATCH "${seconds}" "${regex}")
-
-Description
-^^^^^^^^^^^
-
-Allow a test ``seconds`` to complete after ``regex`` is encountered in
-its output.
-
-When the test outputs a line that matches ``regex`` its start time is
-reset to the current time and its timeout duration is changed to
-``seconds``.  Prior to this, the timeout duration is determined by the
-:prop_test:`TIMEOUT` property or the :variable:`CTEST_TEST_TIMEOUT`
-variable if either of these are set.
-
-:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
-timeouts when your test must wait for some system resource to become
-available before it can execute.  Set :prop_test:`TIMEOUT` to a longer
-duration that accounts for resource acquisition and use
-:prop_test:`TIMEOUT_AFTER_MATCH` to control how long the actual test
-is allowed to run.
-
-If the required resource can be controlled by CTest you should use
-:prop_test:`RESOURCE_LOCK` instead of :prop_test:`TIMEOUT_AFTER_MATCH`.
-This property should be used when only the test itself can determine
-when its required resources are available.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_API.rst b/share/cmake-3.6/Help/prop_tgt/ANDROID_API.rst
deleted file mode 100644
index 714ad58..0000000
--- a/share/cmake-3.6/Help/prop_tgt/ANDROID_API.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-ANDROID_API
------------
-
-Set the Android Target API version (e.g. ``15``).  The version number
-must be a positive decimal integer.  This property is initialized by
-the value of the :variable:`CMAKE_ANDROID_API` variable if it is set
-when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_ARCH.rst b/share/cmake-3.6/Help/prop_tgt/ANDROID_ARCH.rst
deleted file mode 100644
index 5477fb5..0000000
--- a/share/cmake-3.6/Help/prop_tgt/ANDROID_ARCH.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-ANDROID_ARCH
-------------
-
-Set the Android target architecture.
-
-This is a string property that could be set to the one of
-the following values:
-
-* ``armv7-a``: "ARMv7-A (armv7-a)"
-* ``armv7-a-hard``: "ARMv7-A, hard-float ABI (armv7-a)"
-* ``arm64-v8a``: "ARMv8-A, 64bit (arm64-v8a)"
-* ``x86``: "x86 (x86)"
-* ``x86_64``: "x86_64 (x86_64)"
-
-This property is initialized by the value of the
-:variable:`CMAKE_ANDROID_ARCH` variable if it is set
-when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_GUI.rst b/share/cmake-3.6/Help/prop_tgt/ANDROID_GUI.rst
deleted file mode 100644
index abdba7a..0000000
--- a/share/cmake-3.6/Help/prop_tgt/ANDROID_GUI.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-ANDROID_GUI
------------
-
-Build an executable as an application package on Android.
-
-When this property is set to true the executable when built for Android
-will be created as an application package.  This property is initialized
-by the value of the :variable:`CMAKE_ANDROID_GUI` variable if it is set
-when a target is created.
-
-Add the ``AndroidManifest.xml`` source file explicitly to the
-target :command:`add_executable` command invocation to specify the
-root directory of the application package source.
diff --git a/share/cmake-3.6/Help/prop_tgt/ANDROID_STL_TYPE.rst b/share/cmake-3.6/Help/prop_tgt/ANDROID_STL_TYPE.rst
deleted file mode 100644
index 7256e26..0000000
--- a/share/cmake-3.6/Help/prop_tgt/ANDROID_STL_TYPE.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-ANDROID_STL_TYPE
-----------------
-
-Set the Android property that defines the type of STL support for the project.
-This is a string property that could set to the one of the following values:
-``none``           e.g. "No C++ Support"
-``system``         e.g. "Minimal C++ without STL"
-``gabi++_static``  e.g. "GAbi++ Static"
-``gabi++_shared``  e.g. "GAbi++ Shared"
-``gnustl_static``  e.g. "GNU libstdc++ Static"
-``gnustl_shared``  e.g. "GNU libstdc++ Shared"
-``stlport_static`` e.g. "STLport Static"
-``stlport_shared`` e.g. "STLport Shared"
-This property is initialized by the value of the
-variable:`CMAKE_ANDROID_STL_TYPE` variable if it is set when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst b/share/cmake-3.6/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
deleted file mode 100644
index 5063244..0000000
--- a/share/cmake-3.6/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-AUTOGEN_TARGET_DEPENDS
-----------------------
-
-Target dependencies of the corresponding ``_automoc`` target.
-
-Targets which have their :prop_tgt:`AUTOMOC` target ``ON`` have a
-corresponding ``_automoc`` target which is used to autogenerate generate moc
-files.  As this ``_automoc`` target is created at generate-time, it is not
-possible to define dependencies of it, such as to create inputs for the ``moc``
-executable.
-
-The ``AUTOGEN_TARGET_DEPENDS`` target property can be set instead to a list of
-dependencies for the ``_automoc`` target.  The buildsystem will be generated to
-depend on its contents.
-
-See the :manual:`cmake-qt(7)` manual for more information on using CMake
-with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTOMOC.rst b/share/cmake-3.6/Help/prop_tgt/AUTOMOC.rst
deleted file mode 100644
index 8143ba9..0000000
--- a/share/cmake-3.6/Help/prop_tgt/AUTOMOC.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-AUTOMOC
--------
-
-Should the target be processed with automoc (for Qt projects).
-
-AUTOMOC is a boolean specifying whether CMake will handle the Qt ``moc``
-preprocessor automatically, i.e.  without having to use the
-:module:`QT4_WRAP_CPP() <FindQt4>` or QT5_WRAP_CPP() macro.  Currently Qt4 and Qt5 are
-supported.
-
-When this property is set ``ON``, CMake will scan the
-source files at build time and invoke moc accordingly.
-
-* If an ``#include`` statement like ``#include "moc_foo.cpp"`` is found,
-  the ``Q_OBJECT`` class declaration is expected in the header, and
-  ``moc`` is run on the header file.  A ``moc_foo.cpp`` file will be
-  generated from the source's header into the
-  :variable:`CMAKE_CURRENT_BINARY_DIR` directory.  This allows the
-  compiler to find the included ``moc_foo.cpp`` file regardless of the
-  location the original source.  However, if multiple source files
-  in different directories do this then their generated moc files would
-  collide.  In this case a diagnostic will be issued.
-
-* If an ``#include`` statement like ``#include "foo.moc"`` is found,
-  then a ``Q_OBJECT`` is expected in the current source file and ``moc``
-  is run on the file itself.  Additionally, header files with the same
-  base name (like ``foo.h``) or ``_p`` appended to the base name (like
-  ``foo_p.h``) are parsed for ``Q_OBJECT`` macros, and if found, ``moc``
-  is also executed on those files.  ``AUTOMOC`` checks multiple header
-  alternative extensions, such as ``hpp``, ``hxx`` etc when searching
-  for headers.  The resulting moc files, which are not included as shown
-  above in any of the source files are included in a generated
-  ``<targetname>_automoc.cpp`` file, which is compiled as part of the
-  target.
-
-This property is initialized by the value of the :variable:`CMAKE_AUTOMOC`
-variable if it is set when a target is created.
-
-Additional command line options for moc can be set via the
-:prop_tgt:`AUTOMOC_MOC_OPTIONS` property.
-
-By enabling the :variable:`CMAKE_AUTOMOC_RELAXED_MODE` variable the
-rules for searching the files which will be processed by moc can be relaxed.
-See the documentation for this variable for more details.
-
-The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
-automoc targets together in an IDE, e.g.  in MSVS.
-
-See the :manual:`cmake-qt(7)` manual for more information on using CMake
-with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTORCC.rst b/share/cmake-3.6/Help/prop_tgt/AUTORCC.rst
deleted file mode 100644
index 8dce6b1..0000000
--- a/share/cmake-3.6/Help/prop_tgt/AUTORCC.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-AUTORCC
--------
-
-Should the target be processed with autorcc (for Qt projects).
-
-``AUTORCC`` is a boolean specifying whether CMake will handle
-the Qt ``rcc`` code generator automatically, i.e. without having to use
-the :module:`QT4_ADD_RESOURCES() <FindQt4>` or ``QT5_ADD_RESOURCES()``
-macro.  Currently Qt4 and Qt5 are supported.
-
-When this property is ``ON``, CMake will handle ``.qrc`` files added
-as target sources at build time and invoke ``rcc`` accordingly.
-This property is initialized by the value of the :variable:`CMAKE_AUTORCC`
-variable if it is set when a target is created.
-
-Additional command line options for rcc can be set via the
-:prop_sf:`AUTORCC_OPTIONS` source file property on the ``.qrc`` file.
-
-The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group
-the autorcc targets together in an IDE, e.g. in MSVS.
-
-See the :manual:`cmake-qt(7)` manual for more information on using CMake
-with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTORCC_OPTIONS.rst b/share/cmake-3.6/Help/prop_tgt/AUTORCC_OPTIONS.rst
deleted file mode 100644
index 8a0f632..0000000
--- a/share/cmake-3.6/Help/prop_tgt/AUTORCC_OPTIONS.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-AUTORCC_OPTIONS
----------------
-
-Additional options for ``rcc`` when using :prop_tgt:`AUTORCC`
-
-This property holds additional command line options which will be used
-when ``rcc`` is executed during the build via :prop_tgt:`AUTORCC`,
-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.
-
-The options set on the target may be overridden by :prop_sf:`AUTORCC_OPTIONS`
-set on the ``.qrc`` source file.
-
-See the :manual:`cmake-qt(7)` manual for more information on using CMake
-with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTOUIC.rst b/share/cmake-3.6/Help/prop_tgt/AUTOUIC.rst
deleted file mode 100644
index 4e60ec3..0000000
--- a/share/cmake-3.6/Help/prop_tgt/AUTOUIC.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-AUTOUIC
--------
-
-Should the target be processed with autouic (for Qt projects).
-
-``AUTOUIC`` is a boolean specifying whether CMake will handle
-the Qt ``uic`` code generator automatically, i.e. without having to use
-the :module:`QT4_WRAP_UI() <FindQt4>` or ``QT5_WRAP_UI()`` macro. Currently
-Qt4 and Qt5 are supported.
-
-When this property is ``ON``, CMake will scan the source files at build time
-and invoke ``uic`` accordingly.  If an ``#include`` statement like
-``#include "ui_foo.h"`` is found in ``foo.cpp``, a ``foo.ui`` file is
-expected next to ``foo.cpp``, and ``uic`` is run on the ``foo.ui`` file.
-This property is initialized by the value of the :variable:`CMAKE_AUTOUIC`
-variable if it is set when a target is created.
-
-Additional command line options for ``uic`` can be set via the
-:prop_sf:`AUTOUIC_OPTIONS` source file property on the ``foo.ui`` file.
-The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
-autouic targets together in an IDE, e.g. in MSVS.
-
-See the :manual:`cmake-qt(7)` manual for more information on using CMake
-with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/AUTOUIC_OPTIONS.rst b/share/cmake-3.6/Help/prop_tgt/AUTOUIC_OPTIONS.rst
deleted file mode 100644
index dc3bee5..0000000
--- a/share/cmake-3.6/Help/prop_tgt/AUTOUIC_OPTIONS.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-AUTOUIC_OPTIONS
----------------
-
-Additional options for uic when using :prop_tgt:`AUTOUIC`
-
-This property holds additional command line options which will be used when
-``uic`` is executed during the build via :prop_tgt:`AUTOUIC`, i.e. it is
-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.
-
-The options set on the target may be overridden by :prop_sf:`AUTOUIC_OPTIONS`
-set on the ``.ui`` source file.
-
-This property may use "generator expressions" with the syntax ``$<...>``.
-See the :manual:`cmake-generator-expressions(7)` manual for available
-expressions.
-
-See the :manual:`cmake-qt(7)` manual for more information on using CMake
-with Qt.
diff --git a/share/cmake-3.6/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst b/share/cmake-3.6/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
deleted file mode 100644
index abcf28f..0000000
--- a/share/cmake-3.6/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-BUILD_WITH_INSTALL_RPATH
-------------------------
-
-Should build tree targets have install tree rpaths.
-
-BUILD_WITH_INSTALL_RPATH is a boolean specifying whether to link the
-target in the build tree with the INSTALL_RPATH.  This takes
-precedence over SKIP_BUILD_RPATH and avoids the need for relinking
-before installation.  This property is initialized by the value of the
-variable CMAKE_BUILD_WITH_INSTALL_RPATH if it is set when a target is
-created.
diff --git a/share/cmake-3.6/Help/prop_tgt/BUNDLE_EXTENSION.rst b/share/cmake-3.6/Help/prop_tgt/BUNDLE_EXTENSION.rst
deleted file mode 100644
index ea265b3..0000000
--- a/share/cmake-3.6/Help/prop_tgt/BUNDLE_EXTENSION.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-BUNDLE_EXTENSION
-----------------
-
-The file extension used to name a :prop_tgt:`BUNDLE` target on the OS X and iOS.
-
-The default value is ``bundle`` - you can also use ``plugin`` or whatever
-file extension is required by the host app for your bundle.
diff --git a/share/cmake-3.6/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst b/share/cmake-3.6/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
deleted file mode 100644
index d30a2f2..0000000
--- a/share/cmake-3.6/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-CROSSCOMPILING_EMULATOR
------------------------
-
-Use the given emulator to run executables created when crosscompiling.
-This command will be added as a prefix to :command:`add_test`,
-:command:`add_custom_command`, and :command:`add_custom_target` commands
-for built target system executables.
diff --git a/share/cmake-3.6/Help/prop_tgt/CXX_EXTENSIONS.rst b/share/cmake-3.6/Help/prop_tgt/CXX_EXTENSIONS.rst
deleted file mode 100644
index 0f547e2..0000000
--- a/share/cmake-3.6/Help/prop_tgt/CXX_EXTENSIONS.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-CXX_EXTENSIONS
---------------
-
-Boolean specifying whether compiler specific extensions are requested.
-
-This property specifies whether compiler specific extensions should be
-used.  For some compilers, this results in adding a flag such
-as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line.  This
-property is ``ON`` by default.
-
-See the :manual:`cmake-compile-features(7)` manual for information on
-compile features and a list of supported compilers.
-
-This property is initialized by the value of
-the :variable:`CMAKE_CXX_EXTENSIONS` variable if it is set when a target
-is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/CXX_STANDARD.rst b/share/cmake-3.6/Help/prop_tgt/CXX_STANDARD.rst
deleted file mode 100644
index edc9ba5..0000000
--- a/share/cmake-3.6/Help/prop_tgt/CXX_STANDARD.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-CXX_STANDARD
-------------
-
-The C++ standard whose features are requested to build this target.
-
-This property specifies the C++ standard whose features are requested
-to build this target.  For some compilers, this results in adding a
-flag such as ``-std=gnu++11`` to the compile line.  For compilers that
-have no notion of a standard level, such as MSVC, this has no effect.
-
-Supported values are ``98``, ``11`` and ``14``.
-
-If the value requested does not result in a compile flag being added for
-the compiler in use, a previous standard flag will be added instead.  This
-means that using:
-
-.. code-block:: cmake
-
-  set_property(TARGET tgt PROPERTY CXX_STANDARD 11)
-
-with a compiler which does not support ``-std=gnu++11`` or an equivalent
-flag will not result in an error or warning, but will instead add the
-``-std=gnu++98`` flag if supported.  This "decay" behavior may be controlled
-with the :prop_tgt:`CXX_STANDARD_REQUIRED` target property.
-
-See the :manual:`cmake-compile-features(7)` manual for information on
-compile features and a list of supported compilers.
-
-This property is initialized by the value of
-the :variable:`CMAKE_CXX_STANDARD` variable if it is set when a target
-is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/C_EXTENSIONS.rst b/share/cmake-3.6/Help/prop_tgt/C_EXTENSIONS.rst
deleted file mode 100644
index fce67f4..0000000
--- a/share/cmake-3.6/Help/prop_tgt/C_EXTENSIONS.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-C_EXTENSIONS
-------------
-
-Boolean specifying whether compiler specific extensions are requested.
-
-This property specifies whether compiler specific extensions should be
-used.  For some compilers, this results in adding a flag such
-as ``-std=gnu11`` instead of ``-std=c11`` to the compile line.  This
-property is ``ON`` by default.
-
-See the :manual:`cmake-compile-features(7)` manual for information on
-compile features and a list of supported compilers.
-
-This property is initialized by the value of
-the :variable:`CMAKE_C_EXTENSIONS` variable if it is set when a target
-is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/C_STANDARD.rst b/share/cmake-3.6/Help/prop_tgt/C_STANDARD.rst
deleted file mode 100644
index 5e36821..0000000
--- a/share/cmake-3.6/Help/prop_tgt/C_STANDARD.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-C_STANDARD
-----------
-
-The C standard whose features are requested to build this target.
-
-This property specifies the C standard whose features are requested
-to build this target.  For some compilers, this results in adding a
-flag such as ``-std=gnu11`` to the compile line.  For compilers that
-have no notion of a standard level, such as MSVC, this has no effect.
-
-Supported values are ``90``, ``99`` and ``11``.
-
-If the value requested does not result in a compile flag being added for
-the compiler in use, a previous standard flag will be added instead.  This
-means that using:
-
-.. code-block:: cmake
-
-  set_property(TARGET tgt PROPERTY C_STANDARD 11)
-
-with a compiler which does not support ``-std=gnu11`` or an equivalent
-flag will not result in an error or warning, but will instead add the
-``-std=gnu99`` or ``-std=gnu90`` flag if supported.  This "decay" behavior may
-be controlled with the :prop_tgt:`C_STANDARD_REQUIRED` target property.
-
-See the :manual:`cmake-compile-features(7)` manual for information on
-compile features and a list of supported compilers.
-
-This property is initialized by the value of
-the :variable:`CMAKE_C_STANDARD` variable if it is set when a target
-is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst b/share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
deleted file mode 100644
index 19270a5..0000000
--- a/share/cmake-3.6/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-EXCLUDE_FROM_DEFAULT_BUILD
---------------------------
-
-Exclude target from "Build Solution".
-
-This property is only used by Visual Studio generators 7 and above.
-When set to TRUE, the target will not be built when you press "Build
-Solution".
diff --git a/share/cmake-3.6/Help/prop_tgt/FRAMEWORK.rst b/share/cmake-3.6/Help/prop_tgt/FRAMEWORK.rst
deleted file mode 100644
index 6c212c3..0000000
--- a/share/cmake-3.6/Help/prop_tgt/FRAMEWORK.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-FRAMEWORK
----------
-
-Build ``SHARED`` library as Framework Bundle on the OS X and iOS.
-
-If a ``SHARED`` library target has this property set to ``TRUE`` it will be
-built as a framework when built on the OS X and iOS.  It will have the
-directory structure required for a framework and will be suitable to
-be used with the ``-framework`` option
-
-To customize ``Info.plist`` file in the framework, use
-:prop_tgt:`MACOSX_FRAMEWORK_INFO_PLIST` target property.
-
-For OS X see also the :prop_tgt:`FRAMEWORK_VERSION` target property.
-
-Example of creation ``dynamicFramework``:
-
-.. code-block:: cmake
-
-  add_library(dynamicFramework SHARED
-              dynamicFramework.c
-              dynamicFramework.h
-  )
-  set_target_properties(dynamicFramework PROPERTIES
-    FRAMEWORK TRUE
-    FRAMEWORK_VERSION C
-    MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
-    MACOSX_FRAMEWORK_INFO_PLIST Info.plist
-    PUBLIC_HEADER dynamicFramework.h
-    XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
-  )
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst b/share/cmake-3.6/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
deleted file mode 100644
index effa3b0..0000000
--- a/share/cmake-3.6/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-INTERPROCEDURAL_OPTIMIZATION
-----------------------------
-
-Enable interprocedural optimization for a target.
-
-If set to true, enables interprocedural optimizations if they are
-known to be supported by the compiler.
diff --git a/share/cmake-3.6/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst b/share/cmake-3.6/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
deleted file mode 100644
index 492fee0..0000000
--- a/share/cmake-3.6/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
--------------------------------------
-
-Per-configuration interprocedural optimization for a target.
-
-This is a per-configuration version of INTERPROCEDURAL_OPTIMIZATION.
-If set, this property overrides the generic property for the named
-configuration.
diff --git a/share/cmake-3.6/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.6/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
deleted file mode 100644
index 0fe0b31..0000000
--- a/share/cmake-3.6/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-<LANG>_COMPILER_LAUNCHER
-------------------------
-
-This property is implemented only when ``<LANG>`` is ``C`` or ``CXX``.
-
-Specify a :ref:`;-list <CMake Language Lists>` containing a command line
-for a compiler launching tool. The :ref:`Makefile Generators` and the
-:generator:`Ninja` generator will run this tool and pass the compiler and
-its arguments to the tool. Some example tools are distcc and ccache.
-
-This property is initialized by the value of
-the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable if it is set
-when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/MACOSX_BUNDLE.rst b/share/cmake-3.6/Help/prop_tgt/MACOSX_BUNDLE.rst
deleted file mode 100644
index 7cd8046..0000000
--- a/share/cmake-3.6/Help/prop_tgt/MACOSX_BUNDLE.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-MACOSX_BUNDLE
--------------
-
-Build an executable as an Application Bundle on OS X or iOS.
-
-When this property is set to ``TRUE`` the executable when built on OS X
-or iOS will be created as an application bundle.  This makes it
-a GUI executable that can be launched from the Finder.  See the
-:prop_tgt:`MACOSX_FRAMEWORK_INFO_PLIST` target property for information about
-creation of the ``Info.plist`` file for the application bundle.
-This property is initialized by the value of the variable
-:variable:`CMAKE_MACOSX_BUNDLE` if it is set when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst b/share/cmake-3.6/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
deleted file mode 100644
index 09ff0ce..0000000
--- a/share/cmake-3.6/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-MAP_IMPORTED_CONFIG_<CONFIG>
-----------------------------
-
-Map from project configuration to IMPORTED target's configuration.
-
-Set this to the list of configurations of an imported target that may
-be used for the current project's <CONFIG> configuration.  Targets
-imported from another project may not provide the same set of
-configuration names available in the current project.  Setting this
-property tells CMake what imported configurations are suitable for use
-when building the <CONFIG> configuration.  The first configuration in
-the list found to be provided by the imported target is selected.  If
-this property is set and no matching configurations are available,
-then the imported target is considered to be not found.  This property
-is ignored for non-imported targets.
-
-This property is initialized by the value of the variable
-CMAKE_MAP_IMPORTED_CONFIG_<CONFIG> if it is set when a target is
-created.
diff --git a/share/cmake-3.6/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst b/share/cmake-3.6/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
deleted file mode 100644
index 070dd30..0000000
--- a/share/cmake-3.6/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-NO_SYSTEM_FROM_IMPORTED
------------------------
-
-Do not treat includes from IMPORTED target interfaces as SYSTEM.
-
-The contents of the INTERFACE_INCLUDE_DIRECTORIES of IMPORTED targets
-are treated as SYSTEM includes by default.  If this property is
-enabled, the contents of the INTERFACE_INCLUDE_DIRECTORIES of IMPORTED
-targets are not treated as system includes.  This property is
-initialized by the value of the variable CMAKE_NO_SYSTEM_FROM_IMPORTED
-if it is set when a target is created.
diff --git a/share/cmake-3.6/Help/prop_tgt/SOVERSION.rst b/share/cmake-3.6/Help/prop_tgt/SOVERSION.rst
deleted file mode 100644
index 672ff23..0000000
--- a/share/cmake-3.6/Help/prop_tgt/SOVERSION.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-SOVERSION
----------
-
-What version number is this target.
-
-For shared libraries VERSION and SOVERSION can be used to specify the
-build version and API version respectively.  When building or
-installing appropriate symlinks are created if the platform supports
-symlinks and the linker supports so-names.  If only one of both is
-specified the missing is assumed to have the same version number.
-SOVERSION is ignored if NO_SONAME property is set.  For shared
-libraries and executables on Windows the VERSION attribute is parsed
-to extract a "major.minor" version number.  These numbers are used as
-the image version of the binary.
diff --git a/share/cmake-3.6/Help/prop_tgt/VERSION.rst b/share/cmake-3.6/Help/prop_tgt/VERSION.rst
deleted file mode 100644
index 87f6c49..0000000
--- a/share/cmake-3.6/Help/prop_tgt/VERSION.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-VERSION
--------
-
-What version number is this target.
-
-For shared libraries VERSION and SOVERSION can be used to specify the
-build version and API version respectively.  When building or
-installing appropriate symlinks are created if the platform supports
-symlinks and the linker supports so-names.  If only one of both is
-specified the missing is assumed to have the same version number.  For
-executables VERSION can be used to specify the build version.  When
-building or installing appropriate symlinks are created if the
-platform supports symlinks.  For shared libraries and executables on
-Windows the VERSION attribute is parsed to extract a "major.minor"
-version number.  These numbers are used as the image version of the
-binary.
diff --git a/share/cmake-3.6/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst b/share/cmake-3.6/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
deleted file mode 100644
index 3f48af8..0000000
--- a/share/cmake-3.6/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-WINDOWS_EXPORT_ALL_SYMBOLS
---------------------------
-
-This property is implemented only for MS-compatible tools on Windows.
-
-Enable this boolean property to automatically create a module definition
-(``.def``) file with all global symbols found in the input ``.obj`` files
-for a ``SHARED`` library on Windows.  The module definition file will be
-passed to the linker causing all symbols to be exported from the ``.dll``.
-For global *data* symbols, ``__declspec(dllimport)`` must still be used when
-compiling against the code in the ``.dll``.  All other function symbols will
-be automatically exported and imported by callers.  This simplifies porting
-projects to Windows by reducing the need for explicit ``dllexport`` markup,
-even in ``C++`` classes.
-
-This property is initialized by the value of
-the :variable:`CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` variable if it is set
-when a target is created.
diff --git a/share/cmake-3.6/Help/release/3.6.rst b/share/cmake-3.6/Help/release/3.6.rst
deleted file mode 100644
index 5c08b39..0000000
--- a/share/cmake-3.6/Help/release/3.6.rst
+++ /dev/null
@@ -1,315 +0,0 @@
-CMake 3.6 Release Notes
-***********************
-
-.. only:: html
-
-  .. contents::
-
-Changes made since CMake 3.5 include the following.
-
-New Features
-============
-
-Generators
-----------
-
-* The :generator:`Ninja` generator learned to produce phony targets
-  of the form ``sub/dir/all`` to drive the build of a subdirectory.
-  This is equivalent to ``cd sub/dir; make all`` with
-  :ref:`Makefile Generators`.
-
-* The :generator:`Ninja` generator now includes system header files in build
-  dependencies to ensure correct re-builds when system packages are updated.
-
-* The :generator:`Visual Studio 14 2015` generator learned to support the
-  Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option.
-  This feature is experimental.
-
-Commands
---------
-
-* The :command:`add_custom_command` and :command:`add_custom_target` commands
-  learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable
-  target property.
-
-* The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option
-  to leave installation rules out of the default installation.
-
-* The :command:`list` command gained a ``FILTER`` sub-command to filter
-  list elements by regular expression.
-
-* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)`
-  commands gained support for the ``%s`` placeholder.  This is
-  the number of seconds since the UNIX Epoch.
-
-* The :command:`try_compile` command source file signature now honors
-  configuration-specific flags (e.g. :variable:`CMAKE_<LANG>_FLAGS_DEBUG`)
-  in the generated test project.  Previously only the default such flags
-  for the current toolchain were used.
-
-Variables
----------
-
-* A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced
-  to tell :ref:`Makefile Generators` to limit dependency scanning only
-  to files in the project source and build trees.
-
-* A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to
-  indicate when CMake is running on an Oracle Solaris host.
-
-* A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was
-  added for use by toolchain files to specify system include directories
-  to be appended to all compiler command lines.
-
-* The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented.
-  It is intended for use by toolchain files to specify system libraries to be
-  added to all linker command lines.
-
-* A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced
-  to tell the :generator:`Ninja` generator to configure the generated
-  ``build.ninja`` file for use as a ``subninja``.
-
-* A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was
-  added for use by toolchain files to specify platform-specific
-  variables that must be propagated by the :command:`try_compile`
-  command into test projects.
-
-* A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added
-  to optionally tell the :command:`try_compile` command to build
-  a static library instead of an executable.  This is useful for
-  cross-compiling toolchains that cannot link binaries without
-  custom flags or scripts.
-
-Properties
-----------
-
-* A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced
-  to tell the :generator:`Visual Studio 9 2008` and
-  :generator:`Visual Studio 8 2005` generators to generate the "remote
-  directory" for WinCE project deployment and debugger settings.
-
-* A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting
-  :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the
-  :ref:`Makefile Generators` and the :generator:`Ninja` generator to run
-  ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages.
-
-* A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to
-  optionally tell CTest to enforce a secondary timeout after matching
-  certain output from a test.
-
-* A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced
-  to specify a custom project file type for :ref:`Visual Studio Generators`
-  supporting VS 2010 and above.
-
-* A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced
-  to specify for :ref:`Visual Studio Generators` the default startup
-  project for generated solutions (``.sln`` files).
-
-Modules
--------
-
-* The :module:`CMakePushCheckState` module now pushes/pops/resets the variable
-  ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`.
-
-* The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1``
-  option to perform a shallow clone of a Git repository.
-
-* The :module:`ExternalProject` module learned to initialize Git submodules
-  recursively and also to initialize new submodules on updates.  Use the
-  ``GIT_SUBMODULES`` option to restrict which submodules are initalized and
-  updated.
-
-* The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1``
-  argument to skip extracting the file that is downloaded (e.g., for
-  self-extracting shell installers or ``.msi`` files).
-
-* The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching
-  from git repositories.
-
-* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to
-  support `OpenBLAS <http://www.openblas.net>`__.
-
-* The :module:`FindCUDA` module learned to find the ``cublas_device`` library.
-
-* The :module:`FindGTest` module ``gtest_add_tests`` function now causes
-  CMake to automatically re-run when test sources change so that they
-  can be re-scanned.
-
-* The :module:`FindLTTngUST` module was introduced to find the LTTng-UST
-  library.
-
-* The :module:`FindPkgConfig` module learned to optionally create imported
-  targets for the libraries it has found.
-
-* The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION``
-  variable and check the version number requested in a :command:`find_package`
-  call.
-
-* The :module:`InstallRequiredSystemLibraries` module learned a new
-  ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment
-  of the Windows Universal CRT libraries with Visual Studio 2015.
-
-Platforms
----------
-
-* The Clang compiler is now supported on CYGWIN.
-
-* Support was added for the Bruce C Compiler with compiler id ``Bruce``.
-
-CTest
------
-
-* The :command:`ctest_update` command now looks at the
-  :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether
-  submodules should be updated or not before updating.
-
-* The :command:`ctest_update` command will now synchronize submodules on an
-  update. Updates which add submodules or change a submodule's URL will now be
-  pulled properly.
-
-CPack
------
-
-* The :module:`CPackDeb` module learned how to handle ``$ORIGIN``
-  in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
-  is used for dependency auto detection.
-
-* The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs``
-  contorl file when package contains shared libraries.
-
-* The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and
-  ``DEBIAN/postrm`` files if the package installs libraries in
-  ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``).
-
-* The :module:`CPackDeb` module learned how to generate dependencies between
-  Debian packages if multi-component setup is used and
-  :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set.
-  For backward compatibility this feature is disabled by default.
-  See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`.
-
-* The :module:`CPackDeb` module learned how to set custom package file names
-  including how to generate properly-named Debian packages::
-
-    <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
-
-  For backward compatibility this feature is disabled by default. See
-  :variable:`CPACK_DEBIAN_FILE_NAME` and
-  :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`.
-
-* The :module:`CPackDeb` module learned how to set the package release number
-  (``DebianRevisionNumber`` in package file name when used in combination with
-  ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`).  See
-  :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`.
-
-* The :module:`CPackDeb` module learned how to set the package architecture
-  per-component.  See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`.
-
-* The :module:`CPackDMG` module learned a new option to tell the CPack
-  ``DragNDrop`` generaor to skip the ``/Applications`` symlink.
-  See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable.
-
-* The :module:`CPackIFW` module gained a new
-  :command:`cpack_ifw_update_repository` command to update a QtIFW-specific
-  repository from a remote repository.
-
-* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of
-  RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for
-  e.g. on Fedora).
-  See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
-
-* The :module:`CPackRPM` module learned how to set default values for owning
-  user/group and file/directory permissions of package content.
-  See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`,
-  :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`,
-  :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component
-  counterparts.
-
-* The :module:`CPackRPM` module learned how to set user defined package file
-  names, how to specify that rpmbuild should decide on file name format as
-  well as handling of multiple rpm packages generated by a single user defined
-  spec file.
-  See :variable:`CPACK_RPM_PACKAGE_NAME` and
-  :variable:`CPACK_RPM_<component>_PACKAGE_NAME`.
-
-* The :module:`CPackRPM` module learned how to correctly handle symlinks
-  that are pointing outside generated packages.
-
-Other
------
-
-* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
-  is now aware of features supported by Intel C++ compilers versions 12.1
-  through 16.0 on UNIX platforms.
-
-Deprecated and Removed Features
-===============================
-
-* The :module:`CMakeForceCompiler` module and its macros are now deprecated.
-  See module documentation for an explanation.
-
-* The :command:`find_library`, :command:`find_path`, and :command:`find_file`
-  commands no longer search in installation prefixes derived from the ``PATH``
-  environment variable on non-Windows platforms.  This behavior was added in
-  CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts.
-  Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for
-  their tools do not necessarily want any supporting ``<prefix>/lib``
-  directories searched.  One may set the ``CMAKE_PREFIX_PATH`` environment
-  variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are
-  to be searched.
-
-* The :generator:`Visual Studio 7 .NET 2003` generator is now
-  deprecated and will be removed in a future version of CMake.
-
-* The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been
-  removed.  It had been deprecated since CMake 3.3.
-
-* The :generator:`Visual Studio 6` generator has been removed.
-  It had been deprecated since CMake 3.3.
-
-Other Changes
-=============
-
-* The precompiled OS X binary provided on ``cmake.org`` now requires
-  OS X 10.7 or newer.
-
-* On Linux and FreeBSD platforms, when building CMake itself from source and
-  not using a system-provided libcurl, OpenSSL is now used by default if it is
-  found on the system.  This enables SSL/TLS support for commands supporting
-  network communication via ``https``, such as :command:`file(DOWNLOAD)`,
-  :command:`file(UPLOAD)`, and :command:`ctest_submit`.
-
-* The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple
-  ``--target`` options with an error instead of silently ignoring all but the
-  last one.
-
-* :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source
-  files in different directories use ``#include <moc_foo.cpp>`` with the
-  same name (because the generated ``moc_foo.cpp`` files would collide).
-
-* The :module:`FindBISON` module ``BISON_TARGET`` macro now supports
-  special characters by passing the ``VERBATIM`` option to internal
-  :command:`add_custom_command` calls.  This may break clients that
-  added escaping manually to work around the bug.
-
-* The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports
-  special characters by passing the ``VERBATIM`` option to internal
-  :command:`add_custom_command` calls.  This may break clients that
-  added escaping manually to work around the bug.
-
-* The :module:`FindProtobuf` module input and output variables were all renamed
-  from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules.
-  Input variables of the old case will be honored if provided, and output
-  variables of the old case are always provided.
-
-* The :module:`CPackRPM` module now supports upper cased component
-  names in per component CPackRPM specific variables.
-  E.g. component named ``foo`` now expects component specific
-  variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before
-  it expected ``CPACK_RPM_foo_PACKAGE_NAME``.
-  Upper cased component name part in variables is compatible
-  with convention used for other CPack variables.
-  For back compatibility old format of variables is still valid
-  and preferred if both versions of variable are set, but the
-  preferred future use is upper cased component names in variables.
-  New variables that will be added to CPackRPM in later versions
-  will only support upper cased component variable format.
diff --git a/share/cmake-3.6/Help/release/index.rst b/share/cmake-3.6/Help/release/index.rst
deleted file mode 100644
index 92c3b63..0000000
--- a/share/cmake-3.6/Help/release/index.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-CMake Release Notes
-*******************
-
-..
-  This file should include the adjacent "dev.txt" file
-  in development versions but not in release versions.
-
-Releases
-========
-
-.. toctree::
-   :maxdepth: 1
-
-   3.6 <3.6>
-   3.5 <3.5>
-   3.4 <3.4>
-   3.3 <3.3>
-   3.2 <3.2>
-   3.1 <3.1>
-   3.0 <3.0>
diff --git a/share/cmake-3.6/Help/variable/APPLE.rst b/share/cmake-3.6/Help/variable/APPLE.rst
deleted file mode 100644
index 75eecf1..0000000
--- a/share/cmake-3.6/Help/variable/APPLE.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-APPLE
------
-
-``True`` if running on OS X.
-
-Set to ``true`` on OS X.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_API.rst b/share/cmake-3.6/Help/variable/CMAKE_ANDROID_API.rst
deleted file mode 100644
index c8264e0..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_API.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-CMAKE_ANDROID_API
------------------
-
-Default value for the :prop_tgt:`ANDROID_API` target property.
-See that target property for additional information.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_ARCH.rst b/share/cmake-3.6/Help/variable/CMAKE_ANDROID_ARCH.rst
deleted file mode 100644
index 8fbb46d..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_ARCH.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-CMAKE_ANDROID_ARCH
-------------------
-
-Default value for the :prop_tgt:`ANDROID_ARCH` target property.
-See that target property for additional information.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_STL_TYPE.rst b/share/cmake-3.6/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
deleted file mode 100644
index 766b2c8..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-CMAKE_ANDROID_STL_TYPE
-----------------------
-
-Default value for the :prop_tgt:`ANDROID_STL_TYPE` target property.
-See that target property for additional information.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTORCC_OPTIONS.rst b/share/cmake-3.6/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
deleted file mode 100644
index 298cb6b..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-CMAKE_AUTORCC_OPTIONS
----------------------
-
-Whether to handle ``rcc`` automatically for Qt targets.
-
-This variable is used to initialize the :prop_tgt:`AUTORCC_OPTIONS` property on
-all the targets.  See that target property for additional information.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst b/share/cmake-3.6/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
deleted file mode 100644
index 3c9b8c4..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-CMAKE_AUTOUIC_OPTIONS
----------------------
-
-Whether to handle ``uic`` automatically for Qt targets.
-
-This variable is used to initialize the :prop_tgt:`AUTOUIC_OPTIONS` property on
-all the targets.  See that target property for additional information.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CFG_INTDIR.rst b/share/cmake-3.6/Help/variable/CMAKE_CFG_INTDIR.rst
deleted file mode 100644
index ba25a35..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_CFG_INTDIR.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-CMAKE_CFG_INTDIR
-----------------
-
-Build-time reference to per-configuration output subdirectory.
-
-For native build systems supporting multiple configurations in the
-build tree (such as :ref:`Visual Studio Generators` and :generator:`Xcode`),
-the value is a reference to a build-time variable specifying the name
-of the per-configuration output subdirectory.  On :ref:`Makefile Generators`
-this evaluates to `.` because there is only one configuration in a build tree.
-Example values:
-
-::
-
-  $(ConfigurationName) = Visual Studio 7, 8, 9
-  $(Configuration)     = Visual Studio 10
-  $(CONFIGURATION)     = Xcode
-  .                    = Make-based tools
-
-Since these values are evaluated by the native build system, this
-variable is suitable only for use in command lines that will be
-evaluated at build time.  Example of intended usage:
-
-::
-
-  add_executable(mytool mytool.c)
-  add_custom_command(
-    OUTPUT out.txt
-    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
-            ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
-    DEPENDS mytool in.txt
-    )
-  add_custom_target(drive ALL DEPENDS out.txt)
-
-Note that ``CMAKE_CFG_INTDIR`` is no longer necessary for this purpose but
-has been left for compatibility with existing projects.  Instead
-:command:`add_custom_command` recognizes executable target names in its
-``COMMAND`` option, so
-``${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool`` can be replaced
-by just ``mytool``.
-
-This variable is read-only.  Setting it is undefined behavior.  In
-multi-configuration build systems the value of this variable is passed
-as the value of preprocessor symbol ``CMAKE_INTDIR`` to the compilation
-of all source files.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_CL_64.rst b/share/cmake-3.6/Help/variable/CMAKE_CL_64.rst
deleted file mode 100644
index a1e86a5..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_CL_64.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-CMAKE_CL_64
------------
-
-Using the 64-bit compiler from Microsoft
-
-Set to ``true`` when using the 64-bit ``cl`` compiler from Microsoft.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_COMPILER_IS_GNULANG.rst b/share/cmake-3.6/Help/variable/CMAKE_COMPILER_IS_GNULANG.rst
deleted file mode 100644
index 4b652c0..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_COMPILER_IS_GNULANG.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-CMAKE_COMPILER_IS_GNU<LANG>
----------------------------
-
-True if the compiler is GNU.
-
-If the selected ``<LANG>`` compiler is the GNU compiler then this is ``TRUE``,
-if not it is ``FALSE``.  Unlike the other per-language variables, this
-uses the GNU syntax for identifying languages instead of the CMake
-syntax.  Recognized values of the ``<LANG>`` suffix are:
-
-::
-
-  CC = C compiler
-  CXX = C++ compiler
-  G77 = Fortran compiler
diff --git a/share/cmake-3.6/Help/variable/CMAKE_DL_LIBS.rst b/share/cmake-3.6/Help/variable/CMAKE_DL_LIBS.rst
deleted file mode 100644
index 1fe7641..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_DL_LIBS.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-CMAKE_DL_LIBS
--------------
-
-Name of library containing ``dlopen`` and ``dlcose``.
-
-The name of the library that has ``dlopen`` and ``dlclose`` in it, usually
-``-ldl`` on most UNIX machines.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst b/share/cmake-3.6/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
deleted file mode 100644
index c49d264..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-CMAKE_FIND_NO_INSTALL_PREFIX
-----------------------------
-
-Ignore the :variable:`CMAKE_INSTALL_PREFIX` when searching for assets.
-
-CMake adds the :variable:`CMAKE_INSTALL_PREFIX` and the
-:variable:`CMAKE_STAGING_PREFIX` variable to the
-:variable:`CMAKE_SYSTEM_PREFIX_PATH` by default. This variable may be set
-on the command line to control that behavior.
-
-Set ``CMAKE_FIND_NO_INSTALL_PREFIX`` to ``TRUE`` to tell
-:command:`find_package` not to search in the :variable:`CMAKE_INSTALL_PREFIX`
-or :variable:`CMAKE_STAGING_PREFIX` by default.  Note that the
-prefix may still be searched for other reasons, such as being the same prefix
-as the CMake installation, or for being a built-in system prefix.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_GENERATOR_PLATFORM.rst b/share/cmake-3.6/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
deleted file mode 100644
index a5c284a..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-CMAKE_GENERATOR_PLATFORM
-------------------------
-
-Generator-specific target platform name specified by user.
-
-Some CMake generators support a target platform name to be given
-to the native build system to choose a compiler toolchain.
-If the user specifies a platform name (e.g. via the :manual:`cmake(1)` ``-A``
-option) the value will be available in this variable.
-
-The value of this variable should never be modified by project code.
-A toolchain file specified by the :variable:`CMAKE_TOOLCHAIN_FILE`
-variable may initialize ``CMAKE_GENERATOR_PLATFORM``.  Once a given
-build tree has been initialized with a particular value for this
-variable, changing the value has undefined behavior.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_GENERATOR_TOOLSET.rst b/share/cmake-3.6/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
deleted file mode 100644
index 89abe54..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-CMAKE_GENERATOR_TOOLSET
------------------------
-
-Native build system toolset name specified by user.
-
-Some CMake generators support a toolset name to be given to the native
-build system to choose a compiler.  If the user specifies a toolset
-name (e.g.  via the :manual:`cmake(1)` ``-T`` option) the value will be
-available in this variable.
-
-The value of this variable should never be modified by project code.
-A toolchain file specified by the :variable:`CMAKE_TOOLCHAIN_FILE`
-variable may initialize ``CMAKE_GENERATOR_TOOLSET``.  Once a given
-build tree has been initialized with a particular value for this
-variable, changing the value has undefined behavior.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_HOST_WIN32.rst b/share/cmake-3.6/Help/variable/CMAKE_HOST_WIN32.rst
deleted file mode 100644
index 0e4c891..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_HOST_WIN32.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-CMAKE_HOST_WIN32
-----------------
-
-``True`` on Windows systems, including Win64.
-
-Set to ``true`` when the host system is Windows and on Cygwin.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_PREFIX.rst b/share/cmake-3.6/Help/variable/CMAKE_INSTALL_PREFIX.rst
deleted file mode 100644
index 3f3347f..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_INSTALL_PREFIX.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-CMAKE_INSTALL_PREFIX
---------------------
-
-Install directory used by :command:`install`.
-
-If ``make install`` is invoked or ``INSTALL`` is built, this directory is
-prepended onto all install directories.  This variable defaults to
-``/usr/local`` on UNIX and ``c:/Program Files`` on Windows.
-
-On UNIX one can use the ``DESTDIR`` mechanism in order to relocate the
-whole installation.  ``DESTDIR`` means DESTination DIRectory.  It is
-commonly used by makefile users in order to install software at
-non-default location.  It is usually invoked like this:
-
-::
-
- make DESTDIR=/home/john install
-
-which will install the concerned software using the installation
-prefix, e.g.  ``/usr/local`` prepended with the ``DESTDIR`` value which
-finally gives ``/home/john/usr/local``.
-
-WARNING: ``DESTDIR`` may not be used on Windows because installation
-prefix usually contains a drive letter like in ``C:/Program Files``
-which cannot be prepended with some other prefix.
-
-The installation prefix is also added to :variable:`CMAKE_SYSTEM_PREFIX_PATH`
-so that :command:`find_package`, :command:`find_program`,
-:command:`find_library`, :command:`find_path`, and :command:`find_file`
-will search the prefix for other software.
-
-.. note::
-
-  Use the :module:`GNUInstallDirs` module to provide GNU-style
-  options for the layout of directories within the installation.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_ID.rst b/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_ID.rst
deleted file mode 100644
index ebd616e..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_ID.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-CMAKE_<LANG>_COMPILER_ID
-------------------------
-
-Compiler identification string.
-
-A short string unique to the compiler vendor.  Possible values
-include:
-
-::
-
-  Absoft = Absoft Fortran (absoft.com)
-  ADSP = Analog VisualDSP++ (analog.com)
-  AppleClang = Apple Clang (apple.com)
-  ARMCC = ARM Compiler (arm.com)
-  Bruce = Bruce C Compiler
-  CCur = Concurrent Fortran (ccur.com)
-  Clang = LLVM Clang (clang.llvm.org)
-  Cray = Cray Compiler (cray.com)
-  Embarcadero, Borland = Embarcadero (embarcadero.com)
-  G95 = G95 Fortran (g95.org)
-  GNU = GNU Compiler Collection (gcc.gnu.org)
-  HP = Hewlett-Packard Compiler (hp.com)
-  Intel = Intel Compiler (intel.com)
-  MIPSpro = SGI MIPSpro (sgi.com)
-  MSVC = Microsoft Visual Studio (microsoft.com)
-  OpenWatcom = Open Watcom (openwatcom.org)
-  PGI = The Portland Group (pgroup.com)
-  PathScale = PathScale (pathscale.com)
-  SDCC = Small Device C Compiler (sdcc.sourceforge.net)
-  SunPro = Oracle Solaris Studio (oracle.com)
-  TI = Texas Instruments (ti.com)
-  TinyCC = Tiny C Compiler (tinycc.org)
-  XL, VisualAge, zOS = IBM XL (ibm.com)
-
-This variable is not guaranteed to be defined for all compilers or
-languages.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst b/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
deleted file mode 100644
index 7961f60..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-CMAKE_<LANG>_COMPILER_LAUNCHER
-------------------------------
-
-Default value for :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property.
-This variable is used to initialize the property on each target as it is
-created.  This is done only when ``<LANG>`` is ``C`` or ``CXX``.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst b/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
deleted file mode 100644
index 50e77eb..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-CMAKE_<LANG>_COMPILER_VERSION
------------------------------
-
-Compiler version string.
-
-Compiler version in major[.minor[.patch[.tweak]]] format.  This
-variable is not guaranteed to be defined for all compilers or
-languages.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MATCH_COUNT.rst b/share/cmake-3.6/Help/variable/CMAKE_MATCH_COUNT.rst
deleted file mode 100644
index 8b1c036..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_MATCH_COUNT.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-CMAKE_MATCH_COUNT
------------------
-
-The number of matches with the last regular expression.
-
-When a regular expression match is used, CMake fills in ``CMAKE_MATCH_<n>``
-variables with the match contents. The ``CMAKE_MATCH_COUNT`` variable holds
-the number of match expressions when these are filled.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_MFC_FLAG.rst b/share/cmake-3.6/Help/variable/CMAKE_MFC_FLAG.rst
deleted file mode 100644
index 1543677..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_MFC_FLAG.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-CMAKE_MFC_FLAG
---------------
-
-Tell cmake to use MFC for an executable or dll.
-
-This can be set in a ``CMakeLists.txt`` file and will enable MFC in the
-application.  It should be set to ``1`` for the static MFC library, and ``2``
-for the shared MFC library.  This is used in Visual Studio 7
-project files.  The CMakeSetup dialog used MFC and the ``CMakeLists.txt``
-looks like this:
-
-::
-
-  add_definitions(-D_AFXDLL)
-  set(CMAKE_MFC_FLAG 2)
-  add_executable(CMakeSetup WIN32 ${SRCS})
diff --git a/share/cmake-3.6/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst b/share/cmake-3.6/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
deleted file mode 100644
index 582f9e4..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-CMAKE_POLICY_WARNING_CMP<NNNN>
-------------------------------
-
-Explicitly enable or disable the warning when CMake Policy ``CMP<NNNN>``
-is not set.  This is meaningful only for the few policies that do not
-warn by default:
-
-* ``CMAKE_POLICY_WARNING_CMP0025`` controls the warning for
-  policy :policy:`CMP0025`.
-* ``CMAKE_POLICY_WARNING_CMP0047`` controls the warning for
-  policy :policy:`CMP0047`.
-* ``CMAKE_POLICY_WARNING_CMP0056`` controls the warning for
-  policy :policy:`CMP0056`.
-* ``CMAKE_POLICY_WARNING_CMP0060`` controls the warning for
-  policy :policy:`CMP0060`.
-* ``CMAKE_POLICY_WARNING_CMP0065`` controls the warning for
-  policy :policy:`CMP0065`.
-
-This variable should not be set by a project in CMake code.  Project
-developers running CMake may set this variable in their cache to
-enable the warning (e.g. ``-DCMAKE_POLICY_WARNING_CMP<NNNN>=ON``).
-Alternatively, running :manual:`cmake(1)` with the ``--debug-output``,
-``--trace``, or ``--trace-expand`` option will also enable the warning.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSROOT.rst b/share/cmake-3.6/Help/variable/CMAKE_SYSROOT.rst
deleted file mode 100644
index 7aa0450..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_SYSROOT.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-CMAKE_SYSROOT
--------------
-
-Path to pass to the compiler in the ``--sysroot`` flag.
-
-The ``CMAKE_SYSROOT`` content is passed to the compiler in the ``--sysroot``
-flag, if supported.  The path is also stripped from the RPATH/RUNPATH if
-necessary on installation.  The ``CMAKE_SYSROOT`` is also used to prefix
-paths searched by the ``find_*`` commands.
-
-This variable may only be set in a toolchain file specified by
-the :variable:`CMAKE_TOOLCHAIN_FILE` variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst b/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
deleted file mode 100644
index e74dfad..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-CMAKE_SYSTEM_PREFIX_PATH
-------------------------
-
-:ref:`;-list <CMake Language Lists>` of directories specifying installation
-*prefixes* to be searched by the :command:`find_package`,
-:command:`find_program`, :command:`find_library`, :command:`find_file`, and
-:command:`find_path` commands.  Each command will add appropriate
-subdirectories (like ``bin``, ``lib``, or ``include``) as specified in its own
-documentation.
-
-By default this contains the standard directories for the current system, the
-:variable:`CMAKE_INSTALL_PREFIX`, and the :variable:`CMAKE_STAGING_PREFIX`.
-It is *not* intended to be modified by the project; use
-:variable:`CMAKE_PREFIX_PATH` for this.
-
-See also :variable:`CMAKE_SYSTEM_INCLUDE_PATH`,
-:variable:`CMAKE_SYSTEM_LIBRARY_PATH`, :variable:`CMAKE_SYSTEM_PROGRAM_PATH`,
-and :variable:`CMAKE_SYSTEM_IGNORE_PATH`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst b/share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
deleted file mode 100644
index 8e43465..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
-------------------------------------
-
-List of variables that the :command:`try_compile` command source file signature
-must propagate into the test project in order to target the same platform as
-the host project.
-
-This variable should not be set by project code.  It is meant to be set by
-CMake's platform information modules for the current toolchain, or by a
-toolchain file when used with :variable:`CMAKE_TOOLCHAIN_FILE`.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst b/share/cmake-3.6/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
deleted file mode 100644
index 9af0d97..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-CMAKE_USER_MAKE_RULES_OVERRIDE
-------------------------------
-
-Specify a CMake file that overrides platform information.
-
-CMake loads the specified file while enabling support for each
-language from either the :command:`project` or :command:`enable_language`
-commands.  It is loaded after CMake's builtin compiler and platform information
-modules have been loaded but before the information is used.  The file
-may set platform information variables to override CMake's defaults.
-
-This feature is intended for use only in overriding information
-variables that must be set before CMake builds its first test project
-to check that the compiler for a language works.  It should not be
-used to load a file in cases that a normal :command:`include` will work.  Use
-it only as a last resort for behavior that cannot be achieved any
-other way.  For example, one may set ``CMAKE_C_FLAGS_INIT`` to change the
-default value used to initialize :variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>`
-before it is cached.  The override file should NOT be used to set anything
-that could be set after languages are enabled, such as variables like
-:variable:`CMAKE_RUNTIME_OUTPUT_DIRECTORY` that affect the placement of
-binaries.  Information set in the file will be used for :command:`try_compile`
-and :command:`try_run` builds too.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VERSION.rst b/share/cmake-3.6/Help/variable/CMAKE_VERSION.rst
deleted file mode 100644
index bbb1d91..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_VERSION.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-CMAKE_VERSION
--------------
-
-The CMake version string as three non-negative integer components
-separated by ``.`` and possibly followed by ``-`` and other information.
-The first two components represent the feature level and the third
-component represents either a bug-fix level or development date.
-
-Release versions and release candidate versions of CMake use the format::
-
-  <major>.<minor>.<patch>[-rc<n>]
-
-where the ``<patch>`` component is less than ``20000000``.  Development
-versions of CMake use the format::
-
-  <major>.<minor>.<date>[-<id>]
-
-where the ``<date>`` component is of format ``CCYYMMDD`` and ``<id>``
-may contain arbitrary text.  This represents development as of a
-particular date following the ``<major>.<minor>`` feature release.
-
-Individual component values are also available in variables:
-
-* :variable:`CMAKE_MAJOR_VERSION`
-* :variable:`CMAKE_MINOR_VERSION`
-* :variable:`CMAKE_PATCH_VERSION`
-* :variable:`CMAKE_TWEAK_VERSION`
-
-Use the :command:`if` command ``VERSION_LESS``, ``VERSION_EQUAL``, or
-``VERSION_GREATER`` operators to compare version string values against
-``CMAKE_VERSION`` using a component-wise test.  Version component
-values may be 10 or larger so do not attempt to compare version
-strings as floating-point numbers.
-
-.. note::
-
-  CMake versions 2.8.2 through 2.8.12 used three components for the
-  feature level.  Release versions represented the bug-fix level in a
-  fourth component, i.e. ``<major>.<minor>.<patch>[.<tweak>][-rc<n>]``.
-  Development versions represented the development date in the fourth
-  component, i.e. ``<major>.<minor>.<patch>.<date>[-<id>]``.
-
-  CMake versions prior to 2.8.2 used three components for the
-  feature level and had no bug-fix component.  Release versions
-  used an even-valued second component, i.e.
-  ``<major>.<even-minor>.<patch>[-rc<n>]``.  Development versions
-  used an odd-valued second component with the development date as
-  the third component, i.e. ``<major>.<odd-minor>.<date>``.
-
-  The ``CMAKE_VERSION`` variable is defined by CMake 2.6.3 and higher.
-  Earlier versions defined only the individual component variables.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst b/share/cmake-3.6/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
deleted file mode 100644
index 14cc50a..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-CMAKE_VS_DEVENV_COMMAND
------------------------
-
-The generators for :generator:`Visual Studio 7` and above set this
-variable to the ``devenv.com`` command installed with the corresponding
-Visual Studio version.  Note that this variable may be empty on
-Visual Studio Express editions because they do not provide this tool.
-
-This variable is not defined by other generators even if ``devenv.com``
-is installed on the computer.
-
-The :variable:`CMAKE_VS_MSBUILD_COMMAND` is also provided for
-:generator:`Visual Studio 10 2010` and above.
-See also the :variable:`CMAKE_MAKE_PROGRAM` variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst b/share/cmake-3.6/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
deleted file mode 100644
index 0be10e5..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
---------------------------------------
-
-When generating for :generator:`Visual Studio 7` or greater with the Intel
-Fortran plugin installed, this specifies the ``.vfproj`` project file format
-version.  This is intended for internal use by CMake and should not be
-used by project code.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_PLATFORM_NAME.rst b/share/cmake-3.6/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
deleted file mode 100644
index c6f8d41..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-CMAKE_VS_PLATFORM_NAME
-----------------------
-
-Visual Studio target platform name.
-
-VS 8 and above allow project files to specify a target platform.
-CMake provides the name of the chosen platform in this variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst b/share/cmake-3.6/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
deleted file mode 100644
index 144a41d..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-CMAKE_VS_PLATFORM_TOOLSET
--------------------------
-
-Visual Studio Platform Toolset name.
-
-VS 10 and above use MSBuild under the hood and support multiple
-compiler toolchains.  CMake may specify a toolset explicitly, such as
-``v110`` for VS 11 or ``Windows7.1SDK`` for 64-bit support in VS 10
-Express.  CMake provides the name of the chosen toolset in this
-variable.
diff --git a/share/cmake-3.6/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst b/share/cmake-3.6/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
deleted file mode 100644
index e0be3a4..0000000
--- a/share/cmake-3.6/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
-----------------------------------------
-
-Visual Studio Windows Target Platform Version.
-
-When targeting Windows 10 and above Visual Studio 2015 and above support
-specification of a target Windows version to select a corresponding SDK.
-The :variable:`CMAKE_SYSTEM_VERSION` variable may be set to specify a
-version.  Otherwise CMake computes a default version based on the Windows
-SDK versions available.  The chosen Windows target version number is provided
-in ``CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION``.  If no Windows 10 SDK
-is available this value will be empty.
diff --git a/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_TYPE.rst b/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
deleted file mode 100644
index b963293..0000000
--- a/share/cmake-3.6/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-CTEST_MEMORYCHECK_TYPE
-----------------------
-
-Specify the CTest ``MemoryCheckType`` setting
-in a :manual:`ctest(1)` dashboard client script.
-Valid values are ``Valgrind``, ``Purify``, ``BoundsChecker``, and
-``ThreadSanitizer``, ``AddressSanitizer``, ``MemorySanitizer``, and
-``UndefinedBehaviorSanitizer``.
diff --git a/share/cmake-3.6/Help/variable/MSVC.rst b/share/cmake-3.6/Help/variable/MSVC.rst
deleted file mode 100644
index 913ed08..0000000
--- a/share/cmake-3.6/Help/variable/MSVC.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC
-----
-
-``True`` when using Microsoft Visual C++.
-
-Set to ``true`` when the compiler is some version of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC10.rst b/share/cmake-3.6/Help/variable/MSVC10.rst
deleted file mode 100644
index 33692ad..0000000
--- a/share/cmake-3.6/Help/variable/MSVC10.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC10
-------
-
-``True`` when using Microsoft Visual C++ 10.0
-
-Set to ``true`` when the compiler is version 10.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC11.rst b/share/cmake-3.6/Help/variable/MSVC11.rst
deleted file mode 100644
index 3ab606d..0000000
--- a/share/cmake-3.6/Help/variable/MSVC11.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC11
-------
-
-``True`` when using Microsoft Visual C++ 11.0
-
-Set to ``true`` when the compiler is version 11.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC12.rst b/share/cmake-3.6/Help/variable/MSVC12.rst
deleted file mode 100644
index 15fa64b..0000000
--- a/share/cmake-3.6/Help/variable/MSVC12.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC12
-------
-
-``True`` when using Microsoft Visual C++ 12.0.
-
-Set to ``true`` when the compiler is version 12.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC14.rst b/share/cmake-3.6/Help/variable/MSVC14.rst
deleted file mode 100644
index 0b9125d..0000000
--- a/share/cmake-3.6/Help/variable/MSVC14.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC14
-------
-
-``True`` when using Microsoft Visual C++ 14.0.
-
-Set to ``true`` when the compiler is version 14.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC60.rst b/share/cmake-3.6/Help/variable/MSVC60.rst
deleted file mode 100644
index 14f09cf..0000000
--- a/share/cmake-3.6/Help/variable/MSVC60.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC60
-------
-
-``True`` when using Microsoft Visual C++ 6.0.
-
-Set to ``true`` when the compiler is version 6.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC70.rst b/share/cmake-3.6/Help/variable/MSVC70.rst
deleted file mode 100644
index 76fa96f..0000000
--- a/share/cmake-3.6/Help/variable/MSVC70.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC70
-------
-
-``True`` when using Microsoft Visual C++ 7.0.
-
-Set to ``true`` when the compiler is version 7.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC71.rst b/share/cmake-3.6/Help/variable/MSVC71.rst
deleted file mode 100644
index d69d4fc..0000000
--- a/share/cmake-3.6/Help/variable/MSVC71.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC71
-------
-
-``True`` when using Microsoft Visual C++ 7.1.
-
-Set to ``true`` when the compiler is version 7.1 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC80.rst b/share/cmake-3.6/Help/variable/MSVC80.rst
deleted file mode 100644
index b17777c..0000000
--- a/share/cmake-3.6/Help/variable/MSVC80.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC80
-------
-
-``True`` when using Microsoft Visual C++ 8.0.
-
-Set to ``true`` when the compiler is version 8.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC90.rst b/share/cmake-3.6/Help/variable/MSVC90.rst
deleted file mode 100644
index 7162d6c..0000000
--- a/share/cmake-3.6/Help/variable/MSVC90.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MSVC90
-------
-
-``True`` when using Microsoft Visual C++ 9.0.
-
-Set to ``true`` when the compiler is version 9.0 of Microsoft Visual C++.
diff --git a/share/cmake-3.6/Help/variable/MSVC_VERSION.rst b/share/cmake-3.6/Help/variable/MSVC_VERSION.rst
deleted file mode 100644
index ef3b0b5..0000000
--- a/share/cmake-3.6/Help/variable/MSVC_VERSION.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-MSVC_VERSION
-------------
-
-The version of Microsoft Visual C/C++ being used if any.
-
-Known version numbers are::
-
-  1200 = VS  6.0
-  1300 = VS  7.0
-  1310 = VS  7.1
-  1400 = VS  8.0
-  1500 = VS  9.0
-  1600 = VS 10.0
-  1700 = VS 11.0
-  1800 = VS 12.0
-  1900 = VS 14.0
diff --git a/share/cmake-3.6/Help/variable/UNIX.rst b/share/cmake-3.6/Help/variable/UNIX.rst
deleted file mode 100644
index 0877b7c..0000000
--- a/share/cmake-3.6/Help/variable/UNIX.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-UNIX
-----
-
-``True`` for UNIX and UNIX like operating systems.
-
-Set to ``true`` when the target system is UNIX or UNIX like (i.e.
-:variable:`APPLE` and :variable:`CYGWIN`).
diff --git a/share/cmake-3.6/Help/variable/WIN32.rst b/share/cmake-3.6/Help/variable/WIN32.rst
deleted file mode 100644
index 2189069..0000000
--- a/share/cmake-3.6/Help/variable/WIN32.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-WIN32
------
-
-``True`` on Windows systems, including Win64.
-
-Set to ``true`` when the target system is Windows.
diff --git a/share/cmake-3.6/Modules/AddFileDependencies.cmake b/share/cmake-3.6/Modules/AddFileDependencies.cmake
deleted file mode 100644
index 4d01a52..0000000
--- a/share/cmake-3.6/Modules/AddFileDependencies.cmake
+++ /dev/null
@@ -1,33 +0,0 @@
-#.rst:
-# AddFileDependencies
-# -------------------
-#
-# ADD_FILE_DEPENDENCIES(source_file depend_files...)
-#
-# Adds the given files as dependencies to source_file
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(ADD_FILE_DEPENDENCIES _file)
-
-   get_source_file_property(_deps ${_file} OBJECT_DEPENDS)
-   if (_deps)
-      set(_deps ${_deps} ${ARGN})
-   else ()
-      set(_deps ${ARGN})
-   endif ()
-
-   set_source_files_properties(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
-
-endmacro()
diff --git a/share/cmake-3.6/Modules/AutogenInfo.cmake.in b/share/cmake-3.6/Modules/AutogenInfo.cmake.in
deleted file mode 100644
index 7d89420..0000000
--- a/share/cmake-3.6/Modules/AutogenInfo.cmake.in
+++ /dev/null
@@ -1,26 +0,0 @@
-set(AM_SOURCES @_cpp_files@ )
-set(AM_RCC_SOURCES @_rcc_files@ )
-set(AM_RCC_INPUTS @_qt_rcc_inputs@)
-set(AM_SKIP_MOC @_skip_moc@ )
-set(AM_SKIP_UIC @_skip_uic@ )
-set(AM_HEADERS @_moc_headers@ )
-set(AM_MOC_COMPILE_DEFINITIONS @_moc_compile_defs@)
-set(AM_MOC_INCLUDES @_moc_incs@)
-set(AM_MOC_OPTIONS @_moc_options@)
-set(AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE "@CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE@")
-set(AM_CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@/")
-set(AM_CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@/")
-set(AM_QT_MOC_EXECUTABLE "@_qt_moc_executable@")
-set(AM_QT_UIC_EXECUTABLE "@_qt_uic_executable@")
-set(AM_QT_RCC_EXECUTABLE "@_qt_rcc_executable@")
-set(AM_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@/")
-set(AM_CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@/")
-set(AM_QT_VERSION_MAJOR "@_target_qt_version@")
-set(AM_TARGET_NAME @_moc_target_name@)
-set(AM_ORIGIN_TARGET_NAME @_origin_target_name@)
-set(AM_RELAXED_MODE "@_moc_relaxed_mode@")
-set(AM_UIC_TARGET_OPTIONS @_uic_target_options@)
-set(AM_UIC_OPTIONS_FILES @_qt_uic_options_files@)
-set(AM_UIC_OPTIONS_OPTIONS @_qt_uic_options_options@)
-set(AM_RCC_OPTIONS_FILES @_qt_rcc_options_files@)
-set(AM_RCC_OPTIONS_OPTIONS @_qt_rcc_options_options@)
diff --git a/share/cmake-3.6/Modules/BundleUtilities.cmake b/share/cmake-3.6/Modules/BundleUtilities.cmake
deleted file mode 100644
index cfb6450..0000000
--- a/share/cmake-3.6/Modules/BundleUtilities.cmake
+++ /dev/null
@@ -1,1055 +0,0 @@
-#.rst:
-# BundleUtilities
-# ---------------
-#
-# Functions to help assemble a standalone bundle application.
-#
-# A collection of CMake utility functions useful for dealing with .app
-# bundles on the Mac and bundle-like directories on any OS.
-#
-# The following functions are provided by this module:
-#
-# ::
-#
-#    fixup_bundle
-#    copy_and_fixup_bundle
-#    verify_app
-#    get_bundle_main_executable
-#    get_dotapp_dir
-#    get_bundle_and_executable
-#    get_bundle_all_executables
-#    get_item_key
-#    get_item_rpaths
-#    clear_bundle_keys
-#    set_bundle_key_values
-#    get_bundle_keys
-#    copy_resolved_item_into_bundle
-#    copy_resolved_framework_into_bundle
-#    fixup_bundle_item
-#    verify_bundle_prerequisites
-#    verify_bundle_symlinks
-#
-# Requires CMake 2.6 or greater because it uses function, break and
-# PARENT_SCOPE.  Also depends on GetPrerequisites.cmake.
-#
-# ::
-#
-#   FIXUP_BUNDLE(<app> <libs> <dirs>)
-#
-# Fix up a bundle in-place and make it standalone, such that it can be
-# drag-n-drop copied to another machine and run on that machine as long
-# as all of the system libraries are compatible.
-#
-# If you pass plugins to fixup_bundle as the libs parameter, you should
-# install them or copy them into the bundle before calling fixup_bundle.
-# The "libs" parameter is a list of libraries that must be fixed up, but
-# that cannot be determined by otool output analysis.  (i.e., plugins)
-#
-# Gather all the keys for all the executables and libraries in a bundle,
-# and then, for each key, copy each prerequisite into the bundle.  Then
-# fix each one up according to its own list of prerequisites.
-#
-# Then clear all the keys and call verify_app on the final bundle to
-# ensure that it is truly standalone.
-#
-# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
-# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
-#
-# ::
-#
-#   COPY_AND_FIXUP_BUNDLE(<src> <dst> <libs> <dirs>)
-#
-# Makes a copy of the bundle <src> at location <dst> and then fixes up
-# the new copied bundle in-place at <dst>...
-#
-# ::
-#
-#   VERIFY_APP(<app>)
-#
-# Verifies that an application <app> appears valid based on running
-# analysis tools on it.  Calls "message(FATAL_ERROR" if the application
-# is not verified.
-#
-# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
-# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
-#
-# ::
-#
-#   GET_BUNDLE_MAIN_EXECUTABLE(<bundle> <result_var>)
-#
-# The result will be the full path name of the bundle's main executable
-# file or an "error:" prefixed string if it could not be determined.
-#
-# ::
-#
-#   GET_DOTAPP_DIR(<exe> <dotapp_dir_var>)
-#
-# Returns the nearest parent dir whose name ends with ".app" given the
-# full path to an executable.  If there is no such parent dir, then
-# simply return the dir containing the executable.
-#
-# The returned directory may or may not exist.
-#
-# ::
-#
-#   GET_BUNDLE_AND_EXECUTABLE(<app> <bundle_var> <executable_var> <valid_var>)
-#
-# Takes either a ".app" directory name or the name of an executable
-# nested inside a ".app" directory and returns the path to the ".app"
-# directory in <bundle_var> and the path to its main executable in
-# <executable_var>
-#
-# ::
-#
-#   GET_BUNDLE_ALL_EXECUTABLES(<bundle> <exes_var>)
-#
-# Scans the given bundle recursively for all executable files and
-# accumulates them into a variable.
-#
-# ::
-#
-#   GET_ITEM_KEY(<item> <key_var>)
-#
-# Given a file (item) name, generate a key that should be unique
-# considering the set of libraries that need copying or fixing up to
-# make a bundle standalone.  This is essentially the file name including
-# extension with "." replaced by "_"
-#
-# This key is used as a prefix for CMake variables so that we can
-# associate a set of variables with a given item based on its key.
-#
-# ::
-#
-#   CLEAR_BUNDLE_KEYS(<keys_var>)
-#
-# Loop over the list of keys, clearing all the variables associated with
-# each key.  After the loop, clear the list of keys itself.
-#
-# Caller of get_bundle_keys should call clear_bundle_keys when done with
-# list of keys.
-#
-# ::
-#
-#   SET_BUNDLE_KEY_VALUES(<keys_var> <context> <item> <exepath> <dirs>
-#                         <copyflag> [<rpaths>])
-#
-# Add a key to the list (if necessary) for the given item.  If added,
-# also set all the variables associated with that key.
-#
-# ::
-#
-#   GET_BUNDLE_KEYS(<app> <libs> <dirs> <keys_var>)
-#
-# Loop over all the executable and library files within the bundle (and
-# given as extra <libs>) and accumulate a list of keys representing
-# them.  Set values associated with each key such that we can loop over
-# all of them and copy prerequisite libs into the bundle and then do
-# appropriate install_name_tool fixups.
-#
-# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
-# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
-#
-# ::
-#
-#   COPY_RESOLVED_ITEM_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
-#
-# Copy a resolved item into the bundle if necessary.  Copy is not
-# necessary if the resolved_item is "the same as" the
-# resolved_embedded_item.
-#
-# ::
-#
-#   COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
-#
-# Copy a resolved framework into the bundle if necessary.  Copy is not
-# necessary if the resolved_item is "the same as" the
-# resolved_embedded_item.
-#
-# By default, BU_COPY_FULL_FRAMEWORK_CONTENTS is not set.  If you want
-# full frameworks embedded in your bundles, set
-# BU_COPY_FULL_FRAMEWORK_CONTENTS to ON before calling fixup_bundle.  By
-# default, COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE copies the framework
-# dylib itself plus the framework Resources directory.
-#
-# ::
-#
-#   FIXUP_BUNDLE_ITEM(<resolved_embedded_item> <exepath> <dirs>)
-#
-# Get the direct/non-system prerequisites of the resolved embedded item.
-# For each prerequisite, change the way it is referenced to the value of
-# the _EMBEDDED_ITEM keyed variable for that prerequisite.  (Most likely
-# changing to an "@executable_path" style reference.)
-#
-# This function requires that the resolved_embedded_item be "inside" the
-# bundle already.  In other words, if you pass plugins to fixup_bundle
-# as the libs parameter, you should install them or copy them into the
-# bundle before calling fixup_bundle.  The "libs" parameter is a list of
-# libraries that must be fixed up, but that cannot be determined by
-# otool output analysis.  (i.e., plugins)
-#
-# Also, change the id of the item being fixed up to its own
-# _EMBEDDED_ITEM value.
-#
-# Accumulate changes in a local variable and make *one* call to
-# install_name_tool at the end of the function with all the changes at
-# once.
-#
-# If the BU_CHMOD_BUNDLE_ITEMS variable is set then bundle items will be
-# marked writable before install_name_tool tries to change them.
-#
-# ::
-#
-#   VERIFY_BUNDLE_PREREQUISITES(<bundle> <result_var> <info_var>)
-#
-# Verifies that the sum of all prerequisites of all files inside the
-# bundle are contained within the bundle or are "system" libraries,
-# presumed to exist everywhere.
-#
-# As an optional parameter (IGNORE_ITEM) a list of file names can be passed,
-# which are then ignored (e.g. IGNORE_ITEM "vcredist_x86.exe;vcredist_x64.exe")
-#
-# ::
-#
-#   VERIFY_BUNDLE_SYMLINKS(<bundle> <result_var> <info_var>)
-#
-# Verifies that any symlinks found in the bundle point to other files
-# that are already also in the bundle...  Anything that points to an
-# external file causes this function to fail the verification.
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# The functions defined in this file depend on the get_prerequisites function
-# (and possibly others) found in:
-#
-get_filename_component(BundleUtilities_cmake_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
-include("${BundleUtilities_cmake_dir}/GetPrerequisites.cmake")
-
-
-function(get_bundle_main_executable bundle result_var)
-  set(result "error: '${bundle}/Contents/Info.plist' file does not exist")
-
-  if(EXISTS "${bundle}/Contents/Info.plist")
-    set(result "error: no CFBundleExecutable in '${bundle}/Contents/Info.plist' file")
-    set(line_is_main_executable 0)
-    set(bundle_executable "")
-
-    # Read Info.plist as a list of lines:
-    #
-    set(eol_char "E")
-    file(READ "${bundle}/Contents/Info.plist" info_plist)
-    string(REPLACE ";" "\\;" info_plist "${info_plist}")
-    string(REPLACE "\n" "${eol_char};" info_plist "${info_plist}")
-    string(REPLACE "\r" "${eol_char};" info_plist "${info_plist}")
-
-    # Scan the lines for "<key>CFBundleExecutable</key>" - the line after that
-    # is the name of the main executable.
-    #
-    foreach(line ${info_plist})
-      if(line_is_main_executable)
-        string(REGEX REPLACE "^.*<string>(.*)</string>.*$" "\\1" bundle_executable "${line}")
-        break()
-      endif()
-
-      if(line MATCHES "<key>CFBundleExecutable</key>")
-        set(line_is_main_executable 1)
-      endif()
-    endforeach()
-
-    if(NOT "${bundle_executable}" STREQUAL "")
-      if(EXISTS "${bundle}/Contents/MacOS/${bundle_executable}")
-        set(result "${bundle}/Contents/MacOS/${bundle_executable}")
-      else()
-
-        # Ultimate goal:
-        # If not in "Contents/MacOS" then scan the bundle for matching files. If
-        # there is only one executable file that matches, then use it, otherwise
-        # it's an error...
-        #
-        #file(GLOB_RECURSE file_list "${bundle}/${bundle_executable}")
-
-        # But for now, pragmatically, it's an error. Expect the main executable
-        # for the bundle to be in Contents/MacOS, it's an error if it's not:
-        #
-        set(result "error: '${bundle}/Contents/MacOS/${bundle_executable}' does not exist")
-      endif()
-    endif()
-  else()
-    #
-    # More inclusive technique... (This one would work on Windows and Linux
-    # too, if a developer followed the typical Mac bundle naming convention...)
-    #
-    # If there is no Info.plist file, try to find an executable with the same
-    # base name as the .app directory:
-    #
-  endif()
-
-  set(${result_var} "${result}" PARENT_SCOPE)
-endfunction()
-
-
-function(get_dotapp_dir exe dotapp_dir_var)
-  set(s "${exe}")
-
-  if(s MATCHES "/.*\\.app/")
-    # If there is a ".app" parent directory,
-    # ascend until we hit it:
-    #   (typical of a Mac bundle executable)
-    #
-    set(done 0)
-    while(NOT ${done})
-      get_filename_component(snamewe "${s}" NAME_WE)
-      get_filename_component(sname "${s}" NAME)
-      get_filename_component(sdir "${s}" PATH)
-      set(s "${sdir}")
-      if(sname MATCHES "\\.app$")
-        set(done 1)
-        set(dotapp_dir "${sdir}/${sname}")
-      endif()
-    endwhile()
-  else()
-    # Otherwise use a directory containing the exe
-    #   (typical of a non-bundle executable on Mac, Windows or Linux)
-    #
-    is_file_executable("${s}" is_executable)
-    if(is_executable)
-      get_filename_component(sdir "${s}" PATH)
-      set(dotapp_dir "${sdir}")
-    else()
-      set(dotapp_dir "${s}")
-    endif()
-  endif()
-
-
-  set(${dotapp_dir_var} "${dotapp_dir}" PARENT_SCOPE)
-endfunction()
-
-
-function(get_bundle_and_executable app bundle_var executable_var valid_var)
-  set(valid 0)
-
-  if(EXISTS "${app}")
-    # Is it a directory ending in .app?
-    if(IS_DIRECTORY "${app}")
-      if(app MATCHES "\\.app$")
-        get_bundle_main_executable("${app}" executable)
-        if(EXISTS "${app}" AND EXISTS "${executable}")
-          set(${bundle_var} "${app}" PARENT_SCOPE)
-          set(${executable_var} "${executable}" PARENT_SCOPE)
-          set(valid 1)
-          #message(STATUS "info: handled .app directory case...")
-        else()
-          message(STATUS "warning: *NOT* handled - .app directory case...")
-        endif()
-      else()
-        message(STATUS "warning: *NOT* handled - directory but not .app case...")
-      endif()
-    else()
-      # Is it an executable file?
-      is_file_executable("${app}" is_executable)
-      if(is_executable)
-        get_dotapp_dir("${app}" dotapp_dir)
-        if(EXISTS "${dotapp_dir}")
-          set(${bundle_var} "${dotapp_dir}" PARENT_SCOPE)
-          set(${executable_var} "${app}" PARENT_SCOPE)
-          set(valid 1)
-          #message(STATUS "info: handled executable file in .app dir case...")
-        else()
-          get_filename_component(app_dir "${app}" PATH)
-          set(${bundle_var} "${app_dir}" PARENT_SCOPE)
-          set(${executable_var} "${app}" PARENT_SCOPE)
-          set(valid 1)
-          #message(STATUS "info: handled executable file in any dir case...")
-        endif()
-      else()
-        message(STATUS "warning: *NOT* handled - not .app dir, not executable file...")
-      endif()
-    endif()
-  else()
-    message(STATUS "warning: *NOT* handled - directory/file does not exist...")
-  endif()
-
-  if(NOT valid)
-    set(${bundle_var} "error: not a bundle" PARENT_SCOPE)
-    set(${executable_var} "error: not a bundle" PARENT_SCOPE)
-  endif()
-
-  set(${valid_var} ${valid} PARENT_SCOPE)
-endfunction()
-
-
-function(get_bundle_all_executables bundle exes_var)
-  set(exes "")
-
-  if(UNIX)
-    find_program(find_cmd "find")
-    mark_as_advanced(find_cmd)
-  endif()
-
-  # find command is much quicker than checking every file one by one on Unix
-  # which can take long time for large bundles, and since anyway we expect
-  # executable to have execute flag set we can narrow the list much quicker.
-  if(find_cmd)
-    execute_process(COMMAND "${find_cmd}" "${bundle}"
-      -type f \( -perm -0100 -o -perm -0010 -o -perm -0001 \)
-      OUTPUT_VARIABLE file_list
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      )
-    string(REPLACE "\n" ";" file_list "${file_list}")
-  else()
-    file(GLOB_RECURSE file_list "${bundle}/*")
-  endif()
-
-  foreach(f ${file_list})
-    is_file_executable("${f}" is_executable)
-    if(is_executable)
-      set(exes ${exes} "${f}")
-    endif()
-  endforeach()
-
-  set(${exes_var} "${exes}" PARENT_SCOPE)
-endfunction()
-
-
-function(get_item_rpaths item rpaths_var)
-  if(APPLE)
-    find_program(otool_cmd "otool")
-    mark_as_advanced(otool_cmd)
-  endif()
-
-  if(otool_cmd)
-    execute_process(
-      COMMAND "${otool_cmd}" -l "${item}"
-      OUTPUT_VARIABLE load_cmds_ov
-      )
-    string(REGEX REPLACE "[^\n]+cmd LC_RPATH\n[^\n]+\n[^\n]+path ([^\n]+) \\(offset[^\n]+\n" "rpath \\1\n" load_cmds_ov "${load_cmds_ov}")
-    string(REGEX MATCHALL "rpath [^\n]+" load_cmds_ov "${load_cmds_ov}")
-    string(REGEX REPLACE "rpath " "" load_cmds_ov "${load_cmds_ov}")
-    if(load_cmds_ov)
-      foreach(rpath ${load_cmds_ov})
-        gp_append_unique(${rpaths_var} "${rpath}")
-      endforeach()
-    endif()
-  endif()
-
-  set(${rpaths_var} ${${rpaths_var}} PARENT_SCOPE)
-endfunction()
-
-
-function(get_item_key item key_var)
-  get_filename_component(item_name "${item}" NAME)
-  if(WIN32)
-    string(TOLOWER "${item_name}" item_name)
-  endif()
-  string(REPLACE "." "_" ${key_var} "${item_name}")
-  set(${key_var} ${${key_var}} PARENT_SCOPE)
-endfunction()
-
-
-function(clear_bundle_keys keys_var)
-  foreach(key ${${keys_var}})
-    set(${key}_ITEM PARENT_SCOPE)
-    set(${key}_RESOLVED_ITEM PARENT_SCOPE)
-    set(${key}_DEFAULT_EMBEDDED_PATH PARENT_SCOPE)
-    set(${key}_EMBEDDED_ITEM PARENT_SCOPE)
-    set(${key}_RESOLVED_EMBEDDED_ITEM PARENT_SCOPE)
-    set(${key}_COPYFLAG PARENT_SCOPE)
-    set(${key}_RPATHS PARENT_SCOPE)
-  endforeach()
-  set(${keys_var} PARENT_SCOPE)
-endfunction()
-
-
-function(set_bundle_key_values keys_var context item exepath dirs copyflag)
-  if(ARGC GREATER 6)
-    set(rpaths "${ARGV6}")
-  else()
-    set(rpaths "")
-  endif()
-  get_filename_component(item_name "${item}" NAME)
-
-  get_item_key("${item}" key)
-
-  list(LENGTH ${keys_var} length_before)
-  gp_append_unique(${keys_var} "${key}")
-  list(LENGTH ${keys_var} length_after)
-
-  if(NOT length_before EQUAL length_after)
-    gp_resolve_item("${context}" "${item}" "${exepath}" "${dirs}" resolved_item "${rpaths}")
-
-    gp_item_default_embedded_path("${item}" default_embedded_path)
-
-    get_item_rpaths("${resolved_item}" item_rpaths)
-
-    if((NOT item MATCHES "\\.dylib$") AND (item MATCHES "[^/]+\\.framework/"))
-      # For frameworks, construct the name under the embedded path from the
-      # opening "${item_name}.framework/" to the closing "/${item_name}":
-      #
-      string(REGEX REPLACE "^.*(${item_name}.framework/.*/?${item_name}).*$" "${default_embedded_path}/\\1" embedded_item "${item}")
-    else()
-      # For other items, just use the same name as the original, but in the
-      # embedded path:
-      #
-      set(embedded_item "${default_embedded_path}/${item_name}")
-    endif()
-
-    # Replace @executable_path and resolve ".." references:
-    #
-    string(REPLACE "@executable_path" "${exepath}" resolved_embedded_item "${embedded_item}")
-    get_filename_component(resolved_embedded_item "${resolved_embedded_item}" ABSOLUTE)
-
-    # *But* -- if we are not copying, then force resolved_embedded_item to be
-    # the same as resolved_item. In the case of multiple executables in the
-    # original bundle, using the default_embedded_path results in looking for
-    # the resolved executable next to the main bundle executable. This is here
-    # so that exes in the other sibling directories (like "bin") get fixed up
-    # properly...
-    #
-    if(NOT copyflag)
-      set(resolved_embedded_item "${resolved_item}")
-    endif()
-
-    set(${keys_var} ${${keys_var}} PARENT_SCOPE)
-    set(${key}_ITEM "${item}" PARENT_SCOPE)
-    set(${key}_RESOLVED_ITEM "${resolved_item}" PARENT_SCOPE)
-    set(${key}_DEFAULT_EMBEDDED_PATH "${default_embedded_path}" PARENT_SCOPE)
-    set(${key}_EMBEDDED_ITEM "${embedded_item}" PARENT_SCOPE)
-    set(${key}_RESOLVED_EMBEDDED_ITEM "${resolved_embedded_item}" PARENT_SCOPE)
-    set(${key}_COPYFLAG "${copyflag}" PARENT_SCOPE)
-    set(${key}_RPATHS "${item_rpaths}" PARENT_SCOPE)
-    set(${key}_RDEP_RPATHS "${rpaths}" PARENT_SCOPE)
-  else()
-    #message("warning: item key '${key}' already in the list, subsequent references assumed identical to first")
-  endif()
-endfunction()
-
-
-function(get_bundle_keys app libs dirs keys_var)
-  set(${keys_var} PARENT_SCOPE)
-
-  set(options)
-  set(oneValueArgs)
-  set(multiValueArgs IGNORE_ITEM)
-  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-
-  get_bundle_and_executable("${app}" bundle executable valid)
-  if(valid)
-    # Always use the exepath of the main bundle executable for @executable_path
-    # replacements:
-    #
-    get_filename_component(exepath "${executable}" PATH)
-
-    # But do fixups on all executables in the bundle:
-    #
-    get_bundle_all_executables("${bundle}" exes)
-
-    # Set keys for main executable first:
-    #
-    set_bundle_key_values(${keys_var} "${executable}" "${executable}" "${exepath}" "${dirs}" 0)
-
-    # Get rpaths specified by main executable:
-    #
-    get_item_key("${executable}" executable_key)
-    set(main_rpaths "${${executable_key}_RPATHS}")
-
-    # For each extra lib, accumulate a key as well and then also accumulate
-    # any of its prerequisites. (Extra libs are typically dynamically loaded
-    # plugins: libraries that are prerequisites for full runtime functionality
-    # but that do not show up in otool -L output...)
-    #
-    foreach(lib ${libs})
-      set_bundle_key_values(${keys_var} "${lib}" "${lib}" "${exepath}" "${dirs}" 0 "${main_rpaths}")
-
-      set(prereqs "")
-      set(ignoreFile FALSE)
-      get_filename_component(prereq_filename ${lib} NAME)
-      if(NOT "${CFG_IGNORE_ITEM}" STREQUAL "" )
-        foreach(item ${CFG_IGNORE_ITEM})
-            if("${item}" STREQUAL "${prereq_filename}")
-              set(ignoreFile TRUE)
-            endif()
-        endforeach()
-      endif()
-
-      if(NOT ignoreFile)
-        get_prerequisites("${lib}" prereqs 1 1 "${exepath}" "${dirs}" "${main_rpaths}")
-        foreach(pr ${prereqs})
-          set_bundle_key_values(${keys_var} "${lib}" "${pr}" "${exepath}" "${dirs}" 1 "${main_rpaths}")
-        endforeach()
-      else()
-        message(STATUS "Ignoring file: ${prereq_filename}")
-      endif()
-    endforeach()
-
-    # For each executable found in the bundle, accumulate keys as we go.
-    # The list of keys should be complete when all prerequisites of all
-    # binaries in the bundle have been analyzed.
-    #
-    foreach(exe ${exes})
-      # Main executable is scanned first above:
-      #
-      if(NOT "${exe}" STREQUAL "${executable}")
-        # Add the exe itself to the keys:
-        #
-        set_bundle_key_values(${keys_var} "${exe}" "${exe}" "${exepath}" "${dirs}" 0 "${main_rpaths}")
-
-        # Get rpaths specified by executable:
-        #
-        get_item_key("${exe}" exe_key)
-        set(exe_rpaths "${main_rpaths}" "${${exe_key}_RPATHS}")
-      else()
-        set(exe_rpaths "${main_rpaths}")
-      endif()
-
-      # Add each prerequisite to the keys:
-      #
-      set(prereqs "")
-      set(ignoreFile FALSE)
-      get_filename_component(prereq_filename ${exe} NAME)
-      if(NOT "${CFG_IGNORE_ITEM}" STREQUAL "" )
-        foreach(item ${CFG_IGNORE_ITEM})
-            if("${item}" STREQUAL "${prereq_filename}")
-              set(ignoreFile TRUE)
-            endif()
-        endforeach()
-      endif()
-
-      if(NOT ignoreFile)
-        get_prerequisites("${exe}" prereqs 1 1 "${exepath}" "${dirs}" "${exe_rpaths}")
-        foreach(pr ${prereqs})
-          set_bundle_key_values(${keys_var} "${exe}" "${pr}" "${exepath}" "${dirs}" 1 "${exe_rpaths}")
-        endforeach()
-      else()
-        message(STATUS "Ignoring file: ${prereq_filename}")
-      endif()
-    endforeach()
-
-    # Propagate values to caller's scope:
-    #
-    set(${keys_var} ${${keys_var}} PARENT_SCOPE)
-    foreach(key ${${keys_var}})
-      set(${key}_ITEM "${${key}_ITEM}" PARENT_SCOPE)
-      set(${key}_RESOLVED_ITEM "${${key}_RESOLVED_ITEM}" PARENT_SCOPE)
-      set(${key}_DEFAULT_EMBEDDED_PATH "${${key}_DEFAULT_EMBEDDED_PATH}" PARENT_SCOPE)
-      set(${key}_EMBEDDED_ITEM "${${key}_EMBEDDED_ITEM}" PARENT_SCOPE)
-      set(${key}_RESOLVED_EMBEDDED_ITEM "${${key}_RESOLVED_EMBEDDED_ITEM}" PARENT_SCOPE)
-      set(${key}_COPYFLAG "${${key}_COPYFLAG}" PARENT_SCOPE)
-      set(${key}_RPATHS "${${key}_RPATHS}" PARENT_SCOPE)
-      set(${key}_RDEP_RPATHS "${${key}_RDEP_RPATHS}" PARENT_SCOPE)
-    endforeach()
-  endif()
-endfunction()
-
-
-function(copy_resolved_item_into_bundle resolved_item resolved_embedded_item)
-  if(WIN32)
-    # ignore case on Windows
-    string(TOLOWER "${resolved_item}" resolved_item_compare)
-    string(TOLOWER "${resolved_embedded_item}" resolved_embedded_item_compare)
-  else()
-    set(resolved_item_compare "${resolved_item}")
-    set(resolved_embedded_item_compare "${resolved_embedded_item}")
-  endif()
-
-  if("${resolved_item_compare}" STREQUAL "${resolved_embedded_item_compare}")
-    message(STATUS "warning: resolved_item == resolved_embedded_item - not copying...")
-  else()
-    #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy ${resolved_item} ${resolved_embedded_item}")
-    execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_item}" "${resolved_embedded_item}")
-    if(UNIX AND NOT APPLE)
-      file(RPATH_REMOVE FILE "${resolved_embedded_item}")
-    endif()
-  endif()
-
-endfunction()
-
-
-function(copy_resolved_framework_into_bundle resolved_item resolved_embedded_item)
-  if(WIN32)
-    # ignore case on Windows
-    string(TOLOWER "${resolved_item}" resolved_item_compare)
-    string(TOLOWER "${resolved_embedded_item}" resolved_embedded_item_compare)
-  else()
-    set(resolved_item_compare "${resolved_item}")
-    set(resolved_embedded_item_compare "${resolved_embedded_item}")
-  endif()
-
-  if("${resolved_item_compare}" STREQUAL "${resolved_embedded_item_compare}")
-    message(STATUS "warning: resolved_item == resolved_embedded_item - not copying...")
-  else()
-    if(BU_COPY_FULL_FRAMEWORK_CONTENTS)
-      # Full Framework (everything):
-      get_filename_component(resolved_dir "${resolved_item}" PATH)
-      get_filename_component(resolved_dir "${resolved_dir}/../.." ABSOLUTE)
-      get_filename_component(resolved_embedded_dir "${resolved_embedded_item}" PATH)
-      get_filename_component(resolved_embedded_dir "${resolved_embedded_dir}/../.." ABSOLUTE)
-      #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy_directory '${resolved_dir}' '${resolved_embedded_dir}'")
-      execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${resolved_dir}" "${resolved_embedded_dir}")
-    else()
-      # Framework lib itself:
-      #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy ${resolved_item} ${resolved_embedded_item}")
-      execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_item}" "${resolved_embedded_item}")
-
-      # Plus Resources, if they exist:
-      string(REGEX REPLACE "^(.*)/[^/]+$" "\\1/Resources" resolved_resources "${resolved_item}")
-      string(REGEX REPLACE "^(.*)/[^/]+$" "\\1/Resources" resolved_embedded_resources "${resolved_embedded_item}")
-      if(EXISTS "${resolved_resources}")
-        #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy_directory '${resolved_resources}' '${resolved_embedded_resources}'")
-        execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${resolved_resources}" "${resolved_embedded_resources}")
-      endif()
-
-      # Some frameworks e.g. Qt put Info.plist in wrong place, so when it is
-      # missing in resources, copy it from other well known incorrect locations:
-      if(NOT EXISTS "${resolved_resources}/Info.plist")
-        # Check for Contents/Info.plist in framework root (older Qt SDK):
-        string(REGEX REPLACE "^(.*)/[^/]+/[^/]+/[^/]+$" "\\1/Contents/Info.plist" resolved_info_plist "${resolved_item}")
-        string(REGEX REPLACE "^(.*)/[^/]+$" "\\1/Resources/Info.plist" resolved_embedded_info_plist "${resolved_embedded_item}")
-        if(EXISTS "${resolved_info_plist}")
-          #message(STATUS "copying COMMAND ${CMAKE_COMMAND} -E copy_directory '${resolved_info_plist}' '${resolved_embedded_info_plist}'")
-          execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_info_plist}" "${resolved_embedded_info_plist}")
-        endif()
-      endif()
-
-      # Check if framework is versioned and fix it layout
-      string(REGEX REPLACE "^.*/([^/]+)/[^/]+$" "\\1" resolved_embedded_version "${resolved_embedded_item}")
-      string(REGEX REPLACE "^(.*)/[^/]+/[^/]+$" "\\1" resolved_embedded_versions "${resolved_embedded_item}")
-      string(REGEX REPLACE "^.*/([^/]+)/[^/]+/[^/]+$" "\\1" resolved_embedded_versions_basename "${resolved_embedded_item}")
-      if(resolved_embedded_versions_basename STREQUAL "Versions")
-        # Ensure Current symlink points to the framework version
-        if(NOT EXISTS "${resolved_embedded_versions}/Current")
-          execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${resolved_embedded_version}" "${resolved_embedded_versions}/Current")
-        endif()
-        # Restore symlinks in framework root pointing to current framework
-        # binary and resources:
-        string(REGEX REPLACE "^(.*)/[^/]+/[^/]+/[^/]+$" "\\1" resolved_embedded_root "${resolved_embedded_item}")
-        string(REGEX REPLACE "^.*/([^/]+)$" "\\1" resolved_embedded_item_basename "${resolved_embedded_item}")
-        if(NOT EXISTS "${resolved_embedded_root}/${resolved_embedded_item_basename}")
-          execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "Versions/Current/${resolved_embedded_item_basename}" "${resolved_embedded_root}/${resolved_embedded_item_basename}")
-        endif()
-        if(NOT EXISTS "${resolved_embedded_root}/Resources")
-          execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "Versions/Current/Resources" "${resolved_embedded_root}/Resources")
-        endif()
-      endif()
-    endif()
-    if(UNIX AND NOT APPLE)
-      file(RPATH_REMOVE FILE "${resolved_embedded_item}")
-    endif()
-  endif()
-
-endfunction()
-
-
-function(fixup_bundle_item resolved_embedded_item exepath dirs)
-  # This item's key is "ikey":
-  #
-  get_item_key("${resolved_embedded_item}" ikey)
-
-  # Ensure the item is "inside the .app bundle" -- it should not be fixed up if
-  # it is not in the .app bundle... Otherwise, we'll modify files in the build
-  # tree, or in other varied locations around the file system, with our call to
-  # install_name_tool. Make sure that doesn't happen here:
-  #
-  get_dotapp_dir("${exepath}" exe_dotapp_dir)
-  string(LENGTH "${exe_dotapp_dir}/" exe_dotapp_dir_length)
-  string(LENGTH "${resolved_embedded_item}" resolved_embedded_item_length)
-  set(path_too_short 0)
-  set(is_embedded 0)
-  if(${resolved_embedded_item_length} LESS ${exe_dotapp_dir_length})
-    set(path_too_short 1)
-  endif()
-  if(NOT path_too_short)
-    string(SUBSTRING "${resolved_embedded_item}" 0 ${exe_dotapp_dir_length} item_substring)
-    if("${exe_dotapp_dir}/" STREQUAL "${item_substring}")
-      set(is_embedded 1)
-    endif()
-  endif()
-  if(NOT is_embedded)
-    message("  exe_dotapp_dir/='${exe_dotapp_dir}/'")
-    message("  item_substring='${item_substring}'")
-    message("  resolved_embedded_item='${resolved_embedded_item}'")
-    message("")
-    message("Install or copy the item into the bundle before calling fixup_bundle.")
-    message("Or maybe there's a typo or incorrect path in one of the args to fixup_bundle?")
-    message("")
-    message(FATAL_ERROR "cannot fixup an item that is not in the bundle...")
-  endif()
-
-  set(rpaths "${${ikey}_RPATHS}" "${${ikey}_RDEP_RPATHS}")
-
-  set(prereqs "")
-  get_prerequisites("${resolved_embedded_item}" prereqs 1 0 "${exepath}" "${dirs}" "${rpaths}")
-
-  set(changes "")
-
-  foreach(pr ${prereqs})
-    # Each referenced item's key is "rkey" in the loop:
-    #
-    get_item_key("${pr}" rkey)
-
-    if(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
-      set(changes ${changes} "-change" "${pr}" "${${rkey}_EMBEDDED_ITEM}")
-    else()
-      message("warning: unexpected reference to '${pr}'")
-    endif()
-  endforeach()
-
-  if(BU_CHMOD_BUNDLE_ITEMS)
-    execute_process(COMMAND chmod u+w "${resolved_embedded_item}")
-  endif()
-
-  # Only if install_name_tool supports -delete_rpath:
-  #
-  execute_process(COMMAND install_name_tool
-    OUTPUT_VARIABLE install_name_tool_usage
-    ERROR_VARIABLE  install_name_tool_usage
-    )
-  if(install_name_tool_usage MATCHES ".*-delete_rpath.*")
-    foreach(rpath ${${ikey}_RPATHS})
-      set(changes ${changes} -delete_rpath "${rpath}")
-    endforeach()
-  endif()
-
-  if(${ikey}_EMBEDDED_ITEM)
-    set(changes ${changes} -id "${${ikey}_EMBEDDED_ITEM}")
-  endif()
-
-  # Change this item's id and all of its references in one call
-  # to install_name_tool:
-  #
-  if(changes)
-    set(cmd install_name_tool ${changes} "${resolved_embedded_item}")
-    execute_process(COMMAND ${cmd} RESULT_VARIABLE install_name_tool_result)
-    if(NOT install_name_tool_result EQUAL 0)
-      string(REPLACE ";" "' '" msg "'${cmd}'")
-      message(FATAL_ERROR "Command failed:\n ${msg}")
-    endif()
-  endif()
-endfunction()
-
-
-function(fixup_bundle app libs dirs)
-  message(STATUS "fixup_bundle")
-  message(STATUS "  app='${app}'")
-  message(STATUS "  libs='${libs}'")
-  message(STATUS "  dirs='${dirs}'")
-
-  set(options)
-  set(oneValueArgs)
-  set(multiValueArgs IGNORE_ITEM)
-  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-
-  message(STATUS "  ignoreItems='${CFG_IGNORE_ITEM}'")
-
-  get_bundle_and_executable("${app}" bundle executable valid)
-  if(valid)
-    get_filename_component(exepath "${executable}" PATH)
-
-    message(STATUS "fixup_bundle: preparing...")
-    get_bundle_keys("${app}" "${libs}" "${dirs}" keys IGNORE_ITEM "${CFG_IGNORE_ITEM}")
-
-    message(STATUS "fixup_bundle: copying...")
-    list(LENGTH keys n)
-    math(EXPR n ${n}*2)
-
-    set(i 0)
-    foreach(key ${keys})
-      math(EXPR i ${i}+1)
-      if(${${key}_COPYFLAG})
-        message(STATUS "${i}/${n}: copying '${${key}_RESOLVED_ITEM}'")
-      else()
-        message(STATUS "${i}/${n}: *NOT* copying '${${key}_RESOLVED_ITEM}'")
-      endif()
-
-      set(show_status 0)
-      if(show_status)
-        message(STATUS "key='${key}'")
-        message(STATUS "item='${${key}_ITEM}'")
-        message(STATUS "resolved_item='${${key}_RESOLVED_ITEM}'")
-        message(STATUS "default_embedded_path='${${key}_DEFAULT_EMBEDDED_PATH}'")
-        message(STATUS "embedded_item='${${key}_EMBEDDED_ITEM}'")
-        message(STATUS "resolved_embedded_item='${${key}_RESOLVED_EMBEDDED_ITEM}'")
-        message(STATUS "copyflag='${${key}_COPYFLAG}'")
-        message(STATUS "")
-      endif()
-
-      if(${${key}_COPYFLAG})
-        set(item "${${key}_ITEM}")
-        if(item MATCHES "[^/]+\\.framework/")
-          copy_resolved_framework_into_bundle("${${key}_RESOLVED_ITEM}"
-            "${${key}_RESOLVED_EMBEDDED_ITEM}")
-        else()
-          copy_resolved_item_into_bundle("${${key}_RESOLVED_ITEM}"
-            "${${key}_RESOLVED_EMBEDDED_ITEM}")
-        endif()
-      endif()
-    endforeach()
-
-    message(STATUS "fixup_bundle: fixing...")
-    foreach(key ${keys})
-      math(EXPR i ${i}+1)
-      if(APPLE)
-        message(STATUS "${i}/${n}: fixing up '${${key}_RESOLVED_EMBEDDED_ITEM}'")
-        fixup_bundle_item("${${key}_RESOLVED_EMBEDDED_ITEM}" "${exepath}" "${dirs}")
-      else()
-        message(STATUS "${i}/${n}: fix-up not required on this platform '${${key}_RESOLVED_EMBEDDED_ITEM}'")
-      endif()
-    endforeach()
-
-    message(STATUS "fixup_bundle: cleaning up...")
-    clear_bundle_keys(keys)
-
-    message(STATUS "fixup_bundle: verifying...")
-    verify_app("${app}" IGNORE_ITEM "${CFG_IGNORE_ITEM}")
-  else()
-    message(SEND_ERROR "error: fixup_bundle: not a valid bundle")
-  endif()
-
-  message(STATUS "fixup_bundle: done")
-endfunction()
-
-
-function(copy_and_fixup_bundle src dst libs dirs)
-  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${src}" "${dst}")
-  fixup_bundle("${dst}" "${libs}" "${dirs}")
-endfunction()
-
-
-function(verify_bundle_prerequisites bundle result_var info_var)
-  set(result 1)
-  set(info "")
-  set(count 0)
-
-  set(options)
-  set(oneValueArgs)
-  set(multiValueArgs IGNORE_ITEM)
-  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-
-  get_bundle_main_executable("${bundle}" main_bundle_exe)
-
-  get_bundle_all_executables("${bundle}" file_list)
-  foreach(f ${file_list})
-      get_filename_component(exepath "${f}" PATH)
-      math(EXPR count "${count} + 1")
-
-      message(STATUS "executable file ${count}: ${f}")
-
-      set(prereqs "")
-      set(ignoreFile FALSE)
-      get_filename_component(prereq_filename ${f} NAME)
-
-      if(NOT "${CFG_IGNORE_ITEM}" STREQUAL "" )
-        foreach(item ${CFG_IGNORE_ITEM})
-            if("${item}" STREQUAL "${prereq_filename}")
-              set(ignoreFile TRUE)
-            endif()
-        endforeach()
-      endif()
-
-      if(NOT ignoreFile)
-        get_prerequisites("${f}" prereqs 1 1 "${exepath}" "")
-
-        # On the Mac,
-        # "embedded" and "system" prerequisites are fine... anything else means
-        # the bundle's prerequisites are not verified (i.e., the bundle is not
-        # really "standalone")
-        #
-        # On Windows (and others? Linux/Unix/...?)
-        # "local" and "system" prereqs are fine...
-        #
-
-        set(external_prereqs "")
-
-        foreach(p ${prereqs})
-          set(p_type "")
-          gp_file_type("${f}" "${p}" p_type)
-
-          if(APPLE)
-            if(NOT "${p_type}" STREQUAL "embedded" AND NOT "${p_type}" STREQUAL "system")
-              set(external_prereqs ${external_prereqs} "${p}")
-            endif()
-          else()
-            if(NOT "${p_type}" STREQUAL "local" AND NOT "${p_type}" STREQUAL "system")
-              set(external_prereqs ${external_prereqs} "${p}")
-            endif()
-          endif()
-        endforeach()
-
-        if(external_prereqs)
-          # Found non-system/somehow-unacceptable prerequisites:
-          set(result 0)
-          set(info ${info} "external prerequisites found:\nf='${f}'\nexternal_prereqs='${external_prereqs}'\n")
-        endif()
-      else()
-        message(STATUS "Ignoring file: ${prereq_filename}")
-      endif()
-  endforeach()
-
-  if(result)
-    set(info "Verified ${count} executable files in '${bundle}'")
-  endif()
-
-  set(${result_var} "${result}" PARENT_SCOPE)
-  set(${info_var} "${info}" PARENT_SCOPE)
-endfunction()
-
-
-function(verify_bundle_symlinks bundle result_var info_var)
-  set(result 1)
-  set(info "")
-  set(count 0)
-
-  # TODO: implement this function for real...
-  # Right now, it is just a stub that verifies unconditionally...
-
-  set(${result_var} "${result}" PARENT_SCOPE)
-  set(${info_var} "${info}" PARENT_SCOPE)
-endfunction()
-
-
-function(verify_app app)
-  set(verified 0)
-  set(info "")
-
-  set(options)
-  set(oneValueArgs)
-  set(multiValueArgs IGNORE_ITEM)
-  cmake_parse_arguments(CFG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-
-  get_bundle_and_executable("${app}" bundle executable valid)
-
-  message(STATUS "===========================================================================")
-  message(STATUS "Analyzing app='${app}'")
-  message(STATUS "bundle='${bundle}'")
-  message(STATUS "executable='${executable}'")
-  message(STATUS "valid='${valid}'")
-
-  # Verify that the bundle does not have any "external" prerequisites:
-  #
-  verify_bundle_prerequisites("${bundle}" verified info IGNORE_ITEM "${CFG_IGNORE_ITEM}")
-  message(STATUS "verified='${verified}'")
-  message(STATUS "info='${info}'")
-  message(STATUS "")
-
-  if(verified)
-    # Verify that the bundle does not have any symlinks to external files:
-    #
-    verify_bundle_symlinks("${bundle}" verified info)
-    message(STATUS "verified='${verified}'")
-    message(STATUS "info='${info}'")
-    message(STATUS "")
-  endif()
-
-  if(NOT verified)
-    message(FATAL_ERROR "error: verify_app failed")
-  endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMake.cmake b/share/cmake-3.6/Modules/CMake.cmake
deleted file mode 100644
index 53a0ddf..0000000
--- a/share/cmake-3.6/Modules/CMake.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by cmake.cxx to compute the CMAKE_ROOT location.
-# Do not remove this file from cvs without updating cmake.cxx to look
-# for a different file.
diff --git a/share/cmake-3.6/Modules/CMakeASM-ATTInformation.cmake b/share/cmake-3.6/Modules/CMakeASM-ATTInformation.cmake
deleted file mode 100644
index 07a2d38..0000000
--- a/share/cmake-3.6/Modules/CMakeASM-ATTInformation.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# support for AT&T syntax assemblers, e.g. GNU as
-
-set(ASM_DIALECT "-ATT")
-# *.S files are supposed to be preprocessed, so they should not be passed to
-# assembler but should be processed by gcc
-set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;asm)
-
-set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")
-
-include(CMakeASMInformation)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeASMCompiler.cmake.in b/share/cmake-3.6/Modules/CMakeASMCompiler.cmake.in
deleted file mode 100644
index 8e58307..0000000
--- a/share/cmake-3.6/Modules/CMakeASMCompiler.cmake.in
+++ /dev/null
@@ -1,12 +0,0 @@
-set(CMAKE_ASM@ASM_DIALECT@_COMPILER "@_CMAKE_ASM_COMPILER@")
-set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ARG1 "@_CMAKE_ASM_COMPILER_ARG1@")
-set(CMAKE_AR "@CMAKE_AR@")
-set(CMAKE_RANLIB "@CMAKE_RANLIB@")
-set(CMAKE_LINKER "@CMAKE_LINKER@")
-set(CMAKE_ASM@ASM_DIALECT@_COMPILER_LOADED 1)
-set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
-set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ENV_VAR "@_CMAKE_ASM_COMPILER_ENV_VAR@")
-
-set(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_ASM@ASM_DIALECT@_LINKER_PREFERENCE 0)
-
diff --git a/share/cmake-3.6/Modules/CMakeASMInformation.cmake b/share/cmake-3.6/Modules/CMakeASMInformation.cmake
deleted file mode 100644
index 0e547c4..0000000
--- a/share/cmake-3.6/Modules/CMakeASMInformation.cmake
+++ /dev/null
@@ -1,148 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(UNIX)
-  set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .o)
-else()
-  set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .obj)
-endif()
-
-set(CMAKE_INCLUDE_FLAG_ASM${ASM_DIALECT} "-I")       # -I
-set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME_WE)
-
-if("${CMAKE_BASE_NAME}" STREQUAL "as")
-  set(CMAKE_BASE_NAME gas)
-endif()
-
-# Load compiler-specific information.
-set(_INCLUDED_FILE "")
-if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
-  include(Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL  RESULT_VARIABLE _INCLUDED_FILE)
-endif()
-if(NOT _INCLUDED_FILE)
-  if("ASM${ASM_DIALECT}" STREQUAL "ASM")
-    message(STATUS "Warning: Did not find file Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}")
-  endif()
-  include(Platform/${CMAKE_BASE_NAME} OPTIONAL)
-endif()
-
-if(CMAKE_SYSTEM_PROCESSOR)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL  RESULT_VARIABLE _INCLUDED_FILE)
-  if(NOT _INCLUDED_FILE)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
-  endif()
-endif()
-
-include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL  RESULT_VARIABLE _INCLUDED_FILE)
-if(NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
-endif()
-
-# This should be included before the _INIT variables are
-# used to initialize the cache.  Since the rule variables
-# have if blocks on them, users can still define them here.
-# But, it should still be after the platform file so changes can
-# be made to those values.
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-endif()
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE_ASM)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_ASM} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE_ASM "${_override}")
-endif()
-
-# Set default assembler file extensions:
-if(NOT CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS)
-  set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;S;asm)
-endif()
-
-
-# Support for CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT and friends:
-set(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT "$ENV{ASM${ASM_DIALECT}FLAGS} ${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-if(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT STREQUAL " ")
-  set(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT)
-endif()
-set (CMAKE_ASM${ASM_DIALECT}_FLAGS "${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}" CACHE STRING
-     "Flags used by the assembler during all build types.")
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-# default build type is none
-  if(NOT CMAKE_NO_BUILD_TYPE)
-    set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
-      "Choose the type of build, options are: None, Debug Release RelWithDebInfo MinSizeRel.")
-  endif()
-  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG "${CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG_INIT}" CACHE STRING
-    "Flags used by the assembler during debug builds.")
-  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL "${CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL_INIT}" CACHE STRING
-    "Flags used by the assembler during release minsize builds.")
-  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE_INIT}" CACHE STRING
-    "Flags used by the assembler during release builds.")
-  set (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
-    "Flags used by the assembler during Release with Debug Info builds.")
-endif()
-
-mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_FLAGS
-                 CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG
-                 CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL
-                 CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE
-                 CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO
-                )
-
-
-if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-endif()
-
-if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY)
-  set(CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY
-      "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
-      "<CMAKE_RANLIB> <TARGET> ")
-endif()
-
-if(NOT CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE)
-  set(CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE
-    "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> <CMAKE_ASM${ASM_DIALECT}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG)
-  set(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP)
-  set(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG)
-  set(CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_ASM${ASM_DIALECT}_FLAG})
-endif()
-
-# to be done
-if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
-  set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
-endif()
-
-if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
-  set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
-endif()
-
-
-set(CMAKE_ASM${ASM_DIALECT}_INFOMATION_LOADED 1)
-
diff --git a/share/cmake-3.6/Modules/CMakeASM_MASMInformation.cmake b/share/cmake-3.6/Modules/CMakeASM_MASMInformation.cmake
deleted file mode 100644
index bd76b98..0000000
--- a/share/cmake-3.6/Modules/CMakeASM_MASMInformation.cmake
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# support for the MS assembler, masm and masm64
-
-set(ASM_DIALECT "_MASM")
-
-set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
-
-set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> /c  /Fo <OBJECT> <SOURCE>")
-
-include(CMakeASMInformation)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeASM_NASMInformation.cmake b/share/cmake-3.6/Modules/CMakeASM_NASMInformation.cmake
deleted file mode 100644
index 146f412..0000000
--- a/share/cmake-3.6/Modules/CMakeASM_NASMInformation.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# support for the nasm assembler
-
-set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
-
-if(NOT CMAKE_ASM_NASM_OBJECT_FORMAT)
-  if(WIN32)
-    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
-      set(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
-    else()
-      set(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
-    endif()
-  elseif(APPLE)
-    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
-      set(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
-    else()
-      set(CMAKE_ASM_NASM_OBJECT_FORMAT macho)
-    endif()
-  else()
-    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
-      set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
-    else()
-      set(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
-    endif()
-  endif()
-endif()
-
-set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> <FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
-
-# Load the generic ASMInformation file:
-set(ASM_DIALECT "_NASM")
-include(CMakeASMInformation)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeAddFortranSubdirectory.cmake b/share/cmake-3.6/Modules/CMakeAddFortranSubdirectory.cmake
deleted file mode 100644
index 2e5a76f..0000000
--- a/share/cmake-3.6/Modules/CMakeAddFortranSubdirectory.cmake
+++ /dev/null
@@ -1,214 +0,0 @@
-#.rst:
-# CMakeAddFortranSubdirectory
-# ---------------------------
-#
-# Use MinGW gfortran from VS if a fortran compiler is not found.
-#
-# The 'add_fortran_subdirectory' function adds a subdirectory to a
-# project that contains a fortran only sub-project.  The module will
-# check the current compiler and see if it can support fortran.  If no
-# fortran compiler is found and the compiler is MSVC, then this module
-# will find the MinGW gfortran.  It will then use an external project to
-# build with the MinGW tools.  It will also create imported targets for
-# the libraries created.  This will only work if the fortran code is
-# built into a dll, so BUILD_SHARED_LIBS is turned on in the project.
-# In addition the CMAKE_GNUtoMS option is set to on, so that the MS .lib
-# files are created.  Usage is as follows:
-#
-# ::
-#
-#   cmake_add_fortran_subdirectory(
-#    <subdir>                # name of subdirectory
-#    PROJECT <project_name>  # project name in subdir top CMakeLists.txt
-#    ARCHIVE_DIR <dir>       # dir where project places .lib files
-#    RUNTIME_DIR <dir>       # dir where project places .dll files
-#    LIBRARIES <lib>...      # names of library targets to import
-#    LINK_LIBRARIES          # link interface libraries for LIBRARIES
-#     [LINK_LIBS <lib> <dep>...]...
-#    CMAKE_COMMAND_LINE ...  # extra command line flags to pass to cmake
-#    NO_EXTERNAL_INSTALL     # skip installation of external project
-#    )
-#
-# Relative paths in ARCHIVE_DIR and RUNTIME_DIR are interpreted with
-# respect to the build directory corresponding to the source directory
-# in which the function is invoked.
-#
-# Limitations:
-#
-# NO_EXTERNAL_INSTALL is required for forward compatibility with a
-# future version that supports installation of the external project
-# binaries during "make install".
-
-#=============================================================================
-# Copyright 2011-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-set(_MS_MINGW_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
-include(CheckLanguage)
-include(ExternalProject)
-include(CMakeParseArguments)
-
-function(_setup_mingw_config_and_build source_dir build_dir)
-  # Look for a MinGW gfortran.
-  find_program(MINGW_GFORTRAN
-    NAMES gfortran
-    PATHS
-      c:/MinGW/bin
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
-    )
-  if(NOT MINGW_GFORTRAN)
-    message(FATAL_ERROR
-      "gfortran not found, please install MinGW with the gfortran option."
-      "Or set the cache variable MINGW_GFORTRAN to the full path. "
-      " This is required to build")
-  endif()
-
-  # Validate the MinGW gfortran we found.
-  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    set(_mingw_target "Target:.*64.*mingw")
-  else()
-    set(_mingw_target "Target:.*mingw32")
-  endif()
-  execute_process(COMMAND "${MINGW_GFORTRAN}" -v
-    ERROR_VARIABLE out ERROR_STRIP_TRAILING_WHITESPACE)
-  if(NOT "${out}" MATCHES "${_mingw_target}")
-    string(REPLACE "\n" "\n  " out "  ${out}")
-    message(FATAL_ERROR
-      "MINGW_GFORTRAN is set to\n"
-      "  ${MINGW_GFORTRAN}\n"
-      "which is not a MinGW gfortran for this architecture.  "
-      "The output from -v does not match \"${_mingw_target}\":\n"
-      "${out}\n"
-      "Set MINGW_GFORTRAN to a proper MinGW gfortran for this architecture."
-      )
-  endif()
-
-  # Configure scripts to run MinGW tools with the proper PATH.
-  get_filename_component(MINGW_PATH ${MINGW_GFORTRAN} PATH)
-  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
-    ${build_dir}/config_mingw.cmake
-    @ONLY)
-  configure_file(
-    ${_MS_MINGW_SOURCE_DIR}/CMakeAddFortranSubdirectory/build_mingw.cmake.in
-    ${build_dir}/build_mingw.cmake
-    @ONLY)
-endfunction()
-
-function(_add_fortran_library_link_interface library depend_library)
-  set_target_properties(${library} PROPERTIES
-    IMPORTED_LINK_INTERFACE_LIBRARIES_NOCONFIG "${depend_library}")
-endfunction()
-
-
-function(cmake_add_fortran_subdirectory subdir)
-  # Parse arguments to function
-  set(options NO_EXTERNAL_INSTALL)
-  set(oneValueArgs PROJECT ARCHIVE_DIR RUNTIME_DIR)
-  set(multiValueArgs LIBRARIES LINK_LIBRARIES CMAKE_COMMAND_LINE)
-  cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-  if(NOT ARGS_NO_EXTERNAL_INSTALL)
-    message(FATAL_ERROR
-      "Option NO_EXTERNAL_INSTALL is required (for forward compatibility) "
-      "but was not given."
-      )
-  endif()
-
-  # if we are not using MSVC without fortran support
-  # then just use the usual add_subdirectory to build
-  # the fortran library
-  check_language(Fortran)
-  if(NOT (MSVC AND (NOT CMAKE_Fortran_COMPILER)))
-    add_subdirectory(${subdir})
-    return()
-  endif()
-
-  # if we have MSVC without Intel fortran then setup
-  # external projects to build with mingw fortran
-
-  set(source_dir "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}")
-  set(project_name "${ARGS_PROJECT}")
-  set(library_dir "${ARGS_ARCHIVE_DIR}")
-  set(binary_dir "${ARGS_RUNTIME_DIR}")
-  set(libraries ${ARGS_LIBRARIES})
-  # use the same directory that add_subdirectory would have used
-  set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/${subdir}")
-  foreach(dir_var library_dir binary_dir)
-    if(NOT IS_ABSOLUTE "${${dir_var}}")
-      get_filename_component(${dir_var}
-        "${CMAKE_CURRENT_BINARY_DIR}/${${dir_var}}" ABSOLUTE)
-    endif()
-  endforeach()
-  # create build and configure wrapper scripts
-  _setup_mingw_config_and_build("${source_dir}" "${build_dir}")
-  # create the external project
-  externalproject_add(${project_name}_build
-    SOURCE_DIR ${source_dir}
-    BINARY_DIR ${build_dir}
-    CONFIGURE_COMMAND ${CMAKE_COMMAND}
-    -P ${build_dir}/config_mingw.cmake
-    BUILD_COMMAND ${CMAKE_COMMAND}
-    -P ${build_dir}/build_mingw.cmake
-    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)
-    set_property(TARGET ${lib} APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
-    set_target_properties(${lib} PROPERTIES
-      IMPORTED_IMPLIB_NOCONFIG   "${library_dir}/lib${lib}.lib"
-      IMPORTED_LOCATION_NOCONFIG "${binary_dir}/lib${lib}.dll"
-      )
-    add_dependencies(${lib} ${project_name}_build)
-  endforeach()
-
-  # now setup link libraries for targets
-  set(start FALSE)
-  set(target)
-  foreach(lib ${ARGS_LINK_LIBRARIES})
-    if("${lib}" STREQUAL "LINK_LIBS")
-      set(start TRUE)
-    else()
-      if(start)
-        if(DEFINED target)
-          # process current target and target_libs
-          _add_fortran_library_link_interface(${target} "${target_libs}")
-          # zero out target and target_libs
-          set(target)
-          set(target_libs)
-        endif()
-        # save the current target and set start to FALSE
-        set(target ${lib})
-        set(start FALSE)
-      else()
-        # append the lib to target_libs
-        list(APPEND target_libs "${lib}")
-      endif()
-    endif()
-  endforeach()
-  # process anything that is left in target and target_libs
-  if(DEFINED target)
-    _add_fortran_library_link_interface(${target} "${target_libs}")
-  endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeBackwardCompatibilityC.cmake b/share/cmake-3.6/Modules/CMakeBackwardCompatibilityC.cmake
deleted file mode 100644
index 685cd52..0000000
--- a/share/cmake-3.6/Modules/CMakeBackwardCompatibilityC.cmake
+++ /dev/null
@@ -1,96 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Nothing here yet
-if(CMAKE_GENERATOR MATCHES "Visual Studio 7")
-  include(CMakeVS7BackwardCompatibility)
-  set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-endif()
-
-if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
-  # Old CMake versions did not support OS X universal binaries anyway,
-  # so just get through this with at least some size for the types.
-  list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHS)
-  if(${NUM_ARCHS} GREATER 1)
-    if(NOT DEFINED CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
-      message(WARNING "This module does not work with OS X universal binaries.")
-      set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES 1)
-      list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
-    endif()
-  endif()
-
-  include (CheckTypeSize)
-  CHECK_TYPE_SIZE(int      CMAKE_SIZEOF_INT)
-  CHECK_TYPE_SIZE(long     CMAKE_SIZEOF_LONG)
-  CHECK_TYPE_SIZE("void*"  CMAKE_SIZEOF_VOID_P)
-  CHECK_TYPE_SIZE(char     CMAKE_SIZEOF_CHAR)
-  CHECK_TYPE_SIZE(short    CMAKE_SIZEOF_SHORT)
-  CHECK_TYPE_SIZE(float    CMAKE_SIZEOF_FLOAT)
-  CHECK_TYPE_SIZE(double   CMAKE_SIZEOF_DOUBLE)
-
-  include (CheckIncludeFile)
-  CHECK_INCLUDE_FILE("limits.h"       CMAKE_HAVE_LIMITS_H)
-  CHECK_INCLUDE_FILE("unistd.h"       CMAKE_HAVE_UNISTD_H)
-  CHECK_INCLUDE_FILE("pthread.h"      CMAKE_HAVE_PTHREAD_H)
-
-  include (CheckIncludeFiles)
-  CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h"    CMAKE_HAVE_SYS_PRCTL_H)
-
-  include (TestBigEndian)
-  TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
-  include (FindX11)
-
-  if("${X11_X11_INCLUDE_PATH}" STREQUAL "/usr/include")
-    set (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
-  else()
-    set (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
-         "X11 extra flags.")
-  endif()
-  set (CMAKE_X_LIBS "${X11_LIBRARIES}" CACHE STRING
-       "Libraries and options used in X11 programs.")
-  set (CMAKE_HAS_X "${X11_FOUND}" CACHE INTERNAL "Is X11 around.")
-
-  include (FindThreads)
-
-  set (CMAKE_THREAD_LIBS        "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING
-    "Thread library used.")
-
-  set (CMAKE_USE_PTHREADS       "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL
-     "Use the pthreads library.")
-
-  set (CMAKE_USE_WIN32_THREADS  "${CMAKE_USE_WIN32_THREADS_INIT}" CACHE BOOL
-       "Use the win32 thread library.")
-
-  set (CMAKE_HP_PTHREADS        ${CMAKE_HP_PTHREADS_INIT} CACHE BOOL
-     "Use HP pthreads.")
-
-  set (CMAKE_USE_SPROC          ${CMAKE_USE_SPROC_INIT} CACHE BOOL
-     "Use sproc libs.")
-
-  if(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
-    set(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
-    set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
-  endif()
-endif()
-
-mark_as_advanced(
-CMAKE_HP_PTHREADS
-CMAKE_THREAD_LIBS
-CMAKE_USE_PTHREADS
-CMAKE_USE_SPROC
-CMAKE_USE_WIN32_THREADS
-CMAKE_X_CFLAGS
-CMAKE_X_LIBS
-)
-
diff --git a/share/cmake-3.6/Modules/CMakeBackwardCompatibilityCXX.cmake b/share/cmake-3.6/Modules/CMakeBackwardCompatibilityCXX.cmake
deleted file mode 100644
index f1db46e..0000000
--- a/share/cmake-3.6/Modules/CMakeBackwardCompatibilityCXX.cmake
+++ /dev/null
@@ -1,61 +0,0 @@
-#.rst:
-# CMakeBackwardCompatibilityCXX
-# -----------------------------
-#
-# define a bunch of backwards compatibility variables
-#
-# ::
-#
-#   CMAKE_ANSI_CXXFLAGS - flag for ansi c++
-#   CMAKE_HAS_ANSI_STRING_STREAM - has <strstream>
-#   include(TestForANSIStreamHeaders)
-#   include(CheckIncludeFileCXX)
-#   include(TestForSTDNamespace)
-#   include(TestForANSIForScope)
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
-  # check for some ANSI flags in the CXX compiler if it is not gnu
-  if(NOT CMAKE_COMPILER_IS_GNUCXX)
-    include(TestCXXAcceptsFlag)
-    set(CMAKE_TRY_ANSI_CXX_FLAGS "")
-    if(CMAKE_SYSTEM_NAME MATCHES "IRIX")
-      set(CMAKE_TRY_ANSI_CXX_FLAGS "-LANG:std")
-    endif()
-    if(CMAKE_SYSTEM_NAME MATCHES "OSF")
-      set(CMAKE_TRY_ANSI_CXX_FLAGS "-std strict_ansi -nopure_cname")
-    endif()
-    # if CMAKE_TRY_ANSI_CXX_FLAGS has something in it, see
-    # if the compiler accepts it
-    if(NOT CMAKE_TRY_ANSI_CXX_FLAGS STREQUAL "")
-      CHECK_CXX_ACCEPTS_FLAG(${CMAKE_TRY_ANSI_CXX_FLAGS} CMAKE_CXX_ACCEPTS_FLAGS)
-      # if the compiler liked the flag then set CMAKE_ANSI_CXXFLAGS
-      # to the flag
-      if(CMAKE_CXX_ACCEPTS_FLAGS)
-        set(CMAKE_ANSI_CXXFLAGS ${CMAKE_TRY_ANSI_CXX_FLAGS} CACHE INTERNAL
-        "What flags are required by the c++ compiler to make it ansi." )
-      endif()
-    endif()
-  endif()
-  set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
-  include(TestForANSIStreamHeaders)
-  include(CheckIncludeFileCXX)
-  include(TestForSTDNamespace)
-  include(TestForANSIForScope)
-  include(TestForSSTREAM)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_SAVE}")
-endif()
-
diff --git a/share/cmake-3.6/Modules/CMakeBorlandFindMake.cmake b/share/cmake-3.6/Modules/CMakeBorlandFindMake.cmake
deleted file mode 100644
index 43b31c6..0000000
--- a/share/cmake-3.6/Modules/CMakeBorlandFindMake.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set (CMAKE_MAKE_PROGRAM "make" CACHE STRING
-     "Program used to build from makefiles.")
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeCCompiler.cmake.in b/share/cmake-3.6/Modules/CMakeCCompiler.cmake.in
deleted file mode 100644
index f109a14..0000000
--- a/share/cmake-3.6/Modules/CMakeCCompiler.cmake.in
+++ /dev/null
@@ -1,67 +0,0 @@
-set(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@")
-set(CMAKE_C_COMPILER_ARG1 "@CMAKE_C_COMPILER_ARG1@")
-set(CMAKE_C_COMPILER_ID "@CMAKE_C_COMPILER_ID@")
-set(CMAKE_C_COMPILER_VERSION "@CMAKE_C_COMPILER_VERSION@")
-set(CMAKE_C_COMPILER_WRAPPER "@CMAKE_C_COMPILER_WRAPPER@")
-set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "@CMAKE_C_STANDARD_COMPUTED_DEFAULT@")
-set(CMAKE_C_COMPILE_FEATURES "@CMAKE_C_COMPILE_FEATURES@")
-set(CMAKE_C90_COMPILE_FEATURES "@CMAKE_C90_COMPILE_FEATURES@")
-set(CMAKE_C99_COMPILE_FEATURES "@CMAKE_C99_COMPILE_FEATURES@")
-set(CMAKE_C11_COMPILE_FEATURES "@CMAKE_C11_COMPILE_FEATURES@")
-
-set(CMAKE_C_PLATFORM_ID "@CMAKE_C_PLATFORM_ID@")
-set(CMAKE_C_SIMULATE_ID "@CMAKE_C_SIMULATE_ID@")
-set(CMAKE_C_SIMULATE_VERSION "@CMAKE_C_SIMULATE_VERSION@")
-@SET_MSVC_C_ARCHITECTURE_ID@
-set(CMAKE_AR "@CMAKE_AR@")
-set(CMAKE_RANLIB "@CMAKE_RANLIB@")
-set(CMAKE_LINKER "@CMAKE_LINKER@")
-set(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
-set(CMAKE_C_COMPILER_LOADED 1)
-set(CMAKE_C_COMPILER_WORKS @CMAKE_C_COMPILER_WORKS@)
-set(CMAKE_C_ABI_COMPILED @CMAKE_C_ABI_COMPILED@)
-set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
-set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_C_COMPILER_ENV_VAR "CC")
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_C_COMPILER_ID_RUN 1)
-set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
-set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_C_LINKER_PREFERENCE 10)
-
-# Save compiler ABI information.
-set(CMAKE_C_SIZEOF_DATA_PTR "@CMAKE_C_SIZEOF_DATA_PTR@")
-set(CMAKE_C_COMPILER_ABI "@CMAKE_C_COMPILER_ABI@")
-set(CMAKE_C_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
-
-if(CMAKE_C_SIZEOF_DATA_PTR)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_C_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
-endif()
-
-if(CMAKE_C_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
-endif()
-
-set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "@CMAKE_C_CL_SHOWINCLUDES_PREFIX@")
-if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
-  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
-endif()
-
-@CMAKE_C_SYSROOT_FLAG_CODE@
-@CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
-
-set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "@CMAKE_C_IMPLICIT_LINK_LIBRARIES@")
-set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_DIRECTORIES@")
-set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.6/Modules/CMakeCCompilerId.c.in b/share/cmake-3.6/Modules/CMakeCCompilerId.c.in
deleted file mode 100644
index 95184c9..0000000
--- a/share/cmake-3.6/Modules/CMakeCCompilerId.c.in
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifdef __cplusplus
-# error "A C++ compiler has been selected for C."
-#endif
-
-#if defined(__18CXX)
-# define ID_VOID_MAIN
-#endif
-#if defined(__CLASSIC_C__)
-/* cv-qualifiers did not exist in K&R C */
-# define const
-# define volatile
-#endif
-
-@CMAKE_C_COMPILER_ID_CONTENT@
-
-/* Construct the string literal in pieces to prevent the source from
-   getting matched.  Store it in a pointer rather than an array
-   because some compilers will just produce instructions to fill the
-   array rather than assigning a pointer to a static array.  */
-char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
-#ifdef SIMULATE_ID
-char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
-#endif
-
-#ifdef __QNXNTO__
-char const* qnxnto = "INFO" ":" "qnxnto[]";
-#endif
-
-#if defined(__CRAYXE) || defined(__CRAYXC)
-char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
-#endif
-
-@CMAKE_C_COMPILER_ID_PLATFORM_CONTENT@
-@CMAKE_C_COMPILER_ID_ERROR_FOR_TEST@
-
-#if !defined(__STDC__)
-# if defined(_MSC_VER) && !defined(__clang__)
-#  define C_DIALECT "90"
-# else
-#  define C_DIALECT
-# endif
-#elif __STDC_VERSION__ >= 201000L
-# define C_DIALECT "11"
-#elif __STDC_VERSION__ >= 199901L
-# define C_DIALECT "99"
-#else
-# define C_DIALECT "90"
-#endif
-const char* info_language_dialect_default =
-  "INFO" ":" "dialect_default[" C_DIALECT "]";
-
-/*--------------------------------------------------------------------------*/
-
-#ifdef ID_VOID_MAIN
-void main() {}
-#else
-# if defined(__CLASSIC_C__)
-int main(argc, argv) int argc; char *argv[];
-# else
-int main(int argc, char* argv[])
-# endif
-{
-  int require = 0;
-  require += info_compiler[argc];
-  require += info_platform[argc];
-  require += info_arch[argc];
-#ifdef COMPILER_VERSION_MAJOR
-  require += info_version[argc];
-#endif
-#ifdef SIMULATE_ID
-  require += info_simulate[argc];
-#endif
-#ifdef SIMULATE_VERSION_MAJOR
-  require += info_simulate_version[argc];
-#endif
-#if defined(__CRAYXE) || defined(__CRAYXC)
-  require += info_cray[argc];
-#endif
-  require += info_language_dialect_default[argc];
-  (void)argv;
-  return require;
-}
-#endif
diff --git a/share/cmake-3.6/Modules/CMakeCInformation.cmake b/share/cmake-3.6/Modules/CMakeCInformation.cmake
deleted file mode 100644
index fa87ca8..0000000
--- a/share/cmake-3.6/Modules/CMakeCInformation.cmake
+++ /dev/null
@@ -1,227 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file sets the basic flags for the C language in CMake.
-# It also loads the available platform file for the system-compiler
-# if it exists.
-# It also loads a system - compiler - processor (or target hardware)
-# specific file, which is mainly useful for crosscompiling and embedded systems.
-
-include(CMakeLanguageInformation)
-
-# some compilers use different extensions (e.g. sdcc uses .rel)
-# so set the extension here first so it can be overridden by the compiler specific file
-if(UNIX)
-  set(CMAKE_C_OUTPUT_EXTENSION .o)
-else()
-  set(CMAKE_C_OUTPUT_EXTENSION .obj)
-endif()
-
-set(_INCLUDED_FILE 0)
-
-# Load compiler-specific information.
-if(CMAKE_C_COMPILER_ID)
-  include(Compiler/${CMAKE_C_COMPILER_ID}-C OPTIONAL)
-endif()
-
-set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME "${CMAKE_C_COMPILER}" NAME_WE)
-if(CMAKE_COMPILER_IS_GNUCC)
-  set(CMAKE_BASE_NAME gcc)
-endif()
-
-
-# load a hardware specific file, mostly useful for embedded compilers
-if(CMAKE_SYSTEM_PROCESSOR)
-  if(CMAKE_C_COMPILER_ID)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-  endif()
-  if (NOT _INCLUDED_FILE)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
-  endif ()
-endif()
-
-
-# load the system- and compiler specific files
-if(CMAKE_C_COMPILER_ID)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C
-    OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-endif()
-if (NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
-    OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-endif ()
-
-# load any compiler-wrapper specific information
-if (CMAKE_C_COMPILER_WRAPPER)
-  __cmake_include_compiler_wrapper(C)
-endif ()
-
-# We specify the compiler information in the system file for some
-# platforms, but this language may not have been enabled when the file
-# was first included.  Include it again to get the language info.
-# Remove this when all compiler info is removed from system files.
-if (NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
-endif ()
-
-if(CMAKE_C_SIZEOF_DATA_PTR)
-  foreach(f ${CMAKE_C_ABI_FILES})
-    include(${f})
-  endforeach()
-  unset(CMAKE_C_ABI_FILES)
-endif()
-
-# This should be included before the _INIT variables are
-# used to initialize the cache.  Since the rule variables
-# have if blocks on them, users can still define them here.
-# But, it should still be after the platform file so changes can
-# be made to those values.
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-endif()
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE_C)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_C} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE_C "${_override}")
-endif()
-
-
-# for most systems a module is the same as a shared library
-# so unless the variable CMAKE_MODULE_EXISTS is set just
-# copy the values from the LIBRARY variables
-if(NOT CMAKE_MODULE_EXISTS)
-  set(CMAKE_SHARED_MODULE_C_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
-  set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
-endif()
-
-set(CMAKE_C_FLAGS_INIT "$ENV{CFLAGS} ${CMAKE_C_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-if(CMAKE_C_FLAGS_INIT STREQUAL " ")
-  set(CMAKE_C_FLAGS_INIT)
-endif()
-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_INIT}" CACHE STRING
-     "Flags used by the compiler during all build types.")
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-# default build type is none
-  if(NOT CMAKE_NO_BUILD_TYPE)
-    set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
-      "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
-  endif()
-  set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG_INIT}" CACHE STRING
-    "Flags used by the compiler during debug builds.")
-  set (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL_INIT}" CACHE STRING
-    "Flags used by the compiler during release builds for minimum size.")
-  set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE_INIT}" CACHE STRING
-    "Flags used by the compiler during release builds.")
-  set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
-    "Flags used by the compiler during release builds with debug info.")
-endif()
-
-if(CMAKE_C_STANDARD_LIBRARIES_INIT)
-  set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES_INIT}"
-    CACHE STRING "Libraries linked by default with all C applications.")
-  mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
-endif()
-
-include(CMakeCommonLanguageInclude)
-
-# now define the following rule variables
-
-# CMAKE_C_CREATE_SHARED_LIBRARY
-# CMAKE_C_CREATE_SHARED_MODULE
-# CMAKE_C_COMPILE_OBJECT
-# CMAKE_C_LINK_EXECUTABLE
-
-# variables supplied by the generator at use time
-# <TARGET>
-# <TARGET_BASE> the target without the suffix
-# <OBJECTS>
-# <OBJECT>
-# <LINK_LIBRARIES>
-# <FLAGS>
-# <LINK_FLAGS>
-
-# C compiler information
-# <CMAKE_C_COMPILER>
-# <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS>
-# <CMAKE_SHARED_MODULE_CREATE_C_FLAGS>
-# <CMAKE_C_LINK_FLAGS>
-
-# Static library tools
-# <CMAKE_AR>
-# <CMAKE_RANLIB>
-
-
-# create a C shared library
-if(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
-  set(CMAKE_C_CREATE_SHARED_LIBRARY
-      "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-endif()
-
-# create a C shared module just copy the shared library rule
-if(NOT CMAKE_C_CREATE_SHARED_MODULE)
-  set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
-endif()
-
-# Create a static archive incrementally for large object file counts.
-# If CMAKE_C_CREATE_STATIC_LIBRARY is set it will override these.
-if(NOT DEFINED CMAKE_C_ARCHIVE_CREATE)
-  set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
-endif()
-if(NOT DEFINED CMAKE_C_ARCHIVE_APPEND)
-  set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
-endif()
-if(NOT DEFINED CMAKE_C_ARCHIVE_FINISH)
-  set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-endif()
-
-# compile a C file into an object file
-if(NOT CMAKE_C_COMPILE_OBJECT)
-  set(CMAKE_C_COMPILE_OBJECT
-    "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>   -c <SOURCE>")
-endif()
-
-if(NOT CMAKE_C_LINK_EXECUTABLE)
-  set(CMAKE_C_LINK_EXECUTABLE
-    "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
-  set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
-  set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG)
-  set(CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
-endif()
-
-mark_as_advanced(
-CMAKE_C_FLAGS
-CMAKE_C_FLAGS_DEBUG
-CMAKE_C_FLAGS_MINSIZEREL
-CMAKE_C_FLAGS_RELEASE
-CMAKE_C_FLAGS_RELWITHDEBINFO
-)
-set(CMAKE_C_INFORMATION_LOADED 1)
-
-
diff --git a/share/cmake-3.6/Modules/CMakeCXXCompiler.cmake.in b/share/cmake-3.6/Modules/CMakeCXXCompiler.cmake.in
deleted file mode 100644
index 9e90aea..0000000
--- a/share/cmake-3.6/Modules/CMakeCXXCompiler.cmake.in
+++ /dev/null
@@ -1,68 +0,0 @@
-set(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
-set(CMAKE_CXX_COMPILER_ARG1 "@CMAKE_CXX_COMPILER_ARG1@")
-set(CMAKE_CXX_COMPILER_ID "@CMAKE_CXX_COMPILER_ID@")
-set(CMAKE_CXX_COMPILER_VERSION "@CMAKE_CXX_COMPILER_VERSION@")
-set(CMAKE_CXX_COMPILER_WRAPPER "@CMAKE_CXX_COMPILER_WRAPPER@")
-set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "@CMAKE_CXX_STANDARD_COMPUTED_DEFAULT@")
-set(CMAKE_CXX_COMPILE_FEATURES "@CMAKE_CXX_COMPILE_FEATURES@")
-set(CMAKE_CXX98_COMPILE_FEATURES "@CMAKE_CXX98_COMPILE_FEATURES@")
-set(CMAKE_CXX11_COMPILE_FEATURES "@CMAKE_CXX11_COMPILE_FEATURES@")
-set(CMAKE_CXX14_COMPILE_FEATURES "@CMAKE_CXX14_COMPILE_FEATURES@")
-
-set(CMAKE_CXX_PLATFORM_ID "@CMAKE_CXX_PLATFORM_ID@")
-set(CMAKE_CXX_SIMULATE_ID "@CMAKE_CXX_SIMULATE_ID@")
-set(CMAKE_CXX_SIMULATE_VERSION "@CMAKE_CXX_SIMULATE_VERSION@")
-@SET_MSVC_CXX_ARCHITECTURE_ID@
-set(CMAKE_AR "@CMAKE_AR@")
-set(CMAKE_RANLIB "@CMAKE_RANLIB@")
-set(CMAKE_LINKER "@CMAKE_LINKER@")
-set(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
-set(CMAKE_CXX_COMPILER_LOADED 1)
-set(CMAKE_CXX_COMPILER_WORKS @CMAKE_CXX_COMPILER_WORKS@)
-set(CMAKE_CXX_ABI_COMPILED @CMAKE_CXX_ABI_COMPILED@)
-set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
-set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_CXX_COMPILER_ID_RUN 1)
-set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
-set(CMAKE_CXX_LINKER_PREFERENCE 30)
-set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
-
-# Save compiler ABI information.
-set(CMAKE_CXX_SIZEOF_DATA_PTR "@CMAKE_CXX_SIZEOF_DATA_PTR@")
-set(CMAKE_CXX_COMPILER_ABI "@CMAKE_CXX_COMPILER_ABI@")
-set(CMAKE_CXX_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
-
-if(CMAKE_CXX_SIZEOF_DATA_PTR)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_CXX_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
-endif()
-
-if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
-endif()
-
-set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "@CMAKE_CXX_CL_SHOWINCLUDES_PREFIX@")
-if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
-  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
-endif()
-
-@CMAKE_CXX_SYSROOT_FLAG_CODE@
-@CMAKE_CXX_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
-
-set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "@CMAKE_CXX_IMPLICIT_LINK_LIBRARIES@")
-set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES@")
-set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.6/Modules/CMakeCXXCompilerId.cpp.in b/share/cmake-3.6/Modules/CMakeCXXCompilerId.cpp.in
deleted file mode 100644
index 3e5c0fc..0000000
--- a/share/cmake-3.6/Modules/CMakeCXXCompilerId.cpp.in
+++ /dev/null
@@ -1,62 +0,0 @@
-/* This source file must have a .cpp extension so that all C++ compilers
-   recognize the extension without flags.  Borland does not know .cxx for
-   example.  */
-#ifndef __cplusplus
-# error "A C compiler has been selected for C++."
-#endif
-
-@CMAKE_CXX_COMPILER_ID_CONTENT@
-
-/* Construct the string literal in pieces to prevent the source from
-   getting matched.  Store it in a pointer rather than an array
-   because some compilers will just produce instructions to fill the
-   array rather than assigning a pointer to a static array.  */
-char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
-#ifdef SIMULATE_ID
-char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
-#endif
-
-#ifdef __QNXNTO__
-char const* qnxnto = "INFO" ":" "qnxnto[]";
-#endif
-
-#if defined(__CRAYXE) || defined(__CRAYXC)
-char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
-#endif
-
-@CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT@
-@CMAKE_CXX_COMPILER_ID_ERROR_FOR_TEST@
-
-const char* info_language_dialect_default = "INFO" ":" "dialect_default["
-#if __cplusplus >= 201402L
-  "14"
-#elif __cplusplus >= 201103L
-  "11"
-#else
-  "98"
-#endif
-"]";
-
-/*--------------------------------------------------------------------------*/
-
-int main(int argc, char* argv[])
-{
-  int require = 0;
-  require += info_compiler[argc];
-  require += info_platform[argc];
-#ifdef COMPILER_VERSION_MAJOR
-  require += info_version[argc];
-#endif
-#ifdef SIMULATE_ID
-  require += info_simulate[argc];
-#endif
-#ifdef SIMULATE_VERSION_MAJOR
-  require += info_simulate_version[argc];
-#endif
-#if defined(__CRAYXE) || defined(__CRAYXC)
-  require += info_cray[argc];
-#endif
-  require += info_language_dialect_default[argc];
-  (void)argv;
-  return require;
-}
diff --git a/share/cmake-3.6/Modules/CMakeCXXInformation.cmake b/share/cmake-3.6/Modules/CMakeCXXInformation.cmake
deleted file mode 100644
index b35280f..0000000
--- a/share/cmake-3.6/Modules/CMakeCXXInformation.cmake
+++ /dev/null
@@ -1,306 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file sets the basic flags for the C++ language in CMake.
-# It also loads the available platform file for the system-compiler
-# if it exists.
-# It also loads a system - compiler - processor (or target hardware)
-# specific file, which is mainly useful for crosscompiling and embedded systems.
-
-include(CMakeLanguageInformation)
-
-# some compilers use different extensions (e.g. sdcc uses .rel)
-# so set the extension here first so it can be overridden by the compiler specific file
-if(UNIX)
-  set(CMAKE_CXX_OUTPUT_EXTENSION .o)
-else()
-  set(CMAKE_CXX_OUTPUT_EXTENSION .obj)
-endif()
-
-set(_INCLUDED_FILE 0)
-
-# Load compiler-specific information.
-if(CMAKE_CXX_COMPILER_ID)
-  include(Compiler/${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL)
-endif()
-
-set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME "${CMAKE_CXX_COMPILER}" NAME_WE)
-# since the gnu compiler has several names force g++
-if(CMAKE_COMPILER_IS_GNUCXX)
-  set(CMAKE_BASE_NAME g++)
-endif()
-
-
-# load a hardware specific file, mostly useful for embedded compilers
-if(CMAKE_SYSTEM_PROCESSOR)
-  if(CMAKE_CXX_COMPILER_ID)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-  endif()
-  if (NOT _INCLUDED_FILE)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
-  endif ()
-endif()
-
-# load the system- and compiler specific files
-if(CMAKE_CXX_COMPILER_ID)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-endif()
-if (NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
-          RESULT_VARIABLE _INCLUDED_FILE)
-endif ()
-
-# load any compiler-wrapper specific information
-if (CMAKE_CXX_COMPILER_WRAPPER)
-  __cmake_include_compiler_wrapper(CXX)
-endif ()
-
-# We specify the compiler information in the system file for some
-# platforms, but this language may not have been enabled when the file
-# was first included.  Include it again to get the language info.
-# Remove this when all compiler info is removed from system files.
-if (NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
-endif ()
-
-if(CMAKE_CXX_SIZEOF_DATA_PTR)
-  foreach(f ${CMAKE_CXX_ABI_FILES})
-    include(${f})
-  endforeach()
-  unset(CMAKE_CXX_ABI_FILES)
-endif()
-
-# This should be included before the _INIT variables are
-# used to initialize the cache.  Since the rule variables
-# have if blocks on them, users can still define them here.
-# But, it should still be after the platform file so changes can
-# be made to those values.
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-endif()
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${_override}")
-endif()
-
-
-# Create a set of shared library variable specific to C++
-# For 90% of the systems, these are the same flags as the C versions
-# so if these are not set just copy the flags from the c version
-if(NOT CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS)
-  set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
-endif()
-
-if(NOT CMAKE_CXX_COMPILE_OPTIONS_PIC)
-  set(CMAKE_CXX_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
-endif()
-
-if(NOT CMAKE_CXX_COMPILE_OPTIONS_PIE)
-  set(CMAKE_CXX_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
-endif()
-
-if(NOT CMAKE_CXX_COMPILE_OPTIONS_DLL)
-  set(CMAKE_CXX_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
-endif()
-
-if(NOT CMAKE_SHARED_LIBRARY_CXX_FLAGS)
-  set(CMAKE_SHARED_LIBRARY_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
-  set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
-endif()
-
-if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
-endif()
-
-if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
-endif()
-
-if(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG)
-  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_EXE_EXPORTS_CXX_FLAG)
-  set(CMAKE_EXE_EXPORTS_CXX_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG)
-  set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
-  set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
-  set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP})
-endif()
-
-if(NOT CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG)
-  set(CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
-  set(CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
-endif()
-
-if(NOT CMAKE_INCLUDE_FLAG_CXX)
-  set(CMAKE_INCLUDE_FLAG_CXX ${CMAKE_INCLUDE_FLAG_C})
-endif()
-
-if(NOT CMAKE_INCLUDE_FLAG_SEP_CXX)
-  set(CMAKE_INCLUDE_FLAG_SEP_CXX ${CMAKE_INCLUDE_FLAG_SEP_C})
-endif()
-
-# for most systems a module is the same as a shared library
-# so unless the variable CMAKE_MODULE_EXISTS is set just
-# copy the values from the LIBRARY variables
-if(NOT CMAKE_MODULE_EXISTS)
-  set(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
-  set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS})
-endif()
-
-# repeat for modules
-if(NOT CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS)
-  set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
-endif()
-
-if(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
-  set(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
-endif()
-
-# Initialize CXX link type selection flags from C versions.
-foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-  if(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
-    set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
-      ${CMAKE_${type}_LINK_STATIC_C_FLAGS})
-  endif()
-  if(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
-    set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS
-      ${CMAKE_${type}_LINK_DYNAMIC_C_FLAGS})
-  endif()
-endforeach()
-
-# add the flags to the cache based
-# on the initial values computed in the platform/*.cmake files
-# use _INIT variables so that this only happens the first time
-# and you can set these flags in the cmake cache
-set(CMAKE_CXX_FLAGS_INIT "$ENV{CXXFLAGS} ${CMAKE_CXX_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-if(CMAKE_CXX_FLAGS_INIT STREQUAL " ")
-  set(CMAKE_CXX_FLAGS_INIT)
-endif()
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_INIT}" CACHE STRING
-     "Flags used by the compiler during all build types.")
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-  set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG_INIT}" CACHE STRING
-     "Flags used by the compiler during debug builds.")
-  set (CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT}" CACHE STRING
-     "Flags used by the compiler during release builds for minimum size.")
-  set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE_INIT}" CACHE STRING
-     "Flags used by the compiler during release builds.")
-  set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
-     "Flags used by the compiler during release builds with debug info.")
-
-endif()
-
-if(CMAKE_CXX_STANDARD_LIBRARIES_INIT)
-  set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES_INIT}"
-    CACHE STRING "Libraries linked by default with all C++ applications.")
-  mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
-endif()
-
-include(CMakeCommonLanguageInclude)
-
-# now define the following rules:
-# CMAKE_CXX_CREATE_SHARED_LIBRARY
-# CMAKE_CXX_CREATE_SHARED_MODULE
-# CMAKE_CXX_COMPILE_OBJECT
-# CMAKE_CXX_LINK_EXECUTABLE
-
-# variables supplied by the generator at use time
-# <TARGET>
-# <TARGET_BASE> the target without the suffix
-# <OBJECTS>
-# <OBJECT>
-# <LINK_LIBRARIES>
-# <FLAGS>
-# <LINK_FLAGS>
-
-# CXX compiler information
-# <CMAKE_CXX_COMPILER>
-# <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
-# <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS>
-# <CMAKE_CXX_LINK_FLAGS>
-
-# Static library tools
-# <CMAKE_AR>
-# <CMAKE_RANLIB>
-
-
-# create a shared C++ library
-if(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
-  set(CMAKE_CXX_CREATE_SHARED_LIBRARY
-      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-endif()
-
-# create a c++ shared module copy the shared library rule by default
-if(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
-  set(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
-endif()
-
-
-# Create a static archive incrementally for large object file counts.
-# If CMAKE_CXX_CREATE_STATIC_LIBRARY is set it will override these.
-if(NOT DEFINED CMAKE_CXX_ARCHIVE_CREATE)
-  set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
-endif()
-if(NOT DEFINED CMAKE_CXX_ARCHIVE_APPEND)
-  set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
-endif()
-if(NOT DEFINED CMAKE_CXX_ARCHIVE_FINISH)
-  set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-endif()
-
-# compile a C++ file into an object file
-if(NOT CMAKE_CXX_COMPILE_OBJECT)
-  set(CMAKE_CXX_COMPILE_OBJECT
-    "<CMAKE_CXX_COMPILER>  <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-endif()
-
-if(NOT CMAKE_CXX_LINK_EXECUTABLE)
-  set(CMAKE_CXX_LINK_EXECUTABLE
-    "<CMAKE_CXX_COMPILER>  <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-endif()
-
-mark_as_advanced(
-CMAKE_VERBOSE_MAKEFILE
-CMAKE_CXX_FLAGS
-CMAKE_CXX_FLAGS_RELEASE
-CMAKE_CXX_FLAGS_RELWITHDEBINFO
-CMAKE_CXX_FLAGS_MINSIZEREL
-CMAKE_CXX_FLAGS_DEBUG)
-
-set(CMAKE_CXX_INFORMATION_LOADED 1)
-
diff --git a/share/cmake-3.6/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake b/share/cmake-3.6/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
deleted file mode 100644
index a350a84..0000000
--- a/share/cmake-3.6/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#=============================================================================
-# Copyright 2006-2011 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2011 Matthias Kretz <kretz@kde.org>
-# Copyright 2013 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Do NOT include this module directly into any of your code. It is meant as
-# a library for Check*CompilerFlag.cmake modules. It's content may change in
-# any way between releases.
-
-macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
-   set(${_VAR}
-     FAIL_REGEX "[Uu]nrecogni[sz]ed .*option"               # GNU, NAG
-     FAIL_REGEX "unknown .*option"                          # Clang
-     FAIL_REGEX "optimization flag .* not supported"        # Clang
-     FAIL_REGEX "unknown argument ignored"                  # Clang (cl)
-     FAIL_REGEX "ignoring unknown option"                   # MSVC, Intel
-     FAIL_REGEX "warning D9002"                             # MSVC, any lang
-     FAIL_REGEX "option.*not supported"                     # Intel
-     FAIL_REGEX "invalid argument .*option"                 # Intel
-     FAIL_REGEX "ignoring option .*argument required"       # Intel
-     FAIL_REGEX "ignoring option .*argument is of wrong type" # Intel
-     FAIL_REGEX "[Uu]nknown option"                         # HP
-     FAIL_REGEX "[Ww]arning: [Oo]ption"                     # SunPro
-     FAIL_REGEX "command option .* is not recognized"       # XL
-     FAIL_REGEX "command option .* contains an incorrect subargument" # XL
-     FAIL_REGEX "not supported in this configuration. ignored"       # AIX
-     FAIL_REGEX "File with unknown suffix passed to linker" # PGI
-     FAIL_REGEX "[Uu]nknown switch"                         # PGI
-     FAIL_REGEX "WARNING: unknown flag:"                    # Open64
-     FAIL_REGEX "Incorrect command line option:"            # Borland
-     FAIL_REGEX "Warning: illegal option"                   # SunStudio 12
-     FAIL_REGEX "[Ww]arning: Invalid suboption"             # Fujitsu
-   )
-endmacro ()
diff --git a/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake b/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake
deleted file mode 100644
index fa025a8..0000000
--- a/share/cmake-3.6/Modules/CMakeCommonLanguageInclude.cmake
+++ /dev/null
@@ -1,133 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# this file has flags that are shared across languages and sets
-# cache values that can be initialized in the platform-compiler.cmake file
-# it may be included by more than one language.
-
-if(NOT "x$ENV{LDFLAGS}" STREQUAL "x")
-  set (CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
-  set (CMAKE_SHARED_LINKER_FLAGS_INIT "${CMAKE_SHARED_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
-  set (CMAKE_MODULE_LINKER_FLAGS_INIT "${CMAKE_MODULE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}")
-endif()
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-# default build type is none
-  if(NOT CMAKE_NO_BUILD_TYPE)
-    set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
-      "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
-  endif()
-
-  set (CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
-     "Flags used by the linker during debug builds.")
-
-  set (CMAKE_EXE_LINKER_FLAGS_MINSIZEREL ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT} CACHE STRING
-     "Flags used by the linker during release minsize builds.")
-
-  set (CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
-     "Flags used by the linker during release builds.")
-
-  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
-     ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
-     "Flags used by the linker during Release with Debug Info builds.")
-
-  set (CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
-     "Flags used by the linker during debug builds.")
-
-  set (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL ${CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT}
-     CACHE STRING
-     "Flags used by the linker during release minsize builds.")
-
-  set (CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
-     "Flags used by the linker during release builds.")
-
-  set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
-     ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
-     "Flags used by the linker during Release with Debug Info builds.")
-
-  set (CMAKE_MODULE_LINKER_FLAGS_DEBUG ${CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
-     "Flags used by the linker during debug builds.")
-
-  set (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL ${CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT}
-     CACHE STRING
-     "Flags used by the linker during release minsize builds.")
-
-  set (CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
-     "Flags used by the linker during release builds.")
-
-  set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
-     ${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
-     "Flags used by the linker during Release with Debug Info builds.")
-
-  set (CMAKE_STATIC_LINKER_FLAGS_DEBUG ${CMAKE_STATIC_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
-     "Flags used by the linker during debug builds.")
-
-  set (CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL ${CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL_INIT}
-     CACHE STRING
-     "Flags used by the linker during release minsize builds.")
-
-  set (CMAKE_STATIC_LINKER_FLAGS_RELEASE ${CMAKE_STATIC_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
-     "Flags used by the linker during release builds.")
-
-  set (CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
-     ${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
-     "Flags used by the linker during Release with Debug Info builds.")
-endif()
-
-# executable linker flags
-set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS_INIT}"
-     CACHE STRING "Flags used by the linker.")
-
-# shared linker flags
-set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT}"
-     CACHE STRING "Flags used by the linker during the creation of dll's.")
-
-# module linker flags
-set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS_INIT}"
-     CACHE STRING "Flags used by the linker during the creation of modules.")
-
-# static linker flags
-set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS_INIT}"
-     CACHE STRING "Flags used by the linker during the creation of static libraries.")
-
-# Alias the build tool variable for backward compatibility.
-set(CMAKE_BUILD_TOOL ${CMAKE_MAKE_PROGRAM})
-
-mark_as_advanced(
-CMAKE_VERBOSE_MAKEFILE
-
-CMAKE_EXE_LINKER_FLAGS
-CMAKE_EXE_LINKER_FLAGS_DEBUG
-CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
-CMAKE_EXE_LINKER_FLAGS_RELEASE
-CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
-
-CMAKE_SHARED_LINKER_FLAGS
-CMAKE_SHARED_LINKER_FLAGS_DEBUG
-CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
-CMAKE_SHARED_LINKER_FLAGS_RELEASE
-CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
-
-CMAKE_MODULE_LINKER_FLAGS
-CMAKE_MODULE_LINKER_FLAGS_DEBUG
-CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
-CMAKE_MODULE_LINKER_FLAGS_RELEASE
-CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
-
-CMAKE_STATIC_LINKER_FLAGS
-CMAKE_STATIC_LINKER_FLAGS_DEBUG
-CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
-CMAKE_STATIC_LINKER_FLAGS_RELEASE
-CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
-)
diff --git a/share/cmake-3.6/Modules/CMakeCompilerABI.h b/share/cmake-3.6/Modules/CMakeCompilerABI.h
deleted file mode 100644
index f2714b4..0000000
--- a/share/cmake-3.6/Modules/CMakeCompilerABI.h
+++ /dev/null
@@ -1,34 +0,0 @@
-
-/* Size of a pointer-to-data in bytes.  */
-#define SIZEOF_DPTR (sizeof(void*))
-const char info_sizeof_dptr[] = {
-  'I', 'N', 'F', 'O', ':', 's', 'i', 'z', 'e', 'o', 'f', '_', 'd', 'p', 't',
-  'r', '[', ('0' + ((SIZEOF_DPTR / 10) % 10)), ('0' + (SIZEOF_DPTR % 10)), ']',
-  '\0'
-  /* clang-format needs this comment to break after the opening brace */
-};
-
-/* Application Binary Interface.  */
-#if defined(__sgi) && defined(_ABIO32)
-#define ABI_ID "ELF O32"
-#elif defined(__sgi) && defined(_ABIN32)
-#define ABI_ID "ELF N32"
-#elif defined(__sgi) && defined(_ABI64)
-#define ABI_ID "ELF 64"
-
-/* Check for (some) ARM ABIs.
- * See e.g. http://wiki.debian.org/ArmEabiPort for some information on this. */
-#elif defined(__GNU__) && defined(__ELF__) && defined(__ARM_EABI__)
-#define ABI_ID "ELF ARMEABI"
-#elif defined(__GNU__) && defined(__ELF__) && defined(__ARMEB__)
-#define ABI_ID "ELF ARM"
-#elif defined(__GNU__) && defined(__ELF__) && defined(__ARMEL__)
-#define ABI_ID "ELF ARM"
-
-#elif defined(__ELF__)
-#define ABI_ID "ELF"
-#endif
-
-#if defined(ABI_ID)
-static char const info_abi[] = "INFO:abi[" ABI_ID "]";
-#endif
diff --git a/share/cmake-3.6/Modules/CMakeCompilerIdDetection.cmake b/share/cmake-3.6/Modules/CMakeCompilerIdDetection.cmake
deleted file mode 100644
index 1d341e5..0000000
--- a/share/cmake-3.6/Modules/CMakeCompilerIdDetection.cmake
+++ /dev/null
@@ -1,159 +0,0 @@
-
-#=============================================================================
-# Copyright 2014 Stephen Kelly <steveire@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(_readFile file)
-  include(${file})
-  get_filename_component(name ${file} NAME_WE)
-  string(REGEX REPLACE "-.*" "" CompilerId ${name})
-  set(_compiler_id_version_compute_${CompilerId} ${_compiler_id_version_compute} PARENT_SCOPE)
-  set(_compiler_id_simulate_${CompilerId} ${_compiler_id_simulate} PARENT_SCOPE)
-  set(_compiler_id_pp_test_${CompilerId} ${_compiler_id_pp_test} PARENT_SCOPE)
-endfunction()
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-function(compiler_id_detection outvar lang)
-
-  if (NOT lang STREQUAL Fortran)
-    file(GLOB lang_files
-      "${CMAKE_ROOT}/Modules/Compiler/*-DetermineCompiler.cmake")
-    set(nonlang CXX)
-    if (lang STREQUAL CXX)
-      set(nonlang C)
-    endif()
-
-    file(GLOB nonlang_files
-      "${CMAKE_ROOT}/Modules/Compiler/*-${nonlang}-DetermineCompiler.cmake")
-    list(REMOVE_ITEM lang_files ${nonlang_files})
-  endif()
-
-  set(files ${lang_files})
-  if (files)
-    foreach(file ${files})
-      _readFile(${file})
-    endforeach()
-
-    set(options ID_STRING VERSION_STRINGS ID_DEFINE PLATFORM_DEFAULT_COMPILER)
-    set(oneValueArgs PREFIX)
-    cmake_parse_arguments(CID "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
-    if (CID_UNPARSED_ARGUMENTS)
-      message(FATAL_ERROR "Unrecognized arguments: \"${CID_UNPARSED_ARGUMENTS}\"")
-    endif()
-
-    # Order is relevant here. For example, compilers which pretend to be
-    # GCC must appear before the actual GCC.
-    if (lang STREQUAL CXX)
-      list(APPEND ordered_compilers
-        Comeau
-      )
-    endif()
-    list(APPEND ordered_compilers
-      Intel
-      PathScale
-      Embarcadero
-      Borland
-      Watcom
-      OpenWatcom
-      SunPro
-      HP
-      Compaq
-      zOS
-      XL
-      VisualAge
-      PGI
-      Cray
-      TI
-      Fujitsu
-    )
-    if (lang STREQUAL C)
-      list(APPEND ordered_compilers
-        TinyCC
-        Bruce
-      )
-    endif()
-    list(APPEND ordered_compilers
-      SCO
-      AppleClang
-      Clang
-      GNU
-      MSVC
-      ADSP
-      IAR
-      ARMCC
-    )
-    if (lang STREQUAL C)
-      list(APPEND ordered_compilers
-        SDCC
-      )
-    endif()
-    list(APPEND ordered_compilers
-      MIPSpro)
-
-    if(CID_ID_DEFINE)
-      foreach(Id ${ordered_compilers})
-        set(CMAKE_${lang}_COMPILER_ID_CONTENT "${CMAKE_${lang}_COMPILER_ID_CONTENT}# define ${CID_PREFIX}COMPILER_IS_${Id} 0\n")
-      endforeach()
-    endif()
-
-    set(pp_if "#if")
-    if (CID_VERSION_STRINGS)
-      set(CMAKE_${lang}_COMPILER_ID_CONTENT "${CMAKE_${lang}_COMPILER_ID_CONTENT}\n/* Version number components: V=Version, R=Revision, P=Patch
-   Version date components:   YYYY=Year, MM=Month,   DD=Day  */\n")
-    endif()
-
-    foreach(Id ${ordered_compilers})
-      if (NOT _compiler_id_pp_test_${Id})
-        message(FATAL_ERROR "No preprocessor test for \"${Id}\"")
-      endif()
-      set(id_content "${pp_if} ${_compiler_id_pp_test_${Id}}\n")
-      if (CID_ID_STRING)
-        set(PREFIX ${CID_PREFIX})
-        string(CONFIGURE "${_compiler_id_simulate_${Id}}" SIMULATE_BLOCK @ONLY)
-        set(id_content "${id_content}# define ${CID_PREFIX}COMPILER_ID \"${Id}\"${SIMULATE_BLOCK}")
-      endif()
-      if (CID_ID_DEFINE)
-        set(id_content "${id_content}# undef ${CID_PREFIX}COMPILER_IS_${Id}\n")
-        set(id_content "${id_content}# define ${CID_PREFIX}COMPILER_IS_${Id} 1\n")
-      endif()
-      if (CID_VERSION_STRINGS)
-        set(PREFIX ${CID_PREFIX})
-        set(MACRO_DEC DEC)
-        set(MACRO_HEX HEX)
-        string(CONFIGURE "${_compiler_id_version_compute_${Id}}" VERSION_BLOCK @ONLY)
-        set(id_content "${id_content}${VERSION_BLOCK}\n")
-      endif()
-      set(CMAKE_${lang}_COMPILER_ID_CONTENT "${CMAKE_${lang}_COMPILER_ID_CONTENT}\n${id_content}")
-      set(pp_if "#elif")
-    endforeach()
-
-    if (CID_PLATFORM_DEFAULT_COMPILER)
-      set(platform_compiler_detection "
-/* These compilers are either not known or too old to define an
-  identification macro.  Try to identify the platform and guess that
-  it is the native compiler.  */
-#elif defined(__sgi)
-# define ${CID_PREFIX}COMPILER_ID \"MIPSpro\"
-
-#elif defined(__hpux) || defined(__hpua)
-# define ${CID_PREFIX}COMPILER_ID \"HP\"
-
-#else /* unknown compiler */
-# define ${CID_PREFIX}COMPILER_ID \"\"")
-    endif()
-
-    set(CMAKE_${lang}_COMPILER_ID_CONTENT "${CMAKE_${lang}_COMPILER_ID_CONTENT}\n${platform_compiler_detection}\n#endif")
-  endif()
-
-  set(${outvar} ${CMAKE_${lang}_COMPILER_ID_CONTENT} PARENT_SCOPE)
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeDependentOption.cmake b/share/cmake-3.6/Modules/CMakeDependentOption.cmake
deleted file mode 100644
index 7e9f183..0000000
--- a/share/cmake-3.6/Modules/CMakeDependentOption.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-#.rst:
-# CMakeDependentOption
-# --------------------
-#
-# Macro to provide an option dependent on other options.
-#
-# This macro presents an option to the user only if a set of other
-# conditions are true.  When the option is not presented a default value
-# is used, but any value set by the user is preserved for when the
-# option is presented again.  Example invocation:
-#
-# ::
-#
-#   CMAKE_DEPENDENT_OPTION(USE_FOO "Use Foo" ON
-#                          "USE_BAR;NOT USE_ZOT" OFF)
-#
-# If USE_BAR is true and USE_ZOT is false, this provides an option
-# called USE_FOO that defaults to ON.  Otherwise, it sets USE_FOO to
-# OFF.  If the status of USE_BAR or USE_ZOT ever changes, any value for
-# the USE_FOO option is saved so that when the option is re-enabled it
-# retains its old value.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CMAKE_DEPENDENT_OPTION option doc default depends force)
-  if(${option}_ISSET MATCHES "^${option}_ISSET$")
-    set(${option}_AVAILABLE 1)
-    foreach(d ${depends})
-      string(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}")
-      if(${CMAKE_DEPENDENT_OPTION_DEP})
-      else()
-        set(${option}_AVAILABLE 0)
-      endif()
-    endforeach()
-    if(${option}_AVAILABLE)
-      option(${option} "${doc}" "${default}")
-      set(${option} "${${option}}" CACHE BOOL "${doc}" FORCE)
-    else()
-      if(${option} MATCHES "^${option}$")
-      else()
-        set(${option} "${${option}}" CACHE INTERNAL "${doc}")
-      endif()
-      set(${option} ${force})
-    endif()
-  else()
-    set(${option} "${${option}_ISSET}")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeDetermineASM-ATTCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineASM-ATTCompiler.cmake
deleted file mode 100644
index 03c5668..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineASM-ATTCompiler.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for ASM using AT&T syntax, e.g. GNU as
-
-set(ASM_DIALECT "-ATT")
-set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gas ${_CMAKE_TOOLCHAIN_PREFIX}as)
-include(CMakeDetermineASMCompiler)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeDetermineASMCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineASMCompiler.cmake
deleted file mode 100644
index 91111d2..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineASMCompiler.cmake
+++ /dev/null
@@ -1,163 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for ASM programs
-
-include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
-
-if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
-  # prefer the environment variable ASM
-  if(NOT $ENV{ASM${ASM_DIALECT}} STREQUAL "")
-    set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT "$ENV{ASM${ASM_DIALECT}}")
-  endif()
-
-  # finally list compilers to try
-  if("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
-    if(NOT CMAKE_ASM_COMPILER_INIT)
-      if(CMAKE_C_COMPILER)
-        set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "The ASM compiler")
-        set(CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
-      elseif(CMAKE_CXX_COMPILER)
-        set(CMAKE_ASM_COMPILER "${CMAKE_CXX_COMPILER}" CACHE FILEPATH "The ASM compiler")
-        set(CMAKE_ASM_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
-      else()
-        # List all default C and CXX compilers
-        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST
-             ${_CMAKE_TOOLCHAIN_PREFIX}cc  ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc
-          CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC)
-      endif()
-    endif()
-  else() # some specific assembler "dialect"
-    if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT  AND NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST)
-      message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT or CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST must be preset !")
-    endif()
-  endif()
-
-  # Find the compiler.
-  _cmake_find_compiler(ASM${ASM_DIALECT})
-
-else()
-  _cmake_find_compiler_path(ASM${ASM_DIALECT})
-endif()
-mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_COMPILER)
-
-if (NOT _CMAKE_TOOLCHAIN_LOCATION)
-  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
-endif ()
-
-
-if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
-
-  # Table of per-vendor compiler id flags with expected output.
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS GNU )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_GNU "--version")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_GNU "(GNU assembler)|(GCC)|(Free Software Foundation)")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS HP )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_HP "-V")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_HP "HP C")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS Intel )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_Intel "--version")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_Intel "(ICC)")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS SunPro )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_SunPro "-V")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_SunPro "Sun C")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS XL )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_XL "-qversion")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_XL "XL C")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS MSVC )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_MSVC "/?")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_MSVC "Microsoft")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS TI )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_TI "-h")
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_TI "Texas Instruments")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS GNU IAR)
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_IAR )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_IAR "IAR Assembler")
-
-  list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS ARMCC)
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_ARMCC )
-  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_ARMCC "(ARM Compiler)|(ARM Assembler)")
-
-  include(CMakeDetermineCompilerId)
-  CMAKE_DETERMINE_COMPILER_ID_VENDOR(ASM${ASM_DIALECT})
-
-endif()
-
-if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
-  message(STATUS "The ASM${ASM_DIALECT} compiler identification is ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}")
-else()
-  message(STATUS "The ASM${ASM_DIALECT} compiler identification is unknown")
-endif()
-
-
-
-# If we have a gas/as cross compiler, they have usually some prefix, like
-# e.g. powerpc-linux-gas, arm-elf-gas or i586-mingw32msvc-gas , optionally
-# with a 3-component version number at the end
-# The other tools of the toolchain usually have the same prefix
-# NAME_WE cannot be used since then this test will fail for names like
-# "arm-unknown-nto-qnx6.3.0-gas.exe", where BASENAME would be
-# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
-if (NOT _CMAKE_TOOLCHAIN_PREFIX)
-  get_filename_component(COMPILER_BASENAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME)
-  if (COMPILER_BASENAME MATCHES "^(.+-)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-    set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-  endif ()
-endif ()
-
-# Now try the C compiler regexp:
-if (NOT _CMAKE_TOOLCHAIN_PREFIX)
-  if (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-    set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-  endif ()
-endif ()
-
-# Finally try the CXX compiler regexp:
-if (NOT _CMAKE_TOOLCHAIN_PREFIX)
-  if (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-    set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-  endif ()
-endif ()
-
-
-include(CMakeFindBinUtils)
-
-set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR "ASM${ASM_DIALECT}")
-
-if(CMAKE_ASM${ASM_DIALECT}_COMPILER)
-  message(STATUS "Found assembler: ${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
-else()
-  message(STATUS "Didn't find assembler")
-endif()
-
-
-set(_CMAKE_ASM_COMPILER "${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
-set(_CMAKE_ASM_COMPILER_ID "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}")
-set(_CMAKE_ASM_COMPILER_ARG1 "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1}")
-set(_CMAKE_ASM_COMPILER_ENV_VAR "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR}")
-
-# configure variables set in this file for fast reload later on
-configure_file(${CMAKE_ROOT}/Modules/CMakeASMCompiler.cmake.in
-  ${CMAKE_PLATFORM_INFO_DIR}/CMakeASM${ASM_DIALECT}Compiler.cmake @ONLY)
-
-set(_CMAKE_ASM_COMPILER)
-set(_CMAKE_ASM_COMPILER_ARG1)
-set(_CMAKE_ASM_COMPILER_ENV_VAR)
diff --git a/share/cmake-3.6/Modules/CMakeDetermineASM_MASMCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineASM_MASMCompiler.cmake
deleted file mode 100644
index 142ef95..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineASM_MASMCompiler.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Find the MS assembler (masm or masm64)
-
-set(ASM_DIALECT "_MASM")
-
-# if we are using the 64bit cl compiler, assume we also want the 64bit assembler
-if(";${CMAKE_VS_PLATFORM_NAME};${MSVC_C_ARCHITECTURE_ID};${MSVC_CXX_ARCHITECTURE_ID};"
-    MATCHES ";(Win64|Itanium|x64|IA64);")
-   set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml64)
-else()
-   set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml)
-endif()
-
-include(CMakeDetermineASMCompiler)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeDetermineASM_NASMCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineASM_NASMCompiler.cmake
deleted file mode 100644
index 5d783b1..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineASM_NASMCompiler.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Find the nasm assembler. yasm (http://www.tortall.net/projects/yasm/) is nasm compatible
-
-set(CMAKE_ASM_NASM_COMPILER_LIST nasm yasm)
-
-if(NOT CMAKE_ASM_NASM_COMPILER)
-  find_program(CMAKE_ASM_NASM_COMPILER nasm
-    "$ENV{ProgramFiles}/NASM")
-endif()
-
-# Load the generic DetermineASM compiler file with the DIALECT set properly:
-set(ASM_DIALECT "_NASM")
-include(CMakeDetermineASMCompiler)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeDetermineCCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineCCompiler.cmake
deleted file mode 100644
index f8c6303..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineCCompiler.cmake
+++ /dev/null
@@ -1,188 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for C programs
-# NOTE, a generator may set CMAKE_C_COMPILER before
-# loading this file to force a compiler.
-# use environment variable CC first if defined by user, next use
-# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
-# as a default compiler
-# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
-# as prefix for the tools (e.g. arm-elf-gcc, arm-elf-ar etc.). This works
-# currently with the GNU crosscompilers.
-#
-# Sets the following variables:
-#   CMAKE_C_COMPILER
-#   CMAKE_AR
-#   CMAKE_RANLIB
-#   CMAKE_COMPILER_IS_GNUCC
-#
-# If not already set before, it also sets
-#   _CMAKE_TOOLCHAIN_PREFIX
-
-include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
-
-# Load system-specific compiler preferences for this language.
-include(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL)
-if(NOT CMAKE_C_COMPILER_NAMES)
-  set(CMAKE_C_COMPILER_NAMES cc)
-endif()
-
-if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
-  set(CMAKE_C_COMPILER_XCODE_TYPE sourcecode.c.c)
-  _cmake_find_compiler_path(C)
-else()
-  if(NOT CMAKE_C_COMPILER)
-    set(CMAKE_C_COMPILER_INIT NOTFOUND)
-
-    # prefer the environment variable CC
-    if(NOT $ENV{CC} STREQUAL "")
-      get_filename_component(CMAKE_C_COMPILER_INIT $ENV{CC} PROGRAM PROGRAM_ARGS CMAKE_C_FLAGS_ENV_INIT)
-      if(CMAKE_C_FLAGS_ENV_INIT)
-        set(CMAKE_C_COMPILER_ARG1 "${CMAKE_C_FLAGS_ENV_INIT}" CACHE STRING "First argument to C compiler")
-      endif()
-      if(NOT EXISTS ${CMAKE_C_COMPILER_INIT})
-        message(FATAL_ERROR "Could not find compiler set in environment variable CC:\n$ENV{CC}.")
-      endif()
-    endif()
-
-    # next try prefer the compiler specified by the generator
-    if(CMAKE_GENERATOR_CC)
-      if(NOT CMAKE_C_COMPILER_INIT)
-        set(CMAKE_C_COMPILER_INIT ${CMAKE_GENERATOR_CC})
-      endif()
-    endif()
-
-    # finally list compilers to try
-    if(NOT CMAKE_C_COMPILER_INIT)
-      set(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc clang)
-    endif()
-
-    _cmake_find_compiler(C)
-
-  else()
-    _cmake_find_compiler_path(C)
-  endif()
-  mark_as_advanced(CMAKE_C_COMPILER)
-
-  # Each entry in this list is a set of extra flags to try
-  # adding to the compile line to see if it helps produce
-  # a valid identification file.
-  set(CMAKE_C_COMPILER_ID_TEST_FLAGS_FIRST)
-  set(CMAKE_C_COMPILER_ID_TEST_FLAGS
-    # Try compiling to an object file only.
-    "-c"
-
-    # Try enabling ANSI mode on HP.
-    "-Aa"
-
-    # Try compiling K&R-compatible code (needed by Bruce C Compiler).
-    "-D__CLASSIC_C__"
-    )
-endif()
-
-# Build a small source file to identify the compiler.
-if(NOT CMAKE_C_COMPILER_ID_RUN)
-  set(CMAKE_C_COMPILER_ID_RUN 1)
-
-  # Try to identify the compiler.
-  set(CMAKE_C_COMPILER_ID)
-  set(CMAKE_C_PLATFORM_ID)
-  file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
-    CMAKE_C_COMPILER_ID_PLATFORM_CONTENT)
-
-  # The IAR compiler produces weird output.
-  # See https://cmake.org/Bug/view.php?id=10176#c19598
-  list(APPEND CMAKE_C_COMPILER_ID_VENDORS IAR)
-  set(CMAKE_C_COMPILER_ID_VENDOR_FLAGS_IAR )
-  set(CMAKE_C_COMPILER_ID_VENDOR_REGEX_IAR "IAR .+ Compiler")
-
-  # Match the link line from xcodebuild output of the form
-  #  Ld ...
-  #      ...
-  #      /path/to/cc ...CompilerIdC/...
-  # to extract the compiler front-end for the language.
-  set(CMAKE_C_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdC/(\\./)?(CompilerIdC.xctest/)?CompilerIdC[ \t\n\\\"]")
-  set(CMAKE_C_COMPILER_ID_TOOL_MATCH_INDEX 2)
-
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
-  CMAKE_DETERMINE_COMPILER_ID(C CFLAGS CMakeCCompilerId.c)
-
-  # Set old compiler and platform id variables.
-  if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
-    set(CMAKE_COMPILER_IS_GNUCC 1)
-  endif()
-  if(CMAKE_C_PLATFORM_ID MATCHES "MinGW")
-    set(CMAKE_COMPILER_IS_MINGW 1)
-  elseif(CMAKE_C_PLATFORM_ID MATCHES "Cygwin")
-    set(CMAKE_COMPILER_IS_CYGWIN 1)
-  endif()
-endif()
-
-if (NOT _CMAKE_TOOLCHAIN_LOCATION)
-  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
-endif ()
-
-# If we have a gcc cross compiler, they have usually some prefix, like
-# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc, optionally
-# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
-# The other tools of the toolchain usually have the same prefix
-# NAME_WE cannot be used since then this test will fail for names like
-# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
-# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
-if (CMAKE_CROSSCOMPILING  AND NOT _CMAKE_TOOLCHAIN_PREFIX)
-
-  if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
-    get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
-    if (COMPILER_BASENAME MATCHES "^(.+-)(clang|g?cc)(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-    elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
-      if(CMAKE_C_COMPILER_TARGET)
-        set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_C_COMPILER_TARGET}-)
-      endif()
-    elseif(COMPILER_BASENAME MATCHES "qcc(\\.exe)?$")
-      if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?")
-        set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-)
-      endif()
-    endif ()
-
-    # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
-    # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
-    if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
-      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-    endif ()
-  elseif(CMAKE_C_COMPILER_ID MATCHES "TI")
-    # TI compilers are named e.g. cl6x, cl470 or armcl.exe
-    get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
-    if (COMPILER_BASENAME MATCHES "^(.+)?cl([^.]+)?(\\.exe)?$")
-      set(_CMAKE_TOOLCHAIN_PREFIX "${CMAKE_MATCH_1}")
-      set(_CMAKE_TOOLCHAIN_SUFFIX "${CMAKE_MATCH_2}")
-    endif ()
-  endif()
-
-endif ()
-
-include(CMakeFindBinUtils)
-if(MSVC_C_ARCHITECTURE_ID)
-  set(SET_MSVC_C_ARCHITECTURE_ID
-    "set(MSVC_C_ARCHITECTURE_ID ${MSVC_C_ARCHITECTURE_ID})")
-endif()
-
-# configure variables set in this file for fast reload later on
-configure_file(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
-  ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
-  @ONLY
-  )
-set(CMAKE_C_COMPILER_ENV_VAR "CC")
diff --git a/share/cmake-3.6/Modules/CMakeDetermineCXXCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineCXXCompiler.cmake
deleted file mode 100644
index 3c9bbc2..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineCXXCompiler.cmake
+++ /dev/null
@@ -1,184 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for C++ programs
-# NOTE, a generator may set CMAKE_CXX_COMPILER before
-# loading this file to force a compiler.
-# use environment variable CXX first if defined by user, next use
-# the cmake variable CMAKE_GENERATOR_CXX which can be defined by a generator
-# as a default compiler
-# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
-# as prefix for the tools (e.g. arm-elf-g++, arm-elf-ar etc.)
-#
-# Sets the following variables:
-#   CMAKE_CXX_COMPILER
-#   CMAKE_COMPILER_IS_GNUCXX
-#   CMAKE_AR
-#   CMAKE_RANLIB
-#
-# If not already set before, it also sets
-#   _CMAKE_TOOLCHAIN_PREFIX
-
-include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
-
-# Load system-specific compiler preferences for this language.
-include(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL)
-if(NOT CMAKE_CXX_COMPILER_NAMES)
-  set(CMAKE_CXX_COMPILER_NAMES CC)
-endif()
-
-if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
-  set(CMAKE_CXX_COMPILER_XCODE_TYPE sourcecode.cpp.cpp)
-  _cmake_find_compiler_path(CXX)
-else()
-  if(NOT CMAKE_CXX_COMPILER)
-    set(CMAKE_CXX_COMPILER_INIT NOTFOUND)
-
-    # prefer the environment variable CXX
-    if(NOT $ENV{CXX} STREQUAL "")
-      get_filename_component(CMAKE_CXX_COMPILER_INIT $ENV{CXX} PROGRAM PROGRAM_ARGS CMAKE_CXX_FLAGS_ENV_INIT)
-      if(CMAKE_CXX_FLAGS_ENV_INIT)
-        set(CMAKE_CXX_COMPILER_ARG1 "${CMAKE_CXX_FLAGS_ENV_INIT}" CACHE STRING "First argument to CXX compiler")
-      endif()
-      if(NOT EXISTS ${CMAKE_CXX_COMPILER_INIT})
-        message(FATAL_ERROR "Could not find compiler set in environment variable CXX:\n$ENV{CXX}.\n${CMAKE_CXX_COMPILER_INIT}")
-      endif()
-    endif()
-
-    # next prefer the generator specified compiler
-    if(CMAKE_GENERATOR_CXX)
-      if(NOT CMAKE_CXX_COMPILER_INIT)
-        set(CMAKE_CXX_COMPILER_INIT ${CMAKE_GENERATOR_CXX})
-      endif()
-    endif()
-
-    # finally list compilers to try
-    if(NOT CMAKE_CXX_COMPILER_INIT)
-      set(CMAKE_CXX_COMPILER_LIST CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC clang++)
-    endif()
-
-    _cmake_find_compiler(CXX)
-  else()
-    _cmake_find_compiler_path(CXX)
-  endif()
-  mark_as_advanced(CMAKE_CXX_COMPILER)
-
-  # Each entry in this list is a set of extra flags to try
-  # adding to the compile line to see if it helps produce
-  # a valid identification file.
-  set(CMAKE_CXX_COMPILER_ID_TEST_FLAGS_FIRST)
-  set(CMAKE_CXX_COMPILER_ID_TEST_FLAGS
-    # Try compiling to an object file only.
-    "-c"
-    )
-endif()
-
-# Build a small source file to identify the compiler.
-if(NOT CMAKE_CXX_COMPILER_ID_RUN)
-  set(CMAKE_CXX_COMPILER_ID_RUN 1)
-
-  # Try to identify the compiler.
-  set(CMAKE_CXX_COMPILER_ID)
-  set(CMAKE_CXX_PLATFORM_ID)
-  file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
-    CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT)
-
-  # The IAR compiler produces weird output.
-  # See https://cmake.org/Bug/view.php?id=10176#c19598
-  list(APPEND CMAKE_CXX_COMPILER_ID_VENDORS IAR)
-  set(CMAKE_CXX_COMPILER_ID_VENDOR_FLAGS_IAR )
-  set(CMAKE_CXX_COMPILER_ID_VENDOR_REGEX_IAR "IAR .+ Compiler")
-
-  # Match the link line from xcodebuild output of the form
-  #  Ld ...
-  #      ...
-  #      /path/to/cc ...CompilerIdCXX/...
-  # to extract the compiler front-end for the language.
-  set(CMAKE_CXX_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdCXX/(\\./)?(CompilerIdCXX.xctest/)?CompilerIdCXX[ \t\n\\\"]")
-  set(CMAKE_CXX_COMPILER_ID_TOOL_MATCH_INDEX 2)
-
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
-  CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp)
-
-  # Set old compiler and platform id variables.
-  if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-    set(CMAKE_COMPILER_IS_GNUCXX 1)
-  endif()
-  if(CMAKE_CXX_PLATFORM_ID MATCHES "MinGW")
-    set(CMAKE_COMPILER_IS_MINGW 1)
-  elseif(CMAKE_CXX_PLATFORM_ID MATCHES "Cygwin")
-    set(CMAKE_COMPILER_IS_CYGWIN 1)
-  endif()
-endif()
-
-if (NOT _CMAKE_TOOLCHAIN_LOCATION)
-  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
-endif ()
-
-# if we have a g++ cross compiler, they have usually some prefix, like
-# e.g. powerpc-linux-g++, arm-elf-g++ or i586-mingw32msvc-g++ , optionally
-# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
-# The other tools of the toolchain usually have the same prefix
-# NAME_WE cannot be used since then this test will fail for names like
-# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
-# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
-
-
-if (CMAKE_CROSSCOMPILING  AND NOT  _CMAKE_TOOLCHAIN_PREFIX)
-
-  if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
-    get_filename_component(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
-    if (COMPILER_BASENAME MATCHES "^(.+-)(clan)?[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-    elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
-      if(CMAKE_CXX_COMPILER_TARGET)
-        set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_CXX_COMPILER_TARGET}-)
-      endif()
-    elseif(COMPILER_BASENAME MATCHES "QCC(\\.exe)?$")
-      if(CMAKE_CXX_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?")
-        set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-)
-      endif()
-    endif ()
-
-    # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
-    # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
-    if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
-      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-    endif ()
-  elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "TI")
-    # TI compilers are named e.g. cl6x, cl470 or armcl.exe
-    get_filename_component(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
-    if (COMPILER_BASENAME MATCHES "^(.+)?cl([^.]+)?(\\.exe)?$")
-      set(_CMAKE_TOOLCHAIN_PREFIX "${CMAKE_MATCH_1}")
-      set(_CMAKE_TOOLCHAIN_SUFFIX "${CMAKE_MATCH_2}")
-    endif ()
-
-  endif()
-
-endif ()
-
-include(CMakeFindBinUtils)
-if(MSVC_CXX_ARCHITECTURE_ID)
-  set(SET_MSVC_CXX_ARCHITECTURE_ID
-    "set(MSVC_CXX_ARCHITECTURE_ID ${MSVC_CXX_ARCHITECTURE_ID})")
-endif()
-
-# configure all variables set in this file
-configure_file(${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
-  ${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
-  @ONLY
-  )
-
-set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
diff --git a/share/cmake-3.6/Modules/CMakeDetermineCompileFeatures.cmake b/share/cmake-3.6/Modules/CMakeDetermineCompileFeatures.cmake
deleted file mode 100644
index 2bb7a74..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineCompileFeatures.cmake
+++ /dev/null
@@ -1,94 +0,0 @@
-
-#=============================================================================
-# Copyright 2013 Stephen Kelly <steveire@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-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)
-
-    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_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}
-      )
-    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)
-
-    message(STATUS "Detecting ${lang} compile features - done")
-  endif()
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeDetermineCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineCompiler.cmake
deleted file mode 100644
index 85c8662..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineCompiler.cmake
+++ /dev/null
@@ -1,130 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(_cmake_find_compiler lang)
-  # Use already-enabled languages for reference.
-  get_property(_languages GLOBAL PROPERTY ENABLED_LANGUAGES)
-  list(REMOVE_ITEM _languages "${lang}")
-
-  if(CMAKE_${lang}_COMPILER_INIT)
-    # Search only for the specified compiler.
-    set(CMAKE_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_INIT}")
-  else()
-    # Re-order the compiler list with preferred vendors first.
-    set(_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_LIST}")
-    set(CMAKE_${lang}_COMPILER_LIST "")
-    # Prefer vendors of compilers from reference languages.
-    foreach(l ${_languages})
-      list(APPEND CMAKE_${lang}_COMPILER_LIST
-        ${_${lang}_COMPILER_NAMES_${CMAKE_${l}_COMPILER_ID}})
-    endforeach()
-    # Prefer vendors based on the platform.
-    list(APPEND CMAKE_${lang}_COMPILER_LIST ${CMAKE_${lang}_COMPILER_NAMES})
-    # Append the rest of the list and remove duplicates.
-    list(APPEND CMAKE_${lang}_COMPILER_LIST ${_${lang}_COMPILER_LIST})
-    unset(_${lang}_COMPILER_LIST)
-    list(REMOVE_DUPLICATES CMAKE_${lang}_COMPILER_LIST)
-    if(CMAKE_${lang}_COMPILER_EXCLUDE)
-      list(REMOVE_ITEM CMAKE_${lang}_COMPILER_LIST
-        ${CMAKE_${lang}_COMPILER_EXCLUDE})
-    endif()
-  endif()
-
-  # Look for directories containing compilers of reference languages.
-  set(_${lang}_COMPILER_HINTS)
-  foreach(l ${_languages})
-    if(CMAKE_${l}_COMPILER AND IS_ABSOLUTE "${CMAKE_${l}_COMPILER}")
-      get_filename_component(_hint "${CMAKE_${l}_COMPILER}" PATH)
-      if(IS_DIRECTORY "${_hint}")
-        list(APPEND _${lang}_COMPILER_HINTS "${_hint}")
-      endif()
-      unset(_hint)
-    endif()
-  endforeach()
-
-  # Find the compiler.
-  if(_${lang}_COMPILER_HINTS)
-    # Prefer directories containing compilers of reference languages.
-    list(REMOVE_DUPLICATES _${lang}_COMPILER_HINTS)
-    find_program(CMAKE_${lang}_COMPILER
-      NAMES ${CMAKE_${lang}_COMPILER_LIST}
-      PATHS ${_${lang}_COMPILER_HINTS}
-      NO_DEFAULT_PATH
-      DOC "${lang} compiler")
-  endif()
-  find_program(CMAKE_${lang}_COMPILER NAMES ${CMAKE_${lang}_COMPILER_LIST} DOC "${lang} compiler")
-  if(CMAKE_${lang}_COMPILER_INIT AND NOT CMAKE_${lang}_COMPILER)
-    set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${CMAKE_${lang}_COMPILER_INIT}")
-  endif()
-  unset(_${lang}_COMPILER_HINTS)
-  unset(_languages)
-
-  # Look for a make tool provided by Xcode
-  if(CMAKE_HOST_APPLE)
-    macro(_query_xcrun compiler_name result_var_keyword result_var)
-      if(NOT "x${result_var_keyword}" STREQUAL "xRESULT_VAR")
-        message(FATAL_ERROR "Bad arguments to macro")
-      endif()
-      execute_process(COMMAND xcrun --find ${compiler_name}
-        OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
-        ERROR_VARIABLE _xcrun_err)
-      set("${result_var}" "${_xcrun_out}")
-    endmacro()
-
-    set(xcrun_result)
-    if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
-      _query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
-    elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
-      foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
-        _query_xcrun("${comp}" RESULT_VAR xcrun_result)
-        if(xcrun_result)
-          break()
-        endif()
-      endforeach()
-    endif()
-    if (xcrun_result)
-      set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${xcrun_result}")
-    endif()
-  endif()
-endmacro()
-
-macro(_cmake_find_compiler_path lang)
-  if(CMAKE_${lang}_COMPILER)
-    # we only get here if CMAKE_${lang}_COMPILER was specified using -D or a pre-made CMakeCache.txt
-    # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
-    # if CMAKE_${lang}_COMPILER is a list of length 2, use the first item as
-    # CMAKE_${lang}_COMPILER and the 2nd one as CMAKE_${lang}_COMPILER_ARG1
-    list(LENGTH CMAKE_${lang}_COMPILER _CMAKE_${lang}_COMPILER_LIST_LENGTH)
-    if("${_CMAKE_${lang}_COMPILER_LIST_LENGTH}" EQUAL 2)
-      list(GET CMAKE_${lang}_COMPILER 1 CMAKE_${lang}_COMPILER_ARG1)
-      list(GET CMAKE_${lang}_COMPILER 0 CMAKE_${lang}_COMPILER)
-    endif()
-    unset(_CMAKE_${lang}_COMPILER_LIST_LENGTH)
-
-    # find the compiler in the PATH if necessary
-    get_filename_component(_CMAKE_USER_${lang}_COMPILER_PATH "${CMAKE_${lang}_COMPILER}" PATH)
-    if(NOT _CMAKE_USER_${lang}_COMPILER_PATH)
-      find_program(CMAKE_${lang}_COMPILER_WITH_PATH NAMES ${CMAKE_${lang}_COMPILER})
-      if(CMAKE_${lang}_COMPILER_WITH_PATH)
-        set(CMAKE_${lang}_COMPILER ${CMAKE_${lang}_COMPILER_WITH_PATH})
-        get_property(_CMAKE_${lang}_COMPILER_CACHED CACHE CMAKE_${lang}_COMPILER PROPERTY TYPE)
-        if(_CMAKE_${lang}_COMPILER_CACHED)
-          set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER}" CACHE STRING "${lang} compiler" FORCE)
-        endif()
-        unset(_CMAKE_${lang}_COMPILER_CACHED)
-      endif()
-      unset(CMAKE_${lang}_COMPILER_WITH_PATH CACHE)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeDetermineCompilerABI.cmake b/share/cmake-3.6/Modules/CMakeDetermineCompilerABI.cmake
deleted file mode 100644
index 344ae47..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineCompilerABI.cmake
+++ /dev/null
@@ -1,137 +0,0 @@
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Function to compile a source file to identify the compiler ABI.
-# This is used internally by CMake and should not be included by user
-# code.
-
-include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
-
-function(CMAKE_DETERMINE_COMPILER_ABI lang src)
-  if(NOT DEFINED CMAKE_${lang}_ABI_COMPILED)
-    message(STATUS "Detecting ${lang} compiler ABI info")
-
-    # Compile the ABI identification source.
-    set(BIN "${CMAKE_PLATFORM_INFO_DIR}/CMakeDetermineCompilerABI_${lang}.bin")
-    set(CMAKE_FLAGS )
-    if(DEFINED CMAKE_${lang}_VERBOSE_FLAG)
-      set(CMAKE_FLAGS "-DEXE_LINKER_FLAGS=${CMAKE_${lang}_VERBOSE_FLAG}")
-    endif()
-    if(NOT "x${CMAKE_${lang}_COMPILER_ID}" STREQUAL "xMSVC")
-      # Avoid adding our own platform standard libraries for compilers
-      # from which we might detect implicit link libraries.
-      list(APPEND CMAKE_FLAGS "-DCMAKE_${lang}_STANDARD_LIBRARIES=")
-    endif()
-    try_compile(CMAKE_${lang}_ABI_COMPILED
-      ${CMAKE_BINARY_DIR} ${src}
-      CMAKE_FLAGS ${CMAKE_FLAGS}
-                  # Ignore unused flags when we are just determining the ABI.
-                  "--no-warn-unused-cli"
-      OUTPUT_VARIABLE OUTPUT
-      COPY_FILE "${BIN}"
-      COPY_FILE_ERROR _copy_error
-      )
-    # Move result from cache to normal variable.
-    set(CMAKE_${lang}_ABI_COMPILED ${CMAKE_${lang}_ABI_COMPILED})
-    unset(CMAKE_${lang}_ABI_COMPILED CACHE)
-    set(CMAKE_${lang}_ABI_COMPILED ${CMAKE_${lang}_ABI_COMPILED} PARENT_SCOPE)
-
-    # Load the resulting information strings.
-    if(CMAKE_${lang}_ABI_COMPILED AND NOT _copy_error)
-      message(STATUS "Detecting ${lang} compiler ABI info - 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_]+\\[[^]]*\\]")
-      foreach(info ${ABI_STRINGS})
-        if("${info}" MATCHES "INFO:sizeof_dptr\\[0*([^]]*)\\]")
-          set(ABI_SIZEOF_DPTR "${CMAKE_MATCH_1}")
-        endif()
-        if("${info}" MATCHES "INFO:abi\\[([^]]*)\\]")
-          set(ABI_NAME "${CMAKE_MATCH_1}")
-        endif()
-      endforeach()
-
-      if(ABI_SIZEOF_DPTR)
-        set(CMAKE_${lang}_SIZEOF_DATA_PTR "${ABI_SIZEOF_DPTR}" PARENT_SCOPE)
-      elseif(CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT)
-        set(CMAKE_${lang}_SIZEOF_DATA_PTR "${CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT}" PARENT_SCOPE)
-      endif()
-
-      if(ABI_NAME)
-        set(CMAKE_${lang}_COMPILER_ABI "${ABI_NAME}" PARENT_SCOPE)
-      endif()
-
-      # Parse implicit linker information for this language, if available.
-      set(implicit_dirs "")
-      set(implicit_libs "")
-      set(implicit_fwks "")
-      if(CMAKE_${lang}_VERBOSE_FLAG)
-        CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs implicit_fwks log
-          "${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-          "Parsed ${lang} implicit link information from above output:\n${log}\n\n")
-      endif()
-      # for VS IDE Intel Fortran we have to figure out the
-      # implicit link path for the fortran run time using
-      # 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}")
-        # Build a sample project which reports symbols.
-        try_compile(IFORT_LIB_PATH_COMPILED
-          ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath
-          ${CMAKE_ROOT}/Modules/IntelVSImplicitPath
-          IntelFortranImplicit
-          CMAKE_FLAGS
-          "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
-          OUTPUT_VARIABLE _output)
-        file(WRITE
-          "${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}")
-      endif()
-
-      # Implicit link libraries cannot be used explicitly for multiple
-      # OS X architectures, so we skip it.
-      if(DEFINED CMAKE_OSX_ARCHITECTURES)
-        if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ";")
-          set(implicit_libs "")
-        endif()
-      endif()
-
-      set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)
-      set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
-      set(CMAKE_${lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "${implicit_fwks}" PARENT_SCOPE)
-
-      # Detect library architecture directory name.
-      if(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
-        foreach(dir ${implicit_dirs})
-          if("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$")
-            get_filename_component(arch "${dir}" NAME)
-            set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${arch}" PARENT_SCOPE)
-            break()
-          endif()
-        endforeach()
-      endif()
-
-    else()
-      message(STATUS "Detecting ${lang} compiler ABI info - 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()
-  endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeDetermineCompilerId.cmake b/share/cmake-3.6/Modules/CMakeDetermineCompilerId.cmake
deleted file mode 100644
index 465989d..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineCompilerId.cmake
+++ /dev/null
@@ -1,672 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Function to compile a source file to identify the compiler.  This is
-# used internally by CMake and should not be included by user code.
-# If successful, sets CMAKE_<lang>_COMPILER_ID and CMAKE_<lang>_PLATFORM_ID
-
-function(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
-  # Make sure the compiler arguments are clean.
-  string(STRIP "${CMAKE_${lang}_COMPILER_ARG1}" CMAKE_${lang}_COMPILER_ID_ARG1)
-  string(REGEX REPLACE " +" ";" CMAKE_${lang}_COMPILER_ID_ARG1 "${CMAKE_${lang}_COMPILER_ID_ARG1}")
-
-  # Make sure user-specified compiler flags are used.
-  if(CMAKE_${lang}_FLAGS)
-    set(CMAKE_${lang}_COMPILER_ID_FLAGS ${CMAKE_${lang}_FLAGS})
-  else()
-    set(CMAKE_${lang}_COMPILER_ID_FLAGS $ENV{${flagvar}})
-  endif()
-  string(REPLACE " " ";" CMAKE_${lang}_COMPILER_ID_FLAGS_LIST "${CMAKE_${lang}_COMPILER_ID_FLAGS}")
-
-  # Compute the directory in which to run the test.
-  set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})
-
-  # Try building with no extra flags and then try each set
-  # of helper flags.  Stop when the compiler is identified.
-  foreach(flags ${CMAKE_${lang}_COMPILER_ID_TEST_FLAGS_FIRST}
-                ""
-                ${CMAKE_${lang}_COMPILER_ID_TEST_FLAGS})
-    CMAKE_DETERMINE_COMPILER_ID_BUILD("${lang}" "${flags}" "${src}")
-    CMAKE_DETERMINE_COMPILER_ID_MATCH_VENDOR("${lang}" "${COMPILER_${lang}_PRODUCED_OUTPUT}")
-    if(CMAKE_${lang}_COMPILER_ID)
-      break()
-    endif()
-    foreach(file ${COMPILER_${lang}_PRODUCED_FILES})
-      CMAKE_DETERMINE_COMPILER_ID_CHECK("${lang}" "${CMAKE_${lang}_COMPILER_ID_DIR}/${file}" "${src}")
-    endforeach()
-    if(CMAKE_${lang}_COMPILER_ID)
-      break()
-    endif()
-  endforeach()
-
-  # If the compiler is still unknown, try to query its vendor.
-  if(CMAKE_${lang}_COMPILER AND NOT CMAKE_${lang}_COMPILER_ID)
-    CMAKE_DETERMINE_COMPILER_ID_VENDOR(${lang})
-  endif()
-
-  if (COMPILER_QNXNTO AND CMAKE_${lang}_COMPILER_ID STREQUAL "GNU")
-    execute_process(
-      COMMAND "${CMAKE_${lang}_COMPILER}"
-      -V
-      OUTPUT_VARIABLE output ERROR_VARIABLE output
-      RESULT_VARIABLE result
-      TIMEOUT 10
-      )
-    if (output MATCHES "targets available")
-      set(CMAKE_${lang}_COMPILER_ID QCC)
-      # http://community.qnx.com/sf/discussion/do/listPosts/projects.community/discussion.qnx_momentics_community_support.topc3555?_pagenum=2
-      # The qcc driver does not itself have a version.
-    endif()
-  endif()
-
-  # if the format is unknown after all files have been checked, put "Unknown" in the cache
-  if(NOT CMAKE_EXECUTABLE_FORMAT)
-    set(CMAKE_EXECUTABLE_FORMAT "Unknown" CACHE INTERNAL "Executable file format")
-  endif()
-
-  if(CMAKE_GENERATOR STREQUAL "Ninja" AND MSVC_${lang}_ARCHITECTURE_ID)
-    CMAKE_DETERMINE_MSVC_SHOWINCLUDES_PREFIX(${lang})
-  else()
-    set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "")
-  endif()
-
-  # Display the final identification result.
-  if(CMAKE_${lang}_COMPILER_ID)
-    if(CMAKE_${lang}_COMPILER_VERSION)
-      set(_version " ${CMAKE_${lang}_COMPILER_VERSION}")
-    else()
-      set(_version "")
-    endif()
-    message(STATUS "The ${lang} compiler identification is "
-      "${CMAKE_${lang}_COMPILER_ID}${_version}")
-  else()
-    message(STATUS "The ${lang} compiler identification is unknown")
-  endif()
-
-  # Check if compiler id detection gave us the compiler tool.
-  if(CMAKE_${lang}_COMPILER_ID_TOOL)
-    set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER_ID_TOOL}" PARENT_SCOPE)
-  elseif(NOT CMAKE_${lang}_COMPILER)
-    set(CMAKE_${lang}_COMPILER "CMAKE_${lang}_COMPILER-NOTFOUND" 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(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
-    PARENT_SCOPE)
-  set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "${CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX}" PARENT_SCOPE)
-  set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
-  set(CMAKE_${lang}_COMPILER_WRAPPER "${CMAKE_${lang}_COMPILER_WRAPPER}" PARENT_SCOPE)
-  set(CMAKE_${lang}_SIMULATE_ID "${CMAKE_${lang}_SIMULATE_ID}" PARENT_SCOPE)
-  set(CMAKE_${lang}_SIMULATE_VERSION "${CMAKE_${lang}_SIMULATE_VERSION}" PARENT_SCOPE)
-  set(CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT "${CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT}" PARENT_SCOPE)
-endfunction()
-
-include(CMakeCompilerIdDetection)
-
-#-----------------------------------------------------------------------------
-# Function to write the compiler id source file.
-function(CMAKE_DETERMINE_COMPILER_ID_WRITE lang src)
-  find_file(src_in ${src}.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  file(READ ${src_in} ID_CONTENT_IN)
-
-  compiler_id_detection(CMAKE_${lang}_COMPILER_ID_CONTENT ${lang}
-    ID_STRING
-    VERSION_STRINGS
-    PLATFORM_DEFAULT_COMPILER
-  )
-
-  unset(src_in CACHE)
-  string(CONFIGURE "${ID_CONTENT_IN}" ID_CONTENT_OUT @ONLY)
-  file(WRITE ${CMAKE_${lang}_COMPILER_ID_DIR}/${src} "${ID_CONTENT_OUT}")
-endfunction()
-
-#-----------------------------------------------------------------------------
-# Function to build the compiler id source file and look for output
-# files.
-function(CMAKE_DETERMINE_COMPILER_ID_BUILD lang testflags src)
-  # Create a clean working directory.
-  file(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
-  file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
-  CMAKE_DETERMINE_COMPILER_ID_WRITE("${lang}" "${src}")
-
-  # Construct a description of this test case.
-  set(COMPILER_DESCRIPTION
-    "Compiler: ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_ARG1}
-Build flags: ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
-Id flags: ${testflags}
-")
-
-  # Compile the compiler identification source.
-  if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([0-9]+)")
-    set(vs_version ${CMAKE_MATCH_1})
-    set(id_platform ${CMAKE_VS_PLATFORM_NAME})
-    set(id_lang "${lang}")
-    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
-      set(id_cl clang.exe)
-    else()
-      set(id_cl cl.exe)
-    endif()
-    if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
-      set(v NsightTegra)
-      set(ext vcxproj)
-      if(lang STREQUAL CXX)
-        set(id_gcc g++)
-        set(id_clang clang++)
-      else()
-        set(id_gcc gcc)
-        set(id_clang clang)
-      endif()
-    elseif(lang STREQUAL Fortran)
-      set(v Intel)
-      set(ext vfproj)
-      set(id_cl ifort.exe)
-    elseif(NOT "${vs_version}" VERSION_LESS 10)
-      set(v 10)
-      set(ext vcxproj)
-    else()
-      set(id_version ${vs_version}.00)
-      set(v 7)
-      set(ext vcproj)
-    endif()
-    if(CMAKE_VS_PLATFORM_TOOLSET)
-      if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
-        set(id_toolset "<NdkToolchainVersion>${CMAKE_VS_PLATFORM_TOOLSET}</NdkToolchainVersion>")
-      else()
-        set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
-        if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "Intel")
-          set(id_cl icl.exe)
-        endif()
-      endif()
-    else()
-      set(id_toolset "")
-    endif()
-    if(CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone")
-      set(id_system "<ApplicationType>Windows Phone</ApplicationType>")
-    elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
-      set(id_system "<ApplicationType>Windows Store</ApplicationType>")
-    else()
-      set(id_system "")
-    endif()
-    if(id_system AND CMAKE_SYSTEM_VERSION)
-      set(id_system_version "<ApplicationTypeRevision>${CMAKE_SYSTEM_VERSION}</ApplicationTypeRevision>")
-    else()
-      set(id_system_version "")
-    endif()
-    if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION)
-      set(id_WindowsTargetPlatformVersion "<WindowsTargetPlatformVersion>${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}</WindowsTargetPlatformVersion>")
-    endif()
-    if(id_platform STREQUAL ARM)
-      set(id_WindowsSDKDesktopARMSupport "<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>")
-    else()
-      set(id_WindowsSDKDesktopARMSupport "")
-    endif()
-    if(CMAKE_VS_WINCE_VERSION)
-      set(id_entrypoint "mainACRTStartup")
-      if("${vs_version}" VERSION_LESS 9)
-        set(id_subsystem 9)
-      else()
-        set(id_subsystem 8)
-      endif()
-    else()
-      set(id_subsystem 1)
-    endif()
-    set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
-    set(id_src "${src}")
-    configure_file(${CMAKE_ROOT}/Modules/CompilerId/VS-${v}.${ext}.in
-      ${id_dir}/CompilerId${lang}.${ext} @ONLY)
-    if(CMAKE_VS_MSBUILD_COMMAND AND NOT lang STREQUAL "Fortran")
-      set(command "${CMAKE_VS_MSBUILD_COMMAND}" "CompilerId${lang}.${ext}"
-        "/p:Configuration=Debug" "/p:Platform=${id_platform}" "/p:VisualStudioVersion=${vs_version}.0"
-        )
-    elseif(CMAKE_VS_DEVENV_COMMAND)
-      set(command "${CMAKE_VS_DEVENV_COMMAND}" "CompilerId${lang}.${ext}" "/build" "Debug")
-    else()
-      set(command "")
-    endif()
-    if(command)
-      execute_process(
-        COMMAND ${command}
-        WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
-        OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-        ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-        RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
-        )
-    else()
-      set(CMAKE_${lang}_COMPILER_ID_RESULT 1)
-      set(CMAKE_${lang}_COMPILER_ID_OUTPUT "VS environment not known to support ${lang}")
-    endif()
-    # Match the compiler location line printed out.
-    if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "CMAKE_${lang}_COMPILER=([^%\r\n]+)[\r\n]")
-      # Strip VS diagnostic output from the end of the line.
-      string(REGEX REPLACE " \\(TaskId:[0-9]*\\)$" "" _comp "${CMAKE_MATCH_1}")
-      if(EXISTS "${_comp}")
-        file(TO_CMAKE_PATH "${_comp}" _comp)
-        set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
-      endif()
-    endif()
-  elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
-    set(id_lang "${lang}")
-    set(id_type ${CMAKE_${lang}_COMPILER_XCODE_TYPE})
-    set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
-    set(id_src "${src}")
-    if(CMAKE_XCODE_PLATFORM_TOOLSET)
-      set(id_toolset "GCC_VERSION = ${CMAKE_XCODE_PLATFORM_TOOLSET};")
-    else()
-      set(id_toolset "")
-    endif()
-    if(CMAKE_OSX_DEPLOYMENT_TARGET)
-      set(id_deployment_target
-        "MACOSX_DEPLOYMENT_TARGET = \"${CMAKE_OSX_DEPLOYMENT_TARGET}\";")
-    else()
-      set(id_deployment_target "")
-    endif()
-    set(id_product_type "com.apple.product-type.tool")
-    if(CMAKE_OSX_SYSROOT)
-      set(id_sdkroot "SDKROOT = \"${CMAKE_OSX_SYSROOT}\";")
-      if(CMAKE_OSX_SYSROOT MATCHES "(^|/)[Ii][Pp][Hh][Oo][Nn][Ee]")
-        set(id_product_type "com.apple.product-type.bundle.unit-test")
-      endif()
-    else()
-      set(id_sdkroot "")
-    endif()
-    if(NOT ${XCODE_VERSION} VERSION_LESS 3)
-      set(v 3)
-      set(ext xcodeproj)
-    elseif(NOT ${XCODE_VERSION} VERSION_LESS 2)
-      set(v 2)
-      set(ext xcodeproj)
-    else()
-      set(v 1)
-      set(ext xcode)
-    endif()
-    configure_file(${CMAKE_ROOT}/Modules/CompilerId/Xcode-${v}.pbxproj.in
-      ${id_dir}/CompilerId${lang}.${ext}/project.pbxproj @ONLY)
-    unset(_ENV_MACOSX_DEPLOYMENT_TARGET)
-    if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
-      set(_ENV_MACOSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}")
-      set(ENV{MACOSX_DEPLOYMENT_TARGET} "")
-    endif()
-    execute_process(COMMAND xcodebuild
-      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
-      OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-      ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-      RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
-      )
-    if(DEFINED _ENV_MACOSX_DEPLOYMENT_TARGET)
-      set(ENV{MACOSX_DEPLOYMENT_TARGET} "${_ENV_MACOSX_DEPLOYMENT_TARGET}")
-    endif()
-
-    if(DEFINED CMAKE_${lang}_COMPILER_ID_TOOL_MATCH_REGEX)
-      if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "${CMAKE_${lang}_COMPILER_ID_TOOL_MATCH_REGEX}")
-        set(_comp "${CMAKE_MATCH_${CMAKE_${lang}_COMPILER_ID_TOOL_MATCH_INDEX}}")
-        if(EXISTS "${_comp}")
-          set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
-        endif()
-      endif()
-    endif()
-  else()
-    execute_process(
-      COMMAND "${CMAKE_${lang}_COMPILER}"
-              ${CMAKE_${lang}_COMPILER_ID_ARG1}
-              ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
-              ${testflags}
-              "${src}"
-      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
-      OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-      ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-      RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
-      )
-  endif()
-
-  # Check the result of compilation.
-  if(CMAKE_${lang}_COMPILER_ID_RESULT
-     # Intel Fortran warns and ignores preprocessor lines without /fpp
-     OR CMAKE_${lang}_COMPILER_ID_OUTPUT MATCHES "Bad # preprocessor line"
-     )
-    # Compilation failed.
-    set(MSG
-      "Compiling the ${lang} compiler identification source file \"${src}\" failed.
-${COMPILER_DESCRIPTION}
-The output was:
-${CMAKE_${lang}_COMPILER_ID_RESULT}
-${CMAKE_${lang}_COMPILER_ID_OUTPUT}
-
-")
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${MSG}")
-    #if(NOT CMAKE_${lang}_COMPILER_ID_ALLOW_FAIL)
-    #  message(FATAL_ERROR "${MSG}")
-    #endif()
-
-    # No output files should be inspected.
-    set(COMPILER_${lang}_PRODUCED_FILES)
-    set(COMPILER_${lang}_PRODUCED_OUTPUT)
-  else()
-    # Compilation succeeded.
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-      "Compiling the ${lang} compiler identification source file \"${src}\" succeeded.
-${COMPILER_DESCRIPTION}
-The output was:
-${CMAKE_${lang}_COMPILER_ID_RESULT}
-${CMAKE_${lang}_COMPILER_ID_OUTPUT}
-
-")
-
-    # Find the executable produced by the compiler, try all files in the
-    # binary dir.
-    file(GLOB files
-      RELATIVE ${CMAKE_${lang}_COMPILER_ID_DIR}
-
-      # normal case
-      ${CMAKE_${lang}_COMPILER_ID_DIR}/*
-
-      # com.apple.package-type.bundle.unit-test
-      ${CMAKE_${lang}_COMPILER_ID_DIR}/*.xctest/*
-      )
-    list(REMOVE_ITEM files "${src}")
-    set(COMPILER_${lang}_PRODUCED_FILES "")
-    foreach(file ${files})
-      if(NOT IS_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}/${file})
-        list(APPEND COMPILER_${lang}_PRODUCED_FILES ${file})
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-          "Compilation of the ${lang} compiler identification source \""
-          "${src}\" produced \"${file}\"\n\n")
-      endif()
-    endforeach()
-
-    if(NOT COMPILER_${lang}_PRODUCED_FILES)
-      # No executable was found.
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Compilation of the ${lang} compiler identification source \""
-        "${src}\" did not produce an executable in \""
-        "${CMAKE_${lang}_COMPILER_ID_DIR}\".\n\n")
-    endif()
-
-    set(COMPILER_${lang}_PRODUCED_OUTPUT "${CMAKE_${lang}_COMPILER_ID_OUTPUT}")
-  endif()
-
-  # Return the files produced by the compilation.
-  set(COMPILER_${lang}_PRODUCED_FILES "${COMPILER_${lang}_PRODUCED_FILES}" PARENT_SCOPE)
-  set(COMPILER_${lang}_PRODUCED_OUTPUT "${COMPILER_${lang}_PRODUCED_OUTPUT}" PARENT_SCOPE)
-endfunction()
-
-#-----------------------------------------------------------------------------
-# Function to extract the compiler id from compiler output.
-function(CMAKE_DETERMINE_COMPILER_ID_MATCH_VENDOR lang output)
-  foreach(vendor ${CMAKE_${lang}_COMPILER_ID_MATCH_VENDORS})
-    if(output MATCHES "${CMAKE_${lang}_COMPILER_ID_MATCH_VENDOR_REGEX_${vendor}}")
-      set(CMAKE_${lang}_COMPILER_ID "${vendor}")
-    endif()
-  endforeach()
-  set(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
-endfunction()
-
-#-----------------------------------------------------------------------------
-# Function to extract the compiler id from an executable.
-function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
-  # Look for a compiler id if not yet known.
-  if(NOT CMAKE_${lang}_COMPILER_ID)
-    # Read the compiler identification string from the executable file.
-    set(COMPILER_ID)
-    set(COMPILER_VERSION)
-    set(COMPILER_VERSION_MAJOR 0)
-    set(COMPILER_VERSION_MINOR 0)
-    set(COMPILER_VERSION_PATCH 0)
-    set(COMPILER_VERSION_TWEAK 0)
-    set(HAVE_COMPILER_VERSION_MAJOR 0)
-    set(HAVE_COMPILER_VERSION_MINOR 0)
-    set(HAVE_COMPILER_VERSION_PATCH 0)
-    set(HAVE_COMPILER_VERSION_TWEAK 0)
-    set(COMPILER_WRAPPER)
-    set(DIGIT_VALUE_1 1)
-    set(DIGIT_VALUE_2 10)
-    set(DIGIT_VALUE_3 100)
-    set(DIGIT_VALUE_4 1000)
-    set(DIGIT_VALUE_5 10000)
-    set(DIGIT_VALUE_6 100000)
-    set(DIGIT_VALUE_7 1000000)
-    set(DIGIT_VALUE_8 10000000)
-    set(PLATFORM_ID)
-    set(ARCHITECTURE_ID)
-    set(SIMULATE_ID)
-    set(SIMULATE_VERSION)
-    file(STRINGS ${file}
-      CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 38 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
-    set(COMPILER_ID_TWICE)
-    foreach(info ${CMAKE_${lang}_COMPILER_ID_STRINGS})
-      if("${info}" MATCHES "INFO:compiler\\[([^]\"]*)\\]")
-        if(COMPILER_ID)
-          set(COMPILER_ID_TWICE 1)
-        endif()
-        set(COMPILER_ID "${CMAKE_MATCH_1}")
-      endif()
-      if("${info}" MATCHES "INFO:platform\\[([^]\"]*)\\]")
-        set(PLATFORM_ID "${CMAKE_MATCH_1}")
-      endif()
-      if("${info}" MATCHES "INFO:arch\\[([^]\"]*)\\]")
-        set(ARCHITECTURE_ID "${CMAKE_MATCH_1}")
-      endif()
-      if("${info}" MATCHES "INFO:compiler_version\\[([^]\"]*)\\]")
-        string(REGEX REPLACE "^0+([0-9])" "\\1" COMPILER_VERSION "${CMAKE_MATCH_1}")
-        string(REGEX REPLACE "\\.0+([0-9])" ".\\1" COMPILER_VERSION "${COMPILER_VERSION}")
-      endif()
-      foreach(comp MAJOR MINOR PATCH TWEAK)
-        foreach(digit 1 2 3 4 5 6 7 8 9)
-          if("${info}" MATCHES "INFO:compiler_version_${comp}_digit_${digit}\\[([0-9])\\]")
-            set(value ${CMAKE_MATCH_1})
-            math(EXPR COMPILER_VERSION_${comp} "${COMPILER_VERSION_${comp}} + ${value} * ${DIGIT_VALUE_${digit}}")
-            set(HAVE_COMPILER_VERSION_${comp} 1)
-          endif()
-        endforeach()
-      endforeach()
-      if("${info}" MATCHES "INFO:compiler_wrapper\\[([^]\"]*)\\]")
-        set(COMPILER_WRAPPER "${CMAKE_MATCH_1}")
-      endif()
-      if("${info}" MATCHES "INFO:simulate\\[([^]\"]*)\\]")
-        set(SIMULATE_ID "${CMAKE_MATCH_1}")
-      endif()
-      if("${info}" MATCHES "INFO:simulate_version\\[([^]\"]*)\\]")
-        string(REGEX REPLACE "^0+([0-9])" "\\1" SIMULATE_VERSION "${CMAKE_MATCH_1}")
-        string(REGEX REPLACE "\\.0+([0-9])" ".\\1" SIMULATE_VERSION "${SIMULATE_VERSION}")
-      endif()
-      if("${info}" MATCHES "INFO:qnxnto\\[\\]")
-        set(COMPILER_QNXNTO 1)
-      endif()
-      if("${info}" MATCHES "INFO:dialect_default\\[([^]\"]*)\\]")
-        set(CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT "${CMAKE_MATCH_1}")
-      endif()
-    endforeach()
-
-    # Construct compiler version from components if needed.
-    if(NOT DEFINED COMPILER_VERSION AND HAVE_COMPILER_VERSION_MAJOR)
-      set(COMPILER_VERSION "${COMPILER_VERSION_MAJOR}")
-      if(HAVE_COMPILER_VERSION_MINOR)
-        set(COMPILER_VERSION "${COMPILER_VERSION}.${COMPILER_VERSION_MINOR}")
-        if(HAVE_COMPILER_VERSION_PATCH)
-          set(COMPILER_VERSION "${COMPILER_VERSION}.${COMPILER_VERSION_PATCH}")
-          if(HAVE_COMPILER_VERSION_TWEAK)
-            set(COMPILER_VERSION "${COMPILER_VERSION}.${COMPILER_VERSION_TWEAK}")
-          endif()
-        endif()
-      endif()
-    endif()
-
-    # Detect the exact architecture from the PE header.
-    if(WIN32)
-      # The offset to the PE signature is stored at 0x3c.
-      file(READ ${file} peoffsethex LIMIT 1 OFFSET 60 HEX)
-      string(SUBSTRING "${peoffsethex}" 0 1 peoffsethex1)
-      string(SUBSTRING "${peoffsethex}" 1 1 peoffsethex2)
-      set(peoffsetexpression "${peoffsethex1} * 16 + ${peoffsethex2}")
-      string(REPLACE "a" "10" peoffsetexpression "${peoffsetexpression}")
-      string(REPLACE "b" "11" peoffsetexpression "${peoffsetexpression}")
-      string(REPLACE "c" "12" peoffsetexpression "${peoffsetexpression}")
-      string(REPLACE "d" "13" peoffsetexpression "${peoffsetexpression}")
-      string(REPLACE "e" "14" peoffsetexpression "${peoffsetexpression}")
-      string(REPLACE "f" "15" peoffsetexpression "${peoffsetexpression}")
-      math(EXPR peoffset "${peoffsetexpression}")
-
-      file(READ ${file} peheader LIMIT 6 OFFSET ${peoffset} HEX)
-      if(peheader STREQUAL "50450000a201")
-        set(ARCHITECTURE_ID "SH3")
-      elseif(peheader STREQUAL "50450000a301")
-        set(ARCHITECTURE_ID "SH3DSP")
-      elseif(peheader STREQUAL "50450000a601")
-        set(ARCHITECTURE_ID "SH4")
-      elseif(peheader STREQUAL "50450000a801")
-        set(ARCHITECTURE_ID "SH5")
-      endif()
-    endif()
-
-    # Check if a valid compiler and platform were found.
-    if(COMPILER_ID AND NOT COMPILER_ID_TWICE)
-      set(CMAKE_${lang}_COMPILER_ID "${COMPILER_ID}")
-      set(CMAKE_${lang}_PLATFORM_ID "${PLATFORM_ID}")
-      set(MSVC_${lang}_ARCHITECTURE_ID "${ARCHITECTURE_ID}")
-      set(CMAKE_${lang}_COMPILER_VERSION "${COMPILER_VERSION}")
-      set(CMAKE_${lang}_SIMULATE_ID "${SIMULATE_ID}")
-      set(CMAKE_${lang}_SIMULATE_VERSION "${SIMULATE_VERSION}")
-    endif()
-
-    # Check the compiler identification string.
-    if(CMAKE_${lang}_COMPILER_ID)
-      # The compiler identification was found.
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "The ${lang} compiler identification is ${CMAKE_${lang}_COMPILER_ID}, found in \""
-        "${file}\"\n\n")
-    else()
-      # The compiler identification could not be found.
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "The ${lang} compiler identification could not be found in \""
-        "${file}\"\n\n")
-    endif()
-  endif()
-
-  # try to figure out the executable format: ELF, COFF, Mach-O
-  if(NOT CMAKE_EXECUTABLE_FORMAT)
-    file(READ ${file} CMAKE_EXECUTABLE_MAGIC LIMIT 4 HEX)
-
-    # ELF files start with 0x7f"ELF"
-    if("${CMAKE_EXECUTABLE_MAGIC}" STREQUAL "7f454c46")
-      set(CMAKE_EXECUTABLE_FORMAT "ELF" CACHE INTERNAL "Executable file format")
-    endif()
-
-#    # COFF (.exe) files start with "MZ"
-#    if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "4d5a....")
-#      set(CMAKE_EXECUTABLE_FORMAT "COFF" CACHE STRING "Executable file format")
-#    endif()
-#
-#    # Mach-O files start with CAFEBABE or FEEDFACE, according to http://radio.weblogs.com/0100490/2003/01/28.html
-#    if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "cafebabe")
-#      set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
-#    endif()
-#    if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface")
-#      set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
-#    endif()
-
-  endif()
-  if(NOT DEFINED CMAKE_EXECUTABLE_FORMAT)
-    set(CMAKE_EXECUTABLE_FORMAT)
-  endif()
-  # Return the information extracted.
-  set(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
-  set(CMAKE_${lang}_PLATFORM_ID "${CMAKE_${lang}_PLATFORM_ID}" PARENT_SCOPE)
-  set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
-    PARENT_SCOPE)
-  set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
-  set(CMAKE_${lang}_COMPILER_WRAPPER "${COMPILER_WRAPPER}" PARENT_SCOPE)
-  set(CMAKE_${lang}_SIMULATE_ID "${CMAKE_${lang}_SIMULATE_ID}" PARENT_SCOPE)
-  set(CMAKE_${lang}_SIMULATE_VERSION "${CMAKE_${lang}_SIMULATE_VERSION}" PARENT_SCOPE)
-  set(CMAKE_EXECUTABLE_FORMAT "${CMAKE_EXECUTABLE_FORMAT}" PARENT_SCOPE)
-  set(COMPILER_QNXNTO "${COMPILER_QNXNTO}" PARENT_SCOPE)
-  set(CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT "${CMAKE_${lang}_STANDARD_COMPUTED_DEFAULT}" PARENT_SCOPE)
-endfunction()
-
-#-----------------------------------------------------------------------------
-# Function to query the compiler vendor.
-# This uses a table with entries of the form
-#   list(APPEND CMAKE_${lang}_COMPILER_ID_VENDORS ${vendor})
-#   set(CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor} -some-vendor-flag)
-#   set(CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor} "Some Vendor Output")
-# We try running the compiler with the flag for each vendor and
-# matching its regular expression in the output.
-function(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang)
-
-  if(NOT CMAKE_${lang}_COMPILER_ID_DIR)
-    # We get here when this function is called not from within CMAKE_DETERMINE_COMPILER_ID()
-    # This is done e.g. for detecting the compiler ID for assemblers.
-    # Compute the directory in which to run the test and Create a clean working directory.
-    set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})
-    file(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
-    file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
-  endif()
-
-
-  foreach(vendor ${CMAKE_${lang}_COMPILER_ID_VENDORS})
-    set(flags ${CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor}})
-    set(regex ${CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor}})
-    execute_process(
-      COMMAND "${CMAKE_${lang}_COMPILER}"
-      ${CMAKE_${lang}_COMPILER_ID_ARG1}
-      ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
-      ${flags}
-      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
-      OUTPUT_VARIABLE output ERROR_VARIABLE output
-      RESULT_VARIABLE result
-      TIMEOUT 10
-      )
-
-    if("${output}" MATCHES "${regex}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
-        "matched \"${regex}\":\n${output}")
-      set(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
-      break()
-    else()
-      if("${result}" MATCHES  "timeout")
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-          "Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
-          "terminated after 10 s due to timeout.")
-      else()
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-          "Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
-          "did not match \"${regex}\":\n${output}")
-       endif()
-    endif()
-  endforeach()
-endfunction()
-
-function(CMAKE_DETERMINE_MSVC_SHOWINCLUDES_PREFIX lang)
-  # Run this MSVC-compatible compiler to detect what the /showIncludes
-  # option displays.  We can use a C source even with the C++ compiler
-  # because MSVC-compatible compilers handle both and show the same output.
-  set(showdir ${CMAKE_BINARY_DIR}/CMakeFiles/ShowIncludes)
-  file(WRITE ${showdir}/foo.h "\n")
-  file(WRITE ${showdir}/main.c "#include \"foo.h\" \nint main(){}\n")
-  execute_process(
-    COMMAND "${CMAKE_${lang}_COMPILER}"
-            ${CMAKE_${lang}_COMPILER_ID_ARG1}
-            ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
-            /nologo /showIncludes /c main.c
-    WORKING_DIRECTORY ${showdir}
-    OUTPUT_VARIABLE out
-    ERROR_VARIABLE err
-    RESULT_VARIABLE res
-    )
-  if(res EQUAL 0 AND "${out}" MATCHES "(^|\n)([^:\n]*:[^:\n]*:[ \t]*)")
-    set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "${CMAKE_MATCH_2}" PARENT_SCOPE)
-  else()
-    set(CMAKE_${lang}_CL_SHOWINCLUDES_PREFIX "" PARENT_SCOPE)
-  endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeDetermineFortranCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineFortranCompiler.cmake
deleted file mode 100644
index 4f2a70c..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineFortranCompiler.cmake
+++ /dev/null
@@ -1,277 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for Fortran programs
-# NOTE, a generator may set CMAKE_Fortran_COMPILER before
-# loading this file to force a compiler.
-# use environment variable FC first if defined by user, next use
-# the cmake variable CMAKE_GENERATOR_FC which can be defined by a generator
-# as a default compiler
-
-include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
-include(Platform/${CMAKE_SYSTEM_NAME}-Fortran OPTIONAL)
-if(NOT CMAKE_Fortran_COMPILER_NAMES)
-  set(CMAKE_Fortran_COMPILER_NAMES f95)
-endif()
-
-if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
-  set(CMAKE_Fortran_COMPILER_XCODE_TYPE sourcecode.fortran.f90)
-  _cmake_find_compiler_path(Fortran)
-else()
-  if(NOT CMAKE_Fortran_COMPILER)
-    # prefer the environment variable CC
-    if(NOT $ENV{FC} STREQUAL "")
-      get_filename_component(CMAKE_Fortran_COMPILER_INIT $ENV{FC} PROGRAM PROGRAM_ARGS CMAKE_Fortran_FLAGS_ENV_INIT)
-      if(CMAKE_Fortran_FLAGS_ENV_INIT)
-        set(CMAKE_Fortran_COMPILER_ARG1 "${CMAKE_Fortran_FLAGS_ENV_INIT}" CACHE STRING "First argument to Fortran compiler")
-      endif()
-      if(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
-      else()
-        message(FATAL_ERROR "Could not find compiler set in environment variable FC:\n$ENV{FC}.")
-      endif()
-    endif()
-
-    # next try prefer the compiler specified by the generator
-    if(CMAKE_GENERATOR_FC)
-      if(NOT CMAKE_Fortran_COMPILER_INIT)
-        set(CMAKE_Fortran_COMPILER_INIT ${CMAKE_GENERATOR_FC})
-      endif()
-    endif()
-
-    # finally list compilers to try
-    if(NOT CMAKE_Fortran_COMPILER_INIT)
-      # Known compilers:
-      #  f77/f90/f95: generic compiler names
-      #  ftn: Cray fortran compiler wrapper
-      #  g77: GNU Fortran 77 compiler
-      #  gfortran: putative GNU Fortran 95+ compiler (in progress)
-      #  fort77: native F77 compiler under HP-UX (and some older Crays)
-      #  frt: Fujitsu F77 compiler
-      #  pathf90/pathf95/pathf2003: PathScale Fortran compiler
-      #  pgf77/pgf90/pgf95/pgfortran: Portland Group F77/F90/F95 compilers
-      #  xlf/xlf90/xlf95: IBM (AIX) F77/F90/F95 compilers
-      #  lf95: Lahey-Fujitsu F95 compiler
-      #  fl32: Microsoft Fortran 77 "PowerStation" compiler
-      #  af77: Apogee F77 compiler for Intergraph hardware running CLIX
-      #  epcf90: "Edinburgh Portable Compiler" F90
-      #  fort: Compaq (now HP) Fortran 90/95 compiler for Tru64 and Linux/Alpha
-      #  ifc: Intel Fortran 95 compiler for Linux/x86
-      #  efc: Intel Fortran 95 compiler for IA64
-      #
-      #  The order is 95 or newer compilers first, then 90,
-      #  then 77 or older compilers, gnu is always last in the group,
-      #  so if you paid for a compiler it is picked by default.
-      set(CMAKE_Fortran_COMPILER_LIST
-        ftn
-        ifort ifc af95 af90 efc f95 pathf2003 pathf95 pgf95 pgfortran lf95 xlf95
-        fort gfortran gfortran-4 g95 f90 pathf90 pgf90 xlf90 epcf90 fort77
-        frt pgf77 xlf fl32 af77 g77 f77
-        )
-
-      # Vendor-specific compiler names.
-      set(_Fortran_COMPILER_NAMES_GNU       gfortran gfortran-4 g95 g77)
-      set(_Fortran_COMPILER_NAMES_Intel     ifort ifc efc)
-      set(_Fortran_COMPILER_NAMES_Absoft    af95 af90 af77)
-      set(_Fortran_COMPILER_NAMES_PGI       pgf95 pgfortran pgf90 pgf77)
-      set(_Fortran_COMPILER_NAMES_PathScale pathf2003 pathf95 pathf90)
-      set(_Fortran_COMPILER_NAMES_XL        xlf)
-      set(_Fortran_COMPILER_NAMES_VisualAge xlf95 xlf90 xlf)
-    endif()
-
-    _cmake_find_compiler(Fortran)
-
-  else()
-    _cmake_find_compiler_path(Fortran)
-  endif()
-  mark_as_advanced(CMAKE_Fortran_COMPILER)
-
-  # Each entry in this list is a set of extra flags to try
-  # adding to the compile line to see if it helps produce
-  # a valid identification executable.
-  set(CMAKE_Fortran_COMPILER_ID_TEST_FLAGS_FIRST
-    # Get verbose output to help distinguish compilers.
-    "-v"
-    )
-  set(CMAKE_Fortran_COMPILER_ID_TEST_FLAGS
-    # Try compiling to an object file only.
-    "-c"
-
-    # Intel on windows does not preprocess by default.
-    "-fpp"
-    )
-endif()
-
-# Build a small source file to identify the compiler.
-if(NOT CMAKE_Fortran_COMPILER_ID_RUN)
-  set(CMAKE_Fortran_COMPILER_ID_RUN 1)
-
-  # Table of per-vendor compiler output regular expressions.
-  list(APPEND CMAKE_Fortran_COMPILER_ID_MATCH_VENDORS CCur)
-  set(CMAKE_Fortran_COMPILER_ID_MATCH_VENDOR_REGEX_CCur "Concurrent Fortran [0-9]+ Compiler")
-
-  # Table of per-vendor compiler id flags with expected output.
-  list(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS Compaq)
-  set(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_Compaq "-what")
-  set(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_Compaq "Compaq Visual Fortran")
-  list(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS NAG) # Numerical Algorithms Group
-  set(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_NAG "-V")
-  set(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_NAG "NAG Fortran Compiler")
-
-  # Match the link line from xcodebuild output of the form
-  #  Ld ...
-  #      ...
-  #      /path/to/cc ...CompilerIdFortran/...
-  # to extract the compiler front-end for the language.
-  set(CMAKE_Fortran_COMPILER_ID_TOOL_MATCH_REGEX "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerIdFortran/(\\./)?(CompilerIdFortran.xctest/)?CompilerIdFortran[ \t\n\\\"]")
-  set(CMAKE_Fortran_COMPILER_ID_TOOL_MATCH_INDEX 2)
-
-  set(_version_info "")
-  foreach(m MAJOR MINOR PATCH TWEAK)
-    set(_COMP "_${m}")
-    set(_version_info "${_version_info}
-#if defined(COMPILER_VERSION${_COMP})")
-    foreach(d 1 2 3 4 5 6 7 8)
-      set(_version_info "${_version_info}
-# undef DEC
-# undef HEX
-# define DEC(n) DEC_${d}(n)
-# define HEX(n) HEX_${d}(n)
-# if COMPILER_VERSION${_COMP} == 0
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[0]'
-# elif COMPILER_VERSION${_COMP} == 1
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[1]'
-# elif COMPILER_VERSION${_COMP} == 2
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[2]'
-# elif COMPILER_VERSION${_COMP} == 3
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[3]'
-# elif COMPILER_VERSION${_COMP} == 4
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[4]'
-# elif COMPILER_VERSION${_COMP} == 5
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[5]'
-# elif COMPILER_VERSION${_COMP} == 6
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[6]'
-# elif COMPILER_VERSION${_COMP} == 7
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[7]'
-# elif COMPILER_VERSION${_COMP} == 8
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[8]'
-# elif COMPILER_VERSION${_COMP} == 9
-        PRINT *, 'INFO:compiler_version${_COMP}_digit_${d}[9]'
-# endif
-")
-    endforeach()
-    set(_version_info "${_version_info}
-#endif")
-  endforeach()
-  set(CMAKE_Fortran_COMPILER_ID_VERSION_INFO "${_version_info}")
-  unset(_version_info)
-  unset(_COMP)
-
-  # Try to identify the compiler.
-  set(CMAKE_Fortran_COMPILER_ID)
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
-  CMAKE_DETERMINE_COMPILER_ID(Fortran FFLAGS CMakeFortranCompilerId.F)
-
-  # Fall back to old is-GNU test.
-  if(NOT CMAKE_Fortran_COMPILER_ID)
-    execute_process(COMMAND ${CMAKE_Fortran_COMPILER} ${CMAKE_Fortran_COMPILER_ID_FLAGS_LIST} -E "${CMAKE_ROOT}/Modules/CMakeTestGNU.c"
-      OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RESULT_VARIABLE CMAKE_COMPILER_RETURN)
-    if(NOT CMAKE_COMPILER_RETURN)
-      if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_GNU")
-        set(CMAKE_Fortran_COMPILER_ID "GNU")
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-          "Determining if the Fortran compiler is GNU succeeded with "
-          "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
-      else()
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-          "Determining if the Fortran compiler is GNU failed with "
-          "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
-      endif()
-      if(NOT CMAKE_Fortran_PLATFORM_ID)
-        if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_MINGW")
-          set(CMAKE_Fortran_PLATFORM_ID "MinGW")
-        endif()
-        if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_CYGWIN")
-          set(CMAKE_Fortran_PLATFORM_ID "Cygwin")
-        endif()
-      endif()
-    endif()
-  endif()
-
-  # Fall back for GNU MINGW, which is not always detected correctly
-  # (__MINGW32__ is defined for the C language, but perhaps not for Fortran!)
-  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU" AND NOT CMAKE_Fortran_PLATFORM_ID)
-    execute_process(COMMAND ${CMAKE_Fortran_COMPILER} ${CMAKE_Fortran_COMPILER_ID_FLAGS_LIST} -E "${CMAKE_ROOT}/Modules/CMakeTestGNU.c"
-      OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RESULT_VARIABLE CMAKE_COMPILER_RETURN)
-    if(NOT CMAKE_COMPILER_RETURN)
-      if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_MINGW")
-        set(CMAKE_Fortran_PLATFORM_ID "MinGW")
-      endif()
-      if(CMAKE_COMPILER_OUTPUT MATCHES "THIS_IS_CYGWIN")
-        set(CMAKE_Fortran_PLATFORM_ID "Cygwin")
-      endif()
-    endif()
-  endif()
-
-  # Set old compiler and platform id variables.
-  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
-    set(CMAKE_COMPILER_IS_GNUG77 1)
-  endif()
-  if(CMAKE_Fortran_PLATFORM_ID MATCHES "MinGW")
-    set(CMAKE_COMPILER_IS_MINGW 1)
-  elseif(CMAKE_Fortran_PLATFORM_ID MATCHES "Cygwin")
-    set(CMAKE_COMPILER_IS_CYGWIN 1)
-  endif()
-endif()
-
-if (NOT _CMAKE_TOOLCHAIN_LOCATION)
-  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_Fortran_COMPILER}" PATH)
-endif ()
-
-# if we have a fortran cross compiler, they have usually some prefix, like
-# e.g. powerpc-linux-gfortran, arm-elf-gfortran or i586-mingw32msvc-gfortran , optionally
-# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
-# The other tools of the toolchain usually have the same prefix
-# NAME_WE cannot be used since then this test will fail for names like
-# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
-# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
-if (CMAKE_CROSSCOMPILING  AND NOT _CMAKE_TOOLCHAIN_PREFIX)
-
-  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
-    get_filename_component(COMPILER_BASENAME "${CMAKE_Fortran_COMPILER}" NAME)
-    if (COMPILER_BASENAME MATCHES "^(.+-)g?fortran(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-    endif ()
-
-    # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
-    # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
-    if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
-      set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
-    endif ()
-  endif()
-
-endif ()
-
-include(CMakeFindBinUtils)
-
-if(MSVC_Fortran_ARCHITECTURE_ID)
-  set(SET_MSVC_Fortran_ARCHITECTURE_ID
-    "set(MSVC_Fortran_ARCHITECTURE_ID ${MSVC_Fortran_ARCHITECTURE_ID})")
-endif()
-# configure variables set in this file for fast reload later on
-configure_file(${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
-  ${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
-  @ONLY
-  )
-set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
diff --git a/share/cmake-3.6/Modules/CMakeDetermineJavaCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineJavaCompiler.cmake
deleted file mode 100644
index f657801..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineJavaCompiler.cmake
+++ /dev/null
@@ -1,104 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for Java programs
-# NOTE, a generator may set CMAKE_Java_COMPILER before
-# loading this file to force a compiler.
-
-if(NOT CMAKE_Java_COMPILER)
-  # prefer the environment variable CC
-  if(NOT $ENV{JAVA_COMPILER} STREQUAL "")
-    get_filename_component(CMAKE_Java_COMPILER_INIT $ENV{JAVA_COMPILER} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
-    if(CMAKE_Java_FLAGS_ENV_INIT)
-      set(CMAKE_Java_COMPILER_ARG1 "${CMAKE_Java_FLAGS_ENV_INIT}" CACHE STRING "First argument to Java compiler")
-    endif()
-    if(NOT EXISTS ${CMAKE_Java_COMPILER_INIT})
-      message(SEND_ERROR "Could not find compiler set in environment variable JAVA_COMPILER:\n$ENV{JAVA_COMPILER}.")
-    endif()
-  endif()
-
-  if(NOT $ENV{JAVA_RUNTIME} STREQUAL "")
-    get_filename_component(CMAKE_Java_RUNTIME_INIT $ENV{JAVA_RUNTIME} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
-    if(NOT EXISTS ${CMAKE_Java_RUNTIME_INIT})
-      message(SEND_ERROR "Could not find compiler set in environment variable JAVA_RUNTIME:\n$ENV{JAVA_RUNTIME}.")
-    endif()
-  endif()
-
-  if(NOT $ENV{JAVA_ARCHIVE} STREQUAL "")
-    get_filename_component(CMAKE_Java_ARCHIVE_INIT $ENV{JAVA_ARCHIVE} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
-    if(NOT EXISTS ${CMAKE_Java_ARCHIVE_INIT})
-      message(SEND_ERROR "Could not find compiler set in environment variable JAVA_ARCHIVE:\n$ENV{JAVA_ARCHIVE}.")
-    endif()
-  endif()
-
-  set(Java_BIN_PATH
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
-    $ENV{JAVA_HOME}/bin
-    /usr/bin
-    /usr/lib/java/bin
-    /usr/share/java/bin
-    /usr/local/bin
-    /usr/local/java/bin
-    /usr/local/java/share/bin
-    /usr/java/j2sdk1.4.2_04
-    /usr/lib/j2sdk1.4-sun/bin
-    /usr/java/j2sdk1.4.2_09/bin
-    /usr/lib/j2sdk1.5-sun/bin
-    /opt/sun-jdk-1.5.0.04/bin
-    /usr/local/jdk-1.7.0/bin
-    /usr/local/jdk-1.6.0/bin
-    )
-  # if no compiler has been specified yet, then look for one
-  if(CMAKE_Java_COMPILER_INIT)
-    set(CMAKE_Java_COMPILER ${CMAKE_Java_COMPILER_INIT} CACHE PATH "Java Compiler")
-  else()
-    find_program(CMAKE_Java_COMPILER
-      NAMES javac
-      PATHS ${Java_BIN_PATH}
-    )
-  endif()
-
-  # if no runtime has been specified yet, then look for one
-  if(CMAKE_Java_RUNTIME_INIT)
-    set(CMAKE_Java_RUNTIME ${CMAKE_Java_RUNTIME_INIT} CACHE PATH "Java Compiler")
-  else()
-    find_program(CMAKE_Java_RUNTIME
-      NAMES java
-      PATHS ${Java_BIN_PATH}
-    )
-  endif()
-
-  # if no archive has been specified yet, then look for one
-  if(CMAKE_Java_ARCHIVE_INIT)
-    set(CMAKE_Java_ARCHIVE ${CMAKE_Java_ARCHIVE_INIT} CACHE PATH "Java Compiler")
-  else()
-    find_program(CMAKE_Java_ARCHIVE
-      NAMES jar
-      PATHS ${Java_BIN_PATH}
-    )
-  endif()
-endif()
-mark_as_advanced(CMAKE_Java_COMPILER)
-
-# configure variables set in this file for fast reload later on
-configure_file(${CMAKE_ROOT}/Modules/CMakeJavaCompiler.cmake.in
-  ${CMAKE_PLATFORM_INFO_DIR}/CMakeJavaCompiler.cmake @ONLY)
-set(CMAKE_Java_COMPILER_ENV_VAR "JAVA_COMPILER")
diff --git a/share/cmake-3.6/Modules/CMakeDetermineRCCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineRCCompiler.cmake
deleted file mode 100644
index e5414eb..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineRCCompiler.cmake
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# determine the compiler to use for RC programs
-# NOTE, a generator may set CMAKE_RC_COMPILER before
-# loading this file to force a compiler.
-# use environment variable RC first if defined by user, next use
-# the cmake variable CMAKE_GENERATOR_RC which can be defined by a generator
-# as a default compiler
-if(NOT CMAKE_RC_COMPILER)
-  # prefer the environment variable RC
-  if(NOT $ENV{RC} STREQUAL "")
-    get_filename_component(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
-    if(CMAKE_RC_FLAGS_ENV_INIT)
-      set(CMAKE_RC_COMPILER_ARG1 "${CMAKE_RC_FLAGS_ENV_INIT}" CACHE STRING "First argument to RC compiler")
-    endif()
-    if(EXISTS ${CMAKE_RC_COMPILER_INIT})
-    else()
-      message(FATAL_ERROR "Could not find compiler set in environment variable RC:\n$ENV{RC}.")
-    endif()
-  endif()
-
-  # next try prefer the compiler specified by the generator
-  if(CMAKE_GENERATOR_RC)
-    if(NOT CMAKE_RC_COMPILER_INIT)
-      set(CMAKE_RC_COMPILER_INIT ${CMAKE_GENERATOR_RC})
-    endif()
-  endif()
-
-  # finally list compilers to try
-  if(CMAKE_RC_COMPILER_INIT)
-    set(CMAKE_RC_COMPILER_LIST ${CMAKE_RC_COMPILER_INIT})
-  else()
-    set(CMAKE_RC_COMPILER_LIST rc)
-  endif()
-
-  # Find the compiler.
-  find_program(CMAKE_RC_COMPILER NAMES ${CMAKE_RC_COMPILER_LIST} DOC "RC compiler")
-  if(CMAKE_RC_COMPILER_INIT AND NOT CMAKE_RC_COMPILER)
-    set(CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER_INIT}" CACHE FILEPATH "RC compiler" FORCE)
-  endif()
-endif()
-
-mark_as_advanced(CMAKE_RC_COMPILER)
-
-get_filename_component(_CMAKE_RC_COMPILER_NAME_WE ${CMAKE_RC_COMPILER} NAME_WE)
-if(_CMAKE_RC_COMPILER_NAME_WE STREQUAL "windres")
-  set(CMAKE_RC_OUTPUT_EXTENSION .obj)
-else()
-  set(CMAKE_RC_OUTPUT_EXTENSION .res)
-endif()
-
-# configure variables set in this file for fast reload later on
-configure_file(${CMAKE_ROOT}/Modules/CMakeRCCompiler.cmake.in
-               ${CMAKE_PLATFORM_INFO_DIR}/CMakeRCCompiler.cmake)
-set(CMAKE_RC_COMPILER_ENV_VAR "RC")
diff --git a/share/cmake-3.6/Modules/CMakeDetermineSwiftCompiler.cmake b/share/cmake-3.6/Modules/CMakeDetermineSwiftCompiler.cmake
deleted file mode 100644
index bff1ae9..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineSwiftCompiler.cmake
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
-
-if("${CMAKE_GENERATOR}" STREQUAL "Xcode")
-  if(XCODE_VERSION VERSION_LESS 6.1)
-    message(FATAL_ERROR "Swift language not supported by Xcode ${XCODE_VERSION}")
-  endif()
-  set(CMAKE_Swift_COMPILER_XCODE_TYPE sourcecode.swift)
-  _cmake_find_compiler_path(Swift)
-else()
-  message(FATAL_ERROR "Swift language not supported by \"${CMAKE_GENERATOR}\" generator")
-endif()
-
-# Build a small source file to identify the compiler.
-if(NOT CMAKE_Swift_COMPILER_ID_RUN)
-  set(CMAKE_Swift_COMPILER_ID_RUN 1)
-
-  list(APPEND CMAKE_Swift_COMPILER_ID_MATCH_VENDORS Apple)
-  set(CMAKE_Swift_COMPILER_ID_MATCH_VENDOR_REGEX_Apple "com.apple.xcode.tools.swift.compiler")
-
-  set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_REGEX "\nCompileSwiftSources[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]* -c[^\r\n]*CompilerIdSwift/CompilerId/main.swift")
-  set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_INDEX 2)
-
-  # Try to identify the compiler.
-  set(CMAKE_Swift_COMPILER_ID)
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
-  CMAKE_DETERMINE_COMPILER_ID(Swift "" CompilerId/main.swift)
-endif()
-
-if (NOT _CMAKE_TOOLCHAIN_LOCATION)
-  get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_Swift_COMPILER}" PATH)
-endif ()
-
-include(CMakeFindBinUtils)
-
-# configure variables set in this file for fast reload later on
-configure_file(${CMAKE_ROOT}/Modules/CMakeSwiftCompiler.cmake.in
-  ${CMAKE_PLATFORM_INFO_DIR}/CMakeSwiftCompiler.cmake
-  @ONLY
-  )
diff --git a/share/cmake-3.6/Modules/CMakeDetermineSystem.cmake b/share/cmake-3.6/Modules/CMakeDetermineSystem.cmake
deleted file mode 100644
index d9f7579..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineSystem.cmake
+++ /dev/null
@@ -1,193 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is used by the Makefile generator to determin the following variables:
-# CMAKE_SYSTEM_NAME - on unix this is uname -s, for windows it is Windows
-# CMAKE_SYSTEM_VERSION - on unix this is uname -r, for windows it is empty
-# CMAKE_SYSTEM - ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION}, for windows: ${CMAKE_SYSTEM}
-#
-#  Expected uname -s output:
-#
-# AIX                           AIX
-# BSD/OS                        BSD/OS
-# FreeBSD                       FreeBSD
-# HP-UX                         HP-UX
-# IRIX                          IRIX
-# Linux                         Linux
-# GNU/kFreeBSD                  GNU/kFreeBSD
-# NetBSD                        NetBSD
-# OpenBSD                       OpenBSD
-# OFS/1 (Digital Unix)          OSF1
-# SCO OpenServer 5              SCO_SV
-# SCO UnixWare 7                UnixWare
-# SCO UnixWare (pre release 7)  UNIX_SV
-# SCO XENIX                     Xenix
-# Solaris                       SunOS
-# SunOS                         SunOS
-# Tru64                         Tru64
-# Ultrix                        ULTRIX
-# cygwin                        CYGWIN_NT-5.1
-# MacOSX                        Darwin
-
-
-# find out on which system cmake runs
-if(CMAKE_HOST_UNIX)
-  find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
-  if(CMAKE_UNAME)
-    exec_program(uname ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_NAME)
-    exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
-    if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|Darwin|^GNU$")
-      exec_program(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
-        RETURN_VALUE val)
-      if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND
-         CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
-        # OS X ppc 'uname -m' may report 'Power Macintosh' instead of 'powerpc'
-        set(CMAKE_HOST_SYSTEM_PROCESSOR "powerpc")
-      endif()
-    elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD")
-      exec_program(arch ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
-        RETURN_VALUE val)
-    else()
-      exec_program(uname ARGS -p OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
-        RETURN_VALUE val)
-      if("${val}" GREATER 0)
-        exec_program(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
-          RETURN_VALUE val)
-      endif()
-    endif()
-    # check the return of the last uname -m or -p
-    if("${val}" GREATER 0)
-        set(CMAKE_HOST_SYSTEM_PROCESSOR "unknown")
-    endif()
-    set(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
-    # processor may have double quote in the name, and that needs to be removed
-    string(REPLACE "\"" "" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
-    string(REPLACE "/" "_" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
-  endif()
-else()
-  if(CMAKE_HOST_WIN32)
-    set (CMAKE_HOST_SYSTEM_NAME "Windows")
-    if (DEFINED ENV{PROCESSOR_ARCHITEW6432})
-      set (CMAKE_HOST_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITEW6432}")
-    else()
-      set (CMAKE_HOST_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
-    endif()
-  endif()
-endif()
-
-# if a toolchain file is used, the user wants to cross compile.
-# in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
-# variables around so they can be used in CMakeLists.txt.
-# In all other cases, the host and target platform are the same.
-if(CMAKE_TOOLCHAIN_FILE)
-  # at first try to load it as path relative to the directory from which cmake has been run
-  include("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
-  if(NOT _INCLUDED_TOOLCHAIN_FILE)
-     # if the file isn't found there, check the default locations
-     include("${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
-  endif()
-
-  if(_INCLUDED_TOOLCHAIN_FILE)
-    set(CMAKE_TOOLCHAIN_FILE "${_INCLUDED_TOOLCHAIN_FILE}" CACHE FILEPATH "The CMake toolchain file" FORCE)
-  else()
-    message(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
-    set(CMAKE_TOOLCHAIN_FILE "NOTFOUND" CACHE FILEPATH "The CMake toolchain file" FORCE)
-  endif()
-endif()
-
-
-# if CMAKE_SYSTEM_NAME is here already set, either it comes from a toolchain file
-# or it was set via -DCMAKE_SYSTEM_NAME=...
-# if that's the case, assume we are crosscompiling
-if(CMAKE_SYSTEM_NAME)
-  if(NOT DEFINED CMAKE_CROSSCOMPILING)
-    set(CMAKE_CROSSCOMPILING TRUE)
-  endif()
-  set(PRESET_CMAKE_SYSTEM_NAME TRUE)
-elseif(CMAKE_VS_WINCE_VERSION)
-  set(CMAKE_SYSTEM_NAME      "WindowsCE")
-  set(CMAKE_SYSTEM_VERSION   "${CMAKE_VS_WINCE_VERSION}")
-  set(CMAKE_SYSTEM_PROCESSOR "${MSVC_C_ARCHITECTURE_ID}")
-  set(CMAKE_CROSSCOMPILING TRUE)
-  set(PRESET_CMAKE_SYSTEM_NAME TRUE)
-else()
-  set(CMAKE_SYSTEM_NAME      "${CMAKE_HOST_SYSTEM_NAME}")
-  if(NOT DEFINED CMAKE_SYSTEM_VERSION)
-    set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
-  endif()
-  set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
-  set(CMAKE_CROSSCOMPILING FALSE)
-  set(PRESET_CMAKE_SYSTEM_NAME FALSE)
-endif()
-
-
-macro(ADJUST_CMAKE_SYSTEM_VARIABLES _PREFIX)
-  if(NOT ${_PREFIX}_NAME)
-    set(${_PREFIX}_NAME "UnknownOS")
-  endif()
-
-  # fix for BSD/OS , remove the /
-  if(${_PREFIX}_NAME MATCHES BSD.OS)
-    set(${_PREFIX}_NAME BSDOS)
-  endif()
-
-  # fix for GNU/kFreeBSD, remove the GNU/
-  if(${_PREFIX}_NAME MATCHES kFreeBSD)
-    set(${_PREFIX}_NAME kFreeBSD)
-  endif()
-
-  # fix for CYGWIN which has windows version in it
-  if(${_PREFIX}_NAME MATCHES CYGWIN)
-    set(${_PREFIX}_NAME CYGWIN)
-  endif()
-
-  # set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
-  set(${_PREFIX}  ${${_PREFIX}_NAME})
-  # if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION}
-  if(${_PREFIX}_VERSION)
-    set(${_PREFIX} ${${_PREFIX}}-${${_PREFIX}_VERSION})
-  endif()
-
-endmacro()
-
-ADJUST_CMAKE_SYSTEM_VARIABLES(CMAKE_SYSTEM)
-ADJUST_CMAKE_SYSTEM_VARIABLES(CMAKE_HOST_SYSTEM)
-
-# this file is also executed from cpack, then we don't need to generate these files
-# in this case there is no CMAKE_BINARY_DIR
-if(CMAKE_BINARY_DIR)
-  # write entry to the log file
-  if(PRESET_CMAKE_SYSTEM_NAME)
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-                "The target system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-                "The host system is: ${CMAKE_HOST_SYSTEM_NAME} - ${CMAKE_HOST_SYSTEM_VERSION} - ${CMAKE_HOST_SYSTEM_PROCESSOR}\n")
-  else()
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-                "The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
-  endif()
-
-  # if a toolchain file is used, it needs to be included in the configured file,
-  # so settings done there are also available if they don't go in the cache and in try_compile()
-  set(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED)
-  if(CMAKE_TOOLCHAIN_FILE)
-    set(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED "include(\"${CMAKE_TOOLCHAIN_FILE}\")")
-  endif()
-
-  # configure variables set in this file for fast reload, the template file is defined at the top of this file
-  configure_file(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
-                ${CMAKE_PLATFORM_INFO_DIR}/CMakeSystem.cmake
-                @ONLY)
-
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeDetermineVSServicePack.cmake b/share/cmake-3.6/Modules/CMakeDetermineVSServicePack.cmake
deleted file mode 100644
index 6886084..0000000
--- a/share/cmake-3.6/Modules/CMakeDetermineVSServicePack.cmake
+++ /dev/null
@@ -1,184 +0,0 @@
-#.rst:
-# CMakeDetermineVSServicePack
-# ---------------------------
-#
-# Deprecated.  Do not use.
-#
-# The functionality of this module has been superseded by the
-# :variable:`CMAKE_<LANG>_COMPILER_VERSION` variable that contains
-# the compiler version number.
-#
-# Determine the Visual Studio service pack of the 'cl' in use.
-#
-# Usage::
-#
-#   if(MSVC)
-#     include(CMakeDetermineVSServicePack)
-#     DetermineVSServicePack( my_service_pack )
-#     if( my_service_pack )
-#       message(STATUS "Detected: ${my_service_pack}")
-#     endif()
-#   endif()
-#
-# Function DetermineVSServicePack sets the given variable to one of the
-# following values or an empty string if unknown::
-#
-#   vc80, vc80sp1
-#   vc90, vc90sp1
-#   vc100, vc100sp1
-#   vc110, vc110sp1, vc110sp2, vc110sp3, vc110sp4
-
-#=============================================================================
-# Copyright 2009-2013 Kitware, Inc.
-# Copyright 2009-2010 Philip Lowman <philip@yhbt.com>
-# Copyright 2010-2011 Aaron C. meadows <cmake@shadowguarddev.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.8)
-  message(DEPRECATION
-    "This module is deprecated and should not be used.  "
-    "Use the CMAKE_<LANG>_COMPILER_VERSION variable instead."
-    )
-endif()
-
-# [INTERNAL]
-# Please do not call this function directly
-function(_DetermineVSServicePackFromCompiler _OUT_VAR _cl_version)
-   if    (${_cl_version} VERSION_EQUAL "14.00.50727.42")
-       set(_version "vc80")
-   elseif(${_cl_version} VERSION_EQUAL "14.00.50727.762")
-       set(_version "vc80sp1")
-   elseif(${_cl_version} VERSION_EQUAL "15.00.21022.08")
-       set(_version "vc90")
-   elseif(${_cl_version} VERSION_EQUAL "15.00.30729.01")
-       set(_version "vc90sp1")
-   elseif(${_cl_version} VERSION_EQUAL "16.00.30319.01")
-       set(_version "vc100")
-   elseif(${_cl_version} VERSION_EQUAL "16.00.40219.01")
-       set(_version "vc100sp1")
-   elseif(${_cl_version} VERSION_EQUAL "17.00.50727.1")
-       set(_version "vc110")
-   elseif(${_cl_version} VERSION_EQUAL "17.00.51106.1")
-       set(_version "vc110sp1")
-   elseif(${_cl_version} VERSION_EQUAL "17.00.60315.1")
-       set(_version "vc110sp2")
-   elseif(${_cl_version} VERSION_EQUAL "17.00.60610.1")
-       set(_version "vc110sp3")
-   elseif(${_cl_version} VERSION_EQUAL "17.00.61030")
-       set(_version "vc110sp4")
-   else()
-       set(_version "")
-   endif()
-   set(${_OUT_VAR} ${_version} PARENT_SCOPE)
-endfunction()
-
-
-############################################################
-# [INTERNAL]
-# Please do not call this function directly
-function(_DetermineVSServicePack_FastCheckVersionWithCompiler _SUCCESS_VAR  _VERSION_VAR)
-    if(EXISTS ${CMAKE_CXX_COMPILER})
-      execute_process(
-          COMMAND ${CMAKE_CXX_COMPILER} /?
-          ERROR_VARIABLE _output
-          OUTPUT_QUIET
-        )
-
-      if(_output MATCHES "Compiler Version (([0-9]+)\\.([0-9]+)\\.([0-9]+)(\\.([0-9]+))?)")
-        set(_cl_version ${CMAKE_MATCH_1})
-        set(_major ${CMAKE_MATCH_2})
-        set(_minor ${CMAKE_MATCH_3})
-        if("${_major}${_minor}" STREQUAL "${MSVC_VERSION}")
-          set(${_SUCCESS_VAR} true PARENT_SCOPE)
-          set(${_VERSION_VAR} ${_cl_version} PARENT_SCOPE)
-        endif()
-      endif()
-    endif()
-endfunction()
-
-############################################################
-# [INTERNAL]
-# Please do not call this function directly
-function(_DetermineVSServicePack_CheckVersionWithTryCompile _SUCCESS_VAR  _VERSION_VAR)
-    file(WRITE "${CMAKE_BINARY_DIR}/return0.cc"
-      "int main() { return 0; }\n")
-
-    try_compile(
-      _CompileResult
-      "${CMAKE_BINARY_DIR}"
-      "${CMAKE_BINARY_DIR}/return0.cc"
-      OUTPUT_VARIABLE _output
-      COPY_FILE "${CMAKE_BINARY_DIR}/return0.cc")
-
-    file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc")
-
-    if(_output MATCHES "Compiler Version (([0-9]+)\\.([0-9]+)\\.([0-9]+)(\\.([0-9]+))?)")
-      set(${_SUCCESS_VAR} true PARENT_SCOPE)
-      set(${_VERSION_VAR} "${CMAKE_MATCH_1}" PARENT_SCOPE)
-    endif()
-endfunction()
-
-############################################################
-# [INTERNAL]
-# Please do not call this function directly
-function(_DetermineVSServicePack_CheckVersionWithTryRun _SUCCESS_VAR  _VERSION_VAR)
-    file(WRITE "${CMAKE_BINARY_DIR}/return0.cc"
-        "#include <stdio.h>\n\nconst unsigned int CompilerVersion=_MSC_FULL_VER;\n\nint main(int argc, char* argv[])\n{\n  int M( CompilerVersion/10000000);\n  int m((CompilerVersion%10000000)/100000);\n  int b(CompilerVersion%100000);\n\n  printf(\"%d.%02d.%05d.01\",M,m,b);\n return 0;\n}\n")
-
-    try_run(
-        _RunResult
-        _CompileResult
-        "${CMAKE_BINARY_DIR}"
-        "${CMAKE_BINARY_DIR}/return0.cc"
-        RUN_OUTPUT_VARIABLE  _runoutput
-        )
-
-    file(REMOVE "${CMAKE_BINARY_DIR}/return0.cc")
-
-    string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+.[0-9]+"
-        _cl_version "${_runoutput}")
-
-    if(_cl_version)
-      set(${_SUCCESS_VAR} true PARENT_SCOPE)
-      set(${_VERSION_VAR} ${_cl_version} PARENT_SCOPE)
-    endif()
-endfunction()
-
-
-#
-# A function to call to determine the Visual Studio service pack
-# in use.  See documentation above.
-function(DetermineVSServicePack _pack)
-    if(NOT DETERMINED_VS_SERVICE_PACK OR NOT ${_pack})
-
-        _DetermineVSServicePack_FastCheckVersionWithCompiler(DETERMINED_VS_SERVICE_PACK _cl_version)
-        if(NOT DETERMINED_VS_SERVICE_PACK)
-            _DetermineVSServicePack_CheckVersionWithTryCompile(DETERMINED_VS_SERVICE_PACK _cl_version)
-            if(NOT DETERMINED_VS_SERVICE_PACK)
-                _DetermineVSServicePack_CheckVersionWithTryRun(DETERMINED_VS_SERVICE_PACK _cl_version)
-            endif()
-        endif()
-
-        if(DETERMINED_VS_SERVICE_PACK)
-
-            if(_cl_version)
-                # Call helper function to determine VS version
-                _DetermineVSServicePackFromCompiler(_sp "${_cl_version}")
-                if(_sp)
-                    set(${_pack} ${_sp} CACHE INTERNAL
-                        "The Visual Studio Release with Service Pack")
-                endif()
-            endif()
-        endif()
-    endif()
-endfunction()
-
diff --git a/share/cmake-3.6/Modules/CMakeExpandImportedTargets.cmake b/share/cmake-3.6/Modules/CMakeExpandImportedTargets.cmake
deleted file mode 100644
index 28f2e46..0000000
--- a/share/cmake-3.6/Modules/CMakeExpandImportedTargets.cmake
+++ /dev/null
@@ -1,156 +0,0 @@
-#.rst:
-# CMakeExpandImportedTargets
-# --------------------------
-#
-# Deprecated.  Do not use.
-#
-# This module was once needed to expand imported targets to the underlying
-# libraries they reference on disk for use with the :command:`try_compile`
-# and :command:`try_run` commands.  These commands now support imported
-# libraries in their ``LINK_LIBRARIES`` options (since CMake 2.8.11
-# for :command:`try_compile` and since CMake 3.2 for :command:`try_run`).
-#
-# This module does not support the policy :policy:`CMP0022` ``NEW``
-# behavior or use of the :prop_tgt:`INTERFACE_LINK_LIBRARIES` property
-# because :manual:`generator expressions <cmake-generator-expressions(7)>`
-# cannot be evaluated during configuration.
-#
-# ::
-#
-#  CMAKE_EXPAND_IMPORTED_TARGETS(<var> LIBRARIES lib1 lib2...libN
-#                                [CONFIGURATION <config>])
-#
-# CMAKE_EXPAND_IMPORTED_TARGETS() takes a list of libraries and replaces
-# all imported targets contained in this list with their actual file
-# paths of the referenced libraries on disk, including the libraries
-# from their link interfaces.  If a CONFIGURATION is given, it uses the
-# respective configuration of the imported targets if it exists.  If no
-# CONFIGURATION is given, it uses the first configuration from
-# ${CMAKE_CONFIGURATION_TYPES} if set, otherwise ${CMAKE_BUILD_TYPE}.
-#
-# ::
-#
-#     cmake_expand_imported_targets(expandedLibs
-#       LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
-#       CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )
-
-
-#=============================================================================
-# Copyright 2012 Kitware, Inc.
-# Copyright 2009-2012 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-function(CMAKE_EXPAND_IMPORTED_TARGETS _RESULT )
-
-   set(options )
-   set(oneValueArgs CONFIGURATION )
-   set(multiValueArgs LIBRARIES )
-
-   cmake_parse_arguments(CEIT "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
-
-   if(CEIT_UNPARSED_ARGUMENTS)
-      message(FATAL_ERROR "Unknown keywords given to CMAKE_EXPAND_IMPORTED_TARGETS(): \"${CEIT_UNPARSED_ARGUMENTS}\"")
-   endif()
-
-   if(NOT CEIT_CONFIGURATION)
-      if(CMAKE_CONFIGURATION_TYPES)
-         list(GET CMAKE_CONFIGURATION_TYPES 0 CEIT_CONFIGURATION)
-      else()
-         set(CEIT_CONFIGURATION ${CMAKE_BUILD_TYPE})
-      endif()
-   endif()
-
-   # handle imported library targets
-
-   set(_CCSR_REQ_LIBS ${CEIT_LIBRARIES})
-
-   set(_CHECK_FOR_IMPORTED_TARGETS TRUE)
-   set(_CCSR_LOOP_COUNTER 0)
-   while(_CHECK_FOR_IMPORTED_TARGETS)
-      math(EXPR _CCSR_LOOP_COUNTER "${_CCSR_LOOP_COUNTER} + 1 ")
-      set(_CCSR_NEW_REQ_LIBS )
-      set(_CHECK_FOR_IMPORTED_TARGETS FALSE)
-      foreach(_CURRENT_LIB ${_CCSR_REQ_LIBS})
-         if(TARGET "${_CURRENT_LIB}")
-           get_target_property(_importedConfigs "${_CURRENT_LIB}" IMPORTED_CONFIGURATIONS)
-         else()
-           set(_importedConfigs "")
-         endif()
-         if (_importedConfigs)
-#            message(STATUS "Detected imported target ${_CURRENT_LIB}")
-            # Ok, so this is an imported target.
-            # First we get the imported configurations.
-            # Then we get the location of the actual library on disk of the first configuration.
-            # then we'll get its link interface libraries property,
-            # iterate through it and replace all imported targets we find there
-            # with there actual location.
-
-            # guard against infinite loop: abort after 100 iterations ( 100 is arbitrary chosen)
-            if ("${_CCSR_LOOP_COUNTER}" LESS 100)
-               set(_CHECK_FOR_IMPORTED_TARGETS TRUE)
-#                else ()
-#                   message(STATUS "********* aborting loop, counter : ${_CCSR_LOOP_COUNTER}")
-            endif ()
-
-            # if one of the imported configurations equals ${CMAKE_TRY_COMPILE_CONFIGURATION},
-            # use it, otherwise simply use the first one:
-            list(FIND _importedConfigs "${CEIT_CONFIGURATION}" _configIndexToUse)
-            if("${_configIndexToUse}" EQUAL -1)
-              set(_configIndexToUse 0)
-            endif()
-            list(GET _importedConfigs ${_configIndexToUse} _importedConfigToUse)
-
-            get_target_property(_importedLocation "${_CURRENT_LIB}" IMPORTED_LOCATION_${_importedConfigToUse})
-            get_target_property(_linkInterfaceLibs "${_CURRENT_LIB}" IMPORTED_LINK_INTERFACE_LIBRARIES_${_importedConfigToUse} )
-
-            list(APPEND _CCSR_NEW_REQ_LIBS  "${_importedLocation}")
-#            message(STATUS "Appending lib ${_CURRENT_LIB} as ${_importedLocation}")
-            if(_linkInterfaceLibs)
-               foreach(_currentLinkInterfaceLib ${_linkInterfaceLibs})
-#                  message(STATUS "Appending link interface lib ${_currentLinkInterfaceLib}")
-                  if(_currentLinkInterfaceLib)
-                     list(APPEND _CCSR_NEW_REQ_LIBS "${_currentLinkInterfaceLib}" )
-                  endif()
-               endforeach()
-            endif()
-         else()
-            # "Normal" libraries are just used as they are.
-            list(APPEND _CCSR_NEW_REQ_LIBS "${_CURRENT_LIB}" )
-#            message(STATUS "Appending lib directly: ${_CURRENT_LIB}")
-         endif()
-      endforeach()
-
-      set(_CCSR_REQ_LIBS ${_CCSR_NEW_REQ_LIBS} )
-   endwhile()
-
-   # Finally we iterate once more over all libraries. This loop only removes
-   # all remaining imported target names (there shouldn't be any left anyway).
-   set(_CCSR_NEW_REQ_LIBS )
-   foreach(_CURRENT_LIB ${_CCSR_REQ_LIBS})
-      if(TARGET "${_CURRENT_LIB}")
-        get_target_property(_importedConfigs "${_CURRENT_LIB}" IMPORTED_CONFIGURATIONS)
-      else()
-        set(_importedConfigs "")
-      endif()
-      if (NOT _importedConfigs)
-         list(APPEND _CCSR_NEW_REQ_LIBS "${_CURRENT_LIB}" )
-#         message(STATUS "final: appending ${_CURRENT_LIB}")
-      else ()
-#             message(STATUS "final: skipping ${_CURRENT_LIB}")
-      endif ()
-   endforeach()
-#   message(STATUS "setting -${_RESULT}- to -${_CCSR_NEW_REQ_LIBS}-")
-   set(${_RESULT} "${_CCSR_NEW_REQ_LIBS}" PARENT_SCOPE)
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeExportBuildSettings.cmake b/share/cmake-3.6/Modules/CMakeExportBuildSettings.cmake
deleted file mode 100644
index a8dd8c2..0000000
--- a/share/cmake-3.6/Modules/CMakeExportBuildSettings.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is purposely no longer documented.  It does nothing useful.
-if(NOT "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7)
-  message(FATAL_ERROR
-    "The functionality of this module has been dropped as of CMake 2.8.  "
-    "It was deemed harmful (confusing users by changing their compiler).  "
-    "Please remove calls to the CMAKE_EXPORT_BUILD_SETTINGS macro and "
-    "stop including this module.  "
-    "If this project generates any files for use by external projects, "
-    "remove any use of the CMakeImportBuildSettings module from them.")
-endif()
-
-# This macro used to store build settings of a project in a file to be
-# loaded by another project using CMAKE_IMPORT_BUILD_SETTINGS.  Now it
-# creates a file that refuses to load (with comment explaining why).
-macro(CMAKE_EXPORT_BUILD_SETTINGS SETTINGS_FILE)
-  if(NOT ${SETTINGS_FILE} STREQUAL "")
-    configure_file(${CMAKE_ROOT}/Modules/CMakeBuildSettings.cmake.in
-                   ${SETTINGS_FILE} @ONLY)
-  else()
-    message(SEND_ERROR "CMAKE_EXPORT_BUILD_SETTINGS called with no argument.")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake b/share/cmake-3.6/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
deleted file mode 100644
index 3bfb876..0000000
--- a/share/cmake-3.6/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
+++ /dev/null
@@ -1,123 +0,0 @@
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included by CMakeFindEclipseCDT4.cmake and CMakeFindCodeBlocks.cmake
-
-# The Eclipse and the CodeBlocks generators need to know the standard include path
-# so that they can find the headers at runtime and parsing etc. works better
-# This is done here by actually running gcc with the options so it prints its
-# system include directories, which are parsed then and stored in the cache.
-macro(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _resultIncludeDirs _resultDefines)
-  set(${_resultIncludeDirs})
-  set(_gccOutput)
-  file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n" )
-
-  if (${_lang} STREQUAL "c++")
-    set(_compilerExecutable "${CMAKE_CXX_COMPILER}")
-    set(_arg1 "${CMAKE_CXX_COMPILER_ARG1}")
-
-    if (CMAKE_CXX_FLAGS MATCHES "(-stdlib=[^ ]+)")
-      set(_stdlib "${CMAKE_MATCH_1}")
-    endif ()
-    if (CMAKE_CXX_FLAGS MATCHES "(-std=[^ ]+)")
-      set(_stdver "${CMAKE_MATCH_1}")
-    endif ()
-  else ()
-    set(_compilerExecutable "${CMAKE_C_COMPILER}")
-    set(_arg1 "${CMAKE_C_COMPILER_ARG1}")
-  endif ()
-  execute_process(COMMAND ${_compilerExecutable} ${_arg1} ${_stdver} ${_stdlib} -v -E -x ${_lang} -dD dummy
-                  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles
-                  ERROR_VARIABLE _gccOutput
-                  OUTPUT_VARIABLE _gccStdout )
-  file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
-
-  # First find the system include dirs:
-  if( "${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+ *\n) *End of (search) list" )
-
-    # split the output into lines and then remove leading and trailing spaces from each of them:
-    string(REGEX MATCHALL "[^\n]+\n" _includeLines "${CMAKE_MATCH_1}")
-    foreach(nextLine ${_includeLines})
-      # on OSX, gcc says things like this:  "/System/Library/Frameworks (framework directory)", strip the last part
-      string(REGEX REPLACE "\\(framework directory\\)" "" nextLineNoFramework "${nextLine}")
-      # strip spaces at the beginning and the end
-      string(STRIP "${nextLineNoFramework}" _includePath)
-      list(APPEND ${_resultIncludeDirs} "${_includePath}")
-    endforeach()
-
-  endif()
-
-
-  # now find the builtin macros:
-  string(REGEX MATCHALL "#define[^\n]+\n" _defineLines "${_gccStdout}")
-# A few example lines which the regexp below has to match properly:
-#  #define   MAX(a,b) ((a) > (b) ? (a) : (b))
-#  #define __fastcall __attribute__((__fastcall__))
-#  #define   FOO (23)
-#  #define __UINTMAX_TYPE__ long long unsigned int
-#  #define __UINTMAX_TYPE__ long long unsigned int
-#  #define __i386__  1
-
-  foreach(nextLine ${_defineLines})
-    string(REGEX MATCH "^#define +([A-Za-z_][A-Za-z0-9_]*)(\\([^\\)]+\\))? +(.+) *$" _dummy "${nextLine}")
-    set(_name "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
-    string(STRIP "${CMAKE_MATCH_3}" _value)
-    #message(STATUS "m1: -${CMAKE_MATCH_1}- m2: -${CMAKE_MATCH_2}- m3: -${CMAKE_MATCH_3}-")
-
-    list(APPEND ${_resultDefines} "${_name}")
-    if(_value)
-      list(APPEND ${_resultDefines} "${_value}")
-    else()
-      list(APPEND ${_resultDefines} " ")
-    endif()
-  endforeach()
-
-endmacro()
-
-# 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.
-set(_orig_lc_all      $ENV{LC_ALL})
-set(_orig_lc_messages $ENV{LC_MESSAGES})
-set(_orig_lang        $ENV{LANG})
-
-set(ENV{LC_ALL}      C)
-set(ENV{LC_MESSAGES} C)
-set(ENV{LANG}        C)
-
-# Now check for C, works for gcc and Intel compiler at least
-if (NOT CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS)
-  if (CMAKE_C_COMPILER_ID MATCHES GNU  OR  CMAKE_C_COMPILER_ID MATCHES Intel  OR  CMAKE_C_COMPILER_ID MATCHES Clang)
-    _DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c _dirs _defines)
-    set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "C compiler system include directories")
-    set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "C compiler system defined macros")
-  elseif ("${CMAKE_C_COMPILER_ID}" MATCHES MSVC)
-    set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS "$ENV{INCLUDE}" CACHE INTERNAL "C compiler system include directories")
-  endif ()
-endif ()
-
-# And now the same for C++
-if (NOT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS)
-  if ("${CMAKE_CXX_COMPILER_ID}" MATCHES GNU  OR  "${CMAKE_CXX_COMPILER_ID}" MATCHES Intel  OR  "${CMAKE_CXX_COMPILER_ID}" MATCHES Clang)
-    _DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c++ _dirs _defines)
-    set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "CXX compiler system include directories")
-    set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "CXX compiler system defined macros")
-  elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES MSVC)
-    set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS "$ENV{INCLUDE}" CACHE INTERNAL "CXX compiler system include directories")
-  endif ()
-endif ()
-
-# Restore original LC_ALL, LC_MESSAGES, and LANG
-set(ENV{LC_ALL}      ${_orig_lc_all})
-set(ENV{LC_MESSAGES} ${_orig_lc_messages})
-set(ENV{LANG}        ${_orig_lang})
diff --git a/share/cmake-3.6/Modules/CMakeFindBinUtils.cmake b/share/cmake-3.6/Modules/CMakeFindBinUtils.cmake
deleted file mode 100644
index 376a6dc..0000000
--- a/share/cmake-3.6/Modules/CMakeFindBinUtils.cmake
+++ /dev/null
@@ -1,78 +0,0 @@
-
-# search for additional tools required for C/C++ (and other languages ?)
-#
-# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
-# as prefix for the tools (e.g. arm-elf-gcc etc.)
-# If the cmake variable _CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
-# searched only there. The other tools are at first searched there, then
-# also in the default locations.
-#
-# Sets the following variables:
-#   CMAKE_AR
-#   CMAKE_RANLIB
-#   CMAKE_LINKER
-#   CMAKE_STRIP
-#   CMAKE_INSTALL_NAME_TOOL
-
-# on UNIX, cygwin and mingw
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# if it's the MS C/CXX compiler, search for link
-if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
-   OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"
-   OR "x${CMAKE_Fortran_SIMULATE_ID}" STREQUAL "xMSVC"
-   OR "x${CMAKE_C_COMPILER_ID}" STREQUAL "xMSVC"
-   OR "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC"
-   OR (CMAKE_GENERATOR MATCHES "Visual Studio"
-       AND NOT CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android"))
-
-  find_program(CMAKE_LINKER NAMES link HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-
-  mark_as_advanced(CMAKE_LINKER)
-
-# in all other cases search for ar, ranlib, etc.
-else()
-  if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN)
-    set(_CMAKE_TOOLCHAIN_LOCATION ${_CMAKE_TOOLCHAIN_LOCATION} ${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}/bin)
-  endif()
-  if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN)
-    set(_CMAKE_TOOLCHAIN_LOCATION ${_CMAKE_TOOLCHAIN_LOCATION} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}/bin)
-  endif()
-  find_program(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar${_CMAKE_TOOLCHAIN_SUFFIX} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-
-  find_program(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-  if(NOT CMAKE_RANLIB)
-    set(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
-  endif()
-
-  find_program(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip${_CMAKE_TOOLCHAIN_SUFFIX} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-  find_program(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-  find_program(CMAKE_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-  find_program(CMAKE_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-  find_program(CMAKE_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-
-  mark_as_advanced(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER CMAKE_NM CMAKE_OBJDUMP CMAKE_OBJCOPY)
-
-endif()
-
-if(CMAKE_PLATFORM_HAS_INSTALLNAME)
-  find_program(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-
-  if(NOT CMAKE_INSTALL_NAME_TOOL)
-    message(FATAL_ERROR "Could not find install_name_tool, please check your installation.")
-  endif()
-
-  mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeFindCodeBlocks.cmake b/share/cmake-3.6/Modules/CMakeFindCodeBlocks.cmake
deleted file mode 100644
index bf85ea0..0000000
--- a/share/cmake-3.6/Modules/CMakeFindCodeBlocks.cmake
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included in CMakeSystemSpecificInformation.cmake if
-# the CodeBlocks extra generator has been selected.
-
-find_program(CMAKE_CODEBLOCKS_EXECUTABLE NAMES codeblocks DOC "The CodeBlocks executable")
-
-if(CMAKE_CODEBLOCKS_EXECUTABLE)
-   set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_CODEBLOCKS_EXECUTABLE} <PROJECT_FILE>" )
-endif()
-
-# Determine builtin macros and include dirs:
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
-
-# Try to find out how many CPUs we have and set the -j argument for make accordingly
-set(_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS "")
-
-include(ProcessorCount)
-processorcount(_CMAKE_CODEBLOCKS_PROCESSOR_COUNT)
-
-# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
-# (we may also get here in the future e.g. for ninja)
-if("${_CMAKE_CODEBLOCKS_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
-  set(_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS "-j${_CMAKE_CODEBLOCKS_PROCESSOR_COUNT}")
-endif()
-
-# This variable is used by the CodeBlocks generator and appended to the make invocation commands.
-set(CMAKE_CODEBLOCKS_MAKE_ARGUMENTS "${_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when CodeBlocks invokes make. Enter e.g. -j<some_number> to get parallel builds")
diff --git a/share/cmake-3.6/Modules/CMakeFindDependencyMacro.cmake b/share/cmake-3.6/Modules/CMakeFindDependencyMacro.cmake
deleted file mode 100644
index 73efaae..0000000
--- a/share/cmake-3.6/Modules/CMakeFindDependencyMacro.cmake
+++ /dev/null
@@ -1,85 +0,0 @@
-#.rst:
-# CMakeFindDependencyMacro
-# -------------------------
-#
-# ::
-#
-#     find_dependency(<dep> [<version> [EXACT]])
-#
-#
-# ``find_dependency()`` wraps a :command:`find_package` call for a package
-# dependency. It is designed to be used in a <package>Config.cmake file, and it
-# forwards the correct parameters for EXACT, QUIET and REQUIRED which were
-# passed to the original :command:`find_package` call.  It also sets an
-# informative diagnostic message if the dependency could not be found.
-#
-
-#=============================================================================
-# Copyright 2013 Stephen Kelly <steveire@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(find_dependency dep)
-  if (NOT ${dep}_FOUND)
-    set(cmake_fd_version)
-    if (${ARGC} GREATER 1)
-      if ("${ARGV1}" STREQUAL "")
-        message(FATAL_ERROR "Invalid arguments to find_dependency. VERSION is empty")
-      endif()
-      if ("${ARGV1}" STREQUAL EXACT)
-        message(FATAL_ERROR "Invalid arguments to find_dependency. EXACT may only be specified if a VERSION is specified")
-      endif()
-      set(cmake_fd_version ${ARGV1})
-    endif()
-    set(cmake_fd_exact_arg)
-    if(${ARGC} GREATER 2)
-      if (NOT "${ARGV2}" STREQUAL EXACT)
-        message(FATAL_ERROR "Invalid arguments to find_dependency")
-      endif()
-      set(cmake_fd_exact_arg EXACT)
-    endif()
-    if(${ARGC} GREATER 3)
-      message(FATAL_ERROR "Invalid arguments to find_dependency")
-    endif()
-    set(cmake_fd_quiet_arg)
-    if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
-      set(cmake_fd_quiet_arg QUIET)
-    endif()
-    set(cmake_fd_required_arg)
-    if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
-      set(cmake_fd_required_arg REQUIRED)
-    endif()
-
-    get_property(cmake_fd_alreadyTransitive GLOBAL PROPERTY
-      _CMAKE_${dep}_TRANSITIVE_DEPENDENCY
-    )
-
-    find_package(${dep} ${cmake_fd_version}
-        ${cmake_fd_exact_arg}
-        ${cmake_fd_quiet_arg}
-        ${cmake_fd_required_arg}
-    )
-
-    if(NOT DEFINED cmake_fd_alreadyTransitive OR cmake_fd_alreadyTransitive)
-      set_property(GLOBAL PROPERTY _CMAKE_${dep}_TRANSITIVE_DEPENDENCY TRUE)
-    endif()
-
-    if (NOT ${dep}_FOUND)
-      set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency ${dep} could not be found.")
-      set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
-      return()
-    endif()
-    set(cmake_fd_version)
-    set(cmake_fd_required_arg)
-    set(cmake_fd_quiet_arg)
-    set(cmake_fd_exact_arg)
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeFindEclipseCDT4.cmake b/share/cmake-3.6/Modules/CMakeFindEclipseCDT4.cmake
deleted file mode 100644
index 5bf738a..0000000
--- a/share/cmake-3.6/Modules/CMakeFindEclipseCDT4.cmake
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included in CMakeSystemSpecificInformation.cmake if
-# the Eclipse CDT4 extra generator has been selected.
-
-find_program(CMAKE_ECLIPSE_EXECUTABLE NAMES eclipse DOC "The Eclipse executable")
-
-function(_FIND_ECLIPSE_VERSION)
-  # This code is in a function so the variables used here have only local scope
-
-  # Set up a map with the names of the Eclipse releases:
-  set(_ECLIPSE_VERSION_NAME_    "Unknown" )
-  set(_ECLIPSE_VERSION_NAME_3.2 "Callisto" )
-  set(_ECLIPSE_VERSION_NAME_3.3 "Europa" )
-  set(_ECLIPSE_VERSION_NAME_3.4 "Ganymede" )
-  set(_ECLIPSE_VERSION_NAME_3.5 "Galileo" )
-  set(_ECLIPSE_VERSION_NAME_3.6 "Helios" )
-  set(_ECLIPSE_VERSION_NAME_3.7 "Indigo" )
-  set(_ECLIPSE_VERSION_NAME_4.2 "Juno" )
-  set(_ECLIPSE_VERSION_NAME_4.3 "Kepler" )
-  set(_ECLIPSE_VERSION_NAME_4.4 "Luna" )
-  set(_ECLIPSE_VERSION_NAME_4.5 "Mars" )
-
-  if(NOT DEFINED CMAKE_ECLIPSE_VERSION)
-    if(CMAKE_ECLIPSE_EXECUTABLE)
-      # use REALPATH to resolve symlinks (http://public.kitware.com/Bug/view.php?id=13036)
-      get_filename_component(_REALPATH_CMAKE_ECLIPSE_EXECUTABLE "${CMAKE_ECLIPSE_EXECUTABLE}" REALPATH)
-      get_filename_component(_ECLIPSE_DIR "${_REALPATH_CMAKE_ECLIPSE_EXECUTABLE}" PATH)
-      file(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/features/org.eclipse.platform*")
-      if(APPLE AND NOT _ECLIPSE_FEATURE_DIR)
-        file(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/../../../features/org.eclipse.platform*")
-      endif()
-      if("${_ECLIPSE_FEATURE_DIR}" MATCHES ".+org.eclipse.platform_([0-9]+\\.[0-9]+).+")
-        set(_ECLIPSE_VERSION ${CMAKE_MATCH_1})
-      endif()
-    endif()
-
-    if(_ECLIPSE_VERSION)
-      message(STATUS "Found Eclipse version ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})")
-    else()
-      set(_ECLIPSE_VERSION "3.6" )
-      message(STATUS "Could not determine Eclipse version, assuming at least ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}}). Adjust CMAKE_ECLIPSE_VERSION if this is wrong.")
-    endif()
-
-    set(CMAKE_ECLIPSE_VERSION "${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})" CACHE STRING "The version of Eclipse. If Eclipse has not been found, 3.6 (Helios) is assumed.")
-  else()
-    message(STATUS "Eclipse version is set to ${CMAKE_ECLIPSE_VERSION}. Adjust CMAKE_ECLIPSE_VERSION if this is wrong.")
-  endif()
-
-  set_property(CACHE CMAKE_ECLIPSE_VERSION PROPERTY STRINGS "3.2 (${_ECLIPSE_VERSION_NAME_3.2})"
-                                                            "3.3 (${_ECLIPSE_VERSION_NAME_3.3})"
-                                                            "3.4 (${_ECLIPSE_VERSION_NAME_3.4})"
-                                                            "3.5 (${_ECLIPSE_VERSION_NAME_3.5})"
-                                                            "3.6 (${_ECLIPSE_VERSION_NAME_3.6})"
-                                                            "3.7 (${_ECLIPSE_VERSION_NAME_3.7})"
-                                                            "4.2 (${_ECLIPSE_VERSION_NAME_4.2})"
-                                                            "4.3 (${_ECLIPSE_VERSION_NAME_4.3})"
-                                                            "4.4 (${_ECLIPSE_VERSION_NAME_4.4})"
-                                                            "4.5 (${_ECLIPSE_VERSION_NAME_4.5})"
-              )
-endfunction()
-
-_find_eclipse_version()
-
-# Try to find out how many CPUs we have and set the -j argument for make accordingly
-set(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "")
-
-include(ProcessorCount)
-processorcount(_CMAKE_ECLIPSE_PROCESSOR_COUNT)
-
-# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
-# (we may also get here in the future e.g. for ninja)
-if("${_CMAKE_ECLIPSE_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
-  set(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "-j${_CMAKE_ECLIPSE_PROCESSOR_COUNT}")
-endif()
-
-# This variable is used by the Eclipse generator and appended to the make invocation commands.
-set(CMAKE_ECLIPSE_MAKE_ARGUMENTS "${_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
-
-set(CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES TRUE CACHE BOOL "If disabled, CMake will not generate linked resource to the subprojects and to the source files within targets")
-
-# This variable is used by the Eclipse generator in out-of-source builds only.
-set(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT FALSE CACHE BOOL "If enabled, CMake will generate a source project for Eclipse in CMAKE_SOURCE_DIR")
-mark_as_advanced(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT)
-
-# Determine builtin macros and include dirs:
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
diff --git a/share/cmake-3.6/Modules/CMakeFindFrameworks.cmake b/share/cmake-3.6/Modules/CMakeFindFrameworks.cmake
deleted file mode 100644
index 6a8bcd4..0000000
--- a/share/cmake-3.6/Modules/CMakeFindFrameworks.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-#.rst:
-# CMakeFindFrameworks
-# -------------------
-#
-# helper module to find OSX frameworks
-
-#=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT CMAKE_FIND_FRAMEWORKS_INCLUDED)
-  set(CMAKE_FIND_FRAMEWORKS_INCLUDED 1)
-  macro(CMAKE_FIND_FRAMEWORKS fwk)
-    set(${fwk}_FRAMEWORKS)
-    if(APPLE)
-      foreach(dir
-          ~/Library/Frameworks/${fwk}.framework
-          /Library/Frameworks/${fwk}.framework
-          /System/Library/Frameworks/${fwk}.framework
-          /Network/Library/Frameworks/${fwk}.framework)
-        if(EXISTS ${dir})
-          set(${fwk}_FRAMEWORKS ${${fwk}_FRAMEWORKS} ${dir})
-        endif()
-      endforeach()
-    endif()
-  endmacro()
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeFindJavaCommon.cmake b/share/cmake-3.6/Modules/CMakeFindJavaCommon.cmake
deleted file mode 100644
index fcf0389..0000000
--- a/share/cmake-3.6/Modules/CMakeFindJavaCommon.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#=============================================================================
-# Copyright 2013-2014 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Do not include this module directly from code outside CMake!
-set(_JAVA_HOME "")
-if(JAVA_HOME AND IS_DIRECTORY "${JAVA_HOME}")
-  set(_JAVA_HOME "${JAVA_HOME}")
-  set(_JAVA_HOME_EXPLICIT 1)
-else()
-  set(_ENV_JAVA_HOME "")
-  if(DEFINED ENV{JAVA_HOME})
-    file(TO_CMAKE_PATH "$ENV{JAVA_HOME}" _ENV_JAVA_HOME)
-  endif()
-  if(_ENV_JAVA_HOME AND IS_DIRECTORY "${_ENV_JAVA_HOME}")
-    set(_JAVA_HOME "${_ENV_JAVA_HOME}")
-    set(_JAVA_HOME_EXPLICIT 1)
-  else()
-    set(_CMD_JAVA_HOME "")
-    if(APPLE AND EXISTS /usr/libexec/java_home)
-      execute_process(COMMAND /usr/libexec/java_home
-        OUTPUT_VARIABLE _CMD_JAVA_HOME OUTPUT_STRIP_TRAILING_WHITESPACE)
-    endif()
-    if(_CMD_JAVA_HOME AND IS_DIRECTORY "${_CMD_JAVA_HOME}")
-      set(_JAVA_HOME "${_CMD_JAVA_HOME}")
-      set(_JAVA_HOME_EXPLICIT 0)
-    endif()
-    unset(_CMD_JAVA_HOME)
-  endif()
-  unset(_ENV_JAVA_HOME)
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeFindKDevelop3.cmake b/share/cmake-3.6/Modules/CMakeFindKDevelop3.cmake
deleted file mode 100644
index 2abd523..0000000
--- a/share/cmake-3.6/Modules/CMakeFindKDevelop3.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included in CMakeSystemSpecificInformation.cmake if
-# the KDevelop3 extra generator has been selected.
-
-find_program(CMAKE_KDEVELOP3_EXECUTABLE NAMES kdevelop DOC "The KDevelop3 executable")
-
-if(CMAKE_KDEVELOP3_EXECUTABLE)
-   set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_KDEVELOP3_EXECUTABLE} <PROJECT_FILE>" )
-endif()
-
diff --git a/share/cmake-3.6/Modules/CMakeFindKate.cmake b/share/cmake-3.6/Modules/CMakeFindKate.cmake
deleted file mode 100644
index 4dcdb28..0000000
--- a/share/cmake-3.6/Modules/CMakeFindKate.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included in CMakeSystemSpecificInformation.cmake if
-# the Eclipse CDT4 extra generator has been selected.
-
-
-# Try to find out how many CPUs we have and set the -j argument for make accordingly
-
-include(ProcessorCount)
-processorcount(_CMAKE_KATE_PROCESSOR_COUNT)
-
-# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
-# (we may also get here in the future e.g. for ninja)
-if("${_CMAKE_KATE_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
-  set(_CMAKE_KATE_INITIAL_MAKE_ARGS "-j${_CMAKE_KATE_PROCESSOR_COUNT}")
-endif()
-
-# This variable is used by the Eclipse generator and appended to the make invocation commands.
-set(CMAKE_KATE_MAKE_ARGUMENTS "${_CMAKE_KATE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Kate invokes make. Enter e.g. -j<some_number> to get parallel builds")
diff --git a/share/cmake-3.6/Modules/CMakeFindPackageMode.cmake b/share/cmake-3.6/Modules/CMakeFindPackageMode.cmake
deleted file mode 100644
index 26731dc..0000000
--- a/share/cmake-3.6/Modules/CMakeFindPackageMode.cmake
+++ /dev/null
@@ -1,211 +0,0 @@
-#.rst:
-# CMakeFindPackageMode
-# --------------------
-#
-#
-#
-# This file is executed by cmake when invoked with --find-package.  It
-# expects that the following variables are set using -D:
-#
-# ``NAME``
-#   name of the package
-# ``COMPILER_ID``
-#   the CMake compiler ID for which the result is,
-#   i.e. GNU/Intel/Clang/MSVC, etc.
-# ``LANGUAGE``
-#   language for which the result will be used,
-#   i.e. C/CXX/Fortan/ASM
-# ``MODE``
-#   ``EXIST``
-#     only check for existence of the given package
-#   ``COMPILE``
-#     print the flags needed for compiling an object file which uses
-#     the given package
-#   ``LINK``
-#     print the flags needed for linking when using the given package
-# ``QUIET``
-#   if TRUE, don't print anything
-
-#=============================================================================
-# Copyright 2006-2011 Alexander Neundorf, <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT NAME)
-  message(FATAL_ERROR "Name of the package to be searched not specified. Set the CMake variable NAME, e.g. -DNAME=JPEG .")
-endif()
-
-if(NOT COMPILER_ID)
-  message(FATAL_ERROR "COMPILER_ID argument not specified. In doubt, use GNU.")
-endif()
-
-if(NOT LANGUAGE)
-  message(FATAL_ERROR "LANGUAGE argument not specified. Use C, CXX or Fortran.")
-endif()
-
-if(NOT MODE)
-  message(FATAL_ERROR "MODE argument not specified. Use either EXIST, COMPILE or LINK.")
-endif()
-
-# require the current version. If we don't do this, Platforms/CYGWIN.cmake complains because
-# it doesn't know whether it should set WIN32 or not:
-cmake_minimum_required(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} )
-
-macro(ENABLE_LANGUAGE)
-  # disable the enable_language() command, otherwise --find-package breaks on Windows.
-  # On Windows, enable_language(RC) is called in the platform files unconditionally.
-  # But in --find-package mode, we don't want (and can't) enable any language.
-endmacro()
-
-set(CMAKE_PLATFORM_INFO_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
-
-include(CMakeDetermineSystem)
-
-# short-cut some tests on Darwin, see Darwin-GNU.cmake:
-if("${CMAKE_SYSTEM_NAME}" MATCHES Darwin  AND  "${COMPILER_ID}" MATCHES GNU)
-  set(CMAKE_${LANGUAGE}_SYSROOT_FLAG "")
-  set(CMAKE_${LANGUAGE}_OSX_DEPLOYMENT_TARGET_FLAG "")
-endif()
-
-# Also load the system specific file, which sets up e.g. the search paths.
-# This makes the FIND_XXX() calls work much better
-include(CMakeSystemSpecificInformation)
-
-if(UNIX)
-
-  # try to guess whether we have a 64bit system, if it has not been set
-  # from the outside
-  if(NOT CMAKE_SIZEOF_VOID_P)
-    set(CMAKE_SIZEOF_VOID_P 4)
-    if(EXISTS /usr/lib64)
-      set(CMAKE_SIZEOF_VOID_P 8)
-    else()
-      # use the file utility to check whether itself is 64 bit:
-      find_program(FILE_EXECUTABLE file)
-      if(FILE_EXECUTABLE)
-        get_filename_component(FILE_ABSPATH "${FILE_EXECUTABLE}" ABSOLUTE)
-        execute_process(COMMAND "${FILE_ABSPATH}" "${FILE_ABSPATH}" OUTPUT_VARIABLE fileOutput ERROR_QUIET)
-        if("${fileOutput}" MATCHES "64-bit")
-          set(CMAKE_SIZEOF_VOID_P 8)
-        endif()
-      endif()
-    endif()
-  endif()
-
-  # guess Debian multiarch if it has not been set:
-  if(EXISTS /etc/debian_version)
-    if(NOT CMAKE_${LANGUAGE}_LIBRARY_ARCHITECTURE )
-      file(GLOB filesInLib RELATIVE /lib /lib/*-linux-gnu* )
-      foreach(file ${filesInLib})
-        if("${file}" MATCHES "${CMAKE_LIBRARY_ARCHITECTURE_REGEX}")
-          set(CMAKE_${LANGUAGE}_LIBRARY_ARCHITECTURE ${file})
-          break()
-        endif()
-      endforeach()
-    endif()
-    if(NOT CMAKE_LIBRARY_ARCHITECTURE)
-      set(CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_${LANGUAGE}_LIBRARY_ARCHITECTURE})
-    endif()
-  endif()
-
-endif()
-
-set(CMAKE_${LANGUAGE}_COMPILER "dummy")
-set(CMAKE_${LANGUAGE}_COMPILER_ID "${COMPILER_ID}")
-include(CMake${LANGUAGE}Information)
-
-
-function(set_compile_flags_var _packageName)
-  string(TOUPPER "${_packageName}" PACKAGE_NAME)
-  # Check the following variables:
-  # FOO_INCLUDE_DIRS
-  # Foo_INCLUDE_DIRS
-  # FOO_INCLUDES
-  # Foo_INCLUDES
-  # FOO_INCLUDE_DIR
-  # Foo_INCLUDE_DIR
-  set(includes)
-  if(DEFINED ${_packageName}_INCLUDE_DIRS)
-    set(includes ${_packageName}_INCLUDE_DIRS)
-  elseif(DEFINED ${PACKAGE_NAME}_INCLUDE_DIRS)
-    set(includes ${PACKAGE_NAME}_INCLUDE_DIRS)
-  elseif(DEFINED ${_packageName}_INCLUDES)
-    set(includes ${_packageName}_INCLUDES)
-  elseif(DEFINED ${PACKAGE_NAME}_INCLUDES)
-    set(includes ${PACKAGE_NAME}_INCLUDES)
-  elseif(DEFINED ${_packageName}_INCLUDE_DIR)
-    set(includes ${_packageName}_INCLUDE_DIR)
-  elseif(DEFINED ${PACKAGE_NAME}_INCLUDE_DIR)
-    set(includes ${PACKAGE_NAME}_INCLUDE_DIR)
-  endif()
-
-  set(PACKAGE_INCLUDE_DIRS "${${includes}}" PARENT_SCOPE)
-
-  # Check the following variables:
-  # FOO_DEFINITIONS
-  # Foo_DEFINITIONS
-  set(definitions)
-  if(DEFINED ${_packageName}_DEFINITIONS)
-    set(definitions ${_packageName}_DEFINITIONS)
-  elseif(DEFINED ${PACKAGE_NAME}_DEFINITIONS)
-    set(definitions ${PACKAGE_NAME}_DEFINITIONS)
-  endif()
-
-  set(PACKAGE_DEFINITIONS  "${${definitions}}" )
-
-endfunction()
-
-
-function(set_link_flags_var _packageName)
-  string(TOUPPER "${_packageName}" PACKAGE_NAME)
-  # Check the following variables:
-  # FOO_LIBRARIES
-  # Foo_LIBRARIES
-  # FOO_LIBS
-  # Foo_LIBS
-  set(libs)
-  if(DEFINED ${_packageName}_LIBRARIES)
-    set(libs ${_packageName}_LIBRARIES)
-  elseif(DEFINED ${PACKAGE_NAME}_LIBRARIES)
-    set(libs ${PACKAGE_NAME}_LIBRARIES)
-  elseif(DEFINED ${_packageName}_LIBS)
-    set(libs ${_packageName}_LIBS)
-  elseif(DEFINED ${PACKAGE_NAME}_LIBS)
-    set(libs ${PACKAGE_NAME}_LIBS)
-  endif()
-
-  set(PACKAGE_LIBRARIES "${${libs}}" PARENT_SCOPE )
-
-endfunction()
-
-
-find_package("${NAME}" QUIET)
-
-set(PACKAGE_FOUND FALSE)
-
-string(TOUPPER "${NAME}" UPPERCASE_NAME)
-
-if(${NAME}_FOUND  OR  ${UPPERCASE_NAME}_FOUND)
-  set(PACKAGE_FOUND TRUE)
-
-  if("${MODE}" STREQUAL "EXIST")
-    # do nothing
-  elseif("${MODE}" STREQUAL "COMPILE")
-    set_compile_flags_var(${NAME})
-  elseif("${MODE}" STREQUAL "LINK")
-    set_link_flags_var(${NAME})
-  else()
-    message(FATAL_ERROR "Invalid mode argument ${MODE} given.")
-  endif()
-
-endif()
-
-set(PACKAGE_QUIET ${SILENT} )
diff --git a/share/cmake-3.6/Modules/CMakeFindWMake.cmake b/share/cmake-3.6/Modules/CMakeFindWMake.cmake
deleted file mode 100644
index 60275ae..0000000
--- a/share/cmake-3.6/Modules/CMakeFindWMake.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set (CMAKE_MAKE_PROGRAM "wmake" CACHE STRING
-     "Program used to build from makefiles.")
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeFindXCode.cmake b/share/cmake-3.6/Modules/CMakeFindXCode.cmake
deleted file mode 100644
index da0b97b..0000000
--- a/share/cmake-3.6/Modules/CMakeFindXCode.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Empty placeholder for input dependencies in existing
-# build trees produced by older versions of CMake.
diff --git a/share/cmake-3.6/Modules/CMakeForceCompiler.cmake b/share/cmake-3.6/Modules/CMakeForceCompiler.cmake
deleted file mode 100644
index d16d184..0000000
--- a/share/cmake-3.6/Modules/CMakeForceCompiler.cmake
+++ /dev/null
@@ -1,118 +0,0 @@
-#.rst:
-# CMakeForceCompiler
-# ------------------
-#
-# Deprecated.  Do not use.
-#
-# The macros provided by this module were once intended for use by
-# cross-compiling toolchain files when CMake was not able to automatically
-# detect the compiler identification.  Since the introduction of this module,
-# CMake's compiler identification capabilities have improved and can now be
-# taught to recognize any compiler.  Furthermore, the suite of information
-# CMake detects from a compiler is now too extensive to be provided by
-# toolchain files using these macros.
-#
-# One common use case for this module was to skip CMake's checks for a
-# working compiler when using a cross-compiler that cannot link binaries
-# without special flags or custom linker scripts.  This case is now supported
-# by setting the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable in the
-# toolchain file instead.
-#
-# -------------------------------------------------------------------------
-#
-# Macro CMAKE_FORCE_C_COMPILER has the following signature:
-#
-# ::
-#
-#    CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
-#
-# It sets CMAKE_C_COMPILER to the given compiler and the cmake internal
-# variable CMAKE_C_COMPILER_ID to the given compiler-id.  It also
-# bypasses the check for working compiler and basic compiler information
-# tests.
-#
-# Macro CMAKE_FORCE_CXX_COMPILER has the following signature:
-#
-# ::
-#
-#    CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
-#
-# It sets CMAKE_CXX_COMPILER to the given compiler and the cmake
-# internal variable CMAKE_CXX_COMPILER_ID to the given compiler-id.  It
-# also bypasses the check for working compiler and basic compiler
-# information tests.
-#
-# Macro CMAKE_FORCE_Fortran_COMPILER has the following signature:
-#
-# ::
-#
-#    CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>)
-#
-# It sets CMAKE_Fortran_COMPILER to the given compiler and the cmake
-# internal variable CMAKE_Fortran_COMPILER_ID to the given compiler-id.
-# It also bypasses the check for working compiler and basic compiler
-# information tests.
-#
-# So a simple toolchain file could look like this:
-#
-# ::
-#
-#    include (CMakeForceCompiler)
-#    set(CMAKE_SYSTEM_NAME Generic)
-#    CMAKE_FORCE_C_COMPILER   (chc12 MetrowerksHicross)
-#    CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CMAKE_FORCE_C_COMPILER compiler id)
-  message(DEPRECATION "The CMAKE_FORCE_C_COMPILER macro is deprecated.  "
-    "Instead just set CMAKE_C_COMPILER and allow CMake to identify the compiler.")
-  set(CMAKE_C_COMPILER "${compiler}")
-  set(CMAKE_C_COMPILER_ID_RUN TRUE)
-  set(CMAKE_C_COMPILER_ID ${id})
-  set(CMAKE_C_COMPILER_FORCED TRUE)
-
-  # Set old compiler id variables.
-  if(CMAKE_C_COMPILER_ID MATCHES "GNU")
-    set(CMAKE_COMPILER_IS_GNUCC 1)
-  endif()
-endmacro()
-
-macro(CMAKE_FORCE_CXX_COMPILER compiler id)
-  message(DEPRECATION "The CMAKE_FORCE_CXX_COMPILER macro is deprecated.  "
-    "Instead just set CMAKE_CXX_COMPILER and allow CMake to identify the compiler.")
-  set(CMAKE_CXX_COMPILER "${compiler}")
-  set(CMAKE_CXX_COMPILER_ID_RUN TRUE)
-  set(CMAKE_CXX_COMPILER_ID ${id})
-  set(CMAKE_CXX_COMPILER_FORCED TRUE)
-
-  # Set old compiler id variables.
-  if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
-    set(CMAKE_COMPILER_IS_GNUCXX 1)
-  endif()
-endmacro()
-
-macro(CMAKE_FORCE_Fortran_COMPILER compiler id)
-  message(DEPRECATION "The CMAKE_FORCE_Fortran_COMPILER macro is deprecated.  "
-    "Instead just set CMAKE_Fortran_COMPILER and allow CMake to identify the compiler.")
-  set(CMAKE_Fortran_COMPILER "${compiler}")
-  set(CMAKE_Fortran_COMPILER_ID_RUN TRUE)
-  set(CMAKE_Fortran_COMPILER_ID ${id})
-  set(CMAKE_Fortran_COMPILER_FORCED TRUE)
-
-  # Set old compiler id variables.
-  if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
-    set(CMAKE_COMPILER_IS_GNUG77 1)
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeFortranCompiler.cmake.in b/share/cmake-3.6/Modules/CMakeFortranCompiler.cmake.in
deleted file mode 100644
index 2a4bea4..0000000
--- a/share/cmake-3.6/Modules/CMakeFortranCompiler.cmake.in
+++ /dev/null
@@ -1,59 +0,0 @@
-set(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
-set(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
-set(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
-set(CMAKE_Fortran_COMPILER_VERSION "@CMAKE_Fortran_COMPILER_VERSION@")
-set(CMAKE_Fortran_COMPILER_WRAPPER "@CMAKE_Fortran_COMPILER_WRAPPER@")
-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_MSVC_Fortran_ARCHITECTURE_ID@
-set(CMAKE_AR "@CMAKE_AR@")
-set(CMAKE_RANLIB "@CMAKE_RANLIB@")
-set(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
-set(CMAKE_Fortran_COMPILER_LOADED 1)
-set(CMAKE_Fortran_COMPILER_WORKS @CMAKE_Fortran_COMPILER_WORKS@)
-set(CMAKE_Fortran_ABI_COMPILED @CMAKE_Fortran_ABI_COMPILED@)
-set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
-set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
-if(CMAKE_COMPILER_IS_CYGWIN)
-  set(CYGWIN 1)
-  set(UNIX 1)
-endif()
-
-set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
-
-set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 @CMAKE_Fortran_COMPILER_SUPPORTS_F90@)
-
-if(CMAKE_COMPILER_IS_MINGW)
-  set(MINGW 1)
-endif()
-set(CMAKE_Fortran_COMPILER_ID_RUN 1)
-set(CMAKE_Fortran_SOURCE_FILE_EXTENSIONS f;F;f77;F77;f90;F90;for;For;FOR;f95;F95)
-set(CMAKE_Fortran_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_Fortran_LINKER_PREFERENCE 20)
-if(UNIX)
-  set(CMAKE_Fortran_OUTPUT_EXTENSION .o)
-else()
-  set(CMAKE_Fortran_OUTPUT_EXTENSION .obj)
-endif()
-
-# Save compiler ABI information.
-set(CMAKE_Fortran_SIZEOF_DATA_PTR "@CMAKE_Fortran_SIZEOF_DATA_PTR@")
-set(CMAKE_Fortran_COMPILER_ABI "@CMAKE_Fortran_COMPILER_ABI@")
-set(CMAKE_Fortran_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
-
-if(CMAKE_Fortran_SIZEOF_DATA_PTR AND NOT CMAKE_SIZEOF_VOID_P)
-  set(CMAKE_SIZEOF_VOID_P "${CMAKE_Fortran_SIZEOF_DATA_PTR}")
-endif()
-
-if(CMAKE_Fortran_COMPILER_ABI)
-  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_Fortran_COMPILER_ABI}")
-endif()
-
-if(CMAKE_Fortran_LIBRARY_ARCHITECTURE)
-  set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
-endif()
-
-set(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES "@CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES@")
-set(CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES@")
-set(CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/share/cmake-3.6/Modules/CMakeFortranCompilerId.F.in b/share/cmake-3.6/Modules/CMakeFortranCompilerId.F.in
deleted file mode 100644
index 67cda3b..0000000
--- a/share/cmake-3.6/Modules/CMakeFortranCompilerId.F.in
+++ /dev/null
@@ -1,208 +0,0 @@
-      PROGRAM CMakeFortranCompilerId
-#if 0
-! Identify the compiler
-#endif
-#if defined(__INTEL_COMPILER) || defined(__ICC)
-        PRINT *, 'INFO:compiler[Intel]'
-# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
-# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
-# if defined(__INTEL_COMPILER_UPDATE)
-#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
-# else
-#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
-# endif
-# if defined(__INTEL_COMPILER_BUILD_DATE)
-#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
-# endif
-
-# if defined(_MSC_VER)
-        PRINT *, 'INFO:simulate[MSVC]'
-#  if _MSC_VER >= 1900
-        PRINT *, 'INFO:simulate_version[019.00]'
-#  elif _MSC_VER >= 1800
-        PRINT *, 'INFO:simulate_version[018.00]'
-#  elif _MSC_VER >= 1700
-        PRINT *, 'INFO:simulate_version[017.00]'
-#  elif _MSC_VER >= 1600
-        PRINT *, 'INFO:simulate_version[016.00]'
-#  elif _MSC_VER >= 1500
-        PRINT *, 'INFO:simulate_version[015.00]'
-#  elif _MSC_VER >= 1400
-        PRINT *, 'INFO:simulate_version[014.00]'
-#  elif _MSC_VER >= 1310
-        PRINT *, 'INFO:simulate_version[013.01]'
-#  else
-        PRINT *, 'INFO:simulate_version[013.00]'
-#  endif
-# endif
-#elif defined(__SUNPRO_F95)
-        PRINT *, 'INFO:compiler[SunPro]'
-# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_F95>>8)
-# define COMPILER_VERSION_MINOR HEX(__SUNPRO_F95>>4 & 0xF)
-# define COMPILER_VERSION_PATCH HEX(__SUNPRO_F95    & 0xF)
-#elif defined(__SUNPRO_F90)
-        PRINT *, 'INFO:compiler[SunPro]'
-# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_F90>>8)
-# define COMPILER_VERSION_MINOR HEX(__SUNPRO_F90>>4 & 0xF)
-# define COMPILER_VERSION_PATCH HEX(__SUNPRO_F90    & 0xF)
-#elif defined(_CRAYFTN)
-        PRINT *, 'INFO:compiler[Cray]'
-# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
-# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
-#elif defined(__G95__)
-        PRINT *, 'INFO:compiler[G95]'
-# define COMPILER_VERSION_MAJOR DEC(__G95__)
-# define COMPILER_VERSION_MINOR DEC(__G95_MINOR__)
-#elif defined(__PATHSCALE__)
-        PRINT *, 'INFO:compiler[PathScale]'
-# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
-# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
-# if defined(__PATHCC_PATCHLEVEL__)
-#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
-# endif
-#elif defined(__ABSOFT__)
-        PRINT *, 'INFO:compiler[Absoft]'
-#elif defined(__GNUC__)
-        PRINT *, 'INFO:compiler[GNU]'
-# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
-# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
-# if defined(__GNUC_PATCHLEVEL__)
-#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
-# endif
-#elif defined(__IBMC__)
-# if defined(__COMPILER_VER__)
-        PRINT *, 'INFO:compiler[zOS]'
-# elif __IBMC__ >= 800
-        PRINT *, 'INFO:compiler[XL]'
-#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
-#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
-#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
-# else
-        PRINT *, 'INFO:compiler[VisualAge]'
-#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
-#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
-#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
-# endif
-#elif defined(__PGI)
-        PRINT *, 'INFO:compiler[PGI]'
-# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
-# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
-# if defined(__PGIC_PATCHLEVEL__)
-#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
-# endif
-#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
-        PRINT *, 'INFO:compiler[MIPSpro]'
-#       if 0
-!       This compiler is either not known or is too old to define an
-!       identification macro.  Try to identify the platform and guess that
-!       it is the native compiler.
-#       endif
-#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
-        PRINT *, 'INFO:compiler[VisualAge]'
-#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
-        PRINT *, 'INFO:compiler[MIPSpro]'
-#elif defined(__hpux) || defined(__hpux__)
-        PRINT *, 'INFO:compiler[HP]'
-#elif 1
-#       if 0
-!       The above 'elif 1' instead of 'else' is to work around a bug in the
-!       SGI preprocessor which produces both the __sgi and else blocks.
-#       endif
-        PRINT *, 'INFO:compiler[]'
-#endif
-#if defined(__CRAYXE) || defined(__CRAYXC)
-        PRINT *, 'INFO:compiler_wrapper[CrayPrgEnv]'
-#endif
-
-#if 0
-! Identify the platform
-#endif
-#if defined(__linux) || defined(__linux__) || defined(linux)
-        PRINT *, 'INFO:platform[Linux]'
-#elif defined(__CYGWIN__)
-        PRINT *, 'INFO:platform[Cygwin]'
-#elif defined(__MINGW32__)
-        PRINT *, 'INFO:platform[MinGW]'
-#elif defined(__APPLE__)
-        PRINT *, 'INFO:platform[Darwin]'
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-        PRINT *, 'INFO:platform[Windows]'
-#elif defined(__FreeBSD__) || defined(__FreeBSD)
-        PRINT *, 'INFO:platform[FreeBSD]'
-#elif defined(__NetBSD__) || defined(__NetBSD)
-        PRINT *, 'INFO:platform[NetBSD]'
-#elif defined(__OpenBSD__) || defined(__OPENBSD)
-        PRINT *, 'INFO:platform[OpenBSD]'
-#elif defined(__sun) || defined(sun)
-        PRINT *, 'INFO:platform[SunOS]'
-#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
-        PRINT *, 'INFO:platform[AIX]'
-#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
-        PRINT *, 'INFO:platform[IRIX]'
-#elif defined(__hpux) || defined(__hpux__)
-        PRINT *, 'INFO:platform[HP-UX]'
-#elif defined(__HAIKU__)
-        PRINT *, 'INFO:platform[Haiku]'
-#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
-        PRINT *, 'INFO:platform[BeOS]'
-#elif defined(__QNX__) || defined(__QNXNTO__)
-        PRINT *, 'INFO:platform[QNX]'
-#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
-        PRINT *, 'INFO:platform[Tru64]'
-#elif defined(__riscos) || defined(__riscos__)
-        PRINT *, 'INFO:platform[RISCos]'
-#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
-        PRINT *, 'INFO:platform[SINIX]'
-#elif defined(__UNIX_SV__)
-        PRINT *, 'INFO:platform[UNIX_SV]'
-#elif defined(__bsdos__)
-        PRINT *, 'INFO:platform[BSDOS]'
-#elif defined(_MPRAS) || defined(MPRAS)
-        PRINT *, 'INFO:platform[MP-RAS]'
-#elif defined(__osf) || defined(__osf__)
-        PRINT *, 'INFO:platform[OSF1]'
-#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
-        PRINT *, 'INFO:platform[SCO_SV]'
-#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
-        PRINT *, 'INFO:platform[ULTRIX]'
-#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
-        PRINT *, 'INFO:platform[Xenix]'
-#elif 1
-#       if 0
-!       The above 'elif 1' instead of 'else' is to work around a bug in the
-!       SGI preprocessor which produces both the __sgi and else blocks.
-#       endif
-        PRINT *, 'INFO:platform[]'
-#endif
-#if defined(_WIN32) && (defined(__INTEL_COMPILER) || defined(__ICC))
-# if defined(_M_IA64)
-        PRINT *, 'INFO:arch[IA64]'
-# elif defined(_M_X64) || defined(_M_AMD64)
-        PRINT *, 'INFO:arch[x64]'
-# elif defined(_M_IX86)
-        PRINT *, 'INFO:arch[X86]'
-# endif
-#endif
-
-#if 0
-! Encode compiler version digits
-#endif
-#define DEC_8(n) (((n) / 10000000) % 10)
-#define DEC_7(n) (((n) / 1000000)  % 10)
-#define DEC_6(n) (((n) / 100000)   % 10)
-#define DEC_5(n) (((n) / 10000)    % 10)
-#define DEC_4(n) (((n) / 1000)     % 10)
-#define DEC_3(n) (((n) / 100)      % 10)
-#define DEC_2(n) (((n) / 10)       % 10)
-#define DEC_1(n) (((n)    )        % 10)
-#define HEX_8(n) ((n)>>28 & 0xF)
-#define HEX_7(n) ((n)>>24 & 0xF)
-#define HEX_6(n) ((n)>>20 & 0xF)
-#define HEX_5(n) ((n)>>16 & 0xF)
-#define HEX_4(n) ((n)>>12 & 0xF)
-#define HEX_3(n) ((n)>>8  & 0xF)
-#define HEX_2(n) ((n)>>4  & 0xF)
-#define HEX_1(n) ((n)     & 0xF)
-@CMAKE_Fortran_COMPILER_ID_VERSION_INFO@
-
-      END
diff --git a/share/cmake-3.6/Modules/CMakeFortranInformation.cmake b/share/cmake-3.6/Modules/CMakeFortranInformation.cmake
deleted file mode 100644
index 1fd0972..0000000
--- a/share/cmake-3.6/Modules/CMakeFortranInformation.cmake
+++ /dev/null
@@ -1,253 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CMakeLanguageInformation)
-
-# This file sets the basic flags for the Fortran language in CMake.
-# It also loads the available platform file for the system-compiler
-# if it exists.
-
-set(_INCLUDED_FILE 0)
-
-# Load compiler-specific information.
-if(CMAKE_Fortran_COMPILER_ID)
-  include(Compiler/${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL)
-endif()
-
-set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME "${CMAKE_Fortran_COMPILER}" NAME_WE)
-# since the gnu compiler has several names force g++
-if(CMAKE_COMPILER_IS_GNUG77)
-  set(CMAKE_BASE_NAME g77)
-endif()
-if(CMAKE_Fortran_COMPILER_ID)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-endif()
-if (NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
-          RESULT_VARIABLE _INCLUDED_FILE)
-endif ()
-
-# load any compiler-wrapper specific information
-if (CMAKE_Fortran_COMPILER_WRAPPER)
-  __cmake_include_compiler_wrapper(Fortran)
-endif ()
-
-# We specify the compiler information in the system file for some
-# platforms, but this language may not have been enabled when the file
-# was first included.  Include it again to get the language info.
-# Remove this when all compiler info is removed from system files.
-if (NOT _INCLUDED_FILE)
-  include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
-endif ()
-
-if(CMAKE_Fortran_SIZEOF_DATA_PTR)
-  foreach(f ${CMAKE_Fortran_ABI_FILES})
-    include(${f})
-  endforeach()
-  unset(CMAKE_Fortran_ABI_FILES)
-endif()
-
-# This should be included before the _INIT variables are
-# used to initialize the cache.  Since the rule variables
-# have if blocks on them, users can still define them here.
-# But, it should still be after the platform file so changes can
-# be made to those values.
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-endif()
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran "${_override}")
-endif()
-
-
-# Fortran needs cmake to do a requires step during its build process to
-# catch any modules
-set(CMAKE_NEEDS_REQUIRES_STEP_Fortran_FLAG 1)
-
-if(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIC)
-  set(CMAKE_Fortran_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
-endif()
-
-if(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIE)
-  set(CMAKE_Fortran_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
-endif()
-
-if(NOT CMAKE_Fortran_COMPILE_OPTIONS_DLL)
-  set(CMAKE_Fortran_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
-endif()
-
-# Create a set of shared library variable specific to Fortran
-# For 90% of the systems, these are the same flags as the C versions
-# so if these are not set just copy the flags from the c version
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS)
-  set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_Fortran_FLAGS)
-  set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
-  set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG)
-  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_EXE_EXPORTS_Fortran_FLAG)
-  set(CMAKE_EXE_EXPORTS_Fortran_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG)
-  set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
-endif()
-
-# for most systems a module is the same as a shared library
-# so unless the variable CMAKE_MODULE_EXISTS is set just
-# copy the values from the LIBRARY variables
-if(NOT CMAKE_MODULE_EXISTS)
-  set(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_Fortran_FLAGS})
-  set(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS})
-endif()
-
-# repeat for modules
-if(NOT DEFINED CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS)
-  set(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_MODULE_Fortran_FLAGS)
-  set(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
-endif()
-
-if(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG)
-  set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP)
-  set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP})
-endif()
-
-if(NOT DEFINED CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG)
-  set(CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG})
-endif()
-
-if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
-  set(CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
-endif()
-
-if(NOT CMAKE_INCLUDE_FLAG_Fortran)
-  set(CMAKE_INCLUDE_FLAG_Fortran ${CMAKE_INCLUDE_FLAG_C})
-endif()
-
-if(NOT CMAKE_INCLUDE_FLAG_SEP_Fortran)
-  set(CMAKE_INCLUDE_FLAG_SEP_Fortran ${CMAKE_INCLUDE_FLAG_SEP_C})
-endif()
-
-set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make.  This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
-
-set(CMAKE_Fortran_FLAGS_INIT "$ENV{FFLAGS} ${CMAKE_Fortran_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-if(CMAKE_Fortran_FLAGS_INIT STREQUAL " ")
-  set(CMAKE_Fortran_FLAGS_INIT)
-endif()
-set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_INIT}" CACHE STRING
-     "Flags for Fortran compiler.")
-
-include(CMakeCommonLanguageInclude)
-
-# now define the following rule variables
-# CMAKE_Fortran_CREATE_SHARED_LIBRARY
-# CMAKE_Fortran_CREATE_SHARED_MODULE
-# CMAKE_Fortran_COMPILE_OBJECT
-# CMAKE_Fortran_LINK_EXECUTABLE
-
-# create a Fortran shared library
-if(NOT CMAKE_Fortran_CREATE_SHARED_LIBRARY)
-  set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
-      "<CMAKE_Fortran_COMPILER> <CMAKE_SHARED_LIBRARY_Fortran_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-endif()
-
-# create a Fortran shared module just copy the shared library rule
-if(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
-  set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
-endif()
-
-# Create a static archive incrementally for large object file counts.
-# If CMAKE_Fortran_CREATE_STATIC_LIBRARY is set it will override these.
-if(NOT DEFINED CMAKE_Fortran_ARCHIVE_CREATE)
-  set(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
-endif()
-if(NOT DEFINED CMAKE_Fortran_ARCHIVE_APPEND)
-  set(CMAKE_Fortran_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
-endif()
-if(NOT DEFINED CMAKE_Fortran_ARCHIVE_FINISH)
-  set(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-endif()
-
-# compile a Fortran file into an object file
-# (put -o after -c to workaround bug in at least one mpif77 wrapper)
-if(NOT CMAKE_Fortran_COMPILE_OBJECT)
-  set(CMAKE_Fortran_COMPILE_OBJECT
-    "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -c <SOURCE> -o <OBJECT>")
-endif()
-
-# link a fortran program
-if(NOT CMAKE_Fortran_LINK_EXECUTABLE)
-  set(CMAKE_Fortran_LINK_EXECUTABLE
-    "<CMAKE_Fortran_COMPILER> <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-endif()
-
-if(CMAKE_Fortran_STANDARD_LIBRARIES_INIT)
-  set(CMAKE_Fortran_STANDARD_LIBRARIES "${CMAKE_Fortran_STANDARD_LIBRARIES_INIT}"
-    CACHE STRING "Libraries linked by default with all Fortran applications.")
-  mark_as_advanced(CMAKE_Fortran_STANDARD_LIBRARIES)
-endif()
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-  set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG_INIT}" CACHE STRING
-     "Flags used by the compiler during debug builds.")
-  set (CMAKE_Fortran_FLAGS_MINSIZEREL "${CMAKE_Fortran_FLAGS_MINSIZEREL_INIT}" CACHE STRING
-     "Flags used by the compiler during release builds for minimum size.")
-  set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE_INIT}" CACHE STRING
-     "Flags used by the compiler during release builds.")
-  set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
-     "Flags used by the compiler during release builds with debug info.")
-
-endif()
-
-mark_as_advanced(
-CMAKE_Fortran_FLAGS
-CMAKE_Fortran_FLAGS_DEBUG
-CMAKE_Fortran_FLAGS_MINSIZEREL
-CMAKE_Fortran_FLAGS_RELEASE
-CMAKE_Fortran_FLAGS_RELWITHDEBINFO)
-
-# set this variable so we can avoid loading this more than once.
-set(CMAKE_Fortran_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeGenericSystem.cmake b/share/cmake-3.6/Modules/CMakeGenericSystem.cmake
deleted file mode 100644
index 5ae757d..0000000
--- a/share/cmake-3.6/Modules/CMakeGenericSystem.cmake
+++ /dev/null
@@ -1,190 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(CMAKE_SHARED_LIBRARY_C_FLAGS "")            # -pic
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")       # -shared
-set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")         # +s, flag for exe link to use shared lib
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")       # -rpath
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")   # : or empty
-set(CMAKE_INCLUDE_FLAG_C "-I")       # -I
-set(CMAKE_INCLUDE_FLAG_C_SEP "")     # , or empty
-set(CMAKE_LIBRARY_PATH_FLAG "-L")
-set(CMAKE_LIBRARY_PATH_TERMINATOR "")  # for the Digital Mars D compiler the link paths have to be terminated with a "/"
-set(CMAKE_LINK_LIBRARY_FLAG "-l")
-
-set(CMAKE_LINK_LIBRARY_SUFFIX "")
-set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-set(CMAKE_SHARED_LIBRARY_PREFIX "lib")          # lib
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")          # .so
-set(CMAKE_EXECUTABLE_SUFFIX "")          # .exe
-set(CMAKE_DL_LIBS "dl")
-
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
-
-# basically all general purpose OSs support shared libs
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
-
-set (CMAKE_SKIP_RPATH "NO" CACHE BOOL
-     "If set, runtime paths are not added when using shared libraries.")
-set (CMAKE_SKIP_INSTALL_RPATH "NO" CACHE BOOL
-     "If set, runtime paths are not added when installing shared libraries, but are added when building.")
-
-set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make.  This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
-
-if(CMAKE_GENERATOR MATCHES "Make")
-  set(CMAKE_COLOR_MAKEFILE ON CACHE BOOL
-    "Enable/Disable color output during build."
-    )
-  mark_as_advanced(CMAKE_COLOR_MAKEFILE)
-  if(DEFINED CMAKE_RULE_MESSAGES)
-    set_property(GLOBAL PROPERTY RULE_MESSAGES ${CMAKE_RULE_MESSAGES})
-  endif()
-  if(DEFINED CMAKE_TARGET_MESSAGES)
-    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."
-      )
-    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."
-    )
-  mark_as_advanced(CMAKE_EXPORT_COMPILE_COMMANDS)
-endif()
-
-# GetDefaultWindowsPrefixBase
-#
-# Compute the base directory for CMAKE_INSTALL_PREFIX based on:
-#  - is this 32-bit or 64-bit Windows
-#  - is this 32-bit or 64-bit CMake running
-#  - what architecture targets will be built
-#
-function(GetDefaultWindowsPrefixBase var)
-
-  # Try to guess what architecture targets will end up being built as,
-  # even if CMAKE_SIZEOF_VOID_P is not computed yet... We need to know
-  # the architecture of the targets being built to choose the right
-  # default value for CMAKE_INSTALL_PREFIX.
-  #
-  if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
-    set(arch_hint "x64")
-  elseif("${CMAKE_GENERATOR}" MATCHES "ARM")
-    set(arch_hint "ARM")
-  elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
-    set(arch_hint "x64")
-  elseif("$ENV{LIB}" MATCHES "(amd64|ia64)")
-    set(arch_hint "x64")
-  endif()
-
-  if(NOT arch_hint)
-    set(arch_hint "x86")
-  endif()
-
-  # default env in a 64-bit app on Win64:
-  # ProgramFiles=C:\Program Files
-  # ProgramFiles(x86)=C:\Program Files (x86)
-  # ProgramW6432=C:\Program Files
-  #
-  # default env in a 32-bit app on Win64:
-  # ProgramFiles=C:\Program Files (x86)
-  # ProgramFiles(x86)=C:\Program Files (x86)
-  # ProgramW6432=C:\Program Files
-  #
-  # default env in a 32-bit app on Win32:
-  # ProgramFiles=C:\Program Files
-  # ProgramFiles(x86) NOT DEFINED
-  # ProgramW6432 NOT DEFINED
-
-  # By default, use the ProgramFiles env var as the base value of
-  # CMAKE_INSTALL_PREFIX:
-  #
-  set(_PREFIX_ENV_VAR "ProgramFiles")
-
-  if ("$ENV{ProgramW6432}" STREQUAL "")
-    # running on 32-bit Windows
-    # must be a 32-bit CMake, too...
-    #message("guess: this is a 32-bit CMake running on 32-bit Windows")
-  else()
-    # running on 64-bit Windows
-    if ("$ENV{ProgramW6432}" STREQUAL "$ENV{ProgramFiles}")
-      # 64-bit CMake
-      #message("guess: this is a 64-bit CMake running on 64-bit Windows")
-      if(NOT "${arch_hint}" STREQUAL "x64")
-      # building 32-bit targets
-        set(_PREFIX_ENV_VAR "ProgramFiles(x86)")
-      endif()
-    else()
-      # 32-bit CMake
-      #message("guess: this is a 32-bit CMake running on 64-bit Windows")
-      if("${arch_hint}" STREQUAL "x64")
-      # building 64-bit targets
-        set(_PREFIX_ENV_VAR "ProgramW6432")
-      endif()
-    endif()
-  endif()
-
-  #if("${arch_hint}" STREQUAL "x64")
-  #  message("guess: you are building a 64-bit app")
-  #else()
-  #  message("guess: you are building a 32-bit app")
-  #endif()
-
-  if(NOT "$ENV{${_PREFIX_ENV_VAR}}" STREQUAL "")
-    file(TO_CMAKE_PATH "$ENV{${_PREFIX_ENV_VAR}}" _base)
-  elseif(NOT "$ENV{SystemDrive}" STREQUAL "")
-    set(_base "$ENV{SystemDrive}/Program Files")
-  else()
-    set(_base "C:/Program Files")
-  endif()
-
-  set(${var} "${_base}" PARENT_SCOPE)
-endfunction()
-
-
-# Set a variable to indicate whether the value of CMAKE_INSTALL_PREFIX
-# was initialized by the block below.  This is useful for user
-# projects to change the default prefix while still allowing the
-# command line to override it.
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
-  set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 1)
-endif()
-
-# Choose a default install prefix for this platform.
-if(CMAKE_HOST_UNIX)
-  set(CMAKE_INSTALL_PREFIX "/usr/local"
-    CACHE PATH "Install path prefix, prepended onto install directories.")
-else()
-  GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
-  set(CMAKE_INSTALL_PREFIX
-    "${CMAKE_GENERIC_PROGRAM_FILES}/${PROJECT_NAME}"
-    CACHE PATH "Install path prefix, prepended onto install directories.")
-  set(CMAKE_GENERIC_PROGRAM_FILES)
-endif()
-
-# Set a variable which will be used as component name in install() commands
-# where no COMPONENT has been given:
-set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "Unspecified")
-
-mark_as_advanced(
-  CMAKE_SKIP_RPATH
-  CMAKE_SKIP_INSTALL_RPATH
-  CMAKE_VERBOSE_MAKEFILE
-)
diff --git a/share/cmake-3.6/Modules/CMakeGraphVizOptions.cmake b/share/cmake-3.6/Modules/CMakeGraphVizOptions.cmake
deleted file mode 100644
index ff18267..0000000
--- a/share/cmake-3.6/Modules/CMakeGraphVizOptions.cmake
+++ /dev/null
@@ -1,123 +0,0 @@
-#.rst:
-# CMakeGraphVizOptions
-# --------------------
-#
-# The builtin graphviz support of CMake.
-#
-# Variables specific to the graphviz support
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# CMake
-# can generate graphviz 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 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
-#
-# 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
-# ${CMAKE_BINARY_DIR} and then in ${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"
-#
-# .. 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
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-# Copyright 2013 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
diff --git a/share/cmake-3.6/Modules/CMakeIOSInstallCombined.cmake b/share/cmake-3.6/Modules/CMakeIOSInstallCombined.cmake
deleted file mode 100644
index 1256f56..0000000
--- a/share/cmake-3.6/Modules/CMakeIOSInstallCombined.cmake
+++ /dev/null
@@ -1,307 +0,0 @@
-
-#=============================================================================
-# Copyright 2014-2015 Ruslan Baratov, Gregor Jasny
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Function to print messages of this module
-function(_ios_install_combined_message)
-  message("[iOS combined] " ${ARGN})
-endfunction()
-
-# Get build settings for the current target/config/SDK by running
-# `xcodebuild -sdk ... -showBuildSettings` and parsing it's output
-function(_ios_install_combined_get_build_setting sdk variable resultvar)
-  if("${sdk}" STREQUAL "")
-    message(FATAL_ERROR "`sdk` is empty")
-  endif()
-
-  if("${variable}" STREQUAL "")
-    message(FATAL_ERROR "`variable` is empty")
-  endif()
-
-  if("${resultvar}" STREQUAL "")
-    message(FATAL_ERROR "`resultvar` is empty")
-  endif()
-
-  set(
-      cmd
-      xcodebuild -showBuildSettings
-      -sdk "${sdk}"
-      -target "${CURRENT_TARGET}"
-      -config "${CURRENT_CONFIG}"
-  )
-
-  execute_process(
-      COMMAND ${cmd}
-      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
-      RESULT_VARIABLE result
-      OUTPUT_VARIABLE output
-  )
-
-  if(NOT result EQUAL 0)
-    message(FATAL_ERROR "Command failed (${result}): ${cmd}")
-  endif()
-
-  if(NOT output MATCHES " ${variable} = ([^\n]*)")
-    if("${variable}" STREQUAL "VALID_ARCHS")
-      # VALID_ARCHS may be unset by user for given SDK
-      # (e.g. for build without simulator).
-      set("${resultvar}" "" PARENT_SCOPE)
-      return()
-    else()
-      message(FATAL_ERROR "${variable} not found.")
-    endif()
-  endif()
-
-  set("${resultvar}" "${CMAKE_MATCH_1}" PARENT_SCOPE)
-endfunction()
-
-# Get architectures of given SDK (iphonesimulator/iphoneos)
-function(_ios_install_combined_get_valid_archs sdk resultvar)
-  cmake_policy(SET CMP0007 NEW)
-
-  if("${resultvar}" STREQUAL "")
-    message(FATAL_ERROR "`resultvar` is empty")
-  endif()
-
-  _ios_install_combined_get_build_setting("${sdk}" "VALID_ARCHS" valid_archs)
-
-  separate_arguments(valid_archs)
-  list(REMOVE_ITEM valid_archs "") # remove empty elements
-  list(REMOVE_DUPLICATES valid_archs)
-
-  string(REPLACE ";" " " printable "${valid_archs}")
-  _ios_install_combined_message("Architectures (${sdk}): ${printable}")
-
-  set("${resultvar}" "${valid_archs}" PARENT_SCOPE)
-endfunction()
-
-# Final target can contain more architectures that specified by SDK. This
-# function will run 'lipo -info' and parse output. Result will be returned
-# as a CMake list.
-function(_ios_install_combined_get_real_archs filename resultvar)
-  set(cmd "${_lipo_path}" -info "${filename}")
-  execute_process(
-      COMMAND ${cmd}
-      RESULT_VARIABLE result
-      OUTPUT_VARIABLE output
-      ERROR_VARIABLE output
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_STRIP_TRAILING_WHITESPACE
-  )
-  if(NOT result EQUAL 0)
-    message(
-        FATAL_ERROR "Command failed (${result}): ${cmd}\n\nOutput:\n${output}"
-    )
-  endif()
-
-  if(NOT output MATCHES "(Architectures in the fat file: [^\n]+ are|Non-fat file: [^\n]+ is architecture): ([^\n]*)")
-    message(FATAL_ERROR "Could not detect architecture from: ${output}")
-  endif()
-
-  separate_arguments(CMAKE_MATCH_2)
-  set(${resultvar} ${CMAKE_MATCH_2} PARENT_SCOPE)
-endfunction()
-
-# Run build command for the given SDK
-function(_ios_install_combined_build sdk)
-  if("${sdk}" STREQUAL "")
-    message(FATAL_ERROR "`sdk` is empty")
-  endif()
-
-  _ios_install_combined_message("Build `${CURRENT_TARGET}` for `${sdk}`")
-
-  execute_process(
-      COMMAND
-      "${CMAKE_COMMAND}"
-      --build
-      .
-      --target "${CURRENT_TARGET}"
-      --config ${CURRENT_CONFIG}
-      --
-      -sdk "${sdk}"
-      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
-      RESULT_VARIABLE result
-  )
-
-  if(NOT result EQUAL 0)
-    message(FATAL_ERROR "Build failed")
-  endif()
-endfunction()
-
-# Remove given architecture from file. This step needed only in rare cases
-# when target was built in "unusual" way. Emit warning message.
-function(_ios_install_combined_remove_arch lib arch)
-  _ios_install_combined_message(
-    "Warning! Unexpected architecture `${arch}` detected and will be removed "
-    "from file `${lib}`")
-  set(cmd "${_lipo_path}" -remove ${arch} -output ${lib} ${lib})
-  execute_process(
-      COMMAND ${cmd}
-      RESULT_VARIABLE result
-      OUTPUT_VARIABLE output
-      ERROR_VARIABLE output
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_STRIP_TRAILING_WHITESPACE
-  )
-  if(NOT result EQUAL 0)
-    message(
-        FATAL_ERROR "Command failed (${result}): ${cmd}\n\nOutput:\n${output}"
-    )
-  endif()
-endfunction()
-
-# Check that 'lib' contains only 'archs' architectures (remove others).
-function(_ios_install_combined_keep_archs lib archs)
-  _ios_install_combined_get_real_archs("${lib}" real_archs)
-  set(archs_to_remove ${real_archs})
-  list(REMOVE_ITEM archs_to_remove ${archs})
-  foreach(x ${archs_to_remove})
-    _ios_install_combined_remove_arch("${lib}" "${x}")
-  endforeach()
-endfunction()
-
-function(_ios_install_combined_detect_sdks this_sdk_var corr_sdk_var)
-  cmake_policy(SET CMP0057 NEW)
-
-  set(this_sdk "$ENV{PLATFORM_NAME}")
-  if("${this_sdk}" STREQUAL "")
-    message(FATAL_ERROR "Environment variable PLATFORM_NAME is empty")
-  endif()
-
-  set(all_platforms "$ENV{SUPPORTED_PLATFORMS}")
-  if("${all_platforms}" STREQUAL "")
-    message(FATAL_ERROR "Environment variable SUPPORTED_PLATFORMS is empty")
-  endif()
-
-  separate_arguments(all_platforms)
-  if(NOT this_sdk IN_LIST all_platforms)
-    message(FATAL_ERROR "`${this_sdk}` not found in `${all_platforms}`")
-  endif()
-
-  list(REMOVE_ITEM all_platforms "" "${this_sdk}")
-  list(LENGTH all_platforms all_platforms_length)
-  if(NOT all_platforms_length EQUAL 1)
-    message(FATAL_ERROR "Expected one element: ${all_platforms}")
-  endif()
-
-  set(${this_sdk_var} "${this_sdk}" PARENT_SCOPE)
-  set(${corr_sdk_var} "${all_platforms}" PARENT_SCOPE)
-endfunction()
-
-# Create combined binary for the given target.
-#
-# Preconditions:
-#  * Target already installed at ${destination}
-#    for the ${PLATFORM_NAME} platform
-#
-# This function will:
-#  * Run build for the lacking platform, i.e. opposite to the ${PLATFORM_NAME}
-#  * Fuse both libraries by running lipo
-function(ios_install_combined target destination)
-  if("${target}" STREQUAL "")
-    message(FATAL_ERROR "`target` is empty")
-  endif()
-
-  if("${destination}" STREQUAL "")
-    message(FATAL_ERROR "`destination` is empty")
-  endif()
-
-  if(NOT IS_ABSOLUTE "${destination}")
-    message(FATAL_ERROR "`destination` is not absolute: ${destination}")
-  endif()
-
-  if(IS_DIRECTORY "${destination}" OR IS_SYMLINK "${destination}")
-    message(FATAL_ERROR "`destination` is no regular file: ${destination}")
-  endif()
-
-  if("${CMAKE_BINARY_DIR}" STREQUAL "")
-    message(FATAL_ERROR "`CMAKE_BINARY_DIR` is empty")
-  endif()
-
-  if(NOT IS_DIRECTORY "${CMAKE_BINARY_DIR}")
-    message(FATAL_ERROR "Is not a directory: ${CMAKE_BINARY_DIR}")
-  endif()
-
-  if("${CMAKE_INSTALL_CONFIG_NAME}" STREQUAL "")
-    message(FATAL_ERROR "CMAKE_INSTALL_CONFIG_NAME is empty")
-  endif()
-
-  set(cmd xcrun -f lipo)
-  execute_process(
-      COMMAND ${cmd}
-      RESULT_VARIABLE result
-      OUTPUT_VARIABLE output
-      ERROR_VARIABLE output
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_STRIP_TRAILING_WHITESPACE
-  )
-  if(NOT result EQUAL 0)
-    message(
-        FATAL_ERROR "Command failed (${result}): ${cmd}\n\nOutput:\n${output}"
-    )
-  endif()
-  set(_lipo_path ${output})
-
-  set(CURRENT_CONFIG "${CMAKE_INSTALL_CONFIG_NAME}")
-  set(CURRENT_TARGET "${target}")
-
-  _ios_install_combined_message("Target: ${CURRENT_TARGET}")
-  _ios_install_combined_message("Config: ${CURRENT_CONFIG}")
-  _ios_install_combined_message("Destination: ${destination}")
-
-  # Get SDKs
-  _ios_install_combined_detect_sdks(this_sdk corr_sdk)
-
-  # Get architectures of the target
-  _ios_install_combined_get_valid_archs("${corr_sdk}" corr_valid_archs)
-  _ios_install_combined_get_valid_archs("${this_sdk}" this_valid_archs)
-
-  # Return if there are no valid architectures for the SDK.
-  # (note that library already installed)
-  if("${corr_valid_archs}" STREQUAL "")
-    _ios_install_combined_message(
-        "No architectures detected for `${corr_sdk}` (skip)"
-    )
-    return()
-  endif()
-
-  # Trigger build of corresponding target
-  _ios_install_combined_build("${corr_sdk}")
-
-  # Get location of the library in build directory
-  _ios_install_combined_get_build_setting(
-    "${corr_sdk}" "CONFIGURATION_BUILD_DIR" corr_build_dir)
-  _ios_install_combined_get_build_setting(
-    "${corr_sdk}" "EXECUTABLE_PATH" corr_executable_path)
-  set(corr "${corr_build_dir}/${corr_executable_path}")
-
-  _ios_install_combined_keep_archs("${corr}" "${corr_valid_archs}")
-  _ios_install_combined_keep_archs("${destination}" "${this_valid_archs}")
-
-  _ios_install_combined_message("Current: ${destination}")
-  _ios_install_combined_message("Corresponding: ${corr}")
-
-  set(cmd "${_lipo_path}" -create ${corr} ${destination} -output ${destination})
-
-  execute_process(
-      COMMAND ${cmd}
-      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
-      RESULT_VARIABLE result
-  )
-
-  if(NOT result EQUAL 0)
-    message(FATAL_ERROR "Command failed: ${cmd}")
-  endif()
-
-  _ios_install_combined_message("Install done: ${destination}")
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeImportBuildSettings.cmake b/share/cmake-3.6/Modules/CMakeImportBuildSettings.cmake
deleted file mode 100644
index edecc1f..0000000
--- a/share/cmake-3.6/Modules/CMakeImportBuildSettings.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is purposely no longer documented.  It does nothing useful.
-
-# This macro used to load build settings from another project that
-# stored settings using the CMAKE_EXPORT_BUILD_SETTINGS macro.
-macro(CMAKE_IMPORT_BUILD_SETTINGS SETTINGS_FILE)
-  if("${SETTINGS_FILE}" STREQUAL "")
-    message(SEND_ERROR "CMAKE_IMPORT_BUILD_SETTINGS called with no argument.")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeJOMFindMake.cmake b/share/cmake-3.6/Modules/CMakeJOMFindMake.cmake
deleted file mode 100644
index cb3cf12..0000000
--- a/share/cmake-3.6/Modules/CMakeJOMFindMake.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-set (CMAKE_MAKE_PROGRAM "jom" CACHE STRING
-     "Program used to build from makefiles.")
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeJavaInformation.cmake b/share/cmake-3.6/Modules/CMakeJavaInformation.cmake
deleted file mode 100644
index 928c6ac..0000000
--- a/share/cmake-3.6/Modules/CMakeJavaInformation.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This should be included before the _INIT variables are
-# used to initialize the cache.  Since the rule variables
-# have if blocks on them, users can still define them here.
-# But, it should still be after the platform file so changes can
-# be made to those values.
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE)
-  # Save the full path of the file so try_compile can use it.
-  include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
-  set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-endif()
-
-if(CMAKE_USER_MAKE_RULES_OVERRIDE_Java)
-  # Save the full path of the file so try_compile can use it.
-   include(${CMAKE_USER_MAKE_RULES_OVERRIDE_Java} RESULT_VARIABLE _override)
-   set(CMAKE_USER_MAKE_RULES_OVERRIDE_Java "${_override}")
-endif()
-
-# this is a place holder if java needed flags for javac they would go here.
-if(NOT CMAKE_Java_CREATE_STATIC_LIBRARY)
-#  if(WIN32)
-#    set(class_files_mask "*.class")
-#  else()
-    set(class_files_mask ".")
-#  endif()
-
-  set(CMAKE_Java_CREATE_STATIC_LIBRARY
-      "<CMAKE_Java_ARCHIVE> -cf <TARGET> -C <OBJECT_DIR> ${class_files_mask}")
-    # "${class_files_mask}" should really be "<OBJECTS>" but compling a *.java
-    # file can create more than one *.class file...
-endif()
-
-# compile a Java file into an object file
-if(NOT CMAKE_Java_COMPILE_OBJECT)
-  set(CMAKE_Java_COMPILE_OBJECT
-    "<CMAKE_Java_COMPILER> <FLAGS> <SOURCE> -d <OBJECT_DIR>")
-endif()
-
-# set java include flag option and the separator for multiple include paths
-set(CMAKE_INCLUDE_FLAG_Java "-classpath ")
-if(WIN32 AND NOT CYGWIN)
-  set(CMAKE_INCLUDE_FLAG_SEP_Java ";")
-else()
-  set(CMAKE_INCLUDE_FLAG_SEP_Java ":")
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake b/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake
deleted file mode 100644
index e03d149..0000000
--- a/share/cmake-3.6/Modules/CMakeLanguageInformation.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#=============================================================================
-# Copyright 2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file contains common code blocks used by all the language information
-# files
-
-# load any compiler-wrapper specific information
-macro(__cmake_include_compiler_wrapper lang)
-  set(_INCLUDED_WRAPPER_FILE 0)
-  if (CMAKE_${lang}_COMPILER_ID)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_${lang}_COMPILER_WRAPPER}-${CMAKE_${lang}_COMPILER_ID}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
-  endif()
-  if (NOT _INCLUDED_WRAPPER_FILE)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_${lang}_COMPILER_WRAPPER}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
-  endif ()
-
-  # No platform - wrapper - lang information so maybe there's just wrapper - lang information
-  if(NOT _INCLUDED_WRAPPER_FILE)
-    if (CMAKE_${lang}_COMPILER_ID)
-      include(Compiler/${CMAKE_${lang}_COMPILER_WRAPPER}-${CMAKE_${lang}_COMPILER_ID}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
-    endif()
-    if (NOT _INCLUDED_WRAPPER_FILE)
-      include(Compiler/${CMAKE_${lang}_COMPILER_WRAPPER}-${lang} OPTIONAL RESULT_VARIABLE _INCLUDED_WRAPPER_FILE)
-    endif ()
-  endif ()
-endmacro ()
diff --git a/share/cmake-3.6/Modules/CMakeMSYSFindMake.cmake b/share/cmake-3.6/Modules/CMakeMSYSFindMake.cmake
deleted file mode 100644
index bc0f89f..0000000
--- a/share/cmake-3.6/Modules/CMakeMSYSFindMake.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(CMAKE_MAKE_PROGRAM make
-  PATHS
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MSYS-1.0_is1;Inno Setup: App Path]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
-  c:/msys/1.0/bin /msys/1.0/bin)
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeMinGWFindMake.cmake b/share/cmake-3.6/Modules/CMakeMinGWFindMake.cmake
deleted file mode 100644
index d7298dc..0000000
--- a/share/cmake-3.6/Modules/CMakeMinGWFindMake.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-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.6/Modules/CMakeNMakeFindMake.cmake b/share/cmake-3.6/Modules/CMakeNMakeFindMake.cmake
deleted file mode 100644
index d807df8..0000000
--- a/share/cmake-3.6/Modules/CMakeNMakeFindMake.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-set (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING
-     "Program used to build from makefiles.")
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakeNinjaFindMake.cmake b/share/cmake-3.6/Modules/CMakeNinjaFindMake.cmake
deleted file mode 100644
index 2f35cf4..0000000
--- a/share/cmake-3.6/Modules/CMakeNinjaFindMake.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#=============================================================================
-# Copyright 2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(CMAKE_MAKE_PROGRAM
-  NAMES ninja-build ninja
-  DOC "Program used to build from build.ninja files.")
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/share/cmake-3.6/Modules/CMakePackageConfigHelpers.cmake b/share/cmake-3.6/Modules/CMakePackageConfigHelpers.cmake
deleted file mode 100644
index 5e5302f..0000000
--- a/share/cmake-3.6/Modules/CMakePackageConfigHelpers.cmake
+++ /dev/null
@@ -1,327 +0,0 @@
-#.rst:
-# CMakePackageConfigHelpers
-# -------------------------
-#
-# Helpers functions for creating config files that can be included by other
-# projects to find and use a package.
-#
-# Adds the :command:`configure_package_config_file()` and
-# :command:`write_basic_package_version_file()` commands.
-#
-# Generating a Package Configuration File
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# .. command:: configure_package_config_file
-#
-#  Create a config file for a project::
-#
-#    configure_package_config_file(<input> <output>
-#      INSTALL_DESTINATION <path>
-#      [PATH_VARS <var1> <var2> ... <varN>]
-#      [NO_SET_AND_CHECK_MACRO]
-#      [NO_CHECK_REQUIRED_COMPONENTS_MACRO]
-#      [INSTALL_PREFIX <path>]
-#      )
-#
-# ``configure_package_config_file()`` should be used instead of the plain
-# :command:`configure_file()` command when creating the ``<Name>Config.cmake``
-# or ``<Name>-config.cmake`` file for installing a project or library.  It helps
-# making the resulting package relocatable by avoiding hardcoded paths in the
-# installed ``Config.cmake`` file.
-#
-# In a ``FooConfig.cmake`` file there may be code like this to make the install
-# destinations know to the using project:
-#
-# .. code-block:: cmake
-#
-#    set(FOO_INCLUDE_DIR   "@CMAKE_INSTALL_FULL_INCLUDEDIR@" )
-#    set(FOO_DATA_DIR   "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" )
-#    set(FOO_ICONS_DIR   "@CMAKE_INSTALL_PREFIX@/share/icons" )
-#    ...logic to determine installedPrefix from the own location...
-#    set(FOO_CONFIG_DIR  "${installedPrefix}/@CONFIG_INSTALL_DIR@" )
-#
-# All 4 options shown above are not sufficient, since the first 3 hardcode the
-# absolute directory locations, and the 4th case works only if the logic to
-# determine the ``installedPrefix`` is correct, and if ``CONFIG_INSTALL_DIR``
-# contains a relative path, which in general cannot be guaranteed.  This has the
-# effect that the resulting ``FooConfig.cmake`` file would work poorly under
-# Windows and OSX, where users are used to choose the install location of a
-# binary package at install time, independent from how
-# :variable:`CMAKE_INSTALL_PREFIX` was set at build/cmake time.
-#
-# Using ``configure_package_config_file`` helps.  If used correctly, it makes
-# the resulting ``FooConfig.cmake`` file relocatable.  Usage:
-#
-# 1. write a ``FooConfig.cmake.in`` file as you are used to
-# 2. insert a line containing only the string ``@PACKAGE_INIT@``
-# 3. instead of ``set(FOO_DIR "@SOME_INSTALL_DIR@")``, use
-#    ``set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")`` (this must be after the
-#    ``@PACKAGE_INIT@`` line)
-# 4. instead of using the normal :command:`configure_file()`, use
-#    ``configure_package_config_file()``
-#
-#
-#
-# The ``<input>`` and ``<output>`` arguments are the input and output file, the
-# same way as in :command:`configure_file()`.
-#
-# The ``<path>`` given to ``INSTALL_DESTINATION`` must be the destination where
-# the ``FooConfig.cmake`` file will be installed to.  This path can either be
-# absolute, or relative to the ``INSTALL_PREFIX`` path.
-#
-# The variables ``<var1>`` to ``<varN>`` given as ``PATH_VARS`` are the
-# variables which contain install destinations.  For each of them the macro will
-# create a helper variable ``PACKAGE_<var...>``.  These helper variables must be
-# used in the ``FooConfig.cmake.in`` file for setting the installed location.
-# They are calculated by ``configure_package_config_file`` so that they are
-# always relative to the installed location of the package.  This works both for
-# relative and also for absolute locations.  For absolute locations it works
-# only if the absolute location is a subdirectory of ``INSTALL_PREFIX``.
-#
-# If the ``INSTALL_PREFIX`` argument is passed, this is used as base path to
-# calculate all the relative paths.  The ``<path>`` argument must be an absolute
-# path.  If this argument is not passed, the :variable:`CMAKE_INSTALL_PREFIX`
-# variable will be used instead.  The default value is good when generating a
-# FooConfig.cmake file to use your package from the install tree.  When
-# generating a FooConfig.cmake file to use your package from the build tree this
-# option should be used.
-#
-# By default ``configure_package_config_file`` also generates two helper macros,
-# ``set_and_check()`` and ``check_required_components()`` into the
-# ``FooConfig.cmake`` file.
-#
-# ``set_and_check()`` should be used instead of the normal ``set()`` command for
-# setting directories and file locations.  Additionally to setting the variable
-# it also checks that the referenced file or directory actually exists and fails
-# with a ``FATAL_ERROR`` otherwise.  This makes sure that the created
-# ``FooConfig.cmake`` file does not contain wrong references.
-# When using the ``NO_SET_AND_CHECK_MACRO``, this macro is not generated
-# into the ``FooConfig.cmake`` file.
-#
-# ``check_required_components(<package_name>)`` should be called at the end of
-# the ``FooConfig.cmake`` file if the package supports components.  This macro
-# checks whether all requested, non-optional components have been found, and if
-# this is not the case, sets the ``Foo_FOUND`` variable to ``FALSE``, so that
-# the package is considered to be not found.  It does that by testing the
-# ``Foo_<Component>_FOUND`` variables for all requested required components.
-# When using the ``NO_CHECK_REQUIRED_COMPONENTS_MACRO`` option, this macro is
-# not generated into the ``FooConfig.cmake`` file.
-#
-# For an example see below the documentation for
-# :command:`write_basic_package_version_file()`.
-#
-# Generating a Package Version File
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# .. command:: write_basic_package_version_file
-#
-#  Create a version file for a project::
-#
-#    write_basic_package_version_file(<filename>
-#      [VERSION <major.minor.patch>]
-#      COMPATIBILITY <AnyNewerVersion|SameMajorVersion|ExactVersion> )
-#
-#
-# Writes a file for use as ``<package>ConfigVersion.cmake`` file to
-# ``<filename>``.  See the documentation of :command:`find_package()` for
-# details on this.
-#
-# ``<filename>`` is the output filename, it should be in the build tree.
-# ``<major.minor.patch>`` is the version number of the project to be installed.
-#
-# If no ``VERSION`` is given, the :variable:`PROJECT_VERSION` variable is used.
-# If this hasn't been set, it errors out.
-#
-# The ``COMPATIBILITY`` mode ``AnyNewerVersion`` means that the installed
-# package version will be considered compatible if it is newer or exactly the
-# same as the requested version.  This mode should be used for packages which
-# are fully backward compatible, also across major versions.
-# If ``SameMajorVersion`` is used instead, then the behaviour differs from
-# ``AnyNewerVersion`` in that the major version number must be the same as
-# requested, e.g.  version 2.0 will not be considered compatible if 1.0 is
-# requested.  This mode should be used for packages which guarantee backward
-# compatibility within the same major version.
-# If ``ExactVersion`` is used, then the package is only considered compatible if
-# the requested version matches exactly its own version number (not considering
-# the tweak version).  For example, version 1.2.3 of a package is only
-# considered compatible to requested version 1.2.3.  This mode is for packages
-# without compatibility guarantees.
-# If your project has more elaborated version matching rules, you will need to
-# write your own custom ``ConfigVersion.cmake`` file instead of using this
-# macro.
-#
-# Internally, this macro executes :command:`configure_file()` to create the
-# resulting version file.  Depending on the ``COMPATIBLITY``, either the file
-# ``BasicConfigVersion-SameMajorVersion.cmake.in`` or
-# ``BasicConfigVersion-AnyNewerVersion.cmake.in`` is used.  Please note that
-# these two files are internal to CMake and you should not call
-# :command:`configure_file()` on them yourself, but they can be used as starting
-# point to create more sophisticted custom ``ConfigVersion.cmake`` files.
-#
-# Example Generating Package Files
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# Example using both :command:`configure_package_config_file` and
-# ``write_basic_package_version_file()``:
-#
-# ``CMakeLists.txt``:
-#
-# .. code-block:: cmake
-#
-#    set(INCLUDE_INSTALL_DIR include/ ... CACHE )
-#    set(LIB_INSTALL_DIR lib/ ... CACHE )
-#    set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE )
-#    ...
-#    include(CMakePackageConfigHelpers)
-#    configure_package_config_file(FooConfig.cmake.in
-#      ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
-#      INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
-#      PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
-#    write_basic_package_version_file(
-#      ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
-#      VERSION 1.2.3
-#      COMPATIBILITY SameMajorVersion )
-#    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
-#                  ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
-#            DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
-#
-# ``FooConfig.cmake.in``:
-#
-# .. code-block:: cmake
-#
-#    set(FOO_VERSION x.y.z)
-#    ...
-#    @PACKAGE_INIT@
-#    ...
-#    set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
-#    set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@")
-#
-#    check_required_components(Foo)
-
-
-#=============================================================================
-# Copyright 2012 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CMakeParseArguments)
-
-include(WriteBasicConfigVersionFile)
-
-macro(WRITE_BASIC_PACKAGE_VERSION_FILE)
-  write_basic_config_version_file(${ARGN})
-endmacro()
-
-function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile)
-  set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO)
-  set(oneValueArgs INSTALL_DESTINATION INSTALL_PREFIX)
-  set(multiValueArgs PATH_VARS )
-
-  cmake_parse_arguments(CCF "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
-
-  if(CCF_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to CONFIGURE_PACKAGE_CONFIG_FILE(): \"${CCF_UNPARSED_ARGUMENTS}\"")
-  endif()
-
-  if(NOT CCF_INSTALL_DESTINATION)
-    message(FATAL_ERROR "No INSTALL_DESTINATION given to CONFIGURE_PACKAGE_CONFIG_FILE()")
-  endif()
-
-  if(DEFINED CCF_INSTALL_PREFIX)
-    if(IS_ABSOLUTE "${CCF_INSTALL_PREFIX}")
-      set(installPrefix "${CCF_INSTALL_PREFIX}")
-    else()
-      message(FATAL_ERROR "INSTALL_PREFIX must be an absolute path")
-    endif()
-  elseif(IS_ABSOLUTE "${CMAKE_INSTALL_PREFIX}")
-    set(installPrefix "${CMAKE_INSTALL_PREFIX}")
-  else()
-    get_filename_component(installPrefix "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
-  endif()
-
-  if(IS_ABSOLUTE "${CCF_INSTALL_DESTINATION}")
-    set(absInstallDir "${CCF_INSTALL_DESTINATION}")
-  else()
-    set(absInstallDir "${installPrefix}/${CCF_INSTALL_DESTINATION}")
-  endif()
-
-  file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${absInstallDir}" "${installPrefix}" )
-
-  foreach(var ${CCF_PATH_VARS})
-    if(NOT DEFINED ${var})
-      message(FATAL_ERROR "Variable ${var} does not exist")
-    else()
-      if(IS_ABSOLUTE "${${var}}")
-        string(REPLACE "${installPrefix}" "\${PACKAGE_PREFIX_DIR}"
-                        PACKAGE_${var} "${${var}}")
-      else()
-        set(PACKAGE_${var} "\${PACKAGE_PREFIX_DIR}/${${var}}")
-      endif()
-    endif()
-  endforeach()
-
-  get_filename_component(inputFileName "${_inputFile}" NAME)
-
-  set(PACKAGE_INIT "
-####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
-####### Any changes to this file will be overwritten by the next CMake run ####
-####### The input file was ${inputFileName}                            ########
-
-get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/${PACKAGE_RELATIVE_PATH}\" ABSOLUTE)
-")
-
-  if("${absInstallDir}" MATCHES "^(/usr)?/lib(64)?/.+")
-    # Handle "/usr move" symlinks created by some Linux distros.
-    set(PACKAGE_INIT "${PACKAGE_INIT}
-# Use original install prefix when loaded through a \"/usr move\"
-# cross-prefix symbolic link such as /lib -> /usr/lib.
-get_filename_component(_realCurr \"\${CMAKE_CURRENT_LIST_DIR}\" REALPATH)
-get_filename_component(_realOrig \"${absInstallDir}\" REALPATH)
-if(_realCurr STREQUAL _realOrig)
-  set(PACKAGE_PREFIX_DIR \"${installPrefix}\")
-endif()
-unset(_realOrig)
-unset(_realCurr)
-")
-  endif()
-
-  if(NOT CCF_NO_SET_AND_CHECK_MACRO)
-    set(PACKAGE_INIT "${PACKAGE_INIT}
-macro(set_and_check _var _file)
-  set(\${_var} \"\${_file}\")
-  if(NOT EXISTS \"\${_file}\")
-    message(FATAL_ERROR \"File or directory \${_file} referenced by variable \${_var} does not exist !\")
-  endif()
-endmacro()
-")
-  endif()
-
-
-  if(NOT CCF_NO_CHECK_REQUIRED_COMPONENTS_MACRO)
-    set(PACKAGE_INIT "${PACKAGE_INIT}
-macro(check_required_components _NAME)
-  foreach(comp \${\${_NAME}_FIND_COMPONENTS})
-    if(NOT \${_NAME}_\${comp}_FOUND)
-      if(\${_NAME}_FIND_REQUIRED_\${comp})
-        set(\${_NAME}_FOUND FALSE)
-      endif()
-    endif()
-  endforeach()
-endmacro()
-")
-  endif()
-
-  set(PACKAGE_INIT "${PACKAGE_INIT}
-####################################################################################")
-
-  configure_file("${_inputFile}" "${_outputFile}" @ONLY)
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeParseArguments.cmake b/share/cmake-3.6/Modules/CMakeParseArguments.cmake
deleted file mode 100644
index fc64ab9..0000000
--- a/share/cmake-3.6/Modules/CMakeParseArguments.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
-#.rst:
-# CMakeParseArguments
-# -------------------
-#
-# This module once implemented the :command:`cmake_parse_arguments` command
-# that is now implemented natively by CMake.  It is now an empty placeholder
-# for compatibility with projects that include it to get the command from
-# CMake 3.4 and lower.
-
-#=============================================================================
-# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
diff --git a/share/cmake-3.6/Modules/CMakeParseImplicitLinkInfo.cmake b/share/cmake-3.6/Modules/CMakeParseImplicitLinkInfo.cmake
deleted file mode 100644
index ef9a2eb..0000000
--- a/share/cmake-3.6/Modules/CMakeParseImplicitLinkInfo.cmake
+++ /dev/null
@@ -1,169 +0,0 @@
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Function parse implicit linker options.
-# This is used internally by CMake and should not be included by user
-# code.
-
-function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj_regex)
-  set(implicit_libs_tmp "")
-  set(implicit_dirs_tmp)
-  set(implicit_fwks_tmp)
-  set(log "")
-
-  # Parse implicit linker arguments.
-  set(linker "CMAKE_LINKER-NOTFOUND")
-  if(CMAKE_LINKER)
-    get_filename_component(linker ${CMAKE_LINKER} NAME)
-    string(REGEX REPLACE "([][+.*?()^$])" "\\\\\\1" linker "${linker}")
-  endif()
-  # Construct a regex to match linker lines.  It must match both the
-  # whole line and just the command (argv[0]).
-  set(linker_regex "^( *|.*[/\\])(${linker}|([^/\\]+-)?ld|collect2)[^/\\]*( |$)")
-  set(linker_exclude_regex "collect2 version |^[A-Za-z0-9_]+=|/ldfe ")
-  set(log "${log}  link line regex: [${linker_regex}]\n")
-  string(REGEX REPLACE "\r?\n" ";" output_lines "${text}")
-  foreach(line IN LISTS output_lines)
-    set(cmd)
-    if("${line}" MATCHES "${linker_regex}" AND
-        NOT "${line}" MATCHES "${linker_exclude_regex}")
-      if(XCODE)
-        # Xcode unconditionally adds a path under the project build tree and
-        # on older versions it is not reported with proper quotes.  Remove it.
-        string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" _dir_regex "${CMAKE_BINARY_DIR}")
-        string(REGEX REPLACE " -[FL]${_dir_regex}/([^ ]| [^-])+( |$)" " " xline "${line}")
-        if(NOT "x${xline}" STREQUAL "x${line}")
-          set(log "${log}  reduced line: [${line}]\n            to: [${xline}]\n")
-          set(line "${xline}")
-        endif()
-      endif()
-      if(UNIX)
-        separate_arguments(args UNIX_COMMAND "${line}")
-      else()
-        separate_arguments(args WINDOWS_COMMAND "${line}")
-      endif()
-      list(GET args 0 cmd)
-    endif()
-    if("${cmd}" MATCHES "${linker_regex}")
-      set(log "${log}  link line: [${line}]\n")
-      string(REGEX REPLACE ";-([LYz]);" ";-\\1" args "${args}")
-      foreach(arg IN LISTS args)
-        if("${arg}" MATCHES "^-L(.:)?[/\\]")
-          # Unix search path.
-          string(REGEX REPLACE "^-L" "" dir "${arg}")
-          list(APPEND implicit_dirs_tmp ${dir})
-          set(log "${log}    arg [${arg}] ==> dir [${dir}]\n")
-        elseif("${arg}" MATCHES "^-l([^:].*)$")
-          # Unix library.
-          set(lib "${CMAKE_MATCH_1}")
-          list(APPEND implicit_libs_tmp ${lib})
-          set(log "${log}    arg [${arg}] ==> lib [${lib}]\n")
-        elseif("${arg}" MATCHES "^(.:)?[/\\].*\\.a$")
-          # Unix library full path.
-          list(APPEND implicit_libs_tmp ${arg})
-          set(log "${log}    arg [${arg}] ==> lib [${arg}]\n")
-        elseif("${arg}" MATCHES "^(.:)?[/\\].*\\.o$"
-            AND obj_regex AND "${arg}" MATCHES "${obj_regex}")
-          # Object file full path.
-          list(APPEND implicit_libs_tmp ${arg})
-          set(log "${log}    arg [${arg}] ==> obj [${arg}]\n")
-        elseif("${arg}" MATCHES "^-Y(P,)?[^0-9]")
-          # Sun search path ([^0-9] avoids conflict with Mac -Y<num>).
-          string(REGEX REPLACE "^-Y(P,)?" "" dirs "${arg}")
-          string(REPLACE ":" ";" dirs "${dirs}")
-          list(APPEND implicit_dirs_tmp ${dirs})
-          set(log "${log}    arg [${arg}] ==> dirs [${dirs}]\n")
-        elseif("${arg}" MATCHES "^-l:")
-          # HP named library.
-          list(APPEND implicit_libs_tmp ${arg})
-          set(log "${log}    arg [${arg}] ==> lib [${arg}]\n")
-        elseif("${arg}" MATCHES "^-z(all|default|weak)extract")
-          # Link editor option.
-          list(APPEND implicit_libs_tmp ${arg})
-          set(log "${log}    arg [${arg}] ==> opt [${arg}]\n")
-        else()
-          set(log "${log}    arg [${arg}] ==> ignore\n")
-        endif()
-      endforeach()
-      break()
-    elseif("${line}" MATCHES "LPATH(=| is:? *)(.*)$")
-      set(log "${log}  LPATH line: [${line}]\n")
-      # HP search path.
-      string(REPLACE ":" ";" paths "${CMAKE_MATCH_2}")
-      list(APPEND implicit_dirs_tmp ${paths})
-      set(log "${log}    dirs [${paths}]\n")
-    else()
-      set(log "${log}  ignore line: [${line}]\n")
-    endif()
-  endforeach()
-
-  # Look for library search paths reported by linker.
-  if("${output_lines}" MATCHES ";Library search paths:((;\t[^;]+)+)")
-    string(REPLACE ";\t" ";" implicit_dirs_match "${CMAKE_MATCH_1}")
-    set(log "${log}  Library search paths: [${implicit_dirs_match}]\n")
-    list(APPEND implicit_dirs_tmp ${implicit_dirs_match})
-  endif()
-  if("${output_lines}" MATCHES ";Framework search paths:((;\t[^;]+)+)")
-    string(REPLACE ";\t" ";" implicit_fwks_match "${CMAKE_MATCH_1}")
-    set(log "${log}  Framework search paths: [${implicit_fwks_match}]\n")
-    list(APPEND implicit_fwks_tmp ${implicit_fwks_match})
-  endif()
-
-  # Cleanup list of libraries and flags.
-  # We remove items that are not language-specific.
-  set(implicit_libs "")
-  foreach(lib IN LISTS implicit_libs_tmp)
-    if("x${lib}" MATCHES "^x(crt.*\\.o|gcc.*|System.*)$")
-      set(log "${log}  remove lib [${lib}]\n")
-    elseif(IS_ABSOLUTE "${lib}")
-      get_filename_component(abs "${lib}" ABSOLUTE)
-      if(NOT "x${lib}" STREQUAL "x${abs}")
-        set(log "${log}  collapse lib [${lib}] ==> [${abs}]\n")
-      endif()
-      list(APPEND implicit_libs "${abs}")
-    else()
-      list(APPEND implicit_libs "${lib}")
-    endif()
-  endforeach()
-
-  # Cleanup list of library and framework directories.
-  set(desc_dirs "library")
-  set(desc_fwks "framework")
-  foreach(t dirs fwks)
-    set(implicit_${t} "")
-    foreach(d IN LISTS implicit_${t}_tmp)
-      get_filename_component(dir "${d}" ABSOLUTE)
-      string(FIND "${dir}" "${CMAKE_FILES_DIRECTORY}/" pos)
-      if(NOT pos LESS 0)
-        set(msg ", skipping non-system directory")
-      else()
-        set(msg "")
-        list(APPEND implicit_${t} "${dir}")
-      endif()
-      set(log "${log}  collapse ${desc_${t}} dir [${d}] ==> [${dir}]${msg}\n")
-    endforeach()
-    list(REMOVE_DUPLICATES implicit_${t})
-  endforeach()
-
-  # Log results.
-  set(log "${log}  implicit libs: [${implicit_libs}]\n")
-  set(log "${log}  implicit dirs: [${implicit_dirs}]\n")
-  set(log "${log}  implicit fwks: [${implicit_fwks}]\n")
-
-  # Return results.
-  set(${lib_var} "${implicit_libs}" PARENT_SCOPE)
-  set(${dir_var} "${implicit_dirs}" PARENT_SCOPE)
-  set(${fwk_var} "${implicit_fwks}" PARENT_SCOPE)
-  set(${log_var} "${log}" PARENT_SCOPE)
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakePlatformId.h.in b/share/cmake-3.6/Modules/CMakePlatformId.h.in
deleted file mode 100644
index 47eb00a..0000000
--- a/share/cmake-3.6/Modules/CMakePlatformId.h.in
+++ /dev/null
@@ -1,215 +0,0 @@
-#define STRINGIFY_HELPER(X) #X
-#define STRINGIFY(X) STRINGIFY_HELPER(X)
-
-/* Identify known platforms by name.  */
-#if defined(__linux) || defined(__linux__) || defined(linux)
-# define PLATFORM_ID "Linux"
-
-#elif defined(__CYGWIN__)
-# define PLATFORM_ID "Cygwin"
-
-#elif defined(__MINGW32__)
-# define PLATFORM_ID "MinGW"
-
-#elif defined(__APPLE__)
-# define PLATFORM_ID "Darwin"
-
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-# define PLATFORM_ID "Windows"
-
-#elif defined(__FreeBSD__) || defined(__FreeBSD)
-# define PLATFORM_ID "FreeBSD"
-
-#elif defined(__NetBSD__) || defined(__NetBSD)
-# define PLATFORM_ID "NetBSD"
-
-#elif defined(__OpenBSD__) || defined(__OPENBSD)
-# define PLATFORM_ID "OpenBSD"
-
-#elif defined(__sun) || defined(sun)
-# define PLATFORM_ID "SunOS"
-
-#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
-# define PLATFORM_ID "AIX"
-
-#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
-# define PLATFORM_ID "IRIX"
-
-#elif defined(__hpux) || defined(__hpux__)
-# define PLATFORM_ID "HP-UX"
-
-#elif defined(__HAIKU__)
-# define PLATFORM_ID "Haiku"
-
-#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
-# define PLATFORM_ID "BeOS"
-
-#elif defined(__QNX__) || defined(__QNXNTO__)
-# define PLATFORM_ID "QNX"
-
-#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
-# define PLATFORM_ID "Tru64"
-
-#elif defined(__riscos) || defined(__riscos__)
-# define PLATFORM_ID "RISCos"
-
-#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
-# define PLATFORM_ID "SINIX"
-
-#elif defined(__UNIX_SV__)
-# define PLATFORM_ID "UNIX_SV"
-
-#elif defined(__bsdos__)
-# define PLATFORM_ID "BSDOS"
-
-#elif defined(_MPRAS) || defined(MPRAS)
-# define PLATFORM_ID "MP-RAS"
-
-#elif defined(__osf) || defined(__osf__)
-# define PLATFORM_ID "OSF1"
-
-#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
-# define PLATFORM_ID "SCO_SV"
-
-#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
-# define PLATFORM_ID "ULTRIX"
-
-#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
-# define PLATFORM_ID "Xenix"
-
-#elif defined(__WATCOMC__)
-# if defined(__LINUX__)
-#  define PLATFORM_ID "Linux"
-
-# elif defined(__DOS__)
-#  define PLATFORM_ID "DOS"
-
-# elif defined(__OS2__)
-#  define PLATFORM_ID "OS2"
-
-# elif defined(__WINDOWS__)
-#  define PLATFORM_ID "Windows3x"
-
-# else /* unknown platform */
-#  define PLATFORM_ID
-# endif
-
-#else /* unknown platform */
-# define PLATFORM_ID
-
-#endif
-
-/* For windows compilers MSVC and Intel we can determine
-   the architecture of the compiler being used.  This is because
-   the compilers do not have flags that can change the architecture,
-   but rather depend on which compiler is being used
-*/
-#if defined(_WIN32) && defined(_MSC_VER)
-# if defined(_M_IA64)
-#  define ARCHITECTURE_ID "IA64"
-
-# elif defined(_M_X64) || defined(_M_AMD64)
-#  define ARCHITECTURE_ID "x64"
-
-# elif defined(_M_IX86)
-#  define ARCHITECTURE_ID "X86"
-
-# elif defined(_M_ARM)
-#  if _M_ARM == 4
-#   define ARCHITECTURE_ID "ARMV4I"
-#  elif _M_ARM == 5
-#   define ARCHITECTURE_ID "ARMV5I"
-#  else
-#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
-#  endif
-
-# elif defined(_M_MIPS)
-#  define ARCHITECTURE_ID "MIPS"
-
-# elif defined(_M_SH)
-#  define ARCHITECTURE_ID "SHx"
-
-# else /* unknown architecture */
-#  define ARCHITECTURE_ID ""
-# endif
-
-#elif defined(__WATCOMC__)
-# if defined(_M_I86)
-#  define ARCHITECTURE_ID "I86"
-
-# elif defined(_M_IX86)
-#  define ARCHITECTURE_ID "X86"
-
-# else /* unknown architecture */
-#  define ARCHITECTURE_ID ""
-# endif
-
-#else
-#  define ARCHITECTURE_ID
-#endif
-
-/* Convert integer to decimal digit literals.  */
-#define DEC(n)                   \
-  ('0' + (((n) / 10000000)%10)), \
-  ('0' + (((n) / 1000000)%10)),  \
-  ('0' + (((n) / 100000)%10)),   \
-  ('0' + (((n) / 10000)%10)),    \
-  ('0' + (((n) / 1000)%10)),     \
-  ('0' + (((n) / 100)%10)),      \
-  ('0' + (((n) / 10)%10)),       \
-  ('0' +  ((n) % 10))
-
-/* Convert integer to hex digit literals.  */
-#define HEX(n)             \
-  ('0' + ((n)>>28 & 0xF)), \
-  ('0' + ((n)>>24 & 0xF)), \
-  ('0' + ((n)>>20 & 0xF)), \
-  ('0' + ((n)>>16 & 0xF)), \
-  ('0' + ((n)>>12 & 0xF)), \
-  ('0' + ((n)>>8  & 0xF)), \
-  ('0' + ((n)>>4  & 0xF)), \
-  ('0' + ((n)     & 0xF))
-
-/* Construct a string literal encoding the version number components. */
-#ifdef COMPILER_VERSION_MAJOR
-char const info_version[] = {
-  'I', 'N', 'F', 'O', ':',
-  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
-  COMPILER_VERSION_MAJOR,
-# ifdef COMPILER_VERSION_MINOR
-  '.', COMPILER_VERSION_MINOR,
-#  ifdef COMPILER_VERSION_PATCH
-   '.', COMPILER_VERSION_PATCH,
-#   ifdef COMPILER_VERSION_TWEAK
-    '.', COMPILER_VERSION_TWEAK,
-#   endif
-#  endif
-# endif
-  ']','\0'};
-#endif
-
-/* Construct a string literal encoding the version number components. */
-#ifdef SIMULATE_VERSION_MAJOR
-char const info_simulate_version[] = {
-  'I', 'N', 'F', 'O', ':',
-  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
-  SIMULATE_VERSION_MAJOR,
-# ifdef SIMULATE_VERSION_MINOR
-  '.', SIMULATE_VERSION_MINOR,
-#  ifdef SIMULATE_VERSION_PATCH
-   '.', SIMULATE_VERSION_PATCH,
-#   ifdef SIMULATE_VERSION_TWEAK
-    '.', SIMULATE_VERSION_TWEAK,
-#   endif
-#  endif
-# endif
-  ']','\0'};
-#endif
-
-/* Construct the string literal in pieces to prevent the source from
-   getting matched.  Store it in a pointer rather than an array
-   because some compilers will just produce instructions to fill the
-   array rather than assigning a pointer to a static array.  */
-char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
-char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
-
diff --git a/share/cmake-3.6/Modules/CMakePrintHelpers.cmake b/share/cmake-3.6/Modules/CMakePrintHelpers.cmake
deleted file mode 100644
index 474fa41..0000000
--- a/share/cmake-3.6/Modules/CMakePrintHelpers.cmake
+++ /dev/null
@@ -1,157 +0,0 @@
-#.rst:
-# CMakePrintHelpers
-# -----------------
-#
-# Convenience macros for printing properties and variables, useful e.g. for debugging.
-#
-# ::
-#
-#  CMAKE_PRINT_PROPERTIES([TARGETS target1 ..  targetN]
-#                         [SOURCES source1 .. sourceN]
-#                         [DIRECTORIES dir1 .. dirN]
-#                         [TESTS test1 .. testN]
-#                         [CACHE_ENTRIES entry1 .. entryN]
-#                         PROPERTIES prop1 .. propN )
-#
-# This macro prints the values of the properties of the given targets,
-# source files, directories, tests or cache entries.  Exactly one of the
-# scope keywords must be used.  Example::
-#
-#    cmake_print_properties(TARGETS foo bar PROPERTIES
-#                           LOCATION INTERFACE_INCLUDE_DIRS)
-#
-# This will print the LOCATION and INTERFACE_INCLUDE_DIRS properties for
-# both targets foo and bar.
-#
-#
-#
-# CMAKE_PRINT_VARIABLES(var1 var2 ..  varN)
-#
-# This macro will print the name of each variable followed by its value.
-# Example::
-#
-#   cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION DOES_NOT_EXIST)
-#
-# Gives::
-#
-#   -- CMAKE_C_COMPILER="/usr/bin/gcc" ; CMAKE_MAJOR_VERSION="2" ; DOES_NOT_EXIST=""
-
-#=============================================================================
-# Copyright 2013 Alexander Neundorf, <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CMakeParseArguments)
-
-function(CMAKE_PRINT_VARIABLES)
-   set(msg "")
-   foreach(var ${ARGN})
-      if(msg)
-         set(msg "${msg} ; ")
-      endif()
-      set(msg "${msg}${var}=\"${${var}}\"")
-   endforeach()
-   message(STATUS "${msg}")
-endfunction()
-
-
-function(CMAKE_PRINT_PROPERTIES )
-  set(options )
-  set(oneValueArgs )
-  set(multiValueArgs TARGETS SOURCES TESTS DIRECTORIES CACHE_ENTRIES PROPERTIES )
-
-  cmake_parse_arguments(CPP "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
-
-  if(CPP_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to cmake_print_properties(): \"${CPP_UNPARSED_ARGUMENTS}\"")
-    return()
-  endif()
-
-  if(NOT CPP_PROPERTIES)
-    message(FATAL_ERROR "Required argument PROPERTIES missing in cmake_print_properties() call")
-    return()
-  endif()
-
-  set(mode)
-  set(items)
-  set(keyword)
-
-  if(CPP_TARGETS)
-    set(items ${CPP_TARGETS})
-    set(mode ${mode} TARGETS)
-    set(keyword TARGET)
-  endif()
-
-  if(CPP_SOURCES)
-    set(items ${CPP_SOURCES})
-    set(mode ${mode} SOURCES)
-    set(keyword SOURCE)
-  endif()
-
-  if(CPP_TESTS)
-    set(items ${CPP_TESTS})
-    set(mode ${mode} TESTS)
-    set(keyword TEST)
-  endif()
-
-  if(CPP_DIRECTORIES)
-    set(items ${CPP_DIRECTORIES})
-    set(mode ${mode} DIRECTORIES)
-    set(keyword DIRECTORY)
-  endif()
-
-  if(CPP_CACHE_ENTRIES)
-    set(items ${CPP_CACHE_ENTRIES})
-    set(mode ${mode} CACHE_ENTRIES)
-    set(keyword CACHE)
-  endif()
-
-  if(NOT mode)
-    message(FATAL_ERROR "Mode keyword missing in cmake_print_properties() call, must be one of TARGETS SOURCES TESTS DIRECTORIES CACHE_ENTRIES PROPERTIES")
-    return()
-  endif()
-
-  list(LENGTH mode modeLength)
-  if("${modeLength}" GREATER 1)
-    message(FATAL_ERROR "Multiple mode keyword used in cmake_print_properties() call, it must be exactly one of TARGETS SOURCES TESTS DIRECTORIES CACHE_ENTRIES PROPERTIES")
-    return()
-  endif()
-
-  set(msg "\n")
-  foreach(item ${items})
-
-    set(itemExists TRUE)
-    if(keyword STREQUAL "TARGET")
-      if(NOT TARGET ${item})
-      set(itemExists FALSE)
-      set(msg "${msg}\n No such TARGET \"${item}\" !\n\n")
-      endif()
-    endif()
-
-    if (itemExists)
-      set(msg "${msg} Properties for ${keyword} ${item}:\n")
-      foreach(prop ${CPP_PROPERTIES})
-
-        get_property(propertySet ${keyword} ${item} PROPERTY "${prop}" SET)
-
-        if(propertySet)
-          get_property(property ${keyword} ${item} PROPERTY "${prop}")
-          set(msg "${msg}   ${item}.${prop} = \"${property}\"\n")
-        else()
-          set(msg "${msg}   ${item}.${prop} = <NOTFOUND>\n")
-        endif()
-      endforeach()
-    endif()
-
-  endforeach()
-  message(STATUS "${msg}")
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakePrintSystemInformation.cmake b/share/cmake-3.6/Modules/CMakePrintSystemInformation.cmake
deleted file mode 100644
index 355c47d..0000000
--- a/share/cmake-3.6/Modules/CMakePrintSystemInformation.cmake
+++ /dev/null
@@ -1,50 +0,0 @@
-#.rst:
-# CMakePrintSystemInformation
-# ---------------------------
-#
-# print system information
-#
-# This file can be used for diagnostic purposes just include it in a
-# project to see various internal CMake variables.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-message("CMAKE_SYSTEM is ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}")
-message("CMAKE_SYSTEM file is ${CMAKE_SYSTEM_INFO_FILE}")
-message("CMAKE_C_COMPILER is ${CMAKE_C_COMPILER}")
-message("CMAKE_CXX_COMPILER is ${CMAKE_CXX_COMPILER}")
-
-
-message("CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")
-message("CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
-message("CMAKE_DL_LIBS is ${CMAKE_DL_LIBS}")
-message("CMAKE_SHARED_LIBRARY_PREFIX is ${CMAKE_SHARED_LIBRARY_PREFIX}")
-message("CMAKE_SHARED_LIBRARY_SUFFIX is ${CMAKE_SHARED_LIBRARY_SUFFIX}")
-message("CMAKE_COMPILER_IS_GNUCC = ${CMAKE_COMPILER_IS_GNUCC}")
-message("CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
-
-message("CMAKE_CXX_CREATE_SHARED_LIBRARY is ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-message("CMAKE_CXX_CREATE_SHARED_MODULE is ${CMAKE_CXX_CREATE_SHARED_MODULE}")
-message("CMAKE_CXX_CREATE_STATIC_LIBRARY is ${CMAKE_CXX_CREATE_STATIC_LIBRARY}")
-message("CMAKE_CXX_COMPILE_OBJECT is ${CMAKE_CXX_COMPILE_OBJECT}")
-message("CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE}")
-
-message("CMAKE_C_CREATE_SHARED_LIBRARY is ${CMAKE_C_CREATE_SHARED_LIBRARY}")
-message("CMAKE_C_CREATE_SHARED_MODULE is ${CMAKE_C_CREATE_SHARED_MODULE}")
-message("CMAKE_C_CREATE_STATIC_LIBRARY is ${CMAKE_C_CREATE_STATIC_LIBRARY}")
-message("CMAKE_C_COMPILE_OBJECT is ${CMAKE_C_COMPILE_OBJECT}")
-message("CMAKE_C_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE}")
-
-message("CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE}")
-message("CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE}")
diff --git a/share/cmake-3.6/Modules/CMakePushCheckState.cmake b/share/cmake-3.6/Modules/CMakePushCheckState.cmake
deleted file mode 100644
index 6958da1..0000000
--- a/share/cmake-3.6/Modules/CMakePushCheckState.cmake
+++ /dev/null
@@ -1,97 +0,0 @@
-#.rst:
-# CMakePushCheckState
-# -------------------
-#
-#
-#
-# This module defines three macros: CMAKE_PUSH_CHECK_STATE()
-# CMAKE_POP_CHECK_STATE() and CMAKE_RESET_CHECK_STATE() These macros can
-# be used to save, restore and reset (i.e., clear contents) the state of
-# the variables CMAKE_REQUIRED_FLAGS, CMAKE_REQUIRED_DEFINITIONS,
-# CMAKE_REQUIRED_LIBRARIES, CMAKE_REQUIRED_INCLUDES and CMAKE_EXTRA_INCLUDE_FILES
-# used by the various Check-files coming with CMake, like e.g.
-# check_function_exists() etc.  The variable contents are pushed on a
-# stack, pushing multiple times is supported.  This is useful e.g.  when
-# executing such tests in a Find-module, where they have to be set, but
-# after the Find-module has been executed they should have the same
-# value as they had before.
-#
-# CMAKE_PUSH_CHECK_STATE() macro receives optional argument RESET.
-# Whether it's specified, CMAKE_PUSH_CHECK_STATE() will set all
-# CMAKE_REQUIRED_* variables to empty values, same as
-# CMAKE_RESET_CHECK_STATE() call will do.
-#
-# Usage:
-#
-# ::
-#
-#    cmake_push_check_state(RESET)
-#    set(CMAKE_REQUIRED_DEFINITIONS -DSOME_MORE_DEF)
-#    check_function_exists(...)
-#    cmake_reset_check_state()
-#    set(CMAKE_REQUIRED_DEFINITIONS -DANOTHER_DEF)
-#    check_function_exists(...)
-#    cmake_pop_check_state()
-
-#=============================================================================
-# Copyright 2006-2011 Alexander Neundorf, <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-macro(CMAKE_RESET_CHECK_STATE)
-
-   set(CMAKE_EXTRA_INCLUDE_FILES)
-   set(CMAKE_REQUIRED_INCLUDES)
-   set(CMAKE_REQUIRED_DEFINITIONS)
-   set(CMAKE_REQUIRED_LIBRARIES)
-   set(CMAKE_REQUIRED_FLAGS)
-   set(CMAKE_REQUIRED_QUIET)
-
-endmacro()
-
-macro(CMAKE_PUSH_CHECK_STATE)
-
-   if(NOT DEFINED _CMAKE_PUSH_CHECK_STATE_COUNTER)
-      set(_CMAKE_PUSH_CHECK_STATE_COUNTER 0)
-   endif()
-
-   math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}+1")
-
-   set(_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}  ${CMAKE_EXTRA_INCLUDE_FILES})
-   set(_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}    ${CMAKE_REQUIRED_INCLUDES})
-   set(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS})
-   set(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}   ${CMAKE_REQUIRED_LIBRARIES})
-   set(_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}       ${CMAKE_REQUIRED_FLAGS})
-   set(_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}       ${CMAKE_REQUIRED_QUIET})
-
-   if (ARGC GREATER 0 AND ARGV0 STREQUAL "RESET")
-      cmake_reset_check_state()
-   endif()
-
-endmacro()
-
-macro(CMAKE_POP_CHECK_STATE)
-
-# don't pop more than we pushed
-   if("${_CMAKE_PUSH_CHECK_STATE_COUNTER}" GREATER "0")
-
-      set(CMAKE_EXTRA_INCLUDE_FILES  ${_CMAKE_EXTRA_INCLUDE_FILES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
-      set(CMAKE_REQUIRED_INCLUDES    ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
-      set(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
-      set(CMAKE_REQUIRED_LIBRARIES   ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
-      set(CMAKE_REQUIRED_FLAGS       ${_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
-      set(CMAKE_REQUIRED_QUIET       ${_CMAKE_REQUIRED_QUIET_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
-
-      math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}-1")
-   endif()
-
-endmacro()
diff --git a/share/cmake-3.6/Modules/CMakeRCInformation.cmake b/share/cmake-3.6/Modules/CMakeRCInformation.cmake
deleted file mode 100644
index 94abd4b..0000000
--- a/share/cmake-3.6/Modules/CMakeRCInformation.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-# This file sets the basic flags for the Windows Resource Compiler.
-# It also loads the available platform file for the system-compiler
-# if it exists.
-
-# make sure we don't use CMAKE_BASE_NAME from somewhere else
-set(CMAKE_BASE_NAME)
-if(CMAKE_RC_COMPILER MATCHES "windres[^/]*$")
- set(CMAKE_BASE_NAME "windres")
-else()
- get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
-endif()
-set(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
-  ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
-include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
-
-
-
-set (CMAKE_RC_FLAGS "$ENV{RCFLAGS} ${CMAKE_RC_FLAGS_INIT}" CACHE STRING
-     "Flags for Windows Resource Compiler.")
-
-# These are the only types of flags that should be passed to the rc
-# command, if COMPILE_FLAGS is used on a target this will be used
-# to filter out any other flags
-set(CMAKE_RC_FLAG_REGEX "^[-/](D|I)")
-
-# now define the following rule variables
-# CMAKE_RC_COMPILE_OBJECT
-set(CMAKE_INCLUDE_FLAG_RC "-I")
-# compile a Resource file into an object file
-if(NOT CMAKE_RC_COMPILE_OBJECT)
-  set(CMAKE_RC_COMPILE_OBJECT
-    "<CMAKE_RC_COMPILER> <DEFINES> <INCLUDES> <FLAGS> /fo<OBJECT> <SOURCE>")
-endif()
-
-mark_as_advanced(
-CMAKE_RC_FLAGS
-)
-# set this variable so we can avoid loading this more than once.
-set(CMAKE_RC_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeSwiftInformation.cmake b/share/cmake-3.6/Modules/CMakeSwiftInformation.cmake
deleted file mode 100644
index 61ad928..0000000
--- a/share/cmake-3.6/Modules/CMakeSwiftInformation.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(CMAKE_Swift_OUTPUT_EXTENSION .o)
-
-# Load compiler-specific information.
-if(CMAKE_Swift_COMPILER_ID)
-  include(Compiler/${CMAKE_Swift_COMPILER_ID}-Swift OPTIONAL)
-endif()
-
-# load the system- and compiler specific files
-if(CMAKE_Swift_COMPILER_ID)
-  # load a hardware specific file, mostly useful for embedded compilers
-  if(CMAKE_SYSTEM_PROCESSOR)
-    include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Swift_COMPILER_ID}-Swift-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
-  endif()
-  include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Swift_COMPILER_ID}-Swift OPTIONAL)
-endif()
-
-# for most systems a module is the same as a shared library
-# so unless the variable CMAKE_MODULE_EXISTS is set just
-# copy the values from the LIBRARY variables
-if(NOT CMAKE_MODULE_EXISTS)
-  set(CMAKE_SHARED_MODULE_Swift_FLAGS ${CMAKE_SHARED_LIBRARY_Swift_FLAGS})
-  set(CMAKE_SHARED_MODULE_CREATE_Swift_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Swift_FLAGS})
-endif()
-
-include(CMakeCommonLanguageInclude)
-
-set(CMAKE_Swift_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeSystem.cmake.in b/share/cmake-3.6/Modules/CMakeSystem.cmake.in
deleted file mode 100644
index 70c98d5..0000000
--- a/share/cmake-3.6/Modules/CMakeSystem.cmake.in
+++ /dev/null
@@ -1,15 +0,0 @@
-set(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
-set(CMAKE_HOST_SYSTEM_NAME "@CMAKE_HOST_SYSTEM_NAME@")
-set(CMAKE_HOST_SYSTEM_VERSION "@CMAKE_HOST_SYSTEM_VERSION@")
-set(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
-
-@INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED@
-
-set(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
-set(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
-set(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
-set(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
-
-set(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
-
-set(CMAKE_SYSTEM_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake b/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake
deleted file mode 100644
index b9f8e0a..0000000
--- a/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included by cmGlobalGenerator::EnableLanguage.
-# It is included after the compiler has been determined, so
-# we know things like the compiler name and if the compiler is gnu.
-
-# before cmake 2.6 these variables were set in cmMakefile.cxx. This is still
-# done to keep scripts and custom language and compiler modules working.
-# But they are reset here and set again in the platform files for the target
-# platform, so they can be used for testing the target platform instead
-# of testing the host platform.
-set(APPLE  )
-set(UNIX   )
-set(CYGWIN )
-set(WIN32  )
-
-
-# include Generic system information
-include(CMakeGenericSystem)
-
-# 2. now include SystemName.cmake file to set the system specific information
-set(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
-
-include(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_SYSTEM_INFO_FILE)
-
-if(NOT _INCLUDED_SYSTEM_INFO_FILE)
-  message("System is unknown to cmake, create:\n${CMAKE_SYSTEM_INFO_FILE}"
-          " to use this system, please send your config file to "
-          "cmake@www.cmake.org so it can be added to cmake")
-  if(EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
-    configure_file(${CMAKE_BINARY_DIR}/CMakeCache.txt
-                   ${CMAKE_BINARY_DIR}/CopyOfCMakeCache.txt COPYONLY)
-    message("Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. "
-            "Please send that file to cmake@www.cmake.org.")
-   endif()
-endif()
-
-
-# optionally include a file which can do extra-generator specific things, e.g.
-# CMakeFindEclipseCDT4.cmake asks gcc for the system include dirs for the Eclipse CDT4 generator
-if(CMAKE_EXTRA_GENERATOR)
-  string(REPLACE " " "" _CMAKE_EXTRA_GENERATOR_NO_SPACES ${CMAKE_EXTRA_GENERATOR} )
-  include("CMakeFind${_CMAKE_EXTRA_GENERATOR_NO_SPACES}" OPTIONAL)
-endif()
-
-
-# for most systems a module is the same as a shared library
-# so unless the variable CMAKE_MODULE_EXISTS is set just
-# copy the values from the LIBRARY variables
-# this has to be done after the system information has been loaded
-if(NOT CMAKE_MODULE_EXISTS)
-  set(CMAKE_SHARED_MODULE_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
-  set(CMAKE_SHARED_MODULE_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
-endif()
-
-
-set(CMAKE_SYSTEM_SPECIFIC_INFORMATION_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake b/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake
deleted file mode 100644
index 5327ac1..0000000
--- a/share/cmake-3.6/Modules/CMakeSystemSpecificInitialize.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2014 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is included by cmGlobalGenerator::EnableLanguage.
-# It is included before the compiler has been determined.
-
-include(Platform/${CMAKE_SYSTEM_NAME}-Initialize OPTIONAL)
-
-set(CMAKE_SYSTEM_SPECIFIC_INITIALIZE_LOADED 1)
diff --git a/share/cmake-3.6/Modules/CMakeTestASM-ATTCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestASM-ATTCompiler.cmake
deleted file mode 100644
index 0cc6857..0000000
--- a/share/cmake-3.6/Modules/CMakeTestASM-ATTCompiler.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that the selected ASM-ATT "compiler" works.
-# For assembler this can only check whether the compiler has been found,
-# because otherwise there would have to be a separate assembler source file
-# for each assembler on every architecture.
-
-set(ASM_DIALECT "-ATT")
-include(CMakeTestASMCompiler)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeTestASMCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestASMCompiler.cmake
deleted file mode 100644
index 9381619..0000000
--- a/share/cmake-3.6/Modules/CMakeTestASMCompiler.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that the selected ASM compiler works.
-# For assembler this can only check whether the compiler has been found,
-# because otherwise there would have to be a separate assembler source file
-# for each assembler on every architecture.
-
-
-set(_ASM_COMPILER_WORKS 0)
-
-if(CMAKE_ASM${ASM_DIALECT}_COMPILER)
-  set(_ASM_COMPILER_WORKS 1)
-endif()
-
-# when using generic "ASM" support, we must have detected the compiler ID, fail otherwise:
-if("ASM${ASM_DIALECT}" STREQUAL "ASM")
-  if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
-    set(_ASM_COMPILER_WORKS 0)
-  endif()
-endif()
-
-set(CMAKE_ASM${ASM_DIALECT}_COMPILER_WORKS ${_ASM_COMPILER_WORKS} CACHE INTERNAL "")
diff --git a/share/cmake-3.6/Modules/CMakeTestASM_MASMCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestASM_MASMCompiler.cmake
deleted file mode 100644
index 462b1fc..0000000
--- a/share/cmake-3.6/Modules/CMakeTestASM_MASMCompiler.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that the selected ASM_MASM "compiler" (should be masm or masm64)
-# works. For assembler this can only check whether the compiler has been found,
-# because otherwise there would have to be a separate assembler source file
-# for each assembler on every architecture.
-
-set(ASM_DIALECT "_MASM")
-include(CMakeTestASMCompiler)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeTestASM_NASMCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestASM_NASMCompiler.cmake
deleted file mode 100644
index 414c2f5..0000000
--- a/share/cmake-3.6/Modules/CMakeTestASM_NASMCompiler.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that the selected ASM_NASM "compiler" works.
-# For assembler this can only check whether the compiler has been found,
-# because otherwise there would have to be a separate assembler source file
-# for each assembler on every architecture.
-
-set(ASM_DIALECT "_NASM")
-include(CMakeTestASMCompiler)
-set(ASM_DIALECT)
diff --git a/share/cmake-3.6/Modules/CMakeTestCCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestCCompiler.cmake
deleted file mode 100644
index 29a58bd..0000000
--- a/share/cmake-3.6/Modules/CMakeTestCCompiler.cmake
+++ /dev/null
@@ -1,96 +0,0 @@
-
-#=============================================================================
-# Copyright 2003-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(CMAKE_C_COMPILER_FORCED)
-  # The compiler configuration was forced by the user.
-  # Assume the user has configured all compiler information.
-  set(CMAKE_C_COMPILER_WORKS TRUE)
-  return()
-endif()
-
-include(CMakeTestCompilerCommon)
-
-# Remove any cached result from an older CMake version.
-# We now store this in CMakeCCompiler.cmake.
-unset(CMAKE_C_COMPILER_WORKS CACHE)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that that selected C compiler can actually compile
-# and link the most basic of programs.   If not, a fatal error
-# is set and cmake stops processing commands and will not generate
-# any makefiles or projects.
-if(NOT CMAKE_C_COMPILER_WORKS)
-  PrintTestCompilerStatus("C" "")
-  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
-    "#ifdef __cplusplus\n"
-    "# error \"The CMAKE_C_COMPILER is set to a C++ compiler\"\n"
-    "#endif\n"
-    "#if defined(__CLASSIC_C__)\n"
-    "int main(argc, argv)\n"
-    "  int argc;\n"
-    "  char* argv[];\n"
-    "#else\n"
-    "int main(int argc, char* argv[])\n"
-    "#endif\n"
-    "{ (void)argv; return argc-1;}\n")
-  try_compile(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
-    OUTPUT_VARIABLE __CMAKE_C_COMPILER_OUTPUT)
-  # Move result from cache to normal variable.
-  set(CMAKE_C_COMPILER_WORKS ${CMAKE_C_COMPILER_WORKS})
-  unset(CMAKE_C_COMPILER_WORKS CACHE)
-  set(C_TEST_WAS_RUN 1)
-endif()
-
-if(NOT CMAKE_C_COMPILER_WORKS)
-  PrintTestCompilerStatus("C" " -- 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")
-  message(FATAL_ERROR "The C compiler \"${CMAKE_C_COMPILER}\" "
-    "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_C_COMPILER_OUTPUT}\n\n"
-    "CMake will not be able to correctly generate this project.")
-else()
-  if(C_TEST_WAS_RUN)
-    PrintTestCompilerStatus("C" " -- 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")
-  endif()
-
-  # Try to identify the ABI and configure it into CMakeCCompiler.cmake
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
-  CMAKE_DETERMINE_COMPILER_ABI(C ${CMAKE_ROOT}/Modules/CMakeCCompilerABI.c)
-  # Try to identify the compiler features
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake)
-  CMAKE_DETERMINE_COMPILE_FEATURES(C)
-
-  # Re-configure to save learned information.
-  configure_file(
-    ${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
-    ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
-    @ONLY
-    )
-  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake)
-
-  if(CMAKE_C_SIZEOF_DATA_PTR)
-    foreach(f ${CMAKE_C_ABI_FILES})
-      include(${f})
-    endforeach()
-    unset(CMAKE_C_ABI_FILES)
-  endif()
-endif()
-
-unset(__CMAKE_C_COMPILER_OUTPUT)
diff --git a/share/cmake-3.6/Modules/CMakeTestCXXCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestCXXCompiler.cmake
deleted file mode 100644
index 81561b2..0000000
--- a/share/cmake-3.6/Modules/CMakeTestCXXCompiler.cmake
+++ /dev/null
@@ -1,89 +0,0 @@
-
-#=============================================================================
-# Copyright 2003-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(CMAKE_CXX_COMPILER_FORCED)
-  # The compiler configuration was forced by the user.
-  # Assume the user has configured all compiler information.
-  set(CMAKE_CXX_COMPILER_WORKS TRUE)
-  return()
-endif()
-
-include(CMakeTestCompilerCommon)
-
-# Remove any cached result from an older CMake version.
-# We now store this in CMakeCXXCompiler.cmake.
-unset(CMAKE_CXX_COMPILER_WORKS CACHE)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that that selected C++ compiler can actually compile
-# and link the most basic of programs.   If not, a fatal error
-# is set and cmake stops processing commands and will not generate
-# any makefiles or projects.
-if(NOT CMAKE_CXX_COMPILER_WORKS)
-  PrintTestCompilerStatus("CXX" "")
-  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
-    "#ifndef __cplusplus\n"
-    "# error \"The CMAKE_CXX_COMPILER is set to a C compiler\"\n"
-    "#endif\n"
-    "int main(){return 0;}\n")
-  try_compile(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
-    OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
-  # Move result from cache to normal variable.
-  set(CMAKE_CXX_COMPILER_WORKS ${CMAKE_CXX_COMPILER_WORKS})
-  unset(CMAKE_CXX_COMPILER_WORKS CACHE)
-  set(CXX_TEST_WAS_RUN 1)
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_WORKS)
-  PrintTestCompilerStatus("CXX" " -- 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")
-  message(FATAL_ERROR "The C++ compiler \"${CMAKE_CXX_COMPILER}\" "
-    "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_CXX_COMPILER_OUTPUT}\n\n"
-    "CMake will not be able to correctly generate this project.")
-else()
-  if(CXX_TEST_WAS_RUN)
-    PrintTestCompilerStatus("CXX" " -- 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")
-  endif()
-
-  # Try to identify the ABI and configure it into CMakeCXXCompiler.cmake
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
-  CMAKE_DETERMINE_COMPILER_ABI(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp)
-  # Try to identify the compiler features
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake)
-  CMAKE_DETERMINE_COMPILE_FEATURES(CXX)
-
-  # Re-configure to save learned information.
-  configure_file(
-    ${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
-    ${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
-    @ONLY
-    )
-  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake)
-
-  if(CMAKE_CXX_SIZEOF_DATA_PTR)
-    foreach(f ${CMAKE_CXX_ABI_FILES})
-      include(${f})
-    endforeach()
-    unset(CMAKE_CXX_ABI_FILES)
-  endif()
-endif()
-
-unset(__CMAKE_CXX_COMPILER_OUTPUT)
diff --git a/share/cmake-3.6/Modules/CMakeTestCompilerCommon.cmake b/share/cmake-3.6/Modules/CMakeTestCompilerCommon.cmake
deleted file mode 100644
index e0d45e7..0000000
--- a/share/cmake-3.6/Modules/CMakeTestCompilerCommon.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(PrintTestCompilerStatus LANG MSG)
-  message(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${MSG}")
-endfunction()
diff --git a/share/cmake-3.6/Modules/CMakeTestFortranCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestFortranCompiler.cmake
deleted file mode 100644
index b50e832..0000000
--- a/share/cmake-3.6/Modules/CMakeTestFortranCompiler.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(CMAKE_Fortran_COMPILER_FORCED)
-  # The compiler configuration was forced by the user.
-  # Assume the user has configured all compiler information.
-  set(CMAKE_Fortran_COMPILER_WORKS TRUE)
-  return()
-endif()
-
-include(CMakeTestCompilerCommon)
-
-# Remove any cached result from an older CMake version.
-# We now store this in CMakeFortranCompiler.cmake.
-unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that that selected Fortran compiler can actually compile
-# and link the most basic of programs.   If not, a fatal error
-# is set and cmake stops processing commands and will not generate
-# any makefiles or projects.
-if(NOT CMAKE_Fortran_COMPILER_WORKS)
-  PrintTestCompilerStatus("Fortran" "")
-  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f "
-        PROGRAM TESTFortran
-        PRINT *, 'Hello'
-        END
-  ")
-  try_compile(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
-    OUTPUT_VARIABLE OUTPUT)
-  # Move result from cache to normal variable.
-  set(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_Fortran_COMPILER_WORKS})
-  unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
-  set(FORTRAN_TEST_WAS_RUN 1)
-endif()
-
-if(NOT CMAKE_Fortran_COMPILER_WORKS)
-  PrintTestCompilerStatus("Fortran" "  -- 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")
-  message(FATAL_ERROR "The Fortran compiler \"${CMAKE_Fortran_COMPILER}\" "
-    "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${OUTPUT}\n\n"
-    "CMake will not be able to correctly generate this project.")
-else()
-  if(FORTRAN_TEST_WAS_RUN)
-    PrintTestCompilerStatus("Fortran" "  -- 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")
-  endif()
-
-  # Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
-  include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
-  CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
-
-  # 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")
-    file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90 "
-      PROGRAM TESTFortran90
-      integer stop ; stop = 1 ; do while ( stop .eq. 0 ) ; end do
-      END PROGRAM TESTFortran90
-")
-    try_compile(CMAKE_Fortran_COMPILER_SUPPORTS_F90 ${CMAKE_BINARY_DIR}
-      ${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")
-      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")
-      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")
-      set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0)
-    endif()
-    unset(CMAKE_Fortran_COMPILER_SUPPORTS_F90 CACHE)
-  endif()
-
-  # Re-configure to save learned information.
-  configure_file(
-    ${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
-    ${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
-    @ONLY
-    )
-  include(${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake)
-
-  if(CMAKE_Fortran_SIZEOF_DATA_PTR)
-    foreach(f ${CMAKE_Fortran_ABI_FILES})
-      include(${f})
-    endforeach()
-    unset(CMAKE_Fortran_ABI_FILES)
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeTestJavaCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestJavaCompiler.cmake
deleted file mode 100644
index d763412..0000000
--- a/share/cmake-3.6/Modules/CMakeTestJavaCompiler.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that that selected Fortran compiler can actually compile
-# and link the most basic of programs.   If not, a fatal error
-# is set and cmake stops processing commands and will not generate
-# any makefiles or projects.
-set(CMAKE_Java_COMPILER_WORKS 1 CACHE INTERNAL "")
diff --git a/share/cmake-3.6/Modules/CMakeTestRCCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestRCCompiler.cmake
deleted file mode 100644
index 7969da1..0000000
--- a/share/cmake-3.6/Modules/CMakeTestRCCompiler.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that that selected RC compiler can actually compile
-# and link the most basic of programs.   If not, a fatal error
-# is set and cmake stops processing commands and will not generate
-# any makefiles or projects.
-
-# For now there is no way to do a try compile on just a .rc file
-# so just do nothing in here.
-set(CMAKE_RC_COMPILER_WORKS 1 CACHE INTERNAL "")
diff --git a/share/cmake-3.6/Modules/CMakeTestSwiftCompiler.cmake b/share/cmake-3.6/Modules/CMakeTestSwiftCompiler.cmake
deleted file mode 100644
index 89849fb..0000000
--- a/share/cmake-3.6/Modules/CMakeTestSwiftCompiler.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#=============================================================================
-# Copyright 2003-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(CMAKE_Swift_COMPILER_FORCED)
-  # The compiler configuration was forced by the user.
-  # Assume the user has configured all compiler information.
-  set(CMAKE_Swift_COMPILER_WORKS TRUE)
-  return()
-endif()
-
-include(CMakeTestCompilerCommon)
-
-# Remove any cached result from an older CMake version.
-# We now store this in CMakeSwiftCompiler.cmake.
-unset(CMAKE_Swift_COMPILER_WORKS CACHE)
-
-# This file is used by EnableLanguage in cmGlobalGenerator to
-# determine that that selected C++ compiler can actually compile
-# and link the most basic of programs.   If not, a fatal error
-# is set and cmake stops processing commands and will not generate
-# any makefiles or projects.
-if(NOT CMAKE_Swift_COMPILER_WORKS)
-  PrintTestCompilerStatus("Swift" "")
-  file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
-    "import Foundation\n"
-    "print(\"CMake\")\n")
-  try_compile(CMAKE_Swift_COMPILER_WORKS ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
-    OUTPUT_VARIABLE __CMAKE_Swift_COMPILER_OUTPUT)
-  # Move result from cache to normal variable.
-  set(CMAKE_Swift_COMPILER_WORKS ${CMAKE_Swift_COMPILER_WORKS})
-  unset(CMAKE_Swift_COMPILER_WORKS CACHE)
-  set(Swift_TEST_WAS_RUN 1)
-endif()
-
-if(NOT CMAKE_Swift_COMPILER_WORKS)
-  PrintTestCompilerStatus("Swift" " -- 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")
-  message(FATAL_ERROR "The Swift compiler \"${CMAKE_Swift_COMPILER}\" "
-    "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_Swift_COMPILER_OUTPUT}\n\n"
-    "CMake will not be able to correctly generate this project.")
-else()
-  if(Swift_TEST_WAS_RUN)
-    PrintTestCompilerStatus("Swift" " -- 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()
-endif()
-
-unset(__CMAKE_Swift_COMPILER_OUTPUT)
diff --git a/share/cmake-3.6/Modules/CMakeUnixFindMake.cmake b/share/cmake-3.6/Modules/CMakeUnixFindMake.cmake
deleted file mode 100644
index 3714926..0000000
--- a/share/cmake-3.6/Modules/CMakeUnixFindMake.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(CMAKE_MAKE_PROGRAM NAMES gmake make smake)
-mark_as_advanced(CMAKE_MAKE_PROGRAM)
-
-# Look for a make tool provided by Xcode
-if(NOT CMAKE_MAKE_PROGRAM AND CMAKE_HOST_APPLE)
-  execute_process(COMMAND xcrun --find make
-    OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
-    ERROR_VARIABLE _xcrun_err)
-  if(_xcrun_out)
-    set_property(CACHE CMAKE_MAKE_PROGRAM PROPERTY VALUE "${_xcrun_out}")
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/CMakeVS7BackwardCompatibility.cmake b/share/cmake-3.6/Modules/CMakeVS7BackwardCompatibility.cmake
deleted file mode 100644
index e9622ee..0000000
--- a/share/cmake-3.6/Modules/CMakeVS7BackwardCompatibility.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# hard code these for fast backwards compatibility tests
-set (CMAKE_SIZEOF_INT       4   CACHE INTERNAL "Size of int data type")
-set (CMAKE_SIZEOF_LONG      4   CACHE INTERNAL "Size of long data type")
-set (CMAKE_SIZEOF_VOID_P    4   CACHE INTERNAL "Size of void* data type")
-set (CMAKE_SIZEOF_CHAR      1   CACHE INTERNAL "Size of char data type")
-set (CMAKE_SIZEOF_SHORT     2   CACHE INTERNAL "Size of short data type")
-set (CMAKE_SIZEOF_FLOAT     4   CACHE INTERNAL "Size of float data type")
-set (CMAKE_SIZEOF_DOUBLE    8   CACHE INTERNAL "Size of double data type")
-set (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
-         "Does the compiler support ansi for scope.")
-set (CMAKE_USE_WIN32_THREADS  TRUE CACHE BOOL    "Use the win32 thread library.")
-set (CMAKE_WORDS_BIGENDIAN 0 CACHE INTERNAL "endianness of bytes")
diff --git a/share/cmake-3.6/Modules/CMakeVerifyManifest.cmake b/share/cmake-3.6/Modules/CMakeVerifyManifest.cmake
deleted file mode 100644
index a54b9d2..0000000
--- a/share/cmake-3.6/Modules/CMakeVerifyManifest.cmake
+++ /dev/null
@@ -1,120 +0,0 @@
-#.rst:
-# CMakeVerifyManifest
-# -------------------
-#
-#
-#
-# CMakeVerifyManifest.cmake
-#
-# This script is used to verify that embedded manifests and side by side
-# manifests for a project match.  To run this script, cd to a directory
-# and run the script with cmake -P.  On the command line you can pass in
-# versions that are OK even if not found in the .manifest files.  For
-# example, cmake -Dallow_versions=8.0.50608.0
-# -PCmakeVerifyManifest.cmake could be used to allow an embedded manifest
-# of 8.0.50608.0 to be used in a project even if that version was not
-# found in the .manifest file.
-
-# This script first recursively globs *.manifest files from
-# the current directory.  Then globs *.exe and *.dll.  Each
-# .exe and .dll is scanned for embedded manifests and the versions
-# of CRT are compared to those found in the .manifest files
-# from the first glob.
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-# crt_version:
-# function to extract the CRT version from a file
-# this can be passed a .exe, .dll, or a .manifest file
-# it will put the list of versions found into the variable
-# specified by list_var
-function(crt_version file list_var)
-  file(STRINGS "${file}" strings REGEX "Microsoft.VC...CRT" NEWLINE_CONSUME)
-  foreach(s ${strings})
-    set(has_match 1)
-    string(REGEX
-      REPLACE ".*<assembly.*\"Microsoft.VC...CRT\".*version=\"([^\"]*)\".*</assembly>.*$" "\\1"
-      version "${s}")
-    if(NOT "${version}" STREQUAL "")
-      list(APPEND version_list ${version})
-    else()
-      message(FATAL_ERROR "Parse error could not find version in [${s}]")
-    endif()
-  endforeach()
-  if(NOT DEFINED has_match)
-    message("Information: no embedded manifest in: ${file}")
-    return()
-  endif()
-  list(APPEND version_list ${${list_var}})
-  list(REMOVE_DUPLICATES version_list)
-  if(version_list)
-    set(${list_var} ${version_list} PARENT_SCOPE)
-  endif()
-endfunction()
-set(fatal_error FALSE)
-
-# check_version:
-#
-# test a file against the shipped manifest versions
-# for a directory
-function(check_version file manifest_versions)
-  set(manifest_versions ${manifest_versions} ${allow_versions})
-  # collect versions for a given file
-  crt_version(${file} file_versions)
-  # see if the versions
-  foreach(ver ${file_versions})
-    list(FIND manifest_versions "${ver}" found_version)
-    if("${found_version}" EQUAL -1)
-      message("ERROR: ${file} uses ${ver} not found in shipped manifests:[${manifest_versions}].")
-      set(fatal_error TRUE PARENT_SCOPE)
-    endif()
-  endforeach()
-  list(LENGTH file_versions len)
-  if(${len} GREATER 1)
-    message("WARNING: found more than one version of MICROSOFT.VC80.CRT referenced in ${file}: [${file_versions}]")
-  endif()
-endfunction()
-
-# collect up the versions of CRT that are shipped
-# in .manifest files
-set(manifest_version_list )
-file(GLOB_RECURSE manifest_files "*.manifest")
-foreach(f ${manifest_files})
-  crt_version("${f}" manifest_version_list)
-endforeach()
-list(LENGTH manifest_version_list LEN)
-if(LEN EQUAL 0)
-  message(FATAL_ERROR "No .manifest files found, no version check can be done.")
-endif()
-message("Versions found in ${manifest_files}: ${manifest_version_list}")
-if(DEFINED allow_versions)
-  message("Extra versions allowed: ${allow_versions}")
-endif()
-
-# now find all .exe and .dll files
-# and call check_version on each of them
-file(GLOB_RECURSE exe_files "*.exe")
-file(GLOB_RECURSE dll_files "*.dll")
-set(exe_files ${exe_files} ${dll_files})
-foreach(f ${exe_files})
-  check_version(${f} "${manifest_version_list}")
-endforeach()
-
-# report a fatal error if there were any so that cmake will return
-# a non zero value
-if(fatal_error)
-  message(FATAL_ERROR "This distribution embeds dll "
-    " versions that it does not ship, and may not work on other machines.")
-endif()
diff --git a/share/cmake-3.6/Modules/CPack.STGZ_Header.sh.in b/share/cmake-3.6/Modules/CPack.STGZ_Header.sh.in
deleted file mode 100755
index dee576f..0000000
--- a/share/cmake-3.6/Modules/CPack.STGZ_Header.sh.in
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/sh
-
-# Display usage
-cpack_usage()
-{
-  cat <<EOF
-Usage: $0 [options]
-Options: [defaults in brackets after descriptions]
-  --help            print this message
-  --prefix=dir      directory in which to install
-  --include-subdir  include the @CPACK_PACKAGE_FILE_NAME@ subdirectory
-  --exclude-subdir  exclude the @CPACK_PACKAGE_FILE_NAME@ subdirectory
-EOF
-  exit 1
-}
-
-cpack_echo_exit()
-{
-  echo $1
-  exit 1
-}
-
-# Display version
-cpack_version()
-{
-  echo "@CPACK_PACKAGE_NAME@ Installer Version: @CPACK_PACKAGE_VERSION@, Copyright (c) @CPACK_PACKAGE_VENDOR@"
-}
-
-# Helper function to fix windows paths.
-cpack_fix_slashes ()
-{
-  echo "$1" | sed 's/\\/\//g'
-}
-
-interactive=TRUE
-cpack_skip_license=FALSE
-cpack_include_subdir=""
-for a in "$@CPACK_AT_SIGN@"; do
-  if echo $a | grep "^--prefix=" > /dev/null 2> /dev/null; then
-    cpack_prefix_dir=`echo $a | sed "s/^--prefix=//"`
-    cpack_prefix_dir=`cpack_fix_slashes "${cpack_prefix_dir}"`
-  fi
-  if echo $a | grep "^--help" > /dev/null 2> /dev/null; then
-    cpack_usage 
-  fi
-  if echo $a | grep "^--version" > /dev/null 2> /dev/null; then
-    cpack_version 
-    exit 2
-  fi
-  if echo $a | grep "^--include-subdir" > /dev/null 2> /dev/null; then
-    cpack_include_subdir=TRUE
-  fi
-  if echo $a | grep "^--exclude-subdir" > /dev/null 2> /dev/null; then
-    cpack_include_subdir=FALSE
-  fi
-  if echo $a | grep "^--skip-license" > /dev/null 2> /dev/null; then
-    cpack_skip_license=TRUE
-  fi
-done
-
-if [ "x${cpack_include_subdir}x" != "xx" -o "x${cpack_skip_license}x" = "xTRUEx" ]
-then
-  interactive=FALSE
-fi
-
-cpack_version
-echo "This is a self-extracting archive."
-toplevel="`pwd`"
-if [ "x${cpack_prefix_dir}x" != "xx" ]
-then
-  toplevel="${cpack_prefix_dir}"
-fi
-
-echo "The archive will be extracted to: ${toplevel}"
-
-if [ "x${interactive}x" = "xTRUEx" ]
-then
-  echo ""
-  echo "If you want to stop extracting, please press <ctrl-C>."
-
-  if [ "x${cpack_skip_license}x" != "xTRUEx" ]
-  then
-    more << '____cpack__here_doc____'
-@CPACK_RESOURCE_FILE_LICENSE_CONTENT@
-____cpack__here_doc____
-    echo
-    echo "Do you accept the license? [yN]: "
-    read line leftover
-    case ${line} in
-      y* | Y*)
-        cpack_license_accepted=TRUE;;
-      *)
-        echo "License not accepted. Exiting ..."
-        exit 1;;
-    esac
-  fi
-
-  if [ "x${cpack_include_subdir}x" = "xx" ]
-  then
-    echo "By default the @CPACK_PACKAGE_NAME@ will be installed in:"
-    echo "  \"${toplevel}/@CPACK_PACKAGE_FILE_NAME@\""
-    echo "Do you want to include the subdirectory @CPACK_PACKAGE_FILE_NAME@?"
-    echo "Saying no will install in: \"${toplevel}\" [Yn]: "
-    read line leftover
-    cpack_include_subdir=TRUE
-    case ${line} in
-      n* | N*)
-        cpack_include_subdir=FALSE
-    esac
-  fi
-fi
-
-if [ "x${cpack_include_subdir}x" = "xTRUEx" ]
-then
-  toplevel="${toplevel}/@CPACK_PACKAGE_FILE_NAME@"
-  mkdir -p "${toplevel}"
-fi
-echo
-echo "Using target directory: ${toplevel}"
-echo "Extracting, please wait..."
-echo ""
-
-# take the archive portion of this file and pipe it to tar
-# the NUMERIC parameter in this command should be one more
-# than the number of lines in this header file
-# there are tails which don't understand the "-n" argument, e.g. on SunOS
-# OTOH there are tails which complain when not using the "-n" argument (e.g. GNU)
-# so at first try to tail some file to see if tail fails if used with "-n"
-# if so, don't use "-n"
-use_new_tail_syntax="-n"
-tail $use_new_tail_syntax +1 "$0" > /dev/null 2> /dev/null || use_new_tail_syntax=""
-
-tail $use_new_tail_syntax +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && tar xf -) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@"
-
-echo "Unpacking finished successfully"
-
-exit 0
-#-----------------------------------------------------------
-#      Start of TAR.GZ file
-#-----------------------------------------------------------;
-
diff --git a/share/cmake-3.6/Modules/CPack.cmake b/share/cmake-3.6/Modules/CPack.cmake
deleted file mode 100644
index 77f854d..0000000
--- a/share/cmake-3.6/Modules/CPack.cmake
+++ /dev/null
@@ -1,653 +0,0 @@
-#.rst:
-# CPack
-# -----
-#
-# Build binary and source package installers.
-#
-# Variables common to all CPack generators
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The
-# CPack module generates binary and source installers in a variety of
-# formats using the cpack program.  Inclusion of the CPack module adds
-# two new targets to the resulting makefiles, package and
-# package_source, which build the binary and source installers,
-# respectively.  The generated binary installers contain everything
-# installed via CMake's INSTALL command (and the deprecated
-# INSTALL_FILES, INSTALL_PROGRAMS, and INSTALL_TARGETS commands).
-#
-# For certain kinds of binary installers (including the graphical
-# installers on Mac OS X and Windows), CPack generates installers that
-# allow users to select individual application components to install.
-# See CPackComponent module for that.
-#
-# The CPACK_GENERATOR variable has different meanings in different
-# contexts.  In your CMakeLists.txt file, CPACK_GENERATOR is a *list of
-# generators*: when run with no other arguments, CPack will iterate over
-# that list and produce one package for each generator.  In a
-# CPACK_PROJECT_CONFIG_FILE, though, CPACK_GENERATOR is a *string naming
-# a single generator*.  If you need per-cpack- generator logic to
-# control *other* cpack settings, then you need a
-# CPACK_PROJECT_CONFIG_FILE.
-#
-# The CMake source tree itself contains a CPACK_PROJECT_CONFIG_FILE.
-# See the top level file CMakeCPackOptions.cmake.in for an example.
-#
-# If set, the CPACK_PROJECT_CONFIG_FILE is included automatically on a
-# per-generator basis.  It only need contain overrides.
-#
-# Here's how it works:
-#
-# * cpack runs
-# * it includes CPackConfig.cmake
-# * it iterates over the generators listed in that file's
-#   CPACK_GENERATOR list variable (unless told to use just a
-#   specific one via -G on the command line...)
-# * foreach generator, it then
-#
-#   - sets CPACK_GENERATOR to the one currently being iterated
-#   - includes the CPACK_PROJECT_CONFIG_FILE
-#   - produces the package for that generator
-#
-# This is the key: For each generator listed in CPACK_GENERATOR in
-# CPackConfig.cmake, cpack will *reset* CPACK_GENERATOR internally to
-# *the one currently being used* and then include the
-# CPACK_PROJECT_CONFIG_FILE.
-#
-# Before including this CPack module in your CMakeLists.txt file, there
-# are a variety of variables that can be set to customize the resulting
-# installers.  The most commonly-used variables are:
-#
-# .. variable:: CPACK_PACKAGE_NAME
-#
-#  The name of the package (or application). If not specified, defaults to
-#  the project name.
-#
-# .. variable:: CPACK_PACKAGE_VENDOR
-#
-#  The name of the package vendor. (e.g., "Kitware").
-#
-# .. variable:: CPACK_PACKAGE_DIRECTORY
-#
-#  The directory in which CPack is doing its packaging. If it is not set
-#  then this will default (internally) to the build dir. This variable may
-#  be defined in CPack config file or from the cpack command line option
-#  "-B". If set the command line option override the value found in the
-#  config file.
-#
-# .. variable:: CPACK_PACKAGE_VERSION_MAJOR
-#
-#  Package major Version
-#
-# .. variable:: CPACK_PACKAGE_VERSION_MINOR
-#
-#  Package minor Version
-#
-# .. variable:: CPACK_PACKAGE_VERSION_PATCH
-#
-#  Package patch Version
-#
-# .. variable:: CPACK_PACKAGE_DESCRIPTION_FILE
-#
-#  A text file used to describe the project. Used, for example, the
-#  introduction screen of a CPack-generated Windows installer to describe
-#  the project.
-#
-# .. variable:: CPACK_PACKAGE_DESCRIPTION_SUMMARY
-#
-#  Short description of the project (only a few words).
-#
-# .. variable:: CPACK_PACKAGE_FILE_NAME
-#
-#  The name of the package file to generate, not including the
-#  extension. For example, cmake-2.6.1-Linux-i686.  The default value is::
-#
-#   ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}.
-#
-# .. variable:: CPACK_PACKAGE_INSTALL_DIRECTORY
-#
-#  Installation directory on the target system. This may be used by some
-#  CPack generators like NSIS to create an installation directory e.g.,
-#  "CMake 2.5" below the installation prefix. All installed element will be
-#  put inside this directory.
-#
-# .. variable:: CPACK_PACKAGE_ICON
-#
-#  A branding image that will be displayed inside the installer (used by GUI
-#  installers).
-#
-# .. variable:: CPACK_PROJECT_CONFIG_FILE
-#
-#  CPack-time project CPack configuration file. This file included at cpack
-#  time, once per generator after CPack has set CPACK_GENERATOR to the
-#  actual generator being used. It allows per-generator setting of CPACK_*
-#  variables at cpack time.
-#
-# .. variable:: CPACK_RESOURCE_FILE_LICENSE
-#
-#  License to be embedded in the installer. It will typically be displayed
-#  to the user by the produced installer (often with an explicit "Accept"
-#  button, for graphical installers) prior to installation. This license
-#  file is NOT added to installed file but is used by some CPack generators
-#  like NSIS. If you want to install a license file (may be the same as this
-#  one) along with your project you must add an appropriate CMake INSTALL
-#  command in your CMakeLists.txt.
-#
-# .. variable:: CPACK_RESOURCE_FILE_README
-#
-#  ReadMe file to be embedded in the installer. It typically describes in
-#  some detail the purpose of the project during the installation. Not all
-#  CPack generators uses this file.
-#
-# .. variable:: CPACK_RESOURCE_FILE_WELCOME
-#
-#  Welcome file to be embedded in the installer. It welcomes users to this
-#  installer.  Typically used in the graphical installers on Windows and Mac
-#  OS X.
-#
-# .. variable:: CPACK_MONOLITHIC_INSTALL
-#
-#  Disables the component-based installation mechanism. When set the
-#  component specification is ignored and all installed items are put in a
-#  single "MONOLITHIC" package.  Some CPack generators do monolithic
-#  packaging by default and may be asked to do component packaging by
-#  setting CPACK_<GENNAME>_COMPONENT_INSTALL to 1/TRUE.
-#
-# .. variable:: CPACK_GENERATOR
-#
-#  List of CPack generators to use. If not specified, CPack will create a
-#  set of options CPACK_BINARY_<GENNAME> (e.g., CPACK_BINARY_NSIS) allowing
-#  the user to enable/disable individual generators. This variable may be
-#  used on the command line as well as in::
-#
-#   cpack -D CPACK_GENERATOR="ZIP;TGZ" /path/to/build/tree
-#
-# .. variable:: CPACK_OUTPUT_CONFIG_FILE
-#
-#  The name of the CPack binary configuration file. This file is the CPack
-#  configuration generated by the CPack module for binary
-#  installers. Defaults to CPackConfig.cmake.
-#
-# .. variable:: CPACK_PACKAGE_EXECUTABLES
-#
-#  Lists each of the executables and associated text label to be used to
-#  create Start Menu shortcuts. For example, setting this to the list
-#  ccmake;CMake will create a shortcut named "CMake" that will execute the
-#  installed executable ccmake. Not all CPack generators use it (at least
-#  NSIS, WIX and OSXX11 do).
-#
-# .. variable:: CPACK_STRIP_FILES
-#
-#  List of files to be stripped. Starting with CMake 2.6.0 CPACK_STRIP_FILES
-#  will be a boolean variable which enables stripping of all files (a list
-#  of files evaluates to TRUE in CMake, so this change is compatible).
-#
-# .. variable:: CPACK_VERBATIM_VARIABLES
-#
-#  If set to TRUE, values of variables prefixed with CPACK_ will be escaped
-#  before being written to the configuration files, so that the cpack program
-#  receives them exactly as they were specified. If not, characters like quotes
-#  and backslashes can cause parsing errors or alter the value received by the
-#  cpack program. Defaults to FALSE for backwards compatibility.
-#
-#  * Mandatory : NO
-#  * Default   : FALSE
-#
-# The following CPack variables are specific to source packages, and
-# will not affect binary packages:
-#
-# .. variable:: CPACK_SOURCE_PACKAGE_FILE_NAME
-#
-#  The name of the source package. For example cmake-2.6.1.
-#
-# .. variable:: CPACK_SOURCE_STRIP_FILES
-#
-#  List of files in the source tree that will be stripped. Starting with
-#  CMake 2.6.0 CPACK_SOURCE_STRIP_FILES will be a boolean variable which
-#  enables stripping of all files (a list of files evaluates to TRUE in
-#  CMake, so this change is compatible).
-#
-# .. variable:: CPACK_SOURCE_GENERATOR
-#
-#  List of generators used for the source packages. As with CPACK_GENERATOR,
-#  if this is not specified then CPack will create a set of options (e.g.,
-#  CPACK_SOURCE_ZIP) allowing users to select which packages will be
-#  generated.
-#
-# .. variable:: CPACK_SOURCE_OUTPUT_CONFIG_FILE
-#
-#  The name of the CPack source configuration file. This file is the CPack
-#  configuration generated by the CPack module for source
-#  installers. Defaults to CPackSourceConfig.cmake.
-#
-# .. variable:: CPACK_SOURCE_IGNORE_FILES
-#
-#  Pattern of files in the source tree that won't be packaged when building
-#  a source package. This is a list of regular expression patterns (that
-#  must be properly escaped), e.g.,
-#  /CVS/;/\\.svn/;\\.swp$;\\.#;/#;.*~;cscope.*
-#
-# The following variables are for advanced uses of CPack:
-#
-# .. variable:: CPACK_CMAKE_GENERATOR
-#
-#  What CMake generator should be used if the project is CMake
-#  project. Defaults to the value of CMAKE_GENERATOR few users will want to
-#  change this setting.
-#
-# .. variable:: CPACK_INSTALL_CMAKE_PROJECTS
-#
-#  List of four values that specify what project to install. The four values
-#  are: Build directory, Project Name, Project Component, Directory. If
-#  omitted, CPack will build an installer that installs everything.
-#
-# .. variable:: CPACK_SYSTEM_NAME
-#
-#  System name, defaults to the value of ${CMAKE_SYSTEM_NAME}.
-#
-# .. variable:: CPACK_PACKAGE_VERSION
-#
-#  Package full version, used internally. By default, this is built from
-#  CPACK_PACKAGE_VERSION_MAJOR, CPACK_PACKAGE_VERSION_MINOR, and
-#  CPACK_PACKAGE_VERSION_PATCH.
-#
-# .. variable:: CPACK_TOPLEVEL_TAG
-#
-#  Directory for the installed files.
-#
-# .. variable:: CPACK_INSTALL_COMMANDS
-#
-#  Extra commands to install components.
-#
-# .. variable:: CPACK_INSTALLED_DIRECTORIES
-#
-#  Extra directories to install.
-#
-# .. variable:: CPACK_PACKAGE_INSTALL_REGISTRY_KEY
-#
-#  Registry key used when installing this project. This is only used by
-#  installer for Windows.  The default value is based on the installation
-#  directory.
-#
-# .. variable:: CPACK_CREATE_DESKTOP_LINKS
-#
-#  List of desktop links to create.
-#  Each desktop link requires a corresponding start menu shortcut
-#  as created by :variable:`CPACK_PACKAGE_EXECUTABLES`.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Define this var in order to avoid (or warn) concerning multiple inclusion
-if(CPack_CMake_INCLUDED)
-  message(WARNING "CPack.cmake has already been included!!")
-else()
-  set(CPack_CMake_INCLUDED 1)
-endif()
-
-# Pick a configuration file
-set(cpack_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
-if(EXISTS "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
-  set(cpack_input_file "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
-endif()
-set(cpack_source_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
-if(EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
-  set(cpack_source_input_file "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
-endif()
-
-# Backward compatibility
-# Include CPackComponent macros if it has not already been included before.
-include(CPackComponent)
-
-# Macro for setting values if a user did not overwrite them
-# Mangles CMake-special characters. Only kept for backwards compatibility.
-macro(cpack_set_if_not_set name value)
-  message(DEPRECATION "cpack_set_if_not_set is obsolete; do not use.")
-  _cpack_set_default("${name}" "${value}")
-endmacro()
-
-# cpack_encode_variables - Function to encode variables for the configuration file
-# find any variable that starts with CPACK and create a variable
-# _CPACK_OTHER_VARIABLES_ that contains SET commands for
-# each cpack variable.  _CPACK_OTHER_VARIABLES_ is then
-# used as an @ replacment in configure_file for the CPackConfig.
-function(cpack_encode_variables)
-  set(commands "")
-  get_cmake_property(res VARIABLES)
-  foreach(var ${res})
-    if(var MATCHES "^CPACK")
-      if(CPACK_VERBATIM_VARIABLES)
-        _cpack_escape_for_cmake(value "${${var}}")
-      else()
-        set(value "${${var}}")
-      endif()
-
-      set(commands "${commands}\nSET(${var} \"${value}\")")
-    endif()
-  endforeach()
-
-  set(_CPACK_OTHER_VARIABLES_ "${commands}" PARENT_SCOPE)
-endfunction()
-
-# Internal use functions
-function(_cpack_set_default name value)
-  if(NOT DEFINED "${name}")
-    set("${name}" "${value}" PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(_cpack_escape_for_cmake var value)
-  string(REGEX REPLACE "([\\\$\"])" "\\\\\\1" escaped "${value}")
-  set("${var}" "${escaped}" PARENT_SCOPE)
-endfunction()
-
-# Set the package name
-_cpack_set_default(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
-_cpack_set_default(CPACK_PACKAGE_VERSION_MAJOR "0")
-_cpack_set_default(CPACK_PACKAGE_VERSION_MINOR "1")
-_cpack_set_default(CPACK_PACKAGE_VERSION_PATCH "1")
-_cpack_set_default(CPACK_PACKAGE_VERSION
-  "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
-_cpack_set_default(CPACK_PACKAGE_VENDOR "Humanity")
-_cpack_set_default(CPACK_PACKAGE_DESCRIPTION_SUMMARY
-  "${CMAKE_PROJECT_NAME} built using CMake")
-
-_cpack_set_default(CPACK_PACKAGE_DESCRIPTION_FILE
-  "${CMAKE_ROOT}/Templates/CPack.GenericDescription.txt")
-_cpack_set_default(CPACK_RESOURCE_FILE_LICENSE
-  "${CMAKE_ROOT}/Templates/CPack.GenericLicense.txt")
-_cpack_set_default(CPACK_RESOURCE_FILE_README
-  "${CMAKE_ROOT}/Templates/CPack.GenericDescription.txt")
-_cpack_set_default(CPACK_RESOURCE_FILE_WELCOME
-  "${CMAKE_ROOT}/Templates/CPack.GenericWelcome.txt")
-
-_cpack_set_default(CPACK_MODULE_PATH "${CMAKE_MODULE_PATH}")
-
-if(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL)
-  set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
-endif()
-
-if(CPACK_NSIS_MODIFY_PATH)
-  set(CPACK_NSIS_MODIFY_PATH ON)
-endif()
-
-set(__cpack_system_name ${CMAKE_SYSTEM_NAME})
-if(__cpack_system_name MATCHES "Windows")
-  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    set(__cpack_system_name win64)
-  else()
-    set(__cpack_system_name win32)
-  endif()
-endif()
-_cpack_set_default(CPACK_SYSTEM_NAME "${__cpack_system_name}")
-
-# Root dir: default value should be the string literal "$PROGRAMFILES"
-# for backwards compatibility. Projects may set this value to anything.
-# When creating 64 bit binaries we set the default value to "$PROGRAMFILES64"
-if("x${__cpack_system_name}" STREQUAL "xwin64")
-  set(__cpack_root_default "$PROGRAMFILES64")
-else()
-  set(__cpack_root_default "$PROGRAMFILES")
-endif()
-_cpack_set_default(CPACK_NSIS_INSTALL_ROOT "${__cpack_root_default}")
-
-# <project>-<major>.<minor>.<patch>-<release>-<platform>.<pkgtype>
-_cpack_set_default(CPACK_PACKAGE_FILE_NAME
-  "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}")
-_cpack_set_default(CPACK_PACKAGE_INSTALL_DIRECTORY
-  "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
-_cpack_set_default(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
-  "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
-_cpack_set_default(CPACK_PACKAGE_DEFAULT_LOCATION "/")
-_cpack_set_default(CPACK_PACKAGE_RELOCATABLE "true")
-
-# always force to exactly "true" or "false" for CPack.Info.plist.in:
-if(CPACK_PACKAGE_RELOCATABLE)
-  set(CPACK_PACKAGE_RELOCATABLE "true")
-else()
-  set(CPACK_PACKAGE_RELOCATABLE "false")
-endif()
-
-macro(cpack_check_file_exists file description)
-  if(NOT EXISTS "${file}")
-    message(SEND_ERROR "CPack ${description} file: \"${file}\" could not be found.")
-  endif()
-endmacro()
-
-cpack_check_file_exists("${CPACK_PACKAGE_DESCRIPTION_FILE}" "package description")
-cpack_check_file_exists("${CPACK_RESOURCE_FILE_LICENSE}"    "license resource")
-cpack_check_file_exists("${CPACK_RESOURCE_FILE_README}"     "readme resource")
-cpack_check_file_exists("${CPACK_RESOURCE_FILE_WELCOME}"    "welcome resource")
-
-macro(cpack_optional_append _list _cond _item)
-  if(${_cond})
-    set(${_list} ${${_list}} ${_item})
-  endif()
-endmacro()
-
-#.rst:
-# .. variable:: CPACK_BINARY_<GENNAME>
-#
-#  CPack generated options for binary generators. The CPack.cmake module
-#  generates (when CPACK_GENERATOR is not set) a set of CMake options (see
-#  CMake option command) which may then be used to select the CPack
-#  generator(s) to be used when launching the package target.
-#
-#  Provide options to choose generators we might check here if the required
-#  tools for the generates exist and set the defaults according to the results
-if(NOT CPACK_GENERATOR)
-  if(UNIX)
-    if(CYGWIN)
-      option(CPACK_BINARY_CYGWIN "Enable to build Cygwin binary packages" ON)
-    else()
-      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)
-      else()
-        option(CPACK_BINARY_TZ  "Enable to build TZ packages"     ON)
-      endif()
-      option(CPACK_BINARY_DEB  "Enable to build Debian packages"  OFF)
-      option(CPACK_BINARY_NSIS "Enable to build NSIS packages"    OFF)
-      option(CPACK_BINARY_RPM  "Enable to build RPM packages"     OFF)
-      option(CPACK_BINARY_STGZ "Enable to build STGZ packages"    ON)
-      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)
-    endif()
-  else()
-    option(CPACK_BINARY_7Z   "Enable to build 7-Zip packages" OFF)
-    option(CPACK_BINARY_NSIS "Enable to build NSIS packages" ON)
-    option(CPACK_BINARY_WIX  "Enable to build WiX packages" OFF)
-    option(CPACK_BINARY_ZIP  "Enable to build ZIP packages" OFF)
-  endif()
-  option(CPACK_BINARY_IFW "Enable to build IFW packages" OFF)
-
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_7Z           7Z)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_BUNDLE       Bundle)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_CYGWIN       CygwinBinary)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_DEB          DEB)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_DRAGNDROP    DragNDrop)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_IFW          IFW)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_NSIS         NSIS)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_OSXX11       OSXX11)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_PACKAGEMAKER PackageMaker)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_RPM          RPM)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_STGZ         STGZ)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TBZ2         TBZ2)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TGZ          TGZ)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TXZ          TXZ)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_TZ           TZ)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_WIX          WIX)
-  cpack_optional_append(CPACK_GENERATOR  CPACK_BINARY_ZIP          ZIP)
-
-endif()
-
-# Provide options to choose source generators
-if(NOT CPACK_SOURCE_GENERATOR)
-  if(UNIX)
-    if(CYGWIN)
-      option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON)
-    else()
-      option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON)
-      option(CPACK_SOURCE_TGZ  "Enable to build TGZ source packages"  ON)
-      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)
-    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)
-  endif()
-
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_7Z      7Z)
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_CYGWIN  CygwinSource)
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TBZ2    TBZ2)
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TGZ     TGZ)
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TXZ     TXZ)
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TZ      TZ)
-  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_IFW
-  CPACK_BINARY_NSIS
-  CPACK_BINARY_OSXX11
-  CPACK_BINARY_PACKAGEMAKER
-  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_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;/")
-_cpack_set_default(CPACK_CMAKE_GENERATOR "${CMAKE_GENERATOR}")
-_cpack_set_default(CPACK_TOPLEVEL_TAG "${CPACK_SYSTEM_NAME}")
-# if the user has set CPACK_NSIS_DISPLAY_NAME remember it
-if(DEFINED CPACK_NSIS_DISPLAY_NAME)
-  set(CPACK_NSIS_DISPLAY_NAME_SET TRUE)
-endif()
-# if the user has set CPACK_NSIS_DISPLAY
-# explicitly, then use that as the default
-# value of CPACK_NSIS_PACKAGE_NAME  instead
-# of CPACK_PACKAGE_INSTALL_DIRECTORY
-_cpack_set_default(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
-
-if(CPACK_NSIS_DISPLAY_NAME_SET)
-  _cpack_set_default(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_DISPLAY_NAME}")
-else()
-  _cpack_set_default(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
-endif()
-
-_cpack_set_default(CPACK_OUTPUT_CONFIG_FILE
-  "${CMAKE_BINARY_DIR}/CPackConfig.cmake")
-
-_cpack_set_default(CPACK_SOURCE_OUTPUT_CONFIG_FILE
-  "${CMAKE_BINARY_DIR}/CPackSourceConfig.cmake")
-
-_cpack_set_default(CPACK_SET_DESTDIR OFF)
-_cpack_set_default(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-_cpack_set_default(CPACK_NSIS_INSTALLER_ICON_CODE "")
-_cpack_set_default(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
-
-# WiX specific variables
-_cpack_set_default(CPACK_WIX_SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}")
-
-# set sysroot so SDK tools can be used
-if(CMAKE_OSX_SYSROOT)
-  _cpack_set_default(CPACK_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}")
-endif()
-
-if(DEFINED CPACK_COMPONENTS_ALL)
-  if(CPACK_MONOLITHIC_INSTALL)
-    message("CPack warning: both CPACK_COMPONENTS_ALL and CPACK_MONOLITHIC_INSTALL have been set.\nDefaulting to a monolithic installation.")
-    set(CPACK_COMPONENTS_ALL)
-  else()
-    # The user has provided the set of components to be installed as
-    # part of a component-based installation; trust her.
-    set(CPACK_COMPONENTS_ALL_SET_BY_USER TRUE)
-  endif()
-else()
-  # If the user has not specifically requested a monolithic installer
-  # but has specified components in various "install" commands, tell
-  # CPack about those components.
-  if(NOT CPACK_MONOLITHIC_INSTALL)
-    get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
-    list(LENGTH CPACK_COMPONENTS_ALL CPACK_COMPONENTS_LEN)
-    if(CPACK_COMPONENTS_LEN EQUAL 1)
-      # Only one component: this is not a component-based installation
-      # (at least, it isn't a component-based installation, but may
-      # become one later if the user uses the cpack_add_* commands).
-      set(CPACK_COMPONENTS_ALL)
-    endif()
-    set(CPACK_COMPONENTS_LEN)
-  endif()
-endif()
-
-# CMake always generates a component named "Unspecified", which is
-# used to install everything that doesn't have an explicitly-provided
-# component. Since these files should always be installed, we'll make
-# them hidden and required.
-set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN TRUE)
-set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED TRUE)
-
-cpack_encode_variables()
-configure_file("${cpack_input_file}" "${CPACK_OUTPUT_CONFIG_FILE}" @ONLY)
-
-# Generate source file
-_cpack_set_default(CPACK_SOURCE_INSTALLED_DIRECTORIES
-  "${CMAKE_SOURCE_DIR};/")
-_cpack_set_default(CPACK_SOURCE_TOPLEVEL_TAG "${CPACK_SYSTEM_NAME}-Source")
-_cpack_set_default(CPACK_SOURCE_PACKAGE_FILE_NAME
-  "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Source")
-
-set(__cpack_source_ignore_files_default
-  "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp$;\\.#;/#")
-if(NOT CPACK_VERBATIM_VARIABLES)
-  _cpack_escape_for_cmake(__cpack_source_ignore_files_default
-    "${__cpack_source_ignore_files_default}")
-endif()
-_cpack_set_default(CPACK_SOURCE_IGNORE_FILES "${__cpack_source_ignore_files_default}")
-
-set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_SOURCE_INSTALL_CMAKE_PROJECTS}")
-set(CPACK_INSTALLED_DIRECTORIES "${CPACK_SOURCE_INSTALLED_DIRECTORIES}")
-set(CPACK_GENERATOR "${CPACK_SOURCE_GENERATOR}")
-set(CPACK_TOPLEVEL_TAG "${CPACK_SOURCE_TOPLEVEL_TAG}")
-set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
-set(CPACK_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES}")
-set(CPACK_STRIP_FILES "${CPACK_SOURCE_STRIP_FILES}")
-
-cpack_encode_variables()
-configure_file("${cpack_source_input_file}"
-  "${CPACK_SOURCE_OUTPUT_CONFIG_FILE}" @ONLY)
diff --git a/share/cmake-3.6/Modules/CPackBundle.cmake b/share/cmake-3.6/Modules/CPackBundle.cmake
deleted file mode 100644
index b412216..0000000
--- a/share/cmake-3.6/Modules/CPackBundle.cmake
+++ /dev/null
@@ -1,80 +0,0 @@
-#.rst:
-# CPackBundle
-# -----------
-#
-# CPack Bundle generator (Mac OS X) specific options
-#
-# Variables specific to CPack Bundle generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# Installers built on Mac OS X using the Bundle generator use the
-# aforementioned DragNDrop (CPACK_DMG_xxx) variables, plus the following
-# Bundle-specific parameters (CPACK_BUNDLE_xxx).
-#
-# .. variable:: CPACK_BUNDLE_NAME
-#
-#  The name of the generated bundle. This appears in the OSX finder as the
-#  bundle name. Required.
-#
-# .. variable:: CPACK_BUNDLE_PLIST
-#
-#  Path to an OSX plist file that will be used for the generated bundle. This
-#  assumes that the caller has generated or specified their own Info.plist
-#  file. Required.
-#
-# .. variable:: CPACK_BUNDLE_ICON
-#
-#  Path to an OSX icon file that will be used as the icon for the generated
-#  bundle. This is the icon that appears in the OSX finder for the bundle, and
-#  in the OSX dock when the bundle is opened.  Required.
-#
-# .. variable:: CPACK_BUNDLE_STARTUP_COMMAND
-#
-#  Path to a startup script. This is a path to an executable or script that
-#  will be run whenever an end-user double-clicks the generated bundle in the
-#  OSX Finder. Optional.
-#
-# .. variable:: CPACK_BUNDLE_APPLE_CERT_APP
-#
-#  The name of your Apple supplied code signing certificate for the application.
-#  The name usually takes the form "Developer ID Application: [Name]" or
-#  "3rd Party Mac Developer Application: [Name]". If this variable is not set
-#  the application will not be signed.
-#
-# .. variable:: CPACK_BUNDLE_APPLE_ENTITLEMENTS
-#
-#  The name of the plist file that contains your apple entitlements for sandboxing
-#  your application. This file is required for submission to the Mac App Store.
-#
-# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_FILES
-#
-#  A list of additional files that you wish to be signed. You do not need to
-#  list the main application folder, or the main executable. You should
-#  list any frameworks and plugins that are included in your app bundle.
-#
-# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
-#
-#  Additional parameter that will passed to codesign.
-#  Default value: "--deep -f"
-#
-# .. variable:: CPACK_COMMAND_CODESIGN
-#
-#  Path to the codesign(1) command used to sign applications with an
-#  Apple cert. This variable can be used to override the automatically
-#  detected command (or specify its location if the auto-detection fails
-#  to find it.)
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#Bundle Generator specific code should be put here
diff --git a/share/cmake-3.6/Modules/CPackComponent.cmake b/share/cmake-3.6/Modules/CPackComponent.cmake
deleted file mode 100644
index 038a717..0000000
--- a/share/cmake-3.6/Modules/CPackComponent.cmake
+++ /dev/null
@@ -1,539 +0,0 @@
-#.rst:
-# CPackComponent
-# --------------
-#
-# Build binary and source package installers
-#
-# Variables concerning CPack Components
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The CPackComponent module is the module which handles the component
-# part of CPack.  See CPack module for general information about CPack.
-#
-# For certain kinds of binary installers (including the graphical
-# installers on Mac OS X and Windows), CPack generates installers that
-# allow users to select individual application components to install.
-# The contents of each of the components are identified by the COMPONENT
-# argument of CMake's INSTALL command.  These components can be
-# annotated with user-friendly names and descriptions, inter-component
-# dependencies, etc., and grouped in various ways to customize the
-# resulting installer.  See the cpack_add_* commands, described below,
-# for more information about component-specific installations.
-#
-# Component-specific installation allows users to select specific sets
-# of components to install during the install process.  Installation
-# components are identified by the COMPONENT argument of CMake's INSTALL
-# commands, and should be further described by the following CPack
-# commands:
-#
-# .. variable:: CPACK_COMPONENTS_ALL
-#
-#  The list of component to install.
-#
-#  The default value of this variable is computed by CPack and contains all
-#  components defined by the project.  The user may set it to only include the
-#  specified components.
-#
-# .. variable:: CPACK_<GENNAME>_COMPONENT_INSTALL
-#
-#  Enable/Disable component install for CPack generator <GENNAME>.
-#
-#  Each CPack Generator (RPM, DEB, ARCHIVE, NSIS, DMG, etc...) has a legacy
-#  default behavior.  e.g.  RPM builds monolithic whereas NSIS builds
-#  component.  One can change the default behavior by setting this variable to
-#  0/1 or OFF/ON.
-#
-# .. variable:: CPACK_COMPONENTS_GROUPING
-#
-#  Specify how components are grouped for multi-package component-aware CPack
-#  generators.
-#
-#  Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates
-#  several packages files when asked for component packaging.  They group
-#  the component differently depending on the value of this variable:
-#
-#  * ONE_PER_GROUP (default): creates one package file per component group
-#  * ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
-#  * IGNORE : creates one package per component, i.e. IGNORE component group
-#
-#  One can specify different grouping for different CPack generator by
-#  using a CPACK_PROJECT_CONFIG_FILE.
-#
-# .. variable:: CPACK_COMPONENT_<compName>_DISPLAY_NAME
-#
-#  The name to be displayed for a component.
-#
-# .. variable:: CPACK_COMPONENT_<compName>_DESCRIPTION
-#
-#  The description of a component.
-#
-# .. variable:: CPACK_COMPONENT_<compName>_GROUP
-#
-#  The group of a component.
-#
-# .. variable:: CPACK_COMPONENT_<compName>_DEPENDS
-#
-#  The dependencies (list of components) on which this component depends.
-#
-# .. variable:: CPACK_COMPONENT_<compName>_REQUIRED
-#
-#  True is this component is required.
-#
-# .. command:: cpack_add_component
-#
-# Describes a CPack installation
-# component named by the COMPONENT argument to a CMake INSTALL command.
-#
-# ::
-#
-#   cpack_add_component(compname
-#                       [DISPLAY_NAME name]
-#                       [DESCRIPTION description]
-#                       [HIDDEN | REQUIRED | DISABLED ]
-#                       [GROUP group]
-#                       [DEPENDS comp1 comp2 ... ]
-#                       [INSTALL_TYPES type1 type2 ... ]
-#                       [DOWNLOADED]
-#                       [ARCHIVE_FILE filename])
-#
-#
-#
-# The cmake_add_component command describes an installation component,
-# which the user can opt to install or remove as part of the graphical
-# installation process.  compname is the name of the component, as
-# provided to the COMPONENT argument of one or more CMake INSTALL
-# commands.
-#
-# DISPLAY_NAME is the displayed name of the component, used in graphical
-# installers to display the component name.  This value can be any
-# string.
-#
-# DESCRIPTION is an extended description of the component, used in
-# graphical installers to give the user additional information about the
-# component.  Descriptions can span multiple lines using ``\n`` as the
-# line separator.  Typically, these descriptions should be no more than
-# a few lines long.
-#
-# HIDDEN indicates that this component will be hidden in the graphical
-# installer, so that the user cannot directly change whether it is
-# installed or not.
-#
-# REQUIRED indicates that this component is required, and therefore will
-# always be installed.  It will be visible in the graphical installer,
-# but it cannot be unselected.  (Typically, required components are
-# shown greyed out).
-#
-# DISABLED indicates that this component should be disabled (unselected)
-# by default.  The user is free to select this component for
-# installation, unless it is also HIDDEN.
-#
-# DEPENDS lists the components on which this component depends.  If this
-# component is selected, then each of the components listed must also be
-# selected.  The dependency information is encoded within the installer
-# itself, so that users cannot install inconsistent sets of components.
-#
-# GROUP names the component group of which this component is a part.  If
-# not provided, the component will be a standalone component, not part
-# of any component group.  Component groups are described with the
-# cpack_add_component_group command, detailed below.
-#
-# INSTALL_TYPES lists the installation types of which this component is
-# a part.  When one of these installations types is selected, this
-# component will automatically be selected.  Installation types are
-# described with the cpack_add_install_type command, detailed below.
-#
-# DOWNLOADED indicates that this component should be downloaded
-# on-the-fly by the installer, rather than packaged in with the
-# installer itself.  For more information, see the
-# cpack_configure_downloads command.
-#
-# ARCHIVE_FILE provides a name for the archive file created by CPack to
-# be used for downloaded components.  If not supplied, CPack will create
-# a file with some name based on CPACK_PACKAGE_FILE_NAME and the name of
-# the component.  See cpack_configure_downloads for more information.
-#
-# .. command:: cpack_add_component_group
-#
-# Describes a group of related CPack installation components.
-#
-# ::
-#
-#   cpack_add_component_group(groupname
-#                            [DISPLAY_NAME name]
-#                            [DESCRIPTION description]
-#                            [PARENT_GROUP parent]
-#                            [EXPANDED]
-#                            [BOLD_TITLE])
-#
-#
-#
-# The cpack_add_component_group describes a group of installation
-# components, which will be placed together within the listing of
-# options.  Typically, component groups allow the user to
-# select/deselect all of the components within a single group via a
-# single group-level option.  Use component groups to reduce the
-# complexity of installers with many options.  groupname is an arbitrary
-# name used to identify the group in the GROUP argument of the
-# cpack_add_component command, which is used to place a component in a
-# group.  The name of the group must not conflict with the name of any
-# component.
-#
-# DISPLAY_NAME is the displayed name of the component group, used in
-# graphical installers to display the component group name.  This value
-# can be any string.
-#
-# DESCRIPTION is an extended description of the component group, used in
-# graphical installers to give the user additional information about the
-# components within that group.  Descriptions can span multiple lines
-# using ``\n`` as the line separator.  Typically, these descriptions
-# should be no more than a few lines long.
-#
-# PARENT_GROUP, if supplied, names the parent group of this group.
-# Parent groups are used to establish a hierarchy of groups, providing
-# an arbitrary hierarchy of groups.
-#
-# EXPANDED indicates that, by default, the group should show up as
-# "expanded", so that the user immediately sees all of the components
-# within the group.  Otherwise, the group will initially show up as a
-# single entry.
-#
-# BOLD_TITLE indicates that the group title should appear in bold, to
-# call the user's attention to the group.
-#
-# .. command:: cpack_add_install_type
-#
-# Add a new installation type containing
-# a set of predefined component selections to the graphical installer.
-#
-# ::
-#
-#   cpack_add_install_type(typename
-#                          [DISPLAY_NAME name])
-#
-#
-#
-# The cpack_add_install_type command identifies a set of preselected
-# components that represents a common use case for an application.  For
-# example, a "Developer" install type might include an application along
-# with its header and library files, while an "End user" install type
-# might just include the application's executable.  Each component
-# identifies itself with one or more install types via the INSTALL_TYPES
-# argument to cpack_add_component.
-#
-# DISPLAY_NAME is the displayed name of the install type, which will
-# typically show up in a drop-down box within a graphical installer.
-# This value can be any string.
-#
-# .. command:: cpack_configure_downloads
-#
-# Configure CPack to download
-# selected components on-the-fly as part of the installation process.
-#
-# ::
-#
-#   cpack_configure_downloads(site
-#                             [UPLOAD_DIRECTORY dirname]
-#                             [ALL]
-#                             [ADD_REMOVE|NO_ADD_REMOVE])
-#
-#
-#
-# The cpack_configure_downloads command configures installation-time
-# downloads of selected components.  For each downloadable component,
-# CPack will create an archive containing the contents of that
-# component, which should be uploaded to the given site.  When the user
-# selects that component for installation, the installer will download
-# and extract the component in place.  This feature is useful for
-# creating small installers that only download the requested components,
-# saving bandwidth.  Additionally, the installers are small enough that
-# they will be installed as part of the normal installation process, and
-# the "Change" button in Windows Add/Remove Programs control panel will
-# allow one to add or remove parts of the application after the original
-# installation.  On Windows, the downloaded-components functionality
-# requires the ZipDLL plug-in for NSIS, available at:
-#
-# ::
-#
-#   http://nsis.sourceforge.net/ZipDLL_plug-in
-#
-#
-#
-# On Mac OS X, installers that download components on-the-fly can only
-# be built and installed on system using Mac OS X 10.5 or later.
-#
-# The site argument is a URL where the archives for downloadable
-# components will reside, e.g.,
-# https://cmake.org/files/2.6.1/installer/ All of the archives
-# produced by CPack should be uploaded to that location.
-#
-# UPLOAD_DIRECTORY is the local directory where CPack will create the
-# various archives for each of the components.  The contents of this
-# directory should be uploaded to a location accessible by the URL given
-# in the site argument.  If omitted, CPack will use the directory
-# CPackUploads inside the CMake binary directory to store the generated
-# archives.
-#
-# The ALL flag indicates that all components be downloaded.  Otherwise,
-# only those components explicitly marked as DOWNLOADED or that have a
-# specified ARCHIVE_FILE will be downloaded.  Additionally, the ALL
-# option implies ADD_REMOVE (unless NO_ADD_REMOVE is specified).
-#
-# ADD_REMOVE indicates that CPack should install a copy of the installer
-# that can be called from Windows' Add/Remove Programs dialog (via the
-# "Modify" button) to change the set of installed components.
-# NO_ADD_REMOVE turns off this behavior.  This option is ignored on Mac
-# OS X.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Define var in order to avoid multiple inclusion
-if(NOT CPackComponent_CMake_INCLUDED)
-set(CPackComponent_CMake_INCLUDED 1)
-
-# Argument-parsing macro from https://cmake.org/Wiki/CMakeMacroParseArguments
-macro(cpack_parse_arguments prefix arg_names option_names)
-  set(${prefix}_DEFAULT_ARGS)
-  foreach(arg_name ${arg_names})
-    set(${prefix}_${arg_name})
-  endforeach()
-  foreach(option ${option_names})
-    set(${prefix}_${option} FALSE)
-  endforeach()
-
-  set(current_arg_name DEFAULT_ARGS)
-  set(current_arg_list)
-  foreach(arg ${ARGN})
-    set(larg_names ${arg_names})
-    list(FIND larg_names "${arg}" is_arg_name)
-    if (is_arg_name GREATER -1)
-      set(${prefix}_${current_arg_name} ${current_arg_list})
-      set(current_arg_name ${arg})
-      set(current_arg_list)
-    else ()
-      set(loption_names ${option_names})
-      list(FIND loption_names "${arg}" is_option)
-      if (is_option GREATER -1)
-        set(${prefix}_${arg} TRUE)
-      else ()
-        set(current_arg_list ${current_arg_list} ${arg})
-      endif ()
-    endif ()
-  endforeach()
-  set(${prefix}_${current_arg_name} ${current_arg_list})
-endmacro()
-
-# Macro that appends a SET command for the given variable name (var)
-# to the macro named strvar, but only if the variable named "var"
-# has been defined. The string will eventually be appended to a CPack
-# configuration file.
-macro(cpack_append_variable_set_command var strvar)
-  if (DEFINED ${var})
-    set(${strvar} "${${strvar}}set(${var}")
-    foreach(APPENDVAL ${${var}})
-      set(${strvar} "${${strvar}} ${APPENDVAL}")
-    endforeach()
-    set(${strvar} "${${strvar}})\n")
-  endif ()
-endmacro()
-
-# Macro that appends a SET command for the given variable name (var)
-# to the macro named strvar, but only if the variable named "var"
-# has been defined and is a string. The string will eventually be
-# appended to a CPack configuration file.
-macro(cpack_append_string_variable_set_command var strvar)
-  if (DEFINED ${var})
-    list(LENGTH ${var} CPACK_APP_VALUE_LEN)
-    if(${CPACK_APP_VALUE_LEN} EQUAL 1)
-      set(${strvar} "${${strvar}}set(${var} \"${${var}}\")\n")
-    endif()
-  endif ()
-endmacro()
-
-# Macro that appends a SET command for the given variable name (var)
-# to the macro named strvar, but only if the variable named "var"
-# has been set to true. The string will eventually be
-# appended to a CPack configuration file.
-macro(cpack_append_option_set_command var strvar)
-  if (${var})
-    list(LENGTH ${var} CPACK_APP_VALUE_LEN)
-    if(${CPACK_APP_VALUE_LEN} EQUAL 1)
-      set(${strvar} "${${strvar}}set(${var} TRUE)\n")
-    endif()
-  endif ()
-endmacro()
-
-# Macro that adds a component to the CPack installer
-macro(cpack_add_component compname)
-  string(TOUPPER ${compname} _CPACK_ADDCOMP_UNAME)
-  cpack_parse_arguments(CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}
-    "DISPLAY_NAME;DESCRIPTION;GROUP;DEPENDS;INSTALL_TYPES;ARCHIVE_FILE"
-    "HIDDEN;REQUIRED;DISABLED;DOWNLOADED"
-    ${ARGN}
-    )
-
-  if (CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DOWNLOADED)
-    set(_CPACK_ADDCOMP_STR "\n# Configuration for downloaded component \"${compname}\"\n")
-  else ()
-    set(_CPACK_ADDCOMP_STR "\n# Configuration for component \"${compname}\"\n")
-  endif ()
-
-  if(NOT CPACK_MONOLITHIC_INSTALL)
-    # If the user didn't set CPACK_COMPONENTS_ALL explicitly, update the
-    # value of CPACK_COMPONENTS_ALL in the configuration file. This will
-    # take care of any components that have been added after the CPack
-    # moduled was included.
-    if(NOT CPACK_COMPONENTS_ALL_SET_BY_USER)
-      get_cmake_property(_CPACK_ADDCOMP_COMPONENTS COMPONENTS)
-      set(_CPACK_ADDCOMP_STR "${_CPACK_ADDCOMP_STR}\nSET(CPACK_COMPONENTS_ALL")
-      foreach(COMP ${_CPACK_ADDCOMP_COMPONENTS})
-       set(_CPACK_ADDCOMP_STR "${_CPACK_ADDCOMP_STR} ${COMP}")
-      endforeach()
-      set(_CPACK_ADDCOMP_STR "${_CPACK_ADDCOMP_STR})\n")
-    endif()
-  endif()
-
-  cpack_append_string_variable_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DISPLAY_NAME
-    _CPACK_ADDCOMP_STR)
-  cpack_append_string_variable_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DESCRIPTION
-    _CPACK_ADDCOMP_STR)
-  cpack_append_variable_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_GROUP
-    _CPACK_ADDCOMP_STR)
-  cpack_append_variable_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DEPENDS
-    _CPACK_ADDCOMP_STR)
-  cpack_append_variable_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_INSTALL_TYPES
-    _CPACK_ADDCOMP_STR)
-  cpack_append_string_variable_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_ARCHIVE_FILE
-    _CPACK_ADDCOMP_STR)
-  cpack_append_option_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_HIDDEN
-    _CPACK_ADDCOMP_STR)
-  cpack_append_option_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_REQUIRED
-    _CPACK_ADDCOMP_STR)
-  cpack_append_option_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DISABLED
-    _CPACK_ADDCOMP_STR)
-  cpack_append_option_set_command(
-    CPACK_COMPONENT_${_CPACK_ADDCOMP_UNAME}_DOWNLOADED
-    _CPACK_ADDCOMP_STR)
-  # Backward compatibility issue.
-  # Write to config iff the macros is used after CPack.cmake has been
-  # included, other it's not necessary because the variables
-  # will be encoded by cpack_encode_variables.
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_ADDCOMP_STR}")
-  endif()
-endmacro()
-
-# Macro that adds a component group to the CPack installer
-macro(cpack_add_component_group grpname)
-  string(TOUPPER ${grpname} _CPACK_ADDGRP_UNAME)
-  cpack_parse_arguments(CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}
-    "DISPLAY_NAME;DESCRIPTION;PARENT_GROUP"
-    "EXPANDED;BOLD_TITLE"
-    ${ARGN}
-    )
-
-  set(_CPACK_ADDGRP_STR "\n# Configuration for component group \"${grpname}\"\n")
-  cpack_append_string_variable_set_command(
-    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_DISPLAY_NAME
-    _CPACK_ADDGRP_STR)
-  cpack_append_string_variable_set_command(
-    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_DESCRIPTION
-    _CPACK_ADDGRP_STR)
-  cpack_append_string_variable_set_command(
-    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_PARENT_GROUP
-    _CPACK_ADDGRP_STR)
-  cpack_append_option_set_command(
-    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_EXPANDED
-    _CPACK_ADDGRP_STR)
-  cpack_append_option_set_command(
-    CPACK_COMPONENT_GROUP_${_CPACK_ADDGRP_UNAME}_BOLD_TITLE
-    _CPACK_ADDGRP_STR)
-  # Backward compatibility issue.
-  # Write to config iff the macros is used after CPack.cmake has been
-  # included, other it's not necessary because the variables
-  # will be encoded by cpack_encode_variables.
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_ADDGRP_STR}")
-  endif()
-endmacro()
-
-# Macro that adds an installation type to the CPack installer
-macro(cpack_add_install_type insttype)
-  string(TOUPPER ${insttype} _CPACK_INSTTYPE_UNAME)
-  cpack_parse_arguments(CPACK_INSTALL_TYPE_${_CPACK_INSTTYPE_UNAME}
-    "DISPLAY_NAME"
-    ""
-    ${ARGN}
-    )
-
-  set(_CPACK_INSTTYPE_STR
-    "\n# Configuration for installation type \"${insttype}\"\n")
-  set(_CPACK_INSTTYPE_STR
-    "${_CPACK_INSTTYPE_STR}list(APPEND CPACK_ALL_INSTALL_TYPES ${insttype})\n")
-  cpack_append_string_variable_set_command(
-    CPACK_INSTALL_TYPE_${_CPACK_INSTTYPE_UNAME}_DISPLAY_NAME
-    _CPACK_INSTTYPE_STR)
-  # Backward compatibility issue.
-  # Write to config iff the macros is used after CPack.cmake has been
-  # included, other it's not necessary because the variables
-  # will be encoded by cpack_encode_variables.
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_INSTTYPE_STR}")
-  endif()
-endmacro()
-
-macro(cpack_configure_downloads site)
-  cpack_parse_arguments(CPACK_DOWNLOAD
-    "UPLOAD_DIRECTORY"
-    "ALL;ADD_REMOVE;NO_ADD_REMOVE"
-    ${ARGN}
-    )
-
-  set(CPACK_CONFIG_DL_STR
-    "\n# Downloaded components configuration\n")
-  set(CPACK_UPLOAD_DIRECTORY ${CPACK_DOWNLOAD_UPLOAD_DIRECTORY})
-  set(CPACK_DOWNLOAD_SITE ${site})
-  cpack_append_string_variable_set_command(
-    CPACK_DOWNLOAD_SITE
-    CPACK_CONFIG_DL_STR)
-  cpack_append_string_variable_set_command(
-    CPACK_UPLOAD_DIRECTORY
-    CPACK_CONFIG_DL_STR)
-  cpack_append_option_set_command(
-    CPACK_DOWNLOAD_ALL
-    CPACK_CONFIG_DL_STR)
-  if (${CPACK_DOWNLOAD_ALL} AND NOT ${CPACK_DOWNLOAD_NO_ADD_REMOVE})
-    set(CPACK_DOWNLOAD_ADD_REMOVE ON)
-  endif ()
-  set(CPACK_ADD_REMOVE ${CPACK_DOWNLOAD_ADD_REMOVE})
-  cpack_append_option_set_command(
-    CPACK_ADD_REMOVE
-    CPACK_CONFIG_DL_STR)
-  # Backward compatibility issue.
-  # Write to config iff the macros is used after CPack.cmake has been
-  # included, other it's not necessary because the variables
-  # will be encoded by cpack_encode_variables.
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_CONFIG_DL_STR}")
-  endif()
-endmacro()
-endif()
diff --git a/share/cmake-3.6/Modules/CPackCygwin.cmake b/share/cmake-3.6/Modules/CPackCygwin.cmake
deleted file mode 100644
index abfc1f6..0000000
--- a/share/cmake-3.6/Modules/CPackCygwin.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-#.rst:
-# CPackCygwin
-# -----------
-#
-# Cygwin CPack generator (Cygwin).
-#
-# Variables specific to CPack Cygwin generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The
-# following variable is specific to installers build on and/or for
-# Cygwin:
-#
-# .. variable:: CPACK_CYGWIN_PATCH_NUMBER
-#
-#  The Cygwin patch number.  FIXME: This documentation is incomplete.
-#
-# .. variable:: CPACK_CYGWIN_PATCH_FILE
-#
-#  The Cygwin patch file.  FIXME: This documentation is incomplete.
-#
-# .. variable:: CPACK_CYGWIN_BUILD_SCRIPT
-#
-#  The Cygwin build script.  FIXME: This documentation is incomplete.
-
-#=============================================================================
-# Copyright 2006-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
diff --git a/share/cmake-3.6/Modules/CPackDMG.cmake b/share/cmake-3.6/Modules/CPackDMG.cmake
deleted file mode 100644
index 929b2f6..0000000
--- a/share/cmake-3.6/Modules/CPackDMG.cmake
+++ /dev/null
@@ -1,115 +0,0 @@
-#.rst:
-# CPackDMG
-# --------
-#
-# DragNDrop CPack generator (Mac OS X).
-#
-# Variables specific to CPack DragNDrop generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The following variables are specific to the DragNDrop installers built
-# on Mac OS X:
-#
-# .. variable:: CPACK_DMG_VOLUME_NAME
-#
-#  The volume name of the generated disk image. Defaults to
-#  CPACK_PACKAGE_FILE_NAME.
-#
-# .. variable:: CPACK_DMG_FORMAT
-#
-#  The disk image format. Common values are UDRO (UDIF read-only), UDZO (UDIF
-#  zlib-compressed) or UDBZ (UDIF bzip2-compressed). Refer to hdiutil(1) for
-#  more information on other available formats. Defaults to UDZO.
-#
-# .. variable:: CPACK_DMG_DS_STORE
-#
-#  Path to a custom DS_Store file. This .DS_Store file e.g. can be used to
-#  specify the Finder window position/geometry and layout (such as hidden
-#  toolbars, placement of the icons etc.). This file has to be generated by
-#  the Finder (either manually or through AppleScript) using a normal folder
-#  from which the .DS_Store file can then be extracted.
-#
-# .. variable:: CPACK_DMG_DS_STORE_SETUP_SCRIPT
-#
-#  Path to a custom AppleScript file.  This AppleScript is used to generate
-#  a .DS_Store file which specifies the Finder window position/geometry and
-#  layout (such as hidden toolbars, placement of the icons etc.).
-#  By specifying a custom AppleScript there is no need to use
-#  CPACK_DMG_DS_STORE, as the .DS_Store that is generated by the AppleScript
-#  will be packaged.
-#
-# .. variable:: CPACK_DMG_BACKGROUND_IMAGE
-#
-#  Path to an image file to be used as the background.  This file will be
-#  copied to .background/background.<ext>, where ext is the original image file
-#  extension.  The background image is installed into the image before
-#  CPACK_DMG_DS_STORE_SETUP_SCRIPT is executed or CPACK_DMG_DS_STORE is
-#  installed.  By default no background image is set.
-#
-# .. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
-#
-#  Default behaviour is to include a symlink to ``/Applications`` in the DMG.
-#  Set this option to ``ON`` to avoid adding the symlink.
-#
-# .. variable:: CPACK_DMG_SLA_DIR
-#
-#   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
-#   ``CPACK_RESOURCE_FILE_LICENSE`` are set, CPack will only look for the menu
-#   files and use the same license file for all languages.
-#
-# .. variable:: CPACK_DMG_SLA_LANGUAGES
-#
-#   Languages for which a license agreement is provided when mounting the
-#   generated DMG. A menu file consists of 9 lines of text. The first line is
-#   is the name of the language itself, uppercase, in English (e.g. German).
-#   The other lines are translations of the following strings:
-#
-#   - Agree
-#   - Disagree
-#   - Print
-#   - Save...
-#   - You agree to the terms of the License Agreement when you click the
-#     "Agree" button.
-#   - Software License Agreement
-#   - This text cannot be saved. The disk may be full or locked, or the file
-#     may be locked.
-#   - Unable to print. Make sure you have selected a printer.
-#
-#   For every language in this list, CPack will try to find files
-#   ``<language>.menu.txt`` and ``<language>.license.txt`` in the directory
-#   specified by the :variable:`CPACK_DMG_SLA_DIR` variable.
-#
-# .. variable:: CPACK_COMMAND_HDIUTIL
-#
-#  Path to the hdiutil(1) command used to operate on disk image files on Mac
-#  OS X. 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_COMMAND_SETFILE
-#
-#  Path to the SetFile(1) command used to set extended attributes on files and
-#  directories on Mac OS X. 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_COMMAND_REZ
-#
-#  Path to the Rez(1) command used to compile resources on Mac OS X. This
-#  variable can be used to override the automatically detected command (or
-#  specify its location if the auto-detection fails to find it.)
-
-#=============================================================================
-# Copyright 2006-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
diff --git a/share/cmake-3.6/Modules/CPackDeb.cmake b/share/cmake-3.6/Modules/CPackDeb.cmake
deleted file mode 100644
index c9678d6..0000000
--- a/share/cmake-3.6/Modules/CPackDeb.cmake
+++ /dev/null
@@ -1,1024 +0,0 @@
-#.rst:
-# CPackDeb
-# --------
-#
-# The built in (binary) CPack Deb generator (Unix only)
-#
-# Variables specific to CPack Debian (DEB) generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# CPackDeb may be used to create Deb package using :module:`CPack`.
-# CPackDeb is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
-# variables used by :module:`CPack`.
-#
-# CPackDeb generator should work on any Linux host but it will produce
-# better deb package when Debian specific tools ``dpkg-xxx`` are usable on
-# the build system.
-#
-# CPackDeb has specific features which are controlled by the specifics
-# :code:`CPACK_DEBIAN_XXX` variables.
-#
-# :code:`CPACK_DEBIAN_<COMPONENT>_XXXX` variables may be used in order to have
-# **component** specific values.  Note however that ``<COMPONENT>`` refers to
-# the **grouping name** written in upper case. It may be either a component name
-# or a component GROUP name.
-#
-# Here are some CPackDeb wiki resources that are here for historic reasons and
-# are no longer maintained but may still prove useful:
-#
-#  - https://cmake.org/Wiki/CMake:CPackConfiguration
-#  - https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29
-#
-# List of CPackRPM specific variables:
-#
-# .. variable:: CPACK_DEB_PACKAGE_COMPONENT
-#
-#  Enable component packaging for CPackRPM
-#
-#  * Mandatory : NO
-#  * Default   : OFF
-#
-#  If enabled (ON) multiple packages are generated. By default a single package
-#  containing files of all components is generated.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_NAME
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
-#
-#  Set Package control field (variable is automatically transformed to lower
-#  case).
-#
-#  * Mandatory : YES
-#  * Default   :
-#
-#    - :variable:`CPACK_PACKAGE_NAME` for non-component based
-#      installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
-#      for component-based installations.
-#
-#  See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
-#
-# .. variable:: CPACK_DEBIAN_FILE_NAME
-#               CPACK_DEBIAN_<COMPONENT>_FILE_NAME
-#
-#  Package file name.
-#
-#  * Mandatory : YES
-#  * Default   : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].deb``
-#
-#  This may be set to ``DEB-DEFAULT`` to allow CPackDeb to generate package file
-#  name by itself in deb format::
-#
-#    <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
-#
-#  Alternatively provided package file name must end with ``.deb`` suffix.
-#
-#  .. note::
-#
-#    Preferred setting of this variable is ``DEB-DEFAULT`` but for backward
-#    compatibility with CPackDeb in CMake prior to version 3.6 this feature
-#    is disabled by default.
-#
-#  .. note::
-#
-#    By using non default filenames duplicate names may occur. Duplicate files
-#    get overwritten and it is up to the packager to set the variables in a
-#    manner that will prevent such errors.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_VERSION
-#
-#  The Debian package version
-#
-#  * Mandatory : YES
-#  * Default   : :variable:`CPACK_PACKAGE_VERSION`
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_RELEASE
-#
-#  The Debian package release - Debian revision number.
-#
-#  * Mandatory : YES
-#  * Default   : 1
-#
-#  This is the numbering of the DEB package itself, i.e. the version of the
-#  packaging and not the version of the content (see
-#  :variable:`CPACK_DEBIAN_PACKAGE_VERSION`). One may change the default value
-#  if the previous packaging was buggy and/or you want to put here a fancy Linux
-#  distro specific numbering.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_ARCHITECTURE
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
-#
-#  The Debian package architecture
-#
-#  * Mandatory : YES
-#  * Default   : Output of :code:`dpkg --print-architecture` (or :code:`i386`
-#    if :code:`dpkg` is not found)
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
-#
-#  Sets the Debian dependencies of this package.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based
-#      installations.
-#
-#  .. note::
-#
-#    If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or
-#    more specifically :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`
-#    is set for this component, the discovered dependencies will be appended
-#    to :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` instead of
-#    :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If
-#    :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` is an empty string,
-#    only the automatically discovered dependencies will be set for this
-#    component.
-#
-#  Example::
-#
-#    set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
-#
-# .. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
-#
-#  Sets inter component dependencies if listed with
-#  :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER
-#
-#  The Debian package maintainer
-#
-#  * Mandatory : YES
-#  * Default   : :code:`CPACK_PACKAGE_CONTACT`
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION
-#               CPACK_COMPONENT_<COMPONENT>_DESCRIPTION
-#
-#  The Debian package description
-#
-#  * Mandatory : YES
-#  * Default   :
-#
-#    - :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or
-#    - :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
-#
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_SECTION
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
-#
-#  Set Section control field e.g. admin, devel, doc, ...
-#
-#  * Mandatory : YES
-#  * Default   : "devel"
-#
-#  See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
-#
-# .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
-#
-#  The compression used for creating the Debian package.
-#
-#  * Mandatory : YES
-#  * Default   : "gzip"
-#
-#  Possible values are:
-#
-#  - lzma
-#  - xz
-#  - bzip2
-#  - gzip
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
-#
-#  Set Priority control field e.g. required, important, standard, optional,
-#  extra
-#
-#  * Mandatory : YES
-#  * Default   : "optional"
-#
-#  See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE
-#
-#  The URL of the web site for this package, preferably (when applicable) the
-#  site from which the original source can be obtained and any additional
-#  upstream documentation or information may be found.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  .. note::
-#
-#    The content of this field is a simple URL without any surrounding
-#    characters such as <>.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
-#
-#  May be set to ON in order to use :code:`dpkg-shlibdeps` to generate
-#  better package dependency list.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or
-#    - OFF
-#
-#  .. note::
-#
-#    You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value
-#    if you use this feature, because if you don't :code:`dpkg-shlibdeps`
-#    may fail to find your own shared libs.
-#    See https://cmake.org/Wiki/CMake_RPATH_handling.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_DEBUG
-#
-#  May be set when invoking cpack in order to trace debug information
-#  during CPackDeb run.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
-#
-#  Sets the `Pre-Depends` field of the Debian package.
-#  Like :variable:`Depends <CPACK_DEBIAN_PACKAGE_DEPENDS>`, except that it
-#  also forces :code:`dpkg` to complete installation of the packages named
-#  before even starting the installation of the package which declares the
-#  pre-dependency.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based
-#      installations.
-#
-#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
-#
-#  Sets the `Enhances` field of the Debian package.
-#  Similar to :variable:`Suggests <CPACK_DEBIAN_PACKAGE_SUGGESTS>` but works
-#  in the opposite direction: declares that a package can enhance the
-#  functionality of another package.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based
-#      installations.
-#
-#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_BREAKS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
-#
-#  Sets the `Breaks` field of the Debian package.
-#  When a binary package (P) declares that it breaks other packages (B),
-#  :code:`dpkg` will not allow the package (P) which declares `Breaks` be
-#  **unpacked** unless the packages that will be broken (B) are deconfigured
-#  first.
-#  As long as the package (P) is configured, the previously deconfigured
-#  packages (B) cannot be reconfigured again.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based
-#      installations.
-#
-#  See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
-#
-#  Sets the `Conflicts` field of the Debian package.
-#  When one binary package declares a conflict with another using a `Conflicts`
-#  field, :code:`dpkg` will not allow them to be unpacked on the system at
-#  the same time.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based
-#      installations.
-#
-#  See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
-#
-#  .. note::
-#
-#    This is a stronger restriction than
-#    :variable:`Breaks <CPACK_DEBIAN_PACKAGE_BREAKS>`, which prevents the
-#    broken package from being configured while the breaking package is in
-#    the "Unpacked" state but allows both packages to be unpacked at the same
-#    time.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_PROVIDES
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
-#
-#  Sets the `Provides` field of the Debian package.
-#  A virtual package is one which appears in the `Provides` control field of
-#  another package.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_PROVIDES` for component-based
-#      installations.
-#
-#  See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_REPLACES
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
-#
-#  Sets the `Replaces` field of the Debian package.
-#  Packages can declare in their control file that they should overwrite
-#  files in certain other packages, or completely replace other packages.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_REPLACES` for component-based
-#      installations.
-#
-#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
-#
-#  Sets the `Recommends` field of the Debian package.
-#  Allows packages to declare a strong, but not absolute, dependency on other
-#  packages.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_RECOMMENDS` for component-based
-#      installations.
-#
-#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
-#
-#  Sets the `Suggests` field of the Debian package.
-#  Allows packages to declare a suggested package install grouping.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_SUGGESTS` for component-based
-#      installations.
-#
-#  See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
-#
-#  * Mandatory : NO
-#  * Default   : OFF
-#
-#  Allows to generate shlibs control file automatically. Compatibility is defined by
-#  :variable:`CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY` variable value.
-#
-#  .. note::
-#
-#    Libraries are only considered if they have both library name and version
-#    set. This can be done by setting SOVERSION property with
-#    :command:`set_target_properties` command.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
-#
-#  Compatibility policy for auto-generated shlibs control file.
-#
-#  * Mandatory : NO
-#  * Default   : "="
-#
-#  Defines compatibility policy for auto-generated shlibs control file.
-#  Possible values: "=", ">="
-#
-#  See https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
-#
-#  This variable allow advanced user to add custom script to the
-#  control.tar.gz.
-#  Typical usage is for conffiles, postinst, postrm, prerm.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  Usage::
-#
-#   set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
-#       "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
-#
-#  .. note::
-#
-#    The original permissions of the files will be used in the final
-#    package unless the variable
-#    :variable:`CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION` is set.
-#    In particular, the scripts should have the proper executable
-#    flag prior to the generation of the package.
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
-#
-#  This variable indicates if the Debian policy on control files should be
-#  strictly followed.
-#
-#  * Mandatory : NO
-#  * Default   : FALSE
-#
-#  Usage::
-#
-#   set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
-#
-#  .. note::
-#
-#    This overrides the permissions on the original files, following the rules
-#    set by Debian policy
-#    https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
-#
-# .. variable:: CPACK_DEBIAN_PACKAGE_SOURCE
-#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
-#
-#  Sets the ``Source`` field of the binary Debian package.
-#  When the binary package name is not the same as the source package name
-#  (in particular when several components/binaries are generated from one
-#  source) the source from which the binary has been generated should be
-#  indicated with the field ``Source``.
-#
-#  * Mandatory : NO
-#  * Default   :
-#
-#    - An empty string for non-component based installations
-#    - :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based
-#      installations.
-#
-#  See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
-#
-#  .. note::
-#
-#    This value is not interpreted. It is possible to pass an optional
-#    revision number of the referenced source package as well.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-# Copyright 2007-2009 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-# Copyright 2014-2016 Alexander Smorkalov <alexander.smorkalov@itseez.com>
-# Copyright 2014-2016 Roman Donchenko <roman.donchenko@itseez.com>
-# Copyright 2014-2016 Roman Kharitonov <roman.kharitonov@itseez.com>
-# Copyright 2014-2016 Ilya Lavrenov <ilya.lavrenov@itseez.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# CPack script for creating Debian package
-# Author: Mathieu Malaterre
-#
-# http://wiki.debian.org/HowToPackageForDebian
-
-if(CMAKE_BINARY_DIR)
-  message(FATAL_ERROR "CPackDeb.cmake may only be used by CPack internally.")
-endif()
-
-if(NOT UNIX)
-  message(FATAL_ERROR "CPackDeb.cmake may only be used under UNIX.")
-endif()
-
-function(cpack_deb_variable_fallback OUTPUT_VAR_NAME)
-  set(FALLBACK_VAR_NAMES ${ARGN})
-
-  foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
-    if(${variable_name})
-      set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
-      break()
-    endif()
-  endforeach()
-endfunction()
-
-function(get_component_package_name var component)
-  string(TOUPPER "${component}" component_upcase)
-  if(CPACK_DEBIAN_${component_upcase}_PACKAGE_NAME)
-    string(TOLOWER "${CPACK_DEBIAN_${component_upcase}_PACKAGE_NAME}" package_name)
-  else()
-    string(TOLOWER "${CPACK_DEBIAN_PACKAGE_NAME}-${component}" package_name)
-  endif()
-
-  set("${var}" "${package_name}" PARENT_SCOPE)
-endfunction()
-
-#extract library name and version for given shared object
-function(extract_so_info shared_object libname version)
-  if(READELF_EXECUTABLE)
-    execute_process(COMMAND "${READELF_EXECUTABLE}" -d "${shared_object}"
-      WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
-      RESULT_VARIABLE result
-      OUTPUT_VARIABLE output
-      ERROR_QUIET
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if(result EQUAL 0)
-      string(REGEX MATCH "\\(SONAME\\)[^\n]*\\[([^\n]+)\\.so\\.([^\n]*)\\]" soname "${output}")
-      set(${libname} "${CMAKE_MATCH_1}" PARENT_SCOPE)
-      set(${version} "${CMAKE_MATCH_2}" PARENT_SCOPE)
-    else()
-      message(WARNING "Error running readelf for \"${shared_object}\"")
-    endif()
-  else()
-    message(FATAL_ERROR "Readelf utility is not available.")
-  endif()
-endfunction()
-
-function(cpack_deb_prepare_package_vars)
-  # CPACK_DEBIAN_PACKAGE_SHLIBDEPS
-  # If specify OFF, only user depends are used
-  if(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
-    set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
-  endif()
-
-  set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_PATH}")
-
-  # per component automatic discover: some of the component might not have
-  # binaries.
-  if(CPACK_DEB_PACKAGE_COMPONENT)
-    string(TOUPPER "${CPACK_DEB_PACKAGE_COMPONENT}" _local_component_name)
-    set(_component_shlibdeps_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_SHLIBDEPS")
-
-    # if set, overrides the global configuration
-    if(DEFINED ${_component_shlibdeps_var})
-      set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "${${_component_shlibdeps_var}}")
-      if(CPACK_DEBIAN_PACKAGE_DEBUG)
-        message("CPackDeb Debug: component '${CPACK_DEB_PACKAGE_COMPONENT}' dpkg-shlibdeps set to ${CPACK_DEBIAN_PACKAGE_SHLIBDEPS}")
-      endif()
-    endif()
-  endif()
-
-  if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OR CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS)
-    # Generating binary list - Get type of all install files
-    cmake_policy(PUSH)
-      # Tell file(GLOB_RECURSE) not to follow directory symlinks
-      # even if the project does not set this policy to NEW.
-      cmake_policy(SET CMP0009 NEW)
-      file(GLOB_RECURSE FILE_PATHS_ LIST_DIRECTORIES false RELATIVE "${WDIR}" "${WDIR}/*")
-    cmake_policy(POP)
-
-    # get file info so that we can determine if file is executable or not
-    unset(CPACK_DEB_INSTALL_FILES)
-    foreach(FILE_ IN LISTS FILE_PATHS_)
-      execute_process(COMMAND file "./${FILE_}"
-        WORKING_DIRECTORY "${WDIR}"
-        OUTPUT_VARIABLE INSTALL_FILE_)
-      list(APPEND CPACK_DEB_INSTALL_FILES "${INSTALL_FILE_}")
-    endforeach()
-
-    # Only dynamically linked ELF files are included
-    # Extract only file name infront of ":"
-    foreach(_FILE IN LISTS CPACK_DEB_INSTALL_FILES)
-      if(_FILE MATCHES "ELF.*dynamically linked")
-        string(REGEX MATCH "(^.*):" _FILE_NAME "${_FILE}")
-        list(APPEND CPACK_DEB_BINARY_FILES "${CMAKE_MATCH_1}")
-        set(CONTAINS_EXECUTABLE_FILES_ TRUE)
-      endif()
-      if(_FILE MATCHES "ELF.*shared object")
-        string(REGEX MATCH "(^.*):" _FILE_NAME "${_FILE}")
-        list(APPEND CPACK_DEB_SHARED_OBJECT_FILES "${CMAKE_MATCH_1}")
-      endif()
-    endforeach()
-  endif()
-
-  if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
-    # dpkg-shlibdeps is a Debian utility for generating dependency list
-    find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps)
-
-    if(SHLIBDEPS_EXECUTABLE)
-      # Check version of the dpkg-shlibdeps tool using CPackRPM method
-      execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --version
-        OUTPUT_VARIABLE _TMP_VERSION
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE)
-      if(_TMP_VERSION MATCHES "dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+)")
-        set(SHLIBDEPS_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
-      else()
-        set(SHLIBDEPS_EXECUTABLE_VERSION "")
-      endif()
-
-      if(CPACK_DEBIAN_PACKAGE_DEBUG)
-        message("CPackDeb Debug: dpkg-shlibdeps --version output is '${_TMP_VERSION}'")
-        message("CPackDeb Debug: dpkg-shlibdeps version is <${SHLIBDEPS_EXECUTABLE_VERSION}>")
-      endif()
-
-      if(CONTAINS_EXECUTABLE_FILES_)
-        message("CPackDeb: - Generating dependency list")
-
-        # Create blank control file for running dpkg-shlibdeps
-        # There might be some other way to invoke dpkg-shlibdeps without creating this file
-        # but standard debian package should not have anything that can collide with this file or directory
-        file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian)
-        file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "")
-
-        # Create a DEBIAN directory so that dpkg-shlibdeps can find the package dir when resolving $ORIGIN.
-        file(MAKE_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}/DEBIAN")
-
-        # Add --ignore-missing-info if the tool supports it
-        execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --help
-          OUTPUT_VARIABLE _TMP_HELP
-          ERROR_QUIET
-          OUTPUT_STRIP_TRAILING_WHITESPACE)
-        if(_TMP_HELP MATCHES "--ignore-missing-info")
-          set(IGNORE_MISSING_INFO_FLAG "--ignore-missing-info")
-        endif()
-
-        # Execute dpkg-shlibdeps
-        # --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package
-        # -O : print to STDOUT
-        execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}
-          WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
-          OUTPUT_VARIABLE SHLIBDEPS_OUTPUT
-          RESULT_VARIABLE SHLIBDEPS_RESULT
-          ERROR_VARIABLE SHLIBDEPS_ERROR
-          OUTPUT_STRIP_TRAILING_WHITESPACE )
-        if(CPACK_DEBIAN_PACKAGE_DEBUG)
-          # dpkg-shlibdeps will throw some warnings if some input files are not binary
-          message( "CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}")
-        endif()
-        if(NOT SHLIBDEPS_RESULT EQUAL 0)
-          message (FATAL_ERROR "CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}';\n"
-              "executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}';\n"
-              "found files: '${INSTALL_FILE_}';\n"
-              "files info: '${CPACK_DEB_INSTALL_FILES}';\n"
-              "binary files: '${CPACK_DEB_BINARY_FILES}'")
-        endif()
-
-        #Get rid of prefix generated by dpkg-shlibdeps
-        string(REGEX REPLACE "^.*Depends=" "" CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS "${SHLIBDEPS_OUTPUT}")
-
-        if(CPACK_DEBIAN_PACKAGE_DEBUG)
-          message("CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS} from output ${SHLIBDEPS_OUTPUT}")
-        endif()
-
-        # Remove blank control file
-        # Might not be safe if package actual contain file or directory named debian
-        file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian")
-
-        # remove temporary directory that was created only for dpkg-shlibdeps execution
-        file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/DEBIAN")
-      else()
-        if(CPACK_DEBIAN_PACKAGE_DEBUG)
-          message(AUTHOR_WARNING "CPackDeb Debug: Using only user-provided depends because package does not contain executable files that link to shared libraries.")
-        endif()
-      endif()
-    else()
-      message("CPackDeb: Using only user-provided dependencies because dpkg-shlibdeps is not found.")
-    endif()
-
-  else()
-    if(CPACK_DEBIAN_PACKAGE_DEBUG)
-      message("CPackDeb Debug: Using only user-provided dependencies")
-    endif()
-  endif()
-
-  # Let's define the control file found in debian package:
-
-  # Binary package:
-  # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-binarycontrolfiles
-
-  # DEBIAN/control
-  # debian policy enforce lower case for package name
-  # Package: (mandatory)
-  if(NOT CPACK_DEBIAN_PACKAGE_NAME)
-    string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
-  endif()
-
-  # Version: (mandatory)
-  if(NOT CPACK_DEBIAN_PACKAGE_VERSION)
-    if(NOT CPACK_PACKAGE_VERSION)
-      message(FATAL_ERROR "CPackDeb: Debian package requires a package version")
-    endif()
-    set(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
-  endif()
-
-  # Architecture: (mandatory)
-  if(CPACK_DEB_PACKAGE_COMPONENT AND CPACK_DEBIAN_${_local_component_name}_PACKAGE_ARCHITECTURE)
-    set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CPACK_DEBIAN_${_local_component_name}_PACKAGE_ARCHITECTURE}")
-  elseif(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
-    # There is no such thing as i686 architecture on debian, you should use i386 instead
-    # $ dpkg --print-architecture
-    find_program(DPKG_CMD dpkg)
-    if(NOT DPKG_CMD)
-      message(STATUS "CPackDeb: Can not find dpkg in your path, default to i386.")
-      set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
-    endif()
-    execute_process(COMMAND "${DPKG_CMD}" --print-architecture
-      OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      )
-  endif()
-
-  # Source: (optional)
-  # in case several packages are constructed from a unique source
-  # (multipackaging), the source may be indicated as well.
-  # The source might contain a version if the generated package
-  # version is different from the source version
-  if(NOT CPACK_DEBIAN_PACKAGE_SOURCE)
-    set(CPACK_DEBIAN_PACKAGE_SOURCE "")
-  endif()
-
-  # have a look at get_property(result GLOBAL PROPERTY ENABLED_FEATURES),
-  # this returns the successful find_package() calls, maybe this can help
-  # Depends:
-  # You should set: DEBIAN_PACKAGE_DEPENDS
-  # TODO: automate 'objdump -p | grep NEEDED'
-
-  # if per-component variable, overrides the global CPACK_DEBIAN_PACKAGE_${variable_type_}
-  # automatic dependency discovery will be performed afterwards.
-  if(CPACK_DEB_PACKAGE_COMPONENT)
-    foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION PRIORITY NAME)
-      set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${value_type_}")
-
-      # if set, overrides the global variable
-      if(DEFINED ${_component_var})
-        set(CPACK_DEBIAN_PACKAGE_${value_type_} "${${_component_var}}")
-        if(CPACK_DEBIAN_PACKAGE_DEBUG)
-          message("CPackDeb Debug: component '${_local_component_name}' ${value_type_} "
-            "value set to '${CPACK_DEBIAN_PACKAGE_${value_type_}}'")
-        endif()
-      endif()
-    endforeach()
-
-    if(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS)
-      set(COMPONENT_DEPENDS "")
-      foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS})
-        get_component_package_name(_PACK_NAME "${_PACK}")
-        if(COMPONENT_DEPENDS)
-          set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION}), ${COMPONENT_DEPENDS}")
-        else()
-          set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION})")
-        endif()
-      endforeach()
-      if(COMPONENT_DEPENDS)
-        if(CPACK_DEBIAN_PACKAGE_DEPENDS)
-          set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
-        else()
-          set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}")
-        endif()
-      endif()
-    endif()
-  endif()
-
-  # at this point, the CPACK_DEBIAN_PACKAGE_DEPENDS is properly set
-  # to the minimal dependency of the package
-  # Append automatically discovered dependencies .
-  if(NOT "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}" STREQUAL "")
-    if (CPACK_DEBIAN_PACKAGE_DEPENDS)
-      set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
-    else ()
-      set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
-    endif ()
-  endif()
-
-  if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
-    message(STATUS "CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.")
-  endif()
-
-  # Maintainer: (mandatory)
-  if(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
-    if(NOT CPACK_PACKAGE_CONTACT)
-      message(FATAL_ERROR "CPackDeb: Debian package requires a maintainer for a package, set CPACK_PACKAGE_CONTACT or CPACK_DEBIAN_PACKAGE_MAINTAINER")
-    endif()
-    set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
-  endif()
-
-  # Description: (mandatory)
-  if(NOT CPACK_DEB_PACKAGE_COMPONENT)
-    if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
-      if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
-        message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION")
-      endif()
-      set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
-    endif()
-  else()
-    set(component_description_var CPACK_COMPONENT_${_local_component_name}_DESCRIPTION)
-
-    # component description overrides package description
-    if(${component_description_var})
-      set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${${component_description_var}})
-    elseif(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
-      if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
-        message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION or ${component_description_var}")
-      endif()
-      set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
-    endif()
-  endif()
-
-  # Section: (recommended)
-  if(NOT CPACK_DEBIAN_PACKAGE_SECTION)
-    set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
-  endif()
-
-  # Priority: (recommended)
-  if(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
-    set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-  endif()
-
-  # Compression: (recommended)
-  if(NOT CPACK_DEBIAN_COMPRESSION_TYPE)
-    set(CPACK_DEBIAN_COMPRESSION_TYPE "gzip")
-  endif()
-
-
-  # Recommends:
-  # You should set: CPACK_DEBIAN_PACKAGE_RECOMMENDS
-
-  # Suggests:
-  # You should set: CPACK_DEBIAN_PACKAGE_SUGGESTS
-
-  # CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
-  # This variable allow advanced user to add custom script to the control.tar.gz (inside the .deb archive)
-  # Typical examples are:
-  # - conffiles
-  # - postinst
-  # - postrm
-  # - prerm
-  # Usage:
-  # set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
-  #    "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
-
-  # Are we packaging components ?
-  if(CPACK_DEB_PACKAGE_COMPONENT)
-    # override values with per component version if set
-    foreach(VAR_NAME_ "PACKAGE_CONTROL_EXTRA" "PACKAGE_CONTROL_STRICT_PERMISSION")
-      if(CPACK_DEBIAN_${_local_component_name}_${VAR_NAME_})
-        set(CPACK_DEBIAN_${VAR_NAME_} "${CPACK_DEBIAN_${_local_component_name}_${VAR_NAME_}}")
-      endif()
-    endforeach()
-    get_component_package_name(CPACK_DEBIAN_PACKAGE_NAME ${_local_component_name})
-  endif()
-
-  set(CPACK_DEBIAN_PACKAGE_SHLIBS_LIST "")
-
-  if (NOT CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY)
-    set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY "=")
-  endif()
-
-  find_program(READELF_EXECUTABLE NAMES readelf)
-
-  if(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS)
-    if(READELF_EXECUTABLE)
-      foreach(_FILE IN LISTS CPACK_DEB_SHARED_OBJECT_FILES)
-        extract_so_info("${_FILE}" libname soversion)
-        if(libname AND soversion)
-          list(APPEND CPACK_DEBIAN_PACKAGE_SHLIBS_LIST
-               "${libname} ${soversion} ${CPACK_DEBIAN_PACKAGE_NAME} (${CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY} ${CPACK_PACKAGE_VERSION})")
-        else()
-          message(AUTHOR_WARNING "Shared library '${_FILE}' is missing soname or soversion. Library will not be added to DEBIAN/shlibs control file.")
-        endif()
-      endforeach()
-      if (CPACK_DEBIAN_PACKAGE_SHLIBS_LIST)
-        string(REPLACE ";" "\n" CPACK_DEBIAN_PACKAGE_SHLIBS_LIST "${CPACK_DEBIAN_PACKAGE_SHLIBS_LIST}")
-      endif()
-    else()
-      message(FATAL_ERROR "Readelf utility is not available. CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS option is not available.")
-    endif()
-  endif()
-
-  # add ldconfig call in default postrm and postint
-  set(CPACK_ADD_LDCONFIG_CALL 0)
-  foreach(_FILE ${CPACK_DEB_SHARED_OBJECT_FILES})
-    get_filename_component(_DIR ${_FILE} DIRECTORY)
-    # all files in CPACK_DEB_SHARED_OBJECT_FILES have dot at the beginning
-    if(_DIR STREQUAL "./lib" OR _DIR STREQUAL "./usr/lib")
-      set(CPACK_ADD_LDCONFIG_CALL 1)
-    endif()
-  endforeach()
-
-  if(CPACK_ADD_LDCONFIG_CALL)
-    set(CPACK_DEBIAN_GENERATE_POSTINST 1)
-    set(CPACK_DEBIAN_GENERATE_POSTRM 1)
-    foreach(f ${PACKAGE_CONTROL_EXTRA})
-      get_filename_component(n "${f}" NAME)
-      if("${n}" STREQUAL "postinst")
-        set(CPACK_DEBIAN_GENERATE_POSTINST 0)
-      endif()
-      if("${n}" STREQUAL "postrm")
-        set(CPACK_DEBIAN_GENERATE_POSTRM 0)
-      endif()
-    endforeach()
-  else()
-    set(CPACK_DEBIAN_GENERATE_POSTINST 0)
-    set(CPACK_DEBIAN_GENERATE_POSTRM 0)
-  endif()
-
-  if(NOT CPACK_DEBIAN_PACKAGE_RELEASE)
-    set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
-  endif()
-
-
-  cpack_deb_variable_fallback("CPACK_DEBIAN_FILE_NAME"
-    "CPACK_DEBIAN_${_local_component_name}_FILE_NAME"
-    "CPACK_DEBIAN_FILE_NAME")
-  if(CPACK_DEBIAN_FILE_NAME)
-    if(CPACK_DEBIAN_FILE_NAME STREQUAL "DEB-DEFAULT")
-      # Patch package file name to be in corrent debian format:
-      # <foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
-      set(CPACK_OUTPUT_FILE_NAME
-        "${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb")
-    else()
-      cmake_policy(PUSH)
-        cmake_policy(SET CMP0010 NEW)
-        if(NOT CPACK_DEBIAN_FILE_NAME MATCHES ".*\\.deb")
-      cmake_policy(POP)
-          message(FATAL_ERROR "'${CPACK_DEBIAN_FILE_NAME}' is not a valid DEB package file name as it must end with '.deb'!")
-        endif()
-      cmake_policy(POP)
-
-      set(CPACK_OUTPUT_FILE_NAME "${CPACK_DEBIAN_FILE_NAME}")
-    endif()
-
-    set(CPACK_TEMPORARY_PACKAGE_FILE_NAME "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_OUTPUT_FILE_NAME}")
-    get_filename_component(BINARY_DIR "${CPACK_OUTPUT_FILE_PATH}" DIRECTORY)
-    set(CPACK_OUTPUT_FILE_PATH "${BINARY_DIR}/${CPACK_OUTPUT_FILE_NAME}")
-  endif() # else() back compatibility - don't change the name
-
-  # Print out some debug information if we were asked for that
-  if(CPACK_DEBIAN_PACKAGE_DEBUG)
-     message("CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY          = '${CPACK_TOPLEVEL_DIRECTORY}'")
-     message("CPackDeb:Debug: CPACK_TOPLEVEL_TAG                = '${CPACK_TOPLEVEL_TAG}'")
-     message("CPackDeb:Debug: CPACK_TEMPORARY_DIRECTORY         = '${CPACK_TEMPORARY_DIRECTORY}'")
-     message("CPackDeb:Debug: CPACK_OUTPUT_FILE_NAME            = '${CPACK_OUTPUT_FILE_NAME}'")
-     message("CPackDeb:Debug: CPACK_OUTPUT_FILE_PATH            = '${CPACK_OUTPUT_FILE_PATH}'")
-     message("CPackDeb:Debug: CPACK_PACKAGE_FILE_NAME           = '${CPACK_PACKAGE_FILE_NAME}'")
-     message("CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY   = '${CPACK_PACKAGE_INSTALL_DIRECTORY}'")
-     message("CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = '${CPACK_TEMPORARY_PACKAGE_FILE_NAME}'")
-     message("CPackDeb:Debug: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION = '${CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION}'")
-     message("CPackDeb:Debug: CPACK_DEBIAN_PACKAGE_SOURCE       = '${CPACK_DEBIAN_PACKAGE_SOURCE}'")
-  endif()
-
-  # For debian source packages:
-  # debian/control
-  # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-sourcecontrolfiles
-
-  # .dsc
-  # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-debiansourcecontrolfiles
-
-  # Builds-Depends:
-  #if(NOT CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS)
-  #  set(CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS
-  #    "debhelper (>> 5.0.0), libncurses5-dev, tcl8.4"
-  #  )
-  #endif()
-
-  # move variables to parent scope so that they may be used to create debian package
-  set(GEN_CPACK_OUTPUT_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}" PARENT_SCOPE)
-  set(GEN_CPACK_TEMPORARY_PACKAGE_FILE_NAME "${CPACK_TEMPORARY_PACKAGE_FILE_NAME}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_NAME "${CPACK_DEBIAN_PACKAGE_NAME}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_DEBIAN_PACKAGE_VERSION}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_SECTION "${CPACK_DEBIAN_PACKAGE_SECTION}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_PRIORITY "${CPACK_DEBIAN_PACKAGE_PRIORITY}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_DEBIAN_PACKAGE_MAINTAINER}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_PACKAGE_DESCRIPTION}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_COMPRESSION_TYPE "${CPACK_DEBIAN_COMPRESSION_TYPE}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_RECOMMENDS "${CPACK_DEBIAN_PACKAGE_RECOMMENDS}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_SUGGESTS "${CPACK_DEBIAN_PACKAGE_SUGGESTS}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CPACK_DEBIAN_PACKAGE_HOMEPAGE}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_PREDEPENDS "${CPACK_DEBIAN_PACKAGE_PREDEPENDS}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_ENHANCES "${CPACK_DEBIAN_PACKAGE_ENHANCES}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_BREAKS "${CPACK_DEBIAN_PACKAGE_BREAKS}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_CONFLICTS "${CPACK_DEBIAN_PACKAGE_CONFLICTS}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_PROVIDES "${CPACK_DEBIAN_PACKAGE_PROVIDES}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_REPLACES "${CPACK_DEBIAN_PACKAGE_REPLACES}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_SHLIBS "${CPACK_DEBIAN_PACKAGE_SHLIBS_LIST}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
-      "${CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_PACKAGE_SOURCE
-     "${CPACK_DEBIAN_PACKAGE_SOURCE}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_GENERATE_POSTINST "${CPACK_DEBIAN_GENERATE_POSTINST}" PARENT_SCOPE)
-  set(GEN_CPACK_DEBIAN_GENERATE_POSTRM "${CPACK_DEBIAN_GENERATE_POSTRM}" PARENT_SCOPE)
-  set(GEN_WDIR "${WDIR}" PARENT_SCOPE)
-endfunction()
-
-cpack_deb_prepare_package_vars()
diff --git a/share/cmake-3.6/Modules/CPackIFW.cmake b/share/cmake-3.6/Modules/CPackIFW.cmake
deleted file mode 100644
index 083fc28..0000000
--- a/share/cmake-3.6/Modules/CPackIFW.cmake
+++ /dev/null
@@ -1,704 +0,0 @@
-#.rst:
-# CPackIFW
-# --------
-#
-# .. _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_).
-#
-# The module also defines several commands to control the behavior of the
-# CPack ``IFW`` generator.
-#
-#
-# Overview
-# ^^^^^^^^
-#
-# CPack ``IFW`` generator helps you to create online and offline
-# binary cross-platform installers with a graphical user interface.
-#
-# CPack IFW generator prepares project installation and generates configuration
-# and meta information for QtIFW_ tools.
-#
-# The QtIFW_ provides a set of tools and utilities to create
-# installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
-# and Mac OS X.
-#
-# You should also install QtIFW_ to use CPack ``IFW`` generator.
-# If you don't use a default path for the installation, please set
-# the used path in the variable ``QTIFWDIR``.
-#
-# Variables
-# ^^^^^^^^^
-#
-# You can use the following variables to change behavior of CPack ``IFW``
-# generator.
-#
-# Debug
-# """"""
-#
-# .. variable:: CPACK_IFW_VERBOSE
-#
-#  Set to ``ON`` to enable addition debug output.
-#  By default is ``OFF``.
-#
-# Package
-# """""""
-#
-# .. variable:: CPACK_IFW_PACKAGE_TITLE
-#
-#  Name of the installer as displayed on the title bar.
-#  By default used :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
-#
-# .. variable:: CPACK_IFW_PACKAGE_PUBLISHER
-#
-#  Publisher of the software (as shown in the Windows Control Panel).
-#  By default used :variable:`CPACK_PACKAGE_VENDOR`.
-#
-# .. variable:: CPACK_IFW_PRODUCT_URL
-#
-#  URL to a page that contains product information on your web site.
-#
-# .. variable:: CPACK_IFW_PACKAGE_ICON
-#
-#  Filename for a custom installer icon. The actual file is '.icns' (Mac OS X),
-#  '.ico' (Windows). No functionality on Unix.
-#
-# .. variable:: CPACK_IFW_PACKAGE_WINDOW_ICON
-#
-#  Filename for a custom window icon in PNG format for the Installer
-#  application.
-#
-# .. variable:: CPACK_IFW_PACKAGE_LOGO
-#
-#  Filename for a logo is used as QWizard::LogoPixmap.
-#
-# .. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
-#
-#  Name of the default program group for the product in the Windows Start menu.
-#
-#  By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
-#
-# .. variable:: CPACK_IFW_TARGET_DIRECTORY
-#
-#  Default target directory for installation.
-#  By default used
-#  "@ApplicationsDir@/:variable:`CPACK_PACKAGE_INSTALL_DIRECTORY`"
-#
-#  You can use predefined variables.
-#
-# .. variable:: CPACK_IFW_ADMIN_TARGET_DIRECTORY
-#
-#  Default target directory for installation with administrator rights.
-#
-#  You can use predefined variables.
-#
-# .. variable:: CPACK_IFW_PACKAGE_GROUP
-#
-#  The group, which will be used to configure the root package
-#
-# .. variable:: CPACK_IFW_PACKAGE_NAME
-#
-#  The root package name, which will be used if configuration group is not
-#  specified
-#
-# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
-#
-#  Filename of the generated maintenance tool.
-#  The platform-specific executable file extension is appended.
-#
-#  By default used QtIFW_ defaults (``maintenancetool``).
-#
-# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
-#
-#  Filename for the configuration of the generated maintenance tool.
-#
-#  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.
-#
-# .. 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.
-#
-# .. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
-#
-#  Filename for a custom installer control script.
-#
-# .. variable:: CPACK_IFW_REPOSITORIES_ALL
-#
-#  The list of remote repositories.
-#
-#  The default value of this variable is computed by CPack and contains
-#  all repositories added with command :command:`cpack_ifw_add_repository`
-#  or updated with command :command:`cpack_ifw_update_repository`.
-#
-# .. variable:: CPACK_IFW_DOWNLOAD_ALL
-#
-#  If this is ``ON`` all components will be downloaded.
-#  By default is ``OFF`` or used value
-#  from ``CPACK_DOWNLOAD_ALL`` if set
-#
-# Components
-# """"""""""
-#
-# .. variable:: CPACK_IFW_RESOLVE_DUPLICATE_NAMES
-#
-#  Resolve duplicate names when installing components with groups.
-#
-# .. variable:: CPACK_IFW_PACKAGES_DIRECTORIES
-#
-#  Additional prepared packages dirs that will be used to resolve
-#  dependent components.
-#
-# Tools
-# """"""""
-#
-# .. variable:: CPACK_IFW_FRAMEWORK_VERSION
-#
-#  The version of used QtIFW_ tools.
-#
-# .. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
-#
-#  The path to "binarycreator" command line client.
-#
-#  This variable is cached and can be configured user if need.
-#
-# .. variable:: CPACK_IFW_REPOGEN_EXECUTABLE
-#
-#  The path to "repogen" command line client.
-#
-#  This variable is cached and can be configured user if need.
-#
-# Commands
-# ^^^^^^^^^
-#
-# The module defines the following commands:
-#
-# --------------------------------------------------------------------------
-#
-# .. command:: cpack_ifw_configure_component
-#
-# Sets the arguments specific to the CPack IFW generator.
-#
-# ::
-#
-#   cpack_ifw_configure_component(<compname> [COMMON] [ESSENTIAL]
-#                       [NAME <name>]
-#                       [VERSION <version>]
-#                       [SCRIPT <script>]
-#                       [PRIORITY <priority>]
-#                       [DEPENDS <com_id> ...]
-#                       [LICENSES <display_name> <file_path> ...])
-#
-# This command should be called after :command:`cpack_add_component` command.
-#
-# ``COMMON`` if set, then the component will be packaged and installed as part
-# of a group to which it belongs.
-#
-# ``ESSENTIAL`` if set, then the package manager stays disabled until that
-# component is updated.
-#
-# ``NAME`` is used to create domain-like identification for this component.
-# By default used origin component name.
-#
-# ``VERSION`` is version of component.
-# By default used :variable:`CPACK_PACKAGE_VERSION`.
-#
-# ``SCRIPT`` is a relative or absolute path to operations script
-# for this component.
-#
-# ``PRIORITY`` is priority of the component in the tree.
-#
-# ``DEPENDS`` list of dependency component identifiers in QtIFW_ style.
-#
-# ``LICENSES`` pair of <display_name> and <file_path> of license text for this
-# component. You can specify more then one license.
-#
-# --------------------------------------------------------------------------
-#
-# .. command:: cpack_ifw_configure_component_group
-#
-# Sets the arguments specific to the CPack IFW generator.
-#
-# ::
-#
-#   cpack_ifw_configure_component_group(<groupname>
-#                       [NAME <name>]
-#                       [VERSION <version>]
-#                       [SCRIPT <script>]
-#                       [PRIORITY <priority>]
-#                       [LICENSES <display_name> <file_path> ...])
-#
-# This command should be called after :command:`cpack_add_component_group`
-# command.
-#
-# ``NAME`` is used to create domain-like identification for this component
-# group.
-# By default used origin component group name.
-#
-# ``VERSION`` is version of component group.
-# By default used :variable:`CPACK_PACKAGE_VERSION`.
-#
-# ``SCRIPT`` is a relative or absolute path to operations script
-# for this component group.
-#
-# ``PRIORITY`` is priority of the component group in the tree.
-#
-# ``LICENSES`` pair of <display_name> and <file_path> of license text for this
-# component group. You can specify more then one license.
-#
-# --------------------------------------------------------------------------
-#
-# .. command:: cpack_ifw_add_repository
-#
-# Add QtIFW_ specific remote repository to binary installer.
-#
-# ::
-#
-#   cpack_ifw_add_repository(<reponame> [DISABLED]
-#                       URL <url>
-#                       [USERNAME <username>]
-#                       [PASSWORD <password>]
-#                       [DISPLAY_NAME <display_name>])
-#
-# This command will also add the <reponame> repository
-# to a variable :variable:`CPACK_IFW_REPOSITORIES_ALL`.
-#
-# ``DISABLED`` if set, then the repository will be disabled by default.
-#
-# ``URL`` is points to a list of available components.
-#
-# ``USERNAME`` is used as user on a protected repository.
-#
-# ``PASSWORD`` is password to use on a protected repository.
-#
-# ``DISPLAY_NAME`` is string to display instead of the URL.
-#
-#
-# --------------------------------------------------------------------------
-#
-# .. command:: cpack_ifw_update_repository
-#
-# Update QtIFW_ specific repository from remote repository.
-#
-# ::
-#
-#   cpack_ifw_update_repository(<reponame>
-#                       [[ADD|REMOVE] URL <url>]|
-#                        [REPLACE OLD_URL <old_url> NEW_URL <new_url>]]
-#                       [USERNAME <username>]
-#                       [PASSWORD <password>]
-#                       [DISPLAY_NAME <display_name>])
-#
-# This command will also add the <reponame> repository
-# to a variable :variable:`CPACK_IFW_REPOSITORIES_ALL`.
-#
-# ``URL`` is points to a list of available components.
-#
-# ``OLD_URL`` is points to a list that will replaced.
-#
-# ``NEW_URL`` is points to a list that will replace to.
-#
-# ``USERNAME`` is used as user on a protected repository.
-#
-# ``PASSWORD`` is password to use on a protected repository.
-#
-# ``DISPLAY_NAME`` is string to display instead of the URL.
-#
-# Example usage
-# ^^^^^^^^^^^^^
-#
-# .. code-block:: cmake
-#
-#    set(CPACK_PACKAGE_NAME "MyPackage")
-#    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyPackage Installation Example")
-#    set(CPACK_PACKAGE_VERSION "1.0.0") # Version of installer
-#
-#    include(CPack)
-#    include(CPackIFW)
-#
-#    cpack_add_component(myapp
-#        DISPLAY_NAME "MyApp"
-#        DESCRIPTION "My Application")
-#    cpack_ifw_configure_component(myapp
-#        VERSION "1.2.3" # Version of component
-#        SCRIPT "operations.qs")
-#    cpack_add_component(mybigplugin
-#        DISPLAY_NAME "MyBigPlugin"
-#        DESCRIPTION "My Big Downloadable Plugin"
-#        DOWNLOADED)
-#    cpack_ifw_add_repository(myrepo
-#        URL "http://example.com/ifw/repo/myapp"
-#        DISPLAY_NAME "My Application Repository")
-#
-#
-# Online installer
-# ^^^^^^^^^^^^^^^^
-#
-# By default CPack IFW generator makes offline installer. This means that all
-# components will be packaged into a binary file.
-#
-# To make a component downloaded, you must set the ``DOWNLOADED`` option in
-# :command:`cpack_add_component`.
-#
-# Then you would use the command :command:`cpack_configure_downloads`.
-# If you set ``ALL`` option all components will be downloaded.
-#
-# You also can use command :command:`cpack_ifw_add_repository` and
-# variable :variable:`CPACK_IFW_DOWNLOAD_ALL` for more specific configuration.
-#
-# CPack IFW generator creates "repository" dir in current binary dir. You
-# would copy content of this dir to specified ``site`` (``url``).
-#
-# See Also
-# ^^^^^^^^
-#
-# Qt Installer Framework Manual:
-#
-#  Index page
-#   http://doc.qt.io/qtinstallerframework/index.html
-#
-#  Component Scripting
-#   http://doc.qt.io/qtinstallerframework/scripting.html
-#
-#  Predefined Variables
-#   http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
-#
-#  Promoting Updates
-#   http://doc.qt.io/qtinstallerframework/ifw-updates.html
-#
-# Download Qt Installer Framework for you platform from Qt site:
-#  http://download.qt.io/official_releases/qt-installer-framework
-#
-
-#=============================================================================
-# Copyright 2014 Kitware, Inc.
-# Copyright 2014 Konstantin Podsvirov <konstantin@podsvirov.pro>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#=============================================================================
-# Search Qt Installer Framework tools
-#=============================================================================
-
-# Default path
-
-set(_CPACK_IFW_PATHS
-  "${QTIFWDIR}"
-  "$ENV{QTIFWDIR}"
-  "${QTDIR}"
-  "$ENV{QTIFWDIR}")
-if(WIN32)
-  list(APPEND _CPACK_IFW_PATHS
-    "$ENV{HOMEDRIVE}/Qt"
-    "C:/Qt")
-else()
-  list(APPEND _CPACK_IFW_PATHS
-    "$ENV{HOME}/Qt"
-    "/opt/Qt")
-endif()
-
-set(_CPACK_IFW_SUFFIXES
-# Common
-  "bin"
-# Second branch
-  "QtIFW2.3.0/bin"
-  "QtIFW2.2.0/bin"
-  "QtIFW2.1.0/bin"
-  "QtIFW2.0.3/bin"
-  "QtIFW2.0.1/bin"
-  "QtIFW2.0.0/bin"
-# First branch
-  "QtIFW-1.6.0/bin"
-  "QtIFW-1.5.0/bin"
-  "QtIFW-1.4.0/bin"
-  "QtIFW-1.3.0/bin")
-
-# Look for 'binarycreator'
-
-find_program(CPACK_IFW_BINARYCREATOR_EXECUTABLE
-  NAMES binarycreator
-  PATHS ${_CPACK_IFW_PATHS}
-  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
-  DOC "QtIFW binarycreator command line client")
-
-mark_as_advanced(CPACK_IFW_BINARYCREATOR_EXECUTABLE)
-
-# Look for 'repogen'
-
-find_program(CPACK_IFW_REPOGEN_EXECUTABLE
-  NAMES repogen
-  PATHS ${_CPACK_IFW_PATHS}
-  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
-  DOC "QtIFW repogen command line client"
-  )
-mark_as_advanced(CPACK_IFW_REPOGEN_EXECUTABLE)
-
-# Look for 'installerbase'
-
-find_program(CPACK_IFW_INSTALLERBASE_EXECUTABLE
-  NAMES installerbase
-  PATHS ${_CPACK_IFW_PATHS}
-  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
-  DOC "QtIFW installer executable base"
-  )
-mark_as_advanced(CPACK_IFW_INSTALLERBASE_EXECUTABLE)
-
-# Look for 'devtool' (appeared in the second branch)
-
-find_program(CPACK_IFW_DEVTOOL_EXECUTABLE
-  NAMES devtool
-  PATHS ${_CPACK_IFW_PATHS}
-  PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
-  DOC "QtIFW devtool command line client"
-  )
-mark_as_advanced(CPACK_IFW_DEVTOOL_EXECUTABLE)
-
-#
-## Next code is included only once
-#
-
-if(NOT CPackIFW_CMake_INCLUDED)
-set(CPackIFW_CMake_INCLUDED 1)
-
-#=============================================================================
-# Framework version
-#=============================================================================
-
-if(CPACK_IFW_INSTALLERBASE_EXECUTABLE AND CPACK_IFW_DEVTOOL_EXECUTABLE)
-  execute_process(COMMAND
-    "${CPACK_IFW_INSTALLERBASE_EXECUTABLE}" --framework-version
-    OUTPUT_VARIABLE CPACK_IFW_FRAMEWORK_VERSION)
-  if(CPACK_IFW_FRAMEWORK_VERSION)
-    string(REPLACE " " ""
-      CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION}")
-    string(REPLACE "\t" ""
-      CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION}")
-    string(REPLACE "\n" ""
-      CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION}")
-    if(CPACK_IFW_VERBOSE)
-      message(STATUS "Found QtIFW ${CPACK_IFW_FRAMEWORK_VERSION} version")
-    endif()
-  endif()
-endif()
-
-#=============================================================================
-# Macro definition
-#=============================================================================
-
-# Macro definition based on CPackComponent
-
-if(NOT CPackComponent_CMake_INCLUDED)
-    include(CPackComponent)
-endif()
-
-if(NOT __CMAKE_PARSE_ARGUMENTS_INCLUDED)
-    include(CMakeParseArguments)
-endif()
-
-# Resolve full filename for script file
-macro(_cpack_ifw_resolve_script _variable)
-  set(_ifw_script_macro ${_variable})
-  set(_ifw_script_file ${${_ifw_script_macro}})
-  if(DEFINED ${_ifw_script_macro})
-    get_filename_component(${_ifw_script_macro} ${_ifw_script_file} ABSOLUTE)
-    set(_ifw_script_file ${${_ifw_script_macro}})
-    if(NOT EXISTS ${_ifw_script_file})
-      message(WARNING "CPack IFW: script file \"${_ifw_script_file}\" is not exists")
-      set(${_ifw_script_macro})
-    endif()
-  endif()
-endmacro()
-
-# Resolve full path to lisense file
-macro(_cpack_ifw_resolve_lisenses _variable)
-  if(${_variable})
-    set(_ifw_license_file FALSE)
-    set(_ifw_licenses_fix)
-    foreach(_ifw_licenses_arg ${${_variable}})
-      if(_ifw_license_file)
-        get_filename_component(_ifw_licenses_arg "${_ifw_licenses_arg}" ABSOLUTE)
-        set(_ifw_license_file FALSE)
-      else()
-        set(_ifw_license_file TRUE)
-      endif()
-      list(APPEND _ifw_licenses_fix "${_ifw_licenses_arg}")
-    endforeach(_ifw_licenses_arg)
-    set(${_variable} "${_ifw_licenses_fix}")
-  endif()
-endmacro()
-
-# Macro for configure component
-macro(cpack_ifw_configure_component compname)
-
-  string(TOUPPER ${compname} _CPACK_IFWCOMP_UNAME)
-
-  set(_IFW_OPT COMMON ESSENTIAL)
-  set(_IFW_ARGS NAME VERSION SCRIPT PRIORITY)
-  set(_IFW_MULTI_ARGS DEPENDS LICENSES)
-  cmake_parse_arguments(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
-
-  _cpack_ifw_resolve_script(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_SCRIPT)
-  _cpack_ifw_resolve_lisenses(CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_LICENSES)
-
-  set(_CPACK_IFWCOMP_STR "\n# Configuration for IFW component \"${compname}\"\n")
-
-  foreach(_IFW_ARG_NAME ${_IFW_OPT})
-  cpack_append_option_set_command(
-    CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWCOMP_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
-  cpack_append_string_variable_set_command(
-    CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWCOMP_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
-  cpack_append_variable_set_command(
-    CPACK_IFW_COMPONENT_${_CPACK_IFWCOMP_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWCOMP_STR)
-  endforeach()
-
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWCOMP_STR}")
-  endif()
-
-endmacro()
-
-# Macro for configure group
-macro(cpack_ifw_configure_component_group grpname)
-
-  string(TOUPPER ${grpname} _CPACK_IFWGRP_UNAME)
-
-  set(_IFW_OPT)
-  set(_IFW_ARGS NAME VERSION SCRIPT PRIORITY)
-  set(_IFW_MULTI_ARGS LICENSES)
-  cmake_parse_arguments(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
-
-  _cpack_ifw_resolve_script(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_SCRIPT)
-  _cpack_ifw_resolve_lisenses(CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_LICENSES)
-
-  set(_CPACK_IFWGRP_STR "\n# Configuration for IFW component group \"${grpname}\"\n")
-
-  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
-  cpack_append_string_variable_set_command(
-    CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWGRP_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
-  cpack_append_variable_set_command(
-    CPACK_IFW_COMPONENT_GROUP_${_CPACK_IFWGRP_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWGRP_STR)
-  endforeach()
-
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWGRP_STR}")
-  endif()
-endmacro()
-
-# Macro for adding repository
-macro(cpack_ifw_add_repository reponame)
-
-  string(TOUPPER ${reponame} _CPACK_IFWREPO_UNAME)
-
-  set(_IFW_OPT DISABLED)
-  set(_IFW_ARGS URL USERNAME PASSWORD DISPLAY_NAME)
-  set(_IFW_MULTI_ARGS)
-  cmake_parse_arguments(CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
-
-  set(_CPACK_IFWREPO_STR "\n# Configuration for IFW repository \"${reponame}\"\n")
-
-  foreach(_IFW_ARG_NAME ${_IFW_OPT})
-  cpack_append_option_set_command(
-    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWREPO_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
-  cpack_append_string_variable_set_command(
-    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWREPO_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
-  cpack_append_variable_set_command(
-    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWREPO_STR)
-  endforeach()
-
-  list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})
-  set(_CPACK_IFWREPO_STR "${_CPACK_IFWREPO_STR}list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})\n")
-
-  if(CPack_CMake_INCLUDED)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWREPO_STR}")
-  endif()
-
-endmacro()
-
-# Macro for updating repository
-macro(cpack_ifw_update_repository reponame)
-
-  string(TOUPPER ${reponame} _CPACK_IFWREPO_UNAME)
-
-  set(_IFW_OPT ADD REMOVE REPLACE DISABLED)
-  set(_IFW_ARGS URL OLD_URL NEW_URL USERNAME PASSWORD DISPLAY_NAME)
-  set(_IFW_MULTI_ARGS)
-  cmake_parse_arguments(CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME} "${_IFW_OPT}" "${_IFW_ARGS}" "${_IFW_MULTI_ARGS}" ${ARGN})
-
-  set(_CPACK_IFWREPO_STR "\n# Configuration for IFW repository \"${reponame}\" update\n")
-
-  foreach(_IFW_ARG_NAME ${_IFW_OPT})
-  cpack_append_option_set_command(
-    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWREPO_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_ARGS})
-  cpack_append_string_variable_set_command(
-    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWREPO_STR)
-  endforeach()
-
-  foreach(_IFW_ARG_NAME ${_IFW_MULTI_ARGS})
-  cpack_append_variable_set_command(
-    CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_${_IFW_ARG_NAME}
-    _CPACK_IFWREPO_STR)
-  endforeach()
-
-  if(CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_ADD
-    OR CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_REMOVE
-    OR CPACK_IFW_REPOSITORY_${_CPACK_IFWREPO_UNAME}_REPLACE)
-    list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})
-    set(_CPACK_IFWREPO_STR "${_CPACK_IFWREPO_STR}list(APPEND CPACK_IFW_REPOSITORIES_ALL ${reponame})\n")
-  else()
-    set(_CPACK_IFWREPO_STR)
-  endif()
-
-  if(CPack_CMake_INCLUDED AND _CPACK_IFWREPO_STR)
-    file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${_CPACK_IFWREPO_STR}")
-  endif()
-
-endmacro()
-
-# Resolve package control script
-_cpack_ifw_resolve_script(CPACK_IFW_PACKAGE_CONTROL_SCRIPT)
-
-endif() # NOT CPackIFW_CMake_INCLUDED
diff --git a/share/cmake-3.6/Modules/CPackNSIS.cmake b/share/cmake-3.6/Modules/CPackNSIS.cmake
deleted file mode 100644
index db5984a..0000000
--- a/share/cmake-3.6/Modules/CPackNSIS.cmake
+++ /dev/null
@@ -1,143 +0,0 @@
-#.rst:
-# CPackNSIS
-# ---------
-#
-# CPack NSIS generator specific options
-#
-# Variables specific to CPack NSIS generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The following variables are specific to the graphical installers built
-# on Windows using the Nullsoft Installation System.
-#
-# .. variable:: CPACK_NSIS_INSTALL_ROOT
-#
-#  The default installation directory presented to the end user by the NSIS
-#  installer is under this root dir. The full directory presented to the end
-#  user is: ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
-#
-# .. variable:: CPACK_NSIS_MUI_ICON
-#
-#  An icon filename.  The name of a ``*.ico`` file used as the main icon for the
-#  generated install program.
-#
-# .. variable:: CPACK_NSIS_MUI_UNIICON
-#
-#  An icon filename.  The name of a ``*.ico`` file used as the main icon for the
-#  generated uninstall program.
-#
-# .. variable:: CPACK_NSIS_INSTALLER_MUI_ICON_CODE
-#
-#  undocumented.
-#
-# .. variable:: CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
-#
-#  The filename of a bitmap to use as the NSIS MUI_WELCOMEFINISHPAGE_BITMAP.
-#
-# .. variable:: CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
-#
-#  The filename of a bitmap to use as the NSIS MUI_UNWELCOMEFINISHPAGE_BITMAP.
-#
-# .. variable:: CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS
-#
-#  Extra NSIS commands that will be added to the beginning of the install
-#  Section, before your install tree is available on the target system.
-#
-# .. variable:: CPACK_NSIS_EXTRA_INSTALL_COMMANDS
-#
-#  Extra NSIS commands that will be added to the end of the install Section,
-#  after your install tree is available on the target system.
-#
-# .. variable:: CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
-#
-#  Extra NSIS commands that will be added to the uninstall Section, before
-#  your install tree is removed from the target system.
-#
-# .. variable:: CPACK_NSIS_COMPRESSOR
-#
-#  The arguments that will be passed to the NSIS SetCompressor command.
-#
-# .. variable:: CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
-#
-#  Ask about uninstalling previous versions first.  If this is set to "ON",
-#  then an installer will look for previous installed versions and if one is
-#  found, ask the user whether to uninstall it before proceeding with the
-#  install.
-#
-# .. variable:: CPACK_NSIS_MODIFY_PATH
-#
-#  Modify PATH toggle.  If this is set to "ON", then an extra page will appear
-#  in the installer that will allow the user to choose whether the program
-#  directory should be added to the system PATH variable.
-#
-# .. variable:: CPACK_NSIS_DISPLAY_NAME
-#
-#  The display name string that appears in the Windows Add/Remove Program
-#  control panel
-#
-# .. variable:: CPACK_NSIS_PACKAGE_NAME
-#
-#  The title displayed at the top of the installer.
-#
-# .. variable:: CPACK_NSIS_INSTALLED_ICON_NAME
-#
-#  A path to the executable that contains the installer icon.
-#
-# .. variable:: CPACK_NSIS_HELP_LINK
-#
-#  URL to a web site providing assistance in installing your application.
-#
-# .. variable:: CPACK_NSIS_URL_INFO_ABOUT
-#
-#  URL to a web site providing more information about your application.
-#
-# .. variable:: CPACK_NSIS_CONTACT
-#
-#  Contact information for questions and comments about the installation
-#  process.
-#
-# .. variable:: CPACK_NSIS_CREATE_ICONS_EXTRA
-#
-#  Additional NSIS commands for creating start menu shortcuts.
-#
-# .. variable:: CPACK_NSIS_DELETE_ICONS_EXTRA
-#
-#  Additional NSIS commands to uninstall start menu shortcuts.
-#
-# .. variable:: CPACK_NSIS_EXECUTABLES_DIRECTORY
-#
-#  Creating NSIS start menu links assumes that they are in 'bin' unless this
-#  variable is set.  For example, you would set this to 'exec' if your
-#  executables are in an exec directory.
-#
-# .. variable:: CPACK_NSIS_MUI_FINISHPAGE_RUN
-#
-#  Specify an executable to add an option to run on the finish page of the
-#  NSIS installer.
-#
-# .. variable:: CPACK_NSIS_MENU_LINKS
-#
-#  Specify links in [application] menu.  This should contain a list of pair
-#  "link" "link name". The link may be an URL or a path relative to
-#  installation prefix.  Like::
-#
-#   set(CPACK_NSIS_MENU_LINKS
-#       "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
-#       "CMake Help" "https://cmake.org" "CMake Web Site")
-#
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#FIXME we should put NSIS specific code here
-#FIXME but I'm not doing it because I'm not able to test it...
diff --git a/share/cmake-3.6/Modules/CPackPackageMaker.cmake b/share/cmake-3.6/Modules/CPackPackageMaker.cmake
deleted file mode 100644
index 4160425..0000000
--- a/share/cmake-3.6/Modules/CPackPackageMaker.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-#.rst:
-# CPackPackageMaker
-# -----------------
-#
-# PackageMaker CPack generator (Mac OS X).
-#
-# Variables specific to CPack PackageMaker generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The following variable is specific to installers built on Mac
-# OS X using PackageMaker:
-#
-# .. variable:: CPACK_OSX_PACKAGE_VERSION
-#
-#  The version of Mac OS X that the resulting PackageMaker archive should be
-#  compatible with. Different versions of Mac OS X support different
-#  features. For example, CPack can only build component-based installers for
-#  Mac OS X 10.4 or newer, and can only build installers that download
-#  component son-the-fly for Mac OS X 10.5 or newer. If left blank, this value
-#  will be set to the minimum version of Mac OS X 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 Mac OS X, and
-#  don't mind missing extra features available in the installer shipping with
-#  later versions of Mac OS X.
-
-#=============================================================================
-# Copyright 2006-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
diff --git a/share/cmake-3.6/Modules/CPackRPM.cmake b/share/cmake-3.6/Modules/CPackRPM.cmake
deleted file mode 100644
index d231ff0..0000000
--- a/share/cmake-3.6/Modules/CPackRPM.cmake
+++ /dev/null
@@ -1,1975 +0,0 @@
-#.rst:
-# CPackRPM
-# --------
-#
-# The built in (binary) CPack RPM generator (Unix only)
-#
-# Variables specific to CPack RPM generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# CPackRPM may be used to create RPM packages using :module:`CPack`.
-# CPackRPM is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
-# variables used by :module:`CPack`.
-#
-# CPackRPM has specific features which are controlled by the specifics
-# :code:`CPACK_RPM_XXX` variables.
-#
-# :code:`CPACK_RPM_<COMPONENT>_XXXX` variables may be used in order to have
-# **component** specific values.  Note however that ``<COMPONENT>`` refers to the
-# **grouping name** written in upper case. It may be either a component name or
-# a component GROUP name. Usually those variables correspond to RPM spec file
-# entities. One may find information about spec files here
-# http://www.rpm.org/wiki/Docs
-#
-# .. note::
-#
-#  `<COMPONENT>` part of variables is preferred to be in upper case (for e.g. if
-#  component is named `foo` then use `CPACK_RPM_FOO_XXXX` variable name format)
-#  as is with other `CPACK_<COMPONENT>_XXXX` variables.
-#  For the purposes of back compatibility (CMake/CPack version 3.5 and lower)
-#  support for same cased component (e.g. `fOo` would be used as
-#  `CPACK_RPM_fOo_XXXX`) is still supported for variables defined in older
-#  versions of CMake/CPack but is not guaranteed for variables that
-#  will be added in the future. For the sake of back compatibility same cased
-#  component variables also override upper cased versions where both are
-#  present.
-#
-# Here are some CPackRPM wiki resources that are here for historic reasons and
-# are no longer maintained but may still prove useful:
-#
-#  - https://cmake.org/Wiki/CMake:CPackConfiguration
-#  - https://cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
-#
-# List of CPackRPM specific variables:
-#
-# .. variable:: CPACK_RPM_PACKAGE_COMPONENT
-#
-#  Enable component packaging for CPackRPM
-#
-#  * Mandatory : NO
-#  * Default   : OFF
-#
-#  If enabled (ON) multiple packages are generated. By default a single package
-#  containing files of all components is generated.
-#
-# .. variable:: CPACK_RPM_PACKAGE_SUMMARY
-#               CPACK_RPM_<component>_PACKAGE_SUMMARY
-#
-#  The RPM package summary.
-#
-#  * Mandatory : YES
-#  * Default   : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
-#
-# .. variable:: CPACK_RPM_PACKAGE_NAME
-#               CPACK_RPM_<component>_PACKAGE_NAME
-#
-#  The RPM package name.
-#
-#  * Mandatory : YES
-#  * Default   : :variable:`CPACK_PACKAGE_NAME`
-#
-# .. variable:: CPACK_RPM_FILE_NAME
-#               CPACK_RPM_<component>_FILE_NAME
-#
-#  Package file name.
-#
-#  * Mandatory : YES
-#  * Default   : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].rpm`` with spaces
-#                replaced by '-'
-#
-#  This may be set to ``RPM-DEFAULT`` to allow rpmbuild tool to generate package
-#  file name by itself.
-#  Alternatively provided package file name must end with ``.rpm`` suffix.
-#
-#  .. note::
-#
-#    By using user provided spec file, rpm macro extensions such as for
-#    generating debuginfo packages or by simply using multiple components more
-#    than one rpm file may be generated, either from a single spec file or from
-#    multiple spec files (each component execution produces it's own spec file).
-#    In such cases duplicate file names may occur as a result of this variable
-#    setting or spec file content structure. Duplicate files get overwritten
-#    and it is up to the packager to set the variables in a manner that will
-#    prevent such errors.
-#
-# .. variable:: CPACK_RPM_PACKAGE_VERSION
-#
-#  The RPM package version.
-#
-#  * Mandatory : YES
-#  * Default   : :variable:`CPACK_PACKAGE_VERSION`
-#
-# .. variable:: CPACK_RPM_PACKAGE_ARCHITECTURE
-#               CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
-#
-#  The RPM package architecture.
-#
-#  * Mandatory : YES
-#  * Default   : Native architecture output by ``uname -m``
-#
-#  This may be set to ``noarch`` if you know you are building a noarch package.
-#
-# .. variable:: CPACK_RPM_PACKAGE_RELEASE
-#
-#  The RPM package release.
-#
-#  * Mandatory : YES
-#  * Default   : 1
-#
-#  This is the numbering of the RPM package itself, i.e. the version of the
-#  packaging and not the version of the content (see
-#  :variable:`CPACK_RPM_PACKAGE_VERSION`). One may change the default value if
-#  the previous packaging was buggy and/or you want to put here a fancy Linux
-#  distro specific numbering.
-#
-# .. note::
-#
-#  This is the string that goes into the RPM ``Release:`` field. Some distros
-#  (e.g. Fedora, CentOS) require ``1%{?dist}`` format and not just a number.
-#  ``%{?dist}`` part can be added by setting :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
-#
-# .. variable:: CPACK_RPM_PACKAGE_RELEASE_DIST
-#
-#  The dist tag that is added  RPM ``Release:`` field.
-#
-#  * Mandatory : NO
-#  * Default   : OFF
-#
-#  This is the reported ``%{dist}`` tag from the current distribution or empty
-#  ``%{dist}`` if RPM macro is not set. If this variable is set then RPM
-#  ``Release:`` field value is set to ``${CPACK_RPM_PACKAGE_RELEASE}%{?dist}``.
-#
-# .. variable:: CPACK_RPM_PACKAGE_LICENSE
-#
-#  The RPM package license policy.
-#
-#  * Mandatory : YES
-#  * Default   : "unknown"
-#
-# .. variable:: CPACK_RPM_PACKAGE_GROUP
-#               CPACK_RPM_<component>_PACKAGE_GROUP
-#
-#  The RPM package group.
-#
-#  * Mandatory : YES
-#  * Default   : "unknown"
-#
-# .. variable:: CPACK_RPM_PACKAGE_VENDOR
-#
-#  The RPM package vendor.
-#
-#  * Mandatory : YES
-#  * Default   : CPACK_PACKAGE_VENDOR if set or "unknown"
-#
-# .. variable:: CPACK_RPM_PACKAGE_URL
-#               CPACK_RPM_<component>_PACKAGE_URL
-#
-#  The projects URL.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-# .. variable:: CPACK_RPM_PACKAGE_DESCRIPTION
-#               CPACK_RPM_<component>_PACKAGE_DESCRIPTION
-#
-#  RPM package description.
-#
-#  * Mandatory : YES
-#  * Default : :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION` (component
-#    based installers only) if set, :variable:`CPACK_PACKAGE_DESCRIPTION_FILE`
-#    if set or "no package description available"
-#
-# .. variable:: CPACK_RPM_COMPRESSION_TYPE
-#
-#  RPM compression type.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to override RPM compression type to be used to build the
-#  RPM. For example some Linux distribution now default to lzma or xz
-#  compression whereas older cannot use such RPM. Using this one can enforce
-#  compression type to be used.
-#
-#  Possible values are:
-#
-#  - lzma
-#  - xz
-#  - bzip2
-#  - gzip
-#
-# .. variable:: CPACK_RPM_PACKAGE_AUTOREQ
-#               CPACK_RPM_<component>_PACKAGE_AUTOREQ
-#
-#  RPM spec autoreq field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to enable (1, yes) or disable (0, no) automatic shared libraries
-#  dependency detection. Dependencies are added to requires list.
-#
-#  .. note::
-#
-#    By default automatic dependency detection is enabled by rpm generator.
-#
-# .. variable:: CPACK_RPM_PACKAGE_AUTOPROV
-#               CPACK_RPM_<component>_PACKAGE_AUTOPROV
-#
-#  RPM spec autoprov field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to enable (1, yes) or disable (0, no) automatic listing of shared
-#  libraries that are provided by the package. Shared libraries are added to
-#  provides list.
-#
-#  .. note::
-#
-#    By default automatic provides detection is enabled by rpm generator.
-#
-# .. variable:: CPACK_RPM_PACKAGE_AUTOREQPROV
-#               CPACK_RPM_<component>_PACKAGE_AUTOREQPROV
-#
-#  RPM spec autoreqprov field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  Variable enables/disables autoreq and autoprov at the same time.
-#  See :variable:`CPACK_RPM_PACKAGE_AUTOREQ` and :variable:`CPACK_RPM_PACKAGE_AUTOPROV`
-#  for more details.
-#
-#  .. note::
-#
-#    By default automatic detection feature is enabled by rpm.
-#
-# .. variable:: CPACK_RPM_PACKAGE_REQUIRES
-#               CPACK_RPM_<component>_PACKAGE_REQUIRES
-#
-#  RPM spec requires field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM dependencies (requires). Note that you must enclose
-#  the complete requires string between quotes, for example::
-#
-#   set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
-#
-#  The required package list of an RPM file could be printed with::
-#
-#   rpm -qp --requires file.rpm
-#
-# .. variable:: CPACK_RPM_PACKAGE_CONFLICTS
-#               CPACK_RPM_<component>_PACKAGE_CONFLICTS
-#
-#  RPM spec conflicts field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set negative RPM dependencies (conflicts). Note that you must
-#  enclose the complete requires string between quotes, for example::
-#
-#   set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")
-#
-#  The conflicting package list of an RPM file could be printed with::
-#
-#   rpm -qp --conflicts file.rpm
-#
-# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_PRE
-#               CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
-#
-#  RPM spec requires(pre) field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM preinstall dependencies (requires(pre)). Note that
-#  you must enclose the complete requires string between quotes, for example::
-#
-#   set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils, initscripts")
-#
-# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_POST
-#               CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
-#
-#  RPM spec requires(post) field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM postinstall dependencies (requires(post)). Note that
-#  you must enclose the complete requires string between quotes, for example::
-#
-#   set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow-utils, initscripts")
-#
-# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_POSTUN
-#               CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
-#
-#  RPM spec requires(postun) field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM postuninstall dependencies (requires(postun)). Note
-#  that you must enclose the complete requires string between quotes, for
-#  example::
-#
-#   set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow-utils, initscripts")
-#
-# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_PREUN
-#               CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
-#
-#  RPM spec requires(preun) field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM preuninstall dependencies (requires(preun)). Note that
-#  you must enclose the complete requires string between quotes, for example::
-#
-#   set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow-utils, initscripts")
-#
-# .. variable:: CPACK_RPM_PACKAGE_SUGGESTS
-#               CPACK_RPM_<component>_PACKAGE_SUGGESTS
-#
-#  RPM spec suggest field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set weak RPM dependencies (suggests). Note that you must
-#  enclose the complete requires string between quotes.
-#
-# .. variable:: CPACK_RPM_PACKAGE_PROVIDES
-#               CPACK_RPM_<component>_PACKAGE_PROVIDES
-#
-#  RPM spec provides field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM dependencies (provides). The provided package list
-#  of an RPM file could be printed with::
-#
-#   rpm -qp --provides file.rpm
-#
-# .. variable:: CPACK_RPM_PACKAGE_OBSOLETES
-#               CPACK_RPM_<component>_PACKAGE_OBSOLETES
-#
-#  RPM spec obsoletes field.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set RPM packages that are obsoleted by this one.
-#
-# .. variable:: CPACK_RPM_PACKAGE_RELOCATABLE
-#
-#  build a relocatable RPM.
-#
-#  * Mandatory : NO
-#  * Default   : CPACK_PACKAGE_RELOCATABLE
-#
-#  If this variable is set to TRUE or ON CPackRPM will try
-#  to build a relocatable RPM package. A relocatable RPM may
-#  be installed using::
-#
-#   rpm --prefix or --relocate
-#
-#  in order to install it at an alternate place see rpm(8). Note that
-#  currently this may fail if :variable:`CPACK_SET_DESTDIR` is set to ``ON``. If
-#  :variable:`CPACK_SET_DESTDIR` is set then you will get a warning message but
-#  if there is file installed with absolute path you'll get unexpected behavior.
-#
-# .. variable:: CPACK_RPM_SPEC_INSTALL_POST
-#
-#  Deprecated - use :variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE` instead.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#  * Deprecated: YES
-#
-#  This way of specifying post-install script is deprecated, use
-#  :variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE`.
-#  May be used to set an RPM post-install command inside the spec file.
-#  For example setting it to ``/bin/true`` may be used to prevent
-#  rpmbuild to strip binaries.
-#
-# .. variable:: CPACK_RPM_SPEC_MORE_DEFINE
-#
-#  RPM extended spec definitions lines.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to add any ``%define`` lines to the generated spec file.
-#
-# .. variable:: CPACK_RPM_PACKAGE_DEBUG
-#
-#  Toggle CPackRPM debug output.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be set when invoking cpack in order to trace debug information
-#  during CPack RPM run. For example you may launch CPack like this::
-#
-#   cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
-#
-# .. variable:: CPACK_RPM_USER_BINARY_SPECFILE
-#               CPACK_RPM_<componentName>_USER_BINARY_SPECFILE
-#
-#  A user provided spec file.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be set by the user in order to specify a USER binary spec file
-#  to be used by CPackRPM instead of generating the file.
-#  The specified file will be processed by configure_file( @ONLY).
-#
-# .. variable:: CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
-#
-#  Spec file template.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  If set CPack will generate a template for USER specified binary
-#  spec file and stop with an error. For example launch CPack like this::
-#
-#   cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
-#
-#  The user may then use this file in order to hand-craft is own
-#  binary spec file which may be used with
-#  :variable:`CPACK_RPM_USER_BINARY_SPECFILE`.
-#
-# .. variable:: CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
-#               CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
-#
-#  Path to file containing pre (un)install script.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to embed a pre (un)installation script in the spec file.
-#  The referred script file (or both) will be read and directly
-#  put after the ``%pre`` or ``%preun`` section
-#  If :variable:`CPACK_RPM_PACKAGE_COMPONENT` is set to ON the (un)install
-#  script for each component can be overridden with
-#  ``CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE`` and
-#  ``CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE``.
-#  One may verify which scriptlet has been included with::
-#
-#   rpm -qp --scripts  package.rpm
-#
-# .. variable:: CPACK_RPM_POST_INSTALL_SCRIPT_FILE
-#               CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
-#
-#  Path to file containing post (un)install script.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to embed a post (un)installation script in the spec file.
-#  The referred script file (or both) will be read and directly
-#  put after the ``%post`` or ``%postun`` section.
-#  If :variable:`CPACK_RPM_PACKAGE_COMPONENT` is set to ON the (un)install
-#  script for each component can be overridden with
-#  ``CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE`` and
-#  ``CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE``.
-#  One may verify which scriptlet has been included with::
-#
-#   rpm -qp --scripts  package.rpm
-#
-# .. variable:: CPACK_RPM_USER_FILELIST
-#               CPACK_RPM_<COMPONENT>_USER_FILELIST
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to explicitly specify ``%(<directive>)`` file line
-#  in the spec file. Like ``%config(noreplace)`` or any other directive
-#  that be found in the ``%files`` section. Since CPackRPM is generating
-#  the list of files (and directories) the user specified files of
-#  the ``CPACK_RPM_<COMPONENT>_USER_FILELIST`` list will be removed from
-#  the generated list.
-#
-# .. variable:: CPACK_RPM_CHANGELOG_FILE
-#
-#  RPM changelog file.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to embed a changelog in the spec file.
-#  The referred file will be read and directly put after the ``%changelog``
-#  section.
-#
-# .. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
-#
-#  list of path to be excluded.
-#
-#  * Mandatory : NO
-#  * Default   : /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include
-#
-#  May be used to exclude path (directories or files) from the auto-generated
-#  list of paths discovered by CPack RPM. The defaut value contains a
-#  reasonable set of values if the variable is not defined by the user. If the
-#  variable is defined by the user then CPackRPM will NOT any of the default
-#  path. If you want to add some path to the default list then you can use
-#  :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION` variable.
-#
-# .. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
-#
-#  additional list of path to be excluded.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to add more exclude path (directories or files) from the initial
-#  default list of excluded paths. See
-#  :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST`.
-#
-# .. variable:: CPACK_RPM_RELOCATION_PATHS
-#
-#  Packages relocation paths list.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to specify more than one relocation path per relocatable RPM.
-#  Variable contains a list of relocation paths that if relative are prefixed
-#  by the value of :variable:`CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX` or by the
-#  value of :variable:`CPACK_PACKAGING_INSTALL_PREFIX` if the component version
-#  is not provided.
-#  Variable is not component based as its content can be used to set a different
-#  path prefix for e.g. binary dir and documentation dir at the same time.
-#  Only prefixes that are required by a certain component are added to that
-#  component - component must contain at least one file/directory/symbolic link
-#  with :variable:`CPACK_RPM_RELOCATION_PATHS` prefix for a certain relocation
-#  path to be added. Package will not contain any relocation paths if there are
-#  no files/directories/symbolic links on any of the provided prefix locations.
-#  Packages that either do not contain any relocation paths or contain
-#  files/directories/symbolic links that are outside relocation paths print
-#  out an ``AUTHOR_WARNING`` that RPM will be partially relocatable.
-#
-# .. variable:: CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
-#
-#  Per component relocation path install prefix.
-#
-#  * Mandatory : NO
-#  * Default   : CPACK_PACKAGING_INSTALL_PREFIX
-#
-#  May be used to set per component :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
-#  for relocatable RPM packages.
-#
-# .. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
-#               CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
-#
-#  Removal of default install prefix from relocation paths list.
-#
-#  * Mandatory : NO
-#  * Default   : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
-#                are treated as one of relocation paths
-#
-#  May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
-#  from relocatable RPM prefix paths.
-#
-# .. variable:: CPACK_RPM_ADDITIONAL_MAN_DIRS
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-#  May be used to set additional man dirs that could potentially be compressed
-#  by brp-compress RPM macro. Variable content must be a list of regular
-#  expressions that point to directories containing man files or to man files
-#  directly. Note that in order to compress man pages a path must also be
-#  present in brp-compress RPM script and that brp-compress script must be
-#  added to RPM configuration by the operating system.
-#
-#  Regular expressions that are added by default were taken from brp-compress
-#  RPM macro:
-#
-#  - /usr/man/man.*
-#  - /usr/man/.*/man.*
-#  - /usr/info.*
-#  - /usr/share/man/man.*
-#  - /usr/share/man/.*/man.*
-#  - /usr/share/info.*
-#  - /usr/kerberos/man.*
-#  - /usr/X11R6/man/man.*
-#  - /usr/lib/perl5/man/man.*
-#  - /usr/share/doc/.*/man/man.*
-#  - /usr/lib/.*/man/man.*
-#
-# .. variable:: CPACK_RPM_DEFAULT_USER
-#               CPACK_RPM_<compName>_DEFAULT_USER
-#
-#  default user ownership of RPM content
-#
-#  * Mandatory : NO
-#  * Default   : root
-#
-#  Value should be user name and not UID.
-#  Note that <compName> must be in upper-case.
-#
-# .. variable:: CPACK_RPM_DEFAULT_GROUP
-#               CPACK_RPM_<compName>_DEFAULT_GROUP
-#
-#  default group ownership of RPM content
-#
-#  * Mandatory : NO
-#  * Default   : root
-#
-#  Value should be group name and not GID.
-#  Note that <compName> must be in upper-case.
-#
-# .. variable:: CPACK_RPM_DEFAULT_FILE_PERMISSIONS
-#               CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
-#
-#  default permissions used for packaged files
-#
-#  * Mandatory : NO
-#  * Default   : - (system default)
-#
-#  Accepted values are lists with ``PERMISSIONS``. Valid permissions
-#  are:
-#
-#  - OWNER_READ
-#  - OWNER_WRITE
-#  - OWNER_EXECUTE
-#  - GROUP_READ
-#  - GROUP_WRITE
-#  - GROUP_EXECUTE
-#  - WORLD_READ
-#  - WORLD_WRITE
-#  - WORLD_EXECUTE
-#
-#  Note that <compName> must be in upper-case.
-#
-# .. variable:: CPACK_RPM_DEFAULT_DIR_PERMISSIONS
-#               CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
-#
-#  default permissions used for packaged directories
-#
-#  * Mandatory : NO
-#  * Default   : - (system default)
-#
-#  Accepted values are lists with PERMISSIONS. Valid permissions
-#  are the same as for :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`.
-#  Note that <compName> must be in upper-case.
-#
-# Packaging of Symbolic Links
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# CPackRPM supports packaging of symbolic links::
-#
-#   execute_process(COMMAND ${CMAKE_COMMAND}
-#     -E create_symlink <relative_path_location> <symlink_name>)
-#   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/<symlink_name>
-#     DESTINATION <symlink_location> COMPONENT libraries)
-#
-# Symbolic links will be optimized (paths will be shortened if possible)
-# before being added to the package or if multiple relocation paths are
-# detected, a post install symlink relocation script will be generated.
-#
-# Symbolic links may point to locations that are not packaged by the same
-# package (either a different component or even not packaged at all) but
-# those locations will be treated as if they were a part of the package
-# while determining if symlink should be either created or present in a
-# post install script - depending on relocation paths.
-#
-# Symbolic links that point to locations outside packaging path produce a
-# warning and are treated as non relocatable permanent symbolic links.
-#
-# Currently there are a few limitations though:
-#
-# * For component based packaging component interdependency is not checked
-#   when processing symbolic links. Symbolic links pointing to content of
-#   a different component are treated the same way as if pointing to location
-#   that will not be packaged.
-#
-# * Symbolic links pointing to a location through one or more intermediate
-#   symbolic links will not be handled differently - if the intermediate
-#   symbolic link(s) is also on a relocatable path, relocating it during
-#   package installation may cause initial symbolic link to point to an
-#   invalid location.
-
-#=============================================================================
-# Copyright 2007-2016 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Author: Eric Noulard with the help of Alexander Neundorf.
-
-function(get_unix_permissions_octal_notation PERMISSIONS_VAR RETURN_VAR)
-  set(PERMISSIONS ${${PERMISSIONS_VAR}})
-  list(LENGTH PERMISSIONS PERM_LEN_PRE)
-  list(REMOVE_DUPLICATES PERMISSIONS)
-  list(LENGTH PERMISSIONS PERM_LEN_POST)
-
-  if(NOT ${PERM_LEN_PRE} EQUAL ${PERM_LEN_POST})
-    message(FATAL_ERROR "${PERMISSIONS_VAR} contains duplicate values.")
-  endif()
-
-  foreach(PERMISSION_TYPE "OWNER" "GROUP" "WORLD")
-    set(${PERMISSION_TYPE}_PERMISSIONS 0)
-
-    foreach(PERMISSION ${PERMISSIONS})
-      if("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_READ")
-        math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 4")
-      elseif("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_WRITE")
-        math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 2")
-      elseif("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_EXECUTE")
-        math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 1")
-      elseif(PERMISSION MATCHES "${PERMISSION_TYPE}.*")
-        message(FATAL_ERROR "${PERMISSIONS_VAR} contains invalid values.")
-      endif()
-    endforeach()
-  endforeach()
-
-  set(${RETURN_VAR} "${OWNER_PERMISSIONS}${GROUP_PERMISSIONS}${WORLD_PERMISSIONS}" PARENT_SCOPE)
-endfunction()
-
-function(cpack_rpm_prepare_relocation_paths)
-  # set appropriate prefix, remove possible trailing slash and convert backslashes to slashes
-  if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX)
-    file(TO_CMAKE_PATH "${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX}" PATH_PREFIX)
-  elseif(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_PREFIX)
-    file(TO_CMAKE_PATH "${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_PREFIX}" PATH_PREFIX)
-  else()
-    file(TO_CMAKE_PATH "${CPACK_PACKAGING_INSTALL_PREFIX}" PATH_PREFIX)
-  endif()
-
-  set(RPM_RELOCATION_PATHS "${CPACK_RPM_RELOCATION_PATHS}")
-  list(REMOVE_DUPLICATES RPM_RELOCATION_PATHS)
-
-  # set base path prefix
-  if(EXISTS "${WDIR}/${PATH_PREFIX}")
-    if(NOT CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION AND
-       NOT CPACK_RPM_NO_${CPACK_RPM_PACKAGE_COMPONENT}_INSTALL_PREFIX_RELOCATION AND
-       NOT CPACK_RPM_NO_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_INSTALL_PREFIX_RELOCATION)
-      set(TMP_RPM_PREFIXES "${TMP_RPM_PREFIXES}Prefix: ${PATH_PREFIX}\n")
-      list(APPEND RPM_USED_PACKAGE_PREFIXES "${PATH_PREFIX}")
-
-      if(CPACK_RPM_PACKAGE_DEBUG)
-        message("CPackRPM:Debug: removing '${PATH_PREFIX}' from relocation paths")
-      endif()
-    endif()
-  endif()
-
-  # set other path prefixes
-  foreach(RELOCATION_PATH ${RPM_RELOCATION_PATHS})
-    if(IS_ABSOLUTE "${RELOCATION_PATH}")
-      set(PREPARED_RELOCATION_PATH "${RELOCATION_PATH}")
-    else()
-      set(PREPARED_RELOCATION_PATH "${PATH_PREFIX}/${RELOCATION_PATH}")
-    endif()
-
-    if(EXISTS "${WDIR}/${PREPARED_RELOCATION_PATH}")
-      set(TMP_RPM_PREFIXES "${TMP_RPM_PREFIXES}Prefix: ${PREPARED_RELOCATION_PATH}\n")
-      list(APPEND RPM_USED_PACKAGE_PREFIXES "${PREPARED_RELOCATION_PATH}")
-    endif()
-  endforeach()
-
-  # warn about all the paths that are not relocatable
-  cmake_policy(PUSH)
-    # Tell file(GLOB_RECURSE) not to follow directory symlinks
-    # even if the project does not set this policy to NEW.
-    cmake_policy(SET CMP0009 NEW)
-    file(GLOB_RECURSE FILE_PATHS_ "${WDIR}/*")
-  cmake_policy(POP)
-  foreach(TMP_PATH ${FILE_PATHS_})
-    string(LENGTH "${WDIR}" WDIR_LEN)
-    string(SUBSTRING "${TMP_PATH}" ${WDIR_LEN} -1 TMP_PATH)
-    unset(TMP_PATH_FOUND_)
-
-    foreach(RELOCATION_PATH ${RPM_USED_PACKAGE_PREFIXES})
-      file(RELATIVE_PATH REL_PATH_ "${RELOCATION_PATH}" "${TMP_PATH}")
-      string(SUBSTRING "${REL_PATH_}" 0 2 PREFIX_)
-
-      if(NOT "${PREFIX_}" STREQUAL "..")
-        set(TPM_PATH_FOUND_ TRUE)
-        break()
-      endif()
-    endforeach()
-
-    if(NOT TPM_PATH_FOUND_)
-      message(AUTHOR_WARNING "CPackRPM:Warning: Path ${TMP_PATH} is not on one of the relocatable paths! Package will be partially relocatable.")
-    endif()
-  endforeach()
-
-  set(RPM_USED_PACKAGE_PREFIXES "${RPM_USED_PACKAGE_PREFIXES}" PARENT_SCOPE)
-  set(TMP_RPM_PREFIXES "${TMP_RPM_PREFIXES}" PARENT_SCOPE)
-endfunction()
-
-function(cpack_rpm_prepare_content_list)
-  # get files list
-  cmake_policy(PUSH)
-    cmake_policy(SET CMP0009 NEW)
-    file(GLOB_RECURSE CPACK_RPM_INSTALL_FILES LIST_DIRECTORIES true RELATIVE "${WDIR}" "${WDIR}/*")
-  cmake_policy(POP)
-  set(CPACK_RPM_INSTALL_FILES "/${CPACK_RPM_INSTALL_FILES}")
-  string(REPLACE ";" ";/" CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}")
-
-  # if we are creating a relocatable package, omit parent directories of
-  # CPACK_RPM_PACKAGE_PREFIX. This is achieved by building a "filter list"
-  # which is passed to the find command that generates the content-list
-  if(CPACK_RPM_PACKAGE_RELOCATABLE)
-    # get a list of the elements in CPACK_RPM_PACKAGE_PREFIXES that are
-    # destinct parent paths of other relocation paths and remove the
-    # final element (so the install-prefix dir itself is not omitted
-    # from the RPM's content-list)
-    list(SORT RPM_USED_PACKAGE_PREFIXES)
-    set(_DISTINCT_PATH "NOT_SET")
-    foreach(_RPM_RELOCATION_PREFIX ${RPM_USED_PACKAGE_PREFIXES})
-      if(NOT "${_RPM_RELOCATION_PREFIX}" MATCHES "${_DISTINCT_PATH}/.*")
-        set(_DISTINCT_PATH "${_RPM_RELOCATION_PREFIX}")
-
-        string(REPLACE "/" ";" _CPACK_RPM_PACKAGE_PREFIX_ELEMS " ${_RPM_RELOCATION_PREFIX}")
-        list(REMOVE_AT _CPACK_RPM_PACKAGE_PREFIX_ELEMS -1)
-        unset(_TMP_LIST)
-        # Now generate all of the parent dirs of the relocation path
-        foreach(_PREFIX_PATH_ELEM ${_CPACK_RPM_PACKAGE_PREFIX_ELEMS})
-          list(APPEND _TMP_LIST "${_PREFIX_PATH_ELEM}")
-          string(REPLACE ";" "/" _OMIT_DIR "${_TMP_LIST}")
-          separate_arguments(_OMIT_DIR)
-          list(APPEND _RPM_DIRS_TO_OMIT ${_OMIT_DIR})
-        endforeach()
-      endif()
-    endforeach()
-  endif()
-
-  if(CPACK_RPM_PACKAGE_DEBUG)
-    message("CPackRPM:Debug: Initial list of path to OMIT in RPM: ${_RPM_DIRS_TO_OMIT}")
-  endif()
-
-  if(NOT DEFINED CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST)
-    set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include)
-    if(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION)
-      message("CPackRPM:Debug: Adding ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION} to builtin omit list.")
-      list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST "${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION}")
-    endif()
-  endif()
-
-  if(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST= ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST}")
-    endif()
-    list(APPEND _RPM_DIRS_TO_OMIT ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST})
-  endif()
-
-  if(CPACK_RPM_PACKAGE_DEBUG)
-    message("CPackRPM:Debug: Final list of path to OMIT in RPM: ${_RPM_DIRS_TO_OMIT}")
-  endif()
-
-  list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES ${_RPM_DIRS_TO_OMIT})
-
-  # add man paths that will be compressed
-  # (copied from /usr/lib/rpm/brp-compress - script that does the actual
-  # compressing)
-  list(APPEND MAN_LOCATIONS "/usr/man/man.*" "/usr/man/.*/man.*" "/usr/info.*"
-    "/usr/share/man/man.*" "/usr/share/man/.*/man.*" "/usr/share/info.*"
-    "/usr/kerberos/man.*" "/usr/X11R6/man/man.*" "/usr/lib/perl5/man/man.*"
-    "/usr/share/doc/.*/man/man.*" "/usr/lib/.*/man/man.*")
-
-  if(CPACK_RPM_ADDITIONAL_MAN_DIRS)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: CPACK_RPM_ADDITIONAL_MAN_DIRS= ${CPACK_RPM_ADDITIONAL_MAN_DIRS}")
-    endif()
-    list(APPEND MAN_LOCATIONS ${CPACK_RPM_ADDITIONAL_MAN_DIRS})
-  endif()
-
-  foreach(PACK_LOCATION IN LISTS CPACK_RPM_INSTALL_FILES)
-    foreach(MAN_LOCATION IN LISTS MAN_LOCATIONS)
-      # man pages are files inside a certain location
-      if(PACK_LOCATION MATCHES "${MAN_LOCATION}/"
-        AND NOT IS_DIRECTORY "${WDIR}${PACK_LOCATION}"
-        AND NOT IS_SYMLINK "${WDIR}${PACK_LOCATION}")
-        list(FIND CPACK_RPM_INSTALL_FILES "${PACK_LOCATION}" INDEX)
-        # insert file location that covers compressed man pages
-        # even if using a wildcard causes duplicates as those are
-        # handled by RPM and we still keep the same file list
-        # in spec file - wildcard only represents file type (e.g. .gz)
-        list(INSERT CPACK_RPM_INSTALL_FILES ${INDEX} "${PACK_LOCATION}*")
-        # remove file location that doesn't cover compressed man pages
-        math(EXPR INDEX ${INDEX}+1)
-        list(REMOVE_AT CPACK_RPM_INSTALL_FILES ${INDEX})
-
-        break()
-      endif()
-    endforeach()
-  endforeach()
-
-  set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}" PARENT_SCOPE)
-endfunction()
-
-function(cpack_rpm_symlink_get_relocation_prefixes LOCATION PACKAGE_PREFIXES RETURN_VARIABLE)
-  foreach(PKG_PREFIX IN LISTS PACKAGE_PREFIXES)
-    string(REGEX MATCH "^${PKG_PREFIX}/.*" FOUND_ "${LOCATION}")
-    if(FOUND_)
-      list(APPEND TMP_PREFIXES "${PKG_PREFIX}")
-    endif()
-  endforeach()
-
-  set(${RETURN_VARIABLE} "${TMP_PREFIXES}" PARENT_SCOPE)
-endfunction()
-
-function(cpack_rpm_symlink_create_relocation_script PACKAGE_PREFIXES)
-  list(LENGTH PACKAGE_PREFIXES LAST_INDEX)
-  set(SORTED_PACKAGE_PREFIXES "${PACKAGE_PREFIXES}")
-  list(SORT SORTED_PACKAGE_PREFIXES)
-  list(REVERSE SORTED_PACKAGE_PREFIXES)
-  math(EXPR LAST_INDEX ${LAST_INDEX}-1)
-
-  foreach(SYMLINK_INDEX RANGE ${LAST_INDEX})
-    list(GET SORTED_PACKAGE_PREFIXES ${SYMLINK_INDEX} SRC_PATH)
-    list(FIND PACKAGE_PREFIXES "${SRC_PATH}" SYMLINK_INDEX) # reverse magic
-    string(LENGTH "${SRC_PATH}" SRC_PATH_LEN)
-
-    set(PARTS_CNT 0)
-    set(SCRIPT_PART "if [ \"$RPM_INSTALL_PREFIX${SYMLINK_INDEX}\" != \"${SRC_PATH}\" ]; then\n")
-
-    # both paths relocated
-    foreach(POINT_INDEX RANGE ${LAST_INDEX})
-      list(GET SORTED_PACKAGE_PREFIXES ${POINT_INDEX} POINT_PATH)
-      list(FIND PACKAGE_PREFIXES "${POINT_PATH}" POINT_INDEX) # reverse magic
-      string(LENGTH "${POINT_PATH}" POINT_PATH_LEN)
-
-      if(_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX})
-        if("${SYMLINK_INDEX}" EQUAL "${POINT_INDEX}")
-          set(INDENT "")
-        else()
-          set(SCRIPT_PART "${SCRIPT_PART}  if [ \"$RPM_INSTALL_PREFIX${POINT_INDEX}\" != \"${POINT_PATH}\" ]; then\n")
-          set(INDENT "  ")
-        endif()
-
-        foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX})
-          math(EXPR PARTS_CNT ${PARTS_CNT}+1)
-
-          math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
-          list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
-          string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
-
-          math(EXPR SRC_PATH_END ${SPLIT_INDEX}-${SRC_PATH_LEN})
-          string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${SRC_PATH_LEN} ${SRC_PATH_END} SYMLINK_)
-
-          math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1+${POINT_PATH_LEN})
-          string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
-
-          set(SCRIPT_PART "${SCRIPT_PART}  ${INDENT}if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
-          set(SCRIPT_PART "${SCRIPT_PART}    ${INDENT}ln -s \"$RPM_INSTALL_PREFIX${POINT_INDEX}${POINT_}\" \"$RPM_INSTALL_PREFIX${SYMLINK_INDEX}${SYMLINK_}\"\n")
-          set(SCRIPT_PART "${SCRIPT_PART}    ${INDENT}CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}=true\n")
-          set(SCRIPT_PART "${SCRIPT_PART}  ${INDENT}fi\n")
-        endforeach()
-
-        if(NOT "${SYMLINK_INDEX}" EQUAL "${POINT_INDEX}")
-          set(SCRIPT_PART "${SCRIPT_PART}  fi\n")
-        endif()
-      endif()
-    endforeach()
-
-    # source path relocated
-    if(_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X)
-      foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X)
-        math(EXPR PARTS_CNT ${PARTS_CNT}+1)
-
-        math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
-        list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
-        string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
-
-        math(EXPR SRC_PATH_END ${SPLIT_INDEX}-${SRC_PATH_LEN})
-        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${SRC_PATH_LEN} ${SRC_PATH_END} SYMLINK_)
-
-        math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1)
-        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
-
-        set(SCRIPT_PART "${SCRIPT_PART}  if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
-        set(SCRIPT_PART "${SCRIPT_PART}    ln -s \"${POINT_}\" \"$RPM_INSTALL_PREFIX${SYMLINK_INDEX}${SYMLINK_}\"\n")
-        set(SCRIPT_PART "${SCRIPT_PART}    CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}=true\n")
-        set(SCRIPT_PART "${SCRIPT_PART}  fi\n")
-      endforeach()
-    endif()
-
-    if(PARTS_CNT)
-      set(SCRIPT "${SCRIPT_PART}")
-      set(SCRIPT "${SCRIPT}fi\n")
-    endif()
-  endforeach()
-
-  # point path relocated
-  foreach(POINT_INDEX RANGE ${LAST_INDEX})
-    list(GET SORTED_PACKAGE_PREFIXES ${POINT_INDEX} POINT_PATH)
-    list(FIND PACKAGE_PREFIXES "${POINT_PATH}" POINT_INDEX) # reverse magic
-    string(LENGTH "${POINT_PATH}" POINT_PATH_LEN)
-
-    if(_RPM_RELOCATION_SCRIPT_X_${POINT_INDEX})
-      set(SCRIPT "${SCRIPT}if [ \"$RPM_INSTALL_PREFIX${POINT_INDEX}\" != \"${POINT_PATH}\" ]; then\n")
-
-      foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_X_${POINT_INDEX})
-        math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
-        list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
-        string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
-
-        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} 0 ${SPLIT_INDEX} SYMLINK_)
-
-        math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1+${POINT_PATH_LEN})
-        string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
-
-        set(SCRIPT "${SCRIPT}  if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
-        set(SCRIPT "${SCRIPT}    ln -s \"$RPM_INSTALL_PREFIX${POINT_INDEX}${POINT_}\" \"${SYMLINK_}\"\n")
-        set(SCRIPT "${SCRIPT}    CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}=true\n")
-        set(SCRIPT "${SCRIPT}  fi\n")
-      endforeach()
-
-      set(SCRIPT "${SCRIPT}fi\n")
-    endif()
-  endforeach()
-
-  # no path relocated
-  if(_RPM_RELOCATION_SCRIPT_X_X)
-    foreach(RELOCATION_NO IN LISTS _RPM_RELOCATION_SCRIPT_X_X)
-      math(EXPR RELOCATION_INDEX ${RELOCATION_NO}-1)
-      list(GET _RPM_RELOCATION_SCRIPT_PAIRS ${RELOCATION_INDEX} RELOCATION_SCRIPT_PAIR)
-      string(FIND "${RELOCATION_SCRIPT_PAIR}" ":" SPLIT_INDEX)
-
-      string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} 0 ${SPLIT_INDEX} SYMLINK_)
-
-      math(EXPR POINT_PATH_START ${SPLIT_INDEX}+1)
-      string(SUBSTRING ${RELOCATION_SCRIPT_PAIR} ${POINT_PATH_START} -1 POINT_)
-
-      set(SCRIPT "${SCRIPT}if [ -z \"$CPACK_RPM_RELOCATED_SYMLINK_${RELOCATION_INDEX}\" ]; then\n")
-      set(SCRIPT "${SCRIPT}  ln -s \"${POINT_}\" \"${SYMLINK_}\"\n")
-      set(SCRIPT "${SCRIPT}fi\n")
-    endforeach()
-  endif()
-
-  set(RPM_SYMLINK_POSTINSTALL "${SCRIPT}" PARENT_SCOPE)
-endfunction()
-
-function(cpack_rpm_symlink_add_for_relocation_script PACKAGE_PREFIXES SYMLINK SYMLINK_RELOCATION_PATHS POINT POINT_RELOCATION_PATHS)
-  list(LENGTH SYMLINK_RELOCATION_PATHS SYMLINK_PATHS_COUTN)
-  list(LENGTH POINT_RELOCATION_PATHS POINT_PATHS_COUNT)
-
-  list(APPEND _RPM_RELOCATION_SCRIPT_PAIRS "${SYMLINK}:${POINT}")
-  list(LENGTH _RPM_RELOCATION_SCRIPT_PAIRS PAIR_NO)
-
-  if(SYMLINK_PATHS_COUTN)
-    foreach(SYMLINK_RELOC_PATH IN LISTS SYMLINK_RELOCATION_PATHS)
-      list(FIND PACKAGE_PREFIXES "${SYMLINK_RELOC_PATH}" SYMLINK_INDEX)
-
-      # source path relocated
-      list(APPEND _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X "${PAIR_NO}")
-      list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_X")
-
-      foreach(POINT_RELOC_PATH IN LISTS POINT_RELOCATION_PATHS)
-        list(FIND PACKAGE_PREFIXES "${POINT_RELOC_PATH}" POINT_INDEX)
-
-        # both paths relocated
-        list(APPEND _RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX} "${PAIR_NO}")
-        list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_${SYMLINK_INDEX}_${POINT_INDEX}")
-
-        # point path relocated
-        list(APPEND _RPM_RELOCATION_SCRIPT_X_${POINT_INDEX} "${PAIR_NO}")
-        list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_X_${POINT_INDEX}")
-      endforeach()
-    endforeach()
-  elseif(POINT_PATHS_COUNT)
-    foreach(POINT_RELOC_PATH IN LISTS POINT_RELOCATION_PATHS)
-      list(FIND PACKAGE_PREFIXES "${POINT_RELOC_PATH}" POINT_INDEX)
-
-      # point path relocated
-      list(APPEND _RPM_RELOCATION_SCRIPT_X_${POINT_INDEX} "${PAIR_NO}")
-      list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_X_${POINT_INDEX}")
-    endforeach()
-  endif()
-
-  # no path relocated
-  list(APPEND _RPM_RELOCATION_SCRIPT_X_X "${PAIR_NO}")
-  list(APPEND RELOCATION_VARS "_RPM_RELOCATION_SCRIPT_X_X")
-
-  # place variables into parent scope
-  foreach(VAR IN LISTS RELOCATION_VARS)
-    set(${VAR} "${${VAR}}" PARENT_SCOPE)
-  endforeach()
-  set(_RPM_RELOCATION_SCRIPT_PAIRS "${_RPM_RELOCATION_SCRIPT_PAIRS}" PARENT_SCOPE)
-  set(REQUIRES_SYMLINK_RELOCATION_SCRIPT "true" PARENT_SCOPE)
-  set(DIRECTIVE "%ghost " PARENT_SCOPE)
-endfunction()
-
-function(cpack_rpm_prepare_install_files INSTALL_FILES_LIST WDIR PACKAGE_PREFIXES IS_RELOCATABLE)
-  # Prepend directories in ${CPACK_RPM_INSTALL_FILES} with %dir
-  # This is necessary to avoid duplicate files since rpmbuild does
-  # recursion on its own when encountering a pathname which is a directory
-  # which is not flagged as %dir
-  string(STRIP "${INSTALL_FILES_LIST}" INSTALL_FILES_LIST)
-  string(REPLACE "\n" ";" INSTALL_FILES_LIST
-                          "${INSTALL_FILES_LIST}")
-  string(REPLACE "\"" "" INSTALL_FILES_LIST
-                          "${INSTALL_FILES_LIST}")
-  string(LENGTH "${WDIR}" WDR_LEN_)
-
-  list(SORT INSTALL_FILES_LIST) # make file order consistent on all platforms
-
-  foreach(F IN LISTS INSTALL_FILES_LIST)
-    unset(DIRECTIVE)
-
-    if(IS_SYMLINK "${WDIR}/${F}")
-      if(IS_RELOCATABLE)
-        # check that symlink has relocatable format
-        get_filename_component(SYMLINK_LOCATION_ "${WDIR}/${F}" DIRECTORY)
-        execute_process(COMMAND ls -la "${WDIR}/${F}"
-                  WORKING_DIRECTORY "${WDIR}"
-                  OUTPUT_VARIABLE SYMLINK_POINT_
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-        string(FIND "${SYMLINK_POINT_}" "->" SYMLINK_POINT_INDEX_ REVERSE)
-        math(EXPR SYMLINK_POINT_INDEX_ ${SYMLINK_POINT_INDEX_}+3)
-        string(LENGTH "${SYMLINK_POINT_}" SYMLINK_POINT_LENGTH_)
-
-        # get destination path
-        string(SUBSTRING "${SYMLINK_POINT_}" ${SYMLINK_POINT_INDEX_} ${SYMLINK_POINT_LENGTH_} SYMLINK_POINT_)
-
-        # check if path is relative or absolute
-        string(SUBSTRING "${SYMLINK_POINT_}" 0 1 SYMLINK_IS_ABSOLUTE_)
-
-        if(${SYMLINK_IS_ABSOLUTE_} STREQUAL "/")
-          # prevent absolute paths from having /../ or /./ section inside of them
-          get_filename_component(SYMLINK_POINT_ "${SYMLINK_POINT_}" ABSOLUTE)
-        else()
-          # handle relative path
-          get_filename_component(SYMLINK_POINT_ "${SYMLINK_LOCATION_}/${SYMLINK_POINT_}" ABSOLUTE)
-        endif()
-
-        # recalculate path length after conversion to canonical form
-        string(LENGTH "${SYMLINK_POINT_}" SYMLINK_POINT_LENGTH_)
-
-        if(SYMLINK_POINT_ MATCHES "${WDIR}/.*")
-          # only symlinks that are pointing inside the packaging structure should be checked for relocation
-          string(SUBSTRING "${SYMLINK_POINT_}" ${WDR_LEN_} -1 SYMLINK_POINT_WD_)
-          cpack_rpm_symlink_get_relocation_prefixes("${F}" "${PACKAGE_PREFIXES}" "SYMLINK_RELOCATIONS")
-          cpack_rpm_symlink_get_relocation_prefixes("${SYMLINK_POINT_WD_}" "${PACKAGE_PREFIXES}" "POINT_RELOCATIONS")
-
-          list(LENGTH SYMLINK_RELOCATIONS SYMLINK_RELOCATIONS_COUNT)
-          list(LENGTH POINT_RELOCATIONS POINT_RELOCATIONS_COUNT)
-        else()
-          # location pointed to is ouside WDR so it should be treated as a permanent symlink
-          set(SYMLINK_POINT_WD_ "${SYMLINK_POINT_}")
-
-          unset(SYMLINK_RELOCATIONS)
-          unset(POINT_RELOCATIONS)
-          unset(SYMLINK_RELOCATIONS_COUNT)
-          unset(POINT_RELOCATIONS_COUNT)
-
-          message(AUTHOR_WARNING "CPackRPM:Warning: Symbolic link '${F}' points to location that is outside packaging path! Link will possibly not be relocatable.")
-        endif()
-
-        if(SYMLINK_RELOCATIONS_COUNT AND POINT_RELOCATIONS_COUNT)
-          # find matching
-          foreach(SYMLINK_RELOCATION_PREFIX IN LISTS SYMLINK_RELOCATIONS)
-            list(FIND POINT_RELOCATIONS "${SYMLINK_RELOCATION_PREFIX}" FOUND_INDEX)
-            if(NOT ${FOUND_INDEX} EQUAL -1)
-              break()
-            endif()
-          endforeach()
-
-          if(NOT ${FOUND_INDEX} EQUAL -1)
-            # symlinks have the same subpath
-            if(${SYMLINK_RELOCATIONS_COUNT} EQUAL 1 AND ${POINT_RELOCATIONS_COUNT} EQUAL 1)
-              # permanent symlink
-              get_filename_component(SYMLINK_LOCATION_ "${F}" DIRECTORY)
-              file(RELATIVE_PATH FINAL_PATH_ ${SYMLINK_LOCATION_} ${SYMLINK_POINT_WD_})
-              execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${FINAL_PATH_}" "${WDIR}/${F}")
-            else()
-              # relocation subpaths
-              cpack_rpm_symlink_add_for_relocation_script("${PACKAGE_PREFIXES}" "${F}" "${SYMLINK_RELOCATIONS}"
-                  "${SYMLINK_POINT_WD_}" "${POINT_RELOCATIONS}")
-            endif()
-          else()
-            # not on the same relocation path
-            cpack_rpm_symlink_add_for_relocation_script("${PACKAGE_PREFIXES}" "${F}" "${SYMLINK_RELOCATIONS}"
-                "${SYMLINK_POINT_WD_}" "${POINT_RELOCATIONS}")
-          endif()
-        elseif(POINT_RELOCATIONS_COUNT)
-          # point is relocatable
-          cpack_rpm_symlink_add_for_relocation_script("${PACKAGE_PREFIXES}" "${F}" "${SYMLINK_RELOCATIONS}"
-              "${SYMLINK_POINT_WD_}" "${POINT_RELOCATIONS}")
-        else()
-          # is not relocatable or points to non relocatable path - permanent symlink
-          execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${SYMLINK_POINT_WD_}" "${WDIR}/${F}")
-        endif()
-      endif()
-    elseif(IS_DIRECTORY "${WDIR}/${F}")
-      set(DIRECTIVE "%dir ")
-    endif()
-
-    set(INSTALL_FILES "${INSTALL_FILES}${DIRECTIVE}\"${F}\"\n")
-  endforeach()
-
-  if(REQUIRES_SYMLINK_RELOCATION_SCRIPT)
-    cpack_rpm_symlink_create_relocation_script("${PACKAGE_PREFIXES}")
-  endif()
-
-  set(RPM_SYMLINK_POSTINSTALL "${RPM_SYMLINK_POSTINSTALL}" PARENT_SCOPE)
-  set(CPACK_RPM_INSTALL_FILES "${INSTALL_FILES}" PARENT_SCOPE)
-endfunction()
-
-if(CMAKE_BINARY_DIR)
-  message(FATAL_ERROR "CPackRPM.cmake may only be used by CPack internally.")
-endif()
-
-if(NOT UNIX)
-  message(FATAL_ERROR "CPackRPM.cmake may only be used under UNIX.")
-endif()
-
-function(cpack_rpm_variable_fallback OUTPUT_VAR_NAME)
-  set(FALLBACK_VAR_NAMES ${ARGN})
-
-  foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
-    if(${variable_name})
-      set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
-      break()
-    endif()
-  endforeach()
-endfunction()
-
-function(cpack_rpm_generate_package)
-  # rpmbuild is the basic command for building RPM package
-  # it may be a simple (symbolic) link to rpm command.
-  find_program(RPMBUILD_EXECUTABLE rpmbuild)
-
-  # Check version of the rpmbuild tool this would be easier to
-  # track bugs with users and CPackRPM debug mode.
-  # We may use RPM version in order to check for available version dependent features
-  if(RPMBUILD_EXECUTABLE)
-    execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --version
-                    OUTPUT_VARIABLE _TMP_VERSION
-                    ERROR_QUIET
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-    string(REGEX REPLACE "^.* " ""
-           RPMBUILD_EXECUTABLE_VERSION
-           ${_TMP_VERSION})
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: rpmbuild version is <${RPMBUILD_EXECUTABLE_VERSION}>")
-    endif()
-  endif()
-
-  if(NOT RPMBUILD_EXECUTABLE)
-    message(FATAL_ERROR "RPM package requires rpmbuild executable")
-  endif()
-
-  # Display lsb_release output if DEBUG mode enable
-  # This will help to diagnose problem with CPackRPM
-  # because we will know on which kind of Linux we are
-  if(CPACK_RPM_PACKAGE_DEBUG)
-    find_program(LSB_RELEASE_EXECUTABLE lsb_release)
-    if(LSB_RELEASE_EXECUTABLE)
-      execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -a
-                      OUTPUT_VARIABLE _TMP_LSB_RELEASE_OUTPUT
-                      ERROR_QUIET
-                      OUTPUT_STRIP_TRAILING_WHITESPACE)
-      string(REGEX REPLACE "\n" ", "
-             LSB_RELEASE_OUTPUT
-             ${_TMP_LSB_RELEASE_OUTPUT})
-    else ()
-      set(LSB_RELEASE_OUTPUT "lsb_release not installed/found!")
-    endif()
-    message("CPackRPM:Debug: LSB_RELEASE  = ${LSB_RELEASE_OUTPUT}")
-  endif()
-
-  # We may use RPM version in the future in order
-  # to shut down warning about space in buildtree
-  # some recent RPM version should support space in different places.
-  # not checked [yet].
-  if(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
-    message(FATAL_ERROR "${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs.")
-  endif()
-
-  # If rpmbuild is found
-  # we try to discover alien since we may be on non RPM distro like Debian.
-  # In this case we may try to to use more advanced features
-  # like generating RPM directly from DEB using alien.
-  # FIXME feature not finished (yet)
-  find_program(ALIEN_EXECUTABLE alien)
-  if(ALIEN_EXECUTABLE)
-    message(STATUS "alien found, we may be on a Debian based distro.")
-  endif()
-
-  # Are we packaging components ?
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    string(TOUPPER ${CPACK_RPM_PACKAGE_COMPONENT} CPACK_RPM_PACKAGE_COMPONENT_UPPER)
-  endif()
-
-  set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}")
-
-  #
-  # Use user-defined RPM specific variables value
-  # or generate reasonable default value from
-  # CPACK_xxx generic values.
-  # The variables comes from the needed (mandatory or not)
-  # values found in the RPM specification file aka ".spec" file.
-  # The variables which may/should be defined are:
-  #
-
-  # CPACK_RPM_PACKAGE_SUMMARY (mandatory)
-
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_SUMMARY"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_SUMMARY"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_SUMMARY")
-  endif()
-
-  if(NOT CPACK_RPM_PACKAGE_SUMMARY)
-    if(CPACK_PACKAGE_DESCRIPTION_SUMMARY)
-      set(CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
-    else()
-      # if neither var is defined lets use the name as summary
-      string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_SUMMARY)
-    endif()
-  endif()
-
-  # CPACK_RPM_PACKAGE_NAME (mandatory)
-  if(NOT CPACK_RPM_PACKAGE_NAME)
-    string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_NAME)
-  endif()
-
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    set(CPACK_RPM_PACKAGE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_COMPONENT}")
-    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_NAME"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_NAME"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_NAME")
-  endif()
-
-  # CPACK_RPM_PACKAGE_VERSION (mandatory)
-  if(NOT CPACK_RPM_PACKAGE_VERSION)
-    if(NOT CPACK_PACKAGE_VERSION)
-      message(FATAL_ERROR "RPM package requires a package version")
-    endif()
-    set(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
-  endif()
-  # Replace '-' in version with '_'
-  # '-' character is  an Illegal RPM version character
-  # it is illegal because it is used to separate
-  # RPM "Version" from RPM "Release"
-  string(REPLACE "-" "_" CPACK_RPM_PACKAGE_VERSION ${CPACK_RPM_PACKAGE_VERSION})
-
-  # CPACK_RPM_PACKAGE_ARCHITECTURE (mandatory)
-  if(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
-    execute_process(COMMAND uname "-m"
-                    OUTPUT_VARIABLE CPACK_RPM_PACKAGE_ARCHITECTURE
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-  else()
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: using user-specified build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
-    endif()
-  endif()
-
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_ARCHITECTURE"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_ARCHITECTURE"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_ARCHITECTURE")
-
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: using component build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
-    endif()
-  endif()
-
-  if(${CPACK_RPM_PACKAGE_ARCHITECTURE} STREQUAL "noarch")
-    set(TMP_RPM_BUILDARCH "Buildarch: ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
-  else()
-    set(TMP_RPM_BUILDARCH "")
-  endif()
-
-  # CPACK_RPM_PACKAGE_RELEASE
-  # The RPM release is the numbering of the RPM package ITSELF
-  # this is the version of the PACKAGING and NOT the version
-  # of the CONTENT of the package.
-  # You may well need to generate a new RPM package release
-  # without changing the version of the packaged software.
-  # This is the case when the packaging is buggy (not) the software :=)
-  # If not set, 1 is a good candidate
-  if(NOT CPACK_RPM_PACKAGE_RELEASE)
-    set(CPACK_RPM_PACKAGE_RELEASE "1")
-  endif()
-
-  if(CPACK_RPM_PACKAGE_RELEASE_DIST)
-    set(CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}%{?dist}")
-  endif()
-
-  # CPACK_RPM_PACKAGE_LICENSE
-  if(NOT CPACK_RPM_PACKAGE_LICENSE)
-    set(CPACK_RPM_PACKAGE_LICENSE "unknown")
-  endif()
-
-  # CPACK_RPM_PACKAGE_GROUP
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_GROUP"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_GROUP"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_GROUP")
-  endif()
-
-  if(NOT CPACK_RPM_PACKAGE_GROUP)
-    set(CPACK_RPM_PACKAGE_GROUP "unknown")
-  endif()
-
-  # CPACK_RPM_PACKAGE_VENDOR
-  if(NOT CPACK_RPM_PACKAGE_VENDOR)
-    if(CPACK_PACKAGE_VENDOR)
-      set(CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}")
-    else()
-      set(CPACK_RPM_PACKAGE_VENDOR "unknown")
-    endif()
-  endif()
-
-  # CPACK_RPM_PACKAGE_SOURCE
-  # The name of the source tarball in case we generate a source RPM
-
-  # CPACK_RPM_PACKAGE_DESCRIPTION
-  # The variable content may be either
-  #   - explicitly given by the user or
-  #   - filled with the content of CPACK_PACKAGE_DESCRIPTION_FILE
-  #     if it is defined
-  #   - set to a default value
-  #
-
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_DESCRIPTION"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_DESCRIPTION"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_DESCRIPTION"
-      "CPACK_COMPONENT_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DESCRIPTION")
-  endif()
-
-  if(NOT CPACK_RPM_PACKAGE_DESCRIPTION)
-    if(CPACK_PACKAGE_DESCRIPTION_FILE)
-      file(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_RPM_PACKAGE_DESCRIPTION)
-    else ()
-      set(CPACK_RPM_PACKAGE_DESCRIPTION "no package description available")
-    endif ()
-  endif ()
-
-  # CPACK_RPM_COMPRESSION_TYPE
-  #
-  if (CPACK_RPM_COMPRESSION_TYPE)
-     if(CPACK_RPM_PACKAGE_DEBUG)
-       message("CPackRPM:Debug: User Specified RPM compression type: ${CPACK_RPM_COMPRESSION_TYPE}")
-     endif()
-     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "lzma")
-       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.lzdio")
-     endif()
-     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "xz")
-       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w7.xzdio")
-     endif()
-     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "bzip2")
-       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.bzdio")
-     endif()
-     if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "gzip")
-       set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.gzdio")
-     endif()
-  else()
-     set(CPACK_RPM_COMPRESSION_TYPE_TMP "")
-  endif()
-
-  if(CPACK_PACKAGE_RELOCATABLE OR CPACK_RPM_PACKAGE_RELOCATABLE)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: Trying to build a relocatable package")
-    endif()
-    if(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
-      message("CPackRPM:Warning: CPACK_SET_DESTDIR is set (=${CPACK_SET_DESTDIR}) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.")
-      set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE)
-    else()
-      set(CPACK_RPM_PACKAGE_PREFIX ${CPACK_PACKAGING_INSTALL_PREFIX}) # kept for back compatibility (provided external RPM spec files)
-      cpack_rpm_prepare_relocation_paths()
-      set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE)
-    endif()
-  endif()
-
-  # Check if additional fields for RPM spec header are given
-  # There may be some COMPONENT specific variables as well
-  # If component specific var is not provided we use the global one
-  # for each component
-  foreach(_RPM_SPEC_HEADER URL REQUIRES SUGGESTS PROVIDES OBSOLETES PREFIX CONFLICTS AUTOPROV AUTOREQ AUTOREQPROV REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: processing ${_RPM_SPEC_HEADER}")
-    endif()
-    if(CPACK_RPM_PACKAGE_COMPONENT)
-      cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}"
-        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER}"
-        "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_PACKAGE_${_RPM_SPEC_HEADER}")
-    endif()
-
-    if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER})
-      if(CPACK_RPM_PACKAGE_DEBUG)
-        message("CPackRPM:Debug: using CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}")
-      endif()
-      set(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}})
-    endif()
-
-    # Treat the RPM Spec keyword iff it has been properly defined
-    if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
-      # Transform NAME --> Name e.g. PROVIDES --> Provides
-      # The Upper-case first letter and lowercase tail is the
-      # appropriate value required in the final RPM spec file.
-      string(SUBSTRING ${_RPM_SPEC_HEADER} 1 -1 _PACKAGE_HEADER_TAIL)
-      string(TOLOWER "${_PACKAGE_HEADER_TAIL}" _PACKAGE_HEADER_TAIL)
-      string(SUBSTRING ${_RPM_SPEC_HEADER} 0 1 _PACKAGE_HEADER_NAME)
-      set(_PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME}${_PACKAGE_HEADER_TAIL}")
-      # The following keywords require parentheses around the "pre" or "post" suffix in the final RPM spec file.
-      set(SCRIPTS_REQUIREMENTS_LIST REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN)
-      list(FIND SCRIPTS_REQUIREMENTS_LIST ${_RPM_SPEC_HEADER} IS_SCRIPTS_REQUIREMENT_FOUND)
-      if(NOT ${IS_SCRIPTS_REQUIREMENT_FOUND} EQUAL -1)
-        string(REPLACE "_" "(" _PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME}")
-        set(_PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME})")
-      endif()
-      if(CPACK_RPM_PACKAGE_DEBUG)
-        message("CPackRPM:Debug: User defined ${_PACKAGE_HEADER_NAME}:\n ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
-      endif()
-      set(TMP_RPM_${_RPM_SPEC_HEADER} "${_PACKAGE_HEADER_NAME}: ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
-      unset(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
-    endif()
-  endforeach()
-
-  # CPACK_RPM_SPEC_INSTALL_POST
-  # May be used to define a RPM post intallation script
-  # for example setting it to "/bin/true" may prevent
-  # rpmbuild from stripping binaries.
-  if(CPACK_RPM_SPEC_INSTALL_POST)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: User defined CPACK_RPM_SPEC_INSTALL_POST = ${CPACK_RPM_SPEC_INSTALL_POST}")
-    endif()
-    set(TMP_RPM_SPEC_INSTALL_POST "%define __spec_install_post ${CPACK_RPM_SPEC_INSTALL_POST}")
-  endif()
-
-  # CPACK_RPM_POST_INSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE)
-  # CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE)
-  # May be used to embed a post (un)installation script in the spec file.
-  # The refered script file(s) will be read and directly
-  # put after the %post or %postun section
-  # ----------------------------------------------------------------
-  # CPACK_RPM_PRE_INSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE)
-  # CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE)
-  # May be used to embed a pre (un)installation script in the spec file.
-  # The refered script file(s) will be read and directly
-  # put after the %pre or %preun section
-  foreach(RPM_SCRIPT_FILE_TYPE_ "INSTALL" "UNINSTALL")
-    foreach(RPM_SCRIPT_FILE_TIME_ "PRE" "POST")
-      set("CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE"
-        "${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE}")
-
-      if(CPACK_RPM_PACKAGE_COMPONENT)
-        cpack_rpm_variable_fallback("CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE"
-          "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE"
-          "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE")
-      endif()
-
-      # Handle file if it has been specified
-      if(CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE)
-        if(EXISTS ${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE})
-          file(READ ${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE}
-            "CPACK_RPM_SPEC_${RPM_SCRIPT_FILE_TIME_}${RPM_SCRIPT_FILE_TYPE_}")
-        else()
-          message("CPackRPM:Warning: CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_SCRIPT_FILE <${CPACK_RPM_${RPM_SCRIPT_FILE_TIME_}_${RPM_SCRIPT_FILE_TYPE_}_READ_FILE}> does not exists - ignoring")
-        endif()
-      else()
-        # reset SPEC var value if no file has been specified
-        # (either globally or component-wise)
-        set("CPACK_RPM_SPEC_${RPM_SCRIPT_FILE_TIME_}${RPM_SCRIPT_FILE_TYPE_}" "")
-      endif()
-    endforeach()
-  endforeach()
-
-  # CPACK_RPM_CHANGELOG_FILE
-  # May be used to embed a changelog in the spec file.
-  # The refered file will be read and directly put after the %changelog section
-  if(CPACK_RPM_CHANGELOG_FILE)
-    if(EXISTS ${CPACK_RPM_CHANGELOG_FILE})
-      file(READ ${CPACK_RPM_CHANGELOG_FILE} CPACK_RPM_SPEC_CHANGELOG)
-    else()
-      message(SEND_ERROR "CPackRPM:Warning: CPACK_RPM_CHANGELOG_FILE <${CPACK_RPM_CHANGELOG_FILE}> does not exists - ignoring")
-    endif()
-  else()
-    set(CPACK_RPM_SPEC_CHANGELOG "* Sun Jul 4 2010 Eric Noulard <eric.noulard@gmail.com> - ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}\n  Generated by CPack RPM (no Changelog file were provided)")
-  endif()
-
-  # CPACK_RPM_SPEC_MORE_DEFINE
-  # This is a generated spec rpm file spaceholder
-  if(CPACK_RPM_SPEC_MORE_DEFINE)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: User defined more define spec line specified:\n ${CPACK_RPM_SPEC_MORE_DEFINE}")
-    endif()
-  endif()
-
-  # Now we may create the RPM build tree structure
-  set(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
-  message(STATUS "CPackRPM:Debug: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
-  # Prepare RPM build tree
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR})
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/tmp)
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/BUILD)
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/RPMS)
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SOURCES)
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SPECS)
-  file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SRPMS)
-
-  # it seems rpmbuild can't handle spaces in the path
-  # neither escaping (as below) nor putting quotes around the path seem to help
-  #string(REGEX REPLACE " " "\\\\ " CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
-  set(CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
-
-  cpack_rpm_prepare_content_list()
-
-  # In component case, put CPACK_ABSOLUTE_DESTINATION_FILES_<COMPONENT>
-  #                   into CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
-  #         otherwise, put CPACK_ABSOLUTE_DESTINATION_FILES
-  # This must be done BEFORE the CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL handling
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    if(CPACK_ABSOLUTE_DESTINATION_FILES)
-      cpack_rpm_variable_fallback("COMPONENT_FILES_TAG"
-        "CPACK_ABSOLUTE_DESTINATION_FILES_${CPACK_RPM_PACKAGE_COMPONENT}"
-        "CPACK_ABSOLUTE_DESTINATION_FILES_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}")
-      set(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL "${${COMPONENT_FILES_TAG}}")
-      if(CPACK_RPM_PACKAGE_DEBUG)
-        message("CPackRPM:Debug: Handling Absolute Destination Files: <${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL}>")
-        message("CPackRPM:Debug: in component = ${CPACK_RPM_PACKAGE_COMPONENT}")
-      endif()
-    endif()
-  else()
-    if(CPACK_ABSOLUTE_DESTINATION_FILES)
-      set(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL "${CPACK_ABSOLUTE_DESTINATION_FILES}")
-    endif()
-  endif()
-
-  # In component case, set CPACK_RPM_USER_FILELIST_INTERNAL with CPACK_RPM_<COMPONENT>_USER_FILELIST.
-  set(CPACK_RPM_USER_FILELIST_INTERNAL "")
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    cpack_rpm_variable_fallback("CPACK_RPM_USER_FILELIST_INTERNAL"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_USER_FILELIST"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_USER_FILELIST")
-
-    if(CPACK_RPM_PACKAGE_DEBUG AND CPACK_RPM_USER_FILELIST_INTERNAL)
-      message("CPackRPM:Debug: Handling User Filelist: <${CPACK_RPM_USER_FILELIST_INTERNAL}>")
-      message("CPackRPM:Debug: in component = ${CPACK_RPM_PACKAGE_COMPONENT}")
-    endif()
-  elseif(CPACK_RPM_USER_FILELIST)
-    set(CPACK_RPM_USER_FILELIST_INTERNAL "${CPACK_RPM_USER_FILELIST}")
-  endif()
-
-  # Handle user specified file line list in CPACK_RPM_USER_FILELIST_INTERNAL
-  # Remove those files from CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
-  #                      or CPACK_RPM_INSTALL_FILES,
-  # hence it must be done before these auto-generated lists are processed.
-  if(CPACK_RPM_USER_FILELIST_INTERNAL)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: Handling User Filelist: <${CPACK_RPM_USER_FILELIST_INTERNAL}>")
-    endif()
-
-    # Create CMake list from CPACK_RPM_INSTALL_FILES
-    string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
-    string(REPLACE "\n" ";" CPACK_RPM_INSTALL_FILES_LIST
-                            "${CPACK_RPM_INSTALL_FILES_LIST}")
-    string(REPLACE "\"" "" CPACK_RPM_INSTALL_FILES_LIST
-                            "${CPACK_RPM_INSTALL_FILES_LIST}")
-
-    set(CPACK_RPM_USER_INSTALL_FILES "")
-    foreach(F IN LISTS CPACK_RPM_USER_FILELIST_INTERNAL)
-      string(REGEX REPLACE "%[A-Za-z0-9\(\),-]* " "" F_PATH ${F})
-      string(REGEX MATCH "%[A-Za-z0-9\(\),-]*" F_PREFIX ${F})
-
-      if(CPACK_RPM_PACKAGE_DEBUG)
-        message("CPackRPM:Debug: F_PREFIX=<${F_PREFIX}>, F_PATH=<${F_PATH}>")
-      endif()
-      if(F_PREFIX)
-        set(F_PREFIX "${F_PREFIX} ")
-      endif()
-      # Rebuild the user list file
-      set(CPACK_RPM_USER_INSTALL_FILES "${CPACK_RPM_USER_INSTALL_FILES}${F_PREFIX}\"${F_PATH}\"\n")
-
-      # Remove from CPACK_RPM_INSTALL_FILES and CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
-      list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${F_PATH})
-      # ABSOLUTE destination files list may not exists at all
-      if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
-        list(REMOVE_ITEM CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL ${F_PATH})
-      endif()
-    endforeach()
-
-    # Rebuild CPACK_RPM_INSTALL_FILES
-    set(CPACK_RPM_INSTALL_FILES "")
-    foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
-      set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}\"${F}\"\n")
-    endforeach()
-  else()
-    set(CPACK_RPM_USER_INSTALL_FILES "")
-  endif()
-
-  if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: Handling Absolute Destination Files: ${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL}")
-    endif()
-    # Remove trailing space
-    string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
-    # Transform endline separated - string into CMake List
-    string(REPLACE "\n" ";" CPACK_RPM_INSTALL_FILES_LIST "${CPACK_RPM_INSTALL_FILES_LIST}")
-    # Remove unecessary quotes
-    string(REPLACE "\"" "" CPACK_RPM_INSTALL_FILES_LIST "${CPACK_RPM_INSTALL_FILES_LIST}")
-    # Remove ABSOLUTE install file from INSTALL FILE LIST
-    list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL})
-    # Rebuild INSTALL_FILES
-    set(CPACK_RPM_INSTALL_FILES "")
-    foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
-      set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}\"${F}\"\n")
-    endforeach()
-    # Build ABSOLUTE_INSTALL_FILES
-    set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
-    foreach(F IN LISTS CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
-      set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "${CPACK_RPM_ABSOLUTE_INSTALL_FILES}%config \"${F}\"\n")
-    endforeach()
-    if(CPACK_RPM_PACKAGE_DEBUG)
-      message("CPackRPM:Debug: CPACK_RPM_ABSOLUTE_INSTALL_FILES=${CPACK_RPM_ABSOLUTE_INSTALL_FILES}")
-      message("CPackRPM:Debug: CPACK_RPM_INSTALL_FILES=${CPACK_RPM_INSTALL_FILES}")
-    endif()
-  else()
-    # reset vars in order to avoid leakage of value(s) from one component to another
-    set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
-  endif()
-
-  # Prepare install files
-  cpack_rpm_prepare_install_files(
-      "${CPACK_RPM_INSTALL_FILES}"
-      "${WDIR}"
-      "${RPM_USED_PACKAGE_PREFIXES}"
-      "${CPACK_RPM_PACKAGE_RELOCATABLE}"
-    )
-
-  # set default user and group
-  foreach(_PERM_TYPE "USER" "GROUP")
-    if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE})
-      set(TMP_DEFAULT_${_PERM_TYPE} "${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}}")
-    elseif(CPACK_RPM_DEFAULT_${_PERM_TYPE})
-      set(TMP_DEFAULT_${_PERM_TYPE} "${CPACK_RPM_DEFAULT_${_PERM_TYPE}}")
-    else()
-      set(TMP_DEFAULT_${_PERM_TYPE} "root")
-    endif()
-  endforeach()
-
-  # set default file and dir permissions
-  foreach(_PERM_TYPE "FILE" "DIR")
-    if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}_PERMISSIONS)
-      get_unix_permissions_octal_notation("CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}_PERMISSIONS" "TMP_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
-      set(_PERMISSIONS_VAR "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
-    elseif(CPACK_RPM_DEFAULT_${_PERM_TYPE}_PERMISSIONS)
-      get_unix_permissions_octal_notation("CPACK_RPM_DEFAULT_${_PERM_TYPE}_PERMISSIONS" "TMP_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
-      set(_PERMISSIONS_VAR "CPACK_RPM_DEFAULT_${_PERM_TYPE}_PERMISSIONS")
-    else()
-      set(TMP_DEFAULT_${_PERM_TYPE}_PERMISSIONS "-")
-    endif()
-  endforeach()
-
-  # The name of the final spec file to be used by rpmbuild
-  set(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}.spec")
-
-  # Print out some debug information if we were asked for that
-  if(CPACK_RPM_PACKAGE_DEBUG)
-     message("CPackRPM:Debug: CPACK_TOPLEVEL_DIRECTORY          = ${CPACK_TOPLEVEL_DIRECTORY}")
-     message("CPackRPM:Debug: CPACK_TOPLEVEL_TAG                = ${CPACK_TOPLEVEL_TAG}")
-     message("CPackRPM:Debug: CPACK_TEMPORARY_DIRECTORY         = ${CPACK_TEMPORARY_DIRECTORY}")
-     message("CPackRPM:Debug: CPACK_OUTPUT_FILE_NAME            = ${CPACK_OUTPUT_FILE_NAME}")
-     message("CPackRPM:Debug: CPACK_OUTPUT_FILE_PATH            = ${CPACK_OUTPUT_FILE_PATH}")
-     message("CPackRPM:Debug: CPACK_PACKAGE_FILE_NAME           = ${CPACK_PACKAGE_FILE_NAME}")
-     message("CPackRPM:Debug: CPACK_RPM_BINARY_SPECFILE         = ${CPACK_RPM_BINARY_SPECFILE}")
-     message("CPackRPM:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY   = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
-     message("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
-  endif()
-
-  #
-  # USER generated/provided spec file handling.
-  #
-
-  # We can have a component specific spec file.
-  if(CPACK_RPM_PACKAGE_COMPONENT)
-    cpack_rpm_variable_fallback("CPACK_RPM_USER_BINARY_SPECFILE"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_USER_BINARY_SPECFILE"
-      "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_USER_BINARY_SPECFILE")
-  endif()
-
-  cpack_rpm_variable_fallback("CPACK_RPM_FILE_NAME"
-    "CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT_UPPER}_FILE_NAME"
-    "CPACK_RPM_FILE_NAME")
-  if(NOT CPACK_RPM_FILE_NAME STREQUAL "RPM-DEFAULT")
-    if(CPACK_RPM_FILE_NAME)
-      cmake_policy(PUSH)
-        cmake_policy(SET CMP0010 NEW)
-        if(NOT CPACK_RPM_FILE_NAME MATCHES ".*\\.rpm")
-      cmake_policy(POP)
-          message(FATAL_ERROR "'${CPACK_RPM_FILE_NAME}' is not a valid RPM package file name as it must end with '.rpm'!")
-        endif()
-      cmake_policy(POP)
-    else()
-      # old file name format for back compatibility
-      set(CPACK_RPM_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}")
-    endif()
-    # else example:
-    #set(CPACK_RPM_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm")
-
-    set(FILE_NAME_DEFINE "%define _rpmfilename ${CPACK_RPM_FILE_NAME}")
-  endif()
-
-  # We should generate a USER spec file template:
-  #  - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
-  #  - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
-  if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
-     file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
-      "# -*- rpm-spec -*-
-BuildRoot:      \@CPACK_RPM_DIRECTORY\@/\@CPACK_PACKAGE_FILE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH\@
-Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
-Name:           \@CPACK_RPM_PACKAGE_NAME\@
-Version:        \@CPACK_RPM_PACKAGE_VERSION\@
-Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
-License:        \@CPACK_RPM_PACKAGE_LICENSE\@
-Group:          \@CPACK_RPM_PACKAGE_GROUP\@
-Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
-\@TMP_RPM_URL\@
-\@TMP_RPM_REQUIRES\@
-\@TMP_RPM_REQUIRES_PRE\@
-\@TMP_RPM_REQUIRES_POST\@
-\@TMP_RPM_REQUIRES_PREUN\@
-\@TMP_RPM_REQUIRES_POSTUN\@
-\@TMP_RPM_PROVIDES\@
-\@TMP_RPM_OBSOLETES\@
-\@TMP_RPM_CONFLICTS\@
-\@TMP_RPM_AUTOPROV\@
-\@TMP_RPM_AUTOREQ\@
-\@TMP_RPM_AUTOREQPROV\@
-\@TMP_RPM_BUILDARCH\@
-\@TMP_RPM_PREFIXES\@
-
-%define _rpmdir \@CPACK_RPM_DIRECTORY\@
-\@FILE_NAME_DEFINE\@
-%define _unpackaged_files_terminate_build 0
-%define _topdir \@CPACK_RPM_DIRECTORY\@
-\@TMP_RPM_SPEC_INSTALL_POST\@
-\@CPACK_RPM_SPEC_MORE_DEFINE\@
-\@CPACK_RPM_COMPRESSION_TYPE_TMP\@
-
-%description
-\@CPACK_RPM_PACKAGE_DESCRIPTION\@
-
-# This is a shortcutted spec file generated by CMake RPM generator
-# we skip _install step because CPack does that for us.
-# We do only save CPack installed tree in _prepr
-# and then restore it in build.
-%prep
-mv $RPM_BUILD_ROOT \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\"
-
-#p build
-
-%install
-if [ -e $RPM_BUILD_ROOT ];
-then
-  rm -rf $RPM_BUILD_ROOT
-fi
-mv \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\" $RPM_BUILD_ROOT
-
-%clean
-
-%post
-\@RPM_SYMLINK_POSTINSTALL\@
-\@CPACK_RPM_SPEC_POSTINSTALL\@
-
-%postun
-\@CPACK_RPM_SPEC_POSTUNINSTALL\@
-
-%pre
-\@CPACK_RPM_SPEC_PREINSTALL\@
-
-%preun
-\@CPACK_RPM_SPEC_PREUNINSTALL\@
-
-%files
-%defattr(\@TMP_DEFAULT_FILE_PERMISSIONS\@,\@TMP_DEFAULT_USER\@,\@TMP_DEFAULT_GROUP\@,\@TMP_DEFAULT_DIR_PERMISSIONS\@)
-\@CPACK_RPM_INSTALL_FILES\@
-\@CPACK_RPM_ABSOLUTE_INSTALL_FILES\@
-\@CPACK_RPM_USER_INSTALL_FILES\@
-
-%changelog
-\@CPACK_RPM_SPEC_CHANGELOG\@
-")
-    # Stop here if we were asked to only generate a template USER spec file
-    # The generated file may then be used as a template by user who wants
-    # to customize their own spec file.
-    if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE)
-       message(FATAL_ERROR "CPackRPM: STOP here Generated USER binary spec file templare is: ${CPACK_RPM_BINARY_SPECFILE}.in")
-    endif()
-  endif()
-
-  # After that we may either use a user provided spec file
-  # or generate one using appropriate variables value.
-  if(CPACK_RPM_USER_BINARY_SPECFILE)
-    # User may have specified SPECFILE just use it
-    message("CPackRPM: Will use USER specified spec file: ${CPACK_RPM_USER_BINARY_SPECFILE}")
-    # The user provided file is processed for @var replacement
-    configure_file(${CPACK_RPM_USER_BINARY_SPECFILE} ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
-  else()
-    # No User specified spec file, will use the generated spec file
-    message("CPackRPM: Will use GENERATED spec file: ${CPACK_RPM_BINARY_SPECFILE}")
-    # Note the just created file is processed for @var replacement
-    configure_file(${CPACK_RPM_BINARY_SPECFILE}.in ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
-  endif()
-
-  if(RPMBUILD_EXECUTABLE)
-    # Now call rpmbuild using the SPECFILE
-    execute_process(
-      COMMAND "${RPMBUILD_EXECUTABLE}" -bb
-              --define "_topdir ${CPACK_RPM_DIRECTORY}"
-              --buildroot "${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
-              --target "${CPACK_RPM_PACKAGE_ARCHITECTURE}"
-              "${CPACK_RPM_BINARY_SPECFILE}"
-      WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
-      RESULT_VARIABLE CPACK_RPMBUILD_EXEC_RESULT
-      ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err"
-      OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out")
-    if(CPACK_RPM_PACKAGE_DEBUG OR CPACK_RPMBUILD_EXEC_RESULT)
-      file(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err RPMBUILDERR)
-      file(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out RPMBUILDOUT)
-      message("CPackRPM:Debug: You may consult rpmbuild logs in: ")
-      message("CPackRPM:Debug:    - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err")
-      message("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
-      message("CPackRPM:Debug:    - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out")
-      message("CPackRPM:Debug: *** ${RPMBUILDOUT} ***")
-    endif()
-  else()
-    if(ALIEN_EXECUTABLE)
-      message(FATAL_ERROR "RPM packaging through alien not done (yet)")
-    endif()
-  endif()
-
-  # find generated rpm files and take their names
-  cmake_policy(PUSH)
-    # Tell file(GLOB_RECURSE) not to follow directory symlinks
-    # even if the project does not set this policy to NEW.
-    cmake_policy(SET CMP0009 NEW)
-    file(GLOB_RECURSE GENERATED_FILES "${CPACK_RPM_DIRECTORY}/*.rpm")
-  cmake_policy(POP)
-
-  if(NOT GENERATED_FILES)
-    message(FATAL_ERROR "RPM package was not generated! ${CPACK_RPM_DIRECTORY}")
-  endif()
-
-  set(GEN_CPACK_OUTPUT_FILES "${GENERATED_FILES}" PARENT_SCOPE)
-
-  if(CPACK_RPM_PACKAGE_DEBUG)
-     message("CPackRPM:Debug: GEN_CPACK_OUTPUT_FILES = ${GENERATED_FILES}")
-  endif()
-endfunction()
-
-cpack_rpm_generate_package()
diff --git a/share/cmake-3.6/Modules/CPackWIX.cmake b/share/cmake-3.6/Modules/CPackWIX.cmake
deleted file mode 100644
index 3c90561..0000000
--- a/share/cmake-3.6/Modules/CPackWIX.cmake
+++ /dev/null
@@ -1,270 +0,0 @@
-#.rst:
-# CPackWIX
-# --------
-#
-# CPack WiX generator specific options
-#
-# Variables specific to CPack WiX generator
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# The following variables are specific to the installers built on
-# Windows using WiX.
-#
-# .. variable:: CPACK_WIX_UPGRADE_GUID
-#
-#  Upgrade GUID (``Product/@UpgradeCode``)
-#
-#  Will be automatically generated unless explicitly provided.
-#
-#  It should be explicitly set to a constant generated globally unique
-#  identifier (GUID) to allow your installers to replace existing
-#  installations that use the same GUID.
-#
-#  You may for example explicitly set this variable in your
-#  CMakeLists.txt to the value that has been generated per default.  You
-#  should not use GUIDs that you did not generate yourself or which may
-#  belong to other projects.
-#
-#  A GUID shall have the following fixed length syntax::
-#
-#   XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
-#
-#  (each X represents an uppercase hexadecimal digit)
-#
-# .. variable:: CPACK_WIX_PRODUCT_GUID
-#
-#  Product GUID (``Product/@Id``)
-#
-#  Will be automatically generated unless explicitly provided.
-#
-#  If explicitly provided this will set the Product Id of your installer.
-#
-#  The installer will abort if it detects a pre-existing installation that
-#  uses the same GUID.
-#
-#  The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
-#
-# .. variable:: CPACK_WIX_LICENSE_RTF
-#
-#  RTF License File
-#
-#  If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as-is.
-#
-#  If CPACK_RESOURCE_FILE_LICENSE has an .txt extension it is implicitly
-#  converted to RTF by the WiX Generator.
-#  The expected encoding of the .txt file is UTF-8.
-#
-#  With CPACK_WIX_LICENSE_RTF you can override the license file used by the
-#  WiX Generator in case CPACK_RESOURCE_FILE_LICENSE is in an unsupported
-#  format or the .txt -> .rtf conversion does not work as expected.
-#
-# .. variable:: CPACK_WIX_PRODUCT_ICON
-#
-#  The Icon shown next to the program name in Add/Remove programs.
-#
-#  If set, this icon is used in place of the default icon.
-#
-# .. variable:: CPACK_WIX_UI_REF
-#
-#  This variable allows you to override the Id of the ``<UIRef>`` element
-#  in the WiX template.
-#
-#  The default is ``WixUI_InstallDir`` in case no CPack components have
-#  been defined and ``WixUI_FeatureTree`` otherwise.
-#
-# .. variable:: CPACK_WIX_UI_BANNER
-#
-#  The bitmap will appear at the top of all installer pages other than the
-#  welcome and completion dialogs.
-#
-#  If set, this image will replace the default banner image.
-#
-#  This image must be 493 by 58 pixels.
-#
-# .. variable:: CPACK_WIX_UI_DIALOG
-#
-#  Background bitmap used on the welcome and completion dialogs.
-#
-#  If this variable is set, the installer will replace the default dialog
-#  image.
-#
-#  This image must be 493 by 312 pixels.
-#
-# .. variable:: CPACK_WIX_PROGRAM_MENU_FOLDER
-#
-#  Start menu folder name for launcher.
-#
-#  If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
-#
-# .. variable:: CPACK_WIX_CULTURES
-#
-#  Language(s) of the installer
-#
-#  Languages are compiled into the WixUI extension library.  To use them,
-#  simply provide the name of the culture.  If you specify more than one
-#  culture identifier in a comma or semicolon delimited list, the first one
-#  that is found will be used.  You can find a list of supported languages at:
-#  http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
-#
-# .. variable:: CPACK_WIX_TEMPLATE
-#
-#  Template file for WiX generation
-#
-#  If this variable is set, the specified template will be used to generate
-#  the WiX wxs file.  This should be used if further customization of the
-#  output is required.
-#
-#  If this variable is not set, the default MSI template included with CMake
-#  will be used.
-#
-# .. variable:: CPACK_WIX_PATCH_FILE
-#
-#  Optional list of XML files with fragments to be inserted into
-#  generated WiX sources
-#
-#  This optional variable can be used to specify an XML file that the
-#  WiX generator will use to inject fragments into its generated
-#  source files.
-#
-#  Patch files understood by the CPack WiX generator
-#  roughly follow this RELAX NG compact schema:
-#
-#  .. code-block:: none
-#
-#     start = CPackWiXPatch
-#
-#     CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
-#
-#     CPackWiXFragment = element CPackWiXFragment
-#     {
-#         attribute Id { string },
-#         fragmentContent*
-#     }
-#
-#     fragmentContent = element * - CPackWiXFragment
-#     {
-#         (attribute * { text } | text | fragmentContent)*
-#     }
-#
-#  Currently fragments can be injected into most
-#  Component, File and Directory elements.
-#
-#  The following additional special Ids can be used:
-#
-#  * ``#PRODUCT`` for the ``<Product>`` element.
-#  * ``#PRODUCTFEATURE`` for the root ``<Feature>`` element.
-#
-#  The following example illustrates how this works.
-#
-#  Given that the WiX generator creates the following XML element:
-#
-#  .. code-block:: xml
-#
-#     <Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
-#
-#  The following XML patch file may be used to inject an Environment element
-#  into it:
-#
-#  .. code-block:: xml
-#
-#     <CPackWiXPatch>
-#       <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
-#         <Environment Id="MyEnvironment" Action="set"
-#           Name="MyVariableName" Value="MyVariableValue"/>
-#       </CPackWiXFragment>
-#     </CPackWiXPatch>
-#
-# .. variable:: CPACK_WIX_EXTRA_SOURCES
-#
-#  Extra WiX source files
-#
-#  This variable provides an optional list of extra WiX source files (.wxs)
-#  that should be compiled and linked.  The full path to source files is
-#  required.
-#
-# .. variable:: CPACK_WIX_EXTRA_OBJECTS
-#
-#  Extra WiX object files or libraries
-#
-#  This variable provides an optional list of extra WiX object (.wixobj)
-#  and/or WiX library (.wixlib) files.  The full path to objects and libraries
-#  is required.
-#
-# .. variable:: CPACK_WIX_EXTENSIONS
-#
-#  This variable provides a list of additional extensions for the WiX
-#  tools light and candle.
-#
-# .. variable:: CPACK_WIX_<TOOL>_EXTENSIONS
-#
-#  This is the tool specific version of CPACK_WIX_EXTENSIONS.
-#  ``<TOOL>`` can be either LIGHT or CANDLE.
-#
-# .. variable:: CPACK_WIX_<TOOL>_EXTRA_FLAGS
-#
-#  This list variable allows you to pass additional
-#  flags to the WiX tool ``<TOOL>``.
-#
-#  Use it at your own risk.
-#  Future versions of CPack may generate flags which may be in conflict
-#  with your own flags.
-#
-#  ``<TOOL>`` can be either LIGHT or CANDLE.
-#
-# .. variable:: CPACK_WIX_CMAKE_PACKAGE_REGISTRY
-#
-#  If this variable is set the generated installer will create
-#  an entry in the windows registry key
-#  ``HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>``
-#  The value for ``<package>`` is provided by this variable.
-#
-#  Assuming you also install a CMake configuration file this will
-#  allow other CMake projects to find your package with
-#  the :command:`find_package` command.
-#
-# .. variable:: CPACK_WIX_PROPERTY_<PROPERTY>
-#
-#  This variable can be used to provide a value for
-#  the Windows Installer property ``<PROPERTY>``
-#
-#  The following list contains some example properties that can be used to
-#  customize information under
-#  "Programs and Features" (also known as "Add or Remove Programs")
-#
-#  * ARPCOMMENTS - Comments
-#  * ARPHELPLINK - Help and support information URL
-#  * ARPURLINFOABOUT - General information URL
-#  * ARPURLUPDATEINFO - Update information URL
-#  * ARPHELPTELEPHONE - Help and support telephone number
-#  * ARPSIZE - Size (in kilobytes) of the application
-
-#=============================================================================
-# Copyright 2014-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT CPACK_WIX_ROOT)
-  file(TO_CMAKE_PATH "$ENV{WIX}" CPACK_WIX_ROOT)
-endif()
-
-find_program(CPACK_WIX_CANDLE_EXECUTABLE candle
-  PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
-
-if(NOT CPACK_WIX_CANDLE_EXECUTABLE)
-  message(FATAL_ERROR "Could not find the WiX candle executable.")
-endif()
-
-find_program(CPACK_WIX_LIGHT_EXECUTABLE light
-  PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
-
-if(NOT CPACK_WIX_LIGHT_EXECUTABLE)
-  message(FATAL_ERROR "Could not find the WiX light executable.")
-endif()
diff --git a/share/cmake-3.6/Modules/CPackZIP.cmake b/share/cmake-3.6/Modules/CPackZIP.cmake
deleted file mode 100644
index a36589b..0000000
--- a/share/cmake-3.6/Modules/CPackZIP.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(CMAKE_BINARY_DIR)
-  message(FATAL_ERROR "CPackZIP.cmake may only be used by CPack internally.")
-endif()
-
-find_program(ZIP_EXECUTABLE wzzip PATHS "$ENV{ProgramFiles}/WinZip")
-if(ZIP_EXECUTABLE)
-  set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -P \"<ARCHIVE>\" @<FILELIST>")
-  set(CPACK_ZIP_NEED_QUOTES TRUE)
-endif()
-
-if(NOT ZIP_EXECUTABLE)
-  find_program(ZIP_EXECUTABLE 7z PATHS "$ENV{ProgramFiles}/7-Zip")
-  if(ZIP_EXECUTABLE)
-    set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" a -tzip \"<ARCHIVE>\" @<FILELIST>")
-  set(CPACK_ZIP_NEED_QUOTES TRUE)
-  endif()
-endif()
-
-if(NOT ZIP_EXECUTABLE)
-  find_package(Cygwin)
-  find_program(ZIP_EXECUTABLE zip PATHS "${CYGWIN_INSTALL_PATH}/bin")
-  if(ZIP_EXECUTABLE)
-    set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -r \"<ARCHIVE>\" . -i@<FILELIST>")
-    set(CPACK_ZIP_NEED_QUOTES FALSE)
-  endif()
-endif()
-
diff --git a/share/cmake-3.6/Modules/CTest.cmake b/share/cmake-3.6/Modules/CTest.cmake
deleted file mode 100644
index a27eb4b..0000000
--- a/share/cmake-3.6/Modules/CTest.cmake
+++ /dev/null
@@ -1,281 +0,0 @@
-#[=======================================================================[.rst:
-CTest
------
-
-Configure a project for testing with CTest/CDash
-
-Include this module in the top CMakeLists.txt file of a project to
-enable testing with CTest and dashboard submissions to CDash::
-
-  project(MyProject)
-  ...
-  include(CTest)
-
-The module automatically creates a ``BUILD_TESTING`` option that selects
-whether to enable testing support (``ON`` by default).  After including
-the module, use code like::
-
-  if(BUILD_TESTING)
-    # ... CMake code to create tests ...
-  endif()
-
-to creating tests when testing is enabled.
-
-To enable submissions to a CDash server, create a ``CTestConfig.cmake``
-file at the top of the project with content such as::
-
-  set(CTEST_PROJECT_NAME "MyProject")
-  set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
-  set(CTEST_DROP_METHOD "http")
-  set(CTEST_DROP_SITE "my.cdash.org")
-  set(CTEST_DROP_LOCATION "/submit.php?project=MyProject")
-  set(CTEST_DROP_SITE_CDASH TRUE)
-
-(the CDash server can provide the file to a project administrator who
-configures ``MyProject``).  Settings in the config file are shared by
-both this ``CTest`` module and the :manual:`ctest(1)` command-line
-:ref:`Dashboard Client` mode (``ctest -S``).
-
-While building a project for submission to CDash, CTest scans the
-build output for errors and warnings and reports them with surrounding
-context from the build log.  This generic approach works for all build
-tools, but does not give details about the command invocation that
-produced a given problem.  One may get more detailed reports by setting
-the :variable:`CTEST_USE_LAUNCHERS` variable::
-
-  set(CTEST_USE_LAUNCHERS 1)
-
-in the ``CTestConfig.cmake`` file.
-#]=======================================================================]
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-option(BUILD_TESTING "Build the testing tree." ON)
-
-# function to turn generator name into a version string
-# like vs7 vs71 vs8 vs9
-function(GET_VS_VERSION_STRING generator var)
-  string(REGEX REPLACE "Visual Studio ([0-9][0-9]?)($|.*)" "\\1"
-    NUMBER "${generator}")
-  if("${generator}" MATCHES "Visual Studio 7 .NET 2003")
-    set(ver_string "vs71")
-  else()
-    set(ver_string "vs${NUMBER}")
-  endif()
-  set(${var} ${ver_string} PARENT_SCOPE)
-endfunction()
-
-include(CTestUseLaunchers)
-
-if(BUILD_TESTING)
-  # Setup some auxilary macros
-  macro(SET_IF_NOT_SET var val)
-    if(NOT DEFINED "${var}")
-      set("${var}" "${val}")
-    endif()
-  endmacro()
-
-  macro(SET_IF_SET var val)
-    if(NOT "${val}" STREQUAL "")
-      set("${var}" "${val}")
-    endif()
-  endmacro()
-
-  macro(SET_IF_SET_AND_NOT_SET var val)
-    if(NOT "${val}" STREQUAL "")
-      SET_IF_NOT_SET("${var}" "${val}")
-    endif()
-  endmacro()
-
-  # Make sure testing is enabled
-  enable_testing()
-
-  if(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
-    include("${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
-    SET_IF_SET_AND_NOT_SET(NIGHTLY_START_TIME "${CTEST_NIGHTLY_START_TIME}")
-    SET_IF_SET_AND_NOT_SET(DROP_METHOD "${CTEST_DROP_METHOD}")
-    SET_IF_SET_AND_NOT_SET(DROP_SITE "${CTEST_DROP_SITE}")
-    SET_IF_SET_AND_NOT_SET(DROP_SITE_USER "${CTEST_DROP_SITE_USER}")
-    SET_IF_SET_AND_NOT_SET(DROP_SITE_PASSWORD "${CTEST_DROP_SITE_PASWORD}")
-    SET_IF_SET_AND_NOT_SET(DROP_SITE_MODE "${CTEST_DROP_SITE_MODE}")
-    SET_IF_SET_AND_NOT_SET(DROP_LOCATION "${CTEST_DROP_LOCATION}")
-    SET_IF_SET_AND_NOT_SET(TRIGGER_SITE "${CTEST_TRIGGER_SITE}")
-    SET_IF_SET_AND_NOT_SET(UPDATE_TYPE "${CTEST_UPDATE_TYPE}")
-  endif()
-
-  # the project can have a DartConfig.cmake file
-  if(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
-    include("${PROJECT_SOURCE_DIR}/DartConfig.cmake")
-  else()
-    # Dashboard is opened for submissions for a 24 hour period starting at
-    # the specified NIGHTLY_START_TIME. Time is specified in 24 hour format.
-    SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
-    SET_IF_NOT_SET(DROP_METHOD "http")
-    SET_IF_NOT_SET (COMPRESS_SUBMISSION ON)
-  endif()
-  SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
-
-  find_program(CVSCOMMAND cvs )
-  set(CVS_UPDATE_OPTIONS "-d -A -P" CACHE STRING
-    "Options passed to the cvs update command.")
-  find_program(SVNCOMMAND svn)
-  find_program(BZRCOMMAND bzr)
-  find_program(HGCOMMAND hg)
-  find_program(GITCOMMAND git)
-  find_program(P4COMMAND p4)
-
-  if(NOT UPDATE_TYPE)
-    if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
-      set(UPDATE_TYPE cvs)
-    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
-      set(UPDATE_TYPE svn)
-    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.bzr")
-      set(UPDATE_TYPE bzr)
-    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.hg")
-      set(UPDATE_TYPE hg)
-    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
-      set(UPDATE_TYPE git)
-    endif()
-  endif()
-
-  string(TOLOWER "${UPDATE_TYPE}" _update_type)
-  if("${_update_type}" STREQUAL "cvs")
-    set(UPDATE_COMMAND "${CVSCOMMAND}")
-    set(UPDATE_OPTIONS "${CVS_UPDATE_OPTIONS}")
-  elseif("${_update_type}" STREQUAL "svn")
-    set(UPDATE_COMMAND "${SVNCOMMAND}")
-    set(UPDATE_OPTIONS "${SVN_UPDATE_OPTIONS}")
-  elseif("${_update_type}" STREQUAL "bzr")
-    set(UPDATE_COMMAND "${BZRCOMMAND}")
-    set(UPDATE_OPTIONS "${BZR_UPDATE_OPTIONS}")
-  elseif("${_update_type}" STREQUAL "hg")
-    set(UPDATE_COMMAND "${HGCOMMAND}")
-    set(UPDATE_OPTIONS "${HG_UPDATE_OPTIONS}")
-  elseif("${_update_type}" STREQUAL "git")
-    set(UPDATE_COMMAND "${GITCOMMAND}")
-    set(UPDATE_OPTIONS "${GIT_UPDATE_OPTIONS}")
-  elseif("${_update_type}" STREQUAL "p4")
-    set(UPDATE_COMMAND "${P4COMMAND}")
-    set(UPDATE_OPTIONS "${P4_UPDATE_OPTIONS}")
-  endif()
-
-  set(DART_TESTING_TIMEOUT 1500 CACHE STRING
-    "Maximum time allowed before CTest will kill the test.")
-
-  set(CTEST_SUBMIT_RETRY_DELAY 5 CACHE STRING
-    "How long to wait between timed-out CTest submissions.")
-  set(CTEST_SUBMIT_RETRY_COUNT 3 CACHE STRING
-    "How many times to retry timed-out CTest submissions.")
-
-  find_program(MEMORYCHECK_COMMAND
-    NAMES purify valgrind boundscheck
-    PATHS
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
-    DOC "Path to the memory checking command, used for memory error detection."
-    )
-  find_program(SLURM_SBATCH_COMMAND sbatch DOC
-    "Path to the SLURM sbatch executable"
-    )
-  find_program(SLURM_SRUN_COMMAND srun DOC
-    "Path to the SLURM srun executable"
-    )
-  set(MEMORYCHECK_SUPPRESSIONS_FILE "" CACHE FILEPATH
-    "File that contains suppressions for the memory checker")
-  find_program(SCPCOMMAND scp DOC
-    "Path to scp command, used by CTest for submitting results to a Dart server"
-    )
-  find_program(COVERAGE_COMMAND gcov DOC
-    "Path to the coverage program that CTest uses for performing coverage inspection"
-    )
-  set(COVERAGE_EXTRA_FLAGS "-l" CACHE STRING
-    "Extra command line flags to pass to the coverage tool")
-
-  # set the site name
-  site_name(SITE)
-  # set the build name
-  if(NOT BUILDNAME)
-    set(DART_COMPILER "${CMAKE_CXX_COMPILER}")
-    if(NOT DART_COMPILER)
-      set(DART_COMPILER "${CMAKE_C_COMPILER}")
-    endif()
-    if(NOT DART_COMPILER)
-      set(DART_COMPILER "unknown")
-    endif()
-    if(WIN32)
-      set(DART_NAME_COMPONENT "NAME_WE")
-    else()
-      set(DART_NAME_COMPONENT "NAME")
-    endif()
-    if(NOT BUILD_NAME_SYSTEM_NAME)
-      set(BUILD_NAME_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
-    endif()
-    if(WIN32)
-      set(BUILD_NAME_SYSTEM_NAME "Win32")
-    endif()
-    if(UNIX OR BORLAND)
-      get_filename_component(DART_CXX_NAME
-        "${CMAKE_CXX_COMPILER}" ${DART_NAME_COMPONENT})
-    else()
-      get_filename_component(DART_CXX_NAME
-        "${CMAKE_MAKE_PROGRAM}" ${DART_NAME_COMPONENT})
-    endif()
-    if(DART_CXX_NAME MATCHES "devenv")
-      GET_VS_VERSION_STRING("${CMAKE_GENERATOR}" DART_CXX_NAME)
-    endif()
-    set(BUILDNAME "${BUILD_NAME_SYSTEM_NAME}-${DART_CXX_NAME}")
-  endif()
-
-  # the build command
-  build_command(MAKECOMMAND_DEFAULT_VALUE
-    CONFIGURATION "\${CTEST_CONFIGURATION_TYPE}")
-  set(MAKECOMMAND ${MAKECOMMAND_DEFAULT_VALUE}
-    CACHE STRING "Command to build the project")
-
-  # the default build configuration the ctest build handler will use
-  # if there is no -C arg given to ctest:
-  set(DEFAULT_CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
-  if(DEFAULT_CTEST_CONFIGURATION_TYPE STREQUAL "")
-    set(DEFAULT_CTEST_CONFIGURATION_TYPE "Release")
-  endif()
-
-  mark_as_advanced(
-    BZRCOMMAND
-    BZR_UPDATE_OPTIONS
-    COVERAGE_COMMAND
-    COVERAGE_EXTRA_FLAGS
-    CTEST_SUBMIT_RETRY_DELAY
-    CTEST_SUBMIT_RETRY_COUNT
-    CVSCOMMAND
-    CVS_UPDATE_OPTIONS
-    DART_TESTING_TIMEOUT
-    GITCOMMAND
-    P4COMMAND
-    HGCOMMAND
-    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)
-    include(CTestTargets)
-    set(RUN_FROM_CTEST_OR_DART)
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/CTestCoverageCollectGCOV.cmake b/share/cmake-3.6/Modules/CTestCoverageCollectGCOV.cmake
deleted file mode 100644
index a04d340..0000000
--- a/share/cmake-3.6/Modules/CTestCoverageCollectGCOV.cmake
+++ /dev/null
@@ -1,300 +0,0 @@
-#.rst:
-# CTestCoverageCollectGCOV
-# ------------------------
-#
-# This module provides the ``ctest_coverage_collect_gcov`` function.
-#
-# This function runs gcov on all .gcda files found in the binary tree
-# and packages the resulting .gcov files into a tar file.
-# This tarball also contains the following:
-#
-# * *data.json* defines the source and build directories for use by CDash.
-# * *Labels.json* indicates any :prop_sf:`LABELS` that have been set on the
-#   source files.
-# * The *uncovered* directory holds any uncovered files found by
-#   :variable:`CTEST_EXTRA_COVERAGE_GLOB`.
-#
-# After generating this tar file, it can be sent to CDash for display with the
-# :command:`ctest_submit(CDASH_UPLOAD)` command.
-#
-# .. command:: cdash_coverage_collect_gcov
-#
-#   ::
-#
-#     ctest_coverage_collect_gcov(TARBALL <tarfile>
-#       [SOURCE <source_dir>][BUILD <build_dir>]
-#       [GCOV_COMMAND <gcov_command>]
-#       [GCOV_OPTIONS <options>...]
-#       )
-#
-#   Run gcov and package a tar file for CDash.  The options are:
-#
-#   ``TARBALL <tarfile>``
-#     Specify the location of the ``.tar`` file to be created for later
-#     upload to CDash.  Relative paths will be interpreted with respect
-#     to the top-level build directory.
-#
-#   ``SOURCE <source_dir>``
-#     Specify the top-level source directory for the build.
-#     Default is the value of :variable:`CTEST_SOURCE_DIRECTORY`.
-#
-#   ``BUILD <build_dir>``
-#     Specify the top-level build directory for the build.
-#     Default is the value of :variable:`CTEST_BINARY_DIRECTORY`.
-#
-#   ``GCOV_COMMAND <gcov_command>``
-#     Specify the full path to the ``gcov`` command on the machine.
-#     Default is the value of :variable:`CTEST_COVERAGE_COMMAND`.
-#
-#   ``GCOV_OPTIONS <options>...``
-#     Specify options to be passed to gcov.  The ``gcov`` command
-#     is run as ``gcov <options>... -o <gcov-dir> <file>.gcda``.
-#     If not specified, the default option is just ``-b``.
-#
-#   ``GLOB``
-#     Recursively search for .gcda files in build_dir rather than
-#     determining search locations by reading TargetDirectories.txt.
-#
-#   ``DELETE``
-#     Delete coverage files after they've been packaged into the .tar.
-#
-#   ``QUIET``
-#     Suppress non-error messages that otherwise would have been
-#     printed out by this function.
-
-#=============================================================================
-# Copyright 2014-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-include(CMakeParseArguments)
-function(ctest_coverage_collect_gcov)
-  set(options QUIET GLOB DELETE)
-  set(oneValueArgs TARBALL SOURCE BUILD GCOV_COMMAND)
-  set(multiValueArgs GCOV_OPTIONS)
-  cmake_parse_arguments(GCOV  "${options}" "${oneValueArgs}"
-    "${multiValueArgs}" "" ${ARGN} )
-  if(NOT DEFINED GCOV_TARBALL)
-    message(FATAL_ERROR
-      "TARBALL must be specified. for ctest_coverage_collect_gcov")
-  endif()
-  if(NOT DEFINED GCOV_SOURCE)
-    set(source_dir "${CTEST_SOURCE_DIRECTORY}")
-  else()
-    set(source_dir "${GCOV_SOURCE}")
-  endif()
-  if(NOT DEFINED GCOV_BUILD)
-    set(binary_dir "${CTEST_BINARY_DIRECTORY}")
-  else()
-    set(binary_dir "${GCOV_BUILD}")
-  endif()
-  if(NOT DEFINED GCOV_GCOV_COMMAND)
-    set(gcov_command "${CTEST_COVERAGE_COMMAND}")
-  else()
-    set(gcov_command "${GCOV_GCOV_COMMAND}")
-  endif()
-  # run gcov on each gcda file in the binary tree
-  set(gcda_files)
-  set(label_files)
-  if (GCOV_GLOB)
-      file(GLOB_RECURSE gfiles RELATIVE ${binary_dir} "${binary_dir}/*.gcda")
-      list(LENGTH gfiles len)
-      # if we have gcda files then also grab the labels file for that target
-      if(${len} GREATER 0)
-        file(GLOB_RECURSE lfiles RELATIVE ${binary_dir} "${binary_dir}/Labels.json")
-        list(APPEND gcda_files ${gfiles})
-        list(APPEND label_files ${lfiles})
-      endif()
-  else()
-    # look for gcda files in the target directories
-    # this will be faster and only look where the files will be
-    file(STRINGS "${binary_dir}/CMakeFiles/TargetDirectories.txt" target_dirs
-         ENCODING UTF-8)
-    foreach(target_dir ${target_dirs})
-      file(GLOB_RECURSE gfiles RELATIVE ${binary_dir} "${target_dir}/*.gcda")
-      list(LENGTH gfiles len)
-      # if we have gcda files then also grab the labels file for that target
-      if(${len} GREATER 0)
-        file(GLOB_RECURSE lfiles RELATIVE ${binary_dir}
-          "${target_dir}/Labels.json")
-        list(APPEND gcda_files ${gfiles})
-        list(APPEND label_files ${lfiles})
-      endif()
-    endforeach()
-  endif()
-  # return early if no coverage files were found
-  list(LENGTH gcda_files len)
-  if(len EQUAL 0)
-    if (NOT GCOV_QUIET)
-      message("ctest_coverage_collect_gcov: No .gcda files found, "
-        "ignoring coverage request.")
-    endif()
-    return()
-  endif()
-  # setup the dir for the coverage files
-  set(coverage_dir "${binary_dir}/Testing/CoverageInfo")
-  file(MAKE_DIRECTORY  "${coverage_dir}")
-  # call gcov on each .gcda file
-  foreach (gcda_file ${gcda_files})
-    # get the directory of the gcda file
-    get_filename_component(gcda_file ${binary_dir}/${gcda_file} ABSOLUTE)
-    get_filename_component(gcov_dir ${gcda_file} DIRECTORY)
-    # run gcov, this will produce the .gcov file in the current
-    # working directory
-    if(NOT DEFINED GCOV_GCOV_OPTIONS)
-      set(GCOV_GCOV_OPTIONS -b)
-    endif()
-    execute_process(COMMAND
-      ${gcov_command} ${GCOV_GCOV_OPTIONS} -o ${gcov_dir} ${gcda_file}
-      OUTPUT_VARIABLE out
-      RESULT_VARIABLE res
-      WORKING_DIRECTORY ${coverage_dir})
-
-    if (GCOV_DELETE)
-      file(REMOVE ${gcda_file})
-    endif()
-
-  endforeach()
-  if(NOT "${res}" EQUAL 0)
-    if (NOT GCOV_QUIET)
-      message(STATUS "Error running gcov: ${res} ${out}")
-    endif()
-  endif()
-  # create json file with project information
-  file(WRITE ${coverage_dir}/data.json
-    "{
-    \"Source\": \"${source_dir}\",
-    \"Binary\": \"${binary_dir}\"
-}")
-  # collect the gcov files
-  set(unfiltered_gcov_files)
-  file(GLOB_RECURSE unfiltered_gcov_files RELATIVE ${binary_dir} "${coverage_dir}/*.gcov")
-
-  # if CTEST_EXTRA_COVERAGE_GLOB was specified we search for files
-  # that might be uncovered
-  if (DEFINED CTEST_EXTRA_COVERAGE_GLOB)
-    set(uncovered_files)
-    foreach(search_entry IN LISTS CTEST_EXTRA_COVERAGE_GLOB)
-      if(NOT GCOV_QUIET)
-        message("Add coverage glob: ${search_entry}")
-      endif()
-      file(GLOB_RECURSE matching_files "${source_dir}/${search_entry}")
-      if (matching_files)
-        list(APPEND uncovered_files "${matching_files}")
-      endif()
-    endforeach()
-  endif()
-
-  set(gcov_files)
-  foreach(gcov_file ${unfiltered_gcov_files})
-    file(STRINGS ${binary_dir}/${gcov_file} first_line LIMIT_COUNT 1 ENCODING UTF-8)
-
-    set(is_excluded false)
-    if(first_line MATCHES "^        -:    0:Source:(.*)$")
-      set(source_file ${CMAKE_MATCH_1})
-    elseif(NOT GCOV_QUIET)
-      message(STATUS "Could not determine source file corresponding to: ${gcov_file}")
-    endif()
-
-    foreach(exclude_entry IN LISTS CTEST_CUSTOM_COVERAGE_EXCLUDE)
-      if(source_file MATCHES "${exclude_entry}")
-        set(is_excluded true)
-
-        if(NOT GCOV_QUIET)
-          message("Excluding coverage for: ${source_file} which matches ${exclude_entry}")
-        endif()
-
-        break()
-      endif()
-    endforeach()
-
-    get_filename_component(resolved_source_file "${source_file}" ABSOLUTE)
-    foreach(uncovered_file IN LISTS uncovered_files)
-      get_filename_component(resolved_uncovered_file "${uncovered_file}" ABSOLUTE)
-      if (resolved_uncovered_file STREQUAL resolved_source_file)
-        list(REMOVE_ITEM uncovered_files "${uncovered_file}")
-      endif()
-    endforeach()
-
-    if(NOT is_excluded)
-      list(APPEND gcov_files ${gcov_file})
-    endif()
-  endforeach()
-
-  foreach (uncovered_file ${uncovered_files})
-    # Check if this uncovered file should be excluded.
-    set(is_excluded false)
-    foreach(exclude_entry IN LISTS CTEST_CUSTOM_COVERAGE_EXCLUDE)
-      if(uncovered_file MATCHES "${exclude_entry}")
-        set(is_excluded true)
-        if(NOT GCOV_QUIET)
-          message("Excluding coverage for: ${uncovered_file} which matches ${exclude_entry}")
-        endif()
-        break()
-      endif()
-    endforeach()
-    if(is_excluded)
-      continue()
-    endif()
-
-    # Copy from source to binary dir, preserving any intermediate subdirectories.
-    get_filename_component(filename "${uncovered_file}" NAME)
-    get_filename_component(relative_path "${uncovered_file}" DIRECTORY)
-    string(REPLACE "${source_dir}" "" relative_path "${relative_path}")
-    if (relative_path)
-      # Strip leading slash.
-      string(SUBSTRING "${relative_path}" 1 -1 relative_path)
-    endif()
-    file(COPY ${uncovered_file} DESTINATION ${binary_dir}/uncovered/${relative_path})
-    if(relative_path)
-      list(APPEND uncovered_files_for_tar uncovered/${relative_path}/${filename})
-    else()
-      list(APPEND uncovered_files_for_tar uncovered/${filename})
-    endif()
-  endforeach()
-
-  # tar up the coverage info with the same date so that the md5
-  # sum will be the same for the tar file independent of file time
-  # stamps
-  string(REPLACE ";" "\n" gcov_files "${gcov_files}")
-  string(REPLACE ";" "\n" label_files "${label_files}")
-  string(REPLACE ";" "\n" uncovered_files_for_tar "${uncovered_files_for_tar}")
-  file(WRITE "${coverage_dir}/coverage_file_list.txt"
-    "${gcov_files}
-${coverage_dir}/data.json
-${label_files}
-${uncovered_files_for_tar}
-")
-
-  if (GCOV_QUIET)
-    set(tar_opts "cfj")
-  else()
-    set(tar_opts "cvfj")
-  endif()
-
-  execute_process(COMMAND
-    ${CMAKE_COMMAND} -E tar ${tar_opts} ${GCOV_TARBALL}
-    "--mtime=1970-01-01 0:0:0 UTC"
-    "--format=gnutar"
-    --files-from=${coverage_dir}/coverage_file_list.txt
-    WORKING_DIRECTORY ${binary_dir})
-
-  if (GCOV_DELETE)
-    foreach(gcov_file ${unfiltered_gcov_files})
-      file(REMOVE ${binary_dir}/${gcov_file})
-    endforeach()
-    file(REMOVE ${coverage_dir}/coverage_file_list.txt)
-    file(REMOVE ${coverage_dir}/data.json)
-    if (EXISTS ${binary_dir}/uncovered)
-      file(REMOVE ${binary_dir}/uncovered)
-    endif()
-  endif()
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/CTestScriptMode.cmake b/share/cmake-3.6/Modules/CTestScriptMode.cmake
deleted file mode 100644
index b434724..0000000
--- a/share/cmake-3.6/Modules/CTestScriptMode.cmake
+++ /dev/null
@@ -1,30 +0,0 @@
-#.rst:
-# CTestScriptMode
-# ---------------
-#
-#
-#
-# This file is read by ctest in script mode (-S)
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Determine the current system, so this information can be used
-# in ctest scripts
-include(CMakeDetermineSystem)
-
-# Also load the system specific file, which sets up e.g. the search paths.
-# This makes the FIND_XXX() calls work much better
-include(CMakeSystemSpecificInformation)
-
diff --git a/share/cmake-3.6/Modules/CTestTargets.cmake b/share/cmake-3.6/Modules/CTestTargets.cmake
deleted file mode 100644
index 1157850..0000000
--- a/share/cmake-3.6/Modules/CTestTargets.cmake
+++ /dev/null
@@ -1,102 +0,0 @@
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT RUN_FROM_CTEST_OR_DART)
-  message(FATAL_ERROR "Do not incldue CTestTargets.cmake directly")
-endif()
-
-if(NOT PROJECT_BINARY_DIR)
-  message(FATAL_ERROR "Do not include(CTest) before calling project().")
-endif()
-
-# make directories in the binary tree
-file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary)
-get_filename_component(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH)
-set(CMAKE_TARGET_PATH ${EXECUTABLE_OUTPUT_PATH})
-find_program(CMAKE_CTEST_COMMAND ctest ${CMAKE_HOST_PATH} ${CMAKE_TARGET_PATH})
-mark_as_advanced(CMAKE_CTEST_COMMAND)
-
-# Use CTest
-# configure files
-
-if(CTEST_NEW_FORMAT)
-  configure_file(
-    ${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
-    ${PROJECT_BINARY_DIR}/CTestConfiguration.ini )
-else()
-  configure_file(
-    ${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
-    ${PROJECT_BINARY_DIR}/DartConfiguration.tcl )
-endif()
-
-#
-# Section 3:
-#
-# Custom targets to perform dashboard builds and submissions.
-# These should NOT need to be modified from project to project.
-#
-
-set(__conf_types "")
-if(CMAKE_CONFIGURATION_TYPES)
-  # We need to pass the configuration type on the test command line.
-  set(__conf_types -C "${CMAKE_CFG_INTDIR}")
-endif()
-
-# Add convenience targets.  Do this at most once in case of nested
-# projects.
-define_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED
-  BRIEF_DOCS "Internal property used by CTestTargets module."
-  FULL_DOCS "Set by the CTestTargets module to track addition of testing targets."
-  )
-get_property(_CTEST_TARGETS_ADDED GLOBAL PROPERTY CTEST_TARGETS_ADDED)
-if(NOT _CTEST_TARGETS_ADDED)
-  set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1)
-
-  # For all generators add basic testing targets.
-  foreach(mode Experimental Nightly Continuous NightlyMemoryCheck)
-    add_custom_target(${mode}
-      ${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}
-      USES_TERMINAL
-      )
-    set_property(TARGET ${mode} PROPERTY RULE_LAUNCH_CUSTOM "")
-    set_property(TARGET ${mode} PROPERTY FOLDER "CTestDashboardTargets")
-  endforeach()
-
-  # For Makefile generators add more granular targets.
-  if("${CMAKE_GENERATOR}" MATCHES "(Ninja|Make)")
-    # Make targets for Experimental builds
-    foreach(mode Nightly Experimental Continuous)
-      foreach(testtype
-          Start Update Configure Build Test Coverage MemCheck Submit
-          # missing purify
-          )
-        add_custom_target(${mode}${testtype}
-          ${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}${testtype}
-          USES_TERMINAL
-          )
-        set_property(TARGET ${mode}${testtype} PROPERTY RULE_LAUNCH_CUSTOM "")
-        set_property(TARGET ${mode}${testtype} PROPERTY FOLDER "CTestDashboardTargets")
-      endforeach()
-    endforeach()
-  endif()
-
-  # If requested, add an alias that is the equivalent of the built-in "test"
-  # or "RUN_TESTS" target:
-  if(CTEST_TEST_TARGET_ALIAS)
-    add_custom_target(${CTEST_TEST_TARGET_ALIAS}
-      ${CMAKE_CTEST_COMMAND} ${__conf_types}
-      USES_TERMINAL
-      )
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/CTestUseLaunchers.cmake b/share/cmake-3.6/Modules/CTestUseLaunchers.cmake
deleted file mode 100644
index c79119f..0000000
--- a/share/cmake-3.6/Modules/CTestUseLaunchers.cmake
+++ /dev/null
@@ -1,77 +0,0 @@
-#.rst:
-# CTestUseLaunchers
-# -----------------
-#
-# Set the RULE_LAUNCH_* global properties when CTEST_USE_LAUNCHERS is on.
-#
-# CTestUseLaunchers is automatically included when you include(CTest).
-# However, it is split out into its own module file so projects can use
-# the CTEST_USE_LAUNCHERS functionality independently.
-#
-# To use launchers, set CTEST_USE_LAUNCHERS to ON in a ctest -S
-# dashboard script, and then also set it in the cache of the configured
-# project.  Both cmake and ctest need to know the value of it for the
-# launchers to work properly.  CMake needs to know in order to generate
-# proper build rules, and ctest, in order to produce the proper error
-# and warning analysis.
-#
-# For convenience, you may set the ENV variable
-# CTEST_USE_LAUNCHERS_DEFAULT in your ctest -S script, too.  Then, as
-# long as your CMakeLists uses include(CTest) or
-# include(CTestUseLaunchers), it will use the value of the ENV variable
-# to initialize a CTEST_USE_LAUNCHERS cache variable.  This cache
-# variable initialization only occurs if CTEST_USE_LAUNCHERS is not
-# already defined.
-
-#=============================================================================
-# Copyright 2008-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT DEFINED CTEST_USE_LAUNCHERS AND DEFINED ENV{CTEST_USE_LAUNCHERS_DEFAULT})
-  set(CTEST_USE_LAUNCHERS "$ENV{CTEST_USE_LAUNCHERS_DEFAULT}"
-    CACHE INTERNAL "CTEST_USE_LAUNCHERS initial value from ENV")
-endif()
-
-if(NOT "${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
-  set(CTEST_USE_LAUNCHERS 0)
-endif()
-
-if(CTEST_USE_LAUNCHERS)
-  set(__launch_common_options
-    "--target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR>")
-
-  set(__launch_compile_options
-    "${__launch_common_options} --output <OBJECT> --source <SOURCE> --language <LANGUAGE>")
-
-  set(__launch_link_options
-    "${__launch_common_options} --output <TARGET> --target-type <TARGET_TYPE> --language <LANGUAGE>")
-
-  set(__launch_custom_options
-    "${__launch_common_options} --output <OUTPUT>")
-
-  if("${CMAKE_GENERATOR}" MATCHES "Ninja")
-    set(__launch_compile_options "${__launch_compile_options} --filter-prefix <CMAKE_CL_SHOWINCLUDES_PREFIX>")
-  endif()
-
-  set(CTEST_LAUNCH_COMPILE
-    "\"${CMAKE_CTEST_COMMAND}\" --launch ${__launch_compile_options} --")
-
-  set(CTEST_LAUNCH_LINK
-    "\"${CMAKE_CTEST_COMMAND}\" --launch ${__launch_link_options} --")
-
-  set(CTEST_LAUNCH_CUSTOM
-    "\"${CMAKE_CTEST_COMMAND}\" --launch ${__launch_custom_options} --")
-
-  set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CTEST_LAUNCH_COMPILE}")
-  set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CTEST_LAUNCH_LINK}")
-  set_property(GLOBAL PROPERTY RULE_LAUNCH_CUSTOM "${CTEST_LAUNCH_CUSTOM}")
-endif()
diff --git a/share/cmake-3.6/Modules/CheckCCompilerFlag.cmake b/share/cmake-3.6/Modules/CheckCCompilerFlag.cmake
deleted file mode 100644
index 53f3454..0000000
--- a/share/cmake-3.6/Modules/CheckCCompilerFlag.cmake
+++ /dev/null
@@ -1,64 +0,0 @@
-#.rst:
-# CheckCCompilerFlag
-# ------------------
-#
-# Check whether the C compiler supports a given flag.
-#
-# CHECK_C_COMPILER_FLAG(<flag> <var>)
-#
-# ::
-#
-#   <flag> - the compiler flag
-#   <var>  - variable to store the result
-#            Will be created as an internal cache variable.
-#
-# This internally calls the check_c_source_compiles macro and sets
-# CMAKE_REQUIRED_DEFINITIONS to <flag>.  See help for
-# CheckCSourceCompiles for a listing of variables that can otherwise
-# modify the build.  The result only tells that the compiler does not
-# give an error message when it encounters the flag.  If the flag has
-# any effect or even a specific one is beyond the scope of this module.
-
-#=============================================================================
-# Copyright 2006-2011 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2011 Matthias Kretz <kretz@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckCSourceCompiles)
-include(CMakeCheckCompilerFlagCommonPatterns)
-
-macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
-   set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
-   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}}")
-     set(ENV{${v}} C)
-   endforeach()
-   CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCCompilerFlag_COMMON_PATTERNS)
-   CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT}
-     # 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}
-     )
-   foreach(v ${_CheckCCompilerFlag_LOCALE_VARS})
-     set(ENV{${v}} ${_CheckCCompilerFlag_SAVED_${v}})
-     unset(_CheckCCompilerFlag_SAVED_${v})
-   endforeach()
-   unset(_CheckCCompilerFlag_LOCALE_VARS)
-   unset(_CheckCCompilerFlag_COMMON_PATTERNS)
-
-   set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-endmacro ()
diff --git a/share/cmake-3.6/Modules/CheckCSourceCompiles.cmake b/share/cmake-3.6/Modules/CheckCSourceCompiles.cmake
deleted file mode 100644
index c2b1723..0000000
--- a/share/cmake-3.6/Modules/CheckCSourceCompiles.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-#.rst:
-# CheckCSourceCompiles
-# --------------------
-#
-# Check if given C source compiles and links into an executable
-#
-# CHECK_C_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
-#
-# ::
-#
-#   <code>       - source code to try to compile, must define 'main'
-#   <var>        - variable to store whether the source code compiled
-#                  Will be created as an internal cache variable.
-#   <fail-regex> - fail if test output matches this regex
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_C_SOURCE_COMPILES SOURCE VAR)
-  if(NOT DEFINED "${VAR}")
-    set(_FAIL_REGEX)
-    set(_key)
-    foreach(arg ${ARGN})
-      if("${arg}" MATCHES "^(FAIL_REGEX)$")
-        set(_key "${arg}")
-      elseif(_key)
-        list(APPEND _${_key} "${arg}")
-      else()
-        message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
-      endif()
-    endforeach()
-    set(MACRO_CHECK_FUNCTION_DEFINITIONS
-      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
-    endif()
-    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
-      "${SOURCE}\n")
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
-    endif()
-    try_compile(${VAR}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
-      OUTPUT_VARIABLE OUTPUT)
-
-    foreach(_regex ${_FAIL_REGEX})
-      if("${OUTPUT}" MATCHES "${_regex}")
-        set(${VAR} 0)
-      endif()
-    endforeach()
-
-    if(${VAR})
-      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Performing C SOURCE FILE Test ${VAR} succeeded with the following output:\n"
-        "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
-      endif()
-      set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
-        "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n")
-    endif()
-  endif()
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/CheckCSourceRuns.cmake b/share/cmake-3.6/Modules/CheckCSourceRuns.cmake
deleted file mode 100644
index 5afeab6..0000000
--- a/share/cmake-3.6/Modules/CheckCSourceRuns.cmake
+++ /dev/null
@@ -1,107 +0,0 @@
-#.rst:
-# CheckCSourceRuns
-# ----------------
-#
-# Check if the given C source code compiles and runs.
-#
-# CHECK_C_SOURCE_RUNS(<code> <var>)
-#
-# ::
-#
-#   <code>   - source code to try to compile
-#   <var>    - variable to store the result
-#              (1 for success, empty for failure)
-#              Will be created as an internal cache variable.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_C_SOURCE_RUNS SOURCE VAR)
-  if(NOT DEFINED "${VAR}")
-    set(MACRO_CHECK_FUNCTION_DEFINITIONS
-      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
-    endif()
-    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
-      "${SOURCE}\n")
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
-    endif()
-    try_run(${VAR}_EXITCODE ${VAR}_COMPILED
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
-      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
-      COMPILE_OUTPUT_VARIABLE OUTPUT)
-    # if it did not compile make the return value fail code of 1
-    if(NOT ${VAR}_COMPILED)
-      set(${VAR}_EXITCODE 1)
-    endif()
-    # if the return value was 0 then it worked
-    if("${${VAR}_EXITCODE}" EQUAL 0)
-      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Performing C SOURCE FILE Test ${VAR} succeeded with the following output:\n"
-        "${OUTPUT}\n"
-        "Return value: ${${VAR}}\n"
-        "Source file was:\n${SOURCE}\n")
-    else()
-      if(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  "FAILED_TO_RUN")
-        set(${VAR} "${${VAR}_EXITCODE}")
-      else()
-        set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
-      endif()
-
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
-        "${OUTPUT}\n"
-        "Return value: ${${VAR}_EXITCODE}\n"
-        "Source file was:\n${SOURCE}\n")
-
-    endif()
-  endif()
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/CheckCXXCompilerFlag.cmake b/share/cmake-3.6/Modules/CheckCXXCompilerFlag.cmake
deleted file mode 100644
index fab3a05..0000000
--- a/share/cmake-3.6/Modules/CheckCXXCompilerFlag.cmake
+++ /dev/null
@@ -1,64 +0,0 @@
-#.rst:
-# CheckCXXCompilerFlag
-# --------------------
-#
-# Check whether the CXX compiler supports a given flag.
-#
-# CHECK_CXX_COMPILER_FLAG(<flag> <var>)
-#
-# ::
-#
-#   <flag> - the compiler flag
-#   <var>  - variable to store the result
-#
-# This internally calls the check_cxx_source_compiles macro and sets
-# CMAKE_REQUIRED_DEFINITIONS to <flag>.  See help for
-# CheckCXXSourceCompiles for a listing of variables that can otherwise
-# modify the build.  The result only tells that the compiler does not
-# give an error message when it encounters the flag.  If the flag has
-# any effect or even a specific one is beyond the scope of this module.
-
-#=============================================================================
-# Copyright 2006-2010 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2011 Matthias Kretz <kretz@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckCXXSourceCompiles)
-include(CMakeCheckCompilerFlagCommonPatterns)
-
-macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
-   set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
-   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(ENV{${v}} C)
-   endforeach()
-   CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCXXCompilerFlag_COMMON_PATTERNS)
-   CHECK_CXX_SOURCE_COMPILES("int main() { return 0; }" ${_RESULT}
-     # 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}
-     )
-   foreach(v ${_CheckCXXCompilerFlag_LOCALE_VARS})
-     set(ENV{${v}} ${_CheckCXXCompilerFlag_SAVED_${v}})
-     unset(_CheckCXXCompilerFlag_SAVED_${v})
-   endforeach()
-   unset(_CheckCXXCompilerFlag_LOCALE_VARS)
-   unset(_CheckCXXCompilerFlag_COMMON_PATTERNS)
-
-   set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-endmacro ()
-
diff --git a/share/cmake-3.6/Modules/CheckCXXSourceCompiles.cmake b/share/cmake-3.6/Modules/CheckCXXSourceCompiles.cmake
deleted file mode 100644
index f8736e2..0000000
--- a/share/cmake-3.6/Modules/CheckCXXSourceCompiles.cmake
+++ /dev/null
@@ -1,112 +0,0 @@
-#.rst:
-# CheckCXXSourceCompiles
-# ----------------------
-#
-# Check if given C++ source compiles and links into an executable
-#
-# CHECK_CXX_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
-#
-# ::
-#
-#   <code>       - source code to try to compile, must define 'main'
-#   <var>        - variable to store whether the source code compiled
-#                  Will be created as an internal cache variable.
-#   <fail-regex> - fail if test output matches this regex
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_CXX_SOURCE_COMPILES SOURCE VAR)
-  if(NOT DEFINED "${VAR}")
-    set(_FAIL_REGEX)
-    set(_key)
-    foreach(arg ${ARGN})
-      if("${arg}" MATCHES "^(FAIL_REGEX)$")
-        set(_key "${arg}")
-      elseif(_key)
-        list(APPEND _${_key} "${arg}")
-      else()
-        message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
-      endif()
-    endforeach()
-
-    set(MACRO_CHECK_FUNCTION_DEFINITIONS
-      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
-    endif()
-    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
-      "${SOURCE}\n")
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
-    endif()
-    try_compile(${VAR}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-      "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
-      OUTPUT_VARIABLE OUTPUT)
-
-    foreach(_regex ${_FAIL_REGEX})
-      if("${OUTPUT}" MATCHES "${_regex}")
-        set(${VAR} 0)
-      endif()
-    endforeach()
-
-    if(${VAR})
-      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Performing C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
-        "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
-      endif()
-      set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
-        "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n")
-    endif()
-  endif()
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/CheckCXXSourceRuns.cmake b/share/cmake-3.6/Modules/CheckCXXSourceRuns.cmake
deleted file mode 100644
index 84b661d..0000000
--- a/share/cmake-3.6/Modules/CheckCXXSourceRuns.cmake
+++ /dev/null
@@ -1,107 +0,0 @@
-#.rst:
-# CheckCXXSourceRuns
-# ------------------
-#
-# Check if the given C++ source code compiles and runs.
-#
-# CHECK_CXX_SOURCE_RUNS(<code> <var>)
-#
-# ::
-#
-#   <code>   - source code to try to compile
-#   <var>    - variable to store the result
-#              (1 for success, empty for failure)
-#              Will be created as an internal cache variable.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
-  if(NOT DEFINED "${VAR}")
-    set(MACRO_CHECK_FUNCTION_DEFINITIONS
-      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
-    endif()
-    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
-      "${SOURCE}\n")
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
-    endif()
-    try_run(${VAR}_EXITCODE ${VAR}_COMPILED
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
-      "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
-      COMPILE_OUTPUT_VARIABLE OUTPUT)
-
-    # if it did not compile make the return value fail code of 1
-    if(NOT ${VAR}_COMPILED)
-      set(${VAR}_EXITCODE 1)
-    endif()
-    # if the return value was 0 then it worked
-    if("${${VAR}_EXITCODE}" EQUAL 0)
-      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Performing C++ SOURCE FILE Test ${VAR} succeeded with the following output:\n"
-        "${OUTPUT}\n"
-        "Return value: ${${VAR}}\n"
-        "Source file was:\n${SOURCE}\n")
-    else()
-      if(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  "FAILED_TO_RUN")
-        set(${VAR} "${${VAR}_EXITCODE}")
-      else()
-        set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
-      endif()
-
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
-        "${OUTPUT}\n"
-        "Return value: ${${VAR}_EXITCODE}\n"
-        "Source file was:\n${SOURCE}\n")
-    endif()
-  endif()
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/CheckCXXSymbolExists.cmake b/share/cmake-3.6/Modules/CheckCXXSymbolExists.cmake
deleted file mode 100644
index 084fbb4..0000000
--- a/share/cmake-3.6/Modules/CheckCXXSymbolExists.cmake
+++ /dev/null
@@ -1,49 +0,0 @@
-#.rst:
-# CheckCXXSymbolExists
-# --------------------
-#
-# Check if a symbol exists as a function, variable, or macro in C++
-#
-# CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
-#
-# Check that the <symbol> is available after including given header
-# <files> and store the result in a <variable>.  Specify the list of
-# files in one argument as a semicolon-separated list.
-# CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as
-# opposed to CHECK_SYMBOL_EXISTS(), which works only for C.
-#
-# If the header files define the symbol as a macro it is considered
-# available and assumed to work.  If the header files declare the symbol
-# as a function or variable then the symbol must also be available for
-# linking.  If the symbol is a type or enum value it will not be
-# recognized (consider using CheckTypeSize or CheckCSourceCompiles).
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2003-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckSymbolExists)
-
-macro(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
-  _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckForPthreads.c b/share/cmake-3.6/Modules/CheckForPthreads.c
deleted file mode 100644
index 6fc6f26..0000000
--- a/share/cmake-3.6/Modules/CheckForPthreads.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <pthread.h>
-#include <stdio.h>
-#include <unistd.h>
-
-void* runner(void*);
-
-int res = 0;
-#ifdef __CLASSIC_C__
-int main()
-{
-  int ac;
-  char* av[];
-#else
-int main(int ac, char* av[])
-{
-#endif
-  pthread_t tid[2];
-  pthread_create(&tid[0], 0, runner, (void*)1);
-  pthread_create(&tid[1], 0, runner, (void*)2);
-
-#if defined(__BEOS__) && !defined(__ZETA__) /* (no usleep on BeOS 5.) */
-  usleep(1); /* for strange behavior on single-processor sun */
-#endif
-
-  pthread_join(tid[0], 0);
-  pthread_join(tid[1], 0);
-  if (ac > 1000) {
-    return *av[0];
-  }
-  return res;
-}
-
-void* runner(void* args)
-{
-  int cc;
-  for (cc = 0; cc < 10; cc++) {
-    printf("%p CC: %d\n", args, cc);
-  }
-  res++;
-  return 0;
-}
diff --git a/share/cmake-3.6/Modules/CheckFortranCompilerFlag.cmake b/share/cmake-3.6/Modules/CheckFortranCompilerFlag.cmake
deleted file mode 100644
index 53fd8d6..0000000
--- a/share/cmake-3.6/Modules/CheckFortranCompilerFlag.cmake
+++ /dev/null
@@ -1,66 +0,0 @@
-#.rst:
-# CheckFortranCompilerFlag
-# ------------------------
-#
-# Check whether the Fortran compiler supports a given flag.
-#
-# CHECK_Fortran_COMPILER_FLAG(<flag> <var>)
-#
-# ::
-#
-#   <flag> - the compiler flag
-#   <var>  - variable to store the result
-#            Will be created as an internal cache variable.
-#
-# This internally calls the check_fortran_source_compiles macro and
-# sets CMAKE_REQUIRED_DEFINITIONS to <flag>.  See help for
-# CheckFortranSourceCompiles for a listing of variables that can
-# otherwise modify the build.  The result only tells that the compiler
-# does not give an error message when it encounters the flag.  If the
-# flag has any effect or even a specific one is beyond the scope of
-# this module.
-
-#=============================================================================
-# Copyright 2015 Nicolas Bock <nicolasbock@gmail.com>
-# Copyright 2006-2011 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2011 Matthias Kretz <kretz@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckFortranSourceCompiles)
-include(CMakeCheckCompilerFlagCommonPatterns)
-
-macro (CHECK_Fortran_COMPILER_FLAG _FLAG _RESULT)
-  set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
-  set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
-
-  # Normalize locale during test compilation.
-  set(_CheckFortranCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
-  foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
-    set(_CheckFortranCompilerFlag_SAVED_${v} "$ENV{${v}}")
-    set(ENV{${v}} C)
-  endforeach()
-  CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckFortranCompilerFlag_COMMON_PATTERNS)
-  CHECK_Fortran_SOURCE_COMPILES("       program test\n       stop\n       end program" ${_RESULT}
-    # Some compilers do not fail with a bad flag
-    FAIL_REGEX "command line option .* is valid for .* but not for Fortran" # GNU
-    ${_CheckFortranCompilerFlag_COMMON_PATTERNS}
-    )
-  foreach(v ${_CheckFortranCompilerFlag_LOCALE_VARS})
-    set(ENV{${v}} ${_CheckFortranCompilerFlag_SAVED_${v}})
-    unset(_CheckFortranCompilerFlag_SAVED_${v})
-  endforeach()
-  unset(_CheckFortranCompilerFlag_LOCALE_VARS)
-  unset(_CheckFortranCompilerFlag_COMMON_PATTERNS)
-
-  set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-endmacro ()
diff --git a/share/cmake-3.6/Modules/CheckFortranFunctionExists.cmake b/share/cmake-3.6/Modules/CheckFortranFunctionExists.cmake
deleted file mode 100644
index bd52f61..0000000
--- a/share/cmake-3.6/Modules/CheckFortranFunctionExists.cmake
+++ /dev/null
@@ -1,78 +0,0 @@
-#.rst:
-# CheckFortranFunctionExists
-# --------------------------
-#
-# macro which checks if the Fortran function exists
-#
-# CHECK_FORTRAN_FUNCTION_EXISTS(FUNCTION VARIABLE)
-#
-# ::
-#
-#   FUNCTION - the name of the Fortran function
-#   VARIABLE - variable to store the result
-#              Will be created as an internal cache variable.
-#
-#
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
-  if(NOT DEFINED ${VARIABLE})
-    message(STATUS "Looking for Fortran ${FUNCTION}")
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
-    endif()
-    file(WRITE
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
-    "
-      program TESTFortran
-      external ${FUNCTION}
-      call ${FUNCTION}()
-      end program TESTFortran
-    "
-    )
-    try_compile(${VARIABLE}
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
-    ${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")
-      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")
-      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"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckFortranSourceCompiles.cmake b/share/cmake-3.6/Modules/CheckFortranSourceCompiles.cmake
deleted file mode 100644
index 0bdcffa..0000000
--- a/share/cmake-3.6/Modules/CheckFortranSourceCompiles.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-#.rst:
-# CheckFortranSourceCompiles
-# --------------------------
-#
-# Check if given Fortran source compiles and links into an executable::
-#
-#   CHECK_Fortran_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
-#
-# The arguments are:
-#
-# ``<code>``
-#   Source code to try to compile.  It must define a PROGRAM entry point.
-# ``<var>``
-#   Variable to store whether the source code compiled.
-#   Will be created as an internal cache variable.
-# ``<fail-regex>``
-#   Fail if test output matches this regex.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR)
-  if(NOT DEFINED "${VAR}")
-    set(_FAIL_REGEX)
-    set(_key)
-    foreach(arg ${ARGN})
-      if("${arg}" MATCHES "^(FAIL_REGEX)$")
-        set(_key "${arg}")
-      elseif(_key)
-        list(APPEND _${_key} "${arg}")
-      else()
-        message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
-      endif()
-    endforeach()
-    set(MACRO_CHECK_FUNCTION_DEFINITIONS
-      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES)
-    endif()
-    file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.F"
-      "${SOURCE}\n")
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Performing Test ${VAR}")
-    endif()
-    try_compile(${VAR}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.F
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-      "${CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES}"
-      OUTPUT_VARIABLE OUTPUT)
-
-    foreach(_regex ${_FAIL_REGEX})
-      if("${OUTPUT}" MATCHES "${_regex}")
-        set(${VAR} 0)
-      endif()
-    endforeach()
-
-    if(${VAR})
-      set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Success")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Performing Fortran SOURCE FILE Test ${VAR} succeeded with the following output:\n"
-        "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Performing Test ${VAR} - Failed")
-      endif()
-      set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Performing Fortran SOURCE FILE Test ${VAR} failed with the following output:\n"
-        "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckFunctionExists.c b/share/cmake-3.6/Modules/CheckFunctionExists.c
deleted file mode 100644
index 2304000..0000000
--- a/share/cmake-3.6/Modules/CheckFunctionExists.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifdef CHECK_FUNCTION_EXISTS
-
-#ifdef __cplusplus
-extern "C"
-#endif
-  char
-  CHECK_FUNCTION_EXISTS();
-#ifdef __CLASSIC_C__
-int main()
-{
-  int ac;
-  char* av[];
-#else
-int main(int ac, char* av[])
-{
-#endif
-  CHECK_FUNCTION_EXISTS();
-  if (ac > 1000) {
-    return *av[0];
-  }
-  return 0;
-}
-
-#else /* CHECK_FUNCTION_EXISTS */
-
-#error "CHECK_FUNCTION_EXISTS has to specify the function"
-
-#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/share/cmake-3.6/Modules/CheckFunctionExists.cmake b/share/cmake-3.6/Modules/CheckFunctionExists.cmake
deleted file mode 100644
index 5dd3751..0000000
--- a/share/cmake-3.6/Modules/CheckFunctionExists.cmake
+++ /dev/null
@@ -1,98 +0,0 @@
-#.rst:
-# CheckFunctionExists
-# -------------------
-#
-# Check if a C function can be linked
-#
-# CHECK_FUNCTION_EXISTS(<function> <variable>)
-#
-# Check that the <function> is provided by libraries on the system and
-# store the result in a <variable>.  This does not verify that any
-# system header file declares the function, only that it can be found at
-# link time (consider using CheckSymbolExists).
-# <variable> will be created as an internal cache variable.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2002-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
-  if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
-    set(MACRO_CHECK_FUNCTION_DEFINITIONS
-      "-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${FUNCTION}")
-    endif()
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_FUNCTION_EXISTS_ADD_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_FUNCTION_EXISTS_ADD_INCLUDES)
-    endif()
-
-    if(CMAKE_C_COMPILER_LOADED)
-      set(_cfe_source ${CMAKE_ROOT}/Modules/CheckFunctionExists.c)
-    elseif(CMAKE_CXX_COMPILER_LOADED)
-      set(_cfe_source ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckFunctionExists/CheckFunctionExists.cxx)
-      configure_file(${CMAKE_ROOT}/Modules/CheckFunctionExists.c "${_cfe_source}" COPYONLY)
-    else()
-      message(FATAL_ERROR "CHECK_FUNCTION_EXISTS needs either C or CXX language enabled")
-    endif()
-
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${_cfe_source}
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-      "${CHECK_FUNCTION_EXISTS_ADD_INCLUDES}"
-      OUTPUT_VARIABLE OUTPUT)
-    unset(_cfe_source)
-
-    if(${VARIABLE})
-      set(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} - 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")
-      endif()
-      set(${VARIABLE} "" CACHE INTERNAL "Have function ${FUNCTION}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the function ${FUNCTION} exists failed with the following output:\n"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckIncludeFile.cmake b/share/cmake-3.6/Modules/CheckIncludeFile.cmake
deleted file mode 100644
index ef1e39d..0000000
--- a/share/cmake-3.6/Modules/CheckIncludeFile.cmake
+++ /dev/null
@@ -1,99 +0,0 @@
-#.rst:
-# CheckIncludeFile
-# ----------------
-#
-# Provides a macro to check if a header file can be included in ``C``.
-#
-# .. command:: CHECK_INCLUDE_FILE
-#
-#   ::
-#
-#     CHECK_INCLUDE_FILE(<include> <variable> [<flags>])
-#
-#   Check if the given ``<include>`` file may be included in a ``C``
-#   source file and store the result in an internal cache entry named
-#   ``<variable>``.  The optional third argument may be used to add
-#   compilation flags to the check (or use ``CMAKE_REQUIRED_FLAGS`` below).
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ``CMAKE_REQUIRED_FLAGS``
-#   string of compile command line flags
-# ``CMAKE_REQUIRED_DEFINITIONS``
-#   list of macros to define (-DFOO=bar)
-# ``CMAKE_REQUIRED_INCLUDES``
-#   list of include directories
-# ``CMAKE_REQUIRED_QUIET``
-#   execute quietly without messages
-#
-# See the :module:`CheckIncludeFiles` module to check for multiple headers
-# at once.  See the :module:`CheckIncludeFileCXX` module to check for headers
-# using the ``CXX`` language.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
-  if(NOT DEFINED "${VARIABLE}")
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS)
-    endif()
-    set(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
-    set(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
-    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}")
-    endif()
-    if(${ARGC} EQUAL 3)
-      set(CMAKE_C_FLAGS_SAVE ${CMAKE_C_FLAGS})
-      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARGV2}")
-    endif()
-
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      CMAKE_FLAGS
-      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}
-      "${CHECK_INCLUDE_FILE_C_INCLUDE_DIRS}"
-      OUTPUT_VARIABLE OUTPUT)
-
-    if(${ARGC} EQUAL 3)
-      set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS_SAVE})
-    endif()
-
-    if(${VARIABLE})
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${INCLUDE} - found")
-      endif()
-      set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if the include file ${INCLUDE} "
-        "exists passed with the following output:\n"
-        "${OUTPUT}\n\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${INCLUDE} - not found")
-      endif()
-      set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the include file ${INCLUDE} "
-        "exists failed with the following output:\n"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckIncludeFileCXX.cmake b/share/cmake-3.6/Modules/CheckIncludeFileCXX.cmake
deleted file mode 100644
index 9a6df3b..0000000
--- a/share/cmake-3.6/Modules/CheckIncludeFileCXX.cmake
+++ /dev/null
@@ -1,98 +0,0 @@
-#.rst:
-# CheckIncludeFileCXX
-# -------------------
-#
-# Provides a macro to check if a header file can be included in ``CXX``.
-#
-# .. command:: CHECK_INCLUDE_FILE_CXX
-#
-#   ::
-#
-#     CHECK_INCLUDE_FILE_CXX(<include> <variable> [<flags>])
-#
-#   Check if the given ``<include>`` file may be included in a ``CXX``
-#   source file and store the result in an internal cache entry named
-#   ``<variable>``.  The optional third argument may be used to add
-#   compilation flags to the check (or use ``CMAKE_REQUIRED_FLAGS`` below).
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ``CMAKE_REQUIRED_FLAGS``
-#   string of compile command line flags
-# ``CMAKE_REQUIRED_DEFINITIONS``
-#   list of macros to define (-DFOO=bar)
-# ``CMAKE_REQUIRED_INCLUDES``
-#   list of include directories
-# ``CMAKE_REQUIRED_QUIET``
-#   execute quietly without messages
-#
-# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFiles`
-# to check for one or more ``C`` headers.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
-  if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS)
-    endif()
-    set(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
-    set(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
-    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}")
-    endif()
-    if(${ARGC} EQUAL 3)
-      set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGV2}")
-    endif()
-
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      CMAKE_FLAGS
-      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}
-      "${CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS}"
-      OUTPUT_VARIABLE OUTPUT)
-
-    if(${ARGC} EQUAL 3)
-      set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_SAVE})
-    endif()
-
-    if(${VARIABLE})
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for C++ include ${INCLUDE} - found")
-      endif()
-      set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if the include file ${INCLUDE} "
-        "exists passed with the following output:\n"
-        "${OUTPUT}\n\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for C++ include ${INCLUDE} - not found")
-      endif()
-      set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the include file ${INCLUDE} "
-        "exists failed with the following output:\n"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckIncludeFiles.cmake b/share/cmake-3.6/Modules/CheckIncludeFiles.cmake
deleted file mode 100644
index 843cd35..0000000
--- a/share/cmake-3.6/Modules/CheckIncludeFiles.cmake
+++ /dev/null
@@ -1,107 +0,0 @@
-#.rst:
-# CheckIncludeFiles
-# -----------------
-#
-# Provides a macro to check if a list of one or more header files can
-# be included together in ``C``.
-#
-# .. command:: CHECK_INCLUDE_FILES
-#
-#   ::
-#
-#     CHECK_INCLUDE_FILES("<includes>" <variable>)
-#
-#   Check if the given ``<includes>`` list may be included together
-#   in a ``C`` source file and store the result in an internal cache
-#   entry named ``<variable>``.  Specify the ``<includes>`` argument
-#   as a :ref:`;-list <CMake Language Lists>` of header file names.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ``CMAKE_REQUIRED_FLAGS``
-#   string of compile command line flags
-# ``CMAKE_REQUIRED_DEFINITIONS``
-#   list of macros to define (-DFOO=bar)
-# ``CMAKE_REQUIRED_INCLUDES``
-#   list of include directories
-# ``CMAKE_REQUIRED_QUIET``
-#   execute quietly without messages
-#
-# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFileCXX`
-# to check for a single header file in ``C`` or ``CXX`` languages.
-
-#=============================================================================
-# Copyright 2003-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
-  if(NOT DEFINED "${VARIABLE}")
-    set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CHECK_INCLUDE_FILES_INCLUDE_DIRS)
-    endif()
-    set(CHECK_INCLUDE_FILES_CONTENT "/* */\n")
-    set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS})
-    foreach(FILE ${INCLUDE})
-      set(CMAKE_CONFIGURABLE_FILE_CONTENT
-        "${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n")
-    endforeach()
-    set(CMAKE_CONFIGURABLE_FILE_CONTENT
-      "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n\nint main(void){return 0;}\n")
-    configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
-      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c" @ONLY)
-
-    set(_INCLUDE ${INCLUDE}) # remove empty elements
-    if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$")
-      list(LENGTH _INCLUDE _INCLUDE_LEN)
-      set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}")
-    elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$")
-      set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}")
-    else()
-      set(_description "include file ${_INCLUDE}")
-    endif()
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${_description}")
-    endif()
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      CMAKE_FLAGS
-      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS}
-      "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}"
-      OUTPUT_VARIABLE OUTPUT)
-    if(${VARIABLE})
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${_description} - found")
-      endif()
-      set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if files ${INCLUDE} "
-        "exist passed with the following output:\n"
-        "${OUTPUT}\n\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${_description} - not found")
-      endif()
-      set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if files ${INCLUDE} "
-        "exist failed with the following output:\n"
-        "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckLanguage.cmake b/share/cmake-3.6/Modules/CheckLanguage.cmake
deleted file mode 100644
index 99c809b..0000000
--- a/share/cmake-3.6/Modules/CheckLanguage.cmake
+++ /dev/null
@@ -1,78 +0,0 @@
-#.rst:
-# CheckLanguage
-# -------------
-#
-# Check if a language can be enabled
-#
-# Usage:
-#
-# ::
-#
-#   check_language(<lang>)
-#
-# where <lang> is a language that may be passed to enable_language()
-# such as "Fortran".  If CMAKE_<lang>_COMPILER is already defined the
-# check does nothing.  Otherwise it tries enabling the language in a
-# test project.  The result is cached in CMAKE_<lang>_COMPILER as the
-# compiler that was found, or NOTFOUND if the language cannot be
-# enabled.
-#
-# Example:
-#
-# ::
-#
-#   check_language(Fortran)
-#   if(CMAKE_Fortran_COMPILER)
-#     enable_language(Fortran)
-#   else()
-#     message(STATUS "No Fortran support")
-#   endif()
-
-#=============================================================================
-# Copyright 2009-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(check_language lang)
-  if(NOT DEFINED CMAKE_${lang}_COMPILER)
-    set(_desc "Looking for a ${lang} compiler")
-    message(STATUS ${_desc})
-    file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang})
-    file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}/CMakeLists.txt"
-      "cmake_minimum_required(VERSION ${CMAKE_VERSION})
-project(Check${lang} ${lang})
-file(WRITE \"\${CMAKE_CURRENT_BINARY_DIR}/result.cmake\"
-  \"set(CMAKE_${lang}_COMPILER \\\"\${CMAKE_${lang}_COMPILER}\\\")\\n\"
-  )
-")
-    execute_process(
-      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}
-      COMMAND ${CMAKE_COMMAND} . -G ${CMAKE_GENERATOR}
-      OUTPUT_VARIABLE output
-      ERROR_VARIABLE output
-      RESULT_VARIABLE result
-      )
-    include(${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}/result.cmake OPTIONAL)
-    if(CMAKE_${lang}_COMPILER AND "${result}" STREQUAL "0")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "${_desc} passed with the following output:\n"
-        "${output}\n")
-    else()
-      set(CMAKE_${lang}_COMPILER NOTFOUND)
-      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}")
-    set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER}" CACHE FILEPATH "${lang} compiler")
-    mark_as_advanced(CMAKE_${lang}_COMPILER)
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckLibraryExists.cmake b/share/cmake-3.6/Modules/CheckLibraryExists.cmake
deleted file mode 100644
index 6b53823..0000000
--- a/share/cmake-3.6/Modules/CheckLibraryExists.cmake
+++ /dev/null
@@ -1,97 +0,0 @@
-#.rst:
-# CheckLibraryExists
-# ------------------
-#
-# Check if the function exists.
-#
-# CHECK_LIBRARY_EXISTS (LIBRARY FUNCTION LOCATION VARIABLE)
-#
-# ::
-#
-#   LIBRARY  - the name of the library you are looking for
-#   FUNCTION - the name of the function
-#   LOCATION - location where the library should be found
-#   VARIABLE - variable to store the result
-#              Will be created as an internal cache variable.
-#
-#
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
-  if(NOT DEFINED "${VARIABLE}")
-    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}")
-    endif()
-    set(CHECK_LIBRARY_EXISTS_LIBRARIES ${LIBRARY})
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_LIBRARY_EXISTS_LIBRARIES
-        ${CHECK_LIBRARY_EXISTS_LIBRARIES} ${CMAKE_REQUIRED_LIBRARIES})
-    endif()
-
-    if(CMAKE_C_COMPILER_LOADED)
-      set(_cle_source ${CMAKE_ROOT}/Modules/CheckFunctionExists.c)
-    elseif(CMAKE_CXX_COMPILER_LOADED)
-      set(_cle_source ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckLibraryExists/CheckFunctionExists.cxx)
-      configure_file(${CMAKE_ROOT}/Modules/CheckFunctionExists.c "${_cle_source}" COPYONLY)
-    else()
-      message(FATAL_ERROR "CHECK_FUNCTION_EXISTS needs either C or CXX language enabled")
-    endif()
-
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${_cle_source}
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      LINK_LIBRARIES ${CHECK_LIBRARY_EXISTS_LIBRARIES}
-      CMAKE_FLAGS
-      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_LIBRARY_EXISTS_DEFINITION}
-      -DLINK_DIRECTORIES:STRING=${LOCATION}
-      OUTPUT_VARIABLE OUTPUT)
-    unset(_cle_source)
-
-    if(${VARIABLE})
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - found")
-      endif()
-      set(${VARIABLE} 1 CACHE INTERNAL "Have library ${LIBRARY}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if the function ${FUNCTION} exists in the ${LIBRARY} "
-        "passed with the following output:\n"
-        "${OUTPUT}\n\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - not found")
-      endif()
-      set(${VARIABLE} "" CACHE INTERNAL "Have library ${LIBRARY}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the function ${FUNCTION} exists in the ${LIBRARY} "
-        "failed with the following output:\n"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckPrototypeDefinition.cmake b/share/cmake-3.6/Modules/CheckPrototypeDefinition.cmake
deleted file mode 100644
index e203d4c..0000000
--- a/share/cmake-3.6/Modules/CheckPrototypeDefinition.cmake
+++ /dev/null
@@ -1,119 +0,0 @@
-#.rst:
-# CheckPrototypeDefinition
-# ------------------------
-#
-# Check if the protoype we expect is correct.
-#
-# check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)
-#
-# ::
-#
-#   FUNCTION - The name of the function (used to check if prototype exists)
-#   PROTOTYPE- The prototype to check.
-#   RETURN - The return value of the function.
-#   HEADER - The header files required.
-#   VARIABLE - The variable to store the result.
-#              Will be created as an internal cache variable.
-#
-# Example:
-#
-# ::
-#
-#   check_prototype_definition(getpwent_r
-#    "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)"
-#    "NULL"
-#    "unistd.h;pwd.h"
-#    SOLARIS_GETPWENT_R)
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-# Copyright 2010-2011 Andreas Schneider <asn@cryptomilk.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-#
-
-
-get_filename_component(__check_proto_def_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-
-function(CHECK_PROTOTYPE_DEFINITION _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIABLE)
-
-  if (NOT DEFINED ${_VARIABLE})
-    set(CHECK_PROTOTYPE_DEFINITION_CONTENT "/* */\n")
-
-    set(CHECK_PROTOTYPE_DEFINITION_FLAGS ${CMAKE_REQUIRED_FLAGS})
-    if (CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_PROTOTYPE_DEFINITION_LIBS
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_PROTOTYPE_DEFINITION_LIBS)
-    endif()
-    if (CMAKE_REQUIRED_INCLUDES)
-      set(CMAKE_SYMBOL_EXISTS_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CMAKE_SYMBOL_EXISTS_INCLUDES)
-    endif()
-
-    foreach(_FILE ${_HEADER})
-      set(CHECK_PROTOTYPE_DEFINITION_HEADER
-        "${CHECK_PROTOTYPE_DEFINITION_HEADER}#include <${_FILE}>\n")
-    endforeach()
-
-    set(CHECK_PROTOTYPE_DEFINITION_SYMBOL ${_FUNCTION})
-    set(CHECK_PROTOTYPE_DEFINITION_PROTO ${_PROTOTYPE})
-    set(CHECK_PROTOTYPE_DEFINITION_RETURN ${_RETURN})
-
-    configure_file("${__check_proto_def_dir}/CheckPrototypeDefinition.c.in"
-      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c" @ONLY)
-
-    file(READ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c _SOURCE)
-
-    try_compile(${_VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckPrototypeDefinition.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_PROTOTYPE_DEFINITION_LIBS}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CHECK_PROTOTYPE_DEFINITION_FLAGS}
-      "${CMAKE_SYMBOL_EXISTS_INCLUDES}"
-      OUTPUT_VARIABLE OUTPUT)
-
-    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")
-      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")
-      endif()
-      set(${_VARIABLE} 0 CACHE INTERNAL "Have correct prototype for ${_FUNCTION}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the prototype ${_FUNCTION} exists for ${_VARIABLE} failed with the following output:\n"
-        "${OUTPUT}\n\n${_SOURCE}\n\n")
-    endif ()
-  endif()
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/CheckSizeOf.cmake b/share/cmake-3.6/Modules/CheckSizeOf.cmake
deleted file mode 100644
index f0707df..0000000
--- a/share/cmake-3.6/Modules/CheckSizeOf.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-message(SEND_ERROR
-        "Modules/CheckSizeOf.cmake has been removed.  "
-        "Use Modules/CheckTypeSize.cmake instead.  This "
-        "compatibility check may be removed before the next release!")
diff --git a/share/cmake-3.6/Modules/CheckStructHasMember.cmake b/share/cmake-3.6/Modules/CheckStructHasMember.cmake
deleted file mode 100644
index 6c15205..0000000
--- a/share/cmake-3.6/Modules/CheckStructHasMember.cmake
+++ /dev/null
@@ -1,84 +0,0 @@
-#.rst:
-# CheckStructHasMember
-# --------------------
-#
-# Check if the given struct or class has the specified member variable
-#
-# ::
-#
-#  CHECK_STRUCT_HAS_MEMBER(<struct> <member> <header> <variable>
-#                          [LANGUAGE <language>])
-#
-# ::
-#
-#   <struct> - the name of the struct or class you are interested in
-#   <member> - the member which existence you want to check
-#   <header> - the header(s) where the prototype should be declared
-#   <variable> - variable to store the result
-#   <language> - the compiler to use (C or CXX)
-#
-#
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-#
-#
-#
-# Example: CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h
-# HAVE_TIMEVAL_TV_SEC LANGUAGE C)
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckCSourceCompiles)
-include(CheckCXXSourceCompiles)
-
-macro (CHECK_STRUCT_HAS_MEMBER _STRUCT _MEMBER _HEADER _RESULT)
-   set(_INCLUDE_FILES)
-   foreach (it ${_HEADER})
-      set(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
-   endforeach ()
-
-   if("x${ARGN}" STREQUAL "x")
-      set(_lang C)
-   elseif("x${ARGN}" MATCHES "^xLANGUAGE;([a-zA-Z]+)$")
-      set(_lang "${CMAKE_MATCH_1}")
-   else()
-      message(FATAL_ERROR "Unknown arguments:\n  ${ARGN}\n")
-   endif()
-
-   set(_CHECK_STRUCT_MEMBER_SOURCE_CODE "
-${_INCLUDE_FILES}
-int main()
-{
-   (void)sizeof(((${_STRUCT} *)0)->${_MEMBER});
-   return 0;
-}
-")
-
-   if("${_lang}" STREQUAL "C")
-      CHECK_C_SOURCE_COMPILES("${_CHECK_STRUCT_MEMBER_SOURCE_CODE}" ${_RESULT})
-   elseif("${_lang}" STREQUAL "CXX")
-      CHECK_CXX_SOURCE_COMPILES("${_CHECK_STRUCT_MEMBER_SOURCE_CODE}" ${_RESULT})
-   else()
-      message(FATAL_ERROR "Unknown language:\n  ${_lang}\nSupported languages: C, CXX.\n")
-   endif()
-endmacro ()
diff --git a/share/cmake-3.6/Modules/CheckSymbolExists.cmake b/share/cmake-3.6/Modules/CheckSymbolExists.cmake
deleted file mode 100644
index c4dff3f..0000000
--- a/share/cmake-3.6/Modules/CheckSymbolExists.cmake
+++ /dev/null
@@ -1,117 +0,0 @@
-#.rst:
-# CheckSymbolExists
-# -----------------
-#
-# Check if a symbol exists as a function, variable, or macro
-#
-# CHECK_SYMBOL_EXISTS(<symbol> <files> <variable>)
-#
-# Check that the <symbol> is available after including given header
-# <files> and store the result in a <variable>.  Specify the list of
-# files in one argument as a semicolon-separated list.
-# <variable> will be created as an internal cache variable.
-#
-# If the header files define the symbol as a macro it is considered
-# available and assumed to work.  If the header files declare the symbol
-# as a function or variable then the symbol must also be available for
-# linking.  If the symbol is a type or enum value it will not be
-# recognized (consider using CheckTypeSize or CheckCSourceCompiles).  If
-# the check needs to be done in C++, consider using
-# CHECK_CXX_SYMBOL_EXISTS(), which does the same as
-# CHECK_SYMBOL_EXISTS(), but in C++.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2003-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
-  if(CMAKE_C_COMPILER_LOADED)
-    _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
-  elseif(CMAKE_CXX_COMPILER_LOADED)
-    _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
-  else()
-    message(FATAL_ERROR "CHECK_SYMBOL_EXISTS needs either C or CXX language enabled")
-  endif()
-endmacro()
-
-macro(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE)
-  if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")
-    set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
-    set(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_SYMBOL_EXISTS_LIBS
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_SYMBOL_EXISTS_LIBS)
-    endif()
-    if(CMAKE_REQUIRED_INCLUDES)
-      set(CMAKE_SYMBOL_EXISTS_INCLUDES
-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
-    else()
-      set(CMAKE_SYMBOL_EXISTS_INCLUDES)
-    endif()
-    foreach(FILE ${FILES})
-      set(CMAKE_CONFIGURABLE_FILE_CONTENT
-        "${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n")
-    endforeach()
-    set(CMAKE_CONFIGURABLE_FILE_CONTENT
-      "${CMAKE_CONFIGURABLE_FILE_CONTENT}\nint main(int argc, char** argv)\n{\n  (void)argv;\n#ifndef ${SYMBOL}\n  return ((int*)(&${SYMBOL}))[argc];\n#else\n  (void)argc;\n  return 0;\n#endif\n}\n")
-
-    configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
-      "${SOURCEFILE}" @ONLY)
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${SYMBOL}")
-    endif()
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      "${SOURCEFILE}"
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_SYMBOL_EXISTS_LIBS}
-      CMAKE_FLAGS
-      -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
-      "${CMAKE_SYMBOL_EXISTS_INCLUDES}"
-      OUTPUT_VARIABLE OUTPUT)
-    if(${VARIABLE})
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${SYMBOL} - found")
-      endif()
-      set(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if the ${SYMBOL} "
-        "exist passed with the following output:\n"
-        "${OUTPUT}\nFile ${SOURCEFILE}:\n"
-        "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
-    else()
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${SYMBOL} - not found")
-      endif()
-      set(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the ${SYMBOL} "
-        "exist failed with the following output:\n"
-        "${OUTPUT}\nFile ${SOURCEFILE}:\n"
-        "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CheckTypeSize.c.in b/share/cmake-3.6/Modules/CheckTypeSize.c.in
deleted file mode 100644
index b6c3688..0000000
--- a/share/cmake-3.6/Modules/CheckTypeSize.c.in
+++ /dev/null
@@ -1,37 +0,0 @@
-@headers@
-
-#undef KEY
-#if defined(__i386)
-# define KEY '_','_','i','3','8','6'
-#elif defined(__x86_64)
-# define KEY '_','_','x','8','6','_','6','4'
-#elif defined(__ppc__)
-# define KEY '_','_','p','p','c','_','_'
-#elif defined(__ppc64__)
-# define KEY '_','_','p','p','c','6','4','_','_'
-#endif
-
-#define SIZE (sizeof(@type@))
-char info_size[] =  {'I', 'N', 'F', 'O', ':', 's','i','z','e','[',
-  ('0' + ((SIZE / 10000)%10)),
-  ('0' + ((SIZE / 1000)%10)),
-  ('0' + ((SIZE / 100)%10)),
-  ('0' + ((SIZE / 10)%10)),
-  ('0' +  (SIZE    % 10)),
-  ']',
-#ifdef KEY
-  ' ','k','e','y','[', KEY, ']',
-#endif
-  '\0'};
-
-#ifdef __CLASSIC_C__
-int main(argc, argv) int argc; char *argv[];
-#else
-int main(int argc, char *argv[])
-#endif
-{
-  int require = 0;
-  require += info_size[argc];
-  (void)argv;
-  return require;
-}
diff --git a/share/cmake-3.6/Modules/CheckTypeSize.cmake b/share/cmake-3.6/Modules/CheckTypeSize.cmake
deleted file mode 100644
index 5938d6c..0000000
--- a/share/cmake-3.6/Modules/CheckTypeSize.cmake
+++ /dev/null
@@ -1,273 +0,0 @@
-#.rst:
-# CheckTypeSize
-# -------------
-#
-# Check sizeof a type
-#
-# ::
-#
-#   CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY]
-#                                 [LANGUAGE <language>])
-#
-# Check if the type exists and determine its size.  On return,
-# "HAVE_${VARIABLE}" holds the existence of the type, and "${VARIABLE}"
-# holds one of the following:
-#
-# ::
-#
-#    <size> = type has non-zero size <size>
-#    "0"    = type has arch-dependent size (see below)
-#    ""     = type does not exist
-#
-# Both ``HAVE_${VARIABLE}`` and ``${VARIABLE}`` will be created as internal
-# cache variables.
-#
-# Furthermore, the variable "${VARIABLE}_CODE" holds C preprocessor code
-# to define the macro "${VARIABLE}" to the size of the type, or leave
-# the macro undefined if the type does not exist.
-#
-# The variable "${VARIABLE}" may be "0" when CMAKE_OSX_ARCHITECTURES has
-# multiple architectures for building OS X universal binaries.  This
-# indicates that the type size varies across architectures.  In this
-# case "${VARIABLE}_CODE" contains C preprocessor tests mapping from
-# each architecture macro to the corresponding type size.  The list of
-# architecture macros is stored in "${VARIABLE}_KEYS", and the value for
-# each key is stored in "${VARIABLE}-${KEY}".
-#
-# If the BUILTIN_TYPES_ONLY option is not given, the macro checks for
-# headers <sys/types.h>, <stdint.h>, and <stddef.h>, and saves results
-# in HAVE_SYS_TYPES_H, HAVE_STDINT_H, and HAVE_STDDEF_H.  The type size
-# check automatically includes the available headers, thus supporting
-# checks of types defined in the headers.
-#
-# If LANGUAGE is set, the specified compiler will be used to perform the
-# check. Acceptable values are C and CXX
-#
-# Despite the name of the macro you may use it to check the size of more
-# complex expressions, too.  To check e.g.  for the size of a struct
-# member you can do something like this:
-#
-# ::
-#
-#   check_type_size("((struct something*)0)->member" SIZEOF_MEMBER)
-#
-#
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_INCLUDES = list of include directories
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-#   CMAKE_EXTRA_INCLUDE_FILES = list of extra headers to include
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckIncludeFile)
-include(CheckIncludeFileCXX)
-
-cmake_policy(PUSH)
-cmake_policy(SET CMP0054 NEW)
-
-get_filename_component(__check_type_size_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-#-----------------------------------------------------------------------------
-# 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}")
-  endif()
-
-  # Include header files.
-  set(headers)
-  if(builtin)
-    if(HAVE_SYS_TYPES_H)
-      set(headers "${headers}#include <sys/types.h>\n")
-    endif()
-    if(HAVE_STDINT_H)
-      set(headers "${headers}#include <stdint.h>\n")
-    endif()
-    if(HAVE_STDDEF_H)
-      set(headers "${headers}#include <stddef.h>\n")
-    endif()
-  endif()
-  foreach(h ${CMAKE_EXTRA_INCLUDE_FILES})
-    set(headers "${headers}#include \"${h}\"\n")
-  endforeach()
-
-  # Perform the check.
-
-  if(language STREQUAL "C")
-    set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${var}.c)
-  elseif(language STREQUAL "CXX")
-    set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${var}.cpp)
-  else()
-    message(FATAL_ERROR "Unknown language:\n  ${language}\nSupported languages: C, CXX.\n")
-  endif()
-  set(bin ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${var}.bin)
-  configure_file(${__check_type_size_dir}/CheckTypeSize.c.in ${src} @ONLY)
-  try_compile(HAVE_${var} ${CMAKE_BINARY_DIR} ${src}
-    COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-    LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
-    CMAKE_FLAGS
-      "-DCOMPILE_DEFINITIONS:STRING=${CMAKE_REQUIRED_FLAGS}"
-      "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
-    OUTPUT_VARIABLE output
-    COPY_FILE ${bin}
-    )
-
-  if(HAVE_${var})
-    # The check compiled.  Load information from the binary.
-    file(STRINGS ${bin} strings LIMIT_COUNT 10 REGEX "INFO:size")
-
-    # Parse the information strings.
-    set(regex_size ".*INFO:size\\[0*([^]]*)\\].*")
-    set(regex_key " key\\[([^]]*)\\]")
-    set(keys)
-    set(code)
-    set(mismatch)
-    set(first 1)
-    foreach(info ${strings})
-      if("${info}" MATCHES "${regex_size}")
-        # Get the type size.
-        set(size "${CMAKE_MATCH_1}")
-        if(first)
-          set(${var} ${size})
-        elseif(NOT "${size}" STREQUAL "${${var}}")
-          set(mismatch 1)
-        endif()
-        set(first 0)
-
-        # Get the architecture map key.
-        string(REGEX MATCH   "${regex_key}"       key "${info}")
-        string(REGEX REPLACE "${regex_key}" "\\1" key "${key}")
-        if(key)
-          set(code "${code}\nset(${var}-${key} \"${size}\")")
-          list(APPEND keys ${key})
-        endif()
-      endif()
-    endforeach()
-
-    # Update the architecture-to-size map.
-    if(mismatch AND keys)
-      configure_file(${__check_type_size_dir}/CheckTypeSizeMap.cmake.in ${map} @ONLY)
-      set(${var} 0)
-    else()
-      file(REMOVE ${map})
-    endif()
-
-    if(mismatch AND NOT keys)
-      message(SEND_ERROR "CHECK_TYPE_SIZE found different results, consider setting CMAKE_OSX_ARCHITECTURES or CMAKE_TRY_COMPILE_OSX_ARCHITECTURES to one or no architecture !")
-    endif()
-
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Check size of ${type} - 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")
-    set(${var} "${${var}}" CACHE INTERNAL "CHECK_TYPE_SIZE: sizeof(${type})")
-  else()
-    # The check failed to compile.
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Check size of ${type} - failed")
-    endif()
-    file(READ ${src} content)
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-      "Determining size of ${type} failed with the following output:\n${output}\n${src}:\n${content}\n\n")
-    set(${var} "" CACHE INTERNAL "CHECK_TYPE_SIZE: ${type} unknown")
-    file(REMOVE ${map})
-  endif()
-endfunction()
-
-#-----------------------------------------------------------------------------
-macro(CHECK_TYPE_SIZE TYPE VARIABLE)
-  # parse arguments
-  unset(doing)
-  foreach(arg ${ARGN})
-    if("x${arg}" STREQUAL "xBUILTIN_TYPES_ONLY")
-      set(_CHECK_TYPE_SIZE_${arg} 1)
-      unset(doing)
-    elseif("x${arg}" STREQUAL "xLANGUAGE") # change to MATCHES for more keys
-      set(doing "${arg}")
-      set(_CHECK_TYPE_SIZE_${doing} "")
-    elseif("x${doing}" STREQUAL "xLANGUAGE")
-      set(_CHECK_TYPE_SIZE_${doing} "${arg}")
-      unset(doing)
-    else()
-      message(FATAL_ERROR "Unknown argument:\n  ${arg}\n")
-    endif()
-  endforeach()
-  if("x${doing}" MATCHES "^x(LANGUAGE)$")
-    message(FATAL_ERROR "Missing argument:\n  ${doing} arguments requires a value\n")
-  endif()
-  if(DEFINED _CHECK_TYPE_SIZE_LANGUAGE)
-    if(NOT "x${_CHECK_TYPE_SIZE_LANGUAGE}" MATCHES "^x(C|CXX)$")
-      message(FATAL_ERROR "Unknown language:\n  ${_CHECK_TYPE_SIZE_LANGUAGE}.\nSupported languages: C, CXX.\n")
-    endif()
-    set(_language ${_CHECK_TYPE_SIZE_LANGUAGE})
-  else()
-    set(_language C)
-  endif()
-
-  # Optionally check for standard headers.
-  if(_CHECK_TYPE_SIZE_BUILTIN_TYPES_ONLY)
-    set(_builtin 0)
-  else()
-    set(_builtin 1)
-    if(_language STREQUAL "C")
-      check_include_file(sys/types.h HAVE_SYS_TYPES_H)
-      check_include_file(stdint.h HAVE_STDINT_H)
-      check_include_file(stddef.h HAVE_STDDEF_H)
-    elseif(_language STREQUAL "CXX")
-      check_include_file_cxx(sys/types.h HAVE_SYS_TYPES_H)
-      check_include_file_cxx(stdint.h HAVE_STDINT_H)
-      check_include_file_cxx(stddef.h HAVE_STDDEF_H)
-    endif()
-  endif()
-  unset(_CHECK_TYPE_SIZE_BUILTIN_TYPES_ONLY)
-  unset(_CHECK_TYPE_SIZE_LANGUAGE)
-
-  # Compute or load the size or size map.
-  set(${VARIABLE}_KEYS)
-  set(_map_file ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/CheckTypeSize/${VARIABLE}.cmake)
-  if(NOT DEFINED HAVE_${VARIABLE})
-    __check_type_size_impl(${TYPE} ${VARIABLE} ${_map_file} ${_builtin} ${_language})
-  endif()
-  include(${_map_file} OPTIONAL)
-  set(_map_file)
-  set(_builtin)
-
-  # Create preprocessor code.
-  if(${VARIABLE}_KEYS)
-    set(${VARIABLE}_CODE)
-    set(_if if)
-    foreach(key ${${VARIABLE}_KEYS})
-      set(${VARIABLE}_CODE "${${VARIABLE}_CODE}#${_if} defined(${key})\n# define ${VARIABLE} ${${VARIABLE}-${key}}\n")
-      set(_if elif)
-    endforeach()
-    set(${VARIABLE}_CODE "${${VARIABLE}_CODE}#else\n# error ${VARIABLE} unknown\n#endif")
-    set(_if)
-  elseif(${VARIABLE})
-    set(${VARIABLE}_CODE "#define ${VARIABLE} ${${VARIABLE}}")
-  else()
-    set(${VARIABLE}_CODE "/* #undef ${VARIABLE} */")
-  endif()
-endmacro()
-
-#-----------------------------------------------------------------------------
-cmake_policy(POP)
diff --git a/share/cmake-3.6/Modules/CheckVariableExists.cmake b/share/cmake-3.6/Modules/CheckVariableExists.cmake
deleted file mode 100644
index f3e05e4..0000000
--- a/share/cmake-3.6/Modules/CheckVariableExists.cmake
+++ /dev/null
@@ -1,85 +0,0 @@
-#.rst:
-# CheckVariableExists
-# -------------------
-#
-# Check if the variable exists.
-#
-# ::
-#
-#   CHECK_VARIABLE_EXISTS(VAR VARIABLE)
-#
-#
-#
-# ::
-#
-#   VAR      - the name of the variable
-#   VARIABLE - variable to store the result
-#              Will be created as an internal cache variable.
-#
-#
-# This macro is only for C variables.
-#
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
-#
-# ::
-#
-#   CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#   CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-#   CMAKE_REQUIRED_QUIET = execute quietly without messages
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-
-macro(CHECK_VARIABLE_EXISTS VAR VARIABLE)
-  if(NOT DEFINED "${VARIABLE}")
-    set(MACRO_CHECK_VARIABLE_DEFINITIONS
-      "-DCHECK_VARIABLE_EXISTS=${VAR} ${CMAKE_REQUIRED_FLAGS}")
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Looking for ${VAR}")
-    endif()
-    if(CMAKE_REQUIRED_LIBRARIES)
-      set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES
-        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-    else()
-      set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES)
-    endif()
-    try_compile(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_ROOT}/Modules/CheckVariableExists.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      ${CHECK_VARIABLE_EXISTS_ADD_LIBRARIES}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS}
-      OUTPUT_VARIABLE OUTPUT)
-    if(${VARIABLE})
-      set(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${VAR} - found")
-      endif()
-      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if the variable ${VAR} exists passed with the following output:\n"
-        "${OUTPUT}\n\n")
-    else()
-      set(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
-      if(NOT CMAKE_REQUIRED_QUIET)
-        message(STATUS "Looking for ${VAR} - 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"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/ARMCC.cmake b/share/cmake-3.6/Modules/Compiler/ARMCC.cmake
deleted file mode 100644
index 3cf628c..0000000
--- a/share/cmake-3.6/Modules/Compiler/ARMCC.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-if(_ARMCC_CMAKE_LOADED)
-  return()
-endif()
-set(_ARMCC_CMAKE_LOADED TRUE)
-
-# See ARM Compiler documentation at:
-# http://infocenter.arm.com/help/topic/com.arm.doc.set.swdev/index.html
-
-get_filename_component(_CMAKE_C_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
-get_filename_component(_CMAKE_CXX_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
-
-set(CMAKE_EXECUTABLE_SUFFIX ".elf")
-
-find_program(CMAKE_ARMCC_LINKER armlink HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" )
-find_program(CMAKE_ARMCC_AR     armar   HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" )
-
-set(CMAKE_LINKER "${CMAKE_ARMCC_LINKER}" CACHE FILEPATH "The ARMCC linker" FORCE)
-mark_as_advanced(CMAKE_ARMCC_LINKER)
-set(CMAKE_AR "${CMAKE_ARMCC_AR}" CACHE FILEPATH "The ARMCC archiver" FORCE)
-mark_as_advanced(CMAKE_ARMCC_AR)
-
-macro(__compiler_armcc lang)
-  set(CMAKE_${lang}_FLAGS_INIT "")
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-Ospace -DNDEBUG")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-Otime -DNDEBUG")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
-
-  set(CMAKE_${lang}_OUTPUT_EXTENSION ".o")
-  set(CMAKE_${lang}_OUTPUT_EXTENSION_REPLACE 1)
-
-  set(CMAKE_${lang}_LINK_EXECUTABLE      "<CMAKE_LINKER> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS> -o <TARGET> --list <TARGET_BASE>.map")
-  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY  "<CMAKE_AR> --create -cr <TARGET> <LINK_FLAGS> <OBJECTS>")
-
-  set(CMAKE_DEPFILE_FLAGS_${lang} "--depend=<DEPFILE> --depend_single_line --no_depend_system_headers")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/Absoft-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/Absoft-Fortran.cmake
deleted file mode 100644
index 2e1666f..0000000
--- a/share/cmake-3.6/Modules/Compiler/Absoft-Fortran.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
-set(CMAKE_Fortran_FLAGS_INIT "")
-set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "")
-set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
-set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
-set(CMAKE_Fortran_MODDIR_FLAG "-YMOD_OUT_DIR=")
-set(CMAKE_Fortran_MODPATH_FLAG "-p")
-set(CMAKE_Fortran_VERBOSE_FLAG "-v")
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree")
diff --git a/share/cmake-3.6/Modules/Compiler/AppleClang-C.cmake b/share/cmake-3.6/Modules/Compiler/AppleClang-C.cmake
deleted file mode 100644
index 1cc72c0..0000000
--- a/share/cmake-3.6/Modules/Compiler/AppleClang-C.cmake
+++ /dev/null
@@ -1,42 +0,0 @@
-include(Compiler/Clang)
-__compiler_clang(C)
-
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
-  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
-  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
-
-  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
-  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
-
-  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
-  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
-endif()
-
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
-  if (NOT CMAKE_C_COMPILER_FORCED)
-    if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_C_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    set(CMAKE_C_STANDARD_DEFAULT 99)
-  endif()
-endif()
-
-macro(cmake_record_c_compile_features)
-  macro(_get_appleclang_features std_version list)
-    record_compiler_features(C "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
-    _get_appleclang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
-    if (_result EQUAL 0)
-      _get_appleclang_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_appleclang_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/AppleClang-CXX.cmake b/share/cmake-3.6/Modules/Compiler/AppleClang-CXX.cmake
deleted file mode 100644
index 95bc79a..0000000
--- a/share/cmake-3.6/Modules/Compiler/AppleClang-CXX.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-include(Compiler/Clang)
-__compiler_clang(CXX)
-
-if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
-  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
-  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
-
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
-  # AppleClang 5.0 knows this flag, but does not set a __cplusplus macro greater than 201103L
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
-  if (NOT CMAKE_CXX_COMPILER_FORCED)
-    if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_CXX_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    set(CMAKE_CXX_STANDARD_DEFAULT 98)
-  endif()
-endif()
-
-
-macro(cmake_record_cxx_compile_features)
-  macro(_get_appleclang_features std_version list)
-    record_compiler_features(CXX "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
-    set(_result 0)
-    if(CMAKE_CXX14_STANDARD_COMPILE_OPTION)
-      _get_appleclang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_appleclang_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_appleclang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/AppleClang-DetermineCompiler.cmake b/share/cmake-3.6/Modules/Compiler/AppleClang-DetermineCompiler.cmake
deleted file mode 100644
index 397f95c..0000000
--- a/share/cmake-3.6/Modules/Compiler/AppleClang-DetermineCompiler.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-
-set(_compiler_id_pp_test "defined(__clang__) && defined(__apple_build_version__)")
-
-include("${CMAKE_CURRENT_LIST_DIR}/Clang-DetermineCompilerInternal.cmake")
-
-set(_compiler_id_version_compute "${_compiler_id_version_compute}
-# define @PREFIX@COMPILER_VERSION_TWEAK @MACRO_DEC@(__apple_build_version__)")
diff --git a/share/cmake-3.6/Modules/Compiler/Bruce-C.cmake b/share/cmake-3.6/Modules/Compiler/Bruce-C.cmake
deleted file mode 100644
index 23676ec..0000000
--- a/share/cmake-3.6/Modules/Compiler/Bruce-C.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-# Bruce C Compiler ignores "-g" flag and optimization cannot be
-# enabled here (it is implemented only for 8086 target).
-set (CMAKE_C_FLAGS_INIT "-D__CLASSIC_C__")
-set (CMAKE_C_FLAGS_DEBUG_INIT "-g")
-set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-DNDEBUG")
-set (CMAKE_C_FLAGS_RELEASE_INIT "-DNDEBUG")
-set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-C.cmake b/share/cmake-3.6/Modules/Compiler/Clang-C.cmake
deleted file mode 100644
index d8b7743..0000000
--- a/share/cmake-3.6/Modules/Compiler/Clang-C.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-include(Compiler/Clang)
-__compiler_clang(C)
-
-cmake_policy(GET CMP0025 appleClangPolicy)
-if(WIN32 OR (APPLE AND NOT appleClangPolicy STREQUAL NEW))
-  return()
-endif()
-
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
-  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
-  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
-
-  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
-  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
-
-  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
-  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
-endif()
-
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
-  if (NOT CMAKE_C_COMPILER_FORCED)
-    if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_C_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6)
-      set(CMAKE_C_STANDARD_DEFAULT 11)
-    else()
-      set(CMAKE_C_STANDARD_DEFAULT 99)
-    endif()
-  endif()
-endif()
-
-macro(cmake_record_c_compile_features)
-  macro(_get_clang_features std_version list)
-    record_compiler_features(C "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
-    _get_clang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
-    if (_result EQUAL 0)
-      _get_clang_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_clang_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-CXX-FeatureTests.cmake b/share/cmake-3.6/Modules/Compiler/Clang-CXX-FeatureTests.cmake
deleted file mode 100644
index df2e1a8..0000000
--- a/share/cmake-3.6/Modules/Compiler/Clang-CXX-FeatureTests.cmake
+++ /dev/null
@@ -1,34 +0,0 @@
-
-# Reference: http://clang.llvm.org/cxx_status.html
-# http://clang.llvm.org/docs/LanguageExtensions.html
-
-set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 304")
-
-include("${CMAKE_CURRENT_LIST_DIR}/Clang-CXX-TestableFeatures.cmake")
-
-set(Clang34_CXX14 "((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus > 201103L")
-# http://llvm.org/bugs/show_bug.cgi?id=19242
-set(_cmake_feature_test_cxx_attribute_deprecated "${Clang34_CXX14}")
-# http://llvm.org/bugs/show_bug.cgi?id=19698
-set(_cmake_feature_test_cxx_decltype_auto "${Clang34_CXX14}")
-set(_cmake_feature_test_cxx_digit_separators "${Clang34_CXX14}")
-# http://llvm.org/bugs/show_bug.cgi?id=19674
-set(_cmake_feature_test_cxx_generic_lambdas "${Clang34_CXX14}")
-
-# TODO: Should be supported by Clang 3.1
-set(Clang31_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${Clang31_CXX11}")
-set(_cmake_feature_test_cxx_sizeof_member "${Clang31_CXX11}")
-# TODO: Should be supported by Clang 2.9
-set(Clang29_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_extern_templates "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_func_identifier "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_inline_namespaces "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_long_long_type "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_variadic_macros "${Clang29_CXX11}")
-
-# TODO: Should be supported forever?
-set(Clang_CXX98 "${_cmake_oldestSupported} && __cplusplus >= 199711L")
-set(_cmake_feature_test_cxx_template_template_parameters "${Clang_CXX98}")
diff --git a/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake b/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake
deleted file mode 100644
index dc62711..0000000
--- a/share/cmake-3.6/Modules/Compiler/Clang-CXX.cmake
+++ /dev/null
@@ -1,61 +0,0 @@
-include(Compiler/Clang)
-__compiler_clang(CXX)
-
-if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
-endif()
-
-cmake_policy(GET CMP0025 appleClangPolicy)
-if(APPLE AND NOT appleClangPolicy STREQUAL NEW)
-  return()
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
-  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
-  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
-elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
-  if (NOT CMAKE_CXX_COMPILER_FORCED)
-    if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_CXX_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    set(CMAKE_CXX_STANDARD_DEFAULT 98)
-  endif()
-endif()
-
-macro(cmake_record_cxx_compile_features)
-  macro(_get_clang_features std_version list)
-    record_compiler_features(CXX "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
-    _get_clang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
-    if (_result EQUAL 0)
-      _get_clang_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_clang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/Clang.cmake b/share/cmake-3.6/Modules/Compiler/Clang.cmake
deleted file mode 100644
index 701089c..0000000
--- a/share/cmake-3.6/Modules/Compiler/Clang.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__COMPILER_CLANG)
-  return()
-endif()
-set(__COMPILER_CLANG 1)
-
-if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
-    OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-  macro(__compiler_clang lang)
-  endmacro()
-else()
-  include(Compiler/GNU)
-
-  macro(__compiler_clang lang)
-    __compiler_gnu(${lang})
-    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
-    set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
-    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
-    if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4.0)
-      set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-target ")
-      set(CMAKE_${lang}_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN "-gcc-toolchain ")
-    else()
-      set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "--target=")
-      set(CMAKE_${lang}_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN "--gcc-toolchain=")
-    endif()
-  endmacro()
-endif()
diff --git a/share/cmake-3.6/Modules/Compiler/Cray-C.cmake b/share/cmake-3.6/Modules/Compiler/Cray-C.cmake
deleted file mode 100644
index 675560c..0000000
--- a/share/cmake-3.6/Modules/Compiler/Cray-C.cmake
+++ /dev/null
@@ -1 +0,0 @@
-set(CMAKE_C_VERBOSE_FLAG "-v")
diff --git a/share/cmake-3.6/Modules/Compiler/Cray-CXX.cmake b/share/cmake-3.6/Modules/Compiler/Cray-CXX.cmake
deleted file mode 100644
index 9fb191c..0000000
--- a/share/cmake-3.6/Modules/Compiler/Cray-CXX.cmake
+++ /dev/null
@@ -1 +0,0 @@
-set(CMAKE_CXX_VERBOSE_FLAG "-v")
diff --git a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv.cmake b/share/cmake-3.6/Modules/Compiler/CrayPrgEnv.cmake
deleted file mode 100644
index fa39b00..0000000
--- a/share/cmake-3.6/Modules/Compiler/CrayPrgEnv.cmake
+++ /dev/null
@@ -1,91 +0,0 @@
-# Guard against multiple inclusions
-if(__craylinux_crayprgenv)
-  return()
-endif()
-set(__craylinux_crayprgenv 1)
-
-macro(__cray_extract_args cmd tag_regex out_var make_absolute)
-  string(REGEX MATCHALL "${tag_regex}" args "${cmd}")
-  foreach(arg IN LISTS args)
-    string(REGEX REPLACE "^${tag_regex}$" "\\2" param "${arg}")
-    if(make_absolute)
-      get_filename_component(param "${param}" ABSOLUTE)
-    endif()
-    list(APPEND ${out_var} ${param})
-  endforeach()
-endmacro()
-
-function(__cray_extract_implicit src compiler_cmd link_cmd lang include_dirs_var link_dirs_var link_libs_var)
-  set(BIN "${CMAKE_PLATFORM_INFO_DIR}/CrayExtractImplicit_${lang}.bin")
-  execute_process(
-    COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_VERBOSE_FLAG} -o ${BIN}
-    RESULT_VARIABLE result
-    OUTPUT_VARIABLE output
-    ERROR_VARIABLE error
-    )
-  if(EXISTS "${BIN}")
-    file(REMOVE "${BIN}")
-  endif()
-  set(include_dirs)
-  set(link_dirs)
-  set(link_libs)
-  string(REGEX REPLACE "\r?\n" ";" output_lines "${output}\n${error}")
-  foreach(line IN LISTS output_lines)
-    if("${line}" MATCHES "${compiler_cmd}")
-      __cray_extract_args("${line}" " -(I ?|isystem )([^ ]*)" include_dirs 1)
-      set(processed_include 1)
-    endif()
-    if("${line}" MATCHES "${link_cmd}")
-      __cray_extract_args("${line}" " -(L ?)([^ ]*)" link_dirs 1)
-      __cray_extract_args("${line}" " -(l ?)([^ ]*)" link_libs 0)
-      set(processed_link 1)
-    endif()
-    if(processed_include AND processed_link)
-      break()
-    endif()
-  endforeach()
-
-  set(${include_dirs_var} "${include_dirs}" PARENT_SCOPE)
-  set(${link_dirs_var}    "${link_dirs}" PARENT_SCOPE)
-  set(${link_libs_var}    "${link_libs}" PARENT_SCOPE)
-  set(CRAY_${lang}_EXTRACTED_IMPLICIT 1 CACHE INTERNAL "" FORCE)
-endfunction()
-
-macro(__CrayPrgEnv_setup lang test_src compiler_cmd link_cmd)
-  if(DEFINED ENV{CRAYPE_VERSION})
-    message(STATUS "Cray Programming Environment $ENV{CRAYPE_VERSION} ${lang}")
-  elseif(DEFINED ENV{ASYNCPE_VERSION})
-    message(STATUS "Cray XT Programming Environment $ENV{ASYNCPE_VERSION} ${lang}")
-  endif()
-
-  # Flags for the Cray wrappers
-  set(CMAKE_STATIC_LIBRARY_LINK_${lang}_FLAGS "-static")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-dynamic")
-
-  # If the link type is not explicitly specified in the environment then
-  # the Cray wrappers assume that the code will be built staticly so
-  # we check the following condition(s) are NOT met
-  #  Compiler flags are explicitly dynamic
-  #  Env var is dynamic and compiler flags are not explicitly static
-  if(NOT (((CMAKE_${lang}_FLAGS MATCHES "(^| )-dynamic($| )") OR
-         (CMAKE_EXE_LINKER_FLAGS MATCHES "(^| )-dynamic($| )"))
-         OR
-         (("$ENV{CRAYPE_LINK_TYPE}" STREQUAL "dynamic") AND
-          NOT ((CMAKE_${lang}_FLAGS MATCHES "(^| )-static($| )") OR
-               (CMAKE_EXE_LINKER_FLAGS MATCHES "(^| )-static($| )")))))
-    set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-    set(BUILD_SHARED_LIBS FALSE CACHE BOOL "")
-    set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
-    set(CMAKE_LINK_SEARCH_START_STATIC TRUE)
-  endif()
-  if(NOT CRAY_${lang}_EXTRACTED_IMPLICIT)
-    __cray_extract_implicit(
-      ${test_src} ${compiler_cmd} ${link_cmd} ${lang}
-      CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES
-      CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES
-      CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES
-      )
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/G95-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/G95-Fortran.cmake
deleted file mode 100644
index fd84848..0000000
--- a/share/cmake-3.6/Modules/Compiler/G95-Fortran.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-set(CMAKE_Fortran_FLAGS_INIT "")
-set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
-set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
-set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
-set(CMAKE_Fortran_MODDIR_FLAG "-fmod=")
-set(CMAKE_Fortran_VERBOSE_FLAG "-v")
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
diff --git a/share/cmake-3.6/Modules/Compiler/GHS-C.cmake b/share/cmake-3.6/Modules/Compiler/GHS-C.cmake
deleted file mode 100644
index 3072715..0000000
--- a/share/cmake-3.6/Modules/Compiler/GHS-C.cmake
+++ /dev/null
@@ -1,30 +0,0 @@
-include(Compiler/GHS)
-
-set(CMAKE_C_VERBOSE_FLAG "-v")
-set(CMAKE_C_OUTPUT_EXTENSION ".o")
-
-set(CMAKE_C_FLAGS_INIT "")
-set(CMAKE_C_FLAGS_DEBUG_INIT "-Odebug -g")
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Ospace")
-set(CMAKE_C_FLAGS_RELEASE_INIT "-O")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O -g")
-
-set(CMAKE_C_GHS_KERNEL_FLAGS_DEBUG_INIT "-ldebug ${CMAKE_C_FLAGS_DEBUG_INIT}")
-set(CMAKE_C_GHS_KERNEL_FLAGS_MINSIZEREL_INIT "${CMAKE_C_FLAGS_MINSIZEREL_INIT}")
-set(CMAKE_C_GHS_KERNEL_FLAGS_RELEASE_INIT "${CMAKE_C_FLAGS_RELEASE_INIT}")
-set(CMAKE_C_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT
-  "-ldebug ${CMAKE_C_FLAGS_RELWITHDEBINFO_INIT}")
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-  set (CMAKE_C_GHS_KERNEL_FLAGS_DEBUG "${CMAKE_C_GHS_KERNEL_FLAGS_DEBUG_INIT}"
-    CACHE STRING "Kernel flags used by the compiler during debug builds.")
-  set (CMAKE_C_GHS_KERNEL_FLAGS_MINSIZEREL
-    "${CMAKE_C_GHS_KERNEL_FLAGS_MINSIZEREL_INIT}" CACHE STRING
-    "Kernel flags used by the compiler during release builds for minimum size.")
-  set (CMAKE_C_GHS_KERNEL_FLAGS_RELEASE
-    "${CMAKE_C_GHS_KERNEL_FLAGS_RELEASE_INIT}"
-    CACHE STRING "Kernel flags used by the compiler during release builds.")
-  set (CMAKE_C_GHS_KERNEL_FLAGS_RELWITHDEBINFO
-    "${CMAKE_C_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
-    "Kernel flags used by the compiler during release builds with debug info.")
-endif()
diff --git a/share/cmake-3.6/Modules/Compiler/GHS-CXX.cmake b/share/cmake-3.6/Modules/Compiler/GHS-CXX.cmake
deleted file mode 100644
index a51591b..0000000
--- a/share/cmake-3.6/Modules/Compiler/GHS-CXX.cmake
+++ /dev/null
@@ -1,34 +0,0 @@
-include(Compiler/GHS)
-
-set(CMAKE_CXX_VERBOSE_FLAG "-v")
-set(CMAKE_CXX_OUTPUT_EXTENSION ".o")
-
-set(CMAKE_CXX_FLAGS_INIT "")
-set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Odebug -g")
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Ospace")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O")
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O -g")
-
-set(CMAKE_CXX_GHS_KERNEL_FLAGS_DEBUG_INIT
-  "-ldebug ${CMAKE_CXX_FLAGS_DEBUG_INIT}")
-set(CMAKE_CXX_GHS_KERNEL_FLAGS_MINSIZEREL_INIT
-  "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT}")
-set(CMAKE_CXX_GHS_KERNEL_FLAGS_RELEASE_INIT
-  "${CMAKE_CXX_FLAGS_RELEASE_INIT}")
-set(CMAKE_CXX_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT
-  "-ldebug ${CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT}")
-
-if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-  set (CMAKE_CXX_GHS_KERNEL_FLAGS_DEBUG
-    "${CMAKE_CXX_GHS_KERNEL_FLAGS_DEBUG_INIT}"
-    CACHE STRING "Kernel flags used by the compiler during debug builds.")
-  set (CMAKE_CXX_GHS_KERNEL_FLAGS_MINSIZEREL
-    "${CMAKE_CXX_GHS_KERNEL_FLAGS_MINSIZEREL_INIT}" CACHE STRING
-    "Kernel flags used by the compiler during release builds for minimum size.")
-  set (CMAKE_CXX_GHS_KERNEL_FLAGS_RELEASE
-    "${CMAKE_CXX_GHS_KERNEL_FLAGS_RELEASE_INIT}"
-    CACHE STRING "Kernel flags used by the compiler during release builds.")
-  set (CMAKE_CXX_GHS_KERNEL_FLAGS_RELWITHDEBINFO
-    "${CMAKE_CXX_GHS_KERNEL_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
-    "Kernel flags used by the compiler during release builds with debug info.")
-endif()
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-C-FeatureTests.cmake b/share/cmake-3.6/Modules/Compiler/GNU-C-FeatureTests.cmake
deleted file mode 100644
index b3fe33f..0000000
--- a/share/cmake-3.6/Modules/Compiler/GNU-C-FeatureTests.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 404")
-
-# GNU 4.7 correctly sets __STDC_VERSION__ to 201112L, but GNU 4.6 sets it
-# to 201000L.  As the former is strictly greater than the latter, test only
-# for the latter.  If in the future CMake learns about a C feature which was
-# introduced with GNU 4.7, that should test for the correct version, similar
-# to the distinction between __cplusplus and __GXX_EXPERIMENTAL_CXX0X__ tests.
-set(GNU46_C11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L")
-set(_cmake_feature_test_c_static_assert "${GNU46_C11}")
-# Since 4.4 at least:
-set(GNU44_C99 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
-set(_cmake_feature_test_c_restrict "${GNU44_C99}")
-set(_cmake_feature_test_c_variadic_macros "${GNU44_C99}")
-
-set(GNU_C90 "${_cmake_oldestSupported}")
-set(_cmake_feature_test_c_function_prototypes "${GNU_C90}")
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-C.cmake b/share/cmake-3.6/Modules/Compiler/GNU-C.cmake
deleted file mode 100644
index 2c478da..0000000
--- a/share/cmake-3.6/Modules/Compiler/GNU-C.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-include(Compiler/GNU)
-__compiler_gnu(C)
-
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
-  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
-  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
-elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
-  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
-  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
-endif()
-
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
-  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
-  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
-endif()
-
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
-  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
-  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
-elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
-  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c1x")
-  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
-endif()
-
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
-  if (NOT CMAKE_C_COMPILER_FORCED)
-    if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_C_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
-      set(CMAKE_C_STANDARD_DEFAULT 11)
-    else()
-      set(CMAKE_C_STANDARD_DEFAULT 90)
-    endif()
-  endif()
-endif()
-
-
-macro(cmake_record_c_compile_features)
-  macro(_get_gcc_features std_version list)
-    record_compiler_features(C "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
-    _get_gcc_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
-  endif()
-  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
-    if (_result EQUAL 0)
-      _get_gcc_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_gcc_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-CXX.cmake b/share/cmake-3.6/Modules/Compiler/GNU-CXX.cmake
deleted file mode 100644
index e1c555b..0000000
--- a/share/cmake-3.6/Modules/Compiler/GNU-CXX.cmake
+++ /dev/null
@@ -1,66 +0,0 @@
-include(Compiler/GNU)
-__compiler_gnu(CXX)
-
-if (WIN32)
-  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
-    set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fno-keep-inline-dllexport")
-  endif()
-else()
-  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.2)
-    set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
-  endif()
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
-  # Supported since 4.3
-  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
-  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
-endif()
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
-elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
-  # 4.3 supports 0x variants
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
-endif()
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
-elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
-  if (NOT CMAKE_CXX_COMPILER_FORCED)
-    if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_CXX_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    set(CMAKE_CXX_STANDARD_DEFAULT 98)
-  endif()
-endif()
-
-macro(cmake_record_cxx_compile_features)
-  macro(_get_gcc_features std_version list)
-    record_compiler_features(CXX "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
-    _get_gcc_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
-  endif()
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
-    if (_result EQUAL 0)
-      _get_gcc_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_gcc_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/GNU-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/GNU-Fortran.cmake
deleted file mode 100644
index e9c8a59..0000000
--- a/share/cmake-3.6/Modules/Compiler/GNU-Fortran.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-include(Compiler/GNU)
-__compiler_gnu(Fortran)
-
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
-
-# No -DNDEBUG for Fortran.
-set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
-set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
-
-# No -isystem for Fortran because it will not find .mod files.
-unset(CMAKE_INCLUDE_SYSTEM_FLAG_Fortran)
-
-# Fortran-specific feature flags.
-set(CMAKE_Fortran_MODDIR_FLAG -J)
diff --git a/share/cmake-3.6/Modules/Compiler/GNU.cmake b/share/cmake-3.6/Modules/Compiler/GNU.cmake
deleted file mode 100644
index c2d393d..0000000
--- a/share/cmake-3.6/Modules/Compiler/GNU.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__COMPILER_GNU)
-  return()
-endif()
-set(__COMPILER_GNU 1)
-
-macro(__compiler_gnu lang)
-  # Feature flags.
-  set(CMAKE_${lang}_VERBOSE_FLAG "-v")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
-  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4)
-    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
-  endif()
-  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.2)
-    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
-  endif()
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_SYSROOT "--sysroot=")
-
-  # Older versions of gcc (< 4.5) contain a bug causing them to report a missing
-  # header file as a warning if depfiles are enabled, causing check_header_file
-  # tests to always succeed.  Work around this by disabling dependency tracking
-  # in try_compile mode.
-  get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
-  if(NOT _IN_TC OR CMAKE_FORCE_DEPFILES)
-    # distcc does not transform -o to -MT when invoking the preprocessor
-    # internally, as it ought to.  Work around this bug by setting -MT here
-    # even though it isn't strictly necessary.
-    set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <OBJECT> -MF <DEPFILE>")
-  endif()
-
-  # Initial configuration flags.
-  set(CMAKE_${lang}_FLAGS_INIT "")
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
-  if(NOT APPLE OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4) # work around #4462
-    set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/IAR-ASM.cmake b/share/cmake-3.6/Modules/Compiler/IAR-ASM.cmake
deleted file mode 100644
index 844c30e..0000000
--- a/share/cmake-3.6/Modules/Compiler/IAR-ASM.cmake
+++ /dev/null
@@ -1,14 +0,0 @@
-# This file is processed when the IAR compiler is used for an assembler file
-
-include(Compiler/IAR)
-
-set(CMAKE_ASM_COMPILE_OBJECT  "<CMAKE_ASM_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
-
-if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "ARM")
-  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;asm;msa)
-endif()
-
-
-if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "AVR")
-  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;asm;msa)
-endif()
diff --git a/share/cmake-3.6/Modules/Compiler/IAR-C.cmake b/share/cmake-3.6/Modules/Compiler/IAR-C.cmake
deleted file mode 100644
index f1b6ff7..0000000
--- a/share/cmake-3.6/Modules/Compiler/IAR-C.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file is processed when the IAR compiler is used for a C file
-
-
-include(Compiler/IAR)
-
-set(CMAKE_C_COMPILE_OBJECT             "<CMAKE_C_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
-set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>")
-set(CMAKE_C_CREATE_ASSEMBLY_SOURCE     "<CMAKE_C_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy")
-
-set(CMAKE_C_RESPONSE_FILE_LINK_FLAG "-f")
-set(CMAKE_DEPFILE_FLAGS_C "--dependencies=ns <DEPFILE>")
-
-# The toolchains for ARM and AVR are quite different:
-if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "ARM")
-
-  set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
-  set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> <TARGET> --create <LINK_FLAGS> <OBJECTS> ")
-
-endif()
-
-
-if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "AVR")
-  set(CMAKE_C_OUTPUT_EXTENSION ".r90")
-
-  if(NOT CMAKE_C_LINK_FLAGS)
-    set(CMAKE_C_LINK_FLAGS "-Fmotorola")
-  endif()
-
-  set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
-  set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> -o <TARGET> <OBJECTS> ")
-
-endif()
-
-# add the target specific include directory:
-get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
-get_filename_component(_compilerDir "${_compilerDir}" PATH)
-include_directories("${_compilerDir}/inc" )
diff --git a/share/cmake-3.6/Modules/Compiler/IAR-CXX.cmake b/share/cmake-3.6/Modules/Compiler/IAR-CXX.cmake
deleted file mode 100644
index ffb144f..0000000
--- a/share/cmake-3.6/Modules/Compiler/IAR-CXX.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file is processed when the IAR compiler is used for a C++ file
-
-include(Compiler/IAR)
-
-set(CMAKE_CXX_COMPILE_OBJECT  "<CMAKE_CXX_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>")
-
-set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>")
-set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE     "<CMAKE_CXX_COMPILER> <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy")
-
-set(CMAKE_CXX_RESPONSE_FILE_LINK_FLAG "-f")
-set(CMAKE_DEPFILE_FLAGS_CXX "--dependencies=ns <DEPFILE>")
-
-if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "ARM")
-
-  set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
-  set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> <TARGET> --create <LINK_FLAGS> <OBJECTS> ")
-
-endif()
-
-
-if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "AVR")
-  set(CMAKE_CXX_OUTPUT_EXTENSION ".r90")
-  if(NOT CMAKE_CXX_LINK_FLAGS)
-    set(CMAKE_CXX_LINK_FLAGS "-Fmotorola")
-  endif()
-
-  set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
-  set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> -o <TARGET> <OBJECTS> ")
-
-endif()
-
-# add the target specific include directory:
-get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
-get_filename_component(_compilerDir "${_compilerDir}" PATH)
-include_directories("${_compilerDir}/inc")
diff --git a/share/cmake-3.6/Modules/Compiler/IAR-DetermineCompiler.cmake b/share/cmake-3.6/Modules/Compiler/IAR-DetermineCompiler.cmake
deleted file mode 100644
index c39810a..0000000
--- a/share/cmake-3.6/Modules/Compiler/IAR-DetermineCompiler.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-
-# IAR Systems compiler for embedded systems.
-#   http://www.iar.com
-set(_compiler_id_pp_test "defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)")
diff --git a/share/cmake-3.6/Modules/Compiler/IAR.cmake b/share/cmake-3.6/Modules/Compiler/IAR.cmake
deleted file mode 100644
index 8c6c3f6..0000000
--- a/share/cmake-3.6/Modules/Compiler/IAR.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file is processed when the IAR compiler is used for a C or C++ file
-# Documentation can be downloaded here: http://www.iar.com/website1/1.0.1.0/675/1/
-# The initial feature request is here: https://cmake.org/Bug/view.php?id=10176
-# It also contains additional links and information.
-
-if(_IAR_CMAKE_LOADED)
-  return()
-endif()
-set(_IAR_CMAKE_LOADED TRUE)
-
-
-get_filename_component(_CMAKE_C_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
-get_filename_component(_CMAKE_CXX_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
-get_filename_component(_CMAKE_ASM_TOOLCHAIN_LOCATION "${CMAKE_ASM_COMPILER}" PATH)
-
-
-if("${CMAKE_C_COMPILER}" MATCHES "arm"  OR  "${CMAKE_CXX_COMPILER}" MATCHES "arm"  OR  "${CMAKE_ASM_COMPILER}" MATCHES "arm")
-  set(CMAKE_EXECUTABLE_SUFFIX ".elf")
-
-  # For arm, IAR uses the "ilinkarm" linker and "iarchive" archiver:
-  find_program(CMAKE_IAR_LINKER ilinkarm HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}")
-  find_program(CMAKE_IAR_AR iarchive HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}" )
-
-  set(IAR_TARGET_ARCHITECTURE "ARM" CACHE STRING "IAR compiler target architecture")
-endif()
-
-if("${CMAKE_C_COMPILER}" MATCHES "avr"  OR  "${CMAKE_CXX_COMPILER}" MATCHES "avr"  OR  "${CMAKE_ASM_COMPILER}" MATCHES "avr")
-  set(CMAKE_EXECUTABLE_SUFFIX ".bin")
-
-  # For AVR and AVR32, IAR uses the "xlink" linker and the "xar" archiver:
-  find_program(CMAKE_IAR_LINKER xlink HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}" )
-  find_program(CMAKE_IAR_AR xar HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}" )
-
-  set(IAR_TARGET_ARCHITECTURE "AVR" CACHE STRING "IAR compiler target architecture")
-
-  set(CMAKE_LIBRARY_PATH_FLAG "-I")
-
-endif()
-
-if(NOT IAR_TARGET_ARCHITECTURE)
-  message(FATAL_ERROR "The IAR compiler for this architecture is not yet supported "
-          " by CMake. Please go to https://cmake.org/Bug and enter a feature request there.")
-endif()
-
-set(CMAKE_LINKER "${CMAKE_IAR_LINKER}" CACHE FILEPATH "The IAR linker" FORCE)
-set(CMAKE_AR "${CMAKE_IAR_AR}" CACHE FILEPATH "The IAR archiver" FORCE)
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-ASM.cmake b/share/cmake-3.6/Modules/Compiler/Intel-ASM.cmake
deleted file mode 100644
index 74ceb0a..0000000
--- a/share/cmake-3.6/Modules/Compiler/Intel-ASM.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-set(CMAKE_ASM_VERBOSE_FLAG "-v")
-
-set(CMAKE_ASM_FLAGS_INIT "")
-set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
-set(CMAKE_ASM_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
-set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-
-if(UNIX)
-  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S)
-else()
-  set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
-endif()
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-C-FeatureTests.cmake b/share/cmake-3.6/Modules/Compiler/Intel-C-FeatureTests.cmake
deleted file mode 100644
index 34175c8..0000000
--- a/share/cmake-3.6/Modules/Compiler/Intel-C-FeatureTests.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-# References:
-#   - https://software.intel.com/en-us/articles/iso-iec-standards-language-conformance-for-intel-c-compiler
-#   - https://software.intel.com/en-us/articles/c99-support-in-intel-c-compiler
-#   - https://software.intel.com/en-us/articles/c11-support-in-intel-c-compiler
-
-# FIXME: Intel C feature detection works only when simulating the GNU compiler.
-if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
-  return()
-endif()
-
-set(DETECT_C99 "defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
-
-#static assert is only around in version 1500 update 2 and above
-set(_cmake_feature_test_c_static_assert "(__INTEL_COMPILER > 1500 || (__INTEL_COMPILER == 1500 && __INTEL_COMPILER_UPDATE > 1) ) && ${DETECT_C99}")
-
-set(_cmake_oldestSupported "__INTEL_COMPILER >= 1110")
-set(Intel_C99 "${_cmake_oldestSupported} && ${DETECT_C99}")
-set(_cmake_feature_test_c_restrict "${Intel_C99}")
-set(_cmake_feature_test_c_variadic_macros "${Intel_C99}")
-set(_cmake_feature_test_c_function_prototypes "${_cmake_oldestSupported}")
-unset(Intel_C99)
-
-unset(DETECT_C99)
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-C.cmake b/share/cmake-3.6/Modules/Compiler/Intel-C.cmake
deleted file mode 100644
index eb9602a..0000000
--- a/share/cmake-3.6/Modules/Compiler/Intel-C.cmake
+++ /dev/null
@@ -1,68 +0,0 @@
-set(CMAKE_C_VERBOSE_FLAG "-v")
-
-set(CMAKE_C_FLAGS_INIT "")
-set(CMAKE_C_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
-set(CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-
-set(CMAKE_DEPFILE_FLAGS_C "-MD -MT <OBJECT> -MF <DEPFILE>")
-
-if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
-  set(_std -Qstd)
-else()
-  set(_std -std)
-endif()
-
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
-  set(CMAKE_C11_STANDARD_COMPILE_OPTION "${_std}=c11")
-  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "${_std}=c11")
-endif()
-
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)
-  set(CMAKE_C90_STANDARD_COMPILE_OPTION "${_std}=c89")
-  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "${_std}=c89")
-  set(CMAKE_C99_STANDARD_COMPILE_OPTION "${_std}=c99")
-  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "${_std}=c99")
-endif()
-
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)
-  if (NOT CMAKE_C_COMPILER_FORCED)
-    if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_C_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
-      set(CMAKE_C_STANDARD_DEFAULT 11)
-    else()
-      set(CMAKE_C_STANDARD_DEFAULT 90)
-    endif()
-  endif()
-endif()
-
-unset(_std)
-
-macro(cmake_record_c_compile_features)
-  macro(_get_intel_c_features std_version list)
-    record_compiler_features(C "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC" AND
-      NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)
-    if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
-      _get_intel_c_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_intel_c_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_intel_c_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
-
-set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-CXX-FeatureTests.cmake b/share/cmake-3.6/Modules/Compiler/Intel-CXX-FeatureTests.cmake
deleted file mode 100644
index e111c07..0000000
--- a/share/cmake-3.6/Modules/Compiler/Intel-CXX-FeatureTests.cmake
+++ /dev/null
@@ -1,96 +0,0 @@
-# References:
-#   - https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler
-#   - https://software.intel.com/en-us/articles/c14-features-supported-by-intel-c-compiler
-
-# FIXME: Intel C++ feature detection works only when simulating the GNU compiler.
-# When simulating MSVC, Intel always sets __cplusplus to 199711L.
-if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-  return()
-endif()
-
-# these are not implemented in any version at time of writing
-#set(_cmake_feature_test_cxx_variable_templates "${Intel15_CXX14}")
-#set(_cmake_feature_test_cxx_relaxed_constexpr "${Intel15_CXX14}")
-
-set(_cmake_oldestSupported "__INTEL_COMPILER >= 1210")
-set(DETECT_CXX11 "((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))")
-#ICC version 15 update 1 has a bug where __cplusplus is defined as 1 no matter
-#if you are compiling as 98/11/14. So to properly detect C++14 with this version
-#we look for the existence of __GXX_EXPERIMENTAL_CXX0X__ but not __INTEL_CXX11_MODE__
-set(DETECT_BUGGY_ICC15 "((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))")
-set(DETECT_CXX14 "((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) || ((${DETECT_BUGGY_ICC15}) && defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(__INTEL_CXX11_MODE__) ) )")
-
-set(Intel16_CXX14 "__INTEL_COMPILER >= 1600 && ${DETECT_CXX14}")
-set(_cmake_feature_test_cxx_aggregate_default_initializers "${Intel16_CXX14}")
-set(_cmake_feature_test_cxx_contextual_conversions "${Intel16_CXX14}")
-set(_cmake_feature_test_cxx_generic_lambdas "${Intel16_CXX14}")
-set(_cmake_feature_test_cxx_digit_separators "${Intel16_CXX14}")
-# This test is supposed to work in Intel 14 but the compiler has a bug
-# in versions 14 and 15::
-# https://software.intel.com/en-us/forums/intel-c-compiler/topic/600514
-# It also appears to fail with an internal compiler error on Intel 16.
-#set(_cmake_feature_test_cxx_generalized_initializers "${Intel16_CXX14}")
-
-set(Intel15_CXX14 "__INTEL_COMPILER >= 1500 && ${DETECT_CXX14}")
-set(_cmake_feature_test_cxx_decltype_auto "${Intel15_CXX14}")
-set(_cmake_feature_test_cxx_lambda_init_captures "${Intel15_CXX14}")
-set(_cmake_feature_test_cxx_attribute_deprecated "${Intel15_CXX14}")
-set(_cmake_feature_test_cxx_return_type_deduction "${Intel15_CXX14}")
-
-set(Intel15_CXX11 "__INTEL_COMPILER >= 1500 && ${DETECT_CXX11}")
-set(_cmake_feature_test_cxx_alignas "${Intel15_CXX11}")
-set(_cmake_feature_test_cxx_alignof "${Intel15_CXX11}")
-set(_cmake_feature_test_cxx_inheriting_constructors "${Intel15_CXX11}")
-set(_cmake_feature_test_cxx_user_literals "${Intel15_CXX11}")
-set(_cmake_feature_test_cxx_thread_local "${Intel15_CXX11}")
-
-set(Intel14_CXX11 "${DETECT_CXX11} && (__INTEL_COMPILER > 1400 || (__INTEL_COMPILER == 1400 && __INTEL_COMPILER_UPDATE >= 2))")
-# Documented as 12.0+ but in testing it only works on 14.0.2+
-set(_cmake_feature_test_cxx_decltype_incomplete_return_types "${Intel14_CXX11}")
-
-set(Intel14_CXX11 "__INTEL_COMPILER >= 1400 && ${DETECT_CXX11}")
-set(_cmake_feature_test_cxx_delegating_constructors "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_constexpr "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_sizeof_member "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_strong_enums "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_reference_qualified_functions "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_raw_string_literals "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_unicode_literals "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_inline_namespaces "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_unrestricted_unions "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_nonstatic_member_init "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_override "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_final "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_noexcept "${Intel14_CXX11}")
-set(_cmake_feature_test_cxx_defaulted_move_initializers "${Intel14_CXX11}")
-
-set(Intel13_CXX11 "__INTEL_COMPILER >= 1300 && ${DETECT_CXX11}")
-set(_cmake_feature_test_cxx_explicit_conversions "${Intel13_CXX11}")
-set(_cmake_feature_test_cxx_range_for "${Intel13_CXX11}")
-# Cannot find Intel documentation for N2640: cxx_uniform_initialization
-set(_cmake_feature_test_cxx_uniform_initialization "${Intel13_CXX11}")
-
-set(Intel121_CXX11 "${_cmake_oldestSupported} && ${DETECT_CXX11}")
-set(_cmake_feature_test_cxx_variadic_templates "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_alias_templates "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_nullptr "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_trailing_return_types "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_attributes "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_default_function_template_args "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_rvalue_references "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_decltype "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_defaulted_functions "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_deleted_functions "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_local_type_template_args "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_lambdas "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_binary_literals "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_static_assert "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_auto_type "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_extern_templates "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_variadic_macros "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_long_long_type "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_func_identifier "${Intel121_CXX11}")
-set(_cmake_feature_test_cxx_template_template_parameters "${Intel121_CXX11}")
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-CXX.cmake b/share/cmake-3.6/Modules/Compiler/Intel-CXX.cmake
deleted file mode 100644
index 369e041..0000000
--- a/share/cmake-3.6/Modules/Compiler/Intel-CXX.cmake
+++ /dev/null
@@ -1,76 +0,0 @@
-set(CMAKE_CXX_VERBOSE_FLAG "-v")
-
-set(CMAKE_CXX_FLAGS_INIT "")
-set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-
-set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT <OBJECT> -MF <DEPFILE>")
-
-if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-  set(_std -Qstd)
-else()
-  set(_std -std)
-endif()
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.2)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "${_std}=c++14")
-  # todo: there is no gnu++14 value supported; figure out what to do
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "${_std}=c++14")
-elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.0)
-  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "${_std}=c++1y")
-  # todo: there is no gnu++14 value supported; figure out what to do
-  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "${_std}=c++1y")
-endif()
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "${_std}=c++11")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "${_std}=gnu++11")
-elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "${_std}=c++0x")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "${_std}=gnu++0x")
-endif()
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
-  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "${_std}=c++98")
-  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "${_std}=gnu++98")
-endif()
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
-  if (NOT CMAKE_CXX_COMPILER_FORCED)
-    if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
-    else()
-      set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
-    endif()
-  elseif (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    set(CMAKE_CXX_STANDARD_DEFAULT 98)
-  endif()
-endif()
-
-unset(_std)
-
-macro(cmake_record_cxx_compile_features)
-  macro(_get_intel_features std_version list)
-    record_compiler_features(CXX "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC" AND
-      NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
-    if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0)
-      _get_intel_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_intel_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
-    endif()
-    if (_result EQUAL 0)
-      _get_intel_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
-
-set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/Intel-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/Intel-Fortran.cmake
deleted file mode 100644
index 671d284..0000000
--- a/share/cmake-3.6/Modules/Compiler/Intel-Fortran.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
-set(CMAKE_Fortran_FLAGS_INIT "")
-set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
-set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
-set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
-set(CMAKE_Fortran_MODDIR_FLAG "-module ")
-set(CMAKE_Fortran_VERBOSE_FLAG "-v")
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
-
-set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/MSVC-CXX-FeatureTests.cmake b/share/cmake-3.6/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
deleted file mode 100644
index 79d5962..0000000
--- a/share/cmake-3.6/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
+++ /dev/null
@@ -1,114 +0,0 @@
-
-# Reference: http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-# http://www.visualstudio.com/en-us/news/vs2015-preview-vs.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2015/04/29/c-11-14-17-features-in-vs-2015-rc.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
-
-
-set(_cmake_oldestSupported "_MSC_VER >= 1600")
-
-# VS 2015 Update 2 introduces support for variable templates.
-# https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx
-set(_cmake_feature_test_cxx_variable_templates "_MSC_FULL_VER >= 190023918")
-
-set(MSVC_2015 "_MSC_VER >= 1900")
-set(_cmake_feature_test_cxx_alignas "${MSVC_2015}")
-set(_cmake_feature_test_cxx_alignof "${MSVC_2015}")
-set(_cmake_feature_test_cxx_attributes "${MSVC_2015}")
-set(_cmake_feature_test_cxx_attribute_deprecated "${MSVC_2015}")
-set(_cmake_feature_test_cxx_binary_literals "${MSVC_2015}")
-set(_cmake_feature_test_cxx_constexpr "${MSVC_2015}")
-set(_cmake_feature_test_cxx_decltype_auto "${MSVC_2015}")
-set(_cmake_feature_test_cxx_digit_separators "${MSVC_2015}")
-set(_cmake_feature_test_cxx_func_identifier "${MSVC_2015}")
-set(_cmake_feature_test_cxx_nonstatic_member_init "${MSVC_2015}")
-# Microsoft calls this 'rvalue references v3'
-set(_cmake_feature_test_cxx_defaulted_move_initializers "${MSVC_2015}")
-set(_cmake_feature_test_cxx_generic_lambdas "${MSVC_2015}")
-set(_cmake_feature_test_cxx_inheriting_constructors "${MSVC_2015}")
-set(_cmake_feature_test_cxx_inline_namespaces "${MSVC_2015}")
-set(_cmake_feature_test_cxx_lambda_init_captures "${MSVC_2015}")
-set(_cmake_feature_test_cxx_noexcept "${MSVC_2015}")
-set(_cmake_feature_test_cxx_return_type_deduction "${MSVC_2015}")
-set(_cmake_feature_test_cxx_sizeof_member "${MSVC_2015}")
-set(_cmake_feature_test_cxx_thread_local "${MSVC_2015}")
-set(_cmake_feature_test_cxx_unicode_literals "${MSVC_2015}")
-set(_cmake_feature_test_cxx_unrestricted_unions "${MSVC_2015}")
-set(_cmake_feature_test_cxx_user_literals "${MSVC_2015}")
-set(_cmake_feature_test_cxx_reference_qualified_functions "${MSVC_2015}")
-# "The copies and moves don't interact precisely like the Standard says they
-# should. For example, deletion of moves is specified to also suppress
-# copies, but Visual C++ in Visual Studio 2013 does not."
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-# lists this as 'partial' in 2013
-set(_cmake_feature_test_cxx_deleted_functions "${MSVC_2015}")
-
-set(MSVC_2013_v30723 "_MSC_FULL_VER >= 180030723")
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-# Note 1. While previous version of VisualStudio said they supported these
-# they silently produced bad code, and are now marked as having partial
-# support in previous versions. The footnote says the support will be complete
-# in MSVC 2015, so support the feature for that version, assuming that is true.
-# The blog post also says that VS 2013 Update 3 generates an error in cases
-# that previously produced bad code.
-set(_cmake_feature_test_cxx_generalized_initializers "${MSVC_2013_v30723}")
-
-set(MSVC_2013 "_MSC_VER >= 1800")
-set(_cmake_feature_test_cxx_alias_templates "${MSVC_2013}")
-# Microsoft now states they support contextual conversions in 2013 and above.
-# See footnote 6 at:
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-set(_cmake_feature_test_cxx_contextual_conversions "${MSVC_2013}")
-set(_cmake_feature_test_cxx_default_function_template_args "${MSVC_2013}")
-set(_cmake_feature_test_cxx_defaulted_functions "${MSVC_2013}")
-set(_cmake_feature_test_cxx_delegating_constructors "${MSVC_2013}")
-set(_cmake_feature_test_cxx_explicit_conversions "${MSVC_2013}")
-set(_cmake_feature_test_cxx_raw_string_literals "${MSVC_2013}")
-set(_cmake_feature_test_cxx_uniform_initialization "${MSVC_2013}")
-# Support is documented, but possibly partly broken:
-# https://msdn.microsoft.com/en-us/library/hh567368.aspx
-# http://thread.gmane.org/gmane.comp.lib.boost.devel/244986/focus=245333
-set(_cmake_feature_test_cxx_variadic_templates "${MSVC_2013}")
-
-set(MSVC_2012 "_MSC_VER >= 1700")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${MSVC_2012}")
-set(_cmake_feature_test_cxx_final "${MSVC_2012}")
-set(_cmake_feature_test_cxx_range_for "${MSVC_2012}")
-set(_cmake_feature_test_cxx_strong_enums "${MSVC_2012}")
-
-set(MSVC_2010 "_MSC_VER >= 1600")
-set(_cmake_feature_test_cxx_auto_type "${MSVC_2010}")
-set(_cmake_feature_test_cxx_decltype "${MSVC_2010}")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${MSVC_2010}")
-set(_cmake_feature_test_cxx_extern_templates "${MSVC_2010}")
-set(_cmake_feature_test_cxx_lambdas "${MSVC_2010}")
-set(_cmake_feature_test_cxx_local_type_template_args "${MSVC_2010}")
-set(_cmake_feature_test_cxx_long_long_type "${MSVC_2010}")
-set(_cmake_feature_test_cxx_nullptr "${MSVC_2010}")
-set(_cmake_feature_test_cxx_override "${MSVC_2010}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${MSVC_2010}")
-set(_cmake_feature_test_cxx_rvalue_references "${MSVC_2010}")
-set(_cmake_feature_test_cxx_static_assert "${MSVC_2010}")
-set(_cmake_feature_test_cxx_template_template_parameters "${MSVC_2010}")
-set(_cmake_feature_test_cxx_trailing_return_types "${MSVC_2010}")
-set(_cmake_feature_test_cxx_variadic_macros "${MSVC_2010}")
-
-# Currently unsupported:
-# set(_cmake_feature_test_cxx_relaxed_constexpr )
-# 'NSDMIs for aggregates'
-# set(_cmake_feature_test_cxx_aggregate_default_initializers )
-
-# In theory decltype incomplete return types was added in 2012
-# but without support for decltype_auto and return type deduction this
-# feature is unusable.  This remains so as of VS 2015 Preview.
-# set(_cmake_feature_test_cxx_decltype_incomplete_return_types )
-
-# Unset all the variables that we don't need exposed.
-# _cmake_oldestSupported is required by WriteCompilerDetectionHeader
-set(MSVC_2015)
-set(MSVC_2013_v30723)
-set(MSVC_2013)
-set(MSVC_2012)
-set(MSVC_2010)
diff --git a/share/cmake-3.6/Modules/Compiler/MSVC-CXX.cmake b/share/cmake-3.6/Modules/Compiler/MSVC-CXX.cmake
deleted file mode 100644
index 82ce069..0000000
--- a/share/cmake-3.6/Modules/Compiler/MSVC-CXX.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.0)
-  # MSVC has no specific language level or flags to change it.
-  set(CMAKE_CXX_STANDARD_DEFAULT "")
-endif()
-
-macro(cmake_record_cxx_compile_features)
-  record_compiler_features(CXX "" CMAKE_CXX_COMPILE_FEATURES)
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/NAG-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/NAG-Fortran.cmake
deleted file mode 100644
index 18f141e..0000000
--- a/share/cmake-3.6/Modules/Compiler/NAG-Fortran.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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")
-  # Run with -dryrun to see sample "link" line.
-  execute_process(
-    COMMAND ${CMAKE_Fortran_COMPILER} dummy.o -dryrun
-    OUTPUT_VARIABLE _dryrun
-    ERROR_VARIABLE _dryrun
-    )
-  # Match an object file.
-  string(REGEX MATCH "/[^ ]*/[^ /][^ /]*\\.o" _nag_obj "${_dryrun}")
-  if(_nag_obj)
-    # Parse object directory and convert to a regex.
-    string(REGEX REPLACE "/[^/]*$" "" _nag_dir "${_nag_obj}")
-    string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" _nag_regex "${_nag_dir}")
-    set(CMAKE_Fortran_IMPLICIT_OBJECT_REGEX "^${_nag_regex}/")
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-      "Detecting NAG Fortran directory with -dryrun found\n"
-      "  object: ${_nag_obj}\n"
-      "  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}")
-  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")
-  endif()
-endif()
-
-set(CMAKE_Fortran_MODDIR_FLAG "-mdir ")
-set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-PIC")
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
-set(CMAKE_Fortran_COMPILE_OPTIONS_PIC "-PIC")
diff --git a/share/cmake-3.6/Modules/Compiler/PGI-C.cmake b/share/cmake-3.6/Modules/Compiler/PGI-C.cmake
deleted file mode 100644
index da88c01..0000000
--- a/share/cmake-3.6/Modules/Compiler/PGI-C.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-include(Compiler/PGI)
-__compiler_pgi(C)
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "${CMAKE_C_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
-set(CMAKE_C_FLAGS_RELEASE_INIT "${CMAKE_C_FLAGS_RELEASE_INIT} -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/PGI-CXX.cmake b/share/cmake-3.6/Modules/Compiler/PGI-CXX.cmake
deleted file mode 100644
index 97c9555..0000000
--- a/share/cmake-3.6/Modules/Compiler/PGI-CXX.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-include(Compiler/PGI)
-__compiler_pgi(CXX)
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/PGI-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/PGI-Fortran.cmake
deleted file mode 100644
index 2866254..0000000
--- a/share/cmake-3.6/Modules/Compiler/PGI-Fortran.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
-include(Compiler/PGI)
-__compiler_pgi(Fortran)
-
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-Mnofreeform")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-Mfreeform")
-
-set(CMAKE_Fortran_FLAGS_INIT "${CMAKE_Fortran_FLAGS_INIT} -Mpreprocess -Kieee")
-set(CMAKE_Fortran_FLAGS_DEBUG_INIT "${CMAKE_Fortran_FLAGS_DEBUG_INIT} -Mbounds")
-
-set(CMAKE_Fortran_MODDIR_FLAG "-module ")
diff --git a/share/cmake-3.6/Modules/Compiler/PGI.cmake b/share/cmake-3.6/Modules/Compiler/PGI.cmake
deleted file mode 100644
index 797945f..0000000
--- a/share/cmake-3.6/Modules/Compiler/PGI.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__COMPILER_PGI)
-  return()
-endif()
-set(__COMPILER_PGI 1)
-
-macro(__compiler_pgi lang)
-  # Feature flags.
-  set(CMAKE_${lang}_VERBOSE_FLAG "-v")
-
-  # Initial configuration flags.
-  set(CMAKE_${lang}_FLAGS_INIT "")
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g -O0")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-O2 -s")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-fast -O3 -Mipa=fast")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -gopt")
-
-  # Preprocessing and assembly rules.
-  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/PathScale-C.cmake b/share/cmake-3.6/Modules/Compiler/PathScale-C.cmake
deleted file mode 100644
index 9db54af..0000000
--- a/share/cmake-3.6/Modules/Compiler/PathScale-C.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-include(Compiler/PathScale)
-__compiler_pathscale(C)
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "${CMAKE_C_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
-set(CMAKE_C_FLAGS_RELEASE_INIT "${CMAKE_C_FLAGS_RELEASE_INIT} -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/PathScale-CXX.cmake b/share/cmake-3.6/Modules/Compiler/PathScale-CXX.cmake
deleted file mode 100644
index 4dd7660..0000000
--- a/share/cmake-3.6/Modules/Compiler/PathScale-CXX.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-include(Compiler/PathScale)
-__compiler_pathscale(CXX)
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/PathScale.cmake b/share/cmake-3.6/Modules/Compiler/PathScale.cmake
deleted file mode 100644
index 107f779..0000000
--- a/share/cmake-3.6/Modules/Compiler/PathScale.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__COMPILER_PATHSCALE)
-  return()
-endif()
-set(__COMPILER_PATHSCALE 1)
-
-macro(__compiler_pathscale lang)
-  # Feature flags.
-  set(CMAKE_${lang}_VERBOSE_FLAG "-v")
-
-  # Initial configuration flags.
-  set(CMAKE_${lang}_FLAGS_INIT "")
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g -O0")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-Os")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O3")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-g -O2")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/QCC.cmake b/share/cmake-3.6/Modules/Compiler/QCC.cmake
deleted file mode 100644
index f69c7bd..0000000
--- a/share/cmake-3.6/Modules/Compiler/QCC.cmake
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2014 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-include(Compiler/GNU)
-
-macro(__compiler_qcc lang)
-  __compiler_gnu(${lang})
-
-  # http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/q/qcc.html#examples
-  set(CMAKE_${lang}_COMPILE_OPTIONS_TARGET "-V")
-
-  set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-Wp,-isystem,")
-  set(CMAKE_DEPFILE_FLAGS_${lang} "-Wc,-MD,<DEPFILE>,-MT,<OBJECT>,-MF,<DEPFILE>")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/SCO.cmake b/share/cmake-3.6/Modules/Compiler/SCO.cmake
deleted file mode 100644
index f673c8f..0000000
--- a/share/cmake-3.6/Modules/Compiler/SCO.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__COMPILER_SCO)
-  return()
-endif()
-set(__COMPILER_SCO 1)
-
-macro(__compiler_sco lang)
-  # Feature flags.
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC -Kpic)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE -Kpie)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_DLL -belf)
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-Kpic -belf")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-belf -Wl,-Bexport")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/SDCC-C-DetermineCompiler.cmake b/share/cmake-3.6/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
deleted file mode 100644
index 1d7dd78..0000000
--- a/share/cmake-3.6/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
-
-# sdcc, the small devices C compiler for embedded systems,
-#   http://sdcc.sourceforge.net  */
-set(_compiler_id_pp_test "defined(SDCC)")
-
-set(_compiler_id_version_compute "
-  /* SDCC = VRP */
-#  define COMPILER_VERSION_MAJOR @MACRO_DEC@(SDCC/100)
-#  define COMPILER_VERSION_MINOR @MACRO_DEC@(SDCC/10 % 10)
-#  define COMPILER_VERSION_PATCH @MACRO_DEC@(SDCC    % 10)")
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-ASM.cmake b/share/cmake-3.6/Modules/Compiler/SunPro-ASM.cmake
deleted file mode 100644
index 2fa8b99..0000000
--- a/share/cmake-3.6/Modules/Compiler/SunPro-ASM.cmake
+++ /dev/null
@@ -1,24 +0,0 @@
-set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
-
-set(CMAKE_ASM_VERBOSE_FLAG "-#")
-
-set(CMAKE_SHARED_LIBRARY_ASM_FLAGS "-KPIC")
-set(CMAKE_SHARED_LIBRARY_CREATE_ASM_FLAGS "-G")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG "-R")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG_SEP ":")
-set(CMAKE_SHARED_LIBRARY_SONAME_ASM_FLAG "-h")
-
-set(CMAKE_ASM_FLAGS_INIT "")
-set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-set(CMAKE_ASM_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
-
-# Initialize ASM link type selection flags.  These flags are used when
-# building a shared library, shared module, or executable that links
-# to other libraries to select whether to use the static or shared
-# versions of the libraries.
-foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-  set(CMAKE_${type}_LINK_STATIC_ASM_FLAGS "-Bstatic")
-  set(CMAKE_${type}_LINK_DYNAMIC_ASM_FLAGS "-Bdynamic")
-endforeach()
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-C.cmake b/share/cmake-3.6/Modules/Compiler/SunPro-C.cmake
deleted file mode 100644
index c452983..0000000
--- a/share/cmake-3.6/Modules/Compiler/SunPro-C.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-set(CMAKE_C_VERBOSE_FLAG "-#")
-
-set(CMAKE_C_COMPILE_OPTIONS_PIC -KPIC)
-set(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC")
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h")
-
-set(CMAKE_C_FLAGS_INIT "")
-set(CMAKE_C_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-set(CMAKE_C_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
-
-# Initialize C link type selection flags.  These flags are used when
-# building a shared library, shared module, or executable that links
-# to other libraries to select whether to use the static or shared
-# versions of the libraries.
-foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-  set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Bstatic")
-  set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Bdynamic")
-endforeach()
-
-set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-CXX-FeatureTests.cmake b/share/cmake-3.6/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
deleted file mode 100644
index 8e97e1d..0000000
--- a/share/cmake-3.6/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
+++ /dev/null
@@ -1,52 +0,0 @@
-
-# Based on GNU 4.8.2
-# http://docs.oracle.com/cd/E37069_01/html/E37071/gncix.html
-# Reference: http://gcc.gnu.org/projects/cxx0x.html
-
-set(_cmake_oldestSupported "__SUNPRO_CC >= 0x5130")
-
-set(SolarisStudio124_CXX11 "(__SUNPRO_CC >= 0x5130) && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_alignas "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_alignof "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_attributes "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_inheriting_constructors "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_thread_local "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_alias_templates "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_delegating_constructors "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_final "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_noexcept "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_nonstatic_member_init "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_override "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_constexpr "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_defaulted_move_initializers "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_nullptr "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_range_for "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_unrestricted_unions "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_explicit_conversions "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_lambdas "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_local_type_template_args "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_raw_string_literals "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_auto_type "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_defaulted_functions "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_deleted_functions "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_generalized_initializers "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_inline_namespaces "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_sizeof_member "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_strong_enums "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_trailing_return_types "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_unicode_literals "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_uniform_initialization "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_variadic_templates "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_decltype "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_default_function_template_args "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_long_long_type "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_rvalue_references "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_static_assert "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_extern_templates "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_func_identifier "${SolarisStudio124_CXX11}")
-set(_cmake_feature_test_cxx_variadic_macros "${SolarisStudio124_CXX11}")
-
-set(_cmake_feature_test_cxx_template_template_parameters "${_cmake_oldestSupported} && __cplusplus")
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-CXX.cmake b/share/cmake-3.6/Modules/Compiler/SunPro-CXX.cmake
deleted file mode 100644
index b4a5591..0000000
--- a/share/cmake-3.6/Modules/Compiler/SunPro-CXX.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-set(CMAKE_CXX_VERBOSE_FLAG "-v")
-
-set(CMAKE_CXX_COMPILE_OPTIONS_PIC -KPIC)
-set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC")
-set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":")
-set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-h")
-
-set(CMAKE_CXX_FLAGS_INIT "")
-set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
-
-# Initialize C link type selection flags.  These flags are used when
-# building a shared library, shared module, or executable that links
-# to other libraries to select whether to use the static or shared
-# versions of the libraries.
-foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-  set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Bstatic")
-  set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Bdynamic")
-endforeach()
-
-set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
-
-# Create archives with "CC -xar" in case user adds "-instances=extern"
-# so that template instantiations are available to archive members.
-set(CMAKE_CXX_CREATE_STATIC_LIBRARY
-  "<CMAKE_CXX_COMPILER> -xar -o <TARGET> <OBJECTS> "
-  "<CMAKE_RANLIB> <TARGET> ")
-
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
-  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
-  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=c++11")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
-  if (NOT CMAKE_CXX_COMPILER_FORCED)
-    if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
-      message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
-    endif()
-    set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
-  elseif(NOT DEFINED CMAKE_CXX_STANDARD_DEFAULT)
-    # Compiler id was forced so just guess the default standard level.
-    set(CMAKE_CXX_STANDARD_DEFAULT 98)
-  endif()
-endif()
-
-macro(cmake_record_cxx_compile_features)
-  macro(_get_solaris_studio_features std_version list)
-    record_compiler_features(CXX "${std_version}" ${list})
-  endmacro()
-
-  set(_result 0)
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
-    _get_solaris_studio_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
-    if (_result EQUAL 0)
-      _get_solaris_studio_features("" CMAKE_CXX98_COMPILE_FEATURES)
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Compiler/SunPro-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/SunPro-Fortran.cmake
deleted file mode 100644
index 610e191..0000000
--- a/share/cmake-3.6/Modules/Compiler/SunPro-Fortran.cmake
+++ /dev/null
@@ -1,22 +0,0 @@
-set(CMAKE_Fortran_VERBOSE_FLAG "-v")
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
-
-set(CMAKE_Fortran_COMPILE_OPTIONS_PIC "-KPIC")
-set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-KPIC")
-set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-G")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG "-R")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ":")
-set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-h")
-set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG "-R")
-
-set(CMAKE_Fortran_FLAGS_INIT "")
-set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
-set(CMAKE_Fortran_MODDIR_FLAG "-moddir=")
-set(CMAKE_Fortran_MODPATH_FLAG "-M")
-
-set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -F <SOURCE> -o <PREPROCESSED_SOURCE>")
-set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/TinyCC-C.cmake b/share/cmake-3.6/Modules/Compiler/TinyCC-C.cmake
deleted file mode 100644
index f7937ac..0000000
--- a/share/cmake-3.6/Modules/Compiler/TinyCC-C.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
-
-# no optimization in tcc:
-set (CMAKE_C_FLAGS_INIT "")
-set (CMAKE_C_FLAGS_DEBUG_INIT "-g")
-set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-DNDEBUG")
-set (CMAKE_C_FLAGS_RELEASE_INIT "-DNDEBUG")
-set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Compiler/XL-ASM.cmake b/share/cmake-3.6/Modules/Compiler/XL-ASM.cmake
deleted file mode 100644
index 212179e..0000000
--- a/share/cmake-3.6/Modules/Compiler/XL-ASM.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
-set(CMAKE_ASM_VERBOSE_FLAG "-V")
-
-# -qthreaded     = Ensures that all optimizations will be thread-safe
-# -qhalt=e       = Halt on error messages (rather than just severe errors)
-set(CMAKE_ASM_FLAGS_INIT "-qthreaded -qhalt=e -qsourcetype=assembler")
-
-set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_ASM_FLAGS_RELEASE_INIT "-O -DNDEBUG")
-set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-O -DNDEBUG")
-set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-g -DNDEBUG")
-
-set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
diff --git a/share/cmake-3.6/Modules/Compiler/XL-C.cmake b/share/cmake-3.6/Modules/Compiler/XL-C.cmake
deleted file mode 100644
index 97dd017..0000000
--- a/share/cmake-3.6/Modules/Compiler/XL-C.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-include(Compiler/XL)
-__compiler_xl(C)
-set(CMAKE_C_FLAGS_RELEASE_INIT "${CMAKE_C_FLAGS_RELEASE_INIT} -DNDEBUG")
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "${CMAKE_C_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
-
-# -qthreaded     = Ensures that all optimizations will be thread-safe
-# -qhalt=e       = Halt on error messages (rather than just severe errors)
-set(CMAKE_C_FLAGS_INIT "-qthreaded -qhalt=e")
diff --git a/share/cmake-3.6/Modules/Compiler/XL-CXX.cmake b/share/cmake-3.6/Modules/Compiler/XL-CXX.cmake
deleted file mode 100644
index 41372c1..0000000
--- a/share/cmake-3.6/Modules/Compiler/XL-CXX.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-include(Compiler/XL)
-__compiler_xl(CXX)
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -DNDEBUG")
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
-
-# -qthreaded     = Ensures that all optimizations will be thread-safe
-# -qhalt=e       = Halt on error messages (rather than just severe errors)
-set(CMAKE_CXX_FLAGS_INIT "-qthreaded -qhalt=e")
-
-set(CMAKE_CXX_COMPILE_OBJECT
-  "<CMAKE_CXX_COMPILER> -+ <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
diff --git a/share/cmake-3.6/Modules/Compiler/XL-Fortran.cmake b/share/cmake-3.6/Modules/Compiler/XL-Fortran.cmake
deleted file mode 100644
index ae9df4e..0000000
--- a/share/cmake-3.6/Modules/Compiler/XL-Fortran.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-include(Compiler/XL)
-__compiler_xl(Fortran)
-
-set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-qfixed") # [=<right_margin>]
-set(CMAKE_Fortran_FORMAT_FREE_FLAG "-qfree") # [=f90|ibm]
-
-set(CMAKE_Fortran_MODDIR_FLAG "-qmoddir=")
-
-set(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")
-
-# -qthreaded     = Ensures that all optimizations will be thread-safe
-# -qhalt=e       = Halt on error messages (rather than just severe errors)
-set(CMAKE_Fortran_FLAGS_INIT "-qthreaded -qhalt=e")
-
-# xlf: 1501-214 (W) command option E reserved for future use - ignored
-set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
-set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
diff --git a/share/cmake-3.6/Modules/Compiler/XL.cmake b/share/cmake-3.6/Modules/Compiler/XL.cmake
deleted file mode 100644
index bf4f554..0000000
--- a/share/cmake-3.6/Modules/Compiler/XL.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__COMPILER_XL)
-  return()
-endif()
-set(__COMPILER_XL 1)
-
-# Find the CreateExportList program that comes with this toolchain.
-find_program(CMAKE_XL_CreateExportList
-  NAMES CreateExportList
-  DOC "IBM XL CreateExportList tool"
-  )
-
-macro(__compiler_xl lang)
-  # Feature flags.
-  set(CMAKE_${lang}_VERBOSE_FLAG "-V")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-qpic")
-
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-O")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-g")
-  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE     "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
-
-  # CMAKE_XL_CreateExportList is part of the AIX XL compilers but not the linux ones.
-  # If we found the tool, we'll use it to create exports, otherwise stick with the regular
-  # create shared library compile line.
-  if (CMAKE_XL_CreateExportList)
-    # The compiler front-end passes all object files, archive files, and shared
-    # library files named on the command line to CreateExportList to create a
-    # list of all symbols to be exported from the shared library.  This causes
-    # all archive members to be copied into the shared library whether they are
-    # needed or not.  Instead we run the tool 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_XL_CreateExportList} <OBJECT_DIR>/objects.exp <OBJECTS>"
-      "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/objects.exp <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
-      )
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/CompilerId/VS-10.vcxproj.in b/share/cmake-3.6/Modules/CompilerId/VS-10.vcxproj.in
deleted file mode 100644
index 2870a11..0000000
--- a/share/cmake-3.6/Modules/CompilerId/VS-10.vcxproj.in
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|@id_platform@">
-      <Configuration>Debug</Configuration>
-      <Platform>@id_platform@</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
-    <RootNamespace>CompilerId@id_lang@</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-    @id_system@
-    @id_system_version@
-    @id_WindowsTargetPlatformVersion@
-    @id_WindowsSDKDesktopARMSupport@
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    @id_toolset@
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">.\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_platform@'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>false</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>TurnOffAllWarnings</WarningLevel>
-      <DebugInformationFormat>
-      </DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>false</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-    </Link>
-    <PostBuildEvent>
-      <Command>for %%i in (@id_cl@) do %40echo CMAKE_@id_lang@_COMPILER=%%~$PATH:i</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="@id_src@" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/share/cmake-3.6/Modules/CompilerId/Xcode-1.pbxproj.in b/share/cmake-3.6/Modules/CompilerId/Xcode-1.pbxproj.in
deleted file mode 100644
index 793ad02..0000000
--- a/share/cmake-3.6/Modules/CompilerId/Xcode-1.pbxproj.in
+++ /dev/null
@@ -1,120 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 39;
-	objects = {
-		014CEA460018CE2711CA2923 = {
-			buildSettings = {
-			};
-			isa = PBXBuildStyle;
-			name = Development;
-		};
-		08FB7793FE84155DC02AAC07 = {
-			buildSettings = {
-			};
-			buildStyles = (
-				014CEA460018CE2711CA2923,
-			);
-			hasScannedForEncodings = 1;
-			isa = PBXProject;
-			mainGroup = 08FB7794FE84155DC02AAC07;
-			projectDirPath = "";
-			targets = (
-				8DD76FA90486AB0100D96B5E,
-			);
-		};
-		08FB7794FE84155DC02AAC07 = {
-			children = (
-				08FB7795FE84155DC02AAC07,
-				1AB674ADFE9D54B511CA2CBB,
-			);
-			isa = PBXGroup;
-			name = CompilerId@id_lang@;
-			refType = 4;
-			sourceTree = "<group>";
-		};
-		08FB7795FE84155DC02AAC07 = {
-			children = (
-				2C18F0B415DC1DC700593670,
-			);
-			isa = PBXGroup;
-			name = Source;
-			refType = 4;
-			sourceTree = "<group>";
-		};
-		1AB674ADFE9D54B511CA2CBB = {
-			children = (
-				8DD76F6C0486A84900D96B5E,
-			);
-			isa = PBXGroup;
-			name = Products;
-			refType = 4;
-			sourceTree = "<group>";
-		};
-		2C18F0B415DC1DC700593670 = {
-			fileEncoding = 30;
-			isa = PBXFileReference;
-			explicitFileType = @id_type@;
-			path = @id_src@;
-			refType = 4;
-			sourceTree = "<group>";
-		};
-		2C18F0B615DC1E0300593670 = {
-			fileRef = 2C18F0B415DC1DC700593670;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
-		2C8FEB8E15DC1A1A00E56A5D = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
-		};
-		8DD76FA90486AB0100D96B5E = {
-			buildPhases = (
-				2C18F0B515DC1DCE00593670,
-				2C8FEB8E15DC1A1A00E56A5D,
-			);
-			buildRules = (
-			);
-			buildSettings = {
-				PRODUCT_NAME = CompilerId@id_lang@;
-				SYMROOT = .;
-			};
-			dependencies = (
-			);
-			isa = PBXNativeTarget;
-			name = CompilerId@id_lang@;
-			productName = CompilerId@id_lang@;
-			productReference = 8DD76F6C0486A84900D96B5E;
-			productType = "com.apple.product-type.tool";
-		};
-		2C18F0B515DC1DCE00593670 = {
-			buildActionMask = 2147483647;
-			files = (
-				2C18F0B615DC1E0300593670,
-			);
-			isa = PBXSourcesBuildPhase;
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		8DD76F6C0486A84900D96B5E = {
-			explicitFileType = "compiled.mach-o.executable";
-			includeInIndex = 0;
-			isa = PBXFileReference;
-			path = CompilerId@id_lang@;
-			refType = 3;
-			sourceTree = BUILT_PRODUCTS_DIR;
-		};
-	};
-	rootObject = 08FB7793FE84155DC02AAC07;
-}
diff --git a/share/cmake-3.6/Modules/CompilerId/Xcode-2.pbxproj.in b/share/cmake-3.6/Modules/CompilerId/Xcode-2.pbxproj.in
deleted file mode 100644
index 226b413..0000000
--- a/share/cmake-3.6/Modules/CompilerId/Xcode-2.pbxproj.in
+++ /dev/null
@@ -1,119 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 42;
-	objects = {
-
-		2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
-		2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; explicitFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
-		8DD76F6C0486A84900D96B5E = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CompilerId@id_lang@; sourceTree = BUILT_PRODUCTS_DIR; };
-
-		08FB7794FE84155DC02AAC07 = {
-			isa = PBXGroup;
-			children = (
-				08FB7795FE84155DC02AAC07,
-				1AB674ADFE9D54B511CA2CBB,
-			);
-			name = CompilerId@id_lang@;
-			sourceTree = "<group>";
-		};
-		08FB7795FE84155DC02AAC07 = {
-			isa = PBXGroup;
-			children = (
-				2C18F0B415DC1DC700593670,
-			);
-			name = Source;
-			sourceTree = "<group>";
-		};
-		1AB674ADFE9D54B511CA2CBB = {
-			isa = PBXGroup;
-			children = (
-				8DD76F6C0486A84900D96B5E,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-
-		8DD76FA90486AB0100D96B5E = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 1DEB928508733DD80010E9CD;
-			buildPhases = (
-				2C18F0B515DC1DCE00593670,
-				2C8FEB8E15DC1A1A00E56A5D,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = CompilerId@id_lang@;
-			productName = CompilerId@id_lang@;
-			productReference = 8DD76F6C0486A84900D96B5E;
-			productType = "com.apple.product-type.tool";
-		};
-		08FB7793FE84155DC02AAC07 = {
-			isa = PBXProject;
-			buildConfigurationList = 1DEB928908733DD80010E9CD;
-			hasScannedForEncodings = 1;
-			mainGroup = 08FB7794FE84155DC02AAC07;
-			projectDirPath = "";
-			targets = (
-				8DD76FA90486AB0100D96B5E,
-			);
-		};
-		2C8FEB8E15DC1A1A00E56A5D = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
-		};
-		2C18F0B515DC1DCE00593670 = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				2C18F0B615DC1E0300593670,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		1DEB928608733DD80010E9CD = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				PRODUCT_NAME = CompilerId@id_lang@;
-			};
-			name = Debug;
-		};
-		1DEB928A08733DD80010E9CD = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
-				SYMROOT = .;
-			};
-			name = Debug;
-		};
-		1DEB928508733DD80010E9CD = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB928608733DD80010E9CD,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Debug;
-		};
-		1DEB928908733DD80010E9CD = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB928A08733DD80010E9CD,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Debug;
-		};
-	};
-	rootObject = 08FB7793FE84155DC02AAC07;
-}
diff --git a/share/cmake-3.6/Modules/CompilerId/Xcode-3.pbxproj.in b/share/cmake-3.6/Modules/CompilerId/Xcode-3.pbxproj.in
deleted file mode 100644
index 20f3da3..0000000
--- a/share/cmake-3.6/Modules/CompilerId/Xcode-3.pbxproj.in
+++ /dev/null
@@ -1,110 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 45;
-	objects = {
-
-		2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
-		2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; explicitFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
-		08FB7794FE84155DC02AAC07 = {
-			isa = PBXGroup;
-			children = (
-				2C18F0B415DC1DC700593670,
-			);
-			name = CompilerId@id_lang@;
-			sourceTree = "<group>";
-		};
-		8DD76FA90486AB0100D96B5E = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 1DEB928508733DD80010E9CD;
-			buildPhases = (
-				2C18F0B515DC1DCE00593670,
-				2C8FEB8E15DC1A1A00E56A5D,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = CompilerId@id_lang@;
-			productName = CompilerId@id_lang@;
-			productType = "@id_product_type@";
-		};
-		08FB7793FE84155DC02AAC07 = {
-			isa = PBXProject;
-			buildConfigurationList = 1DEB928908733DD80010E9CD;
-			compatibilityVersion = "Xcode 3.1";
-			developmentRegion = English;
-			hasScannedForEncodings = 1;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 08FB7794FE84155DC02AAC07;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				8DD76FA90486AB0100D96B5E,
-			);
-		};
-		2C8FEB8E15DC1A1A00E56A5D = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
-			showEnvVarsInLog = 0;
-		};
-		2C18F0B515DC1DCE00593670 = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				2C18F0B615DC1E0300593670,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		1DEB928608733DD80010E9CD = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				PRODUCT_NAME = CompilerId@id_lang@;
-			};
-			name = Debug;
-		};
-		1DEB928A08733DD80010E9CD = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ONLY_ACTIVE_ARCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
-				SYMROOT = .;
-				@id_toolset@
-				@id_deployment_target@
-				@id_sdkroot@
-			};
-			name = Debug;
-		};
-		1DEB928508733DD80010E9CD = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB928608733DD80010E9CD,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Debug;
-		};
-		1DEB928908733DD80010E9CD = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB928A08733DD80010E9CD,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Debug;
-		};
-	};
-	rootObject = 08FB7793FE84155DC02AAC07;
-}
diff --git a/share/cmake-3.6/Modules/Dart.cmake b/share/cmake-3.6/Modules/Dart.cmake
deleted file mode 100644
index db487d8..0000000
--- a/share/cmake-3.6/Modules/Dart.cmake
+++ /dev/null
@@ -1,134 +0,0 @@
-#.rst:
-# Dart
-# ----
-#
-# Configure a project for testing with CTest or old Dart Tcl Client
-#
-# This file is the backwards-compatibility version of the CTest module.
-# It supports using the old Dart 1 Tcl client for driving dashboard
-# submissions as well as testing with CTest.  This module should be
-# included in the CMakeLists.txt file at the top of a project.  Typical
-# usage:
-#
-# ::
-#
-#   include(Dart)
-#   if(BUILD_TESTING)
-#     # ... testing related CMake code ...
-#   endif()
-#
-# The BUILD_TESTING option is created by the Dart module to determine
-# whether testing support should be enabled.  The default is ON.
-
-# This file configures a project to use the Dart testing/dashboard process.
-# It is broken into 3 sections.
-#
-#  Section #1: Locate programs on the client and determine site and build name
-#  Section #2: Configure or copy Tcl scripts from the source tree to build tree
-#  Section #3: Custom targets for performing dashboard builds.
-#
-#
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-option(BUILD_TESTING "Build the testing tree." ON)
-
-if(BUILD_TESTING)
-  find_package(Dart QUIET)
-
-  #
-  # Section #1:
-  #
-  # CMake commands that will not vary from project to project. Locates programs
-  # on the client and configure site name and build name.
-  #
-
-  set(RUN_FROM_DART 1)
-  include(CTest)
-  set(RUN_FROM_DART)
-
-  find_program(COMPRESSIONCOMMAND NAMES gzip compress zip
-    DOC "Path to program used to compress files for transfer to the dart server")
-  find_program(GUNZIPCOMMAND gunzip DOC "Path to gunzip executable")
-  find_program(JAVACOMMAND java DOC "Path to java command, used by the Dart server to create html.")
-  option(DART_VERBOSE_BUILD "Show the actual output of the build, or if off show a . for each 1024 bytes."
-    OFF)
-  option(DART_BUILD_ERROR_REPORT_LIMIT "Limit of reported errors, -1 reports all." -1 )
-  option(DART_BUILD_WARNING_REPORT_LIMIT "Limit of reported warnings, -1 reports all." -1 )
-
-  set(VERBOSE_BUILD ${DART_VERBOSE_BUILD})
-  set(BUILD_ERROR_REPORT_LIMIT ${DART_BUILD_ERROR_REPORT_LIMIT})
-  set(BUILD_WARNING_REPORT_LIMIT ${DART_BUILD_WARNING_REPORT_LIMIT})
-  set (DELIVER_CONTINUOUS_EMAIL "Off" CACHE BOOL "Should Dart server send email when build errors are found in Continuous builds?")
-
-  mark_as_advanced(
-    COMPRESSIONCOMMAND
-    DART_BUILD_ERROR_REPORT_LIMIT
-    DART_BUILD_WARNING_REPORT_LIMIT
-    DART_TESTING_TIMEOUT
-    DART_VERBOSE_BUILD
-    DELIVER_CONTINUOUS_EMAIL
-    GUNZIPCOMMAND
-    JAVACOMMAND
-    )
-
-  set(HAVE_DART)
-  if(EXISTS "${DART_ROOT}/Source/Client/Dart.conf.in")
-    set(HAVE_DART 1)
-  endif()
-
-  #
-  # Section #2:
-  #
-  # Make necessary directories and configure testing scripts
-  #
-  # find a tcl shell command
-  if(HAVE_DART)
-    find_package(Tclsh)
-  endif()
-
-
-  if (HAVE_DART)
-    # make directories in the binary tree
-    file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Dashboard"
-      "${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Sites/${SITE}/${BUILDNAME}")
-
-    # configure files
-    configure_file(
-      "${DART_ROOT}/Source/Client/Dart.conf.in"
-      "${PROJECT_BINARY_DIR}/DartConfiguration.tcl" )
-
-    #
-    # Section 3:
-    #
-    # Custom targets to perform dashboard builds and submissions.
-    # These should NOT need to be modified from project to project.
-    #
-
-    # add testing targets
-    set(DART_EXPERIMENTAL_NAME Experimental)
-    if(DART_EXPERIMENTAL_USE_PROJECT_NAME)
-      set(DART_EXPERIMENTAL_NAME "${DART_EXPERIMENTAL_NAME}${PROJECT_NAME}")
-    endif()
-  endif ()
-
-  set(RUN_FROM_CTEST_OR_DART 1)
-  include(CTestTargets)
-  set(RUN_FROM_CTEST_OR_DART)
-endif()
-
-#
-# End of Dart.cmake
-#
-
diff --git a/share/cmake-3.6/Modules/DartConfiguration.tcl.in b/share/cmake-3.6/Modules/DartConfiguration.tcl.in
deleted file mode 100644
index 0ff2eed..0000000
--- a/share/cmake-3.6/Modules/DartConfiguration.tcl.in
+++ /dev/null
@@ -1,112 +0,0 @@
-# This file is configured by CMake automatically as DartConfiguration.tcl
-# If you choose not to use CMake, this file may be hand configured, by
-# filling in the required variables.
-
-
-# Configuration directories and files
-SourceDirectory: @PROJECT_SOURCE_DIR@
-BuildDirectory: @PROJECT_BINARY_DIR@
-
-# Where to place the cost data store
-CostDataFile: @CTEST_COST_DATA_FILE@
-
-# Site is something like machine.domain, i.e. pragmatic.crd
-Site: @SITE@
-
-# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++
-BuildName: @BUILDNAME@
-
-# Submission information
-IsCDash: @CTEST_DROP_SITE_CDASH@
-CDashVersion: @CTEST_CDASH_VERSION@
-QueryCDashVersion: @CTEST_CDASH_QUERY_VERSION@
-DropSite: @DROP_SITE@
-DropLocation: @DROP_LOCATION@
-DropSiteUser: @DROP_SITE_USER@
-DropSitePassword: @DROP_SITE_PASSWORD@
-DropSiteMode: @DROP_SITE_MODE@
-DropMethod: @DROP_METHOD@
-TriggerSite: @TRIGGER_SITE@
-ScpCommand: @SCPCOMMAND@
-
-# Dashboard start time
-NightlyStartTime: @NIGHTLY_START_TIME@
-
-# Commands for the build/test/submit cycle
-ConfigureCommand: "@CMAKE_COMMAND@" "@PROJECT_SOURCE_DIR@"
-MakeCommand: @MAKECOMMAND@
-DefaultCTestConfigurationType: @DEFAULT_CTEST_CONFIGURATION_TYPE@
-
-# version control
-UpdateVersionOnly: @CTEST_UPDATE_VERSION_ONLY@
-
-# CVS options
-# Default is "-d -P -A"
-CVSCommand: @CVSCOMMAND@
-CVSUpdateOptions: @CVS_UPDATE_OPTIONS@
-
-# Subversion options
-SVNCommand: @SVNCOMMAND@
-SVNOptions: @CTEST_SVN_OPTIONS@
-SVNUpdateOptions: @SVN_UPDATE_OPTIONS@
-
-# Git options
-GITCommand: @GITCOMMAND@
-GITInitSubmodules: @CTEST_GIT_INIT_SUBMODULES@
-GITUpdateOptions: @GIT_UPDATE_OPTIONS@
-GITUpdateCustom: @CTEST_GIT_UPDATE_CUSTOM@
-
-# Perforce options
-P4Command: @P4COMMAND@
-P4Client: @CTEST_P4_CLIENT@
-P4Options: @CTEST_P4_OPTIONS@
-P4UpdateOptions: @CTEST_P4_UPDATE_OPTIONS@
-P4UpdateCustom: @CTEST_P4_UPDATE_CUSTOM@
-
-# Generic update command
-UpdateCommand: @UPDATE_COMMAND@
-UpdateOptions: @UPDATE_OPTIONS@
-UpdateType: @UPDATE_TYPE@
-
-# Compiler info
-Compiler: @CMAKE_CXX_COMPILER@
-CompilerVersion: @CMAKE_CXX_COMPILER_VERSION@
-
-# Dynamic analysis (MemCheck)
-PurifyCommand: @PURIFYCOMMAND@
-ValgrindCommand: @VALGRIND_COMMAND@
-ValgrindCommandOptions: @VALGRIND_COMMAND_OPTIONS@
-MemoryCheckType: @MEMORYCHECK_TYPE@
-MemoryCheckSanitizerOptions: @MEMORYCHECK_SANITIZER_OPTIONS@
-MemoryCheckCommand: @MEMORYCHECK_COMMAND@
-MemoryCheckCommandOptions: @MEMORYCHECK_COMMAND_OPTIONS@
-MemoryCheckSuppressionFile: @MEMORYCHECK_SUPPRESSIONS_FILE@
-
-# Coverage
-CoverageCommand: @COVERAGE_COMMAND@
-CoverageExtraFlags: @COVERAGE_EXTRA_FLAGS@
-
-# Cluster commands
-SlurmBatchCommand: @SLURM_SBATCH_COMMAND@
-SlurmRunCommand: @SLURM_SRUN_COMMAND@
-
-# Testing options
-# TimeOut is the amount of time in seconds to wait for processes
-# to complete during testing.  After TimeOut seconds, the
-# process will be summarily terminated.
-# Currently set to 25 minutes
-TimeOut: @DART_TESTING_TIMEOUT@
-
-# During parallel testing CTest will not start a new test if doing
-# so would cause the system load to exceed this value.
-TestLoad: @CTEST_TEST_LOAD@
-
-UseLaunchers: @CTEST_USE_LAUNCHERS@
-CurlOptions: @CTEST_CURL_OPTIONS@
-# warning, if you add new options here that have to do with submit,
-# you have to update cmCTestSubmitCommand.cxx
-
-# For CTest submissions that timeout, these options
-# specify behavior for retrying the submission
-CTestSubmitRetryDelay: @CTEST_SUBMIT_RETRY_DELAY@
-CTestSubmitRetryCount: @CTEST_SUBMIT_RETRY_COUNT@
diff --git a/share/cmake-3.6/Modules/DeployQt4.cmake b/share/cmake-3.6/Modules/DeployQt4.cmake
deleted file mode 100644
index de475e4..0000000
--- a/share/cmake-3.6/Modules/DeployQt4.cmake
+++ /dev/null
@@ -1,390 +0,0 @@
-#.rst:
-# DeployQt4
-# ---------
-#
-# Functions to help assemble a standalone Qt4 executable.
-#
-# A collection of CMake utility functions useful for deploying Qt4
-# executables.
-#
-# The following functions are provided by this module:
-#
-# ::
-#
-#    write_qt4_conf
-#    resolve_qt4_paths
-#    fixup_qt4_executable
-#    install_qt4_plugin_path
-#    install_qt4_plugin
-#    install_qt4_executable
-#
-# Requires CMake 2.6 or greater because it uses function and
-# PARENT_SCOPE.  Also depends on BundleUtilities.cmake.
-#
-# ::
-#
-#   WRITE_QT4_CONF(<qt_conf_dir> <qt_conf_contents>)
-#
-# Writes a qt.conf file with the <qt_conf_contents> into <qt_conf_dir>.
-#
-# ::
-#
-#   RESOLVE_QT4_PATHS(<paths_var> [<executable_path>])
-#
-# Loop through <paths_var> list and if any don't exist resolve them
-# relative to the <executable_path> (if supplied) or the
-# CMAKE_INSTALL_PREFIX.
-#
-# ::
-#
-#   FIXUP_QT4_EXECUTABLE(<executable>
-#     [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf>])
-#
-# Copies Qt plugins, writes a Qt configuration file (if needed) and
-# fixes up a Qt4 executable using BundleUtilities so it is standalone
-# and can be drag-and-drop copied to another machine as long as all of
-# the system libraries are compatible.
-#
-# <executable> should point to the executable to be fixed-up.
-#
-# <qtplugins> should contain a list of the names or paths of any Qt
-# plugins to be installed.
-#
-# <libs> will be passed to BundleUtilities and should be a list of any
-# already installed plugins, libraries or executables to also be
-# fixed-up.
-#
-# <dirs> will be passed to BundleUtilities and should contain and
-# directories to be searched to find library dependencies.
-#
-# <plugins_dir> allows an custom plugins directory to be used.
-#
-# <request_qt_conf> will force a qt.conf file to be written even if not
-# needed.
-#
-# ::
-#
-#   INSTALL_QT4_PLUGIN_PATH(plugin executable copy installed_plugin_path_var
-#                           <plugins_dir> <component> <configurations>)
-#
-# Install (or copy) a resolved <plugin> to the default plugins directory
-# (or <plugins_dir>) relative to <executable> and store the result in
-# <installed_plugin_path_var>.
-#
-# If <copy> is set to TRUE then the plugins will be copied rather than
-# installed.  This is to allow this module to be used at CMake time
-# rather than install time.
-#
-# If <component> is set then anything installed will use this COMPONENT.
-#
-# ::
-#
-#   INSTALL_QT4_PLUGIN(plugin executable copy installed_plugin_path_var
-#                      <plugins_dir> <component>)
-#
-# Install (or copy) an unresolved <plugin> to the default plugins
-# directory (or <plugins_dir>) relative to <executable> and store the
-# result in <installed_plugin_path_var>.  See documentation of
-# INSTALL_QT4_PLUGIN_PATH.
-#
-# ::
-#
-#   INSTALL_QT4_EXECUTABLE(<executable>
-#     [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf> <component>])
-#
-# Installs Qt plugins, writes a Qt configuration file (if needed) and
-# fixes up a Qt4 executable using BundleUtilities so it is standalone
-# and can be drag-and-drop copied to another machine as long as all of
-# the system libraries are compatible.  The executable will be fixed-up
-# at install time.  <component> is the COMPONENT used for bundle fixup
-# and plugin installation.  See documentation of FIXUP_QT4_BUNDLE.
-
-#=============================================================================
-# Copyright 2011 Mike McQuaid <mike@mikemcquaid.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# The functions defined in this file depend on the fixup_bundle function
-# (and others) found in BundleUtilities.cmake
-
-include("${CMAKE_CURRENT_LIST_DIR}/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)
-        set(qt_conf_path "${qt_conf_dir}/qt.conf")
-        message(STATUS "Writing ${qt_conf_path}")
-        file(WRITE "${qt_conf_path}" "${qt_conf_contents}")
-endfunction()
-
-function(resolve_qt4_paths paths_var)
-        unset(executable_path)
-        if(ARGC GREATER 1)
-                set(executable_path ${ARGV1})
-        endif()
-
-        set(paths_resolved)
-        foreach(path ${${paths_var}})
-                if(EXISTS "${path}")
-                        list(APPEND paths_resolved "${path}")
-                else()
-                        if(${executable_path})
-                                list(APPEND paths_resolved "${executable_path}/${path}")
-                        else()
-                                list(APPEND paths_resolved "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${path}")
-                        endif()
-                endif()
-        endforeach()
-        set(${paths_var} ${paths_resolved} PARENT_SCOPE)
-endfunction()
-
-function(fixup_qt4_executable executable)
-        unset(qtplugins)
-        if(ARGC GREATER 1)
-                set(qtplugins ${ARGV1})
-        endif()
-        unset(libs)
-        if(ARGC GREATER 2)
-                set(libs ${ARGV2})
-        endif()
-        unset(dirs)
-        if(ARGC GREATER 3)
-                set(dirs ${ARGV3})
-        endif()
-        unset(plugins_dir)
-        if(ARGC GREATER 4)
-                set(plugins_dir ${ARGV4})
-        endif()
-        unset(request_qt_conf)
-        if(ARGC GREATER 5)
-                set(request_qt_conf ${ARGV5})
-        endif()
-
-        message(STATUS "fixup_qt4_executable")
-        message(STATUS "  executable='${executable}'")
-        message(STATUS "  qtplugins='${qtplugins}'")
-        message(STATUS "  libs='${libs}'")
-        message(STATUS "  dirs='${dirs}'")
-        message(STATUS "  plugins_dir='${plugins_dir}'")
-        message(STATUS "  request_qt_conf='${request_qt_conf}'")
-
-        if(QT_LIBRARY_DIR)
-                list(APPEND dirs "${QT_LIBRARY_DIR}")
-        endif()
-        if(QT_BINARY_DIR)
-                list(APPEND dirs "${QT_BINARY_DIR}")
-        endif()
-
-        if(APPLE)
-                set(qt_conf_dir "${executable}/Contents/Resources")
-                set(executable_path "${executable}")
-                set(write_qt_conf TRUE)
-                if(NOT DEFINED plugins_dir)
-                        set(plugins_dir "${DeployQt4_apple_plugins_dir}")
-                endif()
-        else()
-                get_filename_component(executable_path "${executable}" PATH)
-                if(NOT executable_path)
-                        set(executable_path ".")
-                endif()
-                set(qt_conf_dir "${executable_path}")
-                set(write_qt_conf ${request_qt_conf})
-        endif()
-
-        foreach(plugin ${qtplugins})
-                set(installed_plugin_path "")
-                install_qt4_plugin("${plugin}" "${executable}" 1 installed_plugin_path)
-                list(APPEND libs ${installed_plugin_path})
-        endforeach()
-
-        foreach(lib ${libs})
-                if(NOT EXISTS "${lib}")
-                        message(FATAL_ERROR "Library does not exist: ${lib}")
-                endif()
-        endforeach()
-
-        resolve_qt4_paths(libs "${executable_path}")
-
-        if(write_qt_conf)
-                set(qt_conf_contents "[Paths]\nPlugins = ${plugins_dir}")
-                write_qt4_conf("${qt_conf_dir}" "${qt_conf_contents}")
-        endif()
-
-        fixup_bundle("${executable}" "${libs}" "${dirs}")
-endfunction()
-
-function(install_qt4_plugin_path plugin executable copy installed_plugin_path_var)
-        unset(plugins_dir)
-        if(ARGC GREATER 4)
-                set(plugins_dir ${ARGV4})
-        endif()
-        unset(component)
-        if(ARGC GREATER 5)
-                set(component ${ARGV5})
-        endif()
-        unset(configurations)
-        if(ARGC GREATER 6)
-                set(configurations ${ARGV6})
-        endif()
-
-        if(EXISTS "${plugin}")
-                if(APPLE)
-                        if(NOT plugins_dir)
-                                set(plugins_dir "${DeployQt4_apple_plugins_dir}")
-                        endif()
-                        set(plugins_path "${executable}/Contents/${plugins_dir}")
-                else()
-                        get_filename_component(plugins_path "${executable}" PATH)
-                        if(NOT plugins_path)
-                                set(plugins_path ".")
-                        endif()
-                        if(plugins_dir)
-                                set(plugins_path "${plugins_path}/${plugins_dir}")
-                        endif()
-                endif()
-
-                set(plugin_group "")
-
-                get_filename_component(plugin_path "${plugin}" PATH)
-                get_filename_component(plugin_parent_path "${plugin_path}" PATH)
-                get_filename_component(plugin_parent_dir_name "${plugin_parent_path}" NAME)
-                get_filename_component(plugin_name "${plugin}" NAME)
-                string(TOLOWER "${plugin_parent_dir_name}" plugin_parent_dir_name)
-
-                if("${plugin_parent_dir_name}" STREQUAL "plugins")
-                        get_filename_component(plugin_group "${plugin_path}" NAME)
-                        set(${plugin_group_var} "${plugin_group}")
-                endif()
-                set(plugins_path "${plugins_path}/${plugin_group}")
-
-                if(${copy})
-                        file(MAKE_DIRECTORY "${plugins_path}")
-                        file(COPY "${plugin}" DESTINATION "${plugins_path}")
-                else()
-                        if(configurations AND (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE))
-                                set(configurations CONFIGURATIONS ${configurations})
-                        else()
-                                unset(configurations)
-                        endif()
-                        install(FILES "${plugin}" DESTINATION "${plugins_path}" ${configurations} ${component})
-                endif()
-                set(${installed_plugin_path_var} "${plugins_path}/${plugin_name}" PARENT_SCOPE)
-        endif()
-endfunction()
-
-function(install_qt4_plugin plugin executable copy installed_plugin_path_var)
-        unset(plugins_dir)
-        if(ARGC GREATER 4)
-                set(plugins_dir ${ARGV4})
-        endif()
-        unset(component)
-        if(ARGC GREATER 5)
-                set(component ${ARGV5})
-        endif()
-
-        if(EXISTS "${plugin}")
-                install_qt4_plugin_path("${plugin}" "${executable}" "${copy}" "${installed_plugin_path_var}" "${plugins_dir}" "${component}")
-        else()
-                string(TOUPPER "QT_${plugin}_PLUGIN" plugin_var)
-                set(plugin_release_var "${plugin_var}_RELEASE")
-                set(plugin_debug_var "${plugin_var}_DEBUG")
-                set(plugin_release "${${plugin_release_var}}")
-                set(plugin_debug "${${plugin_debug_var}}")
-                if(DEFINED "${plugin_release_var}" AND DEFINED "${plugin_debug_var}" AND NOT EXISTS "${plugin_release}" AND NOT EXISTS "${plugin_debug}")
-                        message(WARNING "Qt plugin \"${plugin}\" not recognized or found.")
-                endif()
-                if(NOT EXISTS "${${plugin_debug_var}}")
-                        set(plugin_debug "${plugin_release}")
-                endif()
-
-                if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-                        install_qt4_plugin_path("${plugin_release}" "${executable}" "${copy}" "${installed_plugin_path_var}_release" "${plugins_dir}" "${component}" "Release|RelWithDebInfo|MinSizeRel")
-                        install_qt4_plugin_path("${plugin_debug}" "${executable}" "${copy}" "${installed_plugin_path_var}_debug" "${plugins_dir}" "${component}" "Debug")
-
-                        if(CMAKE_BUILD_TYPE MATCHES "^Debug$")
-                                set(${installed_plugin_path_var} ${${installed_plugin_path_var}_debug})
-                        else()
-                                set(${installed_plugin_path_var} ${${installed_plugin_path_var}_release})
-                        endif()
-                else()
-                        install_qt4_plugin_path("${plugin_release}" "${executable}" "${copy}" "${installed_plugin_path_var}" "${plugins_dir}" "${component}")
-                endif()
-        endif()
-        set(${installed_plugin_path_var} ${${installed_plugin_path_var}} PARENT_SCOPE)
-endfunction()
-
-function(install_qt4_executable executable)
-        unset(qtplugins)
-        if(ARGC GREATER 1)
-                set(qtplugins ${ARGV1})
-        endif()
-        unset(libs)
-        if(ARGC GREATER 2)
-                set(libs ${ARGV2})
-        endif()
-        unset(dirs)
-        if(ARGC GREATER 3)
-                set(dirs ${ARGV3})
-        endif()
-        unset(plugins_dir)
-        if(ARGC GREATER 4)
-                set(plugins_dir ${ARGV4})
-        endif()
-        unset(request_qt_conf)
-        if(ARGC GREATER 5)
-                set(request_qt_conf ${ARGV5})
-        endif()
-        unset(component)
-        if(ARGC GREATER 6)
-                set(component ${ARGV6})
-        endif()
-
-        if(QT_LIBRARY_DIR)
-                list(APPEND dirs "${QT_LIBRARY_DIR}")
-        endif()
-        if(QT_BINARY_DIR)
-                list(APPEND dirs "${QT_BINARY_DIR}")
-        endif()
-        if(component)
-                set(component COMPONENT ${component})
-        else()
-                unset(component)
-        endif()
-
-        get_filename_component(executable_absolute "${executable}" ABSOLUTE)
-        if(EXISTS "${QT_QTCORE_LIBRARY_RELEASE}")
-            gp_file_type("${executable_absolute}" "${QT_QTCORE_LIBRARY_RELEASE}" qtcore_type)
-        elseif(EXISTS "${QT_QTCORE_LIBRARY_DEBUG}")
-            gp_file_type("${executable_absolute}" "${QT_QTCORE_LIBRARY_DEBUG}" qtcore_type)
-        endif()
-        if(qtcore_type STREQUAL "system")
-                set(qt_plugins_dir "")
-        endif()
-
-        if(QT_IS_STATIC)
-                message(WARNING "Qt built statically: not installing plugins.")
-        else()
-                foreach(plugin ${qtplugins})
-                        set(installed_plugin_paths "")
-                        install_qt4_plugin("${plugin}" "${executable}" 0 installed_plugin_paths "${plugins_dir}" "${component}")
-                        list(APPEND libs ${installed_plugin_paths})
-                endforeach()
-        endif()
-
-        resolve_qt4_paths(libs "")
-
-        install(CODE
-  "include(\"${DeployQt4_cmake_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}
-        )
-endfunction()
diff --git a/share/cmake-3.6/Modules/Documentation.cmake b/share/cmake-3.6/Modules/Documentation.cmake
deleted file mode 100644
index be6aaea..0000000
--- a/share/cmake-3.6/Modules/Documentation.cmake
+++ /dev/null
@@ -1,57 +0,0 @@
-#.rst:
-# Documentation
-# -------------
-#
-# DocumentationVTK.cmake
-#
-# This file provides support for the VTK documentation framework.  It
-# relies on several tools (Doxygen, Perl, etc).
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# Build the documentation ?
-#
-option(BUILD_DOCUMENTATION "Build the documentation (Doxygen)." OFF)
-mark_as_advanced(BUILD_DOCUMENTATION)
-
-if (BUILD_DOCUMENTATION)
-
-  #
-  # Check for the tools
-  #
-  find_package(UnixCommands)
-  find_package(Doxygen)
-  find_package(Gnuplot)
-  find_package(HTMLHelp)
-  find_package(Perl)
-  find_package(Wget)
-
-  option(DOCUMENTATION_HTML_HELP
-    "Build the HTML Help file (CHM)." OFF)
-
-  option(DOCUMENTATION_HTML_TARZ
-    "Build a compressed tar archive of the HTML doc." OFF)
-
-  mark_as_advanced(
-    DOCUMENTATION_HTML_HELP
-    DOCUMENTATION_HTML_TARZ
-    )
-
-  #
-  # The documentation process is controled by a batch file.
-  # We will probably need bash to create the custom target
-  #
-
-endif ()
diff --git a/share/cmake-3.6/Modules/ExternalData.cmake b/share/cmake-3.6/Modules/ExternalData.cmake
deleted file mode 100644
index a3f460d..0000000
--- a/share/cmake-3.6/Modules/ExternalData.cmake
+++ /dev/null
@@ -1,1066 +0,0 @@
-#[=======================================================================[.rst:
-ExternalData
-------------
-
-.. only:: html
-
-   .. contents::
-
-Manage data files stored outside source tree
-
-Introduction
-^^^^^^^^^^^^
-
-Use this module to unambiguously reference data files stored outside
-the source tree and fetch them at build time from arbitrary local and
-remote content-addressed locations.  Functions provided by this module
-recognize arguments with the syntax ``DATA{<name>}`` as references to
-external data, replace them with full paths to local copies of those
-data, and create build rules to fetch and update the local copies.
-
-For example:
-
-.. code-block:: cmake
-
- include(ExternalData)
- set(ExternalData_URL_TEMPLATES "file:///local/%(algo)/%(hash)"
-                                "file:////host/share/%(algo)/%(hash)"
-                                "http://data.org/%(algo)/%(hash)")
- ExternalData_Add_Test(MyData
-   NAME MyTest
-   COMMAND MyExe DATA{MyInput.png}
-   )
- ExternalData_Add_Target(MyData)
-
-When test ``MyTest`` runs the ``DATA{MyInput.png}`` argument will be
-replaced by the full path to a real instance of the data file
-``MyInput.png`` on disk.  If the source tree contains a content link
-such as ``MyInput.png.md5`` then the ``MyData`` target creates a real
-``MyInput.png`` in the build tree.
-
-Module Functions
-^^^^^^^^^^^^^^^^
-
-.. command:: ExternalData_Expand_Arguments
-
-  The ``ExternalData_Expand_Arguments`` function evaluates ``DATA{}``
-  references in its arguments and constructs a new list of arguments::
-
-    ExternalData_Expand_Arguments(
-      <target>   # Name of data management target
-      <outVar>   # Output variable
-      [args...]  # Input arguments, DATA{} allowed
-      )
-
-  It replaces each ``DATA{}`` reference in an argument with the full path of
-  a real data file on disk that will exist after the ``<target>`` builds.
-
-.. command:: ExternalData_Add_Test
-
-  The ``ExternalData_Add_Test`` function wraps around the CMake
-  :command:`add_test` command but supports ``DATA{}`` references in
-  its arguments::
-
-    ExternalData_Add_Test(
-      <target>   # Name of data management target
-      ...        # Arguments of add_test(), DATA{} allowed
-      )
-
-  It passes its arguments through ``ExternalData_Expand_Arguments`` and then
-  invokes the :command:`add_test` command using the results.
-
-.. command:: ExternalData_Add_Target
-
-  The ``ExternalData_Add_Target`` function creates a custom target to
-  manage local instances of data files stored externally::
-
-    ExternalData_Add_Target(
-      <target>   # Name of data management target
-      )
-
-  It creates custom commands in the target as necessary to make data
-  files available for each ``DATA{}`` reference previously evaluated by
-  other functions provided by this module.
-  Data files may be fetched from one of the URL templates specified in
-  the ``ExternalData_URL_TEMPLATES`` variable, or may be found locally
-  in one of the paths specified in the ``ExternalData_OBJECT_STORES``
-  variable.
-
-Module Variables
-^^^^^^^^^^^^^^^^
-
-The following variables configure behavior.  They should be set before
-calling any of the functions provided by this module.
-
-.. variable:: ExternalData_BINARY_ROOT
-
-  The ``ExternalData_BINARY_ROOT`` variable may be set to the directory to
-  hold the real data files named by expanded ``DATA{}`` references.  The
-  default is ``CMAKE_BINARY_DIR``.  The directory layout will mirror that of
-  content links under ``ExternalData_SOURCE_ROOT``.
-
-.. variable:: ExternalData_CUSTOM_SCRIPT_<key>
-
-  Specify a full path to a ``.cmake`` custom fetch script identified by
-  ``<key>`` in entries of the ``ExternalData_URL_TEMPLATES`` list.
-  See `Custom Fetch Scripts`_.
-
-.. variable:: ExternalData_LINK_CONTENT
-
-  The ``ExternalData_LINK_CONTENT`` variable may be set to the name of a
-  supported hash algorithm to enable automatic conversion of real data
-  files referenced by the ``DATA{}`` syntax into content links.  For each
-  such ``<file>`` a content link named ``<file><ext>`` is created.  The
-  original file is renamed to the form ``.ExternalData_<algo>_<hash>`` to
-  stage it for future transmission to one of the locations in the list
-  of URL templates (by means outside the scope of this module).  The
-  data fetch rule created for the content link will use the staged
-  object if it cannot be found using any URL template.
-
-.. variable:: ExternalData_NO_SYMLINKS
-
-  The real data files named by expanded ``DATA{}`` references may be made
-  available under ``ExternalData_BINARY_ROOT`` using symbolic links on
-  some platforms.  The ``ExternalData_NO_SYMLINKS`` variable may be set
-  to disable use of symbolic links and enable use of copies instead.
-
-.. variable:: ExternalData_OBJECT_STORES
-
-  The ``ExternalData_OBJECT_STORES`` variable may be set to a list of local
-  directories that store objects using the layout ``<dir>/%(algo)/%(hash)``.
-  These directories will be searched first for a needed object.  If the
-  object is not available in any store then it will be fetched remotely
-  using the URL templates and added to the first local store listed.  If
-  no stores are specified the default is a location inside the build
-  tree.
-
-.. variable:: ExternalData_SERIES_PARSE
-              ExternalData_SERIES_PARSE_PREFIX
-              ExternalData_SERIES_PARSE_NUMBER
-              ExternalData_SERIES_PARSE_SUFFIX
-              ExternalData_SERIES_MATCH
-
-  See `Referencing File Series`_.
-
-.. variable:: ExternalData_SOURCE_ROOT
-
-  The ``ExternalData_SOURCE_ROOT`` variable may be set to the highest source
-  directory containing any path named by a ``DATA{}`` reference.  The
-  default is ``CMAKE_SOURCE_DIR``.  ``ExternalData_SOURCE_ROOT`` and
-  ``CMAKE_SOURCE_DIR`` must refer to directories within a single source
-  distribution (e.g.  they come together in one tarball).
-
-.. variable:: ExternalData_TIMEOUT_ABSOLUTE
-
-  The ``ExternalData_TIMEOUT_ABSOLUTE`` variable sets the download
-  absolute timeout, in seconds, with a default of ``300`` seconds.
-  Set to ``0`` to disable enforcement.
-
-.. variable:: ExternalData_TIMEOUT_INACTIVITY
-
-  The ``ExternalData_TIMEOUT_INACTIVITY`` variable sets the download
-  inactivity timeout, in seconds, with a default of ``60`` seconds.
-  Set to ``0`` to disable enforcement.
-
-.. variable:: ExternalData_URL_ALGO_<algo>_<key>
-
-  Specify a custom URL component to be substituted for URL template
-  placeholders of the form ``%(algo:<key>)``, where ``<key>`` is a
-  valid C identifier, when fetching an object referenced via hash
-  algorithm ``<algo>``.  If not defined, the default URL component
-  is just ``<algo>`` for any ``<key>``.
-
-.. variable:: ExternalData_URL_TEMPLATES
-
-  The ``ExternalData_URL_TEMPLATES`` may be set to provide a list of
-  of URL templates using the placeholders ``%(algo)`` and ``%(hash)``
-  in each template.  Data fetch rules try each URL template in order
-  by substituting the hash algorithm name for ``%(algo)`` and the hash
-  value for ``%(hash)``.  Alternatively one may use ``%(algo:<key>)``
-  with ``ExternalData_URL_ALGO_<algo>_<key>`` variables to gain more
-  flexibility in remote URLs.
-
-Referencing Files
-^^^^^^^^^^^^^^^^^
-
-Referencing Single Files
-""""""""""""""""""""""""
-
-The ``DATA{}`` syntax is literal and the ``<name>`` is a full or relative path
-within the source tree.  The source tree must contain either a real
-data file at ``<name>`` or a "content link" at ``<name><ext>`` containing a
-hash of the real file using a hash algorithm corresponding to ``<ext>``.
-For example, the argument ``DATA{img.png}`` may be satisfied by either a
-real ``img.png`` file in the current source directory or a ``img.png.md5``
-file containing its MD5 sum.
-
-Referencing File Series
-"""""""""""""""""""""""
-
-The ``DATA{}`` syntax can be told to fetch a file series using the form
-``DATA{<name>,:}``, where the ``:`` is literal.  If the source tree
-contains a group of files or content links named like a series then a
-reference to one member adds rules to fetch all of them.  Although all
-members of a series are fetched, only the file originally named by the
-``DATA{}`` argument is substituted for it.  The default configuration
-recognizes file series names ending with ``#.ext``, ``_#.ext``, ``.#.ext``,
-or ``-#.ext`` where ``#`` is a sequence of decimal digits and ``.ext`` is
-any single extension.  Configure it with a regex that parses ``<number>``
-and ``<suffix>`` parts from the end of ``<name>``::
-
- ExternalData_SERIES_PARSE = regex of the form (<number>)(<suffix>)$
-
-For more complicated cases set::
-
- ExternalData_SERIES_PARSE = regex with at least two () groups
- ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any
- ExternalData_SERIES_PARSE_NUMBER = <number> regex group number
- ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number
-
-Configure series number matching with a regex that matches the
-``<number>`` part of series members named ``<prefix><number><suffix>``::
-
- ExternalData_SERIES_MATCH = regex matching <number> in all series members
-
-Note that the ``<suffix>`` of a series does not include a hash-algorithm
-extension.
-
-Referencing Associated Files
-""""""""""""""""""""""""""""
-
-The ``DATA{}`` syntax can alternatively match files associated with the
-named file and contained in the same directory.  Associated files may
-be specified by options using the syntax
-``DATA{<name>,<opt1>,<opt2>,...}``.  Each option may specify one file by
-name or specify a regular expression to match file names using the
-syntax ``REGEX:<regex>``.  For example, the arguments::
-
- DATA{MyData/MyInput.mhd,MyInput.img}                   # File pair
- DATA{MyData/MyFrames00.png,REGEX:MyFrames[0-9]+\\.png} # Series
-
-will pass ``MyInput.mha`` and ``MyFrames00.png`` on the command line but
-ensure that the associated files are present next to them.
-
-Referencing Directories
-"""""""""""""""""""""""
-
-The ``DATA{}`` syntax may reference a directory using a trailing slash and
-a list of associated files.  The form ``DATA{<name>/,<opt1>,<opt2>,...}``
-adds rules to fetch any files in the directory that match one of the
-associated file options.  For example, the argument
-``DATA{MyDataDir/,REGEX:.*}`` will pass the full path to a ``MyDataDir``
-directory on the command line and ensure that the directory contains
-files corresponding to every file or content link in the ``MyDataDir``
-source directory.  In order to match associated files in subdirectories,
-specify a ``RECURSE:`` option, e.g. ``DATA{MyDataDir/,RECURSE:,REGEX:.*}``.
-
-Hash Algorithms
-^^^^^^^^^^^^^^^
-
-The following hash algorithms are supported::
-
- %(algo)     <ext>     Description
- -------     -----     -----------
- MD5         .md5      Message-Digest Algorithm 5, RFC 1321
- SHA1        .sha1     US Secure Hash Algorithm 1, RFC 3174
- SHA224      .sha224   US Secure Hash Algorithms, RFC 4634
- SHA256      .sha256   US Secure Hash Algorithms, RFC 4634
- SHA384      .sha384   US Secure Hash Algorithms, RFC 4634
- SHA512      .sha512   US Secure Hash Algorithms, RFC 4634
-
-Note that the hashes are used only for unique data identification and
-download verification.
-
-.. _`ExternalData Custom Fetch Scripts`:
-
-Custom Fetch Scripts
-^^^^^^^^^^^^^^^^^^^^
-
-When a data file must be fetched from one of the URL templates
-specified in the ``ExternalData_URL_TEMPLATES`` variable, it is
-normally downloaded using the :command:`file(DOWNLOAD)` command.
-One may specify usage of a custom fetch script by using a URL
-template of the form ``ExternalDataCustomScript://<key>/<loc>``.
-The ``<key>`` must be a C identifier, and the ``<loc>`` must
-contain the ``%(algo)`` and ``%(hash)`` placeholders.
-A variable corresponding to the key, ``ExternalData_CUSTOM_SCRIPT_<key>``,
-must be set to the full path to a ``.cmake`` script file.  The script
-will be included to perform the actual fetch, and provided with
-the following variables:
-
-.. variable:: ExternalData_CUSTOM_LOCATION
-
-  When a custom fetch script is loaded, this variable is set to the
-  location part of the URL, which will contain the substituted hash
-  algorithm name and content hash value.
-
-.. variable:: ExternalData_CUSTOM_FILE
-
-  When a custom fetch script is loaded, this variable is set to the
-  full path to a file in which the script must store the fetched
-  content.  The name of the file is unspecified and should not be
-  interpreted in any way.
-
-The custom fetch script is expected to store fetched content in the
-file or set a variable:
-
-.. variable:: ExternalData_CUSTOM_ERROR
-
-  When a custom fetch script fails to fetch the requested content,
-  it must set this variable to a short one-line message describing
-  the reason for failure.
-
-#]=======================================================================]
-
-#=============================================================================
-# Copyright 2010-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(ExternalData_add_test target)
-  # Expand all arguments as a single string to preserve escaped semicolons.
-  ExternalData_expand_arguments("${target}" testArgs "${ARGN}")
-  add_test(${testArgs})
-endfunction()
-
-function(ExternalData_add_target target)
-  if(NOT ExternalData_URL_TEMPLATES AND NOT ExternalData_OBJECT_STORES)
-    message(FATAL_ERROR
-      "Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set!")
-  endif()
-  if(NOT ExternalData_OBJECT_STORES)
-    set(ExternalData_OBJECT_STORES ${CMAKE_BINARY_DIR}/ExternalData/Objects)
-  endif()
-  set(_ExternalData_CONFIG_CODE "")
-
-  # Store custom script configuration.
-  foreach(url_template IN LISTS ExternalData_URL_TEMPLATES)
-    if("${url_template}" MATCHES "^ExternalDataCustomScript://([^/]*)/(.*)$")
-      set(key "${CMAKE_MATCH_1}")
-      if(key MATCHES "^[A-Za-z_][A-Za-z0-9_]*$")
-        if(ExternalData_CUSTOM_SCRIPT_${key})
-          if(IS_ABSOLUTE "${ExternalData_CUSTOM_SCRIPT_${key}}")
-            string(CONCAT _ExternalData_CONFIG_CODE "${_ExternalData_CONFIG_CODE}\n"
-              "set(ExternalData_CUSTOM_SCRIPT_${key} \"${ExternalData_CUSTOM_SCRIPT_${key}}\")")
-          else()
-            message(FATAL_ERROR
-              "No ExternalData_CUSTOM_SCRIPT_${key} is not set to a full path:\n"
-              " ${ExternalData_CUSTOM_SCRIPT_${key}}")
-          endif()
-        else()
-          message(FATAL_ERROR
-            "No ExternalData_CUSTOM_SCRIPT_${key} is set for URL template:\n"
-            " ${url_template}")
-        endif()
-      else()
-        message(FATAL_ERROR
-          "Bad ExternalDataCustomScript key '${key}' in URL template:\n"
-          " ${url_template}\n"
-          "The key must be a valid C identifier.")
-      endif()
-    endif()
-
-    # Store custom algorithm name to URL component maps.
-    if("${url_template}" MATCHES "%\\(algo:([^)]*)\\)")
-      set(key "${CMAKE_MATCH_1}")
-      if(key MATCHES "^[A-Za-z_][A-Za-z0-9_]*$")
-        string(REPLACE "|" ";" _algos "${_ExternalData_REGEX_ALGO}")
-        foreach(algo ${_algos})
-          if(DEFINED ExternalData_URL_ALGO_${algo}_${key})
-            string(CONCAT _ExternalData_CONFIG_CODE "${_ExternalData_CONFIG_CODE}\n"
-              "set(ExternalData_URL_ALGO_${algo}_${key} \"${ExternalData_URL_ALGO_${algo}_${key}}\")")
-          endif()
-        endforeach()
-      else()
-        message(FATAL_ERROR
-          "Bad %(algo:${key}) in URL template:\n"
-          " ${url_template}\n"
-          "The transform name must be a valid C identifier.")
-      endif()
-    endif()
-  endforeach()
-
-  # Store configuration for use by build-time script.
-  set(config ${CMAKE_CURRENT_BINARY_DIR}/${target}_config.cmake)
-  configure_file(${_ExternalData_SELF_DIR}/ExternalData_config.cmake.in ${config} @ONLY)
-
-  set(files "")
-
-  # Set "_ExternalData_FILE_${file}" for each output file to avoid duplicate
-  # rules.  Use local data first to prefer real files over content links.
-
-  # Custom commands to copy or link local data.
-  get_property(data_local GLOBAL PROPERTY _ExternalData_${target}_LOCAL)
-  foreach(entry IN LISTS data_local)
-    string(REPLACE "|" ";" tuple "${entry}")
-    list(GET tuple 0 file)
-    list(GET tuple 1 name)
-    if(NOT DEFINED "_ExternalData_FILE_${file}")
-      set("_ExternalData_FILE_${file}" 1)
-      add_custom_command(
-        COMMENT "Generating ${file}"
-        OUTPUT "${file}"
-        COMMAND ${CMAKE_COMMAND} -Drelative_top=${CMAKE_BINARY_DIR}
-                                 -Dfile=${file} -Dname=${name}
-                                 -DExternalData_ACTION=local
-                                 -DExternalData_CONFIG=${config}
-                                 -P ${_ExternalData_SELF}
-        MAIN_DEPENDENCY "${name}"
-        )
-      list(APPEND files "${file}")
-    endif()
-  endforeach()
-
-  # Custom commands to fetch remote data.
-  get_property(data_fetch GLOBAL PROPERTY _ExternalData_${target}_FETCH)
-  foreach(entry IN LISTS data_fetch)
-    string(REPLACE "|" ";" tuple "${entry}")
-    list(GET tuple 0 file)
-    list(GET tuple 1 name)
-    list(GET tuple 2 ext)
-    set(stamp "${ext}-stamp")
-    if(NOT DEFINED "_ExternalData_FILE_${file}")
-      set("_ExternalData_FILE_${file}" 1)
-      add_custom_command(
-        # Users care about the data file, so hide the hash/timestamp file.
-        COMMENT "Generating ${file}"
-        # The hash/timestamp file is the output from the build perspective.
-        # List the real file as a second output in case it is a broken link.
-        # The files must be listed in this order so CMake can hide from the
-        # make tool that a symlink target may not be newer than the input.
-        OUTPUT "${file}${stamp}" "${file}"
-        # Run the data fetch/update script.
-        COMMAND ${CMAKE_COMMAND} -Drelative_top=${CMAKE_BINARY_DIR}
-                                 -Dfile=${file} -Dname=${name} -Dext=${ext}
-                                 -DExternalData_ACTION=fetch
-                                 -DExternalData_CONFIG=${config}
-                                 -P ${_ExternalData_SELF}
-        # Update whenever the object hash changes.
-        MAIN_DEPENDENCY "${name}${ext}"
-        )
-      list(APPEND files "${file}${stamp}")
-    endif()
-  endforeach()
-
-  # Custom target to drive all update commands.
-  add_custom_target(${target} ALL DEPENDS ${files})
-endfunction()
-
-function(ExternalData_expand_arguments target outArgsVar)
-  # Replace DATA{} references with real arguments.
-  set(data_regex "DATA{([^;{}\r\n]*)}")
-  set(other_regex "([^D]|D[^A]|DA[^T]|DAT[^A]|DATA[^{])+|.")
-  set(outArgs "")
-  # This list expansion un-escapes semicolons in list element values so we
-  # must re-escape them below anywhere a new list expansion will occur.
-  foreach(arg IN LISTS ARGN)
-    if("x${arg}" MATCHES "${data_regex}")
-      # Re-escape in-value semicolons before expansion in foreach below.
-      string(REPLACE ";" "\\;" tmp "${arg}")
-      # Split argument into DATA{}-pieces and other pieces.
-      string(REGEX MATCHALL "${data_regex}|${other_regex}" pieces "${tmp}")
-      # Compose output argument with DATA{}-pieces replaced.
-      set(outArg "")
-      foreach(piece IN LISTS pieces)
-        if("x${piece}" MATCHES "^x${data_regex}$")
-          # Replace this DATA{}-piece with a file path.
-          _ExternalData_arg("${target}" "${piece}" "${CMAKE_MATCH_1}" file)
-          set(outArg "${outArg}${file}")
-        else()
-          # No replacement needed for this piece.
-          set(outArg "${outArg}${piece}")
-        endif()
-      endforeach()
-    else()
-      # No replacements needed in this argument.
-      set(outArg "${arg}")
-    endif()
-    # Re-escape in-value semicolons in resulting list.
-    string(REPLACE ";" "\\;" outArg "${outArg}")
-    list(APPEND outArgs "${outArg}")
-  endforeach()
-  set("${outArgsVar}" "${outArgs}" PARENT_SCOPE)
-endfunction()
-
-#-----------------------------------------------------------------------------
-# Private helper interface
-
-set(_ExternalData_REGEX_ALGO "MD5|SHA1|SHA224|SHA256|SHA384|SHA512")
-set(_ExternalData_REGEX_EXT "md5|sha1|sha224|sha256|sha384|sha512")
-set(_ExternalData_SELF "${CMAKE_CURRENT_LIST_FILE}")
-get_filename_component(_ExternalData_SELF_DIR "${_ExternalData_SELF}" PATH)
-
-function(_ExternalData_compute_hash var_hash algo file)
-  if("${algo}" MATCHES "^${_ExternalData_REGEX_ALGO}$")
-    file("${algo}" "${file}" hash)
-    set("${var_hash}" "${hash}" PARENT_SCOPE)
-  else()
-    message(FATAL_ERROR "Hash algorithm ${algo} unimplemented.")
-  endif()
-endfunction()
-
-function(_ExternalData_random var)
-  string(RANDOM LENGTH 6 random)
-  set("${var}" "${random}" PARENT_SCOPE)
-endfunction()
-
-function(_ExternalData_exact_regex regex_var string)
-  string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" regex "${string}")
-  set("${regex_var}" "${regex}" PARENT_SCOPE)
-endfunction()
-
-function(_ExternalData_atomic_write file content)
-  _ExternalData_random(random)
-  set(tmp "${file}.tmp${random}")
-  file(WRITE "${tmp}" "${content}")
-  file(RENAME "${tmp}" "${file}")
-endfunction()
-
-function(_ExternalData_link_content name var_ext)
-  if("${ExternalData_LINK_CONTENT}" MATCHES "^(${_ExternalData_REGEX_ALGO})$")
-    set(algo "${ExternalData_LINK_CONTENT}")
-  else()
-    message(FATAL_ERROR
-      "Unknown hash algorithm specified by ExternalData_LINK_CONTENT:\n"
-      "  ${ExternalData_LINK_CONTENT}")
-  endif()
-  _ExternalData_compute_hash(hash "${algo}" "${name}")
-  get_filename_component(dir "${name}" PATH)
-  set(staged "${dir}/.ExternalData_${algo}_${hash}")
-  string(TOLOWER ".${algo}" ext)
-  _ExternalData_atomic_write("${name}${ext}" "${hash}\n")
-  file(RENAME "${name}" "${staged}")
-  set("${var_ext}" "${ext}" PARENT_SCOPE)
-
-  file(RELATIVE_PATH relname "${ExternalData_SOURCE_ROOT}" "${name}${ext}")
-  message(STATUS "Linked ${relname} to ExternalData ${algo}/${hash}")
-endfunction()
-
-function(_ExternalData_arg target arg options var_file)
-  # Separate data path from the options.
-  string(REPLACE "," ";" options "${options}")
-  list(GET options 0 data)
-  list(REMOVE_AT options 0)
-
-  # Interpret trailing slashes as directories.
-  set(data_is_directory 0)
-  if("x${data}" MATCHES "^x(.*)([/\\])$")
-    set(data_is_directory 1)
-    set(data "${CMAKE_MATCH_1}")
-  endif()
-
-  # Convert to full path.
-  if(IS_ABSOLUTE "${data}")
-    set(absdata "${data}")
-  else()
-    set(absdata "${CMAKE_CURRENT_SOURCE_DIR}/${data}")
-  endif()
-  get_filename_component(absdata "${absdata}" ABSOLUTE)
-
-  # Convert to relative path under the source tree.
-  if(NOT ExternalData_SOURCE_ROOT)
-    set(ExternalData_SOURCE_ROOT "${CMAKE_SOURCE_DIR}")
-  endif()
-  set(top_src "${ExternalData_SOURCE_ROOT}")
-  file(RELATIVE_PATH reldata "${top_src}" "${absdata}")
-  if(IS_ABSOLUTE "${reldata}" OR "${reldata}" MATCHES "^\\.\\./")
-    message(FATAL_ERROR "Data file referenced by argument\n"
-      "  ${arg}\n"
-      "does not lie under the top-level source directory\n"
-      "  ${top_src}\n")
-  endif()
-  if(data_is_directory AND NOT IS_DIRECTORY "${top_src}/${reldata}")
-    message(FATAL_ERROR "Data directory referenced by argument\n"
-      "  ${arg}\n"
-      "corresponds to source tree path\n"
-      "  ${reldata}\n"
-      "that does not exist as a directory!")
-  endif()
-  if(NOT ExternalData_BINARY_ROOT)
-    set(ExternalData_BINARY_ROOT "${CMAKE_BINARY_DIR}")
-  endif()
-  set(top_bin "${ExternalData_BINARY_ROOT}")
-
-  # Handle in-source builds gracefully.
-  if("${top_src}" STREQUAL "${top_bin}")
-    if(ExternalData_LINK_CONTENT)
-      message(WARNING "ExternalData_LINK_CONTENT cannot be used in-source")
-      set(ExternalData_LINK_CONTENT 0)
-    endif()
-    set(top_same 1)
-  endif()
-
-  set(external "") # Entries external to the source tree.
-  set(internal "") # Entries internal to the source tree.
-  set(have_original ${data_is_directory})
-  set(have_original_as_dir 0)
-
-  # Process options.
-  set(series_option "")
-  set(recurse_option "")
-  set(associated_files "")
-  set(associated_regex "")
-  foreach(opt ${options})
-    # Regular expression to match associated files.
-    if("x${opt}" MATCHES "^xREGEX:([^:/]+)$")
-      list(APPEND associated_regex "${CMAKE_MATCH_1}")
-    elseif(opt STREQUAL ":")
-      # Activate series matching.
-      set(series_option "${opt}")
-    elseif(opt STREQUAL "RECURSE:")
-      # Activate recursive matching in directories.
-      set(recurse_option "${opt}")
-    elseif("x${opt}" MATCHES "^[^][:/*?]+$")
-      # Specific associated file.
-      list(APPEND associated_files "${opt}")
-    else()
-      message(FATAL_ERROR "Unknown option \"${opt}\" in argument\n"
-        "  ${arg}\n")
-    endif()
-  endforeach()
-
-  if(series_option)
-    if(data_is_directory)
-      message(FATAL_ERROR "Series option \"${series_option}\" not allowed with directories.")
-    endif()
-    if(associated_files OR associated_regex)
-      message(FATAL_ERROR "Series option \"${series_option}\" not allowed with associated files.")
-    endif()
-    if(recurse_option)
-      message(FATAL_ERROR "Recurse option \"${recurse_option}\" allowed only with directories.")
-    endif()
-    # Load a whole file series.
-    _ExternalData_arg_series()
-  elseif(data_is_directory)
-    if(associated_files OR associated_regex)
-      # Load listed/matching associated files in the directory.
-      _ExternalData_arg_associated()
-    else()
-      message(FATAL_ERROR "Data directory referenced by argument\n"
-        "  ${arg}\n"
-        "must list associated files.")
-    endif()
-  else()
-    if(recurse_option)
-      message(FATAL_ERROR "Recurse option \"${recurse_option}\" allowed only with directories.")
-    endif()
-    # Load the named data file.
-    _ExternalData_arg_single()
-    if(associated_files OR associated_regex)
-      # Load listed/matching associated files.
-      _ExternalData_arg_associated()
-    endif()
-  endif()
-
-  if(NOT have_original)
-    if(have_original_as_dir)
-      set(msg_kind FATAL_ERROR)
-      set(msg "that is directory instead of a file!")
-    else()
-      set(msg_kind AUTHOR_WARNING)
-      set(msg "that does not exist as a file (with or without an extension)!")
-    endif()
-    message(${msg_kind} "Data file referenced by argument\n"
-      "  ${arg}\n"
-      "corresponds to source tree path\n"
-      "  ${reldata}\n"
-      "${msg}")
-  endif()
-
-  if(external)
-    # Make the series available in the build tree.
-    set_property(GLOBAL APPEND PROPERTY
-      _ExternalData_${target}_FETCH "${external}")
-    set_property(GLOBAL APPEND PROPERTY
-      _ExternalData_${target}_LOCAL "${internal}")
-    set("${var_file}" "${top_bin}/${reldata}" PARENT_SCOPE)
-  else()
-    # The whole series is in the source tree.
-    set("${var_file}" "${top_src}/${reldata}" PARENT_SCOPE)
-  endif()
-endfunction()
-
-macro(_ExternalData_arg_associated)
-  # Associated files lie in the same directory.
-  if(data_is_directory)
-    set(reldir "${reldata}")
-  else()
-    get_filename_component(reldir "${reldata}" PATH)
-  endif()
-  if(reldir)
-    set(reldir "${reldir}/")
-  endif()
-  _ExternalData_exact_regex(reldir_regex "${reldir}")
-  if(recurse_option)
-    set(glob GLOB_RECURSE)
-    set(reldir_regex "${reldir_regex}(.+/)?")
-  else()
-    set(glob GLOB)
-  endif()
-
-  # Find files named explicitly.
-  foreach(file ${associated_files})
-    _ExternalData_exact_regex(file_regex "${file}")
-    _ExternalData_arg_find_files(${glob} "${reldir}${file}"
-      "${reldir_regex}${file_regex}")
-  endforeach()
-
-  # Find files matching the given regular expressions.
-  set(all "")
-  set(sep "")
-  foreach(regex ${associated_regex})
-    set(all "${all}${sep}${reldir_regex}${regex}")
-    set(sep "|")
-  endforeach()
-  _ExternalData_arg_find_files(${glob} "${reldir}" "${all}")
-endmacro()
-
-macro(_ExternalData_arg_single)
-  # Match only the named data by itself.
-  _ExternalData_exact_regex(data_regex "${reldata}")
-  _ExternalData_arg_find_files(GLOB "${reldata}" "${data_regex}")
-endmacro()
-
-macro(_ExternalData_arg_series)
-  # Configure series parsing and matching.
-  set(series_parse_prefix "")
-  set(series_parse_number "\\1")
-  set(series_parse_suffix "\\2")
-  if(ExternalData_SERIES_PARSE)
-    if(ExternalData_SERIES_PARSE_NUMBER AND ExternalData_SERIES_PARSE_SUFFIX)
-      if(ExternalData_SERIES_PARSE_PREFIX)
-        set(series_parse_prefix "\\${ExternalData_SERIES_PARSE_PREFIX}")
-      endif()
-      set(series_parse_number "\\${ExternalData_SERIES_PARSE_NUMBER}")
-      set(series_parse_suffix "\\${ExternalData_SERIES_PARSE_SUFFIX}")
-    elseif(NOT "x${ExternalData_SERIES_PARSE}" MATCHES "^x\\([^()]*\\)\\([^()]*\\)\\$$")
-      message(FATAL_ERROR
-        "ExternalData_SERIES_PARSE is set to\n"
-        "  ${ExternalData_SERIES_PARSE}\n"
-        "which is not of the form\n"
-        "  (<number>)(<suffix>)$\n"
-        "Fix the regular expression or set variables\n"
-        "  ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any\n"
-        "  ExternalData_SERIES_PARSE_NUMBER = <number> regex group number\n"
-        "  ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number\n"
-        )
-    endif()
-    set(series_parse "${ExternalData_SERIES_PARSE}")
-  else()
-    set(series_parse "([0-9]*)(\\.[^./]*)$")
-  endif()
-  if(ExternalData_SERIES_MATCH)
-    set(series_match "${ExternalData_SERIES_MATCH}")
-  else()
-    set(series_match "[_.-]?[0-9]*")
-  endif()
-
-  # Parse the base, number, and extension components of the series.
-  string(REGEX REPLACE "${series_parse}" "${series_parse_prefix};${series_parse_number};${series_parse_suffix}" tuple "${reldata}")
-  list(LENGTH tuple len)
-  if(NOT "${len}" EQUAL 3)
-    message(FATAL_ERROR "Data file referenced by argument\n"
-      "  ${arg}\n"
-      "corresponds to path\n"
-      "  ${reldata}\n"
-      "that does not match regular expression\n"
-      "  ${series_parse}")
-  endif()
-  list(GET tuple 0 relbase)
-  list(GET tuple 2 ext)
-
-  # Glob files that might match the series.
-  # Then match base, number, and extension.
-  _ExternalData_exact_regex(series_base "${relbase}")
-  _ExternalData_exact_regex(series_ext "${ext}")
-  _ExternalData_arg_find_files(GLOB "${relbase}*${ext}"
-    "${series_base}${series_match}${series_ext}")
-endmacro()
-
-function(_ExternalData_arg_find_files glob pattern regex)
-  cmake_policy(PUSH)
-  cmake_policy(SET CMP0009 NEW)
-  file(${glob} globbed RELATIVE "${top_src}" "${top_src}/${pattern}*")
-  cmake_policy(POP)
-  foreach(entry IN LISTS globbed)
-    if("x${entry}" MATCHES "^x(.*)(\\.(${_ExternalData_REGEX_EXT}))$")
-      set(relname "${CMAKE_MATCH_1}")
-      set(alg "${CMAKE_MATCH_2}")
-    else()
-      set(relname "${entry}")
-      set(alg "")
-    endif()
-    if("x${relname}" MATCHES "^x${regex}$" # matches
-        AND NOT "x${relname}" MATCHES "(^x|/)\\.ExternalData_" # not staged obj
-        )
-      if(IS_DIRECTORY "${top_src}/${entry}")
-        if("${relname}" STREQUAL "${reldata}")
-          set(have_original_as_dir 1)
-        endif()
-      else()
-        set(name "${top_src}/${relname}")
-        set(file "${top_bin}/${relname}")
-        if(alg)
-          list(APPEND external "${file}|${name}|${alg}")
-        elseif(ExternalData_LINK_CONTENT)
-          _ExternalData_link_content("${name}" alg)
-          list(APPEND external "${file}|${name}|${alg}")
-        elseif(NOT top_same)
-          list(APPEND internal "${file}|${name}")
-        endif()
-        if("${relname}" STREQUAL "${reldata}")
-          set(have_original 1)
-        endif()
-      endif()
-    endif()
-  endforeach()
-  set(external "${external}" PARENT_SCOPE)
-  set(internal "${internal}" PARENT_SCOPE)
-  set(have_original "${have_original}" PARENT_SCOPE)
-  set(have_original_as_dir "${have_original_as_dir}" PARENT_SCOPE)
-endfunction()
-
-#-----------------------------------------------------------------------------
-# Private script mode interface
-
-if(CMAKE_GENERATOR OR NOT ExternalData_ACTION)
-  return()
-endif()
-
-if(ExternalData_CONFIG)
-  include(${ExternalData_CONFIG})
-endif()
-if(NOT ExternalData_URL_TEMPLATES AND NOT ExternalData_OBJECT_STORES)
-  message(FATAL_ERROR
-    "Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set!")
-endif()
-
-function(_ExternalData_link_or_copy src dst)
-  # Create a temporary file first.
-  get_filename_component(dst_dir "${dst}" PATH)
-  file(MAKE_DIRECTORY "${dst_dir}")
-  _ExternalData_random(random)
-  set(tmp "${dst}.tmp${random}")
-  if(UNIX AND NOT ExternalData_NO_SYMLINKS)
-    # Create a symbolic link.
-    set(tgt "${src}")
-    if(relative_top)
-      # Use relative path if files are close enough.
-      file(RELATIVE_PATH relsrc "${relative_top}" "${src}")
-      file(RELATIVE_PATH relfile "${relative_top}" "${dst}")
-      if(NOT IS_ABSOLUTE "${relsrc}" AND NOT "${relsrc}" MATCHES "^\\.\\./" AND
-          NOT IS_ABSOLUTE "${reldst}" AND NOT "${reldst}" MATCHES "^\\.\\./")
-        file(RELATIVE_PATH tgt "${dst_dir}" "${src}")
-      endif()
-    endif()
-    execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${tgt}" "${tmp}" RESULT_VARIABLE result)
-  else()
-    # Create a copy.
-    execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${src}" "${tmp}" RESULT_VARIABLE result)
-  endif()
-  if(result)
-    file(REMOVE "${tmp}")
-    message(FATAL_ERROR "Failed to create\n  ${tmp}\nfrom\n  ${obj}")
-  endif()
-
-  # Atomically create/replace the real destination.
-  file(RENAME "${tmp}" "${dst}")
-endfunction()
-
-function(_ExternalData_download_file url file err_var msg_var)
-  set(retry 3)
-  while(retry)
-    math(EXPR retry "${retry} - 1")
-    if(ExternalData_TIMEOUT_INACTIVITY)
-      set(inactivity_timeout INACTIVITY_TIMEOUT ${ExternalData_TIMEOUT_INACTIVITY})
-    elseif(NOT "${ExternalData_TIMEOUT_INACTIVITY}" EQUAL 0)
-      set(inactivity_timeout INACTIVITY_TIMEOUT 60)
-    else()
-      set(inactivity_timeout "")
-    endif()
-    if(ExternalData_TIMEOUT_ABSOLUTE)
-      set(absolute_timeout TIMEOUT ${ExternalData_TIMEOUT_ABSOLUTE})
-    elseif(NOT "${ExternalData_TIMEOUT_ABSOLUTE}" EQUAL 0)
-      set(absolute_timeout TIMEOUT 300)
-    else()
-      set(absolute_timeout "")
-    endif()
-    file(DOWNLOAD "${url}" "${file}" STATUS status LOG log ${inactivity_timeout} ${absolute_timeout} SHOW_PROGRESS)
-    list(GET status 0 err)
-    list(GET status 1 msg)
-    if(err)
-      if("${msg}" MATCHES "HTTP response code said error" AND
-          "${log}" MATCHES "error: 503")
-        set(msg "temporarily unavailable")
-      endif()
-    elseif("${log}" MATCHES "\nHTTP[^\n]* 503")
-      set(err TRUE)
-      set(msg "temporarily unavailable")
-    endif()
-    if(NOT err OR NOT "${msg}" MATCHES "partial|timeout|temporarily")
-      break()
-    elseif(retry)
-      message(STATUS "[download terminated: ${msg}, retries left: ${retry}]")
-    endif()
-  endwhile()
-  set("${err_var}" "${err}" PARENT_SCOPE)
-  set("${msg_var}" "${msg}" PARENT_SCOPE)
-endfunction()
-
-function(_ExternalData_custom_fetch key loc file err_var msg_var)
-  if(NOT ExternalData_CUSTOM_SCRIPT_${key})
-    set(err 1)
-    set(msg "No ExternalData_CUSTOM_SCRIPT_${key} set!")
-  elseif(NOT EXISTS "${ExternalData_CUSTOM_SCRIPT_${key}}")
-    set(err 1)
-    set(msg "No '${ExternalData_CUSTOM_SCRIPT_${key}}' exists!")
-  else()
-    set(ExternalData_CUSTOM_LOCATION "${loc}")
-    set(ExternalData_CUSTOM_FILE "${file}")
-    unset(ExternalData_CUSTOM_ERROR)
-    include("${ExternalData_CUSTOM_SCRIPT_${key}}")
-    if(DEFINED ExternalData_CUSTOM_ERROR)
-      set(err 1)
-      set(msg "${ExternalData_CUSTOM_ERROR}")
-    else()
-      set(err 0)
-      set(msg "no error")
-    endif()
-  endif()
-  set("${err_var}" "${err}" PARENT_SCOPE)
-  set("${msg_var}" "${msg}" PARENT_SCOPE)
-endfunction()
-
-function(_ExternalData_download_object name hash algo var_obj)
-  # Search all object stores for an existing object.
-  foreach(dir ${ExternalData_OBJECT_STORES})
-    set(obj "${dir}/${algo}/${hash}")
-    if(EXISTS "${obj}")
-      message(STATUS "Found object: \"${obj}\"")
-      set("${var_obj}" "${obj}" PARENT_SCOPE)
-      return()
-    endif()
-  endforeach()
-
-  # Download object to the first store.
-  list(GET ExternalData_OBJECT_STORES 0 store)
-  set(obj "${store}/${algo}/${hash}")
-
-  _ExternalData_random(random)
-  set(tmp "${obj}.tmp${random}")
-  set(found 0)
-  set(tried "")
-  foreach(url_template IN LISTS ExternalData_URL_TEMPLATES)
-    string(REPLACE "%(hash)" "${hash}" url_tmp "${url_template}")
-    string(REPLACE "%(algo)" "${algo}" url "${url_tmp}")
-    if(url MATCHES "^(.*)%\\(algo:([A-Za-z_][A-Za-z0-9_]*)\\)(.*)$")
-      set(lhs "${CMAKE_MATCH_1}")
-      set(key "${CMAKE_MATCH_2}")
-      set(rhs "${CMAKE_MATCH_3}")
-      if(DEFINED ExternalData_URL_ALGO_${algo}_${key})
-        set(url "${lhs}${ExternalData_URL_ALGO_${algo}_${key}}${rhs}")
-      else()
-        set(url "${lhs}${algo}${rhs}")
-      endif()
-    endif()
-    message(STATUS "Fetching \"${url}\"")
-    if(url MATCHES "^ExternalDataCustomScript://([A-Za-z_][A-Za-z0-9_]*)/(.*)$")
-      _ExternalData_custom_fetch("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}" "${tmp}" err errMsg)
-    else()
-      _ExternalData_download_file("${url}" "${tmp}" err errMsg)
-    endif()
-    set(tried "${tried}\n  ${url}")
-    if(err)
-      set(tried "${tried} (${errMsg})")
-    else()
-      # Verify downloaded object.
-      _ExternalData_compute_hash(dl_hash "${algo}" "${tmp}")
-      if("${dl_hash}" STREQUAL "${hash}")
-        set(found 1)
-        break()
-      else()
-        set(tried "${tried} (wrong hash ${algo}=${dl_hash})")
-        if("$ENV{ExternalData_DEBUG_DOWNLOAD}" MATCHES ".")
-          file(RENAME "${tmp}" "${store}/${algo}/${dl_hash}")
-        endif()
-      endif()
-    endif()
-    file(REMOVE "${tmp}")
-  endforeach()
-
-  get_filename_component(dir "${name}" PATH)
-  set(staged "${dir}/.ExternalData_${algo}_${hash}")
-
-  if(found)
-    file(RENAME "${tmp}" "${obj}")
-    message(STATUS "Downloaded object: \"${obj}\"")
-  elseif(EXISTS "${staged}")
-    set(obj "${staged}")
-    message(STATUS "Staged object: \"${obj}\"")
-  else()
-    if(NOT tried)
-      set(tried "\n  (No ExternalData_URL_TEMPLATES given)")
-    endif()
-    message(FATAL_ERROR "Object ${algo}=${hash} not found at:${tried}")
-  endif()
-
-  set("${var_obj}" "${obj}" PARENT_SCOPE)
-endfunction()
-
-if("${ExternalData_ACTION}" STREQUAL "fetch")
-  foreach(v ExternalData_OBJECT_STORES file name ext)
-    if(NOT DEFINED "${v}")
-      message(FATAL_ERROR "No \"-D${v}=\" value provided!")
-    endif()
-  endforeach()
-
-  file(READ "${name}${ext}" hash)
-  string(STRIP "${hash}" hash)
-
-  if("${ext}" MATCHES "^\\.(${_ExternalData_REGEX_EXT})$")
-    string(TOUPPER "${CMAKE_MATCH_1}" algo)
-  else()
-    message(FATAL_ERROR "Unknown hash algorithm extension \"${ext}\"")
-  endif()
-
-  _ExternalData_download_object("${name}" "${hash}" "${algo}" obj)
-
-  # Check if file already corresponds to the object.
-  set(stamp "${ext}-stamp")
-  set(file_up_to_date 0)
-  if(EXISTS "${file}" AND EXISTS "${file}${stamp}")
-    file(READ "${file}${stamp}" f_hash)
-    string(STRIP "${f_hash}" f_hash)
-    if("${f_hash}" STREQUAL "${hash}")
-      #message(STATUS "File already corresponds to object")
-      set(file_up_to_date 1)
-    endif()
-  endif()
-
-  if(file_up_to_date)
-    # Touch the file to convince the build system it is up to date.
-    execute_process(COMMAND "${CMAKE_COMMAND}" -E touch "${file}")
-  else()
-    _ExternalData_link_or_copy("${obj}" "${file}")
-  endif()
-
-  # Atomically update the hash/timestamp file to record the object referenced.
-  _ExternalData_atomic_write("${file}${stamp}" "${hash}\n")
-elseif("${ExternalData_ACTION}" STREQUAL "local")
-  foreach(v file name)
-    if(NOT DEFINED "${v}")
-      message(FATAL_ERROR "No \"-D${v}=\" value provided!")
-    endif()
-  endforeach()
-  _ExternalData_link_or_copy("${name}" "${file}")
-else()
-  message(FATAL_ERROR "Unknown ExternalData_ACTION=[${ExternalData_ACTION}]")
-endif()
diff --git a/share/cmake-3.6/Modules/ExternalProject-download.cmake.in b/share/cmake-3.6/Modules/ExternalProject-download.cmake.in
deleted file mode 100644
index 5b73cd8..0000000
--- a/share/cmake-3.6/Modules/ExternalProject-download.cmake.in
+++ /dev/null
@@ -1,161 +0,0 @@
-#=============================================================================
-# Copyright 2008-2013 Kitware, Inc.
-# Copyright 2016 Ruslan Baratov
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-cmake_minimum_required(VERSION 3.5)
-
-function(check_file_hash has_hash hash_is_good)
-  if("${has_hash}" STREQUAL "")
-    message(FATAL_ERROR "has_hash Can't be empty")
-  endif()
-
-  if("${hash_is_good}" STREQUAL "")
-    message(FATAL_ERROR "hash_is_good Can't be empty")
-  endif()
-
-  if("@ALGO@" STREQUAL "")
-    # No check
-    set("${has_hash}" FALSE PARENT_SCOPE)
-    set("${hash_is_good}" FALSE PARENT_SCOPE)
-    return()
-  endif()
-
-  set("${has_hash}" TRUE PARENT_SCOPE)
-
-  message(STATUS "verifying file...
-       file='@LOCAL@'")
-
-  file("@ALGO@" "@LOCAL@" actual_value)
-
-  if(NOT "${actual_value}" STREQUAL "@EXPECT_VALUE@")
-    set("${hash_is_good}" FALSE PARENT_SCOPE)
-    message(STATUS "@ALGO@ hash of
-    @LOCAL@
-  does not match expected value
-    expected: '@EXPECT_VALUE@'
-      actual: '${actual_value}'")
-  else()
-    set("${hash_is_good}" TRUE PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(sleep_before_download attempt)
-  if(attempt EQUAL 0)
-    return()
-  endif()
-
-  if(attempt EQUAL 1)
-    message(STATUS "Retrying...")
-    return()
-  endif()
-
-  set(sleep_seconds 0)
-
-  if(attempt EQUAL 2)
-    set(sleep_seconds 5)
-  elseif(attempt EQUAL 3)
-    set(sleep_seconds 5)
-  elseif(attempt EQUAL 4)
-    set(sleep_seconds 15)
-  elseif(attempt EQUAL 5)
-    set(sleep_seconds 60)
-  elseif(attempt EQUAL 6)
-    set(sleep_seconds 90)
-  elseif(attempt EQUAL 7)
-    set(sleep_seconds 300)
-  else()
-    set(sleep_seconds 1200)
-  endif()
-
-  message(STATUS "Retry after ${sleep_seconds} seconds (attempt #${attempt}) ...")
-
-  execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep "${sleep_seconds}")
-endfunction()
-
-if("@LOCAL@" STREQUAL "")
-  message(FATAL_ERROR "LOCAL can't be empty")
-endif()
-
-if("@REMOTE@" STREQUAL "")
-  message(FATAL_ERROR "REMOTE can't be empty")
-endif()
-
-if(EXISTS "@LOCAL@")
-  check_file_hash(has_hash hash_is_good)
-  if(has_hash)
-    if(hash_is_good)
-      message(STATUS "File already exists and hash match (skip download):
-  file='@LOCAL@'
-  @ALGO@='@EXPECT_VALUE@'"
-      )
-      return()
-    else()
-      message(STATUS "File already exists but hash mismatch. Removing...")
-      file(REMOVE "@LOCAL@")
-    endif()
-  else()
-    message(STATUS "File already exists but no hash specified (use URL_HASH):
-  file='@LOCAL@'
-Old file will be removed and new file downloaded from URL."
-    )
-    file(REMOVE "@LOCAL@")
-  endif()
-endif()
-
-set(retry_number 5)
-
-foreach(i RANGE ${retry_number})
-  sleep_before_download(${i})
-
-  message(STATUS "downloading...
-       src='@REMOTE@'
-       dst='@LOCAL@'
-       timeout='@TIMEOUT_MSG@'")
-
-  @TLS_VERIFY_CODE@
-  @TLS_CAINFO_CODE@
-
-  file(
-      DOWNLOAD
-      "@REMOTE@" "@LOCAL@"
-      @SHOW_PROGRESS@
-      @TIMEOUT_ARGS@
-      STATUS status
-      LOG log
-  )
-
-  list(GET status 0 status_code)
-  list(GET status 1 status_string)
-
-  if(status_code EQUAL 0)
-    check_file_hash(has_hash hash_is_good)
-    if(has_hash AND NOT hash_is_good)
-      message(STATUS "Hash mismatch, removing...")
-      file(REMOVE "@LOCAL@")
-    else()
-      message(STATUS "Downloading... done")
-      return()
-    endif()
-  else()
-    message("error: downloading '@REMOTE@' failed
-  status_code: ${status_code}
-  status_string: ${status_string}
-  log:
-  --- LOG BEGIN ---
-  ${log}
-  --- LOG END ---"
-    )
-  endif()
-endforeach()
-
-message(FATAL_ERROR "Downloading failed")
diff --git a/share/cmake-3.6/Modules/ExternalProject-verify.cmake.in b/share/cmake-3.6/Modules/ExternalProject-verify.cmake.in
deleted file mode 100644
index 1d8db96..0000000
--- a/share/cmake-3.6/Modules/ExternalProject-verify.cmake.in
+++ /dev/null
@@ -1,48 +0,0 @@
-#=============================================================================
-# Copyright 2008-2013 Kitware, Inc.
-# Copyright 2016 Ruslan Baratov
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-cmake_minimum_required(VERSION 3.5)
-
-if("@LOCAL@" STREQUAL "")
-  message(FATAL_ERROR "LOCAL can't be empty")
-endif()
-
-if(NOT EXISTS "@LOCAL@")
-  message(FATAL_ERROR "File not found: @LOCAL@")
-endif()
-
-if("@ALGO@" STREQUAL "")
-  message(WARNING "File will not be verified since no URL_HASH specified")
-  return()
-endif()
-
-if("@EXPECT_VALUE@" STREQUAL "")
-  message(FATAL_ERROR "EXPECT_VALUE can't be empty")
-endif()
-
-message(STATUS "verifying file...
-     file='@LOCAL@'")
-
-file("@ALGO@" "@LOCAL@" actual_value)
-
-if(NOT "${actual_value}" STREQUAL "@EXPECT_VALUE@")
-  message(FATAL_ERROR "error: @ALGO@ hash of
-  @LOCAL@
-does not match expected value
-  expected: '@EXPECT_VALUE@'
-    actual: '${actual_value}'
-")
-endif()
-
-message(STATUS "verifying file... done")
diff --git a/share/cmake-3.6/Modules/ExternalProject.cmake b/share/cmake-3.6/Modules/ExternalProject.cmake
deleted file mode 100644
index 2ff18fc..0000000
--- a/share/cmake-3.6/Modules/ExternalProject.cmake
+++ /dev/null
@@ -1,2484 +0,0 @@
-#[=======================================================================[.rst:
-ExternalProject
----------------
-
-Create custom targets to build projects in external trees
-
-.. command:: ExternalProject_Add
-
-  The ``ExternalProject_Add`` function creates a custom target to drive
-  download, update/patch, configure, build, install and test steps of an
-  external project::
-
-   ExternalProject_Add(<name> [<option>...])
-
-  General options are:
-
-  ``DEPENDS <projects>...``
-    Targets on which the project depends
-  ``PREFIX <dir>``
-    Root dir for entire project
-  ``LIST_SEPARATOR <sep>``
-    Sep to be replaced by ; in cmd lines
-  ``TMP_DIR <dir>``
-    Directory to store temporary files
-  ``STAMP_DIR <dir>``
-    Directory to store step timestamps
-  ``EXCLUDE_FROM_ALL 1``
-    The "all" target does not depend on this
-
-  Download step options are:
-
-  ``DOWNLOAD_NAME <fname>``
-    File name to store (if not end of URL)
-  ``DOWNLOAD_DIR <dir>``
-    Directory to store downloaded files
-  ``DOWNLOAD_COMMAND <cmd>...``
-    Command to download source tree
-  ``DOWNLOAD_NO_PROGRESS 1``
-    Disable download progress reports
-  ``CVS_REPOSITORY <cvsroot>``
-    CVSROOT of CVS repository
-  ``CVS_MODULE <mod>``
-    Module to checkout from CVS repo
-  ``CVS_TAG <tag>``
-    Tag to checkout from CVS repo
-  ``SVN_REPOSITORY <url>``
-    URL of Subversion repo
-  ``SVN_REVISION -r<rev>``
-    Revision to checkout from Subversion repo
-  ``SVN_USERNAME <username>``
-    Username for Subversion checkout and update
-  ``SVN_PASSWORD <password>``
-    Password for Subversion checkout and update
-  ``SVN_TRUST_CERT 1``
-    Trust the Subversion server site certificate
-  ``GIT_REPOSITORY <url>``
-    URL of git repo
-  ``GIT_TAG <tag>``
-    Git branch name, commit id or tag
-  ``GIT_REMOTE_NAME <name>``
-    The optional name of the remote, default to ``origin``
-  ``GIT_SUBMODULES <module>...``
-    Git submodules that shall be updated, all if empty
-  ``GIT_SHALLOW 1``
-    Tell Git to clone with ``--depth 1``.   Use when ``GIT_TAG`` is not
-    specified or when it names a branch in order to download only the
-    tip of the branch without the rest of its history.
-  ``HG_REPOSITORY <url>``
-    URL of mercurial repo
-  ``HG_TAG <tag>``
-    Mercurial branch name, commit id or tag
-  ``URL /.../src.tgz``
-    Full path or URL of source
-  ``URL_HASH ALGO=value``
-    Hash of file at URL
-  ``URL_MD5 md5``
-    Equivalent to URL_HASH MD5=md5
-  ``TLS_VERIFY <bool>``
-    Should certificate for https be checked
-  ``TLS_CAINFO <file>``
-    Path to a certificate authority file
-  ``TIMEOUT <seconds>``
-    Time allowed for file download operations
-  ``DOWNLOAD_NO_EXTRACT 1``
-    Just download the file and do not extract it; the full path to the
-    downloaded file is available as ``<DOWNLOADED_FILE>``.
-
-  Update/Patch step options are:
-
-  ``UPDATE_COMMAND <cmd>...``
-    Source work-tree update command
-  ``UPDATE_DISCONNECTED 1``
-    Never update automatically from the remote repository
-  ``PATCH_COMMAND <cmd>...``
-    Command to patch downloaded source
-
-  Configure step options are:
-
-  ``SOURCE_DIR <dir>``
-    Source dir to be used for build
-  ``CONFIGURE_COMMAND <cmd>...``
-    Build tree configuration command
-  ``CMAKE_COMMAND /.../cmake``
-    Specify alternative cmake executable
-  ``CMAKE_GENERATOR <gen>``
-    Specify generator for native build
-  ``CMAKE_GENERATOR_PLATFORM <platform>``
-    Generator-specific platform name
-  ``CMAKE_GENERATOR_TOOLSET <toolset>``
-    Generator-specific toolset name
-  ``CMAKE_ARGS <arg>...``
-    Arguments to CMake command line.
-    These arguments are passed to CMake command line, and can contain
-    arguments other than cache values, see also
-    :manual:`CMake Options <cmake(1)>`. Arguments in the form
-    ``-Dvar:string=on`` are always passed to the command line, and
-    therefore cannot be changed by the user.
-    Arguments may use
-    :manual:`generator expressions <cmake-generator-expressions(7)>`.
-  ``CMAKE_CACHE_ARGS <arg>...``
-    Initial cache arguments, of the form ``-Dvar:string=on``.
-    These arguments are written in a pre-load a script that populates
-    CMake cache, see also :manual:`cmake -C <cmake(1)>`. This allows one to
-    overcome command line length limits.
-    These arguments are :command:`set` using the ``FORCE`` argument,
-    and therefore cannot be changed by the user.
-    Arguments may use
-    :manual:`generator expressions <cmake-generator-expressions(7)>`.
-  ``CMAKE_CACHE_DEFAULT_ARGS <arg>...``
-    Initial default cache arguments, of the form ``-Dvar:string=on``.
-    These arguments are written in a pre-load a script that populates
-    CMake cache, see also :manual:`cmake -C <cmake(1)>`. This allows one to
-    overcome command line length limits.
-    These arguments can be used as default value that will be set if no
-    previous value is found in the cache, and that the user can change
-    later.
-    Arguments may use
-    :manual:`generator expressions <cmake-generator-expressions(7)>`.
-
-  Build step options are:
-
-  ``BINARY_DIR <dir>``
-    Specify build dir location
-  ``BUILD_COMMAND <cmd>...``
-    Command to drive the native build
-  ``BUILD_IN_SOURCE 1``
-    Use source dir for build dir
-  ``BUILD_ALWAYS 1``
-    No stamp file, build step always runs
-  ``BUILD_BYPRODUCTS <file>...``
-    Files that will be generated by the build command but may or may
-    not have their modification time updated by subsequent builds.
-
-  Install step options are:
-
-  ``INSTALL_DIR <dir>``
-    Installation prefix
-  ``INSTALL_COMMAND <cmd>...``
-    Command to drive install after build
-
-  Test step options are:
-
-  ``TEST_BEFORE_INSTALL 1``
-    Add test step executed before install step
-  ``TEST_AFTER_INSTALL 1``
-    Add test step executed after install step
-  ``TEST_EXCLUDE_FROM_MAIN 1``
-    Main target does not depend on the test step
-  ``TEST_COMMAND <cmd>...``
-    Command to drive test
-
-  Output logging options are:
-
-  ``LOG_DOWNLOAD 1``
-    Wrap download in script to log output
-  ``LOG_UPDATE 1``
-    Wrap update in script to log output
-  ``LOG_CONFIGURE 1``
-    Wrap configure in script to log output
-  ``LOG_BUILD 1``
-    Wrap build in script to log output
-  ``LOG_TEST 1``
-    Wrap test in script to log output
-  ``LOG_INSTALL 1``
-    Wrap install in script to log output
-
-  Steps can be given direct access to the terminal if possible.  With
-  the :generator:`Ninja` generator, this places the steps in the
-  ``console`` :prop_gbl:`pool <JOB_POOLS>`.  Options are:
-
-  ``USES_TERMINAL_DOWNLOAD 1``
-    Give download terminal access.
-  ``USES_TERMINAL_UPDATE 1``
-    Give update terminal access.
-  ``USES_TERMINAL_CONFIGURE 1``
-    Give configure terminal access.
-  ``USES_TERMINAL_BUILD 1``
-    Give build terminal access.
-  ``USES_TERMINAL_TEST 1``
-    Give test terminal access.
-  ``USES_TERMINAL_INSTALL 1``
-    Give install terminal access.
-
-  Other options are:
-
-  ``STEP_TARGETS <step-target>...``
-    Generate custom targets for these steps
-  ``INDEPENDENT_STEP_TARGETS <step-target>...``
-    Generate custom targets for these steps that do not depend on other
-    external projects even if a dependency is set
-
-  The ``*_DIR`` options specify directories for the project, with default
-  directories computed as follows.  If the ``PREFIX`` option is given to
-  ``ExternalProject_Add()`` or the ``EP_PREFIX`` directory property is set,
-  then an external project is built and installed under the specified prefix::
-
-   TMP_DIR      = <prefix>/tmp
-   STAMP_DIR    = <prefix>/src/<name>-stamp
-   DOWNLOAD_DIR = <prefix>/src
-   SOURCE_DIR   = <prefix>/src/<name>
-   BINARY_DIR   = <prefix>/src/<name>-build
-   INSTALL_DIR  = <prefix>
-
-  Otherwise, if the ``EP_BASE`` directory property is set then components
-  of an external project are stored under the specified base::
-
-   TMP_DIR      = <base>/tmp/<name>
-   STAMP_DIR    = <base>/Stamp/<name>
-   DOWNLOAD_DIR = <base>/Download/<name>
-   SOURCE_DIR   = <base>/Source/<name>
-   BINARY_DIR   = <base>/Build/<name>
-   INSTALL_DIR  = <base>/Install/<name>
-
-  If no ``PREFIX``, ``EP_PREFIX``, or ``EP_BASE`` is specified then the
-  default is to set ``PREFIX`` to ``<name>-prefix``.  Relative paths are
-  interpreted with respect to the build directory corresponding to the
-  source directory in which ``ExternalProject_Add`` is invoked.
-
-  If ``SOURCE_DIR`` is explicitly set to an existing directory the project
-  will be built from it.  Otherwise a download step must be specified
-  using one of the ``DOWNLOAD_COMMAND``, ``CVS_*``, ``SVN_*``, or ``URL``
-  options.  The ``URL`` option may refer locally to a directory or source
-  tarball, or refer to a remote tarball (e.g. ``http://.../src.tgz``).
-
-  If ``UPDATE_DISCONNECTED`` is set, the update step is not executed
-  automatically when building the main target. The update step can still
-  be added as a step target and called manually. This is useful if you
-  want to allow one to build the project when you are disconnected from the
-  network (you might still need the network for the download step).
-  This is disabled by default.
-  The directory property ``EP_UPDATE_DISCONNECTED`` can be used to change
-  the default value for all the external projects in the current
-  directory and its subdirectories.
-
-.. command:: ExternalProject_Add_Step
-
-  The ``ExternalProject_Add_Step`` function adds a custom step to an
-  external project::
-
-   ExternalProject_Add_Step(<name> <step> [<option>...])
-
-  Options are:
-
-  ``COMMAND <cmd>...``
-    Command line invoked by this step
-  ``COMMENT "<text>..."``
-    Text printed when step executes
-  ``DEPENDEES <step>...``
-    Steps on which this step depends
-  ``DEPENDERS <step>...``
-    Steps that depend on this step
-  ``DEPENDS <file>...``
-    Files on which this step depends
-  ``BYPRODUCTS <file>...``
-    Files that will be generated by this step but may or may not
-    have their modification time updated by subsequent builds.
-  ``ALWAYS 1``
-    No stamp file, step always runs
-  ``EXCLUDE_FROM_MAIN 1``
-    Main target does not depend on this step
-  ``WORKING_DIRECTORY <dir>``
-    Working directory for command
-  ``LOG 1``
-    Wrap step in script to log output
-  ``USES_TERMINAL 1``
-    Give the step direct access to the terminal if possible.
-
-  The command line, comment, working directory, and byproducts of every
-  standard and custom step are processed to replace tokens ``<SOURCE_DIR>``,
-  ``<BINARY_DIR>``, ``<INSTALL_DIR>``, and ``<TMP_DIR>`` with
-  corresponding property values.
-
-Any builtin step that specifies a ``<step>_COMMAND cmd...`` or custom
-step that specifies a ``COMMAND cmd...`` may specify additional command
-lines using the form ``COMMAND cmd...``.  At build time the commands
-will be executed in order and aborted if any one fails.  For example::
-
- ... BUILD_COMMAND make COMMAND echo done ...
-
-specifies to run ``make`` and then ``echo done`` during the build step.
-Whether the current working directory is preserved between commands is
-not defined.  Behavior of shell operators like ``&&`` is not defined.
-
-Arguments to ``<step>_COMMAND`` or ``COMMAND`` options may use
-:manual:`generator expressions <cmake-generator-expressions(7)>`.
-
-.. command:: ExternalProject_Get_Property
-
-  The ``ExternalProject_Get_Property`` function retrieves external project
-  target properties::
-
-    ExternalProject_Get_Property(<name> [prop1 [prop2 [...]]])
-
-  It stores property values in variables of the same name.  Property
-  names correspond to the keyword argument names of
-  ``ExternalProject_Add``.
-
-.. command:: ExternalProject_Add_StepTargets
-
-  The ``ExternalProject_Add_StepTargets`` function generates custom
-  targets for the steps listed::
-
-    ExternalProject_Add_StepTargets(<name> [NO_DEPENDS] [step1 [step2 [...]]])
-
-If ``NO_DEPENDS`` is set, the target will not depend on the
-dependencies of the complete project. This is usually safe to use for
-the download, update, and patch steps that do not require that all the
-dependencies are updated and built.  Using ``NO_DEPENDS`` for other
-of the default steps might break parallel builds, so you should avoid,
-it.  For custom steps, you should consider whether or not the custom
-commands requires that the dependencies are configured, built and
-installed.
-
-If ``STEP_TARGETS`` or ``INDEPENDENT_STEP_TARGETS`` is set then
-``ExternalProject_Add_StepTargets`` is automatically called at the end
-of matching calls to ``ExternalProject_Add_Step``.  Pass
-``STEP_TARGETS`` or ``INDEPENDENT_STEP_TARGETS`` explicitly to
-individual ``ExternalProject_Add`` calls, or implicitly to all
-``ExternalProject_Add`` calls by setting the directory properties
-``EP_STEP_TARGETS`` and ``EP_INDEPENDENT_STEP_TARGETS``.  The
-``INDEPENDENT`` version of the argument and of the property will call
-``ExternalProject_Add_StepTargets`` with the ``NO_DEPENDS`` argument.
-
-If ``STEP_TARGETS`` and ``INDEPENDENT_STEP_TARGETS`` are not set,
-clients may still manually call ``ExternalProject_Add_StepTargets``
-after calling ``ExternalProject_Add`` or ``ExternalProject_Add_Step``.
-
-This functionality is provided to make it easy to drive the steps
-independently of each other by specifying targets on build command
-lines.  For example, you may be submitting to a sub-project based
-dashboard, where you want to drive the configure portion of the build,
-then submit to the dashboard, followed by the build portion, followed
-by tests.  If you invoke a custom target that depends on a step
-halfway through the step dependency chain, then all the previous steps
-will also run to ensure everything is up to date.
-
-For example, to drive configure, build and test steps independently
-for each ``ExternalProject_Add`` call in your project, write the following
-line prior to any ``ExternalProject_Add`` calls in your ``CMakeLists.txt``
-file::
-
- set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
-
-.. command:: ExternalProject_Add_StepDependencies
-
-  The ``ExternalProject_Add_StepDependencies`` function add some
-  dependencies for some external project step::
-
-    ExternalProject_Add_StepDependencies(<name> <step> [target1 [target2 [...]]])
-
-  This function takes care to set both target and file level
-  dependencies, and will ensure that parallel builds will not break.
-  It should be used instead of :command:`add_dependencies()` when adding
-  a dependency for some of the step targets generated by
-  ``ExternalProject``.
-#]=======================================================================]
-
-#=============================================================================
-# Copyright 2008-2013 Kitware, Inc.
-# Copyright 2016 Ruslan Baratov
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Pre-compute a regex to match documented keywords for each command.
-math(EXPR _ep_documentation_line_count "${CMAKE_CURRENT_LIST_LINE} - 16")
-file(STRINGS "${CMAKE_CURRENT_LIST_FILE}" lines
-     LIMIT_COUNT ${_ep_documentation_line_count}
-     REGEX "^\\.\\. command:: [A-Za-z0-9_]+|^  ``[A-Z0-9_]+ .*``$")
-foreach(line IN LISTS lines)
-  if("${line}" MATCHES "^\\.\\. command:: ([A-Za-z0-9_]+)")
-    if(_ep_func)
-      set(_ep_keywords_${_ep_func} "${_ep_keywords_${_ep_func}})$")
-    endif()
-    set(_ep_func "${CMAKE_MATCH_1}")
-    #message("function [${_ep_func}]")
-    set(_ep_keywords_${_ep_func} "^(")
-    set(_ep_keyword_sep)
-  elseif("${line}" MATCHES "^  ``([A-Z0-9_]+) .*``$")
-    set(_ep_key "${CMAKE_MATCH_1}")
-    #message("  keyword [${_ep_key}]")
-    set(_ep_keywords_${_ep_func}
-      "${_ep_keywords_${_ep_func}}${_ep_keyword_sep}${_ep_key}")
-    set(_ep_keyword_sep "|")
-  endif()
-endforeach()
-if(_ep_func)
-  set(_ep_keywords_${_ep_func} "${_ep_keywords_${_ep_func}})$")
-endif()
-
-# Save regex matching supported hash algorithm names.
-set(_ep_hash_algos "MD5|SHA1|SHA224|SHA256|SHA384|SHA512")
-set(_ep_hash_regex "^(${_ep_hash_algos})=([0-9A-Fa-f]+)$")
-
-set(_ExternalProject_SELF "${CMAKE_CURRENT_LIST_FILE}")
-get_filename_component(_ExternalProject_SELF_DIR "${_ExternalProject_SELF}" PATH)
-
-function(_ep_parse_arguments f name ns args)
-  # Transfer the arguments to this function into target properties for the
-  # new custom target we just added so that we can set up all the build steps
-  # correctly based on target properties.
-  #
-  # We loop through ARGN and consider the namespace starting with an
-  # upper-case letter followed by at least two more upper-case letters,
-  # numbers or underscores to be keywords.
-  set(key)
-
-  foreach(arg IN LISTS args)
-    set(is_value 1)
-
-    if(arg MATCHES "^[A-Z][A-Z0-9_][A-Z0-9_]+$" AND
-        NOT (("x${arg}x" STREQUAL "x${key}x") AND ("x${key}x" STREQUAL "xCOMMANDx")) AND
-        NOT arg MATCHES "^(TRUE|FALSE)$")
-      if(_ep_keywords_${f} AND arg MATCHES "${_ep_keywords_${f}}")
-        set(is_value 0)
-      endif()
-    endif()
-
-    if(is_value)
-      if(key)
-        # Value
-        if(NOT arg STREQUAL "")
-          set_property(TARGET ${name} APPEND PROPERTY ${ns}${key} "${arg}")
-        else()
-          get_property(have_key TARGET ${name} PROPERTY ${ns}${key} SET)
-          if(have_key)
-            get_property(value TARGET ${name} PROPERTY ${ns}${key})
-            set_property(TARGET ${name} PROPERTY ${ns}${key} "${value};${arg}")
-          else()
-            set_property(TARGET ${name} PROPERTY ${ns}${key} "${arg}")
-          endif()
-        endif()
-      else()
-        # Missing Keyword
-        message(AUTHOR_WARNING "value '${arg}' with no previous keyword in ${f}")
-      endif()
-    else()
-      set(key "${arg}")
-    endif()
-  endforeach()
-endfunction()
-
-
-define_property(DIRECTORY PROPERTY "EP_BASE" INHERITED
-  BRIEF_DOCS "Base directory for External Project storage."
-  FULL_DOCS
-  "See documentation of the ExternalProject_Add() function in the "
-  "ExternalProject module."
-  )
-
-define_property(DIRECTORY PROPERTY "EP_PREFIX" INHERITED
-  BRIEF_DOCS "Top prefix for External Project storage."
-  FULL_DOCS
-  "See documentation of the ExternalProject_Add() function in the "
-  "ExternalProject module."
-  )
-
-define_property(DIRECTORY PROPERTY "EP_STEP_TARGETS" INHERITED
-  BRIEF_DOCS
-  "List of ExternalProject steps that automatically get corresponding targets"
-  FULL_DOCS
-  "These targets will be dependent on the main target dependencies"
-  "See documentation of the ExternalProject_Add_StepTargets() function in the "
-  "ExternalProject module."
-  )
-
-define_property(DIRECTORY PROPERTY "EP_INDEPENDENT_STEP_TARGETS" INHERITED
-  BRIEF_DOCS
-  "List of ExternalProject steps that automatically get corresponding targets"
-  FULL_DOCS
-  "These targets will not be dependent on the main target dependencies"
-  "See documentation of the ExternalProject_Add_StepTargets() function in the "
-  "ExternalProject module."
-  )
-
-define_property(DIRECTORY PROPERTY "EP_UPDATE_DISCONNECTED" INHERITED
-  BRIEF_DOCS "Never update automatically from the remote repo."
-  FULL_DOCS
-  "See documentation of the ExternalProject_Add() function in the "
-  "ExternalProject module."
-  )
-
-function(_ep_write_gitclone_script script_filename source_dir git_EXECUTABLE git_repository git_tag git_remote_name git_submodules git_shallow src_name work_dir gitclone_infofile gitclone_stampfile tls_verify)
-  if(NOT GIT_VERSION_STRING VERSION_LESS 1.7.10)
-    set(git_clone_shallow_options "--depth 1 --no-single-branch")
-  else()
-    set(git_clone_shallow_options "--depth 1")
-  endif()
-  file(WRITE ${script_filename}
-"if(\"${git_tag}\" STREQUAL \"\")
-  message(FATAL_ERROR \"Tag for git checkout should not be empty.\")
-endif()
-
-set(run 0)
-
-if(\"${gitclone_infofile}\" IS_NEWER_THAN \"${gitclone_stampfile}\")
-  set(run 1)
-endif()
-
-if(NOT run)
-  message(STATUS \"Avoiding repeated git clone, stamp file is up to date: '${gitclone_stampfile}'\")
-  return()
-endif()
-
-execute_process(
-  COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
-endif()
-
-set(git_options)
-
-# disable cert checking if explicitly told not to do it
-set(tls_verify \"${tls_verify}\")
-if(NOT \"x${tls_verify}\" STREQUAL \"x\" AND NOT tls_verify)
-  list(APPEND git_options
-    -c http.sslVerify=false)
-endif()
-
-set(git_clone_options)
-
-set(git_shallow \"${git_shallow}\")
-if(git_shallow)
-  list(APPEND git_clone_options ${git_clone_shallow_options})
-endif()
-
-# try the clone 3 times incase there is an odd git clone issue
-set(error_code 1)
-set(number_of_tries 0)
-while(error_code AND number_of_tries LESS 3)
-  execute_process(
-    COMMAND \"${git_EXECUTABLE}\" \${git_options} clone \${git_clone_options} --origin \"${git_remote_name}\" \"${git_repository}\" \"${src_name}\"
-    WORKING_DIRECTORY \"${work_dir}\"
-    RESULT_VARIABLE error_code
-    )
-  math(EXPR number_of_tries \"\${number_of_tries} + 1\")
-endwhile()
-if(number_of_tries GREATER 1)
-  message(STATUS \"Had to git clone more than once:
-          \${number_of_tries} times.\")
-endif()
-if(error_code)
-  message(FATAL_ERROR \"Failed to clone repository: '${git_repository}'\")
-endif()
-
-execute_process(
-  COMMAND \"${git_EXECUTABLE}\" \${git_options} checkout ${git_tag}
-  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to checkout tag: '${git_tag}'\")
-endif()
-
-execute_process(
-  COMMAND \"${git_EXECUTABLE}\" \${git_options} submodule init ${git_submodules}
-  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to init submodules in: '${work_dir}/${src_name}'\")
-endif()
-
-execute_process(
-  COMMAND \"${git_EXECUTABLE}\" \${git_options} submodule update --recursive --init ${git_submodules}
-  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to update submodules in: '${work_dir}/${src_name}'\")
-endif()
-
-# Complete success, update the script-last-run stamp file:
-#
-execute_process(
-  COMMAND \${CMAKE_COMMAND} -E copy
-    \"${gitclone_infofile}\"
-    \"${gitclone_stampfile}\"
-  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to copy script-last-run stamp file: '${gitclone_stampfile}'\")
-endif()
-
-"
-)
-
-endfunction()
-
-function(_ep_write_hgclone_script script_filename source_dir hg_EXECUTABLE hg_repository hg_tag src_name work_dir hgclone_infofile hgclone_stampfile)
-  file(WRITE ${script_filename}
-"if(\"${hg_tag}\" STREQUAL \"\")
-  message(FATAL_ERROR \"Tag for hg checkout should not be empty.\")
-endif()
-
-set(run 0)
-
-if(\"${hgclone_infofile}\" IS_NEWER_THAN \"${hgclone_stampfile}\")
-  set(run 1)
-endif()
-
-if(NOT run)
-  message(STATUS \"Avoiding repeated hg clone, stamp file is up to date: '${hgclone_stampfile}'\")
-  return()
-endif()
-
-execute_process(
-  COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
-endif()
-
-execute_process(
-  COMMAND \"${hg_EXECUTABLE}\" clone -U \"${hg_repository}\" \"${src_name}\"
-  WORKING_DIRECTORY \"${work_dir}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to clone repository: '${hg_repository}'\")
-endif()
-
-execute_process(
-  COMMAND \"${hg_EXECUTABLE}\" update ${hg_tag}
-  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to checkout tag: '${hg_tag}'\")
-endif()
-
-# Complete success, update the script-last-run stamp file:
-#
-execute_process(
-  COMMAND \${CMAKE_COMMAND} -E copy
-    \"${hgclone_infofile}\"
-    \"${hgclone_stampfile}\"
-  WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-  RESULT_VARIABLE error_code
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to copy script-last-run stamp file: '${hgclone_stampfile}'\")
-endif()
-
-"
-)
-
-endfunction()
-
-
-function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_remote_name git_submodules git_repository work_dir)
-  if(NOT GIT_VERSION_STRING VERSION_LESS 1.7.6)
-    set(git_stash_save_options --all --quiet)
-  else()
-    set(git_stash_save_options --quiet)
-  endif()
-  file(WRITE ${script_filename}
-"if(\"${git_tag}\" STREQUAL \"\")
-  message(FATAL_ERROR \"Tag for git checkout should not be empty.\")
-endif()
-
-execute_process(
-  COMMAND \"${git_EXECUTABLE}\" rev-list --max-count=1 HEAD
-  WORKING_DIRECTORY \"${work_dir}\"
-  RESULT_VARIABLE error_code
-  OUTPUT_VARIABLE head_sha
-  OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-if(error_code)
-  message(FATAL_ERROR \"Failed to get the hash for HEAD\")
-endif()
-
-execute_process(
-  COMMAND \"${git_EXECUTABLE}\" show-ref ${git_tag}
-  WORKING_DIRECTORY \"${work_dir}\"
-  OUTPUT_VARIABLE show_ref_output
-  )
-# If a remote ref is asked for, which can possibly move around,
-# we must always do a fetch and checkout.
-if(\"\${show_ref_output}\" MATCHES \"remotes\")
-  set(is_remote_ref 1)
-else()
-  set(is_remote_ref 0)
-endif()
-
-# Tag is in the form <remote>/<tag> (i.e. origin/master) we must strip
-# the remote from the tag.
-if(\"\${show_ref_output}\" MATCHES \"refs/remotes/${git_tag}\")
-  string(REGEX MATCH \"^([^/]+)/(.+)$\" _unused \"${git_tag}\")
-  set(git_remote \"\${CMAKE_MATCH_1}\")
-  set(git_tag \"\${CMAKE_MATCH_2}\")
-else()
-  set(git_remote \"${git_remote_name}\")
-  set(git_tag \"${git_tag}\")
-endif()
-
-# This will fail if the tag does not exist (it probably has not been fetched
-# yet).
-execute_process(
-  COMMAND \"${git_EXECUTABLE}\" rev-list --max-count=1 ${git_tag}
-  WORKING_DIRECTORY \"${work_dir}\"
-  RESULT_VARIABLE error_code
-  OUTPUT_VARIABLE tag_sha
-  OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-
-# Is the hash checkout out that we want?
-if(error_code OR is_remote_ref OR NOT (\"\${tag_sha}\" STREQUAL \"\${head_sha}\"))
-  execute_process(
-    COMMAND \"${git_EXECUTABLE}\" fetch
-    WORKING_DIRECTORY \"${work_dir}\"
-    RESULT_VARIABLE error_code
-    )
-  if(error_code)
-    message(FATAL_ERROR \"Failed to fetch repository '${git_repository}'\")
-  endif()
-
-  if(is_remote_ref)
-    # Check if stash is needed
-    execute_process(
-      COMMAND \"${git_EXECUTABLE}\" status --porcelain
-      WORKING_DIRECTORY \"${work_dir}\"
-      RESULT_VARIABLE error_code
-      OUTPUT_VARIABLE repo_status
-      )
-    if(error_code)
-      message(FATAL_ERROR \"Failed to get the status\")
-    endif()
-    string(LENGTH \"\${repo_status}\" need_stash)
-
-    # If not in clean state, stash changes in order to be able to be able to
-    # perform git pull --rebase
-    if(need_stash)
-      execute_process(
-        COMMAND \"${git_EXECUTABLE}\" stash save ${git_stash_save_options}
-        WORKING_DIRECTORY \"${work_dir}\"
-        RESULT_VARIABLE error_code
-        )
-      if(error_code)
-        message(FATAL_ERROR \"Failed to stash changes\")
-      endif()
-    endif()
-
-    # Pull changes from the remote branch
-    execute_process(
-      COMMAND \"${git_EXECUTABLE}\" rebase \${git_remote}/\${git_tag}
-      WORKING_DIRECTORY \"${work_dir}\"
-      RESULT_VARIABLE error_code
-      )
-    if(error_code)
-      # Rebase failed: Restore previous state.
-      execute_process(
-        COMMAND \"${git_EXECUTABLE}\" rebase --abort
-        WORKING_DIRECTORY \"${work_dir}\"
-      )
-      if(need_stash)
-        execute_process(
-          COMMAND \"${git_EXECUTABLE}\" stash pop --index --quiet
-          WORKING_DIRECTORY \"${work_dir}\"
-          )
-      endif()
-      message(FATAL_ERROR \"\\nFailed to rebase in: '${work_dir}/${src_name}'.\\nYou will have to resolve the conflicts manually\")
-    endif()
-
-    if(need_stash)
-      execute_process(
-        COMMAND \"${git_EXECUTABLE}\" stash pop --index --quiet
-        WORKING_DIRECTORY \"${work_dir}\"
-        RESULT_VARIABLE error_code
-        )
-      if(error_code)
-        # Stash pop --index failed: Try again dropping the index
-        execute_process(
-          COMMAND \"${git_EXECUTABLE}\" reset --hard --quiet
-          WORKING_DIRECTORY \"${work_dir}\"
-          RESULT_VARIABLE error_code
-          )
-        execute_process(
-          COMMAND \"${git_EXECUTABLE}\" stash pop --quiet
-          WORKING_DIRECTORY \"${work_dir}\"
-          RESULT_VARIABLE error_code
-          )
-        if(error_code)
-          # Stash pop failed: Restore previous state.
-          execute_process(
-            COMMAND \"${git_EXECUTABLE}\" reset --hard --quiet \${head_sha}
-            WORKING_DIRECTORY \"${work_dir}\"
-          )
-          execute_process(
-            COMMAND \"${git_EXECUTABLE}\" stash pop --index --quiet
-            WORKING_DIRECTORY \"${work_dir}\"
-          )
-          message(FATAL_ERROR \"\\nFailed to unstash changes in: '${work_dir}/${src_name}'.\\nYou will have to resolve the conflicts manually\")
-        endif()
-      endif()
-    endif()
-  else()
-    execute_process(
-      COMMAND \"${git_EXECUTABLE}\" checkout ${git_tag}
-      WORKING_DIRECTORY \"${work_dir}\"
-      RESULT_VARIABLE error_code
-      )
-    if(error_code)
-      message(FATAL_ERROR \"Failed to checkout tag: '${git_tag}'\")
-    endif()
-  endif()
-
-  execute_process(
-    COMMAND \"${git_EXECUTABLE}\" submodule update --recursive --init ${git_submodules}
-    WORKING_DIRECTORY \"${work_dir}/${src_name}\"
-    RESULT_VARIABLE error_code
-    )
-  if(error_code)
-    message(FATAL_ERROR \"Failed to update submodules in: '${work_dir}/${src_name}'\")
-  endif()
-endif()
-
-"
-)
-
-endfunction(_ep_write_gitupdate_script)
-
-function(_ep_write_downloadfile_script script_filename REMOTE LOCAL timeout no_progress hash tls_verify tls_cainfo)
-  if(timeout)
-    set(TIMEOUT_ARGS TIMEOUT ${timeout})
-    set(TIMEOUT_MSG "${timeout} seconds")
-  else()
-    set(TIMEOUT_ARGS "# no TIMEOUT")
-    set(TIMEOUT_MSG "none")
-  endif()
-
-  if(no_progress)
-    set(SHOW_PROGRESS "")
-  else()
-    set(SHOW_PROGRESS "SHOW_PROGRESS")
-  endif()
-
-  if("${hash}" MATCHES "${_ep_hash_regex}")
-    set(ALGO "${CMAKE_MATCH_1}")
-    set(EXPECT_VALUE "${CMAKE_MATCH_2}")
-  else()
-    set(ALGO "")
-    set(EXPECT_VALUE "")
-  endif()
-
-  set(TLS_VERIFY_CODE "")
-  set(TLS_CAINFO_CODE "")
-
-  # check for curl globals in the project
-  if(DEFINED CMAKE_TLS_VERIFY)
-    set(TLS_VERIFY_CODE "set(CMAKE_TLS_VERIFY ${CMAKE_TLS_VERIFY})")
-  endif()
-  if(DEFINED CMAKE_TLS_CAINFO)
-    set(TLS_CAINFO_CODE "set(CMAKE_TLS_CAINFO \"${CMAKE_TLS_CAINFO}\")")
-  endif()
-
-  # now check for curl locals so that the local values
-  # will override the globals
-
-  # check for tls_verify argument
-  string(LENGTH "${tls_verify}" tls_verify_len)
-  if(tls_verify_len GREATER 0)
-    set(TLS_VERIFY_CODE "set(CMAKE_TLS_VERIFY ${tls_verify})")
-  endif()
-  # check for tls_cainfo argument
-  string(LENGTH "${tls_cainfo}" tls_cainfo_len)
-  if(tls_cainfo_len GREATER 0)
-    set(TLS_CAINFO_CODE "set(CMAKE_TLS_CAINFO \"${tls_cainfo}\")")
-  endif()
-
-  # Used variables:
-  # * TLS_VERIFY_CODE
-  # * TLS_CAINFO_CODE
-  # * ALGO
-  # * EXPECT_VALUE
-  # * REMOTE
-  # * LOCAL
-  # * SHOW_PROGRESS
-  # * TIMEOUT_ARGS
-  # * TIMEOUT_MSG
-  configure_file(
-      "${_ExternalProject_SELF_DIR}/ExternalProject-download.cmake.in"
-      "${script_filename}"
-      @ONLY
-  )
-endfunction()
-
-function(_ep_write_verifyfile_script script_filename LOCAL hash)
-  if("${hash}" MATCHES "${_ep_hash_regex}")
-    set(ALGO "${CMAKE_MATCH_1}")
-    string(TOLOWER "${CMAKE_MATCH_2}" EXPECT_VALUE)
-  else()
-    set(ALGO "")
-    set(EXPECT_VALUE "")
-  endif()
-
-  # Used variables:
-  # * ALGO
-  # * EXPECT_VALUE
-  # * LOCAL
-  configure_file(
-      "${_ExternalProject_SELF_DIR}/ExternalProject-verify.cmake.in"
-      "${script_filename}"
-      @ONLY
-  )
-endfunction()
-
-
-function(_ep_write_extractfile_script script_filename name filename directory)
-  set(args "")
-
-  if(filename MATCHES "(\\.|=)(7z|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
-    set(args xfz)
-  endif()
-
-  if(filename MATCHES "(\\.|=)tar$")
-    set(args xf)
-  endif()
-
-  if(args STREQUAL "")
-    message(SEND_ERROR "error: do not know how to extract '${filename}' -- known types are .7z, .tar, .tar.bz2, .tar.gz, .tar.xz, .tbz2, .tgz, .txz and .zip")
-    return()
-  endif()
-
-  file(WRITE ${script_filename}
-"# Make file names absolute:
-#
-get_filename_component(filename \"${filename}\" ABSOLUTE)
-get_filename_component(directory \"${directory}\" ABSOLUTE)
-
-message(STATUS \"extracting...
-     src='\${filename}'
-     dst='\${directory}'\")
-
-if(NOT EXISTS \"\${filename}\")
-  message(FATAL_ERROR \"error: file to extract does not exist: '\${filename}'\")
-endif()
-
-# Prepare a space for extracting:
-#
-set(i 1234)
-while(EXISTS \"\${directory}/../ex-${name}\${i}\")
-  math(EXPR i \"\${i} + 1\")
-endwhile()
-set(ut_dir \"\${directory}/../ex-${name}\${i}\")
-file(MAKE_DIRECTORY \"\${ut_dir}\")
-
-# Extract it:
-#
-message(STATUS \"extracting... [tar ${args}]\")
-execute_process(COMMAND \${CMAKE_COMMAND} -E tar ${args} \${filename}
-  WORKING_DIRECTORY \${ut_dir}
-  RESULT_VARIABLE rv)
-
-if(NOT rv EQUAL 0)
-  message(STATUS \"extracting... [error clean up]\")
-  file(REMOVE_RECURSE \"\${ut_dir}\")
-  message(FATAL_ERROR \"error: extract of '\${filename}' failed\")
-endif()
-
-# Analyze what came out of the tar file:
-#
-message(STATUS \"extracting... [analysis]\")
-file(GLOB contents \"\${ut_dir}/*\")
-list(LENGTH contents n)
-if(NOT n EQUAL 1 OR NOT IS_DIRECTORY \"\${contents}\")
-  set(contents \"\${ut_dir}\")
-endif()
-
-# Move \"the one\" directory to the final directory:
-#
-message(STATUS \"extracting... [rename]\")
-file(REMOVE_RECURSE \${directory})
-get_filename_component(contents \${contents} ABSOLUTE)
-file(RENAME \${contents} \${directory})
-
-# Clean up:
-#
-message(STATUS \"extracting... [clean up]\")
-file(REMOVE_RECURSE \"\${ut_dir}\")
-
-message(STATUS \"extracting... done\")
-"
-)
-
-endfunction()
-
-
-function(_ep_set_directories name)
-  get_property(prefix TARGET ${name} PROPERTY _EP_PREFIX)
-  if(NOT prefix)
-    get_property(prefix DIRECTORY PROPERTY EP_PREFIX)
-    if(NOT prefix)
-      get_property(base DIRECTORY PROPERTY EP_BASE)
-      if(NOT base)
-        set(prefix "${name}-prefix")
-      endif()
-    endif()
-  endif()
-  if(prefix)
-    set(tmp_default "${prefix}/tmp")
-    set(download_default "${prefix}/src")
-    set(source_default "${prefix}/src/${name}")
-    set(binary_default "${prefix}/src/${name}-build")
-    set(stamp_default "${prefix}/src/${name}-stamp")
-    set(install_default "${prefix}")
-  else()
-    set(tmp_default "${base}/tmp/${name}")
-    set(download_default "${base}/Download/${name}")
-    set(source_default "${base}/Source/${name}")
-    set(binary_default "${base}/Build/${name}")
-    set(stamp_default "${base}/Stamp/${name}")
-    set(install_default "${base}/Install/${name}")
-  endif()
-  get_property(build_in_source TARGET ${name} PROPERTY _EP_BUILD_IN_SOURCE)
-  if(build_in_source)
-    get_property(have_binary_dir TARGET ${name} PROPERTY _EP_BINARY_DIR SET)
-    if(have_binary_dir)
-      message(FATAL_ERROR
-        "External project ${name} has both BINARY_DIR and BUILD_IN_SOURCE!")
-    endif()
-  endif()
-  set(top "${CMAKE_CURRENT_BINARY_DIR}")
-  set(places stamp download source binary install tmp)
-  foreach(var ${places})
-    string(TOUPPER "${var}" VAR)
-    get_property(${var}_dir TARGET ${name} PROPERTY _EP_${VAR}_DIR)
-    if(NOT ${var}_dir)
-      set(${var}_dir "${${var}_default}")
-    endif()
-    if(NOT IS_ABSOLUTE "${${var}_dir}")
-      get_filename_component(${var}_dir "${top}/${${var}_dir}" ABSOLUTE)
-    endif()
-    set_property(TARGET ${name} PROPERTY _EP_${VAR}_DIR "${${var}_dir}")
-  endforeach()
-  if(build_in_source)
-    get_property(source_dir TARGET ${name} PROPERTY _EP_SOURCE_DIR)
-    set_property(TARGET ${name} PROPERTY _EP_BINARY_DIR "${source_dir}")
-  endif()
-
-  # Make the directories at CMake configure time *and* add a custom command
-  # to make them at build time. They need to exist at makefile generation
-  # time for Borland make and wmake so that CMake may generate makefiles
-  # with "cd C:\short\paths\with\no\spaces" commands in them.
-  #
-  # Additionally, the add_custom_command is still used in case somebody
-  # removes one of the necessary directories and tries to rebuild without
-  # re-running cmake.
-  foreach(var ${places})
-    string(TOUPPER "${var}" VAR)
-    get_property(dir TARGET ${name} PROPERTY _EP_${VAR}_DIR)
-    file(MAKE_DIRECTORY "${dir}")
-    if(NOT EXISTS "${dir}")
-      message(FATAL_ERROR "dir '${dir}' does not exist after file(MAKE_DIRECTORY)")
-    endif()
-  endforeach()
-endfunction()
-
-
-# IMPORTANT: this MUST be a macro and not a function because of the
-# in-place replacements that occur in each ${var}
-#
-macro(_ep_replace_location_tags target_name)
-  set(vars ${ARGN})
-  foreach(var ${vars})
-    if(${var})
-      foreach(dir SOURCE_DIR BINARY_DIR INSTALL_DIR TMP_DIR DOWNLOADED_FILE)
-        get_property(val TARGET ${target_name} PROPERTY _EP_${dir})
-        string(REPLACE "<${dir}>" "${val}" ${var} "${${var}}")
-      endforeach()
-    endif()
-  endforeach()
-endmacro()
-
-
-function(_ep_command_line_to_initial_cache var args force)
-  set(script_initial_cache "")
-  set(regex "^([^:]+):([^=]+)=(.*)$")
-  set(setArg "")
-  set(forceArg "")
-  if(force)
-    set(forceArg "FORCE")
-  endif()
-  foreach(line ${args})
-    if("${line}" MATCHES "^-D(.*)")
-      set(line "${CMAKE_MATCH_1}")
-      if(setArg)
-        # This is required to build up lists in variables, or complete an entry
-        set(setArg "${setArg}${accumulator}\" CACHE ${type} \"Initial cache\" ${forceArg})")
-        set(script_initial_cache "${script_initial_cache}\n${setArg}")
-        set(accumulator "")
-        set(setArg "")
-      endif()
-      if("${line}" MATCHES "${regex}")
-        set(name "${CMAKE_MATCH_1}")
-        set(type "${CMAKE_MATCH_2}")
-        set(value "${CMAKE_MATCH_3}")
-        set(setArg "set(${name} \"${value}")
-      else()
-        message(WARNING "Line '${line}' does not match regex. Ignoring.")
-      endif()
-    else()
-      # Assume this is a list to append to the last var
-      set(accumulator "${accumulator};${line}")
-    endif()
-  endforeach()
-  # Catch the final line of the args
-  if(setArg)
-    set(setArg "${setArg}${accumulator}\" CACHE ${type} \"Initial cache\" ${forceArg})")
-    set(script_initial_cache "${script_initial_cache}\n${setArg}")
-  endif()
-  set(${var} ${script_initial_cache} PARENT_SCOPE)
-endfunction()
-
-
-function(_ep_write_initial_cache target_name script_filename script_initial_cache)
-  # Write out values into an initial cache, that will be passed to CMake with -C
-  # Replace location tags.
-  _ep_replace_location_tags(${target_name} script_initial_cache)
-  # Write out the initial cache file to the location specified.
-  file(GENERATE OUTPUT "${script_filename}" CONTENT "${script_initial_cache}")
-endfunction()
-
-
-function(ExternalProject_Get_Property name)
-  foreach(var ${ARGN})
-    string(TOUPPER "${var}" VAR)
-    get_property(${var} TARGET ${name} PROPERTY _EP_${VAR})
-    if(NOT ${var})
-      message(FATAL_ERROR "External project \"${name}\" has no ${var}")
-    endif()
-    set(${var} "${${var}}" PARENT_SCOPE)
-  endforeach()
-endfunction()
-
-
-function(_ep_get_configure_command_id name cfg_cmd_id_var)
-  get_target_property(cmd ${name} _EP_CONFIGURE_COMMAND)
-
-  if(cmd STREQUAL "")
-    # Explicit empty string means no configure step for this project
-    set(${cfg_cmd_id_var} "none" PARENT_SCOPE)
-  else()
-    if(NOT cmd)
-      # Default is "use cmake":
-      set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
-    else()
-      # Otherwise we have to analyze the value:
-      if(cmd MATCHES "^[^;]*/configure")
-        set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
-      elseif(cmd MATCHES "^[^;]*/cmake" AND NOT cmd MATCHES ";-[PE];")
-        set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
-      elseif(cmd MATCHES "config")
-        set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
-      else()
-        set(${cfg_cmd_id_var} "unknown:${cmd}" PARENT_SCOPE)
-      endif()
-    endif()
-  endif()
-endfunction()
-
-
-function(_ep_get_build_command name step cmd_var)
-  set(cmd "${${cmd_var}}")
-  if(NOT cmd)
-    set(args)
-    _ep_get_configure_command_id(${name} cfg_cmd_id)
-    if(cfg_cmd_id STREQUAL "cmake")
-      # CMake project.  Select build command based on generator.
-      get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
-      if("${CMAKE_GENERATOR}" MATCHES "Make" AND
-         ("${cmake_generator}" MATCHES "Make" OR NOT cmake_generator))
-        # The project uses the same Makefile generator.  Use recursive make.
-        set(cmd "$(MAKE)")
-        if(step STREQUAL "INSTALL")
-          set(args install)
-        endif()
-        if("x${step}x" STREQUAL "xTESTx")
-          set(args test)
-        endif()
-      else()
-        # Drive the project with "cmake --build".
-        get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND)
-        if(cmake_command)
-          set(cmd "${cmake_command}")
-        else()
-          set(cmd "${CMAKE_COMMAND}")
-        endif()
-        set(args --build ".")
-        if(CMAKE_CONFIGURATION_TYPES)
-          if (CMAKE_CFG_INTDIR AND
-              NOT CMAKE_CFG_INTDIR STREQUAL "." AND
-              NOT CMAKE_CFG_INTDIR MATCHES "\\$")
-            # CMake 3.4 and below used the CMAKE_CFG_INTDIR placeholder value
-            # provided by multi-configuration generators.  Some projects were
-            # taking advantage of that undocumented implementation detail to
-            # specify a specific configuration here.  They should use
-            # BUILD_COMMAND to change the default command instead, but for
-            # compatibility honor the value.
-            set(config ${CMAKE_CFG_INTDIR})
-            message(AUTHOR_WARNING "CMAKE_CFG_INTDIR should not be set by project code.\n"
-              "To get a non-default build command, use the BUILD_COMMAND option.")
-          else()
-            set(config $<CONFIG>)
-          endif()
-          list(APPEND args --config ${config})
-        endif()
-        if(step STREQUAL "INSTALL")
-          list(APPEND args --target install)
-        endif()
-        # But for "TEST" drive the project with corresponding "ctest".
-        if("x${step}x" STREQUAL "xTESTx")
-          string(REGEX REPLACE "^(.*/)cmake([^/]*)$" "\\1ctest\\2" cmd "${cmd}")
-          set(args "")
-          if(CMAKE_CONFIGURATION_TYPES)
-            list(APPEND args -C ${config})
-          endif()
-        endif()
-      endif()
-    else()
-      # Non-CMake project.  Guess "make" and "make install" and "make test".
-      if("${CMAKE_GENERATOR}" MATCHES "Makefiles")
-        # Try to get the parallel arguments
-        set(cmd "$(MAKE)")
-      else()
-        set(cmd "make")
-      endif()
-      if(step STREQUAL "INSTALL")
-        set(args install)
-      endif()
-      if("x${step}x" STREQUAL "xTESTx")
-        set(args test)
-      endif()
-    endif()
-
-    # Use user-specified arguments instead of default arguments, if any.
-    get_property(have_args TARGET ${name} PROPERTY _EP_${step}_ARGS SET)
-    if(have_args)
-      get_target_property(args ${name} _EP_${step}_ARGS)
-    endif()
-
-    list(APPEND cmd ${args})
-  endif()
-
-  set(${cmd_var} "${cmd}" PARENT_SCOPE)
-endfunction()
-
-function(_ep_write_log_script name step cmd_var)
-  ExternalProject_Get_Property(${name} stamp_dir)
-  set(command "${${cmd_var}}")
-
-  set(make "")
-  set(code_cygpath_make "")
-  if(command MATCHES "^\\$\\(MAKE\\)")
-    # GNU make recognizes the string "$(MAKE)" as recursive make, so
-    # ensure that it appears directly in the makefile.
-    string(REGEX REPLACE "^\\$\\(MAKE\\)" "\${make}" command "${command}")
-    set(make "-Dmake=$(MAKE)")
-
-    if(WIN32 AND NOT CYGWIN)
-      set(code_cygpath_make "
-if(\${make} MATCHES \"^/\")
-  execute_process(
-    COMMAND cygpath -w \${make}
-    OUTPUT_VARIABLE cygpath_make
-    ERROR_VARIABLE cygpath_make
-    RESULT_VARIABLE cygpath_error
-    OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-  if(NOT cygpath_error)
-    set(make \${cygpath_make})
-  endif()
-endif()
-")
-    endif()
-  endif()
-
-  set(config "")
-  if("${CMAKE_CFG_INTDIR}" MATCHES "^\\$")
-    string(REPLACE "${CMAKE_CFG_INTDIR}" "\${config}" command "${command}")
-    set(config "-Dconfig=${CMAKE_CFG_INTDIR}")
-  endif()
-
-  # Wrap multiple 'COMMAND' lines up into a second-level wrapper
-  # script so all output can be sent to one log file.
-  if(command MATCHES "(^|;)COMMAND;")
-    set(code_execute_process "
-${code_cygpath_make}
-execute_process(COMMAND \${command} RESULT_VARIABLE result)
-if(result)
-  set(msg \"Command failed (\${result}):\\n\")
-  foreach(arg IN LISTS command)
-    set(msg \"\${msg} '\${arg}'\")
-  endforeach()
-  message(FATAL_ERROR \"\${msg}\")
-endif()
-")
-    set(code "")
-    set(cmd "")
-    set(sep "")
-    foreach(arg IN LISTS command)
-      if("x${arg}" STREQUAL "xCOMMAND")
-        if(NOT "x${cmd}" STREQUAL "x")
-          set(code "${code}set(command \"${cmd}\")${code_execute_process}")
-        endif()
-        set(cmd "")
-        set(sep "")
-      else()
-        set(cmd "${cmd}${sep}${arg}")
-        set(sep ";")
-      endif()
-    endforeach()
-    set(code "${code}set(command \"${cmd}\")${code_execute_process}")
-    file(GENERATE OUTPUT "${stamp_dir}/${name}-${step}-$<CONFIG>-impl.cmake" CONTENT "${code}")
-    set(command ${CMAKE_COMMAND} "-Dmake=\${make}" "-Dconfig=\${config}" -P ${stamp_dir}/${name}-${step}-$<CONFIG>-impl.cmake)
-  endif()
-
-  # Wrap the command in a script to log output to files.
-  set(script ${stamp_dir}/${name}-${step}-$<CONFIG>.cmake)
-  set(logbase ${stamp_dir}/${name}-${step})
-  set(code "
-${code_cygpath_make}
-set(command \"${command}\")
-execute_process(
-  COMMAND \${command}
-  RESULT_VARIABLE result
-  OUTPUT_FILE \"${logbase}-out.log\"
-  ERROR_FILE \"${logbase}-err.log\"
-  )
-if(result)
-  set(msg \"Command failed: \${result}\\n\")
-  foreach(arg IN LISTS command)
-    set(msg \"\${msg} '\${arg}'\")
-  endforeach()
-  set(msg \"\${msg}\\nSee also\\n  ${logbase}-*.log\")
-  message(FATAL_ERROR \"\${msg}\")
-else()
-  set(msg \"${name} ${step} command succeeded.  See also ${logbase}-*.log\")
-  message(STATUS \"\${msg}\")
-endif()
-")
-  file(GENERATE OUTPUT "${script}" CONTENT "${code}")
-  set(command ${CMAKE_COMMAND} ${make} ${config} -P ${script})
-  set(${cmd_var} "${command}" PARENT_SCOPE)
-endfunction()
-
-# This module used to use "/${CMAKE_CFG_INTDIR}" directly and produced
-# makefiles with "/./" in paths for custom command dependencies. Which
-# resulted in problems with parallel make -j invocations.
-#
-# This function was added so that the suffix (search below for ${cfgdir}) is
-# only set to "/${CMAKE_CFG_INTDIR}" when ${CMAKE_CFG_INTDIR} is not going to
-# be "." (multi-configuration build systems like Visual Studio and Xcode...)
-#
-function(_ep_get_configuration_subdir_suffix suffix_var)
-  set(suffix "")
-  if(CMAKE_CONFIGURATION_TYPES)
-    set(suffix "/${CMAKE_CFG_INTDIR}")
-  endif()
-  set(${suffix_var} "${suffix}" PARENT_SCOPE)
-endfunction()
-
-
-function(_ep_get_step_stampfile name step stampfile_var)
-  ExternalProject_Get_Property(${name} stamp_dir)
-
-  _ep_get_configuration_subdir_suffix(cfgdir)
-  set(stampfile "${stamp_dir}${cfgdir}/${name}-${step}")
-
-  set(${stampfile_var} "${stampfile}" PARENT_SCOPE)
-endfunction()
-
-
-function(ExternalProject_Add_StepTargets name)
-  set(steps ${ARGN})
-  if(ARGC GREATER 1 AND "${ARGV1}" STREQUAL "NO_DEPENDS")
-    set(no_deps 1)
-    list(REMOVE_AT steps 0)
-  endif()
-  foreach(step ${steps})
-    if(no_deps  AND  "${step}" MATCHES "^(configure|build|install|test)$")
-      message(AUTHOR_WARNING "Using NO_DEPENDS for \"${step}\" step  might break parallel builds")
-    endif()
-    _ep_get_step_stampfile(${name} ${step} stamp_file)
-    add_custom_target(${name}-${step}
-      DEPENDS ${stamp_file})
-    set_property(TARGET ${name}-${step} PROPERTY _EP_IS_EXTERNAL_PROJECT_STEP 1)
-    set_property(TARGET ${name}-${step} PROPERTY LABELS ${name})
-    set_property(TARGET ${name}-${step} PROPERTY FOLDER "ExternalProjectTargets/${name}")
-
-    # Depend on other external projects (target-level).
-    if(NOT no_deps)
-      get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
-      foreach(arg IN LISTS deps)
-        add_dependencies(${name}-${step} ${arg})
-      endforeach()
-    endif()
-  endforeach()
-endfunction()
-
-
-function(ExternalProject_Add_Step name step)
-  set(cmf_dir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles)
-  _ep_get_configuration_subdir_suffix(cfgdir)
-
-  set(complete_stamp_file "${cmf_dir}${cfgdir}/${name}-complete")
-  _ep_get_step_stampfile(${name} ${step} stamp_file)
-
-  _ep_parse_arguments(ExternalProject_Add_Step
-                      ${name} _EP_${step}_ "${ARGN}")
-
-  get_property(exclude_from_main TARGET ${name} PROPERTY _EP_${step}_EXCLUDE_FROM_MAIN)
-  if(NOT exclude_from_main)
-    add_custom_command(APPEND
-      OUTPUT ${complete_stamp_file}
-      DEPENDS ${stamp_file}
-      )
-  endif()
-
-  # Steps depending on this step.
-  get_property(dependers TARGET ${name} PROPERTY _EP_${step}_DEPENDERS)
-  foreach(depender IN LISTS dependers)
-    _ep_get_step_stampfile(${name} ${depender} depender_stamp_file)
-    add_custom_command(APPEND
-      OUTPUT ${depender_stamp_file}
-      DEPENDS ${stamp_file}
-      )
-  endforeach()
-
-  # Dependencies on files.
-  get_property(depends TARGET ${name} PROPERTY _EP_${step}_DEPENDS)
-
-  # Byproducts of the step.
-  get_property(byproducts TARGET ${name} PROPERTY _EP_${step}_BYPRODUCTS)
-
-  # Dependencies on steps.
-  get_property(dependees TARGET ${name} PROPERTY _EP_${step}_DEPENDEES)
-  foreach(dependee IN LISTS dependees)
-    _ep_get_step_stampfile(${name} ${dependee} dependee_stamp_file)
-    list(APPEND depends ${dependee_stamp_file})
-  endforeach()
-
-  # The command to run.
-  get_property(command TARGET ${name} PROPERTY _EP_${step}_COMMAND)
-  if(command)
-    set(comment "Performing ${step} step for '${name}'")
-  else()
-    set(comment "No ${step} step for '${name}'")
-  endif()
-  get_property(work_dir TARGET ${name} PROPERTY _EP_${step}_WORKING_DIRECTORY)
-
-  # Replace list separators.
-  get_property(sep TARGET ${name} PROPERTY _EP_LIST_SEPARATOR)
-  if(sep AND command)
-    string(REPLACE "${sep}" "\\;" command "${command}")
-  endif()
-
-  # Replace location tags.
-  _ep_replace_location_tags(${name} comment command work_dir byproducts)
-
-  # Custom comment?
-  get_property(comment_set TARGET ${name} PROPERTY _EP_${step}_COMMENT SET)
-  if(comment_set)
-    get_property(comment TARGET ${name} PROPERTY _EP_${step}_COMMENT)
-  endif()
-
-  # Uses terminal?
-  get_property(uses_terminal TARGET ${name} PROPERTY _EP_${step}_USES_TERMINAL)
-  if(uses_terminal)
-    set(uses_terminal USES_TERMINAL)
-  else()
-    set(uses_terminal "")
-  endif()
-
-  # Run every time?
-  get_property(always TARGET ${name} PROPERTY _EP_${step}_ALWAYS)
-  if(always)
-    set_property(SOURCE ${stamp_file} PROPERTY SYMBOLIC 1)
-    set(touch)
-    # Remove any existing stamp in case the option changed in an existing tree.
-    if(CMAKE_CONFIGURATION_TYPES)
-      foreach(cfg ${CMAKE_CONFIGURATION_TYPES})
-        string(REPLACE "/${CMAKE_CFG_INTDIR}" "/${cfg}" stamp_file_config "${stamp_file}")
-        file(REMOVE ${stamp_file_config})
-      endforeach()
-    else()
-      file(REMOVE ${stamp_file})
-    endif()
-  else()
-    set(touch ${CMAKE_COMMAND} -E touch ${stamp_file})
-  endif()
-
-  # Wrap with log script?
-  get_property(log TARGET ${name} PROPERTY _EP_${step}_LOG)
-  if(command AND log)
-    _ep_write_log_script(${name} ${step} command)
-  endif()
-
-  if("${command}" STREQUAL "")
-    # Some generators (i.e. Xcode) will not generate a file level target
-    # if no command is set, and therefore the dependencies on this
-    # target will be broken.
-    # The empty command is replaced by an echo command here in order to
-    # avoid this issue.
-    set(command ${CMAKE_COMMAND} -E echo_append)
-  endif()
-
-  add_custom_command(
-    OUTPUT ${stamp_file}
-    BYPRODUCTS ${byproducts}
-    COMMENT ${comment}
-    COMMAND ${command}
-    COMMAND ${touch}
-    DEPENDS ${depends}
-    WORKING_DIRECTORY ${work_dir}
-    VERBATIM
-    ${uses_terminal}
-    )
-  set_property(TARGET ${name} APPEND PROPERTY _EP_STEPS ${step})
-
-  # Add custom "step target"?
-  get_property(step_targets TARGET ${name} PROPERTY _EP_STEP_TARGETS)
-  if(NOT step_targets)
-    get_property(step_targets DIRECTORY PROPERTY EP_STEP_TARGETS)
-  endif()
-  foreach(st ${step_targets})
-    if("${st}" STREQUAL "${step}")
-      ExternalProject_Add_StepTargets(${name} ${step})
-      break()
-    endif()
-  endforeach()
-
-  get_property(independent_step_targets TARGET ${name} PROPERTY _EP_INDEPENDENT_STEP_TARGETS)
-  if(NOT independent_step_targets)
-    get_property(independent_step_targets DIRECTORY PROPERTY EP_INDEPENDENT_STEP_TARGETS)
-  endif()
-  foreach(st ${independent_step_targets})
-    if("${st}" STREQUAL "${step}")
-      ExternalProject_Add_StepTargets(${name} NO_DEPENDS ${step})
-      break()
-    endif()
-  endforeach()
-endfunction()
-
-
-function(ExternalProject_Add_StepDependencies name step)
-  set(dependencies ${ARGN})
-
-  # Sanity checks on "name" and "step".
-  if(NOT TARGET ${name})
-    message(FATAL_ERROR "Cannot find target \"${name}\". Perhaps it has not yet been created using ExternalProject_Add.")
-  endif()
-
-  get_property(type TARGET ${name} PROPERTY TYPE)
-  if(NOT type STREQUAL "UTILITY")
-    message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add.")
-  endif()
-
-  get_property(is_ep TARGET ${name} PROPERTY _EP_IS_EXTERNAL_PROJECT)
-  if(NOT is_ep)
-    message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add.")
-  endif()
-
-  get_property(steps TARGET ${name} PROPERTY _EP_STEPS)
-  list(FIND steps ${step} is_step)
-  if(NOT is_step)
-    message(FATAL_ERROR "External project \"${name}\" does not have a step \"${step}\".")
-  endif()
-
-  if(TARGET ${name}-${step})
-    get_property(type TARGET ${name}-${step} PROPERTY TYPE)
-    if(NOT type STREQUAL "UTILITY")
-      message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
-    endif()
-    get_property(is_ep_step TARGET ${name}-${step} PROPERTY _EP_IS_EXTERNAL_PROJECT_STEP)
-    if(NOT is_ep_step)
-      message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
-    endif()
-  endif()
-
-  # Always add file-level dependency, but add target-level dependency
-  # only if the target exists for that step.
-  _ep_get_step_stampfile(${name} ${step} stamp_file)
-  foreach(dep ${dependencies})
-    add_custom_command(APPEND
-      OUTPUT ${stamp_file}
-      DEPENDS ${dep})
-    if(TARGET ${name}-${step})
-      foreach(dep ${dependencies})
-        add_dependencies(${name}-${step} ${dep})
-      endforeach()
-    endif()
-  endforeach()
-
-endfunction()
-
-
-function(_ep_add_mkdir_command name)
-  ExternalProject_Get_Property(${name}
-    source_dir binary_dir install_dir stamp_dir download_dir tmp_dir)
-
-  _ep_get_configuration_subdir_suffix(cfgdir)
-
-  ExternalProject_Add_Step(${name} mkdir
-    COMMENT "Creating directories for '${name}'"
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${source_dir}
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${binary_dir}
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${install_dir}
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${tmp_dir}
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${stamp_dir}${cfgdir}
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${download_dir}
-    )
-endfunction()
-
-
-function(_ep_is_dir_empty dir empty_var)
-  file(GLOB gr "${dir}/*")
-  if("${gr}" STREQUAL "")
-    set(${empty_var} 1 PARENT_SCOPE)
-  else()
-    set(${empty_var} 0 PARENT_SCOPE)
-  endif()
-endfunction()
-
-
-function(_ep_add_download_command name)
-  ExternalProject_Get_Property(${name} source_dir stamp_dir download_dir tmp_dir)
-
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_DOWNLOAD_COMMAND SET)
-  get_property(cmd TARGET ${name} PROPERTY _EP_DOWNLOAD_COMMAND)
-  get_property(cvs_repository TARGET ${name} PROPERTY _EP_CVS_REPOSITORY)
-  get_property(svn_repository TARGET ${name} PROPERTY _EP_SVN_REPOSITORY)
-  get_property(git_repository TARGET ${name} PROPERTY _EP_GIT_REPOSITORY)
-  get_property(hg_repository  TARGET ${name} PROPERTY _EP_HG_REPOSITORY )
-  get_property(url TARGET ${name} PROPERTY _EP_URL)
-  get_property(fname TARGET ${name} PROPERTY _EP_DOWNLOAD_NAME)
-
-  # TODO: Perhaps file:// should be copied to download dir before extraction.
-  string(REGEX REPLACE "^file://" "" url "${url}")
-
-  set(depends)
-  set(comment)
-  set(work_dir)
-
-  if(cmd_set)
-    set(work_dir ${download_dir})
-  elseif(cvs_repository)
-    find_package(CVS QUIET)
-    if(NOT CVS_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find cvs for checkout of ${name}")
-    endif()
-
-    get_target_property(cvs_module ${name} _EP_CVS_MODULE)
-    if(NOT cvs_module)
-      message(FATAL_ERROR "error: no CVS_MODULE")
-    endif()
-
-    get_property(cvs_tag TARGET ${name} PROPERTY _EP_CVS_TAG)
-
-    set(repository ${cvs_repository})
-    set(module ${cvs_module})
-    set(tag ${cvs_tag})
-    configure_file(
-      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
-      "${stamp_dir}/${name}-cvsinfo.txt"
-      @ONLY
-      )
-
-    get_filename_component(src_name "${source_dir}" NAME)
-    get_filename_component(work_dir "${source_dir}" PATH)
-    set(comment "Performing download step (CVS checkout) for '${name}'")
-    set(cmd ${CVS_EXECUTABLE} -d ${cvs_repository} -q co ${cvs_tag} -d ${src_name} ${cvs_module})
-    list(APPEND depends ${stamp_dir}/${name}-cvsinfo.txt)
-  elseif(svn_repository)
-    find_package(Subversion QUIET)
-    if(NOT Subversion_SVN_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find svn for checkout of ${name}")
-    endif()
-
-    get_property(svn_revision TARGET ${name} PROPERTY _EP_SVN_REVISION)
-    get_property(svn_username TARGET ${name} PROPERTY _EP_SVN_USERNAME)
-    get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
-    get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
-
-    set(repository "${svn_repository} user=${svn_username} password=${svn_password}")
-    set(module)
-    set(tag ${svn_revision})
-    configure_file(
-      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
-      "${stamp_dir}/${name}-svninfo.txt"
-      @ONLY
-      )
-
-    get_filename_component(src_name "${source_dir}" NAME)
-    get_filename_component(work_dir "${source_dir}" PATH)
-    set(comment "Performing download step (SVN checkout) for '${name}'")
-    set(svn_user_pw_args "")
-    if(DEFINED svn_username)
-      set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
-    endif()
-    if(DEFINED svn_password)
-      set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
-    endif()
-    if(svn_trust_cert)
-      set(svn_trust_cert_args --trust-server-cert)
-    endif()
-    set(cmd ${Subversion_SVN_EXECUTABLE} co ${svn_repository} ${svn_revision}
-      --non-interactive ${svn_trust_cert_args} ${svn_user_pw_args} ${src_name})
-    list(APPEND depends ${stamp_dir}/${name}-svninfo.txt)
-  elseif(git_repository)
-    unset(CMAKE_MODULE_PATH) # Use CMake builtin find module
-    find_package(Git QUIET)
-    if(NOT GIT_EXECUTABLE)
-      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()
-
-    get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
-    if(NOT git_tag)
-      set(git_tag "master")
-    endif()
-    get_property(git_submodules TARGET ${name} PROPERTY _EP_GIT_SUBMODULES)
-
-    get_property(git_remote_name TARGET ${name} PROPERTY _EP_GIT_REMOTE_NAME)
-    if(NOT git_remote_name)
-      set(git_remote_name "origin")
-    endif()
-
-    get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
-    if("x${tls_verify}" STREQUAL "x" AND DEFINED CMAKE_TLS_VERIFY)
-      set(tls_verify "${CMAKE_TLS_VERIFY}")
-    endif()
-    get_property(git_shallow TARGET ${name} PROPERTY _EP_GIT_SHALLOW)
-
-    # For the download step, and the git clone operation, only the repository
-    # should be recorded in a configured RepositoryInfo file. If the repo
-    # changes, the clone script should be run again. But if only the tag
-    # changes, avoid running the clone script again. Let the 'always' running
-    # update step checkout the new tag.
-    #
-    set(repository ${git_repository})
-    set(module)
-    set(tag)
-    configure_file(
-      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
-      "${stamp_dir}/${name}-gitinfo.txt"
-      @ONLY
-      )
-
-    get_filename_component(src_name "${source_dir}" NAME)
-    get_filename_component(work_dir "${source_dir}" PATH)
-
-    # Since git clone doesn't succeed if the non-empty source_dir exists,
-    # create a cmake script to invoke as download command.
-    # 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_submodules}" "${git_shallow}" ${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}'")
-    set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitclone.cmake)
-    list(APPEND depends ${stamp_dir}/${name}-gitinfo.txt)
-  elseif(hg_repository)
-    find_package(Hg QUIET)
-    if(NOT HG_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find hg for clone of ${name}")
-    endif()
-
-    get_property(hg_tag TARGET ${name} PROPERTY _EP_HG_TAG)
-    if(NOT hg_tag)
-      set(hg_tag "tip")
-    endif()
-
-    # For the download step, and the hg clone operation, only the repository
-    # should be recorded in a configured RepositoryInfo file. If the repo
-    # changes, the clone script should be run again. But if only the tag
-    # changes, avoid running the clone script again. Let the 'always' running
-    # update step checkout the new tag.
-    #
-    set(repository ${hg_repository})
-    set(module)
-    set(tag)
-    configure_file(
-      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
-      "${stamp_dir}/${name}-hginfo.txt"
-      @ONLY
-      )
-
-    get_filename_component(src_name "${source_dir}" NAME)
-    get_filename_component(work_dir "${source_dir}" PATH)
-
-    # Since hg clone doesn't succeed if the non-empty source_dir exists,
-    # create a cmake script to invoke as download command.
-    # The script will delete the source directory and then call hg clone.
-    #
-    _ep_write_hgclone_script(${tmp_dir}/${name}-hgclone.cmake ${source_dir}
-      ${HG_EXECUTABLE} ${hg_repository} ${hg_tag} ${src_name} ${work_dir}
-      ${stamp_dir}/${name}-hginfo.txt ${stamp_dir}/${name}-hgclone-lastrun.txt
-      )
-    set(comment "Performing download step (hg clone) for '${name}'")
-    set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-hgclone.cmake)
-    list(APPEND depends ${stamp_dir}/${name}-hginfo.txt)
-  elseif(url)
-    get_filename_component(work_dir "${source_dir}" PATH)
-    get_property(hash TARGET ${name} PROPERTY _EP_URL_HASH)
-    if(hash AND NOT "${hash}" MATCHES "${_ep_hash_regex}")
-      message(FATAL_ERROR "URL_HASH is set to\n  ${hash}\n"
-        "but must be ALGO=value where ALGO is\n  ${_ep_hash_algos}\n"
-        "and value is a hex string.")
-    endif()
-    get_property(md5 TARGET ${name} PROPERTY _EP_URL_MD5)
-    if(md5 AND NOT "MD5=${md5}" MATCHES "${_ep_hash_regex}")
-      message(FATAL_ERROR "URL_MD5 is set to\n  ${md5}\nbut must be a hex string.")
-    endif()
-    if(md5 AND NOT hash)
-      set(hash "MD5=${md5}")
-    endif()
-    set(repository "external project URL")
-    set(module "${url}")
-    set(tag "${hash}")
-    configure_file(
-      "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
-      "${stamp_dir}/${name}-urlinfo.txt"
-      @ONLY
-      )
-    list(APPEND depends ${stamp_dir}/${name}-urlinfo.txt)
-    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}
-        COMMAND ${CMAKE_COMMAND} -E copy_directory ${abs_dir} ${source_dir})
-    else()
-      get_property(no_extract TARGET "${name}" PROPERTY _EP_DOWNLOAD_NO_EXTRACT SET)
-      if("${url}" MATCHES "^[a-z]+://")
-        # TODO: Should download and extraction be different steps?
-        if("x${fname}" STREQUAL "x")
-          string(REGEX MATCH "[^/\\?]*$" fname "${url}")
-        endif()
-        if(NOT "${fname}" MATCHES "(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
-          string(REGEX MATCH "([^/\\?]+(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip))/.*$" match_result "${url}")
-          set(fname "${CMAKE_MATCH_1}")
-        endif()
-        if (no_extract)
-          get_filename_component(fname "${url}" NAME)
-        elseif(NOT "${fname}" MATCHES "(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
-          message(FATAL_ERROR "Could not extract tarball filename from url:\n  ${url}")
-        endif()
-        string(REPLACE ";" "-" fname "${fname}")
-        set(file ${download_dir}/${fname})
-        get_property(timeout TARGET ${name} PROPERTY _EP_TIMEOUT)
-        get_property(no_progress TARGET ${name} PROPERTY _EP_DOWNLOAD_NO_PROGRESS)
-        get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
-        get_property(tls_cainfo TARGET ${name} PROPERTY _EP_TLS_CAINFO)
-        set(download_script "${stamp_dir}/download-${name}.cmake")
-        _ep_write_downloadfile_script("${download_script}" "${url}" "${file}" "${timeout}" "${no_progress}" "${hash}" "${tls_verify}" "${tls_cainfo}")
-        set(cmd ${CMAKE_COMMAND} -P "${download_script}"
-          COMMAND)
-        if (no_extract)
-          set(steps "download and verify")
-        else ()
-          set(steps "download, verify and extract")
-        endif ()
-        set(comment "Performing download step (${steps}) for '${name}'")
-        file(WRITE "${stamp_dir}/verify-${name}.cmake" "") # already verified by 'download_script'
-      else()
-        set(file "${url}")
-        if (no_extract)
-          set(steps "verify")
-        else ()
-          set(steps "verify and extract")
-        endif ()
-        set(comment "Performing download step (${steps}) for '${name}'")
-        _ep_write_verifyfile_script("${stamp_dir}/verify-${name}.cmake" "${file}" "${hash}")
-      endif()
-      list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/verify-${name}.cmake
-        COMMAND)
-      if (NOT no_extract)
-        _ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${name}" "${file}" "${source_dir}")
-        list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/extract-${name}.cmake)
-      else ()
-        set_property(TARGET ${name} PROPERTY _EP_DOWNLOADED_FILE ${file})
-      endif ()
-    endif()
-  else()
-    _ep_is_dir_empty("${source_dir}" empty)
-    if(${empty})
-      message(SEND_ERROR
-        "No download info given for '${name}' and its source directory:\n"
-        " ${source_dir}\n"
-        "is not an existing non-empty directory.  Please specify one of:\n"
-        " * SOURCE_DIR with an existing non-empty directory\n"
-        " * URL\n"
-        " * GIT_REPOSITORY\n"
-        " * HG_REPOSITORY\n"
-        " * CVS_REPOSITORY and CVS_MODULE\n"
-        " * SVN_REVISION\n"
-        " * DOWNLOAD_COMMAND"
-        )
-    endif()
-  endif()
-
-  get_property(log TARGET ${name} PROPERTY _EP_LOG_DOWNLOAD)
-  if(log)
-    set(log LOG 1)
-  else()
-    set(log "")
-  endif()
-
-  get_property(uses_terminal TARGET ${name} PROPERTY
-    _EP_USES_TERMINAL_DOWNLOAD)
-  if(uses_terminal)
-    set(uses_terminal USES_TERMINAL 1)
-  else()
-    set(uses_terminal "")
-  endif()
-
-  ExternalProject_Add_Step(${name} download
-    COMMENT ${comment}
-    COMMAND ${cmd}
-    WORKING_DIRECTORY ${work_dir}
-    DEPENDS ${depends}
-    DEPENDEES mkdir
-    ${log}
-    ${uses_terminal}
-    )
-endfunction()
-
-
-function(_ep_add_update_command name)
-  ExternalProject_Get_Property(${name} source_dir tmp_dir)
-
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_UPDATE_COMMAND SET)
-  get_property(cmd TARGET ${name} PROPERTY _EP_UPDATE_COMMAND)
-  get_property(cvs_repository TARGET ${name} PROPERTY _EP_CVS_REPOSITORY)
-  get_property(svn_repository TARGET ${name} PROPERTY _EP_SVN_REPOSITORY)
-  get_property(git_repository TARGET ${name} PROPERTY _EP_GIT_REPOSITORY)
-  get_property(hg_repository  TARGET ${name} PROPERTY _EP_HG_REPOSITORY )
-  get_property(update_disconnected_set TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED SET)
-  if(update_disconnected_set)
-    get_property(update_disconnected TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED)
-  else()
-    get_property(update_disconnected DIRECTORY PROPERTY EP_UPDATE_DISCONNECTED)
-  endif()
-
-  set(work_dir)
-  set(comment)
-  set(always)
-
-  if(cmd_set)
-    set(work_dir ${source_dir})
-    if(NOT "x${cmd}" STREQUAL "x")
-      set(always 1)
-    endif()
-  elseif(cvs_repository)
-    if(NOT CVS_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find cvs for update of ${name}")
-    endif()
-    set(work_dir ${source_dir})
-    set(comment "Performing update step (CVS update) for '${name}'")
-    get_property(cvs_tag TARGET ${name} PROPERTY _EP_CVS_TAG)
-    set(cmd ${CVS_EXECUTABLE} -d ${cvs_repository} -q up -dP ${cvs_tag})
-    set(always 1)
-  elseif(svn_repository)
-    if(NOT Subversion_SVN_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find svn for update of ${name}")
-    endif()
-    set(work_dir ${source_dir})
-    set(comment "Performing update step (SVN update) for '${name}'")
-    get_property(svn_revision TARGET ${name} PROPERTY _EP_SVN_REVISION)
-    get_property(svn_username TARGET ${name} PROPERTY _EP_SVN_USERNAME)
-    get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
-    get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
-    set(svn_user_pw_args "")
-    if(DEFINED svn_username)
-      set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
-    endif()
-    if(DEFINED svn_password)
-      set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
-    endif()
-    if(svn_trust_cert)
-      set(svn_trust_cert_args --trust-server-cert)
-    endif()
-    set(cmd ${Subversion_SVN_EXECUTABLE} up ${svn_revision}
-      --non-interactive ${svn_trust_cert_args} ${svn_user_pw_args})
-    set(always 1)
-  elseif(git_repository)
-    unset(CMAKE_MODULE_PATH) # Use CMake builtin find module
-    find_package(Git QUIET)
-    if(NOT GIT_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find git for fetch of ${name}")
-    endif()
-    set(work_dir ${source_dir})
-    set(comment "Performing update step for '${name}'")
-    get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
-    if(NOT git_tag)
-      set(git_tag "master")
-    endif()
-    get_property(git_remote_name TARGET ${name} PROPERTY _EP_GIT_REMOTE_NAME)
-    if(NOT git_remote_name)
-      set(git_remote_name "origin")
-    endif()
-    get_property(git_submodules TARGET ${name} PROPERTY _EP_GIT_SUBMODULES)
-    _ep_write_gitupdate_script(${tmp_dir}/${name}-gitupdate.cmake
-      ${GIT_EXECUTABLE} ${git_tag} ${git_remote_name} "${git_submodules}" ${git_repository} ${work_dir}
-      )
-    set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitupdate.cmake)
-    set(always 1)
-  elseif(hg_repository)
-    if(NOT HG_EXECUTABLE)
-      message(FATAL_ERROR "error: could not find hg for pull of ${name}")
-    endif()
-    set(work_dir ${source_dir})
-    set(comment "Performing update step (hg pull) for '${name}'")
-    get_property(hg_tag TARGET ${name} PROPERTY _EP_HG_TAG)
-    if(NOT hg_tag)
-      set(hg_tag "tip")
-    endif()
-    if("${HG_VERSION_STRING}" STREQUAL "2.1")
-      message(WARNING "Mercurial 2.1 does not distinguish an empty pull from a failed pull:
- http://mercurial.selenic.com/wiki/UpgradeNotes#A2.1.1:_revert_pull_return_code_change.2C_compile_issue_on_OS_X
- http://thread.gmane.org/gmane.comp.version-control.mercurial.devel/47656
-Update to Mercurial >= 2.1.1.
-")
-    endif()
-    set(cmd ${HG_EXECUTABLE} pull
-      COMMAND ${HG_EXECUTABLE} update ${hg_tag}
-      )
-    set(always 1)
-  endif()
-
-  get_property(log TARGET ${name} PROPERTY _EP_LOG_UPDATE)
-  if(log)
-    set(log LOG 1)
-  else()
-    set(log "")
-  endif()
-
-  get_property(uses_terminal TARGET ${name} PROPERTY
-    _EP_USES_TERMINAL_UPDATE)
-  if(uses_terminal)
-    set(uses_terminal USES_TERMINAL 1)
-  else()
-    set(uses_terminal "")
-  endif()
-
-  ExternalProject_Add_Step(${name} update
-    COMMENT ${comment}
-    COMMAND ${cmd}
-    ALWAYS ${always}
-    EXCLUDE_FROM_MAIN ${update_disconnected}
-    WORKING_DIRECTORY ${work_dir}
-    DEPENDEES download
-    ${log}
-    ${uses_terminal}
-    )
-
-  if(always AND update_disconnected)
-    _ep_get_step_stampfile(${name} skip-update skip-update_stamp_file)
-    string(REPLACE "Performing" "Skipping" comment "${comment}")
-    ExternalProject_Add_Step(${name} skip-update
-      COMMENT ${comment}
-      ALWAYS 1
-      EXCLUDE_FROM_MAIN 1
-      WORKING_DIRECTORY ${work_dir}
-      DEPENDEES download
-      ${log}
-      ${uses_terminal}
-    )
-    set_property(SOURCE ${skip-update_stamp_file} PROPERTY SYMBOLIC 1)
-  endif()
-
-endfunction()
-
-
-function(_ep_add_patch_command name)
-  ExternalProject_Get_Property(${name} source_dir)
-
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_PATCH_COMMAND SET)
-  get_property(cmd TARGET ${name} PROPERTY _EP_PATCH_COMMAND)
-
-  set(work_dir)
-
-  if(cmd_set)
-    set(work_dir ${source_dir})
-  endif()
-
-  ExternalProject_Add_Step(${name} patch
-    COMMAND ${cmd}
-    WORKING_DIRECTORY ${work_dir}
-    DEPENDEES download
-    )
-endfunction()
-
-
-# TODO: Make sure external projects use the proper compiler
-function(_ep_add_configure_command name)
-  ExternalProject_Get_Property(${name} source_dir binary_dir tmp_dir)
-
-  # Depend on other external projects (file-level).
-  set(file_deps)
-  get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
-  foreach(dep IN LISTS deps)
-    get_property(dep_type TARGET ${dep} PROPERTY TYPE)
-    if(dep_type STREQUAL "UTILITY")
-      get_property(is_ep TARGET ${dep} PROPERTY _EP_IS_EXTERNAL_PROJECT)
-      if(is_ep)
-        _ep_get_step_stampfile(${dep} "done" done_stamp_file)
-        list(APPEND file_deps ${done_stamp_file})
-      endif()
-    endif()
-  endforeach()
-
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_CONFIGURE_COMMAND SET)
-  if(cmd_set)
-    get_property(cmd TARGET ${name} PROPERTY _EP_CONFIGURE_COMMAND)
-  else()
-    get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND)
-    if(cmake_command)
-      set(cmd "${cmake_command}")
-    else()
-      set(cmd "${CMAKE_COMMAND}")
-    endif()
-
-    get_property(cmake_args TARGET ${name} PROPERTY _EP_CMAKE_ARGS)
-    list(APPEND cmd ${cmake_args})
-
-    # If there are any CMAKE_CACHE_ARGS or CMAKE_CACHE_DEFAULT_ARGS,
-    # write an initial cache and use it
-    get_property(cmake_cache_args TARGET ${name} PROPERTY _EP_CMAKE_CACHE_ARGS)
-    get_property(cmake_cache_default_args TARGET ${name} PROPERTY _EP_CMAKE_CACHE_DEFAULT_ARGS)
-
-    if(cmake_cache_args OR cmake_cache_default_args)
-      set(_ep_cache_args_script "${tmp_dir}/${name}-cache-$<CONFIG>.cmake")
-      if(cmake_cache_args)
-        _ep_command_line_to_initial_cache(script_initial_cache_force "${cmake_cache_args}" 1)
-      endif()
-      if(cmake_cache_default_args)
-        _ep_command_line_to_initial_cache(script_initial_cache_default "${cmake_cache_default_args}" 0)
-      endif()
-      _ep_write_initial_cache(${name} "${_ep_cache_args_script}" "${script_initial_cache_force}${script_initial_cache_default}")
-      list(APPEND cmd "-C${_ep_cache_args_script}")
-    endif()
-
-    get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
-    get_target_property(cmake_generator_platform ${name} _EP_CMAKE_GENERATOR_PLATFORM)
-    get_target_property(cmake_generator_toolset ${name} _EP_CMAKE_GENERATOR_TOOLSET)
-    if(cmake_generator)
-      list(APPEND cmd "-G${cmake_generator}")
-      if(cmake_generator_platform)
-        list(APPEND cmd "-A${cmake_generator_platform}")
-      endif()
-      if(cmake_generator_toolset)
-        list(APPEND cmd "-T${cmake_generator_toolset}")
-      endif()
-    else()
-      if(CMAKE_EXTRA_GENERATOR)
-        list(APPEND cmd "-G${CMAKE_EXTRA_GENERATOR} - ${CMAKE_GENERATOR}")
-      else()
-        list(APPEND cmd "-G${CMAKE_GENERATOR}")
-      endif()
-      if(cmake_generator_platform)
-        message(FATAL_ERROR "Option CMAKE_GENERATOR_PLATFORM not allowed without CMAKE_GENERATOR.")
-      endif()
-      if(CMAKE_GENERATOR_PLATFORM)
-        list(APPEND cmd "-A${CMAKE_GENERATOR_PLATFORM}")
-      endif()
-      if(cmake_generator_toolset)
-        message(FATAL_ERROR "Option CMAKE_GENERATOR_TOOLSET not allowed without CMAKE_GENERATOR.")
-      endif()
-      if(CMAKE_GENERATOR_TOOLSET)
-        list(APPEND cmd "-T${CMAKE_GENERATOR_TOOLSET}")
-      endif()
-    endif()
-
-    list(APPEND cmd "${source_dir}")
-  endif()
-
-  # If anything about the configure command changes, (command itself, cmake
-  # used, cmake args or cmake generator) then re-run the configure step.
-  # Fixes issue http://public.kitware.com/Bug/view.php?id=10258
-  #
-  if(NOT EXISTS ${tmp_dir}/${name}-cfgcmd.txt.in)
-    file(WRITE ${tmp_dir}/${name}-cfgcmd.txt.in "cmd='\@cmd\@'\n")
-  endif()
-  configure_file(${tmp_dir}/${name}-cfgcmd.txt.in ${tmp_dir}/${name}-cfgcmd.txt)
-  list(APPEND file_deps ${tmp_dir}/${name}-cfgcmd.txt)
-  list(APPEND file_deps ${_ep_cache_args_script})
-
-  get_property(log TARGET ${name} PROPERTY _EP_LOG_CONFIGURE)
-  if(log)
-    set(log LOG 1)
-  else()
-    set(log "")
-  endif()
-
-  get_property(uses_terminal TARGET ${name} PROPERTY
-    _EP_USES_TERMINAL_CONFIGURE)
-  if(uses_terminal)
-    set(uses_terminal USES_TERMINAL 1)
-  else()
-    set(uses_terminal "")
-  endif()
-
-  get_property(update_disconnected_set TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED SET)
-  if(update_disconnected_set)
-    get_property(update_disconnected TARGET ${name} PROPERTY _EP_UPDATE_DISCONNECTED)
-  else()
-    get_property(update_disconnected DIRECTORY PROPERTY EP_UPDATE_DISCONNECTED)
-  endif()
-  if(update_disconnected)
-    set(update_dep skip-update)
-  else()
-    set(update_dep update)
-  endif()
-
-  ExternalProject_Add_Step(${name} configure
-    COMMAND ${cmd}
-    WORKING_DIRECTORY ${binary_dir}
-    DEPENDEES ${update_dep} patch
-    DEPENDS ${file_deps}
-    ${log}
-    ${uses_terminal}
-    )
-endfunction()
-
-
-function(_ep_add_build_command name)
-  ExternalProject_Get_Property(${name} binary_dir)
-
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_BUILD_COMMAND SET)
-  if(cmd_set)
-    get_property(cmd TARGET ${name} PROPERTY _EP_BUILD_COMMAND)
-  else()
-    _ep_get_build_command(${name} BUILD cmd)
-  endif()
-
-  get_property(log TARGET ${name} PROPERTY _EP_LOG_BUILD)
-  if(log)
-    set(log LOG 1)
-  else()
-    set(log "")
-  endif()
-
-  get_property(uses_terminal TARGET ${name} PROPERTY
-    _EP_USES_TERMINAL_BUILD)
-  if(uses_terminal)
-    set(uses_terminal USES_TERMINAL 1)
-  else()
-    set(uses_terminal "")
-  endif()
-
-  get_property(build_always TARGET ${name} PROPERTY _EP_BUILD_ALWAYS)
-  if(build_always)
-    set(always 1)
-  else()
-    set(always 0)
-  endif()
-
-  get_property(build_byproducts TARGET ${name} PROPERTY _EP_BUILD_BYPRODUCTS)
-
-  ExternalProject_Add_Step(${name} build
-    COMMAND ${cmd}
-    BYPRODUCTS ${build_byproducts}
-    WORKING_DIRECTORY ${binary_dir}
-    DEPENDEES configure
-    ALWAYS ${always}
-    ${log}
-    ${uses_terminal}
-    )
-endfunction()
-
-
-function(_ep_add_install_command name)
-  ExternalProject_Get_Property(${name} binary_dir)
-
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_INSTALL_COMMAND SET)
-  if(cmd_set)
-    get_property(cmd TARGET ${name} PROPERTY _EP_INSTALL_COMMAND)
-  else()
-    _ep_get_build_command(${name} INSTALL cmd)
-  endif()
-
-  get_property(log TARGET ${name} PROPERTY _EP_LOG_INSTALL)
-  if(log)
-    set(log LOG 1)
-  else()
-    set(log "")
-  endif()
-
-  get_property(uses_terminal TARGET ${name} PROPERTY
-    _EP_USES_TERMINAL_INSTALL)
-  if(uses_terminal)
-    set(uses_terminal USES_TERMINAL 1)
-  else()
-    set(uses_terminal "")
-  endif()
-
-  ExternalProject_Add_Step(${name} install
-    COMMAND ${cmd}
-    WORKING_DIRECTORY ${binary_dir}
-    DEPENDEES build
-    ${log}
-    ${uses_terminal}
-    )
-endfunction()
-
-
-function(_ep_add_test_command name)
-  ExternalProject_Get_Property(${name} binary_dir)
-
-  get_property(before TARGET ${name} PROPERTY _EP_TEST_BEFORE_INSTALL)
-  get_property(after TARGET ${name} PROPERTY _EP_TEST_AFTER_INSTALL)
-  get_property(exclude TARGET ${name} PROPERTY _EP_TEST_EXCLUDE_FROM_MAIN)
-  get_property(cmd_set TARGET ${name} PROPERTY _EP_TEST_COMMAND SET)
-
-  # Only actually add the test step if one of the test related properties is
-  # explicitly set. (i.e. the test step is omitted unless requested...)
-  #
-  if(cmd_set OR before OR after OR exclude)
-    if(cmd_set)
-      get_property(cmd TARGET ${name} PROPERTY _EP_TEST_COMMAND)
-    else()
-      _ep_get_build_command(${name} TEST cmd)
-    endif()
-
-    if(before)
-      set(dependees_args DEPENDEES build)
-    else()
-      set(dependees_args DEPENDEES install)
-    endif()
-
-    if(exclude)
-      set(dependers_args "")
-      set(exclude_args EXCLUDE_FROM_MAIN 1)
-    else()
-      if(before)
-        set(dependers_args DEPENDERS install)
-      else()
-        set(dependers_args "")
-      endif()
-      set(exclude_args "")
-    endif()
-
-    get_property(log TARGET ${name} PROPERTY _EP_LOG_TEST)
-    if(log)
-      set(log LOG 1)
-    else()
-      set(log "")
-    endif()
-
-    get_property(uses_terminal TARGET ${name} PROPERTY
-      _EP_USES_TERMINAL_TEST)
-    if(uses_terminal)
-      set(uses_terminal USES_TERMINAL 1)
-    else()
-      set(uses_terminal "")
-    endif()
-
-    ExternalProject_Add_Step(${name} test
-      COMMAND ${cmd}
-      WORKING_DIRECTORY ${binary_dir}
-      ${dependees_args}
-      ${dependers_args}
-      ${exclude_args}
-      ${log}
-      ${uses_terminal}
-      )
-  endif()
-endfunction()
-
-
-function(ExternalProject_Add name)
-  _ep_get_configuration_subdir_suffix(cfgdir)
-
-  # Add a custom target for the external project.
-  set(cmf_dir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles)
-  set(complete_stamp_file "${cmf_dir}${cfgdir}/${name}-complete")
-
-  # The "ALL" option to add_custom_target just tells it to not set the
-  # EXCLUDE_FROM_ALL target property. Later, if the EXCLUDE_FROM_ALL
-  # argument was passed, we explicitly set it for the target.
-  add_custom_target(${name} ALL DEPENDS ${complete_stamp_file})
-  set_property(TARGET ${name} PROPERTY _EP_IS_EXTERNAL_PROJECT 1)
-  set_property(TARGET ${name} PROPERTY LABELS ${name})
-  set_property(TARGET ${name} PROPERTY FOLDER "ExternalProjectTargets/${name}")
-
-  _ep_parse_arguments(ExternalProject_Add ${name} _EP_ "${ARGN}")
-  _ep_set_directories(${name})
-  _ep_get_step_stampfile(${name} "done" done_stamp_file)
-  _ep_get_step_stampfile(${name} "install" install_stamp_file)
-
-  # Set the EXCLUDE_FROM_ALL target property if required.
-  get_property(exclude_from_all TARGET ${name} PROPERTY _EP_EXCLUDE_FROM_ALL)
-  if(exclude_from_all)
-    set_property(TARGET ${name} PROPERTY EXCLUDE_FROM_ALL TRUE)
-  endif()
-
-  # The 'complete' step depends on all other steps and creates a
-  # 'done' mark.  A dependent external project's 'configure' step
-  # depends on the 'done' mark so that it rebuilds when this project
-  # rebuilds.  It is important that 'done' is not the output of any
-  # custom command so that CMake does not propagate build rules to
-  # other external project targets, which may cause problems during
-  # parallel builds.  However, the Ninja generator needs to see the entire
-  # dependency graph, and can cope with custom commands belonging to
-  # multiple targets, so we add the 'done' mark as an output for Ninja only.
-  set(complete_outputs ${complete_stamp_file})
-  if(${CMAKE_GENERATOR} MATCHES "Ninja")
-    set(complete_outputs ${complete_outputs} ${done_stamp_file})
-  endif()
-
-  add_custom_command(
-    OUTPUT ${complete_outputs}
-    COMMENT "Completed '${name}'"
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${cmf_dir}${cfgdir}
-    COMMAND ${CMAKE_COMMAND} -E touch ${complete_stamp_file}
-    COMMAND ${CMAKE_COMMAND} -E touch ${done_stamp_file}
-    DEPENDS ${install_stamp_file}
-    VERBATIM
-    )
-
-
-  # Depend on other external projects (target-level).
-  get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
-  foreach(arg IN LISTS deps)
-    add_dependencies(${name} ${arg})
-  endforeach()
-
-  # Set up custom build steps based on the target properties.
-  # Each step depends on the previous one.
-  #
-  # The target depends on the output of the final step.
-  # (Already set up above in the DEPENDS of the add_custom_target command.)
-  #
-  _ep_add_mkdir_command(${name})
-  _ep_add_download_command(${name})
-  _ep_add_update_command(${name})
-  _ep_add_patch_command(${name})
-  _ep_add_configure_command(${name})
-  _ep_add_build_command(${name})
-  _ep_add_install_command(${name})
-
-  # Test is special in that it might depend on build, or it might depend
-  # on install.
-  #
-  _ep_add_test_command(${name})
-endfunction()
diff --git a/share/cmake-3.6/Modules/FLTKCompatibility.cmake b/share/cmake-3.6/Modules/FLTKCompatibility.cmake
deleted file mode 100644
index 58c52da..0000000
--- a/share/cmake-3.6/Modules/FLTKCompatibility.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CheckIncludeFile)
diff --git a/share/cmake-3.6/Modules/FeatureSummary.cmake b/share/cmake-3.6/Modules/FeatureSummary.cmake
deleted file mode 100644
index dc31086..0000000
--- a/share/cmake-3.6/Modules/FeatureSummary.cmake
+++ /dev/null
@@ -1,598 +0,0 @@
-#.rst:
-# FeatureSummary
-# --------------
-#
-# Macros for generating a summary of enabled/disabled features
-#
-#
-#
-# This module provides the macros feature_summary(),
-# set_package_properties() and add_feature_info().  For compatibility it
-# also still provides set_package_info(), set_feature_info(),
-# print_enabled_features() and print_disabled_features().
-#
-# These macros can be used to generate a summary of enabled and disabled
-# packages and/or feature for a build tree:
-#
-# ::
-#
-#     -- The following OPTIONAL packages have been found:
-#     LibXml2 (required version >= 2.4), XML processing lib, <http://xmlsoft.org>
-#        * Enables HTML-import in MyWordProcessor
-#        * Enables odt-export in MyWordProcessor
-#     PNG , A PNG image library. , <http://www.libpng.org/pub/png/>
-#        * Enables saving screenshots
-#     -- The following OPTIONAL packages have not been found:
-#     Lua51 , The Lua scripting language. , <http://www.lua.org>
-#        * Enables macros in MyWordProcessor
-#     Foo , Foo provides cool stuff.
-#
-#
-#
-#
-#
-# ::
-#
-#     FEATURE_SUMMARY( [FILENAME <file>]
-#                      [APPEND]
-#                      [VAR <variable_name>]
-#                      [INCLUDE_QUIET_PACKAGES]
-#                      [FATAL_ON_MISSING_REQUIRED_PACKAGES]
-#                      [DESCRIPTION "Found packages:"]
-#                      WHAT (ALL | PACKAGES_FOUND | PACKAGES_NOT_FOUND
-#                           | ENABLED_FEATURES | DISABLED_FEATURES)
-#                    )
-#
-#
-#
-# The FEATURE_SUMMARY() macro can be used to print information about
-# enabled or disabled packages or features of a project.  By default,
-# only the names of the features/packages will be printed and their
-# required version when one was specified.  Use SET_PACKAGE_PROPERTIES()
-# to add more useful information, like e.g.  a download URL for the
-# respective package or their purpose in the project.
-#
-# The WHAT option is the only mandatory option.  Here you specify what
-# information will be printed:
-#
-# ``ALL``
-#  print everything
-# ``ENABLED_FEATURES``
-#  the list of all features which are enabled
-# ``DISABLED_FEATURES``
-#  the list of all features which are disabled
-# ``PACKAGES_FOUND``
-#  the list of all packages which have been found
-# ``PACKAGES_NOT_FOUND``
-#  the list of all packages which have not been found
-# ``OPTIONAL_PACKAGES_FOUND``
-#  only those packages which have been found which have the type OPTIONAL
-# ``OPTIONAL_PACKAGES_NOT_FOUND``
-#  only those packages which have not been found which have the type OPTIONAL
-# ``RECOMMENDED_PACKAGES_FOUND``
-#  only those packages which have been found which have the type RECOMMENDED
-# ``RECOMMENDED_PACKAGES_NOT_FOUND``
-#  only those packages which have not been found which have the type RECOMMENDED
-# ``REQUIRED_PACKAGES_FOUND``
-#  only those packages which have been found which have the type REQUIRED
-# ``REQUIRED_PACKAGES_NOT_FOUND``
-#  only those packages which have not been found which have the type REQUIRED
-# ``RUNTIME_PACKAGES_FOUND``
-#  only those packages which have been found which have the type RUNTIME
-# ``RUNTIME_PACKAGES_NOT_FOUND``
-#  only those packages which have not been found which have the type RUNTIME
-#
-# With the exception of the ``ALL`` value, these values can be combined
-# in order to customize the output. For example:
-#
-# ::
-#
-#    feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)
-#
-#
-#
-# If a FILENAME is given, the information is printed into this file.  If
-# APPEND is used, it is appended to this file, otherwise the file is
-# overwritten if it already existed.  If the VAR option is used, the
-# information is "printed" into the specified variable.  If FILENAME is
-# not used, the information is printed to the terminal.  Using the
-# DESCRIPTION option a description or headline can be set which will be
-# printed above the actual content.  If INCLUDE_QUIET_PACKAGES is given,
-# packages which have been searched with find_package(...  QUIET) will
-# also be listed.  By default they are skipped.  If
-# FATAL_ON_MISSING_REQUIRED_PACKAGES is given, CMake will abort if a
-# package which is marked as REQUIRED has not been found.
-#
-# Example 1, append everything to a file:
-#
-# ::
-#
-#    feature_summary(WHAT ALL
-#                    FILENAME ${CMAKE_BINARY_DIR}/all.log APPEND)
-#
-#
-#
-# Example 2, print the enabled features into the variable
-# enabledFeaturesText, including QUIET packages:
-#
-# ::
-#
-#    feature_summary(WHAT ENABLED_FEATURES
-#                    INCLUDE_QUIET_PACKAGES
-#                    DESCRIPTION "Enabled Features:"
-#                    VAR enabledFeaturesText)
-#    message(STATUS "${enabledFeaturesText}")
-#
-#
-#
-#
-#
-# ::
-#
-#     SET_PACKAGE_PROPERTIES(<name> PROPERTIES
-#                            [ URL <url> ]
-#                            [ DESCRIPTION <description> ]
-#                            [ TYPE (RUNTIME|OPTIONAL|RECOMMENDED|REQUIRED) ]
-#                            [ PURPOSE <purpose> ]
-#                           )
-#
-#
-#
-# Use this macro to set up information about the named package, which
-# can then be displayed via FEATURE_SUMMARY().  This can be done either
-# directly in the Find-module or in the project which uses the module
-# after the find_package() call.  The features for which information can
-# be set are added automatically by the find_package() command.
-#
-# URL: this should be the homepage of the package, or something similar.
-# Ideally this is set already directly in the Find-module.
-#
-# DESCRIPTION: A short description what that package is, at most one
-# sentence.  Ideally this is set already directly in the Find-module.
-#
-# TYPE: What type of dependency has the using project on that package.
-# Default is OPTIONAL.  In this case it is a package which can be used
-# by the project when available at buildtime, but it also work without.
-# RECOMMENDED is similar to OPTIONAL, i.e.  the project will build if
-# the package is not present, but the functionality of the resulting
-# binaries will be severly limited.  If a REQUIRED package is not
-# available at buildtime, the project may not even build.  This can be
-# combined with the FATAL_ON_MISSING_REQUIRED_PACKAGES argument for
-# feature_summary().  Last, a RUNTIME package is a package which is
-# actually not used at all during the build, but which is required for
-# actually running the resulting binaries.  So if such a package is
-# missing, the project can still be built, but it may not work later on.
-# If set_package_properties() is called multiple times for the same
-# package with different TYPEs, the TYPE is only changed to higher TYPEs
-# ( RUNTIME < OPTIONAL < RECOMMENDED < REQUIRED ), lower TYPEs are
-# ignored.  The TYPE property is project-specific, so it cannot be set
-# by the Find-module, but must be set in the project.
-#
-# PURPOSE: This describes which features this package enables in the
-# project, i.e.  it tells the user what functionality he gets in the
-# resulting binaries.  If set_package_properties() is called multiple
-# times for a package, all PURPOSE properties are appended to a list of
-# purposes of the package in the project.  As the TYPE property, also
-# the PURPOSE property is project-specific, so it cannot be set by the
-# Find-module, but must be set in the project.
-#
-#
-#
-# Example for setting the info for a package:
-#
-# ::
-#
-#    find_package(LibXml2)
-#    set_package_properties(LibXml2 PROPERTIES
-#                           DESCRIPTION "A XML processing library."
-#                           URL "http://xmlsoft.org/")
-#
-#
-#
-# ::
-#
-#    set_package_properties(LibXml2 PROPERTIES
-#                           TYPE RECOMMENDED
-#                           PURPOSE "Enables HTML-import in MyWordProcessor")
-#    ...
-#    set_package_properties(LibXml2 PROPERTIES
-#                           TYPE OPTIONAL
-#                           PURPOSE "Enables odt-export in MyWordProcessor")
-#
-#
-#
-# ::
-#
-#    find_package(DBUS)
-#    set_package_properties(DBUS PROPERTIES
-#      TYPE RUNTIME
-#      PURPOSE "Necessary to disable the screensaver during a presentation" )
-#
-#
-#
-# ::
-#
-#     ADD_FEATURE_INFO(<name> <enabled> <description>)
-#
-# Use this macro to add information about a feature with the given
-# <name>.  <enabled> contains whether this feature is enabled or not,
-# <description> is a text describing the feature.  The information can
-# be displayed using feature_summary() for ENABLED_FEATURES and
-# DISABLED_FEATURES respectively.
-#
-# Example for setting the info for a feature:
-#
-# ::
-#
-#    option(WITH_FOO "Help for foo" ON)
-#    add_feature_info(Foo WITH_FOO "The Foo feature provides very cool stuff.")
-#
-#
-#
-#
-#
-# The following macros are provided for compatibility with previous
-# CMake versions:
-#
-# ::
-#
-#     SET_PACKAGE_INFO(<name> <description> [<url> [<purpose>] ] )
-#
-# Use this macro to set up information about the named package, which
-# can then be displayed via FEATURE_SUMMARY().  This can be done either
-# directly in the Find-module or in the project which uses the module
-# after the find_package() call.  The features for which information can
-# be set are added automatically by the find_package() command.
-#
-# ::
-#
-#     PRINT_ENABLED_FEATURES()
-#
-# Does the same as FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION
-# "Enabled features:")
-#
-# ::
-#
-#     PRINT_DISABLED_FEATURES()
-#
-# Does the same as FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION
-# "Disabled features:")
-#
-# ::
-#
-#     SET_FEATURE_INFO(<name> <description> [<url>] )
-#
-# Does the same as SET_PACKAGE_INFO(<name> <description> <url> )
-
-#=============================================================================
-# Copyright 2007-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include("${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake")
-
-
-function(ADD_FEATURE_INFO _name _enabled _desc)
-  if (${_enabled})
-    set_property(GLOBAL APPEND PROPERTY ENABLED_FEATURES "${_name}")
-  else ()
-    set_property(GLOBAL APPEND PROPERTY DISABLED_FEATURES "${_name}")
-  endif ()
-
-  set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
-endfunction()
-
-
-
-function(SET_PACKAGE_PROPERTIES _name _props)
-  if(NOT "${_props}" STREQUAL "PROPERTIES")
-    message(FATAL_ERROR "PROPERTIES keyword is missing in SET_PACKAGE_PROPERTIES() call.")
-  endif()
-
-  set(options ) # none
-  set(oneValueArgs DESCRIPTION URL TYPE PURPOSE )
-  set(multiValueArgs ) # none
-
-  CMAKE_PARSE_ARGUMENTS(_SPP "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
-
-  if(_SPP_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to SET_PACKAGE_PROPERTIES(): \"${_SPP_UNPARSED_ARGUMENTS}\"")
-  endif()
-
-  if(_SPP_DESCRIPTION)
-    get_property(_info  GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION)
-    if(_info AND NOT "${_info}" STREQUAL "${_SPP_DESCRIPTION}")
-      message(STATUS "Warning: Property DESCRIPTION for package ${_name} already set to \"${_info}\", overriding it with \"${_SPP_DESCRIPTION}\"")
-    endif()
-
-    set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_SPP_DESCRIPTION}" )
-  endif()
-
-
-  if(_SPP_URL)
-    get_property(_info  GLOBAL PROPERTY _CMAKE_${_name}_URL)
-    if(_info AND NOT "${_info}" STREQUAL "${_SPP_URL}")
-      message(STATUS "Warning: Property URL already set to \"${_info}\", overriding it with \"${_SPP_URL}\"")
-    endif()
-
-    set_property(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_SPP_URL}" )
-  endif()
-
-
-  # handle the PURPOSE: use APPEND, since there can be multiple purposes for one package inside a project
-  if(_SPP_PURPOSE)
-    set_property(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_SPP_PURPOSE}" )
-  endif()
-
-  # handle the TYPE
-  if(NOT _SPP_TYPE)
-    set(_SPP_TYPE OPTIONAL)
-  endif()
-
-  # List the supported types, according to their priority
-  set(validTypes "RUNTIME" "OPTIONAL" "RECOMMENDED" "REQUIRED" )
-  list(FIND validTypes ${_SPP_TYPE} _typeIndexInList)
-  if("${_typeIndexInList}" STREQUAL "-1" )
-    message(FATAL_ERROR "Bad package property type ${_SPP_TYPE} used in SET_PACKAGE_PROPERTIES(). "
-                        "Valid types are OPTIONAL, RECOMMENDED, REQUIRED and RUNTIME." )
-  endif()
-
-  get_property(_previousType  GLOBAL PROPERTY _CMAKE_${_name}_TYPE)
-  list(FIND validTypes "${_previousType}" _prevTypeIndexInList)
-
-  # make sure a previously set TYPE is not overridden with a lower new TYPE:
-  if("${_typeIndexInList}" GREATER "${_prevTypeIndexInList}")
-    set_property(GLOBAL PROPERTY _CMAKE_${_name}_TYPE "${_SPP_TYPE}" )
-  endif()
-
-endfunction()
-
-
-
-function(_FS_GET_FEATURE_SUMMARY _property _var _includeQuiet)
-
-  set(_type "ANY")
-  if("${_property}" MATCHES "REQUIRED_")
-    set(_type "REQUIRED")
-  elseif("${_property}" MATCHES "RECOMMENDED_")
-    set(_type "RECOMMENDED")
-  elseif("${_property}" MATCHES "RUNTIME_")
-    set(_type "RUNTIME")
-  elseif("${_property}" MATCHES "OPTIONAL_")
-    set(_type "OPTIONAL")
-  endif()
-
-  if("${_property}" MATCHES "PACKAGES_FOUND")
-    set(_property "PACKAGES_FOUND")
-  elseif("${_property}" MATCHES "PACKAGES_NOT_FOUND")
-    set(_property "PACKAGES_NOT_FOUND")
-  endif()
-
-
-  set(_currentFeatureText "")
-  get_property(_EnabledFeatures  GLOBAL PROPERTY ${_property})
-  if(_EnabledFeatures)
-    list(REMOVE_DUPLICATES _EnabledFeatures)
-  endif(_EnabledFeatures)
-
-  foreach(_currentFeature ${_EnabledFeatures})
-
-    # does this package belong to the type we currently want to list ?
-    get_property(_currentType  GLOBAL PROPERTY _CMAKE_${_currentFeature}_TYPE)
-    if(NOT _currentType)
-      set(_currentType OPTIONAL)
-    endif()
-
-    if("${_type}" STREQUAL ANY  OR  "${_type}" STREQUAL "${_currentType}")
-
-      # check whether the current feature/package should be in the output depending on whether it was QUIET or not
-      set(includeThisOne TRUE)
-      # skip QUIET packages, except if they are REQUIRED or INCLUDE_QUIET_PACKAGES has been set
-      if((NOT "${_currentType}" STREQUAL "REQUIRED") AND NOT _includeQuiet)
-        get_property(_isQuiet  GLOBAL PROPERTY _CMAKE_${_currentFeature}_QUIET)
-        if(_isQuiet)
-          set(includeThisOne FALSE)
-        endif()
-      endif()
-      get_property(_isTransitiveDepend
-        GLOBAL PROPERTY _CMAKE_${_currentFeature}_TRANSITIVE_DEPENDENCY
-      )
-      if(_isTransitiveDepend)
-        set(includeThisOne FALSE)
-      endif()
-
-      if(includeThisOne)
-
-        set(_currentFeatureText "${_currentFeatureText}\n * ${_currentFeature}")
-        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_REQUIRED_VERSION)
-        if(_info)
-          set(_currentFeatureText "${_currentFeatureText} (required version ${_info})")
-        endif()
-        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_DESCRIPTION)
-        if(_info)
-          set(_currentFeatureText "${_currentFeatureText} , ${_info}")
-        endif()
-        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_URL)
-        if(_info)
-          set(_currentFeatureText "${_currentFeatureText} , <${_info}>")
-        endif()
-
-        get_property(_info  GLOBAL PROPERTY _CMAKE_${_currentFeature}_PURPOSE)
-        foreach(_purpose ${_info})
-          set(_currentFeatureText "${_currentFeatureText}\n   ${_purpose}")
-        endforeach()
-
-      endif()
-
-    endif()
-
-  endforeach()
-  set(${_var} "${_currentFeatureText}" PARENT_SCOPE)
-endfunction()
-
-
-
-function(FEATURE_SUMMARY)
-# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
-  set(options APPEND INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
-  set(oneValueArgs FILENAME VAR DESCRIPTION)
-  set(multiValueArgs WHAT)
-
-  CMAKE_PARSE_ARGUMENTS(_FS "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
-
-  if(_FS_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to FEATURE_SUMMARY(): \"${_FS_UNPARSED_ARGUMENTS}\"")
-  endif()
-
-  if(NOT _FS_WHAT)
-    message(FATAL_ERROR "The call to FEATURE_SUMMARY() doesn't set the required WHAT argument.")
-  endif()
-
-  set(validWhatParts "ENABLED_FEATURES"
-                     "DISABLED_FEATURES"
-                     "PACKAGES_FOUND"
-                     "PACKAGES_NOT_FOUND"
-                     "OPTIONAL_PACKAGES_FOUND"
-                     "OPTIONAL_PACKAGES_NOT_FOUND"
-                     "RECOMMENDED_PACKAGES_FOUND"
-                     "RECOMMENDED_PACKAGES_NOT_FOUND"
-                     "REQUIRED_PACKAGES_FOUND"
-                     "REQUIRED_PACKAGES_NOT_FOUND"
-                     "RUNTIME_PACKAGES_FOUND"
-                     "RUNTIME_PACKAGES_NOT_FOUND")
-
-  list(FIND validWhatParts "${_FS_WHAT}" indexInList)
-  if(NOT "${indexInList}" STREQUAL "-1")
-    _FS_GET_FEATURE_SUMMARY( ${_FS_WHAT} _featureSummary ${_FS_INCLUDE_QUIET_PACKAGES} )
-    set(_fullText "${_FS_DESCRIPTION}${_featureSummary}\n")
-    if (("${_FS_WHAT}" STREQUAL "REQUIRED_PACKAGES_NOT_FOUND") AND _featureSummary)
-      set(requiredPackagesNotFound TRUE)
-    endif()
-
-  else()
-    if("${_FS_WHAT}" STREQUAL "ALL")
-
-      set(allWhatParts "ENABLED_FEATURES"
-                       "RUNTIME_PACKAGES_FOUND"
-                       "OPTIONAL_PACKAGES_FOUND"
-                       "RECOMMENDED_PACKAGES_FOUND"
-                       "REQUIRED_PACKAGES_FOUND"
-
-                       "DISABLED_FEATURES"
-                       "RUNTIME_PACKAGES_NOT_FOUND"
-                       "OPTIONAL_PACKAGES_NOT_FOUND"
-                       "RECOMMENDED_PACKAGES_NOT_FOUND"
-                       "REQUIRED_PACKAGES_NOT_FOUND"
-      )
-
-    else()
-      set(allWhatParts)
-      foreach(part ${_FS_WHAT})
-        list(FIND validWhatParts "${part}" indexInList)
-        if(NOT "${indexInList}" STREQUAL "-1")
-          list(APPEND allWhatParts "${part}")
-        else()
-          if("${part}" STREQUAL "ALL")
-            message(FATAL_ERROR "The WHAT argument of FEATURE_SUMMARY() contains ALL, which cannot be combined with other values.")
-          else()
-            message(FATAL_ERROR "The WHAT argument of FEATURE_SUMMARY() contains ${part}, which is not a valid value.")
-          endif()
-        endif()
-      endforeach()
-    endif()
-
-    set(title_ENABLED_FEATURES               "The following features have been enabled:")
-    set(title_DISABLED_FEATURES              "The following features have been disabled:")
-    set(title_PACKAGES_FOUND                 "The following packages have been found:")
-    set(title_PACKAGES_NOT_FOUND             "The following packages have not been found:")
-    set(title_OPTIONAL_PACKAGES_FOUND        "The following OPTIONAL packages have been found:")
-    set(title_OPTIONAL_PACKAGES_NOT_FOUND    "The following OPTIONAL packages have not been found:")
-    set(title_RECOMMENDED_PACKAGES_FOUND     "The following RECOMMENDED packages have been found:")
-    set(title_RECOMMENDED_PACKAGES_NOT_FOUND "The following RECOMMENDED packages have not been found:")
-    set(title_REQUIRED_PACKAGES_FOUND        "The following REQUIRED packages have been found:")
-    set(title_REQUIRED_PACKAGES_NOT_FOUND    "The following REQUIRED packages have not been found:")
-    set(title_RUNTIME_PACKAGES_FOUND         "The following RUNTIME packages have been found:")
-    set(title_RUNTIME_PACKAGES_NOT_FOUND     "The following RUNTIME packages have not been found:")
-
-    set(_fullText "${_FS_DESCRIPTION}")
-    foreach(part ${allWhatParts})
-      set(_tmp)
-      _FS_GET_FEATURE_SUMMARY( ${part} _tmp ${_FS_INCLUDE_QUIET_PACKAGES})
-      if(_tmp)
-        set(_fullText "${_fullText}\n-- ${title_${part}}\n${_tmp}\n")
-        if("${part}" STREQUAL "REQUIRED_PACKAGES_NOT_FOUND")
-          set(requiredPackagesNotFound TRUE)
-        endif()
-      endif()
-    endforeach()
-  endif()
-
-  if(_FS_FILENAME)
-    if(_FS_APPEND)
-      file(APPEND "${_FS_FILENAME}" "${_fullText}")
-    else()
-      file(WRITE  "${_FS_FILENAME}" "${_fullText}")
-    endif()
-
-  else()
-    if(NOT _FS_VAR)
-      message(STATUS "${_fullText}")
-    endif()
-  endif()
-
-  if(_FS_VAR)
-    set(${_FS_VAR} "${_fullText}" PARENT_SCOPE)
-  endif()
-
-  if(requiredPackagesNotFound  AND  _FS_FATAL_ON_MISSING_REQUIRED_PACKAGES)
-    message(FATAL_ERROR "feature_summary() Error: REQUIRED package(s) are missing, aborting CMake run.")
-  endif()
-
-endfunction()
-
-
-# The stuff below is only kept for compatibility
-
-function(SET_PACKAGE_INFO _name _desc)
-  unset(_url)
-  unset(_purpose)
-  if(ARGC GREATER 2)
-    set(_url "${ARGV2}")
-  endif()
-  if(ARGC GREATER 3)
-    set(_purpose "${ARGV3}")
-  endif()
-  set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
-  if(NOT _url STREQUAL "")
-    set_property(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_url}" )
-  endif()
-  if(NOT _purpose STREQUAL "")
-    set_property(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_purpose}" )
-  endif()
-endfunction()
-
-
-
-function(SET_FEATURE_INFO)
-  SET_PACKAGE_INFO(${ARGN})
-endfunction()
-
-
-
-function(PRINT_ENABLED_FEATURES)
-  FEATURE_SUMMARY(WHAT ENABLED_FEATURES  DESCRIPTION "Enabled features:")
-endfunction()
-
-
-
-function(PRINT_DISABLED_FEATURES)
-  FEATURE_SUMMARY(WHAT DISABLED_FEATURES  DESCRIPTION "Disabled features:")
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindALSA.cmake b/share/cmake-3.6/Modules/FindALSA.cmake
deleted file mode 100644
index 5c30eb9..0000000
--- a/share/cmake-3.6/Modules/FindALSA.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-#.rst:
-# FindALSA
-# --------
-#
-# Find alsa
-#
-# Find the alsa libraries (asound)
-#
-# ::
-#
-#   This module defines the following variables:
-#      ALSA_FOUND       - True if ALSA_INCLUDE_DIR & ALSA_LIBRARY are found
-#      ALSA_LIBRARIES   - Set when ALSA_LIBRARY is found
-#      ALSA_INCLUDE_DIRS - Set when ALSA_INCLUDE_DIR is found
-#
-#
-#
-# ::
-#
-#      ALSA_INCLUDE_DIR - where to find asoundlib.h, etc.
-#      ALSA_LIBRARY     - the asound library
-#      ALSA_VERSION_STRING - the version of alsa found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2009-2011 Kitware, Inc.
-# Copyright 2009-2011 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(ALSA_INCLUDE_DIR NAMES alsa/asoundlib.h
-          DOC "The ALSA (asound) include directory"
-)
-
-find_library(ALSA_LIBRARY NAMES asound
-          DOC "The ALSA (asound) library"
-)
-
-if(ALSA_INCLUDE_DIR AND EXISTS "${ALSA_INCLUDE_DIR}/alsa/version.h")
-  file(STRINGS "${ALSA_INCLUDE_DIR}/alsa/version.h" alsa_version_str REGEX "^#define[\t ]+SND_LIB_VERSION_STR[\t ]+\".*\"")
-
-  string(REGEX REPLACE "^.*SND_LIB_VERSION_STR[\t ]+\"([^\"]*)\".*$" "\\1" ALSA_VERSION_STRING "${alsa_version_str}")
-  unset(alsa_version_str)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set ALSA_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALSA
-                                  REQUIRED_VARS ALSA_LIBRARY ALSA_INCLUDE_DIR
-                                  VERSION_VAR ALSA_VERSION_STRING)
-
-if(ALSA_FOUND)
-  set( ALSA_LIBRARIES ${ALSA_LIBRARY} )
-  set( ALSA_INCLUDE_DIRS ${ALSA_INCLUDE_DIR} )
-endif()
-
-mark_as_advanced(ALSA_INCLUDE_DIR ALSA_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindASPELL.cmake b/share/cmake-3.6/Modules/FindASPELL.cmake
deleted file mode 100644
index 2a3f228..0000000
--- a/share/cmake-3.6/Modules/FindASPELL.cmake
+++ /dev/null
@@ -1,44 +0,0 @@
-#.rst:
-# FindASPELL
-# ----------
-#
-# Try to find ASPELL
-#
-# Once done this will define
-#
-# ::
-#
-#   ASPELL_FOUND - system has ASPELL
-#   ASPELL_EXECUTABLE - the ASPELL executable
-#   ASPELL_INCLUDE_DIR - the ASPELL include directory
-#   ASPELL_LIBRARIES - The libraries needed to use ASPELL
-#   ASPELL_DEFINITIONS - Compiler switches required for using ASPELL
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(ASPELL_INCLUDE_DIR aspell.h )
-
-find_program(ASPELL_EXECUTABLE
-  NAMES aspell
-)
-
-find_library(ASPELL_LIBRARIES NAMES aspell aspell-15 libaspell-15 libaspell)
-
-# handle the QUIETLY and REQUIRED arguments and set ASPELL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASPELL DEFAULT_MSG ASPELL_LIBRARIES ASPELL_INCLUDE_DIR ASPELL_EXECUTABLE)
-
-mark_as_advanced(ASPELL_INCLUDE_DIR ASPELL_LIBRARIES ASPELL_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/FindAVIFile.cmake b/share/cmake-3.6/Modules/FindAVIFile.cmake
deleted file mode 100644
index 5661075..0000000
--- a/share/cmake-3.6/Modules/FindAVIFile.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindAVIFile
-# -----------
-#
-# Locate AVIFILE library and include paths
-#
-# AVIFILE (http://avifile.sourceforge.net/)is a set of libraries for
-# i386 machines to use various AVI codecs.  Support is limited beyond
-# Linux.  Windows provides native AVI support, and so doesn't need this
-# library.  This module defines
-#
-# ::
-#
-#   AVIFILE_INCLUDE_DIR, where to find avifile.h , etc.
-#   AVIFILE_LIBRARIES, the libraries to link against
-#   AVIFILE_DEFINITIONS, definitions to use when compiling
-#   AVIFILE_FOUND, If false, don't try to use AVIFILE
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (UNIX)
-
-  find_path(AVIFILE_INCLUDE_DIR avifile.h
-    /usr/local/avifile/include
-    /usr/local/include/avifile
-  )
-
-  find_library(AVIFILE_AVIPLAY_LIBRARY aviplay
-    /usr/local/avifile/lib
-  )
-
-endif ()
-
-# handle the QUIETLY and REQUIRED arguments and set AVIFILE_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(AVIFile DEFAULT_MSG AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
-
-if (AVIFILE_FOUND)
-    set(AVIFILE_LIBRARIES ${AVIFILE_AVIPLAY_LIBRARY})
-    set(AVIFILE_DEFINITIONS "")
-endif()
-
-mark_as_advanced(AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindArmadillo.cmake b/share/cmake-3.6/Modules/FindArmadillo.cmake
deleted file mode 100644
index 4549771..0000000
--- a/share/cmake-3.6/Modules/FindArmadillo.cmake
+++ /dev/null
@@ -1,108 +0,0 @@
-#.rst:
-# FindArmadillo
-# -------------
-#
-# Find Armadillo
-#
-# Find the Armadillo C++ library
-#
-# Using Armadillo:
-#
-# ::
-#
-#   find_package(Armadillo REQUIRED)
-#   include_directories(${ARMADILLO_INCLUDE_DIRS})
-#   add_executable(foo foo.cc)
-#   target_link_libraries(foo ${ARMADILLO_LIBRARIES})
-#
-# This module sets the following variables:
-#
-# ::
-#
-#   ARMADILLO_FOUND - set to true if the library is found
-#   ARMADILLO_INCLUDE_DIRS - list of required include directories
-#   ARMADILLO_LIBRARIES - list of libraries to be linked
-#   ARMADILLO_VERSION_MAJOR - major version number
-#   ARMADILLO_VERSION_MINOR - minor version number
-#   ARMADILLO_VERSION_PATCH - patch version number
-#   ARMADILLO_VERSION_STRING - version number as a string (ex: "1.0.4")
-#   ARMADILLO_VERSION_NAME - name of the version (ex: "Antipodean Antileech")
-
-#=============================================================================
-# Copyright 2011 Clement Creusot <creusot@cs.york.ac.uk>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-# UNIX paths are standard, no need to write.
-find_library(ARMADILLO_LIBRARY
-  NAMES armadillo
-  PATHS "$ENV{ProgramFiles}/Armadillo/lib"  "$ENV{ProgramFiles}/Armadillo/lib64" "$ENV{ProgramFiles}/Armadillo"
-  )
-find_path(ARMADILLO_INCLUDE_DIR
-  NAMES armadillo
-  PATHS "$ENV{ProgramFiles}/Armadillo/include"
-  )
-
-
-if(ARMADILLO_INCLUDE_DIR)
-
-  # ------------------------------------------------------------------------
-  #  Extract version information from <armadillo>
-  # ------------------------------------------------------------------------
-
-  # WARNING: Early releases of Armadillo didn't have the arma_version.hpp file.
-  # (e.g. v.0.9.8-1 in ubuntu maverick packages (2001-03-15))
-  # If the file is missing, set all values to 0
-  set(ARMADILLO_VERSION_MAJOR 0)
-  set(ARMADILLO_VERSION_MINOR 0)
-  set(ARMADILLO_VERSION_PATCH 0)
-  set(ARMADILLO_VERSION_NAME "EARLY RELEASE")
-
-  if(EXISTS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp")
-
-    # Read and parse armdillo version header file for version number
-    file(STRINGS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp" _armadillo_HEADER_CONTENTS REGEX "#define ARMA_VERSION_[A-Z]+ ")
-    string(REGEX REPLACE ".*#define ARMA_VERSION_MAJOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MAJOR "${_armadillo_HEADER_CONTENTS}")
-    string(REGEX REPLACE ".*#define ARMA_VERSION_MINOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MINOR "${_armadillo_HEADER_CONTENTS}")
-    string(REGEX REPLACE ".*#define ARMA_VERSION_PATCH ([0-9]+).*" "\\1" ARMADILLO_VERSION_PATCH "${_armadillo_HEADER_CONTENTS}")
-
-    # WARNING: The number of spaces before the version name is not one.
-    string(REGEX REPLACE ".*#define ARMA_VERSION_NAME +\"([0-9a-zA-Z _-]+)\".*" "\\1" ARMADILLO_VERSION_NAME "${_armadillo_HEADER_CONTENTS}")
-
-    unset(_armadillo_HEADER_CONTENTS)
-  endif()
-
-  set(ARMADILLO_VERSION_STRING "${ARMADILLO_VERSION_MAJOR}.${ARMADILLO_VERSION_MINOR}.${ARMADILLO_VERSION_PATCH}")
-endif ()
-
-#======================
-
-
-# Checks 'REQUIRED', 'QUIET' and versions.
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(Armadillo
-  REQUIRED_VARS ARMADILLO_LIBRARY ARMADILLO_INCLUDE_DIR
-  VERSION_VAR ARMADILLO_VERSION_STRING)
-# version_var fails with cmake < 2.8.4.
-
-if (ARMADILLO_FOUND)
-  set(ARMADILLO_INCLUDE_DIRS ${ARMADILLO_INCLUDE_DIR})
-  set(ARMADILLO_LIBRARIES ${ARMADILLO_LIBRARY})
-endif ()
-
-
-# Hide internal variables
-mark_as_advanced(
-  ARMADILLO_INCLUDE_DIR
-  ARMADILLO_LIBRARY)
-
-#======================
diff --git a/share/cmake-3.6/Modules/FindBISON.cmake b/share/cmake-3.6/Modules/FindBISON.cmake
deleted file mode 100644
index 69293f5..0000000
--- a/share/cmake-3.6/Modules/FindBISON.cmake
+++ /dev/null
@@ -1,229 +0,0 @@
-#.rst:
-# FindBISON
-# ---------
-#
-# Find ``bison`` executable and provide a macro to generate custom build rules.
-#
-# The module defines the following variables:
-#
-# ``BISON_EXECUTABLE``
-#   path to the ``bison`` program
-#
-# ``BISON_VERSION``
-#   version of ``bison``
-#
-# ``BISON_FOUND``
-#   true if the program was found
-#
-# The minimum required version of ``bison`` can be specified using the
-# standard CMake syntax, e.g.  ``find_package(BISON 2.1.3)``.
-#
-# If ``bison`` is found, the module defines the macro::
-#
-#   BISON_TARGET(<Name> <YaccInput> <CodeOutput>
-#                [COMPILE_FLAGS <flags>]
-#                [DEFINES_FILE <file>]
-#                [VERBOSE <file>]
-#                )
-#
-# which will create a custom rule to generate a parser.  ``<YaccInput>`` is
-# the path to a yacc file.  ``<CodeOutput>`` is the name of the source file
-# generated by bison.  A header file is also be generated, and contains
-# the token list.
-#
-# The options are:
-#
-# ``COMPILE_FLAGS <flags>``
-#   Specify flags to be added to the ``bison`` command line.
-#
-# ``DEFINES_FILE <file>``
-#   Specify a non-default header ``<file>`` to be generated by ``bison``.
-#
-# ``VERBOSE <file>``
-#   Tell ``bison`` to write verbose descriptions of the grammar and
-#   parser to the given ``<file>``.
-#
-# The macro defines the following variables:
-#
-# ``BISON_<Name>_DEFINED``
-#   true is the macro ran successfully
-#
-# ``BISON_<Name>_INPUT``
-#   The input source file, an alias for <YaccInput>
-#
-# ``BISON_<Name>_OUTPUT_SOURCE``
-#   The source file generated by bison
-#
-# ``BISON_<Name>_OUTPUT_HEADER``
-#   The header file generated by bison
-#
-# ``BISON_<Name>_OUTPUTS``
-#   The sources files generated by bison
-#
-# ``BISON_<Name>_COMPILE_FLAGS``
-#   Options used in the ``bison`` command line
-#
-# Example usage:
-#
-# .. code-block:: cmake
-#
-#   find_package(BISON)
-#   BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
-#                DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/parser.h)
-#   add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2006 Tristan Carel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(BISON_EXECUTABLE NAMES bison win_bison DOC "path to the bison executable")
-mark_as_advanced(BISON_EXECUTABLE)
-
-include(CMakeParseArguments)
-
-if(BISON_EXECUTABLE)
-  # the bison commands should be executed with the C locale, otherwise
-  # the message (which are parsed) may be translated
-  set(_Bison_SAVED_LC_ALL "$ENV{LC_ALL}")
-  set(ENV{LC_ALL} C)
-
-  execute_process(COMMAND ${BISON_EXECUTABLE} --version
-    OUTPUT_VARIABLE BISON_version_output
-    ERROR_VARIABLE BISON_version_error
-    RESULT_VARIABLE BISON_version_result
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-  set(ENV{LC_ALL} ${_Bison_SAVED_LC_ALL})
-
-  if(NOT ${BISON_version_result} EQUAL 0)
-    message(SEND_ERROR "Command \"${BISON_EXECUTABLE} --version\" failed with output:\n${BISON_version_error}")
-  else()
-    # Bison++
-    if("${BISON_version_output}" MATCHES "^bison\\+\\+ Version ([^,]+)")
-      set(BISON_VERSION "${CMAKE_MATCH_1}")
-    # GNU Bison
-    elseif("${BISON_version_output}" MATCHES "^bison \\(GNU Bison\\) ([^\n]+)\n")
-      set(BISON_VERSION "${CMAKE_MATCH_1}")
-    elseif("${BISON_version_output}" MATCHES "^GNU Bison (version )?([^\n]+)")
-      set(BISON_VERSION "${CMAKE_MATCH_2}")
-    endif()
-  endif()
-
-  # internal macro
-  macro(BISON_TARGET_option_verbose Name BisonOutput filename)
-    list(APPEND BISON_TARGET_cmdopt "--verbose")
-    get_filename_component(BISON_TARGET_output_path "${BisonOutput}" PATH)
-    get_filename_component(BISON_TARGET_output_name "${BisonOutput}" NAME_WE)
-    add_custom_command(OUTPUT ${filename}
-      COMMAND ${CMAKE_COMMAND} -E copy
-      "${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output"
-      "${filename}"
-      VERBATIM
-      DEPENDS
-      "${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output"
-      COMMENT "[BISON][${Name}] Copying bison verbose table to ${filename}"
-      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
-    set(BISON_${Name}_VERBOSE_FILE ${filename})
-    list(APPEND BISON_TARGET_extraoutputs
-      "${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output")
-  endmacro()
-
-  # internal macro
-  macro(BISON_TARGET_option_extraopts Options)
-    set(BISON_TARGET_extraopts "${Options}")
-    separate_arguments(BISON_TARGET_extraopts)
-    list(APPEND BISON_TARGET_cmdopt ${BISON_TARGET_extraopts})
-  endmacro()
-
-  # internal macro
-  macro(BISON_TARGET_option_defines Header)
-    set(BISON_TARGET_output_header "${Header}")
-    list(APPEND BISON_TARGET_cmdopt --defines=${BISON_TARGET_output_header})
-  endmacro()
-
-  #============================================================
-  # BISON_TARGET (public macro)
-  #============================================================
-  #
-  macro(BISON_TARGET Name BisonInput BisonOutput)
-    set(BISON_TARGET_output_header "")
-    set(BISON_TARGET_cmdopt "")
-    set(BISON_TARGET_outputs "${BisonOutput}")
-
-    # Parsing parameters
-    set(BISON_TARGET_PARAM_OPTIONS)
-    set(BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS
-      VERBOSE
-      COMPILE_FLAGS
-      DEFINES_FILE
-      )
-    set(BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS)
-    cmake_parse_arguments(
-        BISON_TARGET_ARG
-        "${BISON_TARGET_PARAM_OPTIONS}"
-        "${BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS}"
-        "${BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS}"
-        ${ARGN}
-    )
-
-    if(NOT "${BISON_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "")
-      message(SEND_ERROR "Usage")
-    else()
-      if(NOT "${BISON_TARGET_ARG_VERBOSE}" STREQUAL "")
-        BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${BISON_TARGET_ARG_VERBOSE}")
-      endif()
-      if(NOT "${BISON_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "")
-        BISON_TARGET_option_extraopts("${BISON_TARGET_ARG_COMPILE_FLAGS}")
-      endif()
-      if(NOT "${BISON_TARGET_ARG_DEFINES_FILE}" STREQUAL "")
-        BISON_TARGET_option_defines("${BISON_TARGET_ARG_DEFINES_FILE}")
-      endif()
-
-      if("${BISON_TARGET_output_header}" STREQUAL "")
-        # Header's name generated by bison (see option -d)
-        list(APPEND BISON_TARGET_cmdopt "-d")
-        string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${BisonOutput}")
-        string(REPLACE "c" "h" _fileext ${_fileext})
-        string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
-            BISON_TARGET_output_header "${BisonOutput}")
-      endif()
-      list(APPEND BISON_TARGET_outputs "${BISON_TARGET_output_header}")
-
-      add_custom_command(OUTPUT ${BISON_TARGET_outputs}
-        ${BISON_TARGET_extraoutputs}
-        COMMAND ${BISON_EXECUTABLE} ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${BisonInput}
-        VERBATIM
-        DEPENDS ${BisonInput}
-        COMMENT "[BISON][${Name}] Building parser with bison ${BISON_VERSION}"
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-
-      # define target variables
-      set(BISON_${Name}_DEFINED TRUE)
-      set(BISON_${Name}_INPUT ${BisonInput})
-      set(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs})
-      set(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt})
-      set(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}")
-      set(BISON_${Name}_OUTPUT_HEADER "${BISON_TARGET_output_header}")
-
-    endif()
-  endmacro()
-  #
-  #============================================================
-
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS  BISON_EXECUTABLE
-                                        VERSION_VAR BISON_VERSION)
-
-# FindBISON.cmake ends here
diff --git a/share/cmake-3.6/Modules/FindBLAS.cmake b/share/cmake-3.6/Modules/FindBLAS.cmake
deleted file mode 100644
index 728494c..0000000
--- a/share/cmake-3.6/Modules/FindBLAS.cmake
+++ /dev/null
@@ -1,703 +0,0 @@
-#.rst:
-# FindBLAS
-# --------
-#
-# Find 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).
-#
-# This module sets the following variables:
-#
-# ::
-#
-#   BLAS_FOUND - set to true if a 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
-#   BLAS95_LIBRARIES - uncached list of libraries (using full path name)
-#     to link against to use BLAS95 interface
-#   BLAS95_FOUND - set to true if a library implementing the BLAS f95 interface
-#     is found
-#   BLA_STATIC  if set on this determines what kind of linkage we do (static)
-#   BLA_VENDOR  if set checks only the specified vendor, if not set checks
-#      all the possibilities
-#   BLA_F95     if set on tries to find the f95 interfaces for BLAS/LAPACK
-#
-# ######### ## List of vendors (BLA_VENDOR) valid in this module #
-# Goto,OpenBLAS,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL,
-# Intel10_32 (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit,
-# lp thread model, lp64 model), # Intel10_64lp_seq (intel mkl v10 64
-# bit,sequential code, lp64 model), # Intel( older versions of mkl 32
-# and 64 bit), ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic C/CXX should be
-# enabled to use Intel mkl
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.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()
-
-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 ()
-
-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.
-  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)
-  mark_as_advanced(${_prefix}${_combined_name}_WORKS)
-  set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
-endif()
-if(NOT _libraries_work)
-  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 "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()
-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 ()
-
-#BLAS in intel mkl 10 library? (em64t 64bit)
-if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
- if (NOT WIN32)
-  set(LM "-lm")
- 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)
-    set(_LIBRARIES BLAS95_LIBRARIES)
-    if (WIN32)
-      if (BLA_STATIC)
-        set(BLAS_mkl_DLL_SUFFIX "")
-      else()
-        set(BLAS_mkl_DLL_SUFFIX "_dll")
-      endif()
-
-      # 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_64lp" OR BLA_VENDOR STREQUAL "All")
-        list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
-          "mkl_blas95_lp64${BLAS_mkl_DLL_SUFFIX} mkl_intel_lp64${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")
-        list(APPEND BLAS_SEARCH_LIBS
-          "mkl_blas95 mkl_intel mkl_intel_thread mkl_core guide")
-      endif ()
-      if (BLA_VENDOR STREQUAL "Intel10_64lp" OR BLA_VENDOR STREQUAL "All")
-        # old version
-        list(APPEND BLAS_SEARCH_LIBS
-          "mkl_blas95 mkl_intel_lp64 mkl_intel_thread mkl_core guide")
-
-        # mkl >= 10.3
-        if (CMAKE_C_COMPILER MATCHES ".+gcc")
-          list(APPEND BLAS_SEARCH_LIBS
-            "mkl_blas95_lp64 mkl_intel_lp64 mkl_gnu_thread mkl_core gomp")
-        else ()
-          list(APPEND BLAS_SEARCH_LIBS
-            "mkl_blas95_lp64 mkl_intel_lp64 mkl_intel_thread mkl_core iomp5")
-        endif ()
-      endif ()
-      if (BLA_VENDOR STREQUAL "Intel10_64lp_seq" OR BLA_VENDOR STREQUAL "All")
-        list(APPEND BLAS_SEARCH_LIBS
-          "mkl_intel_lp64 mkl_sequential mkl_core")
-      endif ()
-    endif ()
-  else ()
-    set(BLAS_mkl_SEARCH_SYMBOL sgemm)
-    set(_LIBRARIES BLAS_LIBRARIES)
-    if (WIN32)
-      if (BLA_STATIC)
-        set(BLAS_mkl_DLL_SUFFIX "")
-      else()
-        set(BLAS_mkl_DLL_SUFFIX "_dll")
-      endif()
-
-      # 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_64lp" OR BLA_VENDOR STREQUAL "All")
-        list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN
-          "mkl_intel_lp64${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")
-        list(APPEND BLAS_SEARCH_LIBS
-          "mkl_intel mkl_intel_thread mkl_core guide")
-      endif ()
-      if (BLA_VENDOR STREQUAL "Intel10_64lp" OR BLA_VENDOR STREQUAL "All")
-
-        # old version
-        list(APPEND BLAS_SEARCH_LIBS
-          "mkl_intel_lp64 mkl_intel_thread mkl_core guide")
-
-        # mkl >= 10.3
-        if (CMAKE_C_COMPILER MATCHES ".+gcc")
-          list(APPEND BLAS_SEARCH_LIBS
-            "mkl_intel_lp64 mkl_gnu_thread mkl_core gomp")
-        else ()
-          list(APPEND BLAS_SEARCH_LIBS
-            "mkl_intel_lp64 mkl_intel_thread mkl_core iomp5")
-        endif ()
-      endif ()
-      if (BLA_VENDOR STREQUAL "Intel10_64lp_seq" OR BLA_VENDOR STREQUAL "All")
-        list(APPEND BLAS_SEARCH_LIBS
-          "mkl_intel_lp64 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 ()
-
-  foreach (IT ${BLAS_SEARCH_LIBS})
-    string(REPLACE " " ";" SEARCH_LIBS ${IT})
-    if (${_LIBRARIES})
-    else ()
-      check_fortran_libraries(
-        ${_LIBRARIES}
-        BLAS
-        ${BLAS_mkl_SEARCH_SYMBOL}
-        ""
-        "${SEARCH_LIBS}"
-        "${CMAKE_THREAD_LIBS_INIT};${LM}"
-        )
-    endif ()
-  endforeach ()
-
- endif ()
-endif ()
-
-
-if(BLA_F95)
- if(BLAS95_LIBRARIES)
-    set(BLAS95_FOUND TRUE)
-  else()
-    set(BLAS95_FOUND FALSE)
-  endif()
-
-  if(NOT BLAS_FIND_QUIETLY)
-    if(BLAS95_FOUND)
-      message(STATUS "A library with BLAS95 API found.")
-    else()
-      if(BLAS_FIND_REQUIRED)
-        message(FATAL_ERROR
-        "A required library with BLAS95 API not found. Please specify library location.")
-      else()
-        message(STATUS
-        "A library with BLAS95 API not found. Please specify library location.")
-      endif()
-    endif()
-  endif()
-  set(BLAS_FOUND TRUE)
-  set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
-else()
-  if(BLAS_LIBRARIES)
-    set(BLAS_FOUND TRUE)
-  else()
-    set(BLAS_FOUND FALSE)
-  endif()
-
-  if(NOT BLAS_FIND_QUIETLY)
-    if(BLAS_FOUND)
-      message(STATUS "A library with BLAS API found.")
-    else()
-      if(BLAS_FIND_REQUIRED)
-        message(FATAL_ERROR
-        "A required library with BLAS API not found. Please specify library location."
-        )
-      else()
-        message(STATUS
-        "A library with BLAS API not found. Please specify library location."
-        )
-      endif()
-    endif()
-  endif()
-endif()
-
-cmake_pop_check_state()
-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.6/Modules/FindBZip2.cmake b/share/cmake-3.6/Modules/FindBZip2.cmake
deleted file mode 100644
index 6af42dd..0000000
--- a/share/cmake-3.6/Modules/FindBZip2.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-#.rst:
-# FindBZip2
-# ---------
-#
-# Try to find BZip2
-#
-# Once done this will define
-#
-# ::
-#
-#   BZIP2_FOUND - system has BZip2
-#   BZIP2_INCLUDE_DIR - the BZip2 include directory
-#   BZIP2_LIBRARIES - Link these to use BZip2
-#   BZIP2_NEED_PREFIX - this is set if the functions are prefixed with BZ2_
-#   BZIP2_VERSION_STRING - the version of BZip2 found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2006-2012 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(_BZIP2_PATHS PATHS
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Bzip2;InstallPath]"
-  )
-
-find_path(BZIP2_INCLUDE_DIR bzlib.h ${_BZIP2_PATHS} PATH_SUFFIXES include)
-
-if (NOT BZIP2_LIBRARIES)
-    find_library(BZIP2_LIBRARY_RELEASE NAMES bz2 bzip2 ${_BZIP2_PATHS} PATH_SUFFIXES lib)
-    find_library(BZIP2_LIBRARY_DEBUG NAMES bzip2d ${_BZIP2_PATHS} PATH_SUFFIXES lib)
-
-    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-    SELECT_LIBRARY_CONFIGURATIONS(BZIP2)
-endif ()
-
-if (BZIP2_INCLUDE_DIR AND EXISTS "${BZIP2_INCLUDE_DIR}/bzlib.h")
-    file(STRINGS "${BZIP2_INCLUDE_DIR}/bzlib.h" BZLIB_H REGEX "bzip2/libbzip2 version [0-9]+\\.[^ ]+ of [0-9]+ ")
-    string(REGEX REPLACE ".* bzip2/libbzip2 version ([0-9]+\\.[^ ]+) of [0-9]+ .*" "\\1" BZIP2_VERSION_STRING "${BZLIB_H}")
-endif ()
-
-# handle the QUIETLY and REQUIRED arguments and set BZip2_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(BZip2
-                                  REQUIRED_VARS BZIP2_LIBRARIES BZIP2_INCLUDE_DIR
-                                  VERSION_VAR BZIP2_VERSION_STRING)
-
-if (BZIP2_FOUND)
-   include(${CMAKE_CURRENT_LIST_DIR}/CheckSymbolExists.cmake)
-   include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-   cmake_push_check_state()
-   set(CMAKE_REQUIRED_QUIET ${BZip2_FIND_QUIETLY})
-   set(CMAKE_REQUIRED_INCLUDES ${BZIP2_INCLUDE_DIR})
-   set(CMAKE_REQUIRED_LIBRARIES ${BZIP2_LIBRARIES})
-   CHECK_SYMBOL_EXISTS(BZ2_bzCompressInit "bzlib.h" BZIP2_NEED_PREFIX)
-   cmake_pop_check_state()
-endif ()
-
-mark_as_advanced(BZIP2_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindBacktrace.cmake b/share/cmake-3.6/Modules/FindBacktrace.cmake
deleted file mode 100644
index cb4f60a..0000000
--- a/share/cmake-3.6/Modules/FindBacktrace.cmake
+++ /dev/null
@@ -1,101 +0,0 @@
-#.rst:
-# FindBacktrace
-# -------------
-#
-# Find provider for backtrace(3).
-#
-# Checks if OS supports backtrace(3) via either libc or custom library.
-# This module defines the following variables:
-#
-# ``Backtrace_HEADER``
-#   The header file needed for backtrace(3). Cached.
-#   Could be forcibly set by user.
-# ``Backtrace_INCLUDE_DIRS``
-#   The include directories needed to use backtrace(3) header.
-# ``Backtrace_LIBRARIES``
-#   The libraries (linker flags) needed to use backtrace(3), if any.
-# ``Backtrace_FOUND``
-#   Is set if and only if backtrace(3) support detected.
-#
-# The following cache variables are also available to set or use:
-#
-# ``Backtrace_LIBRARY``
-#   The external library providing backtrace, if any.
-# ``Backtrace_INCLUDE_DIR``
-#   The directory holding the backtrace(3) header.
-#
-# Typical usage is to generate of header file using configure_file() with the
-# contents like the following::
-#
-#  #cmakedefine01 Backtrace_FOUND
-#  #if Backtrace_FOUND
-#  # include <${Backtrace_HEADER}>
-#  #endif
-#
-# And then reference that generated header file in actual source.
-
-#=============================================================================
-# Copyright 2013 Vadim Zhukov
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-include(CMakePushCheckState)
-include(CheckSymbolExists)
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-# List of variables to be provided to find_package_handle_standard_args()
-set(_Backtrace_STD_ARGS Backtrace_INCLUDE_DIR)
-
-if(Backtrace_HEADER)
-  set(_Backtrace_HEADER_TRY "${Backtrace_HEADER}")
-else(Backtrace_HEADER)
-  set(_Backtrace_HEADER_TRY "execinfo.h")
-endif(Backtrace_HEADER)
-
-find_path(Backtrace_INCLUDE_DIR "${_Backtrace_HEADER_TRY}")
-set(Backtrace_INCLUDE_DIRS ${Backtrace_INCLUDE_DIR})
-
-if (NOT DEFINED Backtrace_LIBRARY)
-  # First, check if we already have backtrace(), e.g., in libc
-  cmake_push_check_state(RESET)
-  set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS})
-  set(CMAKE_REQUIRED_QUIET ${Backtrace_FIND_QUIETLY})
-  check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}" _Backtrace_SYM_FOUND)
-  cmake_pop_check_state()
-endif()
-
-if(_Backtrace_SYM_FOUND)
-  # Avoid repeating the message() call below each time CMake is run.
-  if(NOT Backtrace_FIND_QUIETLY AND NOT DEFINED Backtrace_LIBRARY)
-    message(STATUS "backtrace facility detected in default set of libraries")
-  endif()
-  set(Backtrace_LIBRARY "" CACHE FILEPATH "Library providing backtrace(3), empty for default set of libraries")
-else()
-  # Check for external library, for non-glibc systems
-  if(Backtrace_INCLUDE_DIR)
-    # OpenBSD has libbacktrace renamed to libexecinfo
-    find_library(Backtrace_LIBRARY "execinfo")
-  elseif()     # respect user wishes
-    set(_Backtrace_HEADER_TRY "backtrace.h")
-    find_path(Backtrace_INCLUDE_DIR ${_Backtrace_HEADER_TRY})
-    find_library(Backtrace_LIBRARY "backtrace")
-  endif()
-
-  # Prepend list with library path as it's more common practice
-  set(_Backtrace_STD_ARGS Backtrace_LIBRARY ${_Backtrace_STD_ARGS})
-endif()
-
-set(Backtrace_LIBRARIES ${Backtrace_LIBRARY})
-set(Backtrace_HEADER "${_Backtrace_HEADER_TRY}" CACHE STRING "Header providing backtrace(3) facility")
-
-find_package_handle_standard_args(Backtrace FOUND_VAR Backtrace_FOUND REQUIRED_VARS ${_Backtrace_STD_ARGS})
-mark_as_advanced(Backtrace_HEADER Backtrace_INCLUDE_DIR Backtrace_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindBoost.cmake b/share/cmake-3.6/Modules/FindBoost.cmake
deleted file mode 100644
index 67d71d0..0000000
--- a/share/cmake-3.6/Modules/FindBoost.cmake
+++ /dev/null
@@ -1,1804 +0,0 @@
-#.rst:
-# FindBoost
-# ---------
-#
-# Find Boost include dirs and libraries
-#
-# Use this module by invoking find_package with the form::
-#
-#   find_package(Boost
-#     [version] [EXACT]      # Minimum or EXACT version e.g. 1.36.0
-#     [REQUIRED]             # Fail with error if Boost is not found
-#     [COMPONENTS <libs>...] # Boost libraries by their canonical name
-#     )                      # e.g. "date_time" for "libboost_date_time"
-#
-# This module finds headers and requested component libraries OR a CMake
-# package configuration file provided by a "Boost CMake" build.  For the
-# latter case skip to the "Boost CMake" section below.  For the former
-# case results are reported in variables::
-#
-#   Boost_FOUND            - True if headers and requested libraries were found
-#   Boost_INCLUDE_DIRS     - Boost include directories
-#   Boost_LIBRARY_DIRS     - Link directories for Boost libraries
-#   Boost_LIBRARIES        - Boost component libraries to be linked
-#   Boost_<C>_FOUND        - True if component <C> was found (<C> is upper-case)
-#   Boost_<C>_LIBRARY      - Libraries to link for component <C> (may include
-#                            target_link_libraries debug/optimized keywords)
-#   Boost_VERSION          - BOOST_VERSION value from boost/version.hpp
-#   Boost_LIB_VERSION      - Version string appended to library filenames
-#   Boost_MAJOR_VERSION    - Boost major version number (X in X.y.z)
-#   Boost_MINOR_VERSION    - Boost minor version number (Y in x.Y.z)
-#   Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
-#   Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
-#                          - Pass to add_definitions() to have diagnostic
-#                            information about Boost's automatic linking
-#                            displayed during compilation
-#
-# This module reads hints about search locations from variables::
-#
-#   BOOST_ROOT             - Preferred installation prefix
-#    (or BOOSTROOT)
-#   BOOST_INCLUDEDIR       - Preferred include directory e.g. <prefix>/include
-#   BOOST_LIBRARYDIR       - Preferred library directory e.g. <prefix>/lib
-#   Boost_NO_SYSTEM_PATHS  - Set to ON to disable searching in locations not
-#                            specified by these hint variables. Default is OFF.
-#   Boost_ADDITIONAL_VERSIONS
-#                          - List of Boost versions not known to this module
-#                            (Boost install locations may contain the version)
-#
-# and saves search results persistently in CMake cache entries::
-#
-#   Boost_INCLUDE_DIR         - Directory containing Boost headers
-#   Boost_LIBRARY_DIR_RELEASE - Directory containing release Boost libraries
-#   Boost_LIBRARY_DIR_DEBUG   - Directory containing debug Boost libraries
-#   Boost_<C>_LIBRARY_DEBUG   - Component <C> library debug variant
-#   Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
-#
-# The following :prop_tgt:`IMPORTED` targets are also defined::
-#
-#   Boost::boost                  - Target for header-only dependencies
-#                                   (Boost include directory)
-#   Boost::<C>                    - Target for specific component dependency
-#                                   (shared or static library); <C> is lower-
-#                                   case
-#   Boost::diagnostic_definitions - interface target to enable diagnostic
-#                                   information about Boost's automatic linking
-#                                   during compilation (adds BOOST_LIB_DIAGNOSTIC)
-#   Boost::disable_autolinking    - interface target to disable automatic
-#                                   linking with MSVC (adds BOOST_ALL_NO_LIB)
-#   Boost::dynamic_linking        - interface target to enable dynamic linking
-#                                   linking with MSVC (adds BOOST_ALL_DYN_LINK)
-#
-# Implicit dependencies such as Boost::filesystem requiring
-# Boost::system will be automatically detected and satisfied, even
-# if system is not specified when using find_package and if
-# Boost::system is not added to target_link_libraries.  If using
-# Boost::thread, then Thread::Thread will also be added automatically.
-#
-# It is important to note that the imported targets behave differently
-# than variables created by this module: multiple calls to
-# find_package(Boost) in the same directory or sub-directories with
-# different options (e.g. static or shared) will not override the
-# values of the targets created by the first call.
-#
-# Users may set these hints or results as cache entries.  Projects
-# should not read these entries directly but instead use the above
-# result variables.  Note that some hint names start in upper-case
-# "BOOST".  One may specify these as environment variables if they are
-# not specified as CMake variables or cache entries.
-#
-# This module first searches for the Boost header files using the above
-# hint variables (excluding BOOST_LIBRARYDIR) and saves the result in
-# Boost_INCLUDE_DIR.  Then it searches for requested component libraries
-# using the above hints (excluding BOOST_INCLUDEDIR and
-# Boost_ADDITIONAL_VERSIONS), "lib" directories near Boost_INCLUDE_DIR,
-# and the library name configuration settings below.  It saves the
-# library directories in Boost_LIBRARY_DIR_DEBUG and
-# Boost_LIBRARY_DIR_RELEASE and individual library
-# locations in Boost_<C>_LIBRARY_DEBUG and Boost_<C>_LIBRARY_RELEASE.
-# When one changes settings used by previous searches in the same build
-# tree (excluding environment variables) this module discards previous
-# search results affected by the changes and searches again.
-#
-# Boost libraries come in many variants encoded in their file name.
-# Users or projects may tell this module which variant to find by
-# setting variables::
-#
-#   Boost_USE_MULTITHREADED  - Set to OFF to use the non-multithreaded
-#                              libraries ('mt' tag).  Default is ON.
-#   Boost_USE_STATIC_LIBS    - Set to ON to force the use of the static
-#                              libraries.  Default is OFF.
-#   Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
-#                              libraries linked statically to the C++ runtime
-#                              ('s' tag).  Default is platform dependent.
-#   Boost_USE_DEBUG_RUNTIME  - Set to ON or OFF to specify whether to use
-#                              libraries linked to the MS debug C++ runtime
-#                              ('g' tag).  Default is ON.
-#   Boost_USE_DEBUG_PYTHON   - Set to ON to use libraries compiled with a
-#                              debug Python build ('y' tag). Default is OFF.
-#   Boost_USE_STLPORT        - Set to ON to use libraries compiled with
-#                              STLPort ('p' tag).  Default is OFF.
-#   Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
-#                            - Set to ON to use libraries compiled with
-#                              STLPort deprecated "native iostreams"
-#                              ('n' tag).  Default is OFF.
-#   Boost_COMPILER           - Set to the compiler-specific library suffix
-#                              (e.g. "-gcc43").  Default is auto-computed
-#                              for the C++ compiler in use.
-#   Boost_THREADAPI          - Suffix for "thread" component library name,
-#                              such as "pthread" or "win32".  Names with
-#                              and without this suffix will both be tried.
-#   Boost_NAMESPACE          - Alternate namespace used to build boost with
-#                              e.g. if set to "myboost", will search for
-#                              myboost_thread instead of boost_thread.
-#
-# Other variables one may set to control this module are::
-#
-#   Boost_DEBUG              - Set to ON to enable debug output from FindBoost.
-#                              Please enable this before filing any bug report.
-#   Boost_DETAILED_FAILURE_MSG
-#                            - Set to ON to add detailed information to the
-#                              failure message even when the REQUIRED option
-#                              is not given to the find_package call.
-#   Boost_REALPATH           - Set to ON to resolve symlinks for discovered
-#                              libraries to assist with packaging.  For example,
-#                              the "system" component library may be resolved to
-#                              "/usr/lib/libboost_system.so.1.42.0" instead of
-#                              "/usr/lib/libboost_system.so".  This does not
-#                              affect linking and should not be enabled unless
-#                              the user needs this information.
-#   Boost_LIBRARY_DIR        - Default value for Boost_LIBRARY_DIR_RELEASE and
-#                              Boost_LIBRARY_DIR_DEBUG.
-#
-# On Visual Studio and Borland compilers Boost headers request automatic
-# linking to corresponding libraries.  This requires matching libraries
-# to be linked explicitly or available in the link library search path.
-# In this case setting Boost_USE_STATIC_LIBS to OFF may not achieve
-# dynamic linking.  Boost automatic linking typically requests static
-# libraries with a few exceptions (such as Boost.Python).  Use::
-#
-#   add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
-#
-# to ask Boost to report information about automatic linking requests.
-#
-# Example to find Boost headers only::
-#
-#   find_package(Boost 1.36.0)
-#   if(Boost_FOUND)
-#     include_directories(${Boost_INCLUDE_DIRS})
-#     add_executable(foo foo.cc)
-#   endif()
-#
-# Example to find Boost libraries and use imported targets::
-#
-#   find_package(Boost 1.56 REQUIRED COMPONENTS
-#                date_time filesystem iostreams)
-#   add_executable(foo foo.cc)
-#   target_link_libraries(foo Boost::date_time Boost::filesystem
-#                             Boost::iostreams)
-#
-# Example to find Boost headers and some *static* libraries::
-#
-#   set(Boost_USE_STATIC_LIBS        ON) # only find static libs
-#   set(Boost_USE_MULTITHREADED      ON)
-#   set(Boost_USE_STATIC_RUNTIME    OFF)
-#   find_package(Boost 1.36.0 COMPONENTS date_time filesystem system ...)
-#   if(Boost_FOUND)
-#     include_directories(${Boost_INCLUDE_DIRS})
-#     add_executable(foo foo.cc)
-#     target_link_libraries(foo ${Boost_LIBRARIES})
-#   endif()
-#
-# Boost CMake
-# ^^^^^^^^^^^
-#
-# If Boost was built using the boost-cmake project it provides a package
-# configuration file for use with find_package's Config mode.  This
-# module looks for the package configuration file called
-# BoostConfig.cmake or boost-config.cmake and stores the result in cache
-# entry "Boost_DIR".  If found, the package configuration file is loaded
-# and this module returns with no further action.  See documentation of
-# the Boost CMake package configuration for details on what it provides.
-#
-# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
-
-#=============================================================================
-# Copyright 2006-2012 Kitware, Inc.
-# Copyright 2006-2008 Andreas Schneider <mail@cynapses.org>
-# Copyright 2007      Wengo
-# Copyright 2007      Mike Jackson
-# Copyright 2008      Andreas Pakulat <apaku@gmx.de>
-# Copyright 2008-2012 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-#-------------------------------------------------------------------------------
-# Before we go searching, check whether boost-cmake is available, unless the
-# user specifically asked NOT to search for boost-cmake.
-#
-# If Boost_DIR is set, this behaves as any find_package call would. If not,
-# it looks at BOOST_ROOT and BOOSTROOT to find Boost.
-#
-if (NOT Boost_NO_BOOST_CMAKE)
-  # If Boost_DIR is not set, look for BOOSTROOT and BOOST_ROOT as alternatives,
-  # since these are more conventional for Boost.
-  if ("$ENV{Boost_DIR}" STREQUAL "")
-    if (NOT "$ENV{BOOST_ROOT}" STREQUAL "")
-      set(ENV{Boost_DIR} $ENV{BOOST_ROOT})
-    elseif (NOT "$ENV{BOOSTROOT}" STREQUAL "")
-      set(ENV{Boost_DIR} $ENV{BOOSTROOT})
-    endif()
-  endif()
-
-  # Do the same find_package call but look specifically for the CMake version.
-  # 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 we found boost-cmake, then we're done.  Print out what we found.
-  # Otherwise let the rest of the module try to find it.
-  if (Boost_FOUND)
-    message("Boost ${Boost_FIND_VERSION} found.")
-    if (Boost_FIND_COMPONENTS)
-      message("Found Boost components:")
-      message("   ${Boost_FIND_COMPONENTS}")
-    endif()
-    return()
-  endif()
-endif()
-
-
-#-------------------------------------------------------------------------------
-#  FindBoost functions & macros
-#
-
-############################################
-#
-# Check the existence of the libraries.
-#
-############################################
-# This macro was taken directly from the FindQt4.cmake file that is included
-# with the CMake distribution. This is NOT my work. All work was done by the
-# original authors of the FindQt4.cmake file. Only minor modifications were
-# made to remove references to Qt and make this file more generally applicable
-# And ELSE/ENDIF pairs were removed for readability.
-#########################################################################
-
-macro(_Boost_ADJUST_LIB_VARS basename)
-  if(Boost_INCLUDE_DIR )
-    if(Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
-      # if the generator supports configuration types then set
-      # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
-      if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-        set(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
-      else()
-        # if there are no configuration types and CMAKE_BUILD_TYPE has no value
-        # then just use the release libraries
-        set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
-      endif()
-      # FIXME: This probably should be set for both cases
-      set(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
-    endif()
-
-    # if only the release version was found, set the debug variable also to the release version
-    if(Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
-      set(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})
-      set(Boost_${basename}_LIBRARY       ${Boost_${basename}_LIBRARY_RELEASE})
-      set(Boost_${basename}_LIBRARIES     ${Boost_${basename}_LIBRARY_RELEASE})
-    endif()
-
-    # if only the debug version was found, set the release variable also to the debug version
-    if(Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
-      set(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})
-      set(Boost_${basename}_LIBRARY         ${Boost_${basename}_LIBRARY_DEBUG})
-      set(Boost_${basename}_LIBRARIES       ${Boost_${basename}_LIBRARY_DEBUG})
-    endif()
-
-    # If the debug & release library ends up being the same, omit the keywords
-    if(${Boost_${basename}_LIBRARY_RELEASE} STREQUAL ${Boost_${basename}_LIBRARY_DEBUG})
-      set(Boost_${basename}_LIBRARY   ${Boost_${basename}_LIBRARY_RELEASE} )
-      set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE} )
-    endif()
-
-    if(Boost_${basename}_LIBRARY AND Boost_${basename}_HEADER)
-      set(Boost_${basename}_FOUND ON)
-    endif()
-
-  endif()
-  # Make variables changeable to the advanced user
-  mark_as_advanced(
-      Boost_${basename}_LIBRARY_RELEASE
-      Boost_${basename}_LIBRARY_DEBUG
-  )
-endmacro()
-
-# Detect changes in used variables.
-# Compares the current variable value with the last one.
-# In short form:
-# v != v_LAST                      -> CHANGED = 1
-# v is defined, v_LAST not         -> CHANGED = 1
-# v is not defined, but v_LAST is  -> CHANGED = 1
-# otherwise                        -> CHANGED = 0
-# CHANGED is returned in variable named ${changed_var}
-macro(_Boost_CHANGE_DETECT changed_var)
-  set(${changed_var} 0)
-  foreach(v ${ARGN})
-    if(DEFINED _Boost_COMPONENTS_SEARCHED)
-      if(${v})
-        if(_${v}_LAST)
-          string(COMPARE NOTEQUAL "${${v}}" "${_${v}_LAST}" _${v}_CHANGED)
-        else()
-          set(_${v}_CHANGED 1)
-        endif()
-      elseif(_${v}_LAST)
-        set(_${v}_CHANGED 1)
-      endif()
-      if(_${v}_CHANGED)
-        set(${changed_var} 1)
-      endif()
-    else()
-      set(_${v}_CHANGED 0)
-    endif()
-  endforeach()
-endmacro()
-
-#
-# Find the given library (var).
-# Use 'build_type' to support different lib paths for RELEASE or DEBUG builds
-#
-macro(_Boost_FIND_LIBRARY var build_type)
-
-  find_library(${var} ${ARGN})
-
-  if(${var})
-    # If this is the first library found then save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
-    if(NOT Boost_LIBRARY_DIR_${build_type})
-      get_filename_component(_dir "${${var}}" PATH)
-      set(Boost_LIBRARY_DIR_${build_type} "${_dir}" CACHE PATH "Boost library directory ${build_type}" FORCE)
-    endif()
-  elseif(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
-    # Try component-specific hints but do not save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
-    find_library(${var} HINTS ${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT} ${ARGN})
-  endif()
-
-  # If Boost_LIBRARY_DIR_[RELEASE,DEBUG] is known then search only there.
-  if(Boost_LIBRARY_DIR_${build_type})
-    set(_boost_LIBRARY_SEARCH_DIRS_${build_type} ${Boost_LIBRARY_DIR_${build_type}} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-        " Boost_LIBRARY_DIR_${build_type} = ${Boost_LIBRARY_DIR_${build_type}}"
-        " _boost_LIBRARY_SEARCH_DIRS_${build_type} = ${_boost_LIBRARY_SEARCH_DIRS_${build_type}}")
-    endif()
-  endif()
-endmacro()
-
-#-------------------------------------------------------------------------------
-
-#
-# Runs compiler with "-dumpversion" and parses major/minor
-# version with a regex.
-#
-function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
-
-  exec_program(${CMAKE_CXX_COMPILER}
-    ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
-    OUTPUT_VARIABLE _boost_COMPILER_VERSION
-  )
-  string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
-    _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
-
-  set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
-endfunction()
-
-#
-# Take a list of libraries with "thread" in it
-# and prepend duplicates with "thread_${Boost_THREADAPI}"
-# at the front of the list
-#
-function(_Boost_PREPEND_LIST_WITH_THREADAPI _output)
-  set(_orig_libnames ${ARGN})
-  string(REPLACE "thread" "thread_${Boost_THREADAPI}" _threadapi_libnames "${_orig_libnames}")
-  set(${_output} ${_threadapi_libnames} ${_orig_libnames} PARENT_SCOPE)
-endfunction()
-
-#
-# If a library is found, replace its cache entry with its REALPATH
-#
-function(_Boost_SWAP_WITH_REALPATH _library _docstring)
-  if(${_library})
-    get_filename_component(_boost_filepathreal ${${_library}} REALPATH)
-    unset(${_library} CACHE)
-    set(${_library} ${_boost_filepathreal} CACHE FILEPATH "${_docstring}")
-  endif()
-endfunction()
-
-function(_Boost_CHECK_SPELLING _var)
-  if(${_var})
-    string(TOUPPER ${_var} _var_UC)
-    message(FATAL_ERROR "ERROR: ${_var} is not the correct spelling.  The proper spelling is ${_var_UC}.")
-  endif()
-endfunction()
-
-# Guesses Boost's compiler prefix used in built library names
-# Returns the guess by setting the variable pointed to by _ret
-function(_Boost_GUESS_COMPILER_PREFIX _ret)
-  if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel"
-      OR CMAKE_CXX_COMPILER MATCHES "icl"
-      OR CMAKE_CXX_COMPILER MATCHES "icpc")
-    if(WIN32)
-      set (_boost_COMPILER "-iw")
-    else()
-      set (_boost_COMPILER "-il")
-    endif()
-  elseif (GHSMULTI)
-    set(_boost_COMPILER "-ghs")
-  elseif (MSVC14)
-    set(_boost_COMPILER "-vc140")
-  elseif (MSVC12)
-    set(_boost_COMPILER "-vc120")
-  elseif (MSVC11)
-    set(_boost_COMPILER "-vc110")
-  elseif (MSVC10)
-    set(_boost_COMPILER "-vc100")
-  elseif (MSVC90)
-    set(_boost_COMPILER "-vc90")
-  elseif (MSVC80)
-    set(_boost_COMPILER "-vc80")
-  elseif (MSVC71)
-    set(_boost_COMPILER "-vc71")
-  elseif (MSVC70) # Good luck!
-    set(_boost_COMPILER "-vc7") # yes, this is correct
-  elseif (MSVC60) # Good luck!
-    set(_boost_COMPILER "-vc6") # yes, this is correct
-  elseif (BORLAND)
-    set(_boost_COMPILER "-bcb")
-  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
-    set(_boost_COMPILER "-sw")
-  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "XL")
-    set(_boost_COMPILER "-xlc")
-  elseif (MINGW)
-    if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
-        set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
-    else()
-      _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-      set(_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
-    endif()
-  elseif (UNIX)
-    if (CMAKE_COMPILER_IS_GNUCXX)
-      if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
-        set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
-      else()
-        _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-        # Determine which version of GCC we have.
-        if(APPLE)
-          if(Boost_MINOR_VERSION)
-            if(${Boost_MINOR_VERSION} GREATER 35)
-              # In Boost 1.36.0 and newer, the mangled compiler name used
-              # on Mac OS X/Darwin is "xgcc".
-              set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
-            else()
-              # In Boost <= 1.35.0, there is no mangled compiler name for
-              # the Mac OS X/Darwin version of GCC.
-              set(_boost_COMPILER "")
-            endif()
-          else()
-            # We don't know the Boost version, so assume it's
-            # pre-1.36.0.
-            set(_boost_COMPILER "")
-          endif()
-        else()
-          set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
-        endif()
-      endif()
-    endif ()
-  else()
-    # TODO at least Boost_DEBUG here?
-    set(_boost_COMPILER "")
-  endif()
-  set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
-endfunction()
-
-#
-# Get component dependencies.  Requires the dependencies to have been
-# defined for the Boost release version.
-#
-# component - the component to check
-# _ret - list of library dependencies
-#
-function(_Boost_COMPONENT_DEPENDENCIES component _ret)
-  # Note: to add a new Boost release, run
-  #
-  #   % cmake -DBOOST_DIR=/path/to/boost/source -P Utilities/Scripts/BoostScanDeps.cmake
-  #
-  # The output may be added in a new block below.  If it's the same as
-  # the previous release, simply update the version range of the block
-  # for the previous release.  Also check if any new components have
-  # been added, and add any new components to
-  # _Boost_COMPONENT_HEADERS.
-  #
-  # This information was originally generated by running
-  # BoostScanDeps.cmake against every boost release to date supported
-  # by FindBoost:
-  #
-  #   % for version in /path/to/boost/sources/*
-  #     do
-  #       cmake -DBOOST_DIR=$version -P Utilities/Scripts/BoostScanDeps.cmake
-  #     done
-  #
-  # The output was then updated by search and replace with these regexes:
-  #
-  # - Strip message(STATUS) prefix dashes
-  #   s;^-- ;;
-  # - Indent
-  #   s;^set(;    set(;;
-  # - Add conditionals
-  #   s;Scanning /path/to/boost/sources/boost_\(.*\)_\(.*\)_\(.*);  elseif(NOT Boost_VERSION VERSION_LESS \10\20\3 AND Boost_VERSION VERSION_LESS xxxx);
-  #
-  # This results in the logic seen below, but will require the xxxx
-  # replacing with the following Boost release version (or the next
-  # minor version to be released, e.g. 1.59 was the latest at the time
-  # of writing, making 1.60 the next, so 106000 is the needed version
-  # number).  Identical consecutive releases were then merged together
-  # by updating the end range of the first block and removing the
-  # following redundant blocks.
-  #
-  # Running the script against all historical releases should be
-  # required only if the BoostScanDeps.cmake script logic is changed.
-  # The addition of a new release should only require it to be run
-  # against the new release.
-  set(_Boost_IMPORTED_TARGETS TRUE)
-  if(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex thread)
-    set(_Boost_REGEX_DEPENDENCIES thread)
-    set(_Boost_WAVE_DEPENDENCIES filesystem thread)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 103500 AND Boost_VERSION VERSION_LESS 103600)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 103600 AND Boost_VERSION VERSION_LESS 103800)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 103800 AND Boost_VERSION VERSION_LESS 104300)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES date_time)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 104300 AND Boost_VERSION VERSION_LESS 104400)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES date_time)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 104400 AND Boost_VERSION VERSION_LESS 104500)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random serialization)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES date_time)
-    set(_Boost_WAVE_DEPENDENCIES serialization filesystem system thread date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 104500 AND Boost_VERSION VERSION_LESS 104700)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES date_time)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 104700 AND Boost_VERSION VERSION_LESS 104800)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES date_time)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 104800 AND Boost_VERSION VERSION_LESS 105000)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES date_time)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 105000 AND Boost_VERSION VERSION_LESS 105300)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 105300 AND Boost_VERSION VERSION_LESS 105400)
-    set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 105400 AND Boost_VERSION VERSION_LESS 105500)
-    set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 105500 AND Boost_VERSION VERSION_LESS 105600)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_COROUTINE_DEPENDENCIES context system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 105600 AND Boost_VERSION VERSION_LESS 105900)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_COROUTINE_DEPENDENCIES context system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_RANDOM_DEPENDENCIES system)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 105900 AND Boost_VERSION VERSION_LESS 106000)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_COROUTINE_DEPENDENCIES context system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono atomic)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_RANDOM_DEPENDENCIES system)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 106000 AND Boost_VERSION VERSION_LESS 106100)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_COROUTINE_DEPENDENCIES context system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_RANDOM_DEPENDENCIES system)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_TIMER_DEPENDENCIES chrono system)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  elseif(NOT Boost_VERSION VERSION_LESS 106100 AND Boost_VERSION VERSION_LESS 106200)
-    set(_Boost_CHRONO_DEPENDENCIES system)
-    set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
-    set(_Boost_COROUTINE_DEPENDENCIES context system)
-    set(_Boost_FILESYSTEM_DEPENDENCIES system)
-    set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-    set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
-    set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
-    set(_Boost_MPI_DEPENDENCIES serialization)
-    set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
-    set(_Boost_RANDOM_DEPENDENCIES system)
-    set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-    set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-    set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-  else()
-    message(WARNING "Imported targets not available for Boost version ${Boost_VERSION}")
-    set(_Boost_IMPORTED_TARGETS FALSE)
-  endif()
-
-  string(TOUPPER ${component} uppercomponent)
-  set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
-  set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
-
-  string(REGEX REPLACE ";" " " _boost_DEPS_STRING "${_Boost_${uppercomponent}_DEPENDENCIES}")
-  if (NOT _boost_DEPS_STRING)
-    set(_boost_DEPS_STRING "(none)")
-  endif()
-  # message(STATUS "Dependencies for Boost::${component}: ${_boost_DEPS_STRING}")
-endfunction()
-
-#
-# Get component headers.  This is the primary header (or headers) for
-# a given component, and is used to check that the headers are present
-# as well as the library itself as an extra sanity check of the build
-# environment.
-#
-# component - the component to check
-# _hdrs
-#
-function(_Boost_COMPONENT_HEADERS component _hdrs)
-  # Note: new boost components will require adding here.  The header
-  # must be present in all versions of Boost providing a library.
-  set(_Boost_ATOMIC_HEADERS              "boost/atomic.hpp")
-  set(_Boost_CHRONO_HEADERS              "boost/chrono.hpp")
-  set(_Boost_CONTAINER_HEADERS           "boost/container/container_fwd.hpp")
-  set(_Boost_CONTEXT_HEADERS             "boost/context/all.hpp")
-  set(_Boost_COROUTINE_HEADERS           "boost/coroutine/all.hpp")
-  set(_Boost_EXCEPTION_HEADERS           "boost/exception/exception.hpp")
-  set(_Boost_DATE_TIME_HEADERS           "boost/date_time/date.hpp")
-  set(_Boost_FILESYSTEM_HEADERS          "boost/filesystem/path.hpp")
-  set(_Boost_GRAPH_HEADERS               "boost/graph/adjacency_list.hpp")
-  set(_Boost_GRAPH_PARALLEL_HEADERS      "boost/graph/adjacency_list.hpp")
-  set(_Boost_IOSTREAMS_HEADERS           "boost/iostreams/stream.hpp")
-  set(_Boost_LOCALE_HEADERS              "boost/locale.hpp")
-  set(_Boost_LOG_HEADERS                 "boost/log/core.hpp")
-  set(_Boost_LOG_SETUP_HEADERS           "boost/log/detail/setup_config.hpp")
-  set(_Boost_MATH_HEADERS                "boost/math_fwd.hpp")
-  set(_Boost_MATH_C99_HEADERS            "boost/math/tr1.hpp")
-  set(_Boost_MATH_C99F_HEADERS           "boost/math/tr1.hpp")
-  set(_Boost_MATH_C99L_HEADERS           "boost/math/tr1.hpp")
-  set(_Boost_MATH_TR1_HEADERS            "boost/math/tr1.hpp")
-  set(_Boost_MATH_TR1F_HEADERS           "boost/math/tr1.hpp")
-  set(_Boost_MATH_TR1L_HEADERS           "boost/math/tr1.hpp")
-  set(_Boost_MPI_HEADERS                 "boost/mpi.hpp")
-  set(_Boost_MPI_PYTHON_HEADERS          "boost/mpi/python/config.hpp")
-  set(_Boost_PRG_EXEC_MONITOR_HEADERS    "boost/test/prg_exec_monitor.hpp")
-  set(_Boost_PROGRAM_OPTIONS_HEADERS     "boost/program_options.hpp")
-  set(_Boost_PYTHON_HEADERS              "boost/python.hpp")
-  set(_Boost_RANDOM_HEADERS              "boost/random.hpp")
-  set(_Boost_REGEX_HEADERS               "boost/regex.hpp")
-  set(_Boost_SERIALIZATION_HEADERS       "boost/serialization/serialization.hpp")
-  set(_Boost_SIGNALS_HEADERS             "boost/signals.hpp")
-  set(_Boost_SYSTEM_HEADERS              "boost/system/config.hpp")
-  set(_Boost_TEST_EXEC_MONITOR_HEADERS   "boost/test/test_exec_monitor.hpp")
-  set(_Boost_THREAD_HEADERS              "boost/thread.hpp")
-  set(_Boost_TIMER_HEADERS               "boost/timer.hpp")
-  set(_Boost_TYPE_ERASURE_HEADERS        "boost/type_erasure/config.hpp")
-  set(_Boost_UNIT_TEST_FRAMEWORK_HEADERS "boost/test/framework.hpp")
-  set(_Boost_WAVE_HEADERS                "boost/wave.hpp")
-  set(_Boost_WSERIALIZATION_HEADERS      "boost/archive/text_wiarchive.hpp")
-
-  string(TOUPPER ${component} uppercomponent)
-  set(${_hdrs} ${_Boost_${uppercomponent}_HEADERS} PARENT_SCOPE)
-
-  string(REGEX REPLACE ";" " " _boost_HDRS_STRING "${_Boost_${uppercomponent}_HEADERS}")
-  if (NOT _boost_HDRS_STRING)
-    set(_boost_HDRS_STRING "(none)")
-  endif()
-  # message(STATUS "Headers for Boost::${component}: ${_boost_HDRS_STRING}")
-endfunction()
-
-#
-# Determine if any missing dependencies require adding to the component list.
-#
-# Sets _Boost_${COMPONENT}_DEPENDENCIES for each required component,
-# plus _Boost_IMPORTED_TARGETS (TRUE if imported targets should be
-# defined; FALSE if dependency information is unavailable).
-#
-# componentvar - the component list variable name
-# extravar - the indirect dependency list variable name
-#
-#
-function(_Boost_MISSING_DEPENDENCIES componentvar extravar)
-  # _boost_unprocessed_components - list of components requiring processing
-  # _boost_processed_components - components already processed (or currently being processed)
-  # _boost_new_components - new components discovered for future processing
-  #
-  list(APPEND _boost_unprocessed_components ${${componentvar}})
-
-  while(_boost_unprocessed_components)
-    list(APPEND _boost_processed_components ${_boost_unprocessed_components})
-    foreach(component ${_boost_unprocessed_components})
-      string(TOUPPER ${component} uppercomponent)
-  set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
-      _Boost_COMPONENT_DEPENDENCIES("${component}" _Boost_${uppercomponent}_DEPENDENCIES)
-      set(_Boost_${uppercomponent}_DEPENDENCIES ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
-      set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
-      foreach(componentdep ${_Boost_${uppercomponent}_DEPENDENCIES})
-        list(FIND _boost_processed_components "${componentdep}" _boost_component_found)
-        list(FIND _boost_new_components "${componentdep}" _boost_component_new)
-        if (_boost_component_found EQUAL -1 AND _boost_component_new EQUAL -1)
-          list(APPEND _boost_new_components ${componentdep})
-        endif()
-      endforeach()
-    endforeach()
-    set(_boost_unprocessed_components ${_boost_new_components})
-    unset(_boost_new_components)
-  endwhile()
-  set(_boost_extra_components ${_boost_processed_components})
-  if(_boost_extra_components AND ${componentvar})
-    list(REMOVE_ITEM _boost_extra_components ${${componentvar}})
-  endif()
-  set(${componentvar} ${_boost_processed_components} PARENT_SCOPE)
-  set(${extravar} ${_boost_extra_components} PARENT_SCOPE)
-endfunction()
-
-#
-# End functions/macros
-#
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-# main.
-#-------------------------------------------------------------------------------
-
-
-# If the user sets Boost_LIBRARY_DIR, use it as the default for both
-# configurations.
-if(NOT Boost_LIBRARY_DIR_RELEASE AND Boost_LIBRARY_DIR)
-  set(Boost_LIBRARY_DIR_RELEASE "${Boost_LIBRARY_DIR}")
-endif()
-if(NOT Boost_LIBRARY_DIR_DEBUG AND Boost_LIBRARY_DIR)
-  set(Boost_LIBRARY_DIR_DEBUG   "${Boost_LIBRARY_DIR}")
-endif()
-
-if(NOT DEFINED Boost_USE_MULTITHREADED)
-    set(Boost_USE_MULTITHREADED TRUE)
-endif()
-if(NOT DEFINED Boost_USE_DEBUG_RUNTIME)
-  set(Boost_USE_DEBUG_RUNTIME TRUE)
-endif()
-
-# Check the version of Boost against the requested version.
-if(Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
-  message(SEND_ERROR "When requesting a specific version of Boost, you must provide at least the major and minor version numbers, e.g., 1.34")
-endif()
-
-if(Boost_FIND_VERSION_EXACT)
-  # The version may appear in a directory with or without the patch
-  # level, even when the patch level is non-zero.
-  set(_boost_TEST_VERSIONS
-    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
-    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-else()
-  # The user has not requested an exact version.  Among known
-  # versions, find those that are acceptable to the user request.
-  #
-  # Note: When adding a new Boost release, also update the dependency
-  # information in _Boost_COMPONENT_DEPENDENCIES and
-  # _Boost_COMPONENT_HEADERS.  See the instructions at the top of
-  # _Boost_COMPONENT_DEPENDENCIES.
-  set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
-    "1.61.0" "1.61" "1.60.0" "1.60"
-    "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
-    "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
-    "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47" "1.46.1"
-    "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42"
-    "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"
-    "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
-    "1.34" "1.33.1" "1.33.0" "1.33")
-
-  set(_boost_TEST_VERSIONS)
-  if(Boost_FIND_VERSION)
-    set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-    # Select acceptable versions.
-    foreach(version ${_Boost_KNOWN_VERSIONS})
-      if(NOT "${version}" VERSION_LESS "${Boost_FIND_VERSION}")
-        # This version is high enough.
-        list(APPEND _boost_TEST_VERSIONS "${version}")
-      elseif("${version}.99" VERSION_EQUAL "${_Boost_FIND_VERSION_SHORT}.99")
-        # This version is a short-form for the requested version with
-        # the patch level dropped.
-        list(APPEND _boost_TEST_VERSIONS "${version}")
-      endif()
-    endforeach()
-  else()
-    # Any version is acceptable.
-    set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
-  endif()
-endif()
-
-# The reason that we failed to find Boost. This will be set to a
-# user-friendly message when we fail to find some necessary piece of
-# Boost.
-set(Boost_ERROR_REASON)
-
-if(Boost_DEBUG)
-  # Output some of their choices
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Boost_USE_MULTITHREADED = ${Boost_USE_MULTITHREADED}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Boost_USE_STATIC_LIBS = ${Boost_USE_STATIC_LIBS}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Boost_USE_STATIC_RUNTIME = ${Boost_USE_STATIC_RUNTIME}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Boost_ADDITIONAL_VERSIONS = ${Boost_ADDITIONAL_VERSIONS}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Boost_NO_SYSTEM_PATHS = ${Boost_NO_SYSTEM_PATHS}")
-endif()
-
-# 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)
-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")
-  set_target_properties(Boost::dynamic_linking PROPERTIES
-    INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
-endif()
-
-_Boost_CHECK_SPELLING(Boost_ROOT)
-_Boost_CHECK_SPELLING(Boost_LIBRARYDIR)
-_Boost_CHECK_SPELLING(Boost_INCLUDEDIR)
-
-# Collect environment variable inputs as hints.  Do not consider changes.
-foreach(v BOOSTROOT BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR)
-  set(_env $ENV{${v}})
-  if(_env)
-    file(TO_CMAKE_PATH "${_env}" _ENV_${v})
-  else()
-    set(_ENV_${v} "")
-  endif()
-endforeach()
-if(NOT _ENV_BOOST_ROOT AND _ENV_BOOSTROOT)
-  set(_ENV_BOOST_ROOT "${_ENV_BOOSTROOT}")
-endif()
-
-# Collect inputs and cached results.  Detect changes since the last run.
-if(NOT BOOST_ROOT AND BOOSTROOT)
-  set(BOOST_ROOT "${BOOSTROOT}")
-endif()
-set(_Boost_VARS_DIR
-  BOOST_ROOT
-  Boost_NO_SYSTEM_PATHS
-  )
-
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Declared as CMake or Environmental Variables:")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "  BOOST_ROOT = ${BOOST_ROOT}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "  BOOST_INCLUDEDIR = ${BOOST_INCLUDEDIR}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "  BOOST_LIBRARYDIR = ${BOOST_LIBRARYDIR}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
-endif()
-
-# ------------------------------------------------------------------------
-#  Search for Boost include DIR
-# ------------------------------------------------------------------------
-
-set(_Boost_VARS_INC BOOST_INCLUDEDIR Boost_INCLUDE_DIR Boost_ADDITIONAL_VERSIONS)
-_Boost_CHANGE_DETECT(_Boost_CHANGE_INCDIR ${_Boost_VARS_DIR} ${_Boost_VARS_INC})
-# Clear Boost_INCLUDE_DIR if it did not change but other input affecting the
-# location did.  We will find a new one based on the new inputs.
-if(_Boost_CHANGE_INCDIR AND NOT _Boost_INCLUDE_DIR_CHANGED)
-  unset(Boost_INCLUDE_DIR CACHE)
-endif()
-
-if(NOT Boost_INCLUDE_DIR)
-  set(_boost_INCLUDE_SEARCH_DIRS "")
-  if(BOOST_INCLUDEDIR)
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_INCLUDEDIR})
-  elseif(_ENV_BOOST_INCLUDEDIR)
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_INCLUDEDIR})
-  endif()
-
-  if( BOOST_ROOT )
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${BOOST_ROOT})
-  elseif( _ENV_BOOST_ROOT )
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_ROOT}/include ${_ENV_BOOST_ROOT})
-  endif()
-
-  if( Boost_NO_SYSTEM_PATHS)
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
-  else()
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS PATHS
-      C:/boost/include
-      C:/boost
-      /sw/local/include
-      )
-  endif()
-
-  # Try to find Boost by stepping backwards through the Boost versions
-  # we know about.
-  # Build a list of path suffixes for each version.
-  set(_boost_PATH_SUFFIXES)
-  foreach(_boost_VER ${_boost_TEST_VERSIONS})
-    # Add in a path suffix, based on the required version, ideally
-    # we could read this from version.hpp, but for that to work we'd
-    # need to know the include dir already
-    set(_boost_BOOSTIFIED_VERSION)
-
-    # Transform 1.35 => 1_35 and 1.36.0 => 1_36_0
-    if(_boost_VER MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
-        set(_boost_BOOSTIFIED_VERSION
-          "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}_${CMAKE_MATCH_3}")
-    elseif(_boost_VER MATCHES "([0-9]+)\\.([0-9]+)")
-        set(_boost_BOOSTIFIED_VERSION
-          "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
-    endif()
-
-    list(APPEND _boost_PATH_SUFFIXES
-      "boost-${_boost_BOOSTIFIED_VERSION}"
-      "boost_${_boost_BOOSTIFIED_VERSION}"
-      "boost/boost-${_boost_BOOSTIFIED_VERSION}"
-      "boost/boost_${_boost_BOOSTIFIED_VERSION}"
-      )
-
-  endforeach()
-
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Include debugging info:")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  _boost_INCLUDE_SEARCH_DIRS = ${_boost_INCLUDE_SEARCH_DIRS}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  _boost_PATH_SUFFIXES = ${_boost_PATH_SUFFIXES}")
-  endif()
-
-  # Look for a standard boost header file.
-  find_path(Boost_INCLUDE_DIR
-    NAMES         boost/config.hpp
-    HINTS         ${_boost_INCLUDE_SEARCH_DIRS}
-    PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
-    )
-endif()
-
-# ------------------------------------------------------------------------
-#  Extract version information from version.hpp
-# ------------------------------------------------------------------------
-
-# Set Boost_FOUND based only on header location and version.
-# It will be updated below for component libraries.
-if(Boost_INCLUDE_DIR)
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp")
-  endif()
-
-  # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
-  set(Boost_VERSION 0)
-  set(Boost_LIB_VERSION "")
-  file(STRINGS "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS REGEX "#define BOOST_(LIB_)?VERSION ")
-  set(_Boost_VERSION_REGEX "([0-9]+)")
-  set(_Boost_LIB_VERSION_REGEX "\"([0-9_]+)\"")
-  foreach(v VERSION LIB_VERSION)
-    if("${_boost_VERSION_HPP_CONTENTS}" MATCHES "#define BOOST_${v} ${_Boost_${v}_REGEX}")
-      set(Boost_${v} "${CMAKE_MATCH_1}")
-    endif()
-  endforeach()
-  unset(_boost_VERSION_HPP_CONTENTS)
-
-  math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
-  math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
-  math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
-
-  set(Boost_ERROR_REASON
-    "${Boost_ERROR_REASON}Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "version.hpp reveals boost "
-                   "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-  endif()
-
-  if(Boost_FIND_VERSION)
-    # Set Boost_FOUND based on requested version.
-    set(_Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-    if("${_Boost_VERSION}" VERSION_LESS "${Boost_FIND_VERSION}")
-      set(Boost_FOUND 0)
-      set(_Boost_VERSION_AGE "old")
-    elseif(Boost_FIND_VERSION_EXACT AND
-        NOT "${_Boost_VERSION}" VERSION_EQUAL "${Boost_FIND_VERSION}")
-      set(Boost_FOUND 0)
-      set(_Boost_VERSION_AGE "new")
-    else()
-      set(Boost_FOUND 1)
-    endif()
-    if(NOT Boost_FOUND)
-      # State that we found a version of Boost that is too new or too old.
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}\nDetected version of Boost is too ${_Boost_VERSION_AGE}. Requested version was ${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-      if (Boost_FIND_VERSION_PATCH)
-        set(Boost_ERROR_REASON
-          "${Boost_ERROR_REASON}.${Boost_FIND_VERSION_PATCH}")
-      endif ()
-      if (NOT Boost_FIND_VERSION_EXACT)
-        set(Boost_ERROR_REASON "${Boost_ERROR_REASON} (or newer)")
-      endif ()
-      set(Boost_ERROR_REASON "${Boost_ERROR_REASON}.")
-    endif ()
-  else()
-    # Caller will accept any Boost version.
-    set(Boost_FOUND 1)
-  endif()
-else()
-  set(Boost_FOUND 0)
-  set(Boost_ERROR_REASON
-    "${Boost_ERROR_REASON}Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.")
-endif()
-
-# ------------------------------------------------------------------------
-#  Prefix initialization
-# ------------------------------------------------------------------------
-
-set(Boost_LIB_PREFIX "")
-if ( (GHSMULTI AND Boost_USE_STATIC_LIBS) OR
-    (WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN) )
-  set(Boost_LIB_PREFIX "lib")
-endif()
-
-if ( NOT Boost_NAMESPACE )
-  set(Boost_NAMESPACE "boost")
-endif()
-
-# ------------------------------------------------------------------------
-#  Suffix initialization and compiler suffix detection.
-# ------------------------------------------------------------------------
-
-set(_Boost_VARS_NAME
-  Boost_NAMESPACE
-  Boost_COMPILER
-  Boost_THREADAPI
-  Boost_USE_DEBUG_PYTHON
-  Boost_USE_MULTITHREADED
-  Boost_USE_STATIC_LIBS
-  Boost_USE_STATIC_RUNTIME
-  Boost_USE_STLPORT
-  Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
-  )
-_Boost_CHANGE_DETECT(_Boost_CHANGE_LIBNAME ${_Boost_VARS_NAME})
-
-# Setting some more suffixes for the library
-if (Boost_COMPILER)
-  set(_boost_COMPILER ${Boost_COMPILER})
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "using user-specified Boost_COMPILER = ${_boost_COMPILER}")
-  endif()
-else()
-  # Attempt to guess the compiler suffix
-  # NOTE: this is not perfect yet, if you experience any issues
-  # please report them and use the Boost_COMPILER variable
-  # to work around the problems.
-  _Boost_GUESS_COMPILER_PREFIX(_boost_COMPILER)
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "guessed _boost_COMPILER = ${_boost_COMPILER}")
-  endif()
-endif()
-
-set (_boost_MULTITHREADED "-mt")
-if( NOT Boost_USE_MULTITHREADED )
-  set (_boost_MULTITHREADED "")
-endif()
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_MULTITHREADED = ${_boost_MULTITHREADED}")
-endif()
-
-#======================
-# Systematically build up the Boost ABI tag
-# http://boost.org/doc/libs/1_41_0/more/getting_started/windows.html#library-naming
-set( _boost_RELEASE_ABI_TAG "-")
-set( _boost_DEBUG_ABI_TAG   "-")
-# Key       Use this library when:
-#  s        linking statically to the C++ standard library and
-#           compiler runtime support libraries.
-if(Boost_USE_STATIC_RUNTIME)
-  set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}s")
-  set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}s")
-endif()
-#  g        using debug versions of the standard and runtime
-#           support libraries
-if(WIN32 AND Boost_USE_DEBUG_RUNTIME)
-  if(MSVC OR "${CMAKE_CXX_COMPILER}" MATCHES "icl"
-          OR "${CMAKE_CXX_COMPILER}" MATCHES "icpc")
-    set(_boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}g")
-  endif()
-endif()
-#  y        using special debug build of python
-if(Boost_USE_DEBUG_PYTHON)
-  set(_boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}y")
-endif()
-#  d        using a debug version of your code
-set(_boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}d")
-#  p        using the STLport standard library rather than the
-#           default one supplied with your compiler
-if(Boost_USE_STLPORT)
-  set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}p")
-  set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}p")
-endif()
-#  n        using the STLport deprecated "native iostreams" feature
-if(Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS)
-  set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}n")
-  set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}n")
-endif()
-
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_RELEASE_ABI_TAG = ${_boost_RELEASE_ABI_TAG}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_DEBUG_ABI_TAG = ${_boost_DEBUG_ABI_TAG}")
-endif()
-
-# ------------------------------------------------------------------------
-#  Begin finding boost libraries
-# ------------------------------------------------------------------------
-
-set(_Boost_VARS_LIB "")
-foreach(c DEBUG RELEASE)
-  set(_Boost_VARS_LIB_${c} BOOST_LIBRARYDIR Boost_LIBRARY_DIR_${c})
-  list(APPEND _Boost_VARS_LIB ${_Boost_VARS_LIB_${c}})
-  _Boost_CHANGE_DETECT(_Boost_CHANGE_LIBDIR_${c} ${_Boost_VARS_DIR} ${_Boost_VARS_LIB_${c}} Boost_INCLUDE_DIR)
-  # Clear Boost_LIBRARY_DIR_${c} if it did not change but other input affecting the
-  # location did.  We will find a new one based on the new inputs.
-  if(_Boost_CHANGE_LIBDIR_${c} AND NOT _Boost_LIBRARY_DIR_${c}_CHANGED)
-    unset(Boost_LIBRARY_DIR_${c} CACHE)
-  endif()
-
-  # If Boost_LIBRARY_DIR_[RELEASE,DEBUG] is set, prefer its value.
-  if(Boost_LIBRARY_DIR_${c})
-    set(_boost_LIBRARY_SEARCH_DIRS_${c} ${Boost_LIBRARY_DIR_${c}} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  else()
-    set(_boost_LIBRARY_SEARCH_DIRS_${c} "")
-    if(BOOST_LIBRARYDIR)
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${BOOST_LIBRARYDIR})
-    elseif(_ENV_BOOST_LIBRARYDIR)
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${_ENV_BOOST_LIBRARYDIR})
-    endif()
-
-    if(BOOST_ROOT)
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${BOOST_ROOT}/lib ${BOOST_ROOT}/stage/lib)
-    elseif(_ENV_BOOST_ROOT)
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${_ENV_BOOST_ROOT}/lib ${_ENV_BOOST_ROOT}/stage/lib)
-    endif()
-
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c}
-      ${Boost_INCLUDE_DIR}/lib
-      ${Boost_INCLUDE_DIR}/../lib
-      ${Boost_INCLUDE_DIR}/stage/lib
-      )
-    if( Boost_NO_SYSTEM_PATHS )
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
-    else()
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} PATHS
-        C:/boost/lib
-        C:/boost
-        /sw/local/lib
-        )
-    endif()
-  endif()
-endforeach()
-
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_LIBRARY_SEARCH_DIRS_RELEASE = ${_boost_LIBRARY_SEARCH_DIRS_RELEASE}"
-    "_boost_LIBRARY_SEARCH_DIRS_DEBUG   = ${_boost_LIBRARY_SEARCH_DIRS_DEBUG}")
-endif()
-
-# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
-if( Boost_USE_STATIC_LIBS )
-  set( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-  if(WIN32)
-    set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-  else()
-    set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
-  endif()
-endif()
-
-# We want to use the tag inline below without risking double dashes
-if(_boost_RELEASE_ABI_TAG)
-  if(${_boost_RELEASE_ABI_TAG} STREQUAL "-")
-    set(_boost_RELEASE_ABI_TAG "")
-  endif()
-endif()
-if(_boost_DEBUG_ABI_TAG)
-  if(${_boost_DEBUG_ABI_TAG} STREQUAL "-")
-    set(_boost_DEBUG_ABI_TAG "")
-  endif()
-endif()
-
-# The previous behavior of FindBoost when Boost_USE_STATIC_LIBS was enabled
-# on WIN32 was to:
-#  1. Search for static libs compiled against a SHARED C++ standard runtime library (use if found)
-#  2. Search for static libs compiled against a STATIC C++ standard runtime library (use if found)
-# We maintain this behavior since changing it could break people's builds.
-# To disable the ambiguous behavior, the user need only
-# set Boost_USE_STATIC_RUNTIME either ON or OFF.
-set(_boost_STATIC_RUNTIME_WORKAROUND false)
-if(WIN32 AND Boost_USE_STATIC_LIBS)
-  if(NOT DEFINED Boost_USE_STATIC_RUNTIME)
-    set(_boost_STATIC_RUNTIME_WORKAROUND true)
-  endif()
-endif()
-
-# On versions < 1.35, remove the System library from the considered list
-# since it wasn't added until 1.35.
-if(Boost_VERSION AND Boost_FIND_COMPONENTS)
-   if(Boost_VERSION LESS 103500)
-     list(REMOVE_ITEM Boost_FIND_COMPONENTS system)
-   endif()
-endif()
-
-# Additional components may be required via component dependencies.
-# Add any missing components to the list.
-_Boost_MISSING_DEPENDENCIES(Boost_FIND_COMPONENTS _Boost_EXTRA_FIND_COMPONENTS)
-
-# If thread is required, get the thread libs as a dependency
-list(FIND Boost_FIND_COMPONENTS thread _Boost_THREAD_DEPENDENCY_LIBS)
-if(NOT _Boost_THREAD_DEPENDENCY_LIBS EQUAL -1)
-  include(CMakeFindDependencyMacro)
-  find_dependency(Threads)
-endif()
-
-# If the user changed any of our control inputs flush previous results.
-if(_Boost_CHANGE_LIBDIR OR _Boost_CHANGE_LIBNAME)
-  foreach(COMPONENT ${_Boost_COMPONENTS_SEARCHED})
-    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-    foreach(c DEBUG RELEASE)
-      set(_var Boost_${UPPERCOMPONENT}_LIBRARY_${c})
-      unset(${_var} CACHE)
-      set(${_var} "${_var}-NOTFOUND")
-    endforeach()
-  endforeach()
-  set(_Boost_COMPONENTS_SEARCHED "")
-endif()
-
-foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-  string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-
-  set( _boost_docstring_release "Boost ${COMPONENT} library (release)")
-  set( _boost_docstring_debug   "Boost ${COMPONENT} library (debug)")
-
-  # Compute component-specific hints.
-  set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "")
-  if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python" OR
-     ${COMPONENT} STREQUAL "graph_parallel")
-    foreach(lib ${MPI_CXX_LIBRARIES} ${MPI_C_LIBRARIES})
-      if(IS_ABSOLUTE "${lib}")
-        get_filename_component(libdir "${lib}" PATH)
-        string(REPLACE "\\" "/" libdir "${libdir}")
-        list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT ${libdir})
-      endif()
-    endforeach()
-  endif()
-
-  # Consolidate and report component-specific hints.
-  if(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
-    list(REMOVE_DUPLICATES _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-        "Component-specific library search paths for ${COMPONENT}: "
-        "${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT}")
-    endif()
-  endif()
-
-  #
-  # Find headers
-  #
-  _Boost_COMPONENT_HEADERS("${COMPONENT}" Boost_${UPPERCOMPONENT}_HEADER_NAME)
-  # Look for a standard boost header file.
-  if(Boost_${UPPERCOMPONENT}_HEADER_NAME)
-    if(EXISTS "${Boost_INCLUDE_DIR}/${Boost_${UPPERCOMPONENT}_HEADER_NAME}")
-      set(Boost_${UPPERCOMPONENT}_HEADER ON)
-    else()
-      set(Boost_${UPPERCOMPONENT}_HEADER OFF)
-    endif()
-  else()
-    set(Boost_${UPPERCOMPONENT}_HEADER ON)
-    message(WARNING "No header defined for ${COMPONENT}; skipping header check")
-  endif()
-
-  #
-  # Find RELEASE libraries
-  #
-  set(_boost_RELEASE_NAMES
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
-  if(_boost_STATIC_RUNTIME_WORKAROUND)
-    set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
-    list(APPEND _boost_RELEASE_NAMES
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
-  endif()
-  if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
-     _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES})
-  endif()
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}")
-  endif()
-
-  # if Boost_LIBRARY_DIR_RELEASE is not defined,
-  # but Boost_LIBRARY_DIR_DEBUG is, look there first for RELEASE libs
-  if(NOT Boost_LIBRARY_DIR_RELEASE AND Boost_LIBRARY_DIR_DEBUG)
-    list(INSERT _boost_LIBRARY_SEARCH_DIRS_RELEASE 0 ${Boost_LIBRARY_DIR_DEBUG})
-  endif()
-
-  # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
-  string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS_RELEASE}")
-
-  _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE RELEASE
-    NAMES ${_boost_RELEASE_NAMES}
-    HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
-    NAMES_PER_DIR
-    DOC "${_boost_docstring_release}"
-    )
-
-  #
-  # Find DEBUG libraries
-  #
-  set(_boost_DEBUG_NAMES
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}
-    ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
-  if(_boost_STATIC_RUNTIME_WORKAROUND)
-    set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}")
-    list(APPEND _boost_DEBUG_NAMES
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
-      ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
-  endif()
-  if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
-     _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES})
-  endif()
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}")
-  endif()
-
-  # if Boost_LIBRARY_DIR_DEBUG is not defined,
-  # but Boost_LIBRARY_DIR_RELEASE is, look there first for DEBUG libs
-  if(NOT Boost_LIBRARY_DIR_DEBUG AND Boost_LIBRARY_DIR_RELEASE)
-    list(INSERT _boost_LIBRARY_SEARCH_DIRS_DEBUG 0 ${Boost_LIBRARY_DIR_RELEASE})
-  endif()
-
-  # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
-  string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS_DEBUG}")
-
-  _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG DEBUG
-    NAMES ${_boost_DEBUG_NAMES}
-    HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
-    NAMES_PER_DIR
-    DOC "${_boost_docstring_debug}"
-    )
-
-  if(Boost_REALPATH)
-    _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "${_boost_docstring_release}")
-    _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG   "${_boost_docstring_debug}"  )
-  endif()
-
-  _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
-
-endforeach()
-
-# Restore the original find library ordering
-if( Boost_USE_STATIC_LIBS )
-  set(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
-endif()
-
-# ------------------------------------------------------------------------
-#  End finding boost libraries
-# ------------------------------------------------------------------------
-
-set(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
-set(Boost_LIBRARY_DIRS)
-if(Boost_LIBRARY_DIR_RELEASE)
-  list(APPEND Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR_RELEASE})
-endif()
-if(Boost_LIBRARY_DIR_DEBUG)
-  list(APPEND Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR_DEBUG})
-endif()
-if(Boost_LIBRARY_DIRS)
-  list(REMOVE_DUPLICATES Boost_LIBRARY_DIRS)
-endif()
-
-# The above setting of Boost_FOUND was based only on the header files.
-# Update it for the requested component libraries.
-if(Boost_FOUND)
-  # The headers were found.  Check for requested component libs.
-  set(_boost_CHECKED_COMPONENT FALSE)
-  set(_Boost_MISSING_COMPONENTS "")
-  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-    string(TOUPPER ${COMPONENT} COMPONENT)
-    set(_boost_CHECKED_COMPONENT TRUE)
-    if(NOT Boost_${COMPONENT}_FOUND)
-      string(TOLOWER ${COMPONENT} COMPONENT)
-      list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
-    endif()
-  endforeach()
-  if(_Boost_MISSING_COMPONENTS AND _Boost_EXTRA_FIND_COMPONENTS)
-    # Optional indirect dependencies are not counted as missing.
-    list(REMOVE_ITEM _Boost_MISSING_COMPONENTS ${_Boost_EXTRA_FIND_COMPONENTS})
-  endif()
-
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] Boost_FOUND = ${Boost_FOUND}")
-  endif()
-
-  if (_Boost_MISSING_COMPONENTS)
-    set(Boost_FOUND 0)
-    # We were unable to find some libraries, so generate a sensible
-    # error message that lists the libraries we were unable to find.
-    set(Boost_ERROR_REASON
-      "${Boost_ERROR_REASON}\nCould not find the following")
-    if(Boost_USE_STATIC_LIBS)
-      set(Boost_ERROR_REASON "${Boost_ERROR_REASON} static")
-    endif()
-    set(Boost_ERROR_REASON
-      "${Boost_ERROR_REASON} Boost libraries:\n")
-    foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}        ${Boost_NAMESPACE}_${COMPONENT}\n")
-    endforeach()
-
-    list(LENGTH Boost_FIND_COMPONENTS Boost_NUM_COMPONENTS_WANTED)
-    list(LENGTH _Boost_MISSING_COMPONENTS Boost_NUM_MISSING_COMPONENTS)
-    if (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
-    else ()
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}Some (but not all) of the required Boost libraries were found. You may need to install these additional Boost libraries. Alternatively, set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
-    endif ()
-  endif ()
-
-  if( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
-    # Compatibility Code for backwards compatibility with CMake
-    # 2.4's FindBoost module.
-
-    # Look for the boost library path.
-    # Note that the user may not have installed any libraries
-    # so it is quite possible the Boost_LIBRARY_DIRS may not exist.
-    set(_boost_LIB_DIR ${Boost_INCLUDE_DIR})
-
-    if("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+")
-      get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
-    endif()
-
-    if("${_boost_LIB_DIR}" MATCHES "/include$")
-      # Strip off the trailing "/include" in the path.
-      get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
-    endif()
-
-    if(EXISTS "${_boost_LIB_DIR}/lib")
-      set(_boost_LIB_DIR ${_boost_LIB_DIR}/lib)
-    else()
-      if(EXISTS "${_boost_LIB_DIR}/stage/lib")
-        set(_boost_LIB_DIR ${_boost_LIB_DIR}/stage/lib)
-      else()
-        set(_boost_LIB_DIR "")
-      endif()
-    endif()
-
-    if(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}")
-      set(Boost_LIBRARY_DIRS ${_boost_LIB_DIR})
-    endif()
-
-  endif()
-else()
-  # Boost headers were not found so no components were found.
-  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-    set(Boost_${UPPERCOMPONENT}_FOUND 0)
-  endforeach()
-endif()
-
-# ------------------------------------------------------------------------
-#  Add imported targets
-# ------------------------------------------------------------------------
-
-if(Boost_FOUND)
-  # For header-only libraries
-  if(NOT TARGET Boost::boost)
-    add_library(Boost::boost INTERFACE IMPORTED)
-    if(Boost_INCLUDE_DIRS)
-      set_target_properties(Boost::boost PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
-    endif()
-  endif()
-
-  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-    if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
-      string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-      if(Boost_${UPPERCOMPONENT}_FOUND)
-        if(Boost_USE_STATIC_LIBS)
-          add_library(Boost::${COMPONENT} STATIC IMPORTED)
-        else()
-          # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
-          # libraries as a result.
-          add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
-        endif()
-        if(Boost_INCLUDE_DIRS)
-          set_target_properties(Boost::${COMPONENT} PROPERTIES
-            INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
-        endif()
-        if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
-          set_target_properties(Boost::${COMPONENT} PROPERTIES
-            IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
-            IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
-        endif()
-        if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
-            IMPORTED_CONFIGURATIONS DEBUG)
-          set_target_properties(Boost::${COMPONENT} PROPERTIES
-            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
-            IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
-        endif()
-        if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
-          set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
-            IMPORTED_CONFIGURATIONS RELEASE)
-          set_target_properties(Boost::${COMPONENT} PROPERTIES
-            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
-            IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
-        endif()
-        if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
-          unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
-          foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
-            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
-          endforeach()
-          if(COMPONENT STREQUAL "thread")
-            list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
-          endif()
-          set_target_properties(Boost::${COMPONENT} PROPERTIES
-            INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
-        endif()
-      endif()
-    endif()
-  endforeach()
-endif()
-
-# ------------------------------------------------------------------------
-#  Notification to end user about what was found
-# ------------------------------------------------------------------------
-
-set(Boost_LIBRARIES "")
-if(Boost_FOUND)
-  if(NOT Boost_FIND_QUIETLY)
-    message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-    if(Boost_FIND_COMPONENTS)
-      message(STATUS "Found the following Boost libraries:")
-    endif()
-  endif()
-  foreach( COMPONENT  ${Boost_FIND_COMPONENTS} )
-    string( TOUPPER ${COMPONENT} UPPERCOMPONENT )
-    if( Boost_${UPPERCOMPONENT}_FOUND )
-      if(NOT Boost_FIND_QUIETLY)
-        message (STATUS "  ${COMPONENT}")
-      endif()
-      list(APPEND Boost_LIBRARIES ${Boost_${UPPERCOMPONENT}_LIBRARY})
-    endif()
-  endforeach()
-else()
-  if(Boost_FIND_REQUIRED)
-    message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
-  else()
-    if(NOT Boost_FIND_QUIETLY)
-      # we opt not to automatically output Boost_ERROR_REASON here as
-      # it could be quite lengthy and somewhat imposing in its requests
-      # Since Boost is not always a required dependency we'll leave this
-      # up to the end-user.
-      if(Boost_DEBUG OR Boost_DETAILED_FAILURE_MSG)
-        message(STATUS "Could NOT find Boost\n${Boost_ERROR_REASON}")
-      else()
-        message(STATUS "Could NOT find Boost")
-      endif()
-    endif()
-  endif()
-endif()
-
-# Configure display of cache entries in GUI.
-foreach(v BOOSTROOT BOOST_ROOT ${_Boost_VARS_INC} ${_Boost_VARS_LIB})
-  get_property(_type CACHE ${v} PROPERTY TYPE)
-  if(_type)
-    set_property(CACHE ${v} PROPERTY ADVANCED 1)
-    if("x${_type}" STREQUAL "xUNINITIALIZED")
-      if("x${v}" STREQUAL "xBoost_ADDITIONAL_VERSIONS")
-        set_property(CACHE ${v} PROPERTY TYPE STRING)
-      else()
-        set_property(CACHE ${v} PROPERTY TYPE PATH)
-      endif()
-    endif()
-  endif()
-endforeach()
-
-# Record last used values of input variables so we can
-# detect on the next run if the user changed them.
-foreach(v
-    ${_Boost_VARS_INC} ${_Boost_VARS_LIB}
-    ${_Boost_VARS_DIR} ${_Boost_VARS_NAME}
-    )
-  if(DEFINED ${v})
-    set(_${v}_LAST "${${v}}" CACHE INTERNAL "Last used ${v} value.")
-  else()
-    unset(_${v}_LAST CACHE)
-  endif()
-endforeach()
-
-# Maintain a persistent list of components requested anywhere since
-# the last flush.
-set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}")
-list(APPEND _Boost_COMPONENTS_SEARCHED ${Boost_FIND_COMPONENTS})
-list(REMOVE_DUPLICATES _Boost_COMPONENTS_SEARCHED)
-list(SORT _Boost_COMPONENTS_SEARCHED)
-set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}"
-  CACHE INTERNAL "Components requested for this build tree.")
diff --git a/share/cmake-3.6/Modules/FindBullet.cmake b/share/cmake-3.6/Modules/FindBullet.cmake
deleted file mode 100644
index fc848fa..0000000
--- a/share/cmake-3.6/Modules/FindBullet.cmake
+++ /dev/null
@@ -1,105 +0,0 @@
-#.rst:
-# FindBullet
-# ----------
-#
-# Try to find the Bullet physics engine
-#
-#
-#
-# ::
-#
-#   This module defines the following variables
-#
-#
-#
-# ::
-#
-#   BULLET_FOUND - Was bullet found
-#   BULLET_INCLUDE_DIRS - the Bullet include directories
-#   BULLET_LIBRARIES - Link to this, by default it includes
-#                      all bullet components (Dynamics,
-#                      Collision, LinearMath, & SoftBody)
-#
-#
-#
-# ::
-#
-#   This module accepts the following variables
-#
-#
-#
-# ::
-#
-#   BULLET_ROOT - Can be set to bullet install path or Windows build path
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(_FIND_BULLET_LIBRARY _var)
-  find_library(${_var}
-     NAMES
-        ${ARGN}
-     HINTS
-        ${BULLET_ROOT}
-        ${BULLET_ROOT}/lib/Release
-        ${BULLET_ROOT}/lib/Debug
-        ${BULLET_ROOT}/out/release8/libs
-        ${BULLET_ROOT}/out/debug8/libs
-     PATH_SUFFIXES lib
-  )
-  mark_as_advanced(${_var})
-endmacro()
-
-macro(_BULLET_APPEND_LIBRARIES _list _release)
-   set(_debug ${_release}_DEBUG)
-   if(${_debug})
-      set(${_list} ${${_list}} optimized ${${_release}} debug ${${_debug}})
-   else()
-      set(${_list} ${${_list}} ${${_release}})
-   endif()
-endmacro()
-
-find_path(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
-  HINTS
-    ${BULLET_ROOT}/include
-    ${BULLET_ROOT}/src
-  PATH_SUFFIXES bullet
-)
-
-# Find the libraries
-
-_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY        BulletDynamics)
-_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY_DEBUG  BulletDynamics_Debug BulletDynamics_d)
-_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY       BulletCollision)
-_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY_DEBUG BulletCollision_Debug BulletCollision_d)
-_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY            BulletMath LinearMath)
-_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY_DEBUG      BulletMath_Debug BulletMath_d LinearMath_Debug LinearMath_d)
-_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY        BulletSoftBody)
-_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY_DEBUG  BulletSoftBody_Debug BulletSoftBody_d)
-
-
-# handle the QUIETLY and REQUIRED arguments and set BULLET_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Bullet DEFAULT_MSG
-    BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY
-    BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)
-
-set(BULLET_INCLUDE_DIRS ${BULLET_INCLUDE_DIR})
-if(BULLET_FOUND)
-   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_DYNAMICS_LIBRARY)
-   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_COLLISION_LIBRARY)
-   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_MATH_LIBRARY)
-   _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_SOFTBODY_LIBRARY)
-endif()
diff --git a/share/cmake-3.6/Modules/FindCABLE.cmake b/share/cmake-3.6/Modules/FindCABLE.cmake
deleted file mode 100644
index 5cea109..0000000
--- a/share/cmake-3.6/Modules/FindCABLE.cmake
+++ /dev/null
@@ -1,91 +0,0 @@
-#.rst:
-# FindCABLE
-# ---------
-#
-# Find CABLE
-#
-# This module finds if CABLE is installed and determines where the
-# include files and libraries are.  This code sets the following
-# variables:
-#
-# ::
-#
-#   CABLE             the path to the cable executable
-#   CABLE_TCL_LIBRARY the path to the Tcl wrapper library
-#   CABLE_INCLUDE_DIR the path to the include directory
-#
-#
-#
-# To build Tcl wrappers, you should add shared library and link it to
-# ${CABLE_TCL_LIBRARY}.  You should also add ${CABLE_INCLUDE_DIR} as an
-# include directory.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT CABLE)
-  find_path(CABLE_BUILD_DIR cableVersion.h)
-endif()
-
-if(CABLE_BUILD_DIR)
-  load_cache(${CABLE_BUILD_DIR}
-             EXCLUDE
-               BUILD_SHARED_LIBS
-               LIBRARY_OUTPUT_PATH
-               EXECUTABLE_OUTPUT_PATH
-               MAKECOMMAND
-               CMAKE_INSTALL_PREFIX
-             INCLUDE_INTERNALS
-               CABLE_LIBRARY_PATH
-               CABLE_EXECUTABLE_PATH)
-
-  if(CABLE_LIBRARY_PATH)
-    find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
-                 ${CABLE_LIBRARY_PATH}
-                 ${CABLE_LIBRARY_PATH}/*)
-  else()
-    find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
-                 ${CABLE_BINARY_DIR}/CableTclFacility
-                 ${CABLE_BINARY_DIR}/CableTclFacility/*)
-  endif()
-
-  if(CABLE_EXECUTABLE_PATH)
-    find_program(CABLE NAMES cable PATHS
-                 ${CABLE_EXECUTABLE_PATH}
-                 ${CABLE_EXECUTABLE_PATH}/*)
-  else()
-    find_program(CABLE NAMES cable PATHS
-                 ${CABLE_BINARY_DIR}/Executables
-                 ${CABLE_BINARY_DIR}/Executables/*)
-  endif()
-
-  find_path(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
-            ${CABLE_SOURCE_DIR})
-else()
-  # Find the cable executable in the path.
-  find_program(CABLE NAMES cable)
-
-  # Get the path where the executable sits, but without the executable
-  # name on it.
-  get_filename_component(CABLE_ROOT_BIN ${CABLE} PATH)
-
-  # Find the cable include directory in a path relative to the cable
-  # executable.
-  find_path(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
-            ${CABLE_ROOT_BIN}/../include/Cable)
-
-  # Find the WrapTclFacility library in a path relative to the cable
-  # executable.
-  find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
-               ${CABLE_ROOT_BIN}/../lib/Cable)
-endif()
diff --git a/share/cmake-3.6/Modules/FindCUDA.cmake b/share/cmake-3.6/Modules/FindCUDA.cmake
deleted file mode 100644
index 48bb554..0000000
--- a/share/cmake-3.6/Modules/FindCUDA.cmake
+++ /dev/null
@@ -1,1833 +0,0 @@
-#.rst:
-# FindCUDA
-# --------
-#
-# Tools for building CUDA C files: libraries and build dependencies.
-#
-# This script locates the NVIDIA CUDA C tools.  It should work on linux,
-# windows, and mac and should be reasonably up to date with CUDA C
-# releases.
-#
-# This script makes use of the standard find_package arguments of
-# <VERSION>, REQUIRED and QUIET.  CUDA_FOUND will report if an
-# acceptable version of CUDA was found.
-#
-# The script will prompt the user to specify CUDA_TOOLKIT_ROOT_DIR if
-# the prefix cannot be determined by the location of nvcc in the system
-# path and REQUIRED is specified to find_package().  To use a different
-# installed version of the toolkit set the environment variable
-# CUDA_BIN_PATH before running cmake (e.g.
-# CUDA_BIN_PATH=/usr/local/cuda1.0 instead of the default
-# /usr/local/cuda) or set CUDA_TOOLKIT_ROOT_DIR after configuring.  If
-# you change the value of CUDA_TOOLKIT_ROOT_DIR, various components that
-# depend on the path will be relocated.
-#
-# It might be necessary to set CUDA_TOOLKIT_ROOT_DIR manually on certain
-# platforms, or to use a cuda runtime not installed in the default
-# location.  In newer versions of the toolkit the cuda library is
-# included with the graphics driver- be sure that the driver version
-# matches what is needed by the cuda runtime version.
-#
-# The following variables affect the behavior of the macros in the
-# script (in alphebetical order).  Note that any of these flags can be
-# changed multiple times in the same directory before calling
-# CUDA_ADD_EXECUTABLE, CUDA_ADD_LIBRARY, CUDA_COMPILE, CUDA_COMPILE_PTX,
-# CUDA_COMPILE_FATBIN, CUDA_COMPILE_CUBIN or CUDA_WRAP_SRCS::
-#
-#   CUDA_64_BIT_DEVICE_CODE (Default matches host bit size)
-#   -- Set to ON to compile for 64 bit device code, OFF for 32 bit device code.
-#      Note that making this different from the host code when generating object
-#      or C files from CUDA code just won't work, because size_t gets defined by
-#      nvcc in the generated source.  If you compile to PTX and then load the
-#      file yourself, you can mix bit sizes between device and host.
-#
-#   CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE (Default ON)
-#   -- Set to ON if you want the custom build rule to be attached to the source
-#      file in Visual Studio.  Turn OFF if you add the same cuda file to multiple
-#      targets.
-#
-#      This allows the user to build the target from the CUDA file; however, bad
-#      things can happen if the CUDA source file is added to multiple targets.
-#      When performing parallel builds it is possible for the custom build
-#      command to be run more than once and in parallel causing cryptic build
-#      errors.  VS runs the rules for every source file in the target, and a
-#      source can have only one rule no matter how many projects it is added to.
-#      When the rule is run from multiple targets race conditions can occur on
-#      the generated file.  Eventually everything will get built, but if the user
-#      is unaware of this behavior, there may be confusion.  It would be nice if
-#      this script could detect the reuse of source files across multiple targets
-#      and turn the option off for the user, but no good solution could be found.
-#
-#   CUDA_BUILD_CUBIN (Default OFF)
-#   -- Set to ON to enable and extra compilation pass with the -cubin option in
-#      Device mode. The output is parsed and register, shared memory usage is
-#      printed during build.
-#
-#   CUDA_BUILD_EMULATION (Default OFF for device mode)
-#   -- Set to ON for Emulation mode. -D_DEVICEEMU is defined for CUDA C files
-#      when CUDA_BUILD_EMULATION is TRUE.
-#
-#   CUDA_GENERATED_OUTPUT_DIR (Default CMAKE_CURRENT_BINARY_DIR)
-#   -- Set to the path you wish to have the generated files placed.  If it is
-#      blank output files will be placed in CMAKE_CURRENT_BINARY_DIR.
-#      Intermediate files will always be placed in
-#      CMAKE_CURRENT_BINARY_DIR/CMakeFiles.
-#
-#   CUDA_HOST_COMPILATION_CPP (Default ON)
-#   -- Set to OFF for C compilation of host code.
-#
-#   CUDA_HOST_COMPILER (Default CMAKE_C_COMPILER, $(VCInstallDir)/bin for VS)
-#   -- Set the host compiler to be used by nvcc.  Ignored if -ccbin or
-#      --compiler-bindir is already present in the CUDA_NVCC_FLAGS or
-#      CUDA_NVCC_FLAGS_<CONFIG> variables.  For Visual Studio targets
-#      $(VCInstallDir)/bin is a special value that expands out to the path when
-#      the command is run from within VS.
-#
-#   CUDA_NVCC_FLAGS
-#   CUDA_NVCC_FLAGS_<CONFIG>
-#   -- Additional NVCC command line arguments.  NOTE: multiple arguments must be
-#      semi-colon delimited (e.g. --compiler-options;-Wall)
-#
-#   CUDA_PROPAGATE_HOST_FLAGS (Default ON)
-#   -- Set to ON to propagate CMAKE_{C,CXX}_FLAGS and their configuration
-#      dependent counterparts (e.g. CMAKE_C_FLAGS_DEBUG) automatically to the
-#      host compiler through nvcc's -Xcompiler flag.  This helps make the
-#      generated host code match the rest of the system better.  Sometimes
-#      certain flags give nvcc problems, and this will help you turn the flag
-#      propagation off.  This does not affect the flags supplied directly to nvcc
-#      via CUDA_NVCC_FLAGS or through the OPTION flags specified through
-#      CUDA_ADD_LIBRARY, CUDA_ADD_EXECUTABLE, or CUDA_WRAP_SRCS.  Flags used for
-#      shared library compilation are not affected by this flag.
-#
-#   CUDA_SEPARABLE_COMPILATION (Default OFF)
-#   -- If set this will enable separable compilation for all CUDA runtime object
-#      files.  If used outside of CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY
-#      (e.g. calling CUDA_WRAP_SRCS directly),
-#      CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
-#      CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS should be called.
-#
-#   CUDA_SOURCE_PROPERTY_FORMAT
-#   -- If this source file property is set, it can override the format specified
-#      to CUDA_WRAP_SRCS (OBJ, PTX, CUBIN, or FATBIN).  If an input source file
-#      is not a .cu file, setting this file will cause it to be treated as a .cu
-#      file. See documentation for set_source_files_properties on how to set
-#      this property.
-#
-#   CUDA_USE_STATIC_CUDA_RUNTIME (Default ON)
-#   -- When enabled the static version of the CUDA runtime library will be used
-#      in CUDA_LIBRARIES.  If the version of CUDA configured doesn't support
-#      this option, then it will be silently disabled.
-#
-#   CUDA_VERBOSE_BUILD (Default OFF)
-#   -- Set to ON to see all the commands used when building the CUDA file.  When
-#      using a Makefile generator the value defaults to VERBOSE (run make
-#      VERBOSE=1 to see output), although setting CUDA_VERBOSE_BUILD to ON will
-#      always print the output.
-#
-# The script creates the following macros (in alphebetical order)::
-#
-#   CUDA_ADD_CUFFT_TO_TARGET( cuda_target )
-#   -- Adds the cufft library to the target (can be any target).  Handles whether
-#      you are in emulation mode or not.
-#
-#   CUDA_ADD_CUBLAS_TO_TARGET( cuda_target )
-#   -- Adds the cublas library to the target (can be any target).  Handles
-#      whether you are in emulation mode or not.
-#
-#   CUDA_ADD_EXECUTABLE( cuda_target file0 file1 ...
-#                        [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
-#   -- Creates an executable "cuda_target" which is made up of the files
-#      specified.  All of the non CUDA C files are compiled using the standard
-#      build rules specified by CMAKE and the cuda files are compiled to object
-#      files using nvcc and the host compiler.  In addition CUDA_INCLUDE_DIRS is
-#      added automatically to include_directories().  Some standard CMake target
-#      calls can be used on the target after calling this macro
-#      (e.g. set_target_properties and target_link_libraries), but setting
-#      properties that adjust compilation flags will not affect code compiled by
-#      nvcc.  Such flags should be modified before calling CUDA_ADD_EXECUTABLE,
-#      CUDA_ADD_LIBRARY or CUDA_WRAP_SRCS.
-#
-#   CUDA_ADD_LIBRARY( cuda_target file0 file1 ...
-#                     [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
-#   -- Same as CUDA_ADD_EXECUTABLE except that a library is created.
-#
-#   CUDA_BUILD_CLEAN_TARGET()
-#   -- Creates a convience target that deletes all the dependency files
-#      generated.  You should make clean after running this target to ensure the
-#      dependency files get regenerated.
-#
-#   CUDA_COMPILE( generated_files file0 file1 ... [STATIC | SHARED | MODULE]
-#                 [OPTIONS ...] )
-#   -- Returns a list of generated files from the input source files to be used
-#      with ADD_LIBRARY or ADD_EXECUTABLE.
-#
-#   CUDA_COMPILE_PTX( generated_files file0 file1 ... [OPTIONS ...] )
-#   -- Returns a list of PTX files generated from the input source files.
-#
-#   CUDA_COMPILE_FATBIN( generated_files file0 file1 ... [OPTIONS ...] )
-#   -- Returns a list of FATBIN files generated from the input source files.
-#
-#   CUDA_COMPILE_CUBIN( generated_files file0 file1 ... [OPTIONS ...] )
-#   -- Returns a list of CUBIN files generated from the input source files.
-#
-#   CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME( output_file_var
-#                                                        cuda_target
-#                                                        object_files )
-#   -- Compute the name of the intermediate link file used for separable
-#      compilation.  This file name is typically passed into
-#      CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.  output_file_var is produced
-#      based on cuda_target the list of objects files that need separable
-#      compilation as specified by object_files.  If the object_files list is
-#      empty, then output_file_var will be empty.  This function is called
-#      automatically for CUDA_ADD_LIBRARY and CUDA_ADD_EXECUTABLE.  Note that
-#      this is a function and not a macro.
-#
-#   CUDA_INCLUDE_DIRECTORIES( path0 path1 ... )
-#   -- Sets the directories that should be passed to nvcc
-#      (e.g. nvcc -Ipath0 -Ipath1 ... ). These paths usually contain other .cu
-#      files.
-#
-#
-#
-#   CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS( output_file_var cuda_target
-#                                            nvcc_flags object_files)
-#
-#   -- Generates the link object required by separable compilation from the given
-#      object files.  This is called automatically for CUDA_ADD_EXECUTABLE and
-#      CUDA_ADD_LIBRARY, but can be called manually when using CUDA_WRAP_SRCS
-#      directly.  When called from CUDA_ADD_LIBRARY or CUDA_ADD_EXECUTABLE the
-#      nvcc_flags passed in are the same as the flags passed in via the OPTIONS
-#      argument.  The only nvcc flag added automatically is the bitness flag as
-#      specified by CUDA_64_BIT_DEVICE_CODE.  Note that this is a function
-#      instead of a macro.
-#
-#   CUDA_WRAP_SRCS ( cuda_target format generated_files file0 file1 ...
-#                    [STATIC | SHARED | MODULE] [OPTIONS ...] )
-#   -- This is where all the magic happens.  CUDA_ADD_EXECUTABLE,
-#      CUDA_ADD_LIBRARY, CUDA_COMPILE, and CUDA_COMPILE_PTX all call this
-#      function under the hood.
-#
-#      Given the list of files (file0 file1 ... fileN) this macro generates
-#      custom commands that generate either PTX or linkable objects (use "PTX" or
-#      "OBJ" for the format argument to switch).  Files that don't end with .cu
-#      or have the HEADER_FILE_ONLY property are ignored.
-#
-#      The arguments passed in after OPTIONS are extra command line options to
-#      give to nvcc.  You can also specify per configuration options by
-#      specifying the name of the configuration followed by the options.  General
-#      options must precede configuration specific options.  Not all
-#      configurations need to be specified, only the ones provided will be used.
-#
-#         OPTIONS -DFLAG=2 "-DFLAG_OTHER=space in flag"
-#         DEBUG -g
-#         RELEASE --use_fast_math
-#         RELWITHDEBINFO --use_fast_math;-g
-#         MINSIZEREL --use_fast_math
-#
-#      For certain configurations (namely VS generating object files with
-#      CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE set to ON), no generated file will
-#      be produced for the given cuda file.  This is because when you add the
-#      cuda file to Visual Studio it knows that this file produces an object file
-#      and will link in the resulting object file automatically.
-#
-#      This script will also generate a separate cmake script that is used at
-#      build time to invoke nvcc.  This is for several reasons.
-#
-#        1. nvcc can return negative numbers as return values which confuses
-#        Visual Studio into thinking that the command succeeded.  The script now
-#        checks the error codes and produces errors when there was a problem.
-#
-#        2. nvcc has been known to not delete incomplete results when it
-#        encounters problems.  This confuses build systems into thinking the
-#        target was generated when in fact an unusable file exists.  The script
-#        now deletes the output files if there was an error.
-#
-#        3. By putting all the options that affect the build into a file and then
-#        make the build rule dependent on the file, the output files will be
-#        regenerated when the options change.
-#
-#      This script also looks at optional arguments STATIC, SHARED, or MODULE to
-#      determine when to target the object compilation for a shared library.
-#      BUILD_SHARED_LIBS is ignored in CUDA_WRAP_SRCS, but it is respected in
-#      CUDA_ADD_LIBRARY.  On some systems special flags are added for building
-#      objects intended for shared libraries.  A preprocessor macro,
-#      <target_name>_EXPORTS is defined when a shared library compilation is
-#      detected.
-#
-#      Flags passed into add_definitions with -D or /D are passed along to nvcc.
-#
-#
-#
-# The script defines the following variables::
-#
-#   CUDA_VERSION_MAJOR    -- The major version of cuda as reported by nvcc.
-#   CUDA_VERSION_MINOR    -- The minor version.
-#   CUDA_VERSION
-#   CUDA_VERSION_STRING   -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR
-#   CUDA_HAS_FP16         -- Whether a short float (float16,fp16) is supported.
-#
-#   CUDA_TOOLKIT_ROOT_DIR -- Path to the CUDA Toolkit (defined if not set).
-#   CUDA_SDK_ROOT_DIR     -- Path to the CUDA SDK.  Use this to find files in the
-#                            SDK.  This script will not directly support finding
-#                            specific libraries or headers, as that isn't
-#                            supported by NVIDIA.  If you want to change
-#                            libraries when the path changes see the
-#                            FindCUDA.cmake script for an example of how to clear
-#                            these variables.  There are also examples of how to
-#                            use the CUDA_SDK_ROOT_DIR to locate headers or
-#                            libraries, if you so choose (at your own risk).
-#   CUDA_INCLUDE_DIRS     -- Include directory for cuda headers.  Added automatically
-#                            for CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY.
-#   CUDA_LIBRARIES        -- Cuda RT library.
-#   CUDA_CUFFT_LIBRARIES  -- Device or emulation library for the Cuda FFT
-#                            implementation (alternative to:
-#                            CUDA_ADD_CUFFT_TO_TARGET macro)
-#   CUDA_CUBLAS_LIBRARIES -- Device or emulation library for the Cuda BLAS
-#                            implementation (alterative to:
-#                            CUDA_ADD_CUBLAS_TO_TARGET macro).
-#   CUDA_cudart_static_LIBRARY -- Statically linkable cuda runtime library.
-#                                 Only available for CUDA version 5.5+
-#   CUDA_cupti_LIBRARY    -- CUDA Profiling Tools Interface library.
-#                            Only available for CUDA version 4.0+.
-#   CUDA_curand_LIBRARY   -- CUDA Random Number Generation library.
-#                            Only available for CUDA version 3.2+.
-#   CUDA_cusolver_LIBRARY -- CUDA Direct Solver library.
-#                            Only available for CUDA version 7.0+.
-#   CUDA_cusparse_LIBRARY -- CUDA Sparse Matrix library.
-#                            Only available for CUDA version 3.2+.
-#   CUDA_npp_LIBRARY      -- NVIDIA Performance Primitives lib.
-#                            Only available for CUDA version 4.0+.
-#   CUDA_nppc_LIBRARY     -- NVIDIA Performance Primitives lib (core).
-#                            Only available for CUDA version 5.5+.
-#   CUDA_nppi_LIBRARY     -- NVIDIA Performance Primitives lib (image processing).
-#                            Only available for CUDA version 5.5+.
-#   CUDA_npps_LIBRARY     -- NVIDIA Performance Primitives lib (signal processing).
-#                            Only available for CUDA version 5.5+.
-#   CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library.
-#                            Only available for CUDA version 3.2+.
-#                            Windows only.
-#   CUDA_nvcuvid_LIBRARY  -- CUDA Video Decoder library.
-#                            Only available for CUDA version 3.2+.
-#                            Windows only.
-#
-
-#   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.
-#
-###############################################################################
-
-# FindCUDA.cmake
-
-# This macro helps us find the location of helper files we will need the full path to
-macro(CUDA_FIND_HELPER_FILE _name _extension)
-  set(_full_name "${_name}.${_extension}")
-  # CMAKE_CURRENT_LIST_FILE contains the full path to the file currently being
-  # processed.  Using this variable, we can pull out the current path, and
-  # provide a way to get access to the other files we need local to here.
-  get_filename_component(CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-  set(CUDA_${_name} "${CMAKE_CURRENT_LIST_DIR}/FindCUDA/${_full_name}")
-  if(NOT EXISTS "${CUDA_${_name}}")
-    set(error_message "${_full_name} not found in ${CMAKE_CURRENT_LIST_DIR}/FindCUDA")
-    if(CUDA_FIND_REQUIRED)
-      message(FATAL_ERROR "${error_message}")
-    else()
-      if(NOT CUDA_FIND_QUIETLY)
-        message(STATUS "${error_message}")
-      endif()
-    endif()
-  endif()
-  # Set this variable as internal, so the user isn't bugged with it.
-  set(CUDA_${_name} ${CUDA_${_name}} CACHE INTERNAL "Location of ${_full_name}" FORCE)
-endmacro()
-
-#####################################################################
-## CUDA_INCLUDE_NVCC_DEPENDENCIES
-##
-
-# So we want to try and include the dependency file if it exists.  If
-# it doesn't exist then we need to create an empty one, so we can
-# include it.
-
-# If it does exist, then we need to check to see if all the files it
-# depends on exist.  If they don't then we should clear the dependency
-# file and regenerate it later.  This covers the case where a header
-# file has disappeared or moved.
-
-macro(CUDA_INCLUDE_NVCC_DEPENDENCIES dependency_file)
-  set(CUDA_NVCC_DEPEND)
-  set(CUDA_NVCC_DEPEND_REGENERATE FALSE)
-
-
-  # Include the dependency file.  Create it first if it doesn't exist .  The
-  # INCLUDE puts a dependency that will force CMake to rerun and bring in the
-  # new info when it changes.  DO NOT REMOVE THIS (as I did and spent a few
-  # hours figuring out why it didn't work.
-  if(NOT EXISTS ${dependency_file})
-    file(WRITE ${dependency_file} "#FindCUDA.cmake generated file.  Do not edit.\n")
-  endif()
-  # Always include this file to force CMake to run again next
-  # invocation and rebuild the dependencies.
-  #message("including dependency_file = ${dependency_file}")
-  include(${dependency_file})
-
-  # Now we need to verify the existence of all the included files
-  # here.  If they aren't there we need to just blank this variable and
-  # make the file regenerate again.
-#   if(DEFINED CUDA_NVCC_DEPEND)
-#     message("CUDA_NVCC_DEPEND set")
-#   else()
-#     message("CUDA_NVCC_DEPEND NOT set")
-#   endif()
-  if(CUDA_NVCC_DEPEND)
-    #message("CUDA_NVCC_DEPEND found")
-    foreach(f ${CUDA_NVCC_DEPEND})
-      # message("searching for ${f}")
-      if(NOT EXISTS ${f})
-        #message("file ${f} not found")
-        set(CUDA_NVCC_DEPEND_REGENERATE TRUE)
-      endif()
-    endforeach()
-  else()
-    #message("CUDA_NVCC_DEPEND false")
-    # No dependencies, so regenerate the file.
-    set(CUDA_NVCC_DEPEND_REGENERATE TRUE)
-  endif()
-
-  #message("CUDA_NVCC_DEPEND_REGENERATE = ${CUDA_NVCC_DEPEND_REGENERATE}")
-  # No incoming dependencies, so we need to generate them.  Make the
-  # output depend on the dependency file itself, which should cause the
-  # rule to re-run.
-  if(CUDA_NVCC_DEPEND_REGENERATE)
-    set(CUDA_NVCC_DEPEND ${dependency_file})
-    #message("Generating an empty dependency_file: ${dependency_file}")
-    file(WRITE ${dependency_file} "#FindCUDA.cmake generated file.  Do not edit.\n")
-  endif()
-
-endmacro()
-
-###############################################################################
-###############################################################################
-# Setup variables' defaults
-###############################################################################
-###############################################################################
-
-# Allow the user to specify if the device code is supposed to be 32 or 64 bit.
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(CUDA_64_BIT_DEVICE_CODE_DEFAULT ON)
-else()
-  set(CUDA_64_BIT_DEVICE_CODE_DEFAULT OFF)
-endif()
-option(CUDA_64_BIT_DEVICE_CODE "Compile device code in 64 bit mode" ${CUDA_64_BIT_DEVICE_CODE_DEFAULT})
-
-# Attach the build rule to the source file in VS.  This option
-option(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE "Attach the build rule to the CUDA source file.  Enable only when the CUDA source file is added to at most one target." ON)
-
-# Prints out extra information about the cuda file during compilation
-option(CUDA_BUILD_CUBIN "Generate and parse .cubin files in Device mode." OFF)
-
-# Set whether we are using emulation or device mode.
-option(CUDA_BUILD_EMULATION "Build in Emulation mode" OFF)
-
-# Where to put the generated output.
-set(CUDA_GENERATED_OUTPUT_DIR "" CACHE PATH "Directory to put all the output files.  If blank it will default to the CMAKE_CURRENT_BINARY_DIR")
-
-# Parse HOST_COMPILATION mode.
-option(CUDA_HOST_COMPILATION_CPP "Generated file extension" ON)
-
-# Extra user settable flags
-set(CUDA_NVCC_FLAGS "" CACHE STRING "Semi-colon delimit multiple arguments.")
-
-if(CMAKE_GENERATOR MATCHES "Visual Studio")
-  set(CUDA_HOST_COMPILER "$(VCInstallDir)bin" CACHE FILEPATH "Host side compiler used by NVCC")
-else()
-  if(APPLE
-      AND "${CMAKE_C_COMPILER_ID}" MATCHES "Clang"
-      AND "${CMAKE_C_COMPILER}" MATCHES "/cc$")
-    # Using cc which is symlink to clang may let NVCC think it is GCC and issue
-    # unhandled -dumpspecs option to clang. Also in case neither
-    # CMAKE_C_COMPILER is defined (project does not use C language) nor
-    # CUDA_HOST_COMPILER is specified manually we should skip -ccbin and let
-    # nvcc use its own default C compiler.
-    # Only care about this on APPLE with clang to avoid
-    # following symlinks to things like ccache
-    if(DEFINED CMAKE_C_COMPILER AND NOT DEFINED CUDA_HOST_COMPILER)
-      get_filename_component(c_compiler_realpath "${CMAKE_C_COMPILER}" REALPATH)
-      # if the real path does not end up being clang then
-      # go back to using CMAKE_C_COMPILER
-      if(NOT "${c_compiler_realpath}" MATCHES "/clang$")
-        set(c_compiler_realpath "${CMAKE_C_COMPILER}")
-      endif()
-    else()
-      set(c_compiler_realpath "")
-    endif()
-    set(CUDA_HOST_COMPILER "${c_compiler_realpath}" CACHE FILEPATH "Host side compiler used by NVCC")
-  else()
-    set(CUDA_HOST_COMPILER "${CMAKE_C_COMPILER}"
-      CACHE FILEPATH "Host side compiler used by NVCC")
-  endif()
-endif()
-
-# Propagate the host flags to the host compiler via -Xcompiler
-option(CUDA_PROPAGATE_HOST_FLAGS "Propage C/CXX_FLAGS and friends to the host compiler via -Xcompile" ON)
-
-# Enable CUDA_SEPARABLE_COMPILATION
-option(CUDA_SEPARABLE_COMPILATION "Compile CUDA objects with separable compilation enabled.  Requires CUDA 5.0+" OFF)
-
-# Specifies whether the commands used when compiling the .cu file will be printed out.
-option(CUDA_VERBOSE_BUILD "Print out the commands run while compiling the CUDA source file.  With the Makefile generator this defaults to VERBOSE variable specified on the command line, but can be forced on with this option." OFF)
-
-mark_as_advanced(
-  CUDA_64_BIT_DEVICE_CODE
-  CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE
-  CUDA_GENERATED_OUTPUT_DIR
-  CUDA_HOST_COMPILATION_CPP
-  CUDA_NVCC_FLAGS
-  CUDA_PROPAGATE_HOST_FLAGS
-  CUDA_BUILD_CUBIN
-  CUDA_BUILD_EMULATION
-  CUDA_VERBOSE_BUILD
-  CUDA_SEPARABLE_COMPILATION
-  )
-
-# Makefile and similar generators don't define CMAKE_CONFIGURATION_TYPES, so we
-# need to add another entry for the CMAKE_BUILD_TYPE.  We also need to add the
-# standerd set of 4 build types (Debug, MinSizeRel, Release, and RelWithDebInfo)
-# for completeness.  We need run this loop in order to accomodate the addition
-# of extra configuration types.  Duplicate entries will be removed by
-# REMOVE_DUPLICATES.
-set(CUDA_configuration_types ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE} Debug MinSizeRel Release RelWithDebInfo)
-list(REMOVE_DUPLICATES CUDA_configuration_types)
-foreach(config ${CUDA_configuration_types})
-    string(TOUPPER ${config} config_upper)
-    set(CUDA_NVCC_FLAGS_${config_upper} "" CACHE STRING "Semi-colon delimit multiple arguments.")
-    mark_as_advanced(CUDA_NVCC_FLAGS_${config_upper})
-endforeach()
-
-###############################################################################
-###############################################################################
-# Locate CUDA, Set Build Type, etc.
-###############################################################################
-###############################################################################
-
-macro(cuda_unset_include_and_libraries)
-  unset(CUDA_TOOLKIT_INCLUDE CACHE)
-  unset(CUDA_CUDART_LIBRARY CACHE)
-  unset(CUDA_CUDA_LIBRARY CACHE)
-  # Make sure you run this before you unset CUDA_VERSION.
-  if(CUDA_VERSION VERSION_EQUAL "3.0")
-    # This only existed in the 3.0 version of the CUDA toolkit
-    unset(CUDA_CUDARTEMU_LIBRARY CACHE)
-  endif()
-  unset(CUDA_cudart_static_LIBRARY CACHE)
-  unset(CUDA_cublas_LIBRARY CACHE)
-  unset(CUDA_cublas_device_LIBRARY CACHE)
-  unset(CUDA_cublasemu_LIBRARY CACHE)
-  unset(CUDA_cufft_LIBRARY CACHE)
-  unset(CUDA_cufftemu_LIBRARY CACHE)
-  unset(CUDA_cupti_LIBRARY CACHE)
-  unset(CUDA_curand_LIBRARY CACHE)
-  unset(CUDA_cusolver_LIBRARY CACHE)
-  unset(CUDA_cusparse_LIBRARY CACHE)
-  unset(CUDA_npp_LIBRARY CACHE)
-  unset(CUDA_nppc_LIBRARY CACHE)
-  unset(CUDA_nppi_LIBRARY CACHE)
-  unset(CUDA_npps_LIBRARY CACHE)
-  unset(CUDA_nvcuvenc_LIBRARY CACHE)
-  unset(CUDA_nvcuvid_LIBRARY CACHE)
-
-  unset(CUDA_USE_STATIC_CUDA_RUNTIME CACHE)
-endmacro()
-
-# Check to see if the CUDA_TOOLKIT_ROOT_DIR and CUDA_SDK_ROOT_DIR have changed,
-# if they have then clear the cache variables, so that will be detected again.
-if(NOT "${CUDA_TOOLKIT_ROOT_DIR}" STREQUAL "${CUDA_TOOLKIT_ROOT_DIR_INTERNAL}")
-  unset(CUDA_TOOLKIT_TARGET_DIR CACHE)
-  unset(CUDA_NVCC_EXECUTABLE CACHE)
-  cuda_unset_include_and_libraries()
-  unset(CUDA_VERSION CACHE)
-endif()
-
-if(NOT "${CUDA_TOOLKIT_TARGET_DIR}" STREQUAL "${CUDA_TOOLKIT_TARGET_DIR_INTERNAL}")
-  cuda_unset_include_and_libraries()
-endif()
-
-if(NOT "${CUDA_SDK_ROOT_DIR}" STREQUAL "${CUDA_SDK_ROOT_DIR_INTERNAL}")
-  # No specific variables to catch.  Use this kind of code before calling
-  # find_package(CUDA) to clean up any variables that may depend on this path.
-
-  #   unset(MY_SPECIAL_CUDA_SDK_INCLUDE_DIR CACHE)
-  #   unset(MY_SPECIAL_CUDA_SDK_LIBRARY CACHE)
-endif()
-
-# Search for the cuda distribution.
-if(NOT CUDA_TOOLKIT_ROOT_DIR)
-
-  # Search in the CUDA_BIN_PATH first.
-  find_path(CUDA_TOOLKIT_ROOT_DIR
-    NAMES nvcc nvcc.exe
-    PATHS
-      ENV CUDA_PATH
-      ENV CUDA_BIN_PATH
-    PATH_SUFFIXES bin bin64
-    DOC "Toolkit location."
-    NO_DEFAULT_PATH
-    )
-  # Now search default paths
-  find_path(CUDA_TOOLKIT_ROOT_DIR
-    NAMES nvcc nvcc.exe
-    PATHS /usr/local/bin
-          /usr/local/cuda/bin
-    DOC "Toolkit location."
-    )
-
-  if (CUDA_TOOLKIT_ROOT_DIR)
-    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)
-  endif()
-  if (NOT EXISTS ${CUDA_TOOLKIT_ROOT_DIR})
-    if(CUDA_FIND_REQUIRED)
-      message(FATAL_ERROR "Specify CUDA_TOOLKIT_ROOT_DIR")
-    elseif(NOT CUDA_FIND_QUIETLY)
-      message("CUDA_TOOLKIT_ROOT_DIR not found or specified")
-    endif()
-  endif ()
-endif ()
-
-# CUDA_NVCC_EXECUTABLE
-find_program(CUDA_NVCC_EXECUTABLE
-  NAMES nvcc
-  PATHS "${CUDA_TOOLKIT_ROOT_DIR}"
-  ENV CUDA_PATH
-  ENV CUDA_BIN_PATH
-  PATH_SUFFIXES bin bin64
-  NO_DEFAULT_PATH
-  )
-# Search default search paths, after we search our own set of paths.
-find_program(CUDA_NVCC_EXECUTABLE nvcc)
-mark_as_advanced(CUDA_NVCC_EXECUTABLE)
-
-if(CUDA_NVCC_EXECUTABLE AND NOT CUDA_VERSION)
-  # Compute the version.
-  execute_process (COMMAND ${CUDA_NVCC_EXECUTABLE} "--version" OUTPUT_VARIABLE NVCC_OUT)
-  string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\1" CUDA_VERSION_MAJOR ${NVCC_OUT})
-  string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR ${NVCC_OUT})
-  set(CUDA_VERSION "${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}" CACHE STRING "Version of CUDA as computed from nvcc.")
-  mark_as_advanced(CUDA_VERSION)
-else()
-  # Need to set these based off of the cached value
-  string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\1" CUDA_VERSION_MAJOR "${CUDA_VERSION}")
-  string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR "${CUDA_VERSION}")
-endif()
-
-# Always set this convenience variable
-set(CUDA_VERSION_STRING "${CUDA_VERSION}")
-
-# Support for arm cross compilation with CUDA 5.5
-if(CUDA_VERSION VERSION_GREATER "5.0" AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES "arm" AND EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf")
-  set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf" CACHE PATH "Toolkit target location.")
-# Support for aarch64 cross compilation with CUDA 7.0
-elseif(CUDA_VERSION VERSION_GREATER "6.5" AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" AND EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/aarch64-linux")
-  set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT_DIR}/targets/aarch64-linux" CACHE PATH "Toolkit target location.")
-else()
-  set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT_DIR}" CACHE PATH "Toolkit target location.")
-endif()
-mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
-
-# Target CPU architecture
-if(CUDA_VERSION VERSION_GREATER "5.0" AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
-  set(_cuda_target_cpu_arch_initial "ARM")
-else()
-  set(_cuda_target_cpu_arch_initial "")
-endif()
-set(CUDA_TARGET_CPU_ARCH ${_cuda_target_cpu_arch_initial} CACHE STRING "Specify the name of the class of CPU architecture for which the input files must be compiled.")
-mark_as_advanced(CUDA_TARGET_CPU_ARCH)
-
-# CUDA_TOOLKIT_INCLUDE
-find_path(CUDA_TOOLKIT_INCLUDE
-  device_functions.h # Header included in toolkit
-  PATHS "${CUDA_TOOLKIT_TARGET_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}"
-  ENV CUDA_PATH
-  ENV CUDA_INC_PATH
-  PATH_SUFFIXES include
-  NO_DEFAULT_PATH
-  )
-# Search default search paths, after we search our own set of paths.
-find_path(CUDA_TOOLKIT_INCLUDE device_functions.h)
-mark_as_advanced(CUDA_TOOLKIT_INCLUDE)
-
-if (CUDA_VERSION VERSION_GREATER "7.0" OR EXISTS "${CUDA_TOOLKIT_INCLUDE}/cuda_fp16.h")
-  set(CUDA_HAS_FP16 TRUE)
-else()
-  set(CUDA_HAS_FP16 FALSE)
-endif()
-
-# Set the user list of include dir to nothing to initialize it.
-set (CUDA_NVCC_INCLUDE_ARGS_USER "")
-set (CUDA_INCLUDE_DIRS ${CUDA_TOOLKIT_INCLUDE})
-
-macro(cuda_find_library_local_first_with_path_ext _var _names _doc _path_ext )
-  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    # CUDA 3.2+ on Windows moved the library directories, so we need the new
-    # and old paths.
-    set(_cuda_64bit_lib_dir "${_path_ext}lib/x64" "${_path_ext}lib64" "${_path_ext}libx64" )
-  endif()
-  # CUDA 3.2+ on Windows moved the library directories, so we need to new
-  # (lib/Win32) and the old path (lib).
-  find_library(${_var}
-    NAMES ${_names}
-    PATHS "${CUDA_TOOLKIT_TARGET_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}"
-    ENV CUDA_PATH
-    ENV CUDA_LIB_PATH
-    PATH_SUFFIXES ${_cuda_64bit_lib_dir} "${_path_ext}lib/Win32" "${_path_ext}lib" "${_path_ext}libWin32"
-    DOC ${_doc}
-    NO_DEFAULT_PATH
-    )
-  # Search default search paths, after we search our own set of paths.
-  find_library(${_var}
-    NAMES ${_names}
-    PATHS "/usr/lib/nvidia-current"
-    DOC ${_doc}
-    )
-endmacro()
-
-macro(cuda_find_library_local_first _var _names _doc)
-  cuda_find_library_local_first_with_path_ext( "${_var}" "${_names}" "${_doc}" "" )
-endmacro()
-
-macro(find_library_local_first _var _names _doc )
-  cuda_find_library_local_first( "${_var}" "${_names}" "${_doc}" "" )
-endmacro()
-
-
-# CUDA_LIBRARIES
-cuda_find_library_local_first(CUDA_CUDART_LIBRARY cudart "\"cudart\" library")
-if(CUDA_VERSION VERSION_EQUAL "3.0")
-  # The cudartemu library only existed for the 3.0 version of CUDA.
-  cuda_find_library_local_first(CUDA_CUDARTEMU_LIBRARY cudartemu "\"cudartemu\" library")
-  mark_as_advanced(
-    CUDA_CUDARTEMU_LIBRARY
-    )
-endif()
-if(NOT CUDA_VERSION VERSION_LESS "5.5")
-  cuda_find_library_local_first(CUDA_cudart_static_LIBRARY cudart_static "static CUDA runtime library")
-  mark_as_advanced(CUDA_cudart_static_LIBRARY)
-endif()
-if(CUDA_cudart_static_LIBRARY)
-  # Set whether to use the static cuda runtime.
-  option(CUDA_USE_STATIC_CUDA_RUNTIME "Use the static version of the CUDA runtime library if available" ON)
-else()
-  option(CUDA_USE_STATIC_CUDA_RUNTIME "Use the static version of the CUDA runtime library if available" OFF)
-endif()
-
-if(CUDA_USE_STATIC_CUDA_RUNTIME)
-  if(UNIX)
-    # Check for the dependent libraries.  Here we look for pthreads.
-    if (DEFINED CMAKE_THREAD_PREFER_PTHREAD)
-      set(_cuda_cmake_thread_prefer_pthread ${CMAKE_THREAD_PREFER_PTHREAD})
-    endif()
-    set(CMAKE_THREAD_PREFER_PTHREAD 1)
-
-    # Many of the FindXYZ CMake comes with makes use of try_compile with int main(){return 0;}
-    # as the source file.  Unfortunately this causes a warning with -Wstrict-prototypes and
-    # -Werror causes the try_compile to fail.  We will just temporarily disable other flags
-    # when doing the find_package command here.
-    set(_cuda_cmake_c_flags ${CMAKE_C_FLAGS})
-    set(CMAKE_C_FLAGS "-fPIC")
-    find_package(Threads REQUIRED)
-    set(CMAKE_C_FLAGS ${_cuda_cmake_c_flags})
-
-    if (DEFINED _cuda_cmake_thread_prefer_pthread)
-      set(CMAKE_THREAD_PREFER_PTHREAD ${_cuda_cmake_thread_prefer_pthread})
-      unset(_cuda_cmake_thread_prefer_pthread)
-    else()
-      unset(CMAKE_THREAD_PREFER_PTHREAD)
-    endif()
-    if (NOT APPLE)
-      # Here is librt that has things such as, clock_gettime, shm_open, and shm_unlink.
-      find_library(CUDA_rt_LIBRARY rt)
-      if (NOT CUDA_rt_LIBRARY)
-        message(WARNING "Expecting to find librt for libcudart_static, but didn't find it.")
-      endif()
-    endif()
-  endif()
-endif()
-
-# CUPTI library showed up in cuda toolkit 4.0
-if(NOT CUDA_VERSION VERSION_LESS "4.0")
-  cuda_find_library_local_first_with_path_ext(CUDA_cupti_LIBRARY cupti "\"cupti\" library" "extras/CUPTI/")
-  mark_as_advanced(CUDA_cupti_LIBRARY)
-endif()
-
-# Set the CUDA_LIBRARIES variable.  This is the set of stuff to link against if you are
-# using the CUDA runtime.  For the dynamic version of the runtime, most of the
-# dependencies are brough in, but for the static version there are additional libraries
-# and linker commands needed.
-# Initialize to empty
-set(CUDA_LIBRARIES)
-
-# If we are using emulation mode and we found the cudartemu library then use
-# that one instead of cudart.
-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})
-  if (CUDA_rt_LIBRARY)
-    list(APPEND CUDA_LIBRARIES ${CUDA_rt_LIBRARY})
-  endif()
-  if(APPLE)
-    # We need to add the default path to the driver (libcuda.dylib) as an rpath, so that
-    # the static cuda runtime can find it at runtime.
-    list(APPEND CUDA_LIBRARIES -Wl,-rpath,/usr/local/cuda/lib)
-  endif()
-else()
-  list(APPEND CUDA_LIBRARIES ${CUDA_CUDART_LIBRARY})
-endif()
-
-# 1.1 toolkit on linux doesn't appear to have a separate library on
-# some platforms.
-cuda_find_library_local_first(CUDA_CUDA_LIBRARY cuda "\"cuda\" library (older versions only).")
-
-mark_as_advanced(
-  CUDA_CUDA_LIBRARY
-  CUDA_CUDART_LIBRARY
-  )
-
-#######################
-# Look for some of the toolkit helper libraries
-macro(FIND_CUDA_HELPER_LIBS _name)
-  cuda_find_library_local_first(CUDA_${_name}_LIBRARY ${_name} "\"${_name}\" library")
-  mark_as_advanced(CUDA_${_name}_LIBRARY)
-endmacro()
-
-#######################
-# Disable emulation for v3.1 onward
-if(CUDA_VERSION VERSION_GREATER "3.0")
-  if(CUDA_BUILD_EMULATION)
-    message(FATAL_ERROR "CUDA_BUILD_EMULATION is not supported in version 3.1 and onwards.  You must disable it to proceed.  You have version ${CUDA_VERSION}.")
-  endif()
-endif()
-
-# Search for additional CUDA toolkit libraries.
-if(CUDA_VERSION VERSION_LESS "3.1")
-  # Emulation libraries aren't available in version 3.1 onward.
-  find_cuda_helper_libs(cufftemu)
-  find_cuda_helper_libs(cublasemu)
-endif()
-find_cuda_helper_libs(cufft)
-find_cuda_helper_libs(cublas)
-if(NOT CUDA_VERSION VERSION_LESS "3.2")
-  # cusparse showed up in version 3.2
-  find_cuda_helper_libs(cusparse)
-  find_cuda_helper_libs(curand)
-  if (WIN32)
-    find_cuda_helper_libs(nvcuvenc)
-    find_cuda_helper_libs(nvcuvid)
-  endif()
-endif()
-if(CUDA_VERSION VERSION_GREATER "5.0")
-  find_cuda_helper_libs(cublas_device)
-  # In CUDA 5.5 NPP was splitted onto 3 separate libraries.
-  find_cuda_helper_libs(nppc)
-  find_cuda_helper_libs(nppi)
-  find_cuda_helper_libs(npps)
-  set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")
-elseif(NOT CUDA_VERSION VERSION_LESS "4.0")
-  find_cuda_helper_libs(npp)
-endif()
-if(NOT CUDA_VERSION VERSION_LESS "7.0")
-  # cusolver showed up in version 7.0
-  find_cuda_helper_libs(cusolver)
-endif()
-
-if (CUDA_BUILD_EMULATION)
-  set(CUDA_CUFFT_LIBRARIES ${CUDA_cufftemu_LIBRARY})
-  set(CUDA_CUBLAS_LIBRARIES ${CUDA_cublasemu_LIBRARY})
-else()
-  set(CUDA_CUFFT_LIBRARIES ${CUDA_cufft_LIBRARY})
-  set(CUDA_CUBLAS_LIBRARIES ${CUDA_cublas_LIBRARY} ${CUDA_cublas_device_LIBRARY})
-endif()
-
-########################
-# Look for the SDK stuff.  As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
-# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
-find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
- HINTS
-  "$ENV{NVSDKCOMPUTE_ROOT}/C"
-  ENV NVSDKCUDA_ROOT
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
- PATHS
-  "/Developer/GPU\ Computing/C"
-  )
-
-# Keep the CUDA_SDK_ROOT_DIR first in order to be able to override the
-# environment variables.
-set(CUDA_SDK_SEARCH_PATH
-  "${CUDA_SDK_ROOT_DIR}"
-  "${CUDA_TOOLKIT_ROOT_DIR}/local/NVSDK0.2"
-  "${CUDA_TOOLKIT_ROOT_DIR}/NVSDK0.2"
-  "${CUDA_TOOLKIT_ROOT_DIR}/NV_CUDA_SDK"
-  "$ENV{HOME}/NVIDIA_CUDA_SDK"
-  "$ENV{HOME}/NVIDIA_CUDA_SDK_MACOSX"
-  "/Developer/CUDA"
-  )
-
-# Example of how to find an include file from the CUDA_SDK_ROOT_DIR
-
-# find_path(CUDA_CUT_INCLUDE_DIR
-#   cutil.h
-#   PATHS ${CUDA_SDK_SEARCH_PATH}
-#   PATH_SUFFIXES "common/inc"
-#   DOC "Location of cutil.h"
-#   NO_DEFAULT_PATH
-#   )
-# # Now search system paths
-# find_path(CUDA_CUT_INCLUDE_DIR cutil.h DOC "Location of cutil.h")
-
-# mark_as_advanced(CUDA_CUT_INCLUDE_DIR)
-
-
-# Example of how to find a library in the CUDA_SDK_ROOT_DIR
-
-# # cutil library is called cutil64 for 64 bit builds on windows.  We don't want
-# # to get these confused, so we are setting the name based on the word size of
-# # the build.
-
-# if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-#   set(cuda_cutil_name cutil64)
-# else()
-#   set(cuda_cutil_name cutil32)
-# endif()
-
-# find_library(CUDA_CUT_LIBRARY
-#   NAMES cutil ${cuda_cutil_name}
-#   PATHS ${CUDA_SDK_SEARCH_PATH}
-#   # The new version of the sdk shows up in common/lib, but the old one is in lib
-#   PATH_SUFFIXES "common/lib" "lib"
-#   DOC "Location of cutil library"
-#   NO_DEFAULT_PATH
-#   )
-# # Now search system paths
-# find_library(CUDA_CUT_LIBRARY NAMES cutil ${cuda_cutil_name} DOC "Location of cutil library")
-# mark_as_advanced(CUDA_CUT_LIBRARY)
-# set(CUDA_CUT_LIBRARIES ${CUDA_CUT_LIBRARY})
-
-
-
-#############################
-# Check for required components
-set(CUDA_FOUND TRUE)
-
-set(CUDA_TOOLKIT_ROOT_DIR_INTERNAL "${CUDA_TOOLKIT_ROOT_DIR}" CACHE INTERNAL
-  "This is the value of the last time CUDA_TOOLKIT_ROOT_DIR was set successfully." FORCE)
-set(CUDA_TOOLKIT_TARGET_DIR_INTERNAL "${CUDA_TOOLKIT_TARGET_DIR}" CACHE INTERNAL
-  "This is the value of the last time CUDA_TOOLKIT_TARGET_DIR was set successfully." FORCE)
-set(CUDA_SDK_ROOT_DIR_INTERNAL "${CUDA_SDK_ROOT_DIR}" CACHE INTERNAL
-  "This is the value of the last time CUDA_SDK_ROOT_DIR was set successfully." FORCE)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(CUDA
-  REQUIRED_VARS
-    CUDA_TOOLKIT_ROOT_DIR
-    CUDA_NVCC_EXECUTABLE
-    CUDA_INCLUDE_DIRS
-    CUDA_CUDART_LIBRARY
-  VERSION_VAR
-    CUDA_VERSION
-  )
-
-
-
-###############################################################################
-###############################################################################
-# Macros
-###############################################################################
-###############################################################################
-
-###############################################################################
-# Add include directories to pass to the nvcc command.
-macro(CUDA_INCLUDE_DIRECTORIES)
-  foreach(dir ${ARGN})
-    list(APPEND CUDA_NVCC_INCLUDE_ARGS_USER -I${dir})
-  endforeach()
-endmacro()
-
-
-##############################################################################
-cuda_find_helper_file(parse_cubin cmake)
-cuda_find_helper_file(make2cmake cmake)
-cuda_find_helper_file(run_nvcc cmake)
-
-##############################################################################
-# Separate the OPTIONS out from the sources
-#
-macro(CUDA_GET_SOURCES_AND_OPTIONS _sources _cmake_options _options)
-  set( ${_sources} )
-  set( ${_cmake_options} )
-  set( ${_options} )
-  set( _found_options FALSE )
-  foreach(arg ${ARGN})
-    if("x${arg}" STREQUAL "xOPTIONS")
-      set( _found_options TRUE )
-    elseif(
-        "x${arg}" STREQUAL "xWIN32" OR
-        "x${arg}" STREQUAL "xMACOSX_BUNDLE" OR
-        "x${arg}" STREQUAL "xEXCLUDE_FROM_ALL" OR
-        "x${arg}" STREQUAL "xSTATIC" OR
-        "x${arg}" STREQUAL "xSHARED" OR
-        "x${arg}" STREQUAL "xMODULE"
-        )
-      list(APPEND ${_cmake_options} ${arg})
-    else()
-      if ( _found_options )
-        list(APPEND ${_options} ${arg})
-      else()
-        # Assume this is a file
-        list(APPEND ${_sources} ${arg})
-      endif()
-    endif()
-  endforeach()
-endmacro()
-
-##############################################################################
-# Parse the OPTIONS from ARGN and set the variables prefixed by _option_prefix
-#
-macro(CUDA_PARSE_NVCC_OPTIONS _option_prefix)
-  set( _found_config )
-  foreach(arg ${ARGN})
-    # Determine if we are dealing with a perconfiguration flag
-    foreach(config ${CUDA_configuration_types})
-      string(TOUPPER ${config} config_upper)
-      if (arg STREQUAL "${config_upper}")
-        set( _found_config _${arg})
-        # Set arg to nothing to keep it from being processed further
-        set( arg )
-      endif()
-    endforeach()
-
-    if ( arg )
-      list(APPEND ${_option_prefix}${_found_config} "${arg}")
-    endif()
-  endforeach()
-endmacro()
-
-##############################################################################
-# Helper to add the include directory for CUDA only once
-function(CUDA_ADD_CUDA_INCLUDE_ONCE)
-  get_directory_property(_include_directories INCLUDE_DIRECTORIES)
-  set(_add TRUE)
-  if(_include_directories)
-    foreach(dir ${_include_directories})
-      if("${dir}" STREQUAL "${CUDA_INCLUDE_DIRS}")
-        set(_add FALSE)
-      endif()
-    endforeach()
-  endif()
-  if(_add)
-    include_directories(${CUDA_INCLUDE_DIRS})
-  endif()
-endfunction()
-
-function(CUDA_BUILD_SHARED_LIBRARY shared_flag)
-  set(cmake_args ${ARGN})
-  # If SHARED, MODULE, or STATIC aren't already in the list of arguments, then
-  # add SHARED or STATIC based on the value of BUILD_SHARED_LIBS.
-  list(FIND cmake_args SHARED _cuda_found_SHARED)
-  list(FIND cmake_args MODULE _cuda_found_MODULE)
-  list(FIND cmake_args STATIC _cuda_found_STATIC)
-  if( _cuda_found_SHARED GREATER -1 OR
-      _cuda_found_MODULE GREATER -1 OR
-      _cuda_found_STATIC GREATER -1)
-    set(_cuda_build_shared_libs)
-  else()
-    if (BUILD_SHARED_LIBS)
-      set(_cuda_build_shared_libs SHARED)
-    else()
-      set(_cuda_build_shared_libs STATIC)
-    endif()
-  endif()
-  set(${shared_flag} ${_cuda_build_shared_libs} PARENT_SCOPE)
-endfunction()
-
-##############################################################################
-# Helper to avoid clashes of files with the same basename but different paths.
-# This doesn't attempt to do exactly what CMake internals do, which is to only
-# add this path when there is a conflict, since by the time a second collision
-# in names is detected it's already too late to fix the first one.  For
-# consistency sake the relative path will be added to all files.
-function(CUDA_COMPUTE_BUILD_PATH path build_path)
-  #message("CUDA_COMPUTE_BUILD_PATH([${path}] ${build_path})")
-  # Only deal with CMake style paths from here on out
-  file(TO_CMAKE_PATH "${path}" bpath)
-  if (IS_ABSOLUTE "${bpath}")
-    # Absolute paths are generally unnessary, especially if something like
-    # file(GLOB_RECURSE) is used to pick up the files.
-
-    string(FIND "${bpath}" "${CMAKE_CURRENT_BINARY_DIR}" _binary_dir_pos)
-    if (_binary_dir_pos EQUAL 0)
-      file(RELATIVE_PATH bpath "${CMAKE_CURRENT_BINARY_DIR}" "${bpath}")
-    else()
-      file(RELATIVE_PATH bpath "${CMAKE_CURRENT_SOURCE_DIR}" "${bpath}")
-    endif()
-  endif()
-
-  # This recipe is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
-  # CMake source.
-
-  # Remove leading /
-  string(REGEX REPLACE "^[/]+" "" bpath "${bpath}")
-  # Avoid absolute paths by removing ':'
-  string(REPLACE ":" "_" bpath "${bpath}")
-  # Avoid relative paths that go up the tree
-  string(REPLACE "../" "__/" bpath "${bpath}")
-  # Avoid spaces
-  string(REPLACE " " "_" bpath "${bpath}")
-
-  # Strip off the filename.  I wait until here to do it, since removin the
-  # basename can make a path that looked like path/../basename turn into
-  # path/.. (notice the trailing slash).
-  get_filename_component(bpath "${bpath}" PATH)
-
-  set(${build_path} "${bpath}" PARENT_SCOPE)
-  #message("${build_path} = ${bpath}")
-endfunction()
-
-##############################################################################
-# This helper macro populates the following variables and setups up custom
-# commands and targets to invoke the nvcc compiler to generate C or PTX source
-# dependent upon the format parameter.  The compiler is invoked once with -M
-# to generate a dependency file and a second time with -cuda or -ptx to generate
-# a .cpp or .ptx file.
-# INPUT:
-#   cuda_target         - Target name
-#   format              - PTX, CUBIN, FATBIN or OBJ
-#   FILE1 .. FILEN      - The remaining arguments are the sources to be wrapped.
-#   OPTIONS             - Extra options to NVCC
-# OUTPUT:
-#   generated_files     - List of generated files
-##############################################################################
-##############################################################################
-
-macro(CUDA_WRAP_SRCS cuda_target format generated_files)
-
-  # If CMake doesn't support separable compilation, complain
-  if(CUDA_SEPARABLE_COMPILATION AND CMAKE_VERSION VERSION_LESS "2.8.10.1")
-    message(SEND_ERROR "CUDA_SEPARABLE_COMPILATION isn't supported for CMake versions less than 2.8.10.1")
-  endif()
-
-  # Set up all the command line flags here, so that they can be overridden on a per target basis.
-
-  set(nvcc_flags "")
-
-  # Emulation if the card isn't present.
-  if (CUDA_BUILD_EMULATION)
-    # Emulation.
-    set(nvcc_flags ${nvcc_flags} --device-emulation -D_DEVICEEMU -g)
-  else()
-    # Device mode.  No flags necessary.
-  endif()
-
-  if(CUDA_HOST_COMPILATION_CPP)
-    set(CUDA_C_OR_CXX CXX)
-  else()
-    if(CUDA_VERSION VERSION_LESS "3.0")
-      set(nvcc_flags ${nvcc_flags} --host-compilation C)
-    else()
-      message(WARNING "--host-compilation flag is deprecated in CUDA version >= 3.0.  Removing --host-compilation C flag" )
-    endif()
-    set(CUDA_C_OR_CXX C)
-  endif()
-
-  set(generated_extension ${CMAKE_${CUDA_C_OR_CXX}_OUTPUT_EXTENSION})
-
-  if(CUDA_64_BIT_DEVICE_CODE)
-    set(nvcc_flags ${nvcc_flags} -m64)
-  else()
-    set(nvcc_flags ${nvcc_flags} -m32)
-  endif()
-
-  if(CUDA_TARGET_CPU_ARCH)
-    set(nvcc_flags ${nvcc_flags} "--target-cpu-architecture=${CUDA_TARGET_CPU_ARCH}")
-  endif()
-
-  # This needs to be passed in at this stage, because VS needs to fill out the
-  # value of VCInstallDir from within VS.  Note that CCBIN is only used if
-  # -ccbin or --compiler-bindir isn't used and CUDA_HOST_COMPILER matches
-  # $(VCInstallDir)/bin.
-  if(CMAKE_GENERATOR MATCHES "Visual Studio")
-    set(ccbin_flags -D "\"CCBIN:PATH=$(VCInstallDir)bin\"" )
-  else()
-    set(ccbin_flags)
-  endif()
-
-  # Figure out which configure we will use and pass that in as an argument to
-  # the script.  We need to defer the decision until compilation time, because
-  # for VS projects we won't know if we are making a debug or release build
-  # until build time.
-  if(CMAKE_GENERATOR MATCHES "Visual Studio")
-    set( CUDA_build_configuration "$(ConfigurationName)" )
-  else()
-    set( CUDA_build_configuration "${CMAKE_BUILD_TYPE}")
-  endif()
-
-  # Initialize our list of includes with the user ones followed by the CUDA system ones.
-  set(CUDA_NVCC_INCLUDE_ARGS ${CUDA_NVCC_INCLUDE_ARGS_USER} "-I${CUDA_INCLUDE_DIRS}")
-  # Get the include directories for this directory and use them for our nvcc command.
-  # Remove duplicate entries which may be present since include_directories
-  # in CMake >= 2.8.8 does not remove them.
-  get_directory_property(CUDA_NVCC_INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES)
-  list(REMOVE_DUPLICATES CUDA_NVCC_INCLUDE_DIRECTORIES)
-  if(CUDA_NVCC_INCLUDE_DIRECTORIES)
-    foreach(dir ${CUDA_NVCC_INCLUDE_DIRECTORIES})
-      list(APPEND CUDA_NVCC_INCLUDE_ARGS -I${dir})
-    endforeach()
-  endif()
-
-  # Reset these variables
-  set(CUDA_WRAP_OPTION_NVCC_FLAGS)
-  foreach(config ${CUDA_configuration_types})
-    string(TOUPPER ${config} config_upper)
-    set(CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper})
-  endforeach()
-
-  CUDA_GET_SOURCES_AND_OPTIONS(_cuda_wrap_sources _cuda_wrap_cmake_options _cuda_wrap_options ${ARGN})
-  CUDA_PARSE_NVCC_OPTIONS(CUDA_WRAP_OPTION_NVCC_FLAGS ${_cuda_wrap_options})
-
-  # Figure out if we are building a shared library.  BUILD_SHARED_LIBS is
-  # respected in CUDA_ADD_LIBRARY.
-  set(_cuda_build_shared_libs FALSE)
-  # SHARED, MODULE
-  list(FIND _cuda_wrap_cmake_options SHARED _cuda_found_SHARED)
-  list(FIND _cuda_wrap_cmake_options MODULE _cuda_found_MODULE)
-  if(_cuda_found_SHARED GREATER -1 OR _cuda_found_MODULE GREATER -1)
-    set(_cuda_build_shared_libs TRUE)
-  endif()
-  # STATIC
-  list(FIND _cuda_wrap_cmake_options STATIC _cuda_found_STATIC)
-  if(_cuda_found_STATIC GREATER -1)
-    set(_cuda_build_shared_libs FALSE)
-  endif()
-
-  # CUDA_HOST_FLAGS
-  if(_cuda_build_shared_libs)
-    # If we are setting up code for a shared library, then we need to add extra flags for
-    # compiling objects for shared libraries.
-    set(CUDA_HOST_SHARED_FLAGS ${CMAKE_SHARED_LIBRARY_${CUDA_C_OR_CXX}_FLAGS})
-  else()
-    set(CUDA_HOST_SHARED_FLAGS)
-  endif()
-  # Only add the CMAKE_{C,CXX}_FLAGS if we are propagating host flags.  We
-  # always need to set the SHARED_FLAGS, though.
-  if(CUDA_PROPAGATE_HOST_FLAGS)
-    set(_cuda_host_flags "set(CMAKE_HOST_FLAGS ${CMAKE_${CUDA_C_OR_CXX}_FLAGS} ${CUDA_HOST_SHARED_FLAGS})")
-  else()
-    set(_cuda_host_flags "set(CMAKE_HOST_FLAGS ${CUDA_HOST_SHARED_FLAGS})")
-  endif()
-
-  set(_cuda_nvcc_flags_config "# Build specific configuration flags")
-  # Loop over all the configuration types to generate appropriate flags for run_nvcc.cmake
-  foreach(config ${CUDA_configuration_types})
-    string(TOUPPER ${config} config_upper)
-    # CMAKE_FLAGS are strings and not lists.  By not putting quotes around CMAKE_FLAGS
-    # we convert the strings to lists (like we want).
-
-    if(CUDA_PROPAGATE_HOST_FLAGS)
-      # nvcc chokes on -g3 in versions previous to 3.0, so replace it with -g
-      set(_cuda_fix_g3 FALSE)
-
-      if(CMAKE_COMPILER_IS_GNUCC)
-        if (CUDA_VERSION VERSION_LESS  "3.0" OR
-            CUDA_VERSION VERSION_EQUAL "4.1" OR
-            CUDA_VERSION VERSION_EQUAL "4.2"
-            )
-          set(_cuda_fix_g3 TRUE)
-        endif()
-      endif()
-      if(_cuda_fix_g3)
-        string(REPLACE "-g3" "-g" _cuda_C_FLAGS "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
-      else()
-        set(_cuda_C_FLAGS "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
-      endif()
-
-      set(_cuda_host_flags "${_cuda_host_flags}\nset(CMAKE_HOST_FLAGS_${config_upper} ${_cuda_C_FLAGS})")
-    endif()
-
-    # Note that if we ever want CUDA_NVCC_FLAGS_<CONFIG> to be string (instead of a list
-    # like it is currently), we can remove the quotes around the
-    # ${CUDA_NVCC_FLAGS_${config_upper}} variable like the CMAKE_HOST_FLAGS_<CONFIG> variable.
-    set(_cuda_nvcc_flags_config "${_cuda_nvcc_flags_config}\nset(CUDA_NVCC_FLAGS_${config_upper} ${CUDA_NVCC_FLAGS_${config_upper}} ;; ${CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper}})")
-  endforeach()
-
-  # Process the C++11 flag.  If the host sets the flag, we need to add it to nvcc and
-  # remove it from the host. This is because -Xcompile -std=c++ will choke nvcc (it uses
-  # the C preprocessor).  In order to get this to work correctly, we need to use nvcc's
-  # specific c++11 flag.
-  if( "${_cuda_host_flags}" MATCHES "-std=c\\+\\+11")
-    # Add the c++11 flag to nvcc if it isn't already present.  Note that we only look at
-    # the main flag instead of the configuration specific flags.
-    if( NOT "${CUDA_NVCC_FLAGS}" MATCHES "-std;c\\+\\+11" )
-      list(APPEND nvcc_flags --std c++11)
-    endif()
-    string(REGEX REPLACE "[-]+std=c\\+\\+11" "" _cuda_host_flags "${_cuda_host_flags}")
-  endif()
-
-  # Get the list of definitions from the directory property
-  get_directory_property(CUDA_NVCC_DEFINITIONS COMPILE_DEFINITIONS)
-  if(CUDA_NVCC_DEFINITIONS)
-    foreach(_definition ${CUDA_NVCC_DEFINITIONS})
-      list(APPEND nvcc_flags "-D${_definition}")
-    endforeach()
-  endif()
-
-  if(_cuda_build_shared_libs)
-    list(APPEND nvcc_flags "-D${cuda_target}_EXPORTS")
-  endif()
-
-  # Reset the output variable
-  set(_cuda_wrap_generated_files "")
-
-  # Iterate over the macro arguments and create custom
-  # commands for all the .cu files.
-  foreach(file ${ARGN})
-    # Ignore any file marked as a HEADER_FILE_ONLY
-    get_source_file_property(_is_header ${file} HEADER_FILE_ONLY)
-    # Allow per source file overrides of the format.  Also allows compiling non-.cu files.
-    get_source_file_property(_cuda_source_format ${file} CUDA_SOURCE_PROPERTY_FORMAT)
-    if((${file} MATCHES "\\.cu$" OR _cuda_source_format) AND NOT _is_header)
-
-      if(NOT _cuda_source_format)
-        set(_cuda_source_format ${format})
-      endif()
-      # If file isn't a .cu file, we need to tell nvcc to treat it as such.
-      if(NOT ${file} MATCHES "\\.cu$")
-        set(cuda_language_flag -x=cu)
-      else()
-        set(cuda_language_flag)
-      endif()
-
-      if( ${_cuda_source_format} MATCHES "OBJ")
-        set( cuda_compile_to_external_module OFF )
-      else()
-        set( cuda_compile_to_external_module ON )
-        if( ${_cuda_source_format} MATCHES "PTX" )
-          set( cuda_compile_to_external_module_type "ptx" )
-        elseif( ${_cuda_source_format} MATCHES "CUBIN")
-          set( cuda_compile_to_external_module_type "cubin" )
-        elseif( ${_cuda_source_format} MATCHES "FATBIN")
-          set( cuda_compile_to_external_module_type "fatbin" )
-        else()
-          message( FATAL_ERROR "Invalid format flag passed to CUDA_WRAP_SRCS or set with CUDA_SOURCE_PROPERTY_FORMAT file property for file '${file}': '${_cuda_source_format}'.  Use OBJ, PTX, CUBIN or FATBIN.")
-        endif()
-      endif()
-
-      if(cuda_compile_to_external_module)
-        # Don't use any of the host compilation flags for PTX targets.
-        set(CUDA_HOST_FLAGS)
-        set(CUDA_NVCC_FLAGS_CONFIG)
-      else()
-        set(CUDA_HOST_FLAGS ${_cuda_host_flags})
-        set(CUDA_NVCC_FLAGS_CONFIG ${_cuda_nvcc_flags_config})
-      endif()
-
-      # Determine output directory
-      cuda_compute_build_path("${file}" cuda_build_path)
-      set(cuda_compile_intermediate_directory "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${cuda_target}.dir/${cuda_build_path}")
-      if(CUDA_GENERATED_OUTPUT_DIR)
-        set(cuda_compile_output_dir "${CUDA_GENERATED_OUTPUT_DIR}")
-      else()
-        if ( cuda_compile_to_external_module )
-          set(cuda_compile_output_dir "${CMAKE_CURRENT_BINARY_DIR}")
-        else()
-          set(cuda_compile_output_dir "${cuda_compile_intermediate_directory}")
-        endif()
-      endif()
-
-      # Add a custom target to generate a c or ptx file. ######################
-
-      get_filename_component( basename ${file} NAME )
-      if( cuda_compile_to_external_module )
-        set(generated_file_path "${cuda_compile_output_dir}")
-        set(generated_file_basename "${cuda_target}_generated_${basename}.${cuda_compile_to_external_module_type}")
-        set(format_flag "-${cuda_compile_to_external_module_type}")
-        file(MAKE_DIRECTORY "${cuda_compile_output_dir}")
-      else()
-        set(generated_file_path "${cuda_compile_output_dir}/${CMAKE_CFG_INTDIR}")
-        set(generated_file_basename "${cuda_target}_generated_${basename}${generated_extension}")
-        if(CUDA_SEPARABLE_COMPILATION)
-          set(format_flag "-dc")
-        else()
-          set(format_flag "-c")
-        endif()
-      endif()
-
-      # Set all of our file names.  Make sure that whatever filenames that have
-      # generated_file_path in them get passed in through as a command line
-      # argument, so that the ${CMAKE_CFG_INTDIR} gets expanded at run time
-      # instead of configure time.
-      set(generated_file "${generated_file_path}/${generated_file_basename}")
-      set(cmake_dependency_file "${cuda_compile_intermediate_directory}/${generated_file_basename}.depend")
-      set(NVCC_generated_dependency_file "${cuda_compile_intermediate_directory}/${generated_file_basename}.NVCC-depend")
-      set(generated_cubin_file "${generated_file_path}/${generated_file_basename}.cubin.txt")
-      set(custom_target_script_pregen "${cuda_compile_intermediate_directory}/${generated_file_basename}.cmake.pre-gen")
-      set(custom_target_script "${cuda_compile_intermediate_directory}/${generated_file_basename}$<$<BOOL:$<CONFIG>>:.$<CONFIG>>.cmake")
-
-      # Setup properties for obj files:
-      if( NOT cuda_compile_to_external_module )
-        set_source_files_properties("${generated_file}"
-          PROPERTIES
-          EXTERNAL_OBJECT true # This is an object file not to be compiled, but only be linked.
-          )
-      endif()
-
-      # Don't add CMAKE_CURRENT_SOURCE_DIR if the path is already an absolute path.
-      get_filename_component(file_path "${file}" PATH)
-      if(IS_ABSOLUTE "${file_path}")
-        set(source_file "${file}")
-      else()
-        set(source_file "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
-      endif()
-
-      if( NOT cuda_compile_to_external_module AND CUDA_SEPARABLE_COMPILATION)
-        list(APPEND ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS "${generated_file}")
-      endif()
-
-      # Bring in the dependencies.  Creates a variable CUDA_NVCC_DEPEND #######
-      cuda_include_nvcc_dependencies(${cmake_dependency_file})
-
-      # Convience string for output ###########################################
-      if(CUDA_BUILD_EMULATION)
-        set(cuda_build_type "Emulation")
-      else()
-        set(cuda_build_type "Device")
-      endif()
-
-      # Build the NVCC made dependency file ###################################
-      set(build_cubin OFF)
-      if ( NOT CUDA_BUILD_EMULATION AND CUDA_BUILD_CUBIN )
-         if ( NOT cuda_compile_to_external_module )
-           set ( build_cubin ON )
-         endif()
-      endif()
-
-      # Configure the build script
-      configure_file("${CUDA_run_nvcc}" "${custom_target_script_pregen}" @ONLY)
-      file(GENERATE
-        OUTPUT "${custom_target_script}"
-        INPUT "${custom_target_script_pregen}"
-        )
-
-      # So if a user specifies the same cuda file as input more than once, you
-      # can have bad things happen with dependencies.  Here we check an option
-      # to see if this is the behavior they want.
-      if(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE)
-        set(main_dep MAIN_DEPENDENCY ${source_file})
-      else()
-        set(main_dep DEPENDS ${source_file})
-      endif()
-
-      if(CUDA_VERBOSE_BUILD)
-        set(verbose_output ON)
-      elseif(CMAKE_GENERATOR MATCHES "Makefiles")
-        set(verbose_output "$(VERBOSE)")
-      else()
-        set(verbose_output OFF)
-      endif()
-
-      # Create up the comment string
-      file(RELATIVE_PATH generated_file_relative_path "${CMAKE_BINARY_DIR}" "${generated_file}")
-      if(cuda_compile_to_external_module)
-        set(cuda_build_comment_string "Building NVCC ${cuda_compile_to_external_module_type} file ${generated_file_relative_path}")
-      else()
-        set(cuda_build_comment_string "Building NVCC (${cuda_build_type}) object ${generated_file_relative_path}")
-      endif()
-
-      set(_verbatim VERBATIM)
-      if(ccbin_flags MATCHES "\\$\\(VCInstallDir\\)")
-        set(_verbatim "")
-      endif()
-
-      # Build the generated file and dependency file ##########################
-      add_custom_command(
-        OUTPUT ${generated_file}
-        # These output files depend on the source_file and the contents of cmake_dependency_file
-        ${main_dep}
-        DEPENDS ${CUDA_NVCC_DEPEND}
-        DEPENDS ${custom_target_script}
-        # Make sure the output directory exists before trying to write to it.
-        COMMAND ${CMAKE_COMMAND} -E make_directory "${generated_file_path}"
-        COMMAND ${CMAKE_COMMAND} ARGS
-          -D verbose:BOOL=${verbose_output}
-          ${ccbin_flags}
-          -D build_configuration:STRING=${CUDA_build_configuration}
-          -D "generated_file:STRING=${generated_file}"
-          -D "generated_cubin_file:STRING=${generated_cubin_file}"
-          -P "${custom_target_script}"
-        WORKING_DIRECTORY "${cuda_compile_intermediate_directory}"
-        COMMENT "${cuda_build_comment_string}"
-        ${_verbatim}
-        )
-
-      # Make sure the build system knows the file is generated.
-      set_source_files_properties(${generated_file} PROPERTIES GENERATED TRUE)
-
-      list(APPEND _cuda_wrap_generated_files ${generated_file})
-
-      # Add the other files that we want cmake to clean on a cleanup ##########
-      list(APPEND CUDA_ADDITIONAL_CLEAN_FILES "${cmake_dependency_file}")
-      list(REMOVE_DUPLICATES CUDA_ADDITIONAL_CLEAN_FILES)
-      set(CUDA_ADDITIONAL_CLEAN_FILES ${CUDA_ADDITIONAL_CLEAN_FILES} CACHE INTERNAL "List of intermediate files that are part of the cuda dependency scanning.")
-
-    endif()
-  endforeach()
-
-  # Set the return parameter
-  set(${generated_files} ${_cuda_wrap_generated_files})
-endmacro()
-
-function(_cuda_get_important_host_flags important_flags flag_string)
-  if(CMAKE_GENERATOR MATCHES "Visual Studio")
-    string(REGEX MATCHALL "/M[DT][d]?" flags "${flag_string}")
-    list(APPEND ${important_flags} ${flags})
-  else()
-    string(REGEX MATCHALL "-fPIC" flags "${flag_string}")
-    list(APPEND ${important_flags} ${flags})
-  endif()
-  set(${important_flags} ${${important_flags}} PARENT_SCOPE)
-endfunction()
-
-###############################################################################
-###############################################################################
-# Separable Compilation Link
-###############################################################################
-###############################################################################
-
-# Compute the filename to be used by CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS
-function(CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME output_file_var cuda_target object_files)
-  if (object_files)
-    set(generated_extension ${CMAKE_${CUDA_C_OR_CXX}_OUTPUT_EXTENSION})
-    set(output_file "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${cuda_target}.dir/${CMAKE_CFG_INTDIR}/${cuda_target}_intermediate_link${generated_extension}")
-  else()
-    set(output_file)
-  endif()
-
-  set(${output_file_var} "${output_file}" PARENT_SCOPE)
-endfunction()
-
-# Setup the build rule for the separable compilation intermediate link file.
-function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options object_files)
-  if (object_files)
-
-    set_source_files_properties("${output_file}"
-      PROPERTIES
-      EXTERNAL_OBJECT TRUE # This is an object file not to be compiled, but only
-                           # be linked.
-      GENERATED TRUE       # This file is generated during the build
-      )
-
-    # For now we are ignoring all the configuration specific flags.
-    set(nvcc_flags)
-    CUDA_PARSE_NVCC_OPTIONS(nvcc_flags ${options})
-    if(CUDA_64_BIT_DEVICE_CODE)
-      list(APPEND nvcc_flags -m64)
-    else()
-      list(APPEND nvcc_flags -m32)
-    endif()
-    # If -ccbin, --compiler-bindir has been specified, don't do anything.  Otherwise add it here.
-    list( FIND nvcc_flags "-ccbin" ccbin_found0 )
-    list( FIND nvcc_flags "--compiler-bindir" ccbin_found1 )
-    if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER )
-      # Match VERBATIM check below.
-      if(CUDA_HOST_COMPILER MATCHES "\\$\\(VCInstallDir\\)")
-        list(APPEND nvcc_flags -ccbin "\"${CUDA_HOST_COMPILER}\"")
-      else()
-        list(APPEND nvcc_flags -ccbin "${CUDA_HOST_COMPILER}")
-      endif()
-    endif()
-
-    # Create a list of flags specified by CUDA_NVCC_FLAGS_${CONFIG} and CMAKE_${CUDA_C_OR_CXX}_FLAGS*
-    set(config_specific_flags)
-    set(flags)
-    foreach(config ${CUDA_configuration_types})
-      string(TOUPPER ${config} config_upper)
-      # Add config specific flags
-      foreach(f ${CUDA_NVCC_FLAGS_${config_upper}})
-        list(APPEND config_specific_flags $<$<CONFIG:${config}>:${f}>)
-      endforeach()
-      set(important_host_flags)
-      _cuda_get_important_host_flags(important_host_flags "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
-      foreach(f ${important_host_flags})
-        list(APPEND flags $<$<CONFIG:${config}>:-Xcompiler> $<$<CONFIG:${config}>:${f}>)
-      endforeach()
-    endforeach()
-    # Add CMAKE_${CUDA_C_OR_CXX}_FLAGS
-    set(important_host_flags)
-    _cuda_get_important_host_flags(important_host_flags "${CMAKE_${CUDA_C_OR_CXX}_FLAGS}")
-    foreach(f ${important_host_flags})
-      list(APPEND flags -Xcompiler ${f})
-    endforeach()
-
-    # Add our general CUDA_NVCC_FLAGS with the configuration specifig flags
-    set(nvcc_flags ${CUDA_NVCC_FLAGS} ${config_specific_flags} ${nvcc_flags})
-
-    file(RELATIVE_PATH output_file_relative_path "${CMAKE_BINARY_DIR}" "${output_file}")
-
-    # Some generators don't handle the multiple levels of custom command
-    # dependencies correctly (obj1 depends on file1, obj2 depends on obj1), so
-    # we work around that issue by compiling the intermediate link object as a
-    # pre-link custom command in that situation.
-    set(do_obj_build_rule TRUE)
-    if (MSVC_VERSION GREATER 1599 AND MSVC_VERSION LESS 1800)
-      # VS 2010 and 2012 have this problem.
-      set(do_obj_build_rule FALSE)
-    endif()
-
-    set(_verbatim VERBATIM)
-    if(nvcc_flags MATCHES "\\$\\(VCInstallDir\\)")
-      set(_verbatim "")
-    endif()
-
-    if (do_obj_build_rule)
-      add_custom_command(
-        OUTPUT ${output_file}
-        DEPENDS ${object_files}
-        COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} -dlink ${object_files} -o ${output_file}
-        ${flags}
-        COMMENT "Building NVCC intermediate link file ${output_file_relative_path}"
-        ${_verbatim}
-        )
-    else()
-      get_filename_component(output_file_dir "${output_file}" DIRECTORY)
-      add_custom_command(
-        TARGET ${cuda_target}
-        PRE_LINK
-        COMMAND ${CMAKE_COMMAND} -E echo "Building NVCC intermediate link file ${output_file_relative_path}"
-        COMMAND ${CMAKE_COMMAND} -E make_directory "${output_file_dir}"
-        COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} ${flags} -dlink ${object_files} -o "${output_file}"
-        ${_verbatim}
-        )
-    endif()
- endif()
-endfunction()
-
-###############################################################################
-###############################################################################
-# ADD LIBRARY
-###############################################################################
-###############################################################################
-macro(CUDA_ADD_LIBRARY cuda_target)
-
-  CUDA_ADD_CUDA_INCLUDE_ONCE()
-
-  # Separate the sources from the options
-  CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
-  CUDA_BUILD_SHARED_LIBRARY(_cuda_shared_flag ${ARGN})
-  # Create custom commands and targets for each file.
-  CUDA_WRAP_SRCS( ${cuda_target} OBJ _generated_files ${_sources}
-    ${_cmake_options} ${_cuda_shared_flag}
-    OPTIONS ${_options} )
-
-  # Compute the file name of the intermedate link file used for separable
-  # compilation.
-  CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME(link_file ${cuda_target} "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
-
-  # Add the library.
-  add_library(${cuda_target} ${_cmake_options}
-    ${_generated_files}
-    ${_sources}
-    ${link_file}
-    )
-
-  # Add a link phase for the separable compilation if it has been enabled.  If
-  # it has been enabled then the ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS
-  # variable will have been defined.
-  CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS("${link_file}" ${cuda_target} "${_options}" "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
-
-  target_link_libraries(${cuda_target}
-    ${CUDA_LIBRARIES}
-    )
-
-  # We need to set the linker language based on what the expected generated file
-  # would be. CUDA_C_OR_CXX is computed based on CUDA_HOST_COMPILATION_CPP.
-  set_target_properties(${cuda_target}
-    PROPERTIES
-    LINKER_LANGUAGE ${CUDA_C_OR_CXX}
-    )
-
-endmacro()
-
-
-###############################################################################
-###############################################################################
-# ADD EXECUTABLE
-###############################################################################
-###############################################################################
-macro(CUDA_ADD_EXECUTABLE cuda_target)
-
-  CUDA_ADD_CUDA_INCLUDE_ONCE()
-
-  # Separate the sources from the options
-  CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
-  # Create custom commands and targets for each file.
-  CUDA_WRAP_SRCS( ${cuda_target} OBJ _generated_files ${_sources} OPTIONS ${_options} )
-
-  # Compute the file name of the intermedate link file used for separable
-  # compilation.
-  CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME(link_file ${cuda_target} "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
-
-  # Add the library.
-  add_executable(${cuda_target} ${_cmake_options}
-    ${_generated_files}
-    ${_sources}
-    ${link_file}
-    )
-
-  # Add a link phase for the separable compilation if it has been enabled.  If
-  # it has been enabled then the ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS
-  # variable will have been defined.
-  CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS("${link_file}" ${cuda_target} "${_options}" "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
-
-  target_link_libraries(${cuda_target}
-    ${CUDA_LIBRARIES}
-    )
-
-  # We need to set the linker language based on what the expected generated file
-  # would be. CUDA_C_OR_CXX is computed based on CUDA_HOST_COMPILATION_CPP.
-  set_target_properties(${cuda_target}
-    PROPERTIES
-    LINKER_LANGUAGE ${CUDA_C_OR_CXX}
-    )
-
-endmacro()
-
-
-###############################################################################
-###############################################################################
-# (Internal) helper for manually added cuda source files with specific targets
-###############################################################################
-###############################################################################
-macro(cuda_compile_base cuda_target format generated_files)
-
-  # Separate the sources from the options
-  CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
-  # Create custom commands and targets for each file.
-  CUDA_WRAP_SRCS( ${cuda_target} ${format} _generated_files ${_sources} ${_cmake_options}
-    OPTIONS ${_options} )
-
-  set( ${generated_files} ${_generated_files})
-
-endmacro()
-
-###############################################################################
-###############################################################################
-# CUDA COMPILE
-###############################################################################
-###############################################################################
-macro(CUDA_COMPILE generated_files)
-  cuda_compile_base(cuda_compile OBJ ${generated_files} ${ARGN})
-endmacro()
-
-###############################################################################
-###############################################################################
-# CUDA COMPILE PTX
-###############################################################################
-###############################################################################
-macro(CUDA_COMPILE_PTX generated_files)
-  cuda_compile_base(cuda_compile_ptx PTX ${generated_files} ${ARGN})
-endmacro()
-
-###############################################################################
-###############################################################################
-# CUDA COMPILE FATBIN
-###############################################################################
-###############################################################################
-macro(CUDA_COMPILE_FATBIN generated_files)
-  cuda_compile_base(cuda_compile_fatbin FATBIN ${generated_files} ${ARGN})
-endmacro()
-
-###############################################################################
-###############################################################################
-# CUDA COMPILE CUBIN
-###############################################################################
-###############################################################################
-macro(CUDA_COMPILE_CUBIN generated_files)
-  cuda_compile_base(cuda_compile_cubin CUBIN ${generated_files} ${ARGN})
-endmacro()
-
-
-###############################################################################
-###############################################################################
-# CUDA ADD CUFFT TO TARGET
-###############################################################################
-###############################################################################
-macro(CUDA_ADD_CUFFT_TO_TARGET target)
-  if (CUDA_BUILD_EMULATION)
-    target_link_libraries(${target} ${CUDA_cufftemu_LIBRARY})
-  else()
-    target_link_libraries(${target} ${CUDA_cufft_LIBRARY})
-  endif()
-endmacro()
-
-###############################################################################
-###############################################################################
-# CUDA ADD CUBLAS TO TARGET
-###############################################################################
-###############################################################################
-macro(CUDA_ADD_CUBLAS_TO_TARGET target)
-  if (CUDA_BUILD_EMULATION)
-    target_link_libraries(${target} ${CUDA_cublasemu_LIBRARY})
-  else()
-    target_link_libraries(${target} ${CUDA_cublas_LIBRARY} ${CUDA_cublas_device_LIBRARY})
-  endif()
-endmacro()
-
-###############################################################################
-###############################################################################
-# CUDA BUILD CLEAN TARGET
-###############################################################################
-###############################################################################
-macro(CUDA_BUILD_CLEAN_TARGET)
-  # Call this after you add all your CUDA targets, and you will get a convience
-  # target.  You should also make clean after running this target to get the
-  # build system to generate all the code again.
-
-  set(cuda_clean_target_name clean_cuda_depends)
-  if (CMAKE_GENERATOR MATCHES "Visual Studio")
-    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})
-
-  # 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
-  # have been removed.
-  set(CUDA_ADDITIONAL_CLEAN_FILES "" CACHE INTERNAL "List of intermediate files that are part of the cuda dependency scanning.")
-endmacro()
diff --git a/share/cmake-3.6/Modules/FindCUDA/make2cmake.cmake b/share/cmake-3.6/Modules/FindCUDA/make2cmake.cmake
deleted file mode 100644
index 802f93a..0000000
--- a/share/cmake-3.6/Modules/FindCUDA/make2cmake.cmake
+++ /dev/null
@@ -1,106 +0,0 @@
-#  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.
-#
-
-#######################################################################
-# This converts a file written in makefile syntax into one that can be included
-# by CMake.
-
-# Input variables
-#
-# verbose:BOOL=<>          OFF: Be as quiet as possible (default)
-#                          ON : Extra output
-#
-# input_file:FILEPATH=<>   Path to dependecy file in makefile format
-#
-# output_file:FILEPATH=<>  Path to file with dependencies in CMake readable variable
-#
-
-file(READ ${input_file} depend_text)
-
-if (NOT "${depend_text}" STREQUAL "")
-
-  # message("FOUND DEPENDS")
-
-  string(REPLACE "\\ " " " depend_text ${depend_text})
-
-  # This works for the nvcc -M generated dependency files.
-  string(REGEX REPLACE "^.* : " "" depend_text ${depend_text})
-  string(REGEX REPLACE "[ \\\\]*\n" ";" depend_text ${depend_text})
-
-  set(dependency_list "")
-
-  foreach(file ${depend_text})
-
-    string(REGEX REPLACE "^ +" "" file ${file})
-
-    # OK, now if we had a UNC path, nvcc has a tendency to only output the first '/'
-    # instead of '//'.  Here we will test to see if the file exists, if it doesn't then
-    # try to prepend another '/' to the path and test again.  If it still fails remove the
-    # path.
-
-    if(NOT EXISTS "${file}")
-      if (EXISTS "/${file}")
-        set(file "/${file}")
-      else()
-        if(verbose)
-          message(WARNING " Removing non-existent dependency file: ${file}")
-        endif()
-        set(file "")
-      endif()
-    endif()
-
-    # Make sure we check to see if we have a file, before asking if it is not a directory.
-    # if(NOT IS_DIRECTORY "") will return TRUE.
-    if(file AND NOT IS_DIRECTORY "${file}")
-      # If softlinks start to matter, we should change this to REALPATH.  For now we need
-      # to flatten paths, because nvcc can generate stuff like /bin/../include instead of
-      # just /include.
-      get_filename_component(file_absolute "${file}" ABSOLUTE)
-      list(APPEND dependency_list "${file_absolute}")
-    endif()
-
-  endforeach()
-
-else()
-  # message("FOUND NO DEPENDS")
-endif()
-
-# Remove the duplicate entries and sort them.
-list(REMOVE_DUPLICATES dependency_list)
-list(SORT dependency_list)
-
-foreach(file ${dependency_list})
-  set(cuda_nvcc_depend "${cuda_nvcc_depend} \"${file}\"\n")
-endforeach()
-
-file(WRITE ${output_file} "# Generated by: make2cmake.cmake\nSET(CUDA_NVCC_DEPEND\n ${cuda_nvcc_depend})\n\n")
diff --git a/share/cmake-3.6/Modules/FindCUDA/run_nvcc.cmake b/share/cmake-3.6/Modules/FindCUDA/run_nvcc.cmake
deleted file mode 100644
index 12b83e0..0000000
--- a/share/cmake-3.6/Modules/FindCUDA/run_nvcc.cmake
+++ /dev/null
@@ -1,291 +0,0 @@
-#  James Bigler, NVIDIA Corp (nvidia.com - jbigler)
-#
-#  Copyright (c) 2008 - 2009 NVIDIA Corporation.  All rights reserved.
-#
-#  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.
-
-
-##########################################################################
-# This file runs the nvcc commands to produce the desired output file along with
-# the dependency file needed by CMake to compute dependencies.  In addition the
-# file checks the output of each command and if the command fails it deletes the
-# output files.
-
-# Input variables
-#
-# verbose:BOOL=<>          OFF: Be as quiet as possible (default)
-#                          ON : Describe each step
-#
-# build_configuration:STRING=<> Typically one of Debug, MinSizeRel, Release, or
-#                               RelWithDebInfo, but it should match one of the
-#                               entries in CUDA_HOST_FLAGS. This is the build
-#                               configuration used when compiling the code.  If
-#                               blank or unspecified Debug is assumed as this is
-#                               what CMake does.
-#
-# generated_file:STRING=<> File to generate.  This argument must be passed in.
-#
-# generated_cubin_file:STRING=<> File to generate.  This argument must be passed
-#                                                   in if build_cubin is true.
-
-if(NOT generated_file)
-  message(FATAL_ERROR "You must specify generated_file on the command line")
-endif()
-
-# Set these up as variables to make reading the generated file easier
-set(CMAKE_COMMAND "@CMAKE_COMMAND@") # path
-set(source_file "@source_file@") # path
-set(NVCC_generated_dependency_file "@NVCC_generated_dependency_file@") # path
-set(cmake_dependency_file "@cmake_dependency_file@") # path
-set(CUDA_make2cmake "@CUDA_make2cmake@") # path
-set(CUDA_parse_cubin "@CUDA_parse_cubin@") # path
-set(build_cubin @build_cubin@) # bool
-set(CUDA_HOST_COMPILER "@CUDA_HOST_COMPILER@") # path
-# We won't actually use these variables for now, but we need to set this, in
-# order to force this file to be run again if it changes.
-set(generated_file_path "@generated_file_path@") # path
-set(generated_file_internal "@generated_file@") # path
-set(generated_cubin_file_internal "@generated_cubin_file@") # path
-
-set(CUDA_NVCC_EXECUTABLE "@CUDA_NVCC_EXECUTABLE@") # path
-set(CUDA_NVCC_FLAGS @CUDA_NVCC_FLAGS@ ;; @CUDA_WRAP_OPTION_NVCC_FLAGS@) # list
-@CUDA_NVCC_FLAGS_CONFIG@
-set(nvcc_flags @nvcc_flags@) # list
-set(CUDA_NVCC_INCLUDE_ARGS "@CUDA_NVCC_INCLUDE_ARGS@") # list (needs to be in quotes to handle spaces properly).
-set(format_flag "@format_flag@") # string
-set(cuda_language_flag @cuda_language_flag@) # list
-
-if(build_cubin AND NOT generated_cubin_file)
-  message(FATAL_ERROR "You must specify generated_cubin_file on the command line")
-endif()
-
-# This is the list of host compilation flags.  It C or CXX should already have
-# been chosen by FindCUDA.cmake.
-@CUDA_HOST_FLAGS@
-
-# Take the compiler flags and package them up to be sent to the compiler via -Xcompiler
-set(nvcc_host_compiler_flags "")
-# If we weren't given a build_configuration, use Debug.
-if(NOT build_configuration)
-  set(build_configuration Debug)
-endif()
-string(TOUPPER "${build_configuration}" build_configuration)
-#message("CUDA_NVCC_HOST_COMPILER_FLAGS = ${CUDA_NVCC_HOST_COMPILER_FLAGS}")
-foreach(flag ${CMAKE_HOST_FLAGS} ${CMAKE_HOST_FLAGS_${build_configuration}})
-  # Extra quotes are added around each flag to help nvcc parse out flags with spaces.
-  set(nvcc_host_compiler_flags "${nvcc_host_compiler_flags},\"${flag}\"")
-endforeach()
-if (nvcc_host_compiler_flags)
-  set(nvcc_host_compiler_flags "-Xcompiler" ${nvcc_host_compiler_flags})
-endif()
-#message("nvcc_host_compiler_flags = \"${nvcc_host_compiler_flags}\"")
-# Add the build specific configuration flags
-list(APPEND CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS_${build_configuration}})
-
-# Any -ccbin existing in CUDA_NVCC_FLAGS gets highest priority
-list( FIND CUDA_NVCC_FLAGS "-ccbin" ccbin_found0 )
-list( FIND CUDA_NVCC_FLAGS "--compiler-bindir" ccbin_found1 )
-if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER )
-  if (CUDA_HOST_COMPILER STREQUAL "$(VCInstallDir)bin" AND DEFINED CCBIN)
-    set(CCBIN -ccbin "${CCBIN}")
-  else()
-    set(CCBIN -ccbin "${CUDA_HOST_COMPILER}")
-  endif()
-endif()
-
-# cuda_execute_process - Executes a command with optional command echo and status message.
-#
-#   status  - Status message to print if verbose is true
-#   command - COMMAND argument from the usual execute_process argument structure
-#   ARGN    - Remaining arguments are the command with arguments
-#
-#   CUDA_result - return value from running the command
-#
-# Make this a macro instead of a function, so that things like RESULT_VARIABLE
-# and other return variables are present after executing the process.
-macro(cuda_execute_process status command)
-  set(_command ${command})
-  if(NOT "x${_command}" STREQUAL "xCOMMAND")
-    message(FATAL_ERROR "Malformed call to cuda_execute_process.  Missing COMMAND as second argument. (command = ${command})")
-  endif()
-  if(verbose)
-    execute_process(COMMAND "${CMAKE_COMMAND}" -E echo -- ${status})
-    # Now we need to build up our command string.  We are accounting for quotes
-    # and spaces, anything else is left up to the user to fix if they want to
-    # copy and paste a runnable command line.
-    set(cuda_execute_process_string)
-    foreach(arg ${ARGN})
-      # If there are quotes, excape them, so they come through.
-      string(REPLACE "\"" "\\\"" arg ${arg})
-      # Args with spaces need quotes around them to get them to be parsed as a single argument.
-      if(arg MATCHES " ")
-        list(APPEND cuda_execute_process_string "\"${arg}\"")
-      else()
-        list(APPEND cuda_execute_process_string ${arg})
-      endif()
-    endforeach()
-    # Echo the command
-    execute_process(COMMAND ${CMAKE_COMMAND} -E echo ${cuda_execute_process_string})
-  endif()
-  # Run the command
-  execute_process(COMMAND ${ARGN} RESULT_VARIABLE CUDA_result )
-endmacro()
-
-# Delete the target file
-cuda_execute_process(
-  "Removing ${generated_file}"
-  COMMAND "${CMAKE_COMMAND}" -E remove "${generated_file}"
-  )
-
-# For CUDA 2.3 and below, -G -M doesn't work, so remove the -G flag
-# for dependency generation and hope for the best.
-set(depends_CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}")
-set(CUDA_VERSION @CUDA_VERSION@)
-if(CUDA_VERSION VERSION_LESS "3.0")
-  cmake_policy(PUSH)
-  # CMake policy 0007 NEW states that empty list elements are not
-  # ignored.  I'm just setting it to avoid the warning that's printed.
-  cmake_policy(SET CMP0007 NEW)
-  # Note that this will remove all occurances of -G.
-  list(REMOVE_ITEM depends_CUDA_NVCC_FLAGS "-G")
-  cmake_policy(POP)
-endif()
-
-# nvcc doesn't define __CUDACC__ for some reason when generating dependency files.  This
-# can cause incorrect dependencies when #including files based on this macro which is
-# defined in the generating passes of nvcc invokation.  We will go ahead and manually
-# define this for now until a future version fixes this bug.
-set(CUDACC_DEFINE -D__CUDACC__)
-
-# Generate the dependency file
-cuda_execute_process(
-  "Generating dependency file: ${NVCC_generated_dependency_file}"
-  COMMAND "${CUDA_NVCC_EXECUTABLE}"
-  -M
-  ${CUDACC_DEFINE}
-  "${source_file}"
-  -o "${NVCC_generated_dependency_file}"
-  ${CCBIN}
-  ${nvcc_flags}
-  ${nvcc_host_compiler_flags}
-  ${depends_CUDA_NVCC_FLAGS}
-  -DNVCC
-  ${CUDA_NVCC_INCLUDE_ARGS}
-  )
-
-if(CUDA_result)
-  message(FATAL_ERROR "Error generating ${generated_file}")
-endif()
-
-# Generate the cmake readable dependency file to a temp file.  Don't put the
-# quotes just around the filenames for the input_file and output_file variables.
-# CMake will pass the quotes through and not be able to find the file.
-cuda_execute_process(
-  "Generating temporary cmake readable file: ${cmake_dependency_file}.tmp"
-  COMMAND "${CMAKE_COMMAND}"
-  -D "input_file:FILEPATH=${NVCC_generated_dependency_file}"
-  -D "output_file:FILEPATH=${cmake_dependency_file}.tmp"
-  -D "verbose=${verbose}"
-  -P "${CUDA_make2cmake}"
-  )
-
-if(CUDA_result)
-  message(FATAL_ERROR "Error generating ${generated_file}")
-endif()
-
-# Copy the file if it is different
-cuda_execute_process(
-  "Copy if different ${cmake_dependency_file}.tmp to ${cmake_dependency_file}"
-  COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${cmake_dependency_file}.tmp" "${cmake_dependency_file}"
-  )
-
-if(CUDA_result)
-  message(FATAL_ERROR "Error generating ${generated_file}")
-endif()
-
-# 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}"
-  )
-
-if(CUDA_result)
-  message(FATAL_ERROR "Error generating ${generated_file}")
-endif()
-
-# Generate the code
-cuda_execute_process(
-  "Generating ${generated_file}"
-  COMMAND "${CUDA_NVCC_EXECUTABLE}"
-  "${source_file}"
-  ${cuda_language_flag}
-  ${format_flag} -o "${generated_file}"
-  ${CCBIN}
-  ${nvcc_flags}
-  ${nvcc_host_compiler_flags}
-  ${CUDA_NVCC_FLAGS}
-  -DNVCC
-  ${CUDA_NVCC_INCLUDE_ARGS}
-  )
-
-if(CUDA_result)
-  # 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}"
-    )
-  message(FATAL_ERROR "Error generating file ${generated_file}")
-else()
-  if(verbose)
-    message("Generated ${generated_file} successfully.")
-  endif()
-endif()
-
-# Cubin resource report commands.
-if( build_cubin )
-  # Run with -cubin to produce resource usage report.
-  cuda_execute_process(
-    "Generating ${generated_cubin_file}"
-    COMMAND "${CUDA_NVCC_EXECUTABLE}"
-    "${source_file}"
-    ${CUDA_NVCC_FLAGS}
-    ${nvcc_flags}
-    ${CCBIN}
-    ${nvcc_host_compiler_flags}
-    -DNVCC
-    -cubin
-    -o "${generated_cubin_file}"
-    ${CUDA_NVCC_INCLUDE_ARGS}
-    )
-
-  # Execute the parser script.
-  cuda_execute_process(
-    "Executing the parser script"
-    COMMAND  "${CMAKE_COMMAND}"
-    -D "input_file:STRING=${generated_cubin_file}"
-    -P "${CUDA_parse_cubin}"
-    )
-
-endif()
diff --git a/share/cmake-3.6/Modules/FindCURL.cmake b/share/cmake-3.6/Modules/FindCURL.cmake
deleted file mode 100644
index 209fd87..0000000
--- a/share/cmake-3.6/Modules/FindCURL.cmake
+++ /dev/null
@@ -1,68 +0,0 @@
-#.rst:
-# FindCURL
-# --------
-#
-# Find curl
-#
-# Find the native CURL headers and libraries.
-#
-# ::
-#
-#   CURL_INCLUDE_DIRS   - where to find curl/curl.h, etc.
-#   CURL_LIBRARIES      - List of libraries when using curl.
-#   CURL_FOUND          - True if curl found.
-#   CURL_VERSION_STRING - the version of curl found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Look for the header file.
-find_path(CURL_INCLUDE_DIR NAMES curl/curl.h)
-mark_as_advanced(CURL_INCLUDE_DIR)
-
-# Look for the library (sorted from most current/relevant entry to least).
-find_library(CURL_LIBRARY NAMES
-    curl
-  # Windows MSVC prebuilts:
-    curllib
-    libcurl_imp
-    curllib_static
-  # Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip):
-    libcurl
-)
-mark_as_advanced(CURL_LIBRARY)
-
-if(CURL_INCLUDE_DIR)
-  foreach(_curl_version_header curlver.h curl.h)
-    if(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}")
-      file(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
-
-      string(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
-      unset(curl_version_str)
-      break()
-    endif()
-  endforeach()
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if
-# all listed variables are TRUE
-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)
-
-if(CURL_FOUND)
-  set(CURL_LIBRARIES ${CURL_LIBRARY})
-  set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR})
-endif()
diff --git a/share/cmake-3.6/Modules/FindCVS.cmake b/share/cmake-3.6/Modules/FindCVS.cmake
deleted file mode 100644
index 6f545df..0000000
--- a/share/cmake-3.6/Modules/FindCVS.cmake
+++ /dev/null
@@ -1,82 +0,0 @@
-#.rst:
-# FindCVS
-# -------
-#
-#
-#
-# The module defines the following variables:
-#
-# ::
-#
-#    CVS_EXECUTABLE - path to cvs command line client
-#    CVS_FOUND - true if the command line client was found
-#
-# Example usage:
-#
-# ::
-#
-#    find_package(CVS)
-#    if(CVS_FOUND)
-#      message("CVS found: ${CVS_EXECUTABLE}")
-#    endif()
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# CVSNT
-
-get_filename_component(
-  CVSNT_TypeLib_Win32
-  "[HKEY_CLASSES_ROOT\\TypeLib\\{2BDF7A65-0BFE-4B1A-9205-9AB900C7D0DA}\\1.0\\0\\win32]"
-  PATH)
-
-get_filename_component(
-  CVSNT_Services_EventMessagePath
-  "[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Eventlog\\Application\\cvsnt;EventMessageFile]"
-  PATH)
-
-# WinCVS (in case CVSNT was installed in the same directory)
-
-get_filename_component(
-  WinCVS_Folder_Command
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Folder\\shell\\wincvs\\command]"
-  PATH)
-
-# TortoiseCVS (in case CVSNT was installed in the same directory)
-
-get_filename_component(
-  TortoiseCVS_Folder_Command
-  "[HKEY_CLASSES_ROOT\\CVS\\shell\\open\\command]"
-  PATH)
-
-get_filename_component(
-  TortoiseCVS_DefaultIcon
-  "[HKEY_CLASSES_ROOT\\CVS\\DefaultIcon]"
-  PATH)
-
-find_program(CVS_EXECUTABLE cvs
-  ${TortoiseCVS_DefaultIcon}
-  ${TortoiseCVS_Folder_Command}
-  ${WinCVS_Folder_Command}
-  ${CVSNT_Services_EventMessagePath}
-  ${CVSNT_TypeLib_Win32}
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\CVS\\Pserver;InstallPath]"
-  DOC "CVS command line client"
-  )
-mark_as_advanced(CVS_EXECUTABLE)
-
-# Handle the QUIETLY and REQUIRED arguments and set CVS_FOUND to TRUE if
-# all listed variables are TRUE
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(CVS DEFAULT_MSG CVS_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/FindCoin3D.cmake b/share/cmake-3.6/Modules/FindCoin3D.cmake
deleted file mode 100644
index f90860c..0000000
--- a/share/cmake-3.6/Modules/FindCoin3D.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-#.rst:
-# FindCoin3D
-# ----------
-#
-# Find Coin3D (Open Inventor)
-#
-# Coin3D is an implementation of the Open Inventor API.  It provides
-# data structures and algorithms for 3D visualization.
-#
-# This module defines the following variables
-#
-# ::
-#
-#   COIN3D_FOUND         - system has Coin3D - Open Inventor
-#   COIN3D_INCLUDE_DIRS  - where the Inventor include directory can be found
-#   COIN3D_LIBRARIES     - Link to this to use Coin3D
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (WIN32)
-  if (CYGWIN)
-
-    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
-    find_library(COIN3D_LIBRARIES Coin)
-
-  else ()
-
-    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
-    )
-
-    find_library(COIN3D_LIBRARY_DEBUG coin2d
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
-    )
-
-    find_library(COIN3D_LIBRARY_RELEASE coin2
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
-    )
-
-    if (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
-      set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
-                           debug ${COIN3D_LIBRARY_DEBUG})
-    else ()
-      if (COIN3D_LIBRARY_DEBUG)
-        set (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
-      endif ()
-      if (COIN3D_LIBRARY_RELEASE)
-        set (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
-      endif ()
-    endif ()
-
-  endif ()
-
-else ()
-  if(APPLE)
-    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
-     /Library/Frameworks/Inventor.framework/Headers
-    )
-    find_library(COIN3D_LIBRARIES Coin
-      /Library/Frameworks/Inventor.framework/Libraries
-    )
-    set(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
-  else()
-
-    find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
-    find_library(COIN3D_LIBRARIES Coin)
-
-  endif()
-
-endif ()
-
-# handle the QUIETLY and REQUIRED arguments and set COIN3D_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Coin3D DEFAULT_MSG COIN3D_LIBRARIES COIN3D_INCLUDE_DIRS)
-
-mark_as_advanced(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
-
-
diff --git a/share/cmake-3.6/Modules/FindCups.cmake b/share/cmake-3.6/Modules/FindCups.cmake
deleted file mode 100644
index 51eb7c5..0000000
--- a/share/cmake-3.6/Modules/FindCups.cmake
+++ /dev/null
@@ -1,79 +0,0 @@
-#.rst:
-# FindCups
-# --------
-#
-# Try to find the Cups printing system
-#
-# Once done this will define
-#
-# ::
-#
-#   CUPS_FOUND - system has Cups
-#   CUPS_INCLUDE_DIR - the Cups include directory
-#   CUPS_LIBRARIES - Libraries needed to use Cups
-#   CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
-#   Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
-#   features this function (i.e. at least 1.1.19)
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(CUPS_INCLUDE_DIR cups/cups.h )
-
-find_library(CUPS_LIBRARIES NAMES cups )
-
-if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
-    include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
-    include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-    cmake_push_check_state()
-    set(CMAKE_REQUIRED_QUIET ${Cups_FIND_QUIETLY})
-
-    # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
-    CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute "" CUPS_HAS_IPP_DELETE_ATTRIBUTE)
-    cmake_pop_check_state()
-endif ()
-
-if (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
-    file(STRINGS "${CUPS_INCLUDE_DIR}/cups/cups.h" cups_version_str
-         REGEX "^#[\t ]*define[\t ]+CUPS_VERSION_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
-
-    unset(CUPS_VERSION_STRING)
-    foreach(VPART MAJOR MINOR PATCH)
-        foreach(VLINE ${cups_version_str})
-            if(VLINE MATCHES "^#[\t ]*define[\t ]+CUPS_VERSION_${VPART}[\t ]+([0-9]+)$")
-                set(CUPS_VERSION_PART "${CMAKE_MATCH_1}")
-                if(CUPS_VERSION_STRING)
-                    set(CUPS_VERSION_STRING "${CUPS_VERSION_STRING}.${CUPS_VERSION_PART}")
-                else()
-                    set(CUPS_VERSION_STRING "${CUPS_VERSION_PART}")
-                endif()
-            endif()
-        endforeach()
-    endforeach()
-endif ()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-if (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
-    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
-                                      REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR CUPS_HAS_IPP_DELETE_ATTRIBUTE
-                                      VERSION_VAR CUPS_VERSION_STRING)
-else ()
-    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
-                                      REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR
-                                      VERSION_VAR CUPS_VERSION_STRING)
-endif ()
-
-mark_as_advanced(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
diff --git a/share/cmake-3.6/Modules/FindCurses.cmake b/share/cmake-3.6/Modules/FindCurses.cmake
deleted file mode 100644
index e236c24..0000000
--- a/share/cmake-3.6/Modules/FindCurses.cmake
+++ /dev/null
@@ -1,214 +0,0 @@
-#.rst:
-# FindCurses
-# ----------
-#
-# Find the curses or ncurses include file and library.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following variables:
-#
-# ``CURSES_FOUND``
-#   True if Curses is found.
-# ``CURSES_INCLUDE_DIRS``
-#   The include directories needed to use Curses.
-# ``CURSES_LIBRARIES``
-#   The libraries needed to use Curses.
-# ``CURSES_HAVE_CURSES_H``
-#   True if curses.h is available.
-# ``CURSES_HAVE_NCURSES_H``
-#   True if ncurses.h is available.
-# ``CURSES_HAVE_NCURSES_NCURSES_H``
-#   True if ``ncurses/ncurses.h`` is available.
-# ``CURSES_HAVE_NCURSES_CURSES_H``
-#   True if ``ncurses/curses.h`` is available.
-#
-# Set ``CURSES_NEED_NCURSES`` to ``TRUE`` before the
-# ``find_package(Curses)`` call if NCurses functionality is required.
-#
-# Backward Compatibility
-# ^^^^^^^^^^^^^^^^^^^^^^
-#
-# The following variable are provided for backward compatibility:
-#
-# ``CURSES_INCLUDE_DIR``
-#   Path to Curses include.  Use ``CURSES_INCLUDE_DIRS`` instead.
-# ``CURSES_LIBRARY``
-#   Path to Curses library.  Use ``CURSES_LIBRARIES`` instead.
-
-#=============================================================================
-# Copyright 2001-2014 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
-
-find_library(CURSES_CURSES_LIBRARY NAMES curses )
-
-find_library(CURSES_NCURSES_LIBRARY NAMES ncurses )
-set(CURSES_USE_NCURSES FALSE)
-
-if(CURSES_NCURSES_LIBRARY  AND ((NOT CURSES_CURSES_LIBRARY) OR CURSES_NEED_NCURSES))
-  set(CURSES_USE_NCURSES TRUE)
-endif()
-# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html
-# cygwin ncurses stopped providing curses.h symlinks see above
-# message.  Cygwin is an ncurses package, so force ncurses on
-# cygwin if the curses.h is missing
-if(CYGWIN)
-  if(NOT EXISTS /usr/include/curses.h)
-    set(CURSES_USE_NCURSES TRUE)
-  endif()
-endif()
-
-
-# Not sure the logic is correct here.
-# If NCurses is required, use the function wsyncup() to check if the library
-# has NCurses functionality (at least this is where it breaks on NetBSD).
-# If wsyncup is in curses, use this one.
-# If not, try to find ncurses and check if this has the symbol.
-# Once the ncurses library is found, search the ncurses.h header first, but
-# some web pages also say that even with ncurses there is not always a ncurses.h:
-# http://osdir.com/ml/gnome.apps.mc.devel/2002-06/msg00029.html
-# So at first try ncurses.h, if not found, try to find curses.h under the same
-# prefix as the library was found, if still not found, try curses.h with the
-# default search paths.
-if(CURSES_CURSES_LIBRARY  AND  CURSES_NEED_NCURSES)
-  include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-  cmake_push_check_state()
-  set(CMAKE_REQUIRED_QUIET ${Curses_FIND_QUIETLY})
-  CHECK_LIBRARY_EXISTS("${CURSES_CURSES_LIBRARY}"
-    wsyncup "" CURSES_CURSES_HAS_WSYNCUP)
-
-  if(CURSES_NCURSES_LIBRARY  AND NOT  CURSES_CURSES_HAS_WSYNCUP)
-    CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}"
-      wsyncup "" CURSES_NCURSES_HAS_WSYNCUP)
-    if( CURSES_NCURSES_HAS_WSYNCUP)
-      set(CURSES_USE_NCURSES TRUE)
-    endif()
-  endif()
-  cmake_pop_check_state()
-
-endif()
-
-if(CURSES_USE_NCURSES)
-  get_filename_component(_cursesLibDir "${CURSES_NCURSES_LIBRARY}" PATH)
-  get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
-
-  # Use CURSES_NCURSES_INCLUDE_PATH if set, for compatibility.
-  if(CURSES_NCURSES_INCLUDE_PATH)
-    find_path(CURSES_INCLUDE_PATH
-      NAMES ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h
-      PATHS ${CURSES_NCURSES_INCLUDE_PATH}
-      NO_DEFAULT_PATH
-      )
-  endif()
-
-  find_path(CURSES_INCLUDE_PATH
-    NAMES ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h
-    HINTS "${_cursesParentDir}/include"
-    )
-
-  # Previous versions of FindCurses provided these values.
-  if(NOT DEFINED CURSES_LIBRARY)
-    set(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}")
-  endif()
-
-  CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}"
-    cbreak "" CURSES_NCURSES_HAS_CBREAK)
-  if(NOT CURSES_NCURSES_HAS_CBREAK)
-    find_library(CURSES_EXTRA_LIBRARY tinfo HINTS "${_cursesLibDir}")
-    find_library(CURSES_EXTRA_LIBRARY tinfo )
-  endif()
-else()
-  get_filename_component(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
-  get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
-
-  find_path(CURSES_INCLUDE_PATH
-    NAMES curses.h
-    HINTS "${_cursesParentDir}/include"
-    )
-
-  # Previous versions of FindCurses provided these values.
-  if(NOT DEFINED CURSES_CURSES_H_PATH)
-    set(CURSES_CURSES_H_PATH "${CURSES_INCLUDE_PATH}")
-  endif()
-  if(NOT DEFINED CURSES_LIBRARY)
-    set(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}")
-  endif()
-endif()
-
-# Report whether each possible header name exists in the include directory.
-if(NOT DEFINED CURSES_HAVE_NCURSES_NCURSES_H)
-  if(EXISTS "${CURSES_INCLUDE_PATH}/ncurses/ncurses.h")
-    set(CURSES_HAVE_NCURSES_NCURSES_H "${CURSES_INCLUDE_PATH}/ncurses/ncurses.h")
-  else()
-    set(CURSES_HAVE_NCURSES_NCURSES_H "CURSES_HAVE_NCURSES_NCURSES_H-NOTFOUND")
-  endif()
-endif()
-if(NOT DEFINED CURSES_HAVE_NCURSES_CURSES_H)
-  if(EXISTS "${CURSES_INCLUDE_PATH}/ncurses/curses.h")
-    set(CURSES_HAVE_NCURSES_CURSES_H "${CURSES_INCLUDE_PATH}/ncurses/curses.h")
-  else()
-    set(CURSES_HAVE_NCURSES_CURSES_H "CURSES_HAVE_NCURSES_CURSES_H-NOTFOUND")
-  endif()
-endif()
-if(NOT DEFINED CURSES_HAVE_NCURSES_H)
-  if(EXISTS "${CURSES_INCLUDE_PATH}/ncurses.h")
-    set(CURSES_HAVE_NCURSES_H "${CURSES_INCLUDE_PATH}/ncurses.h")
-  else()
-    set(CURSES_HAVE_NCURSES_H "CURSES_HAVE_NCURSES_H-NOTFOUND")
-  endif()
-endif()
-if(NOT DEFINED CURSES_HAVE_CURSES_H)
-  if(EXISTS "${CURSES_INCLUDE_PATH}/curses.h")
-    set(CURSES_HAVE_CURSES_H "${CURSES_INCLUDE_PATH}/curses.h")
-  else()
-    set(CURSES_HAVE_CURSES_H "CURSES_HAVE_CURSES_H-NOTFOUND")
-  endif()
-endif()
-
-find_library(CURSES_FORM_LIBRARY form HINTS "${_cursesLibDir}")
-find_library(CURSES_FORM_LIBRARY form )
-
-# Previous versions of FindCurses provided these values.
-if(NOT DEFINED FORM_LIBRARY)
-  set(FORM_LIBRARY "${CURSES_FORM_LIBRARY}")
-endif()
-
-# Need to provide the *_LIBRARIES
-set(CURSES_LIBRARIES ${CURSES_LIBRARY})
-
-if(CURSES_EXTRA_LIBRARY)
-  set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_EXTRA_LIBRARY})
-endif()
-
-if(CURSES_FORM_LIBRARY)
-  set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_FORM_LIBRARY})
-endif()
-
-# Provide the *_INCLUDE_DIRS result.
-set(CURSES_INCLUDE_DIRS ${CURSES_INCLUDE_PATH})
-set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH}) # compatibility
-
-# handle the QUIETLY and REQUIRED arguments and set CURSES_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses DEFAULT_MSG
-  CURSES_LIBRARY CURSES_INCLUDE_PATH)
-
-mark_as_advanced(
-  CURSES_INCLUDE_PATH
-  CURSES_CURSES_LIBRARY
-  CURSES_NCURSES_LIBRARY
-  CURSES_EXTRA_LIBRARY
-  )
diff --git a/share/cmake-3.6/Modules/FindCxxTest.cmake b/share/cmake-3.6/Modules/FindCxxTest.cmake
deleted file mode 100644
index bc0dfbc..0000000
--- a/share/cmake-3.6/Modules/FindCxxTest.cmake
+++ /dev/null
@@ -1,250 +0,0 @@
-#.rst:
-# FindCxxTest
-# -----------
-#
-# Find CxxTest
-#
-# Find the CxxTest suite and declare a helper macro for creating unit
-# tests and integrating them with CTest.  For more details on CxxTest
-# see http://cxxtest.tigris.org
-#
-# INPUT Variables
-#
-# ::
-#
-#    CXXTEST_USE_PYTHON [deprecated since 1.3]
-#        Only used in the case both Python & Perl
-#        are detected on the system to control
-#        which CxxTest code generator is used.
-#        Valid only for CxxTest version 3.
-#
-#
-#
-# ::
-#
-#        NOTE: In older versions of this Find Module,
-#        this variable controlled if the Python test
-#        generator was used instead of the Perl one,
-#        regardless of which scripting language the
-#        user had installed.
-#
-#
-#
-# ::
-#
-#    CXXTEST_TESTGEN_ARGS (since CMake 2.8.3)
-#        Specify a list of options to pass to the CxxTest code
-#        generator.  If not defined, --error-printer is
-#        passed.
-#
-#
-#
-# OUTPUT Variables
-#
-# ::
-#
-#    CXXTEST_FOUND
-#        True if the CxxTest framework was found
-#    CXXTEST_INCLUDE_DIRS
-#        Where to find the CxxTest include directory
-#    CXXTEST_PERL_TESTGEN_EXECUTABLE
-#        The perl-based test generator
-#    CXXTEST_PYTHON_TESTGEN_EXECUTABLE
-#        The python-based test generator
-#    CXXTEST_TESTGEN_EXECUTABLE (since CMake 2.8.3)
-#        The test generator that is actually used (chosen using user preferences
-#        and interpreters found in the system)
-#    CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
-#        The full path to the Perl or Python executable on the system
-#
-#
-#
-# MACROS for optional use by CMake users:
-#
-# ::
-#
-#     CXXTEST_ADD_TEST(<test_name> <gen_source_file> <input_files_to_testgen...>)
-#        Creates a CxxTest runner and adds it to the CTest testing suite
-#        Parameters:
-#            test_name               The name of the test
-#            gen_source_file         The generated source filename to be
-#                                    generated by CxxTest
-#            input_files_to_testgen  The list of header files containing the
-#                                    CxxTest::TestSuite's to be included in
-#                                    this runner
-#
-#
-#
-# ::
-#
-#        #==============
-#        Example Usage:
-#
-#
-#
-# ::
-#
-#            find_package(CxxTest)
-#            if(CXXTEST_FOUND)
-#                include_directories(${CXXTEST_INCLUDE_DIR})
-#                enable_testing()
-#
-#
-#
-# ::
-#
-#                CXXTEST_ADD_TEST(unittest_foo foo_test.cc
-#                                  ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
-#                target_link_libraries(unittest_foo foo) # as needed
-#            endif()
-#
-#
-#
-# ::
-#
-#               This will (if CxxTest is found):
-#               1. Invoke the testgen executable to autogenerate foo_test.cc in the
-#                  binary tree from "foo_test.h" in the current source directory.
-#               2. Create an executable and test called unittest_foo.
-#
-#
-#
-# ::
-#
-#       #=============
-#       Example foo_test.h:
-#
-#
-#
-# ::
-#
-#           #include <cxxtest/TestSuite.h>
-#
-#
-#
-# ::
-#
-#           class MyTestSuite : public CxxTest::TestSuite
-#           {
-#           public:
-#              void testAddition( void )
-#              {
-#                 TS_ASSERT( 1 + 1 > 1 );
-#                 TS_ASSERT_EQUALS( 1 + 1, 2 );
-#              }
-#           };
-
-#=============================================================================
-# Copyright 2008-2010 Kitware, Inc.
-# Copyright 2008-2010 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Version 1.4 (11/18/10) (CMake 2.8.4)
-#     Issue 11384: Added support to the CXX_ADD_TEST macro so header
-#                  files (containing the tests themselves) show up in
-#                  Visual Studio and other IDEs.
-#
-# Version 1.3 (8/19/10) (CMake 2.8.3)
-#     Included patch by Simone Rossetto to check if either Python or Perl
-#     are present in the system.  Whichever intepreter that is detected
-#     is now used to run the test generator program.  If both interpreters
-#     are detected, the CXXTEST_USE_PYTHON variable is obeyed.
-#
-#     Also added support for CXXTEST_TESTGEN_ARGS, for manually specifying
-#     options to the CxxTest code generator.
-# Version 1.2 (3/2/08)
-#     Included patch from Tyler Roscoe to have the perl & python binaries
-#     detected based on CXXTEST_INCLUDE_DIR
-# Version 1.1 (2/9/08)
-#     Clarified example to illustrate need to call target_link_libraries()
-#     Changed commands to lowercase
-#     Added licensing info
-# Version 1.0 (1/8/08)
-#     Fixed CXXTEST_INCLUDE_DIRS so it will work properly
-#     Eliminated superfluous CXXTEST_FOUND assignment
-#     Cleaned up and added more documentation
-
-#=============================================================
-# CXXTEST_ADD_TEST (public macro)
-#=============================================================
-macro(CXXTEST_ADD_TEST _cxxtest_testname _cxxtest_outfname)
-    set(_cxxtest_real_outfname ${CMAKE_CURRENT_BINARY_DIR}/${_cxxtest_outfname})
-
-    add_custom_command(
-        OUTPUT  ${_cxxtest_real_outfname}
-        DEPENDS ${ARGN}
-        COMMAND ${CXXTEST_TESTGEN_INTERPRETER}
-        ${CXXTEST_TESTGEN_EXECUTABLE} ${CXXTEST_TESTGEN_ARGS} -o ${_cxxtest_real_outfname} ${ARGN}
-    )
-
-    set_source_files_properties(${_cxxtest_real_outfname} PROPERTIES GENERATED true)
-    add_executable(${_cxxtest_testname} ${_cxxtest_real_outfname} ${ARGN})
-
-    if(CMAKE_RUNTIME_OUTPUT_DIRECTORY)
-        add_test(${_cxxtest_testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_cxxtest_testname})
-    elseif(EXECUTABLE_OUTPUT_PATH)
-        add_test(${_cxxtest_testname} ${EXECUTABLE_OUTPUT_PATH}/${_cxxtest_testname})
-    else()
-        add_test(${_cxxtest_testname} ${CMAKE_CURRENT_BINARY_DIR}/${_cxxtest_testname})
-    endif()
-
-endmacro()
-
-#=============================================================
-# main()
-#=============================================================
-if(NOT DEFINED CXXTEST_TESTGEN_ARGS)
-   set(CXXTEST_TESTGEN_ARGS --error-printer)
-endif()
-
-find_package(PythonInterp QUIET)
-find_package(Perl QUIET)
-
-find_path(CXXTEST_INCLUDE_DIR cxxtest/TestSuite.h)
-find_program(CXXTEST_PYTHON_TESTGEN_EXECUTABLE
-         NAMES cxxtestgen cxxtestgen.py
-         PATHS ${CXXTEST_INCLUDE_DIR})
-find_program(CXXTEST_PERL_TESTGEN_EXECUTABLE cxxtestgen.pl
-         PATHS ${CXXTEST_INCLUDE_DIR})
-
-if(PYTHONINTERP_FOUND OR PERL_FOUND)
-   include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-   if(PYTHONINTERP_FOUND AND (CXXTEST_USE_PYTHON OR NOT PERL_FOUND OR NOT DEFINED CXXTEST_USE_PYTHON))
-      set(CXXTEST_TESTGEN_EXECUTABLE ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE})
-      set(CXXTEST_TESTGEN_INTERPRETER ${PYTHON_EXECUTABLE})
-      FIND_PACKAGE_HANDLE_STANDARD_ARGS(CxxTest DEFAULT_MSG
-          CXXTEST_INCLUDE_DIR CXXTEST_PYTHON_TESTGEN_EXECUTABLE)
-
-   elseif(PERL_FOUND)
-      set(CXXTEST_TESTGEN_EXECUTABLE ${CXXTEST_PERL_TESTGEN_EXECUTABLE})
-      set(CXXTEST_TESTGEN_INTERPRETER ${PERL_EXECUTABLE})
-      FIND_PACKAGE_HANDLE_STANDARD_ARGS(CxxTest DEFAULT_MSG
-          CXXTEST_INCLUDE_DIR CXXTEST_PERL_TESTGEN_EXECUTABLE)
-   endif()
-
-   if(CXXTEST_FOUND)
-      set(CXXTEST_INCLUDE_DIRS ${CXXTEST_INCLUDE_DIR})
-   endif()
-
-else()
-
-   set(CXXTEST_FOUND false)
-   if(NOT CxxTest_FIND_QUIETLY)
-      if(CxxTest_FIND_REQUIRED)
-         message(FATAL_ERROR "Neither Python nor Perl found, cannot use CxxTest, aborting!")
-      else()
-         message(STATUS "Neither Python nor Perl found, CxxTest will not be used.")
-      endif()
-   endif()
-
-endif()
diff --git a/share/cmake-3.6/Modules/FindCygwin.cmake b/share/cmake-3.6/Modules/FindCygwin.cmake
deleted file mode 100644
index 5cb533b..0000000
--- a/share/cmake-3.6/Modules/FindCygwin.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-#.rst:
-# FindCygwin
-# ----------
-#
-# this module looks for Cygwin
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (WIN32)
-  find_path(CYGWIN_INSTALL_PATH
-    cygwin.bat
-    "C:/Cygwin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygwin\\setup;rootdir]"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/;native]"
-  )
-
-  mark_as_advanced(
-    CYGWIN_INSTALL_PATH
-  )
-endif ()
diff --git a/share/cmake-3.6/Modules/FindDCMTK.cmake b/share/cmake-3.6/Modules/FindDCMTK.cmake
deleted file mode 100644
index 63d253d..0000000
--- a/share/cmake-3.6/Modules/FindDCMTK.cmake
+++ /dev/null
@@ -1,340 +0,0 @@
-#.rst:
-# FindDCMTK
-# ---------
-#
-# Find DCMTK libraries and applications
-#
-# The module defines the following variables::
-#
-#  DCMTK_INCLUDE_DIRS  - Directories to include to use DCMTK
-#  DCMTK_LIBRARIES     - Files to link against to use DCMTK
-#  DCMTK_FOUND         - If false, don't try to use DCMTK
-#  DCMTK_DIR           - (optional) Source directory for DCMTK
-#
-# Compatibility
-# ^^^^^^^^^^^^^
-#
-# This module is able to find a version of DCMTK that does or does not export
-# a *DCMTKConfig.cmake* file. It applies a two step process:
-#
-# * Step 1:  Attempt to find DCMTK version providing a *DCMTKConfig.cmake* file.
-# * Step 2:  If step 1 failed, rely on *FindDCMTK.cmake* to set `DCMTK_*` variables details below.
-#
-#
-# `Recent DCMTK
-# <http://git.dcmtk.org/web?p=dcmtk.git;a=commit;h=662ae187c493c6b9a73dd5e3875372cebd0c11fe>`_
-# provides a *DCMTKConfig.cmake* :manual:`package configuration file
-# <cmake-packages(7)>`. To exclusively use the package configuration file
-# (recommended when possible), pass the `NO_MODULE` option to
-# :command:`find_package`. For example, `find_package(DCMTK NO_MODULE)`.
-# This requires official DCMTK snapshot *3.6.1_20140617* or newer.
-#
-#
-# Until all clients update to the more recent DCMTK, build systems will need
-# to support different versions of DCMTK.
-#
-# On any given system, the following combinations of DCMTK versions could be
-# considered:
-#
-# +--------+---------------------+-----------------------+-------------------+
-# |        |   SYSTEM DCMTK      |      LOCAL DCMTK      |     Supported ?   |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case A |   NA                |      [ ] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case B |   NA                |      [X] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case C |   [ ] DCMTKConfig   |      NA               |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case D |   [X] DCMTKConfig   |      NA               |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case E |   [ ] DCMTKConfig   |      [ ] DCMTKConfig  |         YES (*)   |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case F |   [X] DCMTKConfig   |      [ ] DCMTKConfig  |         NO        |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case G |   [ ] DCMTKConfig   |      [X] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case H |   [X] DCMTKConfig   |      [X] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-#
-#  (*) See Troubleshooting section.
-#
-# Legend:
-#
-#   NA ...............: Means that no System or Local DCMTK is available
-#
-#   [ ] DCMTKConfig ..: Means that the version of DCMTK does NOT export a DCMTKConfig.cmake file.
-#
-#   [X] DCMTKConfig ..: Means that the version of DCMTK exports a DCMTKConfig.cmake file.
-#
-#
-# Troubleshooting
-# ^^^^^^^^^^^^^^^
-#
-# What to do if my project finds a different version of DCMTK?
-#
-# Remove DCMTK entry from the CMake cache per :command:`find_package`
-# documentation.
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2009-2010 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-# Copyright 2010 Thomas Sondergaard <ts@medical-insight.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# Written for VXL by Amitha Perera.
-# Upgraded for GDCM by Mathieu Malaterre.
-# Modified for EasyViz by Thomas Sondergaard.
-#
-
-set(_dcmtk_dir_description "The directory of DCMTK build or install tree.")
-
-# Ensure that DCMTK_DIR is set to a reasonable default value
-# so that DCMTK libraries can be found on a standard Unix distribution.
-# It also overwrite the value of DCMTK_DIR after this one has been
-# set by a successful discovery of DCMTK by the unpatched FindDCMTK.cmake module
-# distributed with CMake (as of 0167cea)
-if(NOT DCMTK_DIR OR DCMTK_DIR STREQUAL "/usr/include/dcmtk")
-  set(DCMTK_DIR "/usr" CACHE PATH ${_dcmtk_dir_description} FORCE)
-endif()
-
-set(_SAVED_DCMTK_DIR ${DCMTK_DIR})
-
-#
-# 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")
-endif()
-find_package(DCMTK QUIET NO_MODULE)
-if(DCMTK_FOUND
-    AND NOT "x" STREQUAL "x${DCMTK_LIBRARIES}"
-    AND NOT "x" STREQUAL "x${DCMTK_INCLUDE_DIRS}")
-
-  if(NOT DCMTK_FIND_QUIETLY)
-    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok")
-  endif()
-  return()
-else()
-  if(NOT DCMTK_FIND_QUIETLY)
-    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - failed")
-  endif()
-endif()
-
-if(NOT DCMTK_FIND_QUIETLY)
-  message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake")
-endif()
-
-# Restore the value reset by the previous call to 'find_package(DCMTK QUIET NO_MODULE)'
-set(DCMTK_DIR ${_SAVED_DCMTK_DIR} CACHE PATH ${_dcmtk_dir_description} FORCE)
-
-
-#
-# Step2: Attempt to find a version of DCMTK that does NOT provide a DCMTKConfig.cmake file.
-#
-
-# prefer DCMTK_DIR over default system paths like /usr/lib
-if(DCMTK_DIR)
-  set(CMAKE_PREFIX_PATH ${DCMTK_DIR}/lib ${CMAKE_PREFIX_PATH}) # this is given to FIND_LIBRARY or FIND_PATH
-endif()
-
-# Find all libraries, store debug and release separately
-foreach(lib
-    dcmpstat
-    dcmsr
-    dcmsign
-    dcmtls
-    dcmqrdb
-    dcmnet
-    dcmjpeg
-    dcmimage
-    dcmimgle
-    dcmdata
-    oflog
-    ofstd
-    ijg12
-    ijg16
-    ijg8
-    )
-
-  # Find Release libraries
-  find_library(DCMTK_${lib}_LIBRARY_RELEASE
-    ${lib}
-    PATHS
-    ${DCMTK_DIR}/${lib}/libsrc
-    ${DCMTK_DIR}/${lib}/libsrc/Release
-    ${DCMTK_DIR}/${lib}/Release
-    ${DCMTK_DIR}/lib
-    ${DCMTK_DIR}/lib/Release
-    ${DCMTK_DIR}/dcmjpeg/lib${lib}/Release
-    NO_DEFAULT_PATH
-    )
-
-  # Find Debug libraries
-  find_library(DCMTK_${lib}_LIBRARY_DEBUG
-    ${lib}${DCMTK_CMAKE_DEBUG_POSTFIX}
-    PATHS
-    ${DCMTK_DIR}/${lib}/libsrc
-    ${DCMTK_DIR}/${lib}/libsrc/Debug
-    ${DCMTK_DIR}/${lib}/Debug
-    ${DCMTK_DIR}/lib
-    ${DCMTK_DIR}/lib/Debug
-    ${DCMTK_DIR}/dcmjpeg/lib${lib}/Debug
-    NO_DEFAULT_PATH
-    )
-
-  mark_as_advanced(DCMTK_${lib}_LIBRARY_RELEASE)
-  mark_as_advanced(DCMTK_${lib}_LIBRARY_DEBUG)
-
-  # Add libraries to variable according to build type
-  if(DCMTK_${lib}_LIBRARY_RELEASE)
-    list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
-  endif()
-
-  if(DCMTK_${lib}_LIBRARY_DEBUG)
-    list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
-  endif()
-
-endforeach()
-
-set(CMAKE_THREAD_LIBS_INIT)
-if(DCMTK_oflog_LIBRARY_RELEASE OR DCMTK_oflog_LIBRARY_DEBUG)
-  # Hack - Not having a DCMTKConfig.cmake file to read the settings from, we will attempt to
-  # find the library in all cases.
-  # Ideally, pthread library should be discovered only if DCMTK_WITH_THREADS is enabled.
-  set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-  find_package(Threads)
-endif()
-
-if(CMAKE_THREAD_LIBS_INIT)
-  list(APPEND DCMTK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-endif()
-
-#
-# SPECIFIC CASE FOR DCMTK BUILD DIR as DCMTK_DIR
-# (as opposed to a DCMTK install dir)
-# Have to find the source directory.
-if(EXISTS ${DCMTK_DIR}/CMakeCache.txt)
-          load_cache(${DCMTK_DIR} READ_WITH_PREFIX "EXT"
-          DCMTK_SOURCE_DIR)
-  if(NOT EXISTS ${EXTDCMTK_SOURCE_DIR})
-    message(FATAL_ERROR
-      "DCMTK build directory references
-nonexistant DCMTK source directory ${EXTDCMTK_SOURCE_DIR}")
-  endif()
-endif()
-
-set(DCMTK_config_TEST_HEADER osconfig.h)
-set(DCMTK_dcmdata_TEST_HEADER dctypes.h)
-set(DCMTK_dcmimage_TEST_HEADER dicoimg.h)
-set(DCMTK_dcmimgle_TEST_HEADER dcmimage.h)
-set(DCMTK_dcmjpeg_TEST_HEADER djdecode.h)
-set(DCMTK_dcmnet_TEST_HEADER assoc.h)
-set(DCMTK_dcmpstat_TEST_HEADER dcmpstat.h)
-set(DCMTK_dcmqrdb_TEST_HEADER dcmqrdba.h)
-set(DCMTK_dcmsign_TEST_HEADER sicert.h)
-set(DCMTK_dcmsr_TEST_HEADER dsrtree.h)
-set(DCMTK_dcmtls_TEST_HEADER tlslayer.h)
-set(DCMTK_ofstd_TEST_HEADER ofstdinc.h)
-set(DCMTK_oflog_TEST_HEADER oflog.h)
-set(DCMTK_dcmjpls_TEST_HEADER djlsutil.h)
-
-set(DCMTK_INCLUDE_DIR_NAMES)
-
-foreach(dir
-    config
-    dcmdata
-    dcmimage
-    dcmimgle
-    dcmjpeg
-    dcmjpls
-    dcmnet
-    dcmpstat
-    dcmqrdb
-    dcmsign
-    dcmsr
-    dcmtls
-    ofstd
-    oflog)
-  if(EXTDCMTK_SOURCE_DIR)
-    set(SOURCE_DIR_PATH
-      ${EXTDCMTK_SOURCE_DIR}/${dir}/include/dcmtk/${dir})
-  endif()
-  find_path(DCMTK_${dir}_INCLUDE_DIR
-    ${DCMTK_${dir}_TEST_HEADER}
-    PATHS
-    ${DCMTK_DIR}/${dir}/include
-    ${DCMTK_DIR}/${dir}
-    ${DCMTK_DIR}/include/dcmtk/${dir}
-    ${DCMTK_DIR}/${dir}/include/dcmtk/${dir}
-    ${DCMTK_DIR}/include/${dir}
-    ${SOURCE_DIR_PATH}
-    )
-  mark_as_advanced(DCMTK_${dir}_INCLUDE_DIR)
-  list(APPEND DCMTK_INCLUDE_DIR_NAMES DCMTK_${dir}_INCLUDE_DIR)
-
-  if(DCMTK_${dir}_INCLUDE_DIR)
-    # add the 'include' path so eg
-    #include "dcmtk/dcmimgle/dcmimage.h"
-    # works
-    get_filename_component(_include ${DCMTK_${dir}_INCLUDE_DIR} PATH)
-    get_filename_component(_include ${_include} PATH)
-    list(APPEND
-      DCMTK_INCLUDE_DIRS
-      ${DCMTK_${dir}_INCLUDE_DIR}
-      ${_include})
-  endif()
-endforeach()
-
-list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_DIR}/include)
-
-if(WIN32)
-  list(APPEND DCMTK_LIBRARIES netapi32 wsock32)
-endif()
-
-if(DCMTK_ofstd_INCLUDE_DIR)
-  get_filename_component(DCMTK_dcmtk_INCLUDE_DIR
-    ${DCMTK_ofstd_INCLUDE_DIR}
-    PATH
-    CACHE)
-  list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_dcmtk_INCLUDE_DIR})
-  mark_as_advanced(DCMTK_dcmtk_INCLUDE_DIR)
-endif()
-
-# Compatibility: This variable is deprecated
-set(DCMTK_INCLUDE_DIR ${DCMTK_INCLUDE_DIRS})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(DCMTK
-  REQUIRED_VARS ${DCMTK_INCLUDE_DIR_NAMES} DCMTK_LIBRARIES
-  FAIL_MESSAGE "Please set DCMTK_DIR and re-run configure")
-
-# Workaround bug in packaging of DCMTK 3.6.0 on Debian.
-# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637687
-if(DCMTK_FOUND AND UNIX AND NOT APPLE)
-  include(CheckCXXSourceCompiles)
-  set(CMAKE_REQUIRED_FLAGS )
-  set(CMAKE_REQUIRED_DEFINITIONS )
-  set(CMAKE_REQUIRED_INCLUDES ${DCMTK_INCLUDE_DIRS})
-  set(CMAKE_REQUIRED_LIBRARIES ${DCMTK_LIBRARIES})
-  set(CMAKE_REQUIRED_QUIET ${DCMTK_FIND_QUIETLY})
-  check_cxx_source_compiles("#include <dcmtk/config/osconfig.h>\n#include <dcmtk/ofstd/ofstream.h>\nint main(int,char*[]){return 0;}"
-    DCMTK_HAVE_CONFIG_H_OPTIONAL
-    )
-  if(NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
-    set(DCMTK_DEFINITIONS "HAVE_CONFIG_H")
-  endif()
-endif()
-
-if(NOT DCMTK_FIND_QUIETLY)
-  message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake - ok")
-endif()
diff --git a/share/cmake-3.6/Modules/FindDart.cmake b/share/cmake-3.6/Modules/FindDart.cmake
deleted file mode 100644
index ea01fc2..0000000
--- a/share/cmake-3.6/Modules/FindDart.cmake
+++ /dev/null
@@ -1,44 +0,0 @@
-#.rst:
-# FindDart
-# --------
-#
-# Find DART
-#
-# This module looks for the dart testing software and sets DART_ROOT to
-# point to where it found it.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(DART_ROOT README.INSTALL
-    HINTS
-      ENV DART_ROOT
-    PATHS
-      ${PROJECT_SOURCE_DIR}
-      /usr/share
-      C:/
-      "C:/Program Files"
-      ${PROJECT_SOURCE_DIR}/..
-      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Dart\\InstallPath]
-      ENV ProgramFiles
-    PATH_SUFFIXES
-      Dart
-    DOC "If you have Dart installed, where is it located?"
-    )
-
-# handle the QUIETLY and REQUIRED arguments and set DART_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Dart DEFAULT_MSG DART_ROOT)
-
-mark_as_advanced(DART_ROOT)
diff --git a/share/cmake-3.6/Modules/FindDevIL.cmake b/share/cmake-3.6/Modules/FindDevIL.cmake
deleted file mode 100644
index 865d061..0000000
--- a/share/cmake-3.6/Modules/FindDevIL.cmake
+++ /dev/null
@@ -1,83 +0,0 @@
-#.rst:
-# FindDevIL
-# ---------
-#
-#
-#
-# This module locates the developer's image library.
-# http://openil.sourceforge.net/
-#
-# This module sets:
-#
-# ::
-#
-#    IL_LIBRARIES -   the name of the IL library. These include the full path to
-#                     the core DevIL library. This one has to be linked into the
-#                     application.
-#    ILU_LIBRARIES -  the name of the ILU library. Again, the full path. This
-#                     library is for filters and effects, not actual loading. It
-#                     doesn't have to be linked if the functionality it provides
-#                     is not used.
-#    ILUT_LIBRARIES - the name of the ILUT library. Full path. This part of the
-#                     library interfaces with OpenGL. It is not strictly needed
-#                     in applications.
-#    IL_INCLUDE_DIR - where to find the il.h, ilu.h and ilut.h files.
-#    IL_FOUND -       this is set to TRUE if all the above variables were set.
-#                     This will be set to false if ILU or ILUT are not found,
-#                     even if they are not needed. In most systems, if one
-#                     library is found all the others are as well. That's the
-#                     way the DevIL developers release it.
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-# Copyright 2008 Christopher Harvey
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# TODO: Add version support.
-# Tested under Linux and Windows (MSVC)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-find_path(IL_INCLUDE_DIR il.h
-  PATH_SUFFIXES include IL
-  DOC "The path to the directory that contains il.h"
-)
-
-#message("IL_INCLUDE_DIR is ${IL_INCLUDE_DIR}")
-
-find_library(IL_LIBRARIES
-  NAMES IL DEVIL
-  PATH_SUFFIXES lib64 lib lib32
-  DOC "The file that corresponds to the base il library."
-)
-
-#message("IL_LIBRARIES is ${IL_LIBRARIES}")
-
-find_library(ILUT_LIBRARIES
-  NAMES ILUT
-  PATH_SUFFIXES lib64 lib lib32
-  DOC "The file that corresponds to the il (system?) utility library."
-)
-
-#message("ILUT_LIBRARIES is ${ILUT_LIBRARIES}")
-
-find_library(ILU_LIBRARIES
-  NAMES ILU
-  PATH_SUFFIXES lib64 lib lib32
-  DOC "The file that corresponds to the il utility library."
-)
-
-#message("ILU_LIBRARIES is ${ILU_LIBRARIES}")
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(IL DEFAULT_MSG
-                                  IL_LIBRARIES ILU_LIBRARIES
-                                  ILUT_LIBRARIES IL_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindDoxygen.cmake b/share/cmake-3.6/Modules/FindDoxygen.cmake
deleted file mode 100644
index d34941a..0000000
--- a/share/cmake-3.6/Modules/FindDoxygen.cmake
+++ /dev/null
@@ -1,171 +0,0 @@
-#.rst:
-# FindDoxygen
-# -----------
-#
-# This module looks for Doxygen and the path to Graphviz's dot
-#
-# Doxygen is a documentation generation tool.  Please see
-# http://www.doxygen.org
-#
-# This module accepts the following optional variables:
-#
-# ::
-#
-#    DOXYGEN_SKIP_DOT       = If true this module will skip trying to find Dot
-#                             (an optional component often used by Doxygen)
-#
-#
-#
-# This modules defines the following variables:
-#
-# ::
-#
-#    DOXYGEN_EXECUTABLE     = The path to the doxygen command.
-#    DOXYGEN_FOUND          = Was Doxygen found or not?
-#    DOXYGEN_VERSION        = The version reported by doxygen --version
-#
-#
-#
-# ::
-#
-#    DOXYGEN_DOT_EXECUTABLE = The path to the dot program used by doxygen.
-#    DOXYGEN_DOT_FOUND      = Was Dot found or not?
-#
-# For compatibility with older versions of CMake, the now-deprecated
-# variable ``DOXYGEN_DOT_PATH`` is set to the path to the directory
-# containing ``dot`` as reported in ``DOXYGEN_DOT_EXECUTABLE``.
-# The path may have forward slashes even on Windows and is not
-# suitable for direct substitution into a ``Doxyfile.in`` template.
-# If you need this value, use :command:`get_filename_component`
-# to compute it from ``DOXYGEN_DOT_EXECUTABLE`` directly, and
-# perhaps the :command:`file(TO_NATIVE_PATH)` command to prepare
-# the path for a Doxygen configuration file.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# For backwards compatibility support
-if(Doxygen_FIND_QUIETLY)
-  set(DOXYGEN_FIND_QUIETLY TRUE)
-endif()
-
-# ===== Rationale for OS X AppBundle mods below =====
-#     With the OS X GUI version, Doxygen likes to be installed to /Applications and
-#     it contains the doxygen executable in the bundle. In the versions I've
-#     seen, it is located in Resources, but in general, more often binaries are
-#     located in MacOS.
-#
-#     NOTE: The official Doxygen.app that is distributed for OS X uses non-standard
-#     conventions.  Instead of the command-line "doxygen" tool being placed in
-#     Doxygen.app/Contents/MacOS, "Doxywizard" is placed there instead and
-#     "doxygen" is placed in Contents/Resources.  This is most likely done
-#     so that something happens when people double-click on the Doxygen.app
-#     package.  Unfortunately, CMake gets confused by this as when it sees the
-#     bundle it uses "Doxywizard" as the executable to use instead of
-#     "doxygen".  Therefore to work-around this issue we temporarily disable
-#     the app-bundle feature, just for this CMake module:
-if(APPLE)
-    #  Save the old setting
-    set(TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
-    # Disable the App-bundle detection feature
-    set(CMAKE_FIND_APPBUNDLE "NEVER")
-endif()
-#     FYI:
-#     In the older versions of OS X Doxygen, dot was included with the
-#     Doxygen bundle. But the new versions require you to download
-#     Graphviz.app which contains "dot" in it's bundle.
-# ============== End OSX stuff ================
-
-#
-# Find Doxygen...
-#
-
-find_program(DOXYGEN_EXECUTABLE
-  NAMES doxygen
-  PATHS
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\doxygen_is1;Inno Setup: App Path]/bin"
-    /Applications/Doxygen.app/Contents/Resources
-    /Applications/Doxygen.app/Contents/MacOS
-  DOC "Doxygen documentation generation tool (http://www.doxygen.org)"
-)
-
-if(DOXYGEN_EXECUTABLE)
-  execute_process(COMMAND ${DOXYGEN_EXECUTABLE} "--version" OUTPUT_VARIABLE DOXYGEN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Doxygen REQUIRED_VARS DOXYGEN_EXECUTABLE VERSION_VAR DOXYGEN_VERSION)
-
-#
-# Find Dot...
-#
-
-set(_x86 "(x86)")
-file(GLOB _Doxygen_GRAPHVIZ_BIN_DIRS
-  "$ENV{ProgramFiles}/Graphviz*/bin"
-  "$ENV{ProgramFiles${_x86}}/Graphviz*/bin"
-  )
-unset(_x86)
-
-if(NOT DOXYGEN_SKIP_DOT)
-  find_program(DOXYGEN_DOT_EXECUTABLE
-    NAMES dot
-    PATHS
-      ${_Doxygen_GRAPHVIZ_BIN_DIRS}
-      "$ENV{ProgramFiles}/ATT/Graphviz/bin"
-      "C:/Program Files/ATT/Graphviz/bin"
-      [HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin
-      /Applications/Graphviz.app/Contents/MacOS
-      /Applications/Doxygen.app/Contents/Resources
-      /Applications/Doxygen.app/Contents/MacOS
-    DOC "Graphviz Dot tool for using Doxygen"
-  )
-
-  if(DOXYGEN_DOT_EXECUTABLE)
-    set(DOXYGEN_DOT_FOUND TRUE)
-    # The Doxyfile wants the path to Dot, not the entire path and executable
-    get_filename_component(DOXYGEN_DOT_PATH "${DOXYGEN_DOT_EXECUTABLE}" PATH)
-  endif()
-
-endif()
-
-#
-# Backwards compatibility...
-#
-
-if(APPLE)
-  # Restore the old app-bundle setting setting
-  set(CMAKE_FIND_APPBUNDLE ${TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE})
-endif()
-
-# Maintain the _FOUND variables as "YES" or "NO" for backwards compatibility
-# (allows people to stuff them directly into Doxyfile with configure_file())
-if(DOXYGEN_FOUND)
-  set(DOXYGEN_FOUND "YES")
-else()
-  set(DOXYGEN_FOUND "NO")
-endif()
-if(DOXYGEN_DOT_FOUND)
-  set(DOXYGEN_DOT_FOUND "YES")
-else()
-  set(DOXYGEN_DOT_FOUND "NO")
-endif()
-
-# For backwards compatibility support
-set (DOXYGEN ${DOXYGEN_EXECUTABLE} )
-set (DOT ${DOXYGEN_DOT_EXECUTABLE} )
-
-mark_as_advanced(
-  DOXYGEN_EXECUTABLE
-  DOXYGEN_DOT_EXECUTABLE
-  )
diff --git a/share/cmake-3.6/Modules/FindEXPAT.cmake b/share/cmake-3.6/Modules/FindEXPAT.cmake
deleted file mode 100644
index 653094c..0000000
--- a/share/cmake-3.6/Modules/FindEXPAT.cmake
+++ /dev/null
@@ -1,66 +0,0 @@
-#.rst:
-# FindEXPAT
-# ---------
-#
-# Find expat
-#
-# Find the native EXPAT headers and libraries.
-#
-# ::
-#
-#   EXPAT_INCLUDE_DIRS - where to find expat.h, etc.
-#   EXPAT_LIBRARIES    - List of libraries when using expat.
-#   EXPAT_FOUND        - True if expat found.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Look for the header file.
-find_path(EXPAT_INCLUDE_DIR NAMES expat.h)
-
-# Look for the library.
-find_library(EXPAT_LIBRARY NAMES expat libexpat)
-
-if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
-    file(STRINGS "${EXPAT_INCLUDE_DIR}/expat.h" expat_version_str
-         REGEX "^#[\t ]*define[\t ]+XML_(MAJOR|MINOR|MICRO)_VERSION[\t ]+[0-9]+$")
-
-    unset(EXPAT_VERSION_STRING)
-    foreach(VPART MAJOR MINOR MICRO)
-        foreach(VLINE ${expat_version_str})
-            if(VLINE MATCHES "^#[\t ]*define[\t ]+XML_${VPART}_VERSION[\t ]+([0-9]+)$")
-                set(EXPAT_VERSION_PART "${CMAKE_MATCH_1}")
-                if(EXPAT_VERSION_STRING)
-                    set(EXPAT_VERSION_STRING "${EXPAT_VERSION_STRING}.${EXPAT_VERSION_PART}")
-                else()
-                    set(EXPAT_VERSION_STRING "${EXPAT_VERSION_PART}")
-                endif()
-            endif()
-        endforeach()
-    endforeach()
-endif ()
-
-# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT
-                                  REQUIRED_VARS EXPAT_LIBRARY EXPAT_INCLUDE_DIR
-                                  VERSION_VAR EXPAT_VERSION_STRING)
-
-# Copy the results to the output variables.
-if(EXPAT_FOUND)
-  set(EXPAT_LIBRARIES ${EXPAT_LIBRARY})
-  set(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
-endif()
-
-mark_as_advanced(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindFLEX.cmake b/share/cmake-3.6/Modules/FindFLEX.cmake
deleted file mode 100644
index b50c74a..0000000
--- a/share/cmake-3.6/Modules/FindFLEX.cmake
+++ /dev/null
@@ -1,233 +0,0 @@
-#.rst:
-# FindFLEX
-# --------
-#
-# Find flex executable and provides a macro to generate custom build rules
-#
-#
-#
-# The module defines the following variables:
-#
-# ::
-#
-#   FLEX_FOUND - true is flex executable is found
-#   FLEX_EXECUTABLE - the path to the flex executable
-#   FLEX_VERSION - the version of flex
-#   FLEX_LIBRARIES - The flex libraries
-#   FLEX_INCLUDE_DIRS - The path to the flex headers
-#
-#
-#
-# The minimum required version of flex can be specified using the
-# standard syntax, e.g.  find_package(FLEX 2.5.13)
-#
-#
-#
-# If flex is found on the system, the module provides the macro:
-#
-# ::
-#
-#   FLEX_TARGET(Name FlexInput FlexOutput
-#               [COMPILE_FLAGS <string>]
-#               [DEFINES_FILE <string>]
-#               )
-#
-# which creates a custom command to generate the <FlexOutput> file from
-# the <FlexInput> file.  If COMPILE_FLAGS option is specified, the next
-# parameter is added to the flex command line. If flex is configured to
-# output a header file, the DEFINES_FILE option may be used to specify its
-# name. Name is an alias used to get details of this custom command.
-# Indeed the macro defines the following variables:
-#
-# ::
-#
-#   FLEX_${Name}_DEFINED - true is the macro ran successfully
-#   FLEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
-#   alias for FlexOutput
-#   FLEX_${Name}_INPUT - the flex source file, an alias for ${FlexInput}
-#   FLEX_${Name}_OUTPUT_HEADER - the header flex output, if any.
-#
-#
-#
-# Flex scanners oftenly use tokens defined by Bison: the code generated
-# by Flex depends of the header generated by Bison.  This module also
-# defines a macro:
-#
-# ::
-#
-#   ADD_FLEX_BISON_DEPENDENCY(FlexTarget BisonTarget)
-#
-# which adds the required dependency between a scanner and a parser
-# where <FlexTarget> and <BisonTarget> are the first parameters of
-# respectively FLEX_TARGET and BISON_TARGET macros.
-#
-# ::
-#
-#   ====================================================================
-#   Example:
-#
-#
-#
-# ::
-#
-#    find_package(BISON)
-#    find_package(FLEX)
-#
-#
-#
-# ::
-#
-#    BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
-#    FLEX_TARGET(MyScanner lexer.l  ${CMAKE_CURRENT_BINARY_DIR}/lexer.cpp)
-#    ADD_FLEX_BISON_DEPENDENCY(MyScanner MyParser)
-#
-#
-#
-# ::
-#
-#    include_directories(${CMAKE_CURRENT_BINARY_DIR})
-#    add_executable(Foo
-#       Foo.cc
-#       ${BISON_MyParser_OUTPUTS}
-#       ${FLEX_MyScanner_OUTPUTS}
-#    )
-#   ====================================================================
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2006 Tristan Carel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(FLEX_EXECUTABLE NAMES flex win_flex DOC "path to the flex executable")
-mark_as_advanced(FLEX_EXECUTABLE)
-
-find_library(FL_LIBRARY NAMES fl
-  DOC "Path to the fl library")
-
-find_path(FLEX_INCLUDE_DIR FlexLexer.h
-  DOC "Path to the flex headers")
-
-mark_as_advanced(FL_LIBRARY FLEX_INCLUDE_DIR)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-set(FLEX_INCLUDE_DIRS ${FLEX_INCLUDE_DIR})
-set(FLEX_LIBRARIES ${FL_LIBRARY})
-
-if(FLEX_EXECUTABLE)
-
-  execute_process(COMMAND ${FLEX_EXECUTABLE} --version
-    OUTPUT_VARIABLE FLEX_version_output
-    ERROR_VARIABLE FLEX_version_error
-    RESULT_VARIABLE FLEX_version_result
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-  if(NOT ${FLEX_version_result} EQUAL 0)
-    if(FLEX_FIND_REQUIRED)
-      message(SEND_ERROR "Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}")
-    else()
-      message("Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}\nFLEX_VERSION will not be available")
-    endif()
-  else()
-    # older versions of flex printed "/full/path/to/executable version X.Y"
-    # newer versions use "basename(executable) X.Y"
-    get_filename_component(FLEX_EXE_NAME_WE "${FLEX_EXECUTABLE}" NAME_WE)
-    get_filename_component(FLEX_EXE_EXT "${FLEX_EXECUTABLE}" EXT)
-    string(REGEX REPLACE "^.*${FLEX_EXE_NAME_WE}(${FLEX_EXE_EXT})?\"? (version )?([0-9]+[^ ]*)( .*)?$" "\\3"
-      FLEX_VERSION "${FLEX_version_output}")
-    unset(FLEX_EXE_EXT)
-    unset(FLEX_EXE_NAME_WE)
-  endif()
-
-  #============================================================
-  # FLEX_TARGET (public macro)
-  #============================================================
-  #
-  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
-      COMPILE_FLAGS
-      DEFINES_FILE
-      )
-    set(FLEX_TARGET_PARAM_MULTI_VALUE_KEYWORDS)
-
-    cmake_parse_arguments(
-      FLEX_TARGET_ARG
-      "${FLEX_TARGET_PARAM_OPTIONS}"
-      "${FLEX_TARGET_PARAM_ONE_VALUE_KEYWORDS}"
-      "${FLEX_TARGET_MULTI_VALUE_KEYWORDS}"
-      ${ARGN}
-      )
-
-    set(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>] [DEFINES_FILE <string>]")
-
-    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)
-      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})
-      endif()
-
-      add_custom_command(OUTPUT ${FLEX_TARGET_outputs}
-        COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXECUTABLE_opts} -o${Output} ${Input}
-        VERBATIM
-        DEPENDS ${Input}
-        COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}"
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_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()
-    endif()
-  endmacro()
-  #============================================================
-
-
-  #============================================================
-  # ADD_FLEX_BISON_DEPENDENCY (public macro)
-  #============================================================
-  #
-  macro(ADD_FLEX_BISON_DEPENDENCY FlexTarget BisonTarget)
-
-    if(NOT FLEX_${FlexTarget}_OUTPUTS)
-      message(SEND_ERROR "Flex target `${FlexTarget}' does not exist.")
-    endif()
-
-    if(NOT BISON_${BisonTarget}_OUTPUT_HEADER)
-      message(SEND_ERROR "Bison target `${BisonTarget}' does not exist.")
-    endif()
-
-    set_source_files_properties(${FLEX_${FlexTarget}_OUTPUTS}
-      PROPERTIES OBJECT_DEPENDS ${BISON_${BisonTarget}_OUTPUT_HEADER})
-  endmacro()
-  #============================================================
-
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLEX REQUIRED_VARS FLEX_EXECUTABLE
-                                       VERSION_VAR FLEX_VERSION)
-
-# FindFLEX.cmake ends here
diff --git a/share/cmake-3.6/Modules/FindFLTK.cmake b/share/cmake-3.6/Modules/FindFLTK.cmake
deleted file mode 100644
index ad0bf98..0000000
--- a/share/cmake-3.6/Modules/FindFLTK.cmake
+++ /dev/null
@@ -1,319 +0,0 @@
-#.rst:
-# FindFLTK
-# --------
-#
-# Find the native FLTK includes and library
-#
-#
-#
-# By default FindFLTK.cmake will search for all of the FLTK components
-# and add them to the FLTK_LIBRARIES variable.
-#
-# ::
-#
-#    You can limit the components which get placed in FLTK_LIBRARIES by
-#    defining one or more of the following three options:
-#
-#
-#
-# ::
-#
-#      FLTK_SKIP_OPENGL, set to true to disable searching for opengl and
-#                        the FLTK GL library
-#      FLTK_SKIP_FORMS, set to true to disable searching for fltk_forms
-#      FLTK_SKIP_IMAGES, set to true to disable searching for fltk_images
-#
-#
-#
-# ::
-#
-#      FLTK_SKIP_FLUID, set to true if the fluid binary need not be present
-#                       at build time
-#
-#
-#
-# The following variables will be defined:
-#
-# ::
-#
-#      FLTK_FOUND, True if all components not skipped were found
-#      FLTK_INCLUDE_DIR, where to find include files
-#      FLTK_LIBRARIES, list of fltk libraries you should link against
-#      FLTK_FLUID_EXECUTABLE, where to find the Fluid tool
-#      FLTK_WRAP_UI, This enables the FLTK_WRAP_UI command
-#
-#
-#
-# The following cache variables are assigned but should not be used.
-# See the FLTK_LIBRARIES variable instead.
-#
-# ::
-#
-#      FLTK_BASE_LIBRARY   = the full path to fltk.lib
-#      FLTK_GL_LIBRARY     = the full path to fltk_gl.lib
-#      FLTK_FORMS_LIBRARY  = the full path to fltk_forms.lib
-#      FLTK_IMAGES_LIBRARY = the full path to fltk_images.lib
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT FLTK_SKIP_OPENGL)
-  find_package(OpenGL)
-endif()
-
-#  Platform dependent libraries required by FLTK
-if(WIN32)
-  if(NOT CYGWIN)
-    if(BORLAND)
-      set( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
-    else()
-      set( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
-    endif()
-  endif()
-endif()
-
-if(UNIX)
-  include(${CMAKE_CURRENT_LIST_DIR}/FindX11.cmake)
-  find_library(FLTK_MATH_LIBRARY m)
-  set( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} ${FLTK_MATH_LIBRARY})
-endif()
-
-if(APPLE)
-  set( FLTK_PLATFORM_DEPENDENT_LIBS  "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
-endif()
-
-# If FLTK_INCLUDE_DIR is already defined we assigne its value to FLTK_DIR
-if(FLTK_INCLUDE_DIR)
-  set(FLTK_DIR ${FLTK_INCLUDE_DIR})
-endif()
-
-
-# If FLTK has been built using CMake we try to find everything directly
-set(FLTK_DIR_STRING "directory containing FLTKConfig.cmake.  This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
-
-# Search only if the location is not already known.
-if(NOT FLTK_DIR)
-  # Get the system search path as a list.
-  file(TO_CMAKE_PATH "$ENV{PATH}" FLTK_DIR_SEARCH2)
-
-  # Construct a set of paths relative to the system search path.
-  set(FLTK_DIR_SEARCH "")
-  foreach(dir ${FLTK_DIR_SEARCH2})
-    set(FLTK_DIR_SEARCH ${FLTK_DIR_SEARCH} "${dir}/../lib/fltk")
-  endforeach()
-  string(REPLACE "//" "/" FLTK_DIR_SEARCH "${FLTK_DIR_SEARCH}")
-
-  #
-  # Look for an installation or build tree.
-  #
-  find_path(FLTK_DIR FLTKConfig.cmake
-    # Look for an environment variable FLTK_DIR.
-    HINTS
-      ENV FLTK_DIR
-
-    # Look in places relative to the system executable search path.
-    ${FLTK_DIR_SEARCH}
-
-    PATHS
-    # Look in standard UNIX install locations.
-    /usr/local/lib/fltk
-    /usr/lib/fltk
-    /usr/local/fltk
-    /usr/X11R6/include
-
-    # Help the user find it if we cannot.
-    DOC "The ${FLTK_DIR_STRING}"
-    )
-endif()
-
-  # Check if FLTK was built using CMake
-  if(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
-    set(FLTK_BUILT_WITH_CMAKE 1)
-  endif()
-
-  if(FLTK_BUILT_WITH_CMAKE)
-    set(FLTK_FOUND 1)
-    include(${FLTK_DIR}/FLTKConfig.cmake)
-
-    # Fluid
-    if(FLUID_COMMAND)
-      set(FLTK_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
-    else()
-      find_program(FLTK_FLUID_EXECUTABLE fluid PATHS
-        ${FLTK_EXECUTABLE_DIRS}
-        ${FLTK_EXECUTABLE_DIRS}/RelWithDebInfo
-        ${FLTK_EXECUTABLE_DIRS}/Debug
-        ${FLTK_EXECUTABLE_DIRS}/Release
-        NO_SYSTEM_PATH)
-    endif()
-    # mark_as_advanced(FLTK_FLUID_EXECUTABLE)
-
-    set(FLTK_INCLUDE_DIR ${FLTK_DIR})
-    link_directories(${FLTK_LIBRARY_DIRS})
-
-    set(FLTK_BASE_LIBRARY fltk)
-    set(FLTK_GL_LIBRARY fltk_gl)
-    set(FLTK_FORMS_LIBRARY fltk_forms)
-    set(FLTK_IMAGES_LIBRARY fltk_images)
-
-    # Add the extra libraries
-    load_cache(${FLTK_DIR}
-      READ_WITH_PREFIX
-      FL FLTK_USE_SYSTEM_JPEG
-      FL FLTK_USE_SYSTEM_PNG
-      FL FLTK_USE_SYSTEM_ZLIB
-      )
-
-    set(FLTK_IMAGES_LIBS "")
-    if(FLFLTK_USE_SYSTEM_JPEG)
-      set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_jpeg)
-    endif()
-    if(FLFLTK_USE_SYSTEM_PNG)
-      set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_png)
-    endif()
-    if(FLFLTK_USE_SYSTEM_ZLIB)
-      set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_zlib)
-    endif()
-    set(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
-      "Extra libraries for fltk_images library.")
-
-  else()
-
-    # if FLTK was not built using CMake
-    # Find fluid executable.
-    find_program(FLTK_FLUID_EXECUTABLE fluid ${FLTK_INCLUDE_DIR}/fluid)
-
-    # Use location of fluid to help find everything else.
-    set(FLTK_INCLUDE_SEARCH_PATH "")
-    set(FLTK_LIBRARY_SEARCH_PATH "")
-    if(FLTK_FLUID_EXECUTABLE)
-      get_filename_component(FLTK_BIN_DIR "${FLTK_FLUID_EXECUTABLE}" PATH)
-      set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
-        ${FLTK_BIN_DIR}/../include ${FLTK_BIN_DIR}/..)
-      set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
-        ${FLTK_BIN_DIR}/../lib)
-      set(FLTK_WRAP_UI 1)
-    endif()
-
-    #
-    # Try to find FLTK include dir using fltk-config
-    #
-    if(UNIX)
-      # Use fltk-config to generate a list of possible include directories
-      find_program(FLTK_CONFIG_SCRIPT fltk-config PATHS ${FLTK_BIN_DIR})
-      if(FLTK_CONFIG_SCRIPT)
-        if(NOT FLTK_INCLUDE_DIR)
-          exec_program(${FLTK_CONFIG_SCRIPT} ARGS --cxxflags OUTPUT_VARIABLE FLTK_CXXFLAGS)
-          if(FLTK_CXXFLAGS)
-            string(REGEX MATCHALL "-I[^ ]*" _fltk_temp_dirs ${FLTK_CXXFLAGS})
-            string(REPLACE "-I" "" _fltk_temp_dirs "${_fltk_temp_dirs}")
-            foreach(_dir ${_fltk_temp_dirs})
-              string(STRIP ${_dir} _output)
-              list(APPEND _FLTK_POSSIBLE_INCLUDE_DIRS ${_output})
-            endforeach()
-          endif()
-        endif()
-      endif()
-    endif()
-
-    set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
-      /usr/local/fltk
-      /usr/X11R6/include
-      ${_FLTK_POSSIBLE_INCLUDE_DIRS}
-      )
-
-    find_path(FLTK_INCLUDE_DIR
-        NAMES FL/Fl.h FL/Fl.H    # fltk 1.1.9 has Fl.H (#8376)
-        PATHS ${FLTK_INCLUDE_SEARCH_PATH})
-
-    #
-    # Try to find FLTK library
-    if(UNIX)
-      if(FLTK_CONFIG_SCRIPT)
-        exec_program(${FLTK_CONFIG_SCRIPT} ARGS --libs OUTPUT_VARIABLE _FLTK_POSSIBLE_LIBS)
-        if(_FLTK_POSSIBLE_LIBS)
-          get_filename_component(_FLTK_POSSIBLE_LIBRARY_DIR ${_FLTK_POSSIBLE_LIBS} PATH)
-        endif()
-      endif()
-    endif()
-
-    set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
-      /usr/local/fltk/lib
-      /usr/X11R6/lib
-      ${FLTK_INCLUDE_DIR}/lib
-      ${_FLTK_POSSIBLE_LIBRARY_DIR}
-      )
-
-    find_library(FLTK_BASE_LIBRARY NAMES fltk fltkd
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
-    find_library(FLTK_GL_LIBRARY NAMES fltkgl fltkgld fltk_gl
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
-    find_library(FLTK_FORMS_LIBRARY NAMES fltkforms fltkformsd fltk_forms
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
-    find_library(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
-
-    # Find the extra libraries needed for the fltk_images library.
-    if(UNIX)
-      if(FLTK_CONFIG_SCRIPT)
-        exec_program(${FLTK_CONFIG_SCRIPT} ARGS --use-images --ldflags
-          OUTPUT_VARIABLE FLTK_IMAGES_LDFLAGS)
-        set(FLTK_LIBS_EXTRACT_REGEX ".*-lfltk_images (.*) -lfltk.*")
-        if("${FLTK_IMAGES_LDFLAGS}" MATCHES "${FLTK_LIBS_EXTRACT_REGEX}")
-          string(REGEX REPLACE " +" ";" FLTK_IMAGES_LIBS "${CMAKE_MATCH_1}")
-          # The EXEC_PROGRAM will not be inherited into subdirectories from
-          # the file that originally included this module.  Save the answer.
-          set(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
-            "Extra libraries for fltk_images library.")
-        endif()
-      endif()
-    endif()
-
-  endif()
-
-  # Append all of the required libraries together (by default, everything)
-  set(FLTK_LIBRARIES)
-  if(NOT FLTK_SKIP_IMAGES)
-    list(APPEND FLTK_LIBRARIES ${FLTK_IMAGES_LIBRARY})
-  endif()
-  if(NOT FLTK_SKIP_FORMS)
-    list(APPEND FLTK_LIBRARIES ${FLTK_FORMS_LIBRARY})
-  endif()
-  if(NOT FLTK_SKIP_OPENGL)
-    list(APPEND FLTK_LIBRARIES ${FLTK_GL_LIBRARY} ${OPENGL_gl_LIBRARY})
-    list(APPEND FLTK_INCLUDE_DIR ${OPENGL_INCLUDE_DIR})
-    list(REMOVE_DUPLICATES FLTK_INCLUDE_DIR)
-  endif()
-  list(APPEND FLTK_LIBRARIES ${FLTK_BASE_LIBRARY})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-if(FLTK_SKIP_FLUID)
-  FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR)
-else()
-  FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR FLTK_FLUID_EXECUTABLE)
-endif()
-
-if(FLTK_FOUND)
-  if(APPLE)
-    set(FLTK_LIBRARIES ${FLTK_PLATFORM_DEPENDENT_LIBS} ${FLTK_LIBRARIES})
-  else()
-    set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${FLTK_PLATFORM_DEPENDENT_LIBS})
-  endif()
-
-  # The following deprecated settings are for compatibility with CMake 1.4
-  set (HAS_FLTK ${FLTK_FOUND})
-  set (FLTK_INCLUDE_PATH ${FLTK_INCLUDE_DIR})
-  set (FLTK_FLUID_EXE ${FLTK_FLUID_EXECUTABLE})
-  set (FLTK_LIBRARY ${FLTK_LIBRARIES})
-endif()
-
diff --git a/share/cmake-3.6/Modules/FindFLTK2.cmake b/share/cmake-3.6/Modules/FindFLTK2.cmake
deleted file mode 100644
index 154729f..0000000
--- a/share/cmake-3.6/Modules/FindFLTK2.cmake
+++ /dev/null
@@ -1,264 +0,0 @@
-#.rst:
-# FindFLTK2
-# ---------
-#
-# Find the native FLTK2 includes and library
-#
-# The following settings are defined
-#
-# ::
-#
-#   FLTK2_FLUID_EXECUTABLE, where to find the Fluid tool
-#   FLTK2_WRAP_UI, This enables the FLTK2_WRAP_UI command
-#   FLTK2_INCLUDE_DIR, where to find include files
-#   FLTK2_LIBRARIES, list of fltk2 libraries
-#   FLTK2_FOUND, Don't use FLTK2 if false.
-#
-# The following settings should not be used in general.
-#
-# ::
-#
-#   FLTK2_BASE_LIBRARY   = the full path to fltk2.lib
-#   FLTK2_GL_LIBRARY     = the full path to fltk2_gl.lib
-#   FLTK2_IMAGES_LIBRARY = the full path to fltk2_images.lib
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set (FLTK2_DIR $ENV{FLTK2_DIR} )
-
-#  Platform dependent libraries required by FLTK2
-if(WIN32)
-  if(NOT CYGWIN)
-    if(BORLAND)
-      set( FLTK2_PLATFORM_DEPENDENT_LIBS import32 )
-    else()
-      set( FLTK2_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
-    endif()
-  endif()
-endif()
-
-if(UNIX)
-  include(${CMAKE_ROOT}/Modules/FindX11.cmake)
-  set( FLTK2_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
-endif()
-
-if(APPLE)
-  set( FLTK2_PLATFORM_DEPENDENT_LIBS  "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
-endif()
-
-# If FLTK2_INCLUDE_DIR is already defined we assign its value to FLTK2_DIR
-if(FLTK2_INCLUDE_DIR)
-  set(FLTK2_DIR ${FLTK2_INCLUDE_DIR})
-else()
-  set(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
-endif()
-
-
-# If FLTK2 has been built using CMake we try to find everything directly
-set(FLTK2_DIR_STRING "directory containing FLTK2Config.cmake.  This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
-
-# Search only if the location is not already known.
-if(NOT FLTK2_DIR)
-  # Get the system search path as a list.
-  file(TO_CMAKE_PATH "$ENV{PATH}" FLTK2_DIR_SEARCH2)
-
-  # Construct a set of paths relative to the system search path.
-  set(FLTK2_DIR_SEARCH "")
-  foreach(dir ${FLTK2_DIR_SEARCH2})
-    set(FLTK2_DIR_SEARCH ${FLTK2_DIR_SEARCH} "${dir}/../lib/fltk")
-  endforeach()
-  string(REPLACE "//" "/" FLTK2_DIR_SEARCH "${FLTK2_DIR_SEARCH}")
-
-  #
-  # Look for an installation or build tree.
-  #
-  find_path(FLTK2_DIR FLTK2Config.cmake
-    # Look for an environment variable FLTK2_DIR.
-    ENV FLTK2_DIR
-
-    # Look in places relative to the system executable search path.
-    ${FLTK2_DIR_SEARCH}
-
-    # Look in standard UNIX install locations.
-    /usr/local/lib/fltk2
-    /usr/lib/fltk2
-    /usr/local/fltk2
-    /usr/X11R6/include
-
-    # Help the user find it if we cannot.
-    DOC "The ${FLTK2_DIR_STRING}"
-    )
-
-  if(NOT FLTK2_DIR)
-    find_path(FLTK2_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
-  endif()
-
-endif()
-
-
-# If FLTK2 was found, load the configuration file to get the rest of the
-# settings.
-if(FLTK2_DIR)
-
-  # Check if FLTK2 was built using CMake
-  if(EXISTS ${FLTK2_DIR}/FLTK2Config.cmake)
-    set(FLTK2_BUILT_WITH_CMAKE 1)
-  endif()
-
-  if(FLTK2_BUILT_WITH_CMAKE)
-    set(FLTK2_FOUND 1)
-    include(${FLTK2_DIR}/FLTK2Config.cmake)
-
-    # Fluid
-    if(FLUID_COMMAND)
-      set(FLTK2_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
-    else()
-      find_program(FLTK2_FLUID_EXECUTABLE fluid2 PATHS
-        ${FLTK2_EXECUTABLE_DIRS}
-        ${FLTK2_EXECUTABLE_DIRS}/RelWithDebInfo
-        ${FLTK2_EXECUTABLE_DIRS}/Debug
-        ${FLTK2_EXECUTABLE_DIRS}/Release
-        NO_SYSTEM_PATH)
-    endif()
-
-    mark_as_advanced(FLTK2_FLUID_EXECUTABLE)
-    set( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
-
-
-
-
-    set(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
-    link_directories(${FLTK2_LIBRARY_DIRS})
-
-    set(FLTK2_BASE_LIBRARY fltk2)
-    set(FLTK2_GL_LIBRARY fltk2_gl)
-    set(FLTK2_IMAGES_LIBRARY fltk2_images)
-
-    # Add the extra libraries
-    load_cache(${FLTK2_DIR}
-      READ_WITH_PREFIX
-      FL FLTK2_USE_SYSTEM_JPEG
-      FL FLTK2_USE_SYSTEM_PNG
-      FL FLTK2_USE_SYSTEM_ZLIB
-      )
-
-    set(FLTK2_IMAGES_LIBS "")
-    if(FLFLTK2_USE_SYSTEM_JPEG)
-      set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_jpeg)
-    endif()
-    if(FLFLTK2_USE_SYSTEM_PNG)
-      set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_png)
-    endif()
-    if(FLFLTK2_USE_SYSTEM_ZLIB)
-      set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_zlib)
-    endif()
-    set(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
-      "Extra libraries for fltk2_images library.")
-
-  else()
-
-    # if FLTK2 was not built using CMake
-    # Find fluid executable.
-    find_program(FLTK2_FLUID_EXECUTABLE fluid2 ${FLTK2_INCLUDE_DIR}/fluid)
-
-    # Use location of fluid to help find everything else.
-    set(FLTK2_INCLUDE_SEARCH_PATH "")
-    set(FLTK2_LIBRARY_SEARCH_PATH "")
-    if(FLTK2_FLUID_EXECUTABLE)
-      set( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
-      get_filename_component(FLTK2_BIN_DIR "${FLTK2_FLUID_EXECUTABLE}" PATH)
-      set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
-        ${FLTK2_BIN_DIR}/../include ${FLTK2_BIN_DIR}/..)
-      set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
-        ${FLTK2_BIN_DIR}/../lib)
-      set(FLTK2_WRAP_UI 1)
-    endif()
-
-    set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
-      /usr/local/fltk2
-      /usr/X11R6/include
-      )
-
-    find_path(FLTK2_INCLUDE_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
-
-    set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
-      /usr/local/fltk2/lib
-      /usr/X11R6/lib
-      ${FLTK2_INCLUDE_DIR}/lib
-      )
-
-    find_library(FLTK2_BASE_LIBRARY NAMES fltk2
-      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
-    find_library(FLTK2_GL_LIBRARY NAMES fltk2_gl
-      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
-    find_library(FLTK2_IMAGES_LIBRARY NAMES fltk2_images
-      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
-
-    # Find the extra libraries needed for the fltk_images library.
-    if(UNIX)
-      find_program(FLTK2_CONFIG_SCRIPT fltk2-config PATHS ${FLTK2_BIN_DIR})
-      if(FLTK2_CONFIG_SCRIPT)
-        exec_program(${FLTK2_CONFIG_SCRIPT} ARGS --use-images --ldflags
-          OUTPUT_VARIABLE FLTK2_IMAGES_LDFLAGS)
-        set(FLTK2_LIBS_EXTRACT_REGEX ".*-lfltk2_images (.*) -lfltk2.*")
-        if("${FLTK2_IMAGES_LDFLAGS}" MATCHES "${FLTK2_LIBS_EXTRACT_REGEX}")
-          string(REGEX REPLACE " +" ";" FLTK2_IMAGES_LIBS "${CMAKE_MATCH_1}")
-          # The EXEC_PROGRAM will not be inherited into subdirectories from
-          # the file that originally included this module.  Save the answer.
-          set(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
-            "Extra libraries for fltk_images library.")
-        endif()
-      endif()
-    endif()
-
-  endif()
-endif()
-
-
-set(FLTK2_FOUND 1)
-foreach(var FLTK2_FLUID_EXECUTABLE FLTK2_INCLUDE_DIR
-    FLTK2_BASE_LIBRARY FLTK2_GL_LIBRARY
-    FLTK2_IMAGES_LIBRARY)
-  if(NOT ${var})
-    message( STATUS "${var} not found" )
-    set(FLTK2_FOUND 0)
-  endif()
-endforeach()
-
-
-if(FLTK2_FOUND)
-  set(FLTK2_LIBRARIES ${FLTK2_IMAGES_LIBRARY} ${FLTK2_IMAGES_LIBS} ${FLTK2_BASE_LIBRARY} ${FLTK2_GL_LIBRARY} )
-  if(APPLE)
-    set(FLTK2_LIBRARIES ${FLTK2_PLATFORM_DEPENDENT_LIBS} ${FLTK2_LIBRARIES})
-  else()
-    set(FLTK2_LIBRARIES ${FLTK2_LIBRARIES} ${FLTK2_PLATFORM_DEPENDENT_LIBS})
-  endif()
-
-  # The following deprecated settings are for compatibility with CMake 1.4
-  set (HAS_FLTK2 ${FLTK2_FOUND})
-  set (FLTK2_INCLUDE_PATH ${FLTK2_INCLUDE_DIR})
-  set (FLTK2_FLUID_EXE ${FLTK2_FLUID_EXECUTABLE})
-  set (FLTK2_LIBRARY ${FLTK2_LIBRARIES})
-else()
-  # make FIND_PACKAGE friendly
-  if(NOT FLTK2_FIND_QUIETLY)
-    if(FLTK2_FIND_REQUIRED)
-      message(FATAL_ERROR
-              "FLTK2 required, please specify its location with FLTK2_DIR.")
-    else()
-      message(STATUS "FLTK2 was not found.")
-    endif()
-  endif()
-endif()
-
diff --git a/share/cmake-3.6/Modules/FindFreetype.cmake b/share/cmake-3.6/Modules/FindFreetype.cmake
deleted file mode 100644
index 7d46d15..0000000
--- a/share/cmake-3.6/Modules/FindFreetype.cmake
+++ /dev/null
@@ -1,164 +0,0 @@
-#.rst:
-# FindFreetype
-# ------------
-#
-# Locate FreeType library
-#
-# This module defines
-#
-# ::
-#
-#   FREETYPE_LIBRARIES, the library to link against
-#   FREETYPE_FOUND, if false, do not try to link to FREETYPE
-#   FREETYPE_INCLUDE_DIRS, where to find headers.
-#   FREETYPE_VERSION_STRING, the version of freetype found (since CMake 2.8.8)
-#   This is the concatenation of the paths:
-#   FREETYPE_INCLUDE_DIR_ft2build
-#   FREETYPE_INCLUDE_DIR_freetype2
-#
-#
-#
-# $FREETYPE_DIR is an environment variable that would correspond to the
-# ./configure --prefix=$FREETYPE_DIR used in building FREETYPE.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Created by Eric Wing.
-# Modifications by Alexander Neundorf.
-# This file has been renamed to "FindFreetype.cmake" instead of the correct
-# "FindFreeType.cmake" in order to be compatible with the one from KDE4, Alex.
-
-# Ugh, FreeType seems to use some #include trickery which
-# makes this harder than it should be. It looks like they
-# put ft2build.h in a common/easier-to-find location which
-# then contains a #include to a more specific header in a
-# more specific location (#include <freetype/config/ftheader.h>).
-# Then from there, they need to set a bunch of #define's
-# so you can do something like:
-# #include FT_FREETYPE_H
-# Unfortunately, using CMake's mechanisms like include_directories()
-# wants explicit full paths and this trickery doesn't work too well.
-# I'm going to attempt to cut out the middleman and hope
-# everything still works.
-find_path(
-  FREETYPE_INCLUDE_DIR_ft2build
-  ft2build.h
-  HINTS
-    ENV FREETYPE_DIR
-  PATHS
-    /usr/X11R6
-    /usr/local/X11R6
-    /usr/local/X11
-    /usr/freeware
-    ENV GTKMM_BASEPATH
-    [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
-    [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-  PATH_SUFFIXES
-    include/freetype2
-    include
-    freetype2
-)
-
-find_path(
-  FREETYPE_INCLUDE_DIR_freetype2
-  NAMES
-    freetype/config/ftheader.h
-    config/ftheader.h
-  HINTS
-    ENV FREETYPE_DIR
-  PATHS
-    /usr/X11R6
-    /usr/local/X11R6
-    /usr/local/X11
-    /usr/freeware
-    ENV GTKMM_BASEPATH
-    [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
-    [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-  PATH_SUFFIXES
-    include/freetype2
-    include
-    freetype2
-)
-
-find_library(FREETYPE_LIBRARY
-  NAMES
-    freetype
-    libfreetype
-    freetype219
-  HINTS
-    ENV FREETYPE_DIR
-  PATHS
-    /usr/X11R6
-    /usr/local/X11R6
-    /usr/local/X11
-    /usr/freeware
-    ENV GTKMM_BASEPATH
-    [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
-    [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-  PATH_SUFFIXES
-    lib
-)
-
-# set the user variables
-if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
-  set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
-  list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIRS)
-endif()
-set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
-
-if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
-  set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
-elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h")
-  set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h")
-endif()
-
-if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H)
-  file(STRINGS "${FREETYPE_H}" freetype_version_str
-       REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
-
-  unset(FREETYPE_VERSION_STRING)
-  foreach(VPART MAJOR MINOR PATCH)
-    foreach(VLINE ${freetype_version_str})
-      if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$")
-        set(FREETYPE_VERSION_PART "${CMAKE_MATCH_1}")
-        if(FREETYPE_VERSION_STRING)
-          set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
-        else()
-          set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
-        endif()
-        unset(FREETYPE_VERSION_PART)
-      endif()
-    endforeach()
-  endforeach()
-endif()
-
-
-# handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-find_package_handle_standard_args(
-  Freetype
-  REQUIRED_VARS
-    FREETYPE_LIBRARY
-    FREETYPE_INCLUDE_DIRS
-  VERSION_VAR
-    FREETYPE_VERSION_STRING
-)
-
-mark_as_advanced(
-  FREETYPE_LIBRARY
-  FREETYPE_INCLUDE_DIR_freetype2
-  FREETYPE_INCLUDE_DIR_ft2build
-)
diff --git a/share/cmake-3.6/Modules/FindGCCXML.cmake b/share/cmake-3.6/Modules/FindGCCXML.cmake
deleted file mode 100644
index 48618e2..0000000
--- a/share/cmake-3.6/Modules/FindGCCXML.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-#.rst:
-# FindGCCXML
-# ----------
-#
-# Find the GCC-XML front-end executable.
-#
-#
-#
-# This module will define the following variables:
-#
-# ::
-#
-#   GCCXML - the GCC-XML front-end executable.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(GCCXML
-  NAMES gccxml
-        ../GCC_XML/gccxml
-  PATHS [HKEY_CURRENT_USER\\Software\\Kitware\\GCC_XML;loc]
-  "$ENV{ProgramFiles}/GCC_XML"
-  "C:/Program Files/GCC_XML"
-)
-
-mark_as_advanced(GCCXML)
diff --git a/share/cmake-3.6/Modules/FindGDAL.cmake b/share/cmake-3.6/Modules/FindGDAL.cmake
deleted file mode 100644
index bf374f9..0000000
--- a/share/cmake-3.6/Modules/FindGDAL.cmake
+++ /dev/null
@@ -1,119 +0,0 @@
-#.rst:
-# FindGDAL
-# --------
-#
-#
-#
-# Locate gdal
-#
-# This module accepts the following environment variables:
-#
-# ::
-#
-#     GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
-#
-#
-#
-# This module defines the following CMake variables:
-#
-# ::
-#
-#     GDAL_FOUND - True if libgdal is found
-#     GDAL_LIBRARY - A variable pointing to the GDAL library
-#     GDAL_INCLUDE_DIR - Where to find the headers
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# $GDALDIR is an environment variable that would
-# correspond to the ./configure --prefix=$GDAL_DIR
-# used in building gdal.
-#
-# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
-# for osgTerrain so I whipped this module together for completeness.
-# I actually don't know the conventions or where files are typically
-# placed in distros.
-# Any real gdal users are encouraged to correct this (but please don't
-# break the OS X framework stuff when doing so which is what usually seems
-# to happen).
-
-# This makes the presumption that you are include gdal.h like
-#
-#include "gdal.h"
-
-find_path(GDAL_INCLUDE_DIR gdal.h
-  HINTS
-    ENV GDAL_DIR
-    ENV GDAL_ROOT
-  PATH_SUFFIXES
-     include/gdal
-     include/GDAL
-     include
-  PATHS
-      ~/Library/Frameworks/gdal.framework/Headers
-      /Library/Frameworks/gdal.framework/Headers
-      /sw # Fink
-      /opt/local # DarwinPorts
-      /opt/csw # Blastwave
-      /opt
-)
-
-if(UNIX)
-    # Use gdal-config to obtain the library version (this should hopefully
-    # allow us to -lgdal1.x.y where x.y are correct version)
-    # For some reason, libgdal development packages do not contain
-    # libgdal.so...
-    find_program(GDAL_CONFIG gdal-config
-        HINTS
-          ENV GDAL_DIR
-          ENV GDAL_ROOT
-        PATH_SUFFIXES bin
-        PATHS
-            /sw # Fink
-            /opt/local # DarwinPorts
-            /opt/csw # Blastwave
-            /opt
-    )
-
-    if(GDAL_CONFIG)
-        exec_program(${GDAL_CONFIG} ARGS --libs OUTPUT_VARIABLE GDAL_CONFIG_LIBS)
-        if(GDAL_CONFIG_LIBS)
-            string(REGEX MATCHALL "-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_LIBS})
-            string(REPLACE "-l" "" _gdal_lib "${_gdal_dashl}")
-            string(REGEX MATCHALL "-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_LIBS})
-            string(REPLACE "-L" "" _gdal_libpath "${_gdal_dashL}")
-        endif()
-    endif()
-endif()
-
-find_library(GDAL_LIBRARY
-  NAMES ${_gdal_lib} gdal gdal_i gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
-  HINTS
-     ENV GDAL_DIR
-     ENV GDAL_ROOT
-     ${_gdal_libpath}
-  PATH_SUFFIXES lib
-  PATHS
-    /sw
-    /opt/local
-    /opt/csw
-    /opt
-    /usr/freeware
-)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
-
-set(GDAL_LIBRARIES ${GDAL_LIBRARY})
-set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})
diff --git a/share/cmake-3.6/Modules/FindGIF.cmake b/share/cmake-3.6/Modules/FindGIF.cmake
deleted file mode 100644
index 7bbb8cf..0000000
--- a/share/cmake-3.6/Modules/FindGIF.cmake
+++ /dev/null
@@ -1,86 +0,0 @@
-#.rst:
-# FindGIF
-# -------
-#
-#
-#
-# This module searches giflib and defines GIF_LIBRARIES - libraries to
-# link to in order to use GIF GIF_FOUND, if false, do not try to link
-# GIF_INCLUDE_DIR, where to find the headers GIF_VERSION, reports either
-# version 4 or 3 (for everything before version 4)
-#
-# The minimum required version of giflib can be specified using the
-# standard syntax, e.g.  find_package(GIF 4)
-#
-# $GIF_DIR is an environment variable that would correspond to the
-# ./configure --prefix=$GIF_DIR
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Created by Eric Wing.
-# Modifications by Alexander Neundorf
-
-find_path(GIF_INCLUDE_DIR gif_lib.h
-  HINTS
-    ENV GIF_DIR
-  PATH_SUFFIXES include
-  PATHS
-  ~/Library/Frameworks
-  /usr/freeware
-)
-
-# the gif library can have many names :-/
-set(POTENTIAL_GIF_LIBS gif libgif ungif libungif giflib giflib4)
-
-find_library(GIF_LIBRARY
-  NAMES ${POTENTIAL_GIF_LIBS}
-  HINTS
-    ENV GIF_DIR
-  PATH_SUFFIXES lib
-  PATHS
-  ~/Library/Frameworks
-  /usr/freeware
-)
-
-# see readme.txt
-set(GIF_LIBRARIES ${GIF_LIBRARY})
-
-# Very basic version detection.
-# The GIF_LIB_VERSION string in gif_lib.h seems to be unreliable, since it seems
-# to be always " Version 2.0, " in versions 3.x of giflib.
-# In version 4 the member UserData was added to GifFileType, so we check for this
-# one.
-# http://giflib.sourcearchive.com/documentation/4.1.4/files.html
-if(GIF_INCLUDE_DIR)
-  include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-  include(${CMAKE_CURRENT_LIST_DIR}/CheckStructHasMember.cmake)
-  CMAKE_PUSH_CHECK_STATE()
-  set(CMAKE_REQUIRED_QUIET ${GIF_FIND_QUIETLY})
-  set(GIF_VERSION 3)
-  set(CMAKE_REQUIRED_INCLUDES "${GIF_INCLUDE_DIR}")
-  CHECK_STRUCT_HAS_MEMBER(GifFileType UserData gif_lib.h GIF_GifFileType_UserData )
-  if(GIF_GifFileType_UserData)
-    set(GIF_VERSION 4)
-  endif()
-  CMAKE_POP_CHECK_STATE()
-endif()
-
-
-# handle the QUIETLY and REQUIRED arguments and set GIF_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GIF  REQUIRED_VARS  GIF_LIBRARY  GIF_INCLUDE_DIR
-                                       VERSION_VAR GIF_VERSION )
-
-mark_as_advanced(GIF_INCLUDE_DIR GIF_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindGLEW.cmake b/share/cmake-3.6/Modules/FindGLEW.cmake
deleted file mode 100644
index f42182f..0000000
--- a/share/cmake-3.6/Modules/FindGLEW.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-#.rst:
-# FindGLEW
-# --------
-#
-# Find the OpenGL Extension Wrangler Library (GLEW)
-#
-# IMPORTED Targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the :prop_tgt:`IMPORTED` target ``GLEW::GLEW``,
-# if GLEW has been found.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following variables:
-#
-# ::
-#
-#   GLEW_INCLUDE_DIRS - include directories for GLEW
-#   GLEW_LIBRARIES - libraries to link against GLEW
-#   GLEW_FOUND - true if GLEW has been found and can be used
-
-#=============================================================================
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(GLEW_INCLUDE_DIR GL/glew.h)
-find_library(GLEW_LIBRARY NAMES GLEW glew32 glew glew32s PATH_SUFFIXES lib64)
-
-set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
-set(GLEW_LIBRARIES ${GLEW_LIBRARY})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(GLEW
-                                  REQUIRED_VARS GLEW_INCLUDE_DIR GLEW_LIBRARY)
-
-if(GLEW_FOUND AND NOT TARGET GLEW::GLEW)
-  add_library(GLEW::GLEW UNKNOWN IMPORTED)
-  set_target_properties(GLEW::GLEW PROPERTIES
-    IMPORTED_LOCATION "${GLEW_LIBRARY}"
-    INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
-endif()
-
-mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindGLU.cmake b/share/cmake-3.6/Modules/FindGLU.cmake
deleted file mode 100644
index 0d36fad..0000000
--- a/share/cmake-3.6/Modules/FindGLU.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Use of this file is deprecated, and is here for backwards compatibility with CMake 1.4
-# GLU library is now found by FindOpenGL.cmake
-#
-
-message(STATUS
-  "WARNING: you are using the obsolete 'GLU' package, please use 'OpenGL' instead")
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindOpenGL.cmake)
-
-if (OPENGL_GLU_FOUND)
-  set (GLU_LIBRARY ${OPENGL_LIBRARIES})
-  set (GLU_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
-endif ()
-
diff --git a/share/cmake-3.6/Modules/FindGLUT.cmake b/share/cmake-3.6/Modules/FindGLUT.cmake
deleted file mode 100644
index c9f7597..0000000
--- a/share/cmake-3.6/Modules/FindGLUT.cmake
+++ /dev/null
@@ -1,176 +0,0 @@
-#.rst:
-# FindGLUT
-# --------
-#
-# try to find glut library and include files.
-#
-# IMPORTED Targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the :prop_tgt:`IMPORTED` targets:
-#
-# ``GLUT::GLUT``
-#  Defined if the system has GLUT.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module sets the following variables:
-#
-# ::
-#
-#   GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
-#   GLUT_LIBRARIES, the libraries to link against
-#   GLUT_FOUND, If false, do not try to use GLUT.
-#
-# Also defined, but not for general use are:
-#
-# ::
-#
-#   GLUT_glut_LIBRARY = the full path to the glut library.
-#   GLUT_Xmu_LIBRARY  = the full path to the Xmu library.
-#   GLUT_Xi_LIBRARY   = the full path to the Xi Library.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (WIN32)
-  find_path( GLUT_INCLUDE_DIR NAMES GL/glut.h
-    PATHS  ${GLUT_ROOT_PATH}/include )
-  find_library( GLUT_glut_LIBRARY NAMES glut glut32 freeglut
-    PATHS
-    ${OPENGL_LIBRARY_DIR}
-    ${GLUT_ROOT_PATH}/Release
-    )
-else ()
-
-  if (APPLE)
-    find_path(GLUT_INCLUDE_DIR glut.h ${OPENGL_LIBRARY_DIR})
-    find_library(GLUT_glut_LIBRARY GLUT DOC "GLUT library for OSX")
-    find_library(GLUT_cocoa_LIBRARY Cocoa DOC "Cocoa framework for OSX")
-
-    if(GLUT_cocoa_LIBRARY AND NOT TARGET GLUT::Cocoa)
-      add_library(GLUT::Cocoa UNKNOWN IMPORTED)
-      # Cocoa should always be a Framework, but we check to make sure.
-      if(GLUT_cocoa_LIBRARY MATCHES "/([^/]+)\\.framework$")
-        set_target_properties(GLUT::Cocoa PROPERTIES
-          IMPORTED_LOCATION "${GLUT_cocoa_LIBRARY}/${CMAKE_MATCH_1}")
-      else()
-        set_target_properties(GLUT::Cocoa PROPERTIES
-          IMPORTED_LOCATION "${GLUT_cocoa_LIBRARY}")
-      endif()
-    endif()
-  else ()
-
-    if (BEOS)
-
-      set(_GLUT_INC_DIR /boot/develop/headers/os/opengl)
-      set(_GLUT_glut_LIB_DIR /boot/develop/lib/x86)
-
-    else()
-
-      find_library( GLUT_Xi_LIBRARY Xi
-        /usr/openwin/lib
-        )
-
-      find_library( GLUT_Xmu_LIBRARY Xmu
-        /usr/openwin/lib
-        )
-
-      if(GLUT_Xi_LIBRARY AND NOT TARGET GLUT::Xi)
-        add_library(GLUT::Xi UNKNOWN IMPORTED)
-        set_target_properties(GLUT::Xi PROPERTIES
-          IMPORTED_LOCATION "${GLUT_Xi_LIBRARY}")
-      endif()
-
-      if(GLUT_Xmu_LIBRARY AND NOT TARGET GLUT::Xmu)
-        add_library(GLUT::Xmu UNKNOWN IMPORTED)
-        set_target_properties(GLUT::Xmu PROPERTIES
-          IMPORTED_LOCATION "${GLUT_Xmu_LIBRARY}")
-      endif()
-
-    endif ()
-
-    find_path( GLUT_INCLUDE_DIR GL/glut.h
-      /usr/include/GL
-      /usr/openwin/share/include
-      /usr/openwin/include
-      /opt/graphics/OpenGL/include
-      /opt/graphics/OpenGL/contrib/libglut
-      ${_GLUT_INC_DIR}
-      )
-
-    find_library( GLUT_glut_LIBRARY glut
-      /usr/openwin/lib
-      ${_GLUT_glut_LIB_DIR}
-      )
-
-    unset(_GLUT_INC_DIR)
-    unset(_GLUT_glut_LIB_DIR)
-
-  endif ()
-
-endif ()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLUT REQUIRED_VARS GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
-
-if (GLUT_FOUND)
-  # Is -lXi and -lXmu required on all platforms that have it?
-  # If not, we need some way to figure out what platform we are on.
-  set( GLUT_LIBRARIES
-    ${GLUT_glut_LIBRARY}
-    ${GLUT_Xmu_LIBRARY}
-    ${GLUT_Xi_LIBRARY}
-    ${GLUT_cocoa_LIBRARY}
-    )
-
-  if(NOT TARGET GLUT::GLUT)
-    add_library(GLUT::GLUT UNKNOWN IMPORTED)
-    set_target_properties(GLUT::GLUT PROPERTIES
-      INTERFACE_INCLUDE_DIRECTORIES "${GLUT_INCLUDE_DIR}")
-    if(GLUT_glut_LIBRARY MATCHES "/([^/]+)\\.framework$")
-      set_target_properties(GLUT::GLUT PROPERTIES
-        IMPORTED_LOCATION "${GLUT_glut_LIBRARY}/${CMAKE_MATCH_1}")
-    else()
-      set_target_properties(GLUT::GLUT PROPERTIES
-        IMPORTED_LOCATION "${GLUT_glut_LIBRARY}")
-    endif()
-
-    if(TARGET GLUT::Xmu)
-      set_property(TARGET GLUT::GLUT APPEND
-        PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Xmu)
-    endif()
-
-    if(TARGET GLUT::Xi)
-      set_property(TARGET GLUT::GLUT APPEND
-        PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Xi)
-    endif()
-
-    if(TARGET GLUT::Cocoa)
-      set_property(TARGET GLUT::GLUT APPEND
-        PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Cocoa)
-    endif()
-  endif()
-
-  #The following deprecated settings are for backwards compatibility with CMake1.4
-  set (GLUT_LIBRARY ${GLUT_LIBRARIES})
-  set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
-endif()
-
-mark_as_advanced(
-  GLUT_INCLUDE_DIR
-  GLUT_glut_LIBRARY
-  GLUT_Xmu_LIBRARY
-  GLUT_Xi_LIBRARY
-  )
diff --git a/share/cmake-3.6/Modules/FindGSL.cmake b/share/cmake-3.6/Modules/FindGSL.cmake
deleted file mode 100644
index 9318a7d..0000000
--- a/share/cmake-3.6/Modules/FindGSL.cmake
+++ /dev/null
@@ -1,238 +0,0 @@
-#.rst:
-# FindGSL
-# --------
-#
-# Find the native GSL includes and libraries.
-#
-# The GNU Scientific Library (GSL) is a numerical library for C and C++
-# programmers. It is free software under the GNU General Public
-# License.
-#
-# Imported Targets
-# ^^^^^^^^^^^^^^^^
-#
-# If GSL is found, this module defines the following :prop_tgt:`IMPORTED`
-# targets::
-#
-#  GSL::gsl      - The main GSL library.
-#  GSL::gslcblas - The CBLAS support library used by GSL.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project::
-#
-#  GSL_FOUND          - True if GSL found on the local system
-#  GSL_INCLUDE_DIRS   - Location of GSL header files.
-#  GSL_LIBRARIES      - The GSL libraries.
-#  GSL_VERSION        - The version of the discovered GSL install.
-#
-# Hints
-# ^^^^^
-#
-# Set ``GSL_ROOT_DIR`` to a directory that contains a GSL installation.
-#
-# This script expects to find libraries at ``$GSL_ROOT_DIR/lib`` and the GSL
-# headers at ``$GSL_ROOT_DIR/include/gsl``.  The library directory may
-# optionally provide Release and Debug folders.  For Unix-like systems, this
-# script will use ``$GSL_ROOT_DIR/bin/gsl-config`` (if found) to aid in the
-# discovery GSL.
-#
-# Cache Variables
-# ^^^^^^^^^^^^^^^
-#
-# This module may set the following variables depending on platform and type
-# of GSL installation discovered.  These variables may optionally be set to
-# help this module find the correct files::
-#
-#  GSL_CBLAS_LIBRARY       - Location of the GSL CBLAS library.
-#  GSL_CBLAS_LIBRARY_DEBUG - Location of the debug GSL CBLAS library (if any).
-#  GSL_CONFIG_EXECUTABLE   - Location of the ``gsl-config`` script (if any).
-#  GSL_LIBRARY             - Location of the GSL library.
-#  GSL_LIBRARY_DEBUG       - Location of the debug GSL library (if any).
-#
-
-#=============================================================================
-# Copyright 2014 Kelly Thompson <kgt@lanl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Include these modules to handle the QUIETLY and REQUIRED arguments.
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-#=============================================================================
-# If the user has provided ``GSL_ROOT_DIR``, use it!  Choose items found
-# at this location over system locations.
-if( EXISTS "$ENV{GSL_ROOT_DIR}" )
-  file( TO_CMAKE_PATH "$ENV{GSL_ROOT_DIR}" GSL_ROOT_DIR )
-  set( GSL_ROOT_DIR "${GSL_ROOT_DIR}" CACHE PATH "Prefix for GSL installation." )
-endif()
-if( NOT EXISTS "${GSL_ROOT_DIR}" )
-  set( GSL_USE_PKGCONFIG ON )
-endif()
-
-#=============================================================================
-# As a first try, use the PkgConfig module.  This will work on many
-# *NIX systems.  See :module:`findpkgconfig`
-# This will return ``GSL_INCLUDEDIR`` and ``GSL_LIBDIR`` used below.
-if( GSL_USE_PKGCONFIG )
-  find_package(PkgConfig)
-  pkg_check_modules( GSL QUIET gsl )
-
-  if( EXISTS "${GSL_INCLUDEDIR}" )
-    get_filename_component( GSL_ROOT_DIR "${GSL_INCLUDEDIR}" DIRECTORY CACHE)
-  endif()
-endif()
-
-#=============================================================================
-# Set GSL_INCLUDE_DIRS and GSL_LIBRARIES. If we skipped the PkgConfig step, try
-# to find the libraries at $GSL_ROOT_DIR (if provided) or in standard system
-# locations.  These find_library and find_path calls will prefer custom
-# locations over standard locations (HINTS).  If the requested file is not found
-# at the HINTS location, standard system locations will be still be searched
-# (/usr/lib64 (Redhat), lib/i386-linux-gnu (Debian)).
-
-find_path( GSL_INCLUDE_DIR
-  NAMES gsl/gsl_sf.h
-  HINTS ${GSL_ROOT_DIR}/include ${GSL_INCLUDEDIR}
-)
-find_library( GSL_LIBRARY
-  NAMES gsl
-  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
-  PATH_SUFFIXES Release Debug
-)
-find_library( GSL_CBLAS_LIBRARY
-  NAMES gslcblas cblas
-  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
-  PATH_SUFFIXES Release Debug
-)
-# Do we also have debug versions?
-find_library( GSL_LIBRARY_DEBUG
-  NAMES gsl
-  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
-  PATH_SUFFIXES Debug
-)
-find_library( GSL_CBLAS_LIBRARY_DEBUG
-  NAMES gslcblas cblas
-  HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR}
-  PATH_SUFFIXES Debug
-)
-set( GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR} )
-set( GSL_LIBRARIES ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY} )
-
-# If we didn't use PkgConfig, try to find the version via gsl-config or by
-# reading gsl_version.h.
-if( NOT GSL_VERSION )
-  # 1. If gsl-config exists, query for the version.
-  find_program( GSL_CONFIG_EXECUTABLE
-    NAMES gsl-config
-    HINTS "${GSL_ROOT_DIR}/bin"
-    )
-  if( EXISTS "${GSL_CONFIG_EXECUTABLE}" )
-    execute_process(
-      COMMAND "${GSL_CONFIG_EXECUTABLE}" --version
-      OUTPUT_VARIABLE GSL_VERSION
-      OUTPUT_STRIP_TRAILING_WHITESPACE )
-  endif()
-
-  # 2. If gsl-config is not available, try looking in gsl/gsl_version.h
-  if( NOT GSL_VERSION AND EXISTS "${GSL_INCLUDE_DIRS}/gsl/gsl_version.h" )
-    file( STRINGS "${GSL_INCLUDE_DIRS}/gsl/gsl_version.h" gsl_version_h_contents REGEX "define GSL_VERSION" )
-    string( REGEX REPLACE ".*([0-9].[0-9][0-9]).*" "\\1" GSL_VERSION ${gsl_version_h_contents} )
-  endif()
-
-  # might also try scraping the directory name for a regex match "gsl-X.X"
-endif()
-
-#=============================================================================
-# handle the QUIETLY and REQUIRED arguments and set GSL_FOUND to TRUE if all
-# listed variables are TRUE
-find_package_handle_standard_args( GSL
-  FOUND_VAR
-    GSL_FOUND
-  REQUIRED_VARS
-    GSL_INCLUDE_DIR
-    GSL_LIBRARY
-    GSL_CBLAS_LIBRARY
-  VERSION_VAR
-    GSL_VERSION
-    )
-
-mark_as_advanced( GSL_ROOT_DIR GSL_VERSION GSL_LIBRARY GSL_INCLUDE_DIR
-  GSL_CBLAS_LIBRARY GSL_LIBRARY_DEBUG GSL_CBLAS_LIBRARY_DEBUG
-  GSL_USE_PKGCONFIG GSL_CONFIG )
-
-#=============================================================================
-# Register imported libraries:
-# 1. If we can find a Windows .dll file (or if we can find both Debug and
-#    Release libraries), we will set appropriate target properties for these.
-# 2. However, for most systems, we will only register the import location and
-#    include directory.
-
-# Look for dlls, or Release and Debug libraries.
-if(WIN32)
-  string( REPLACE ".lib" ".dll" GSL_LIBRARY_DLL       "${GSL_LIBRARY}" )
-  string( REPLACE ".lib" ".dll" GSL_CBLAS_LIBRARY_DLL "${GSL_CBLAS_LIBRARY}" )
-  string( REPLACE ".lib" ".dll" GSL_LIBRARY_DEBUG_DLL "${GSL_LIBRARY_DEBUG}" )
-  string( REPLACE ".lib" ".dll" GSL_CBLAS_LIBRARY_DEBUG_DLL "${GSL_CBLAS_LIBRARY_DEBUG}" )
-endif()
-
-if( GSL_FOUND AND NOT TARGET GSL::gsl )
-  if( EXISTS "${GSL_LIBRARY_DLL}" AND EXISTS "${GSL_CBLAS_LIBRARY_DLL}")
-
-    # Windows systems with dll libraries.
-    add_library( GSL::gsl      SHARED IMPORTED )
-    add_library( GSL::gslcblas SHARED IMPORTED )
-
-    # Windows with dlls, but only Release libraries.
-    set_target_properties( GSL::gslcblas PROPERTIES
-      IMPORTED_LOCATION_RELEASE         "${GSL_CBLAS_LIBRARY_DLL}"
-      IMPORTED_IMPLIB                   "${GSL_CBLAS_LIBRARY}"
-      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
-      IMPORTED_CONFIGURATIONS           Release
-      IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
-    set_target_properties( GSL::gsl PROPERTIES
-      IMPORTED_LOCATION_RELEASE         "${GSL_LIBRARY_DLL}"
-      IMPORTED_IMPLIB                   "${GSL_LIBRARY}"
-      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
-      IMPORTED_CONFIGURATIONS           Release
-      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-      INTERFACE_LINK_LIBRARIES          GSL::gslcblas )
-
-    # If we have both Debug and Release libraries
-    if( EXISTS "${GSL_LIBRARY_DEBUG_DLL}" AND EXISTS "${GSL_CBLAS_LIBRARY_DEBUG_DLL}")
-      set_property( TARGET GSL::gslcblas APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
-      set_target_properties( GSL::gslcblas PROPERTIES
-        IMPORTED_LOCATION_DEBUG           "${GSL_CBLAS_LIBRARY_DEBUG_DLL}"
-        IMPORTED_IMPLIB_DEBUG             "${GSL_CBLAS_LIBRARY_DEBUG}" )
-      set_property( TARGET GSL::gsl APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
-      set_target_properties( GSL::gsl PROPERTIES
-        IMPORTED_LOCATION_DEBUG           "${GSL_LIBRARY_DEBUG_DLL}"
-        IMPORTED_IMPLIB_DEBUG             "${GSL_LIBRARY_DEBUG}" )
-    endif()
-
-  else()
-
-    # For all other environments (ones without dll libraries), create
-    # the imported library targets.
-    add_library( GSL::gsl      UNKNOWN IMPORTED )
-    add_library( GSL::gslcblas UNKNOWN IMPORTED )
-    set_target_properties( GSL::gslcblas PROPERTIES
-      IMPORTED_LOCATION                 "${GSL_CBLAS_LIBRARY}"
-      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
-      IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
-    set_target_properties( GSL::gsl PROPERTIES
-      IMPORTED_LOCATION                 "${GSL_LIBRARY}"
-      INTERFACE_INCLUDE_DIRECTORIES     "${GSL_INCLUDE_DIRS}"
-      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-      INTERFACE_LINK_LIBRARIES          GSL::gslcblas )
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindGTK.cmake b/share/cmake-3.6/Modules/FindGTK.cmake
deleted file mode 100644
index 01bca76..0000000
--- a/share/cmake-3.6/Modules/FindGTK.cmake
+++ /dev/null
@@ -1,168 +0,0 @@
-#.rst:
-# FindGTK
-# -------
-#
-# try to find GTK (and glib) and GTKGLArea
-#
-# ::
-#
-#   GTK_INCLUDE_DIR   - Directories to include to use GTK
-#   GTK_LIBRARIES     - Files to link against to use GTK
-#   GTK_FOUND         - GTK was found
-#   GTK_GL_FOUND      - GTK's GL features were found
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# don't even bother under WIN32
-if(UNIX)
-
-  find_path( GTK_gtk_INCLUDE_PATH NAMES gtk/gtk.h
-    PATH_SUFFIXES gtk-1.2 gtk12
-    PATHS
-    /usr/openwin/share/include
-    /usr/openwin/include
-    /opt/gnome/include
-  )
-
-  # Some Linux distributions (e.g. Red Hat) have glibconfig.h
-  # and glib.h in different directories, so we need to look
-  # for both.
-  #  - Atanas Georgiev <atanas@cs.columbia.edu>
-
-  find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
-    PATHS
-    /usr/openwin/share/include
-    /usr/local/include/glib12
-    /usr/lib/glib/include
-    /usr/local/lib/glib/include
-    /opt/gnome/include
-    /opt/gnome/lib/glib/include
-  )
-
-  find_path( GTK_glib_INCLUDE_PATH NAMES glib.h
-    PATH_SUFFIXES gtk-1.2 glib-1.2 glib12
-    PATHS
-    /usr/openwin/share/include
-    /usr/lib/glib/include
-    /opt/gnome/include
-  )
-
-  find_path( GTK_gtkgl_INCLUDE_PATH NAMES gtkgl/gtkglarea.h
-    PATHS /usr/openwin/share/include
-          /opt/gnome/include
-  )
-
-  find_library( GTK_gtkgl_LIBRARY gtkgl
-    /usr/openwin/lib
-    /opt/gnome/lib
-  )
-
-  #
-  # The 12 suffix is thanks to the FreeBSD ports collection
-  #
-
-  find_library( GTK_gtk_LIBRARY
-    NAMES  gtk gtk12
-    PATHS /usr/openwin/lib
-          /opt/gnome/lib
-  )
-
-  find_library( GTK_gdk_LIBRARY
-    NAMES  gdk gdk12
-    PATHS  /usr/openwin/lib
-           /opt/gnome/lib
-  )
-
-  find_library( GTK_gmodule_LIBRARY
-    NAMES  gmodule gmodule12
-    PATHS  /usr/openwin/lib
-           /opt/gnome/lib
-  )
-
-  find_library( GTK_glib_LIBRARY
-    NAMES  glib glib12
-    PATHS  /usr/openwin/lib
-           /opt/gnome/lib
-  )
-
-  find_library( GTK_Xi_LIBRARY
-    NAMES Xi
-    PATHS /usr/openwin/lib
-          /opt/gnome/lib
-    )
-
-  find_library( GTK_gthread_LIBRARY
-    NAMES  gthread gthread12
-    PATHS  /usr/openwin/lib
-           /opt/gnome/lib
-  )
-
-  if(GTK_gtk_INCLUDE_PATH
-     AND GTK_glibconfig_INCLUDE_PATH
-     AND GTK_glib_INCLUDE_PATH
-     AND GTK_gtk_LIBRARY
-     AND GTK_glib_LIBRARY)
-
-    # Assume that if gtk and glib were found, the other
-    # supporting libraries have also been found.
-
-    set( GTK_FOUND "YES" )
-    set( GTK_INCLUDE_DIR  ${GTK_gtk_INCLUDE_PATH}
-                           ${GTK_glibconfig_INCLUDE_PATH}
-                           ${GTK_glib_INCLUDE_PATH} )
-    set( GTK_LIBRARIES  ${GTK_gtk_LIBRARY}
-                        ${GTK_gdk_LIBRARY}
-                        ${GTK_glib_LIBRARY} )
-
-    if(GTK_gmodule_LIBRARY)
-      set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gmodule_LIBRARY})
-    endif()
-    if(GTK_gthread_LIBRARY)
-      set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gthread_LIBRARY})
-    endif()
-    if(GTK_Xi_LIBRARY)
-      set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_Xi_LIBRARY})
-    endif()
-
-    if(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
-      set( GTK_GL_FOUND "YES" )
-      set( GTK_INCLUDE_DIR  ${GTK_INCLUDE_DIR}
-                            ${GTK_gtkgl_INCLUDE_PATH} )
-      set( GTK_LIBRARIES  ${GTK_gtkgl_LIBRARY} ${GTK_LIBRARIES} )
-      mark_as_advanced(
-        GTK_gtkgl_LIBRARY
-        GTK_gtkgl_INCLUDE_PATH
-        )
-    endif()
-
-  endif()
-
-  mark_as_advanced(
-    GTK_gdk_LIBRARY
-    GTK_glib_INCLUDE_PATH
-    GTK_glib_LIBRARY
-    GTK_glibconfig_INCLUDE_PATH
-    GTK_gmodule_LIBRARY
-    GTK_gthread_LIBRARY
-    GTK_Xi_LIBRARY
-    GTK_gtk_INCLUDE_PATH
-    GTK_gtk_LIBRARY
-    GTK_gtkgl_INCLUDE_PATH
-    GTK_gtkgl_LIBRARY
-  )
-
-endif()
-
-
-
diff --git a/share/cmake-3.6/Modules/FindGTK2.cmake b/share/cmake-3.6/Modules/FindGTK2.cmake
deleted file mode 100644
index 6e4a7f2..0000000
--- a/share/cmake-3.6/Modules/FindGTK2.cmake
+++ /dev/null
@@ -1,971 +0,0 @@
-#.rst:
-# FindGTK2
-# --------
-#
-# FindGTK2.cmake
-#
-# This module can 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.
-#
-#
-#
-# Specify one or more of the following components as you call this find
-# module.  See example below.
-#
-# ::
-#
-#    gtk
-#    gtkmm
-#    glade
-#    glademm
-#
-#
-#
-# 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
-#
-#
-#
-# 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
-#
-#
-#
-# ================= Example Usage:
-#
-# ::
-#
-#    Call find_package() once, here are some examples to pick from:
-#
-#
-#
-# ::
-#
-#    Require GTK 2.6 or later
-#        find_package(GTK2 2.6 REQUIRED gtk)
-#
-#
-#
-# ::
-#
-#    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()
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2008-2012 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Version 1.6 (CMake 3.0)
-#   * Create targets for each library
-#   * Do not link libfreetype
-# Version 1.5 (CMake 2.8.12)
-#   * 14236: Detect gthread library
-#            Detect pangocairo on windows
-#            Detect pangocairo with gtk module instead of with gtkmm
-#   * 14259: Use vc100 libraries with MSVC11
-#   * 14260: Export a GTK2_DEFINITIONS variable to set /vd2 when appropriate
-#            (i.e. MSVC)
-#   * Use the optimized/debug syntax for _LIBRARY and _LIBRARIES variables when
-#     appropriate. A new set of _RELEASE variables was also added.
-#   * Remove GTK2_SKIP_MARK_AS_ADVANCED option, as now the variables are
-#     marked as advanced by SelectLibraryConfigurations
-#   * Detect gmodule, pangoft2 and pangoxft libraries
-# Version 1.4 (10/4/2012) (CMake 2.8.10)
-#   * 12596: Missing paths for FindGTK2 on NetBSD
-#   * 12049: Fixed detection of GTK include files in the lib folder on
-#            multiarch systems.
-# Version 1.3 (11/9/2010) (CMake 2.8.4)
-#   * 11429: Add support for detecting GTK2 built with Visual Studio 10.
-#            Thanks to Vincent Levesque for the patch.
-# Version 1.2 (8/30/2010) (CMake 2.8.3)
-#   * Merge patch for detecting gdk-pixbuf library (split off
-#     from core GTK in 2.21).  Thanks to Vincent Untz for the patch
-#     and Ricardo Cruz for the heads up.
-# Version 1.1 (8/19/2010) (CMake 2.8.3)
-#   * Add support for detecting GTK2 under macports (thanks to Gary Kramlich)
-# Version 1.0 (8/12/2010) (CMake 2.8.3)
-#   * Add support for detecting new pangommconfig.h header file
-#     (Thanks to Sune Vuorela & the Debian Project for the patch)
-#   * Add support for detecting fontconfig.h header
-#   * Call find_package(Freetype) since it's required
-#   * Add support for allowing users to add additional library directories
-#     via the GTK2_ADDITIONAL_SUFFIXES variable (kind of a future-kludge in
-#     case the GTK developers change versions on any of the directories in the
-#     future).
-# Version 0.8 (1/4/2010)
-#   * Get module working under MacOSX fink by adding /sw/include, /sw/lib
-#     to PATHS and the gobject library
-# Version 0.7 (3/22/09)
-#   * Checked into CMake CVS
-#   * Added versioning support
-#   * Module now defaults to searching for GTK if COMPONENTS not specified.
-#   * Added HKCU prior to HKLM registry key and GTKMM specific environment
-#      variable as per mailing list discussion.
-#   * Added lib64 to include search path and a few other search paths where GTK
-#      may be installed on Unix systems.
-#   * Switched to lowercase CMake commands
-#   * Prefaced internal variables with _GTK2 to prevent collision
-#   * Changed internal macros to functions
-#   * Enhanced documentation
-# Version 0.6 (1/8/08)
-#   Added GTK2_SKIP_MARK_AS_ADVANCED option
-# Version 0.5 (12/19/08)
-#   Second release to cmake mailing list
-
-#=============================================================
-# _GTK2_GET_VERSION
-# Internal function to parse the version number in gtkversion.h
-#   _OUT_major = Major version number
-#   _OUT_minor = Minor version number
-#   _OUT_micro = Micro version number
-#   _gtkversion_hdr = Header file to parse
-#=============================================================
-
-include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-function(_GTK2_GET_VERSION _OUT_major _OUT_minor _OUT_micro _gtkversion_hdr)
-    file(STRINGS ${_gtkversion_hdr} _contents REGEX "#define GTK_M[A-Z]+_VERSION[ \t]+")
-    if(_contents)
-        string(REGEX REPLACE ".*#define GTK_MAJOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_major} "${_contents}")
-        string(REGEX REPLACE ".*#define GTK_MINOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_minor} "${_contents}")
-        string(REGEX REPLACE ".*#define GTK_MICRO_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_micro} "${_contents}")
-
-        if(NOT ${_OUT_major} MATCHES "[0-9]+")
-            message(FATAL_ERROR "Version parsing failed for GTK2_MAJOR_VERSION!")
-        endif()
-        if(NOT ${_OUT_minor} MATCHES "[0-9]+")
-            message(FATAL_ERROR "Version parsing failed for GTK2_MINOR_VERSION!")
-        endif()
-        if(NOT ${_OUT_micro} MATCHES "[0-9]+")
-            message(FATAL_ERROR "Version parsing failed for GTK2_MICRO_VERSION!")
-        endif()
-
-        set(${_OUT_major} ${${_OUT_major}} PARENT_SCOPE)
-        set(${_OUT_minor} ${${_OUT_minor}} PARENT_SCOPE)
-        set(${_OUT_micro} ${${_OUT_micro}} PARENT_SCOPE)
-    else()
-        message(FATAL_ERROR "Include file ${_gtkversion_hdr} does not exist")
-    endif()
-endfunction()
-
-
-#=============================================================
-# _GTK2_SIGCXX_GET_VERSION
-# Internal function to parse the version number in
-# sigc++config.h
-#   _OUT_major = Major version number
-#   _OUT_minor = Minor version number
-#   _OUT_micro = Micro version number
-#   _sigcxxversion_hdr = Header file to parse
-#=============================================================
-
-function(_GTK2_SIGCXX_GET_VERSION _OUT_major _OUT_minor _OUT_micro _sigcxxversion_hdr)
-    file(STRINGS ${_sigcxxversion_hdr} _contents REGEX "#define SIGCXX_M[A-Z]+_VERSION[ \t]+")
-    if(_contents)
-        string(REGEX REPLACE ".*#define SIGCXX_MAJOR_VERSION[ \t]+([0-9]+).*" "\\1" ${_OUT_major} "${_contents}")
-        string(REGEX REPLACE ".*#define SIGCXX_MINOR_VERSION[ \t]+([0-9]+).*" "\\1" ${_OUT_minor} "${_contents}")
-        string(REGEX REPLACE ".*#define SIGCXX_MICRO_VERSION[ \t]+([0-9]+).*" "\\1" ${_OUT_micro} "${_contents}")
-
-        if(NOT ${_OUT_major} MATCHES "[0-9]+")
-            message(FATAL_ERROR "Version parsing failed for SIGCXX_MAJOR_VERSION!")
-        endif()
-        if(NOT ${_OUT_minor} MATCHES "[0-9]+")
-            message(FATAL_ERROR "Version parsing failed for SIGCXX_MINOR_VERSION!")
-        endif()
-        if(NOT ${_OUT_micro} MATCHES "[0-9]+")
-            message(FATAL_ERROR "Version parsing failed for SIGCXX_MICRO_VERSION!")
-        endif()
-
-        set(${_OUT_major} ${${_OUT_major}} PARENT_SCOPE)
-        set(${_OUT_minor} ${${_OUT_minor}} PARENT_SCOPE)
-        set(${_OUT_micro} ${${_OUT_micro}} PARENT_SCOPE)
-    else()
-        message(FATAL_ERROR "Include file ${_gtkversion_hdr} does not exist")
-    endif()
-endfunction()
-
-
-#=============================================================
-# _GTK2_FIND_INCLUDE_DIR
-# Internal function to find the GTK include directories
-#   _var = variable to set (_INCLUDE_DIR is appended)
-#   _hdr = header file to look for
-#=============================================================
-function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "_GTK2_FIND_INCLUDE_DIR( ${_var} ${_hdr} )")
-    endif()
-
-    set(_gtk_packages
-        # If these ever change, things will break.
-        ${GTK2_ADDITIONAL_SUFFIXES}
-        glibmm-2.4
-        glib-2.0
-        atk-1.0
-        atkmm-1.6
-        cairo
-        cairomm-1.0
-        gdk-pixbuf-2.0
-        gdkmm-2.4
-        giomm-2.4
-        gtk-2.0
-        gtkmm-2.4
-        libglade-2.0
-        libglademm-2.4
-        pango-1.0
-        pangomm-1.4
-        sigc++-2.0
-    )
-
-    #
-    # NOTE: The following suffixes cause searching for header files in both of
-    # these directories:
-    #         /usr/include/<pkg>
-    #         /usr/lib/<pkg>/include
-    #
-
-    set(_suffixes)
-    foreach(_d ${_gtk_packages})
-        list(APPEND _suffixes ${_d})
-        list(APPEND _suffixes ${_d}/include) # for /usr/lib/gtk-2.0/include
-    endforeach()
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "include suffixes = ${_suffixes}")
-    endif()
-
-    if(CMAKE_LIBRARY_ARCHITECTURE)
-      set(_gtk2_arch_dir /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE})
-      if(GTK2_DEBUG)
-        message(STATUS "Adding ${_gtk2_arch_dir} to search path for multiarch support")
-      endif()
-    endif()
-    find_path(GTK2_${_var}_INCLUDE_DIR ${_hdr}
-        PATHS
-            ${_gtk2_arch_dir}
-            /usr/local/lib64
-            /usr/local/lib
-            /usr/lib64
-            /usr/lib
-            /usr/X11R6/include
-            /usr/X11R6/lib
-            /opt/gnome/include
-            /opt/gnome/lib
-            /opt/openwin/include
-            /usr/openwin/lib
-            /sw/include
-            /sw/lib
-            /opt/local/include
-            /opt/local/lib
-            /usr/pkg/lib
-            /usr/pkg/include/glib
-            $ENV{GTKMM_BASEPATH}/include
-            $ENV{GTKMM_BASEPATH}/lib
-            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include
-            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
-            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/include
-            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
-        PATH_SUFFIXES
-            ${_suffixes}
-    )
-    mark_as_advanced(GTK2_${_var}_INCLUDE_DIR)
-
-    if(GTK2_${_var}_INCLUDE_DIR)
-        set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${GTK2_${_var}_INCLUDE_DIR} PARENT_SCOPE)
-    endif()
-
-endfunction()
-
-#=============================================================
-# _GTK2_FIND_LIBRARY
-# Internal function to find libraries packaged with GTK2
-#   _var = library variable to create (_LIBRARY is appended)
-#=============================================================
-function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "_GTK2_FIND_LIBRARY( ${_var} ${_lib} ${_expand_vc} ${_append_version} )")
-    endif()
-
-    # Not GTK versions per se but the versions encoded into Windows
-    # import libraries (GtkMM 2.14.1 has a gtkmm-vc80-2_4.lib for example)
-    # Also the MSVC libraries use _ for . (this is handled below)
-    set(_versions 2.20 2.18 2.16 2.14 2.12
-                  2.10  2.8  2.6  2.4  2.2 2.0
-                  1.20 1.18 1.16 1.14 1.12
-                  1.10  1.8  1.6  1.4  1.2 1.0)
-
-    set(_library)
-    set(_library_d)
-
-    set(_library ${_lib})
-
-    if(_expand_vc AND MSVC)
-        # Add vc80/vc90/vc100 midfixes
-        if(MSVC80)
-            set(_library   ${_library}-vc80)
-        elseif(MSVC90)
-            set(_library   ${_library}-vc90)
-        elseif(MSVC10)
-            set(_library ${_library}-vc100)
-        elseif(MSVC11)
-            # Up to gtkmm-win 2.22.0-2 there are no vc110 libraries but vc100 can be used
-            set(_library ${_library}-vc100)
-        endif()
-        set(_library_d ${_library}-d)
-    endif()
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "After midfix addition = ${_library} and ${_library_d}")
-    endif()
-
-    set(_lib_list)
-    set(_libd_list)
-    if(_append_version)
-        foreach(_ver ${_versions})
-            list(APPEND _lib_list  "${_library}-${_ver}")
-            list(APPEND _libd_list "${_library_d}-${_ver}")
-        endforeach()
-    else()
-        set(_lib_list ${_library})
-        set(_libd_list ${_library_d})
-    endif()
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "library list = ${_lib_list} and library debug list = ${_libd_list}")
-    endif()
-
-    # For some silly reason the MSVC libraries use _ instead of .
-    # in the version fields
-    if(_expand_vc AND MSVC)
-        set(_no_dots_lib_list)
-        set(_no_dots_libd_list)
-        foreach(_l ${_lib_list})
-            string(REPLACE "." "_" _no_dots_library ${_l})
-            list(APPEND _no_dots_lib_list ${_no_dots_library})
-        endforeach()
-        # And for debug
-        set(_no_dots_libsd_list)
-        foreach(_l ${_libd_list})
-            string(REPLACE "." "_" _no_dots_libraryd ${_l})
-            list(APPEND _no_dots_libd_list ${_no_dots_libraryd})
-        endforeach()
-
-        # Copy list back to original names
-        set(_lib_list ${_no_dots_lib_list})
-        set(_libd_list ${_no_dots_libd_list})
-    endif()
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "While searching for GTK2_${_var}_LIBRARY, our proposed library list is ${_lib_list}")
-    endif()
-
-    find_library(GTK2_${_var}_LIBRARY_RELEASE
-        NAMES ${_lib_list}
-        PATHS
-            /opt/gnome/lib
-            /usr/openwin/lib
-            /sw/lib
-            $ENV{GTKMM_BASEPATH}/lib
-            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
-            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
-        )
-
-    if(_expand_vc AND MSVC)
-        if(GTK2_DEBUG)
-            message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                           "While searching for GTK2_${_var}_LIBRARY_DEBUG our proposed library list is ${_libd_list}")
-        endif()
-
-        find_library(GTK2_${_var}_LIBRARY_DEBUG
-            NAMES ${_libd_list}
-            PATHS
-            $ENV{GTKMM_BASEPATH}/lib
-            [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
-            [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
-        )
-    endif()
-
-    select_library_configurations(GTK2_${_var})
-
-    set(GTK2_${_var}_LIBRARY ${GTK2_${_var}_LIBRARY} PARENT_SCOPE)
-    set(GTK2_${_var}_FOUND ${GTK2_${_var}_FOUND} PARENT_SCOPE)
-
-    if(GTK2_${_var}_FOUND)
-        set(GTK2_LIBRARIES ${GTK2_LIBRARIES} ${GTK2_${_var}_LIBRARY})
-        set(GTK2_LIBRARIES ${GTK2_LIBRARIES} PARENT_SCOPE)
-    endif()
-
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "GTK2_${_var}_LIBRARY_RELEASE = \"${GTK2_${_var}_LIBRARY_RELEASE}\"")
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "GTK2_${_var}_LIBRARY_DEBUG   = \"${GTK2_${_var}_LIBRARY_DEBUG}\"")
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "GTK2_${_var}_LIBRARY         = \"${GTK2_${_var}_LIBRARY}\"")
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]     "
-                       "GTK2_${_var}_FOUND           = \"${GTK2_${_var}_FOUND}\"")
-    endif()
-
-endfunction()
-
-
-function(_GTK2_ADD_TARGET_DEPENDS_INTERNAL _var _property)
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "_GTK2_ADD_TARGET_DEPENDS_INTERNAL( ${_var} ${_property} )")
-    endif()
-
-    string(TOLOWER "${_var}" _basename)
-
-    if (TARGET GTK2::${_basename})
-        foreach(_depend ${ARGN})
-            set(_valid_depends)
-            if (TARGET GTK2::${_depend})
-                list(APPEND _valid_depends GTK2::${_depend})
-            endif()
-            if (_valid_depends)
-                set_property(TARGET GTK2::${_basename} APPEND PROPERTY ${_property} "${_valid_depends}")
-            endif()
-            set(_valid_depends)
-        endforeach()
-    endif()
-endfunction()
-
-function(_GTK2_ADD_TARGET_DEPENDS _var)
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "_GTK2_ADD_TARGET_DEPENDS( ${_var} )")
-    endif()
-
-    string(TOLOWER "${_var}" _basename)
-
-    if(TARGET GTK2::${_basename})
-        get_target_property(_configs GTK2::${_basename} IMPORTED_CONFIGURATIONS)
-        _GTK2_ADD_TARGET_DEPENDS_INTERNAL(${_var} INTERFACE_LINK_LIBRARIES ${ARGN})
-        foreach(_config ${_configs})
-            _GTK2_ADD_TARGET_DEPENDS_INTERNAL(${_var} IMPORTED_LINK_INTERFACE_LIBRARIES_${_config} ${ARGN})
-        endforeach()
-    endif()
-endfunction()
-
-function(_GTK2_ADD_TARGET_INCLUDE_DIRS _var)
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "_GTK2_ADD_TARGET_INCLUDE_DIRS( ${_var} )")
-    endif()
-
-    string(TOLOWER "${_var}" _basename)
-
-    if(TARGET GTK2::${_basename})
-        foreach(_include ${ARGN})
-            set_property(TARGET GTK2::${_basename} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${_include}")
-        endforeach()
-    endif()
-endfunction()
-
-#=============================================================
-# _GTK2_ADD_TARGET
-# Internal function to create targets for GTK2
-#   _var = target to create
-#=============================================================
-function(_GTK2_ADD_TARGET _var)
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "_GTK2_ADD_TARGET( ${_var} )")
-    endif()
-
-    string(TOLOWER "${_var}" _basename)
-
-    cmake_parse_arguments(_${_var} "" "" "GTK2_DEPENDS;GTK2_OPTIONAL_DEPENDS;OPTIONAL_INCLUDES" ${ARGN})
-
-    if(GTK2_${_var}_FOUND AND NOT TARGET GTK2::${_basename})
-        # Do not create the target if dependencies are missing
-        foreach(_dep ${_${_var}_GTK2_DEPENDS})
-            if(NOT TARGET GTK2::${_dep})
-                return()
-            endif()
-        endforeach()
-
-        add_library(GTK2::${_basename} UNKNOWN IMPORTED)
-
-        set(GTK2_TARGETS ${GTK2_TARGETS} GTK2::${_basename})
-        set(GTK2_TARGETS ${GTK2_TARGETS} PARENT_SCOPE)
-
-        if(GTK2_${_var}_LIBRARY_RELEASE)
-            set_property(TARGET GTK2::${_basename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-            set_property(TARGET GTK2::${_basename}        PROPERTY IMPORTED_LOCATION_RELEASE "${GTK2_${_var}_LIBRARY_RELEASE}" )
-        endif()
-
-        if(GTK2_${_var}_LIBRARY_DEBUG)
-            set_property(TARGET GTK2::${_basename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
-            set_property(TARGET GTK2::${_basename}        PROPERTY IMPORTED_LOCATION_DEBUG "${GTK2_${_var}_LIBRARY_DEBUG}" )
-        endif()
-
-        if(GTK2_${_var}_INCLUDE_DIR)
-            set_property(TARGET GTK2::${_basename} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GTK2_${_var}_INCLUDE_DIR}")
-        endif()
-
-        if(GTK2_${_var}CONFIG_INCLUDE_DIR AND NOT "x${GTK2_${_var}CONFIG_INCLUDE_DIR}" STREQUAL "x${GTK2_${_var}_INCLUDE_DIR}")
-            set_property(TARGET GTK2::${_basename} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GTK2_${_var}CONFIG_INCLUDE_DIR}")
-        endif()
-
-        if(GTK2_DEFINITIONS)
-            set_property(TARGET GTK2::${_basename} PROPERTY INTERFACE_COMPILE_DEFINITIONS "${GTK2_DEFINITIONS}")
-        endif()
-
-        if(_${_var}_GTK2_DEPENDS)
-            _GTK2_ADD_TARGET_DEPENDS(${_var} ${_${_var}_GTK2_DEPENDS} ${_${_var}_GTK2_OPTIONAL_DEPENDS})
-        endif()
-
-        if(_${_var}_OPTIONAL_INCLUDES)
-            foreach(_D ${_${_var}_OPTIONAL_INCLUDES})
-                if(_D)
-                    _GTK2_ADD_TARGET_INCLUDE_DIRS(${_var} ${_D})
-                endif()
-            endforeach()
-        endif()
-
-        if(GTK2_USE_IMPORTED_TARGETS)
-            set(GTK2_${_var}_LIBRARY GTK2::${_basename} PARENT_SCOPE)
-        endif()
-
-    endif()
-endfunction()
-
-
-
-#=============================================================
-
-#
-# main()
-#
-
-set(GTK2_FOUND)
-set(GTK2_INCLUDE_DIRS)
-set(GTK2_LIBRARIES)
-set(GTK2_TARGETS)
-set(GTK2_DEFINITIONS)
-
-if(NOT GTK2_FIND_COMPONENTS)
-    # Assume they only want GTK
-    set(GTK2_FIND_COMPONENTS gtk)
-endif()
-
-#
-# If specified, enforce version number
-#
-if(GTK2_FIND_VERSION)
-    set(GTK2_FAILED_VERSION_CHECK true)
-    if(GTK2_DEBUG)
-        message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
-                       "Searching for version ${GTK2_FIND_VERSION}")
-    endif()
-    _GTK2_FIND_INCLUDE_DIR(GTK gtk/gtk.h)
-    if(GTK2_GTK_INCLUDE_DIR)
-        _GTK2_GET_VERSION(GTK2_MAJOR_VERSION
-                          GTK2_MINOR_VERSION
-                          GTK2_PATCH_VERSION
-                          ${GTK2_GTK_INCLUDE_DIR}/gtk/gtkversion.h)
-        set(GTK2_VERSION
-            ${GTK2_MAJOR_VERSION}.${GTK2_MINOR_VERSION}.${GTK2_PATCH_VERSION})
-        if(GTK2_FIND_VERSION_EXACT)
-            if(GTK2_VERSION VERSION_EQUAL GTK2_FIND_VERSION)
-                set(GTK2_FAILED_VERSION_CHECK false)
-            endif()
-        else()
-            if(GTK2_VERSION VERSION_EQUAL   GTK2_FIND_VERSION OR
-               GTK2_VERSION VERSION_GREATER GTK2_FIND_VERSION)
-                set(GTK2_FAILED_VERSION_CHECK false)
-            endif()
-        endif()
-    else()
-        # If we can't find the GTK include dir, we can't do version checking
-        if(GTK2_FIND_REQUIRED AND NOT GTK2_FIND_QUIETLY)
-            message(FATAL_ERROR "Could not find GTK2 include directory")
-        endif()
-        return()
-    endif()
-
-    if(GTK2_FAILED_VERSION_CHECK)
-        if(GTK2_FIND_REQUIRED AND NOT GTK2_FIND_QUIETLY)
-            if(GTK2_FIND_VERSION_EXACT)
-                message(FATAL_ERROR "GTK2 version check failed.  Version ${GTK2_VERSION} was found, version ${GTK2_FIND_VERSION} is needed exactly.")
-            else()
-                message(FATAL_ERROR "GTK2 version check failed.  Version ${GTK2_VERSION} was found, at least version ${GTK2_FIND_VERSION} is required")
-            endif()
-        endif()
-
-        # If the version check fails, exit out of the module here
-        return()
-    endif()
-endif()
-
-#
-# On MSVC, according to https://wiki.gnome.org/gtkmm/MSWindows, the /vd2 flag needs to be
-# passed to the compiler in order to use gtkmm
-#
-if(MSVC)
-    foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
-        if(_GTK2_component STREQUAL "gtkmm")
-            set(GTK2_DEFINITIONS "/vd2")
-        elseif(_GTK2_component STREQUAL "glademm")
-            set(GTK2_DEFINITIONS "/vd2")
-        endif()
-    endforeach()
-endif()
-
-#
-# Find all components
-#
-
-find_package(Freetype QUIET)
-if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
-    list(APPEND GTK2_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2})
-endif()
-
-foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
-    if(_GTK2_component STREQUAL "gtk")
-        # Left for compatibility with previous versions.
-        _GTK2_FIND_INCLUDE_DIR(FONTCONFIG fontconfig/fontconfig.h)
-        _GTK2_FIND_INCLUDE_DIR(X11 X11/Xlib.h)
-
-        _GTK2_FIND_INCLUDE_DIR(GLIB glib.h)
-        _GTK2_FIND_INCLUDE_DIR(GLIBCONFIG glibconfig.h)
-        _GTK2_FIND_LIBRARY    (GLIB glib false true)
-        _GTK2_ADD_TARGET      (GLIB)
-
-        _GTK2_FIND_INCLUDE_DIR(GOBJECT glib-object.h)
-        _GTK2_FIND_LIBRARY    (GOBJECT gobject false true)
-        _GTK2_ADD_TARGET      (GOBJECT GTK2_DEPENDS glib)
-
-        _GTK2_FIND_INCLUDE_DIR(ATK atk/atk.h)
-        _GTK2_FIND_LIBRARY    (ATK atk false true)
-        _GTK2_ADD_TARGET      (ATK GTK2_DEPENDS gobject glib)
-
-        _GTK2_FIND_LIBRARY    (GIO gio false true)
-        _GTK2_ADD_TARGET      (GIO GTK2_DEPENDS gobject glib)
-
-        _GTK2_FIND_LIBRARY    (GTHREAD gthread false true)
-        _GTK2_ADD_TARGET      (GTHREAD GTK2_DEPENDS glib)
-
-        _GTK2_FIND_LIBRARY    (GMODULE gmodule false true)
-        _GTK2_ADD_TARGET      (GMODULE GTK2_DEPENDS glib)
-
-        _GTK2_FIND_INCLUDE_DIR(GDK_PIXBUF gdk-pixbuf/gdk-pixbuf.h)
-        _GTK2_FIND_LIBRARY    (GDK_PIXBUF gdk_pixbuf false true)
-        _GTK2_ADD_TARGET      (GDK_PIXBUF GTK2_DEPENDS gobject glib)
-
-        _GTK2_FIND_INCLUDE_DIR(CAIRO cairo.h)
-        _GTK2_FIND_LIBRARY    (CAIRO cairo false false)
-        _GTK2_ADD_TARGET      (CAIRO)
-
-        _GTK2_FIND_INCLUDE_DIR(PANGO pango/pango.h)
-        _GTK2_FIND_LIBRARY    (PANGO pango false true)
-        _GTK2_ADD_TARGET      (PANGO GTK2_DEPENDS gobject glib)
-
-        _GTK2_FIND_LIBRARY    (PANGOCAIRO pangocairo false true)
-        _GTK2_ADD_TARGET      (PANGOCAIRO GTK2_DEPENDS pango cairo gobject glib)
-
-        _GTK2_FIND_LIBRARY    (PANGOFT2 pangoft2 false true)
-        _GTK2_ADD_TARGET      (PANGOFT2 GTK2_DEPENDS pango gobject glib
-                                        OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                          ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                          ${GTK2_X11_INCLUDE_DIR})
-
-        _GTK2_FIND_LIBRARY    (PANGOXFT pangoxft false true)
-        _GTK2_ADD_TARGET      (PANGOXFT GTK2_DEPENDS pangoft2 pango gobject glib
-                                        OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                          ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                          ${GTK2_X11_INCLUDE_DIR})
-
-        _GTK2_FIND_INCLUDE_DIR(GDK gdk/gdk.h)
-        _GTK2_FIND_INCLUDE_DIR(GDKCONFIG gdkconfig.h)
-        if(UNIX)
-            if(APPLE)
-                _GTK2_FIND_LIBRARY    (GDK gdk-quartz false true)
-            endif()
-            if(NOT GTK2_GDK_FOUND)
-                _GTK2_FIND_LIBRARY    (GDK gdk-x11 false true)
-            endif()
-        else()
-            _GTK2_FIND_LIBRARY    (GDK gdk-win32 false true)
-        endif()
-        _GTK2_ADD_TARGET (GDK GTK2_DEPENDS pango gdk_pixbuf gobject glib
-                              GTK2_OPTIONAL_DEPENDS pangocairo cairo)
-
-        _GTK2_FIND_INCLUDE_DIR(GTK gtk/gtk.h)
-        if(UNIX)
-            if(APPLE)
-                _GTK2_FIND_LIBRARY    (GTK gtk-quartz false true)
-            endif()
-            if(NOT GTK2_GTK_FOUND)
-                _GTK2_FIND_LIBRARY    (GTK gtk-x11 false true)
-            endif()
-        else()
-            _GTK2_FIND_LIBRARY    (GTK gtk-win32 false true)
-        endif()
-        _GTK2_ADD_TARGET (GTK GTK2_DEPENDS gdk atk pangoft2 pango gdk_pixbuf gthread gobject glib
-                              GTK2_OPTIONAL_DEPENDS gio pangocairo cairo)
-
-    elseif(_GTK2_component STREQUAL "gtkmm")
-
-        _GTK2_FIND_INCLUDE_DIR(SIGC++ sigc++/sigc++.h)
-        _GTK2_FIND_INCLUDE_DIR(SIGC++CONFIG sigc++config.h)
-        _GTK2_FIND_LIBRARY    (SIGC++ sigc true true)
-        _GTK2_ADD_TARGET      (SIGC++)
-        # Since sigc++ 2.5.1 c++11 support is required
-        if(GTK2_SIGC++CONFIG_INCLUDE_DIR)
-            _GTK2_SIGCXX_GET_VERSION(GTK2_SIGC++_VERSION_MAJOR
-                                     GTK2_SIGC++_VERSION_MINOR
-                                     GTK2_SIGC++_VERSION_MICRO
-                                     ${GTK2_SIGC++CONFIG_INCLUDE_DIR}/sigc++config.h)
-            if(NOT ${GTK2_SIGC++_VERSION_MAJOR}.${GTK2_SIGC++_VERSION_MINOR}.${GTK2_SIGC++_VERSION_MICRO} VERSION_LESS 2.5.1)
-                # These are the features needed by clients in order to include the
-                # project headers:
-                set_property(TARGET GTK2::sigc++
-                             PROPERTY INTERFACE_COMPILE_FEATURES cxx_alias_templates
-                                                                 cxx_auto_type
-                                                                 cxx_decltype
-                                                                 cxx_deleted_functions
-                                                                 cxx_noexcept
-                                                                 cxx_nullptr
-                                                                 cxx_right_angle_brackets
-                                                                 cxx_rvalue_references
-                                                                 cxx_variadic_templates)
-            endif()
-        endif()
-
-        _GTK2_FIND_INCLUDE_DIR(GLIBMM glibmm.h)
-        _GTK2_FIND_INCLUDE_DIR(GLIBMMCONFIG glibmmconfig.h)
-        _GTK2_FIND_LIBRARY    (GLIBMM glibmm true true)
-        _GTK2_ADD_TARGET      (GLIBMM GTK2_DEPENDS gobject sigc++ glib)
-
-        _GTK2_FIND_INCLUDE_DIR(GIOMM giomm.h)
-        _GTK2_FIND_INCLUDE_DIR(GIOMMCONFIG giommconfig.h)
-        _GTK2_FIND_LIBRARY    (GIOMM giomm true true)
-        _GTK2_ADD_TARGET      (GIOMM GTK2_DEPENDS gio glibmm gobject sigc++ glib)
-
-        _GTK2_FIND_INCLUDE_DIR(ATKMM atkmm.h)
-        _GTK2_FIND_LIBRARY    (ATKMM atkmm true true)
-        _GTK2_ADD_TARGET      (ATKMM GTK2_DEPENDS atk glibmm gobject sigc++ glib)
-
-        _GTK2_FIND_INCLUDE_DIR(CAIROMM cairomm/cairomm.h)
-        _GTK2_FIND_INCLUDE_DIR(CAIROMMCONFIG cairommconfig.h)
-        _GTK2_FIND_LIBRARY    (CAIROMM cairomm true true)
-        _GTK2_ADD_TARGET      (CAIROMM GTK2_DEPENDS cairo sigc++
-                                       OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                         ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                         ${GTK2_X11_INCLUDE_DIR})
-
-        _GTK2_FIND_INCLUDE_DIR(PANGOMM pangomm.h)
-        _GTK2_FIND_INCLUDE_DIR(PANGOMMCONFIG pangommconfig.h)
-        _GTK2_FIND_LIBRARY    (PANGOMM pangomm true true)
-        _GTK2_ADD_TARGET      (PANGOMM GTK2_DEPENDS glibmm sigc++ pango gobject glib
-                                       GTK2_OPTIONAL_DEPENDS cairomm pangocairo cairo
-                                       OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                         ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                         ${GTK2_X11_INCLUDE_DIR})
-
-        _GTK2_FIND_INCLUDE_DIR(GDKMM gdkmm.h)
-        _GTK2_FIND_INCLUDE_DIR(GDKMMCONFIG gdkmmconfig.h)
-        _GTK2_FIND_LIBRARY    (GDKMM gdkmm true true)
-        _GTK2_ADD_TARGET      (GDKMM GTK2_DEPENDS pangomm gtk glibmm sigc++ gdk atk pangoft2 gdk_pixbuf pango gobject glib
-                                     GTK2_OPTIONAL_DEPENDS giomm cairomm gio pangocairo cairo
-                                     OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                       ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                       ${GTK2_X11_INCLUDE_DIR})
-
-        _GTK2_FIND_INCLUDE_DIR(GTKMM gtkmm.h)
-        _GTK2_FIND_INCLUDE_DIR(GTKMMCONFIG gtkmmconfig.h)
-        _GTK2_FIND_LIBRARY    (GTKMM gtkmm true true)
-        _GTK2_ADD_TARGET      (GTKMM GTK2_DEPENDS atkmm gdkmm pangomm gtk glibmm sigc++ gdk atk pangoft2 gdk_pixbuf pango gthread gobject glib
-                                     GTK2_OPTIONAL_DEPENDS giomm cairomm gio pangocairo cairo
-                                     OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                       ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                       ${GTK2_X11_INCLUDE_DIR})
-
-    elseif(_GTK2_component STREQUAL "glade")
-
-        _GTK2_FIND_INCLUDE_DIR(GLADE glade/glade.h)
-        _GTK2_FIND_LIBRARY    (GLADE glade false true)
-        _GTK2_ADD_TARGET      (GLADE GTK2_DEPENDS gtk gdk atk gio pangoft2 gdk_pixbuf pango gobject glib
-                                     GTK2_OPTIONAL_DEPENDS pangocairo cairo
-                                     OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                       ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                       ${GTK2_X11_INCLUDE_DIR})
-
-    elseif(_GTK2_component STREQUAL "glademm")
-
-        _GTK2_FIND_INCLUDE_DIR(GLADEMM libglademm.h)
-        _GTK2_FIND_INCLUDE_DIR(GLADEMMCONFIG libglademmconfig.h)
-        _GTK2_FIND_LIBRARY    (GLADEMM glademm true true)
-        _GTK2_ADD_TARGET      (GLADEMM GTK2_DEPENDS gtkmm glade atkmm gdkmm giomm pangomm glibmm sigc++ gtk gdk atk pangoft2 gdk_pixbuf pango gthread gobject glib
-                                       GTK2_OPTIONAL_DEPENDS giomm cairomm gio pangocairo cairo
-                                       OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
-                                                         ${GTK2_FONTCONFIG_INCLUDE_DIR}
-                                                         ${GTK2_X11_INCLUDE_DIR})
-
-    else()
-        message(FATAL_ERROR "Unknown GTK2 component ${_component}")
-    endif()
-endforeach()
-
-#
-# Solve for the GTK2 version if we haven't already
-#
-if(NOT GTK2_FIND_VERSION AND GTK2_GTK_INCLUDE_DIR)
-    _GTK2_GET_VERSION(GTK2_MAJOR_VERSION
-                      GTK2_MINOR_VERSION
-                      GTK2_PATCH_VERSION
-                      ${GTK2_GTK_INCLUDE_DIR}/gtk/gtkversion.h)
-    set(GTK2_VERSION ${GTK2_MAJOR_VERSION}.${GTK2_MINOR_VERSION}.${GTK2_PATCH_VERSION})
-endif()
-
-#
-# Try to enforce components
-#
-
-set(_GTK2_did_we_find_everything true)  # This gets set to GTK2_FOUND
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
-    string(TOUPPER ${_GTK2_component} _COMPONENT_UPPER)
-
-    set(GTK2_${_COMPONENT_UPPER}_FIND_QUIETLY ${GTK2_FIND_QUIETLY})
-
-    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
-            GTK2_GTK_INCLUDE_DIR
-
-            GTK2_GDK_INCLUDE_DIR
-            GTK2_GDKCONFIG_INCLUDE_DIR
-            GTK2_GDK_LIBRARY
-
-            GTK2_GLIB_INCLUDE_DIR
-            GTK2_GLIBCONFIG_INCLUDE_DIR
-            GTK2_GLIB_LIBRARY
-        )
-    elseif(_GTK2_component STREQUAL "gtkmm")
-        FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtkmm libraries were not found."
-            GTK2_GTKMM_LIBRARY
-            GTK2_GTKMM_INCLUDE_DIR
-            GTK2_GTKMMCONFIG_INCLUDE_DIR
-
-            GTK2_GDKMM_INCLUDE_DIR
-            GTK2_GDKMMCONFIG_INCLUDE_DIR
-            GTK2_GDKMM_LIBRARY
-
-            GTK2_GLIBMM_INCLUDE_DIR
-            GTK2_GLIBMMCONFIG_INCLUDE_DIR
-            GTK2_GLIBMM_LIBRARY
-
-            FREETYPE_INCLUDE_DIR_ft2build
-            FREETYPE_INCLUDE_DIR_freetype2
-        )
-    elseif(_GTK2_component STREQUAL "glade")
-        FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glade library was not found."
-            GTK2_GLADE_LIBRARY
-            GTK2_GLADE_INCLUDE_DIR
-        )
-    elseif(_GTK2_component STREQUAL "glademm")
-        FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glademm library was not found."
-            GTK2_GLADEMM_LIBRARY
-            GTK2_GLADEMM_INCLUDE_DIR
-            GTK2_GLADEMMCONFIG_INCLUDE_DIR
-        )
-    endif()
-
-    if(NOT GTK2_${_COMPONENT_UPPER}_FOUND)
-        set(_GTK2_did_we_find_everything false)
-    endif()
-endforeach()
-
-if(GTK2_USE_IMPORTED_TARGETS)
-    set(GTK2_LIBRARIES ${GTK2_TARGETS})
-endif()
-
-
-if(_GTK2_did_we_find_everything AND NOT GTK2_VERSION_CHECK_FAILED)
-    set(GTK2_FOUND true)
-else()
-    # Unset our variables.
-    set(GTK2_FOUND false)
-    set(GTK2_VERSION)
-    set(GTK2_VERSION_MAJOR)
-    set(GTK2_VERSION_MINOR)
-    set(GTK2_VERSION_PATCH)
-    set(GTK2_INCLUDE_DIRS)
-    set(GTK2_LIBRARIES)
-    set(GTK2_TARGETS)
-    set(GTK2_DEFINITIONS)
-endif()
-
-if(GTK2_INCLUDE_DIRS)
-   list(REMOVE_DUPLICATES GTK2_INCLUDE_DIRS)
-endif()
-
diff --git a/share/cmake-3.6/Modules/FindGTest.cmake b/share/cmake-3.6/Modules/FindGTest.cmake
deleted file mode 100644
index a7ffcfe..0000000
--- a/share/cmake-3.6/Modules/FindGTest.cmake
+++ /dev/null
@@ -1,268 +0,0 @@
-#.rst:
-# FindGTest
-# ---------
-#
-# Locate the Google C++ Testing Framework.
-#
-# Imported targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` targets:
-#
-# ``GTest::GTest``
-#   The Google Test ``gtest`` library, if found; adds Thread::Thread
-#   automatically
-# ``GTest::Main``
-#   The Google Test ``gtest_main`` library, if found
-#
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project:
-#
-# ``GTEST_FOUND``
-#   Found the Google Testing framework
-# ``GTEST_INCLUDE_DIRS``
-#   the directory containing the Google Test headers
-#
-# The library variables below are set as normal variables.  These
-# contain debug/optimized keywords when a debugging library is found.
-#
-# ``GTEST_LIBRARIES``
-#   The Google Test ``gtest`` library; note it also requires linking
-#   with an appropriate thread library
-# ``GTEST_MAIN_LIBRARIES``
-#   The Google Test ``gtest_main`` library
-# ``GTEST_BOTH_LIBRARIES``
-#   Both ``gtest`` and ``gtest_main``
-#
-# Cache variables
-# ^^^^^^^^^^^^^^^
-#
-# The following cache variables may also be set:
-#
-# ``GTEST_ROOT``
-#   The root directory of the Google Test installation (may also be
-#   set as an environment variable)
-# ``GTEST_MSVC_SEARCH``
-#   If compiling with MSVC, this variable can be set to ``MD`` or
-#   ``MT`` (the default) to enable searching a GTest build tree
-#
-#
-# Example usage
-# ^^^^^^^^^^^^^
-#
-# ::
-#
-#     enable_testing()
-#     find_package(GTest REQUIRED)
-#
-#     add_executable(foo foo.cc)
-#     target_link_libraries(foo GTest::GTest GTest::Main)
-#
-#     add_test(AllTestsInFoo foo)
-#
-#
-# Deeper integration with CTest
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# If you would like each Google test to show up in CTest as a test you
-# may use the following macro::
-#
-#     GTEST_ADD_TESTS(executable extra_args files...)
-#
-# ``executable``
-#   the path to the test executable
-# ``extra_args``
-#   a list of extra arguments to be passed to executable enclosed in
-#   quotes (or ``""`` for none)
-# ``files...``
-#   a list of source files to search for tests and test fixtures.  Or
-#   ``AUTO`` to find them from executable target
-#
-# However, note that this macro will slow down your tests by running
-# an executable for each test and test fixture.
-#
-# Example usage::
-#
-#      set(FooTestArgs --foo 1 --bar 2)
-#      add_executable(FooTest FooUnitTest.cc)
-#      GTEST_ADD_TESTS(FooTest "${FooTestArgs}" AUTO)
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009 Philip Lowman <philip@yhbt.com>
-# Copyright 2009 Daniel Blezek <blezek@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-#
-# Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code
-
-function(GTEST_ADD_TESTS executable extra_args)
-    if(NOT ARGN)
-        message(FATAL_ERROR "Missing ARGN: Read the documentation for GTEST_ADD_TESTS")
-    endif()
-    if(ARGN STREQUAL "AUTO")
-        # obtain sources used for building that executable
-        get_property(ARGN TARGET ${executable} PROPERTY SOURCES)
-    endif()
-    set(gtest_case_name_regex ".*\\( *([A-Za-z_0-9]+) *, *([A-Za-z_0-9]+) *\\).*")
-    set(gtest_test_type_regex "(TYPED_TEST|TEST_?[FP]?)")
-    foreach(source ${ARGN})
-        set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${source})
-        file(READ "${source}" contents)
-        string(REGEX MATCHALL "${gtest_test_type_regex} *\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents})
-        foreach(hit ${found_tests})
-          string(REGEX MATCH "${gtest_test_type_regex}" test_type ${hit})
-
-          # Parameterized tests have a different signature for the filter
-          if("x${test_type}" STREQUAL "xTEST_P")
-            string(REGEX REPLACE ${gtest_case_name_regex}  "*/\\1.\\2/*" test_name ${hit})
-          elseif("x${test_type}" STREQUAL "xTEST_F" OR "x${test_type}" STREQUAL "xTEST")
-            string(REGEX REPLACE ${gtest_case_name_regex} "\\1.\\2" test_name ${hit})
-          elseif("x${test_type}" STREQUAL "xTYPED_TEST")
-            string(REGEX REPLACE ${gtest_case_name_regex} "\\1/*.\\2" test_name ${hit})
-          else()
-            message(WARNING "Could not parse GTest ${hit} for adding to CTest.")
-            continue()
-          endif()
-          add_test(NAME ${test_name} COMMAND ${executable} --gtest_filter=${test_name} ${extra_args})
-        endforeach()
-    endforeach()
-endfunction()
-
-function(_gtest_append_debugs _endvar _library)
-    if(${_library} AND ${_library}_DEBUG)
-        set(_output optimized ${${_library}} debug ${${_library}_DEBUG})
-    else()
-        set(_output ${${_library}})
-    endif()
-    set(${_endvar} ${_output} PARENT_SCOPE)
-endfunction()
-
-function(_gtest_find_library _name)
-    find_library(${_name}
-        NAMES ${ARGN}
-        HINTS
-            ENV GTEST_ROOT
-            ${GTEST_ROOT}
-        PATH_SUFFIXES ${_gtest_libpath_suffixes}
-    )
-    mark_as_advanced(${_name})
-endfunction()
-
-#
-
-if(NOT DEFINED GTEST_MSVC_SEARCH)
-    set(GTEST_MSVC_SEARCH MD)
-endif()
-
-set(_gtest_libpath_suffixes lib)
-if(MSVC)
-    if(GTEST_MSVC_SEARCH STREQUAL "MD")
-        list(APPEND _gtest_libpath_suffixes
-            msvc/gtest-md/Debug
-            msvc/gtest-md/Release)
-    elseif(GTEST_MSVC_SEARCH STREQUAL "MT")
-        list(APPEND _gtest_libpath_suffixes
-            msvc/gtest/Debug
-            msvc/gtest/Release)
-    endif()
-endif()
-
-
-find_path(GTEST_INCLUDE_DIR gtest/gtest.h
-    HINTS
-        $ENV{GTEST_ROOT}/include
-        ${GTEST_ROOT}/include
-)
-mark_as_advanced(GTEST_INCLUDE_DIR)
-
-if(MSVC AND GTEST_MSVC_SEARCH STREQUAL "MD")
-    # The provided /MD project files for Google Test add -md suffixes to the
-    # library names.
-    _gtest_find_library(GTEST_LIBRARY            gtest-md  gtest)
-    _gtest_find_library(GTEST_LIBRARY_DEBUG      gtest-mdd gtestd)
-    _gtest_find_library(GTEST_MAIN_LIBRARY       gtest_main-md  gtest_main)
-    _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
-else()
-    _gtest_find_library(GTEST_LIBRARY            gtest)
-    _gtest_find_library(GTEST_LIBRARY_DEBUG      gtestd)
-    _gtest_find_library(GTEST_MAIN_LIBRARY       gtest_main)
-    _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
-
-if(GTEST_FOUND)
-    set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
-    _gtest_append_debugs(GTEST_LIBRARIES      GTEST_LIBRARY)
-    _gtest_append_debugs(GTEST_MAIN_LIBRARIES GTEST_MAIN_LIBRARY)
-    set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
-
-    include(CMakeFindDependencyMacro)
-    find_dependency(Threads)
-
-    if(NOT TARGET GTest::GTest)
-        add_library(GTest::GTest UNKNOWN IMPORTED)
-        set_target_properties(GTest::GTest PROPERTIES
-            INTERFACE_LINK_LIBRARIES "Threads::Threads")
-        if(GTEST_INCLUDE_DIRS)
-            set_target_properties(GTest::GTest PROPERTIES
-                INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIRS}")
-        endif()
-        if(EXISTS "${GTEST_LIBRARY}")
-            set_target_properties(GTest::GTest PROPERTIES
-                IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
-                IMPORTED_LOCATION "${GTEST_LIBRARY}")
-        endif()
-        if(EXISTS "${GTEST_LIBRARY_DEBUG}")
-            set_property(TARGET GTest::GTest APPEND PROPERTY
-                IMPORTED_CONFIGURATIONS DEBUG)
-            set_target_properties(GTest::GTest PROPERTIES
-                IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
-                IMPORTED_LOCATION_DEBUG "${GTEST_LIBRARY_DEBUG}")
-        endif()
-        if(EXISTS "${GTEST_LIBRARY_RELEASE}")
-            set_property(TARGET GTest::GTest APPEND PROPERTY
-                IMPORTED_CONFIGURATIONS RELEASE)
-            set_target_properties(GTest::GTest PROPERTIES
-                IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
-                IMPORTED_LOCATION_RELEASE "${GTEST_LIBRARY_RELEASE}")
-        endif()
-      endif()
-      if(NOT TARGET GTest::Main)
-          add_library(GTest::Main UNKNOWN IMPORTED)
-          set_target_properties(GTest::Main PROPERTIES
-              INTERFACE_LINK_LIBRARIES "GTest::GTest")
-          if(EXISTS "${GTEST_MAIN_LIBRARY}")
-              set_target_properties(GTest::Main PROPERTIES
-                  IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
-                  IMPORTED_LOCATION "${GTEST_MAIN_LIBRARY}")
-          endif()
-          if(EXISTS "${GTEST_MAIN_LIBRARY_DEBUG}")
-            set_property(TARGET GTest::Main APPEND PROPERTY
-                IMPORTED_CONFIGURATIONS DEBUG)
-            set_target_properties(GTest::Main PROPERTIES
-                IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
-                IMPORTED_LOCATION_DEBUG "${GTEST_MAIN_LIBRARY_DEBUG}")
-          endif()
-          if(EXISTS "${GTEST_MAIN_LIBRARY_RELEASE}")
-            set_property(TARGET GTest::Main APPEND PROPERTY
-                IMPORTED_CONFIGURATIONS RELEASE)
-            set_target_properties(GTest::Main PROPERTIES
-                IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
-                IMPORTED_LOCATION_RELEASE "${GTEST_MAIN_LIBRARY_RELEASE}")
-          endif()
-    endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindGettext.cmake b/share/cmake-3.6/Modules/FindGettext.cmake
deleted file mode 100644
index ac53c3f..0000000
--- a/share/cmake-3.6/Modules/FindGettext.cmake
+++ /dev/null
@@ -1,240 +0,0 @@
-#.rst:
-# FindGettext
-# -----------
-#
-# Find GNU gettext tools
-#
-# This module looks for the GNU gettext tools.  This module defines the
-# following values:
-#
-# ::
-#
-#   GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool.
-#   GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool.
-#   GETTEXT_FOUND: True if gettext has been found.
-#   GETTEXT_VERSION_STRING: the version of gettext found (since CMake 2.8.8)
-#
-#
-#
-# Additionally it provides the following macros:
-#
-# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ...  fileN )
-#
-# ::
-#
-#     This will create a target "translations" which will convert the
-#     given input po files into the binary output mo file. If the
-#     ALL option is used, the translations will also be created when
-#     building the default target.
-#
-# GETTEXT_PROCESS_POT_FILE( <potfile> [ALL] [INSTALL_DESTINATION <destdir>]
-# LANGUAGES <lang1> <lang2> ...  )
-#
-# ::
-#
-#      Process the given pot file to mo files.
-#      If INSTALL_DESTINATION is given then automatically install rules will
-#      be created, the language subdirectory will be taken into account
-#      (by default use share/locale/).
-#      If ALL is specified, the pot file is processed when building the all traget.
-#      It creates a custom target "potfile".
-#
-# GETTEXT_PROCESS_PO_FILES( <lang> [ALL] [INSTALL_DESTINATION <dir>]
-# PO_FILES <po1> <po2> ...  )
-#
-# ::
-#
-#      Process the given po files to mo files for the given language.
-#      If INSTALL_DESTINATION is given then automatically install rules will
-#      be created, the language subdirectory will be taken into account
-#      (by default use share/locale/).
-#      If ALL is specified, the po files are processed when building the all traget.
-#      It creates a custom target "pofiles".
-#
-# .. note::
-#   If you wish to use the Gettext library (libintl), use :module:`FindIntl`.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-# Copyright 2007      Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(GETTEXT_MSGMERGE_EXECUTABLE msgmerge)
-
-find_program(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
-
-if(GETTEXT_MSGMERGE_EXECUTABLE)
-   execute_process(COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --version
-                  OUTPUT_VARIABLE gettext_version
-                  ERROR_QUIET
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-   if (gettext_version MATCHES "^msgmerge \\([^\\)]*\\) ([0-9\\.]+[^ \n]*)")
-      set(GETTEXT_VERSION_STRING "${CMAKE_MATCH_1}")
-   endif()
-   unset(gettext_version)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gettext
-                                  REQUIRED_VARS GETTEXT_MSGMERGE_EXECUTABLE GETTEXT_MSGFMT_EXECUTABLE
-                                  VERSION_VAR GETTEXT_VERSION_STRING)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-function(_GETTEXT_GET_UNIQUE_TARGET_NAME _name _unique_name)
-   set(propertyName "_GETTEXT_UNIQUE_COUNTER_${_name}")
-   get_property(currentCounter GLOBAL PROPERTY "${propertyName}")
-   if(NOT currentCounter)
-      set(currentCounter 1)
-   endif()
-   set(${_unique_name} "${_name}_${currentCounter}" PARENT_SCOPE)
-   math(EXPR currentCounter "${currentCounter} + 1")
-   set_property(GLOBAL PROPERTY ${propertyName} ${currentCounter} )
-endfunction()
-
-macro(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFileArg)
-   # make it a real variable, so we can modify it here
-   set(_firstPoFile "${_firstPoFileArg}")
-
-   set(_gmoFiles)
-   get_filename_component(_potName ${_potFile} NAME)
-   string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
-   get_filename_component(_absPotFile ${_potFile} ABSOLUTE)
-
-   set(_addToAll)
-   if(${_firstPoFile} STREQUAL "ALL")
-      set(_addToAll "ALL")
-      set(_firstPoFile)
-   endif()
-
-   foreach (_currentPoFile ${_firstPoFile} ${ARGN})
-      get_filename_component(_absFile ${_currentPoFile} ABSOLUTE)
-      get_filename_component(_abs_PATH ${_absFile} PATH)
-      get_filename_component(_lang ${_absFile} NAME_WE)
-      set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
-
-      add_custom_command(
-         OUTPUT ${_gmoFile}
-         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
-         COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
-         DEPENDS ${_absPotFile} ${_absFile}
-      )
-
-      install(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
-      set(_gmoFiles ${_gmoFiles} ${_gmoFile})
-
-   endforeach ()
-
-   if(NOT TARGET translations)
-      add_custom_target(translations)
-   endif()
-
-  _GETTEXT_GET_UNIQUE_TARGET_NAME(translations uniqueTargetName)
-
-   add_custom_target(${uniqueTargetName} ${_addToAll} DEPENDS ${_gmoFiles})
-
-   add_dependencies(translations ${uniqueTargetName})
-
-endmacro()
-
-
-function(GETTEXT_PROCESS_POT_FILE _potFile)
-   set(_gmoFiles)
-   set(_options ALL)
-   set(_oneValueArgs INSTALL_DESTINATION)
-   set(_multiValueArgs LANGUAGES)
-
-   CMAKE_PARSE_ARGUMENTS(_parsedArguments "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
-
-   get_filename_component(_potName ${_potFile} NAME)
-   string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
-   get_filename_component(_absPotFile ${_potFile} ABSOLUTE)
-
-   foreach (_lang ${_parsedArguments_LANGUAGES})
-      set(_poFile  "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po")
-      set(_gmoFile "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo")
-
-      add_custom_command(
-         OUTPUT "${_poFile}"
-         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_poFile} ${_absPotFile}
-         DEPENDS ${_absPotFile}
-      )
-
-      add_custom_command(
-         OUTPUT "${_gmoFile}"
-         COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_poFile}
-         DEPENDS ${_absPotFile} ${_poFile}
-      )
-
-      if(_parsedArguments_INSTALL_DESTINATION)
-         install(FILES ${_gmoFile} DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
-      endif()
-      list(APPEND _gmoFiles ${_gmoFile})
-   endforeach ()
-
-  if(NOT TARGET potfiles)
-     add_custom_target(potfiles)
-  endif()
-
-  _GETTEXT_GET_UNIQUE_TARGET_NAME( potfiles uniqueTargetName)
-
-   if(_parsedArguments_ALL)
-      add_custom_target(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
-   else()
-      add_custom_target(${uniqueTargetName} DEPENDS ${_gmoFiles})
-   endif()
-
-   add_dependencies(potfiles ${uniqueTargetName})
-
-endfunction()
-
-
-function(GETTEXT_PROCESS_PO_FILES _lang)
-   set(_options ALL)
-   set(_oneValueArgs INSTALL_DESTINATION)
-   set(_multiValueArgs PO_FILES)
-   set(_gmoFiles)
-
-   CMAKE_PARSE_ARGUMENTS(_parsedArguments "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
-
-   foreach(_current_PO_FILE ${_parsedArguments_PO_FILES})
-      get_filename_component(_name ${_current_PO_FILE} NAME)
-      string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _basename ${_name})
-      set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo)
-      add_custom_command(OUTPUT ${_gmoFile}
-            COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_current_PO_FILE}
-            WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
-            DEPENDS ${_current_PO_FILE}
-         )
-
-      if(_parsedArguments_INSTALL_DESTINATION)
-         install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES/ RENAME ${_basename}.mo)
-      endif()
-      list(APPEND _gmoFiles ${_gmoFile})
-   endforeach()
-
-
-  if(NOT TARGET pofiles)
-     add_custom_target(pofiles)
-  endif()
-
-  _GETTEXT_GET_UNIQUE_TARGET_NAME( pofiles uniqueTargetName)
-
-   if(_parsedArguments_ALL)
-      add_custom_target(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
-   else()
-      add_custom_target(${uniqueTargetName} DEPENDS ${_gmoFiles})
-   endif()
-
-   add_dependencies(pofiles ${uniqueTargetName})
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindGit.cmake b/share/cmake-3.6/Modules/FindGit.cmake
deleted file mode 100644
index 95188ce..0000000
--- a/share/cmake-3.6/Modules/FindGit.cmake
+++ /dev/null
@@ -1,85 +0,0 @@
-#.rst:
-# FindGit
-# -------
-#
-# The module defines the following variables:
-#
-# ``GIT_EXECUTABLE``
-#   Path to Git command-line client.
-# ``Git_FOUND``, ``GIT_FOUND``
-#   True if the Git command-line client was found.
-# ``GIT_VERSION_STRING``
-#   The version of Git found.
-#
-# Example usage:
-#
-# .. code-block:: cmake
-#
-#    find_package(Git)
-#    if(Git_FOUND)
-#      message("Git found: ${GIT_EXECUTABLE}")
-#    endif()
-
-#=============================================================================
-# Copyright 2010-2016 Kitware, Inc.
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Look for 'git' or 'eg' (easy git)
-#
-set(git_names git eg)
-
-# Prefer .cmd variants on Windows unless running in a Makefile
-# in the MSYS shell.
-#
-if(WIN32)
-  if(NOT CMAKE_GENERATOR MATCHES "MSYS")
-    set(git_names git.cmd git eg.cmd eg)
-    # GitHub search path for Windows
-    file(GLOB github_path
-      "$ENV{LOCALAPPDATA}/Github/PortableGit*/cmd"
-      "$ENV{LOCALAPPDATA}/Github/PortableGit*/bin"
-      )
-    # SourceTree search path for Windows
-    set(_git_sourcetree_path "$ENV{LOCALAPPDATA}/Atlassian/SourceTree/git_local/bin")
-  endif()
-endif()
-
-find_program(GIT_EXECUTABLE
-  NAMES ${git_names}
-  PATHS ${github_path} ${_git_sourcetree_path}
-  PATH_SUFFIXES Git/cmd Git/bin
-  DOC "Git command line client"
-  )
-mark_as_advanced(GIT_EXECUTABLE)
-
-unset(git_names)
-unset(_git_sourcetree_path)
-
-if(GIT_EXECUTABLE)
-  execute_process(COMMAND ${GIT_EXECUTABLE} --version
-                  OUTPUT_VARIABLE git_version
-                  ERROR_QUIET
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-  if (git_version MATCHES "^git version [0-9]")
-    string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}")
-  endif()
-  unset(git_version)
-endif()
-
-# Handle the QUIETLY and REQUIRED arguments and set Git_FOUND to TRUE if
-# all listed variables are TRUE
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(Git
-                                  REQUIRED_VARS GIT_EXECUTABLE
-                                  VERSION_VAR GIT_VERSION_STRING)
diff --git a/share/cmake-3.6/Modules/FindGnuTLS.cmake b/share/cmake-3.6/Modules/FindGnuTLS.cmake
deleted file mode 100644
index 4d94ffc..0000000
--- a/share/cmake-3.6/Modules/FindGnuTLS.cmake
+++ /dev/null
@@ -1,77 +0,0 @@
-#.rst:
-# FindGnuTLS
-# ----------
-#
-# Try to find the GNU Transport Layer Security library (gnutls)
-#
-#
-#
-# Once done this will define
-#
-# ::
-#
-#   GNUTLS_FOUND - System has gnutls
-#   GNUTLS_INCLUDE_DIR - The gnutls include directory
-#   GNUTLS_LIBRARIES - The libraries needed to use gnutls
-#   GNUTLS_DEFINITIONS - Compiler switches required for using gnutls
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009 Philip Lowman <philip@yhbt.com>
-# Copyright 2009 Brad Hards <bradh@kde.org>
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Note that this doesn't try to find the gnutls-extra package.
-
-
-if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
-   # in cache already
-   set(gnutls_FIND_QUIETLY TRUE)
-endif ()
-
-if (NOT WIN32)
-   # try using pkg-config to get the directories and then use these values
-   # in the find_path() and find_library() calls
-   # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
-   find_package(PkgConfig QUIET)
-   PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
-   set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
-   set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
-endif ()
-
-find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
-   HINTS
-   ${PC_GNUTLS_INCLUDEDIR}
-   ${PC_GNUTLS_INCLUDE_DIRS}
-   )
-
-find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
-   HINTS
-   ${PC_GNUTLS_LIBDIR}
-   ${PC_GNUTLS_LIBRARY_DIRS}
-   )
-
-mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
-
-# handle the QUIETLY and REQUIRED arguments and set GNUTLS_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
-                                  REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR
-                                  VERSION_VAR GNUTLS_VERSION_STRING)
-
-if(GNUTLS_FOUND)
-    set(GNUTLS_LIBRARIES    ${GNUTLS_LIBRARY})
-    set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
-endif()
-
diff --git a/share/cmake-3.6/Modules/FindGnuplot.cmake b/share/cmake-3.6/Modules/FindGnuplot.cmake
deleted file mode 100644
index 067604f..0000000
--- a/share/cmake-3.6/Modules/FindGnuplot.cmake
+++ /dev/null
@@ -1,67 +0,0 @@
-#.rst:
-# FindGnuplot
-# -----------
-#
-# this module looks for gnuplot
-#
-#
-#
-# Once done this will define
-#
-# ::
-#
-#   GNUPLOT_FOUND - system has Gnuplot
-#   GNUPLOT_EXECUTABLE - the Gnuplot executable
-#   GNUPLOT_VERSION_STRING - the version of Gnuplot found (since CMake 2.8.8)
-#
-#
-#
-# GNUPLOT_VERSION_STRING will not work for old versions like 3.7.1.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
-
-find_program(GNUPLOT_EXECUTABLE
-  NAMES
-  gnuplot
-  pgnuplot
-  wgnupl32
-  PATHS
-  ${CYGWIN_INSTALL_PATH}/bin
-)
-
-if (GNUPLOT_EXECUTABLE)
-    execute_process(COMMAND "${GNUPLOT_EXECUTABLE}" --version
-                  OUTPUT_VARIABLE GNUPLOT_OUTPUT_VARIABLE
-                  ERROR_QUIET
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    string(REGEX REPLACE "^gnuplot ([0-9\\.]+)( patchlevel )?" "\\1." GNUPLOT_VERSION_STRING "${GNUPLOT_OUTPUT_VARIABLE}")
-    string(REGEX REPLACE "\\.$" "" GNUPLOT_VERSION_STRING "${GNUPLOT_VERSION_STRING}")
-    unset(GNUPLOT_OUTPUT_VARIABLE)
-endif()
-
-# for compatibility
-set(GNUPLOT ${GNUPLOT_EXECUTABLE})
-
-# handle the QUIETLY and REQUIRED arguments and set GNUPLOT_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gnuplot
-                                  REQUIRED_VARS GNUPLOT_EXECUTABLE
-                                  VERSION_VAR GNUPLOT_VERSION_STRING)
-
-mark_as_advanced( GNUPLOT_EXECUTABLE )
-
diff --git a/share/cmake-3.6/Modules/FindHDF5.cmake b/share/cmake-3.6/Modules/FindHDF5.cmake
deleted file mode 100644
index bc0d50b..0000000
--- a/share/cmake-3.6/Modules/FindHDF5.cmake
+++ /dev/null
@@ -1,693 +0,0 @@
-#.rst:
-# FindHDF5
-# --------
-#
-# Find HDF5, a library for reading and writing self describing array data.
-#
-#
-#
-# This module invokes the HDF5 wrapper compiler that should be installed
-# alongside HDF5.  Depending upon the HDF5 Configuration, the wrapper
-# compiler is called either h5cc or h5pcc.  If this succeeds, the module
-# will then call the compiler with the -show argument to see what flags
-# are used when compiling an HDF5 client application.
-#
-# The module will optionally accept the COMPONENTS argument.  If no
-# COMPONENTS are specified, then the find module will default to finding
-# only the HDF5 C library.  If one or more COMPONENTS are specified, the
-# module will attempt to find the language bindings for the specified
-# components.  The only valid components are C, CXX, Fortran, HL, and
-# Fortran_HL.  If the COMPONENTS argument is not given, the module will
-# attempt to find only the C bindings.
-#
-# On UNIX systems, this module will read the variable
-# HDF5_USE_STATIC_LIBRARIES to determine whether or not to prefer a
-# static link to a dynamic link for HDF5 and all of it's dependencies.
-# To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES
-# variable is set before the call to find_package.
-#
-# To provide the module with a hint about where to find your HDF5
-# installation, you can set the environment variable HDF5_ROOT.  The
-# Find module will then look in this path when searching for HDF5
-# executables, paths, and libraries.
-#
-# Both the serial and parallel HDF5 wrappers are considered and the first
-# directory to contain either one will be used.  In the event that both appear
-# in the same directory the serial version is preferentially selected. This
-# behavior can be reversed by setting the variable HDF5_PREFER_PARALLEL to
-# true.
-#
-# In addition to finding the includes and libraries required to compile
-# an HDF5 client application, this module also makes an effort to find
-# tools that come with the HDF5 distribution that may be useful for
-# regression testing.
-#
-# This module will define the following variables:
-#
-# ::
-#
-#   HDF5_FOUND - true if HDF5 was found on the system
-#   HDF5_VERSION - HDF5 version in format Major.Minor.Release
-#   HDF5_INCLUDE_DIRS - Location of the hdf5 includes
-#   HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
-#   HDF5_DEFINITIONS - Required compiler definitions for HDF5
-#   HDF5_LIBRARIES - Required libraries for all requested bindings
-#   HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API for all
-#                       bindings, if the HL component is enabled
-#
-# Available components are: C CXX Fortran and HL.  For each enabled language
-# binding, a corresponding HDF5_${LANG}_LIBRARIES variable will be defined.
-# If the HL component is enabled, then an HDF5_${LANG}_HL_LIBRARIES will
-# also be defined.  With all components enabled, the following variables will be defined:
-#
-# ::
-#
-#   HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings
-#   HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings
-#   HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings
-#   HDF5_C_HL_LIBRARIES - Required libraries for the high level C bindings
-#   HDF5_CXX_HL_LIBRARIES - Required libraries for the high level C++ bindings
-#   HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran
-#                               bindings.
-#
-#   HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support
-#   HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler
-#   HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler
-#   HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler
-#   HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C compiler
-#                                               which is also the HDF5 wrapper
-#   HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C++
-#                                                 compiler which is also
-#                                                 the HDF5 wrapper
-#   HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary
-#                                                     Fortran compiler which
-#                                                     is also the HDF5 wrapper
-#   HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool
-#
-# The following variable can be set to guide the search for HDF5 libraries and includes:
-#
-# HDF5_ROOT
-
-#=============================================================================
-# Copyright 2015 Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is maintained by Will Dicharry <wdicharry@stellarscience.com>.
-
-include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-# List of the valid HDF5 components
-set(HDF5_VALID_LANGUAGE_BINDINGS C CXX Fortran)
-
-# Validate the list of find components.
-set(HDF5_LANGUAGE_BINDINGS)
-if(NOT HDF5_FIND_COMPONENTS)
-  get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES)
-  foreach(__lang IN LISTS __langs)
-    if(__lang MATCHES "^(C|CXX|Fortran)$")
-      list(APPEND HDF5_LANGUAGE_BINDINGS ${__lang})
-    endif()
-  endforeach()
-  set(FIND_HL ON)
-else()
-  # add the extra specified components, ensuring that they are valid.
-  set(FIND_HL OFF)
-  foreach(component IN LISTS HDF5_FIND_COMPONENTS)
-    list(FIND HDF5_VALID_LANGUAGE_BINDINGS ${component} component_location)
-    if(NOT component_location EQUAL -1)
-      list(APPEND HDF5_LANGUAGE_BINDINGS ${component})
-    elseif(component STREQUAL "HL")
-      set(FIND_HL ON)
-    elseif(component STREQUAL "Fortran_HL") # only for compatibility
-      list(APPEND HDF5_LANGUAGE_BINDINGS Fortran)
-      set(FIND_HL ON)
-    else()
-      message(FATAL_ERROR "${component} is not a valid HDF5 component.")
-    endif()
-  endforeach()
-  if(NOT HDF5_LANGUAGE_BINDINGS)
-    get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES)
-    foreach(__lang IN LISTS __langs)
-      if(__lang MATCHES "^(C|CXX|Fortran)$")
-        list(APPEND HDF5_LANGUAGE_BINDINGS ${__lang})
-      endif()
-    endforeach()
-  endif()
-  list(REMOVE_DUPLICATES HDF5_LANGUAGE_BINDINGS)
-endif()
-
-# Determine whether to search for serial or parallel executable first
-if(HDF5_PREFER_PARALLEL)
-  set(HDF5_C_COMPILER_NAMES h5pcc h5cc)
-  set(HDF5_CXX_COMPILER_NAMES h5pc++ h5c++)
-  set(HDF5_Fortran_COMPILER_NAMES h5pfc h5fc)
-else()
-  set(HDF5_C_COMPILER_NAMES h5cc h5pcc)
-  set(HDF5_CXX_COMPILER_NAMES h5c++ h5pc++)
-  set(HDF5_Fortran_COMPILER_NAMES h5fc h5pfc)
-endif()
-
-# We may have picked up some duplicates in various lists during the above
-# process for the language bindings (both the C and C++ bindings depend on
-# libz for example).  Remove the duplicates. It appears that the default
-# CMake behavior is to remove duplicates from the end of a list. However,
-# for link lines, this is incorrect since unresolved symbols are searched
-# for down the link line. Therefore, we reverse the list, remove the
-# duplicates, and then reverse it again to get the duplicates removed from
-# the beginning.
-macro(_HDF5_remove_duplicates_from_beginning _list_name)
-  if(${_list_name})
-    list(REVERSE ${_list_name})
-    list(REMOVE_DUPLICATES ${_list_name})
-    list(REVERSE ${_list_name})
-  endif()
-endmacro()
-
-
-# Test first if the current compilers automatically wrap HDF5
-
-function(_HDF5_test_regular_compiler_C success version)
-  set(scratch_directory
-    ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
-  if(NOT ${success} OR
-     NOT EXISTS ${scratch_directory}/compiler_has_h5_c)
-    set(test_file ${scratch_directory}/cmake_hdf5_test.c)
-    file(WRITE ${test_file}
-      "#include <hdf5.h>\n"
-      "#include <hdf5_hl.h>\n"
-      "int main(void) {\n"
-      "  char const* info_ver = \"INFO\" \":\" H5_VERSION;\n"
-      "  hid_t fid;\n"
-      "  fid = H5Fcreate(\"foo.h5\",H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT);\n"
-      "  return 0;\n"
-      "}")
-    try_compile(${success} ${scratch_directory} ${test_file}
-      COPY_FILE ${scratch_directory}/compiler_has_h5_c
-    )
-  endif()
-  if(${success})
-    file(STRINGS ${scratch_directory}/compiler_has_h5_c INFO_VER
-      REGEX "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
-    )
-    string(REGEX MATCH "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
-      INFO_VER "${INFO_VER}"
-    )
-    set(${version} ${CMAKE_MATCH_1})
-    if(CMAKE_MATCH_3)
-      set(${version} ${HDF5_CXX_VERSION}.${CMAKE_MATCH_3})
-    endif()
-    set(${version} ${${version}} PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(_HDF5_test_regular_compiler_CXX success version)
-  set(scratch_directory ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
-  if(NOT ${success} OR
-     NOT EXISTS ${scratch_directory}/compiler_has_h5_cxx)
-    set(test_file ${scratch_directory}/cmake_hdf5_test.cxx)
-    file(WRITE ${test_file}
-      "#include <H5Cpp.h>\n"
-      "#ifndef H5_NO_NAMESPACE\n"
-      "using namespace H5;\n"
-      "#endif\n"
-      "int main(int argc, char **argv) {\n"
-      "  char const* info_ver = \"INFO\" \":\" H5_VERSION;\n"
-      "  H5File file(\"foo.h5\", H5F_ACC_TRUNC);\n"
-      "  return 0;\n"
-      "}")
-    try_compile(${success} ${scratch_directory} ${test_file}
-      COPY_FILE ${scratch_directory}/compiler_has_h5_cxx
-    )
-  endif()
-  if(${success})
-    file(STRINGS ${scratch_directory}/compiler_has_h5_cxx INFO_VER
-      REGEX "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
-    )
-    string(REGEX MATCH "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
-      INFO_VER "${INFO_VER}"
-    )
-    set(${version} ${CMAKE_MATCH_1})
-    if(CMAKE_MATCH_3)
-      set(${version} ${HDF5_CXX_VERSION}.${CMAKE_MATCH_3})
-    endif()
-    set(${version} ${${version}} PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(_HDF5_test_regular_compiler_Fortran success)
-  if(NOT ${success})
-    set(scratch_directory
-      ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hdf5)
-    set(test_file ${scratch_directory}/cmake_hdf5_test.f90)
-    file(WRITE ${test_file}
-      "program hdf5_hello\n"
-      "  use hdf5\n"
-      "  use h5lt\n"
-      "  use h5ds\n"
-      "  integer error\n"
-      "  call h5open_f(error)\n"
-      "  call h5close_f(error)\n"
-      "end\n")
-    try_compile(${success} ${scratch_directory} ${test_file})
-  endif()
-endfunction()
-
-# Invoke the HDF5 wrapper compiler.  The compiler return value is stored to the
-# return_value argument, the text output is stored to the output variable.
-macro( _HDF5_invoke_compiler language output return_value version)
-    set(${version})
-    exec_program( ${HDF5_${language}_COMPILER_EXECUTABLE}
-        ARGS -show
-        OUTPUT_VARIABLE ${output}
-        RETURN_VALUE ${return_value}
-    )
-    if(NOT ${${return_value}} EQUAL 0)
-        message(STATUS
-          "Unable to determine HDF5 ${language} flags from HDF5 wrapper.")
-    endif()
-    exec_program( ${HDF5_${language}_COMPILER_EXECUTABLE}
-        ARGS -showconfig
-        OUTPUT_VARIABLE config_output
-        RETURN_VALUE config_return
-    )
-    if(NOT ${return_value} EQUAL 0)
-        message( STATUS
-          "Unable to determine HDF5 ${language} version from HDF5 wrapper.")
-    endif()
-    string(REGEX MATCH "HDF5 Version: ([a-zA-Z0-9\\.\\-]*)" version_match "${config_output}")
-    if(version_match)
-        string(REPLACE "HDF5 Version: " "" ${version} "${version_match}")
-        string(REPLACE "-patch" "." ${version} "${${version}}")
-    endif()
-endmacro()
-
-# Parse a compile line for definitions, includes, library paths, and libraries.
-macro( _HDF5_parse_compile_line
-    compile_line_var
-    include_paths
-    definitions
-    library_paths
-    libraries
-    libraries_hl)
-
-    # Match the include paths
-    string( REGEX MATCHALL "-I([^\" ]+)" include_path_flags
-        "${${compile_line_var}}"
-    )
-    foreach( IPATH ${include_path_flags} )
-        string( REGEX REPLACE "^-I" "" IPATH ${IPATH} )
-        string( REPLACE "//" "/" IPATH ${IPATH} )
-        list( APPEND ${include_paths} ${IPATH} )
-    endforeach()
-
-    # Match the definitions
-    string( REGEX MATCHALL "-D[^ ]*" definition_flags "${${compile_line_var}}" )
-    foreach( DEF ${definition_flags} )
-        list( APPEND ${definitions} ${DEF} )
-    endforeach()
-
-    # Match the library paths
-    string( REGEX MATCHALL "-L([^\" ]+|\"[^\"]+\")" library_path_flags
-        "${${compile_line_var}}"
-    )
-
-    foreach( LPATH ${library_path_flags} )
-        string( REGEX REPLACE "^-L" "" LPATH ${LPATH} )
-        string( REPLACE "//" "/" LPATH ${LPATH} )
-        list( APPEND ${library_paths} ${LPATH} )
-    endforeach()
-
-    # now search for the library names specified in the compile line (match -l...)
-    # match only -l's preceded by a space or comma
-    # this is to exclude directory names like xxx-linux/
-    string( REGEX MATCHALL "[, ]-l([^\", ]+)" library_name_flags
-        "${${compile_line_var}}" )
-    # strip the -l from all of the library flags and add to the search list
-    foreach( LIB ${library_name_flags} )
-        string( REGEX REPLACE "^[, ]-l" "" LIB ${LIB} )
-        if(LIB MATCHES ".*_hl")
-            list(APPEND ${libraries_hl} ${LIB})
-        else()
-            list(APPEND ${libraries} ${LIB})
-        endif()
-    endforeach()
-endmacro()
-
-# Try to find HDF5 using an installed hdf5-config.cmake
-if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
-    find_package(HDF5 QUIET NO_MODULE)
-    if( HDF5_FOUND)
-        set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
-        set(HDF5_LIBRARIES)
-        set(HDF5_C_TARGET hdf5)
-        set(HDF5_C_HL_TARGET hdf5_hl)
-        set(HDF5_CXX_TARGET hdf5_cpp)
-        set(HDF5_CXX_HL_TARGET hdf5_hl_cpp)
-        set(HDF5_Fortran_TARGET hdf5_fortran)
-        set(HDF5_Fortran_HL_TARGET hdf5_hl_fortran)
-        if(HDF5_USE_STATIC_LIBRARIES)
-            set(_suffix "-static")
-        else()
-            set(_suffix "-shared")
-        endif()
-        foreach(_lang ${HDF5_LANGUAGE_BINDINGS})
-            get_target_property(_lang_location ${HDF5_${_component}_TARGET}${_suffix} LOCATION)
-            if( _lang_location )
-                set(HDF5_${_lang}_LIBRARY ${_lang_location} CACHE PATH
-                    "HDF5 ${_lang} library" )
-                mark_as_advanced(HDF5_${_lang}_LIBRARY)
-                list(APPEND HDF5_LIBRARIES ${HDF5_${_lang}_LIBRARY})
-            endif()
-            if(FIND_HL)
-                get_target_property(_lang_hl_location ${HDF5_${_lang}_HL_TARGET}${_suffix} LOCATION)
-                if( _lang_location )
-                    set(HDF5_${_lang}_HL_LIBRARY ${_lang_location} CACHE PATH
-                        "HDF5 ${_lang} HL library" )
-                    mark_as_advanced(HDF5_${_lang}_LIBRARY)
-                    list(APPEND HDF5_HL_LIBRARIES ${HDF5_${_lang}_HL_LIBRARY})
-                endif()
-            endif()
-        endforeach()
-    endif()
-endif()
-
-if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
-  set(_HDF5_NEED_TO_SEARCH False)
-  set(HDF5_COMPILER_NO_INTERROGATE True)
-  # Only search for languages we've enabled
-  foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
-    # First check to see if our regular compiler is one of wrappers
-    if(__lang STREQUAL "C")
-      _HDF5_test_regular_compiler_C(
-        HDF5_${__lang}_COMPILER_NO_INTERROGATE
-        HDF5_${__lang}_VERSION)
-    elseif(__lang STREQUAL "CXX")
-      _HDF5_test_regular_compiler_CXX(
-        HDF5_${__lang}_COMPILER_NO_INTERROGATE
-        HDF5_${__lang}_VERSION)
-    elseif(__lang STREQUAL "Fortran")
-      _HDF5_test_regular_compiler_Fortran(
-        HDF5_${__lang}_COMPILER_NO_INTERROGATE)
-    else()
-      continue()
-    endif()
-    if(HDF5_${__lang}_COMPILER_NO_INTERROGATE)
-      message(STATUS "HDF5: Using hdf5 compiler wrapper for all ${__lang} compiling")
-      set(HDF5_${__lang}_FOUND True)
-      set(HDF5_${__lang}_COMPILER_EXECUTABLE_NO_INTERROGATE
-          "${CMAKE_${__lang}_COMPILER}"
-          CACHE FILEPATH "HDF5 ${__lang} compiler wrapper")
-      set(HDF5_${__lang}_DEFINITIONS)
-      set(HDF5_${__lang}_INCLUDE_DIRS)
-      set(HDF5_${__lang}_LIBRARIES)
-      mark_as_advanced(HDF5_${__lang}_COMPILER_EXECUTABLE_NO_INTERROGATE)
-      mark_as_advanced(HDF5_${__lang}_DEFINITIONS)
-      mark_as_advanced(HDF5_${__lang}_INCLUDE_DIRS)
-      mark_as_advanced(HDF5_${__lang}_LIBRARIES)
-      mark_as_advanced(HDF5_${__lang}_HL_LIBRARIES)
-    else()
-      set(HDF5_COMPILER_NO_INTERROGATE False)
-      # If this language isn't using the wrapper, then try to seed the
-      # search options with the wrapper
-      find_program(HDF5_${__lang}_COMPILER_EXECUTABLE
-        NAMES ${HDF5_${__lang}_COMPILER_NAMES} NAMES_PER_DIR
-        HINTS ENV HDF5_ROOT
-        PATH_SUFFIXES bin Bin
-        DOC "HDF5 ${__lang} Wrapper compiler.  Used only to detect HDF5 compile flags."
-      )
-      mark_as_advanced( HDF5_${__lang}_COMPILER_EXECUTABLE )
-      unset(HDF5_${__lang}_COMPILER_NAMES)
-
-      if(HDF5_${__lang}_COMPILER_EXECUTABLE)
-        _HDF5_invoke_compiler(${__lang} HDF5_${__lang}_COMPILE_LINE
-          HDF5_${__lang}_RETURN_VALUE HDF5_${__lang}_VERSION)
-        if(HDF5_${__lang}_RETURN_VALUE EQUAL 0)
-          message(STATUS "HDF5: Using hdf5 compiler wrapper to determine ${__lang} configuration")
-          _HDF5_parse_compile_line( HDF5_${__lang}_COMPILE_LINE
-            HDF5_${__lang}_INCLUDE_DIRS
-            HDF5_${__lang}_DEFINITIONS
-            HDF5_${__lang}_LIBRARY_DIRS
-            HDF5_${__lang}_LIBRARY_NAMES
-            HDF5_${__lang}_HL_LIBRARY_NAMES
-          )
-          set(HDF5_${__lang}_LIBRARIES)
-          foreach(L IN LISTS HDF5_${__lang}_LIBRARY_NAMES)
-            find_library(HDF5_${__lang}_LIBRARY_${L} ${L} ${HDF5_${__lang}_LIBRARY_DIRS})
-            if(HDF5_${__lang}_LIBRARY_${L})
-              list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${__lang}_LIBRARY_${L}})
-            else()
-              list(APPEND HDF5_${__lang}_LIBRARIES ${L})
-            endif()
-          endforeach()
-          if(FIND_HL)
-            set(HDF5_${__lang}_HL_LIBRARIES)
-            foreach(L IN LISTS HDF5_${__lang}_HL_LIBRARY_NAMES)
-              find_library(HDF5_${__lang}_LIBRARY_${L} ${L} ${HDF5_${__lang}_LIBRARY_DIRS})
-              if(HDF5_${__lang}_LIBRARY_${L})
-                list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${__lang}_LIBRARY_${L}})
-              else()
-                list(APPEND HDF5_${__lang}_HL_LIBRARIES ${L})
-              endif()
-            endforeach()
-          endif()
-          set(HDF5_${__lang}_FOUND True)
-          mark_as_advanced(HDF5_${__lang}_DEFINITIONS)
-          mark_as_advanced(HDF5_${__lang}_INCLUDE_DIRS)
-          mark_as_advanced(HDF5_${__lang}_LIBRARIES)
-          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_DEFINITIONS)
-          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_INCLUDE_DIRS)
-          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_LIBRARIES)
-          _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_HL_LIBRARIES)
-        else()
-          set(_HDF5_NEED_TO_SEARCH True)
-        endif()
-      else()
-        set(_HDF5_NEED_TO_SEARCH True)
-      endif()
-    endif()
-    if(HDF5_${__lang}_VERSION)
-      if(NOT HDF5_VERSION)
-        set(HDF5_VERSION ${HDF5_${__lang}_VERSION})
-      elseif(NOT HDF5_VERSION VERSION_EQUAL HDF5_${__lang}_VERSION)
-        message(WARNING "HDF5 Version found for language ${__lang}, ${HDF5_${__lang}_VERSION} is different than previously found version ${HDF5_VERSION}")
-      endif()
-    endif()
-  endforeach()
-else()
-  set(_HDF5_NEED_TO_SEARCH True)
-endif()
-
-if(NOT HDF5_FOUND AND HDF5_COMPILER_NO_INTERROGATE)
-  # No arguments necessary, all languages can use the compiler wrappers
-  set(HDF5_FOUND True)
-  set(HDF5_METHOD "Included by compiler wrappers")
-  set(HDF5_REQUIRED_VARS HDF5_METHOD)
-elseif(NOT HDF5_FOUND AND NOT _HDF5_NEED_TO_SEARCH)
-  # Compiler wrappers aren't being used by the build but were found and used
-  # to determine necessary include and library flags
-  set(HDF5_INCLUDE_DIRS)
-  set(HDF5_LIBRARIES)
-  set(HDF5_HL_LIBRARIES)
-  foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
-    if(HDF5_${__lang}_FOUND)
-      if(NOT HDF5_${__lang}_COMPILER_NO_INTERROGATE)
-        list(APPEND HDF5_DEFINITIONS ${HDF5_${__lang}_DEFINITIONS})
-        list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIRS})
-        list(APPEND HDF5_LIBRARIES ${HDF5_${__lang}_LIBRARIES})
-        if(FIND_HL)
-          list(APPEND HDF5_HL_LIBRARIES ${HDF5_${__lang}_HL_LIBRARIES})
-        endif()
-      endif()
-    endif()
-  endforeach()
-  _HDF5_remove_duplicates_from_beginning(HDF5_DEFINITIONS)
-  _HDF5_remove_duplicates_from_beginning(HDF5_INCLUDE_DIRS)
-  _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARIES)
-  _HDF5_remove_duplicates_from_beginning(HDF5_HL_LIBRARIES)
-  set(HDF5_FOUND True)
-  set(HDF5_REQUIRED_VARS HDF5_LIBRARIES)
-  if(FIND_HL)
-    list(APPEND HDF5_REQUIRED_VARS HDF5_HL_LIBRARIES)
-  endif()
-endif()
-
-find_program( HDF5_DIFF_EXECUTABLE
-    NAMES h5diff
-    HINTS ENV HDF5_ROOT
-    PATH_SUFFIXES bin Bin
-    DOC "HDF5 file differencing tool." )
-mark_as_advanced( HDF5_DIFF_EXECUTABLE )
-
-if( NOT HDF5_FOUND )
-    # seed the initial lists of libraries to find with items we know we need
-    set(HDF5_C_LIBRARY_NAMES          hdf5)
-    set(HDF5_C_HL_LIBRARY_NAMES       hdf5_hl)
-
-    set(HDF5_CXX_LIBRARY_NAMES        hdf5_cpp    ${HDF5_C_LIBRARY_NAMES})
-    set(HDF5_CXX_HL_LIBRARY_NAMES     hdf5_hl_cpp ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_CXX_LIBRARY_NAMES})
-
-    set(HDF5_Fortran_LIBRARY_NAMES    hdf5_fortran   ${HDF5_C_LIBRARY_NAMES})
-    set(HDF5_Fortran_HL_LIBRARY_NAMES hdf5_hl_fortran ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_Fortran_LIBRARY_NAMES})
-
-    if(HDF5_ROOT)
-        set(SEARCH_OPTS NO_DEFAULT_PATH)
-    endif()
-    foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
-        # find the HDF5 include directories
-        if(LANGUAGE STREQUAL "Fortran")
-            set(HDF5_INCLUDE_FILENAME hdf5.mod)
-        elseif(LANGUAGE STREQUAL "CXX")
-            set(HDF5_INCLUDE_FILENAME H5Cpp.h)
-        else()
-            set(HDF5_INCLUDE_FILENAME hdf5.h)
-        endif()
-
-        find_path(HDF5_${__lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME}
-            HINTS ${HDF5_ROOT} ENV HDF5_ROOT
-            PATHS $ENV{HOME}/.local/include
-            PATH_SUFFIXES include Include
-            ${SEARCH_OPTS}
-        )
-        mark_as_advanced(HDF5_${LANGUAGE}_INCLUDE_DIR)
-        list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIR})
-
-        # find the HDF5 libraries
-        foreach(LIB IN LISTS HDF5_${__lang}_LIBRARY_NAMES)
-            if(UNIX AND HDF5_USE_STATIC_LIBRARIES)
-                # According to bug 1643 on the CMake bug tracker, this is the
-                # preferred method for searching for a static library.
-                # See https://cmake.org/Bug/view.php?id=1643.  We search
-                # first for the full static library name, but fall back to a
-                # generic search on the name if the static search fails.
-                set( THIS_LIBRARY_SEARCH_DEBUG
-                    lib${LIB}d.a lib${LIB}_debug.a ${LIB}d ${LIB}_debug
-                    lib${LIB}d-static.a lib${LIB}_debug-static.a ${LIB}d-static ${LIB}_debug-static )
-                set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} lib${LIB}-static.a ${LIB}-static)
-            else()
-                set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_debug ${LIB}d-shared ${LIB}_debug-shared)
-                set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared)
-            endif()
-            find_library(HDF5_${LIB}_LIBRARY_DEBUG
-                NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
-                HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib
-                ${SEARCH_OPTS}
-            )
-            find_library( HDF5_${LIB}_LIBRARY_RELEASE
-                NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
-                HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib
-                ${SEARCH_OPTS}
-            )
-            select_library_configurations( HDF5_${LIB} )
-            list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${LIB}_LIBRARY})
-        eNdforeach()
-
-        # Append the libraries for this language binding to the list of all
-        # required libraries.
-        list(APPEND HDF5_LIBRARIES ${HDF5_${__lang}_LIBRARIES})
-
-        if(FIND_HL)
-            foreach(LIB IN LISTS HDF5_${__lang}_HL_LIBRARY_NAMES)
-                if(UNIX AND HDF5_USE_STATIC_LIBRARIES)
-                    # According to bug 1643 on the CMake bug tracker, this is the
-                    # preferred method for searching for a static library.
-                    # See https://cmake.org/Bug/view.php?id=1643.  We search
-                    # first for the full static library name, but fall back to a
-                    # generic search on the name if the static search fails.
-                    set( THIS_LIBRARY_SEARCH_DEBUG
-                        lib${LIB}d.a lib${LIB}_debug.a ${LIB}d ${LIB}_debug
-                        lib${LIB}d-static.a lib${LIB}_debug-static.a ${LIB}d-static ${LIB}_debug-static )
-                    set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} lib${LIB}-static.a ${LIB}-static)
-                else()
-                    set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_debug ${LIB}d-shared ${LIB}_debug-shared)
-                    set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared)
-                endif()
-                find_library(HDF5_${LIB}_LIBRARY_DEBUG
-                    NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
-                    HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib
-                    ${SEARCH_OPTS}
-                )
-                find_library( HDF5_${LIB}_LIBRARY_RELEASE
-                    NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
-                    HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib
-                    ${SEARCH_OPTS}
-                )
-                select_library_configurations( HDF5_${LIB} )
-                list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${LIB}_LIBRARY})
-            endforeach()
-
-            # Append the libraries for this language binding to the list of all
-            # required libraries.
-            list(APPEND HDF5_HL_LIBRARIES ${HDF5_${__lang}_HL_LIBRARIES})
-        endif()
-    endforeach()
-
-    _HDF5_remove_duplicates_from_beginning(HDF5_INCLUDE_DIRS)
-    _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARIES)
-    _HDF5_remove_duplicates_from_beginning(HDF5_HL_LIBRARIES)
-
-    # If the HDF5 include directory was found, open H5pubconf.h to determine if
-    # HDF5 was compiled with parallel IO support
-    set( HDF5_IS_PARALLEL FALSE )
-    set( HDF5_VERSION "" )
-    foreach( _dir IN LISTS HDF5_INCLUDE_DIRS )
-      foreach(_hdr "${_dir}/H5pubconf.h" "${_dir}/H5pubconf-64.h" "${_dir}/H5pubconf-32.h")
-        if( EXISTS "${_hdr}" )
-            file( STRINGS "${_hdr}"
-                HDF5_HAVE_PARALLEL_DEFINE
-                REGEX "HAVE_PARALLEL 1" )
-            if( HDF5_HAVE_PARALLEL_DEFINE )
-                set( HDF5_IS_PARALLEL TRUE )
-            endif()
-            unset(HDF5_HAVE_PARALLEL_DEFINE)
-
-            file( STRINGS "${_hdr}"
-                HDF5_VERSION_DEFINE
-                REGEX "^[ \t]*#[ \t]*define[ \t]+H5_VERSION[ \t]+" )
-            if( "${HDF5_VERSION_DEFINE}" MATCHES
-                "H5_VERSION[ \t]+\"([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?\"" )
-                set( HDF5_VERSION "${CMAKE_MATCH_1}" )
-                if( CMAKE_MATCH_3 )
-                  set( HDF5_VERSION ${HDF5_VERSION}.${CMAKE_MATCH_3})
-                endif()
-            endif()
-            unset(HDF5_VERSION_DEFINE)
-        endif()
-      endforeach()
-    endforeach()
-    set( HDF5_IS_PARALLEL ${HDF5_IS_PARALLEL} CACHE BOOL
-        "HDF5 library compiled with parallel IO support" )
-    mark_as_advanced( HDF5_IS_PARALLEL )
-
-    # For backwards compatibility we set HDF5_INCLUDE_DIR to the value of
-    # HDF5_INCLUDE_DIRS
-    if( HDF5_INCLUDE_DIRS )
-        set( HDF5_INCLUDE_DIR "${HDF5_INCLUDE_DIRS}" )
-    endif()
-    set(HDF5_REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS)
-    if(FIND_HL)
-        list(APPEND HDF5_REQUIRED_VARS HDF5_HL_LIBRARIES)
-    endif()
-endif()
-
-# If HDF5_REQUIRED_VARS is empty at this point, then it's likely that
-# something external is trying to explicitly pass already found
-# locations
-if(NOT HDF5_REQUIRED_VARS)
-    set(HDF5_REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS)
-endif()
-
-find_package_handle_standard_args(HDF5
-    REQUIRED_VARS ${HDF5_REQUIRED_VARS}
-    VERSION_VAR   HDF5_VERSION
-)
diff --git a/share/cmake-3.6/Modules/FindHSPELL.cmake b/share/cmake-3.6/Modules/FindHSPELL.cmake
deleted file mode 100644
index 2316533..0000000
--- a/share/cmake-3.6/Modules/FindHSPELL.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-#.rst:
-# FindHSPELL
-# ----------
-#
-# Try to find Hspell
-#
-# Once done this will define
-#
-# ::
-#
-#   HSPELL_FOUND - system has Hspell
-#   HSPELL_INCLUDE_DIR - the Hspell include directory
-#   HSPELL_LIBRARIES - The libraries needed to use Hspell
-#   HSPELL_DEFINITIONS - Compiler switches required for using Hspell
-#
-#
-#
-# ::
-#
-#   HSPELL_VERSION_STRING - The version of Hspell found (x.y)
-#   HSPELL_MAJOR_VERSION  - the major version of Hspell
-#   HSPELL_MINOR_VERSION  - The minor version of Hspell
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(HSPELL_INCLUDE_DIR hspell.h)
-
-find_library(HSPELL_LIBRARIES NAMES hspell)
-
-if (HSPELL_INCLUDE_DIR)
-    file(STRINGS "${HSPELL_INCLUDE_DIR}/hspell.h" HSPELL_H REGEX "#define HSPELL_VERSION_M(AJO|INO)R [0-9]+")
-    string(REGEX REPLACE ".*#define HSPELL_VERSION_MAJOR ([0-9]+).*" "\\1" HSPELL_VERSION_MAJOR "${HSPELL_H}")
-    string(REGEX REPLACE ".*#define HSPELL_VERSION_MINOR ([0-9]+).*" "\\1" HSPELL_VERSION_MINOR "${HSPELL_H}")
-    set(HSPELL_VERSION_STRING "${HSPELL_VERSION_MAJOR}.${HSPELL_VERSION_MINOR}")
-    unset(HSPELL_H)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set HSPELL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(HSPELL
-                                  REQUIRED_VARS HSPELL_LIBRARIES HSPELL_INCLUDE_DIR
-                                  VERSION_VAR HSPELL_VERSION_STRING)
-
-mark_as_advanced(HSPELL_INCLUDE_DIR HSPELL_LIBRARIES)
-
diff --git a/share/cmake-3.6/Modules/FindHTMLHelp.cmake b/share/cmake-3.6/Modules/FindHTMLHelp.cmake
deleted file mode 100644
index 4e39a34..0000000
--- a/share/cmake-3.6/Modules/FindHTMLHelp.cmake
+++ /dev/null
@@ -1,61 +0,0 @@
-#.rst:
-# FindHTMLHelp
-# ------------
-#
-# This module looks for Microsoft HTML Help Compiler
-#
-# It defines:
-#
-# ::
-#
-#    HTML_HELP_COMPILER     : full path to the Compiler (hhc.exe)
-#    HTML_HELP_INCLUDE_PATH : include path to the API (htmlhelp.h)
-#    HTML_HELP_LIBRARY      : full path to the library (htmlhelp.lib)
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(WIN32)
-
-  find_program(HTML_HELP_COMPILER
-    hhc
-    "[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]"
-    "$ENV{ProgramFiles}/HTML Help Workshop"
-    "C:/Program Files/HTML Help Workshop"
-    )
-
-  get_filename_component(HTML_HELP_COMPILER_PATH "${HTML_HELP_COMPILER}" PATH)
-
-  find_path(HTML_HELP_INCLUDE_PATH
-    htmlhelp.h
-    "${HTML_HELP_COMPILER_PATH}/include"
-    "[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/include"
-    "$ENV{ProgramFiles}/HTML Help Workshop/include"
-    "C:/Program Files/HTML Help Workshop/include"
-    )
-
-  find_library(HTML_HELP_LIBRARY
-    htmlhelp
-    "${HTML_HELP_COMPILER_PATH}/lib"
-    "[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/lib"
-    "$ENV{ProgramFiles}/HTML Help Workshop/lib"
-    "C:/Program Files/HTML Help Workshop/lib"
-    )
-
-  mark_as_advanced(
-    HTML_HELP_COMPILER
-    HTML_HELP_INCLUDE_PATH
-    HTML_HELP_LIBRARY
-    )
-
-endif()
diff --git a/share/cmake-3.6/Modules/FindHg.cmake b/share/cmake-3.6/Modules/FindHg.cmake
deleted file mode 100644
index bdbb79b..0000000
--- a/share/cmake-3.6/Modules/FindHg.cmake
+++ /dev/null
@@ -1,110 +0,0 @@
-#.rst:
-# FindHg
-# ------
-#
-# Extract information from a mercurial working copy.
-#
-# The module defines the following variables:
-#
-# ::
-#
-#    HG_EXECUTABLE - path to mercurial command line client (hg)
-#    HG_FOUND - true if the command line client was found
-#    HG_VERSION_STRING - the version of mercurial found
-#
-# If the command line client executable is found the following macro is defined:
-#
-# ::
-#
-#   HG_WC_INFO(<dir> <var-prefix>)
-#
-# Hg_WC_INFO extracts information of a mercurial working copy
-# at a given location.  This macro defines the following variables:
-#
-# ::
-#
-#   <var-prefix>_WC_CHANGESET - current changeset
-#   <var-prefix>_WC_REVISION - current revision
-#
-# Example usage:
-#
-# ::
-#
-#    find_package(Hg)
-#    if(HG_FOUND)
-#      message("hg found: ${HG_EXECUTABLE}")
-#      HG_WC_INFO(${PROJECT_SOURCE_DIR} Project)
-#      message("Current revision is ${Project_WC_REVISION}")
-#      message("Current changeset is ${Project_WC_CHANGESET}")
-#    endif()
-
-#=============================================================================
-# Copyright 2010-2012 Kitware, Inc.
-# Copyright 2012      Rolf Eike Beer <eike@sf-mail.de>
-# Copyright 2014      Matthaeus G. Chajdas
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(HG_EXECUTABLE
-  NAMES hg
-  PATHS
-    [HKEY_LOCAL_MACHINE\\Software\\TortoiseHG]
-  PATH_SUFFIXES Mercurial
-  DOC "hg command line client"
-  )
-mark_as_advanced(HG_EXECUTABLE)
-
-if(HG_EXECUTABLE)
-  set(_saved_lc_all "$ENV{LC_ALL}")
-  set(ENV{LC_ALL} "C")
-
-  set(_saved_language "$ENV{LANGUAGE}")
-  set(ENV{LANGUAGE})
-
-  execute_process(COMMAND ${HG_EXECUTABLE} --version
-                  OUTPUT_VARIABLE hg_version
-                  ERROR_QUIET
-                  RESULT_VARIABLE hg_result
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-  set(ENV{LC_ALL} ${_saved_lc_all})
-  set(ENV{LANGUAGE} ${_saved_language})
-
-  if(hg_result MATCHES "is not a valid Win32 application")
-    set_property(CACHE HG_EXECUTABLE PROPERTY VALUE "HG_EXECUTABLE-NOTFOUND")
-  endif()
-  if(hg_version MATCHES "^Mercurial Distributed SCM \\(version ([0-9][^)]*)\\)")
-    set(HG_VERSION_STRING "${CMAKE_MATCH_1}")
-  endif()
-  unset(hg_version)
-
-  macro(HG_WC_INFO dir prefix)
-    execute_process(COMMAND ${HG_EXECUTABLE} id -i -n
-      WORKING_DIRECTORY ${dir}
-      RESULT_VARIABLE hg_id_result
-      ERROR_VARIABLE hg_id_error
-      OUTPUT_VARIABLE ${prefix}_WC_DATA
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if(NOT ${hg_id_result} EQUAL 0)
-      message(SEND_ERROR "Command \"${HG_EXECUTBALE} id -n\" in directory ${dir} failed with output:\n${hg_id_error}")
-    endif()
-
-    string(REGEX REPLACE "([0-9a-f]+)\\+? [0-9]+\\+?" "\\1" ${prefix}_WC_CHANGESET ${${prefix}_WC_DATA})
-    string(REGEX REPLACE "[0-9a-f]+\\+? ([0-9]+)\\+?" "\\1" ${prefix}_WC_REVISION ${${prefix}_WC_DATA})
-  endmacro(HG_WC_INFO)
-endif()
-
-# Handle the QUIETLY and REQUIRED arguments and set HG_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(Hg
-                                  REQUIRED_VARS HG_EXECUTABLE
-                                  VERSION_VAR HG_VERSION_STRING)
diff --git a/share/cmake-3.6/Modules/FindIce.cmake b/share/cmake-3.6/Modules/FindIce.cmake
deleted file mode 100644
index 3fa6cab..0000000
--- a/share/cmake-3.6/Modules/FindIce.cmake
+++ /dev/null
@@ -1,521 +0,0 @@
-#.rst:
-# FindIce
-# -------
-#
-# Find the ZeroC Internet Communication Engine (ICE) programs,
-# libraries and datafiles.
-#
-# This module supports multiple components.
-# Components can include any of: ``Freeze``, ``Glacier2``, ``Ice``,
-# ``IceBox``, ``IceDB``, ``IceGrid``, ``IcePatch``, ``IceSSL``,
-# ``IceStorm``, ``IceUtil``, ``IceXML``, or ``Slice``.
-#
-# This module reports information about the Ice installation in
-# several variables.  General variables::
-#
-#   Ice_VERSION - Ice release version
-#   Ice_FOUND - true if the main programs and libraries were found
-#   Ice_LIBRARIES - component libraries to be linked
-#   Ice_INCLUDE_DIRS - the directories containing the Ice headers
-#   Ice_SLICE_DIRS - the directories containing the Ice slice interface
-#                    definitions
-#
-# Imported targets::
-#
-#   Ice::<C>
-#
-# Where ``<C>`` is the name of an Ice component, for example
-# ``Ice::Glacier2``.
-#
-# Ice slice programs are reported in::
-#
-#   Ice_SLICE2CPP_EXECUTABLE - path to slice2cpp executable
-#   Ice_SLICE2CS_EXECUTABLE - path to slice2cs executable
-#   Ice_SLICE2FREEZEJ_EXECUTABLE - path to slice2freezej executable
-#   Ice_SLICE2FREEZE_EXECUTABLE - path to slice2freeze executable
-#   Ice_SLICE2HTML_EXECUTABLE - path to slice2html executable
-#   Ice_SLICE2JAVA_EXECUTABLE - path to slice2java executable
-#   Ice_SLICE2JS_EXECUTABLE - path to slice2js executable
-#   Ice_SLICE2PHP_EXECUTABLE - path to slice2php executable
-#   Ice_SLICE2PY_EXECUTABLE - path to slice2py executable
-#   Ice_SLICE2RB_EXECUTABLE - path to slice2rb executable
-#
-# Ice programs are reported in::
-#
-#   Ice_GLACIER2ROUTER_EXECUTABLE - path to glacier2router executable
-#   Ice_ICEBOX_EXECUTABLE - path to icebox executable
-#   Ice_ICEBOXADMIN_EXECUTABLE - path to iceboxadmin executable
-#   Ice_ICEBOXD_EXECUTABLE - path to iceboxd executable
-#   Ice_ICEBOXNET_EXECUTABLE - path to iceboxnet executable
-#   Ice_ICEGRIDADMIN_EXECUTABLE - path to icegridadmin executable
-#   Ice_ICEGRIDNODE_EXECUTABLE - path to icegridnode executable
-#   Ice_ICEGRIDNODED_EXECUTABLE - path to icegridnoded executable
-#   Ice_ICEGRIDREGISTRY_EXECUTABLE - path to icegridregistry executable
-#   Ice_ICEGRIDREGISTRYD_EXECUTABLE - path to icegridregistryd executable
-#   Ice_ICEPATCH2CALC_EXECUTABLE - path to icepatch2calc executable
-#   Ice_ICEPATCH2CLIENT_EXECUTABLE - path to icepatch2client executable
-#   Ice_ICEPATCH2SERVER_EXECUTABLE - path to icepatch2server executable
-#   Ice_ICESERVICEINSTALL_EXECUTABLE - path to iceserviceinstall executable
-#   Ice_ICESTORMADMIN_EXECUTABLE - path to icestormadmin executable
-#   Ice_ICESTORMMIGRATE_EXECUTABLE - path to icestormmigrate executable
-#
-# Ice db programs (Windows only; standard system versions on all other
-# platforms) are reported in::
-#
-#   Ice_DB_ARCHIVE_EXECUTABLE - path to db_archive executable
-#   Ice_DB_CHECKPOINT_EXECUTABLE - path to db_checkpoint executable
-#   Ice_DB_DEADLOCK_EXECUTABLE - path to db_deadlock executable
-#   Ice_DB_DUMP_EXECUTABLE - path to db_dump executable
-#   Ice_DB_HOTBACKUP_EXECUTABLE - path to db_hotbackup executable
-#   Ice_DB_LOAD_EXECUTABLE - path to db_load executable
-#   Ice_DB_LOG_VERIFY_EXECUTABLE - path to db_log_verify executable
-#   Ice_DB_PRINTLOG_EXECUTABLE - path to db_printlog executable
-#   Ice_DB_RECOVER_EXECUTABLE - path to db_recover executable
-#   Ice_DB_STAT_EXECUTABLE - path to db_stat executable
-#   Ice_DB_TUNER_EXECUTABLE - path to db_tuner executable
-#   Ice_DB_UPGRADE_EXECUTABLE - path to db_upgrade executable
-#   Ice_DB_VERIFY_EXECUTABLE - path to db_verify executable
-#   Ice_DUMPDB_EXECUTABLE - path to dumpdb executable
-#   Ice_TRANSFORMDB_EXECUTABLE - path to transformdb executable
-#
-# Ice component libraries are reported in::
-#
-#   Ice_<C>_FOUND - ON if component was found
-#   Ice_<C>_LIBRARIES - libraries for component
-#
-# Note that ``<C>`` is the uppercased name of the component.
-#
-# This module reads hints about search results from::
-#
-#   Ice_HOME - the root of the Ice installation
-#
-# The environment variable ``ICE_HOME`` may also be used; the
-# Ice_HOME variable takes precedence.
-#
-# The following cache variables may also be set::
-#
-#   Ice_<P>_EXECUTABLE - the path to executable <P>
-#   Ice_INCLUDE_DIR - the directory containing the Ice headers
-#   Ice_SLICE_DIR - the directory containing the Ice slice interface
-#                   definitions
-#   Ice_<C>_LIBRARY - the library for component <C>
-#
-# .. note::
-#
-#   In most cases none of the above variables will require setting,
-#   unless multiple Ice versions are available and a specific version
-#   is required.  On Windows, the most recent version of Ice will be
-#   found through the registry.  On Unix, the programs, headers and
-#   libraries will usually be in standard locations, but Ice_SLICE_DIRS
-#   might not be automatically detected (commonly known locations are
-#   searched).  All the other variables are defaulted using Ice_HOME,
-#   if set.  It's possible to set Ice_HOME and selectively specify
-#   alternative locations for the other components; this might be
-#   required for e.g. newer versions of Visual Studio if the
-#   heuristics are not sufficient to identify the correct programs and
-#   libraries for the specific Visual Studio version.
-#
-# Other variables one may set to control this module are::
-#
-#   Ice_DEBUG - Set to ON to enable debug output from FindIce.
-
-# Written by Roger Leigh <rleigh@codelibre.net>
-
-#=============================================================================
-# Copyright 2014-2015 University of Dundee
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# The Ice checks are contained in a function due to the large number
-# of temporary variables needed.
-function(_Ice_FIND)
-  # Released versions of Ice, including generic short forms
-  set(ice_versions
-      3
-      3.6
-      3.6.0
-      3.5
-      3.5.1
-      3.5.0
-      3.4
-      3.4.2
-      3.4.1
-      3.4.0
-      3.3
-      3.3.1
-      3.3.0)
-
-  # Set up search paths, taking compiler into account.  Search Ice_HOME,
-  # with ICE_HOME in the environment as a fallback if unset.
-  if(Ice_HOME)
-    list(APPEND ice_roots "${Ice_HOME}")
-  else()
-    if(NOT "$ENV{ICE_HOME}" STREQUAL "")
-      file(TO_CMAKE_PATH "$ENV{ICE_HOME}" NATIVE_PATH)
-      list(APPEND ice_roots "${NATIVE_PATH}")
-      set(Ice_HOME "${NATIVE_PATH}"
-          CACHE PATH "Location of the Ice installation" FORCE)
-    endif()
-  endif()
-
-  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    # 64-bit path suffix
-    set(_x64 "/x64")
-    # 64-bit library directory
-    set(_lib64 "lib64")
-  endif()
-
-  if(MSVC_VERSION)
-    # VS 8.0
-    if(NOT MSVC_VERSION VERSION_LESS 1400 AND MSVC_VERSION VERSION_LESS 1500)
-      set(vcver "vc80")
-      set(vcyear "2005")
-    # VS 9.0
-    elseif(NOT MSVC_VERSION VERSION_LESS 1500 AND MSVC_VERSION VERSION_LESS 1600)
-      set(vcver "vc90")
-      set(vcyear "2008")
-    # VS 10.0
-    elseif(NOT MSVC_VERSION VERSION_LESS 1600 AND MSVC_VERSION VERSION_LESS 1700)
-      set(vcver "vc100")
-    # VS 11.0
-    elseif(NOT MSVC_VERSION VERSION_LESS 1700 AND MSVC_VERSION VERSION_LESS 1800)
-      set(vcver "vc110")
-    # VS 12.0
-    elseif(NOT MSVC_VERSION VERSION_LESS 1800 AND MSVC_VERSION VERSION_LESS 1900)
-      set(vcver "vc120")
-    # VS 14.0
-    elseif(NOT MSVC_VERSION VERSION_LESS 1900 AND MSVC_VERSION VERSION_LESS 2000)
-      set(vcver "vc140")
-    endif()
-  endif()
-
-  # For compatibility with ZeroC Windows builds.
-  if(vcver)
-    # Earlier Ice (3.3) builds don't use vcnnn subdirectories, but are harmless to check.
-    list(APPEND ice_binary_suffixes "bin/${vcver}${_x64}" "bin/${vcver}")
-    list(APPEND ice_library_suffixes "lib/${vcver}${_x64}" "lib/${vcver}")
-  endif()
-  # Generic 64-bit and 32-bit directories
-  list(APPEND ice_binary_suffixes "bin${_x64}" "bin")
-  list(APPEND ice_library_suffixes "${_lib64}" "lib${_x64}" "lib")
-  list(APPEND ice_include_suffixes "include")
-  list(APPEND ice_slice_suffixes "slice")
-
-  # On Windows, look in the registry for install locations.  Different
-  # versions of Ice install support different compiler versions.
-  if(vcver)
-    foreach(ice_version ${ice_versions})
-      # Ice 3.3 releases use a Visual Studio year suffix and value is
-      # enclosed in double quotes, though only the leading quote is
-      # returned by get_filename_component.
-      unset(ice_location)
-      if(vcyear)
-        get_filename_component(ice_location
-                               "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ZeroC\\Ice ${ice_version} for Visual Studio ${vcyear};InstallDir]"
-                               PATH)
-        if(ice_location AND NOT ("${ice_location}" STREQUAL "/registry" OR "${ice_location}" STREQUAL "/"))
-          string(REGEX REPLACE "^\"(.*)\"?$" "\\1" ice_location "${ice_location}")
-          get_filename_component(ice_location "${ice_location}" ABSOLUTE)
-        else()
-          unset(ice_location)
-        endif()
-      endif()
-      # Ice 3.4+ releases don't use a suffix
-      if(NOT ice_location OR "${ice_location}" STREQUAL "/registry")
-        get_filename_component(ice_location
-                               "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ZeroC\\Ice ${ice_version};InstallDir]"
-                               ABSOLUTE)
-      endif()
-
-      if(ice_location AND NOT "${ice_location}" STREQUAL "/registry")
-        list(APPEND ice_roots "${ice_location}")
-      endif()
-    endforeach()
-  else()
-    foreach(ice_version ${ice_versions})
-      # Prefer 64-bit variants if present (and using a 64-bit compiler)
-      list(APPEND ice_roots "/opt/Ice-${ice_version}")
-    endforeach()
-  endif()
-
-  set(db_programs
-      db_archive
-      db_checkpoint
-      db_deadlock
-      db_dump
-      db_hotbackup
-      db_load
-      db_log_verify
-      db_printlog
-      db_recover
-      db_stat
-      db_tuner
-      db_upgrade
-      db_verify
-      dumpdb
-      transformdb)
-
-  set(ice_programs
-      glacier2router
-      icebox
-      iceboxadmin
-      iceboxd
-      iceboxnet
-      icegridadmin
-      icegridnode
-      icegridnoded
-      icegridregistry
-      icegridregistryd
-      icepatch2calc
-      icepatch2client
-      icepatch2server
-      iceserviceinstall
-      icestormadmin
-      icestormmigrate)
-
-  set(slice_programs
-      slice2cpp
-      slice2cs
-      slice2freezej
-      slice2freeze
-      slice2html
-      slice2java
-      slice2js
-      slice2php
-      slice2py
-      slice2rb)
-
-  # Find all Ice programs
-  foreach(program ${db_programs} ${ice_programs} ${slice_programs})
-    string(TOUPPER "${program}" program_upcase)
-    set(cache_var "Ice_${program_upcase}_EXECUTABLE")
-    set(program_var "Ice_${program_upcase}_EXECUTABLE")
-    find_program("${cache_var}" "${program}"
-      HINTS ${ice_roots}
-      PATH_SUFFIXES ${ice_binary_suffixes}
-      DOC "Ice ${program} executable")
-    mark_as_advanced(cache_var)
-    set("${program_var}" "${${cache_var}}" PARENT_SCOPE)
-  endforeach()
-
-  # Get version.
-  if(Ice_SLICE2CPP_EXECUTABLE)
-    # Execute in C locale for safety
-    set(_Ice_SAVED_LC_ALL "$ENV{LC_ALL}")
-    set(ENV{LC_ALL} C)
-
-    execute_process(COMMAND ${Ice_SLICE2CPP_EXECUTABLE} --version
-      ERROR_VARIABLE Ice_VERSION_SLICE2CPP_FULL
-      ERROR_STRIP_TRAILING_WHITESPACE)
-
-    # restore the previous LC_ALL
-    set(ENV{LC_ALL} ${_Ice_SAVED_LC_ALL})
-
-    # Make short version
-    string(REGEX REPLACE "^(.*)\\.[^.]*$" "\\1" Ice_VERSION_SLICE2CPP_SHORT "${Ice_VERSION_SLICE2CPP_FULL}")
-    set(Ice_VERSION "${Ice_VERSION_SLICE2CPP_FULL}" PARENT_SCOPE)
-  endif()
-
-  if(NOT Ice_FIND_QUIETLY)
-    message(STATUS "Ice version: ${Ice_VERSION_SLICE2CPP_FULL}")
-  endif()
-
-  # Find include directory
-  find_path(Ice_INCLUDE_DIR
-            NAMES "Ice/Ice.h"
-            HINTS ${ice_roots}
-            PATH_SUFFIXES ${ice_include_suffixes}
-            DOC "Ice include directory")
-  set(Ice_INCLUDE_DIR "${Ice_INCLUDE_DIR}" PARENT_SCOPE)
-
-  # In common use on Linux, MacOS X (homebrew) and FreeBSD; prefer
-  # version-specific dir
-  list(APPEND ice_slice_paths
-       /usr/local/share /usr/share)
-  list(APPEND ice_slice_suffixes
-       "Ice-${Ice_VERSION_SLICE2CPP_FULL}/slice"
-       "Ice-${Ice_VERSION_SLICE2CPP_SHORT}/slice"
-       Ice)
-
-  # Find slice directory
-  find_path(Ice_SLICE_DIR
-            NAMES "Ice/Connection.ice"
-            HINTS ${ice_roots}
-                  ${ice_slice_paths}
-            PATH_SUFFIXES ${ice_slice_suffixes}
-            NO_DEFAULT_PATH
-            DOC "Ice slice directory")
-  set(Ice_SLICE_DIR "${Ice_SLICE_DIR}" PARENT_SCOPE)
-
-  # Find all Ice libraries
-  set(Ice_REQUIRED_LIBS_FOUND ON)
-  foreach(component ${Ice_FIND_COMPONENTS})
-    string(TOUPPER "${component}" component_upcase)
-    set(component_cache "Ice_${component_upcase}_LIBRARY")
-    set(component_found "${component_upcase}_FOUND")
-    find_library("${component_cache}" "${component}"
-      HINTS ${ice_roots}
-      PATH_SUFFIXES ${ice_library_suffixes}
-      DOC "Ice ${component} library")
-    mark_as_advanced("${component_cache}")
-    if(${component_cache})
-      set("${component_found}" ON)
-      list(APPEND Ice_LIBRARY "${${component_cache}}")
-    endif()
-    mark_as_advanced("${component_found}")
-    set("${component_cache}" "${${component_cache}}" PARENT_SCOPE)
-    set("${component_found}" "${${component_found}}" PARENT_SCOPE)
-    if(${component_found})
-      if (Ice_FIND_REQUIRED_${component})
-        list(APPEND Ice_LIBS_FOUND "${component} (required)")
-      else()
-        list(APPEND Ice_LIBS_FOUND "${component} (optional)")
-      endif()
-    else()
-      if (Ice_FIND_REQUIRED_${component})
-        set(Ice_REQUIRED_LIBS_FOUND OFF)
-        list(APPEND Ice_LIBS_NOTFOUND "${component} (required)")
-      else()
-        list(APPEND Ice_LIBS_NOTFOUND "${component} (optional)")
-      endif()
-    endif()
-  endforeach()
-  set(_Ice_REQUIRED_LIBS_FOUND "${Ice_REQUIRED_LIBS_FOUND}" PARENT_SCOPE)
-  set(Ice_LIBRARY "${Ice_LIBRARY}" PARENT_SCOPE)
-
-  if(NOT Ice_FIND_QUIETLY)
-    if(Ice_LIBS_FOUND)
-      message(STATUS "Found the following Ice libraries:")
-      foreach(found ${Ice_LIBS_FOUND})
-        message(STATUS "  ${found}")
-      endforeach()
-    endif()
-    if(Ice_LIBS_NOTFOUND)
-      message(STATUS "The following Ice libraries were not found:")
-      foreach(notfound ${Ice_LIBS_NOTFOUND})
-        message(STATUS "  ${notfound}")
-      endforeach()
-    endif()
-  endif()
-
-  if(Ice_DEBUG)
-    message(STATUS "--------FindIce.cmake search debug--------")
-    message(STATUS "ICE binary path search order: ${ice_roots}")
-    message(STATUS "ICE include path search order: ${ice_roots}")
-    message(STATUS "ICE slice path search order: ${ice_roots} ${ice_slice_paths}")
-    message(STATUS "ICE library path search order: ${ice_roots}")
-    message(STATUS "----------------")
-  endif()
-endfunction()
-
-_Ice_FIND()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ice
-                                  FOUND_VAR Ice_FOUND
-                                  REQUIRED_VARS Ice_SLICE2CPP_EXECUTABLE
-                                                Ice_INCLUDE_DIR
-                                                Ice_SLICE_DIR
-                                                Ice_LIBRARY
-                                                _Ice_REQUIRED_LIBS_FOUND
-                                  VERSION_VAR Ice_VERSION
-                                  FAIL_MESSAGE "Failed to find all Ice components")
-
-unset(_Ice_REQUIRED_LIBS_FOUND)
-
-if(Ice_FOUND)
-  set(Ice_INCLUDE_DIRS "${Ice_INCLUDE_DIR}")
-  set(Ice_SLICE_DIRS "${Ice_SLICE_DIR}")
-  set(Ice_LIBRARIES "${Ice_LIBRARY}")
-  foreach(_Ice_component ${Ice_FIND_COMPONENTS})
-    string(TOUPPER "${_Ice_component}" _Ice_component_upcase)
-    set(_Ice_component_cache "Ice_${_Ice_component_upcase}_LIBRARY")
-    set(_Ice_component_lib "Ice_${_Ice_component_upcase}_LIBRARIES")
-    set(_Ice_component_found "${_Ice_component_upcase}_FOUND")
-    set(_Ice_imported_target "Ice::${_Ice_component}")
-    if(${_Ice_component_found})
-      set("${_Ice_component_lib}" "${${_Ice_component_cache}}")
-      if(NOT TARGET ${_Ice_imported_target})
-        add_library(${_Ice_imported_target} UNKNOWN IMPORTED)
-        set_target_properties(${_Ice_imported_target} PROPERTIES
-          IMPORTED_LOCATION "${${_Ice_component_cache}}"
-          INTERFACE_INCLUDE_DIRECTORIES "${Ice_INCLUDE_DIR}")
-      endif()
-    endif()
-    unset(_Ice_component_upcase)
-    unset(_Ice_component_cache)
-    unset(_Ice_component_lib)
-    unset(_Ice_component_found)
-    unset(_Ice_imported_target)
-  endforeach()
-endif()
-
-if(Ice_DEBUG)
-  message(STATUS "--------FindIce.cmake results debug--------")
-  message(STATUS "Ice_VERSION number: ${Ice_VERSION}")
-  message(STATUS "Ice_HOME directory: ${Ice_HOME}")
-  message(STATUS "Ice_INCLUDE_DIR directory: ${Ice_INCLUDE_DIR}")
-  message(STATUS "Ice_SLICE_DIR directory: ${Ice_SLICE_DIR}")
-  message(STATUS "Ice_LIBRARIES: ${Ice_LIBRARIES}")
-
-  message(STATUS "slice2cpp executable: ${Ice_SLICE2CPP_EXECUTABLE}")
-  message(STATUS "slice2cs executable: ${Ice_SLICE2CS_EXECUTABLE}")
-  message(STATUS "slice2freezej executable: ${Ice_SLICE2FREEZEJ_EXECUTABLE}")
-  message(STATUS "slice2freeze executable: ${Ice_SLICE2FREEZE_EXECUTABLE}")
-  message(STATUS "slice2html executable: ${Ice_SLICE2HTML_EXECUTABLE}")
-  message(STATUS "slice2java executable: ${Ice_SLICE2JAVA_EXECUTABLE}")
-  message(STATUS "slice2js executable: ${Ice_SLICE2JS_EXECUTABLE}")
-  message(STATUS "slice2php executable: ${Ice_SLICE2PHP_EXECUTABLE}")
-  message(STATUS "slice2py executable: ${Ice_SLICE2PY_EXECUTABLE}")
-  message(STATUS "slice2rb executable: ${Ice_SLICE2RB_EXECUTABLE}")
-  message(STATUS "glacier2router executable: ${Ice_GLACIER2ROUTER_EXECUTABLE}")
-
-  message(STATUS "icebox executable: ${Ice_ICEBOX_EXECUTABLE}")
-  message(STATUS "iceboxadmin executable: ${Ice_ICEBOXADMIN_EXECUTABLE}")
-  message(STATUS "iceboxd executable: ${Ice_ICEBOXD_EXECUTABLE}")
-  message(STATUS "iceboxnet executable: ${Ice_ICEBOXNET_EXECUTABLE}")
-  message(STATUS "icegridadmin executable: ${Ice_ICEGRIDADMIN_EXECUTABLE}")
-  message(STATUS "icegridnode executable: ${Ice_ICEGRIDNODE_EXECUTABLE}")
-  message(STATUS "icegridnoded executable: ${Ice_ICEGRIDNODED_EXECUTABLE}")
-  message(STATUS "icegridregistry executable: ${Ice_ICEGRIDREGISTRY_EXECUTABLE}")
-  message(STATUS "icegridregistryd executable: ${Ice_ICEGRIDREGISTRYD_EXECUTABLE}")
-  message(STATUS "icepatch2calc executable: ${Ice_ICEPATCH2CALC_EXECUTABLE}")
-  message(STATUS "icepatch2client executable: ${Ice_ICEPATCH2CLIENT_EXECUTABLE}")
-  message(STATUS "icepatch2server executable: ${Ice_ICEPATCH2SERVER_EXECUTABLE}")
-  message(STATUS "iceserviceinstall executable: ${Ice_ICESERVICEINSTALL_EXECUTABLE}")
-  message(STATUS "icestormadmin executable: ${Ice_ICESTORMADMIN_EXECUTABLE}")
-  message(STATUS "icestormmigrate executable: ${Ice_ICESTORMMIGRATE_EXECUTABLE}")
-
-  message(STATUS "db_archive executable: ${Ice_DB_ARCHIVE_EXECUTABLE}")
-  message(STATUS "db_checkpoint executable: ${Ice_DB_CHECKPOINT_EXECUTABLE}")
-  message(STATUS "db_deadlock executable: ${Ice_DB_DEADLOCK_EXECUTABLE}")
-  message(STATUS "db_dump executable: ${Ice_DB_DUMP_EXECUTABLE}")
-  message(STATUS "db_hotbackup executable: ${Ice_DB_HOTBACKUP_EXECUTABLE}")
-  message(STATUS "db_load executable: ${Ice_DB_LOAD_EXECUTABLE}")
-  message(STATUS "db_log_verify executable: ${Ice_DB_LOG_VERIFY_EXECUTABLE}")
-  message(STATUS "db_printlog executable: ${Ice_DB_PRINTLOG_EXECUTABLE}")
-  message(STATUS "db_recover executable: ${Ice_DB_RECOVER_EXECUTABLE}")
-  message(STATUS "db_stat executable: ${Ice_DB_STAT_EXECUTABLE}")
-  message(STATUS "db_tuner executable: ${Ice_DB_TUNER_EXECUTABLE}")
-  message(STATUS "db_upgrade executable: ${Ice_DB_UPGRADE_EXECUTABLE}")
-  message(STATUS "db_verify executable: ${Ice_DB_VERIFY_EXECUTABLE}")
-  message(STATUS "dumpdb executable: ${Ice_DUMPDB_EXECUTABLE}")
-  message(STATUS "transformdb executable: ${Ice_TRANSFORMDB_EXECUTABLE}")
-
-  foreach(component ${Ice_FIND_COMPONENTS})
-    string(TOUPPER "${component}" component_upcase)
-    set(component_lib "Ice_${component_upcase}_LIBRARIES")
-    set(component_found "${component_upcase}_FOUND")
-    message(STATUS "${component} library found: ${${component_found}}")
-    message(STATUS "${component} library: ${${component_lib}}")
-  endforeach()
-  message(STATUS "----------------")
-endif()
diff --git a/share/cmake-3.6/Modules/FindIcotool.cmake b/share/cmake-3.6/Modules/FindIcotool.cmake
deleted file mode 100644
index a7c5a64..0000000
--- a/share/cmake-3.6/Modules/FindIcotool.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-#.rst:
-# FindIcotool
-# -----------
-#
-# Find icotool
-#
-# This module looks for icotool.  This module defines the following
-# values:
-#
-# ::
-#
-#   ICOTOOL_EXECUTABLE: the full path to the icotool tool.
-#   ICOTOOL_FOUND: True if icotool has been found.
-#   ICOTOOL_VERSION_STRING: the version of icotool found.
-
-#=============================================================================
-# Copyright 2012 Aleksey Avdeev <solo@altlinux.ru>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(ICOTOOL_EXECUTABLE
-  icotool
-)
-
-if(ICOTOOL_EXECUTABLE)
-  execute_process(
-    COMMAND ${ICOTOOL_EXECUTABLE} --version
-    OUTPUT_VARIABLE _icotool_version
-    ERROR_QUIET
-    OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-  if("${_icotool_version}" MATCHES "^icotool \\([^\\)]*\\) ([0-9\\.]+[^ \n]*)")
-    set( ICOTOOL_VERSION_STRING
-      "${CMAKE_MATCH_1}"
-    )
-  else()
-    set( ICOTOOL_VERSION_STRING
-      ""
-    )
-  endif()
-  unset(_icotool_version)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set ICOTOOL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
-  Icotool
-  REQUIRED_VARS ICOTOOL_EXECUTABLE
-  VERSION_VAR ICOTOOL_VERSION_STRING
-)
-
-mark_as_advanced(
-  ICOTOOL_EXECUTABLE
-)
diff --git a/share/cmake-3.6/Modules/FindImageMagick.cmake b/share/cmake-3.6/Modules/FindImageMagick.cmake
deleted file mode 100644
index 65458b7..0000000
--- a/share/cmake-3.6/Modules/FindImageMagick.cmake
+++ /dev/null
@@ -1,297 +0,0 @@
-#.rst:
-# FindImageMagick
-# ---------------
-#
-# Find the ImageMagick binary suite.
-#
-# This module will search for a set of ImageMagick tools specified as
-# components in the FIND_PACKAGE call.  Typical components include, but
-# are not limited to (future versions of ImageMagick might have
-# additional components not listed here):
-#
-# ::
-#
-#   animate
-#   compare
-#   composite
-#   conjure
-#   convert
-#   display
-#   identify
-#   import
-#   mogrify
-#   montage
-#   stream
-#
-#
-#
-# If no component is specified in the FIND_PACKAGE call, then it only
-# searches for the ImageMagick executable directory.  This code defines
-# the following variables:
-#
-# ::
-#
-#   ImageMagick_FOUND                  - TRUE if all components are found.
-#   ImageMagick_EXECUTABLE_DIR         - Full path to executables directory.
-#   ImageMagick_<component>_FOUND      - TRUE if <component> is found.
-#   ImageMagick_<component>_EXECUTABLE - Full path to <component> executable.
-#   ImageMagick_VERSION_STRING         - the version of ImageMagick found
-#                                        (since CMake 2.8.8)
-#
-#
-#
-# ImageMagick_VERSION_STRING will not work for old versions like 5.2.3.
-#
-# There are also components for the following ImageMagick APIs:
-#
-# ::
-#
-#   Magick++
-#   MagickWand
-#   MagickCore
-#
-#
-#
-# For these components the following variables are set:
-#
-# ::
-#
-#   ImageMagick_FOUND                    - TRUE if all components are found.
-#   ImageMagick_INCLUDE_DIRS             - Full paths to all include dirs.
-#   ImageMagick_LIBRARIES                - Full paths to all libraries.
-#   ImageMagick_<component>_FOUND        - TRUE if <component> is found.
-#   ImageMagick_<component>_INCLUDE_DIRS - Full path to <component> include dirs.
-#   ImageMagick_<component>_LIBRARIES    - Full path to <component> libraries.
-#
-#
-#
-# Example Usages:
-#
-# ::
-#
-#   find_package(ImageMagick)
-#   find_package(ImageMagick COMPONENTS convert)
-#   find_package(ImageMagick COMPONENTS convert mogrify display)
-#   find_package(ImageMagick COMPONENTS Magick++)
-#   find_package(ImageMagick COMPONENTS Magick++ convert)
-#
-#
-#
-# Note that the standard FIND_PACKAGE features are supported (i.e.,
-# QUIET, REQUIRED, etc.).
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-# Copyright 2007-2008 Miguel A. Figueroa-Villanueva <miguelf at ieee dot org>
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_package(PkgConfig QUIET)
-
-#---------------------------------------------------------------------
-# Helper functions
-#---------------------------------------------------------------------
-function(FIND_IMAGEMAGICK_API component header)
-  set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
-
-  pkg_check_modules(PC_${component} QUIET ${component})
-
-  find_path(ImageMagick_${component}_INCLUDE_DIR
-    NAMES ${header}
-    HINTS
-      ${PC_${component}_INCLUDEDIR}
-      ${PC_${component}_INCLUDE_DIRS}
-    PATHS
-      ${ImageMagick_INCLUDE_DIRS}
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
-    PATH_SUFFIXES
-      ImageMagick ImageMagick-6
-    DOC "Path to the ImageMagick arch-independent include dir."
-    )
-  find_path(ImageMagick_${component}_ARCH_INCLUDE_DIR
-    NAMES magick/magick-baseconfig.h
-    HINTS
-      ${PC_${component}_INCLUDEDIR}
-      ${PC_${component}_INCLUDE_DIRS}
-    PATHS
-      ${ImageMagick_INCLUDE_DIRS}
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
-    PATH_SUFFIXES
-      ImageMagick ImageMagick-6
-    DOC "Path to the ImageMagick arch-specific include dir."
-    )
-  find_library(ImageMagick_${component}_LIBRARY
-    NAMES ${ARGN}
-    HINTS
-      ${PC_${component}_LIBDIR}
-      ${PC_${component}_LIB_DIRS}
-    PATHS
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib"
-    DOC "Path to the ImageMagick Magick++ library."
-    )
-
-  # old version have only indep dir
-  if(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
-    set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
-
-    # Construct per-component include directories.
-    set(ImageMagick_${component}_INCLUDE_DIRS
-      ${ImageMagick_${component}_INCLUDE_DIR}
-      )
-    if(ImageMagick_${component}_ARCH_INCLUDE_DIR)
-      list(APPEND ImageMagick_${component}_INCLUDE_DIRS
-        ${ImageMagick_${component}_ARCH_INCLUDE_DIR})
-    endif()
-    list(REMOVE_DUPLICATES ImageMagick_${component}_INCLUDE_DIRS)
-    set(ImageMagick_${component}_INCLUDE_DIRS
-      ${ImageMagick_${component}_INCLUDE_DIRS} PARENT_SCOPE)
-
-    # Add the per-component include directories to the full include dirs.
-    list(APPEND ImageMagick_INCLUDE_DIRS ${ImageMagick_${component}_INCLUDE_DIRS})
-    list(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS)
-    set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE)
-
-    list(APPEND ImageMagick_LIBRARIES
-      ${ImageMagick_${component}_LIBRARY}
-      )
-    set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES} PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(FIND_IMAGEMAGICK_EXE component)
-  set(_IMAGEMAGICK_EXECUTABLE
-    ${ImageMagick_EXECUTABLE_DIR}/${component}${CMAKE_EXECUTABLE_SUFFIX})
-  if(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
-    set(ImageMagick_${component}_EXECUTABLE
-      ${_IMAGEMAGICK_EXECUTABLE}
-       PARENT_SCOPE
-       )
-    set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
-  else()
-    set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
-  endif()
-endfunction()
-
-#---------------------------------------------------------------------
-# Start Actual Work
-#---------------------------------------------------------------------
-# Try to find a ImageMagick installation binary path.
-find_path(ImageMagick_EXECUTABLE_DIR
-  NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
-  PATHS
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]"
-  DOC "Path to the ImageMagick binary directory."
-  NO_DEFAULT_PATH
-  )
-find_path(ImageMagick_EXECUTABLE_DIR
-  NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
-  )
-
-# Find each component. Search for all tools in same dir
-# <ImageMagick_EXECUTABLE_DIR>; otherwise they should be found
-# independently and not in a cohesive module such as this one.
-unset(ImageMagick_REQUIRED_VARS)
-unset(ImageMagick_DEFAULT_EXECUTABLES)
-foreach(component ${ImageMagick_FIND_COMPONENTS}
-    # DEPRECATED: forced components for backward compatibility
-    convert mogrify import montage composite
-    )
-  if(component STREQUAL "Magick++")
-    FIND_IMAGEMAGICK_API(Magick++ Magick++.h
-      Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI
-      )
-    list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY)
-  elseif(component STREQUAL "MagickWand")
-    FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h
-      Wand MagickWand CORE_RL_wand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI
-      )
-    list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY)
-  elseif(component STREQUAL "MagickCore")
-    FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h
-      Magick MagickCore CORE_RL_magick_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI
-      )
-    list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY)
-  else()
-    if(ImageMagick_EXECUTABLE_DIR)
-      FIND_IMAGEMAGICK_EXE(${component})
-    endif()
-
-    if(ImageMagick_FIND_COMPONENTS)
-      list(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
-      if(is_requested GREATER -1)
-        list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_${component}_EXECUTABLE)
-      endif()
-    elseif(ImageMagick_${component}_EXECUTABLE)
-      # if no components were requested explicitly put all (default) executables
-      # in the list
-      list(APPEND ImageMagick_DEFAULT_EXECUTABLES ImageMagick_${component}_EXECUTABLE)
-    endif()
-  endif()
-endforeach()
-
-if(NOT ImageMagick_FIND_COMPONENTS AND NOT ImageMagick_DEFAULT_EXECUTABLES)
-  # No components were requested, and none of the default components were
-  # found. Just insert mogrify into the list of the default components to
-  # find so FPHSA below has something to check
-  list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_mogrify_EXECUTABLE)
-elseif(ImageMagick_DEFAULT_EXECUTABLES)
-  list(APPEND ImageMagick_REQUIRED_VARS ${ImageMagick_DEFAULT_EXECUTABLES})
-endif()
-
-set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
-set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})
-
-if(ImageMagick_mogrify_EXECUTABLE)
-  execute_process(COMMAND ${ImageMagick_mogrify_EXECUTABLE} -version
-                  OUTPUT_VARIABLE imagemagick_version
-                  ERROR_QUIET
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-  if(imagemagick_version MATCHES "^Version: ImageMagick ([-0-9\\.]+)")
-    set(ImageMagick_VERSION_STRING "${CMAKE_MATCH_1}")
-  endif()
-  unset(imagemagick_version)
-endif()
-
-#---------------------------------------------------------------------
-# Standard Package Output
-#---------------------------------------------------------------------
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ImageMagick
-                                  REQUIRED_VARS ${ImageMagick_REQUIRED_VARS}
-                                  VERSION_VAR ImageMagick_VERSION_STRING
-  )
-# Maintain consistency with all other variables.
-set(ImageMagick_FOUND ${IMAGEMAGICK_FOUND})
-
-#---------------------------------------------------------------------
-# DEPRECATED: Setting variables for backward compatibility.
-#---------------------------------------------------------------------
-set(IMAGEMAGICK_BINARY_PATH          ${ImageMagick_EXECUTABLE_DIR}
-    CACHE PATH "Path to the ImageMagick binary directory.")
-set(IMAGEMAGICK_CONVERT_EXECUTABLE   ${ImageMagick_convert_EXECUTABLE}
-    CACHE FILEPATH "Path to ImageMagick's convert executable.")
-set(IMAGEMAGICK_MOGRIFY_EXECUTABLE   ${ImageMagick_mogrify_EXECUTABLE}
-    CACHE FILEPATH "Path to ImageMagick's mogrify executable.")
-set(IMAGEMAGICK_IMPORT_EXECUTABLE    ${ImageMagick_import_EXECUTABLE}
-    CACHE FILEPATH "Path to ImageMagick's import executable.")
-set(IMAGEMAGICK_MONTAGE_EXECUTABLE   ${ImageMagick_montage_EXECUTABLE}
-    CACHE FILEPATH "Path to ImageMagick's montage executable.")
-set(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
-    CACHE FILEPATH "Path to ImageMagick's composite executable.")
-mark_as_advanced(
-  IMAGEMAGICK_BINARY_PATH
-  IMAGEMAGICK_CONVERT_EXECUTABLE
-  IMAGEMAGICK_MOGRIFY_EXECUTABLE
-  IMAGEMAGICK_IMPORT_EXECUTABLE
-  IMAGEMAGICK_MONTAGE_EXECUTABLE
-  IMAGEMAGICK_COMPOSITE_EXECUTABLE
-  )
diff --git a/share/cmake-3.6/Modules/FindIntl.cmake b/share/cmake-3.6/Modules/FindIntl.cmake
deleted file mode 100644
index cd2ec63..0000000
--- a/share/cmake-3.6/Modules/FindIntl.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-#.rst:
-# FindIntl
-# --------
-#
-# Find the Gettext libintl headers and libraries.
-#
-# This module reports information about the Gettext libintl
-# installation in several variables.  General variables::
-#
-#   Intl_FOUND - true if the libintl headers and libraries were found
-#   Intl_INCLUDE_DIRS - the directory containing the libintl headers
-#   Intl_LIBRARIES - libintl libraries to be linked
-#
-# The following cache variables may also be set::
-#
-#   Intl_INCLUDE_DIR - the directory containing the libintl headers
-#   Intl_LIBRARY - the libintl library (if any)
-#
-# .. note::
-#   On some platforms, such as Linux with GNU libc, the gettext
-#   functions are present in the C standard library and libintl
-#   is not required.  ``Intl_LIBRARIES`` will be empty in this
-#   case.
-#
-# .. note::
-#   If you wish to use the Gettext tools (``msgmerge``,
-#   ``msgfmt``, etc.), use :module:`FindGettext`.
-
-
-# Written by Roger Leigh <rleigh@codelibre.net>
-
-#=============================================================================
-# Copyright 2014 Roger Leigh <rleigh@codelibre.net>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Find include directory
-find_path(Intl_INCLUDE_DIR
-          NAMES "libintl.h"
-          DOC "libintl include directory")
-mark_as_advanced(Intl_INCLUDE_DIR)
-
-# Find all Intl libraries
-find_library(Intl_LIBRARY "intl"
-  DOC "libintl libraries (if not in the C library)")
-mark_as_advanced(Intl_LIBRARY)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Intl
-                                  FOUND_VAR Intl_FOUND
-                                  REQUIRED_VARS Intl_INCLUDE_DIR
-                                  FAIL_MESSAGE "Failed to find Gettext libintl")
-
-if(Intl_FOUND)
-  set(Intl_INCLUDE_DIRS "${Intl_INCLUDE_DIR}")
-  if(Intl_LIBRARY)
-    set(Intl_LIBRARIES "${Intl_LIBRARY}")
-  else()
-    unset(Intl_LIBRARIES)
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindJNI.cmake b/share/cmake-3.6/Modules/FindJNI.cmake
deleted file mode 100644
index 8fe8f7a..0000000
--- a/share/cmake-3.6/Modules/FindJNI.cmake
+++ /dev/null
@@ -1,335 +0,0 @@
-#.rst:
-# FindJNI
-# -------
-#
-# Find JNI java libraries.
-#
-# This module finds if Java is installed and determines where the
-# include files and libraries are.  It also determines what the name of
-# the library is.  The caller may set variable JAVA_HOME to specify a
-# Java installation prefix explicitly.
-#
-# This module sets the following result variables:
-#
-# ::
-#
-#   JNI_INCLUDE_DIRS      = the include dirs to use
-#   JNI_LIBRARIES         = the libraries to use
-#   JNI_FOUND             = TRUE if JNI headers and libraries were found.
-#   JAVA_AWT_LIBRARY      = the path to the jawt library
-#   JAVA_JVM_LIBRARY      = the path to the jvm library
-#   JAVA_INCLUDE_PATH     = the include path to jni.h
-#   JAVA_INCLUDE_PATH2    = the include path to jni_md.h
-#   JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var}
-macro(java_append_library_directories _var)
-    # Determine java arch-specific library subdir
-    # Mostly based on openjdk/jdk/make/common/shared/Platform.gmk as of openjdk
-    # 1.6.0_18 + icedtea patches. However, it would be much better to base the
-    # guess on the first part of the GNU config.guess platform triplet.
-    if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
-      if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "x86_64-linux-gnux32")
-        set(_java_libarch "x32" "amd64" "i386")
-      else()
-        set(_java_libarch "amd64" "i386")
-      endif()
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
-        set(_java_libarch "i386")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
-        set(_java_libarch "alpha")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
-        # Subdir is "arm" for both big-endian (arm) and little-endian (armel).
-        set(_java_libarch "arm")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
-        # mips* machines are bi-endian mostly so processor does not tell
-        # endianess of the underlying system.
-        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb" "mips64" "mips64el" "mipsn32" "mipsn32el")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
-        set(_java_libarch "ppc64" "ppc64le")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
-        set(_java_libarch "ppc64" "ppc")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
-        set(_java_libarch "ppc" "ppc64")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
-        # Both flavours can run on the same processor
-        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
-        set(_java_libarch "parisc" "parisc64")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
-        # s390 binaries can run on s390x machines
-        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
-    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
-        set(_java_libarch "sh")
-    else()
-        set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
-    endif()
-
-    # Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or
-    # system is non-Linux (where the code above has not been well tested)
-    if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
-        list(APPEND _java_libarch "i386" "amd64" "ppc")
-    endif()
-
-    # Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer
-    # current value to a hardcoded list. Remove possible duplicates.
-    list(REMOVE_DUPLICATES _java_libarch)
-
-    foreach(_path ${ARGN})
-        if(_path MATCHES "{libarch}")
-            foreach(_libarch ${_java_libarch})
-                string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
-                if(EXISTS ${_newpath})
-                    list(APPEND ${_var} "${_newpath}")
-                endif()
-            endforeach()
-        else()
-            if(EXISTS ${_path})
-                list(APPEND ${_var} "${_path}")
-            endif()
-        endif()
-    endforeach()
-endmacro()
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindJavaCommon.cmake)
-
-# Save CMAKE_FIND_FRAMEWORK
-if(DEFINED CMAKE_FIND_FRAMEWORK)
-  set(_JNI_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
-else()
-  unset(_JNI_CMAKE_FIND_FRAMEWORK)
-endif()
-
-if(_JAVA_HOME_EXPLICIT)
-  set(CMAKE_FIND_FRAMEWORK NEVER)
-endif()
-
-set(JAVA_AWT_LIBRARY_DIRECTORIES)
-if(_JAVA_HOME)
-  JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
-    ${_JAVA_HOME}/jre/lib/{libarch}
-    ${_JAVA_HOME}/jre/lib
-    ${_JAVA_HOME}/lib/{libarch}
-    ${_JAVA_HOME}/lib
-    ${_JAVA_HOME}
-    )
-endif()
-get_filename_component(java_install_version
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
-
-list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
-  )
-JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
-  /usr/lib
-  /usr/local/lib
-  /usr/lib/jvm/java/lib
-  /usr/lib/java/jre/lib/{libarch}
-  /usr/lib/jvm/jre/lib/{libarch}
-  /usr/local/lib/java/jre/lib/{libarch}
-  /usr/local/share/java/jre/lib/{libarch}
-  /usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
-  /usr/lib/j2sdk1.5-sun/jre/lib/{libarch}
-  /opt/sun-jdk-1.5.0.04/jre/lib/{libarch}
-  /usr/lib/jvm/java-6-sun/jre/lib/{libarch}
-  /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
-  /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch}       # can this one be removed according to #8821 ? Alex
-  /usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
-  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch}        # fedora
-  /usr/lib/jvm/java-8-openjdk-{libarch}/lib/{libarch}              # ubuntu 15.10
-  /usr/lib/jvm/java-7-openjdk-{libarch}/lib/{libarch}              # ubuntu 15.10
-  /usr/lib/jvm/java-6-openjdk-{libarch}/lib/{libarch}              # ubuntu 15.10
-  # Debian specific paths for default JVM
-  /usr/lib/jvm/default-java/jre/lib/{libarch}
-  /usr/lib/jvm/default-java/jre/lib
-  /usr/lib/jvm/default-java/lib
-  # OpenBSD specific paths for default JVM
-  /usr/local/jdk-1.7.0/jre/lib/{libarch}
-  /usr/local/jre-1.7.0/lib/{libarch}
-  /usr/local/jdk-1.6.0/jre/lib/{libarch}
-  /usr/local/jre-1.6.0/lib/{libarch}
-  # SuSE specific paths for default JVM
-  /usr/lib64/jvm/java/jre/lib/{libarch}
-  /usr/lib64/jvm/jre/lib/{libarch}
-  )
-
-set(JAVA_JVM_LIBRARY_DIRECTORIES)
-foreach(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
-  list(APPEND JAVA_JVM_LIBRARY_DIRECTORIES
-    "${dir}"
-    "${dir}/client"
-    "${dir}/server"
-    # IBM SDK, Java Technology Edition, specific paths
-    "${dir}/j9vm"
-    "${dir}/default"
-    )
-endforeach()
-
-set(JAVA_AWT_INCLUDE_DIRECTORIES)
-if(_JAVA_HOME)
-  list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES ${_JAVA_HOME}/include)
-endif()
-list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
-)
-
-JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
-  /usr/include
-  /usr/local/include
-  /usr/lib/java/include
-  /usr/local/lib/java/include
-  /usr/lib/jvm/java/include
-  /usr/lib/jvm/java-6-sun/include
-  /usr/lib/jvm/java-1.5.0-sun/include
-  /usr/lib/jvm/java-6-sun-1.6.0.00/include       # can this one be removed according to #8821 ? Alex
-  /usr/lib/jvm/java-6-openjdk/include
-  /usr/lib/jvm/java-8-openjdk-{libarch}/include  # ubuntu 15.10
-  /usr/lib/jvm/java-7-openjdk-{libarch}/include  # ubuntu 15.10
-  /usr/lib/jvm/java-6-openjdk-{libarch}/include  # ubuntu 15.10
-  /usr/local/share/java/include
-  /usr/lib/j2sdk1.4-sun/include
-  /usr/lib/j2sdk1.5-sun/include
-  /opt/sun-jdk-1.5.0.04/include
-  # Debian specific path for default JVM
-  /usr/lib/jvm/default-java/include
-  # OpenBSD specific path for default JVM
-  /usr/local/jdk-1.7.0/include
-  /usr/local/jdk-1.6.0/include
-  # SuSE specific paths for default JVM
-  /usr/lib64/jvm/java/include
-  )
-
-foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
-  get_filename_component(jpath "${JAVA_PROG}" PATH)
-  foreach(JAVA_INC_PATH ../include ../java/include ../share/java/include)
-    if(EXISTS ${jpath}/${JAVA_INC_PATH})
-      list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES "${jpath}/${JAVA_INC_PATH}")
-    endif()
-  endforeach()
-  foreach(JAVA_LIB_PATH
-    ../lib ../jre/lib ../jre/lib/i386
-    ../java/lib ../java/jre/lib ../java/jre/lib/i386
-    ../share/java/lib ../share/java/jre/lib ../share/java/jre/lib/i386)
-    if(EXISTS ${jpath}/${JAVA_LIB_PATH})
-      list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES "${jpath}/${JAVA_LIB_PATH}")
-    endif()
-  endforeach()
-endforeach()
-
-if(APPLE)
-  if(CMAKE_FIND_FRAMEWORK STREQUAL "ONLY")
-    set(_JNI_SEARCHES FRAMEWORK)
-  elseif(CMAKE_FIND_FRAMEWORK STREQUAL "NEVER")
-    set(_JNI_SEARCHES NORMAL)
-  elseif(CMAKE_FIND_FRAMEWORK STREQUAL "LAST")
-    set(_JNI_SEARCHES NORMAL FRAMEWORK)
-  else()
-    set(_JNI_SEARCHES FRAMEWORK NORMAL)
-  endif()
-  set(_JNI_FRAMEWORK_JVM NAMES JavaVM)
-  set(_JNI_FRAMEWORK_JAWT "${_JNI_FRAMEWORK_JVM}")
-else()
-  set(_JNI_SEARCHES NORMAL)
-endif()
-
-set(_JNI_NORMAL_JVM
-  NAMES jvm
-  PATHS ${JAVA_JVM_LIBRARY_DIRECTORIES}
-  )
-
-set(_JNI_NORMAL_JAWT
-  NAMES jawt
-  PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
-  )
-
-foreach(search ${_JNI_SEARCHES})
-  find_library(JAVA_JVM_LIBRARY ${_JNI_${search}_JVM})
-  find_library(JAVA_AWT_LIBRARY ${_JNI_${search}_JAWT})
-  if(JAVA_JVM_LIBRARY)
-    break()
-  endif()
-endforeach()
-unset(_JNI_SEARCHES)
-unset(_JNI_FRAMEWORK_JVM)
-unset(_JNI_FRAMEWORK_JAWT)
-unset(_JNI_NORMAL_JVM)
-unset(_JNI_NORMAL_JAWT)
-
-# Find headers matching the library.
-if("${JAVA_JVM_LIBRARY};${JAVA_AWT_LIBRARY};" MATCHES "(/JavaVM.framework|-framework JavaVM);")
-  set(CMAKE_FIND_FRAMEWORK ONLY)
-else()
-  set(CMAKE_FIND_FRAMEWORK NEVER)
-endif()
-
-# add in the include path
-find_path(JAVA_INCLUDE_PATH jni.h
-  ${JAVA_AWT_INCLUDE_DIRECTORIES}
-)
-
-find_path(JAVA_INCLUDE_PATH2 NAMES jni_md.h jniport.h
-  PATHS
-  ${JAVA_INCLUDE_PATH}
-  ${JAVA_INCLUDE_PATH}/darwin
-  ${JAVA_INCLUDE_PATH}/win32
-  ${JAVA_INCLUDE_PATH}/linux
-  ${JAVA_INCLUDE_PATH}/freebsd
-  ${JAVA_INCLUDE_PATH}/openbsd
-  ${JAVA_INCLUDE_PATH}/solaris
-  ${JAVA_INCLUDE_PATH}/hp-ux
-  ${JAVA_INCLUDE_PATH}/alpha
-  ${JAVA_INCLUDE_PATH}/aix
-)
-
-find_path(JAVA_AWT_INCLUDE_PATH jawt.h
-  ${JAVA_INCLUDE_PATH}
-)
-
-# Restore CMAKE_FIND_FRAMEWORK
-if(DEFINED _JNI_CMAKE_FIND_FRAMEWORK)
-  set(CMAKE_FIND_FRAMEWORK ${_JNI_CMAKE_FIND_FRAMEWORK})
-  unset(_JNI_CMAKE_FIND_FRAMEWORK)
-else()
-  unset(CMAKE_FIND_FRAMEWORK)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI  DEFAULT_MSG  JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY
-                                                    JAVA_INCLUDE_PATH  JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-
-mark_as_advanced(
-  JAVA_AWT_LIBRARY
-  JAVA_JVM_LIBRARY
-  JAVA_AWT_INCLUDE_PATH
-  JAVA_INCLUDE_PATH
-  JAVA_INCLUDE_PATH2
-)
-
-set(JNI_LIBRARIES
-  ${JAVA_AWT_LIBRARY}
-  ${JAVA_JVM_LIBRARY}
-)
-
-set(JNI_INCLUDE_DIRS
-  ${JAVA_INCLUDE_PATH}
-  ${JAVA_INCLUDE_PATH2}
-  ${JAVA_AWT_INCLUDE_PATH}
-)
-
diff --git a/share/cmake-3.6/Modules/FindJPEG.cmake b/share/cmake-3.6/Modules/FindJPEG.cmake
deleted file mode 100644
index 86bb6e5..0000000
--- a/share/cmake-3.6/Modules/FindJPEG.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-#.rst:
-# FindJPEG
-# --------
-#
-# Find JPEG
-#
-# Find the native JPEG includes and library This module defines
-#
-# ::
-#
-#   JPEG_INCLUDE_DIR, where to find jpeglib.h, etc.
-#   JPEG_LIBRARIES, the libraries needed to use JPEG.
-#   JPEG_FOUND, If false, do not try to use JPEG.
-#
-# also defined, but not for general use are
-#
-# ::
-#
-#   JPEG_LIBRARY, where to find the JPEG library.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(JPEG_INCLUDE_DIR jpeglib.h)
-
-set(JPEG_NAMES ${JPEG_NAMES} jpeg libjpeg)
-find_library(JPEG_LIBRARY NAMES ${JPEG_NAMES} )
-
-# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(JPEG DEFAULT_MSG JPEG_LIBRARY JPEG_INCLUDE_DIR)
-
-if(JPEG_FOUND)
-  set(JPEG_LIBRARIES ${JPEG_LIBRARY})
-endif()
-
-# Deprecated declarations.
-set (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
-if(JPEG_LIBRARY)
-  get_filename_component (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
-endif()
-
-mark_as_advanced(JPEG_LIBRARY JPEG_INCLUDE_DIR )
diff --git a/share/cmake-3.6/Modules/FindJasper.cmake b/share/cmake-3.6/Modules/FindJasper.cmake
deleted file mode 100644
index 0f325f0..0000000
--- a/share/cmake-3.6/Modules/FindJasper.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-#.rst:
-# FindJasper
-# ----------
-#
-# Try to find the Jasper JPEG2000 library
-#
-# Once done this will define
-#
-# ::
-#
-#   JASPER_FOUND - system has Jasper
-#   JASPER_INCLUDE_DIR - the Jasper include directory
-#   JASPER_LIBRARIES - the libraries needed to use Jasper
-#   JASPER_VERSION_STRING - the version of Jasper found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(JASPER_INCLUDE_DIR jasper/jasper.h)
-
-if (NOT JASPER_LIBRARIES)
-    find_package(JPEG)
-
-    find_library(JASPER_LIBRARY_RELEASE NAMES jasper libjasper)
-    find_library(JASPER_LIBRARY_DEBUG NAMES jasperd)
-
-    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-    SELECT_LIBRARY_CONFIGURATIONS(JASPER)
-endif ()
-
-if (JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h")
-    file(STRINGS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h" jasper_version_str REGEX "^#define[\t ]+JAS_VERSION[\t ]+\".*\".*")
-
-    string(REGEX REPLACE "^#define[\t ]+JAS_VERSION[\t ]+\"([^\"]+)\".*" "\\1" JASPER_VERSION_STRING "${jasper_version_str}")
-endif ()
-
-# handle the QUIETLY and REQUIRED arguments and set JASPER_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jasper
-                                  REQUIRED_VARS JASPER_LIBRARIES JASPER_INCLUDE_DIR JPEG_LIBRARIES
-                                  VERSION_VAR JASPER_VERSION_STRING)
-
-if (JASPER_FOUND)
-   set(JASPER_LIBRARIES ${JASPER_LIBRARIES} ${JPEG_LIBRARIES} )
-endif ()
-
-mark_as_advanced(JASPER_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindJava.cmake b/share/cmake-3.6/Modules/FindJava.cmake
deleted file mode 100644
index c643d9b..0000000
--- a/share/cmake-3.6/Modules/FindJava.cmake
+++ /dev/null
@@ -1,277 +0,0 @@
-#.rst:
-# FindJava
-# --------
-#
-# Find Java
-#
-# This module finds if Java is installed and determines where the
-# include files and libraries are.  The caller may set variable JAVA_HOME
-# to specify a Java installation prefix explicitly.
-#
-#
-# Specify one or more of the following components as you call this find module. See example below.
-#
-# ::
-#
-#   Runtime     = User just want to execute some Java byte-compiled
-#   Development = Development tools (java, javac, javah and javadoc), includes Runtime component
-#   IdlJ        = idl compiler for Java
-#   JarSigner   = signer tool for jar
-#
-#
-# This module sets the following result variables:
-#
-# ::
-#
-#   Java_JAVA_EXECUTABLE      = the full path to the Java runtime
-#   Java_JAVAC_EXECUTABLE     = the full path to the Java compiler
-#   Java_JAVAH_EXECUTABLE     = the full path to the Java header generator
-#   Java_JAVADOC_EXECUTABLE   = the full path to the Java documentation generator
-#   Java_IDLJ_EXECUTABLE      = the full path to the Java idl compiler
-#   Java_JAR_EXECUTABLE       = the full path to the Java archiver
-#   Java_JARSIGNER_EXECUTABLE = the full path to the Java jar signer
-#   Java_VERSION_STRING       = Version of java found, eg. 1.6.0_12
-#   Java_VERSION_MAJOR        = The major version of the package found.
-#   Java_VERSION_MINOR        = The minor version of the package found.
-#   Java_VERSION_PATCH        = The patch version of the package found.
-#   Java_VERSION_TWEAK        = The tweak version of the package found (after '_')
-#   Java_VERSION              = This is set to: $major.$minor.$patch(.$tweak)
-#
-#
-#
-# The minimum required version of Java can be specified using the
-# standard CMake syntax, e.g.  find_package(Java 1.5)
-#
-# NOTE: ${Java_VERSION} and ${Java_VERSION_STRING} are not guaranteed to
-# be identical.  For example some java version may return:
-# Java_VERSION_STRING = 1.5.0_17 and Java_VERSION = 1.5.0.17
-#
-# another example is the Java OEM, with: Java_VERSION_STRING = 1.6.0-oem
-# and Java_VERSION = 1.6.0
-#
-# For these components the following variables are set:
-#
-# ::
-#
-#   Java_FOUND                    - TRUE if all components are found.
-#   Java_INCLUDE_DIRS             - Full paths to all include dirs.
-#   Java_LIBRARIES                - Full paths to all libraries.
-#   Java_<component>_FOUND        - TRUE if <component> is found.
-#
-#
-#
-# Example Usages:
-#
-# ::
-#
-#   find_package(Java)
-#   find_package(Java COMPONENTS Runtime)
-#   find_package(Java COMPONENTS Development)
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-# Copyright 2009-2011 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindJavaCommon.cmake)
-
-# The HINTS option should only be used for values computed from the system.
-set(_JAVA_HINTS)
-if(_JAVA_HOME)
-  list(APPEND _JAVA_HINTS ${_JAVA_HOME}/bin)
-endif()
-list(APPEND _JAVA_HINTS
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
-  )
-# Hard-coded guesses should still go in PATHS. This ensures that the user
-# environment can always override hard guesses.
-set(_JAVA_PATHS
-  /usr/lib/java/bin
-  /usr/share/java/bin
-  /usr/local/java/bin
-  /usr/local/java/share/bin
-  /usr/java/j2sdk1.4.2_04
-  /usr/lib/j2sdk1.4-sun/bin
-  /usr/java/j2sdk1.4.2_09/bin
-  /usr/lib/j2sdk1.5-sun/bin
-  /opt/sun-jdk-1.5.0.04/bin
-  /usr/local/jdk-1.7.0/bin
-  /usr/local/jdk-1.6.0/bin
-  )
-find_program(Java_JAVA_EXECUTABLE
-  NAMES java
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-if(Java_JAVA_EXECUTABLE)
-    execute_process(COMMAND ${Java_JAVA_EXECUTABLE} -version
-      RESULT_VARIABLE res
-      OUTPUT_VARIABLE var
-      ERROR_VARIABLE var # sun-java output to stderr
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_STRIP_TRAILING_WHITESPACE)
-    if( res )
-      if(var MATCHES "No Java runtime present, requesting install")
-        set_property(CACHE Java_JAVA_EXECUTABLE
-          PROPERTY VALUE "Java_JAVA_EXECUTABLE-NOTFOUND")
-      elseif(${Java_FIND_REQUIRED})
-        message( FATAL_ERROR "Error executing java -version" )
-      else()
-        message( STATUS "Warning, could not run java -version")
-      endif()
-    else()
-      # extract major/minor version and patch level from "java -version" output
-      # Tested on linux using
-      # 1. Sun / Sun OEM
-      # 2. OpenJDK 1.6
-      # 3. GCJ 1.5
-      # 4. Kaffe 1.4.2
-      # 5. OpenJDK 1.7.x on OpenBSD
-      if(var MATCHES "java version \"([0-9]+\\.[0-9]+\\.[0-9_.]+.*)\"")
-        # This is most likely Sun / OpenJDK, or maybe GCJ-java compat layer
-        set(Java_VERSION_STRING "${CMAKE_MATCH_1}")
-      elseif(var MATCHES "java full version \"kaffe-([0-9]+\\.[0-9]+\\.[0-9_]+)\"")
-        # Kaffe style
-        set(Java_VERSION_STRING "${CMAKE_MATCH_1}")
-      elseif(var MATCHES "openjdk version \"([0-9]+\\.[0-9]+\\.[0-9_]+.*)\"")
-        # OpenJDK ver 1.7.x on OpenBSD
-        set(Java_VERSION_STRING "${CMAKE_MATCH_1}")
-      else()
-        if(NOT Java_FIND_QUIETLY)
-          message(WARNING "regex not supported: ${var}. Please report")
-        endif()
-      endif()
-      string( REGEX REPLACE "([0-9]+).*" "\\1" Java_VERSION_MAJOR "${Java_VERSION_STRING}" )
-      string( REGEX REPLACE "[0-9]+\\.([0-9]+).*" "\\1" Java_VERSION_MINOR "${Java_VERSION_STRING}" )
-      string( REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" Java_VERSION_PATCH "${Java_VERSION_STRING}" )
-      # warning tweak version can be empty:
-      string( REGEX REPLACE "[0-9]+\\.[0-9]+\\.[0-9]+[_\\.]?([0-9]*).*$" "\\1" Java_VERSION_TWEAK "${Java_VERSION_STRING}" )
-      if( Java_VERSION_TWEAK STREQUAL "" ) # check case where tweak is not defined
-        set(Java_VERSION ${Java_VERSION_MAJOR}.${Java_VERSION_MINOR}.${Java_VERSION_PATCH})
-      else()
-        set(Java_VERSION ${Java_VERSION_MAJOR}.${Java_VERSION_MINOR}.${Java_VERSION_PATCH}.${Java_VERSION_TWEAK})
-      endif()
-    endif()
-
-endif()
-
-
-find_program(Java_JAR_EXECUTABLE
-  NAMES jar
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-find_program(Java_JAVAC_EXECUTABLE
-  NAMES javac
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-find_program(Java_JAVAH_EXECUTABLE
-  NAMES javah
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-find_program(Java_JAVADOC_EXECUTABLE
-  NAMES javadoc
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-find_program(Java_IDLJ_EXECUTABLE
-  NAMES idlj
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-find_program(Java_JARSIGNER_EXECUTABLE
-  NAMES jarsigner
-  HINTS ${_JAVA_HINTS}
-  PATHS ${_JAVA_PATHS}
-)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-if(Java_FIND_COMPONENTS)
-  set(_JAVA_REQUIRED_VARS)
-  foreach(component ${Java_FIND_COMPONENTS})
-    # User just want to execute some Java byte-compiled
-    If(component STREQUAL "Runtime")
-      list(APPEND _JAVA_REQUIRED_VARS Java_JAVA_EXECUTABLE)
-      if(Java_JAVA_EXECUTABLE)
-        set(Java_Runtime_FOUND TRUE)
-      endif()
-    elseif(component STREQUAL "Development")
-      list(APPEND _JAVA_REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAVAC_EXECUTABLE
-                                      Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
-      if(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE
-          AND Java_JAVAH_EXECUTABLE AND Java_JAVADOC_EXECUTABLE)
-        set(Java_Development_FOUND TRUE)
-      endif()
-    elseif(component STREQUAL "IdlJ")
-      list(APPEND _JAVA_REQUIRED_VARS Java_IDLJ_EXECUTABLE)
-      if(Java_IDLJ_EXECUTABLE)
-        set(Java_IdlJ_FOUND TRUE)
-      endif()
-    elseif(component STREQUAL "JarSigner")
-      list(APPEND _JAVA_REQUIRED_VARS Java_JARSIGNER_EXECUTABLE)
-      if(Java_JARSIGNER_EXECUTABLE)
-        set(Java_JarSigner_FOUND TRUE)
-      endif()
-    else()
-      message(FATAL_ERROR "Comp: ${component} is not handled")
-    endif()
-  endforeach()
-  list (REMOVE_DUPLICATES _JAVA_REQUIRED_VARS)
-  find_package_handle_standard_args(Java
-    REQUIRED_VARS ${_JAVA_REQUIRED_VARS} HANDLE_COMPONENTS
-    VERSION_VAR Java_VERSION
-    )
-  if(Java_FOUND)
-    foreach(component ${Java_FIND_COMPONENTS})
-      set(Java_${component}_FOUND TRUE)
-    endforeach()
-  endif()
-else()
-  # Check for Development
-  find_package_handle_standard_args(Java
-    REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE
-                  Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE
-    VERSION_VAR Java_VERSION
-    )
-endif()
-
-
-mark_as_advanced(
-  Java_JAVA_EXECUTABLE
-  Java_JAR_EXECUTABLE
-  Java_JAVAC_EXECUTABLE
-  Java_JAVAH_EXECUTABLE
-  Java_JAVADOC_EXECUTABLE
-  Java_IDLJ_EXECUTABLE
-  Java_JARSIGNER_EXECUTABLE
-  )
-
-# LEGACY
-set(JAVA_RUNTIME ${Java_JAVA_EXECUTABLE})
-set(JAVA_ARCHIVE ${Java_JAR_EXECUTABLE})
-set(JAVA_COMPILE ${Java_JAVAC_EXECUTABLE})
-
diff --git a/share/cmake-3.6/Modules/FindKDE3.cmake b/share/cmake-3.6/Modules/FindKDE3.cmake
deleted file mode 100644
index dda4530..0000000
--- a/share/cmake-3.6/Modules/FindKDE3.cmake
+++ /dev/null
@@ -1,370 +0,0 @@
-#.rst:
-# FindKDE3
-# --------
-#
-# Find the KDE3 include and library dirs, KDE preprocessors and define a some macros
-#
-#
-#
-# This module defines the following variables:
-#
-# ``KDE3_DEFINITIONS``
-#   compiler definitions required for compiling KDE software
-# ``KDE3_INCLUDE_DIR``
-#   the KDE include directory
-# ``KDE3_INCLUDE_DIRS``
-#   the KDE and the Qt include directory, for use with include_directories()
-# ``KDE3_LIB_DIR``
-#   the directory where the KDE libraries are installed, for use with link_directories()
-# ``QT_AND_KDECORE_LIBS``
-#   this contains both the Qt and the kdecore library
-# ``KDE3_DCOPIDL_EXECUTABLE``
-#   the dcopidl executable
-# ``KDE3_DCOPIDL2CPP_EXECUTABLE``
-#   the dcopidl2cpp executable
-# ``KDE3_KCFGC_EXECUTABLE``
-#   the kconfig_compiler executable
-# ``KDE3_FOUND``
-#   set to TRUE if all of the above has been found
-#
-# The following user adjustable options are provided:
-#
-# ``KDE3_BUILD_TESTS``
-#   enable this to build KDE testcases
-#
-# It also adds the following macros (from KDE3Macros.cmake) SRCS_VAR is
-# always the variable which contains the list of source files for your
-# application or library.
-#
-# KDE3_AUTOMOC(file1 ...  fileN)
-#
-# ::
-#
-#     Call this if you want to have automatic moc file handling.
-#     This means if you include "foo.moc" in the source file foo.cpp
-#     a moc file for the header foo.h will be created automatically.
-#     You can set the property SKIP_AUTOMAKE using set_source_files_properties()
-#     to exclude some files in the list from being processed.
-#
-#
-#
-# KDE3_ADD_MOC_FILES(SRCS_VAR file1 ...  fileN )
-#
-# ::
-#
-#     If you don't use the KDE3_AUTOMOC() macro, for the files
-#     listed here moc files will be created (named "foo.moc.cpp")
-#
-#
-#
-# KDE3_ADD_DCOP_SKELS(SRCS_VAR header1.h ...  headerN.h )
-#
-# ::
-#
-#     Use this to generate DCOP skeletions from the listed headers.
-#
-#
-#
-# KDE3_ADD_DCOP_STUBS(SRCS_VAR header1.h ...  headerN.h )
-#
-# ::
-#
-#      Use this to generate DCOP stubs from the listed headers.
-#
-#
-#
-# KDE3_ADD_UI_FILES(SRCS_VAR file1.ui ...  fileN.ui )
-#
-# ::
-#
-#     Use this to add the Qt designer ui files to your application/library.
-#
-#
-#
-# KDE3_ADD_KCFG_FILES(SRCS_VAR file1.kcfgc ...  fileN.kcfgc )
-#
-# ::
-#
-#     Use this to add KDE kconfig compiler files to your application/library.
-#
-#
-#
-# KDE3_INSTALL_LIBTOOL_FILE(target)
-#
-# ::
-#
-#     This will create and install a simple libtool file for the given target.
-#
-#
-#
-# KDE3_ADD_EXECUTABLE(name file1 ...  fileN )
-#
-# ::
-#
-#     Currently identical to add_executable(), may provide some advanced
-#     features in the future.
-#
-#
-#
-# KDE3_ADD_KPART(name [WITH_PREFIX] file1 ...  fileN )
-#
-# ::
-#
-#     Create a KDE plugin (KPart, kioslave, etc.) from the given source files.
-#     If WITH_PREFIX is given, the resulting plugin will have the prefix "lib",
-#     otherwise it won't.
-#     It creates and installs an appropriate libtool la-file.
-#
-#
-#
-# KDE3_ADD_KDEINIT_EXECUTABLE(name file1 ...  fileN )
-#
-# ::
-#
-#     Create a KDE application in the form of a module loadable via kdeinit.
-#     A library named kdeinit_<name> will be created and a small executable
-#     which links to it.
-#
-#
-#
-# The option KDE3_ENABLE_FINAL to enable all-in-one compilation is no
-# longer supported.
-#
-#
-#
-# Author: Alexander Neundorf <neundorf@kde.org>
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT UNIX AND KDE3_FIND_REQUIRED)
-   message(FATAL_ERROR "Compiling KDE3 applications and libraries under Windows is not supported")
-endif()
-
-# If Qt4 has already been found, fail.
-if(QT4_FOUND)
-  if(KDE3_FIND_REQUIRED)
-    message( FATAL_ERROR "KDE3/Qt3 and Qt4 cannot be used together in one project.")
-  else()
-    if(NOT KDE3_FIND_QUIETLY)
-      message( STATUS    "KDE3/Qt3 and Qt4 cannot be used together in one project.")
-    endif()
-    return()
-  endif()
-endif()
-
-
-set(QT_MT_REQUIRED TRUE)
-#set(QT_MIN_VERSION "3.0.0")
-
-#this line includes FindQt.cmake, which searches the Qt library and headers
-if(KDE3_FIND_REQUIRED)
-  set(_REQ_STRING_KDE3 "REQUIRED")
-endif()
-
-find_package(Qt3 ${_REQ_STRING_KDE3})
-find_package(X11 ${_REQ_STRING_KDE3})
-
-
-#now try to find some kde stuff
-find_program(KDECONFIG_EXECUTABLE NAMES kde-config
-  HINTS
-   $ENV{KDEDIR}/bin
-   PATHS
-  /opt/kde3/bin
-  /opt/kde/bin
-  )
-
-set(KDE3PREFIX)
-if(KDECONFIG_EXECUTABLE)
-   execute_process(COMMAND ${KDECONFIG_EXECUTABLE} --version
-                   OUTPUT_VARIABLE kde_config_version )
-
-   string(REGEX MATCH "KDE: .\\." kde_version "${kde_config_version}")
-   if ("${kde_version}" MATCHES "KDE: 3\\.")
-      execute_process(COMMAND ${KDECONFIG_EXECUTABLE} --prefix
-                        OUTPUT_VARIABLE kdedir )
-      string(REPLACE "\n" "" KDE3PREFIX "${kdedir}")
-
-    endif ()
-endif()
-
-
-
-# at first the KDE include directory
-# kpassdlg.h comes from kdeui and doesn't exist in KDE4 anymore
-find_path(KDE3_INCLUDE_DIR kpassdlg.h
-  HINTS
-  $ENV{KDEDIR}/include
-  ${KDE3PREFIX}/include
-  PATHS
-  /opt/kde3/include
-  /opt/kde/include
-  /usr/include/kde
-  /usr/local/include/kde
-  )
-
-#now the KDE library directory
-find_library(KDE3_KDECORE_LIBRARY NAMES kdecore
-  HINTS
-  $ENV{KDEDIR}/lib
-  ${KDE3PREFIX}/lib
-  PATHS
-  /opt/kde3/lib
-  /opt/kde/lib
-)
-
-set(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} ${KDE3_KDECORE_LIBRARY})
-
-get_filename_component(KDE3_LIB_DIR ${KDE3_KDECORE_LIBRARY} PATH )
-
-if(NOT KDE3_LIBTOOL_DIR)
-   if(KDE3_KDECORE_LIBRARY MATCHES lib64)
-     set(KDE3_LIBTOOL_DIR /lib64/kde3)
-   else()
-     set(KDE3_LIBTOOL_DIR /lib/kde3)
-   endif()
-endif()
-
-#now search for the dcop utilities
-find_program(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl
-  HINTS
-  $ENV{KDEDIR}/bin
-  ${KDE3PREFIX}/bin
-  PATHS
-  /opt/kde3/bin
-  /opt/kde/bin
-  )
-
-find_program(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp
-  HINTS
-  $ENV{KDEDIR}/bin
-  ${KDE3PREFIX}/bin
-  PATHS
-  /opt/kde3/bin
-  /opt/kde/bin
-  )
-
-find_program(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler
-  HINTS
-  $ENV{KDEDIR}/bin
-  ${KDE3PREFIX}/bin
-  PATHS
-  /opt/kde3/bin
-  /opt/kde/bin
-  )
-
-
-#SET KDE3_FOUND
-if (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
-   set(KDE3_FOUND TRUE)
-else ()
-   set(KDE3_FOUND FALSE)
-endif ()
-
-# add some KDE specific stuff
-set(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE)
-
-# set compiler flags only if KDE3 has actually been found
-if(KDE3_FOUND)
-   set(_KDE3_USE_FLAGS FALSE)
-   if(CMAKE_COMPILER_IS_GNUCXX)
-      set(_KDE3_USE_FLAGS TRUE) # use flags for gnu compiler
-      execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
-                      OUTPUT_VARIABLE out)
-      # gnu gcc 2.96 does not work with flags
-      # I guess 2.95 also doesn't then
-      if("${out}" MATCHES "2.9[56]")
-         set(_KDE3_USE_FLAGS FALSE)
-      endif()
-   endif()
-
-   #only on linux, but NOT e.g. on FreeBSD:
-   if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND _KDE3_USE_FLAGS)
-      set (KDE3_DEFINITIONS ${KDE3_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE)
-      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
-      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common")
-   endif()
-
-   # works on FreeBSD, NOT tested on NetBSD and OpenBSD
-   if (CMAKE_SYSTEM_NAME MATCHES BSD AND _KDE3_USE_FLAGS)
-      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
-      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common")
-   endif ()
-
-   # if no special buildtype is selected, add -O2 as default optimization
-   if (NOT CMAKE_BUILD_TYPE AND _KDE3_USE_FLAGS)
-      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -O2")
-      set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
-   endif ()
-
-#set(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined")
-#set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
-#set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
-endif()
-
-
-# KDE3Macros.cmake contains all the KDE specific macros
-include(${CMAKE_CURRENT_LIST_DIR}/KDE3Macros.cmake)
-
-
-macro (KDE3_PRINT_RESULTS)
-   if(KDE3_INCLUDE_DIR)
-      message(STATUS "Found KDE3 include dir: ${KDE3_INCLUDE_DIR}")
-   else()
-      message(STATUS "Didn't find KDE3 headers")
-   endif()
-
-   if(KDE3_LIB_DIR)
-      message(STATUS "Found KDE3 library dir: ${KDE3_LIB_DIR}")
-   else()
-      message(STATUS "Didn't find KDE3 core library")
-   endif()
-
-   if(KDE3_DCOPIDL_EXECUTABLE)
-      message(STATUS "Found KDE3 dcopidl preprocessor: ${KDE3_DCOPIDL_EXECUTABLE}")
-   else()
-      message(STATUS "Didn't find the KDE3 dcopidl preprocessor")
-   endif()
-
-   if(KDE3_DCOPIDL2CPP_EXECUTABLE)
-      message(STATUS "Found KDE3 dcopidl2cpp preprocessor: ${KDE3_DCOPIDL2CPP_EXECUTABLE}")
-   else()
-      message(STATUS "Didn't find the KDE3 dcopidl2cpp preprocessor")
-   endif()
-
-   if(KDE3_KCFGC_EXECUTABLE)
-      message(STATUS "Found KDE3 kconfig_compiler preprocessor: ${KDE3_KCFGC_EXECUTABLE}")
-   else()
-      message(STATUS "Didn't find the KDE3 kconfig_compiler preprocessor")
-   endif()
-
-endmacro ()
-
-
-if (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND)
-   #bail out if something wasn't found
-   KDE3_PRINT_RESULTS()
-   message(FATAL_ERROR "Could NOT find everything required for compiling KDE 3 programs")
-
-endif ()
-
-
-if (NOT KDE3_FIND_QUIETLY)
-   KDE3_PRINT_RESULTS()
-endif ()
-
-#add the found Qt and KDE include directories to the current include path
-set(KDE3_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE3_INCLUDE_DIR})
-
diff --git a/share/cmake-3.6/Modules/FindKDE4.cmake b/share/cmake-3.6/Modules/FindKDE4.cmake
deleted file mode 100644
index 5530166..0000000
--- a/share/cmake-3.6/Modules/FindKDE4.cmake
+++ /dev/null
@@ -1,113 +0,0 @@
-#.rst:
-# FindKDE4
-# --------
-#
-#
-#
-# Find KDE4 and provide all necessary variables and macros to compile
-# software for it.  It looks for KDE 4 in the following directories in
-# the given order:
-#
-# ::
-#
-#   CMAKE_INSTALL_PREFIX
-#   KDEDIRS
-#   /opt/kde4
-#
-#
-#
-# Please look in FindKDE4Internal.cmake and KDE4Macros.cmake for more
-# information.  They are installed with the KDE 4 libraries in
-# $KDEDIRS/share/apps/cmake/modules/.
-#
-# Author: Alexander Neundorf <neundorf@kde.org>
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# If Qt3 has already been found, fail.
-if(QT_QT_LIBRARY)
-  if(KDE4_FIND_REQUIRED)
-    message( FATAL_ERROR "KDE4/Qt4 and Qt3 cannot be used together in one project.")
-  else()
-    if(NOT KDE4_FIND_QUIETLY)
-      message( STATUS    "KDE4/Qt4 and Qt3 cannot be used together in one project.")
-    endif()
-    return()
-  endif()
-endif()
-
-file(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
-
-# when cross compiling, searching kde4-config in order to run it later on
-# doesn't make a lot of sense. We'll have to do something about this.
-# Searching always in the target environment ? Then we get at least the correct one,
-# still it can't be used to run it. Alex
-
-# For KDE4 kde-config has been renamed to kde4-config
-find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
-   # the suffix must be used since KDEDIRS can be a list of directories which don't have bin/ appended
-   PATH_SUFFIXES bin
-   HINTS
-   ${CMAKE_INSTALL_PREFIX}
-   ${_KDEDIRS}
-   /opt/kde4
-   ONLY_CMAKE_FIND_ROOT_PATH
-   )
-
-if (NOT KDE4_KDECONFIG_EXECUTABLE)
-   if (KDE4_FIND_REQUIRED)
-      message(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
-   endif ()
-endif ()
-
-
-# when cross compiling, KDE4_DATA_DIR may be already preset
-if(NOT KDE4_DATA_DIR)
-   if(CMAKE_CROSSCOMPILING)
-      # when cross compiling, don't run kde4-config but use its location as install dir
-      get_filename_component(KDE4_DATA_DIR "${KDE4_KDECONFIG_EXECUTABLE}" PATH)
-      get_filename_component(KDE4_DATA_DIR "${KDE4_DATA_DIR}" PATH)
-   else()
-      # then ask kde4-config for the kde data dirs
-
-      if(KDE4_KDECONFIG_EXECUTABLE)
-        execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
-        file(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
-        # then check the data dirs for FindKDE4Internal.cmake
-        find_path(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake HINTS ${_data_DIR})
-      endif()
-   endif()
-endif()
-
-# if it has been found...
-if (KDE4_DATA_DIR)
-
-   set(CMAKE_MODULE_PATH  ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
-
-   if (KDE4_FIND_QUIETLY)
-      set(_quiet QUIET)
-   endif ()
-
-   if (KDE4_FIND_REQUIRED)
-      set(_req REQUIRED)
-   endif ()
-
-   # use FindKDE4Internal.cmake to do the rest
-   find_package(KDE4Internal ${_req} ${_quiet} NO_POLICY_SCOPE)
-else ()
-   if (KDE4_FIND_REQUIRED)
-      message(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
-   endif ()
-endif ()
diff --git a/share/cmake-3.6/Modules/FindLAPACK.cmake b/share/cmake-3.6/Modules/FindLAPACK.cmake
deleted file mode 100644
index a6bf89f..0000000
--- a/share/cmake-3.6/Modules/FindLAPACK.cmake
+++ /dev/null
@@ -1,377 +0,0 @@
-#.rst:
-# FindLAPACK
-# ----------
-#
-# Find 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).
-#
-# This module sets the following variables:
-#
-# ::
-#
-#   LAPACK_FOUND - set to true if a 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 - set to true if a library implementing the LAPACK f95
-#     interface is found
-#   BLA_STATIC  if set on this determines what kind of linkage we do (static)
-#   BLA_VENDOR  if set checks only the specified vendor, if not set checks
-#      all the possibilities
-#   BLA_F95     if set on tries to find the f95 interfaces for BLAS/LAPACK
-#
-# ## List of vendors (BLA_VENDOR) valid in this module # Intel(mkl),
-# OpenBLAS, ACML,Apple, NAS, Generic
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-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 ()
-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)
-  mark_as_advanced(${_prefix}${_combined_name}_WORKS)
-  set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
-  #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
-endif()
-
- if(_libraries_work)
-   set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threads})
- 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 ()
-
-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 ()
-
-#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 ()
-#intel lapack
-if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
-  if (NOT WIN32)
-    set(LM "-lm")
-  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()
-
-    set(LAPACK_SEARCH_LIBS "")
-
-    if (BLA_F95)
-      set(LAPACK_mkl_SEARCH_SYMBOL "CHEEV")
-      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_intel_lp64")
-    else()
-      set(LAPACK_mkl_SEARCH_SYMBOL "cheev")
-      set(_LIBRARIES LAPACK_LIBRARIES)
-      set(_BLAS_LIBRARIES ${BLAS_LIBRARIES})
-
-      # old
-      list(APPEND LAPACK_SEARCH_LIBS
-        "mkl_lapack")
-      # new >= 10.3
-      list(APPEND LAPACK_SEARCH_LIBS
-        "mkl_gf_lp64")
-    endif()
-
-    # First try empty lapack libs
-    if (NOT ${_LIBRARIES})
-      check_lapack_libraries(
-        ${_LIBRARIES}
-        BLAS
-        ${LAPACK_mkl_SEARCH_SYMBOL}
-        ""
-        ""
-        "${_BLAS_LIBRARIES}"
-        "${CMAKE_THREAD_LIBS_INIT};${LM}"
-        )
-    endif ()
-    # Then try the search libs
-    foreach (IT ${LAPACK_SEARCH_LIBS})
-      if (NOT ${_LIBRARIES})
-        check_lapack_libraries(
-          ${_LIBRARIES}
-          BLAS
-          ${LAPACK_mkl_SEARCH_SYMBOL}
-          ""
-          "${IT}"
-          "${_BLAS_LIBRARIES}"
-          "${CMAKE_THREAD_LIBS_INIT};${LM}"
-          )
-      endif ()
-    endforeach ()
-  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()
-
-cmake_pop_check_state()
-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/share/cmake-3.6/Modules/FindLATEX.cmake b/share/cmake-3.6/Modules/FindLATEX.cmake
deleted file mode 100644
index ae83733..0000000
--- a/share/cmake-3.6/Modules/FindLATEX.cmake
+++ /dev/null
@@ -1,290 +0,0 @@
-#.rst:
-# FindLATEX
-# ---------
-#
-# Find Latex
-#
-# This module finds an installed Latex and determines the location
-# of the compiler.  Additionally the module looks for Latex-related
-# software like BibTeX.
-#
-# This module sets the following result variables::
-#
-#   LATEX_FOUND:          whether found Latex and requested components
-#   LATEX_<component>_FOUND:  whether found <component>
-#   LATEX_COMPILER:       path to the LaTeX compiler
-#   PDFLATEX_COMPILER:    path to the PdfLaTeX compiler
-#   XELATEX_COMPILER:     path to the XeLaTeX compiler
-#   LUALATEX_COMPILER:    path to the LuaLaTeX compiler
-#   BIBTEX_COMPILER:      path to the BibTeX compiler
-#   BIBER_COMPILER:       path to the Biber compiler
-#   MAKEINDEX_COMPILER:   path to the MakeIndex compiler
-#   XINDY_COMPILER:       path to the xindy compiler
-#   DVIPS_CONVERTER:      path to the DVIPS converter
-#   DVIPDF_CONVERTER:     path to the DVIPDF converter
-#   PS2PDF_CONVERTER:     path to the PS2PDF converter
-#   PDFTOPS_CONVERTER:    path to the pdftops converter
-#   LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
-#   HTLATEX_COMPILER:     path to the htlatex compiler
-#
-# Possible components are::
-#
-#   PDFLATEX
-#   XELATEX
-#   LUALATEX
-#   BIBTEX
-#   BIBER
-#   MAKEINDEX
-#   XINDY
-#   DVIPS
-#   DVIPDF
-#   PS2PDF
-#   PDFTOPS
-#   LATEX2HTML
-#   HTLATEX
-#
-# Example Usages::
-#
-#   find_package(LATEX)
-#   find_package(LATEX COMPONENTS PDFLATEX)
-#   find_package(LATEX COMPONENTS BIBTEX PS2PDF)
-
-#=============================================================================
-# Copyright 2002-2015 Kitware, Inc.
-# Copyright 2014-2015 Christoph Grüninger <foss@grueninger.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (WIN32)
-  # Try to find the MikTex binary path (look for its package manager).
-  find_path(MIKTEX_BINARY_PATH mpm.exe
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
-    DOC
-    "Path to the MikTex binary directory."
-  )
-  mark_as_advanced(MIKTEX_BINARY_PATH)
-
-  # Try to find the GhostScript binary path (look for gswin32).
-  get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
-     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
-  )
-
-  get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04
-     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\7.04;GS_DLL]" PATH
-  )
-
-  find_path(GHOSTSCRIPT_BINARY_PATH gswin32.exe
-    ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00}
-    ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04}
-    DOC "Path to the GhostScript binary directory."
-  )
-  mark_as_advanced(GHOSTSCRIPT_BINARY_PATH)
-
-  find_path(GHOSTSCRIPT_LIBRARY_PATH ps2pdf13.bat
-    "${GHOSTSCRIPT_BINARY_PATH}/../lib"
-    DOC "Path to the GhostScript library directory."
-  )
-  mark_as_advanced(GHOSTSCRIPT_LIBRARY_PATH)
-endif ()
-
-# try to find Latex and the related programs
-find_program(LATEX_COMPILER
-  NAMES latex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-
-# find pdflatex
-find_program(PDFLATEX_COMPILER
-  NAMES pdflatex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (PDFLATEX_COMPILER)
-  set(LATEX_PDFLATEX_FOUND TRUE)
-else()
-  set(LATEX_PDFLATEX_FOUND FALSE)
-endif()
-
-# find xelatex
-find_program(XELATEX_COMPILER
-  NAMES xelatex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (XELATEX_COMPILER)
-  set(LATEX_XELATEX_FOUND TRUE)
-else()
-  set(LATEX_XELATEX_FOUND FALSE)
-endif()
-
-# find lualatex
-find_program(LUALATEX_COMPILER
-  NAMES lualatex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (LUALATEX_COMPILER)
-  set(LATEX_LUALATEX_FOUND TRUE)
-else()
-  set(LATEX_LUALATEX_FOUND FALSE)
-endif()
-
-# find bibtex
-find_program(BIBTEX_COMPILER
-  NAMES bibtex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (BIBTEX_COMPILER)
-  set(LATEX_BIBTEX_FOUND TRUE)
-else()
-  set(LATEX_BIBTEX_FOUND FALSE)
-endif()
-
-# find biber
-find_program(BIBER_COMPILER
-  NAMES biber
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (BIBER_COMPILER)
-  set(LATEX_BIBER_FOUND TRUE)
-else()
-  set(LATEX_BIBER_FOUND FALSE)
-endif()
-
-# find makeindex
-find_program(MAKEINDEX_COMPILER
-  NAMES makeindex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (MAKEINDEX_COMPILER)
-  set(LATEX_MAKEINDEX_FOUND TRUE)
-else()
-  set(LATEX_MAKEINDEX_FOUND FALSE)
-endif()
-
-# find xindy
-find_program(XINDY_COMPILER
-  NAMES xindy
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (XINDY_COMPILER)
-   set(LATEX_XINDY_FOUND TRUE)
-else()
-  set(LATEX_XINDY_FOUND FALSE)
-endif()
-
-# find dvips
-find_program(DVIPS_CONVERTER
-  NAMES dvips
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (DVIPS_CONVERTER)
-  set(LATEX_DVIPS_FOUND TRUE)
-else()
-  set(LATEX_DVIPS_FOUND FALSE)
-endif()
-
-# find dvipdf
-find_program(DVIPDF_CONVERTER
-  NAMES dvipdfm dvipdft dvipdf
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (DVIPDF_CONVERTER)
-  set(LATEX_DVIPDF_FOUND TRUE)
-else()
-  set(LATEX_DVIPDF_FOUND FALSE)
-endif()
-
-# find ps2pdf
-if (WIN32)
-  find_program(PS2PDF_CONVERTER
-    NAMES ps2pdf14.bat ps2pdf14 ps2pdf
-    PATHS ${GHOSTSCRIPT_LIBRARY_PATH}
-          ${MIKTEX_BINARY_PATH}
-  )
-else ()
-  find_program(PS2PDF_CONVERTER
-    NAMES ps2pdf14 ps2pdf
-  )
-endif ()
-if (PS2PDF_CONVERTER)
-  set(LATEX_PS2PDF_FOUND TRUE)
-else()
-  set(LATEX_PS2PDF_FOUND FALSE)
-endif()
-
-# find pdftops
-find_program(PDFTOPS_CONVERTER
-  NAMES pdftops
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (PDFTOPS_CONVERTER)
-  set(LATEX_PDFTOPS_FOUND TRUE)
-else()
-  set(LATEX_PDFTOPS_FOUND FALSE)
-endif()
-
-# find latex2html
-find_program(LATEX2HTML_CONVERTER
-  NAMES latex2html
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (LATEX2HTML_CONVERTER)
-  set(LATEX_LATEX2HTML_FOUND TRUE)
-else()
-  set(LATEX_LATEX2HTML_FOUND FALSE)
-endif()
-
-# find htlatex
-find_program(HTLATEX_COMPILER
-  NAMES htlatex
-  PATHS ${MIKTEX_BINARY_PATH}
-        /usr/bin
-)
-if (HTLATEX_COMPILER)
-  set(LATEX_HTLATEX_FOUND TRUE)
-else()
-  set(LATEX_HTLATEX_FOUND FALSE)
-endif()
-
-
-mark_as_advanced(
-  LATEX_COMPILER
-  PDFLATEX_COMPILER
-  XELATEX_COMPILER
-  LUALATEX_COMPILER
-  BIBTEX_COMPILER
-  BIBER_COMPILER
-  MAKEINDEX_COMPILER
-  XINDY_COMPILER
-  DVIPS_CONVERTER
-  DVIPDF_CONVERTER
-  PS2PDF_CONVERTER
-  PDFTOPS_CONVERTER
-  LATEX2HTML_CONVERTER
-  HTLATEX_COMPILER
-)
-
-# handle variables for found Latex and its components
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(LATEX
-  REQUIRED_VARS LATEX_COMPILER
-  HANDLE_COMPONENTS
-)
diff --git a/share/cmake-3.6/Modules/FindLTTngUST.cmake b/share/cmake-3.6/Modules/FindLTTngUST.cmake
deleted file mode 100644
index e3220ac..0000000
--- a/share/cmake-3.6/Modules/FindLTTngUST.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-#.rst:
-# FindLTTngUST
-# ------------
-#
-# This module finds the `LTTng-UST <http://lttng.org/>`__ library.
-#
-# Imported target
-# ^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` target:
-#
-# ``LTTng::UST``
-#   The LTTng-UST library, if found
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module sets the following
-#
-# ``LTTNGUST_FOUND``
-#   ``TRUE`` if system has LTTng-UST
-# ``LTTNGUST_INCLUDE_DIRS``
-#   The LTTng-UST include directories
-# ``LTTNGUST_LIBRARIES``
-#   The libraries needed to use LTTng-UST
-# ``LTTNGUST_VERSION_STRING``
-#   The LTTng-UST version
-# ``LTTNGUST_HAS_TRACEF``
-#   ``TRUE`` if the ``tracef()`` API is available in the system's LTTng-UST
-# ``LTTNGUST_HAS_TRACELOG``
-#   ``TRUE`` if the ``tracelog()`` API is available in the system's LTTng-UST
-
-#=============================================================================
-# Copyright 2016 Kitware, Inc.
-# Copyright 2016 Philippe Proulx <pproulx@efficios.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(LTTNGUST_INCLUDE_DIRS NAMES lttng/tracepoint.h)
-find_library(LTTNGUST_LIBRARIES NAMES lttng-ust)
-
-if(LTTNGUST_INCLUDE_DIRS AND LTTNGUST_LIBRARIES)
-  # find tracef() and tracelog() support
-  set(LTTNGUST_HAS_TRACEF 0)
-  set(LTTNGUST_HAS_TRACELOG 0)
-
-  if(EXISTS "${LTTNGUST_INCLUDE_DIRS}/lttng/tracef.h")
-    set(LTTNGUST_HAS_TRACEF TRUE)
-  endif()
-
-  if(EXISTS "${LTTNGUST_INCLUDE_DIRS}/lttng/tracelog.h")
-    set(LTTNGUST_HAS_TRACELOG TRUE)
-  endif()
-
-  # get version
-  set(lttngust_version_file "${LTTNGUST_INCLUDE_DIRS}/lttng/ust-version.h")
-
-  if(EXISTS "${lttngust_version_file}")
-    file(STRINGS "${lttngust_version_file}" lttngust_version_major_string
-         REGEX "^[\t ]*#define[\t ]+LTTNG_UST_MAJOR_VERSION[\t ]+[0-9]+[\t ]*$")
-    file(STRINGS "${lttngust_version_file}" lttngust_version_minor_string
-         REGEX "^[\t ]*#define[\t ]+LTTNG_UST_MINOR_VERSION[\t ]+[0-9]+[\t ]*$")
-    file(STRINGS "${lttngust_version_file}" lttngust_version_patch_string
-         REGEX "^[\t ]*#define[\t ]+LTTNG_UST_PATCHLEVEL_VERSION[\t ]+[0-9]+[\t ]*$")
-    string(REGEX REPLACE ".*([0-9]+).*" "\\1"
-           lttngust_v_major "${lttngust_version_major_string}")
-    string(REGEX REPLACE ".*([0-9]+).*" "\\1"
-           lttngust_v_minor "${lttngust_version_minor_string}")
-    string(REGEX REPLACE ".*([0-9]+).*" "\\1"
-           lttngust_v_patch "${lttngust_version_patch_string}")
-    set(LTTNGUST_VERSION_STRING
-        "${lttngust_v_major}.${lttngust_v_minor}.${lttngust_v_patch}")
-    unset(lttngust_version_major_string)
-    unset(lttngust_version_minor_string)
-    unset(lttngust_version_patch_string)
-    unset(lttngust_v_major)
-    unset(lttngust_v_minor)
-    unset(lttngust_v_patch)
-  endif()
-
-  unset(lttngust_version_file)
-
-  if(NOT TARGET LTTng::UST)
-    add_library(LTTng::UST UNKNOWN IMPORTED)
-    set_target_properties(LTTng::UST PROPERTIES
-      INTERFACE_INCLUDE_DIRECTORIES "${LTTNGUST_INCLUDE_DIRS}"
-      INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS}
-      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-      IMPORTED_LOCATION "${LTTNGUST_LIBRARIES}")
-  endif()
-
-  # add libdl to required libraries
-  set(LTTNGUST_LIBRARIES ${LTTNGUST_LIBRARIES} ${CMAKE_DL_LIBS})
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set LTTNGUST_FOUND to
-# TRUE if all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(LTTngUST FOUND_VAR LTTNGUST_FOUND
-                                  REQUIRED_VARS LTTNGUST_LIBRARIES
-                                                LTTNGUST_INCLUDE_DIRS
-                                  VERSION_VAR LTTNGUST_VERSION_STRING)
-mark_as_advanced(LTTNGUST_LIBRARIES LTTNGUST_INCLUDE_DIRS)
diff --git a/share/cmake-3.6/Modules/FindLibArchive.cmake b/share/cmake-3.6/Modules/FindLibArchive.cmake
deleted file mode 100644
index dd93041..0000000
--- a/share/cmake-3.6/Modules/FindLibArchive.cmake
+++ /dev/null
@@ -1,75 +0,0 @@
-#.rst:
-# FindLibArchive
-# --------------
-#
-# Find libarchive library and headers
-#
-# The module defines the following variables:
-#
-# ::
-#
-#   LibArchive_FOUND        - true if libarchive was found
-#   LibArchive_INCLUDE_DIRS - include search path
-#   LibArchive_LIBRARIES    - libraries to link
-#   LibArchive_VERSION      - libarchive 3-component version number
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(LibArchive_INCLUDE_DIR
-  NAMES archive.h
-  PATHS
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/include"
-  )
-
-find_library(LibArchive_LIBRARY
-  NAMES archive libarchive
-  PATHS
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/lib"
-  )
-
-mark_as_advanced(LibArchive_INCLUDE_DIR LibArchive_LIBRARY)
-
-# Extract the version number from the header.
-if(LibArchive_INCLUDE_DIR AND EXISTS "${LibArchive_INCLUDE_DIR}/archive.h")
-  # The version string appears in one of three known formats in the header:
-  #  #define ARCHIVE_LIBRARY_VERSION "libarchive 2.4.12"
-  #  #define ARCHIVE_VERSION_STRING "libarchive 2.8.4"
-  #  #define ARCHIVE_VERSION_ONLY_STRING "3.2.0"
-  # Match any format.
-  set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"(libarchive +)?([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$")
-  file(STRINGS "${LibArchive_INCLUDE_DIR}/archive.h" _LibArchive_VERSION_STRING LIMIT_COUNT 1 REGEX "${_LibArchive_VERSION_REGEX}")
-  if(_LibArchive_VERSION_STRING)
-    string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\2.\\3.\\4" LibArchive_VERSION "${_LibArchive_VERSION_STRING}")
-  endif()
-  unset(_LibArchive_VERSION_REGEX)
-  unset(_LibArchive_VERSION_STRING)
-endif()
-
-# Handle the QUIETLY and REQUIRED arguments and set LIBARCHIVE_FOUND
-# to TRUE if all listed variables are TRUE.
-# (Use ${CMAKE_ROOT}/Modules instead of ${CMAKE_CURRENT_LIST_DIR} because CMake
-#  itself includes this FindLibArchive when built with an older CMake that does
-#  not provide it.  The older CMake also does not have CMAKE_CURRENT_LIST_DIR.)
-include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(LibArchive
-                                  REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
-                                  VERSION_VAR LibArchive_VERSION
-  )
-set(LibArchive_FOUND ${LIBARCHIVE_FOUND})
-unset(LIBARCHIVE_FOUND)
-
-if(LibArchive_FOUND)
-  set(LibArchive_INCLUDE_DIRS ${LibArchive_INCLUDE_DIR})
-  set(LibArchive_LIBRARIES    ${LibArchive_LIBRARY})
-endif()
diff --git a/share/cmake-3.6/Modules/FindLibLZMA.cmake b/share/cmake-3.6/Modules/FindLibLZMA.cmake
deleted file mode 100644
index 742b851..0000000
--- a/share/cmake-3.6/Modules/FindLibLZMA.cmake
+++ /dev/null
@@ -1,80 +0,0 @@
-#.rst:
-# FindLibLZMA
-# -----------
-#
-# Find LibLZMA
-#
-# Find LibLZMA headers and library
-#
-# ::
-#
-#   LIBLZMA_FOUND             - True if liblzma is found.
-#   LIBLZMA_INCLUDE_DIRS      - Directory where liblzma headers are located.
-#   LIBLZMA_LIBRARIES         - Lzma libraries to link against.
-#   LIBLZMA_HAS_AUTO_DECODER  - True if lzma_auto_decoder() is found (required).
-#   LIBLZMA_HAS_EASY_ENCODER  - True if lzma_easy_encoder() is found (required).
-#   LIBLZMA_HAS_LZMA_PRESET   - True if lzma_lzma_preset() is found (required).
-#   LIBLZMA_VERSION_MAJOR     - The major version of lzma
-#   LIBLZMA_VERSION_MINOR     - The minor version of lzma
-#   LIBLZMA_VERSION_PATCH     - The patch version of lzma
-#   LIBLZMA_VERSION_STRING    - version number as a string (ex: "5.0.3")
-
-#=============================================================================
-# Copyright 2008 Per Øyvind Karlsen <peroyvind@mandriva.org>
-# Copyright 2009 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2009 Helio Chissini de Castro <helio@kde.org>
-# Copyright 2012 Mario Bensi <mbensi@ipsquad.net>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-find_path(LIBLZMA_INCLUDE_DIR lzma.h )
-find_library(LIBLZMA_LIBRARY lzma)
-
-if(LIBLZMA_INCLUDE_DIR AND EXISTS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h")
-    file(STRINGS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h" LIBLZMA_HEADER_CONTENTS REGEX "#define LZMA_VERSION_[A-Z]+ [0-9]+")
-
-    string(REGEX REPLACE ".*#define LZMA_VERSION_MAJOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MAJOR "${LIBLZMA_HEADER_CONTENTS}")
-    string(REGEX REPLACE ".*#define LZMA_VERSION_MINOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MINOR "${LIBLZMA_HEADER_CONTENTS}")
-    string(REGEX REPLACE ".*#define LZMA_VERSION_PATCH ([0-9]+).*" "\\1" LIBLZMA_VERSION_PATCH "${LIBLZMA_HEADER_CONTENTS}")
-
-    set(LIBLZMA_VERSION_STRING "${LIBLZMA_VERSION_MAJOR}.${LIBLZMA_VERSION_MINOR}.${LIBLZMA_VERSION_PATCH}")
-    unset(LIBLZMA_HEADER_CONTENTS)
-endif()
-
-# We're using new code known now as XZ, even library still been called LZMA
-# it can be found in http://tukaani.org/xz/
-# Avoid using old codebase
-if (LIBLZMA_LIBRARY)
-   include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
-   set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
-   set(CMAKE_REQUIRED_QUIET ${LibLZMA_FIND_QUIETLY})
-   CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_auto_decoder "" LIBLZMA_HAS_AUTO_DECODER)
-   CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_easy_encoder "" LIBLZMA_HAS_EASY_ENCODER)
-   CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_lzma_preset "" LIBLZMA_HAS_LZMA_PRESET)
-   set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
-endif ()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZMA  REQUIRED_VARS  LIBLZMA_INCLUDE_DIR
-                                                          LIBLZMA_LIBRARY
-                                                          LIBLZMA_HAS_AUTO_DECODER
-                                                          LIBLZMA_HAS_EASY_ENCODER
-                                                          LIBLZMA_HAS_LZMA_PRESET
-                                           VERSION_VAR    LIBLZMA_VERSION_STRING
-                                 )
-
-if (LIBLZMA_FOUND)
-    set(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY})
-    set(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR})
-endif ()
-
-mark_as_advanced( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY )
diff --git a/share/cmake-3.6/Modules/FindLibXml2.cmake b/share/cmake-3.6/Modules/FindLibXml2.cmake
deleted file mode 100644
index 7322428..0000000
--- a/share/cmake-3.6/Modules/FindLibXml2.cmake
+++ /dev/null
@@ -1,73 +0,0 @@
-#.rst:
-# FindLibXml2
-# -----------
-#
-# Try to find the LibXml2 xml processing library
-#
-# Once done this will define
-#
-# ::
-#
-#   LIBXML2_FOUND - System has LibXml2
-#   LIBXML2_INCLUDE_DIR - The LibXml2 include directory
-#   LIBXML2_LIBRARIES - The libraries needed to use LibXml2
-#   LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2
-#   LIBXML2_XMLLINT_EXECUTABLE - The XML checking tool xmllint coming with LibXml2
-#   LIBXML2_VERSION_STRING - the version of LibXml2 found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# use pkg-config to get the directories and then use these values
-# 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
-   ${PC_LIBXML_INCLUDEDIR}
-   ${PC_LIBXML_INCLUDE_DIRS}
-   PATH_SUFFIXES libxml2
-   )
-
-find_library(LIBXML2_LIBRARIES NAMES xml2 libxml2
-   HINTS
-   ${PC_LIBXML_LIBDIR}
-   ${PC_LIBXML_LIBRARY_DIRS}
-   )
-
-find_program(LIBXML2_XMLLINT_EXECUTABLE xmllint)
-# 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")
-    file(STRINGS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h" libxml2_version_str
-         REGEX "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\".*\"")
-
-    string(REGEX REPLACE "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
-           LIBXML2_VERSION_STRING "${libxml2_version_str}")
-    unset(libxml2_version_str)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2
-                                  REQUIRED_VARS LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR
-                                  VERSION_VAR LIBXML2_VERSION_STRING)
-
-mark_as_advanced(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/FindLibXslt.cmake b/share/cmake-3.6/Modules/FindLibXslt.cmake
deleted file mode 100644
index 2416341..0000000
--- a/share/cmake-3.6/Modules/FindLibXslt.cmake
+++ /dev/null
@@ -1,86 +0,0 @@
-#.rst:
-# FindLibXslt
-# -----------
-#
-# Try to find the LibXslt library
-#
-# Once done this will define
-#
-# ::
-#
-#   LIBXSLT_FOUND - system has LibXslt
-#   LIBXSLT_INCLUDE_DIR - the LibXslt include directory
-#   LIBXSLT_LIBRARIES - Link these to LibXslt
-#   LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt
-#   LIBXSLT_VERSION_STRING - version of LibXslt found (since CMake 2.8.8)
-#
-# Additionally, the following two variables are set (but not required
-# for using xslt):
-#
-# ``LIBXSLT_EXSLT_LIBRARIES``
-#   Link to these if you need to link against the exslt library.
-# ``LIBXSLT_XSLTPROC_EXECUTABLE``
-#   Contains the full path to the xsltproc executable if found.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# use pkg-config to get the directories and then use these values
-# in the find_path() and find_library() calls
-find_package(PkgConfig QUIET)
-PKG_CHECK_MODULES(PC_LIBXSLT QUIET libxslt)
-set(LIBXSLT_DEFINITIONS ${PC_LIBXSLT_CFLAGS_OTHER})
-
-find_path(LIBXSLT_INCLUDE_DIR NAMES libxslt/xslt.h
-    HINTS
-   ${PC_LIBXSLT_INCLUDEDIR}
-   ${PC_LIBXSLT_INCLUDE_DIRS}
-  )
-
-find_library(LIBXSLT_LIBRARIES NAMES xslt libxslt
-    HINTS
-   ${PC_LIBXSLT_LIBDIR}
-   ${PC_LIBXSLT_LIBRARY_DIRS}
-  )
-
-find_library(LIBXSLT_EXSLT_LIBRARY NAMES exslt libexslt
-    HINTS
-    ${PC_LIBXSLT_LIBDIR}
-    ${PC_LIBXSLT_LIBRARY_DIRS}
-  )
-
-set(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY} )
-
-find_program(LIBXSLT_XSLTPROC_EXECUTABLE xsltproc)
-
-if(PC_LIBXSLT_VERSION)
-    set(LIBXSLT_VERSION_STRING ${PC_LIBXSLT_VERSION})
-elseif(LIBXSLT_INCLUDE_DIR AND EXISTS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h")
-    file(STRINGS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h" libxslt_version_str
-         REGEX "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\".*\"")
-
-    string(REGEX REPLACE "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
-           LIBXSLT_VERSION_STRING "${libxslt_version_str}")
-    unset(libxslt_version_str)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXslt
-                                  REQUIRED_VARS LIBXSLT_LIBRARIES LIBXSLT_INCLUDE_DIR
-                                  VERSION_VAR LIBXSLT_VERSION_STRING)
-
-mark_as_advanced(LIBXSLT_INCLUDE_DIR
-                 LIBXSLT_LIBRARIES
-                 LIBXSLT_EXSLT_LIBRARY
-                 LIBXSLT_XSLTPROC_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/FindLua.cmake b/share/cmake-3.6/Modules/FindLua.cmake
deleted file mode 100644
index 4e00a92..0000000
--- a/share/cmake-3.6/Modules/FindLua.cmake
+++ /dev/null
@@ -1,172 +0,0 @@
-#.rst:
-# FindLua
-# -------
-#
-#
-#
-# Locate Lua library This module defines
-#
-# ::
-#
-#   LUA_FOUND          - if false, do not try to link to Lua
-#   LUA_LIBRARIES      - both lua and lualib
-#   LUA_INCLUDE_DIR    - where to find lua.h
-#   LUA_VERSION_STRING - the version of Lua found
-#   LUA_VERSION_MAJOR  - the major version of Lua
-#   LUA_VERSION_MINOR  - the minor version of Lua
-#   LUA_VERSION_PATCH  - the patch version of Lua
-#
-#
-#
-# Note that the expected include convention is
-#
-# ::
-#
-#   #include "lua.h"
-#
-# and not
-#
-# ::
-#
-#   #include <lua/lua.h>
-#
-# This is because, the lua location is not standardized and may exist in
-# locations other than lua/
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-# Copyright 2013 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-unset(_lua_include_subdirs)
-unset(_lua_library_names)
-
-# this is a function only to have all the variables inside go away automatically
-function(set_lua_version_vars)
-    set(LUA_VERSIONS5 5.3 5.2 5.1 5.0)
-
-    if (Lua_FIND_VERSION_EXACT)
-        if (Lua_FIND_VERSION_COUNT GREATER 1)
-            set(lua_append_versions ${Lua_FIND_VERSION_MAJOR}.${Lua_FIND_VERSION_MINOR})
-        endif ()
-    elseif (Lua_FIND_VERSION)
-        # once there is a different major version supported this should become a loop
-        if (NOT Lua_FIND_VERSION_MAJOR GREATER 5)
-            if (Lua_FIND_VERSION_COUNT EQUAL 1)
-                set(lua_append_versions ${LUA_VERSIONS5})
-            else ()
-                foreach (subver IN LISTS LUA_VERSIONS5)
-                    if (NOT subver VERSION_LESS ${Lua_FIND_VERSION})
-                        list(APPEND lua_append_versions ${subver})
-                    endif ()
-                endforeach ()
-            endif ()
-        endif ()
-    else ()
-        # once there is a different major version supported this should become a loop
-        set(lua_append_versions ${LUA_VERSIONS5})
-    endif ()
-
-    foreach (ver IN LISTS lua_append_versions)
-        string(REGEX MATCH "^([0-9]+)\\.([0-9]+)$" _ver "${ver}")
-        list(APPEND _lua_include_subdirs
-             include/lua${CMAKE_MATCH_1}${CMAKE_MATCH_2}
-             include/lua${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
-             include/lua-${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
-        )
-        list(APPEND _lua_library_names
-             lua${CMAKE_MATCH_1}${CMAKE_MATCH_2}
-             lua${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
-             lua-${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
-             lua.${CMAKE_MATCH_1}.${CMAKE_MATCH_2}
-        )
-    endforeach ()
-
-    set(_lua_include_subdirs "${_lua_include_subdirs}" PARENT_SCOPE)
-    set(_lua_library_names "${_lua_library_names}" PARENT_SCOPE)
-endfunction(set_lua_version_vars)
-
-set_lua_version_vars()
-
-find_path(LUA_INCLUDE_DIR lua.h
-  HINTS
-    ENV LUA_DIR
-  PATH_SUFFIXES ${_lua_include_subdirs} include/lua include
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw # Fink
-  /opt/local # DarwinPorts
-  /opt/csw # Blastwave
-  /opt
-)
-unset(_lua_include_subdirs)
-
-find_library(LUA_LIBRARY
-  NAMES ${_lua_library_names} lua
-  HINTS
-    ENV LUA_DIR
-  PATH_SUFFIXES lib
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-)
-unset(_lua_library_names)
-
-if (LUA_LIBRARY)
-    # include the math library for Unix
-    if (UNIX AND NOT APPLE AND NOT BEOS)
-        find_library(LUA_MATH_LIBRARY m)
-        set(LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}")
-    # For Windows and Mac, don't need to explicitly include the math library
-    else ()
-        set(LUA_LIBRARIES "${LUA_LIBRARY}")
-    endif ()
-endif ()
-
-if (LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
-    # At least 5.[012] have different ways to express the version
-    # so all of them need to be tested. Lua 5.2 defines LUA_VERSION
-    # and LUA_RELEASE as joined by the C preprocessor, so avoid those.
-    file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_strings
-         REGEX "^#define[ \t]+LUA_(RELEASE[ \t]+\"Lua [0-9]|VERSION([ \t]+\"Lua [0-9]|_[MR])).*")
-
-    string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION_MAJOR[ \t]+\"([0-9])\"[ \t]*;.*" "\\1" LUA_VERSION_MAJOR ";${lua_version_strings};")
-    if (LUA_VERSION_MAJOR MATCHES "^[0-9]+$")
-        string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION_MINOR[ \t]+\"([0-9])\"[ \t]*;.*" "\\1" LUA_VERSION_MINOR ";${lua_version_strings};")
-        string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION_RELEASE[ \t]+\"([0-9])\"[ \t]*;.*" "\\1" LUA_VERSION_PATCH ";${lua_version_strings};")
-        set(LUA_VERSION_STRING "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}")
-    else ()
-        string(REGEX REPLACE ".*;#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([0-9.]+)\"[ \t]*;.*" "\\1" LUA_VERSION_STRING ";${lua_version_strings};")
-        if (NOT LUA_VERSION_STRING MATCHES "^[0-9.]+$")
-            string(REGEX REPLACE ".*;#define[ \t]+LUA_VERSION[ \t]+\"Lua ([0-9.]+)\"[ \t]*;.*" "\\1" LUA_VERSION_STRING ";${lua_version_strings};")
-        endif ()
-        string(REGEX REPLACE "^([0-9]+)\\.[0-9.]*$" "\\1" LUA_VERSION_MAJOR "${LUA_VERSION_STRING}")
-        string(REGEX REPLACE "^[0-9]+\\.([0-9]+)[0-9.]*$" "\\1" LUA_VERSION_MINOR "${LUA_VERSION_STRING}")
-        string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]).*" "\\1" LUA_VERSION_PATCH "${LUA_VERSION_STRING}")
-    endif ()
-
-    unset(lua_version_strings)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
-# all listed variables are TRUE
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua
-                                  REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
-                                  VERSION_VAR LUA_VERSION_STRING)
-
-mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindLua50.cmake b/share/cmake-3.6/Modules/FindLua50.cmake
deleted file mode 100644
index 666d909..0000000
--- a/share/cmake-3.6/Modules/FindLua50.cmake
+++ /dev/null
@@ -1,108 +0,0 @@
-#.rst:
-# FindLua50
-# ---------
-#
-#
-#
-# Locate Lua library This module defines
-#
-# ::
-#
-#   LUA50_FOUND, if false, do not try to link to Lua
-#   LUA_LIBRARIES, both lua and lualib
-#   LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
-#
-#
-#
-# Note that the expected include convention is
-#
-# ::
-#
-#   #include "lua.h"
-#
-# and not
-#
-# ::
-#
-#   #include <lua/lua.h>
-#
-# This is because, the lua location is not standardized and may exist in
-# locations other than lua/
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(LUA_INCLUDE_DIR lua.h
-  HINTS
-    ENV LUA_DIR
-  PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw # Fink
-  /opt/local # DarwinPorts
-  /opt/csw # Blastwave
-  /opt
-)
-
-find_library(LUA_LIBRARY_lua
-  NAMES lua50 lua5.0 lua-5.0 lua5 lua
-  HINTS
-    ENV LUA_DIR
-  PATH_SUFFIXES lib
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-)
-
-# In an OS X framework, lualib is usually included as part of the framework
-# (like GLU in OpenGL.framework)
-if(${LUA_LIBRARY_lua} MATCHES "framework")
-  set( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework")
-else()
-  find_library(LUA_LIBRARY_lualib
-    NAMES lualib50 lualib5.0 lualib5 lualib
-    HINTS
-      ENV LUALIB_DIR
-      ENV LUA_DIR
-    PATH_SUFFIXES lib
-    PATHS
-    /sw
-    /opt/local
-    /opt/csw
-    /opt
-  )
-  if(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
-    # include the math library for Unix
-    if(UNIX AND NOT APPLE)
-      find_library(MATH_LIBRARY_FOR_LUA m)
-      set( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries")
-    # For Windows and Mac, don't need to explicitly include the math library
-    else()
-      set( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries")
-    endif()
-  endif()
-endif()
-
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
-# all listed variables are TRUE
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua50  DEFAULT_MSG  LUA_LIBRARIES LUA_INCLUDE_DIR)
-
-mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES)
-
diff --git a/share/cmake-3.6/Modules/FindLua51.cmake b/share/cmake-3.6/Modules/FindLua51.cmake
deleted file mode 100644
index 5b9ff91..0000000
--- a/share/cmake-3.6/Modules/FindLua51.cmake
+++ /dev/null
@@ -1,99 +0,0 @@
-#.rst:
-# FindLua51
-# ---------
-#
-#
-#
-# Locate Lua library This module defines
-#
-# ::
-#
-#   LUA51_FOUND, if false, do not try to link to Lua
-#   LUA_LIBRARIES
-#   LUA_INCLUDE_DIR, where to find lua.h
-#   LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
-#
-#
-#
-# Note that the expected include convention is
-#
-# ::
-#
-#   #include "lua.h"
-#
-# and not
-#
-# ::
-#
-#   #include <lua/lua.h>
-#
-# This is because, the lua location is not standardized and may exist in
-# locations other than lua/
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(LUA_INCLUDE_DIR lua.h
-  HINTS
-    ENV LUA_DIR
-  PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw # Fink
-  /opt/local # DarwinPorts
-  /opt/csw # Blastwave
-  /opt
-)
-
-find_library(LUA_LIBRARY
-  NAMES lua51 lua5.1 lua-5.1 lua
-  HINTS
-    ENV LUA_DIR
-  PATH_SUFFIXES lib
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-)
-
-if(LUA_LIBRARY)
-  # include the math library for Unix
-  if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
-    find_library(LUA_MATH_LIBRARY m)
-    set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
-  # For Windows and Mac, don't need to explicitly include the math library
-  else()
-    set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
-  endif()
-endif()
-
-if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
-  file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
-
-  string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
-  unset(lua_version_str)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
-# all listed variables are TRUE
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua51
-                                  REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
-                                  VERSION_VAR LUA_VERSION_STRING)
-
-mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
-
diff --git a/share/cmake-3.6/Modules/FindMFC.cmake b/share/cmake-3.6/Modules/FindMFC.cmake
deleted file mode 100644
index 3547628..0000000
--- a/share/cmake-3.6/Modules/FindMFC.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-#.rst:
-# FindMFC
-# -------
-#
-# Find MFC on Windows
-#
-# Find the native MFC - i.e.  decide if an application can link to the
-# MFC libraries.
-#
-# ::
-#
-#   MFC_FOUND - Was MFC support found
-#
-# You don't need to include anything or link anything to use it.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Assume no MFC support
-set(MFC_FOUND "NO")
-
-# Only attempt the try_compile call if it has a chance to succeed:
-set(MFC_ATTEMPT_TRY_COMPILE 0)
-if(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
-  set(MFC_ATTEMPT_TRY_COMPILE 1)
-endif()
-
-if(MFC_ATTEMPT_TRY_COMPILE)
-  if(NOT DEFINED MFC_HAVE_MFC)
-    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")
-    try_compile(MFC_HAVE_MFC
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
-      CMAKE_FLAGS
-      -DCMAKE_MFC_FLAG:STRING=2
-      -DCOMPILE_DEFINITIONS:STRING=-D_AFXDLL
-      OUTPUT_VARIABLE OUTPUT)
-    if(MFC_HAVE_MFC)
-      message(STATUS "Looking for MFC - 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")
-      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"
-        "${OUTPUT}\n\n")
-    endif()
-  endif()
-
-  if(MFC_HAVE_MFC)
-    set(MFC_FOUND "YES")
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindMPEG.cmake b/share/cmake-3.6/Modules/FindMPEG.cmake
deleted file mode 100644
index 26ee8dd..0000000
--- a/share/cmake-3.6/Modules/FindMPEG.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-#.rst:
-# FindMPEG
-# --------
-#
-# Find the native MPEG includes and library
-#
-# This module defines
-#
-# ::
-#
-#   MPEG_INCLUDE_DIR, where to find MPEG.h, etc.
-#   MPEG_LIBRARIES, the libraries required to use MPEG.
-#   MPEG_FOUND, If false, do not try to use MPEG.
-#
-# also defined, but not for general use are
-#
-# ::
-#
-#   MPEG_mpeg2_LIBRARY, where to find the MPEG library.
-#   MPEG_vo_LIBRARY, where to find the vo library.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(MPEG_INCLUDE_DIR mpeg2dec/include/video_out.h
-  /usr/local/livid
-)
-
-find_library(MPEG_mpeg2_LIBRARY mpeg2
-  /usr/local/livid/mpeg2dec/libmpeg2/.libs
-)
-
-find_library( MPEG_vo_LIBRARY vo
-  /usr/local/livid/mpeg2dec/libvo/.libs
-)
-
-# handle the QUIETLY and REQUIRED arguments and set MPEG2_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPEG DEFAULT_MSG MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
-
-if(MPEG_FOUND)
-  set( MPEG_LIBRARIES ${MPEG_mpeg2_LIBRARY} ${MPEG_vo_LIBRARY} )
-endif()
-
-mark_as_advanced(MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindMPEG2.cmake b/share/cmake-3.6/Modules/FindMPEG2.cmake
deleted file mode 100644
index f2f2076..0000000
--- a/share/cmake-3.6/Modules/FindMPEG2.cmake
+++ /dev/null
@@ -1,66 +0,0 @@
-#.rst:
-# FindMPEG2
-# ---------
-#
-# Find the native MPEG2 includes and library
-#
-# This module defines
-#
-# ::
-#
-#   MPEG2_INCLUDE_DIR, path to mpeg2dec/mpeg2.h, etc.
-#   MPEG2_LIBRARIES, the libraries required to use MPEG2.
-#   MPEG2_FOUND, If false, do not try to use MPEG2.
-#
-# also defined, but not for general use are
-#
-# ::
-#
-#   MPEG2_mpeg2_LIBRARY, where to find the MPEG2 library.
-#   MPEG2_vo_LIBRARY, where to find the vo library.
-
-#=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(MPEG2_INCLUDE_DIR
-  NAMES mpeg2.h mpeg2dec/mpeg2.h
-  PATHS /usr/local/livid
-)
-
-find_library(MPEG2_mpeg2_LIBRARY mpeg2
-  /usr/local/livid/mpeg2dec/libmpeg2/.libs
-)
-
-find_library( MPEG2_vo_LIBRARY vo
-  /usr/local/livid/mpeg2dec/libvo/.libs
-)
-
-
-# handle the QUIETLY and REQUIRED arguments and set MPEG2_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPEG2 DEFAULT_MSG MPEG2_mpeg2_LIBRARY MPEG2_INCLUDE_DIR)
-
-if(MPEG2_FOUND)
-  set( MPEG2_LIBRARIES ${MPEG2_mpeg2_LIBRARY}
-                        ${MPEG2_vo_LIBRARY})
-
-  #some native mpeg2 installations will depend
-  #on libSDL, if found, add it in.
-  include(${CMAKE_CURRENT_LIST_DIR}/FindSDL.cmake)
-  if(SDL_FOUND)
-    set( MPEG2_LIBRARIES ${MPEG2_LIBRARIES} ${SDL_LIBRARY})
-  endif()
-endif()
-
-mark_as_advanced(MPEG2_INCLUDE_DIR MPEG2_mpeg2_LIBRARY MPEG2_vo_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindMPI.cmake b/share/cmake-3.6/Modules/FindMPI.cmake
deleted file mode 100644
index fbc6795..0000000
--- a/share/cmake-3.6/Modules/FindMPI.cmake
+++ /dev/null
@@ -1,677 +0,0 @@
-#.rst:
-# FindMPI
-# -------
-#
-# Find a Message Passing Interface (MPI) implementation
-#
-# The Message Passing Interface (MPI) is a library used to write
-# high-performance distributed-memory parallel applications, and is
-# typically deployed on a cluster.  MPI is a standard interface (defined
-# by the MPI forum) for which many implementations are available.  All
-# of them have somewhat different include paths, libraries to link
-# against, etc., and this module tries to smooth out those differences.
-#
-# Variables
-# ^^^^^^^^^
-#
-# This module will set the following variables per language in your
-# project, where <lang> is one of C, CXX, or Fortran:
-#
-# ::
-#
-#    MPI_<lang>_FOUND           TRUE if FindMPI found MPI flags for <lang>
-#    MPI_<lang>_COMPILER        MPI Compiler wrapper for <lang>
-#    MPI_<lang>_COMPILE_FLAGS   Compilation flags for MPI programs
-#    MPI_<lang>_INCLUDE_PATH    Include path(s) for MPI header
-#    MPI_<lang>_LINK_FLAGS      Linking flags for MPI programs
-#    MPI_<lang>_LIBRARIES       All libraries to link MPI programs against
-#
-# Additionally, FindMPI sets the following variables for running MPI
-# programs from the command line:
-#
-# ::
-#
-#    MPIEXEC                    Executable for running MPI programs
-#    MPIEXEC_NUMPROC_FLAG       Flag to pass to MPIEXEC before giving
-#                               it the number of processors to run on
-#    MPIEXEC_PREFLAGS           Flags to pass to MPIEXEC directly
-#                               before the executable to run.
-#    MPIEXEC_POSTFLAGS          Flags to pass to MPIEXEC after other flags
-#
-# Usage
-# ^^^^^
-#
-# To use this module, simply call FindMPI from a CMakeLists.txt file, or
-# run ``find_package(MPI)``, then run CMake.  If you are happy with the
-# auto-detected configuration for your language, then you're done.  If
-# not, you have two options:
-#
-# ::
-#
-#    1. Set MPI_<lang>_COMPILER to the MPI wrapper (mpicc, etc.) of your
-#       choice and reconfigure.  FindMPI will attempt to determine all the
-#       necessary variables using THAT compiler's compile and link flags.
-#    2. If this fails, or if your MPI implementation does not come with
-#       a compiler wrapper, then set both MPI_<lang>_LIBRARIES and
-#       MPI_<lang>_INCLUDE_PATH.  You may also set any other variables
-#       listed above, but these two are required.  This will circumvent
-#       autodetection entirely.
-#
-# When configuration is successful, ``MPI_<lang>_COMPILER`` will be set to
-# the compiler wrapper for <lang>, if it was found.  ``MPI_<lang>_FOUND``
-# and other variables above will be set if any MPI implementation was
-# found for <lang>, regardless of whether a compiler was found.
-#
-# When using ``MPIEXEC`` to execute MPI applications, you should typically
-# use all of the ``MPIEXEC`` flags as follows:
-#
-# ::
-#
-#    ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
-#      ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
-#
-# where ``PROCS`` is the number of processors on which to execute the
-# program, ``EXECUTABLE`` is the MPI program, and ``ARGS`` are the arguments to
-# pass to the MPI program.
-#
-# Backward Compatibility
-# ^^^^^^^^^^^^^^^^^^^^^^
-#
-# For backward compatibility with older versions of FindMPI, these
-# variables are set, but deprecated:
-#
-# ::
-#
-#    MPI_FOUND           MPI_COMPILER        MPI_LIBRARY
-#    MPI_COMPILE_FLAGS   MPI_INCLUDE_PATH    MPI_EXTRA_LIBRARY
-#    MPI_LINK_FLAGS      MPI_LIBRARIES
-#
-# In new projects, please use the ``MPI_<lang>_XXX`` equivalents.
-
-#=============================================================================
-# Copyright 2001-2011 Kitware, Inc.
-# Copyright 2010-2011 Todd Gamblin tgamblin@llnl.gov
-# Copyright 2001-2009 Dave Partyka
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# include this to handle the QUIETLY and REQUIRED arguments
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-#
-# This part detects MPI compilers, attempting to wade through the mess of compiler names in
-# a sensible way.
-#
-# The compilers are detected in this order:
-#
-# 1. Try to find the most generic available MPI compiler, as this is usually set up by
-#    cluster admins.  e.g., if plain old mpicc is available, we'll use it and assume it's
-#    the right compiler.
-#
-# 2. If a generic mpicc is NOT found, then we attempt to find one that matches
-#    CMAKE_<lang>_COMPILER_ID. e.g. if you are using XL compilers, we'll try to find mpixlc
-#    and company, but not mpiicc.  This hopefully prevents toolchain mismatches.
-#
-# If you want to force a particular MPI compiler other than what we autodetect (e.g. if you
-# want to compile regular stuff with GNU and parallel stuff with Intel), you can always set
-# your favorite MPI_<lang>_COMPILER explicitly and this stuff will be ignored.
-#
-
-# Start out with the generic MPI compiler names, as these are most commonly used.
-set(_MPI_C_COMPILER_NAMES                  mpicc    mpcc      mpicc_r mpcc_r)
-set(_MPI_CXX_COMPILER_NAMES                mpicxx   mpiCC     mpcxx   mpCC    mpic++   mpc++
-                                           mpicxx_r mpiCC_r   mpcxx_r mpCC_r  mpic++_r mpc++_r)
-set(_MPI_Fortran_COMPILER_NAMES            mpif95   mpif95_r  mpf95   mpf95_r
-                                           mpif90   mpif90_r  mpf90   mpf90_r
-                                           mpif77   mpif77_r  mpf77   mpf77_r)
-
-# GNU compiler names
-set(_MPI_GNU_C_COMPILER_NAMES              mpigcc mpgcc mpigcc_r mpgcc_r)
-set(_MPI_GNU_CXX_COMPILER_NAMES            mpig++ mpg++ mpig++_r mpg++_r)
-set(_MPI_GNU_Fortran_COMPILER_NAMES        mpigfortran mpgfortran mpigfortran_r mpgfortran_r
-                                           mpig77 mpig77_r mpg77 mpg77_r)
-
-# Intel MPI compiler names
-set(_MPI_Intel_C_COMPILER_NAMES            mpiicc)
-set(_MPI_Intel_CXX_COMPILER_NAMES          mpiicpc  mpiicxx mpiic++ mpiiCC)
-set(_MPI_Intel_Fortran_COMPILER_NAMES      mpiifort mpiif95 mpiif90 mpiif77)
-
-# PGI compiler names
-set(_MPI_PGI_C_COMPILER_NAMES              mpipgcc mppgcc)
-set(_MPI_PGI_CXX_COMPILER_NAMES            mpipgCC mppgCC)
-set(_MPI_PGI_Fortran_COMPILER_NAMES        mpipgf95 mpipgf90 mppgf95 mppgf90 mpipgf77 mppgf77)
-
-# XLC MPI Compiler names
-set(_MPI_XL_C_COMPILER_NAMES               mpxlc      mpxlc_r    mpixlc     mpixlc_r)
-set(_MPI_XL_CXX_COMPILER_NAMES             mpixlcxx   mpixlC     mpixlc++   mpxlcxx   mpxlc++   mpixlc++   mpxlCC
-                                           mpixlcxx_r mpixlC_r   mpixlc++_r mpxlcxx_r mpxlc++_r mpixlc++_r mpxlCC_r)
-set(_MPI_XL_Fortran_COMPILER_NAMES         mpixlf95   mpixlf95_r mpxlf95 mpxlf95_r
-                                           mpixlf90   mpixlf90_r mpxlf90 mpxlf90_r
-                                           mpixlf77   mpixlf77_r mpxlf77 mpxlf77_r
-                                           mpixlf     mpixlf_r   mpxlf   mpxlf_r)
-
-# append vendor-specific compilers to the list if we either don't know the compiler id,
-# or if we know it matches the regular compiler.
-foreach (lang C CXX Fortran)
-  foreach (id GNU Intel PGI XL)
-    if (NOT CMAKE_${lang}_COMPILER_ID OR CMAKE_${lang}_COMPILER_ID STREQUAL id)
-      list(APPEND _MPI_${lang}_COMPILER_NAMES ${_MPI_${id}_${lang}_COMPILER_NAMES})
-    endif()
-    unset(_MPI_${id}_${lang}_COMPILER_NAMES)    # clean up the namespace here
-  endforeach()
-endforeach()
-
-
-# Names to try for MPI exec
-set(_MPI_EXEC_NAMES                        mpiexec mpirun lamexec srun)
-
-# Grab the path to MPI from the registry if we're on windows.
-set(_MPI_PREFIX_PATH)
-if(WIN32)
-  # MSMPI
-  file(TO_CMAKE_PATH "$ENV{MSMPI_BIN}" msmpi_bin_path) # The default path ends with a '\' and doesn't mix with ';' when appending.
-  list(APPEND _MPI_PREFIX_PATH "${msmpi_bin_path}")
-  unset(msmpi_bin_path)
-  list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;InstallRoot]/Bin")
-  list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_INC}/..") # The SDK is installed separately from the runtime
-  # MPICH
-  list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MPICH\\SMPD;binary]/..")
-  list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MPICH2;Path]")
-  list(APPEND _MPI_PREFIX_PATH "$ENV{ProgramW6432}/MPICH2/")
-endif()
-
-# Build a list of prefixes to search for MPI.
-foreach(SystemPrefixDir ${CMAKE_SYSTEM_PREFIX_PATH})
-  foreach(MpiPackageDir ${_MPI_PREFIX_PATH})
-    if(EXISTS ${SystemPrefixDir}/${MpiPackageDir})
-      list(APPEND _MPI_PREFIX_PATH "${SystemPrefixDir}/${MpiPackageDir}")
-    endif()
-  endforeach()
-endforeach()
-
-function (_mpi_check_compiler compiler options cmdvar resvar)
-  execute_process(
-    COMMAND "${compiler}" ${options}
-    OUTPUT_VARIABLE  cmdline OUTPUT_STRIP_TRAILING_WHITESPACE
-    ERROR_VARIABLE   cmdline ERROR_STRIP_TRAILING_WHITESPACE
-    RESULT_VARIABLE  success)
-  # Intel MPI 5.0.1 will return a zero return code even when the
-  # argument to the MPI compiler wrapper is unknown.  Attempt to
-  # catch this case.
-  if(cmdline MATCHES "undefined reference" OR cmdline MATCHES "unrecognized")
-    set(success 255 )
-  endif()
-  set(${cmdvar} "${cmdline}" PARENT_SCOPE)
-  set(${resvar} "${success}" PARENT_SCOPE)
-endfunction()
-
-#
-# interrogate_mpi_compiler(lang try_libs)
-#
-# Attempts to extract compiler and linker args from an MPI compiler. The arguments set
-# by this function are:
-#
-#   MPI_<lang>_INCLUDE_PATH    MPI_<lang>_LINK_FLAGS     MPI_<lang>_FOUND
-#   MPI_<lang>_COMPILE_FLAGS   MPI_<lang>_LIBRARIES
-#
-# MPI_<lang>_COMPILER must be set beforehand to the absolute path to an MPI compiler for
-# <lang>.  Additionally, MPI_<lang>_INCLUDE_PATH and MPI_<lang>_LIBRARIES may be set
-# to skip autodetection.
-#
-# If try_libs is TRUE, this will also attempt to find plain MPI libraries in the usual
-# way.  In general, this is not as effective as interrogating the compilers, as it
-# ignores language-specific flags and libraries.  However, some MPI implementations
-# (Windows implementations) do not have compiler wrappers, so this approach must be used.
-#
-function (interrogate_mpi_compiler lang try_libs)
-  # MPI_${lang}_NO_INTERROGATE will be set to a compiler name when the *regular* compiler was
-  # discovered to be the MPI compiler.  This happens on machines like the Cray XE6 that use
-  # modules to set cc, CC, and ftn to the MPI compilers.  If the user force-sets another MPI
-  # compiler, MPI_${lang}_COMPILER won't be equal to MPI_${lang}_NO_INTERROGATE, and we'll
-  # inspect that compiler anew.  This allows users to set new compilers w/o rm'ing cache.
-  string(COMPARE NOTEQUAL "${MPI_${lang}_NO_INTERROGATE}" "${MPI_${lang}_COMPILER}" interrogate)
-
-  # If MPI is set already in the cache, don't bother with interrogating the compiler.
-  if (interrogate AND ((NOT MPI_${lang}_INCLUDE_PATH) OR (NOT MPI_${lang}_LIBRARIES)))
-    if (MPI_${lang}_COMPILER)
-      # Check whether the -showme:compile option works. This indicates that we have either OpenMPI
-      # or a newer version of LAM-MPI, and implies that -showme:link will also work.
-      _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-showme:compile" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
-      if (MPI_COMPILER_RETURN EQUAL 0)
-        # If we appear to have -showme:compile, then we should
-        # also have -showme:link. Try it.
-        execute_process(
-          COMMAND ${MPI_${lang}_COMPILER} -showme:link
-          OUTPUT_VARIABLE  MPI_LINK_CMDLINE OUTPUT_STRIP_TRAILING_WHITESPACE
-          ERROR_VARIABLE   MPI_LINK_CMDLINE ERROR_STRIP_TRAILING_WHITESPACE
-          RESULT_VARIABLE  MPI_COMPILER_RETURN)
-
-        if (MPI_COMPILER_RETURN EQUAL 0)
-          # We probably have -showme:incdirs and -showme:libdirs as well,
-          # so grab that while we're at it.
-          execute_process(
-            COMMAND ${MPI_${lang}_COMPILER} -showme:incdirs
-            OUTPUT_VARIABLE  MPI_INCDIRS OUTPUT_STRIP_TRAILING_WHITESPACE
-            ERROR_VARIABLE   MPI_INCDIRS ERROR_STRIP_TRAILING_WHITESPACE)
-
-          execute_process(
-            COMMAND ${MPI_${lang}_COMPILER} -showme:libdirs
-            OUTPUT_VARIABLE  MPI_LIBDIRS OUTPUT_STRIP_TRAILING_WHITESPACE
-            ERROR_VARIABLE   MPI_LIBDIRS ERROR_STRIP_TRAILING_WHITESPACE)
-
-        else()
-          # reset things here if something went wrong.
-          set(MPI_COMPILE_CMDLINE)
-          set(MPI_LINK_CMDLINE)
-        endif()
-      endif ()
-
-      # Older versions of LAM-MPI have "-showme". Try to find that.
-      if (NOT MPI_COMPILER_RETURN EQUAL 0)
-        _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-showme" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
-      endif()
-
-      # MVAPICH uses -compile-info and -link-info.  Try them.
-      if (NOT MPI_COMPILER_RETURN EQUAL 0)
-        _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-compile-info" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
-
-        # If we have compile-info, also have link-info.
-        if (MPI_COMPILER_RETURN EQUAL 0)
-          execute_process(
-            COMMAND ${MPI_${lang}_COMPILER} -link-info
-            OUTPUT_VARIABLE  MPI_LINK_CMDLINE OUTPUT_STRIP_TRAILING_WHITESPACE
-            ERROR_VARIABLE   MPI_LINK_CMDLINE ERROR_STRIP_TRAILING_WHITESPACE
-            RESULT_VARIABLE  MPI_COMPILER_RETURN)
-        endif()
-
-        # make sure we got compile and link.  Reset vars if something's wrong.
-        if (NOT MPI_COMPILER_RETURN EQUAL 0)
-          set(MPI_COMPILE_CMDLINE)
-          set(MPI_LINK_CMDLINE)
-        endif()
-      endif()
-
-      # MPICH just uses "-show". Try it.
-      if (NOT MPI_COMPILER_RETURN EQUAL 0)
-        _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-show" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
-      endif()
-
-      if (MPI_COMPILER_RETURN EQUAL 0)
-        # We have our command lines, but we might need to copy MPI_COMPILE_CMDLINE
-        # into MPI_LINK_CMDLINE, if we didn't find the link line.
-        if (NOT MPI_LINK_CMDLINE)
-          set(MPI_LINK_CMDLINE ${MPI_COMPILE_CMDLINE})
-        endif()
-      else()
-        message(STATUS "Unable to determine MPI from MPI driver ${MPI_${lang}_COMPILER}")
-        set(MPI_COMPILE_CMDLINE)
-        set(MPI_LINK_CMDLINE)
-      endif()
-
-      # Here, we're done with the interrogation part, and we'll try to extract args we care
-      # about from what we learned from the compiler wrapper scripts.
-
-      # If interrogation came back with something, extract our variable from the MPI command line
-      if (MPI_COMPILE_CMDLINE OR MPI_LINK_CMDLINE)
-        # Extract compile flags from the compile command line.
-        string(REGEX MATCHALL "(^| )-[Df]([^\" ]+|\"[^\"]+\")" MPI_ALL_COMPILE_FLAGS "${MPI_COMPILE_CMDLINE}")
-        set(MPI_COMPILE_FLAGS_WORK)
-
-        foreach(FLAG ${MPI_ALL_COMPILE_FLAGS})
-          if (MPI_COMPILE_FLAGS_WORK)
-            set(MPI_COMPILE_FLAGS_WORK "${MPI_COMPILE_FLAGS_WORK} ${FLAG}")
-          else()
-            set(MPI_COMPILE_FLAGS_WORK ${FLAG})
-          endif()
-        endforeach()
-
-        # Extract include paths from compile command line
-        string(REGEX MATCHALL "(^| )-I([^\" ]+|\"[^\"]+\")" MPI_ALL_INCLUDE_PATHS "${MPI_COMPILE_CMDLINE}")
-        foreach(IPATH ${MPI_ALL_INCLUDE_PATHS})
-          string(REGEX REPLACE "^ ?-I" "" IPATH ${IPATH})
-          string(REPLACE "//" "/" IPATH ${IPATH})
-          list(APPEND MPI_INCLUDE_PATH_WORK ${IPATH})
-        endforeach()
-
-        # try using showme:incdirs if extracting didn't work.
-        if (NOT MPI_INCLUDE_PATH_WORK)
-          set(MPI_INCLUDE_PATH_WORK ${MPI_INCDIRS})
-          separate_arguments(MPI_INCLUDE_PATH_WORK)
-        endif()
-
-        # If all else fails, just search for mpi.h in the normal include paths.
-        if (NOT MPI_INCLUDE_PATH_WORK)
-          set(MPI_HEADER_PATH "MPI_HEADER_PATH-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
-          find_path(MPI_HEADER_PATH mpi.h
-            HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
-            PATH_SUFFIXES include)
-          set(MPI_INCLUDE_PATH_WORK ${MPI_HEADER_PATH})
-        endif()
-
-        # Extract linker paths from the link command line
-        string(REGEX MATCHALL "(^| |-Wl,)(-L|/LIBPATH:)([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
-        set(MPI_LINK_PATH)
-        foreach(LPATH ${MPI_ALL_LINK_PATHS})
-          string(REGEX REPLACE "^(| |-Wl,)(-L|/LIBPATH:)" "" LPATH ${LPATH})
-          string(REPLACE "//" "/" LPATH ${LPATH})
-          list(APPEND MPI_LINK_PATH ${LPATH})
-        endforeach()
-
-        # try using showme:libdirs if extracting didn't work.
-        if (NOT MPI_LINK_PATH)
-          set(MPI_LINK_PATH ${MPI_LIBDIRS})
-          separate_arguments(MPI_LINK_PATH)
-        endif()
-
-        # Extract linker flags from the link command line
-        string(REGEX MATCHALL "(^| )(-Wl,|-Xlinker )([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_FLAGS "${MPI_LINK_CMDLINE}")
-        set(MPI_LINK_FLAGS_WORK)
-        foreach(FLAG ${MPI_ALL_LINK_FLAGS})
-          if (MPI_LINK_FLAGS_WORK)
-            set(MPI_LINK_FLAGS_WORK "${MPI_LINK_FLAGS_WORK} ${FLAG}")
-          else()
-            set(MPI_LINK_FLAGS_WORK ${FLAG})
-          endif()
-        endforeach()
-
-        # Extract the set of libraries to link against from the link command
-        # line
-        string(REGEX MATCHALL "(^| )-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
-        if(WIN32)
-          # The intel wrappers on windows link against static versions of the MPI libraries.
-          # The static libraries are simply listed on the command line without -l.
-          # For instance: " icl ... impi.lib "
-          string(REGEX MATCHALL "(^| )([^\" ]+)\\.lib" tmp "${MPI_LINK_CMDLINE}")
-          list(APPEND MPI_LIBNAMES ${tmp})
-        endif()
-
-        # add the compiler implicit directories because some compilers
-        # such as the intel compiler have libraries that show up
-        # in the showme list that can only be found in the implicit
-        # link directories of the compiler.
-        if (DEFINED CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES)
-          set(MPI_LINK_PATH
-            "${MPI_LINK_PATH};${CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES}")
-        endif ()
-
-        # Determine full path names for all of the libraries that one needs
-        # to link against in an MPI program
-        foreach(LIB ${MPI_LIBNAMES})
-          string(REGEX REPLACE "^ ?-l" "" LIB ${LIB})
-          if(WIN32)
-            string(REGEX REPLACE "\\.lib$" "" LIB ${LIB})
-          endif()
-          string(STRIP ${LIB} LIB)
-          # MPI_LIB is cached by find_library, but we don't want that.  Clear it first.
-          set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
-          find_library(MPI_LIB NAMES ${LIB} HINTS ${MPI_LINK_PATH})
-
-          if (MPI_LIB)
-            list(APPEND MPI_LIBRARIES_WORK ${MPI_LIB})
-          elseif (NOT MPI_FIND_QUIETLY)
-            message(WARNING "Unable to find MPI library ${LIB}")
-          endif()
-        endforeach()
-
-        # Sanity check MPI_LIBRARIES to make sure there are enough libraries
-        list(LENGTH MPI_LIBRARIES_WORK MPI_NUMLIBS)
-        list(LENGTH MPI_LIBNAMES MPI_NUMLIBS_EXPECTED)
-        if (NOT MPI_NUMLIBS EQUAL MPI_NUMLIBS_EXPECTED)
-          set(MPI_LIBRARIES_WORK "MPI_${lang}_LIBRARIES-NOTFOUND")
-        endif()
-      endif()
-
-    elseif(try_libs)
-      # If we didn't have an MPI compiler script to interrogate, attempt to find everything
-      # with plain old find functions.  This is nasty because MPI implementations have LOTS of
-      # different library names, so this section isn't going to be very generic.  We need to
-      # make sure it works for MS MPI, though, since there are no compiler wrappers for that.
-      find_path(MPI_HEADER_PATH mpi.h
-        HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
-        PATH_SUFFIXES include Inc)
-      set(MPI_INCLUDE_PATH_WORK ${MPI_HEADER_PATH})
-
-      # Decide between 32-bit and 64-bit libraries for Microsoft's MPI
-      if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
-        set(MS_MPI_ARCH_DIR x64)
-        set(MS_MPI_ARCH_DIR2 amd64)
-      else()
-        set(MS_MPI_ARCH_DIR x86)
-        set(MS_MPI_ARCH_DIR2 i386)
-      endif()
-
-      set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
-      find_library(MPI_LIB
-        NAMES         mpi mpich mpich2 msmpi
-        HINTS         ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
-        PATH_SUFFIXES lib lib/${MS_MPI_ARCH_DIR} Lib Lib/${MS_MPI_ARCH_DIR} Lib/${MS_MPI_ARCH_DIR2})
-      set(MPI_LIBRARIES_WORK ${MPI_LIB})
-
-      # Right now, we only know about the extra libs for C++.
-      # We could add Fortran here (as there is usually libfmpich, etc.), but
-      # this really only has to work with MS MPI on Windows.
-      # Assume that other MPI's are covered by the compiler wrappers.
-      if (${lang} STREQUAL CXX)
-        set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
-        find_library(MPI_LIB
-          NAMES         mpi++ mpicxx cxx mpi_cxx
-          HINTS         ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
-          PATH_SUFFIXES lib)
-        if (MPI_LIBRARIES_WORK AND MPI_LIB)
-          list(APPEND MPI_LIBRARIES_WORK ${MPI_LIB})
-        endif()
-      endif()
-
-      if (NOT MPI_LIBRARIES_WORK)
-        set(MPI_LIBRARIES_WORK "MPI_${lang}_LIBRARIES-NOTFOUND")
-      endif()
-    endif()
-
-    # If we found MPI, set up all of the appropriate cache entries
-    set(MPI_${lang}_COMPILE_FLAGS ${MPI_COMPILE_FLAGS_WORK} CACHE STRING "MPI ${lang} compilation flags"         FORCE)
-    set(MPI_${lang}_INCLUDE_PATH  ${MPI_INCLUDE_PATH_WORK}  CACHE STRING "MPI ${lang} include path"              FORCE)
-    set(MPI_${lang}_LINK_FLAGS    ${MPI_LINK_FLAGS_WORK}    CACHE STRING "MPI ${lang} linking flags"             FORCE)
-    set(MPI_${lang}_LIBRARIES     ${MPI_LIBRARIES_WORK}     CACHE STRING "MPI ${lang} libraries to link against" FORCE)
-    mark_as_advanced(MPI_${lang}_COMPILE_FLAGS MPI_${lang}_INCLUDE_PATH MPI_${lang}_LINK_FLAGS MPI_${lang}_LIBRARIES)
-
-    # clear out our temporary lib/header detectionv variable here.
-    set(MPI_LIB         "MPI_LIB-NOTFOUND"         CACHE INTERNAL "Scratch variable for MPI lib detection"    FORCE)
-    set(MPI_HEADER_PATH "MPI_HEADER_PATH-NOTFOUND" CACHE INTERNAL "Scratch variable for MPI header detection" FORCE)
-  endif()
-
-  # finally set a found variable for each MPI language
-  if (MPI_${lang}_INCLUDE_PATH AND MPI_${lang}_LIBRARIES)
-    set(MPI_${lang}_FOUND TRUE PARENT_SCOPE)
-  else()
-    set(MPI_${lang}_FOUND FALSE PARENT_SCOPE)
-  endif()
-endfunction()
-
-
-# This function attempts to compile with the regular compiler, to see if MPI programs
-# work with it.  This is a last ditch attempt after we've tried interrogating mpicc and
-# friends, and after we've tried to find generic libraries.  Works on machines like
-# Cray XE6, where the modules environment changes what MPI version cc, CC, and ftn use.
-function(try_regular_compiler lang success)
-  set(scratch_directory ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
-  if (${lang} STREQUAL Fortran)
-    set(test_file ${scratch_directory}/cmake_mpi_test.f90)
-    file(WRITE ${test_file}
-      "program hello\n"
-      "include 'mpif.h'\n"
-      "integer ierror\n"
-      "call MPI_INIT(ierror)\n"
-      "call MPI_FINALIZE(ierror)\n"
-      "end\n")
-  else()
-    if (${lang} STREQUAL CXX)
-      set(test_file ${scratch_directory}/cmake_mpi_test.cpp)
-    else()
-      set(test_file ${scratch_directory}/cmake_mpi_test.c)
-    endif()
-    file(WRITE ${test_file}
-      "#include <mpi.h>\n"
-      "int main(int argc, char **argv) {\n"
-      "  MPI_Init(&argc, &argv);\n"
-      "  MPI_Finalize();\n"
-      "}\n")
-  endif()
-  try_compile(compiler_has_mpi ${scratch_directory} ${test_file})
-  if (compiler_has_mpi)
-    set(MPI_${lang}_NO_INTERROGATE ${CMAKE_${lang}_COMPILER} CACHE STRING "Whether to interrogate MPI ${lang} compiler" FORCE)
-    set(MPI_${lang}_COMPILER       ${CMAKE_${lang}_COMPILER} CACHE STRING "MPI ${lang} compiler"                        FORCE)
-    set(MPI_${lang}_COMPILE_FLAGS  ""                        CACHE STRING "MPI ${lang} compilation flags"               FORCE)
-    set(MPI_${lang}_INCLUDE_PATH   ""                        CACHE STRING "MPI ${lang} include path"                    FORCE)
-    set(MPI_${lang}_LINK_FLAGS     ""                        CACHE STRING "MPI ${lang} linking flags"                   FORCE)
-    set(MPI_${lang}_LIBRARIES      ""                        CACHE STRING "MPI ${lang} libraries to link against"       FORCE)
-  endif()
-  set(${success} ${compiler_has_mpi} PARENT_SCOPE)
-  unset(compiler_has_mpi CACHE)
-endfunction()
-
-# End definitions, commence real work here.
-
-# Most mpi distros have some form of mpiexec which gives us something we can reliably look for.
-find_program(MPIEXEC
-  NAMES ${_MPI_EXEC_NAMES}
-  HINTS ${MPI_HOME} $ENV{MPI_HOME}
-  PATHS ${_MPI_PREFIX_PATH}
-  PATH_SUFFIXES bin
-  DOC "Executable for running MPI programs.")
-
-# call get_filename_component twice to remove mpiexec and the directory it exists in (typically bin).
-# This gives us a fairly reliable base directory to search for /bin /lib and /include from.
-get_filename_component(_MPI_BASE_DIR "${MPIEXEC}" PATH)
-get_filename_component(_MPI_BASE_DIR "${_MPI_BASE_DIR}" PATH)
-
-set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "Flag used by MPI to specify the number of processes for MPIEXEC; the next option will be the number of processes.")
-set(MPIEXEC_PREFLAGS     ""    CACHE STRING "These flags will be directly before the executable that is being run by MPIEXEC.")
-set(MPIEXEC_POSTFLAGS    ""    CACHE STRING "These flags will come after all flags given to MPIEXEC.")
-set(MPIEXEC_MAX_NUMPROCS "2"   CACHE STRING "Maximum number of processors available to run MPI applications.")
-mark_as_advanced(MPIEXEC MPIEXEC_NUMPROC_FLAG MPIEXEC_PREFLAGS MPIEXEC_POSTFLAGS MPIEXEC_MAX_NUMPROCS)
-
-
-#=============================================================================
-# Backward compatibility input hacks.  Propagate the FindMPI hints to C and
-# CXX if the respective new versions are not defined.  Translate the old
-# MPI_LIBRARY and MPI_EXTRA_LIBRARY to respective MPI_${lang}_LIBRARIES.
-#
-# Once we find the new variables, we translate them back into their old
-# equivalents below.
-foreach (lang C CXX)
-  # Old input variables.
-  set(_MPI_OLD_INPUT_VARS COMPILER COMPILE_FLAGS INCLUDE_PATH LINK_FLAGS)
-
-  # Set new vars based on their old equivalents, if the new versions are not already set.
-  foreach (var ${_MPI_OLD_INPUT_VARS})
-    if (NOT MPI_${lang}_${var} AND MPI_${var})
-      set(MPI_${lang}_${var} "${MPI_${var}}")
-    endif()
-  endforeach()
-
-  # Special handling for MPI_LIBRARY and MPI_EXTRA_LIBRARY, which we nixed in the
-  # new FindMPI.  These need to be merged into MPI_<lang>_LIBRARIES
-  if (NOT MPI_${lang}_LIBRARIES AND (MPI_LIBRARY OR MPI_EXTRA_LIBRARY))
-    set(MPI_${lang}_LIBRARIES ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
-  endif()
-endforeach()
-#=============================================================================
-
-
-# This loop finds the compilers and sends them off for interrogation.
-foreach (lang C CXX Fortran)
-  if (CMAKE_${lang}_COMPILER_WORKS)
-    # If the user supplies a compiler *name* instead of an absolute path, assume that we need to find THAT compiler.
-    if (MPI_${lang}_COMPILER)
-      if (NOT IS_ABSOLUTE "${MPI_${lang}_COMPILER}")
-        # Get rid of our default list of names and just search for the name the user wants.
-        set(_MPI_${lang}_COMPILER_NAMES ${MPI_${lang}_COMPILER})
-        set(MPI_${lang}_COMPILER "MPI_${lang}_COMPILER-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
-      endif()
-      # If the user specifies a compiler, we don't want to try to search libraries either.
-      set(try_libs FALSE)
-    else()
-      set(try_libs TRUE)
-    endif()
-
-    find_program(MPI_${lang}_COMPILER
-      NAMES  ${_MPI_${lang}_COMPILER_NAMES}
-      HINTS  ${_MPI_BASE_DIR}/bin
-      PATHS  ${_MPI_PREFIX_PATH}
-      )
-    interrogate_mpi_compiler(${lang} ${try_libs})
-    mark_as_advanced(MPI_${lang}_COMPILER)
-
-    # last ditch try -- if nothing works so far, just try running the regular compiler and
-    # see if we can create an MPI executable.
-    set(regular_compiler_worked 0)
-    if (NOT MPI_${lang}_LIBRARIES OR NOT MPI_${lang}_INCLUDE_PATH)
-      try_regular_compiler(${lang} regular_compiler_worked)
-    endif()
-
-    set(MPI_${lang}_FIND_QUIETLY ${MPI_FIND_QUIETLY})
-    set(MPI_${lang}_FIND_REQUIRED ${MPI_FIND_REQUIRED})
-    set(MPI_${lang}_FIND_VERSION ${MPI_FIND_VERSION})
-    set(MPI_${lang}_FIND_VERSION_EXACT ${MPI_FIND_VERSION_EXACT})
-
-    if (regular_compiler_worked)
-      find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_COMPILER)
-    else()
-      find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_LIBRARIES MPI_${lang}_INCLUDE_PATH)
-    endif()
-  endif()
-endforeach()
-
-
-#=============================================================================
-# More backward compatibility stuff
-#
-# Bare MPI sans ${lang} vars are set to CXX then C, depending on what was found.
-# This mimics the behavior of the old language-oblivious FindMPI.
-set(_MPI_OLD_VARS FOUND COMPILER INCLUDE_PATH COMPILE_FLAGS LINK_FLAGS LIBRARIES)
-if (MPI_CXX_FOUND)
-  foreach (var ${_MPI_OLD_VARS})
-    set(MPI_${var} ${MPI_CXX_${var}})
-  endforeach()
-elseif (MPI_C_FOUND)
-  foreach (var ${_MPI_OLD_VARS})
-    set(MPI_${var} ${MPI_C_${var}})
-  endforeach()
-else()
-  # Note that we might still have found Fortran, but you'll need to use MPI_Fortran_FOUND
-  set(MPI_FOUND FALSE)
-endif()
-
-# Chop MPI_LIBRARIES into the old-style MPI_LIBRARY and MPI_EXTRA_LIBRARY, and set them in cache.
-if (MPI_LIBRARIES)
-  list(GET MPI_LIBRARIES 0 MPI_LIBRARY_WORK)
-  set(MPI_LIBRARY ${MPI_LIBRARY_WORK} CACHE FILEPATH "MPI library to link against" FORCE)
-else()
-  set(MPI_LIBRARY "MPI_LIBRARY-NOTFOUND" CACHE FILEPATH "MPI library to link against" FORCE)
-endif()
-
-list(LENGTH MPI_LIBRARIES MPI_NUMLIBS)
-if (MPI_NUMLIBS GREATER 1)
-  set(MPI_EXTRA_LIBRARY_WORK ${MPI_LIBRARIES})
-  list(REMOVE_AT MPI_EXTRA_LIBRARY_WORK 0)
-  set(MPI_EXTRA_LIBRARY ${MPI_EXTRA_LIBRARY_WORK} CACHE STRING "Extra MPI libraries to link against" FORCE)
-else()
-  set(MPI_EXTRA_LIBRARY "MPI_EXTRA_LIBRARY-NOTFOUND" CACHE STRING "Extra MPI libraries to link against" FORCE)
-endif()
-#=============================================================================
-
-# unset these vars to cleanup namespace
-unset(_MPI_OLD_VARS)
-unset(_MPI_PREFIX_PATH)
-unset(_MPI_BASE_DIR)
-foreach (lang C CXX Fortran)
-  unset(_MPI_${lang}_COMPILER_NAMES)
-endforeach()
diff --git a/share/cmake-3.6/Modules/FindMatlab.cmake b/share/cmake-3.6/Modules/FindMatlab.cmake
deleted file mode 100644
index 956dad2..0000000
--- a/share/cmake-3.6/Modules/FindMatlab.cmake
+++ /dev/null
@@ -1,1466 +0,0 @@
-#.rst:
-# FindMatlab
-# ----------
-#
-# Finds Matlab installations and provides Matlab tools and libraries to cmake.
-#
-# This package first intention is to find the libraries associated with Matlab
-# in order to be able to build Matlab extensions (mex files). It can also be
-# used:
-#
-# * run specific commands in Matlab
-# * declare Matlab unit test
-# * retrieve various information from Matlab (mex extensions, versions and
-#   release queries, ...)
-#
-# The module supports the following components:
-#
-# * ``MX_LIBRARY`` and ``ENG_LIBRARY`` respectively the MX and ENG libraries of
-#   Matlab
-# * ``MAIN_PROGRAM`` the Matlab binary program.
-#
-# .. note::
-#
-#   The version given to the :command:`find_package` directive is the Matlab
-#   **version**, which should not be confused with the Matlab *release* name
-#   (eg. `R2014`).
-#   The :command:`matlab_get_version_from_release_name` and
-#   :command:`matlab_get_release_name_from_version` allow a mapping
-#   from the release name to the version.
-#
-# The variable :variable:`Matlab_ROOT_DIR` may be specified in order to give
-# the path of the desired Matlab version. Otherwise, the behaviour is platform
-# specific:
-#
-# * Windows: The installed versions of Matlab are retrieved from the
-#   Windows registry
-# * OS X: The installed versions of Matlab are given by the MATLAB
-#   paths in ``/Application``. If no such application is found, it falls back
-#   to the one that might be accessible from the PATH.
-# * Unix: The desired Matlab should be accessible from the PATH.
-#
-# Additional information is provided when :variable:`MATLAB_FIND_DEBUG` is set.
-# When a Matlab binary is found automatically and the ``MATLAB_VERSION``
-# is not given, the version is queried from Matlab directly.
-# On Windows, it can make a window running Matlab appear.
-#
-# The mapping of the release names and the version of Matlab is performed by
-# defining pairs (name, version).  The variable
-# :variable:`MATLAB_ADDITIONAL_VERSIONS` may be provided before the call to
-# the :command:`find_package` in order to handle additional versions.
-#
-# A Matlab scripts can be added to the set of tests using the
-# :command:`matlab_add_unit_test`. By default, the Matlab unit test framework
-# will be used (>= 2013a) to run this script, but regular ``.m`` files
-# returning an exit code can be used as well (0 indicating a success).
-#
-# Module Input Variables
-# ^^^^^^^^^^^^^^^^^^^^^^
-#
-# Users or projects may set the following variables to configure the module
-# behaviour:
-#
-# :variable:`Matlab_ROOT_DIR`
-#   the root of the Matlab installation.
-# :variable:`MATLAB_FIND_DEBUG`
-#   outputs debug information
-# :variable:`MATLAB_ADDITIONAL_VERSIONS`
-#   additional versions of Matlab for the automatic retrieval of the installed
-#   versions.
-#
-# Variables defined by the module
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# Result variables
-# """"""""""""""""
-#
-# ``Matlab_FOUND``
-#   ``TRUE`` if the Matlab installation is found, ``FALSE``
-#   otherwise. All variable below are defined if Matlab is found.
-# ``Matlab_ROOT_DIR``
-#   the final root of the Matlab installation determined by the FindMatlab
-#   module.
-# ``Matlab_MAIN_PROGRAM``
-#   the Matlab binary program. Available only if the component ``MAIN_PROGRAM``
-#   is given in the :command:`find_package` directive.
-# ``Matlab_INCLUDE_DIRS``
-#  the path of the Matlab libraries headers
-# ``Matlab_MEX_LIBRARY``
-#   library for mex, always available.
-# ``Matlab_MX_LIBRARY``
-#   mx library of Matlab (arrays). Available only if the component
-#   ``MX_LIBRARY`` has been requested.
-# ``Matlab_ENG_LIBRARY``
-#   Matlab engine library. Available only if the component ``ENG_LIBRARY``
-#   is requested.
-# ``Matlab_LIBRARIES``
-#   the whole set of libraries of Matlab
-# ``Matlab_MEX_COMPILER``
-#   the mex compiler of Matlab. Currently not used.
-#   Available only if the component ``MEX_COMPILER`` is asked
-#
-# Cached variables
-# """"""""""""""""
-#
-# ``Matlab_MEX_EXTENSION``
-#   the extension of the mex files for the current platform (given by Matlab).
-# ``Matlab_ROOT_DIR``
-#   the location of the root of the Matlab installation found. If this value
-#   is changed by the user, the result variables are recomputed.
-#
-# Provided macros
-# ^^^^^^^^^^^^^^^
-#
-# :command:`matlab_get_version_from_release_name`
-#   returns the version from the release name
-# :command:`matlab_get_release_name_from_version`
-#   returns the release name from the Matlab version
-#
-# Provided functions
-# ^^^^^^^^^^^^^^^^^^
-#
-# :command:`matlab_add_mex`
-#   adds a target compiling a MEX file.
-# :command:`matlab_add_unit_test`
-#   adds a Matlab unit test file as a test to the project.
-# :command:`matlab_extract_all_installed_versions_from_registry`
-#   parses the registry for all Matlab versions. Available on Windows only.
-#   The part of the registry parsed is dependent on the host processor
-# :command:`matlab_get_all_valid_matlab_roots_from_registry`
-#   returns all the possible Matlab paths, according to a previously
-#   given list. Only the existing/accessible paths are kept. This is mainly
-#   useful for the searching all possible Matlab installation.
-# :command:`matlab_get_mex_suffix`
-#   returns the suffix to be used for the mex files
-#   (platform/architecture dependent)
-# :command:`matlab_get_version_from_matlab_run`
-#   returns the version of Matlab, given the full directory of the Matlab
-#   program.
-#
-#
-# Known issues
-# ^^^^^^^^^^^^
-#
-# **Symbol clash in a MEX target**
-#   By default, every symbols inside a MEX
-#   file defined with the command :command:`matlab_add_mex` have hidden
-#   visibility, except for the entry point. This is the default behaviour of
-#   the MEX compiler, which lowers the risk of symbol collision between the
-#   libraries shipped with Matlab, and the libraries to which the MEX file is
-#   linking to. This is also the default on Windows platforms.
-#
-#   However, this is not sufficient in certain case, where for instance your
-#   MEX file is linking against libraries that are already loaded by Matlab,
-#   even if those libraries have different SONAMES.
-#   A possible solution is to hide the symbols of the libraries to which the
-#   MEX target is linking to. This can be achieved in GNU GCC compilers with
-#   the linker option ``-Wl,--exclude-libs,ALL``.
-#
-# **Tests using GPU resources**
-#   in case your MEX file is using the GPU and
-#   in order to be able to run unit tests on this MEX file, the GPU resources
-#   should be properly released by Matlab. A possible solution is to make
-#   Matlab aware of the use of the GPU resources in the session, which can be
-#   performed by a command such as ``D = gpuDevice()`` at the beginning of
-#   the test script (or via a fixture).
-#
-#
-# Reference
-# ^^^^^^^^^
-#
-# .. variable:: Matlab_ROOT_DIR
-#
-#    The root folder of the Matlab installation. If set before the call to
-#    :command:`find_package`, the module will look for the components in that
-#    path. If not set, then an automatic search of Matlab
-#    will be performed. If set, it should point to a valid version of Matlab.
-#
-# .. variable:: MATLAB_FIND_DEBUG
-#
-#    If set, the lookup of Matlab and the intermediate configuration steps are
-#    outputted to the console.
-#
-# .. variable:: MATLAB_ADDITIONAL_VERSIONS
-#
-#   If set, specifies additional versions of Matlab that may be looked for.
-#   The variable should be a list of strings, organised by pairs of release
-#   name and versions, such as follows::
-#
-#     set(MATLAB_ADDITIONAL_VERSIONS
-#         "release_name1=corresponding_version1"
-#         "release_name2=corresponding_version2"
-#         ...
-#         )
-#
-#   Example::
-#
-#     set(MATLAB_ADDITIONAL_VERSIONS
-#         "R2013b=8.2"
-#         "R2013a=8.1"
-#         "R2012b=8.0")
-#
-#   The order of entries in this list matters when several versions of
-#   Matlab are installed. The priority is set according to the ordering in
-#   this list.
-
-#=============================================================================
-# Copyright 2014-2015 Raffi Enficiaud, Max Planck Society
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(_FindMatlab_SELF_DIR "${CMAKE_CURRENT_LIST_DIR}")
-
-include(FindPackageHandleStandardArgs)
-include(CheckCXXCompilerFlag)
-
-
-# The currently supported versions. Other version can be added by the user by
-# providing MATLAB_ADDITIONAL_VERSIONS
-if(NOT MATLAB_ADDITIONAL_VERSIONS)
-  set(MATLAB_ADDITIONAL_VERSIONS)
-endif()
-
-set(MATLAB_VERSIONS_MAPPING
-  "R2016a=9.0"
-  "R2015b=8.6"
-  "R2015a=8.5"
-  "R2014b=8.4"
-  "R2014a=8.3"
-  "R2013b=8.2"
-  "R2013a=8.1"
-  "R2012b=8.0"
-  "R2012a=7.14"
-
-  "R2011b=7.13"
-  "R2011a=7.12"
-  "R2010b=7.11"
-
-  ${MATLAB_ADDITIONAL_VERSIONS}
-  )
-
-
-# temporary folder for all Matlab runs
-set(_matlab_temporary_folder ${CMAKE_BINARY_DIR}/Matlab)
-
-if(NOT EXISTS "${_matlab_temporary_folder}")
-  file(MAKE_DIRECTORY "${_matlab_temporary_folder}")
-endif()
-
-#.rst:
-# .. command:: matlab_get_version_from_release_name
-#
-#   Returns the version of Matlab (17.58) from a release name (R2017k)
-macro (matlab_get_version_from_release_name release_name version_name)
-
-  string(REGEX MATCHALL "${release_name}=([0-9]+\\.?[0-9]*)" _matched ${MATLAB_VERSIONS_MAPPING})
-
-  set(${version_name} "")
-  if(NOT _matched STREQUAL "")
-    set(${version_name} ${CMAKE_MATCH_1})
-  else()
-    message(WARNING "The release name ${release_name} is not registered")
-  endif()
-  unset(_matched)
-
-endmacro()
-
-
-
-
-
-#.rst:
-# .. command:: matlab_get_release_name_from_version
-#
-#   Returns the release name (R2017k) from the version of Matlab (17.58)
-macro (matlab_get_release_name_from_version version release_name)
-
-  set(${release_name} "")
-  foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING)
-    string(REGEX MATCHALL "(.+)=${version}" _matched ${_var})
-    if(NOT _matched STREQUAL "")
-      set(${release_name} ${CMAKE_MATCH_1})
-      break()
-    endif()
-  endforeach(_var)
-
-  unset(_var)
-  unset(_matched)
-  if(${release_name} STREQUAL "")
-    message(WARNING "The version ${version} is not registered")
-  endif()
-
-endmacro()
-
-
-
-
-
-# extracts all the supported release names (R2017k...) of Matlab
-# internal use
-macro(matlab_get_supported_releases list_releases)
-  set(${list_releases})
-  foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING)
-    string(REGEX MATCHALL "(.+)=([0-9]+\\.?[0-9]*)" _matched ${_var})
-    if(NOT _matched STREQUAL "")
-      list(APPEND ${list_releases} ${CMAKE_MATCH_1})
-    endif()
-    unset(_matched)
-    unset(CMAKE_MATCH_1)
-  endforeach(_var)
-  unset(_var)
-endmacro()
-
-
-
-# extracts all the supported versions of Matlab
-# internal use
-macro(matlab_get_supported_versions list_versions)
-  set(${list_versions})
-  foreach(_var IN LISTS MATLAB_VERSIONS_MAPPING)
-    string(REGEX MATCHALL "(.+)=([0-9]+\\.?[0-9]*)" _matched ${_var})
-    if(NOT _matched STREQUAL "")
-      list(APPEND ${list_versions} ${CMAKE_MATCH_2})
-    endif()
-    unset(_matched)
-    unset(CMAKE_MATCH_1)
-  endforeach(_var)
-  unset(_var)
-endmacro()
-
-
-#.rst:
-# .. command:: matlab_extract_all_installed_versions_from_registry
-#
-#   This function parses the registry and founds the Matlab versions that are
-#   installed. The found versions are returned in `matlab_versions`.
-#   Set `win64` to `TRUE` if the 64 bit version of Matlab should be looked for
-#   The returned list contains all versions under
-#   ``HKLM\\SOFTWARE\\Mathworks\\MATLAB`` or an empty list in case an error
-#   occurred (or nothing found).
-#
-#   .. note::
-#
-#     Only the versions are provided. No check is made over the existence of the
-#     installation referenced in the registry,
-#
-function(matlab_extract_all_installed_versions_from_registry win64 matlab_versions)
-
-  if(NOT CMAKE_HOST_WIN32)
-    message(FATAL_ERROR "This macro can only be called by a windows host (call to reg.exe")
-  endif()
-
-
-  if(${win64} AND ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "64")
-    set(APPEND_REG "/reg:64")
-  else()
-    set(APPEND_REG "/reg:32")
-  endif()
-
-  # /reg:64 should be added on 64 bits capable OSs in order to enable the
-  # redirection of 64 bits applications
-  execute_process(
-    COMMAND reg query HKEY_LOCAL_MACHINE\\SOFTWARE\\Mathworks\\MATLAB /f * /k ${APPEND_REG}
-    RESULT_VARIABLE resultMatlab
-    OUTPUT_VARIABLE varMatlab
-    ERROR_VARIABLE errMatlab
-    INPUT_FILE NUL
-    )
-
-
-  set(matlabs_from_registry)
-  if(${resultMatlab} EQUAL 0)
-
-    string(
-      REGEX MATCHALL "MATLAB\\\\([0-9]+(\\.[0-9]+)?)"
-      matlab_versions_regex ${varMatlab})
-
-    foreach(match IN LISTS matlab_versions_regex)
-      string(
-        REGEX MATCH "MATLAB\\\\(([0-9]+)(\\.([0-9]+))?)"
-        current_match ${match})
-
-      set(_matlab_current_version ${CMAKE_MATCH_1})
-      set(current_matlab_version_major ${CMAKE_MATCH_2})
-      set(current_matlab_version_minor ${CMAKE_MATCH_4})
-      if(NOT current_matlab_version_minor)
-        set(current_matlab_version_minor "0")
-      endif()
-
-      list(APPEND matlabs_from_registry ${_matlab_current_version})
-      unset(_matlab_current_version)
-    endforeach(match)
-
-  endif()
-
-  if(matlabs_from_registry)
-    list(REMOVE_DUPLICATES matlabs_from_registry)
-    list(SORT matlabs_from_registry)
-    list(REVERSE matlabs_from_registry)
-  endif()
-
-  set(${matlab_versions} ${matlabs_from_registry} PARENT_SCOPE)
-
-endfunction()
-
-
-
-# (internal)
-macro(extract_matlab_versions_from_registry_brute_force matlab_versions)
-  # get the supported versions
-  set(matlab_supported_versions)
-  matlab_get_supported_versions(matlab_supported_versions)
-
-
-  # this is a manual population of the versions we want to look for
-  # this can be done as is, but preferably with the call to
-  # matlab_get_supported_versions and variable
-
-  # populating the versions we want to look for
-  # set(matlab_supported_versions)
-
-  # # Matlab 7
-  # set(matlab_major 7)
-  # foreach(current_matlab_minor RANGE 4 20)
-    # list(APPEND matlab_supported_versions "${matlab_major}.${current_matlab_minor}")
-  # endforeach(current_matlab_minor)
-
-  # # Matlab 8
-  # set(matlab_major 8)
-  # foreach(current_matlab_minor RANGE 0 5)
-    # list(APPEND matlab_supported_versions "${matlab_major}.${current_matlab_minor}")
-  # endforeach(current_matlab_minor)
-
-  # # taking into account the possible additional versions provided by the user
-  # if(DEFINED MATLAB_ADDITIONAL_VERSIONS)
-    # list(APPEND matlab_supported_versions MATLAB_ADDITIONAL_VERSIONS)
-  # endif()
-
-
-  # we order from more recent to older
-  if(matlab_supported_versions)
-    list(REMOVE_DUPLICATES matlab_supported_versions)
-    list(SORT matlab_supported_versions)
-    list(REVERSE matlab_supported_versions)
-  endif()
-
-
-  set(${matlab_versions} ${matlab_supported_versions})
-
-
-endmacro()
-
-
-
-
-#.rst:
-# .. command:: matlab_get_all_valid_matlab_roots_from_registry
-#
-#   Populates the Matlab root with valid versions of Matlab.
-#   The returned matlab_roots is organized in pairs
-#   ``(version_number,matlab_root_path)``.
-#
-#   ::
-#
-#     matlab_get_all_valid_matlab_roots_from_registry(
-#         matlab_versions
-#         matlab_roots)
-#
-#   ``matlab_versions``
-#     the versions of each of the Matlab installations
-#   ``matlab_roots``
-#     the location of each of the Matlab installations
-function(matlab_get_all_valid_matlab_roots_from_registry matlab_versions matlab_roots)
-
-  # The matlab_versions comes either from
-  # extract_matlab_versions_from_registry_brute_force or
-  # matlab_extract_all_installed_versions_from_registry.
-
-
-  set(_matlab_roots_list )
-  foreach(_matlab_current_version ${matlab_versions})
-    get_filename_component(
-      current_MATLAB_ROOT
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\${_matlab_current_version};MATLABROOT]"
-      ABSOLUTE)
-
-    if(EXISTS ${current_MATLAB_ROOT})
-      list(APPEND _matlab_roots_list ${_matlab_current_version} ${current_MATLAB_ROOT})
-    endif()
-
-  endforeach(_matlab_current_version)
-  unset(_matlab_current_version)
-  set(${matlab_roots} ${_matlab_roots_list} PARENT_SCOPE)
-  unset(_matlab_roots_list)
-endfunction()
-
-#.rst:
-# .. command:: matlab_get_mex_suffix
-#
-#   Returns the extension of the mex files (the suffixes).
-#   This function should not be called before the appropriate Matlab root has
-#   been found.
-#
-#   ::
-#
-#     matlab_get_mex_suffix(
-#         matlab_root
-#         mex_suffix)
-#
-#   ``matlab_root``
-#     the root of the Matlab installation
-#   ``mex_suffix``
-#     the variable name in which the suffix will be returned.
-function(matlab_get_mex_suffix matlab_root mex_suffix)
-
-  # todo setup the extension properly. Currently I do not know if this is
-  # sufficient for all win32 distributions.
-  # there is also CMAKE_EXECUTABLE_SUFFIX that could be tweaked
-  set(mexext_suffix "")
-  if(WIN32)
-    list(APPEND mexext_suffix ".bat")
-  endif()
-
-  # we first try without suffix, since cmake does not understand a list with
-  # one empty string element
-  find_program(
-    Matlab_MEXEXTENSIONS_PROG
-    NAMES mexext
-    PATHS ${matlab_root}/bin
-    DOC "Matlab MEX extension provider"
-    NO_DEFAULT_PATH
-  )
-
-  foreach(current_mexext_suffix IN LISTS mexext_suffix)
-    if(NOT DEFINED Matlab_MEXEXTENSIONS_PROG OR NOT Matlab_MEXEXTENSIONS_PROG)
-      # this call should populate the cache automatically
-      find_program(
-        Matlab_MEXEXTENSIONS_PROG
-        "mexext${current_mexext_suffix}"
-        PATHS ${matlab_root}/bin
-        DOC "Matlab MEX extension provider"
-        NO_DEFAULT_PATH
-      )
-    endif()
-  endforeach(current_mexext_suffix)
-
-
-  # the program has been found?
-  if((NOT Matlab_MEXEXTENSIONS_PROG) OR (NOT EXISTS ${Matlab_MEXEXTENSIONS_PROG}))
-    if(MATLAB_FIND_DEBUG)
-      message(WARNING "[MATLAB] Cannot found mexext program. Matlab root is ${matlab_root}")
-    endif()
-    unset(Matlab_MEXEXTENSIONS_PROG CACHE)
-    return()
-  endif()
-
-  set(_matlab_mex_extension)
-
-  set(devnull)
-  if(UNIX)
-    set(devnull INPUT_FILE /dev/null)
-  elseif(WIN32)
-    set(devnull INPUT_FILE NUL)
-  endif()
-
-  execute_process(
-    COMMAND ${Matlab_MEXEXTENSIONS_PROG}
-    OUTPUT_VARIABLE _matlab_mex_extension
-    ERROR_VARIABLE _matlab_mex_extension_error
-    ${devnull})
-  string(STRIP ${_matlab_mex_extension} _matlab_mex_extension)
-
-  unset(Matlab_MEXEXTENSIONS_PROG CACHE)
-  set(${mex_suffix} ${_matlab_mex_extension} PARENT_SCOPE)
-endfunction()
-
-
-
-
-#.rst:
-# .. command:: matlab_get_version_from_matlab_run
-#
-#   This function runs Matlab program specified on arguments and extracts its
-#   version.
-#
-#   ::
-#
-#     matlab_get_version_from_matlab_run(
-#         matlab_binary_path
-#         matlab_list_versions)
-#
-#   ``matlab_binary_path``
-#     the location of the `matlab` binary executable
-#   ``matlab_list_versions``
-#     the version extracted from Matlab
-function(matlab_get_version_from_matlab_run matlab_binary_program matlab_list_versions)
-
-  set(${matlab_list_versions} "" PARENT_SCOPE)
-
-
-  if(MATLAB_FIND_DEBUG)
-    message(STATUS "[MATLAB] Determining the version of Matlab from ${matlab_binary_program}")
-  endif()
-
-  if(EXISTS "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
-    if(MATLAB_FIND_DEBUG)
-      message(STATUS "[MATLAB] Removing previous ${_matlab_temporary_folder}/matlabVersionLog.cmaketmp file")
-    endif()
-    file(REMOVE "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
-  endif()
-
-
-  # the log file is needed since on windows the command executes in a new
-  # window and it is not possible to get back the answer of Matlab
-  # the -wait command is needed on windows, otherwise the call returns
-  # immediately after the program launches itself.
-  if(WIN32)
-    set(_matlab_additional_commands "-wait")
-  endif()
-
-  set(devnull)
-  if(UNIX)
-    set(devnull INPUT_FILE /dev/null)
-  elseif(WIN32)
-    set(devnull INPUT_FILE NUL)
-  endif()
-
-  # timeout set to 30 seconds, in case it does not start
-  # note as said before OUTPUT_VARIABLE cannot be used in a platform
-  # independent manner however, not setting it would flush the output of Matlab
-  # in the current console (unix variant)
-  execute_process(
-    COMMAND "${matlab_binary_program}" -nosplash -nojvm ${_matlab_additional_commands} -logfile "matlabVersionLog.cmaketmp" -nodesktop -nodisplay -r "version, exit"
-    OUTPUT_VARIABLE _matlab_version_from_cmd_dummy
-    RESULT_VARIABLE _matlab_result_version_call
-    ERROR_VARIABLE _matlab_result_version_call_error
-    TIMEOUT 30
-    WORKING_DIRECTORY "${_matlab_temporary_folder}"
-    ${devnull}
-    )
-
-
-  if(${_matlab_result_version_call})
-    if(MATLAB_FIND_DEBUG)
-      message(WARNING "[MATLAB] Unable to determine the version of Matlab. Matlab call returned with error ${_matlab_result_version_call}.")
-    endif()
-    return()
-  elseif(NOT EXISTS "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
-    if(MATLAB_FIND_DEBUG)
-      message(WARNING "[MATLAB] Unable to determine the version of Matlab. The log file does not exist.")
-    endif()
-    return()
-  endif()
-
-  # if successful, read back the log
-  file(READ "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp" _matlab_version_from_cmd)
-  file(REMOVE "${_matlab_temporary_folder}/matlabVersionLog.cmaketmp")
-
-  set(index -1)
-  string(FIND ${_matlab_version_from_cmd} "ans" index)
-  if(index EQUAL -1)
-
-    if(MATLAB_FIND_DEBUG)
-      message(WARNING "[MATLAB] Cannot find the version of Matlab returned by the run.")
-    endif()
-
-  else()
-    set(matlab_list_of_all_versions_tmp)
-
-    string(SUBSTRING ${_matlab_version_from_cmd} ${index} -1 substring_ans)
-    string(
-      REGEX MATCHALL "ans[\r\n\t ]*=[\r\n\t ]*([0-9]+(\\.[0-9]+)?)"
-      matlab_versions_regex
-      ${substring_ans})
-    foreach(match IN LISTS matlab_versions_regex)
-      string(
-        REGEX MATCH "ans[\r\n\t ]*=[\r\n\t ]*(([0-9]+)(\\.([0-9]+))?)"
-        current_match ${match})
-
-      list(APPEND matlab_list_of_all_versions_tmp ${CMAKE_MATCH_1})
-    endforeach()
-    if(matlab_list_of_all_versions_tmp)
-      list(REMOVE_DUPLICATES matlab_list_of_all_versions_tmp)
-    endif()
-    set(${matlab_list_versions} ${matlab_list_of_all_versions_tmp} PARENT_SCOPE)
-
-  endif()
-
-endfunction()
-
-
-#.rst:
-# .. command:: matlab_add_unit_test
-#
-#   Adds a Matlab unit test to the test set of cmake/ctest.
-#   This command requires the component ``MAIN_PROGRAM``.
-#   The unit test uses the Matlab unittest framework (default, available
-#   starting Matlab 2013b+) except if the option ``NO_UNITTEST_FRAMEWORK``
-#   is given.
-#
-#   The function expects one Matlab test script file to be given.
-#   In the case ``NO_UNITTEST_FRAMEWORK`` is given, the unittest script file
-#   should contain the script to be run, plus an exit command with the exit
-#   value. This exit value will be passed to the ctest framework (0 success,
-#   non 0 failure). Additional arguments accepted by :command:`add_test` can be
-#   passed through ``TEST_ARGS`` (eg. ``CONFIGURATION <config> ...``).
-#
-#   ::
-#
-#     matlab_add_unit_test(
-#         NAME <name>
-#         UNITTEST_FILE matlab_file_containing_unittest.m
-#         [UNITTEST_PRECOMMAND matlab_command_to_run]
-#         [TIMEOUT timeout]
-#         [ADDITIONAL_PATH path1 [path2 ...]]
-#         [MATLAB_ADDITIONAL_STARTUP_OPTIONS option1 [option2 ...]]
-#         [TEST_ARGS arg1 [arg2 ...]]
-#         [NO_UNITTEST_FRAMEWORK]
-#         )
-#
-#   The function arguments are:
-#
-#   ``NAME``
-#     name of the unittest in ctest.
-#   ``UNITTEST_FILE``
-#     the matlab unittest file. Its path will be automatically
-#     added to the Matlab path.
-#   ``UNITTEST_PRECOMMAND``
-#     Matlab script command to be ran before the file
-#     containing the test (eg. GPU device initialisation based on CMake
-#     variables).
-#   ``TIMEOUT``
-#     the test timeout in seconds. Defaults to 180 seconds as the
-#     Matlab unit test may hang.
-#   ``ADDITIONAL_PATH``
-#     a list of paths to add to the Matlab path prior to
-#     running the unit test.
-#   ``MATLAB_ADDITIONAL_STARTUP_OPTIONS``
-#     a list of additional option in order
-#     to run Matlab from the command line.
-#   ``TEST_ARGS``
-#     Additional options provided to the add_test command. These
-#     options are added to the default options (eg. "CONFIGURATIONS Release")
-#   ``NO_UNITTEST_FRAMEWORK``
-#     when set, indicates that the test should not
-#     use the unittest framework of Matlab (available for versions >= R2013a).
-#
-function(matlab_add_unit_test)
-
-  if(NOT Matlab_MAIN_PROGRAM)
-    message(FATAL_ERROR "[MATLAB] This functionality needs the MAIN_PROGRAM component (not default)")
-  endif()
-
-  set(options NO_UNITTEST_FRAMEWORK)
-  set(oneValueArgs NAME UNITTEST_PRECOMMAND UNITTEST_FILE TIMEOUT)
-  set(multiValueArgs ADDITIONAL_PATH MATLAB_ADDITIONAL_STARTUP_OPTIONS TEST_ARGS)
-
-  set(prefix _matlab_unittest_prefix)
-  cmake_parse_arguments(${prefix} "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-
-  if(NOT ${prefix}_NAME)
-    message(FATAL_ERROR "[MATLAB] The Matlab test name cannot be empty")
-  endif()
-
-  add_test(NAME ${${prefix}_NAME}
-           COMMAND ${CMAKE_COMMAND}
-            -Dtest_name=${${prefix}_NAME}
-            -Dadditional_paths=${${prefix}_ADDITIONAL_PATH}
-            -Dtest_timeout=${${prefix}_TIMEOUT}
-            -Doutput_directory=${_matlab_temporary_folder}
-            -DMatlab_PROGRAM=${Matlab_MAIN_PROGRAM}
-            -Dno_unittest_framework=${${prefix}_NO_UNITTEST_FRAMEWORK}
-            -DMatlab_ADDITIONNAL_STARTUP_OPTIONS=${${prefix}_MATLAB_ADDITIONAL_STARTUP_OPTIONS}
-            -Dunittest_file_to_run=${${prefix}_UNITTEST_FILE}
-            -Dcmd_to_run_before_test=${${prefix}_UNITTEST_PRECOMMAND}
-            -P ${_FindMatlab_SELF_DIR}/MatlabTestsRedirect.cmake
-           ${${prefix}_TEST_ARGS}
-           ${${prefix}_UNPARSED_ARGUMENTS}
-           )
-endfunction()
-
-
-#.rst:
-# .. command:: matlab_add_mex
-#
-#   Adds a Matlab MEX target.
-#   This commands compiles the given sources with the current tool-chain in
-#   order to produce a MEX file. The final name of the produced output may be
-#   specified, as well as additional link libraries, and a documentation entry
-#   for the MEX file. Remaining arguments of the call are passed to the
-#   :command:`add_library` command.
-#
-#   ::
-#
-#      matlab_add_mex(
-#          NAME <name>
-#          SRC src1 [src2 ...]
-#          [OUTPUT_NAME output_name]
-#          [DOCUMENTATION file.txt]
-#          [LINK_TO target1 target2 ...]
-#          [...]
-#      )
-#
-#   ``NAME``
-#     name of the target.
-#   ``SRC``
-#     list of tje source files.
-#   ``LINK_TO``
-#     a list of additional link dependencies.  The target links to ``libmex``
-#     by default. If ``Matlab_MX_LIBRARY`` is defined, it also
-#     links to ``libmx``.
-#   ``OUTPUT_NAME``
-#     if given, overrides the default name. The default name is
-#     the name of the target without any prefix and
-#     with ``Matlab_MEX_EXTENSION`` suffix.
-#   ``DOCUMENTATION``
-#     if given, the file ``file.txt`` will be considered as
-#     being the documentation file for the MEX file. This file is copied into
-#     the same folder without any processing, with the same name as the final
-#     mex file, and with extension `.m`. In that case, typing ``help <name>``
-#     in Matlab prints the documentation contained in this file.
-#
-#   The documentation file is not processed and should be in the following
-#   format:
-#
-#   ::
-#
-#     % This is the documentation
-#     function ret = mex_target_output_name(input1)
-#
-function(matlab_add_mex )
-
-  if(NOT WIN32)
-    # we do not need all this on Windows
-    # pthread options
-    check_cxx_compiler_flag(-pthread                    HAS_MINUS_PTHREAD)
-    # we should use try_compile instead, the link flags are discarded from
-    # this compiler_flag function.
-    #check_cxx_compiler_flag(-Wl,--exclude-libs,ALL HAS_SYMBOL_HIDING_CAPABILITY)
-
-  endif()
-
-  set(oneValueArgs NAME DOCUMENTATION OUTPUT_NAME)
-  set(multiValueArgs LINK_TO SRC)
-
-  set(prefix _matlab_addmex_prefix)
-  cmake_parse_arguments(${prefix} "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-
-  if(NOT ${prefix}_NAME)
-    message(FATAL_ERROR "[MATLAB] The MEX target name cannot be empty")
-  endif()
-
-  if(NOT ${prefix}_OUTPUT_NAME)
-    set(${prefix}_OUTPUT_NAME ${${prefix}_NAME})
-  endif()
-
-  add_library(${${prefix}_NAME}
-    SHARED
-      ${${prefix}_SRC}
-      ${${prefix}_DOCUMENTATION}
-      ${${prefix}_UNPARSED_ARGUMENTS})
-  target_include_directories(${${prefix}_NAME} PRIVATE ${Matlab_INCLUDE_DIRS})
-
-  if(DEFINED Matlab_MX_LIBRARY)
-    target_link_libraries(${${prefix}_NAME} ${Matlab_MX_LIBRARY})
-  endif()
-
-  target_link_libraries(${${prefix}_NAME} ${Matlab_MEX_LIBRARY} ${${prefix}_LINK_TO})
-  set_target_properties(${${prefix}_NAME}
-      PROPERTIES
-        PREFIX ""
-        OUTPUT_NAME ${${prefix}_OUTPUT_NAME}
-        SUFFIX ".${Matlab_MEX_EXTENSION}")
-
-
-  # documentation
-  if(NOT ${${prefix}_DOCUMENTATION} STREQUAL "")
-    get_target_property(output_name ${${prefix}_NAME} OUTPUT_NAME)
-    add_custom_command(
-      TARGET ${${prefix}_NAME}
-      PRE_BUILD
-      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${${prefix}_DOCUMENTATION} $<TARGET_FILE_DIR:${${prefix}_NAME}>/${output_name}.m
-      COMMENT "Copy ${${prefix}_NAME} documentation file into the output folder"
-    )
-  endif() # documentation
-
-  # entry point in the mex file + taking care of visibility and symbol clashes.
-  if(WIN32)
-    set_target_properties(${${prefix}_NAME}
-      PROPERTIES
-        DEFINE_SYMBOL "DLL_EXPORT_SYM=__declspec(dllexport)")
-  else()
-
-    if(HAS_MINUS_PTHREAD AND NOT APPLE)
-      # Apparently, compiling with -pthread generated the proper link flags
-      # and some defines at compilation
-      target_compile_options(${${prefix}_NAME} PRIVATE "-pthread")
-    endif()
-
-
-    # if we do not do that, the symbols linked from eg. boost remain weak and
-    # then clash with the ones defined in the matlab process. So by default
-    # the symbols are hidden.
-    # This also means that for shared libraries (like MEX), the entry point
-    # should be explicitly declared with default visibility, otherwise Matlab
-    # cannot find the entry point.
-    # Note that this is particularly meaningful if the MEX wrapper itself
-    # contains symbols that are clashing with Matlab (that are compiled in the
-    # MEX file). In order to propagate the visibility options to the libraries
-    # to which the MEX file is linked against, the -Wl,--exclude-libs,ALL
-    # option should also be specified.
-
-    set_target_properties(${${prefix}_NAME}
-      PROPERTIES
-        CXX_VISIBILITY_PRESET "hidden"
-        C_VISIBILITY_PRESET "hidden"
-        VISIBILITY_INLINES_HIDDEN ON
-    )
-
-    #  get_target_property(
-    #    _previous_link_flags
-    #    ${${prefix}_NAME}
-    #    LINK_FLAGS)
-    #  if(NOT _previous_link_flags)
-    #    set(_previous_link_flags)
-    #  endif()
-
-    #  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-    #    set_target_properties(${${prefix}_NAME}
-    #      PROPERTIES
-    #        LINK_FLAGS "${_previous_link_flags} -Wl,--exclude-libs,ALL"
-    #        # -Wl,--version-script=${_FindMatlab_SELF_DIR}/MatlabLinuxVisibility.map"
-    #    )
-    #  elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-    #    # in this case, all other symbols become hidden.
-    #    set_target_properties(${${prefix}_NAME}
-    #      PROPERTIES
-    #        LINK_FLAGS "${_previous_link_flags} -Wl,-exported_symbol,_mexFunction"
-    #        #-Wl,-exported_symbols_list,${_FindMatlab_SELF_DIR}/MatlabOSXVisilibity.map"
-    #    )
-    #  endif()
-
-
-
-    set_target_properties(${${prefix}_NAME}
-      PROPERTIES
-        DEFINE_SYMBOL "DLL_EXPORT_SYM=__attribute__ ((visibility (\"default\")))"
-    )
-
-
-  endif()
-
-endfunction()
-
-
-# (internal)
-# Used to get the version of matlab, using caching. This basically transforms the
-# output of the root list, with possible unknown version, to a version
-#
-function(_Matlab_get_version_from_root matlab_root matlab_known_version matlab_final_version)
-
-  # if the version is not trivial, we query matlab for that
-  # we keep track of the location of matlab that induced this version
-  #if(NOT DEFINED Matlab_PROG_VERSION_STRING_AUTO_DETECT)
-  #  set(Matlab_PROG_VERSION_STRING_AUTO_DETECT "" CACHE INTERNAL "internal matlab location for the discovered version")
-  #endif()
-
-  if(NOT ${matlab_known_version} STREQUAL "NOTFOUND")
-    # the version is known, we just return it
-    set(${matlab_final_version} ${matlab_known_version} PARENT_SCOPE)
-    set(Matlab_VERSION_STRING_INTERNAL ${matlab_known_version} CACHE INTERNAL "Matlab version (automatically determined)" FORCE)
-    return()
-  endif()
-
-  #
-  set(_matlab_current_program ${Matlab_MAIN_PROGRAM})
-
-  # do we already have a matlab program?
-  if(NOT _matlab_current_program)
-
-    set(_find_matlab_options)
-    if(matlab_root AND EXISTS ${matlab_root})
-      set(_find_matlab_options PATHS ${matlab_root} ${matlab_root}/bin NO_DEFAULT_PATH)
-    endif()
-
-    find_program(
-        _matlab_current_program
-        matlab
-        ${_find_matlab_options}
-        DOC "Matlab main program"
-      )
-  endif()
-
-  if(NOT _matlab_current_program OR NOT EXISTS ${_matlab_current_program})
-    # if not found, clear the dependent variables
-    if(MATLAB_FIND_DEBUG)
-      message(WARNING "[MATLAB] Cannot find the main matlab program under ${matlab_root}")
-    endif()
-    set(Matlab_PROG_VERSION_STRING_AUTO_DETECT "" CACHE INTERNAL "internal matlab location for the discovered version" FORCE)
-    set(Matlab_VERSION_STRING_INTERNAL "" CACHE INTERNAL "internal matlab location for the discovered version" FORCE)
-    unset(_matlab_current_program)
-    unset(_matlab_current_program CACHE)
-    return()
-  endif()
-
-  # full real path for path comparison
-  get_filename_component(_matlab_main_real_path_tmp "${_matlab_current_program}" REALPATH)
-  unset(_matlab_current_program)
-  unset(_matlab_current_program CACHE)
-
-  # is it the same as the previous one?
-  if(_matlab_main_real_path_tmp STREQUAL Matlab_PROG_VERSION_STRING_AUTO_DETECT)
-    set(${matlab_final_version} ${Matlab_VERSION_STRING_INTERNAL} PARENT_SCOPE)
-    return()
-  endif()
-
-  # update the location of the program
-  set(Matlab_PROG_VERSION_STRING_AUTO_DETECT ${_matlab_main_real_path_tmp} CACHE INTERNAL "internal matlab location for the discovered version" FORCE)
-
-  set(matlab_list_of_all_versions)
-  matlab_get_version_from_matlab_run("${Matlab_PROG_VERSION_STRING_AUTO_DETECT}" matlab_list_of_all_versions)
-
-  list(GET matlab_list_of_all_versions 0 _matlab_version_tmp)
-
-  # set the version into the cache
-  set(Matlab_VERSION_STRING_INTERNAL ${_matlab_version_tmp} CACHE INTERNAL "Matlab version (automatically determined)" FORCE)
-
-  # warning, just in case several versions found (should not happen)
-  list(LENGTH matlab_list_of_all_versions list_of_all_versions_length)
-  if((${list_of_all_versions_length} GREATER 1) AND MATLAB_FIND_DEBUG)
-    message(WARNING "[MATLAB] Found several versions, taking the first one (versions found ${matlab_list_of_all_versions})")
-  endif()
-
-  # return the updated value
-  set(${matlab_final_version} ${Matlab_VERSION_STRING_INTERNAL} PARENT_SCOPE)
-
-endfunction()
-
-
-
-
-
-
-
-# ###################################
-# Exploring the possible Matlab_ROOTS
-
-# this variable will get all Matlab installations found in the current system.
-set(_matlab_possible_roots)
-
-
-
-if(Matlab_ROOT_DIR)
-  # if the user specifies a possible root, we keep this one
-
-  if(NOT EXISTS ${Matlab_ROOT_DIR})
-    # if Matlab_ROOT_DIR specified but erroneous
-    if(MATLAB_FIND_DEBUG)
-      message(WARNING "[MATLAB] the specified path for Matlab_ROOT_DIR does not exist (${Matlab_ROOT_DIR})")
-    endif()
-  else()
-    # NOTFOUND indicates the code below to search for the version automatically
-    if("${Matlab_VERSION_STRING_INTERNAL}" STREQUAL "")
-      list(APPEND _matlab_possible_roots "NOTFOUND" ${Matlab_ROOT_DIR}) # empty version
-    else()
-      list(APPEND _matlab_possible_roots ${Matlab_VERSION_STRING_INTERNAL} ${Matlab_ROOT_DIR}) # cached version
-    endif()
-  endif()
-
-
-else()
-
-  # if the user does not specify the possible installation root, we look for
-  # one installation using the appropriate heuristics
-
-  if(WIN32)
-
-    # On WIN32, we look for Matlab installation in the registry
-    # if unsuccessful, we look for all known revision and filter the existing
-    # ones.
-
-    # testing if we are able to extract the needed information from the registry
-    set(_matlab_versions_from_registry)
-    matlab_extract_all_installed_versions_from_registry(CMAKE_CL_64 _matlab_versions_from_registry)
-
-    # the returned list is empty, doing the search on all known versions
-    if(NOT _matlab_versions_from_registry)
-
-      if(MATLAB_FIND_DEBUG)
-        message(STATUS "[MATLAB] Search for Matlab from the registry unsuccessful, testing all supported versions")
-      endif()
-
-      extract_matlab_versions_from_registry_brute_force(_matlab_versions_from_registry)
-    endif()
-
-    # filtering the results with the registry keys
-    matlab_get_all_valid_matlab_roots_from_registry("${_matlab_versions_from_registry}" _matlab_possible_roots)
-    unset(_matlab_versions_from_registry)
-
-  elseif(APPLE)
-
-    # on mac, we look for the /Application paths
-    # this corresponds to the behaviour on Windows. On Linux, we do not have
-    # any other guess.
-    matlab_get_supported_releases(_matlab_releases)
-    if(MATLAB_FIND_DEBUG)
-      message(STATUS "[MATLAB] Matlab supported versions ${_matlab_releases}. If more version should be supported "
-                   "the variable MATLAB_ADDITIONAL_VERSIONS can be set according to the documentation")
-    endif()
-
-    foreach(_matlab_current_release IN LISTS _matlab_releases)
-      set(_matlab_full_string "/Applications/MATLAB_${_matlab_current_release}.app")
-      if(EXISTS ${_matlab_full_string})
-        set(_matlab_current_version)
-        matlab_get_version_from_release_name("${_matlab_current_release}" _matlab_current_version)
-        if(MATLAB_FIND_DEBUG)
-          message(STATUS "[MATLAB] Found version ${_matlab_current_release} (${_matlab_current_version}) in ${_matlab_full_string}")
-        endif()
-        list(APPEND _matlab_possible_roots ${_matlab_current_version} ${_matlab_full_string})
-        unset(_matlab_current_version)
-      endif()
-
-      unset(_matlab_full_string)
-    endforeach(_matlab_current_release)
-
-    unset(_matlab_current_release)
-    unset(_matlab_releases)
-
-  endif()
-
-endif()
-
-
-
-list(LENGTH _matlab_possible_roots _numbers_of_matlab_roots)
-if(_numbers_of_matlab_roots EQUAL 0)
-  # if we have not found anything, we fall back on the PATH
-
-
-  # At this point, we have no other choice than trying to find it from PATH.
-  # If set by the user, this wont change
-  find_program(
-    _matlab_main_tmp
-    NAMES matlab)
-
-
-  if(_matlab_main_tmp)
-    # we then populate the list of roots, with empty version
-    if(MATLAB_FIND_DEBUG)
-      message(STATUS "[MATLAB] matlab found from PATH: ${_matlab_main_tmp}")
-    endif()
-
-    # resolve symlinks
-    get_filename_component(_matlab_current_location "${_matlab_main_tmp}" REALPATH)
-
-    # get the directory (the command below has to be run twice)
-    # this will be the matlab root
-    get_filename_component(_matlab_current_location "${_matlab_current_location}" DIRECTORY)
-    get_filename_component(_matlab_current_location "${_matlab_current_location}" DIRECTORY) # Matlab should be in bin
-
-    list(APPEND _matlab_possible_roots "NOTFOUND" ${_matlab_current_location})
-
-    unset(_matlab_current_location)
-
-  endif()
-  unset(_matlab_main_tmp CACHE)
-
-endif()
-
-
-
-
-
-if(MATLAB_FIND_DEBUG)
-  message(STATUS "[MATLAB] Matlab root folders are ${_matlab_possible_roots}")
-endif()
-
-
-
-
-
-# take the first possible Matlab root
-list(LENGTH _matlab_possible_roots _numbers_of_matlab_roots)
-set(Matlab_VERSION_STRING "NOTFOUND")
-if(_numbers_of_matlab_roots GREATER 0)
-  list(GET _matlab_possible_roots 0 Matlab_VERSION_STRING)
-  list(GET _matlab_possible_roots 1 Matlab_ROOT_DIR)
-
-  # adding a warning in case of ambiguity
-  if(_numbers_of_matlab_roots GREATER 2 AND MATLAB_FIND_DEBUG)
-    message(WARNING "[MATLAB] Found several distributions of Matlab. Setting the current version to ${Matlab_VERSION_STRING} (located ${Matlab_ROOT_DIR})."
-                    " If this is not the desired behaviour, provide the -DMatlab_ROOT_DIR=... on the command line")
-  endif()
-endif()
-
-
-# check if the root changed against the previous defined one, if so
-# clear all the cached variables
-if(DEFINED Matlab_ROOT_DIR_LAST_CACHED)
-
-  if(NOT Matlab_ROOT_DIR_LAST_CACHED STREQUAL Matlab_ROOT_DIR)
-    set(_Matlab_cached_vars
-        Matlab_INCLUDE_DIRS
-        Matlab_MEX_LIBRARY
-        Matlab_MEX_COMPILER
-        Matlab_MAIN_PROGRAM
-        Matlab_MX_LIBRARY
-        Matlab_ENG_LIBRARY
-        Matlab_MEX_EXTENSION
-
-        # internal
-        Matlab_MEXEXTENSIONS_PROG
-        Matlab_ROOT_DIR_LAST_CACHED
-        #Matlab_PROG_VERSION_STRING_AUTO_DETECT
-        Matlab_VERSION_STRING_INTERNAL
-        )
-    foreach(_var IN LISTS _Matlab_cached_vars)
-      if(DEFINED ${_var})
-        unset(${_var} CACHE)
-      endif()
-    endforeach()
-  endif()
-endif()
-
-set(Matlab_ROOT_DIR_LAST_CACHED ${Matlab_ROOT_DIR} CACHE INTERNAL "last Matlab root dir location")
-set(Matlab_ROOT_DIR ${Matlab_ROOT_DIR} CACHE PATH "Matlab installation root path" FORCE)
-
-# Fix the version, in case this one is NOTFOUND
-_Matlab_get_version_from_root(
-  "${Matlab_ROOT_DIR}"
-  ${Matlab_VERSION_STRING}
-  Matlab_VERSION_STRING
-)
-
-
-
-
-if(MATLAB_FIND_DEBUG)
-  message(STATUS "[MATLAB] Current version is ${Matlab_VERSION_STRING} located ${Matlab_ROOT_DIR}")
-endif()
-
-
-
-if(Matlab_ROOT_DIR)
-  file(TO_CMAKE_PATH ${Matlab_ROOT_DIR} Matlab_ROOT_DIR)
-endif()
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 4)
-  set(_matlab_64Build FALSE)
-else()
-  set(_matlab_64Build TRUE)
-endif()
-
-if(APPLE)
-  set(_matlab_bin_prefix "mac") # i should be for intel
-  set(_matlab_bin_suffix_32bits "i")
-  set(_matlab_bin_suffix_64bits "i64")
-elseif(UNIX)
-  set(_matlab_bin_prefix "gln")
-  set(_matlab_bin_suffix_32bits "x86")
-  set(_matlab_bin_suffix_64bits "xa64")
-else()
-  set(_matlab_bin_prefix "win")
-  set(_matlab_bin_suffix_32bits "32")
-  set(_matlab_bin_suffix_64bits "64")
-endif()
-
-
-
-set(MATLAB_INCLUDE_DIR_TO_LOOK ${Matlab_ROOT_DIR}/extern/include)
-if(_matlab_64Build)
-  set(_matlab_current_suffix ${_matlab_bin_suffix_64bits})
-else()
-  set(_matlab_current_suffix ${_matlab_bin_suffix_32bits})
-endif()
-
-set(Matlab_BINARIES_DIR
-    ${Matlab_ROOT_DIR}/bin/${_matlab_bin_prefix}${_matlab_current_suffix})
-set(Matlab_EXTERN_LIBRARY_DIR
-    ${Matlab_ROOT_DIR}/extern/lib/${_matlab_bin_prefix}${_matlab_current_suffix})
-
-if(WIN32)
-  set(_matlab_lib_dir_for_search ${Matlab_EXTERN_LIBRARY_DIR}/microsoft)
-  set(_matlab_lib_prefix_for_search "lib")
-else()
-  set(_matlab_lib_dir_for_search ${Matlab_BINARIES_DIR})
-  set(_matlab_lib_prefix_for_search "lib")
-endif()
-
-unset(_matlab_64Build)
-
-
-if(NOT DEFINED Matlab_MEX_EXTENSION)
-  set(_matlab_mex_extension "")
-  matlab_get_mex_suffix("${Matlab_ROOT_DIR}" _matlab_mex_extension)
-
-  # This variable goes to the cache.
-  set(Matlab_MEX_EXTENSION ${_matlab_mex_extension} CACHE STRING "Extensions for the mex targets (automatically given by Matlab)")
-  unset(_matlab_mex_extension)
-endif()
-
-
-if(MATLAB_FIND_DEBUG)
-  message(STATUS "[MATLAB] [DEBUG]_matlab_lib_prefix_for_search = ${_matlab_lib_prefix_for_search} | _matlab_lib_dir_for_search = ${_matlab_lib_dir_for_search}")
-endif()
-
-
-
-# internal
-# This small stub around find_library is to prevent any pollution of CMAKE_FIND_LIBRARY_PREFIXES in the global scope.
-# This is the function to be used below instead of the find_library directives.
-function(_Matlab_find_library _matlab_library_prefix)
-  set(CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} ${_matlab_library_prefix})
-  find_library(${ARGN})
-endfunction()
-
-
-set(_matlab_required_variables)
-
-
-# the MEX library/header are required
-find_path(
-  Matlab_INCLUDE_DIRS
-  mex.h
-  PATHS ${MATLAB_INCLUDE_DIR_TO_LOOK}
-  NO_DEFAULT_PATH
-  )
-list(APPEND _matlab_required_variables Matlab_INCLUDE_DIRS)
-
-_Matlab_find_library(
-  ${_matlab_lib_prefix_for_search}
-  Matlab_MEX_LIBRARY
-  mex
-  PATHS ${_matlab_lib_dir_for_search}
-  NO_DEFAULT_PATH
-)
-
-
-list(APPEND _matlab_required_variables Matlab_MEX_LIBRARY)
-
-# the MEX extension is required
-list(APPEND _matlab_required_variables Matlab_MEX_EXTENSION)
-
-# the matlab root is required
-list(APPEND _matlab_required_variables Matlab_ROOT_DIR)
-
-
-# component Mex Compiler
-list(FIND Matlab_FIND_COMPONENTS MEX_COMPILER _matlab_find_mex_compiler)
-if(_matlab_find_mex_compiler GREATER -1)
-  find_program(
-    Matlab_MEX_COMPILER
-    "mex"
-    PATHS ${Matlab_BINARIES_DIR}
-    DOC "Matlab MEX compiler"
-    NO_DEFAULT_PATH
-  )
-
-  if(Matlab_MEX_COMPILER)
-    set(Matlab_MEX_COMPILER_FOUND TRUE)
-  endif()
-endif()
-unset(_matlab_find_mex_compiler)
-
-# component Matlab program
-list(FIND Matlab_FIND_COMPONENTS MAIN_PROGRAM _matlab_find_matlab_program)
-if(_matlab_find_matlab_program GREATER -1)
-
-  find_program(
-    Matlab_MAIN_PROGRAM
-    matlab
-    PATHS ${Matlab_ROOT_DIR} ${Matlab_ROOT_DIR}/bin
-    DOC "Matlab main program"
-    NO_DEFAULT_PATH
-  )
-
-  if(Matlab_MAIN_PROGRAM)
-    set(Matlab_MAIN_PROGRAM_FOUND TRUE)
-  endif()
-
-endif()
-unset(_matlab_find_matlab_program)
-
-# Component MX library
-list(FIND Matlab_FIND_COMPONENTS MX_LIBRARY _matlab_find_mx)
-if(_matlab_find_mx GREATER -1)
-  _Matlab_find_library(
-    ${_matlab_lib_prefix_for_search}
-    Matlab_MX_LIBRARY
-    mx
-    PATHS ${_matlab_lib_dir_for_search}
-    NO_DEFAULT_PATH
-  )
-
-  if(Matlab_MX_LIBRARY)
-    set(Matlab_MX_LIBRARY_FOUND TRUE)
-  endif()
-endif()
-unset(_matlab_find_mx)
-
-
-# Component ENG library
-list(FIND Matlab_FIND_COMPONENTS ENG_LIBRARY _matlab_find_eng)
-if(_matlab_find_eng GREATER -1)
-  _Matlab_find_library(
-    ${_matlab_lib_prefix_for_search}
-    Matlab_ENG_LIBRARY
-    eng
-    PATHS ${_matlab_lib_dir_for_search}
-    NO_DEFAULT_PATH
-  )
-  if(Matlab_ENG_LIBRARY)
-    set(Matlab_ENG_LIBRARY_FOUND TRUE)
-  endif()
-endif()
-unset(_matlab_find_eng)
-
-
-
-
-
-unset(_matlab_lib_dir_for_search)
-
-
-set(Matlab_LIBRARIES ${Matlab_MEX_LIBRARY} ${Matlab_MX_LIBRARY} ${Matlab_ENG_LIBRARY})
-
-
-find_package_handle_standard_args(
-  Matlab
-  FOUND_VAR Matlab_FOUND
-  REQUIRED_VARS ${_matlab_required_variables}
-  VERSION_VAR Matlab_VERSION_STRING
-  HANDLE_COMPONENTS)
-
-unset(_matlab_required_variables)
-unset(_matlab_bin_prefix)
-unset(_matlab_bin_suffix_32bits)
-unset(_matlab_bin_suffix_64bits)
-unset(_matlab_current_suffix)
-unset(_matlab_lib_dir_for_search)
-unset(_matlab_lib_prefix_for_search)
-
-if(Matlab_INCLUDE_DIRS AND Matlab_LIBRARIES)
-  mark_as_advanced(
-    #Matlab_LIBRARIES
-    Matlab_MEX_LIBRARY
-    Matlab_MX_LIBRARY
-    Matlab_ENG_LIBRARY
-    Matlab_INCLUDE_DIRS
-    Matlab_FOUND
-    #Matlab_ROOT_DIR
-    #Matlab_VERSION_STRING
-    Matlab_MAIN_PROGRAM
-    #Matlab_MEX_EXTENSION
-    Matlab_MEXEXTENSIONS_PROG
-    Matlab_MEX_EXTENSION
-    #Matlab_BINARIES_DIR
-  )
-endif()
diff --git a/share/cmake-3.6/Modules/FindMotif.cmake b/share/cmake-3.6/Modules/FindMotif.cmake
deleted file mode 100644
index a08ece4..0000000
--- a/share/cmake-3.6/Modules/FindMotif.cmake
+++ /dev/null
@@ -1,52 +0,0 @@
-#.rst:
-# FindMotif
-# ---------
-#
-# Try to find Motif (or lesstif)
-#
-# Once done this will define:
-#
-# ::
-#
-#   MOTIF_FOUND        - system has MOTIF
-#   MOTIF_INCLUDE_DIR  - include paths to use Motif
-#   MOTIF_LIBRARIES    - Link these to use Motif
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(MOTIF_FOUND 0)
-
-if(UNIX)
-  find_path(MOTIF_INCLUDE_DIR
-    Xm/Xm.h
-    /usr/openwin/include
-    )
-
-  find_library(MOTIF_LIBRARIES
-    Xm
-    /usr/openwin/lib
-    )
-
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set MOTIF_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Motif DEFAULT_MSG MOTIF_LIBRARIES MOTIF_INCLUDE_DIR)
-
-
-mark_as_advanced(
-  MOTIF_INCLUDE_DIR
-  MOTIF_LIBRARIES
-)
diff --git a/share/cmake-3.6/Modules/FindOpenAL.cmake b/share/cmake-3.6/Modules/FindOpenAL.cmake
deleted file mode 100644
index eb63cef..0000000
--- a/share/cmake-3.6/Modules/FindOpenAL.cmake
+++ /dev/null
@@ -1,110 +0,0 @@
-#.rst:
-# FindOpenAL
-# ----------
-#
-#
-#
-# Locate OpenAL This module defines OPENAL_LIBRARY OPENAL_FOUND, if
-# false, do not try to link to OpenAL OPENAL_INCLUDE_DIR, where to find
-# the headers
-#
-# $OPENALDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OPENALDIR used in building OpenAL.
-#
-# Created by Eric Wing.  This was influenced by the FindSDL.cmake
-# module.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This makes the presumption that you are include al.h like
-# #include "al.h"
-# and not
-# #include <AL/al.h>
-# The reason for this is that the latter is not entirely portable.
-# Windows/Creative Labs does not by default put their headers in AL/ and
-# OS X uses the convention <OpenAL/al.h>.
-#
-# For Windows, Creative Labs seems to have added a registry key for their
-# OpenAL 1.1 installer. I have added that key to the list of search paths,
-# however, the key looks like it could be a little fragile depending on
-# if they decide to change the 1.00.0000 number for bug fix releases.
-# Also, they seem to have laid down groundwork for multiple library platforms
-# which puts the library in an extra subdirectory. Currently there is only
-# Win32 and I have hardcoded that here. This may need to be adjusted as
-# platforms are introduced.
-# The OpenAL 1.0 installer doesn't seem to have a useful key I can use.
-# I do not know if the Nvidia OpenAL SDK has a registry key.
-#
-# For OS X, remember that OpenAL was added by Apple in 10.4 (Tiger).
-# To support the framework, I originally wrote special framework detection
-# code in this module which I have now removed with CMake's introduction
-# of native support for frameworks.
-# In addition, OpenAL is open source, and it is possible to compile on Panther.
-# Furthermore, due to bugs in the initial OpenAL release, and the
-# transition to OpenAL 1.1, it is common to need to override the built-in
-# framework.
-# Per my request, CMake should search for frameworks first in
-# the following order:
-# ~/Library/Frameworks/OpenAL.framework/Headers
-# /Library/Frameworks/OpenAL.framework/Headers
-# /System/Library/Frameworks/OpenAL.framework/Headers
-#
-# On OS X, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of
-# OPENAL_LIBRARY to override this selection or set the CMake environment
-# CMAKE_INCLUDE_PATH to modify the search paths.
-
-find_path(OPENAL_INCLUDE_DIR al.h
-  HINTS
-    ENV OPENALDIR
-  PATH_SUFFIXES include/AL include/OpenAL include
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw # Fink
-  /opt/local # DarwinPorts
-  /opt/csw # Blastwave
-  /opt
-  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
-)
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(_OpenAL_ARCH_DIR libs/Win64)
-else()
-  set(_OpenAL_ARCH_DIR libs/Win32)
-endif()
-
-find_library(OPENAL_LIBRARY
-  NAMES OpenAL al openal OpenAL32
-  HINTS
-    ENV OPENALDIR
-  PATH_SUFFIXES lib64 lib libs64 libs ${_OpenAL_ARCH_DIR}
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
-)
-
-unset(_OpenAL_ARCH_DIR)
-
-# handle the QUIETLY and REQUIRED arguments and set OPENAL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenAL  DEFAULT_MSG  OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
-
-mark_as_advanced(OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindOpenCL.cmake b/share/cmake-3.6/Modules/FindOpenCL.cmake
deleted file mode 100644
index 4d3ed84..0000000
--- a/share/cmake-3.6/Modules/FindOpenCL.cmake
+++ /dev/null
@@ -1,136 +0,0 @@
-#.rst:
-# FindOpenCL
-# ----------
-#
-# Try to find OpenCL
-#
-# Once done this will define::
-#
-#   OpenCL_FOUND          - True if OpenCL was found
-#   OpenCL_INCLUDE_DIRS   - include directories for OpenCL
-#   OpenCL_LIBRARIES      - link against this library to use OpenCL
-#   OpenCL_VERSION_STRING - Highest supported OpenCL version (eg. 1.2)
-#   OpenCL_VERSION_MAJOR  - The major version of the OpenCL implementation
-#   OpenCL_VERSION_MINOR  - The minor version of the OpenCL implementation
-#
-# The module will also define two cache variables::
-#
-#   OpenCL_INCLUDE_DIR    - the OpenCL include directory
-#   OpenCL_LIBRARY        - the path to the OpenCL library
-#
-
-#=============================================================================
-# Copyright 2014 Matthaeus G. Chajdas
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(_FIND_OPENCL_VERSION)
-  include(CheckSymbolExists)
-  include(CMakePushCheckState)
-  set(CMAKE_REQUIRED_QUIET ${OpenCL_FIND_QUIETLY})
-
-  CMAKE_PUSH_CHECK_STATE()
-  foreach(VERSION "2_0" "1_2" "1_1" "1_0")
-    set(CMAKE_REQUIRED_INCLUDES "${OpenCL_INCLUDE_DIR}")
-
-    if(APPLE)
-      CHECK_SYMBOL_EXISTS(
-        CL_VERSION_${VERSION}
-        "${OpenCL_INCLUDE_DIR}/OpenCL/cl.h"
-        OPENCL_VERSION_${VERSION})
-    else()
-      CHECK_SYMBOL_EXISTS(
-        CL_VERSION_${VERSION}
-        "${OpenCL_INCLUDE_DIR}/CL/cl.h"
-        OPENCL_VERSION_${VERSION})
-    endif()
-
-    if(OPENCL_VERSION_${VERSION})
-      string(REPLACE "_" "." VERSION "${VERSION}")
-      set(OpenCL_VERSION_STRING ${VERSION} PARENT_SCOPE)
-      string(REGEX MATCHALL "[0-9]+" version_components "${VERSION}")
-      list(GET version_components 0 major_version)
-      list(GET version_components 1 minor_version)
-      set(OpenCL_VERSION_MAJOR ${major_version} PARENT_SCOPE)
-      set(OpenCL_VERSION_MINOR ${minor_version} PARENT_SCOPE)
-      break()
-    endif()
-  endforeach()
-  CMAKE_POP_CHECK_STATE()
-endfunction()
-
-find_path(OpenCL_INCLUDE_DIR
-  NAMES
-    CL/cl.h OpenCL/cl.h
-  PATHS
-    ENV "PROGRAMFILES(X86)"
-    ENV AMDAPPSDKROOT
-    ENV INTELOCLSDKROOT
-    ENV NVSDKCOMPUTE_ROOT
-    ENV CUDA_PATH
-    ENV ATISTREAMSDKROOT
-  PATH_SUFFIXES
-    include
-    OpenCL/common/inc
-    "AMD APP/include")
-
-_FIND_OPENCL_VERSION()
-
-if(WIN32)
-  if(CMAKE_SIZEOF_VOID_P EQUAL 4)
-    find_library(OpenCL_LIBRARY
-      NAMES OpenCL
-      PATHS
-        ENV "PROGRAMFILES(X86)"
-        ENV AMDAPPSDKROOT
-        ENV INTELOCLSDKROOT
-        ENV CUDA_PATH
-        ENV NVSDKCOMPUTE_ROOT
-        ENV ATISTREAMSDKROOT
-      PATH_SUFFIXES
-        "AMD APP/lib/x86"
-        lib/x86
-        lib/Win32
-        OpenCL/common/lib/Win32)
-  elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    find_library(OpenCL_LIBRARY
-      NAMES OpenCL
-      PATHS
-        ENV "PROGRAMFILES(X86)"
-        ENV AMDAPPSDKROOT
-        ENV INTELOCLSDKROOT
-        ENV CUDA_PATH
-        ENV NVSDKCOMPUTE_ROOT
-        ENV ATISTREAMSDKROOT
-      PATH_SUFFIXES
-        "AMD APP/lib/x86_64"
-        lib/x86_64
-        lib/x64
-        OpenCL/common/lib/x64)
-  endif()
-else()
-  find_library(OpenCL_LIBRARY
-    NAMES OpenCL)
-endif()
-
-set(OpenCL_LIBRARIES ${OpenCL_LIBRARY})
-set(OpenCL_INCLUDE_DIRS ${OpenCL_INCLUDE_DIR})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(
-  OpenCL
-  FOUND_VAR OpenCL_FOUND
-  REQUIRED_VARS OpenCL_LIBRARY OpenCL_INCLUDE_DIR
-  VERSION_VAR OpenCL_VERSION_STRING)
-
-mark_as_advanced(
-  OpenCL_INCLUDE_DIR
-  OpenCL_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindOpenGL.cmake b/share/cmake-3.6/Modules/FindOpenGL.cmake
deleted file mode 100644
index 93e488b..0000000
--- a/share/cmake-3.6/Modules/FindOpenGL.cmake
+++ /dev/null
@@ -1,180 +0,0 @@
-#.rst:
-# FindOpenGL
-# ----------
-#
-# FindModule for OpenGL and GLU.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module sets the following variables:
-#
-# ``OPENGL_FOUND``
-#  True, if the system has OpenGL.
-# ``OPENGL_XMESA_FOUND``
-#  True, if the system has XMESA.
-# ``OPENGL_GLU_FOUND``
-#  True, if the system has GLU.
-# ``OPENGL_INCLUDE_DIR``
-#  Path to the OpenGL include directory.
-# ``OPENGL_LIBRARIES``
-#  Paths to the OpenGL and GLU libraries.
-#
-# If you want to use just GL you can use these values:
-#
-# ``OPENGL_gl_LIBRARY``
-#  Path to the OpenGL library.
-# ``OPENGL_glu_LIBRARY``
-#  Path to the GLU library.
-#
-# OSX Specific
-# ^^^^^^^^^^^^
-#
-# On OSX default to using the framework version of OpenGL. People will
-# have to change the cache values of OPENGL_glu_LIBRARY and
-# OPENGL_gl_LIBRARY to use OpenGL with X11 on OSX.
-
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
-
-if (CYGWIN)
-
-  find_path(OPENGL_INCLUDE_DIR GL/gl.h )
-  list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
-
-  find_library(OPENGL_gl_LIBRARY opengl32 )
-
-  find_library(OPENGL_glu_LIBRARY glu32 )
-
-elseif (WIN32)
-
-  if(BORLAND)
-    set (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
-    set (OPENGL_glu_LIBRARY import32 CACHE STRING "GLU library for win32")
-  else()
-    set (OPENGL_gl_LIBRARY opengl32 CACHE STRING "OpenGL library for win32")
-    set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
-  endif()
-
-elseif (APPLE)
-
-  # The OpenGL.framework provides both gl and glu
-  find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL library for OS X")
-  find_library(OPENGL_glu_LIBRARY OpenGL DOC
-    "GLU library for OS X (usually same as OpenGL library)")
-  find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OS X")
-  list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
-
-else()
-  if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
-    # Handle HP-UX cases where we only want to find OpenGL in either hpux64
-    # or hpux32 depending on if we're doing a 64 bit build.
-    if(CMAKE_SIZEOF_VOID_P EQUAL 4)
-      set(_OPENGL_LIB_PATH
-        /opt/graphics/OpenGL/lib/hpux32/)
-    else()
-      set(_OPENGL_LIB_PATH
-        /opt/graphics/OpenGL/lib/hpux64/
-        /opt/graphics/OpenGL/lib/pa20_64)
-    endif()
-  elseif(CMAKE_SYSTEM_NAME STREQUAL Haiku)
-    set(_OPENGL_LIB_PATH
-      /boot/develop/lib/x86)
-    set(_OPENGL_INCLUDE_PATH
-      /boot/develop/headers/os/opengl)
-  endif()
-
-  # The first line below is to make sure that the proper headers
-  # are used on a Linux machine with the NVidia drivers installed.
-  # They replace Mesa with NVidia's own library but normally do not
-  # install headers and that causes the linking to
-  # fail since the compiler finds the Mesa headers but NVidia's library.
-  # Make sure the NVIDIA directory comes BEFORE the others.
-  #  - Atanas Georgiev <atanas@cs.columbia.edu>
-
-  find_path(OPENGL_INCLUDE_DIR GL/gl.h
-    /usr/share/doc/NVIDIA_GLX-1.0/include
-    /usr/openwin/share/include
-    /opt/graphics/OpenGL/include /usr/X11R6/include
-    ${_OPENGL_INCLUDE_PATH}
-  )
-  list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
-
-  find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
-    /usr/share/doc/NVIDIA_GLX-1.0/include
-    /usr/openwin/share/include
-    /opt/graphics/OpenGL/include /usr/X11R6/include
-  )
-
-  find_library(OPENGL_gl_LIBRARY
-    NAMES GL MesaGL
-    PATHS /opt/graphics/OpenGL/lib
-          /usr/openwin/lib
-          /usr/shlib /usr/X11R6/lib
-          ${_OPENGL_LIB_PATH}
-  )
-
-  unset(_OPENGL_INCLUDE_PATH)
-  unset(_OPENGL_LIB_PATH)
-
-  find_library(OPENGL_glu_LIBRARY
-    NAMES GLU MesaGLU
-    PATHS ${OPENGL_gl_LIBRARY}
-          /opt/graphics/OpenGL/lib
-          /usr/openwin/lib
-          /usr/shlib /usr/X11R6/lib
-  )
-
-endif ()
-
-if(OPENGL_gl_LIBRARY)
-
-    if(OPENGL_xmesa_INCLUDE_DIR)
-      set( OPENGL_XMESA_FOUND "YES" )
-    else()
-      set( OPENGL_XMESA_FOUND "NO" )
-    endif()
-
-    set( OPENGL_LIBRARIES  ${OPENGL_gl_LIBRARY} ${OPENGL_LIBRARIES})
-    if(OPENGL_glu_LIBRARY)
-      set( OPENGL_GLU_FOUND "YES" )
-      if(NOT "${OPENGL_glu_LIBRARY}" STREQUAL "${OPENGL_gl_LIBRARY}")
-        set( OPENGL_LIBRARIES ${OPENGL_glu_LIBRARY} ${OPENGL_LIBRARIES} )
-      endif()
-    else()
-      set( OPENGL_GLU_FOUND "NO" )
-    endif()
-
-    # This deprecated setting is for backward compatibility with CMake1.4
-    set (OPENGL_LIBRARY ${OPENGL_LIBRARIES})
-
-endif()
-
-# This deprecated setting is for backward compatibility with CMake1.4
-set(OPENGL_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
-
-# handle the QUIETLY and REQUIRED arguments and set OPENGL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL REQUIRED_VARS ${_OpenGL_REQUIRED_VARS})
-unset(_OpenGL_REQUIRED_VARS)
-
-mark_as_advanced(
-  OPENGL_INCLUDE_DIR
-  OPENGL_xmesa_INCLUDE_DIR
-  OPENGL_glu_LIBRARY
-  OPENGL_gl_LIBRARY
-)
diff --git a/share/cmake-3.6/Modules/FindOpenMP.cmake b/share/cmake-3.6/Modules/FindOpenMP.cmake
deleted file mode 100644
index ee4bdd6..0000000
--- a/share/cmake-3.6/Modules/FindOpenMP.cmake
+++ /dev/null
@@ -1,242 +0,0 @@
-#.rst:
-# FindOpenMP
-# ----------
-#
-# Finds OpenMP support
-#
-# This module can be used to detect OpenMP support in a compiler.  If
-# the compiler supports OpenMP, the flags required to compile with
-# OpenMP support are returned in variables for the different languages.
-# The variables may be empty if the compiler does not need a special
-# flag to support OpenMP.
-#
-# The following variables are set:
-#
-# ::
-#
-#    OpenMP_C_FLAGS - flags to add to the C compiler for OpenMP support
-#    OpenMP_CXX_FLAGS - flags to add to the CXX compiler for OpenMP support
-#    OpenMP_Fortran_FLAGS - flags to add to the Fortran compiler for OpenMP support
-#    OPENMP_FOUND - true if openmp is detected
-#
-#
-#
-# Supported compilers can be found at
-# http://openmp.org/wp/openmp-compilers/
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2008-2009 André Rigland Brodtkorb <Andre.Brodtkorb@ifi.uio.no>
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-# Copyright 2014 Nicolas Bock <nicolasbock@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(_OPENMP_REQUIRED_VARS)
-set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
-set(CMAKE_REQUIRED_QUIET ${OpenMP_FIND_QUIETLY})
-
-function(_OPENMP_FLAG_CANDIDATES LANG)
-  set(OpenMP_FLAG_CANDIDATES
-    #Empty, if compiler automatically accepts openmp
-    " "
-    #GNU
-    "-fopenmp"
-    #Clang
-    "-fopenmp=libomp"
-    #Microsoft Visual Studio
-    "/openmp"
-    #Intel windows
-    "-Qopenmp"
-    #PathScale, Intel
-    "-openmp"
-    #Sun
-    "-xopenmp"
-    #HP
-    "+Oopenmp"
-    #IBM XL C/c++
-    "-qsmp"
-    #Portland Group, MIPSpro
-    "-mp"
-  )
-
-  set(OMP_FLAG_GNU "-fopenmp")
-  set(OMP_FLAG_Clang "-fopenmp=libomp")
-  set(OMP_FLAG_HP "+Oopenmp")
-  if(WIN32)
-    set(OMP_FLAG_Intel "-Qopenmp")
-  elseif(CMAKE_${LANG}_COMPILER_ID STREQUAL "Intel" AND
-         "${CMAKE_${LANG}_COMPILER_VERSION}" VERSION_LESS "15.0.0.20140528")
-    set(OMP_FLAG_Intel "-openmp")
-  else()
-    set(OMP_FLAG_Intel "-qopenmp")
-  endif()
-  set(OMP_FLAG_MIPSpro "-mp")
-  set(OMP_FLAG_MSVC "/openmp")
-  set(OMP_FLAG_PathScale "-openmp")
-  set(OMP_FLAG_PGI "-mp")
-  set(OMP_FLAG_SunPro "-xopenmp")
-  set(OMP_FLAG_XL "-qsmp")
-  set(OMP_FLAG_Cray " ")
-
-  # Move the flag that matches the compiler to the head of the list,
-  # this is faster and doesn't clutter the output that much. If that
-  # flag doesn't work we will still try all.
-  if(OMP_FLAG_${CMAKE_${LANG}_COMPILER_ID})
-    list(REMOVE_ITEM OpenMP_FLAG_CANDIDATES "${OMP_FLAG_${CMAKE_${LANG}_COMPILER_ID}}")
-    list(INSERT OpenMP_FLAG_CANDIDATES 0 "${OMP_FLAG_${CMAKE_${LANG}_COMPILER_ID}}")
-  endif()
-
-  set(OpenMP_${LANG}_FLAG_CANDIDATES "${OpenMP_FLAG_CANDIDATES}" PARENT_SCOPE)
-endfunction()
-
-# sample openmp source code to test
-set(OpenMP_C_TEST_SOURCE
-"
-#include <omp.h>
-int main() {
-#ifdef _OPENMP
-  return 0;
-#else
-  breaks_on_purpose
-#endif
-}
-")
-
-# same in Fortran
-set(OpenMP_Fortran_TEST_SOURCE
-  "
-      program test
-      use omp_lib
-      integer :: n
-      n = omp_get_num_threads()
-      end program test
-  "
-  )
-
-# check c compiler
-if(CMAKE_C_COMPILER_LOADED)
-  # if these are set then do not try to find them again,
-  # by avoiding any try_compiles for the flags
-  if(OpenMP_C_FLAGS)
-    unset(OpenMP_C_FLAG_CANDIDATES)
-  else()
-    _OPENMP_FLAG_CANDIDATES("C")
-    include(${CMAKE_CURRENT_LIST_DIR}/CheckCSourceCompiles.cmake)
-  endif()
-
-  foreach(FLAG IN LISTS OpenMP_C_FLAG_CANDIDATES)
-    set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
-    set(CMAKE_REQUIRED_FLAGS "${FLAG}")
-    unset(OpenMP_FLAG_DETECTED CACHE)
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Try OpenMP C flag = [${FLAG}]")
-    endif()
-    check_c_source_compiles("${OpenMP_C_TEST_SOURCE}" OpenMP_FLAG_DETECTED)
-    set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
-    if(OpenMP_FLAG_DETECTED)
-      set(OpenMP_C_FLAGS_INTERNAL "${FLAG}")
-      break()
-    endif()
-  endforeach()
-
-  set(OpenMP_C_FLAGS "${OpenMP_C_FLAGS_INTERNAL}"
-    CACHE STRING "C compiler flags for OpenMP parallization")
-
-  list(APPEND _OPENMP_REQUIRED_VARS OpenMP_C_FLAGS)
-  unset(OpenMP_C_FLAG_CANDIDATES)
-endif()
-
-# check cxx compiler
-if(CMAKE_CXX_COMPILER_LOADED)
-  # if these are set then do not try to find them again,
-  # by avoiding any try_compiles for the flags
-  if(OpenMP_CXX_FLAGS)
-    unset(OpenMP_CXX_FLAG_CANDIDATES)
-  else()
-    _OPENMP_FLAG_CANDIDATES("CXX")
-    include(${CMAKE_CURRENT_LIST_DIR}/CheckCXXSourceCompiles.cmake)
-
-    # use the same source for CXX as C for now
-    set(OpenMP_CXX_TEST_SOURCE ${OpenMP_C_TEST_SOURCE})
-  endif()
-
-  foreach(FLAG IN LISTS OpenMP_CXX_FLAG_CANDIDATES)
-    set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
-    set(CMAKE_REQUIRED_FLAGS "${FLAG}")
-    unset(OpenMP_FLAG_DETECTED CACHE)
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Try OpenMP CXX flag = [${FLAG}]")
-    endif()
-    check_cxx_source_compiles("${OpenMP_CXX_TEST_SOURCE}" OpenMP_FLAG_DETECTED)
-    set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
-    if(OpenMP_FLAG_DETECTED)
-      set(OpenMP_CXX_FLAGS_INTERNAL "${FLAG}")
-      break()
-    endif()
-  endforeach()
-
-  set(OpenMP_CXX_FLAGS "${OpenMP_CXX_FLAGS_INTERNAL}"
-    CACHE STRING "C++ compiler flags for OpenMP parallization")
-
-  list(APPEND _OPENMP_REQUIRED_VARS OpenMP_CXX_FLAGS)
-  unset(OpenMP_CXX_FLAG_CANDIDATES)
-  unset(OpenMP_CXX_TEST_SOURCE)
-endif()
-
-# check Fortran compiler
-if(CMAKE_Fortran_COMPILER_LOADED)
-  # if these are set then do not try to find them again,
-  # by avoiding any try_compiles for the flags
-  if(OpenMP_Fortran_FLAGS)
-    unset(OpenMP_Fortran_FLAG_CANDIDATES)
-  else()
-    _OPENMP_FLAG_CANDIDATES("Fortran")
-    include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranSourceCompiles.cmake)
-  endif()
-
-  foreach(FLAG IN LISTS OpenMP_Fortran_FLAG_CANDIDATES)
-    set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
-    set(CMAKE_REQUIRED_FLAGS "${FLAG}")
-    unset(OpenMP_FLAG_DETECTED CACHE)
-    if(NOT CMAKE_REQUIRED_QUIET)
-      message(STATUS "Try OpenMP Fortran flag = [${FLAG}]")
-    endif()
-    check_fortran_source_compiles("${OpenMP_Fortran_TEST_SOURCE}" OpenMP_FLAG_DETECTED)
-    set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
-    if(OpenMP_FLAG_DETECTED)
-      set(OpenMP_Fortran_FLAGS_INTERNAL "${FLAG}")
-      break()
-    endif()
-  endforeach()
-
-  set(OpenMP_Fortran_FLAGS "${OpenMP_Fortran_FLAGS_INTERNAL}"
-    CACHE STRING "Fortran compiler flags for OpenMP parallization")
-
-  list(APPEND _OPENMP_REQUIRED_VARS OpenMP_Fortran_FLAGS)
-  unset(OpenMP_Fortran_FLAG_CANDIDATES)
-  unset(OpenMP_Fortran_TEST_SOURCE)
-endif()
-
-set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
-
-if(_OPENMP_REQUIRED_VARS)
-  include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-  find_package_handle_standard_args(OpenMP
-                                    REQUIRED_VARS ${_OPENMP_REQUIRED_VARS})
-
-  mark_as_advanced(${_OPENMP_REQUIRED_VARS})
-
-  unset(_OPENMP_REQUIRED_VARS)
-else()
-  message(SEND_ERROR "FindOpenMP requires C or CXX language to be enabled")
-endif()
diff --git a/share/cmake-3.6/Modules/FindOpenSSL.cmake b/share/cmake-3.6/Modules/FindOpenSSL.cmake
deleted file mode 100644
index 8dbaf11..0000000
--- a/share/cmake-3.6/Modules/FindOpenSSL.cmake
+++ /dev/null
@@ -1,454 +0,0 @@
-#.rst:
-# FindOpenSSL
-# -----------
-#
-# Find the OpenSSL encryption library.
-#
-# Imported Targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` targets:
-#
-# ``OpenSSL::SSL``
-#   The OpenSSL ``ssl`` library, if found.
-# ``OpenSSL::Crypto``
-#   The OpenSSL ``crypto`` library, if found.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project:
-#
-# ``OPENSSL_FOUND``
-#   System has the OpenSSL library.
-# ``OPENSSL_INCLUDE_DIR``
-#   The OpenSSL include directory.
-# ``OPENSSL_CRYPTO_LIBRARY``
-#   The OpenSSL crypto library.
-# ``OPENSSL_SSL_LIBRARY``
-#   The OpenSSL SSL library.
-# ``OPENSSL_LIBRARIES``
-#   All OpenSSL libraries.
-# ``OPENSSL_VERSION``
-#   This is set to ``$major.$minor.$revision$patch`` (e.g. ``0.9.8s``).
-#
-# Hints
-# ^^^^^
-#
-# Set ``OPENSSL_ROOT_DIR`` to the root directory of an OpenSSL installation.
-# Set ``OPENSSL_USE_STATIC_LIBS`` to ``TRUE`` to look for static libraries.
-# Set ``OPENSSL_MSVC_STATIC_RT`` set ``TRUE`` to choose the MT version of the lib.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-# Copyright 2009-2011 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (UNIX)
-  find_package(PkgConfig QUIET)
-  pkg_check_modules(_OPENSSL QUIET openssl)
-endif ()
-
-# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
-if(OPENSSL_USE_STATIC_LIBS)
-  set(_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-  if(WIN32)
-    set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-  else()
-    set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
-  endif()
-endif()
-
-if (WIN32)
-  # http://www.slproweb.com/products/Win32OpenSSL.html
-  set(_OPENSSL_ROOT_HINTS
-    ${OPENSSL_ROOT_DIR}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
-    ENV OPENSSL_ROOT_DIR
-    )
-  file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
-  set(_OPENSSL_ROOT_PATHS
-    "${_programfiles}/OpenSSL"
-    "${_programfiles}/OpenSSL-Win32"
-    "${_programfiles}/OpenSSL-Win64"
-    "C:/OpenSSL/"
-    "C:/OpenSSL-Win32/"
-    "C:/OpenSSL-Win64/"
-    )
-  unset(_programfiles)
-else ()
-  set(_OPENSSL_ROOT_HINTS
-    ${OPENSSL_ROOT_DIR}
-    ENV OPENSSL_ROOT_DIR
-    )
-endif ()
-
-set(_OPENSSL_ROOT_HINTS_AND_PATHS
-    HINTS ${_OPENSSL_ROOT_HINTS}
-    PATHS ${_OPENSSL_ROOT_PATHS}
-    )
-
-find_path(OPENSSL_INCLUDE_DIR
-  NAMES
-    openssl/ssl.h
-  ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-  HINTS
-    ${_OPENSSL_INCLUDEDIR}
-  PATH_SUFFIXES
-    include
-)
-
-if(WIN32 AND NOT CYGWIN)
-  if(MSVC)
-    # /MD and /MDd are the standard values - if someone wants to use
-    # others, the libnames have to change here too
-    # use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
-    # enable OPENSSL_MSVC_STATIC_RT to get the libs build /MT (Multithreaded no-DLL)
-    # In Visual C++ naming convention each of these four kinds of Windows libraries has it's standard suffix:
-    #   * MD for dynamic-release
-    #   * MDd for dynamic-debug
-    #   * MT for static-release
-    #   * MTd for static-debug
-
-    # Implementation details:
-    # We are using the libraries located in the VC subdir instead of the parent directory eventhough :
-    # libeay32MD.lib is identical to ../libeay32.lib, and
-    # ssleay32MD.lib is identical to ../ssleay32.lib
-    # enable OPENSSL_USE_STATIC_LIBS to use the static libs located in lib/VC/static
-
-    if (OPENSSL_MSVC_STATIC_RT)
-      set(_OPENSSL_MSVC_RT_MODE "MT")
-    else ()
-      set(_OPENSSL_MSVC_RT_MODE "MD")
-    endif ()
-
-    if(OPENSSL_USE_STATIC_LIBS)
-      set(_OPENSSL_PATH_SUFFIXES
-        "lib"
-        "VC/static"
-        "lib/VC/static"
-        )
-    else()
-      set(_OPENSSL_PATH_SUFFIXES
-        "lib"
-        "VC"
-        "lib/VC"
-        )
-    endif ()
-
-    find_library(LIB_EAY_DEBUG
-      NAMES
-        libeay32${_OPENSSL_MSVC_RT_MODE}d
-        libeay32d
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      PATH_SUFFIXES
-        ${_OPENSSL_PATH_SUFFIXES}
-    )
-
-    find_library(LIB_EAY_RELEASE
-      NAMES
-        libeay32${_OPENSSL_MSVC_RT_MODE}
-        libeay32
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      PATH_SUFFIXES
-        ${_OPENSSL_PATH_SUFFIXES}
-    )
-
-    find_library(SSL_EAY_DEBUG
-      NAMES
-        ssleay32${_OPENSSL_MSVC_RT_MODE}d
-        ssleay32d
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      PATH_SUFFIXES
-        ${_OPENSSL_PATH_SUFFIXES}
-    )
-
-    find_library(SSL_EAY_RELEASE
-      NAMES
-        ssleay32${_OPENSSL_MSVC_RT_MODE}
-        ssleay32
-        ssl
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      PATH_SUFFIXES
-        ${_OPENSSL_PATH_SUFFIXES}
-    )
-
-    set(LIB_EAY_LIBRARY_DEBUG "${LIB_EAY_DEBUG}")
-    set(LIB_EAY_LIBRARY_RELEASE "${LIB_EAY_RELEASE}")
-    set(SSL_EAY_LIBRARY_DEBUG "${SSL_EAY_DEBUG}")
-    set(SSL_EAY_LIBRARY_RELEASE "${SSL_EAY_RELEASE}")
-
-    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-    select_library_configurations(LIB_EAY)
-    select_library_configurations(SSL_EAY)
-
-    mark_as_advanced(LIB_EAY_LIBRARY_DEBUG LIB_EAY_LIBRARY_RELEASE
-                     SSL_EAY_LIBRARY_DEBUG SSL_EAY_LIBRARY_RELEASE)
-    set(OPENSSL_SSL_LIBRARY ${SSL_EAY_LIBRARY} )
-    set(OPENSSL_CRYPTO_LIBRARY ${LIB_EAY_LIBRARY} )
-    set(OPENSSL_LIBRARIES ${SSL_EAY_LIBRARY} ${LIB_EAY_LIBRARY} )
-  elseif(MINGW)
-    # same player, for MinGW
-    set(LIB_EAY_NAMES crypto libeay32)
-    set(SSL_EAY_NAMES ssl ssleay32)
-    find_library(LIB_EAY
-      NAMES
-        ${LIB_EAY_NAMES}
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      PATH_SUFFIXES
-        "lib"
-        "lib/MinGW"
-    )
-
-    find_library(SSL_EAY
-      NAMES
-        ${SSL_EAY_NAMES}
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      PATH_SUFFIXES
-        "lib"
-        "lib/MinGW"
-    )
-
-    mark_as_advanced(SSL_EAY LIB_EAY)
-    set(OPENSSL_SSL_LIBRARY ${SSL_EAY} )
-    set(OPENSSL_CRYPTO_LIBRARY ${LIB_EAY} )
-    set(OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} )
-    unset(LIB_EAY_NAMES)
-    unset(SSL_EAY_NAMES)
-  else()
-    # Not sure what to pick for -say- intel, let's use the toplevel ones and hope someone report issues:
-    find_library(LIB_EAY
-      NAMES
-        libeay32
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      HINTS
-        ${_OPENSSL_LIBDIR}
-      PATH_SUFFIXES
-        lib
-    )
-
-    find_library(SSL_EAY
-      NAMES
-        ssleay32
-      NAMES_PER_DIR
-      ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-      HINTS
-        ${_OPENSSL_LIBDIR}
-      PATH_SUFFIXES
-        lib
-    )
-
-    mark_as_advanced(SSL_EAY LIB_EAY)
-    set(OPENSSL_SSL_LIBRARY ${SSL_EAY} )
-    set(OPENSSL_CRYPTO_LIBRARY ${LIB_EAY} )
-    set(OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} )
-  endif()
-else()
-
-  find_library(OPENSSL_SSL_LIBRARY
-    NAMES
-      ssl
-      ssleay32
-      ssleay32MD
-    NAMES_PER_DIR
-    ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-    HINTS
-      ${_OPENSSL_LIBDIR}
-    PATH_SUFFIXES
-      lib
-  )
-
-  find_library(OPENSSL_CRYPTO_LIBRARY
-    NAMES
-      crypto
-    NAMES_PER_DIR
-    ${_OPENSSL_ROOT_HINTS_AND_PATHS}
-    HINTS
-      ${_OPENSSL_LIBDIR}
-    PATH_SUFFIXES
-      lib
-  )
-
-  mark_as_advanced(OPENSSL_CRYPTO_LIBRARY OPENSSL_SSL_LIBRARY)
-
-  # compat defines
-  set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY})
-  set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
-
-  set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
-
-endif()
-
-function(from_hex HEX DEC)
-  string(TOUPPER "${HEX}" HEX)
-  set(_res 0)
-  string(LENGTH "${HEX}" _strlen)
-
-  while (_strlen GREATER 0)
-    math(EXPR _res "${_res} * 16")
-    string(SUBSTRING "${HEX}" 0 1 NIBBLE)
-    string(SUBSTRING "${HEX}" 1 -1 HEX)
-    if (NIBBLE STREQUAL "A")
-      math(EXPR _res "${_res} + 10")
-    elseif (NIBBLE STREQUAL "B")
-      math(EXPR _res "${_res} + 11")
-    elseif (NIBBLE STREQUAL "C")
-      math(EXPR _res "${_res} + 12")
-    elseif (NIBBLE STREQUAL "D")
-      math(EXPR _res "${_res} + 13")
-    elseif (NIBBLE STREQUAL "E")
-      math(EXPR _res "${_res} + 14")
-    elseif (NIBBLE STREQUAL "F")
-      math(EXPR _res "${_res} + 15")
-    else()
-      math(EXPR _res "${_res} + ${NIBBLE}")
-    endif()
-
-    string(LENGTH "${HEX}" _strlen)
-  endwhile()
-
-  set(${DEC} ${_res} PARENT_SCOPE)
-endfunction()
-
-if (OPENSSL_INCLUDE_DIR)
-  if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
-    file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
-         REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
-
-    # The version number is encoded as 0xMNNFFPPS: major minor fix patch status
-    # The status gives if this is a developer or prerelease and is ignored here.
-    # Major, minor, and fix directly translate into the version numbers shown in
-    # the string. The patch field translates to the single character suffix that
-    # indicates the bug fix state, which 00 -> nothing, 01 -> a, 02 -> b and so
-    # on.
-
-    string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F]).*$"
-           "\\1;\\2;\\3;\\4;\\5" OPENSSL_VERSION_LIST "${openssl_version_str}")
-    list(GET OPENSSL_VERSION_LIST 0 OPENSSL_VERSION_MAJOR)
-    list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR)
-    from_hex("${OPENSSL_VERSION_MINOR}" OPENSSL_VERSION_MINOR)
-    list(GET OPENSSL_VERSION_LIST 2 OPENSSL_VERSION_FIX)
-    from_hex("${OPENSSL_VERSION_FIX}" OPENSSL_VERSION_FIX)
-    list(GET OPENSSL_VERSION_LIST 3 OPENSSL_VERSION_PATCH)
-
-    if (NOT OPENSSL_VERSION_PATCH STREQUAL "00")
-      from_hex("${OPENSSL_VERSION_PATCH}" _tmp)
-      # 96 is the ASCII code of 'a' minus 1
-      math(EXPR OPENSSL_VERSION_PATCH_ASCII "${_tmp} + 96")
-      unset(_tmp)
-      # Once anyone knows how OpenSSL would call the patch versions beyond 'z'
-      # this should be updated to handle that, too. This has not happened yet
-      # so it is simply ignored here for now.
-      string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING)
-    endif ()
-
-    set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}")
-  endif ()
-endif ()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-if (OPENSSL_VERSION)
-  find_package_handle_standard_args(OpenSSL
-    REQUIRED_VARS
-      OPENSSL_LIBRARIES
-      OPENSSL_INCLUDE_DIR
-    VERSION_VAR
-      OPENSSL_VERSION
-    FAIL_MESSAGE
-      "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
-  )
-else ()
-  find_package_handle_standard_args(OpenSSL "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
-    OPENSSL_LIBRARIES
-    OPENSSL_INCLUDE_DIR
-  )
-endif ()
-
-mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
-
-if(OPENSSL_FOUND)
-  if(NOT TARGET OpenSSL::Crypto AND
-      (EXISTS "${OPENSSL_CRYPTO_LIBRARY}" OR
-        EXISTS "${LIB_EAY_LIBRARY_DEBUG}" OR
-        EXISTS "${LIB_EAY_LIBRARY_RELEASE}")
-      )
-    add_library(OpenSSL::Crypto UNKNOWN IMPORTED)
-    set_target_properties(OpenSSL::Crypto PROPERTIES
-      INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}")
-    if(EXISTS "${OPENSSL_CRYPTO_LIBRARY}")
-      set_target_properties(OpenSSL::Crypto PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-        IMPORTED_LOCATION "${OPENSSL_CRYPTO_LIBRARY}")
-    endif()
-    if(EXISTS "${LIB_EAY_LIBRARY_DEBUG}")
-      set_property(TARGET OpenSSL::Crypto APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS DEBUG)
-      set_target_properties(OpenSSL::Crypto PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
-        IMPORTED_LOCATION_DEBUG "${LIB_EAY_LIBRARY_DEBUG}")
-    endif()
-    if(EXISTS "${LIB_EAY_LIBRARY_RELEASE}")
-      set_property(TARGET OpenSSL::Crypto APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS RELEASE)
-      set_target_properties(OpenSSL::Crypto PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
-        IMPORTED_LOCATION_RELEASE "${LIB_EAY_LIBRARY_RELEASE}")
-    endif()
-  endif()
-  if(NOT TARGET OpenSSL::SSL AND
-      (EXISTS "${OPENSSL_SSL_LIBRARY}" OR
-        EXISTS "${SSL_EAY_LIBRARY_DEBUG}" OR
-        EXISTS "${SSL_EAY_LIBRARY_RELEASE}")
-      )
-    add_library(OpenSSL::SSL UNKNOWN IMPORTED)
-    set_target_properties(OpenSSL::SSL PROPERTIES
-      INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}")
-    if(EXISTS "${OPENSSL_SSL_LIBRARY}")
-      set_target_properties(OpenSSL::SSL PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-        IMPORTED_LOCATION "${OPENSSL_SSL_LIBRARY}")
-    endif()
-    if(EXISTS "${SSL_EAY_LIBRARY_DEBUG}")
-      set_property(TARGET OpenSSL::SSL APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS DEBUG)
-      set_target_properties(OpenSSL::SSL PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
-        IMPORTED_LOCATION_DEBUG "${SSL_EAY_LIBRARY_DEBUG}")
-    endif()
-    if(EXISTS "${SSL_EAY_LIBRARY_RELEASE}")
-      set_property(TARGET OpenSSL::SSL APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS RELEASE)
-      set_target_properties(OpenSSL::SSL PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
-        IMPORTED_LOCATION_RELEASE "${SSL_EAY_LIBRARY_RELEASE}")
-    endif()
-    if(TARGET OpenSSL::Crypto)
-      set_target_properties(OpenSSL::SSL PROPERTIES
-        INTERFACE_LINK_LIBRARIES OpenSSL::Crypto)
-    endif()
-  endif()
-endif()
-
-# Restore the original find library ordering
-if(OPENSSL_USE_STATIC_LIBS)
-  set(CMAKE_FIND_LIBRARY_SUFFIXES ${_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
-endif()
diff --git a/share/cmake-3.6/Modules/FindOpenSceneGraph.cmake b/share/cmake-3.6/Modules/FindOpenSceneGraph.cmake
deleted file mode 100644
index 5a800e4..0000000
--- a/share/cmake-3.6/Modules/FindOpenSceneGraph.cmake
+++ /dev/null
@@ -1,241 +0,0 @@
-#.rst:
-# FindOpenSceneGraph
-# ------------------
-#
-# Find OpenSceneGraph
-#
-# This module searches for the OpenSceneGraph core "osg" library as well
-# as OpenThreads, and whatever additional COMPONENTS (nodekits) that you
-# specify.
-#
-# ::
-#
-#     See http://www.openscenegraph.org
-#
-#
-#
-# NOTE: To use this module effectively you must either require CMake >=
-# 2.6.3 with cmake_minimum_required(VERSION 2.6.3) or download and place
-# FindOpenThreads.cmake, Findosg_functions.cmake, Findosg.cmake, and
-# Find<etc>.cmake files into your CMAKE_MODULE_PATH.
-#
-# ==================================
-#
-# This module accepts the following variables (note mixed case)
-#
-# ::
-#
-#     OpenSceneGraph_DEBUG - Enable debugging output
-#
-#
-#
-# ::
-#
-#     OpenSceneGraph_MARK_AS_ADVANCED - Mark cache variables as advanced
-#                                       automatically
-#
-#
-#
-# The following environment variables are also respected for finding the
-# OSG and it's various components.  CMAKE_PREFIX_PATH can also be used
-# for this (see find_library() CMake documentation).
-#
-# ``<MODULE>_DIR``
-#   (where MODULE is of the form "OSGVOLUME" and there is a FindosgVolume.cmake file)
-# ``OSG_DIR``
-#   ..
-# ``OSGDIR``
-#   ..
-# ``OSG_ROOT``
-#   ..
-#
-#
-# [CMake 2.8.10]: The CMake variable OSG_DIR can now be used as well to
-# influence detection, instead of needing to specify an environment
-# variable.
-#
-# This module defines the following output variables:
-#
-# ::
-#
-#     OPENSCENEGRAPH_FOUND - Was the OSG and all of the specified components found?
-#
-#
-#
-# ::
-#
-#     OPENSCENEGRAPH_VERSION - The version of the OSG which was found
-#
-#
-#
-# ::
-#
-#     OPENSCENEGRAPH_INCLUDE_DIRS - Where to find the headers
-#
-#
-#
-# ::
-#
-#     OPENSCENEGRAPH_LIBRARIES - The OSG libraries
-#
-#
-#
-# ================================== Example Usage:
-#
-# ::
-#
-#   find_package(OpenSceneGraph 2.0.0 REQUIRED osgDB osgUtil)
-#       # libOpenThreads & libosg automatically searched
-#   include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS})
-#
-#
-#
-# ::
-#
-#   add_executable(foo foo.cc)
-#   target_link_libraries(foo ${OPENSCENEGRAPH_LIBRARIES})
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009-2012 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# Naming convention:
-#  Local variables of the form _osg_foo
-#  Input variables of the form OpenSceneGraph_FOO
-#  Output variables of the form OPENSCENEGRAPH_FOO
-#
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-
-set(_osg_modules_to_process)
-foreach(_osg_component ${OpenSceneGraph_FIND_COMPONENTS})
-    list(APPEND _osg_modules_to_process ${_osg_component})
-endforeach()
-list(APPEND _osg_modules_to_process "osg" "OpenThreads")
-list(REMOVE_DUPLICATES _osg_modules_to_process)
-
-if(OpenSceneGraph_DEBUG)
-    message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
-        "Components = ${_osg_modules_to_process}")
-endif()
-
-#
-# First we need to find and parse osg/Version
-#
-OSG_FIND_PATH(OSG osg/Version)
-if(OpenSceneGraph_MARK_AS_ADVANCED)
-    OSG_MARK_AS_ADVANCED(OSG)
-endif()
-
-# Try to ascertain the version...
-if(OSG_INCLUDE_DIR)
-    if(OpenSceneGraph_DEBUG)
-        message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
-            "Detected OSG_INCLUDE_DIR = ${OSG_INCLUDE_DIR}")
-    endif()
-
-    set(_osg_Version_file "${OSG_INCLUDE_DIR}/osg/Version")
-    if("${OSG_INCLUDE_DIR}" MATCHES "\\.framework$" AND NOT EXISTS "${_osg_Version_file}")
-        set(_osg_Version_file "${OSG_INCLUDE_DIR}/Headers/Version")
-    endif()
-
-    if(EXISTS "${_osg_Version_file}")
-      file(STRINGS "${_osg_Version_file}" _osg_Version_contents
-           REGEX "#define (OSG_VERSION_[A-Z]+|OPENSCENEGRAPH_[A-Z]+_VERSION)[ \t]+[0-9]+")
-    else()
-      set(_osg_Version_contents "unknown")
-    endif()
-
-    string(REGEX MATCH ".*#define OSG_VERSION_MAJOR[ \t]+[0-9]+.*"
-        _osg_old_defines "${_osg_Version_contents}")
-    string(REGEX MATCH ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+[0-9]+.*"
-        _osg_new_defines "${_osg_Version_contents}")
-    if(_osg_old_defines)
-        string(REGEX REPLACE ".*#define OSG_VERSION_MAJOR[ \t]+([0-9]+).*"
-            "\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
-        string(REGEX REPLACE ".*#define OSG_VERSION_MINOR[ \t]+([0-9]+).*"
-            "\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
-        string(REGEX REPLACE ".*#define OSG_VERSION_PATCH[ \t]+([0-9]+).*"
-            "\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
-    elseif(_osg_new_defines)
-        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+([0-9]+).*"
-            "\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
-        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MINOR_VERSION[ \t]+([0-9]+).*"
-            "\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
-        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_PATCH_VERSION[ \t]+([0-9]+).*"
-            "\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
-    else()
-        message(WARNING "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
-            "Failed to parse version number, please report this as a bug")
-    endif()
-    unset(_osg_Version_contents)
-
-    set(OPENSCENEGRAPH_VERSION "${_osg_VERSION_MAJOR}.${_osg_VERSION_MINOR}.${_osg_VERSION_PATCH}"
-                                CACHE INTERNAL "The version of OSG which was detected")
-    if(OpenSceneGraph_DEBUG)
-        message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
-            "Detected version ${OPENSCENEGRAPH_VERSION}")
-    endif()
-endif()
-
-set(_osg_quiet)
-if(OpenSceneGraph_FIND_QUIETLY)
-    set(_osg_quiet "QUIET")
-endif()
-#
-# Here we call find_package() on all of the components
-#
-foreach(_osg_module ${_osg_modules_to_process})
-    if(OpenSceneGraph_DEBUG)
-        message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
-            "Calling find_package(${_osg_module} ${_osg_required} ${_osg_quiet})")
-    endif()
-    find_package(${_osg_module} ${_osg_quiet})
-
-    string(TOUPPER ${_osg_module} _osg_module_UC)
-    # append to list if module was found OR is required
-    if( ${_osg_module_UC}_FOUND OR OpenSceneGraph_FIND_REQUIRED )
-      list(APPEND OPENSCENEGRAPH_INCLUDE_DIR ${${_osg_module_UC}_INCLUDE_DIR})
-      list(APPEND OPENSCENEGRAPH_LIBRARIES ${${_osg_module_UC}_LIBRARIES})
-    endif()
-
-    if(OpenSceneGraph_MARK_AS_ADVANCED)
-        OSG_MARK_AS_ADVANCED(${_osg_module})
-    endif()
-endforeach()
-
-if(OPENSCENEGRAPH_INCLUDE_DIR)
-    list(REMOVE_DUPLICATES OPENSCENEGRAPH_INCLUDE_DIR)
-endif()
-
-#
-# Check each module to see if it's found
-#
-set(_osg_component_founds)
-if(OpenSceneGraph_FIND_REQUIRED)
-    foreach(_osg_module ${_osg_modules_to_process})
-        string(TOUPPER ${_osg_module} _osg_module_UC)
-        list(APPEND _osg_component_founds ${_osg_module_UC}_FOUND)
-    endforeach()
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSceneGraph
-                                  REQUIRED_VARS OPENSCENEGRAPH_LIBRARIES OPENSCENEGRAPH_INCLUDE_DIR ${_osg_component_founds}
-                                  VERSION_VAR OPENSCENEGRAPH_VERSION)
-
-unset(_osg_component_founds)
-
-set(OPENSCENEGRAPH_INCLUDE_DIRS ${OPENSCENEGRAPH_INCLUDE_DIR})
-
diff --git a/share/cmake-3.6/Modules/FindOpenThreads.cmake b/share/cmake-3.6/Modules/FindOpenThreads.cmake
deleted file mode 100644
index 69bab3d..0000000
--- a/share/cmake-3.6/Modules/FindOpenThreads.cmake
+++ /dev/null
@@ -1,135 +0,0 @@
-#.rst:
-# FindOpenThreads
-# ---------------
-#
-#
-#
-# OpenThreads is a C++ based threading library.  Its largest userbase
-# seems to OpenSceneGraph so you might notice I accept OSGDIR as an
-# environment path.  I consider this part of the Findosg* suite used to
-# find OpenSceneGraph components.  Each component is separate and you
-# must opt in to each module.
-#
-# Locate OpenThreads This module defines OPENTHREADS_LIBRARY
-# OPENTHREADS_FOUND, if false, do not try to link to OpenThreads
-# OPENTHREADS_INCLUDE_DIR, where to find the headers
-#
-# $OPENTHREADS_DIR is an environment variable that would correspond to
-# the ./configure --prefix=$OPENTHREADS_DIR used in building osg.
-#
-# [CMake 2.8.10]: The CMake variables OPENTHREADS_DIR or OSG_DIR can now
-# be used as well to influence detection, instead of needing to specify
-# an environment variable.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-# Copyright 2012 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <OpenThreads/Thread>
-
-# To make it easier for one-step automated configuration/builds,
-# we leverage environmental paths. This is preferable
-# to the -DVAR=value switches because it insulates the
-# users from changes we may make in this script.
-# It also offers a little more flexibility than setting
-# the CMAKE_*_PATH since we can target specific components.
-# However, the default CMake behavior will search system paths
-# before anything else. This is problematic in the cases
-# where you have an older (stable) version installed, but
-# are trying to build a newer version.
-# CMake doesn't offer a nice way to globally control this behavior
-# so we have to do a nasty "double FIND_" in this module.
-# The first FIND disables the CMAKE_ search paths and only checks
-# the environmental paths.
-# If nothing is found, then the second find will search the
-# standard install paths.
-# Explicit -DVAR=value arguments should still be able to override everything.
-
-find_path(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
-    HINTS
-        ENV OPENTHREADS_INCLUDE_DIR
-        ENV OPENTHREADS_DIR
-        ENV OSG_INCLUDE_DIR
-        ENV OSG_DIR
-        ENV OSGDIR
-        ENV OpenThreads_ROOT
-        ENV OSG_ROOT
-        ${OPENTHREADS_DIR}
-        ${OSG_DIR}
-    PATHS
-        /sw # Fink
-        /opt/local # DarwinPorts
-        /opt/csw # Blastwave
-        /opt
-        /usr/freeware
-    PATH_SUFFIXES include
-)
-
-
-find_library(OPENTHREADS_LIBRARY
-    NAMES OpenThreads OpenThreadsWin32
-    HINTS
-        ENV OPENTHREADS_LIBRARY_DIR
-        ENV OPENTHREADS_DIR
-        ENV OSG_LIBRARY_DIR
-        ENV OSG_DIR
-        ENV OSGDIR
-        ENV OpenThreads_ROOT
-        ENV OSG_ROOT
-        ${OPENTHREADS_DIR}
-        ${OSG_DIR}
-    PATHS
-        /sw
-        /opt/local
-        /opt/csw
-        /opt
-        /usr/freeware
-    PATH_SUFFIXES lib
-)
-
-find_library(OPENTHREADS_LIBRARY_DEBUG
-    NAMES OpenThreadsd OpenThreadsWin32d
-    HINTS
-        ENV OPENTHREADS_DEBUG_LIBRARY_DIR
-        ENV OPENTHREADS_LIBRARY_DIR
-        ENV OPENTHREADS_DIR
-        ENV OSG_LIBRARY_DIR
-        ENV OSG_DIR
-        ENV OSGDIR
-        ENV OpenThreads_ROOT
-        ENV OSG_ROOT
-        ${OPENTHREADS_DIR}
-        ${OSG_DIR}
-    PATHS
-        /sw
-        /opt/local
-        /opt/csw
-        /opt
-        /usr/freeware
-    PATH_SUFFIXES lib
-)
-
-if(OPENTHREADS_LIBRARY_DEBUG)
-    set(OPENTHREADS_LIBRARIES
-        optimized ${OPENTHREADS_LIBRARY}
-        debug ${OPENTHREADS_LIBRARY_DEBUG})
-else()
-    set(OPENTHREADS_LIBRARIES ${OPENTHREADS_LIBRARY})
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenThreads DEFAULT_MSG
-    OPENTHREADS_LIBRARY OPENTHREADS_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindPHP4.cmake b/share/cmake-3.6/Modules/FindPHP4.cmake
deleted file mode 100644
index 25fff8c..0000000
--- a/share/cmake-3.6/Modules/FindPHP4.cmake
+++ /dev/null
@@ -1,91 +0,0 @@
-#.rst:
-# FindPHP4
-# --------
-#
-# Find PHP4
-#
-# This module finds if PHP4 is installed and determines where the
-# include files and libraries are.  It also determines what the name of
-# the library is.  This code sets the following variables:
-#
-# ::
-#
-#   PHP4_INCLUDE_PATH       = path to where php.h can be found
-#   PHP4_EXECUTABLE         = full path to the php4 binary
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(PHP4_POSSIBLE_INCLUDE_PATHS
-  /usr/include/php4
-  /usr/local/include/php4
-  /usr/include/php
-  /usr/local/include/php
-  /usr/local/apache/php
-  )
-
-set(PHP4_POSSIBLE_LIB_PATHS
-  /usr/lib
-  )
-
-find_path(PHP4_FOUND_INCLUDE_PATH main/php.h
-  ${PHP4_POSSIBLE_INCLUDE_PATHS})
-
-if(PHP4_FOUND_INCLUDE_PATH)
-  set(php4_paths "${PHP4_POSSIBLE_INCLUDE_PATHS}")
-  foreach(php4_path Zend main TSRM)
-    set(php4_paths ${php4_paths} "${PHP4_FOUND_INCLUDE_PATH}/${php4_path}")
-  endforeach()
-  set(PHP4_INCLUDE_PATH "${php4_paths}")
-endif()
-
-find_program(PHP4_EXECUTABLE NAMES php4 php )
-
-mark_as_advanced(
-  PHP4_EXECUTABLE
-  PHP4_FOUND_INCLUDE_PATH
-  )
-
-if(APPLE)
-# this is a hack for now
-  set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
-   "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -Wl,-flat_namespace")
-  foreach(symbol
-    __efree
-    __emalloc
-    __estrdup
-    __object_init_ex
-    __zend_get_parameters_array_ex
-    __zend_list_find
-    __zval_copy_ctor
-    _add_property_zval_ex
-    _alloc_globals
-    _compiler_globals
-    _convert_to_double
-    _convert_to_long
-    _zend_error
-    _zend_hash_find
-    _zend_register_internal_class_ex
-    _zend_register_list_destructors_ex
-    _zend_register_resource
-    _zend_rsrc_list_get_rsrc_type
-    _zend_wrong_param_count
-    _zval_used_for_init
-    )
-    set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
-      "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS},-U,${symbol}")
-  endforeach()
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PHP4 DEFAULT_MSG PHP4_EXECUTABLE PHP4_INCLUDE_PATH)
diff --git a/share/cmake-3.6/Modules/FindPNG.cmake b/share/cmake-3.6/Modules/FindPNG.cmake
deleted file mode 100644
index 5050d91..0000000
--- a/share/cmake-3.6/Modules/FindPNG.cmake
+++ /dev/null
@@ -1,161 +0,0 @@
-#.rst:
-# FindPNG
-# -------
-#
-# Find libpng, the official reference library for the PNG image format.
-#
-# Imported targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` target:
-#
-# ``PNG::PNG``
-#   The libpng library, if found.
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project:
-#
-# ``PNG_INCLUDE_DIRS``
-#   where to find png.h, etc.
-# ``PNG_LIBRARIES``
-#   the libraries to link against to use PNG.
-# ``PNG_DEFINITIONS``
-#   You should add_definitons(${PNG_DEFINITIONS}) before compiling code
-#   that includes png library files.
-# ``PNG_FOUND``
-#   If false, do not try to use PNG.
-# ``PNG_VERSION_STRING``
-#   the version of the PNG library found (since CMake 2.8.8)
-#
-# Obsolete variables
-# ^^^^^^^^^^^^^^^^^^
-#
-# The following variables may also be set, for backwards compatibility:
-#
-# ``PNG_LIBRARY``
-#   where to find the PNG library.
-# ``PNG_INCLUDE_DIR``
-#   where to find the PNG headers (same as PNG_INCLUDE_DIRS)
-#
-# Since PNG depends on the ZLib compression library, none of the above
-# will be defined unless ZLib can be found.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-# Copyright 2016 Raumfeld
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(PNG_FIND_QUIETLY)
-  set(_FIND_ZLIB_ARG QUIET)
-endif()
-find_package(ZLIB ${_FIND_ZLIB_ARG})
-
-if(ZLIB_FOUND)
-  find_path(PNG_PNG_INCLUDE_DIR png.h
-  /usr/local/include/libpng             # OpenBSD
-  )
-
-  list(APPEND PNG_NAMES png libpng)
-  unset(PNG_NAMES_DEBUG)
-  set(_PNG_VERSION_SUFFIXES 17 16 15 14 12)
-  if (PNG_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)(\\..*)?$")
-    set(_PNG_VERSION_SUFFIX_MIN "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
-    if (PNG_FIND_VERSION_EXACT)
-      set(_PNG_VERSION_SUFFIXES ${_PNG_VERSION_SUFFIX_MIN})
-    else ()
-      string(REGEX REPLACE
-          "${_PNG_VERSION_SUFFIX_MIN}.*" "${_PNG_VERSION_SUFFIX_MIN}"
-          _PNG_VERSION_SUFFIXES "${_PNG_VERSION_SUFFIXES}")
-    endif ()
-    unset(_PNG_VERSION_SUFFIX_MIN)
-  endif ()
-  foreach(v IN LISTS _PNG_VERSION_SUFFIXES)
-    list(APPEND PNG_NAMES png${v} libpng${v})
-    list(APPEND PNG_NAMES_DEBUG png${v}d libpng${v}d)
-  endforeach()
-  unset(_PNG_VERSION_SUFFIXES)
-  # For compatibility with versions prior to this multi-config search, honor
-  # any PNG_LIBRARY that is already specified and skip the search.
-  if(NOT PNG_LIBRARY)
-    find_library(PNG_LIBRARY_RELEASE NAMES ${PNG_NAMES})
-    find_library(PNG_LIBRARY_DEBUG NAMES ${PNG_NAMES_DEBUG})
-    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-    select_library_configurations(PNG)
-    mark_as_advanced(PNG_LIBRARY_RELEASE PNG_LIBRARY_DEBUG)
-  endif()
-  unset(PNG_NAMES)
-  unset(PNG_NAMES_DEBUG)
-
-  # Set by select_library_configurations(), but we want the one from
-  # find_package_handle_standard_args() below.
-  unset(PNG_FOUND)
-
-  if (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
-      # png.h includes zlib.h. Sigh.
-      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 (CYGWIN)
-        if(BUILD_SHARED_LIBS)
-           # No need to define PNG_USE_DLL here, because it's default for Cygwin.
-        else()
-          set (PNG_DEFINITIONS -DPNG_STATIC)
-        endif()
-      endif ()
-
-      if(NOT TARGET PNG::PNG)
-        add_library(PNG::PNG UNKNOWN IMPORTED)
-        set_target_properties(PNG::PNG PROPERTIES
-          INTERFACE_COMPILE_DEFINITIONS "${PNG_DEFINITIONS}"
-          INTERFACE_INCLUDE_DIRECTORIES "${PNG_INCLUDE_DIRS}"
-          INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
-        if(EXISTS "${PNG_LIBRARY}")
-          set_target_properties(PNG::PNG PROPERTIES
-            IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-            IMPORTED_LOCATION "${PNG_LIBRARY}")
-        endif()
-        if(EXISTS "${PNG_LIBRARY_DEBUG}")
-          set_property(TARGET PNG::PNG APPEND PROPERTY
-            IMPORTED_CONFIGURATIONS DEBUG)
-          set_target_properties(PNG::PNG PROPERTIES
-            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
-            IMPORTED_LOCATION_DEBUG "${PNG_LIBRARY_DEBUG}")
-        endif()
-        if(EXISTS "${PNG_LIBRARY_RELEASE}")
-          set_property(TARGET PNG::PNG APPEND PROPERTY
-            IMPORTED_CONFIGURATIONS RELEASE)
-          set_target_properties(PNG::PNG PROPERTIES
-            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
-            IMPORTED_LOCATION_RELEASE "${PNG_LIBRARY_RELEASE}")
-        endif()
-      endif()
-  endif ()
-
-  if (PNG_PNG_INCLUDE_DIR AND EXISTS "${PNG_PNG_INCLUDE_DIR}/png.h")
-      file(STRINGS "${PNG_PNG_INCLUDE_DIR}/png.h" png_version_str REGEX "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\".+\"")
-
-      string(REGEX REPLACE "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\"([^\"]+)\".*" "\\1" PNG_VERSION_STRING "${png_version_str}")
-      unset(png_version_str)
-  endif ()
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set PNG_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(PNG
-                                  REQUIRED_VARS PNG_LIBRARY PNG_PNG_INCLUDE_DIR
-                                  VERSION_VAR PNG_VERSION_STRING)
-
-mark_as_advanced(PNG_PNG_INCLUDE_DIR PNG_LIBRARY )
diff --git a/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake b/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake
deleted file mode 100644
index fe2dbea..0000000
--- a/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake
+++ /dev/null
@@ -1,396 +0,0 @@
-#[=======================================================================[.rst:
-FindPackageHandleStandardArgs
------------------------------
-
-This module provides a function intended to be used in :ref:`Find Modules`
-implementing :command:`find_package(<PackageName>)` calls.  It handles the
-``REQUIRED``, ``QUIET`` and version-related arguments of ``find_package``.
-It also sets the ``<PackageName>_FOUND`` variable.  The package is
-considered found if all variables listed contain valid results, e.g.
-valid filepaths.
-
-.. command:: find_package_handle_standard_args
-
-  There are two signatures::
-
-    find_package_handle_standard_args(<PackageName>
-      (DEFAULT_MSG|<custom-failure-message>)
-      <required-var>...
-      )
-
-    find_package_handle_standard_args(<PackageName>
-      [FOUND_VAR <result-var>]
-      [REQUIRED_VARS <required-var>...]
-      [VERSION_VAR <version-var>]
-      [HANDLE_COMPONENTS]
-      [CONFIG_MODE]
-      [FAIL_MESSAGE <custom-failure-message>]
-      )
-
-  The ``<PackageName>_FOUND`` variable will be set to ``TRUE`` if all
-  the variables ``<required-var>...`` are valid and any optional
-  constraints are satisfied, and ``FALSE`` otherwise.  A success or
-  failure message may be displayed based on the results and on
-  whether the ``REQUIRED`` and/or ``QUIET`` option was given to
-  the :command:`find_package` call.
-
-  The options are:
-
-  ``(DEFAULT_MSG|<custom-failure-message>)``
-    In the simple signature this specifies the failure message.
-    Use ``DEFAULT_MSG`` to ask for a default message to be computed
-    (recommended).  Not valid in the full signature.
-
-  ``FOUND_VAR <result-var>``
-    Obsolete.  Specifies either ``<PackageName>_FOUND`` or
-    ``<PACKAGENAME>_FOUND`` as the result variable.  This exists only
-    for compatibility with older versions of CMake and is now ignored.
-    Result variables of both names are always set for compatibility.
-
-  ``REQUIRED_VARS <required-var>...``
-    Specify the variables which are required for this package.
-    These may be named in the generated failure message asking the
-    user to set the missing variable values.  Therefore these should
-    typically be cache entries such as ``FOO_LIBRARY`` and not output
-    variables like ``FOO_LIBRARIES``.
-
-  ``VERSION_VAR <version-var>``
-    Specify the name of a variable that holds the version of the package
-    that has been found.  This version will be checked against the
-    (potentially) specified required version given to the
-    :command:`find_package` call, including its ``EXACT`` option.
-    The default messages include information about the required
-    version and the version which has been actually found, both
-    if the version is ok or not.
-
-  ``HANDLE_COMPONENTS``
-    Enable handling of package components.  In this case, the command
-    will report which components have been found and which are missing,
-    and the ``<PackageName>_FOUND`` variable will be set to ``FALSE``
-    if any of the required components (i.e. not the ones listed after
-    the ``OPTIONAL_COMPONENTS`` option of :command:`find_package`) are
-    missing.
-
-  ``CONFIG_MODE``
-    Specify that the calling find module is a wrapper around a
-    call to ``find_package(<PackageName> NO_MODULE)``.  This implies
-    a ``VERSION_VAR`` value of ``<PackageName>_VERSION``.  The command
-    will automatically check whether the package configuration file
-    was found.
-
-  ``FAIL_MESSAGE <custom-failure-message>``
-    Specify a custom failure message instead of using the default
-    generated message.  Not recommended.
-
-Example for the simple signature:
-
-.. code-block:: cmake
-
-  find_package_handle_standard_args(LibXml2 DEFAULT_MSG
-    LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-
-The ``LibXml2`` package is considered to be found if both
-``LIBXML2_LIBRARY`` and ``LIBXML2_INCLUDE_DIR`` are valid.
-Then also ``LibXml2_FOUND`` is set to ``TRUE``.  If it is not found
-and ``REQUIRED`` was used, it fails with a
-:command:`message(FATAL_ERROR)`, independent whether ``QUIET`` was
-used or not.  If it is found, success will be reported, including
-the content of the first ``<required-var>``.  On repeated CMake runs,
-the same message will not be printed again.
-
-Example for the full signature:
-
-.. code-block:: cmake
-
-  find_package_handle_standard_args(LibArchive
-    REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
-    VERSION_VAR LibArchive_VERSION)
-
-In this case, the ``LibArchive`` package is considered to be found if
-both ``LibArchive_LIBRARY`` and ``LibArchive_INCLUDE_DIR`` are valid.
-Also the version of ``LibArchive`` will be checked by using the version
-contained in ``LibArchive_VERSION``.  Since no ``FAIL_MESSAGE`` is given,
-the default messages will be printed.
-
-Another example for the full signature:
-
-.. code-block:: cmake
-
-  find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
-  find_package_handle_standard_args(Automoc4  CONFIG_MODE)
-
-In this case, a ``FindAutmoc4.cmake`` module wraps a call to
-``find_package(Automoc4 NO_MODULE)`` and adds an additional search
-directory for ``automoc4``.  Then the call to
-``find_package_handle_standard_args`` produces a proper success/failure
-message.
-#]=======================================================================]
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-# internal helper macro
-macro(_FPHSA_FAILURE_MESSAGE _msg)
-  if (${_NAME}_FIND_REQUIRED)
-    message(FATAL_ERROR "${_msg}")
-  else ()
-    if (NOT ${_NAME}_FIND_QUIETLY)
-      message(STATUS "${_msg}")
-    endif ()
-  endif ()
-endmacro()
-
-
-# internal helper macro to generate the failure message when used in CONFIG_MODE:
-macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
-  # <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
-  if(${_NAME}_CONFIG)
-    _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
-  else()
-    # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
-    # List them all in the error message:
-    if(${_NAME}_CONSIDERED_CONFIGS)
-      set(configsText "")
-      list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
-      math(EXPR configsCount "${configsCount} - 1")
-      foreach(currentConfigIndex RANGE ${configsCount})
-        list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
-        list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
-        set(configsText "${configsText}    ${filename} (version ${version})\n")
-      endforeach()
-      if (${_NAME}_NOT_FOUND_MESSAGE)
-        set(configsText "${configsText}    Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
-      endif()
-      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
-
-    else()
-      # Simple case: No Config-file was found at all:
-      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
-    endif()
-  endif()
-endmacro()
-
-
-function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
-
-# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
-# new extended or in the "old" mode:
-  set(options  CONFIG_MODE  HANDLE_COMPONENTS)
-  set(oneValueArgs  FAIL_MESSAGE  VERSION_VAR  FOUND_VAR)
-  set(multiValueArgs REQUIRED_VARS)
-  set(_KEYWORDS_FOR_EXTENDED_MODE  ${options} ${oneValueArgs} ${multiValueArgs} )
-  list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
-
-  if(${INDEX} EQUAL -1)
-    set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
-    set(FPHSA_REQUIRED_VARS ${ARGN})
-    set(FPHSA_VERSION_VAR)
-  else()
-
-    CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
-
-    if(FPHSA_UNPARSED_ARGUMENTS)
-      message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
-    endif()
-
-    if(NOT FPHSA_FAIL_MESSAGE)
-      set(FPHSA_FAIL_MESSAGE  "DEFAULT_MSG")
-    endif()
-  endif()
-
-# now that we collected all arguments, process them
-
-  if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")
-    set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
-  endif()
-
-  # In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
-  # when it successfully found the config-file, including version checking:
-  if(FPHSA_CONFIG_MODE)
-    list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
-    list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
-    set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
-  endif()
-
-  if(NOT FPHSA_REQUIRED_VARS)
-    message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
-  endif()
-
-  list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
-
-  string(TOUPPER ${_NAME} _NAME_UPPER)
-  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 ${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.")
-    endif()
-  else()
-    set(_FOUND_VAR ${_NAME_UPPER}_FOUND)
-  endif()
-
-  # collect all variables which were not found, so they can be printed, so the
-  # user knows better what went wrong (#6375)
-  set(MISSING_VARS "")
-  set(DETAILS "")
-  # check if all passed variables are valid
-  set(FPHSA_FOUND_${_NAME} TRUE)
-  foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
-    if(NOT ${_CURRENT_VAR})
-      set(FPHSA_FOUND_${_NAME} FALSE)
-      set(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
-    else()
-      set(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
-    endif()
-  endforeach()
-  if(FPHSA_FOUND_${_NAME})
-    set(${_NAME}_FOUND TRUE)
-    set(${_NAME_UPPER}_FOUND TRUE)
-  else()
-    set(${_NAME}_FOUND FALSE)
-    set(${_NAME_UPPER}_FOUND FALSE)
-  endif()
-
-  # component handling
-  unset(FOUND_COMPONENTS_MSG)
-  unset(MISSING_COMPONENTS_MSG)
-
-  if(FPHSA_HANDLE_COMPONENTS)
-    foreach(comp ${${_NAME}_FIND_COMPONENTS})
-      if(${_NAME}_${comp}_FOUND)
-
-        if(NOT DEFINED FOUND_COMPONENTS_MSG)
-          set(FOUND_COMPONENTS_MSG "found components: ")
-        endif()
-        set(FOUND_COMPONENTS_MSG "${FOUND_COMPONENTS_MSG} ${comp}")
-
-      else()
-
-        if(NOT DEFINED MISSING_COMPONENTS_MSG)
-          set(MISSING_COMPONENTS_MSG "missing components: ")
-        endif()
-        set(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}")
-
-        if(${_NAME}_FIND_REQUIRED_${comp})
-          set(${_NAME}_FOUND FALSE)
-          set(MISSING_VARS "${MISSING_VARS} ${comp}")
-        endif()
-
-      endif()
-    endforeach()
-    set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
-    set(DETAILS "${DETAILS}[c${COMPONENT_MSG}]")
-  endif()
-
-  # version handling:
-  set(VERSION_MSG "")
-  set(VERSION_OK TRUE)
-  set(VERSION ${${FPHSA_VERSION_VAR}})
-
-  # check with DEFINED here as the requested or found version may be "0"
-  if (DEFINED ${_NAME}_FIND_VERSION)
-    if(DEFINED ${FPHSA_VERSION_VAR})
-
-      if(${_NAME}_FIND_VERSION_EXACT)       # exact version required
-        # count the dots in the version string
-        string(REGEX REPLACE "[^.]" "" _VERSION_DOTS "${VERSION}")
-        # add one dot because there is one dot more than there are components
-        string(LENGTH "${_VERSION_DOTS}." _VERSION_DOTS)
-        if (_VERSION_DOTS GREATER ${_NAME}_FIND_VERSION_COUNT)
-          # Because of the C++ implementation of find_package() ${_NAME}_FIND_VERSION_COUNT
-          # is at most 4 here. Therefore a simple lookup table is used.
-          if (${_NAME}_FIND_VERSION_COUNT EQUAL 1)
-            set(_VERSION_REGEX "[^.]*")
-          elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 2)
-            set(_VERSION_REGEX "[^.]*\\.[^.]*")
-          elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 3)
-            set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*")
-          else ()
-            set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*\\.[^.]*")
-          endif ()
-          string(REGEX REPLACE "^(${_VERSION_REGEX})\\..*" "\\1" _VERSION_HEAD "${VERSION}")
-          unset(_VERSION_REGEX)
-          if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _VERSION_HEAD)
-            set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
-            set(VERSION_OK FALSE)
-          else ()
-            set(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
-          endif ()
-          unset(_VERSION_HEAD)
-        else ()
-          if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL VERSION)
-            set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
-            set(VERSION_OK FALSE)
-          else ()
-            set(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
-          endif ()
-        endif ()
-        unset(_VERSION_DOTS)
-
-      else()     # minimum version specified:
-        if (${_NAME}_FIND_VERSION VERSION_GREATER VERSION)
-          set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
-          set(VERSION_OK FALSE)
-        else ()
-          set(VERSION_MSG "(found suitable version \"${VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
-        endif ()
-      endif()
-
-    else()
-
-      # if the package was not found, but a version was given, add that to the output:
-      if(${_NAME}_FIND_VERSION_EXACT)
-         set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
-      else()
-         set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
-      endif()
-
-    endif()
-  else ()
-    if(VERSION)
-      set(VERSION_MSG "(found version \"${VERSION}\")")
-    endif()
-  endif ()
-
-  if(VERSION_OK)
-    set(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
-  else()
-    set(${_NAME}_FOUND FALSE)
-  endif()
-
-
-  # print the result:
-  if (${_NAME}_FOUND)
-    FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
-  else ()
-
-    if(FPHSA_CONFIG_MODE)
-      _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
-    else()
-      if(NOT VERSION_OK)
-        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
-      else()
-        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}")
-      endif()
-    endif()
-
-  endif ()
-
-  set(${_NAME}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
-  set(${_NAME_UPPER}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindPackageMessage.cmake b/share/cmake-3.6/Modules/FindPackageMessage.cmake
deleted file mode 100644
index a0349d3..0000000
--- a/share/cmake-3.6/Modules/FindPackageMessage.cmake
+++ /dev/null
@@ -1,57 +0,0 @@
-#.rst:
-# FindPackageMessage
-# ------------------
-#
-#
-#
-# FIND_PACKAGE_MESSAGE(<name> "message for user" "find result details")
-#
-# This macro is intended to be used in FindXXX.cmake modules files.  It
-# will print a message once for each unique find result.  This is useful
-# for telling the user where a package was found.  The first argument
-# specifies the name (XXX) of the package.  The second argument
-# specifies the message to display.  The third argument lists details
-# about the find result so that if they change the message will be
-# displayed again.  The macro also obeys the QUIET argument to the
-# find_package command.
-#
-# Example:
-#
-# ::
-#
-#   if(X11_FOUND)
-#     FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
-#       "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
-#   else()
-#    ...
-#   endif()
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(FIND_PACKAGE_MESSAGE pkg msg details)
-  # Avoid printing a message repeatedly for the same find result.
-  if(NOT ${pkg}_FIND_QUIETLY)
-    string(REPLACE "\n" "" details "${details}")
-    set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
-    if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
-      # The message has not yet been printed.
-      message(STATUS "${msg}")
-
-      # Save the find details in the cache to avoid printing the same
-      # message again.
-      set("${DETAILS_VAR}" "${details}"
-        CACHE INTERNAL "Details about finding ${pkg}")
-    endif()
-  endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindPerl.cmake b/share/cmake-3.6/Modules/FindPerl.cmake
deleted file mode 100644
index 70284b6..0000000
--- a/share/cmake-3.6/Modules/FindPerl.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-#.rst:
-# FindPerl
-# --------
-#
-# Find perl
-#
-# this module looks for Perl
-#
-# ::
-#
-#   PERL_EXECUTABLE     - the full path to perl
-#   PERL_FOUND          - If false, don't attempt to use perl.
-#   PERL_VERSION_STRING - version of perl found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
-
-set(PERL_POSSIBLE_BIN_PATHS
-  ${CYGWIN_INSTALL_PATH}/bin
-  )
-
-if(WIN32)
-  get_filename_component(
-    ActivePerl_CurrentVersion
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl;CurrentVersion]"
-    NAME)
-  set(PERL_POSSIBLE_BIN_PATHS ${PERL_POSSIBLE_BIN_PATHS}
-    "C:/Perl/bin"
-    [HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl\\${ActivePerl_CurrentVersion}]/bin
-    )
-endif()
-
-find_program(PERL_EXECUTABLE
-  NAMES perl
-  PATHS ${PERL_POSSIBLE_BIN_PATHS}
-  )
-
-if(PERL_EXECUTABLE)
-  ### PERL_VERSION
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:version
-      OUTPUT_VARIABLE
-        PERL_VERSION_OUTPUT_VARIABLE
-      RESULT_VARIABLE
-        PERL_VERSION_RESULT_VARIABLE
-      ERROR_QUIET
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-  if(NOT PERL_VERSION_RESULT_VARIABLE AND NOT PERL_VERSION_OUTPUT_VARIABLE MATCHES "^version='UNKNOWN'")
-    string(REGEX REPLACE "version='([^']+)'.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
-  else()
-    execute_process(
-      COMMAND ${PERL_EXECUTABLE} -v
-      OUTPUT_VARIABLE PERL_VERSION_OUTPUT_VARIABLE
-      RESULT_VARIABLE PERL_VERSION_RESULT_VARIABLE
-      ERROR_QUIET
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-    )
-    if(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl.*[ \\(]v([0-9\\._]+)[ \\)]")
-      set(PERL_VERSION_STRING "${CMAKE_MATCH_1}")
-    elseif(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl, version ([0-9\\._]+) +")
-      set(PERL_VERSION_STRING "${CMAKE_MATCH_1}")
-    endif()
-  endif()
-endif()
-
-# Deprecated settings for compatibility with CMake1.4
-set(PERL ${PERL_EXECUTABLE})
-
-# handle the QUIETLY and REQUIRED arguments and set PERL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Perl
-                                  REQUIRED_VARS PERL_EXECUTABLE
-                                  VERSION_VAR PERL_VERSION_STRING)
-
-mark_as_advanced(PERL_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/FindPerlLibs.cmake b/share/cmake-3.6/Modules/FindPerlLibs.cmake
deleted file mode 100644
index 54ccd24..0000000
--- a/share/cmake-3.6/Modules/FindPerlLibs.cmake
+++ /dev/null
@@ -1,269 +0,0 @@
-#.rst:
-# FindPerlLibs
-# ------------
-#
-# Find Perl libraries
-#
-# This module finds if PERL is installed and determines where the
-# include files and libraries are.  It also determines what the name of
-# the library is.  This code sets the following variables:
-#
-# ::
-#
-#   PERLLIBS_FOUND    = True if perl.h & libperl were found
-#   PERL_INCLUDE_PATH = path to where perl.h is found
-#   PERL_LIBRARY      = path to libperl
-#   PERL_EXECUTABLE   = full path to the perl binary
-#
-#
-#
-# The minimum required version of Perl can be specified using the
-# standard syntax, e.g.  find_package(PerlLibs 6.0)
-#
-# ::
-#
-#   The following variables are also available if needed
-#   (introduced after CMake 2.6.4)
-#
-#
-#
-# ::
-#
-#   PERL_SITESEARCH    = path to the sitesearch install dir
-#   PERL_SITELIB       = path to the sitelib install directory
-#   PERL_VENDORARCH    = path to the vendor arch install directory
-#   PERL_VENDORLIB     = path to the vendor lib install directory
-#   PERL_ARCHLIB       = path to the arch lib install directory
-#   PERL_PRIVLIB       = path to the priv lib install directory
-#   PERL_EXTRA_C_FLAGS = Compilation flags used to build perl
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2008      Andreas Schneider <asn@cryptomilk.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# find the perl executable
-include(${CMAKE_CURRENT_LIST_DIR}/FindPerl.cmake)
-
-if (PERL_EXECUTABLE)
-  ### PERL_PREFIX
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:prefix
-      OUTPUT_VARIABLE
-        PERL_PREFIX_OUTPUT_VARIABLE
-      RESULT_VARIABLE
-        PERL_PREFIX_RESULT_VARIABLE
-  )
-
-  if (NOT PERL_PREFIX_RESULT_VARIABLE)
-    string(REGEX REPLACE "prefix='([^']+)'.*" "\\1" PERL_PREFIX ${PERL_PREFIX_OUTPUT_VARIABLE})
-  endif ()
-
-  ### PERL_ARCHNAME
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:archname
-      OUTPUT_VARIABLE
-        PERL_ARCHNAME_OUTPUT_VARIABLE
-      RESULT_VARIABLE
-        PERL_ARCHNAME_RESULT_VARIABLE
-  )
-  if (NOT PERL_ARCHNAME_RESULT_VARIABLE)
-    string(REGEX REPLACE "archname='([^']+)'.*" "\\1" PERL_ARCHNAME ${PERL_ARCHNAME_OUTPUT_VARIABLE})
-  endif ()
-
-
-
-  ### PERL_EXTRA_C_FLAGS
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:cppflags
-    OUTPUT_VARIABLE
-      PERL_CPPFLAGS_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_CPPFLAGS_RESULT_VARIABLE
-    )
-  if (NOT PERL_CPPFLAGS_RESULT_VARIABLE)
-    string(REGEX REPLACE "cppflags='([^']+)'.*" "\\1" PERL_EXTRA_C_FLAGS ${PERL_CPPFLAGS_OUTPUT_VARIABLE})
-  endif ()
-
-  ### PERL_SITESEARCH
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:installsitesearch
-    OUTPUT_VARIABLE
-      PERL_SITESEARCH_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_SITESEARCH_RESULT_VARIABLE
-  )
-  if (NOT PERL_SITESEARCH_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITESEARCH ${PERL_SITESEARCH_OUTPUT_VARIABLE})
-    file(TO_CMAKE_PATH "${PERL_SITESEARCH}" PERL_SITESEARCH)
-  endif ()
-
-  ### PERL_SITELIB
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:installsitelib
-    OUTPUT_VARIABLE
-      PERL_SITELIB_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_SITELIB_RESULT_VARIABLE
-  )
-  if (NOT PERL_SITELIB_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITELIB ${PERL_SITELIB_OUTPUT_VARIABLE})
-    file(TO_CMAKE_PATH "${PERL_SITELIB}" PERL_SITELIB)
-  endif ()
-
-  ### PERL_VENDORARCH
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:installvendorarch
-    OUTPUT_VARIABLE
-      PERL_VENDORARCH_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_VENDORARCH_RESULT_VARIABLE
-    )
-  if (NOT PERL_VENDORARCH_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORARCH ${PERL_VENDORARCH_OUTPUT_VARIABLE})
-    file(TO_CMAKE_PATH "${PERL_VENDORARCH}" PERL_VENDORARCH)
-  endif ()
-
-  ### PERL_VENDORLIB
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:installvendorlib
-    OUTPUT_VARIABLE
-      PERL_VENDORLIB_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_VENDORLIB_RESULT_VARIABLE
-  )
-  if (NOT PERL_VENDORLIB_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORLIB ${PERL_VENDORLIB_OUTPUT_VARIABLE})
-    file(TO_CMAKE_PATH "${PERL_VENDORLIB}" PERL_VENDORLIB)
-  endif ()
-
-  macro(perl_adjust_darwin_lib_variable varname)
-    string( TOUPPER PERL_${varname} FINDPERL_VARNAME )
-    string( TOLOWER install${varname} PERL_VARNAME )
-
-    if (NOT PERL_MINUSV_OUTPUT_VARIABLE)
-      execute_process(
-        COMMAND
-        ${PERL_EXECUTABLE} -V
-        OUTPUT_VARIABLE
-        PERL_MINUSV_OUTPUT_VARIABLE
-        RESULT_VARIABLE
-        PERL_MINUSV_RESULT_VARIABLE
-        )
-    endif()
-
-    if (NOT PERL_MINUSV_RESULT_VARIABLE)
-      string(REGEX MATCH "(${PERL_VARNAME}.*points? to the Updates directory)"
-        PERL_NEEDS_ADJUSTMENT ${PERL_MINUSV_OUTPUT_VARIABLE})
-
-      if (PERL_NEEDS_ADJUSTMENT)
-        string(REGEX REPLACE "(.*)/Updates/" "/System/\\1/" ${FINDPERL_VARNAME} ${${FINDPERL_VARNAME}})
-      endif ()
-
-    endif ()
-  endmacro()
-
-  ### PERL_ARCHLIB
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:installarchlib
-      OUTPUT_VARIABLE
-        PERL_ARCHLIB_OUTPUT_VARIABLE
-      RESULT_VARIABLE
-        PERL_ARCHLIB_RESULT_VARIABLE
-  )
-  if (NOT PERL_ARCHLIB_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_ARCHLIB ${PERL_ARCHLIB_OUTPUT_VARIABLE})
-    perl_adjust_darwin_lib_variable( ARCHLIB )
-    file(TO_CMAKE_PATH "${PERL_ARCHLIB}" PERL_ARCHLIB)
-  endif ()
-
-  ### PERL_PRIVLIB
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:installprivlib
-    OUTPUT_VARIABLE
-      PERL_PRIVLIB_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_PRIVLIB_RESULT_VARIABLE
-  )
-  if (NOT PERL_PRIVLIB_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_PRIVLIB ${PERL_PRIVLIB_OUTPUT_VARIABLE})
-    perl_adjust_darwin_lib_variable( PRIVLIB )
-    file(TO_CMAKE_PATH "${PERL_PRIVLIB}" PERL_PRIVLIB)
-  endif ()
-
-  ### PERL_POSSIBLE_LIBRARY_NAMES
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:libperl
-    OUTPUT_VARIABLE
-      PERL_LIBRARY_OUTPUT_VARIABLE
-    RESULT_VARIABLE
-      PERL_LIBRARY_RESULT_VARIABLE
-  )
-  if (NOT PERL_LIBRARY_RESULT_VARIABLE)
-    string(REGEX REPLACE "libperl='([^']+)'.*" "\\1" PERL_POSSIBLE_LIBRARY_NAMES ${PERL_LIBRARY_OUTPUT_VARIABLE})
-  else ()
-    set(PERL_POSSIBLE_LIBRARY_NAMES perl${PERL_VERSION_STRING} perl)
-  endif ()
-
-  ### PERL_INCLUDE_PATH
-  find_path(PERL_INCLUDE_PATH
-    NAMES
-      perl.h
-    PATHS
-      ${PERL_ARCHLIB}/CORE
-      /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
-      /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
-      /usr/lib/perl5/${PERL_VERSION_STRING}/CORE
-      /usr/lib/perl/${PERL_VERSION_STRING}/CORE
-  )
-
-  ### PERL_LIBRARY
-  find_library(PERL_LIBRARY
-    NAMES
-      ${PERL_POSSIBLE_LIBRARY_NAMES}
-    PATHS
-      ${PERL_ARCHLIB}/CORE
-      /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
-      /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
-      /usr/lib/perl5/${PERL_VERSION_STRING}/CORE
-      /usr/lib/perl/${PERL_VERSION_STRING}/CORE
-  )
-
-endif ()
-
-# handle the QUIETLY and REQUIRED arguments and set PERLLIBS_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(PerlLibs REQUIRED_VARS PERL_LIBRARY PERL_INCLUDE_PATH
-                                           VERSION_VAR PERL_VERSION_STRING)
-
-# Introduced after CMake 2.6.4 to bring module into compliance
-set(PERL_INCLUDE_DIR  ${PERL_INCLUDE_PATH})
-set(PERL_INCLUDE_DIRS ${PERL_INCLUDE_PATH})
-set(PERL_LIBRARIES    ${PERL_LIBRARY})
-# For backward compatibility with CMake before 2.8.8
-set(PERL_VERSION ${PERL_VERSION_STRING})
-
-mark_as_advanced(
-  PERL_INCLUDE_PATH
-  PERL_LIBRARY
-)
diff --git a/share/cmake-3.6/Modules/FindPhysFS.cmake b/share/cmake-3.6/Modules/FindPhysFS.cmake
deleted file mode 100644
index ff584c7..0000000
--- a/share/cmake-3.6/Modules/FindPhysFS.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-#.rst:
-# FindPhysFS
-# ----------
-#
-#
-#
-# Locate PhysFS library This module defines PHYSFS_LIBRARY, the name of
-# the library to link against PHYSFS_FOUND, if false, do not try to link
-# to PHYSFS PHYSFS_INCLUDE_DIR, where to find physfs.h
-#
-# $PHYSFSDIR is an environment variable that would correspond to the
-# ./configure --prefix=$PHYSFSDIR used in building PHYSFS.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(PHYSFS_INCLUDE_DIR physfs.h
-  HINTS
-    ENV PHYSFSDIR
-  PATH_SUFFIXES include/physfs include
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw # Fink
-  /opt/local # DarwinPorts
-  /opt/csw # Blastwave
-  /opt
-)
-
-find_library(PHYSFS_LIBRARY
-  NAMES physfs
-  HINTS
-    ENV PHYSFSDIR
-  PATH_SUFFIXES lib
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-)
-
-# handle the QUIETLY and REQUIRED arguments and set PHYSFS_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PhysFS DEFAULT_MSG PHYSFS_LIBRARY PHYSFS_INCLUDE_DIR)
-
diff --git a/share/cmake-3.6/Modules/FindPike.cmake b/share/cmake-3.6/Modules/FindPike.cmake
deleted file mode 100644
index 2d6a03d..0000000
--- a/share/cmake-3.6/Modules/FindPike.cmake
+++ /dev/null
@@ -1,43 +0,0 @@
-#.rst:
-# FindPike
-# --------
-#
-# Find Pike
-#
-# This module finds if PIKE is installed and determines where the
-# include files and libraries are.  It also determines what the name of
-# the library is.  This code sets the following variables:
-#
-# ::
-#
-#   PIKE_INCLUDE_PATH       = path to where program.h is found
-#   PIKE_EXECUTABLE         = full path to the pike binary
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-file(GLOB PIKE_POSSIBLE_INCLUDE_PATHS
-  /usr/include/pike/*
-  /usr/local/include/pike/*)
-
-find_path(PIKE_INCLUDE_PATH program.h
-  ${PIKE_POSSIBLE_INCLUDE_PATHS})
-
-find_program(PIKE_EXECUTABLE
-  NAMES pike7.4
-  )
-
-mark_as_advanced(
-  PIKE_EXECUTABLE
-  PIKE_INCLUDE_PATH
-  )
diff --git a/share/cmake-3.6/Modules/FindPkgConfig.cmake b/share/cmake-3.6/Modules/FindPkgConfig.cmake
deleted file mode 100644
index 644687c..0000000
--- a/share/cmake-3.6/Modules/FindPkgConfig.cmake
+++ /dev/null
@@ -1,674 +0,0 @@
-#.rst:
-# FindPkgConfig
-# -------------
-#
-# A `pkg-config` module for CMake.
-#
-# Finds the ``pkg-config`` executable and add the
-# :command:`pkg_check_modules` and :command:`pkg_search_module`
-# commands.
-#
-# In order to find the ``pkg-config`` executable, it uses the
-# :variable:`PKG_CONFIG_EXECUTABLE` variable or the ``PKG_CONFIG``
-# environment variable first.
-
-#=============================================================================
-# Copyright 2006-2014 Kitware, Inc.
-# Copyright 2014      Christoph Grüninger <foss@grueninger.de>
-# Copyright 2006      Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-# Copyright 2016      Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-### Common stuff ####
-set(PKG_CONFIG_VERSION 1)
-
-# find pkg-config, use PKG_CONFIG if set
-if((NOT PKG_CONFIG_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG}" STREQUAL ""))
-  set(PKG_CONFIG_EXECUTABLE "$ENV{PKG_CONFIG}" CACHE FILEPATH "pkg-config executable")
-endif()
-find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
-mark_as_advanced(PKG_CONFIG_EXECUTABLE)
-
-if (PKG_CONFIG_EXECUTABLE)
-  execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --version
-    OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
-    ERROR_QUIET
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-endif ()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(PkgConfig
-                                  REQUIRED_VARS PKG_CONFIG_EXECUTABLE
-                                  VERSION_VAR PKG_CONFIG_VERSION_STRING)
-
-# This is needed because the module name is "PkgConfig" but the name of
-# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
-# handled by FPHSA.
-set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
-
-# Unsets the given variables
-macro(_pkgconfig_unset var)
-  set(${var} "" CACHE INTERNAL "")
-endmacro()
-
-macro(_pkgconfig_set var value)
-  set(${var} ${value} CACHE INTERNAL "")
-endmacro()
-
-# Invokes pkgconfig, cleans up the result and sets variables
-macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
-  set(_pkgconfig_invoke_result)
-
-  execute_process(
-    COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
-    OUTPUT_VARIABLE _pkgconfig_invoke_result
-    RESULT_VARIABLE _pkgconfig_failed
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-  if (_pkgconfig_failed)
-    set(_pkgconfig_${_varname} "")
-    _pkgconfig_unset(${_prefix}_${_varname})
-  else()
-    string(REGEX REPLACE "[\r\n]"                  " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
-
-    if (NOT ${_regexp} STREQUAL "")
-      string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
-    endif()
-
-    separate_arguments(_pkgconfig_invoke_result)
-
-    #message(STATUS "  ${_varname} ... ${_pkgconfig_invoke_result}")
-    set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
-    _pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
-  endif()
-endmacro()
-
-#[========================================[.rst:
-.. command:: pkg_get_variable
-
-  Retrieves the value of a variable from a package::
-
-    pkg_get_variable(<RESULT> <MODULE> <VARIABLE>)
-
-  For example:
-
-  .. code-block:: cmake
-
-    pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
-#]========================================]
-function (pkg_get_variable result pkg variable)
-  _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
-  set("${result}"
-    "${prefix_result}"
-    PARENT_SCOPE)
-endfunction ()
-
-# Invokes pkgconfig two times; once without '--static' and once with
-# '--static'
-macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
-  _pkgconfig_invoke("${_pkglist}" ${_prefix}        ${_varname} "${cleanup_regexp}" ${ARGN})
-  _pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static  ${ARGN})
-endmacro()
-
-# Splits given arguments into options and a package list
-macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cmake_environment_path _imp_target)
-  set(${_is_req} 0)
-  set(${_is_silent} 0)
-  set(${_no_cmake_path} 0)
-  set(${_no_cmake_environment_path} 0)
-  set(${_imp_target} 0)
-  if(DEFINED PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
-    if(NOT PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
-      set(${_no_cmake_path} 1)
-      set(${_no_cmake_environment_path} 1)
-    endif()
-  elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
-    set(${_no_cmake_path} 1)
-    set(${_no_cmake_environment_path} 1)
-  endif()
-
-  foreach(_pkg ${ARGN})
-    if (_pkg STREQUAL "REQUIRED")
-      set(${_is_req} 1)
-    endif ()
-    if (_pkg STREQUAL "QUIET")
-      set(${_is_silent} 1)
-    endif ()
-    if (_pkg STREQUAL "NO_CMAKE_PATH")
-      set(${_no_cmake_path} 1)
-    endif()
-    if (_pkg STREQUAL "NO_CMAKE_ENVIRONMENT_PATH")
-      set(${_no_cmake_environment_path} 1)
-    endif()
-    if (_pkg STREQUAL "IMPORTED_TARGET")
-      set(${_imp_target} 1)
-    endif()
-  endforeach()
-
-  set(${_result} ${ARGN})
-  list(REMOVE_ITEM ${_result} "REQUIRED")
-  list(REMOVE_ITEM ${_result} "QUIET")
-  list(REMOVE_ITEM ${_result} "NO_CMAKE_PATH")
-  list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
-  list(REMOVE_ITEM ${_result} "IMPORTED_TARGET")
-endmacro()
-
-# Add the content of a variable or an environment variable to a list of
-# paths
-# Usage:
-#  - _pkgconfig_add_extra_path(_extra_paths VAR)
-#  - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
-function(_pkgconfig_add_extra_path _extra_paths_var _var)
-  set(_is_env 0)
-  if(ARGC GREATER 2 AND _var STREQUAL "ENV")
-    set(_var ${ARGV2})
-    set(_is_env 1)
-  endif()
-  if(NOT _is_env)
-    if(NOT "${${_var}}" STREQUAL "")
-      list(APPEND ${_extra_paths_var} ${${_var}})
-    endif()
-  else()
-    if(NOT "$ENV{${_var}}" STREQUAL "")
-      file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
-      list(APPEND ${_extra_paths_var} ${_path})
-      unset(_path)
-    endif()
-  endif()
-  set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
-endfunction()
-
-# scan the LDFLAGS returned by pkg-config for library directories and
-# libraries, figure out the absolute paths of that libraries in the
-# given directories, and create an imported target from them
-function(_pkg_create_imp_target _prefix _no_cmake_path _no_cmake_environment_path)
-  unset(_libs)
-  unset(_find_opts)
-
-  # set the options that are used as long as the .pc file does not provide a library
-  # path to look into
-  if(_no_cmake_path)
-    set(_find_opts "NO_CMAKE_PATH")
-  endif()
-  if(_no_cmake_environment_path)
-    set(_find_opts "${_find_opts} NO_CMAKE_ENVIRONMENT_PATH")
-  endif()
-
-  foreach (flag IN LISTS ${_prefix}_LDFLAGS)
-    if (flag MATCHES "^-L(.*)")
-      # only look into the given paths from now on
-      set(_find_opts "HINTS ${${CMAKE_MATCH_1}} NO_DEFAULT_PATH")
-      continue()
-    endif()
-    if (flag MATCHES "^-l(.*)")
-      set(_pkg_search "${CMAKE_MATCH_1}")
-    else()
-      continue()
-    endif()
-
-    find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
-                 NAMES ${_pkg_search}
-                 ${_find_opts})
-    list(APPEND _libs "${pkgcfg_lib_${_prefix}_${_pkg_search}}")
-  endforeach()
-
-  # only create the target if it is linkable, i.e. no executables
-  if (NOT TARGET PkgConfig::${_prefix}
-      AND ( ${_prefix}_INCLUDE_DIRS OR _libs OR ${_prefix}_CFLAGS_OTHER ))
-    add_library(PkgConfig::${_prefix} INTERFACE IMPORTED)
-
-    unset(_props)
-    if(${_prefix}_INCLUDE_DIRS)
-      set_property(TARGET PkgConfig::${_prefix} PROPERTY
-                   INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
-    endif()
-    if(_libs)
-      set_property(TARGET PkgConfig::${_prefix} PROPERTY
-                   INTERFACE_LINK_LIBRARIES "${_libs}")
-    endif()
-    if(${_prefix}_CFLAGS_OTHER)
-      set_property(TARGET PkgConfig::${_prefix} PROPERTY
-                   INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
-    endif()
-  endif()
-endfunction()
-
-###
-macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _prefix)
-  _pkgconfig_unset(${_prefix}_FOUND)
-  _pkgconfig_unset(${_prefix}_VERSION)
-  _pkgconfig_unset(${_prefix}_PREFIX)
-  _pkgconfig_unset(${_prefix}_INCLUDEDIR)
-  _pkgconfig_unset(${_prefix}_LIBDIR)
-  _pkgconfig_unset(${_prefix}_LIBS)
-  _pkgconfig_unset(${_prefix}_LIBS_L)
-  _pkgconfig_unset(${_prefix}_LIBS_PATHS)
-  _pkgconfig_unset(${_prefix}_LIBS_OTHER)
-  _pkgconfig_unset(${_prefix}_CFLAGS)
-  _pkgconfig_unset(${_prefix}_CFLAGS_I)
-  _pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
-  _pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
-  _pkgconfig_unset(${_prefix}_STATIC_LIBS)
-  _pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
-  _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
-  _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
-  _pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
-  _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
-  _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
-
-  # create a better addressable variable of the modules and calculate its size
-  set(_pkg_check_modules_list ${ARGN})
-  list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
-
-  if(PKG_CONFIG_EXECUTABLE)
-    # give out status message telling checked module
-    if (NOT ${_is_silent})
-      if (_pkg_check_modules_cnt EQUAL 1)
-        message(STATUS "Checking for module '${_pkg_check_modules_list}'")
-      else()
-        message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
-      endif()
-    endif()
-
-    set(_pkg_check_modules_packages)
-    set(_pkg_check_modules_failed)
-
-    set(_extra_paths)
-
-    if(NOT _no_cmake_path)
-      _pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
-      _pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
-      _pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
-    endif()
-
-    if(NOT _no_cmake_environment_path)
-      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
-      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
-      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
-    endif()
-
-    if(NOT "${_extra_paths}" STREQUAL "")
-      # Save the PKG_CONFIG_PATH environment variable, and add paths
-      # from the CMAKE_PREFIX_PATH variables
-      set(_pkgconfig_path_old "$ENV{PKG_CONFIG_PATH}")
-      set(_pkgconfig_path "${_pkgconfig_path_old}")
-      if(NOT "${_pkgconfig_path}" STREQUAL "")
-        file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
-      endif()
-
-      # Create a list of the possible pkgconfig subfolder (depending on
-      # the system
-      set(_lib_dirs)
-      if(NOT DEFINED CMAKE_SYSTEM_NAME
-          OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
-              AND NOT CMAKE_CROSSCOMPILING))
-        if(EXISTS "/etc/debian_version") # is this a debian system ?
-          if(CMAKE_LIBRARY_ARCHITECTURE)
-            list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
-          endif()
-        else()
-          # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
-          get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
-          if(uselib64)
-            list(APPEND _lib_dirs "lib64/pkgconfig")
-          endif()
-        endif()
-      endif()
-      list(APPEND _lib_dirs "lib/pkgconfig")
-      list(APPEND _lib_dirs "share/pkgconfig")
-
-      # Check if directories exist and eventually append them to the
-      # pkgconfig path list
-      foreach(_prefix_dir ${_extra_paths})
-        foreach(_lib_dir ${_lib_dirs})
-          if(EXISTS "${_prefix_dir}/${_lib_dir}")
-            list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
-            list(REMOVE_DUPLICATES _pkgconfig_path)
-          endif()
-        endforeach()
-      endforeach()
-
-      # Prepare and set the environment variable
-      if(NOT "${_pkgconfig_path}" STREQUAL "")
-        # remove empty values from the list
-        list(REMOVE_ITEM _pkgconfig_path "")
-        file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
-        if(UNIX)
-          string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
-          string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
-        endif()
-        set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
-      endif()
-
-      # Unset variables
-      unset(_lib_dirs)
-      unset(_pkgconfig_path)
-    endif()
-
-    # iterate through module list and check whether they exist and match the required version
-    foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
-      set(_pkg_check_modules_exist_query)
-
-      # check whether version is given
-      if (_pkg_check_modules_pkg MATCHES "(.*[^><])(>=|=|<=)(.*)")
-        set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
-        set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
-        set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
-      else()
-        set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
-        set(_pkg_check_modules_pkg_op)
-        set(_pkg_check_modules_pkg_ver)
-      endif()
-
-      # handle the operands
-      if (_pkg_check_modules_pkg_op STREQUAL ">=")
-        list(APPEND _pkg_check_modules_exist_query --atleast-version)
-      endif()
-
-      if (_pkg_check_modules_pkg_op STREQUAL "=")
-        list(APPEND _pkg_check_modules_exist_query --exact-version)
-      endif()
-
-      if (_pkg_check_modules_pkg_op STREQUAL "<=")
-        list(APPEND _pkg_check_modules_exist_query --max-version)
-      endif()
-
-      # create the final query which is of the format:
-      # * --atleast-version <version> <pkg-name>
-      # * --exact-version <version> <pkg-name>
-      # * --max-version <version> <pkg-name>
-      # * --exists <pkg-name>
-      if (_pkg_check_modules_pkg_op)
-        list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
-      else()
-        list(APPEND _pkg_check_modules_exist_query --exists --print-errors --short-errors)
-      endif()
-
-      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
-      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
-      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
-      _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
-
-      list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
-      list(APPEND _pkg_check_modules_packages    "${_pkg_check_modules_pkg_name}")
-
-      # execute the query
-      execute_process(
-        COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
-        RESULT_VARIABLE _pkgconfig_retval
-        ERROR_VARIABLE _pkgconfig_error
-        ERROR_STRIP_TRAILING_WHITESPACE)
-
-      # evaluate result and tell failures
-      if (_pkgconfig_retval)
-        if(NOT ${_is_silent})
-          message(STATUS "  ${_pkgconfig_error}")
-        endif()
-
-        set(_pkg_check_modules_failed 1)
-      endif()
-    endforeach()
-
-    if(_pkg_check_modules_failed)
-      # fail when requested
-      if (${_is_required})
-        message(FATAL_ERROR "A required package was not found")
-      endif ()
-    else()
-      # when we are here, we checked whether requested modules
-      # exist. Now, go through them and set variables
-
-      _pkgconfig_set(${_prefix}_FOUND 1)
-      list(LENGTH _pkg_check_modules_packages pkg_count)
-
-      # iterate through all modules again and set individual variables
-      foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
-        # handle case when there is only one package required
-        if (pkg_count EQUAL 1)
-          set(_pkg_check_prefix "${_prefix}")
-        else()
-          set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
-        endif()
-
-        _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION    ""   --modversion )
-        pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
-        pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
-        pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
-        foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
-          _pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
-        endforeach ()
-
-        if (NOT ${_is_silent})
-          message(STATUS "  Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
-        endif ()
-      endforeach()
-
-      # set variables which are combined for multiple modules
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES           "(^| )-l" --libs-only-l )
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS        "(^| )-L" --libs-only-L )
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS             ""        --libs )
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER       ""        --libs-only-other )
-
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS        "(^| )-I" --cflags-only-I )
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS              ""        --cflags )
-      _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER        ""        --cflags-only-other )
-
-      if (_imp_target)
-        _pkg_create_imp_target("${_prefix}" _no_cmake_path _no_cmake_environment_path)
-      endif()
-    endif()
-
-    if(NOT "${_extra_paths}" STREQUAL "")
-      # Restore the environment variable
-      set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path_old}")
-    endif()
-
-    unset(_extra_paths)
-    unset(_pkgconfig_path_old)
-  else()
-    if (${_is_required})
-      message(SEND_ERROR "pkg-config tool not found")
-    endif ()
-  endif()
-endmacro()
-
-###
-### User visible macros start here
-###
-
-#[========================================[.rst:
-.. command:: pkg_check_modules
-
- Checks for all the given modules. ::
-
-    pkg_check_modules(<PREFIX> [REQUIRED] [QUIET]
-                      [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
-                      [IMPORTED_TARGET]
-                      <MODULE> [<MODULE>]*)
-
-
- When the ``REQUIRED`` argument was set, macros will fail with an error
- when module(s) could not be found.
-
- When the ``QUIET`` argument is set, no status messages will be printed.
-
- By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
- later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set, the
- :variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH`, and
- :variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables will
- be added to ``pkg-config`` search path.
- The ``NO_CMAKE_PATH`` and ``NO_CMAKE_ENVIRONMENT_PATH`` arguments
- disable this behavior for the cache variables and the environment
- variables, respectively.
- The ``IMPORTED_TARGET`` argument will create an imported target named
- PkgConfig::<PREFIX>> that can be passed directly as an argument to
- :command:`target_link_libraries`.
-
- It sets the following variables: ::
-
-    PKG_CONFIG_FOUND          ... if pkg-config executable was found
-    PKG_CONFIG_EXECUTABLE     ... pathname of the pkg-config program
-    PKG_CONFIG_VERSION_STRING ... the version of the pkg-config program found
-                                  (since CMake 2.8.8)
-
- For the following variables two sets of values exist; first one is the
- common one and has the given PREFIX.  The second set contains flags
- which are given out when ``pkg-config`` was called with the ``--static``
- option. ::
-
-    <XPREFIX>_FOUND          ... set to 1 if module(s) exist
-    <XPREFIX>_LIBRARIES      ... only the libraries (w/o the '-l')
-    <XPREFIX>_LIBRARY_DIRS   ... the paths of the libraries (w/o the '-L')
-    <XPREFIX>_LDFLAGS        ... all required linker flags
-    <XPREFIX>_LDFLAGS_OTHER  ... all other linker flags
-    <XPREFIX>_INCLUDE_DIRS   ... the '-I' preprocessor flags (w/o the '-I')
-    <XPREFIX>_CFLAGS         ... all required cflags
-    <XPREFIX>_CFLAGS_OTHER   ... the other compiler flags
-
- ::
-
-    <XPREFIX> = <PREFIX>        for common case
-    <XPREFIX> = <PREFIX>_STATIC for static linking
-
- There are some special variables whose prefix depends on the count of
- given modules.  When there is only one module, <PREFIX> stays
- unchanged.  When there are multiple modules, the prefix will be
- changed to <PREFIX>_<MODNAME>: ::
-
-    <XPREFIX>_VERSION    ... version of the module
-    <XPREFIX>_PREFIX     ... prefix-directory of the module
-    <XPREFIX>_INCLUDEDIR ... include-dir of the module
-    <XPREFIX>_LIBDIR     ... lib-dir of the module
-
- ::
-
-    <XPREFIX> = <PREFIX>  when |MODULES| == 1, else
-    <XPREFIX> = <PREFIX>_<MODNAME>
-
- A <MODULE> parameter can have the following formats: ::
-
-    {MODNAME}            ... matches any version
-    {MODNAME}>={VERSION} ... at least version <VERSION> is required
-    {MODNAME}={VERSION}  ... exactly version <VERSION> is required
-    {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
-
- Examples
-
- .. code-block:: cmake
-
-    pkg_check_modules (GLIB2   glib-2.0)
-
- .. code-block:: cmake
-
-    pkg_check_modules (GLIB2   glib-2.0>=2.10)
-
- Requires at least version 2.10 of glib2 and defines e.g.
- ``GLIB2_VERSION=2.10.3``
-
- .. code-block:: cmake
-
-    pkg_check_modules (FOO     glib-2.0>=2.10 gtk+-2.0)
-
- Requires both glib2 and gtk2, and defines e.g.
- ``FOO_glib-2.0_VERSION=2.10.3`` and ``FOO_gtk+-2.0_VERSION=2.8.20``
-
- .. code-block:: cmake
-
-    pkg_check_modules (XRENDER REQUIRED xrender)
-
- Defines for example::
-
-   XRENDER_LIBRARIES=Xrender;X11``
-   XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
-#]========================================]
-macro(pkg_check_modules _prefix _module0)
-  # check cached value
-  if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
-    _pkgconfig_parse_options   (_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target "${_module0}" ${ARGN})
-    _pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} "${_prefix}" ${_pkg_modules})
-
-    _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
-  endif()
-endmacro()
-
-
-#[========================================[.rst:
-.. command:: pkg_search_module
-
- Same as :command:`pkg_check_modules`, but instead it checks for given
- modules and uses the first working one. ::
-
-    pkg_search_module(<PREFIX> [REQUIRED] [QUIET]
-                      [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
-                      [IMPORTED_TARGET]
-                      <MODULE> [<MODULE>]*)
-
- Examples
-
- .. code-block:: cmake
-
-    pkg_search_module (BAR     libxml-2.0 libxml2 libxml>=2)
-#]========================================]
-macro(pkg_search_module _prefix _module0)
-  # check cached value
-  if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
-    set(_pkg_modules_found 0)
-    _pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target "${_module0}" ${ARGN})
-
-    if (NOT ${_pkg_is_silent})
-      message(STATUS "Checking for one of the modules '${_pkg_modules_alt}'")
-    endif ()
-
-    # iterate through all modules and stop at the first working one.
-    foreach(_pkg_alt ${_pkg_modules_alt})
-      if(NOT _pkg_modules_found)
-        _pkg_check_modules_internal(0 1 ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} "${_prefix}" "${_pkg_alt}")
-      endif()
-
-      if (${_prefix}_FOUND)
-        set(_pkg_modules_found 1)
-      endif()
-    endforeach()
-
-    if (NOT ${_prefix}_FOUND)
-      if(${_pkg_is_required})
-        message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
-      endif()
-    endif()
-
-    _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
-  endif()
-endmacro()
-
-
-#[========================================[.rst:
-.. variable:: PKG_CONFIG_EXECUTABLE
-
- Path to the pkg-config executable.
-
-
-.. variable:: PKG_CONFIG_USE_CMAKE_PREFIX_PATH
-
- Whether :command:`pkg_check_modules` and :command:`pkg_search_module`
- should add the paths in :variable:`CMAKE_PREFIX_PATH`,
- :variable:`CMAKE_FRAMEWORK_PATH`, and :variable:`CMAKE_APPBUNDLE_PATH`
- cache and environment variables to ``pkg-config`` search path.
-
- If this variable is not set, this behavior is enabled by default if
- :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
- otherwise.
-#]========================================]
-
-
-### Local Variables:
-### mode: cmake
-### End:
diff --git a/share/cmake-3.6/Modules/FindPostgreSQL.cmake b/share/cmake-3.6/Modules/FindPostgreSQL.cmake
deleted file mode 100644
index d05d3da..0000000
--- a/share/cmake-3.6/Modules/FindPostgreSQL.cmake
+++ /dev/null
@@ -1,192 +0,0 @@
-#.rst:
-# FindPostgreSQL
-# --------------
-#
-# Find the PostgreSQL installation.
-#
-# This module defines
-#
-# ::
-#
-#   PostgreSQL_LIBRARIES - the PostgreSQL libraries needed for linking
-#   PostgreSQL_INCLUDE_DIRS - the directories of the PostgreSQL headers
-#   PostgreSQL_LIBRARY_DIRS  - the link directories for PostgreSQL libraries
-#   PostgreSQL_VERSION_STRING - the version of PostgreSQL found (since CMake 2.8.8)
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# ----------------------------------------------------------------------------
-# History:
-# This module is derived from the module originally found in the VTK source tree.
-#
-# ----------------------------------------------------------------------------
-# Note:
-# PostgreSQL_ADDITIONAL_VERSIONS is a variable that can be used to set the
-# version mumber of the implementation of PostgreSQL.
-# In Windows the default installation of PostgreSQL uses that as part of the path.
-# E.g C:\Program Files\PostgreSQL\8.4.
-# Currently, the following version numbers are known to this module:
-# "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0"
-#
-# To use this variable just do something like this:
-# set(PostgreSQL_ADDITIONAL_VERSIONS "9.2" "8.4.4")
-# before calling find_package(PostgreSQL) in your CMakeLists.txt file.
-# This will mean that the versions you set here will be found first in the order
-# specified before the default ones are searched.
-#
-# ----------------------------------------------------------------------------
-# You may need to manually set:
-#  PostgreSQL_INCLUDE_DIR  - the path to where the PostgreSQL include files are.
-#  PostgreSQL_LIBRARY_DIR  - The path to where the PostgreSQL library files are.
-# If FindPostgreSQL.cmake cannot find the include files or the library files.
-#
-# ----------------------------------------------------------------------------
-# The following variables are set if PostgreSQL is found:
-#  PostgreSQL_FOUND         - Set to true when PostgreSQL is found.
-#  PostgreSQL_INCLUDE_DIRS  - Include directories for PostgreSQL
-#  PostgreSQL_LIBRARY_DIRS  - Link directories for PostgreSQL libraries
-#  PostgreSQL_LIBRARIES     - The PostgreSQL libraries.
-#
-# ----------------------------------------------------------------------------
-# If you have installed PostgreSQL in a non-standard location.
-# (Please note that in the following comments, it is assumed that <Your Path>
-# points to the root directory of the include directory of PostgreSQL.)
-# Then you have three options.
-# 1) After CMake runs, set PostgreSQL_INCLUDE_DIR to <Your Path>/include and
-#    PostgreSQL_LIBRARY_DIR to wherever the library pq (or libpq in windows) is
-# 2) Use CMAKE_INCLUDE_PATH to set a path to <Your Path>/PostgreSQL<-version>. This will allow find_path()
-#    to locate PostgreSQL_INCLUDE_DIR by utilizing the PATH_SUFFIXES option. e.g. In your CMakeLists.txt file
-#    set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "<Your Path>/include")
-# 3) Set an environment variable called ${PostgreSQL_ROOT} that points to the root of where you have
-#    installed PostgreSQL, e.g. <Your Path>.
-#
-# ----------------------------------------------------------------------------
-
-set(PostgreSQL_INCLUDE_PATH_DESCRIPTION "top-level directory containing the PostgreSQL include directories. E.g /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include")
-set(PostgreSQL_INCLUDE_DIR_MESSAGE "Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the ${PostgreSQL_INCLUDE_PATH_DESCRIPTION}")
-set(PostgreSQL_LIBRARY_PATH_DESCRIPTION "top-level directory containing the PostgreSQL libraries.")
-set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache entry to the ${PostgreSQL_LIBRARY_PATH_DESCRIPTION}")
-set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
-
-
-set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
-    "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-
-# Define additional search paths for root directories.
-set( PostgreSQL_ROOT_DIRECTORIES
-   ENV PostgreSQL_ROOT
-   ${PostgreSQL_ROOT}
-)
-foreach(suffix ${PostgreSQL_KNOWN_VERSIONS})
-  if(WIN32)
-    list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
-        "PostgreSQL/${suffix}/lib")
-    list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
-        "PostgreSQL/${suffix}/include")
-    list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
-        "PostgreSQL/${suffix}/include/server")
-  endif()
-  if(UNIX)
-    list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
-        "postgresql/${suffix}/server")
-  endif()
-endforeach()
-
-#
-# Look for an installation.
-#
-find_path(PostgreSQL_INCLUDE_DIR
-  NAMES libpq-fe.h
-  PATHS
-   # Look in other places.
-   ${PostgreSQL_ROOT_DIRECTORIES}
-  PATH_SUFFIXES
-    pgsql
-    postgresql
-    include
-    ${PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES}
-  # Help the user find it if we cannot.
-  DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
-)
-
-find_path(PostgreSQL_TYPE_INCLUDE_DIR
-  NAMES catalog/pg_type.h
-  PATHS
-   # Look in other places.
-   ${PostgreSQL_ROOT_DIRECTORIES}
-  PATH_SUFFIXES
-    postgresql
-    pgsql/server
-    postgresql/server
-    include/server
-    ${PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES}
-  # Help the user find it if we cannot.
-  DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
-)
-
-# The PostgreSQL library.
-set (PostgreSQL_LIBRARY_TO_FIND pq)
-# Setting some more prefixes for the library
-set (PostgreSQL_LIB_PREFIX "")
-if ( WIN32 )
-  set (PostgreSQL_LIB_PREFIX ${PostgreSQL_LIB_PREFIX} "lib")
-  set (PostgreSQL_LIBRARY_TO_FIND ${PostgreSQL_LIB_PREFIX}${PostgreSQL_LIBRARY_TO_FIND})
-endif()
-
-find_library(PostgreSQL_LIBRARY
- NAMES ${PostgreSQL_LIBRARY_TO_FIND}
- PATHS
-   ${PostgreSQL_ROOT_DIRECTORIES}
- PATH_SUFFIXES
-   lib
-   ${PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES}
- # Help the user find it if we cannot.
- DOC "The ${PostgreSQL_LIBRARY_DIR_MESSAGE}"
-)
-get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH)
-
-if (PostgreSQL_INCLUDE_DIR)
-  # Some platforms include multiple pg_config.hs for multi-lib configurations
-  # This is a temporary workaround.  A better solution would be to compile
-  # a dummy c file and extract the value of the symbol.
-  file(GLOB _PG_CONFIG_HEADERS "${PostgreSQL_INCLUDE_DIR}/pg_config*.h")
-  foreach(_PG_CONFIG_HEADER ${_PG_CONFIG_HEADERS})
-    if(EXISTS "${_PG_CONFIG_HEADER}")
-      file(STRINGS "${_PG_CONFIG_HEADER}" pgsql_version_str
-           REGEX "^#define[\t ]+PG_VERSION[\t ]+\".*\"")
-      if(pgsql_version_str)
-        string(REGEX REPLACE "^#define[\t ]+PG_VERSION[\t ]+\"([^\"]*)\".*"
-               "\\1" PostgreSQL_VERSION_STRING "${pgsql_version_str}")
-        break()
-      endif()
-    endif()
-  endforeach()
-  unset(pgsql_version_str)
-endif()
-
-# Did we find anything?
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(PostgreSQL
-                                  REQUIRED_VARS PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR
-                                  VERSION_VAR PostgreSQL_VERSION_STRING)
-set(PostgreSQL_FOUND  ${POSTGRESQL_FOUND})
-
-# Now try to get the include and library path.
-if(PostgreSQL_FOUND)
-  set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR} )
-  set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} )
-  set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY_TO_FIND})
-endif()
-
-mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY )
diff --git a/share/cmake-3.6/Modules/FindProducer.cmake b/share/cmake-3.6/Modules/FindProducer.cmake
deleted file mode 100644
index aef84ea..0000000
--- a/share/cmake-3.6/Modules/FindProducer.cmake
+++ /dev/null
@@ -1,81 +0,0 @@
-#.rst:
-# FindProducer
-# ------------
-#
-#
-#
-# Though Producer isn't directly part of OpenSceneGraph, its primary
-# user is OSG so I consider this part of the Findosg* suite used to find
-# OpenSceneGraph components.  You'll notice that I accept OSGDIR as an
-# environment path.
-#
-# Each component is separate and you must opt in to each module.  You
-# must also opt into OpenGL (and OpenThreads?) as these modules won't do
-# it for you.  This is to allow you control over your own system piece
-# by piece in case you need to opt out of certain components or change
-# the Find behavior for a particular module (perhaps because the default
-# FindOpenGL.cmake module doesn't work with your system as an example).
-# If you want to use a more convenient module that includes everything,
-# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake
-# modules.
-#
-# Locate Producer This module defines PRODUCER_LIBRARY PRODUCER_FOUND,
-# if false, do not try to link to Producer PRODUCER_INCLUDE_DIR, where
-# to find the headers
-#
-# $PRODUCER_DIR is an environment variable that would correspond to the
-# ./configure --prefix=$PRODUCER_DIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <Producer/CameraGroup>
-
-# Try the user's environment request before anything else.
-find_path(PRODUCER_INCLUDE_DIR Producer/CameraGroup
-  HINTS
-    ENV PRODUCER_DIR
-    ENV OSG_DIR
-    ENV OSGDIR
-  PATH_SUFFIXES include
-  PATHS
-    ~/Library/Frameworks
-    /Library/Frameworks
-    /sw/include # Fink
-    /opt/local/include # DarwinPorts
-    /opt/csw/include # Blastwave
-    /opt/include
-    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/include
-    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
-)
-
-find_library(PRODUCER_LIBRARY
-  NAMES Producer
-  HINTS
-    ENV PRODUCER_DIR
-    ENV OSG_DIR
-    ENV OSGDIR
-  PATH_SUFFIXES lib
-  PATHS
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Producer DEFAULT_MSG
-    PRODUCER_LIBRARY PRODUCER_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindProtobuf.cmake b/share/cmake-3.6/Modules/FindProtobuf.cmake
deleted file mode 100644
index 8042073..0000000
--- a/share/cmake-3.6/Modules/FindProtobuf.cmake
+++ /dev/null
@@ -1,415 +0,0 @@
-#.rst:
-# FindProtobuf
-# ------------
-#
-# Locate and configure the Google Protocol Buffers library.
-#
-# The following variables can be set and are optional:
-#
-# ``Protobuf_SRC_ROOT_FOLDER``
-#   When compiling with MSVC, if this cache variable is set
-#   the protobuf-default VS project build locations
-#   (vsprojects/Debug and vsprojects/Release
-#   or vsprojects/x64/Debug and vsprojects/x64/Release)
-#   will be searched for libraries and binaries.
-# ``Protobuf_IMPORT_DIRS``
-#   List of additional directories to be searched for
-#   imported .proto files.
-# ``Protobuf_DEBUG``
-#   Show debug messages.
-#
-# Defines the following variables:
-#
-# ``Protobuf_FOUND``
-#   Found the Google Protocol Buffers library
-#   (libprotobuf & header files)
-# ``Protobuf_VERSION``
-#   Version of package found.
-# ``Protobuf_INCLUDE_DIRS``
-#   Include directories for Google Protocol Buffers
-# ``Protobuf_LIBRARIES``
-#   The protobuf libraries
-# ``Protobuf_PROTOC_LIBRARIES``
-#   The protoc libraries
-# ``Protobuf_LITE_LIBRARIES``
-#   The protobuf-lite libraries
-#
-# The following cache variables are also available to set or use:
-#
-# ``Protobuf_LIBRARY``
-#   The protobuf library
-# ``Protobuf_PROTOC_LIBRARY``
-#   The protoc library
-# ``Protobuf_INCLUDE_DIR``
-#   The include directory for protocol buffers
-# ``Protobuf_PROTOC_EXECUTABLE``
-#   The protoc compiler
-# ``Protobuf_LIBRARY_DEBUG``
-#   The protobuf library (debug)
-# ``Protobuf_PROTOC_LIBRARY_DEBUG``
-#   The protoc library (debug)
-# ``Protobuf_LITE_LIBRARY``
-#   The protobuf lite library
-# ``Protobuf_LITE_LIBRARY_DEBUG``
-#   The protobuf lite library (debug)
-#
-# Example:
-#
-# .. code-block:: cmake
-#
-#   find_package(Protobuf REQUIRED)
-#   include_directories(${Protobuf_INCLUDE_DIRS})
-#   include_directories(${CMAKE_CURRENT_BINARY_DIR})
-#   protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto)
-#   protobuf_generate_python(PROTO_PY foo.proto)
-#   add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS})
-#   target_link_libraries(bar ${Protobuf_LIBRARIES})
-#
-# .. note::
-#   The ``protobuf_generate_cpp`` and ``protobuf_generate_python``
-#   functions and :command:`add_executable` or :command:`add_library`
-#   calls only work properly within the same directory.
-#
-# .. command:: protobuf_generate_cpp
-#
-#   Add custom commands to process ``.proto`` files to C++::
-#
-#     protobuf_generate_cpp (<SRCS> <HDRS> [<ARGN>...])
-#
-#   ``SRCS``
-#     Variable to define with autogenerated source files
-#   ``HDRS``
-#     Variable to define with autogenerated header files
-#   ``ARGN``
-#     ``.proto`` files
-#
-# .. command:: protobuf_generate_python
-#
-#   Add custom commands to process ``.proto`` files to Python::
-#
-#     protobuf_generate_python (<PY> [<ARGN>...])
-#
-#   ``PY``
-#     Variable to define with autogenerated Python files
-#   ``ARGN``
-#     ``.proto`` filess
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009-2011 Philip Lowman <philip@yhbt.com>
-# Copyright 2008 Esben Mose Hansen, Ange Optimization ApS
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(PROTOBUF_GENERATE_CPP SRCS HDRS)
-  if(NOT ARGN)
-    message(SEND_ERROR "Error: PROTOBUF_GENERATE_CPP() called without any proto files")
-    return()
-  endif()
-
-  if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
-    # Create an include path for each file specified
-    foreach(FIL ${ARGN})
-      get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-      get_filename_component(ABS_PATH ${ABS_FIL} PATH)
-      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
-      if(${_contains_already} EQUAL -1)
-          list(APPEND _protobuf_include_path -I ${ABS_PATH})
-      endif()
-    endforeach()
-  else()
-    set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
-  endif()
-
-  if(DEFINED Protobuf_IMPORT_DIRS)
-    foreach(DIR ${Protobuf_IMPORT_DIRS})
-      get_filename_component(ABS_PATH ${DIR} ABSOLUTE)
-      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
-      if(${_contains_already} EQUAL -1)
-          list(APPEND _protobuf_include_path -I ${ABS_PATH})
-      endif()
-    endforeach()
-  endif()
-
-  set(${SRCS})
-  set(${HDRS})
-  foreach(FIL ${ARGN})
-    get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-    get_filename_component(FIL_WE ${FIL} NAME_WE)
-
-    list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
-    list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")
-
-    add_custom_command(
-      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc"
-             "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h"
-      COMMAND  ${Protobuf_PROTOC_EXECUTABLE}
-      ARGS --cpp_out  ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
-      DEPENDS ${ABS_FIL} ${Protobuf_PROTOC_EXECUTABLE}
-      COMMENT "Running C++ protocol buffer compiler on ${FIL}"
-      VERBATIM )
-  endforeach()
-
-  set_source_files_properties(${${SRCS}} ${${HDRS}} PROPERTIES GENERATED TRUE)
-  set(${SRCS} ${${SRCS}} PARENT_SCOPE)
-  set(${HDRS} ${${HDRS}} PARENT_SCOPE)
-endfunction()
-
-function(PROTOBUF_GENERATE_PYTHON SRCS)
-  if(NOT ARGN)
-    message(SEND_ERROR "Error: PROTOBUF_GENERATE_PYTHON() called without any proto files")
-    return()
-  endif()
-
-  if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
-    # Create an include path for each file specified
-    foreach(FIL ${ARGN})
-      get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-      get_filename_component(ABS_PATH ${ABS_FIL} PATH)
-      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
-      if(${_contains_already} EQUAL -1)
-          list(APPEND _protobuf_include_path -I ${ABS_PATH})
-      endif()
-    endforeach()
-  else()
-    set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
-  endif()
-
-  if(DEFINED Protobuf_IMPORT_DIRS)
-    foreach(DIR ${Protobuf_IMPORT_DIRS})
-      get_filename_component(ABS_PATH ${DIR} ABSOLUTE)
-      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
-      if(${_contains_already} EQUAL -1)
-          list(APPEND _protobuf_include_path -I ${ABS_PATH})
-      endif()
-    endforeach()
-  endif()
-
-  set(${SRCS})
-  foreach(FIL ${ARGN})
-    get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-    get_filename_component(FIL_WE ${FIL} NAME_WE)
-
-    list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}_pb2.py")
-    add_custom_command(
-      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}_pb2.py"
-      COMMAND  ${Protobuf_PROTOC_EXECUTABLE} --python_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
-      DEPENDS ${ABS_FIL} ${Protobuf_PROTOC_EXECUTABLE}
-      COMMENT "Running Python protocol buffer compiler on ${FIL}"
-      VERBATIM )
-  endforeach()
-
-  set(${SRCS} ${${SRCS}} PARENT_SCOPE)
-endfunction()
-
-# Backwards compatibility
-# Define camel case versions of input variables
-foreach(UPPER
-    PROTOBUF_SRC_ROOT_FOLDER
-    PROTOBUF_IMPORT_DIRS
-    PROTOBUF_DEBUG
-    PROTOBUF_LIBRARY
-    PROTOBUF_PROTOC_LIBRARY
-    PROTOBUF_INCLUDE_DIR
-    PROTOBUF_PROTOC_EXECUTABLE
-    PROTOBUF_LIBRARY_DEBUG
-    PROTOBUF_PROTOC_LIBRARY_DEBUG
-    PROTOBUF_LITE_LIBRARY
-    PROTOBUF_LITE_LIBRARY_DEBUG
-    )
-    if (DEFINED ${UPPER})
-        string(REPLACE "PROTOBUF_" "Protobuf_" Camel ${UPPER})
-        if (NOT DEFINED ${Camel})
-            set(${Camel} ${${UPPER}})
-        endif()
-    endif()
-endforeach()
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(_PROTOBUF_ARCH_DIR x64/)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-
-# Internal function: search for normal library as well as a debug one
-#    if the debug one is specified also include debug/optimized keywords
-#    in *_LIBRARIES variable
-function(_protobuf_find_libraries name filename)
-  if(${name}_LIBRARIES)
-    # Use result recorded by a previous call.
-    return()
-  elseif(${name}_LIBRARY)
-    # Honor cache entry used by CMake 3.5 and lower.
-    set(${name}_LIBRARIES "${${name}_LIBRARY}" PARENT_SCOPE)
-  else()
-    find_library(${name}_LIBRARY_RELEASE
-      NAMES ${filename}
-      PATHS ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Release)
-    mark_as_advanced(${name}_LIBRARY_RELEASE)
-
-    find_library(${name}_LIBRARY_DEBUG
-      NAMES ${filename}
-      PATHS ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug)
-    mark_as_advanced(${name}_LIBRARY_DEBUG)
-
-    select_library_configurations(${name})
-    set(${name}_LIBRARY "${${name}_LIBRARY}" PARENT_SCOPE)
-    set(${name}_LIBRARIES "${${name}_LIBRARIES}" PARENT_SCOPE)
-  endif()
-endfunction()
-
-# Internal function: find threads library
-function(_protobuf_find_threads)
-    set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-    find_package(Threads)
-    if(Threads_FOUND)
-        list(APPEND Protobuf_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-        set(Protobuf_LIBRARIES "${Protobuf_LIBRARIES}" PARENT_SCOPE)
-    endif()
-endfunction()
-
-#
-# Main.
-#
-
-# By default have PROTOBUF_GENERATE_CPP macro pass -I to protoc
-# for each directory where a proto file is referenced.
-if(NOT DEFINED PROTOBUF_GENERATE_CPP_APPEND_PATH)
-  set(PROTOBUF_GENERATE_CPP_APPEND_PATH TRUE)
-endif()
-
-
-# Google's provided vcproj files generate libraries with a "lib"
-# prefix on Windows
-if(MSVC)
-    set(Protobuf_ORIG_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
-    set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-
-    find_path(Protobuf_SRC_ROOT_FOLDER protobuf.pc.in)
-endif()
-
-# The Protobuf library
-_protobuf_find_libraries(Protobuf protobuf)
-#DOC "The Google Protocol Buffers RELEASE Library"
-
-_protobuf_find_libraries(Protobuf_LITE protobuf-lite)
-
-# The Protobuf Protoc Library
-_protobuf_find_libraries(Protobuf_PROTOC protoc)
-
-# Restore original find library prefixes
-if(MSVC)
-    set(CMAKE_FIND_LIBRARY_PREFIXES "${Protobuf_ORIG_FIND_LIBRARY_PREFIXES}")
-endif()
-
-if(UNIX)
-    _protobuf_find_threads()
-endif()
-
-# Find the include directory
-find_path(Protobuf_INCLUDE_DIR
-    google/protobuf/service.h
-    PATHS ${Protobuf_SRC_ROOT_FOLDER}/src
-)
-mark_as_advanced(Protobuf_INCLUDE_DIR)
-
-# Find the protoc Executable
-find_program(Protobuf_PROTOC_EXECUTABLE
-    NAMES protoc
-    DOC "The Google Protocol Buffers Compiler"
-    PATHS
-    ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Release
-    ${Protobuf_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug
-)
-mark_as_advanced(Protobuf_PROTOC_EXECUTABLE)
-
-if(Protobuf_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-        "requested version of Google Protobuf is ${Protobuf_FIND_VERSION}")
-endif()
-
-if(Protobuf_INCLUDE_DIR)
-  set(_PROTOBUF_COMMON_HEADER ${Protobuf_INCLUDE_DIR}/google/protobuf/stubs/common.h)
-
-  if(Protobuf_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "location of common.h: ${_PROTOBUF_COMMON_HEADER}")
-  endif()
-
-  set(Protobuf_VERSION "")
-  set(Protobuf_LIB_VERSION "")
-  file(STRINGS ${_PROTOBUF_COMMON_HEADER} _PROTOBUF_COMMON_H_CONTENTS REGEX "#define[ \t]+GOOGLE_PROTOBUF_VERSION[ \t]+")
-  if(_PROTOBUF_COMMON_H_CONTENTS MATCHES "#define[ \t]+GOOGLE_PROTOBUF_VERSION[ \t]+([0-9]+)")
-      set(Protobuf_LIB_VERSION "${CMAKE_MATCH_1}")
-  endif()
-  unset(_PROTOBUF_COMMON_H_CONTENTS)
-
-  math(EXPR _PROTOBUF_MAJOR_VERSION "${Protobuf_LIB_VERSION} / 1000000")
-  math(EXPR _PROTOBUF_MINOR_VERSION "${Protobuf_LIB_VERSION} / 1000 % 1000")
-  math(EXPR _PROTOBUF_SUBMINOR_VERSION "${Protobuf_LIB_VERSION} % 1000")
-  set(Protobuf_VERSION "${_PROTOBUF_MAJOR_VERSION}.${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
-
-  if(Protobuf_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-        "${_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_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(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}")
-  endif()
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Protobuf
-    REQUIRED_VARS Protobuf_LIBRARIES Protobuf_INCLUDE_DIR
-    VERSION_VAR Protobuf_VERSION
-)
-
-if(Protobuf_FOUND)
-    set(Protobuf_INCLUDE_DIRS ${Protobuf_INCLUDE_DIR})
-endif()
-
-# Backwards compatibility
-# Define upper case versions of output variables
-foreach(Camel
-    Protobuf_SRC_ROOT_FOLDER
-    Protobuf_IMPORT_DIRS
-    Protobuf_DEBUG
-    Protobuf_INCLUDE_DIRS
-    Protobuf_LIBRARIES
-    Protobuf_PROTOC_LIBRARIES
-    Protobuf_LITE_LIBRARIES
-    Protobuf_LIBRARY
-    Protobuf_PROTOC_LIBRARY
-    Protobuf_INCLUDE_DIR
-    Protobuf_PROTOC_EXECUTABLE
-    Protobuf_LIBRARY_DEBUG
-    Protobuf_PROTOC_LIBRARY_DEBUG
-    Protobuf_LITE_LIBRARY
-    Protobuf_LITE_LIBRARY_DEBUG
-    )
-    string(TOUPPER ${Camel} UPPER)
-    set(${UPPER} ${${Camel}})
-endforeach()
diff --git a/share/cmake-3.6/Modules/FindPythonInterp.cmake b/share/cmake-3.6/Modules/FindPythonInterp.cmake
deleted file mode 100644
index e194185..0000000
--- a/share/cmake-3.6/Modules/FindPythonInterp.cmake
+++ /dev/null
@@ -1,165 +0,0 @@
-#.rst:
-# FindPythonInterp
-# ----------------
-#
-# Find python interpreter
-#
-# This module finds if Python interpreter is installed and determines
-# where the executables are.  This code sets the following variables:
-#
-# ::
-#
-#   PYTHONINTERP_FOUND         - Was the Python executable found
-#   PYTHON_EXECUTABLE          - path to the Python interpreter
-#
-#
-#
-# ::
-#
-#   PYTHON_VERSION_STRING      - Python version found e.g. 2.5.2
-#   PYTHON_VERSION_MAJOR       - Python major version found e.g. 2
-#   PYTHON_VERSION_MINOR       - Python minor version found e.g. 5
-#   PYTHON_VERSION_PATCH       - Python patch version found e.g. 2
-#
-#
-#
-# The Python_ADDITIONAL_VERSIONS variable can be used to specify a list
-# of version numbers that should be taken into account when searching
-# for Python.  You need to set this variable before calling
-# find_package(PythonInterp).
-#
-# If calling both ``find_package(PythonInterp)`` and
-# ``find_package(PythonLibs)``, call ``find_package(PythonInterp)`` first to
-# get the currently active Python version by default with a consistent version
-# of PYTHON_LIBRARIES.
-
-#=============================================================================
-# Copyright 2005-2010 Kitware, Inc.
-# Copyright 2011 Bjoern Ricks <bjoern.ricks@gmail.com>
-# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-unset(_Python_NAMES)
-
-set(_PYTHON1_VERSIONS 1.6 1.5)
-set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
-set(_PYTHON3_VERSIONS 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
-
-if(PythonInterp_FIND_VERSION)
-    if(PythonInterp_FIND_VERSION_COUNT GREATER 1)
-        set(_PYTHON_FIND_MAJ_MIN "${PythonInterp_FIND_VERSION_MAJOR}.${PythonInterp_FIND_VERSION_MINOR}")
-        list(APPEND _Python_NAMES
-             python${_PYTHON_FIND_MAJ_MIN}
-             python${PythonInterp_FIND_VERSION_MAJOR})
-        unset(_PYTHON_FIND_OTHER_VERSIONS)
-        if(NOT PythonInterp_FIND_VERSION_EXACT)
-            foreach(_PYTHON_V ${_PYTHON${PythonInterp_FIND_VERSION_MAJOR}_VERSIONS})
-                if(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN)
-                    list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
-                endif()
-             endforeach()
-        endif()
-        unset(_PYTHON_FIND_MAJ_MIN)
-    else()
-        list(APPEND _Python_NAMES python${PythonInterp_FIND_VERSION_MAJOR})
-        set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonInterp_FIND_VERSION_MAJOR}_VERSIONS})
-    endif()
-else()
-    set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
-endif()
-find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES})
-
-# Set up the versions we know about, in the order we will search. Always add
-# the user supplied additional versions to the front.
-set(_Python_VERSIONS ${Python_ADDITIONAL_VERSIONS})
-# If FindPythonInterp has already found the major and minor version,
-# insert that version next to get consistent versions of the interpreter and
-# library.
-if(DEFINED PYTHONLIBS_VERSION_STRING)
-  string(REPLACE "." ";" _PYTHONLIBS_VERSION "${PYTHONLIBS_VERSION_STRING}")
-  list(GET _PYTHONLIBS_VERSION 0 _PYTHONLIBS_VERSION_MAJOR)
-  list(GET _PYTHONLIBS_VERSION 1 _PYTHONLIBS_VERSION_MINOR)
-  list(APPEND _Python_VERSIONS ${_PYTHONLIBS_VERSION_MAJOR}.${_PYTHONLIBS_VERSION_MINOR})
-endif()
-# Search for the current active python version first
-list(APPEND _Python_VERSIONS ";")
-list(APPEND _Python_VERSIONS ${_PYTHON_FIND_OTHER_VERSIONS})
-
-unset(_PYTHON_FIND_OTHER_VERSIONS)
-unset(_PYTHON1_VERSIONS)
-unset(_PYTHON2_VERSIONS)
-unset(_PYTHON3_VERSIONS)
-
-# Search for newest python version if python executable isn't found
-if(NOT PYTHON_EXECUTABLE)
-    foreach(_CURRENT_VERSION IN LISTS _Python_VERSIONS)
-      set(_Python_NAMES python${_CURRENT_VERSION})
-      if(WIN32)
-        list(APPEND _Python_NAMES python)
-      endif()
-      find_program(PYTHON_EXECUTABLE
-        NAMES ${_Python_NAMES}
-        PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]
-        )
-    endforeach()
-endif()
-
-# determine python version string
-if(PYTHON_EXECUTABLE)
-    execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
-                            "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))"
-                    OUTPUT_VARIABLE _VERSION
-                    RESULT_VARIABLE _PYTHON_VERSION_RESULT
-                    ERROR_QUIET)
-    if(NOT _PYTHON_VERSION_RESULT)
-        string(REPLACE ";" "." PYTHON_VERSION_STRING "${_VERSION}")
-        list(GET _VERSION 0 PYTHON_VERSION_MAJOR)
-        list(GET _VERSION 1 PYTHON_VERSION_MINOR)
-        list(GET _VERSION 2 PYTHON_VERSION_PATCH)
-        if(PYTHON_VERSION_PATCH EQUAL 0)
-            # it's called "Python 2.7", not "2.7.0"
-            string(REGEX REPLACE "\\.0$" "" PYTHON_VERSION_STRING "${PYTHON_VERSION_STRING}")
-        endif()
-    else()
-        # sys.version predates sys.version_info, so use that
-        execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)"
-                        OUTPUT_VARIABLE _VERSION
-                        RESULT_VARIABLE _PYTHON_VERSION_RESULT
-                        ERROR_QUIET)
-        if(NOT _PYTHON_VERSION_RESULT)
-            string(REGEX REPLACE " .*" "" PYTHON_VERSION_STRING "${_VERSION}")
-            string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}")
-            string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}")
-            if(PYTHON_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.([0-9]+)")
-                set(PYTHON_VERSION_PATCH "${CMAKE_MATCH_1}")
-            else()
-                set(PYTHON_VERSION_PATCH "0")
-            endif()
-        else()
-            # sys.version was first documented for Python 1.5, so assume
-            # this is older.
-            set(PYTHON_VERSION_STRING "1.4")
-            set(PYTHON_VERSION_MAJOR "1")
-            set(PYTHON_VERSION_MINOR "4")
-            set(PYTHON_VERSION_PATCH "0")
-        endif()
-    endif()
-    unset(_PYTHON_VERSION_RESULT)
-    unset(_VERSION)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set PYTHONINTERP_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonInterp REQUIRED_VARS PYTHON_EXECUTABLE VERSION_VAR PYTHON_VERSION_STRING)
-
-mark_as_advanced(PYTHON_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/FindPythonLibs.cmake b/share/cmake-3.6/Modules/FindPythonLibs.cmake
deleted file mode 100644
index ab92f86..0000000
--- a/share/cmake-3.6/Modules/FindPythonLibs.cmake
+++ /dev/null
@@ -1,354 +0,0 @@
-#.rst:
-# FindPythonLibs
-# --------------
-#
-# Find python libraries
-#
-# This module finds if Python is installed and determines where the
-# include files and libraries are.  It also determines what the name of
-# the library is.  This code sets the following variables:
-#
-# ::
-#
-#   PYTHONLIBS_FOUND           - have the Python libs been found
-#   PYTHON_LIBRARIES           - path to the python library
-#   PYTHON_INCLUDE_PATH        - path to where Python.h is found (deprecated)
-#   PYTHON_INCLUDE_DIRS        - path to where Python.h is found
-#   PYTHON_DEBUG_LIBRARIES     - path to the debug library (deprecated)
-#   PYTHONLIBS_VERSION_STRING  - version of the Python libs found (since CMake 2.8.8)
-#
-#
-#
-# The Python_ADDITIONAL_VERSIONS variable can be used to specify a list
-# of version numbers that should be taken into account when searching
-# for Python.  You need to set this variable before calling
-# find_package(PythonLibs).
-#
-# If you'd like to specify the installation of Python to use, you should
-# modify the following cache variables:
-#
-# ::
-#
-#   PYTHON_LIBRARY             - path to the python library
-#   PYTHON_INCLUDE_DIR         - path to where Python.h is found
-#
-# If calling both ``find_package(PythonInterp)`` and
-# ``find_package(PythonLibs)``, call ``find_package(PythonInterp)`` first to
-# get the currently active Python version by default with a consistent version
-# of PYTHON_LIBRARIES.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Use the executable's path as a hint
-set(_Python_LIBRARY_PATH_HINT)
-if(PYTHON_EXECUTABLE)
-  if(WIN32)
-    get_filename_component(_Python_PREFIX ${PYTHON_EXECUTABLE} PATH)
-    if(_Python_PREFIX)
-      set(_Python_LIBRARY_PATH_HINT ${_Python_PREFIX}/libs)
-    endif()
-    unset(_Python_PREFIX)
-  else()
-    get_filename_component(_Python_PREFIX ${PYTHON_EXECUTABLE} PATH)
-    get_filename_component(_Python_PREFIX ${_Python_PREFIX} PATH)
-    if(_Python_PREFIX)
-      set(_Python_LIBRARY_PATH_HINT ${_Python_PREFIX}/lib)
-    endif()
-    unset(_Python_PREFIX)
-  endif()
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindFrameworks.cmake)
-# Search for the python framework on Apple.
-CMAKE_FIND_FRAMEWORKS(Python)
-
-# Save CMAKE_FIND_FRAMEWORK
-if(DEFINED CMAKE_FIND_FRAMEWORK)
-  set(_PythonLibs_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
-else()
-  unset(_PythonLibs_CMAKE_FIND_FRAMEWORK)
-endif()
-# To avoid picking up the system Python.h pre-maturely.
-set(CMAKE_FIND_FRAMEWORK LAST)
-
-set(_PYTHON1_VERSIONS 1.6 1.5)
-set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
-set(_PYTHON3_VERSIONS 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
-
-if(PythonLibs_FIND_VERSION)
-    if(PythonLibs_FIND_VERSION_COUNT GREATER 1)
-        set(_PYTHON_FIND_MAJ_MIN "${PythonLibs_FIND_VERSION_MAJOR}.${PythonLibs_FIND_VERSION_MINOR}")
-        unset(_PYTHON_FIND_OTHER_VERSIONS)
-        if(PythonLibs_FIND_VERSION_EXACT)
-            if(_PYTHON_FIND_MAJ_MIN STREQUAL PythonLibs_FIND_VERSION)
-                set(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}")
-            else()
-                set(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}" "${_PYTHON_FIND_MAJ_MIN}")
-            endif()
-        else()
-            foreach(_PYTHON_V ${_PYTHON${PythonLibs_FIND_VERSION_MAJOR}_VERSIONS})
-                if(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN)
-                    list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
-                endif()
-             endforeach()
-        endif()
-        unset(_PYTHON_FIND_MAJ_MIN)
-    else()
-        set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonLibs_FIND_VERSION_MAJOR}_VERSIONS})
-    endif()
-else()
-    set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
-endif()
-
-# Set up the versions we know about, in the order we will search. Always add
-# the user supplied additional versions to the front.
-# If FindPythonInterp has already found the major and minor version,
-# insert that version between the user supplied versions and the stock
-# version list.
-set(_Python_VERSIONS ${Python_ADDITIONAL_VERSIONS})
-if(DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR)
-  list(APPEND _Python_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
-endif()
-list(APPEND _Python_VERSIONS ${_PYTHON_FIND_OTHER_VERSIONS})
-
-unset(_PYTHON_FIND_OTHER_VERSIONS)
-unset(_PYTHON1_VERSIONS)
-unset(_PYTHON2_VERSIONS)
-unset(_PYTHON3_VERSIONS)
-
-foreach(_CURRENT_VERSION ${_Python_VERSIONS})
-  string(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
-  if(WIN32)
-    find_library(PYTHON_DEBUG_LIBRARY
-      NAMES python${_CURRENT_VERSION_NO_DOTS}_d python
-      HINTS ${_Python_LIBRARY_PATH_HINT}
-      PATHS
-      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
-      [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
-      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
-      [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
-      )
-  endif()
-
-  set(PYTHON_FRAMEWORK_LIBRARIES)
-  if(Python_FRAMEWORKS AND NOT PYTHON_LIBRARY)
-    foreach(dir ${Python_FRAMEWORKS})
-      list(APPEND PYTHON_FRAMEWORK_LIBRARIES
-           ${dir}/Versions/${_CURRENT_VERSION}/lib)
-    endforeach()
-  endif()
-  find_library(PYTHON_LIBRARY
-    NAMES
-      python${_CURRENT_VERSION_NO_DOTS}
-      python${_CURRENT_VERSION}mu
-      python${_CURRENT_VERSION}m
-      python${_CURRENT_VERSION}u
-      python${_CURRENT_VERSION}
-    HINTS
-      ${_Python_LIBRARY_PATH_HINT}
-    PATHS
-      ${PYTHON_FRAMEWORK_LIBRARIES}
-      [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
-      [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
-    # Avoid finding the .dll in the PATH.  We want the .lib.
-    NO_SYSTEM_ENVIRONMENT_PATH
-  )
-  # Look for the static library in the Python config directory
-  find_library(PYTHON_LIBRARY
-    NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
-    # Avoid finding the .dll in the PATH.  We want the .lib.
-    NO_SYSTEM_ENVIRONMENT_PATH
-    # This is where the static library is usually located
-    PATH_SUFFIXES python${_CURRENT_VERSION}/config
-  )
-
-  # Don't search for include dir until library location is known
-  if(PYTHON_LIBRARY)
-
-    # Use the library's install prefix as a hint
-    set(_Python_INCLUDE_PATH_HINT)
-    get_filename_component(_Python_PREFIX ${PYTHON_LIBRARY} PATH)
-    get_filename_component(_Python_PREFIX ${_Python_PREFIX} PATH)
-    if(_Python_PREFIX)
-      set(_Python_INCLUDE_PATH_HINT ${_Python_PREFIX}/include)
-    endif()
-    unset(_Python_PREFIX)
-
-    # Add framework directories to the search paths
-    set(PYTHON_FRAMEWORK_INCLUDES)
-    if(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
-      foreach(dir ${Python_FRAMEWORKS})
-        list(APPEND PYTHON_FRAMEWORK_INCLUDES
-          ${dir}/Versions/${_CURRENT_VERSION}/include)
-      endforeach()
-    endif()
-
-    find_path(PYTHON_INCLUDE_DIR
-      NAMES Python.h
-      HINTS
-        ${_Python_INCLUDE_PATH_HINT}
-      PATHS
-        ${PYTHON_FRAMEWORK_INCLUDES}
-        [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include
-        [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include
-      PATH_SUFFIXES
-        python${_CURRENT_VERSION}mu
-        python${_CURRENT_VERSION}m
-        python${_CURRENT_VERSION}u
-        python${_CURRENT_VERSION}
-    )
-  endif()
-
-  # For backward compatibility, set PYTHON_INCLUDE_PATH.
-  set(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}")
-
-  if(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h")
-    file(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" python_version_str
-         REGEX "^#define[ \t]+PY_VERSION[ \t]+\"[^\"]+\"")
-    string(REGEX REPLACE "^#define[ \t]+PY_VERSION[ \t]+\"([^\"]+)\".*" "\\1"
-                         PYTHONLIBS_VERSION_STRING "${python_version_str}")
-    unset(python_version_str)
-  endif()
-
-  if(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
-    break()
-  endif()
-endforeach()
-
-unset(_Python_INCLUDE_PATH_HINT)
-unset(_Python_LIBRARY_PATH_HINT)
-
-mark_as_advanced(
-  PYTHON_DEBUG_LIBRARY
-  PYTHON_LIBRARY
-  PYTHON_INCLUDE_DIR
-)
-
-# We use PYTHON_INCLUDE_DIR, PYTHON_LIBRARY and PYTHON_DEBUG_LIBRARY for the
-# cache entries because they are meant to specify the location of a single
-# library. We now set the variables listed by the documentation for this
-# module.
-set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
-set(PYTHON_DEBUG_LIBRARIES "${PYTHON_DEBUG_LIBRARY}")
-
-# These variables have been historically named in this module different from
-# what SELECT_LIBRARY_CONFIGURATIONS() expects.
-set(PYTHON_LIBRARY_DEBUG "${PYTHON_DEBUG_LIBRARY}")
-set(PYTHON_LIBRARY_RELEASE "${PYTHON_LIBRARY}")
-include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-SELECT_LIBRARY_CONFIGURATIONS(PYTHON)
-# SELECT_LIBRARY_CONFIGURATIONS() sets ${PREFIX}_FOUND if it has a library.
-# Unset this, this prefix doesn't match the module prefix, they are different
-# for historical reasons.
-unset(PYTHON_FOUND)
-
-# Restore CMAKE_FIND_FRAMEWORK
-if(DEFINED _PythonLibs_CMAKE_FIND_FRAMEWORK)
-  set(CMAKE_FIND_FRAMEWORK ${_PythonLibs_CMAKE_FIND_FRAMEWORK})
-  unset(_PythonLibs_CMAKE_FIND_FRAMEWORK)
-else()
-  unset(CMAKE_FIND_FRAMEWORK)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs
-                                  REQUIRED_VARS PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS
-                                  VERSION_VAR PYTHONLIBS_VERSION_STRING)
-
-# PYTHON_ADD_MODULE(<name> src1 src2 ... srcN) is used to build modules for python.
-# PYTHON_WRITE_MODULES_HEADER(<filename>) writes a header file you can include
-# in your sources to initialize the static python modules
-function(PYTHON_ADD_MODULE _NAME )
-  get_property(_TARGET_SUPPORTS_SHARED_LIBS
-    GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
-  option(PYTHON_ENABLE_MODULE_${_NAME} "Add module ${_NAME}" TRUE)
-  option(PYTHON_MODULE_${_NAME}_BUILD_SHARED
-    "Add module ${_NAME} shared" ${_TARGET_SUPPORTS_SHARED_LIBS})
-
-  # Mark these options as advanced
-  mark_as_advanced(PYTHON_ENABLE_MODULE_${_NAME}
-    PYTHON_MODULE_${_NAME}_BUILD_SHARED)
-
-  if(PYTHON_ENABLE_MODULE_${_NAME})
-    if(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
-      set(PY_MODULE_TYPE MODULE)
-    else()
-      set(PY_MODULE_TYPE STATIC)
-      set_property(GLOBAL  APPEND  PROPERTY  PY_STATIC_MODULES_LIST ${_NAME})
-    endif()
-
-    set_property(GLOBAL  APPEND  PROPERTY  PY_MODULES_LIST ${_NAME})
-    add_library(${_NAME} ${PY_MODULE_TYPE} ${ARGN})
-#    target_link_libraries(${_NAME} ${PYTHON_LIBRARIES})
-
-    if(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
-      set_target_properties(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}")
-      if(WIN32 AND NOT CYGWIN)
-        set_target_properties(${_NAME} PROPERTIES SUFFIX ".pyd")
-      endif()
-    endif()
-
-  endif()
-endfunction()
-
-function(PYTHON_WRITE_MODULES_HEADER _filename)
-
-  get_property(PY_STATIC_MODULES_LIST  GLOBAL  PROPERTY PY_STATIC_MODULES_LIST)
-
-  get_filename_component(_name "${_filename}" NAME)
-  string(REPLACE "." "_" _name "${_name}")
-  string(TOUPPER ${_name} _nameUpper)
-  set(_filename ${CMAKE_CURRENT_BINARY_DIR}/${_filename})
-
-  set(_filenameTmp "${_filename}.in")
-  file(WRITE ${_filenameTmp} "/*Created by cmake, do not edit, changes will be lost*/\n")
-  file(APPEND ${_filenameTmp}
-"#ifndef ${_nameUpper}
-#define ${_nameUpper}
-
-#include <Python.h>
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif /* __cplusplus */
-
-")
-
-  foreach(_currentModule ${PY_STATIC_MODULES_LIST})
-    file(APPEND ${_filenameTmp} "extern void init${PYTHON_MODULE_PREFIX}${_currentModule}(void);\n\n")
-  endforeach()
-
-  file(APPEND ${_filenameTmp}
-"#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-")
-
-
-  foreach(_currentModule ${PY_STATIC_MODULES_LIST})
-    file(APPEND ${_filenameTmp} "int ${_name}_${_currentModule}(void) \n{\n  static char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n")
-  endforeach()
-
-  file(APPEND ${_filenameTmp} "void ${_name}_LoadAllPythonModules(void)\n{\n")
-  foreach(_currentModule ${PY_STATIC_MODULES_LIST})
-    file(APPEND ${_filenameTmp} "  ${_name}_${_currentModule}();\n")
-  endforeach()
-  file(APPEND ${_filenameTmp} "}\n\n")
-  file(APPEND ${_filenameTmp} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n  ${_name}_LoadAllPythonModules();\n}\n#endif\n\n#endif\n")
-
-# with configure_file() cmake complains that you may not use a file created using file(WRITE) as input file for configure_file()
-  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_filenameTmp}" "${_filename}" OUTPUT_QUIET ERROR_QUIET)
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindQt.cmake b/share/cmake-3.6/Modules/FindQt.cmake
deleted file mode 100644
index 41b7271..0000000
--- a/share/cmake-3.6/Modules/FindQt.cmake
+++ /dev/null
@@ -1,195 +0,0 @@
-#.rst:
-# FindQt
-# ------
-#
-# Searches for all installed versions of Qt.
-#
-# This should only be used if your project can work with multiple
-# versions of Qt.  If not, you should just directly use FindQt4 or
-# FindQt3.  If multiple versions of Qt are found on the machine, then
-# The user must set the option DESIRED_QT_VERSION to the version they
-# want to use.  If only one version of qt is found on the machine, then
-# the DESIRED_QT_VERSION is set to that version and the matching FindQt3
-# or FindQt4 module is included.  Once the user sets DESIRED_QT_VERSION,
-# then the FindQt3 or FindQt4 module is included.
-#
-# This module can only detect and switch between Qt versions 3 and 4. It
-# cannot handle Qt5 or any later versions.
-#
-# ::
-#
-#   QT_REQUIRED if this is set to TRUE then if CMake can
-#               not find Qt4 or Qt3 an error is raised
-#               and a message is sent to the user.
-#
-#
-#
-# ::
-#
-#   DESIRED_QT_VERSION OPTION is created
-#   QT4_INSTALLED is set to TRUE if qt4 is found.
-#   QT3_INSTALLED is set to TRUE if qt3 is found.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# look for signs of qt3 installations
-file(GLOB GLOB_TEMP_VAR /usr/lib*/qt-3*/bin/qmake /usr/lib*/qt3*/bin/qmake)
-if(GLOB_TEMP_VAR)
-  set(QT3_INSTALLED TRUE)
-endif()
-set(GLOB_TEMP_VAR)
-
-file(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-3*/bin/qmake)
-if(GLOB_TEMP_VAR)
-  set(QT3_INSTALLED TRUE)
-endif()
-set(GLOB_TEMP_VAR)
-
-file(GLOB GLOB_TEMP_VAR /usr/local/lib/qt3/bin/qmake)
-if(GLOB_TEMP_VAR)
-  set(QT3_INSTALLED TRUE)
-endif()
-set(GLOB_TEMP_VAR)
-
-# look for qt4 installations
-file(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-4*/bin/qmake)
-if(GLOB_TEMP_VAR)
-  set(QT4_INSTALLED TRUE)
-endif()
-set(GLOB_TEMP_VAR)
-
-file(GLOB GLOB_TEMP_VAR /usr/local/Trolltech/Qt-4*/bin/qmake)
-if(GLOB_TEMP_VAR)
-  set(QT4_INSTALLED TRUE)
-endif()
-set(GLOB_TEMP_VAR)
-
-file(GLOB GLOB_TEMP_VAR /usr/local/lib/qt4/bin/qmake)
-if(GLOB_TEMP_VAR)
-  set(QT4_INSTALLED TRUE)
-endif()
-set(GLOB_TEMP_VAR)
-
-if (Qt_FIND_VERSION)
-  if (Qt_FIND_VERSION MATCHES "^([34])(\\.[0-9]+.*)?$")
-    set(DESIRED_QT_VERSION ${CMAKE_MATCH_1})
-  else ()
-    message(FATAL_ERROR "FindQt was called with invalid version '${Qt_FIND_VERSION}'. Only Qt major versions 3 or 4 are supported. If you do not need to support both Qt3 and Qt4 in your source consider calling find_package(Qt3) or find_package(Qt4) instead of find_package(Qt) instead.")
-  endif ()
-endif ()
-
-# now find qmake
-find_program(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
-if(QT_QMAKE_EXECUTABLE_FINDQT)
-  exec_program(${QT_QMAKE_EXECUTABLE_FINDQT} ARGS "-query QT_VERSION"
-    OUTPUT_VARIABLE QTVERSION)
-  if(QTVERSION MATCHES "4")
-    set(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE_FINDQT} CACHE PATH "Qt4 qmake program.")
-    set(QT4_INSTALLED TRUE)
-  endif()
-  if(QTVERSION MATCHES "Unknown")
-    set(QT3_INSTALLED TRUE)
-  endif()
-endif()
-
-if(QT_QMAKE_EXECUTABLE_FINDQT)
-  exec_program( ${QT_QMAKE_EXECUTABLE_FINDQT}
-    ARGS "-query QT_INSTALL_HEADERS"
-    OUTPUT_VARIABLE qt_headers )
-endif()
-
-find_file( QT4_QGLOBAL_H_FILE qglobal.h
-  "${QT_SEARCH_PATH}/Qt/include"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/include/Qt"
-  ${qt_headers}/Qt
-  $ENV{QTDIR}/include/Qt
-  /usr/local/qt/include/Qt
-  /usr/local/include/Qt
-  /usr/lib/qt/include/Qt
-  /usr/include/Qt
-  /usr/share/qt4/include/Qt
-  /usr/local/include/X11/qt4/Qt
-  C:/Progra~1/qt/include/Qt )
-
-if(QT4_QGLOBAL_H_FILE)
-  set(QT4_INSTALLED TRUE)
-endif()
-
-find_file( QT3_QGLOBAL_H_FILE qglobal.h
-  "${QT_SEARCH_PATH}/Qt/include"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
-  C:/Qt/3.3.3Educational/include
-  $ENV{QTDIR}/include
-  /usr/include/qt3/Qt
-  /usr/local/qt/include
-  /usr/local/include
-  /usr/lib/qt/include
-  /usr/include
-  /usr/share/qt3/include
-  /usr/local/include/X11/qt3
-  C:/Progra~1/qt/include
-  /usr/include/qt3 )
-
-if(QT3_QGLOBAL_H_FILE)
-  set(QT3_INSTALLED TRUE)
-endif()
-
-if(QT3_INSTALLED AND QT4_INSTALLED AND NOT DESIRED_QT_VERSION)
-  # force user to pick if we have both
-  set(DESIRED_QT_VERSION 0 CACHE STRING "Pick a version of Qt to use: 3 or 4")
-else()
-  # if only one found then pick that one
-  if(QT3_INSTALLED AND NOT DESIRED_QT_VERSION EQUAL 4)
-    set(DESIRED_QT_VERSION 3 CACHE STRING "Pick a version of Qt to use: 3 or 4")
-  endif()
-  if(QT4_INSTALLED AND NOT DESIRED_QT_VERSION EQUAL 3)
-    set(DESIRED_QT_VERSION 4 CACHE STRING "Pick a version of Qt to use: 3 or 4")
-  endif()
-endif()
-
-if(DESIRED_QT_VERSION EQUAL 3)
-  set(Qt3_FIND_REQUIRED ${Qt_FIND_REQUIRED})
-  set(Qt3_FIND_QUIETLY  ${Qt_FIND_QUIETLY})
-  include(${CMAKE_CURRENT_LIST_DIR}/FindQt3.cmake)
-endif()
-if(DESIRED_QT_VERSION EQUAL 4)
-  set(Qt4_FIND_REQUIRED ${Qt_FIND_REQUIRED})
-  set(Qt4_FIND_QUIETLY  ${Qt_FIND_QUIETLY})
-  include(${CMAKE_CURRENT_LIST_DIR}/FindQt4.cmake)
-endif()
-
-if(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
-  if(QT_REQUIRED)
-    message(SEND_ERROR "CMake was unable to find any Qt versions, put qmake in your path, or set QT_QMAKE_EXECUTABLE.")
-  endif()
-else()
-  if(NOT QT_FOUND AND NOT DESIRED_QT_VERSION)
-    if(QT_REQUIRED)
-      message(SEND_ERROR "Multiple versions of Qt found please set DESIRED_QT_VERSION")
-    else()
-      message("Multiple versions of Qt found please set DESIRED_QT_VERSION")
-    endif()
-  endif()
-  if(NOT QT_FOUND AND DESIRED_QT_VERSION)
-    if(QT_REQUIRED)
-      message(FATAL_ERROR "CMake was unable to find Qt version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_H_FILE, if those are set then QT_QT_LIBRARY or QT_LIBRARY_DIR.")
-    else()
-      message( "CMake was unable to find desired Qt version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_H_FILE.")
-    endif()
-  endif()
-endif()
-mark_as_advanced(QT3_QGLOBAL_H_FILE QT4_QGLOBAL_H_FILE QT_QMAKE_EXECUTABLE_FINDQT)
diff --git a/share/cmake-3.6/Modules/FindQt3.cmake b/share/cmake-3.6/Modules/FindQt3.cmake
deleted file mode 100644
index 86997ba..0000000
--- a/share/cmake-3.6/Modules/FindQt3.cmake
+++ /dev/null
@@ -1,326 +0,0 @@
-#.rst:
-# FindQt3
-# -------
-#
-# Locate Qt include paths and libraries
-#
-# This module defines:
-#
-# ::
-#
-#   QT_INCLUDE_DIR    - where to find qt.h, etc.
-#   QT_LIBRARIES      - the libraries to link against to use Qt.
-#   QT_DEFINITIONS    - definitions to use when
-#                       compiling code that uses Qt.
-#   QT_FOUND          - If false, don't try to use Qt.
-#   QT_VERSION_STRING - the version of Qt found
-#
-#
-#
-# If you need the multithreaded version of Qt, set QT_MT_REQUIRED to
-# TRUE
-#
-# Also defined, but not for general use are:
-#
-# ::
-#
-#   QT_MOC_EXECUTABLE, where to find the moc tool.
-#   QT_UIC_EXECUTABLE, where to find the uic tool.
-#   QT_QT_LIBRARY, where to find the Qt library.
-#   QT_QTMAIN_LIBRARY, where to find the qtmain
-#    library. This is only required by Qt3 on Windows.
-
-# These are around for backwards compatibility
-# they will be set
-#  QT_WRAP_CPP, set true if QT_MOC_EXECUTABLE is found
-#  QT_WRAP_UI set true if QT_UIC_EXECUTABLE is found
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# If Qt4 has already been found, fail.
-if(QT4_FOUND)
-  if(Qt3_FIND_REQUIRED)
-    message( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.")
-  else()
-    if(NOT Qt3_FIND_QUIETLY)
-      message( STATUS    "Qt3 and Qt4 cannot be used together in one project.")
-    endif()
-    return()
-  endif()
-endif()
-
-
-file(GLOB GLOB_PATHS /usr/lib/qt-3*)
-foreach(GLOB_PATH ${GLOB_PATHS})
-  list(APPEND GLOB_PATHS_BIN "${GLOB_PATH}/bin")
-endforeach()
-find_path(QT_INCLUDE_DIR qt.h
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
-  $ENV{QTDIR}/include
-  ${GLOB_PATHS}
-  /usr/local/qt/include
-  /usr/lib/qt/include
-  /usr/lib/qt3/include
-  /usr/include/qt
-  /usr/share/qt3/include
-  C:/Progra~1/qt/include
-  /usr/include/qt3
-  /usr/local/include/X11/qt3
-  )
-
-# if qglobal.h is not in the qt_include_dir then set
-# QT_INCLUDE_DIR to NOTFOUND
-if(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h)
-  set(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to Qt3 include directory" FORCE)
-endif()
-
-if(QT_INCLUDE_DIR)
-  #extract the version string from qglobal.h
-  file(STRINGS ${QT_INCLUDE_DIR}/qglobal.h QGLOBAL_H REGEX "#define[\t ]+QT_VERSION_STR[\t ]+\"[0-9]+.[0-9]+.[0-9]+[a-z]*\"")
-  string(REGEX REPLACE ".*\"([0-9]+.[0-9]+.[0-9]+[a-z]*)\".*" "\\1" qt_version_str "${QGLOBAL_H}")
-  unset(QGLOBAL_H)
-
-  # Under windows the qt library (MSVC) has the format qt-mtXYZ where XYZ is the
-  # version X.Y.Z, so we need to remove the dots from version
-  string(REGEX REPLACE "\\." "" qt_version_str_lib "${qt_version_str}")
-  set(QT_VERSION_STRING "${qt_version_str}")
-endif()
-
-file(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/)
-if (QT_MT_REQUIRED)
-  find_library(QT_QT_LIBRARY
-    NAMES
-    qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib}
-    qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3
-    PATHS
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
-      ENV QTDIR
-      ${GLOB_PATHS_LIB}
-      /usr/local/qt
-      /usr/lib/qt
-      /usr/lib/qt3
-      /usr/share/qt3
-      C:/Progra~1/qt
-    PATH_SUFFIXES
-      lib
-    )
-
-else ()
-  find_library(QT_QT_LIBRARY
-    NAMES
-    qt qt-${qt_version_str_lib} qt-edu${qt_version_str_lib}
-    qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib}
-    qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3
-    PATHS
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
-      ENV QTDIR
-      ${GLOB_PATHS_LIB}
-      /usr/local/qt
-      /usr/lib/qt
-      /usr/lib/qt3
-      /usr/share/qt3
-      C:/Progra~1/qt/lib
-    PATH_SUFFIXES
-      lib
-    )
-endif ()
-
-
-find_library(QT_QASSISTANTCLIENT_LIBRARY
-  NAMES qassistantclient
-  PATHS
-    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
-    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
-    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
-    ENV QTDIR
-    ${GLOB_PATHS_LIB}
-    /usr/local/qt
-    /usr/lib/qt3
-    /usr/share/qt3
-    C:/Progra~1/qt
-  PATH_SUFFIXES
-    lib
-  )
-
-# Qt 3 should prefer QTDIR over the PATH
-find_program(QT_MOC_EXECUTABLE
-  NAMES moc-qt3 moc3 moc3-mt moc
-  HINTS
-    ENV QTDIR
-  PATHS
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
-  ${GLOB_PATHS_BIN}
-    /usr/local/lib/qt3
-    /usr/local/qt
-    /usr/lib/qt
-    /usr/lib/qt3
-    /usr/share/qt3
-    C:/Progra~1/qt
-    /usr/X11R6
-  PATH_SUFFIXES
-    bin
-  )
-
-if(QT_MOC_EXECUTABLE)
-  set ( QT_WRAP_CPP "YES")
-endif()
-
-# Qt 3 should prefer QTDIR over the PATH
-find_program(QT_UIC_EXECUTABLE
-  NAMES uic-qt3 uic3 uic3-mt uic
-  HINTS
-    ENV QTDIR
-  PATHS
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
-  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
-  ${GLOB_PATHS_BIN}
-    /usr/local/qt
-    /usr/lib/qt
-    /usr/lib/qt3
-    /usr/share/qt3
-    C:/Progra~1/qt
-    /usr/X11R6
-  PATH_SUFFIXES
-    bin
-  )
-
-if(QT_UIC_EXECUTABLE)
-  set ( QT_WRAP_UI "YES")
-endif()
-
-if (WIN32)
-  find_library(QT_QTMAIN_LIBRARY qtmain
-    HINTS
-      ENV QTDIR
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
-    PATHS
-      "$ENV{ProgramFiles}/qt"
-      "C:/Program Files/qt"
-    PATH_SUFFIXES
-      lib
-    DOC "This Library is only needed by and included with Qt3 on MSWindows. It should be NOTFOUND, undefined or IGNORE otherwise."
-    )
-endif ()
-
-#support old QT_MIN_VERSION if set, but not if version is supplied by find_package()
-if(NOT Qt3_FIND_VERSION AND QT_MIN_VERSION)
-  set(Qt3_FIND_VERSION ${QT_MIN_VERSION})
-endif()
-
-# if the include a library are found then we have it
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt3
-                                  REQUIRED_VARS QT_QT_LIBRARY QT_INCLUDE_DIR QT_MOC_EXECUTABLE
-                                  VERSION_VAR QT_VERSION_STRING)
-set(QT_FOUND ${QT3_FOUND} )
-
-if(QT_FOUND)
-  set( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} )
-  set( QT_DEFINITIONS "")
-
-  if (WIN32 AND NOT CYGWIN)
-    if (QT_QTMAIN_LIBRARY)
-      # for version 3
-      set (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG)
-      set (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} )
-      set (QT_LIBRARIES ${QT_LIBRARIES} winmm wsock32)
-    else ()
-      # for version 2
-      set (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} )
-    endif ()
-  else ()
-    set (QT_LIBRARIES ${QT_QT_LIBRARY} )
-
-    set (QT_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG)
-    if(QT_QT_LIBRARY MATCHES "qt-mt")
-      set (QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT)
-    endif()
-
-  endif ()
-
-  if (QT_QASSISTANTCLIENT_LIBRARY)
-    set (QT_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT_LIBRARIES})
-  endif ()
-
-  # Backwards compatibility for CMake1.4 and 1.2
-  set (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
-  set (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
-  # for unix add X11 stuff
-  if(UNIX)
-    find_package(X11)
-    if (X11_FOUND)
-      set (QT_LIBRARIES ${QT_LIBRARIES} ${X11_LIBRARIES})
-    endif ()
-    if (CMAKE_DL_LIBS)
-      set (QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_DL_LIBS})
-    endif ()
-  endif()
-  if(QT_QT_LIBRARY MATCHES "qt-mt")
-    find_package(Threads)
-    set(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
-  endif()
-endif()
-
-if(QT_MOC_EXECUTABLE)
-  execute_process(COMMAND ${QT_MOC_EXECUTABLE} "-v"
-                  OUTPUT_VARIABLE QTVERSION_MOC
-                  ERROR_QUIET)
-endif()
-if(QT_UIC_EXECUTABLE)
-  execute_process(COMMAND ${QT_UIC_EXECUTABLE} "-version"
-                  OUTPUT_VARIABLE QTVERSION_UIC
-                  ERROR_QUIET)
-endif()
-
-set(_QT_UIC_VERSION_3 FALSE)
-if("${QTVERSION_UIC}" MATCHES " 3.")
-  set(_QT_UIC_VERSION_3 TRUE)
-endif()
-
-set(_QT_MOC_VERSION_3 FALSE)
-if("${QTVERSION_MOC}" MATCHES " 3.")
-  set(_QT_MOC_VERSION_3 TRUE)
-endif()
-
-set(QT_WRAP_CPP FALSE)
-if (QT_MOC_EXECUTABLE AND _QT_MOC_VERSION_3)
-  set ( QT_WRAP_CPP TRUE)
-endif ()
-
-set(QT_WRAP_UI FALSE)
-if (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
-  set ( QT_WRAP_UI TRUE)
-endif ()
-
-mark_as_advanced(
-  QT_INCLUDE_DIR
-  QT_QT_LIBRARY
-  QT_QTMAIN_LIBRARY
-  QT_QASSISTANTCLIENT_LIBRARY
-  QT_UIC_EXECUTABLE
-  QT_MOC_EXECUTABLE
-  QT_WRAP_CPP
-  QT_WRAP_UI
-  )
diff --git a/share/cmake-3.6/Modules/FindQt4.cmake b/share/cmake-3.6/Modules/FindQt4.cmake
deleted file mode 100644
index 11091b5..0000000
--- a/share/cmake-3.6/Modules/FindQt4.cmake
+++ /dev/null
@@ -1,1350 +0,0 @@
-#.rst:
-# FindQt4
-# -------
-#
-# Finding and Using Qt4
-# ^^^^^^^^^^^^^^^^^^^^^
-#
-# This module can be used to find Qt4.  The most important issue is that
-# the Qt4 qmake is available via the system path.  This qmake is then
-# used to detect basically everything else.  This module defines a
-# number of :prop_tgt:`IMPORTED` targets, macros and variables.
-#
-# Typical usage could be something like:
-#
-# .. code-block:: cmake
-#
-#    set(CMAKE_AUTOMOC ON)
-#    set(CMAKE_INCLUDE_CURRENT_DIR ON)
-#    find_package(Qt4 4.4.3 REQUIRED QtGui QtXml)
-#    add_executable(myexe main.cpp)
-#    target_link_libraries(myexe Qt4::QtGui Qt4::QtXml)
-#
-# .. note::
-#
-#  When using :prop_tgt:`IMPORTED` targets, the qtmain.lib static library is
-#  automatically linked on Windows for :prop_tgt:`WIN32 <WIN32_EXECUTABLE>`
-#  executables. To disable that globally, set the
-#  ``QT4_NO_LINK_QTMAIN`` variable before finding Qt4. To disable that
-#  for a particular executable, set the ``QT4_NO_LINK_QTMAIN`` target
-#  property to ``TRUE`` on the executable.
-#
-# Qt Build Tools
-# ^^^^^^^^^^^^^^
-#
-# Qt relies on some bundled tools for code generation, such as ``moc`` for
-# meta-object code generation,``uic`` for widget layout and population,
-# and ``rcc`` for virtual filesystem content generation.  These tools may be
-# automatically invoked by :manual:`cmake(1)` if the appropriate conditions
-# are met.  See :manual:`cmake-qt(7)` for more.
-#
-# Qt Macros
-# ^^^^^^^^^
-#
-# In some cases it can be necessary or useful to invoke the Qt build tools in a
-# more-manual way. Several macros are available to add targets for such uses.
-#
-# ::
-#
-#   macro QT4_WRAP_CPP(outfiles inputfile ... [TARGET tgt] OPTIONS ...)
-#         create moc code from a list of files containing Qt class with
-#         the Q_OBJECT declaration.  Per-directory preprocessor definitions
-#         are also added.  If the <tgt> is specified, the
-#         INTERFACE_INCLUDE_DIRECTORIES and INTERFACE_COMPILE_DEFINITIONS from
-#         the <tgt> are passed to moc.  Options may be given to moc, such as
-#         those found when executing "moc -help".
-#
-#
-# ::
-#
-#   macro QT4_WRAP_UI(outfiles inputfile ... OPTIONS ...)
-#         create code from a list of Qt designer ui files.
-#         Options may be given to uic, such as those found
-#         when executing "uic -help"
-#
-#
-# ::
-#
-#   macro QT4_ADD_RESOURCES(outfiles inputfile ... OPTIONS ...)
-#         create code from a list of Qt resource files.
-#         Options may be given to rcc, such as those found
-#         when executing "rcc -help"
-#
-#
-# ::
-#
-#   macro QT4_GENERATE_MOC(inputfile outputfile [TARGET tgt])
-#         creates a rule to run moc on infile and create outfile.
-#         Use this if for some reason QT4_WRAP_CPP() isn't appropriate, e.g.
-#         because you need a custom filename for the moc file or something
-#         similar.  If the <tgt> is specified, the
-#         INTERFACE_INCLUDE_DIRECTORIES and INTERFACE_COMPILE_DEFINITIONS from
-#         the <tgt> are passed to moc.
-#
-#
-# ::
-#
-#   macro QT4_ADD_DBUS_INTERFACE(outfiles interface basename)
-#         Create the interface header and implementation files with the
-#         given basename from the given interface xml file and add it to
-#         the list of sources.
-#
-#         You can pass additional parameters to the qdbusxml2cpp call by setting
-#         properties on the input file:
-#
-#         INCLUDE the given file will be included in the generate interface header
-#
-#         CLASSNAME the generated class is named accordingly
-#
-#         NO_NAMESPACE the generated class is not wrapped in a namespace
-#
-#
-# ::
-#
-#   macro QT4_ADD_DBUS_INTERFACES(outfiles inputfile ... )
-#         Create the interface header and implementation files
-#         for all listed interface xml files.
-#         The basename will be automatically determined from the name
-#         of the xml file.
-#
-#         The source file properties described for
-#         QT4_ADD_DBUS_INTERFACE also apply here.
-#
-#
-# ::
-#
-#   macro QT4_ADD_DBUS_ADAPTOR(outfiles xmlfile parentheader parentclassname
-#                              [basename] [classname])
-#         create a dbus adaptor (header and implementation file) from the xml file
-#         describing the interface, and add it to the list of sources. The adaptor
-#         forwards the calls to a parent class, defined in parentheader and named
-#         parentclassname. The name of the generated files will be
-#         <basename>adaptor.{cpp,h} where basename defaults to the basename of the
-#         xml file.
-#         If <classname> is provided, then it will be used as the classname of the
-#         adaptor itself.
-#
-#
-# ::
-#
-#   macro QT4_GENERATE_DBUS_INTERFACE( header [interfacename] OPTIONS ...)
-#         generate the xml interface file from the given header.
-#         If the optional argument interfacename is omitted, the name of the
-#         interface file is constructed from the basename of the header with
-#         the suffix .xml appended.
-#         Options may be given to qdbuscpp2xml, such as those found when
-#         executing "qdbuscpp2xml --help"
-#
-#
-# ::
-#
-#   macro QT4_CREATE_TRANSLATION( qm_files directories ... sources ...
-#                                 ts_files ... OPTIONS ...)
-#         out: qm_files
-#         in:  directories sources ts_files
-#         options: flags to pass to lupdate, such as -extensions to specify
-#         extensions for a directory scan.
-#         generates commands to create .ts (vie lupdate) and .qm
-#         (via lrelease) - files from directories and/or sources. The ts files are
-#         created and/or updated in the source tree (unless given with full paths).
-#         The qm files are generated in the build tree.
-#         Updating the translations can be done by adding the qm_files
-#         to the source list of your library/executable, so they are
-#         always updated, or by adding a custom target to control when
-#         they get updated/generated.
-#
-#
-# ::
-#
-#   macro QT4_ADD_TRANSLATION( qm_files ts_files ... )
-#         out: qm_files
-#         in:  ts_files
-#         generates commands to create .qm from .ts - files. The generated
-#         filenames can be found in qm_files. The ts_files
-#         must exist and are not updated in any way.
-#
-#
-# ::
-#
-#   macro QT4_AUTOMOC(sourcefile1 sourcefile2 ... [TARGET tgt])
-#         The qt4_automoc macro is obsolete.  Use the CMAKE_AUTOMOC feature instead.
-#         This macro is still experimental.
-#         It can be used to have moc automatically handled.
-#         So if you have the files foo.h and foo.cpp, and in foo.h a
-#         a class uses the Q_OBJECT macro, moc has to run on it. If you don't
-#         want to use QT4_WRAP_CPP() (which is reliable and mature), you can insert
-#         #include "foo.moc"
-#         in foo.cpp and then give foo.cpp as argument to QT4_AUTOMOC(). This will
-#         scan all listed files at cmake-time for such included moc files and if it
-#         finds them cause a rule to be generated to run moc at build time on the
-#         accompanying header file foo.h.
-#         If a source file has the SKIP_AUTOMOC property set it will be ignored by
-#         this macro.
-#         If the <tgt> is specified, the INTERFACE_INCLUDE_DIRECTORIES and
-#         INTERFACE_COMPILE_DEFINITIONS from the <tgt> are passed to moc.
-#
-#
-# ::
-#
-#  function QT4_USE_MODULES( target [link_type] modules...)
-#         This function is obsolete. Use target_link_libraries with IMPORTED targets
-#         instead.
-#         Make <target> use the <modules> from Qt. Using a Qt module means
-#         to link to the library, add the relevant include directories for the
-#         module, and add the relevant compiler defines for using the module.
-#         Modules are roughly equivalent to components of Qt4, so usage would be
-#         something like:
-#          qt4_use_modules(myexe Core Gui Declarative)
-#         to use QtCore, QtGui and QtDeclarative. The optional <link_type> argument
-#         can be specified as either LINK_PUBLIC or LINK_PRIVATE to specify the
-#         same argument to the target_link_libraries call.
-#
-#
-# IMPORTED Targets
-# ^^^^^^^^^^^^^^^^
-#
-# A particular Qt library may be used by using the corresponding
-# :prop_tgt:`IMPORTED` target with the :command:`target_link_libraries`
-# command:
-#
-# .. code-block:: cmake
-#
-#   target_link_libraries(myexe Qt4::QtGui Qt4::QtXml)
-#
-# Using a target in this way causes :cmake(1)` to use the appropriate include
-# directories and compile definitions for the target when compiling ``myexe``.
-#
-# Targets are aware of their dependencies, so for example it is not necessary
-# to list ``Qt4::QtCore`` if another Qt library is listed, and it is not
-# necessary to list ``Qt4::QtGui`` if ``Qt4::QtDeclarative`` is listed.
-# Targets may be tested for existence in the usual way with the
-# :command:`if(TARGET)` command.
-#
-# The Qt toolkit may contain both debug and release libraries.
-# :manual:`cmake(1)` will choose the appropriate version based on the build
-# configuration.
-#
-# ``Qt4::QtCore``
-#  The QtCore target
-# ``Qt4::QtGui``
-#  The QtGui target
-# ``Qt4::Qt3Support``
-#  The Qt3Support target
-# ``Qt4::QtAssistant``
-#  The QtAssistant target
-# ``Qt4::QtAssistantClient``
-#  The QtAssistantClient target
-# ``Qt4::QAxContainer``
-#  The QAxContainer target (Windows only)
-# ``Qt4::QAxServer``
-#  The QAxServer target (Windows only)
-# ``Qt4::QtDBus``
-#  The QtDBus target
-# ``Qt4::QtDesigner``
-#  The QtDesigner target
-# ``Qt4::QtDesignerComponents``
-#  The QtDesignerComponents target
-# ``Qt4::QtHelp``
-#  The QtHelp target
-# ``Qt4::QtMotif``
-#  The QtMotif target
-# ``Qt4::QtMultimedia``
-#  The QtMultimedia target
-# ``Qt4::QtNetwork``
-#  The QtNetwork target
-# ``Qt4::QtNsPLugin``
-#  The QtNsPLugin target
-# ``Qt4::QtOpenGL``
-#  The QtOpenGL target
-# ``Qt4::QtScript``
-#  The QtScript target
-# ``Qt4::QtScriptTools``
-#  The QtScriptTools target
-# ``Qt4::QtSql``
-#  The QtSql target
-# ``Qt4::QtSvg``
-#  The QtSvg target
-# ``Qt4::QtTest``
-#  The QtTest target
-# ``Qt4::QtUiTools``
-#  The QtUiTools target
-# ``Qt4::QtWebKit``
-#  The QtWebKit target
-# ``Qt4::QtXml``
-#  The QtXml target
-# ``Qt4::QtXmlPatterns``
-#  The QtXmlPatterns target
-# ``Qt4::phonon``
-#  The phonon target
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-#   Below is a detailed list of variables that FindQt4.cmake sets.
-#
-# ``Qt4_FOUND``
-#  If false, don't try to use Qt 4.
-# ``QT_FOUND``
-#  If false, don't try to use Qt. This variable is for compatibility only.
-# ``QT4_FOUND``
-#  If false, don't try to use Qt 4. This variable is for compatibility only.
-# ``QT_VERSION_MAJOR``
-#  The major version of Qt found.
-# ``QT_VERSION_MINOR``
-#  The minor version of Qt found.
-# ``QT_VERSION_PATCH``
-#  The patch version of Qt found.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Use find_package( Qt4 COMPONENTS ... ) to enable modules
-if( Qt4_FIND_COMPONENTS )
-  foreach( component ${Qt4_FIND_COMPONENTS} )
-    string( TOUPPER ${component} _COMPONENT )
-    set( QT_USE_${_COMPONENT} 1 )
-  endforeach()
-
-  # To make sure we don't use QtCore or QtGui when not in COMPONENTS
-  if(NOT QT_USE_QTCORE)
-    set( QT_DONT_USE_QTCORE 1 )
-  endif()
-
-  if(NOT QT_USE_QTGUI)
-    set( QT_DONT_USE_QTGUI 1 )
-  endif()
-
-endif()
-
-# If Qt3 has already been found, fail.
-if(QT_QT_LIBRARY)
-  if(Qt4_FIND_REQUIRED)
-    message( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.  If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
-  else()
-    if(NOT Qt4_FIND_QUIETLY)
-      message( STATUS    "Qt3 and Qt4 cannot be used together in one project.  If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
-    endif()
-    return()
-  endif()
-endif()
-
-
-include(${CMAKE_CURRENT_LIST_DIR}/CheckCXXSymbolExists.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/MacroAddFileDependencies.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
-
-set(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
-
-set( QT_DEFINITIONS "")
-
-# convenience macro for dealing with debug/release library names
-macro (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
-
-  string(TOUPPER "${_camelCaseBasename}" basename)
-
-  # The name of the imported targets, i.e. the prefix "Qt4::" must not change,
-  # since it is stored in EXPORT-files as name of a required library. If the name would change
-  # here, this would lead to the imported Qt4-library targets not being resolved by cmake anymore.
-  if (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
-
-    if(NOT TARGET Qt4::${_camelCaseBasename})
-      add_library(Qt4::${_camelCaseBasename} UNKNOWN IMPORTED )
-
-      if (QT_${basename}_LIBRARY_RELEASE)
-        set_property(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-        if(QT_USE_FRAMEWORKS)
-          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}/${_camelCaseBasename}" )
-        else()
-          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}" )
-        endif()
-      endif ()
-
-      if (QT_${basename}_LIBRARY_DEBUG)
-        set_property(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
-        if(QT_USE_FRAMEWORKS)
-          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}/${_camelCaseBasename}" )
-        else()
-          set_property(TARGET Qt4::${_camelCaseBasename}        PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}" )
-        endif()
-      endif ()
-      set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY
-        INTERFACE_INCLUDE_DIRECTORIES
-          "${QT_${basename}_INCLUDE_DIR}"
-      )
-      string(REGEX REPLACE "^QT" "" _stemname ${basename})
-      set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY
-        INTERFACE_COMPILE_DEFINITIONS
-          "QT_${_stemname}_LIB"
-      )
-    endif()
-
-    # If QT_USE_IMPORTED_TARGETS is enabled, the QT_QTFOO_LIBRARY variables are set to point at these
-    # imported targets. This works better in general, and is also in almost all cases fully
-    # backward compatible. The only issue is when a project A which had this enabled then exports its
-    # libraries via export or export_library_dependencies(). In this case the libraries from project
-    # A will depend on the imported Qt targets, and the names of these imported targets will be stored
-    # in the dependency files on disk. This means when a project B then uses project A, these imported
-    # targets must be created again, otherwise e.g. "Qt4__QtCore" will be interpreted as name of a
-    # library file on disk, and not as a target, and linking will fail:
-    if(QT_USE_IMPORTED_TARGETS)
-        set(QT_${basename}_LIBRARY       Qt4::${_camelCaseBasename} )
-        set(QT_${basename}_LIBRARIES     Qt4::${_camelCaseBasename} )
-    else()
-
-      # if the release- as well as the debug-version of the library have been found:
-      if (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
-        # if the generator supports configuration types then set
-        # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
-        if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-          set(QT_${basename}_LIBRARY       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
-        else()
-          # if there are no configuration types and CMAKE_BUILD_TYPE has no value
-          # then just use the release libraries
-          set(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE} )
-        endif()
-        set(QT_${basename}_LIBRARIES       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
-      endif ()
-
-      # if only the release version was found, set the debug variable also to the release version
-      if (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
-        set(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
-        set(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE})
-        set(QT_${basename}_LIBRARIES     ${QT_${basename}_LIBRARY_RELEASE})
-      endif ()
-
-      # if only the debug version was found, set the release variable also to the debug version
-      if (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
-        set(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
-        set(QT_${basename}_LIBRARY         ${QT_${basename}_LIBRARY_DEBUG})
-        set(QT_${basename}_LIBRARIES       ${QT_${basename}_LIBRARY_DEBUG})
-      endif ()
-
-      # put the value in the cache:
-      set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The Qt ${basename} library" FORCE)
-
-    endif()
-
-    set(QT_${basename}_FOUND 1)
-
-  else ()
-
-    set(QT_${basename}_LIBRARY "" CACHE STRING "The Qt ${basename} library" FORCE)
-
-  endif ()
-
-  if (QT_${basename}_INCLUDE_DIR)
-    #add the include directory to QT_INCLUDES
-    set(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})
-  endif ()
-
-  # Make variables changeable to the advanced user
-  mark_as_advanced(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
-endmacro ()
-
-function(_QT4_QUERY_QMAKE VAR RESULT)
-  execute_process(COMMAND "${QT_QMAKE_EXECUTABLE}" -query ${VAR}
-    RESULT_VARIABLE return_code
-    OUTPUT_VARIABLE output
-    OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE)
-  if(NOT return_code)
-    file(TO_CMAKE_PATH "${output}" output)
-    set(${RESULT} ${output} PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(_QT4_GET_VERSION_COMPONENTS VERSION RESULT_MAJOR RESULT_MINOR RESULT_PATCH)
-  string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${QTVERSION}")
-  string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${QTVERSION}")
-  string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${QTVERSION}")
-
-  set(${RESULT_MAJOR} ${QT_VERSION_MAJOR} PARENT_SCOPE)
-  set(${RESULT_MINOR} ${QT_VERSION_MINOR} PARENT_SCOPE)
-  set(${RESULT_PATCH} ${QT_VERSION_PATCH} PARENT_SCOPE)
-endfunction()
-
-function(_QT4_FIND_QMAKE QMAKE_NAMES QMAKE_RESULT VERSION_RESULT)
-  list(LENGTH QMAKE_NAMES QMAKE_NAMES_LEN)
-  if(${QMAKE_NAMES_LEN} EQUAL 0)
-    return()
-  endif()
-  list(GET QMAKE_NAMES 0 QMAKE_NAME)
-
-  get_filename_component(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
-
-  find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME}
-    PATHS
-      ENV QTDIR
-      "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]"
-    PATH_SUFFIXES bin
-    DOC "The qmake executable for the Qt installation to use"
-  )
-
-  set(major 0)
-  if (QT_QMAKE_EXECUTABLE)
-    _qt4_query_qmake(QT_VERSION QTVERSION)
-    _qt4_get_version_components("${QTVERSION}" major minor patch)
-  endif()
-
-  if (NOT QT_QMAKE_EXECUTABLE OR NOT "${major}" EQUAL 4)
-    set(curr_qmake "${QT_QMAKE_EXECUTABLE}")
-    set(curr_qt_version "${QTVERSION}")
-
-    set(QT_QMAKE_EXECUTABLE NOTFOUND CACHE FILEPATH "" FORCE)
-    list(REMOVE_AT QMAKE_NAMES 0)
-    _qt4_find_qmake("${QMAKE_NAMES}" QMAKE QTVERSION)
-
-    _qt4_get_version_components("${QTVERSION}" major minor patch)
-    if (NOT ${major} EQUAL 4)
-      # Restore possibly found qmake and it's version; these are used later
-      # in error message if incorrect version is found
-      set(QT_QMAKE_EXECUTABLE "${curr_qmake}" CACHE FILEPATH "" FORCE)
-      set(QTVERSION "${curr_qt_version}")
-    endif()
-
-  endif()
-
-
-  set(${QMAKE_RESULT} "${QT_QMAKE_EXECUTABLE}" PARENT_SCOPE)
-  set(${VERSION_RESULT} "${QTVERSION}" PARENT_SCOPE)
-endfunction()
-
-
-set(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
-
-set(_QT4_QMAKE_NAMES qmake qmake4 qmake-qt4 qmake-mac)
-_qt4_find_qmake("${_QT4_QMAKE_NAMES}" QT_QMAKE_EXECUTABLE QTVERSION)
-
-if (QT_QMAKE_EXECUTABLE AND
-  QTVERSION VERSION_GREATER 3 AND QTVERSION VERSION_LESS 5)
-
-  if (Qt5Core_FOUND)
-    # Qt5CoreConfig sets QT_MOC_EXECUTABLE as a non-cache variable to the Qt 5
-    # path to moc.  Unset that variable when Qt 4 and 5 are used together, so
-    # that when find_program looks for moc, it is not set to the Qt 5 version.
-    # If FindQt4 has already put the Qt 4 path in the cache, the unset()
-    # command 'unhides' the (correct) cache variable.
-    unset(QT_MOC_EXECUTABLE)
-  endif()
-  if (QT_QMAKE_EXECUTABLE_LAST)
-    string(COMPARE NOTEQUAL "${QT_QMAKE_EXECUTABLE_LAST}" "${QT_QMAKE_EXECUTABLE}" QT_QMAKE_CHANGED)
-  endif()
-  set(QT_QMAKE_EXECUTABLE_LAST "${QT_QMAKE_EXECUTABLE}" CACHE INTERNAL "" FORCE)
-
-  _qt4_get_version_components("${QTVERSION}" QT_VERSION_MAJOR QT_VERSION_MINOR QT_VERSION_PATCH)
-
-  # ask qmake for the mkspecs directory
-  # we do this first because QT_LIBINFIX might be set
-  if (NOT QT_MKSPECS_DIR  OR  QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QMAKE_MKSPECS qt_mkspecs_dirs)
-    # do not replace : on windows as it might be a drive letter
-    # and windows should already use ; as a separator
-    if(NOT WIN32)
-      string(REPLACE ":" ";" qt_mkspecs_dirs "${qt_mkspecs_dirs}")
-    endif()
-    set(qt_cross_paths)
-    foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
-      set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/mkspecs")
-    endforeach()
-    set(QT_MKSPECS_DIR NOTFOUND)
-    find_path(QT_MKSPECS_DIR NAMES qconfig.pri
-      HINTS ${qt_cross_paths} ${qt_mkspecs_dirs}
-      DOC "The location of the Qt mkspecs containing qconfig.pri"
-      NO_CMAKE_FIND_ROOT_PATH)
-  endif()
-
-  if(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
-    file(READ ${QT_MKSPECS_DIR}/qconfig.pri _qconfig_FILE_contents)
-    string(REGEX MATCH "QT_CONFIG[^\n]+" QT_QCONFIG "${_qconfig_FILE_contents}")
-    string(REGEX MATCH "CONFIG[^\n]+" QT_CONFIG "${_qconfig_FILE_contents}")
-    string(REGEX MATCH "EDITION[^\n]+" QT_EDITION "${_qconfig_FILE_contents}")
-    string(REGEX MATCH "QT_LIBINFIX[^\n]+" _qconfig_qt_libinfix "${_qconfig_FILE_contents}")
-    string(REGEX REPLACE "QT_LIBINFIX *= *([^\n]*)" "\\1" QT_LIBINFIX "${_qconfig_qt_libinfix}")
-  endif()
-  if("${QT_EDITION}" MATCHES "DesktopLight")
-    set(QT_EDITION_DESKTOPLIGHT 1)
-  endif()
-
-  # ask qmake for the library dir as a hint, then search for QtCore library and use that as a reference for finding the
-  # others and for setting QT_LIBRARY_DIR
-  if (NOT (QT_QTCORE_LIBRARY_RELEASE OR QT_QTCORE_LIBRARY_DEBUG)  OR QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QT_INSTALL_LIBS QT_LIBRARY_DIR_TMP)
-    set(QT_QTCORE_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QTCORE_LIBRARY_DEBUG NOTFOUND)
-    find_library(QT_QTCORE_LIBRARY_RELEASE
-                 NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
-                 HINTS ${QT_LIBRARY_DIR_TMP}
-                 NO_DEFAULT_PATH
-        )
-    find_library(QT_QTCORE_LIBRARY_DEBUG
-                 NAMES QtCore${QT_LIBINFIX}_debug QtCore${QT_LIBINFIX}d QtCore${QT_LIBINFIX}d4
-                 HINTS ${QT_LIBRARY_DIR_TMP}
-                 NO_DEFAULT_PATH
-        )
-
-    if(NOT QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCORE_LIBRARY_DEBUG)
-      find_library(QT_QTCORE_LIBRARY_RELEASE
-                   NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
-                   HINTS ${QT_LIBRARY_DIR_TMP}
-          )
-      find_library(QT_QTCORE_LIBRARY_DEBUG
-                   NAMES QtCore${QT_LIBINFIX}_debug QtCore${QT_LIBINFIX}d QtCore${QT_LIBINFIX}d4
-                   HINTS ${QT_LIBRARY_DIR_TMP}
-          )
-    endif()
-
-    # try dropping a hint if trying to use Visual Studio with Qt built by MinGW
-    if(NOT QT_QTCORE_LIBRARY_RELEASE AND MSVC)
-      if(EXISTS ${QT_LIBRARY_DIR_TMP}/libqtmain.a)
-        message( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by MinGW.  Those compilers do not produce code compatible with each other.")
-      endif()
-    endif()
-
-  endif ()
-
-  # set QT_LIBRARY_DIR based on location of QtCore found.
-  if(QT_QTCORE_LIBRARY_RELEASE)
-    get_filename_component(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_RELEASE}" PATH)
-    set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
-    set(QT_QTCORE_FOUND 1)
-  elseif(QT_QTCORE_LIBRARY_DEBUG)
-    get_filename_component(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_DEBUG}" PATH)
-    set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
-    set(QT_QTCORE_FOUND 1)
-  else()
-    if(NOT Qt4_FIND_QUIETLY)
-      message(WARNING
-        "${QT_QMAKE_EXECUTABLE} reported QT_INSTALL_LIBS as "
-        "\"${QT_LIBRARY_DIR_TMP}\" "
-        "but QtCore could not be found there.  "
-        "Qt is NOT installed correctly for the target build environment.")
-    endif()
-    set(Qt4_FOUND FALSE)
-    if(Qt4_FIND_REQUIRED)
-      message( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
-    else()
-      return()
-    endif()
-  endif()
-
-  # ask qmake for the binary dir
-  if (NOT QT_BINARY_DIR  OR  QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QT_INSTALL_BINS qt_bins)
-    set(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "" FORCE)
-  endif ()
-
-  if (APPLE)
-    set(CMAKE_FIND_FRAMEWORK_OLD ${CMAKE_FIND_FRAMEWORK})
-    if (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
-      set(QT_USE_FRAMEWORKS ON CACHE INTERNAL "" FORCE)
-      set(CMAKE_FIND_FRAMEWORK FIRST)
-    else ()
-      set(QT_USE_FRAMEWORKS OFF CACHE INTERNAL "" FORCE)
-      set(CMAKE_FIND_FRAMEWORK LAST)
-    endif ()
-  endif ()
-
-  # ask qmake for the include dir
-  if (QT_LIBRARY_DIR AND (NOT QT_QTCORE_INCLUDE_DIR OR NOT QT_HEADERS_DIR OR  QT_QMAKE_CHANGED))
-      _qt4_query_qmake(QT_INSTALL_HEADERS qt_headers)
-      set(QT_QTCORE_INCLUDE_DIR NOTFOUND)
-      find_path(QT_QTCORE_INCLUDE_DIR QtCore
-                HINTS ${qt_headers} ${QT_LIBRARY_DIR}
-                PATH_SUFFIXES QtCore qt4/QtCore
-                NO_DEFAULT_PATH
-        )
-      if(NOT QT_QTCORE_INCLUDE_DIR)
-        find_path(QT_QTCORE_INCLUDE_DIR QtCore
-                  HINTS ${qt_headers} ${QT_LIBRARY_DIR}
-                  PATH_SUFFIXES QtCore qt4/QtCore
-          )
-      endif()
-
-      # Set QT_HEADERS_DIR based on finding QtCore header
-      if(QT_QTCORE_INCLUDE_DIR)
-        if(QT_USE_FRAMEWORKS)
-          set(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
-        else()
-          get_filename_component(qt_headers "${QT_QTCORE_INCLUDE_DIR}/../" ABSOLUTE)
-          set(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
-        endif()
-      elseif()
-        message("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_HEADERS as ${qt_headers}")
-        message("Warning: But QtCore couldn't be found.  Qt must NOT be installed correctly.")
-      endif()
-  endif()
-
-  if(APPLE)
-    set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_OLD})
-  endif()
-
-  # Set QT_INCLUDE_DIR based on QT_HEADERS_DIR
-  if(QT_HEADERS_DIR)
-    if(QT_USE_FRAMEWORKS)
-      # Qt/Mac frameworks has two include dirs.
-      # One is the framework include for which CMake will add a -F flag
-      # and the other is an include dir for non-framework Qt modules
-      set(QT_INCLUDE_DIR ${QT_HEADERS_DIR} ${QT_QTCORE_LIBRARY_RELEASE} )
-    else()
-      set(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
-    endif()
-  endif()
-
-  # Set QT_INCLUDES
-  set( QT_INCLUDES ${QT_MKSPECS_DIR}/default ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})
-
-
-  # ask qmake for the documentation directory
-  if (QT_LIBRARY_DIR AND NOT QT_DOC_DIR  OR  QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QT_INSTALL_DOCS qt_doc_dir)
-    set(QT_DOC_DIR ${qt_doc_dir} CACHE PATH "The location of the Qt docs" FORCE)
-  endif ()
-
-
-  # ask qmake for the plugins directory
-  if (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR  OR  QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QT_INSTALL_PLUGINS qt_plugins_dir)
-    set(QT_PLUGINS_DIR NOTFOUND)
-    foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
-      set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/plugins")
-    endforeach()
-    find_path(QT_PLUGINS_DIR NAMES accessible imageformats sqldrivers codecs designer
-      HINTS ${qt_cross_paths} ${qt_plugins_dir}
-      DOC "The location of the Qt plugins"
-      NO_CMAKE_FIND_ROOT_PATH)
-  endif ()
-
-  # ask qmake for the translations directory
-  if (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR  OR  QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QT_INSTALL_TRANSLATIONS qt_translations_dir)
-    set(QT_TRANSLATIONS_DIR ${qt_translations_dir} CACHE PATH "The location of the Qt translations" FORCE)
-  endif ()
-
-  # ask qmake for the imports directory
-  if (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
-    _qt4_query_qmake(QT_INSTALL_IMPORTS qt_imports_dir)
-    if(qt_imports_dir)
-      set(QT_IMPORTS_DIR NOTFOUND)
-      foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
-        set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/imports")
-      endforeach()
-      find_path(QT_IMPORTS_DIR NAMES Qt
-        HINTS ${qt_cross_paths} ${qt_imports_dir}
-        DOC "The location of the Qt imports"
-        NO_CMAKE_FIND_ROOT_PATH
-        NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH
-        NO_CMAKE_SYSTEM_PATH)
-      mark_as_advanced(QT_IMPORTS_DIR)
-    endif()
-  endif ()
-
-  # Make variables changeable to the advanced user
-  mark_as_advanced( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR
-                    QT_PLUGINS_DIR QT_TRANSLATIONS_DIR)
-
-
-
-
-  #############################################
-  #
-  # Find out what window system we're using
-  #
-  #############################################
-  cmake_push_check_state()
-  # Add QT_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
-  set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${QT_INCLUDE_DIR}")
-  set(CMAKE_REQUIRED_QUIET ${Qt4_FIND_QUIETLY})
-  # Check for Window system symbols (note: only one should end up being set)
-  CHECK_CXX_SYMBOL_EXISTS(Q_WS_X11 "QtCore/qglobal.h" Q_WS_X11)
-  CHECK_CXX_SYMBOL_EXISTS(Q_WS_WIN "QtCore/qglobal.h" Q_WS_WIN)
-  CHECK_CXX_SYMBOL_EXISTS(Q_WS_QWS "QtCore/qglobal.h" Q_WS_QWS)
-  CHECK_CXX_SYMBOL_EXISTS(Q_WS_MAC "QtCore/qglobal.h" Q_WS_MAC)
-  if(Q_WS_MAC)
-    if(QT_QMAKE_CHANGED)
-      unset(QT_MAC_USE_COCOA CACHE)
-    endif()
-    CHECK_CXX_SYMBOL_EXISTS(QT_MAC_USE_COCOA "QtCore/qconfig.h" QT_MAC_USE_COCOA)
-  endif()
-
-  if (QT_QTCOPY_REQUIRED)
-     CHECK_CXX_SYMBOL_EXISTS(QT_IS_QTCOPY "QtCore/qglobal.h" QT_KDE_QT_COPY)
-     if (NOT QT_IS_QTCOPY)
-        message(FATAL_ERROR "qt-copy is required, but hasn't been found")
-     endif ()
-  endif ()
-
-  cmake_pop_check_state()
-  #
-  #############################################
-
-
-
-  ########################################
-  #
-  #       Setting the INCLUDE-Variables
-  #
-  ########################################
-
-  set(QT_MODULES QtGui Qt3Support QtSvg QtScript QtTest QtUiTools
-                 QtHelp QtWebKit QtXmlPatterns phonon QtNetwork QtMultimedia
-                 QtNsPlugin QtOpenGL QtSql QtXml QtDesigner QtDBus QtScriptTools
-                 QtDeclarative)
-
-  if(Q_WS_X11)
-    set(QT_MODULES ${QT_MODULES} QtMotif)
-  endif()
-
-  if(QT_QMAKE_CHANGED)
-    foreach(QT_MODULE ${QT_MODULES})
-      string(TOUPPER ${QT_MODULE} _upper_qt_module)
-      set(QT_${_upper_qt_module}_INCLUDE_DIR NOTFOUND)
-      set(QT_${_upper_qt_module}_LIBRARY_RELEASE NOTFOUND)
-      set(QT_${_upper_qt_module}_LIBRARY_DEBUG NOTFOUND)
-    endforeach()
-    set(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR NOTFOUND)
-    set(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NOTFOUND)
-    set(QT_QTASSISTANTCLIENT_INCLUDE_DIR NOTFOUND)
-    set(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NOTFOUND)
-    set(QT_QTASSISTANT_INCLUDE_DIR NOTFOUND)
-    set(QT_QTASSISTANT_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QTASSISTANT_LIBRARY_DEBUG NOTFOUND)
-    set(QT_QTCLUCENE_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QTCLUCENE_LIBRARY_DEBUG NOTFOUND)
-    set(QT_QAXCONTAINER_INCLUDE_DIR NOTFOUND)
-    set(QT_QAXCONTAINER_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QAXCONTAINER_LIBRARY_DEBUG NOTFOUND)
-    set(QT_QAXSERVER_INCLUDE_DIR NOTFOUND)
-    set(QT_QAXSERVER_LIBRARY_RELEASE NOTFOUND)
-    set(QT_QAXSERVER_LIBRARY_DEBUG NOTFOUND)
-    if(Q_WS_WIN)
-      set(QT_QTMAIN_LIBRARY_DEBUG NOTFOUND)
-      set(QT_QTMAIN_LIBRARY_RELEASE NOTFOUND)
-    endif()
-  endif()
-
-  foreach(QT_MODULE ${QT_MODULES})
-    string(TOUPPER ${QT_MODULE} _upper_qt_module)
-    find_path(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
-              PATHS
-              ${QT_HEADERS_DIR}/${QT_MODULE}
-              ${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
-              NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-      )
-    # phonon doesn't seem consistent, let's try phonondefs.h for some
-    # installations
-    if(${QT_MODULE} STREQUAL "phonon")
-      find_path(QT_${_upper_qt_module}_INCLUDE_DIR phonondefs.h
-                PATHS
-                ${QT_HEADERS_DIR}/${QT_MODULE}
-                ${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
-                NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-        )
-    endif()
-  endforeach()
-
-  if(Q_WS_WIN)
-    set(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
-    # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
-    find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
-      PATHS ${QT_HEADERS_DIR}/ActiveQt
-      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-      )
-    find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt
-      PATHS ${QT_HEADERS_DIR}/ActiveQt
-      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-      )
-  endif()
-
-  # Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR
-  find_path(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents
-    PATHS
-    ${QT_HEADERS_DIR}/QtDesigner
-    ${QT_LIBRARY_DIR}/QtDesigner.framework/Headers
-    NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-    )
-
-  # Set QT_QTASSISTANT_INCLUDE_DIR
-  find_path(QT_QTASSISTANT_INCLUDE_DIR QtAssistant
-    PATHS
-    ${QT_HEADERS_DIR}/QtAssistant
-    ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
-    NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-    )
-
-  # Set QT_QTASSISTANTCLIENT_INCLUDE_DIR
-  find_path(QT_QTASSISTANTCLIENT_INCLUDE_DIR QAssistantClient
-    PATHS
-    ${QT_HEADERS_DIR}/QtAssistant
-    ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
-    NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-    )
-
-  ########################################
-  #
-  #       Setting the LIBRARY-Variables
-  #
-  ########################################
-
-  # find the libraries
-  foreach(QT_MODULE ${QT_MODULES})
-    string(TOUPPER ${QT_MODULE} _upper_qt_module)
-    find_library(QT_${_upper_qt_module}_LIBRARY_RELEASE
-                 NAMES ${QT_MODULE}${QT_LIBINFIX} ${QT_MODULE}${QT_LIBINFIX}4
-                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-        )
-    find_library(QT_${_upper_qt_module}_LIBRARY_DEBUG
-                 NAMES ${QT_MODULE}${QT_LIBINFIX}_debug ${QT_MODULE}${QT_LIBINFIX}d ${QT_MODULE}${QT_LIBINFIX}d4
-                 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-        )
-    if(QT_${_upper_qt_module}_LIBRARY_RELEASE MATCHES "/${QT_MODULE}\\.framework$")
-      if(NOT EXISTS "${QT_${_upper_qt_module}_LIBRARY_RELEASE}/${QT_MODULE}")
-        # Release framework library file does not exist... Force to NOTFOUND:
-        set(QT_${_upper_qt_module}_LIBRARY_RELEASE "QT_${_upper_qt_module}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library." FORCE)
-      endif()
-    endif()
-    if(QT_${_upper_qt_module}_LIBRARY_DEBUG MATCHES "/${QT_MODULE}\\.framework$")
-      if(NOT EXISTS "${QT_${_upper_qt_module}_LIBRARY_DEBUG}/${QT_MODULE}")
-        # Debug framework library file does not exist... Force to NOTFOUND:
-        set(QT_${_upper_qt_module}_LIBRARY_DEBUG "QT_${_upper_qt_module}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library." FORCE)
-      endif()
-    endif()
-  endforeach()
-
-  # QtUiTools is sometimes not in the same directory as the other found libraries
-  # e.g. on Mac, its never a framework like the others are
-  if(QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
-    find_library(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
-  endif()
-
-  # Set QT_QTDESIGNERCOMPONENTS_LIBRARY
-  find_library(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents${QT_LIBINFIX} QtDesignerComponents${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  find_library(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG   NAMES QtDesignerComponents${QT_LIBINFIX}_debug QtDesignerComponents${QT_LIBINFIX}d QtDesignerComponents${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-
-  # Set QT_QTMAIN_LIBRARY
-  if(Q_WS_WIN)
-    find_library(QT_QTMAIN_LIBRARY_RELEASE NAMES qtmain${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-    find_library(QT_QTMAIN_LIBRARY_DEBUG NAMES qtmain${QT_LIBINFIX}d PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  endif()
-
-  # Set QT_QTASSISTANTCLIENT_LIBRARY
-  find_library(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  find_library(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG   NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR}  NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-
-  # Set QT_QTASSISTANT_LIBRARY
-  find_library(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 QtAssistant${QT_LIBINFIX} QtAssistant${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  find_library(QT_QTASSISTANT_LIBRARY_DEBUG   NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 QtAssistant${QT_LIBINFIX}_debug QtAssistant${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-
-  # Set QT_QTHELP_LIBRARY
-  find_library(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} QtCLucene${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  find_library(QT_QTCLUCENE_LIBRARY_DEBUG   NAMES QtCLucene${QT_LIBINFIX}_debug QtCLucene${QT_LIBINFIX}d QtCLucene${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-  if(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
-    find_library(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
-  endif()
-
-
-  ############################################
-  #
-  # Check the existence of the libraries.
-  #
-  ############################################
-
-
-  macro(_qt4_add_target_depends_internal _QT_MODULE _PROPERTY)
-    if (TARGET Qt4::${_QT_MODULE})
-      foreach(_DEPEND ${ARGN})
-        set(_VALID_DEPENDS)
-        if (TARGET Qt4::Qt${_DEPEND})
-          list(APPEND _VALID_DEPENDS Qt4::Qt${_DEPEND})
-        endif()
-        if (_VALID_DEPENDS)
-          set_property(TARGET Qt4::${_QT_MODULE} APPEND PROPERTY
-            ${_PROPERTY}
-            "${_VALID_DEPENDS}"
-          )
-        endif()
-        set(_VALID_DEPENDS)
-      endforeach()
-    endif()
-  endmacro()
-
-  macro(_qt4_add_target_depends _QT_MODULE)
-    if (TARGET Qt4::${_QT_MODULE})
-      get_target_property(_configs Qt4::${_QT_MODULE} IMPORTED_CONFIGURATIONS)
-      _qt4_add_target_depends_internal(${_QT_MODULE} INTERFACE_LINK_LIBRARIES ${ARGN})
-      foreach(_config ${_configs})
-        _qt4_add_target_depends_internal(${_QT_MODULE} IMPORTED_LINK_INTERFACE_LIBRARIES_${_config} ${ARGN})
-      endforeach()
-      set(_configs)
-    endif()
-  endmacro()
-
-  macro(_qt4_add_target_private_depends _QT_MODULE)
-    if (TARGET Qt4::${_QT_MODULE})
-      get_target_property(_configs Qt4::${_QT_MODULE} IMPORTED_CONFIGURATIONS)
-      foreach(_config ${_configs})
-        _qt4_add_target_depends_internal(${_QT_MODULE} IMPORTED_LINK_DEPENDENT_LIBRARIES_${_config} ${ARGN})
-      endforeach()
-      set(_configs)
-    endif()
-  endmacro()
-
-
-  # Set QT_xyz_LIBRARY variable and add
-  # library include path to QT_INCLUDES
-  _QT4_ADJUST_LIB_VARS(QtCore)
-  set_property(TARGET Qt4::QtCore APPEND PROPERTY
-    INTERFACE_INCLUDE_DIRECTORIES
-      "${QT_MKSPECS_DIR}/default"
-      ${QT_INCLUDE_DIR}
-  )
-  set_property(TARGET Qt4::QtCore APPEND PROPERTY
-    INTERFACE_COMPILE_DEFINITIONS
-      $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>
-  )
-  set_property(TARGET Qt4::QtCore PROPERTY
-    INTERFACE_QT_MAJOR_VERSION 4
-  )
-  set_property(TARGET Qt4::QtCore APPEND PROPERTY
-    COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION
-  )
-
-  foreach(QT_MODULE ${QT_MODULES})
-    _QT4_ADJUST_LIB_VARS(${QT_MODULE})
-    _qt4_add_target_depends(${QT_MODULE} Core)
-  endforeach()
-
-  _QT4_ADJUST_LIB_VARS(QtAssistant)
-  _QT4_ADJUST_LIB_VARS(QtAssistantClient)
-  _QT4_ADJUST_LIB_VARS(QtCLucene)
-  _QT4_ADJUST_LIB_VARS(QtDesignerComponents)
-
-  # platform dependent libraries
-  if(Q_WS_WIN)
-    _QT4_ADJUST_LIB_VARS(qtmain)
-
-    _QT4_ADJUST_LIB_VARS(QAxServer)
-    if(QT_QAXSERVER_FOUND)
-      set_property(TARGET Qt4::QAxServer PROPERTY
-        INTERFACE_QT4_NO_LINK_QTMAIN ON
-      )
-      set_property(TARGET Qt4::QAxServer APPEND PROPERTY
-        COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)
-    endif()
-
-    _QT4_ADJUST_LIB_VARS(QAxContainer)
-  endif()
-
-  # Only public dependencies are listed here.
-  # Eg, QtDBus links to QtXml, but users of QtDBus do not need to
-  # link to QtXml because QtDBus only uses it internally, not in public
-  # headers.
-  # Everything depends on QtCore, but that is covered above already
-  _qt4_add_target_depends(Qt3Support Sql Gui Network)
-  if (TARGET Qt4::Qt3Support)
-    # An additional define is required for QT3_SUPPORT
-    set_property(TARGET Qt4::Qt3Support APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS QT3_SUPPORT)
-  endif()
-  _qt4_add_target_depends(QtDeclarative Script Gui)
-  _qt4_add_target_depends(QtDesigner Gui)
-  _qt4_add_target_depends(QtHelp Gui)
-  _qt4_add_target_depends(QtMultimedia Gui)
-  _qt4_add_target_depends(QtOpenGL Gui)
-  _qt4_add_target_depends(QtSvg Gui)
-  _qt4_add_target_depends(QtWebKit Gui Network)
-
-  _qt4_add_target_private_depends(Qt3Support Xml)
-  if(QT_VERSION VERSION_GREATER 4.6)
-    _qt4_add_target_private_depends(QtSvg Xml)
-  endif()
-  _qt4_add_target_private_depends(QtDBus Xml)
-  _qt4_add_target_private_depends(QtUiTools Xml Gui)
-  _qt4_add_target_private_depends(QtHelp Sql Xml Network)
-  _qt4_add_target_private_depends(QtXmlPatterns Network)
-  _qt4_add_target_private_depends(QtScriptTools Gui)
-  _qt4_add_target_private_depends(QtWebKit XmlPatterns)
-  _qt4_add_target_private_depends(QtDeclarative XmlPatterns Svg Sql Gui)
-  _qt4_add_target_private_depends(QtMultimedia Gui)
-  _qt4_add_target_private_depends(QtOpenGL Gui)
-  if(QT_QAXSERVER_FOUND)
-    _qt4_add_target_private_depends(QAxServer Gui)
-  endif()
-  if(QT_QAXCONTAINER_FOUND)
-    _qt4_add_target_private_depends(QAxContainer Gui)
-  endif()
-  _qt4_add_target_private_depends(phonon Gui)
-  if(QT_QTDBUS_FOUND)
-    _qt4_add_target_private_depends(phonon DBus)
-  endif()
-
-  if (WIN32 AND NOT QT4_NO_LINK_QTMAIN)
-    set(_isExe $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
-    set(_isWin32 $<BOOL:$<TARGET_PROPERTY:WIN32_EXECUTABLE>>)
-    set(_isNotExcluded $<NOT:$<BOOL:$<TARGET_PROPERTY:QT4_NO_LINK_QTMAIN>>>)
-    set(_isPolicyNEW $<TARGET_POLICY:CMP0020>)
-    get_target_property(_configs Qt4::QtCore IMPORTED_CONFIGURATIONS)
-    set_property(TARGET Qt4::QtCore APPEND PROPERTY
-        INTERFACE_LINK_LIBRARIES
-          $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt4::qtmain>
-    )
-    foreach(_config ${_configs})
-      set_property(TARGET Qt4::QtCore APPEND PROPERTY
-        IMPORTED_LINK_INTERFACE_LIBRARIES_${_config}
-          $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt4::qtmain>
-      )
-    endforeach()
-    unset(_configs)
-    unset(_isExe)
-    unset(_isWin32)
-    unset(_isNotExcluded)
-    unset(_isPolicyNEW)
-  endif()
-
-  #######################################
-  #
-  #       Check the executables of Qt
-  #          ( moc, uic, rcc )
-  #
-  #######################################
-
-
-  if(QT_QMAKE_CHANGED)
-    set(QT_UIC_EXECUTABLE NOTFOUND)
-    set(QT_MOC_EXECUTABLE NOTFOUND)
-    set(QT_UIC3_EXECUTABLE NOTFOUND)
-    set(QT_RCC_EXECUTABLE NOTFOUND)
-    set(QT_DBUSCPP2XML_EXECUTABLE NOTFOUND)
-    set(QT_DBUSXML2CPP_EXECUTABLE NOTFOUND)
-    set(QT_LUPDATE_EXECUTABLE NOTFOUND)
-    set(QT_LRELEASE_EXECUTABLE NOTFOUND)
-    set(QT_QCOLLECTIONGENERATOR_EXECUTABLE NOTFOUND)
-    set(QT_DESIGNER_EXECUTABLE NOTFOUND)
-    set(QT_LINGUIST_EXECUTABLE NOTFOUND)
-  endif()
-
-  macro(_find_qt4_program VAR NAME)
-    find_program(${VAR}
-      NAMES ${ARGN}
-      PATHS ${QT_BINARY_DIR}
-      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-      )
-    if (${VAR} AND NOT TARGET ${NAME})
-      add_executable(${NAME} IMPORTED)
-      set_property(TARGET ${NAME} PROPERTY IMPORTED_LOCATION ${${VAR}})
-    endif()
-  endmacro()
-
-  _find_qt4_program(QT_MOC_EXECUTABLE Qt4::moc moc-qt4 moc4 moc)
-  _find_qt4_program(QT_UIC_EXECUTABLE Qt4::uic uic-qt4 uic4 uic)
-  _find_qt4_program(QT_UIC3_EXECUTABLE Qt4::uic3 uic3)
-  _find_qt4_program(QT_RCC_EXECUTABLE Qt4::rcc rcc)
-  _find_qt4_program(QT_DBUSCPP2XML_EXECUTABLE Qt4::qdbuscpp2xml qdbuscpp2xml)
-  _find_qt4_program(QT_DBUSXML2CPP_EXECUTABLE Qt4::qdbusxml2cpp qdbusxml2cpp)
-  _find_qt4_program(QT_LUPDATE_EXECUTABLE Qt4::lupdate lupdate-qt4 lupdate4 lupdate)
-  _find_qt4_program(QT_LRELEASE_EXECUTABLE Qt4::lrelease lrelease-qt4 lrelease4 lrelease)
-  _find_qt4_program(QT_QCOLLECTIONGENERATOR_EXECUTABLE Qt4::qcollectiongenerator qcollectiongenerator-qt4 qcollectiongenerator)
-  _find_qt4_program(QT_DESIGNER_EXECUTABLE Qt4::designer designer-qt4 designer4 designer)
-  _find_qt4_program(QT_LINGUIST_EXECUTABLE Qt4::linguist linguist-qt4 linguist4 linguist)
-
-  if (NOT TARGET Qt4::qmake)
-    add_executable(Qt4::qmake IMPORTED)
-    set_property(TARGET Qt4::qmake PROPERTY IMPORTED_LOCATION ${QT_QMAKE_EXECUTABLE})
-  endif()
-
-  if (QT_MOC_EXECUTABLE)
-     set(QT_WRAP_CPP "YES")
-  endif ()
-
-  if (QT_UIC_EXECUTABLE)
-     set(QT_WRAP_UI "YES")
-  endif ()
-
-
-
-  mark_as_advanced( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE
-    QT_RCC_EXECUTABLE QT_DBUSXML2CPP_EXECUTABLE QT_DBUSCPP2XML_EXECUTABLE
-    QT_LUPDATE_EXECUTABLE QT_LRELEASE_EXECUTABLE QT_QCOLLECTIONGENERATOR_EXECUTABLE
-    QT_DESIGNER_EXECUTABLE QT_LINGUIST_EXECUTABLE)
-
-
-  # get the directory of the current file, used later on in the file
-  get_filename_component( _qt4_current_dir  "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-
-  ###############################################
-  #
-  #       configuration/system dependent settings
-  #
-  ###############################################
-
-  include("${_qt4_current_dir}/Qt4ConfigDependentSettings.cmake")
-
-
-  #######################################
-  #
-  #       Check the plugins of Qt
-  #
-  #######################################
-
-  set( QT_PLUGIN_TYPES accessible bearer codecs decorations designer gfxdrivers graphicssystems iconengines imageformats inputmethods mousedrivers phonon_backend script sqldrivers )
-
-  set( QT_ACCESSIBLE_PLUGINS qtaccessiblecompatwidgets qtaccessiblewidgets )
-  set( QT_BEARER_PLUGINS qcorewlanbearer qgenericbearer qnativewifibearer )
-  set( QT_CODECS_PLUGINS qcncodecs qjpcodecs qkrcodecs qtwcodecs )
-  set( QT_DECORATIONS_PLUGINS qdecorationdefault qdecorationwindows )
-  set( QT_DESIGNER_PLUGINS arthurplugin containerextension customwidgetplugin phononwidgets qdeclarativeview qt3supportwidgets qwebview taskmenuextension worldtimeclockplugin )
-  set( QT_GRAPHICSDRIVERS_PLUGINS qgfxtransformed qgfxvnc qscreenvfb )
-  set( QT_GRAPHICSSYSTEMS_PLUGINS qglgraphicssystem qtracegraphicssystem )
-  set( QT_ICONENGINES_PLUGINS qsvgicon )
-  set( QT_IMAGEFORMATS_PLUGINS qgif qjpeg qmng qico qsvg qtiff qtga )
-  set( QT_INPUTMETHODS_PLUGINS qimsw_multi )
-  set( QT_MOUSEDRIVERS_PLUGINS qwstslibmousehandler )
-  if(APPLE)
-    set( QT_PHONON_BACKEND_PLUGINS phonon_qt7 )
-  elseif(WIN32)
-    set( QT_PHONON_BACKEND_PLUGINS phonon_ds9 )
-  endif()
-  set( QT_SCRIPT_PLUGINS qtscriptdbus )
-  set( QT_SQLDRIVERS_PLUGINS qsqldb2 qsqlibase qsqlite qsqlite2 qsqlmysql qsqloci qsqlodbc qsqlpsql qsqltds )
-
-  set( QT_PHONON_PLUGINS ${QT_PHONON_BACKEND_PLUGINS} )
-  set( QT_QT3SUPPORT_PLUGINS qtaccessiblecompatwidgets )
-  set( QT_QTCORE_PLUGINS ${QT_BEARER_PLUGINS} ${QT_CODECS_PLUGINS} )
-  set( QT_QTGUI_PLUGINS qtaccessiblewidgets ${QT_IMAGEFORMATS_PLUGINS} ${QT_DECORATIONS_PLUGINS} ${QT_GRAPHICSDRIVERS_PLUGINS} ${QT_GRAPHICSSYSTEMS_PLUGINS} ${QT_INPUTMETHODS_PLUGINS} ${QT_MOUSEDRIVERS_PLUGINS} )
-  set( QT_QTSCRIPT_PLUGINS ${QT_SCRIPT_PLUGINS} )
-  set( QT_QTSQL_PLUGINS ${QT_SQLDRIVERS_PLUGINS} )
-  set( QT_QTSVG_PLUGINS qsvg qsvgicon )
-
-  if(QT_QMAKE_CHANGED)
-    foreach(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
-      string(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
-      set(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
-      foreach(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
-        string(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
-        unset(QT_${_upper_qt_plugin}_LIBRARY_RELEASE CACHE)
-        unset(QT_${_upper_qt_plugin}_LIBRARY_DEBUG CACHE)
-        unset(QT_${_upper_qt_plugin}_LIBRARY CACHE)
-        unset(QT_${_upper_qt_plugin}_PLUGIN_RELEASE CACHE)
-        unset(QT_${_upper_qt_plugin}_PLUGIN_DEBUG CACHE)
-        unset(QT_${_upper_qt_plugin}_PLUGIN CACHE)
-      endforeach()
-    endforeach()
-  endif()
-
-  # find_library works better than find_file but we need to set prefixes to only match plugins
-  foreach(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
-    string(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
-    set(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
-    foreach(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
-      string(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
-      if(QT_IS_STATIC)
-        find_library(QT_${_upper_qt_plugin}_LIBRARY_RELEASE
-                     NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
-                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-            )
-        find_library(QT_${_upper_qt_plugin}_LIBRARY_DEBUG
-                     NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
-                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-            )
-        _QT4_ADJUST_LIB_VARS(${QT_PLUGIN})
-      else()
-        # find_library works easier/better than find_file but we need to set suffixes to only match plugins
-        set(CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT ${CMAKE_FIND_LIBRARY_SUFFIXES})
-        set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_MODULE_SUFFIX} ${CMAKE_SHARED_LIBRARY_SUFFIX})
-        find_library(QT_${_upper_qt_plugin}_PLUGIN_RELEASE
-                     NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
-                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-            )
-        find_library(QT_${_upper_qt_plugin}_PLUGIN_DEBUG
-                     NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
-                     PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-            )
-        mark_as_advanced(QT_${_upper_qt_plugin}_PLUGIN_RELEASE QT_${_upper_qt_plugin}_PLUGIN_DEBUG)
-        set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT})
-      endif()
-    endforeach()
-  endforeach()
-
-
-  ######################################
-  #
-  #       Macros for building Qt files
-  #
-  ######################################
-
-  include("${_qt4_current_dir}/Qt4Macros.cmake")
-
-endif()
-
-#support old QT_MIN_VERSION if set, but not if version is supplied by find_package()
-if(NOT Qt4_FIND_VERSION AND QT_MIN_VERSION)
-  set(Qt4_FIND_VERSION ${QT_MIN_VERSION})
-endif()
-
-if( Qt4_FIND_COMPONENTS )
-
-  # if components specified in find_package(), make sure each of those pieces were found
-  set(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR)
-  foreach( component ${Qt4_FIND_COMPONENTS} )
-    string( TOUPPER ${component} _COMPONENT )
-    if(${_COMPONENT} STREQUAL "QTMAIN")
-      if(Q_WS_WIN)
-        set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_LIBRARY)
-      endif()
-    else()
-      set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_INCLUDE_DIR QT_${_COMPONENT}_LIBRARY)
-    endif()
-  endforeach()
-
-  if(Qt4_FIND_COMPONENTS MATCHES QtGui)
-    set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_UIC_EXECUTABLE)
-  endif()
-
-else()
-
-  # if no components specified, we'll make a default set of required variables to say Qt is found
-  set(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR
-    QT_LIBRARY_DIR QT_QTCORE_LIBRARY)
-
-endif()
-
-if (NOT QT_VERSION_MAJOR EQUAL 4)
-    set(VERSION_MSG "Found unsuitable Qt version \"${QTVERSION}\" from ${QT_QMAKE_EXECUTABLE}")
-    set(Qt4_FOUND FALSE)
-    if(Qt4_FIND_REQUIRED)
-       message( FATAL_ERROR "${VERSION_MSG}, this code requires Qt 4.x")
-    else()
-      if(NOT Qt4_FIND_QUIETLY)
-         message( STATUS    "${VERSION_MSG}")
-      endif()
-    endif()
-else()
-  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt4 FOUND_VAR Qt4_FOUND
-    REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS}
-    VERSION_VAR QTVERSION
-    )
-endif()
-
-#######################################
-#
-#       compatibility settings
-#
-#######################################
-# Backwards compatibility for CMake1.4 and 1.2
-set (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
-set (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
-set( QT_QT_LIBRARY "")
-set(QT4_FOUND ${Qt4_FOUND})
-set(QT_FOUND ${Qt4_FOUND})
-
diff --git a/share/cmake-3.6/Modules/FindQuickTime.cmake b/share/cmake-3.6/Modules/FindQuickTime.cmake
deleted file mode 100644
index 2779269..0000000
--- a/share/cmake-3.6/Modules/FindQuickTime.cmake
+++ /dev/null
@@ -1,45 +0,0 @@
-#.rst:
-# FindQuickTime
-# -------------
-#
-#
-#
-# Locate QuickTime This module defines QUICKTIME_LIBRARY
-# QUICKTIME_FOUND, if false, do not try to link to gdal
-# QUICKTIME_INCLUDE_DIR, where to find the headers
-#
-# $QUICKTIME_DIR is an environment variable that would correspond to the
-# ./configure --prefix=$QUICKTIME_DIR
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h QuickTime.h
-  HINTS
-    ENV QUICKTIME_DIR
-  PATH_SUFFIXES
-    include
-)
-find_library(QUICKTIME_LIBRARY QuickTime
-  HINTS
-    ENV QUICKTIME_DIR
-  PATH_SUFFIXES
-    lib
-)
-
-# handle the QUIETLY and REQUIRED arguments and set QUICKTIME_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(QuickTime DEFAULT_MSG QUICKTIME_LIBRARY QUICKTIME_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindRTI.cmake b/share/cmake-3.6/Modules/FindRTI.cmake
deleted file mode 100644
index 1aad0a8..0000000
--- a/share/cmake-3.6/Modules/FindRTI.cmake
+++ /dev/null
@@ -1,112 +0,0 @@
-#.rst:
-# FindRTI
-# -------
-#
-# Try to find M&S HLA RTI libraries
-#
-# This module finds if any HLA RTI is installed and locates the standard
-# RTI include files and libraries.
-#
-# RTI is a simulation infrastructure standardized by IEEE and SISO.  It
-# has a well defined C++ API that assures that simulation applications
-# are independent on a particular RTI implementation.
-#
-# ::
-#
-#   http://en.wikipedia.org/wiki/Run-Time_Infrastructure_(simulation)
-#
-#
-#
-# This code sets the following variables:
-#
-# ::
-#
-#   RTI_INCLUDE_DIR = the directory where RTI includes file are found
-#   RTI_LIBRARIES = The libraries to link against to use RTI
-#   RTI_DEFINITIONS = -DRTI_USES_STD_FSTREAM
-#   RTI_FOUND = Set to FALSE if any HLA RTI was not found
-#
-#
-#
-# Report problems to <certi-devel@nongnu.org>
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-# Copyright 2008 Petr Gotthard <gotthard@honeywell.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
-  if(NOT ${QUIET})
-    message(${TYPE} "${MSG}")
-  endif()
-endmacro()
-
-set(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM")
-
-# Detect the CERTI installation, http://www.cert.fr/CERTI
-# Detect the MAK Technologies RTI installation, http://www.mak.com/products/rti.php
-# note: the following list is ordered to find the most recent version first
-set(RTI_POSSIBLE_DIRS
-  ENV CERTI_HOME
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 3.2 MSVC++ 8.0;Location]"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 3.2-win32-msvc++8.0;InstallLocation]"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 2.2;Location]"
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 2.2;InstallLocation]")
-
-set(RTI_OLD_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
-# The MAK RTI has the "lib" prefix even on Windows.
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-
-find_library(RTI_LIBRARY
-  NAMES RTI RTI-NG
-  PATHS ${RTI_POSSIBLE_DIRS}
-  PATH_SUFFIXES lib
-  DOC "The RTI Library")
-
-if (RTI_LIBRARY)
-  set(RTI_LIBRARIES ${RTI_LIBRARY})
-  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library found: ${RTI_LIBRARY}")
-else ()
-  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library NOT found")
-endif ()
-
-find_library(RTI_FEDTIME_LIBRARY
-  NAMES FedTime
-  PATHS ${RTI_POSSIBLE_DIRS}
-  PATH_SUFFIXES lib
-  DOC "The FedTime Library")
-
-if (RTI_FEDTIME_LIBRARY)
-  set(RTI_LIBRARIES ${RTI_LIBRARIES} ${RTI_FEDTIME_LIBRARY})
-  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI FedTime found: ${RTI_FEDTIME_LIBRARY}")
-endif ()
-
-find_path(RTI_INCLUDE_DIR
-  NAMES RTI.hh
-  PATHS ${RTI_POSSIBLE_DIRS}
-  PATH_SUFFIXES include
-  DOC "The RTI Include Files")
-
-if (RTI_INCLUDE_DIR)
-  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers found: ${RTI_INCLUDE_DIR}")
-else ()
-  RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers NOT found")
-endif ()
-
-# Set the modified system variables back to the original value.
-set(CMAKE_FIND_LIBRARY_PREFIXES "${RTI_OLD_FIND_LIBRARY_PREFIXES}")
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(RTI DEFAULT_MSG
-  RTI_LIBRARY RTI_INCLUDE_DIR)
-
-# $Id$
diff --git a/share/cmake-3.6/Modules/FindRuby.cmake b/share/cmake-3.6/Modules/FindRuby.cmake
deleted file mode 100644
index e5ea210..0000000
--- a/share/cmake-3.6/Modules/FindRuby.cmake
+++ /dev/null
@@ -1,286 +0,0 @@
-#.rst:
-# FindRuby
-# --------
-#
-# Find Ruby
-#
-# This module finds if Ruby is installed and determines where the
-# include files and libraries are.  Ruby 1.8, 1.9, 2.0 and 2.1 are
-# supported.
-#
-# The minimum required version of Ruby can be specified using the
-# standard syntax, e.g.  find_package(Ruby 1.8)
-#
-# It also determines what the name of the library is.  This code sets
-# the following variables:
-#
-# ``RUBY_EXECUTABLE``
-#   full path to the ruby binary
-# ``RUBY_INCLUDE_DIRS``
-#   include dirs to be used when using the ruby library
-# ``RUBY_LIBRARY``
-#   full path to the ruby library
-# ``RUBY_VERSION``
-#   the version of ruby which was found, e.g. "1.8.7"
-# ``RUBY_FOUND``
-#   set to true if ruby ws found successfully
-#
-# Also:
-#
-# ``RUBY_INCLUDE_PATH``
-#   same as RUBY_INCLUDE_DIRS, only provided for compatibility reasons, don't use it
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2008-2009 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#   RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
-#   RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
-#   RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
-#   RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
-#   RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
-
-# uncomment the following line to get debug output for this file
-# set(_RUBY_DEBUG_OUTPUT TRUE)
-
-# Determine the list of possible names of the ruby executable depending
-# on which version of ruby is required
-set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ruby)
-
-# if 1.9 is required, don't look for ruby18 and ruby1.8, default to version 1.8
-if(DEFINED Ruby_FIND_VERSION_MAJOR AND DEFINED Ruby_FIND_VERSION_MINOR)
-   set(Ruby_FIND_VERSION_SHORT_NODOT "${Ruby_FIND_VERSION_MAJOR}${RUBY_FIND_VERSION_MINOR}")
-   # we can't construct that if only major version is given
-   set(_RUBY_POSSIBLE_EXECUTABLE_NAMES
-       ruby${Ruby_FIND_VERSION_MAJOR}.${Ruby_FIND_VERSION_MINOR}
-       ruby${Ruby_FIND_VERSION_MAJOR}${Ruby_FIND_VERSION_MINOR}
-       ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
-else()
-   set(Ruby_FIND_VERSION_SHORT_NODOT "18")
-endif()
-
-if(NOT Ruby_FIND_VERSION_EXACT)
-  list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.1 ruby21)
-  list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.0 ruby20)
-  list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.9 ruby19)
-
-  # if we want a version below 1.9, also look for ruby 1.8
-  if("${Ruby_FIND_VERSION_SHORT_NODOT}" VERSION_LESS "19")
-    list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.8 ruby18)
-  endif()
-
-  list(REMOVE_DUPLICATES _RUBY_POSSIBLE_EXECUTABLE_NAMES)
-endif()
-
-find_program(RUBY_EXECUTABLE NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
-
-if(RUBY_EXECUTABLE  AND NOT  RUBY_VERSION_MAJOR)
-  function(_RUBY_CONFIG_VAR RBVAR OUTVAR)
-    execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['${RBVAR}']"
-      RESULT_VARIABLE _RUBY_SUCCESS
-      OUTPUT_VARIABLE _RUBY_OUTPUT
-      ERROR_QUIET)
-    if(_RUBY_SUCCESS OR _RUBY_OUTPUT STREQUAL "")
-      execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['${RBVAR}']"
-        RESULT_VARIABLE _RUBY_SUCCESS
-        OUTPUT_VARIABLE _RUBY_OUTPUT
-        ERROR_QUIET)
-    endif()
-    set(${OUTVAR} "${_RUBY_OUTPUT}" PARENT_SCOPE)
-  endfunction()
-
-
-  # query the ruby version
-   _RUBY_CONFIG_VAR("MAJOR" RUBY_VERSION_MAJOR)
-   _RUBY_CONFIG_VAR("MINOR" RUBY_VERSION_MINOR)
-   _RUBY_CONFIG_VAR("TEENY" RUBY_VERSION_PATCH)
-
-   # query the different directories
-   _RUBY_CONFIG_VAR("archdir" RUBY_ARCH_DIR)
-   _RUBY_CONFIG_VAR("arch" RUBY_ARCH)
-   _RUBY_CONFIG_VAR("rubyhdrdir" RUBY_HDR_DIR)
-   _RUBY_CONFIG_VAR("rubyarchhdrdir" RUBY_ARCHHDR_DIR)
-   _RUBY_CONFIG_VAR("libdir" RUBY_POSSIBLE_LIB_DIR)
-   _RUBY_CONFIG_VAR("rubylibdir" RUBY_RUBY_LIB_DIR)
-
-   # site_ruby
-   _RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR)
-   _RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
-
-   # vendor_ruby available ?
-   execute_process(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'"
-      OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY  ERROR_QUIET)
-
-   if(RUBY_HAS_VENDOR_RUBY)
-      _RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR)
-      _RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR)
-   endif()
-
-   # save the results in the cache so we don't have to run ruby the next time again
-   set(RUBY_VERSION_MAJOR    ${RUBY_VERSION_MAJOR}    CACHE PATH "The Ruby major version" FORCE)
-   set(RUBY_VERSION_MINOR    ${RUBY_VERSION_MINOR}    CACHE PATH "The Ruby minor version" FORCE)
-   set(RUBY_VERSION_PATCH    ${RUBY_VERSION_PATCH}    CACHE PATH "The Ruby patch version" FORCE)
-   set(RUBY_ARCH_DIR         ${RUBY_ARCH_DIR}         CACHE PATH "The Ruby arch dir" FORCE)
-   set(RUBY_HDR_DIR          ${RUBY_HDR_DIR}          CACHE PATH "The Ruby header dir (1.9+)" FORCE)
-   set(RUBY_ARCHHDR_DIR      ${RUBY_ARCHHDR_DIR}      CACHE PATH "The Ruby arch header dir (2.0+)" FORCE)
-   set(RUBY_POSSIBLE_LIB_DIR ${RUBY_POSSIBLE_LIB_DIR} CACHE PATH "The Ruby lib dir" FORCE)
-   set(RUBY_RUBY_LIB_DIR     ${RUBY_RUBY_LIB_DIR}     CACHE PATH "The Ruby ruby-lib dir" FORCE)
-   set(RUBY_SITEARCH_DIR     ${RUBY_SITEARCH_DIR}     CACHE PATH "The Ruby site arch dir" FORCE)
-   set(RUBY_SITELIB_DIR      ${RUBY_SITELIB_DIR}      CACHE PATH "The Ruby site lib dir" FORCE)
-   set(RUBY_HAS_VENDOR_RUBY  ${RUBY_HAS_VENDOR_RUBY}  CACHE BOOL "Vendor Ruby is available" FORCE)
-   set(RUBY_VENDORARCH_DIR   ${RUBY_VENDORARCH_DIR}   CACHE PATH "The Ruby vendor arch dir" FORCE)
-   set(RUBY_VENDORLIB_DIR    ${RUBY_VENDORLIB_DIR}    CACHE PATH "The Ruby vendor lib dir" FORCE)
-
-   mark_as_advanced(
-     RUBY_ARCH_DIR
-     RUBY_ARCH
-     RUBY_HDR_DIR
-     RUBY_ARCHHDR_DIR
-     RUBY_POSSIBLE_LIB_DIR
-     RUBY_RUBY_LIB_DIR
-     RUBY_SITEARCH_DIR
-     RUBY_SITELIB_DIR
-     RUBY_HAS_VENDOR_RUBY
-     RUBY_VENDORARCH_DIR
-     RUBY_VENDORLIB_DIR
-     RUBY_VERSION_MAJOR
-     RUBY_VERSION_MINOR
-     RUBY_VERSION_PATCH
-     )
-endif()
-
-# In case RUBY_EXECUTABLE could not be executed (e.g. cross compiling)
-# try to detect which version we found. This is not too good.
-if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
-   # by default assume 1.8.0
-   set(RUBY_VERSION_MAJOR 1)
-   set(RUBY_VERSION_MINOR 8)
-   set(RUBY_VERSION_PATCH 0)
-   # check whether we found 1.9.x
-   if(${RUBY_EXECUTABLE} MATCHES "ruby1.?9")
-      set(RUBY_VERSION_MAJOR 1)
-      set(RUBY_VERSION_MINOR 9)
-   endif()
-   # check whether we found 2.0.x
-   if(${RUBY_EXECUTABLE} MATCHES "ruby2.?0")
-      set(RUBY_VERSION_MAJOR 2)
-      set(RUBY_VERSION_MINOR 0)
-   endif()
-   # check whether we found 2.1.x
-   if(${RUBY_EXECUTABLE} MATCHES "ruby2.?1")
-      set(RUBY_VERSION_MAJOR 2)
-      set(RUBY_VERSION_MINOR 1)
-   endif()
-endif()
-
-if(RUBY_VERSION_MAJOR)
-   set(RUBY_VERSION "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.${RUBY_VERSION_PATCH}")
-   set(_RUBY_VERSION_SHORT "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}")
-   set(_RUBY_VERSION_SHORT_NODOT "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}")
-   set(_RUBY_NODOT_VERSION "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}${RUBY_VERSION_PATCH}")
-endif()
-
-find_path(RUBY_INCLUDE_DIR
-   NAMES ruby.h
-   HINTS
-   ${RUBY_HDR_DIR}
-   ${RUBY_ARCH_DIR}
-   /usr/lib/ruby/${_RUBY_VERSION_SHORT}/i586-linux-gnu/ )
-
-set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIR} )
-
-# if ruby > 1.8 is required or if ruby > 1.8 was found, search for the config.h dir
-if( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18  OR  "${_RUBY_VERSION_SHORT_NODOT}" GREATER 18  OR  RUBY_HDR_DIR)
-   find_path(RUBY_CONFIG_INCLUDE_DIR
-     NAMES ruby/config.h  config.h
-     HINTS
-     ${RUBY_HDR_DIR}/${RUBY_ARCH}
-     ${RUBY_ARCH_DIR}
-     ${RUBY_ARCHHDR_DIR}
-     )
-
-   set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIRS} ${RUBY_CONFIG_INCLUDE_DIR} )
-endif()
-
-
-# Determine the list of possible names for the ruby library
-set(_RUBY_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_RUBY_VERSION_SHORT} ruby${_RUBY_VERSION_SHORT_NODOT} ruby-${_RUBY_VERSION_SHORT} ruby-${RUBY_VERSION})
-
-if(WIN32)
-   set( _RUBY_MSVC_RUNTIME "" )
-   if( MSVC60 )
-     set( _RUBY_MSVC_RUNTIME "60" )
-   endif()
-   if( MSVC70 )
-     set( _RUBY_MSVC_RUNTIME "70" )
-   endif()
-   if( MSVC71 )
-     set( _RUBY_MSVC_RUNTIME "71" )
-   endif()
-   if( MSVC80 )
-     set( _RUBY_MSVC_RUNTIME "80" )
-   endif()
-   if( MSVC90 )
-     set( _RUBY_MSVC_RUNTIME "90" )
-   endif()
-
-   set(_RUBY_ARCH_PREFIX "")
-   if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-     set(_RUBY_ARCH_PREFIX "x64-")
-   endif()
-
-   list(APPEND _RUBY_POSSIBLE_LIB_NAMES
-               "${_RUBY_ARCH_PREFIX}msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}"
-               "${_RUBY_ARCH_PREFIX}msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}-static"
-               "${_RUBY_ARCH_PREFIX}msvcrt-ruby${_RUBY_NODOT_VERSION}"
-               "${_RUBY_ARCH_PREFIX}msvcrt-ruby${_RUBY_NODOT_VERSION}-static" )
-endif()
-
-find_library(RUBY_LIBRARY NAMES ${_RUBY_POSSIBLE_LIB_NAMES} HINTS ${RUBY_POSSIBLE_LIB_DIR} )
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-set(_RUBY_REQUIRED_VARS RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY)
-if(_RUBY_VERSION_SHORT_NODOT GREATER 18)
-   list(APPEND _RUBY_REQUIRED_VARS RUBY_CONFIG_INCLUDE_DIR)
-endif()
-
-if(_RUBY_DEBUG_OUTPUT)
-   message(STATUS "--------FindRuby.cmake debug------------")
-   message(STATUS "_RUBY_POSSIBLE_EXECUTABLE_NAMES: ${_RUBY_POSSIBLE_EXECUTABLE_NAMES}")
-   message(STATUS "_RUBY_POSSIBLE_LIB_NAMES: ${_RUBY_POSSIBLE_LIB_NAMES}")
-   message(STATUS "RUBY_ARCH_DIR: ${RUBY_ARCH_DIR}")
-   message(STATUS "RUBY_HDR_DIR: ${RUBY_HDR_DIR}")
-   message(STATUS "RUBY_POSSIBLE_LIB_DIR: ${RUBY_POSSIBLE_LIB_DIR}")
-   message(STATUS "Found RUBY_VERSION: \"${RUBY_VERSION}\" , short: \"${_RUBY_VERSION_SHORT}\", nodot: \"${_RUBY_VERSION_SHORT_NODOT}\"")
-   message(STATUS "_RUBY_REQUIRED_VARS: ${_RUBY_REQUIRED_VARS}")
-   message(STATUS "RUBY_EXECUTABLE: ${RUBY_EXECUTABLE}")
-   message(STATUS "RUBY_LIBRARY: ${RUBY_LIBRARY}")
-   message(STATUS "RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}")
-   message(STATUS "RUBY_CONFIG_INCLUDE_DIR: ${RUBY_CONFIG_INCLUDE_DIR}")
-   message(STATUS "--------------------")
-endif()
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ruby  REQUIRED_VARS  ${_RUBY_REQUIRED_VARS}
-                                        VERSION_VAR RUBY_VERSION )
-
-mark_as_advanced(
-  RUBY_EXECUTABLE
-  RUBY_LIBRARY
-  RUBY_INCLUDE_DIR
-  RUBY_CONFIG_INCLUDE_DIR
-  )
-
-# Set some variables for compatibility with previous version of this file
-set(RUBY_POSSIBLE_LIB_PATH ${RUBY_POSSIBLE_LIB_DIR})
-set(RUBY_RUBY_LIB_PATH ${RUBY_RUBY_LIB_DIR})
-set(RUBY_INCLUDE_PATH ${RUBY_INCLUDE_DIRS})
diff --git a/share/cmake-3.6/Modules/FindSDL.cmake b/share/cmake-3.6/Modules/FindSDL.cmake
deleted file mode 100644
index 45ca1d4..0000000
--- a/share/cmake-3.6/Modules/FindSDL.cmake
+++ /dev/null
@@ -1,201 +0,0 @@
-#.rst:
-# FindSDL
-# -------
-#
-# Locate SDL library
-#
-# This module defines
-#
-# ::
-#
-#   SDL_LIBRARY, the name of the library to link against
-#   SDL_FOUND, if false, do not try to link to SDL
-#   SDL_INCLUDE_DIR, where to find SDL.h
-#   SDL_VERSION_STRING, human-readable string containing the version of SDL
-#
-#
-#
-# This module responds to the flag:
-#
-# ::
-#
-#   SDL_BUILDING_LIBRARY
-#     If this is defined, then no SDL_main will be linked in because
-#     only applications need main().
-#     Otherwise, it is assumed you are building an application and this
-#     module will attempt to locate and set the proper link flags
-#     as part of the returned SDL_LIBRARY variable.
-#
-#
-#
-# Don't forget to include SDLmain.h and SDLmain.m your project for the
-# OS X framework based version.  (Other versions link to -lSDLmain which
-# this module will try to find on your behalf.) Also for OS X, this
-# module will automatically add the -framework Cocoa on your behalf.
-#
-#
-#
-# Additional Note: If you see an empty SDL_LIBRARY_TEMP in your
-# configuration and no SDL_LIBRARY, it means CMake did not find your SDL
-# library (SDL.dll, libsdl.so, SDL.framework, etc).  Set
-# SDL_LIBRARY_TEMP to point to your SDL library, and configure again.
-# Similarly, if you see an empty SDLMAIN_LIBRARY, you should set this
-# value as appropriate.  These values are used to generate the final
-# SDL_LIBRARY variable, but when these values are unset, SDL_LIBRARY
-# does not get created.
-#
-#
-#
-# $SDLDIR is an environment variable that would correspond to the
-# ./configure --prefix=$SDLDIR used in building SDL.  l.e.galup 9-20-02
-#
-# Modified by Eric Wing.  Added code to assist with automated building
-# by using environmental variables and providing a more
-# controlled/consistent search behavior.  Added new modifications to
-# recognize OS X frameworks and additional Unix paths (FreeBSD, etc).
-# Also corrected the header search path to follow "proper" SDL
-# guidelines.  Added a search for SDLmain which is needed by some
-# platforms.  Added a search for threads which is needed by some
-# platforms.  Added needed compile switches for MinGW.
-#
-# On OSX, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of SDL_LIBRARY to
-# override this selection or set the CMake environment
-# CMAKE_INCLUDE_PATH to modify the search paths.
-#
-# Note that the header path has changed from SDL/SDL.h to just SDL.h
-# This needed to change because "proper" SDL convention is #include
-# "SDL.h", not <SDL/SDL.h>.  This is done for portability reasons
-# because not all systems place things in SDL/ (see FreeBSD).
-
-#=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(SDL_INCLUDE_DIR SDL.h
-  HINTS
-    ENV SDLDIR
-  PATH_SUFFIXES SDL SDL12 SDL11
-                # path suffixes to search inside ENV{SDLDIR}
-                include/SDL include/SDL12 include/SDL11 include
-)
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(VC_LIB_PATH_SUFFIX lib/x64)
-else()
-  set(VC_LIB_PATH_SUFFIX lib/x86)
-endif()
-
-# SDL-1.1 is the name used by FreeBSD ports...
-# don't confuse it for the version number.
-find_library(SDL_LIBRARY_TEMP
-  NAMES SDL SDL-1.1
-  HINTS
-    ENV SDLDIR
-  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-)
-
-if(NOT SDL_BUILDING_LIBRARY)
-  if(NOT SDL_INCLUDE_DIR MATCHES ".framework")
-    # Non-OS X framework versions expect you to also dynamically link to
-    # SDLmain. This is mainly for Windows and OS X. Other (Unix) platforms
-    # seem to provide SDLmain for compatibility even though they don't
-    # necessarily need it.
-    find_library(SDLMAIN_LIBRARY
-      NAMES SDLmain SDLmain-1.1
-      HINTS
-        ENV SDLDIR
-      PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-      PATHS
-      /sw
-      /opt/local
-      /opt/csw
-      /opt
-    )
-  endif()
-endif()
-
-# SDL may require threads on your system.
-# The Apple build may not need an explicit flag because one of the
-# frameworks may already provide it.
-# But for non-OSX systems, I will use the CMake Threads package.
-if(NOT APPLE)
-  find_package(Threads)
-endif()
-
-# MinGW needs an additional library, mwindows
-# It's total link flags should look like -lmingw32 -lSDLmain -lSDL -lmwindows
-# (Actually on second look, I think it only needs one of the m* libraries.)
-if(MINGW)
-  set(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
-endif()
-
-if(SDL_LIBRARY_TEMP)
-  # For SDLmain
-  if(SDLMAIN_LIBRARY AND NOT SDL_BUILDING_LIBRARY)
-    list(FIND SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" _SDL_MAIN_INDEX)
-    if(_SDL_MAIN_INDEX EQUAL -1)
-      set(SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" ${SDL_LIBRARY_TEMP})
-    endif()
-    unset(_SDL_MAIN_INDEX)
-  endif()
-
-  # For OS X, SDL uses Cocoa as a backend so it must link to Cocoa.
-  # CMake doesn't display the -framework Cocoa string in the UI even
-  # though it actually is there if I modify a pre-used variable.
-  # I think it has something to do with the CACHE STRING.
-  # So I use a temporary variable until the end so I can set the
-  # "real" variable in one-shot.
-  if(APPLE)
-    set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} "-framework Cocoa")
-  endif()
-
-  # For threads, as mentioned Apple doesn't need this.
-  # In fact, there seems to be a problem if I used the Threads package
-  # and try using this line, so I'm just skipping it entirely for OS X.
-  if(NOT APPLE)
-    set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
-  endif()
-
-  # For MinGW library
-  if(MINGW)
-    set(SDL_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL_LIBRARY_TEMP})
-  endif()
-
-  # Set the final string here so the GUI reflects the final state.
-  set(SDL_LIBRARY ${SDL_LIBRARY_TEMP} CACHE STRING "Where the SDL Library can be found")
-  # Set the temp variable to INTERNAL so it is not seen in the CMake GUI
-  set(SDL_LIBRARY_TEMP "${SDL_LIBRARY_TEMP}" CACHE INTERNAL "")
-endif()
-
-if(SDL_INCLUDE_DIR AND EXISTS "${SDL_INCLUDE_DIR}/SDL_version.h")
-  file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MINOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_PATCHLEVEL[ \t]+[0-9]+$")
-  string(REGEX REPLACE "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MAJOR "${SDL_VERSION_MAJOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MINOR "${SDL_VERSION_MINOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_VERSION_PATCH "${SDL_VERSION_PATCH_LINE}")
-  set(SDL_VERSION_STRING ${SDL_VERSION_MAJOR}.${SDL_VERSION_MINOR}.${SDL_VERSION_PATCH})
-  unset(SDL_VERSION_MAJOR_LINE)
-  unset(SDL_VERSION_MINOR_LINE)
-  unset(SDL_VERSION_PATCH_LINE)
-  unset(SDL_VERSION_MAJOR)
-  unset(SDL_VERSION_MINOR)
-  unset(SDL_VERSION_PATCH)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL
-                                  REQUIRED_VARS SDL_LIBRARY SDL_INCLUDE_DIR
-                                  VERSION_VAR SDL_VERSION_STRING)
diff --git a/share/cmake-3.6/Modules/FindSDL_image.cmake b/share/cmake-3.6/Modules/FindSDL_image.cmake
deleted file mode 100644
index e7517c5..0000000
--- a/share/cmake-3.6/Modules/FindSDL_image.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-#.rst:
-# FindSDL_image
-# -------------
-#
-# Locate SDL_image library
-#
-# This module defines:
-#
-# ::
-#
-#   SDL_IMAGE_LIBRARIES, the name of the library to link against
-#   SDL_IMAGE_INCLUDE_DIRS, where to find the headers
-#   SDL_IMAGE_FOUND, if false, do not try to link against
-#   SDL_IMAGE_VERSION_STRING - human-readable string containing the
-#                              version of SDL_image
-#
-#
-#
-# For backward compatibility the following variables are also set:
-#
-# ::
-#
-#   SDLIMAGE_LIBRARY (same value as SDL_IMAGE_LIBRARIES)
-#   SDLIMAGE_INCLUDE_DIR (same value as SDL_IMAGE_INCLUDE_DIRS)
-#   SDLIMAGE_FOUND (same value as SDL_IMAGE_FOUND)
-#
-#
-#
-# $SDLDIR is an environment variable that would correspond to the
-# ./configure --prefix=$SDLDIR used in building SDL.
-#
-# Created by Eric Wing.  This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
-# additional Unix paths (FreeBSD, etc).
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT SDL_IMAGE_INCLUDE_DIR AND SDLIMAGE_INCLUDE_DIR)
-  set(SDL_IMAGE_INCLUDE_DIR ${SDLIMAGE_INCLUDE_DIR} CACHE PATH "directory cache
-entry initialized from old variable name")
-endif()
-find_path(SDL_IMAGE_INCLUDE_DIR SDL_image.h
-  HINTS
-    ENV SDLIMAGEDIR
-    ENV SDLDIR
-  PATH_SUFFIXES SDL
-                # path suffixes to search inside ENV{SDLDIR}
-                include/SDL include/SDL12 include/SDL11 include
-)
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(VC_LIB_PATH_SUFFIX lib/x64)
-else()
-  set(VC_LIB_PATH_SUFFIX lib/x86)
-endif()
-
-if(NOT SDL_IMAGE_LIBRARY AND SDLIMAGE_LIBRARY)
-  set(SDL_IMAGE_LIBRARY ${SDLIMAGE_LIBRARY} CACHE FILEPATH "file cache entry
-initialized from old variable name")
-endif()
-find_library(SDL_IMAGE_LIBRARY
-  NAMES SDL_image
-  HINTS
-    ENV SDLIMAGEDIR
-    ENV SDLDIR
-  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-)
-
-if(SDL_IMAGE_INCLUDE_DIR AND EXISTS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h")
-  file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+[0-9]+$")
-  string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_MAJOR "${SDL_IMAGE_VERSION_MAJOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_MINOR "${SDL_IMAGE_VERSION_MINOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_PATCH "${SDL_IMAGE_VERSION_PATCH_LINE}")
-  set(SDL_IMAGE_VERSION_STRING ${SDL_IMAGE_VERSION_MAJOR}.${SDL_IMAGE_VERSION_MINOR}.${SDL_IMAGE_VERSION_PATCH})
-  unset(SDL_IMAGE_VERSION_MAJOR_LINE)
-  unset(SDL_IMAGE_VERSION_MINOR_LINE)
-  unset(SDL_IMAGE_VERSION_PATCH_LINE)
-  unset(SDL_IMAGE_VERSION_MAJOR)
-  unset(SDL_IMAGE_VERSION_MINOR)
-  unset(SDL_IMAGE_VERSION_PATCH)
-endif()
-
-set(SDL_IMAGE_LIBRARIES ${SDL_IMAGE_LIBRARY})
-set(SDL_IMAGE_INCLUDE_DIRS ${SDL_IMAGE_INCLUDE_DIR})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_image
-                                  REQUIRED_VARS SDL_IMAGE_LIBRARIES SDL_IMAGE_INCLUDE_DIRS
-                                  VERSION_VAR SDL_IMAGE_VERSION_STRING)
-
-# for backward compatibility
-set(SDLIMAGE_LIBRARY ${SDL_IMAGE_LIBRARIES})
-set(SDLIMAGE_INCLUDE_DIR ${SDL_IMAGE_INCLUDE_DIRS})
-set(SDLIMAGE_FOUND ${SDL_IMAGE_FOUND})
-
-mark_as_advanced(SDL_IMAGE_LIBRARY SDL_IMAGE_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindSDL_mixer.cmake b/share/cmake-3.6/Modules/FindSDL_mixer.cmake
deleted file mode 100644
index 72ec654..0000000
--- a/share/cmake-3.6/Modules/FindSDL_mixer.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-#.rst:
-# FindSDL_mixer
-# -------------
-#
-# Locate SDL_mixer library
-#
-# This module defines:
-#
-# ::
-#
-#   SDL_MIXER_LIBRARIES, the name of the library to link against
-#   SDL_MIXER_INCLUDE_DIRS, where to find the headers
-#   SDL_MIXER_FOUND, if false, do not try to link against
-#   SDL_MIXER_VERSION_STRING - human-readable string containing the
-#                              version of SDL_mixer
-#
-#
-#
-# For backward compatibility the following variables are also set:
-#
-# ::
-#
-#   SDLMIXER_LIBRARY (same value as SDL_MIXER_LIBRARIES)
-#   SDLMIXER_INCLUDE_DIR (same value as SDL_MIXER_INCLUDE_DIRS)
-#   SDLMIXER_FOUND (same value as SDL_MIXER_FOUND)
-#
-#
-#
-# $SDLDIR is an environment variable that would correspond to the
-# ./configure --prefix=$SDLDIR used in building SDL.
-#
-# Created by Eric Wing.  This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
-# additional Unix paths (FreeBSD, etc).
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT SDL_MIXER_INCLUDE_DIR AND SDLMIXER_INCLUDE_DIR)
-  set(SDL_MIXER_INCLUDE_DIR ${SDLMIXER_INCLUDE_DIR} CACHE PATH "directory cache
-entry initialized from old variable name")
-endif()
-find_path(SDL_MIXER_INCLUDE_DIR SDL_mixer.h
-  HINTS
-    ENV SDLMIXERDIR
-    ENV SDLDIR
-  PATH_SUFFIXES SDL
-                # path suffixes to search inside ENV{SDLDIR}
-                include/SDL include/SDL12 include/SDL11 include
-)
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(VC_LIB_PATH_SUFFIX lib/x64)
-else()
-  set(VC_LIB_PATH_SUFFIX lib/x86)
-endif()
-
-if(NOT SDL_MIXER_LIBRARY AND SDLMIXER_LIBRARY)
-  set(SDL_MIXER_LIBRARY ${SDLMIXER_LIBRARY} CACHE FILEPATH "file cache entry
-initialized from old variable name")
-endif()
-find_library(SDL_MIXER_LIBRARY
-  NAMES SDL_mixer
-  HINTS
-    ENV SDLMIXERDIR
-    ENV SDLDIR
-  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-)
-
-if(SDL_MIXER_INCLUDE_DIR AND EXISTS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h")
-  file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+[0-9]+$")
-  string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_MAJOR "${SDL_MIXER_VERSION_MAJOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_MINOR "${SDL_MIXER_VERSION_MINOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_PATCH "${SDL_MIXER_VERSION_PATCH_LINE}")
-  set(SDL_MIXER_VERSION_STRING ${SDL_MIXER_VERSION_MAJOR}.${SDL_MIXER_VERSION_MINOR}.${SDL_MIXER_VERSION_PATCH})
-  unset(SDL_MIXER_VERSION_MAJOR_LINE)
-  unset(SDL_MIXER_VERSION_MINOR_LINE)
-  unset(SDL_MIXER_VERSION_PATCH_LINE)
-  unset(SDL_MIXER_VERSION_MAJOR)
-  unset(SDL_MIXER_VERSION_MINOR)
-  unset(SDL_MIXER_VERSION_PATCH)
-endif()
-
-set(SDL_MIXER_LIBRARIES ${SDL_MIXER_LIBRARY})
-set(SDL_MIXER_INCLUDE_DIRS ${SDL_MIXER_INCLUDE_DIR})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_mixer
-                                  REQUIRED_VARS SDL_MIXER_LIBRARIES SDL_MIXER_INCLUDE_DIRS
-                                  VERSION_VAR SDL_MIXER_VERSION_STRING)
-
-# for backward compatibility
-set(SDLMIXER_LIBRARY ${SDL_MIXER_LIBRARIES})
-set(SDLMIXER_INCLUDE_DIR ${SDL_MIXER_INCLUDE_DIRS})
-set(SDLMIXER_FOUND ${SDL_MIXER_FOUND})
-
-mark_as_advanced(SDL_MIXER_LIBRARY SDL_MIXER_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindSDL_net.cmake b/share/cmake-3.6/Modules/FindSDL_net.cmake
deleted file mode 100644
index 11c250c..0000000
--- a/share/cmake-3.6/Modules/FindSDL_net.cmake
+++ /dev/null
@@ -1,110 +0,0 @@
-#.rst:
-# FindSDL_net
-# -----------
-#
-# Locate SDL_net library
-#
-# This module defines:
-#
-# ::
-#
-#   SDL_NET_LIBRARIES, the name of the library to link against
-#   SDL_NET_INCLUDE_DIRS, where to find the headers
-#   SDL_NET_FOUND, if false, do not try to link against
-#   SDL_NET_VERSION_STRING - human-readable string containing the version of SDL_net
-#
-#
-#
-# For backward compatibility the following variables are also set:
-#
-# ::
-#
-#   SDLNET_LIBRARY (same value as SDL_NET_LIBRARIES)
-#   SDLNET_INCLUDE_DIR (same value as SDL_NET_INCLUDE_DIRS)
-#   SDLNET_FOUND (same value as SDL_NET_FOUND)
-#
-#
-#
-# $SDLDIR is an environment variable that would correspond to the
-# ./configure --prefix=$SDLDIR used in building SDL.
-#
-# Created by Eric Wing.  This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
-# additional Unix paths (FreeBSD, etc).
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT SDL_NET_INCLUDE_DIR AND SDLNET_INCLUDE_DIR)
-  set(SDL_NET_INCLUDE_DIR ${SDLNET_INCLUDE_DIR} CACHE PATH "directory cache
-entry initialized from old variable name")
-endif()
-find_path(SDL_NET_INCLUDE_DIR SDL_net.h
-  HINTS
-    ENV SDLNETDIR
-    ENV SDLDIR
-  PATH_SUFFIXES SDL
-                # path suffixes to search inside ENV{SDLDIR}
-                include/SDL include/SDL12 include/SDL11 include
-)
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(VC_LIB_PATH_SUFFIX lib/x64)
-else()
-  set(VC_LIB_PATH_SUFFIX lib/x86)
-endif()
-
-if(NOT SDL_NET_LIBRARY AND SDLNET_LIBRARY)
-  set(SDL_NET_LIBRARY ${SDLNET_LIBRARY} CACHE FILEPATH "file cache entry
-initialized from old variable name")
-endif()
-find_library(SDL_NET_LIBRARY
-  NAMES SDL_net
-  HINTS
-    ENV SDLNETDIR
-    ENV SDLDIR
-  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-)
-
-if(SDL_NET_INCLUDE_DIR AND EXISTS "${SDL_NET_INCLUDE_DIR}/SDL_net.h")
-  file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_NET_MAJOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_NET_MINOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_NET_PATCHLEVEL[ \t]+[0-9]+$")
-  string(REGEX REPLACE "^#define[ \t]+SDL_NET_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_MAJOR "${SDL_NET_VERSION_MAJOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_NET_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_MINOR "${SDL_NET_VERSION_MINOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_NET_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_PATCH "${SDL_NET_VERSION_PATCH_LINE}")
-  set(SDL_NET_VERSION_STRING ${SDL_NET_VERSION_MAJOR}.${SDL_NET_VERSION_MINOR}.${SDL_NET_VERSION_PATCH})
-  unset(SDL_NET_VERSION_MAJOR_LINE)
-  unset(SDL_NET_VERSION_MINOR_LINE)
-  unset(SDL_NET_VERSION_PATCH_LINE)
-  unset(SDL_NET_VERSION_MAJOR)
-  unset(SDL_NET_VERSION_MINOR)
-  unset(SDL_NET_VERSION_PATCH)
-endif()
-
-set(SDL_NET_LIBRARIES ${SDL_NET_LIBRARY})
-set(SDL_NET_INCLUDE_DIRS ${SDL_NET_INCLUDE_DIR})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_net
-                                  REQUIRED_VARS SDL_NET_LIBRARIES SDL_NET_INCLUDE_DIRS
-                                  VERSION_VAR SDL_NET_VERSION_STRING)
-
-# for backward compatibility
-set(SDLNET_LIBRARY ${SDL_NET_LIBRARIES})
-set(SDLNET_INCLUDE_DIR ${SDL_NET_INCLUDE_DIRS})
-set(SDLNET_FOUND ${SDL_NET_FOUND})
-
-mark_as_advanced(SDL_NET_LIBRARY SDL_NET_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindSDL_sound.cmake b/share/cmake-3.6/Modules/FindSDL_sound.cmake
deleted file mode 100644
index 494d358..0000000
--- a/share/cmake-3.6/Modules/FindSDL_sound.cmake
+++ /dev/null
@@ -1,408 +0,0 @@
-#.rst:
-# FindSDL_sound
-# -------------
-#
-# Locates the SDL_sound library
-#
-#
-#
-# This module depends on SDL being found and must be called AFTER
-# FindSDL.cmake is called.
-#
-# This module defines
-#
-# ::
-#
-#   SDL_SOUND_INCLUDE_DIR, where to find SDL_sound.h
-#   SDL_SOUND_FOUND, if false, do not try to link to SDL_sound
-#   SDL_SOUND_LIBRARIES, this contains the list of libraries that you need
-#     to link against. This is a read-only variable and is marked INTERNAL.
-#   SDL_SOUND_EXTRAS, this is an optional variable for you to add your own
-#     flags to SDL_SOUND_LIBRARIES. This is prepended to SDL_SOUND_LIBRARIES.
-#     This is available mostly for cases this module failed to anticipate for
-#     and you must add additional flags. This is marked as ADVANCED.
-#   SDL_SOUND_VERSION_STRING, human-readable string containing the
-#     version of SDL_sound
-#
-#
-#
-# This module also defines (but you shouldn't need to use directly)
-#
-# ::
-#
-#    SDL_SOUND_LIBRARY, the name of just the SDL_sound library you would link
-#    against. Use SDL_SOUND_LIBRARIES for you link instructions and not this one.
-#
-# And might define the following as needed
-#
-# ::
-#
-#    MIKMOD_LIBRARY
-#    MODPLUG_LIBRARY
-#    OGG_LIBRARY
-#    VORBIS_LIBRARY
-#    SMPEG_LIBRARY
-#    FLAC_LIBRARY
-#    SPEEX_LIBRARY
-#
-#
-#
-# Typically, you should not use these variables directly, and you should
-# use SDL_SOUND_LIBRARIES which contains SDL_SOUND_LIBRARY and the other
-# audio libraries (if needed) to successfully compile on your system.
-#
-# Created by Eric Wing.  This module is a bit more complicated than the
-# other FindSDL* family modules.  The reason is that SDL_sound can be
-# compiled in a large variety of different ways which are independent of
-# platform.  SDL_sound may dynamically link against other 3rd party
-# libraries to get additional codec support, such as Ogg Vorbis, SMPEG,
-# ModPlug, MikMod, FLAC, Speex, and potentially others.  Under some
-# circumstances which I don't fully understand, there seems to be a
-# requirement that dependent libraries of libraries you use must also be
-# explicitly linked against in order to successfully compile.  SDL_sound
-# does not currently have any system in place to know how it was
-# compiled.  So this CMake module does the hard work in trying to
-# discover which 3rd party libraries are required for building (if any).
-# This module uses a brute force approach to create a test program that
-# uses SDL_sound, and then tries to build it.  If the build fails, it
-# parses the error output for known symbol names to figure out which
-# libraries are needed.
-#
-# Responds to the $SDLDIR and $SDLSOUNDDIR environmental variable that
-# would correspond to the ./configure --prefix=$SDLDIR used in building
-# SDL.
-#
-# On OSX, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of SDL_LIBRARY to
-# override this selectionor set the CMake environment CMAKE_INCLUDE_PATH
-# to modify the search paths.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(SDL_SOUND_EXTRAS "" CACHE STRING "SDL_sound extra flags")
-mark_as_advanced(SDL_SOUND_EXTRAS)
-
-# Find SDL_sound.h
-find_path(SDL_SOUND_INCLUDE_DIR SDL_sound.h
-  HINTS
-    ENV SDLSOUNDDIR
-    ENV SDLDIR
-  PATH_SUFFIXES SDL
-                # path suffixes to search inside ENV{SDLDIR}
-                include/SDL include/SDL12 include/SDL11 include
-  )
-
-find_library(SDL_SOUND_LIBRARY
-  NAMES SDL_sound
-  HINTS
-    ENV SDLSOUNDDIR
-    ENV SDLDIR
-  PATH_SUFFIXES lib VisualC/win32lib
-  )
-
-if(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
-
-  # CMake is giving me problems using TRY_COMPILE with the CMAKE_FLAGS
-  # for the :STRING syntax if I have multiple values contained in a
-  # single variable. This is a problem for the SDL_LIBRARY variable
-  # because it does just that. When I feed this variable to the command,
-  # only the first value gets the appropriate modifier (e.g. -I) and
-  # the rest get dropped.
-  # To get multiple single variables to work, I must separate them with a "\;"
-  # I could go back and modify the FindSDL.cmake module, but that's kind of painful.
-  # The solution would be to try something like:
-  # set(SDL_TRY_COMPILE_LIBRARY_LIST "${SDL_TRY_COMPILE_LIBRARY_LIST}\;${CMAKE_THREAD_LIBS_INIT}")
-  # Instead, it was suggested on the mailing list to write a temporary CMakeLists.txt
-  # with a temporary test project and invoke that with TRY_COMPILE.
-  # See message thread "Figuring out dependencies for a library in order to build"
-  # 2005-07-16
-  #     try_compile(
-  #             MY_RESULT
-  #             ${CMAKE_BINARY_DIR}
-  #             ${PROJECT_SOURCE_DIR}/DetermineSoundLibs.c
-  #             CMAKE_FLAGS
-  #                     -DINCLUDE_DIRECTORIES:STRING=${SDL_INCLUDE_DIR}\;${SDL_SOUND_INCLUDE_DIR}
-  #                     -DLINK_LIBRARIES:STRING=${SDL_SOUND_LIBRARY}\;${SDL_LIBRARY}
-  #             OUTPUT_VARIABLE MY_OUTPUT
-  #     )
-
-  # To minimize external dependencies, create a sdlsound test program
-  # which will be used to figure out if additional link dependencies are
-  # required for the link phase.
-  file(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/DetermineSoundLibs.c
-    "#include \"SDL_sound.h\"
-    #include \"SDL.h\"
-    int main(int argc, char* argv[])
-    {
-        Sound_AudioInfo desired;
-        Sound_Sample* sample;
-
-        SDL_Init(0);
-        Sound_Init();
-
-        /* This doesn't actually have to work, but Init() is a no-op
-         * for some of the decoders, so this should force more symbols
-         * to be pulled in.
-         */
-        sample = Sound_NewSampleFromFile(argv[1], &desired, 4096);
-
-        Sound_Quit();
-        SDL_Quit();
-        return 0;
-     }"
-     )
-
-   # Calling
-   # target_link_libraries(DetermineSoundLibs "${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
-   # causes problems when SDL_LIBRARY looks like
-   # /Library/Frameworks/SDL.framework;-framework Cocoa
-   # The ;-framework Cocoa seems to be confusing CMake once the OS X
-   # framework support was added. I was told that breaking up the list
-   # would fix the problem.
-   set(TMP_TRY_LIBS)
-   foreach(lib ${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
-     set(TMP_TRY_LIBS "${TMP_TRY_LIBS} \"${lib}\"")
-   endforeach()
-
-   # message("TMP_TRY_LIBS ${TMP_TRY_LIBS}")
-
-   # Write the CMakeLists.txt and test project
-   # Weird, this is still sketchy. If I don't quote the variables
-   # in the TARGET_LINK_LIBRARIES, I seem to loose everything
-   # in the SDL_LIBRARY string after the "-framework".
-   # But if I quote the stuff in INCLUDE_DIRECTORIES, it doesn't work.
-   file(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/CMakeLists.txt
-     "cmake_minimum_required(VERSION ${CMAKE_VERSION})
-        project(DetermineSoundLibs)
-        include_directories(${SDL_INCLUDE_DIR} ${SDL_SOUND_INCLUDE_DIR})
-        add_executable(DetermineSoundLibs DetermineSoundLibs.c)
-        target_link_libraries(DetermineSoundLibs ${TMP_TRY_LIBS})"
-     )
-
-   try_compile(
-     MY_RESULT
-     ${PROJECT_BINARY_DIR}/CMakeTmp
-     ${PROJECT_BINARY_DIR}/CMakeTmp
-     DetermineSoundLibs
-     OUTPUT_VARIABLE MY_OUTPUT
-     )
-
-   # message("${MY_RESULT}")
-   # message(${MY_OUTPUT})
-
-   if(NOT MY_RESULT)
-
-     # I expect that MPGLIB, VOC, WAV, AIFF, and SHN are compiled in statically.
-     # I think Timidity is also compiled in statically.
-     # I've never had to explcitly link against Quicktime, so I'll skip that for now.
-
-     set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARY})
-
-     # Find MikMod
-     if("${MY_OUTPUT}" MATCHES "MikMod_")
-     find_library(MIKMOD_LIBRARY
-         NAMES libmikmod-coreaudio mikmod
-         PATHS
-           ENV MIKMODDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-       )
-       if(MIKMOD_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MIKMOD_LIBRARY})
-       endif(MIKMOD_LIBRARY)
-     endif("${MY_OUTPUT}" MATCHES "MikMod_")
-
-     # Find ModPlug
-     if("${MY_OUTPUT}" MATCHES "MODPLUG_")
-       find_library(MODPLUG_LIBRARY
-         NAMES modplug
-         PATHS
-           ENV MODPLUGDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-       )
-       if(MODPLUG_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MODPLUG_LIBRARY})
-       endif()
-     endif()
-
-
-     # Find Ogg and Vorbis
-     if("${MY_OUTPUT}" MATCHES "ov_")
-       find_library(VORBIS_LIBRARY
-         NAMES vorbis Vorbis VORBIS
-         PATHS
-           ENV VORBISDIR
-           ENV OGGDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-         )
-       if(VORBIS_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${VORBIS_LIBRARY})
-       endif()
-
-       find_library(OGG_LIBRARY
-         NAMES ogg Ogg OGG
-         PATHS
-           ENV OGGDIR
-           ENV VORBISDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-         )
-       if(OGG_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
-       endif()
-     endif()
-
-
-     # Find SMPEG
-     if("${MY_OUTPUT}" MATCHES "SMPEG_")
-       find_library(SMPEG_LIBRARY
-         NAMES smpeg SMPEG Smpeg SMpeg
-         PATHS
-           ENV SMPEGDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-         )
-       if(SMPEG_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SMPEG_LIBRARY})
-       endif()
-     endif()
-
-
-     # Find FLAC
-     if("${MY_OUTPUT}" MATCHES "FLAC_")
-       find_library(FLAC_LIBRARY
-         NAMES flac FLAC
-         PATHS
-           ENV FLACDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-         )
-       if(FLAC_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${FLAC_LIBRARY})
-       endif()
-     endif()
-
-
-     # Hmmm...Speex seems to depend on Ogg. This might be a problem if
-     # the TRY_COMPILE attempt gets blocked at SPEEX before it can pull
-     # in the Ogg symbols. I'm not sure if I should duplicate the ogg stuff
-     # above for here or if two ogg entries will screw up things.
-     if("${MY_OUTPUT}" MATCHES "speex_")
-       find_library(SPEEX_LIBRARY
-         NAMES speex SPEEX
-         PATHS
-           ENV SPEEXDIR
-           ENV SDLSOUNDDIR
-           ENV SDLDIR
-           /sw
-           /opt/local
-           /opt/csw
-           /opt
-         PATH_SUFFIXES
-           lib
-         )
-       if(SPEEX_LIBRARY)
-         set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SPEEX_LIBRARY})
-       endif()
-
-       # Find OGG (needed for Speex)
-     # We might have already found Ogg for Vorbis, so skip it if so.
-       if(NOT OGG_LIBRARY)
-         find_library(OGG_LIBRARY
-           NAMES ogg Ogg OGG
-           PATHS
-             ENV OGGDIR
-             ENV VORBISDIR
-             ENV SPEEXDIR
-             ENV SDLSOUNDDIR
-             ENV SDLDIR
-             /sw
-             /opt/local
-             /opt/csw
-             /opt
-           PATH_SUFFIXES lib
-           )
-         if(OGG_LIBRARY)
-           set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
-         endif()
-       endif()
-     endif()
-
-   else()
-     set(SDL_SOUND_LIBRARIES "${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARY}" CACHE INTERNAL "SDL_sound and dependent libraries")
-   endif()
-
-   set(SDL_SOUND_LIBRARIES "${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARIES_TMP}" CACHE INTERNAL "SDL_sound and dependent libraries")
- endif()
-
-if(SDL_SOUND_INCLUDE_DIR AND EXISTS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h")
-  file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SOUND_VER_MAJOR[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_MINOR_LINE REGEX "^#define[ \t]+SOUND_VER_MINOR[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_PATCH_LINE REGEX "^#define[ \t]+SOUND_VER_PATCH[ \t]+[0-9]+$")
-  string(REGEX REPLACE "^#define[ \t]+SOUND_VER_MAJOR[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_MAJOR "${SDL_SOUND_VERSION_MAJOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SOUND_VER_MINOR[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_MINOR "${SDL_SOUND_VERSION_MINOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SOUND_VER_PATCH[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_PATCH "${SDL_SOUND_VERSION_PATCH_LINE}")
-  set(SDL_SOUND_VERSION_STRING ${SDL_SOUND_VERSION_MAJOR}.${SDL_SOUND_VERSION_MINOR}.${SDL_SOUND_VERSION_PATCH})
-  unset(SDL_SOUND_VERSION_MAJOR_LINE)
-  unset(SDL_SOUND_VERSION_MINOR_LINE)
-  unset(SDL_SOUND_VERSION_PATCH_LINE)
-  unset(SDL_SOUND_VERSION_MAJOR)
-  unset(SDL_SOUND_VERSION_MINOR)
-  unset(SDL_SOUND_VERSION_PATCH)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_sound
-                                  REQUIRED_VARS SDL_SOUND_LIBRARY SDL_SOUND_INCLUDE_DIR
-                                  VERSION_VAR SDL_SOUND_VERSION_STRING)
diff --git a/share/cmake-3.6/Modules/FindSDL_ttf.cmake b/share/cmake-3.6/Modules/FindSDL_ttf.cmake
deleted file mode 100644
index 38f6e1d..0000000
--- a/share/cmake-3.6/Modules/FindSDL_ttf.cmake
+++ /dev/null
@@ -1,110 +0,0 @@
-#.rst:
-# FindSDL_ttf
-# -----------
-#
-# Locate SDL_ttf library
-#
-# This module defines:
-#
-# ::
-#
-#   SDL_TTF_LIBRARIES, the name of the library to link against
-#   SDL_TTF_INCLUDE_DIRS, where to find the headers
-#   SDL_TTF_FOUND, if false, do not try to link against
-#   SDL_TTF_VERSION_STRING - human-readable string containing the version of SDL_ttf
-#
-#
-#
-# For backward compatibility the following variables are also set:
-#
-# ::
-#
-#   SDLTTF_LIBRARY (same value as SDL_TTF_LIBRARIES)
-#   SDLTTF_INCLUDE_DIR (same value as SDL_TTF_INCLUDE_DIRS)
-#   SDLTTF_FOUND (same value as SDL_TTF_FOUND)
-#
-#
-#
-# $SDLDIR is an environment variable that would correspond to the
-# ./configure --prefix=$SDLDIR used in building SDL.
-#
-# Created by Eric Wing.  This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
-# additional Unix paths (FreeBSD, etc).
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-# Copyright 2012 Benjamin Eikel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT SDL_TTF_INCLUDE_DIR AND SDLTTF_INCLUDE_DIR)
-  set(SDL_TTF_INCLUDE_DIR ${SDLTTF_INCLUDE_DIR} CACHE PATH "directory cache
-entry initialized from old variable name")
-endif()
-find_path(SDL_TTF_INCLUDE_DIR SDL_ttf.h
-  HINTS
-    ENV SDLTTFDIR
-    ENV SDLDIR
-  PATH_SUFFIXES SDL
-                # path suffixes to search inside ENV{SDLDIR}
-                include/SDL include/SDL12 include/SDL11 include
-)
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(VC_LIB_PATH_SUFFIX lib/x64)
-else()
-  set(VC_LIB_PATH_SUFFIX lib/x86)
-endif()
-
-if(NOT SDL_TTF_LIBRARY AND SDLTTF_LIBRARY)
-  set(SDL_TTF_LIBRARY ${SDLTTF_LIBRARY} CACHE FILEPATH "file cache entry
-initialized from old variable name")
-endif()
-find_library(SDL_TTF_LIBRARY
-  NAMES SDL_ttf
-  HINTS
-    ENV SDLTTFDIR
-    ENV SDLDIR
-  PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-)
-
-if(SDL_TTF_INCLUDE_DIR AND EXISTS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h")
-  file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$")
-  file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$")
-  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_MAJOR "${SDL_TTF_VERSION_MAJOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_MINOR "${SDL_TTF_VERSION_MINOR_LINE}")
-  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_PATCH "${SDL_TTF_VERSION_PATCH_LINE}")
-  set(SDL_TTF_VERSION_STRING ${SDL_TTF_VERSION_MAJOR}.${SDL_TTF_VERSION_MINOR}.${SDL_TTF_VERSION_PATCH})
-  unset(SDL_TTF_VERSION_MAJOR_LINE)
-  unset(SDL_TTF_VERSION_MINOR_LINE)
-  unset(SDL_TTF_VERSION_PATCH_LINE)
-  unset(SDL_TTF_VERSION_MAJOR)
-  unset(SDL_TTF_VERSION_MINOR)
-  unset(SDL_TTF_VERSION_PATCH)
-endif()
-
-set(SDL_TTF_LIBRARIES ${SDL_TTF_LIBRARY})
-set(SDL_TTF_INCLUDE_DIRS ${SDL_TTF_INCLUDE_DIR})
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_ttf
-                                  REQUIRED_VARS SDL_TTF_LIBRARIES SDL_TTF_INCLUDE_DIRS
-                                  VERSION_VAR SDL_TTF_VERSION_STRING)
-
-# for backward compatibility
-set(SDLTTF_LIBRARY ${SDL_TTF_LIBRARIES})
-set(SDLTTF_INCLUDE_DIR ${SDL_TTF_INCLUDE_DIRS})
-set(SDLTTF_FOUND ${SDL_TTF_FOUND})
-
-mark_as_advanced(SDL_TTF_LIBRARY SDL_TTF_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindSWIG.cmake b/share/cmake-3.6/Modules/FindSWIG.cmake
deleted file mode 100644
index 818d1f2..0000000
--- a/share/cmake-3.6/Modules/FindSWIG.cmake
+++ /dev/null
@@ -1,78 +0,0 @@
-#.rst:
-# FindSWIG
-# --------
-#
-# Find SWIG
-#
-# This module finds an installed SWIG.  It sets the following variables:
-#
-# ::
-#
-#   SWIG_FOUND - set to true if SWIG is found
-#   SWIG_DIR - the directory where swig is installed
-#   SWIG_EXECUTABLE - the path to the swig executable
-#   SWIG_VERSION   - the version number of the swig executable
-#
-#
-#
-# The minimum required version of SWIG can be specified using the
-# standard syntax, e.g.  find_package(SWIG 1.1)
-#
-# All information is collected from the SWIG_EXECUTABLE so the version
-# to be found can be changed from the command line by means of setting
-# SWIG_EXECUTABLE
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2011 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-# Copyright 2014 Sylvain Joubert <joubert.sy@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(SWIG_EXECUTABLE NAMES swig3.0 swig2.0 swig)
-
-if(SWIG_EXECUTABLE)
-  execute_process(COMMAND ${SWIG_EXECUTABLE} -swiglib
-    OUTPUT_VARIABLE SWIG_swiglib_output
-    ERROR_VARIABLE SWIG_swiglib_error
-    RESULT_VARIABLE SWIG_swiglib_result)
-
-  if(SWIG_swiglib_result)
-    if(SWIG_FIND_REQUIRED)
-      message(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
-    else()
-      message(STATUS "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
-    endif()
-  else()
-    string(REGEX REPLACE "[\n\r]+" ";" SWIG_swiglib_output ${SWIG_swiglib_output})
-    find_path(SWIG_DIR swig.swg PATHS ${SWIG_swiglib_output} NO_CMAKE_FIND_ROOT_PATH)
-    if(SWIG_DIR)
-      set(SWIG_USE_FILE ${CMAKE_CURRENT_LIST_DIR}/UseSWIG.cmake)
-      execute_process(COMMAND ${SWIG_EXECUTABLE} -version
-        OUTPUT_VARIABLE SWIG_version_output
-        ERROR_VARIABLE SWIG_version_output
-        RESULT_VARIABLE SWIG_version_result)
-      if(SWIG_version_result)
-        message(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -version\" failed with output:\n${SWIG_version_output}")
-      else()
-        string(REGEX REPLACE ".*SWIG Version[^0-9.]*\([0-9.]+\).*" "\\1"
-          SWIG_version_output "${SWIG_version_output}")
-        set(SWIG_VERSION ${SWIG_version_output} CACHE STRING "Swig version" FORCE)
-      endif()
-    endif()
-  endif()
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SWIG  REQUIRED_VARS SWIG_EXECUTABLE SWIG_DIR
-                                        VERSION_VAR SWIG_VERSION )
-
-mark_as_advanced(SWIG_DIR SWIG_VERSION)
diff --git a/share/cmake-3.6/Modules/FindSelfPackers.cmake b/share/cmake-3.6/Modules/FindSelfPackers.cmake
deleted file mode 100644
index 238be89..0000000
--- a/share/cmake-3.6/Modules/FindSelfPackers.cmake
+++ /dev/null
@@ -1,75 +0,0 @@
-#.rst:
-# FindSelfPackers
-# ---------------
-#
-# Find upx
-#
-# This module looks for some executable packers (i.e.  software that
-# compress executables or shared libs into on-the-fly self-extracting
-# executables or shared libs.  Examples:
-#
-# ::
-#
-#   UPX: http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
-
-find_program(SELF_PACKER_FOR_EXECUTABLE
-  upx
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-
-find_program(SELF_PACKER_FOR_SHARED_LIB
-  upx
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-
-mark_as_advanced(
-  SELF_PACKER_FOR_EXECUTABLE
-  SELF_PACKER_FOR_SHARED_LIB
-)
-
-#
-# Set flags
-#
-if (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx")
-  set (SELF_PACKER_FOR_EXECUTABLE_FLAGS "-q" CACHE STRING
-       "Flags for the executable self-packer.")
-else ()
-  set (SELF_PACKER_FOR_EXECUTABLE_FLAGS "" CACHE STRING
-       "Flags for the executable self-packer.")
-endif ()
-
-if (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx")
-  set (SELF_PACKER_FOR_SHARED_LIB_FLAGS "-q" CACHE STRING
-       "Flags for the shared lib self-packer.")
-else ()
-  set (SELF_PACKER_FOR_SHARED_LIB_FLAGS "" CACHE STRING
-       "Flags for the shared lib self-packer.")
-endif ()
-
-mark_as_advanced(
-  SELF_PACKER_FOR_EXECUTABLE_FLAGS
-  SELF_PACKER_FOR_SHARED_LIB_FLAGS
-)
diff --git a/share/cmake-3.6/Modules/FindSquish.cmake b/share/cmake-3.6/Modules/FindSquish.cmake
deleted file mode 100644
index 51e279d..0000000
--- a/share/cmake-3.6/Modules/FindSquish.cmake
+++ /dev/null
@@ -1,318 +0,0 @@
-#.rst:
-# FindSquish
-# ----------
-#
-# -- Typical Use
-#
-#
-#
-# This module can be used to find Squish.  Currently Squish versions 3
-# and 4 are supported.
-#
-# ::
-#
-#   SQUISH_FOUND                    If false, don't try to use Squish
-#   SQUISH_VERSION                  The full version of Squish found
-#   SQUISH_VERSION_MAJOR            The major version of Squish found
-#   SQUISH_VERSION_MINOR            The minor version of Squish found
-#   SQUISH_VERSION_PATCH            The patch version of Squish found
-#
-#
-#
-# ::
-#
-#   SQUISH_INSTALL_DIR              The Squish installation directory
-#                                   (containing bin, lib, etc)
-#   SQUISH_SERVER_EXECUTABLE        The squishserver executable
-#   SQUISH_CLIENT_EXECUTABLE        The squishrunner executable
-#
-#
-#
-# ::
-#
-#   SQUISH_INSTALL_DIR_FOUND        Was the install directory found?
-#   SQUISH_SERVER_EXECUTABLE_FOUND  Was the server executable found?
-#   SQUISH_CLIENT_EXECUTABLE_FOUND  Was the client executable found?
-#
-#
-#
-# It provides the function squish_v4_add_test() for adding a squish test
-# to cmake using Squish 4.x:
-#
-# ::
-#
-#    squish_v4_add_test(cmakeTestName
-#      AUT targetName SUITE suiteName TEST squishTestName
-#      [SETTINGSGROUP group] [PRE_COMMAND command] [POST_COMMAND command] )
-#
-#
-#
-# The arguments have the following meaning:
-#
-# ``cmakeTestName``
-#   this will be used as the first argument for add_test()
-# ``AUT targetName``
-#   the name of the cmake target which will be used as AUT, i.e. the
-#   executable which will be tested.
-# ``SUITE suiteName``
-#   this is either the full path to the squish suite, or just the
-#   last directory of the suite, i.e. the suite name. In this case
-#   the CMakeLists.txt which calls squish_add_test() must be located
-#   in the parent directory of the suite directory.
-# ``TEST squishTestName``
-#   the name of the squish test, i.e. the name of the subdirectory
-#   of the test inside the suite directory.
-# ``SETTINGSGROUP group``
-#   if specified, the given settings group will be used for executing the test.
-#   If not specified, the groupname will be "CTest_<username>"
-# ``PRE_COMMAND command``
-#   if specified, the given command will be executed before starting the squish test.
-# ``POST_COMMAND command``
-#   same as PRE_COMMAND, but after the squish test has been executed.
-#
-#
-#
-# ::
-#
-#    enable_testing()
-#    find_package(Squish 4.0)
-#    if (SQUISH_FOUND)
-#       squish_v4_add_test(myTestName
-#         AUT myApp
-#         SUITE ${CMAKE_SOURCE_DIR}/tests/mySuite
-#         TEST someSquishTest
-#         SETTINGSGROUP myGroup
-#         )
-#    endif ()
-#
-#
-#
-#
-#
-# For users of Squish version 3.x the macro squish_v3_add_test() is
-# provided:
-#
-# ::
-#
-#    squish_v3_add_test(testName applicationUnderTest testCase envVars testWrapper)
-#    Use this macro to add a test using Squish 3.x.
-#
-#
-#
-# ::
-#
-#   enable_testing()
-#   find_package(Squish)
-#   if (SQUISH_FOUND)
-#     squish_v3_add_test(myTestName myApplication testCase envVars testWrapper)
-#   endif ()
-#
-#
-#
-# macro SQUISH_ADD_TEST(testName applicationUnderTest testCase envVars
-# testWrapper)
-#
-# ::
-#
-#    This is deprecated. Use SQUISH_V3_ADD_TEST() if you are using Squish 3.x instead.
-
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-# Copyright 2012 Alexander Neundorf
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-include(CMakeParseArguments)
-
-set(SQUISH_INSTALL_DIR_STRING "Directory containing the bin, doc, and lib directories for Squish; this should be the root of the installation directory.")
-set(SQUISH_SERVER_EXECUTABLE_STRING "The squishserver executable program.")
-set(SQUISH_CLIENT_EXECUTABLE_STRING "The squishclient executable program.")
-
-# Search only if the location is not already known.
-if(NOT SQUISH_INSTALL_DIR)
-  # Get the system search path as a list.
-  file(TO_CMAKE_PATH "$ENV{PATH}" SQUISH_INSTALL_DIR_SEARCH2)
-
-  # Construct a set of paths relative to the system search path.
-  set(SQUISH_INSTALL_DIR_SEARCH "")
-  foreach(dir ${SQUISH_INSTALL_DIR_SEARCH2})
-    set(SQUISH_INSTALL_DIR_SEARCH ${SQUISH_INSTALL_DIR_SEARCH} "${dir}/../lib/fltk")
-  endforeach()
-  string(REPLACE "//" "/" SQUISH_INSTALL_DIR_SEARCH "${SQUISH_INSTALL_DIR_SEARCH}")
-
-  # Look for an installation
-  find_path(SQUISH_INSTALL_DIR bin/squishrunner
-    HINTS
-    # Look for an environment variable SQUISH_INSTALL_DIR.
-      ENV SQUISH_INSTALL_DIR
-
-    # Look in places relative to the system executable search path.
-    ${SQUISH_INSTALL_DIR_SEARCH}
-
-    # Look in standard UNIX install locations.
-    #/usr/local/squish
-
-    DOC "The ${SQUISH_INSTALL_DIR_STRING}"
-    )
-endif()
-
-# search for the executables
-if(SQUISH_INSTALL_DIR)
-  set(SQUISH_INSTALL_DIR_FOUND 1)
-
-  # find the client program
-  if(NOT SQUISH_CLIENT_EXECUTABLE)
-    find_program(SQUISH_CLIENT_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishrunner${CMAKE_EXECUTABLE_SUFFIX} DOC "The ${SQUISH_CLIENT_EXECUTABLE_STRING}")
-  endif()
-
-  # find the server program
-  if(NOT SQUISH_SERVER_EXECUTABLE)
-    find_program(SQUISH_SERVER_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishserver${CMAKE_EXECUTABLE_SUFFIX} DOC "The ${SQUISH_SERVER_EXECUTABLE_STRING}")
-  endif()
-
-else()
-  set(SQUISH_INSTALL_DIR_FOUND 0)
-endif()
-
-
-set(SQUISH_VERSION)
-set(SQUISH_VERSION_MAJOR )
-set(SQUISH_VERSION_MINOR )
-set(SQUISH_VERSION_PATCH )
-
-# record if executables are set
-if(SQUISH_CLIENT_EXECUTABLE)
-  set(SQUISH_CLIENT_EXECUTABLE_FOUND 1)
-  execute_process(COMMAND "${SQUISH_CLIENT_EXECUTABLE}" --version
-                  OUTPUT_VARIABLE _squishVersionOutput
-                  ERROR_QUIET )
-  if("${_squishVersionOutput}" MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
-    set(SQUISH_VERSION_MAJOR "${CMAKE_MATCH_1}")
-    set(SQUISH_VERSION_MINOR "${CMAKE_MATCH_2}")
-    set(SQUISH_VERSION_PATCH "${CMAKE_MATCH_3}")
-    set(SQUISH_VERSION "${SQUISH_VERSION_MAJOR}.${SQUISH_VERSION_MINOR}.${SQUISH_VERSION_PATCH}" )
-  endif()
-else()
-  set(SQUISH_CLIENT_EXECUTABLE_FOUND 0)
-endif()
-
-if(SQUISH_SERVER_EXECUTABLE)
-  set(SQUISH_SERVER_EXECUTABLE_FOUND 1)
-else()
-  set(SQUISH_SERVER_EXECUTABLE_FOUND 0)
-endif()
-
-# record if Squish was found
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(Squish  REQUIRED_VARS  SQUISH_INSTALL_DIR SQUISH_CLIENT_EXECUTABLE SQUISH_SERVER_EXECUTABLE
-                                          VERSION_VAR  SQUISH_VERSION )
-
-
-set(_SQUISH_MODULE_DIR "${CMAKE_CURRENT_LIST_DIR}")
-
-macro(SQUISH_V3_ADD_TEST testName testAUT testCase envVars testWraper)
-  if("${SQUISH_VERSION_MAJOR}" STREQUAL "4")
-    message(STATUS "Using squish_v3_add_test(), but SQUISH_VERSION_MAJOR is ${SQUISH_VERSION_MAJOR}.\nThis may not work.")
-  endif()
-
-  add_test(${testName}
-    ${CMAKE_COMMAND} -V -VV
-    "-Dsquish_version:STRING=3"
-    "-Dsquish_aut:STRING=${testAUT}"
-    "-Dsquish_server_executable:STRING=${SQUISH_SERVER_EXECUTABLE}"
-    "-Dsquish_client_executable:STRING=${SQUISH_CLIENT_EXECUTABLE}"
-    "-Dsquish_libqtdir:STRING=${QT_LIBRARY_DIR}"
-    "-Dsquish_test_case:STRING=${testCase}"
-    "-Dsquish_env_vars:STRING=${envVars}"
-    "-Dsquish_wrapper:STRING=${testWraper}"
-    "-Dsquish_module_dir:STRING=${_SQUISH_MODULE_DIR}"
-    -P "${_SQUISH_MODULE_DIR}/SquishTestScript.cmake"
-    )
-  set_tests_properties(${testName}
-    PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;FATAL"
-    )
-endmacro()
-
-
-macro(SQUISH_ADD_TEST)
-  message(STATUS "Using squish_add_test() is deprecated, use squish_v3_add_test() instead.")
-  squish_v3_add_test(${ARGV})
-endmacro()
-
-
-function(SQUISH_V4_ADD_TEST testName)
-
-  if(NOT "${SQUISH_VERSION_MAJOR}" STREQUAL "4")
-    message(STATUS "Using squish_v4_add_test(), but SQUISH_VERSION_MAJOR is ${SQUISH_VERSION_MAJOR}.\nThis may not work.")
-  endif()
-
-  set(oneValueArgs AUT SUITE TEST SETTINGSGROUP PRE_COMMAND POST_COMMAND)
-
-  cmake_parse_arguments(_SQUISH "" "${oneValueArgs}" "" ${ARGN} )
-
-  if(_SQUISH_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to SQUISH_ADD_TEST(): \"${_SQUISH_UNPARSED_ARGUMENTS}\"")
-  endif()
-
-  if(NOT _SQUISH_AUT)
-    message(FATAL_ERROR "Required argument AUT not given for SQUISH_ADD_TEST()")
-  endif()
-
-  if(NOT _SQUISH_SUITE)
-    message(FATAL_ERROR "Required argument SUITE not given for SQUISH_ADD_TEST()")
-  endif()
-
-  if(NOT _SQUISH_TEST)
-    message(FATAL_ERROR "Required argument TEST not given for SQUISH_ADD_TEST()")
-  endif()
-
-  get_target_property(testAUTLocation ${_SQUISH_AUT} LOCATION)
-  get_filename_component(testAUTDir ${testAUTLocation} PATH)
-  get_filename_component(testAUTName ${testAUTLocation} NAME)
-
-  get_filename_component(absTestSuite "${_SQUISH_SUITE}" ABSOLUTE)
-  if(NOT EXISTS "${absTestSuite}")
-    message(FATAL_ERROR "Could not find squish test suite ${_SQUISH_SUITE} (checked ${absTestSuite})")
-  endif()
-
-  set(absTestCase "${absTestSuite}/${_SQUISH_TEST}")
-  if(NOT EXISTS "${absTestCase}")
-    message(FATAL_ERROR "Could not find squish testcase ${_SQUISH_TEST} (checked ${absTestCase})")
-  endif()
-
-  if(NOT _SQUISH_SETTINGSGROUP)
-    set(_SQUISH_SETTINGSGROUP "CTest_$ENV{LOGNAME}")
-  endif()
-
-  add_test(${testName}
-    ${CMAKE_COMMAND} -V -VV
-    "-Dsquish_version:STRING=4"
-    "-Dsquish_aut:STRING=${testAUTName}"
-    "-Dsquish_aut_dir:STRING=${testAUTDir}"
-    "-Dsquish_server_executable:STRING=${SQUISH_SERVER_EXECUTABLE}"
-    "-Dsquish_client_executable:STRING=${SQUISH_CLIENT_EXECUTABLE}"
-    "-Dsquish_libqtdir:STRING=${QT_LIBRARY_DIR}"
-    "-Dsquish_test_suite:STRING=${absTestSuite}"
-    "-Dsquish_test_case:STRING=${_SQUISH_TEST}"
-    "-Dsquish_env_vars:STRING=${envVars}"
-    "-Dsquish_wrapper:STRING=${testWraper}"
-    "-Dsquish_module_dir:STRING=${_SQUISH_MODULE_DIR}"
-    "-Dsquish_settingsgroup:STRING=${_SQUISH_SETTINGSGROUP}"
-    "-Dsquish_pre_command:STRING=${_SQUISH_PRE_COMMAND}"
-    "-Dsquish_post_command:STRING=${_SQUISH_POST_COMMAND}"
-    -P "${_SQUISH_MODULE_DIR}/SquishTestScript.cmake"
-    )
-  set_tests_properties(${testName}
-    PROPERTIES FAIL_REGULAR_EXPRESSION "FAIL;FAILED;ERROR;FATAL"
-    )
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindSubversion.cmake b/share/cmake-3.6/Modules/FindSubversion.cmake
deleted file mode 100644
index 804f44c..0000000
--- a/share/cmake-3.6/Modules/FindSubversion.cmake
+++ /dev/null
@@ -1,158 +0,0 @@
-#.rst:
-# FindSubversion
-# --------------
-#
-# Extract information from a subversion working copy
-#
-# The module defines the following variables:
-#
-# ::
-#
-#   Subversion_SVN_EXECUTABLE - path to svn command line client
-#   Subversion_VERSION_SVN - version of svn command line client
-#   Subversion_FOUND - true if the command line client was found
-#   SUBVERSION_FOUND - same as Subversion_FOUND, set for compatibility reasons
-#
-#
-#
-# The minimum required version of Subversion can be specified using the
-# standard syntax, e.g.  find_package(Subversion 1.4)
-#
-# If the command line client executable is found two macros are defined:
-#
-# ::
-#
-#   Subversion_WC_INFO(<dir> <var-prefix>)
-#   Subversion_WC_LOG(<dir> <var-prefix>)
-#
-# Subversion_WC_INFO extracts information of a subversion working copy
-# at a given location.  This macro defines the following variables:
-#
-# ::
-#
-#   <var-prefix>_WC_URL - url of the repository (at <dir>)
-#   <var-prefix>_WC_ROOT - root url of the repository
-#   <var-prefix>_WC_REVISION - current revision
-#   <var-prefix>_WC_LAST_CHANGED_AUTHOR - author of last commit
-#   <var-prefix>_WC_LAST_CHANGED_DATE - date of last commit
-#   <var-prefix>_WC_LAST_CHANGED_REV - revision of last commit
-#   <var-prefix>_WC_INFO - output of command `svn info <dir>'
-#
-# Subversion_WC_LOG retrieves the log message of the base revision of a
-# subversion working copy at a given location.  This macro defines the
-# variable:
-#
-# ::
-#
-#   <var-prefix>_LAST_CHANGED_LOG - last log of base revision
-#
-# Example usage:
-#
-# ::
-#
-#   find_package(Subversion)
-#   if(SUBVERSION_FOUND)
-#     Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
-#     message("Current revision is ${Project_WC_REVISION}")
-#     Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
-#     message("Last changed log is ${Project_LAST_CHANGED_LOG}")
-#   endif()
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Tristan Carel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(Subversion_SVN_EXECUTABLE svn
-  PATHS
-    [HKEY_LOCAL_MACHINE\\Software\\TortoiseSVN;Directory]/bin
-  DOC "subversion command line client")
-mark_as_advanced(Subversion_SVN_EXECUTABLE)
-
-if(Subversion_SVN_EXECUTABLE)
-  # the subversion commands should be executed with the C locale, otherwise
-  # the message (which are parsed) may be translated, Alex
-  set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
-  set(ENV{LC_ALL} C)
-
-  execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} --version
-    OUTPUT_VARIABLE Subversion_VERSION_SVN
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-  # restore the previous LC_ALL
-  set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
-
-  string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*"
-    "\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}")
-
-  macro(Subversion_WC_INFO dir prefix)
-    # the subversion commands should be executed with the C locale, otherwise
-    # the message (which are parsed) may be translated, Alex
-    set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
-    set(ENV{LC_ALL} C)
-
-    execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} info ${dir}
-      OUTPUT_VARIABLE ${prefix}_WC_INFO
-      ERROR_VARIABLE Subversion_svn_info_error
-      RESULT_VARIABLE Subversion_svn_info_result
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    if(NOT ${Subversion_svn_info_result} EQUAL 0)
-      message(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} info ${dir}\" failed with output:\n${Subversion_svn_info_error}")
-    else()
-
-      string(REGEX REPLACE "^(.*\n)?URL: ([^\n]+).*"
-        "\\2" ${prefix}_WC_URL "${${prefix}_WC_INFO}")
-      string(REGEX REPLACE "^(.*\n)?Repository Root: ([^\n]+).*"
-        "\\2" ${prefix}_WC_ROOT "${${prefix}_WC_INFO}")
-      string(REGEX REPLACE "^(.*\n)?Revision: ([^\n]+).*"
-        "\\2" ${prefix}_WC_REVISION "${${prefix}_WC_INFO}")
-      string(REGEX REPLACE "^(.*\n)?Last Changed Author: ([^\n]+).*"
-        "\\2" ${prefix}_WC_LAST_CHANGED_AUTHOR "${${prefix}_WC_INFO}")
-      string(REGEX REPLACE "^(.*\n)?Last Changed Rev: ([^\n]+).*"
-        "\\2" ${prefix}_WC_LAST_CHANGED_REV "${${prefix}_WC_INFO}")
-      string(REGEX REPLACE "^(.*\n)?Last Changed Date: ([^\n]+).*"
-        "\\2" ${prefix}_WC_LAST_CHANGED_DATE "${${prefix}_WC_INFO}")
-
-    endif()
-
-    # restore the previous LC_ALL
-    set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
-
-  endmacro()
-
-  macro(Subversion_WC_LOG dir prefix)
-    # This macro can block if the certificate is not signed:
-    # svn ask you to accept the certificate and wait for your answer
-    # This macro requires a svn server network access (Internet most of the time)
-    # and can also be slow since it access the svn server
-    execute_process(COMMAND
-      ${Subversion_SVN_EXECUTABLE} --non-interactive log -r BASE ${dir}
-      OUTPUT_VARIABLE ${prefix}_LAST_CHANGED_LOG
-      ERROR_VARIABLE Subversion_svn_log_error
-      RESULT_VARIABLE Subversion_svn_log_result
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    if(NOT ${Subversion_svn_log_result} EQUAL 0)
-      message(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} log -r BASE ${dir}\" failed with output:\n${Subversion_svn_log_error}")
-    endif()
-  endmacro()
-
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Subversion REQUIRED_VARS Subversion_SVN_EXECUTABLE
-                                             VERSION_VAR Subversion_VERSION_SVN )
-
-# for compatibility
-set(Subversion_FOUND ${SUBVERSION_FOUND})
-set(Subversion_SVN_FOUND ${SUBVERSION_FOUND})
diff --git a/share/cmake-3.6/Modules/FindTCL.cmake b/share/cmake-3.6/Modules/FindTCL.cmake
deleted file mode 100644
index a83e277..0000000
--- a/share/cmake-3.6/Modules/FindTCL.cmake
+++ /dev/null
@@ -1,235 +0,0 @@
-#.rst:
-# FindTCL
-# -------
-#
-# TK_INTERNAL_PATH was removed.
-#
-# This module finds if Tcl is installed and determines where the include
-# files and libraries are.  It also determines what the name of the
-# library is.  This code sets the following variables:
-#
-# ::
-#
-#   TCL_FOUND              = Tcl was found
-#   TK_FOUND               = Tk was found
-#   TCLTK_FOUND            = Tcl and Tk were found
-#   TCL_LIBRARY            = path to Tcl library (tcl tcl80)
-#   TCL_INCLUDE_PATH       = path to where tcl.h can be found
-#   TCL_TCLSH              = path to tclsh binary (tcl tcl80)
-#   TK_LIBRARY             = path to Tk library (tk tk80 etc)
-#   TK_INCLUDE_PATH        = path to where tk.h can be found
-#   TK_WISH                = full path to the wish executable
-#
-#
-#
-# In an effort to remove some clutter and clear up some issues for
-# people who are not necessarily Tcl/Tk gurus/developpers, some
-# variables were moved or removed.  Changes compared to CMake 2.4 are:
-#
-# ::
-#
-#    => they were only useful for people writing Tcl/Tk extensions.
-#    => these libs are not packaged by default with Tcl/Tk distributions.
-#       Even when Tcl/Tk is built from source, several flavors of debug libs
-#       are created and there is no real reason to pick a single one
-#       specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
-#       Let's leave that choice to the user by allowing him to assign
-#       TCL_LIBRARY to any Tcl library, debug or not.
-#    => this ended up being only a Win32 variable, and there is a lot of
-#       confusion regarding the location of this file in an installed Tcl/Tk
-#       tree anyway (see 8.5 for example). If you need the internal path at
-#       this point it is safer you ask directly where the *source* tree is
-#       and dig from there.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindFrameworks.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/FindTclsh.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/FindWish.cmake)
-
-if(TCLSH_VERSION_STRING)
-  set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
-else()
-  get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
-  get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
-  string(REGEX REPLACE
-    "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
-endif()
-
-get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
-get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
-
-get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-
-get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-
-get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-
-set(TCLTK_POSSIBLE_LIB_PATHS
-  "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
-  "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
-  "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
-  /usr/local/lib/tcl/tcl8.5
-  /usr/local/lib/tcl/tk8.5
-  /usr/local/lib/tcl/tcl8.4
-  /usr/local/lib/tcl/tk8.4
-  )
-
-if(WIN32)
-  get_filename_component(
-    ActiveTcl_CurrentVersion
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
-    NAME)
-  set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
-    "$ENV{ProgramFiles}/Tcl/Lib"
-    "C:/Program Files/Tcl/lib"
-    "C:/Tcl/lib"
-    )
-endif()
-
-find_library(TCL_LIBRARY
-  NAMES
-  tcl
-  tcl${TCL_LIBRARY_VERSION} tcl${TCL_TCLSH_VERSION} tcl${TK_WISH_VERSION}
-  tcl86 tcl8.6
-  tcl85 tcl8.5
-  tcl84 tcl8.4
-  tcl83 tcl8.3
-  tcl82 tcl8.2
-  tcl80 tcl8.0
-  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-  )
-
-find_library(TK_LIBRARY
-  NAMES
-  tk
-  tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
-  tk86 tk8.6
-  tk85 tk8.5
-  tk84 tk8.4
-  tk83 tk8.3
-  tk82 tk8.2
-  tk80 tk8.0
-  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-  )
-
-CMAKE_FIND_FRAMEWORKS(Tcl)
-CMAKE_FIND_FRAMEWORKS(Tk)
-
-set(TCL_FRAMEWORK_INCLUDES)
-if(Tcl_FRAMEWORKS)
-  if(NOT TCL_INCLUDE_PATH)
-    foreach(dir ${Tcl_FRAMEWORKS})
-      set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
-    endforeach()
-  endif()
-endif()
-
-set(TK_FRAMEWORK_INCLUDES)
-if(Tk_FRAMEWORKS)
-  if(NOT TK_INCLUDE_PATH)
-    foreach(dir ${Tk_FRAMEWORKS})
-      set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
-        ${dir}/Headers ${dir}/PrivateHeaders)
-    endforeach()
-  endif()
-endif()
-
-set(TCLTK_POSSIBLE_INCLUDE_PATHS
-  "${TCL_LIBRARY_PATH_PARENT}/include"
-  "${TK_LIBRARY_PATH_PARENT}/include"
-  "${TCL_INCLUDE_PATH}"
-  "${TK_INCLUDE_PATH}"
-  ${TCL_FRAMEWORK_INCLUDES}
-  ${TK_FRAMEWORK_INCLUDES}
-  "${TCL_TCLSH_PATH_PARENT}/include"
-  "${TK_WISH_PATH_PARENT}/include"
-  /usr/include/tcl${TK_LIBRARY_VERSION}
-  /usr/include/tcl${TCL_LIBRARY_VERSION}
-  /usr/include/tcl8.6
-  /usr/include/tcl8.5
-  /usr/include/tcl8.4
-  /usr/include/tcl8.3
-  /usr/include/tcl8.2
-  /usr/include/tcl8.0
-  /usr/local/include/tcl8.6
-  /usr/local/include/tk8.6
-  /usr/local/include/tcl8.5
-  /usr/local/include/tk8.5
-  /usr/local/include/tcl8.4
-  /usr/local/include/tk8.4
-  )
-
-if(WIN32)
-  set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include"
-    "$ENV{ProgramFiles}/Tcl/include"
-    "C:/Program Files/Tcl/include"
-    "C:/Tcl/include"
-    )
-endif()
-
-find_path(TCL_INCLUDE_PATH
-  NAMES tcl.h
-  HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-  )
-
-find_path(TK_INCLUDE_PATH
-  NAMES tk.h
-  HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
-  )
-
-# handle the QUIETLY and REQUIRED arguments and set TCL_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH)
-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)
-
-mark_as_advanced(
-  TCL_INCLUDE_PATH
-  TK_INCLUDE_PATH
-  TCL_LIBRARY
-  TK_LIBRARY
-  )
diff --git a/share/cmake-3.6/Modules/FindTIFF.cmake b/share/cmake-3.6/Modules/FindTIFF.cmake
deleted file mode 100644
index e600498..0000000
--- a/share/cmake-3.6/Modules/FindTIFF.cmake
+++ /dev/null
@@ -1,118 +0,0 @@
-#.rst:
-# FindTIFF
-# --------
-#
-# Find the TIFF library (libtiff).
-#
-# Imported targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` targets:
-#
-# ``TIFF::TIFF``
-#   The TIFF library, if found.
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project:
-#
-# ``TIFF_FOUND``
-#   true if the TIFF headers and libraries were found
-# ``TIFF_INCLUDE_DIR``
-#   the directory containing the TIFF headers
-# ``TIFF_INCLUDE_DIRS``
-#   the directory containing the TIFF headers
-# ``TIFF_LIBRARIES``
-#   TIFF libraries to be linked
-#
-# Cache variables
-# ^^^^^^^^^^^^^^^
-#
-# The following cache variables may also be set:
-#
-# ``TIFF_INCLUDE_DIR``
-#   the directory containing the TIFF headers
-# ``TIFF_LIBRARY``
-#   the path to the TIFF library
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-# Copyright 2015 University of Dundee
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(TIFF_INCLUDE_DIR tiff.h)
-
-set(TIFF_NAMES ${TIFF_NAMES} tiff libtiff tiff3 libtiff3)
-foreach(name ${TIFF_NAMES})
-  list(APPEND TIFF_NAMES_DEBUG "${name}d")
-endforeach()
-
-if(NOT TIFF_LIBRARY)
-  find_library(TIFF_LIBRARY_RELEASE NAMES ${TIFF_NAMES})
-  find_library(TIFF_LIBRARY_DEBUG NAMES ${TIFF_NAMES_DEBUG})
-  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-  select_library_configurations(TIFF)
-  mark_as_advanced(TIFF_LIBRARY_RELEASE TIFF_LIBRARY_DEBUG)
-endif()
-unset(TIFF_NAMES)
-unset(TIFF_NAMES_DEBUG)
-
-if(TIFF_INCLUDE_DIR AND EXISTS "${TIFF_INCLUDE_DIR}/tiffvers.h")
-    file(STRINGS "${TIFF_INCLUDE_DIR}/tiffvers.h" tiff_version_str
-         REGEX "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version .*")
-
-    string(REGEX REPLACE "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version +([^ \\n]*).*"
-           "\\1" TIFF_VERSION_STRING "${tiff_version_str}")
-    unset(tiff_version_str)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF
-                                  REQUIRED_VARS TIFF_LIBRARY TIFF_INCLUDE_DIR
-                                  VERSION_VAR TIFF_VERSION_STRING)
-
-if(TIFF_FOUND)
-  set(TIFF_LIBRARIES ${TIFF_LIBRARY})
-  set(TIFF_INCLUDE_DIRS "${TIFF_INCLUDE_DIR}")
-
-  if(NOT TARGET TIFF::TIFF)
-    add_library(TIFF::TIFF UNKNOWN IMPORTED)
-    if(TIFF_INCLUDE_DIRS)
-      set_target_properties(TIFF::TIFF PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${TIFF_INCLUDE_DIRS}")
-    endif()
-    if(EXISTS "${TIFF_LIBRARY}")
-      set_target_properties(TIFF::TIFF PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-        IMPORTED_LOCATION "${TIFF_LIBRARY}")
-    endif()
-    if(EXISTS "${TIFF_LIBRARY_DEBUG}")
-      set_property(TARGET TIFF::TIFF APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS DEBUG)
-      set_target_properties(TIFF::TIFF PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
-        IMPORTED_LOCATION_DEBUG "${TIFF_LIBRARY_DEBUG}")
-    endif()
-    if(EXISTS "${TIFF_LIBRARY_RELEASE}")
-      set_property(TARGET TIFF::TIFF APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS RELEASE)
-      set_target_properties(TIFF::TIFF PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
-        IMPORTED_LOCATION_RELEASE "${TIFF_LIBRARY_RELEASE}")
-    endif()
-  endif()
-endif()
-
-mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY)
diff --git a/share/cmake-3.6/Modules/FindTclStub.cmake b/share/cmake-3.6/Modules/FindTclStub.cmake
deleted file mode 100644
index 3c24f97..0000000
--- a/share/cmake-3.6/Modules/FindTclStub.cmake
+++ /dev/null
@@ -1,150 +0,0 @@
-#.rst:
-# FindTclStub
-# -----------
-#
-# TCL_STUB_LIBRARY_DEBUG and TK_STUB_LIBRARY_DEBUG were removed.
-#
-# This module finds Tcl stub libraries.  It first finds Tcl include
-# files and libraries by calling FindTCL.cmake.  How to Use the Tcl
-# Stubs Library:
-#
-# ::
-#
-#    http://tcl.activestate.com/doc/howto/stubs.html
-#
-# Using Stub Libraries:
-#
-# ::
-#
-#    http://safari.oreilly.com/0130385603/ch48lev1sec3
-#
-# This code sets the following variables:
-#
-# ::
-#
-#   TCL_STUB_LIBRARY       = path to Tcl stub library
-#   TK_STUB_LIBRARY        = path to Tk stub library
-#   TTK_STUB_LIBRARY       = path to ttk stub library
-#
-#
-#
-# In an effort to remove some clutter and clear up some issues for
-# people who are not necessarily Tcl/Tk gurus/developpers, some
-# variables were moved or removed.  Changes compared to CMake 2.4 are:
-#
-# ::
-#
-#    => these libs are not packaged by default with Tcl/Tk distributions.
-#       Even when Tcl/Tk is built from source, several flavors of debug libs
-#       are created and there is no real reason to pick a single one
-#       specifically (say, amongst tclstub84g, tclstub84gs, or tclstub84sgx).
-#       Let's leave that choice to the user by allowing him to assign
-#       TCL_STUB_LIBRARY to any Tcl library, debug or not.
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindTCL.cmake)
-
-get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
-get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
-
-get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
-get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
-
-get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-
-get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-
-get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-
-set(TCLTK_POSSIBLE_LIB_PATHS
-  "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
-  "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
-  "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
-)
-
-if(WIN32)
-  get_filename_component(
-    ActiveTcl_CurrentVersion
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
-    NAME)
-  set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
-    "$ENV{ProgramFiles}/Tcl/Lib"
-    "C:/Program Files/Tcl/lib"
-    "C:/Tcl/lib"
-    )
-endif()
-
-find_library(TCL_STUB_LIBRARY
-  NAMES
-  tclstub
-  tclstub${TK_LIBRARY_VERSION} tclstub${TCL_TCLSH_VERSION} tclstub${TK_WISH_VERSION}
-  tclstub86 tclstub8.6
-  tclstub85 tclstub8.5
-  tclstub84 tclstub8.4
-  tclstub83 tclstub8.3
-  tclstub82 tclstub8.2
-  tclstub80 tclstub8.0
-  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-)
-
-find_library(TK_STUB_LIBRARY
-  NAMES
-  tkstub
-  tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} tkstub${TK_WISH_VERSION}
-  tkstub86 tkstub8.6
-  tkstub85 tkstub8.5
-  tkstub84 tkstub8.4
-  tkstub83 tkstub8.3
-  tkstub82 tkstub8.2
-  tkstub80 tkstub8.0
-  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-)
-
-find_library(TTK_STUB_LIBRARY
-  NAMES
-  ttkstub
-  ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} ttkstub${TK_WISH_VERSION}
-  ttkstub88 ttkstub8.8
-  ttkstub87 ttkstub8.7
-  ttkstub86 ttkstub8.6
-  ttkstub85 ttkstub8.5
-  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
-)
-
-mark_as_advanced(
-  TCL_STUB_LIBRARY
-  TK_STUB_LIBRARY
-  )
diff --git a/share/cmake-3.6/Modules/FindTclsh.cmake b/share/cmake-3.6/Modules/FindTclsh.cmake
deleted file mode 100644
index 2fd5332..0000000
--- a/share/cmake-3.6/Modules/FindTclsh.cmake
+++ /dev/null
@@ -1,109 +0,0 @@
-#.rst:
-# FindTclsh
-# ---------
-#
-# Find tclsh
-#
-# This module finds if TCL is installed and determines where the include
-# files and libraries are.  It also determines what the name of the
-# library is.  This code sets the following variables:
-#
-# ::
-#
-#   TCLSH_FOUND = TRUE if tclsh has been found
-#   TCL_TCLSH = the path to the tclsh executable
-#
-# In cygwin, look for the cygwin version first.  Don't look for it later
-# to avoid finding the cygwin version on a Win32 build.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(CYGWIN)
-  find_program(TCL_TCLSH NAMES cygtclsh83 cygtclsh80)
-endif()
-
-get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
-get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
-
-get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-
-get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-
-get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-
-set(TCLTK_POSSIBLE_BIN_PATHS
-  "${TCL_INCLUDE_PATH_PARENT}/bin"
-  "${TK_INCLUDE_PATH_PARENT}/bin"
-  "${TCL_LIBRARY_PATH_PARENT}/bin"
-  "${TK_LIBRARY_PATH_PARENT}/bin"
-  "${TK_WISH_PATH_PARENT}/bin"
-  )
-
-if(WIN32)
-  get_filename_component(
-    ActiveTcl_CurrentVersion
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
-    NAME)
-  set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
-    )
-endif()
-
-set(TCL_TCLSH_NAMES
-  tclsh
-  tclsh${TCL_LIBRARY_VERSION} tclsh${TK_LIBRARY_VERSION} tclsh${TK_WISH_VERSION}
-  tclsh86 tclsh8.6
-  tclsh85 tclsh8.5
-  tclsh84 tclsh8.4
-  tclsh83 tclsh8.3
-  tclsh82 tclsh8.2
-  tclsh80 tclsh8.0
-  )
-
-find_program(TCL_TCLSH
-  NAMES ${TCL_TCLSH_NAMES}
-  HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
-  )
-
-if(TCL_TCLSH)
-   execute_process(COMMAND "${CMAKE_COMMAND}" -E echo puts "\$tcl_version"
-                   COMMAND "${TCL_TCLSH}"
-                   OUTPUT_VARIABLE TCLSH_VERSION_STRING
-                   ERROR_QUIET
-                   OUTPUT_STRIP_TRAILING_WHITESPACE)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Tclsh
-                                  REQUIRED_VARS TCL_TCLSH
-                                  VERSION_VAR TCLSH_VERSION_STRING)
-
-mark_as_advanced(TCL_TCLSH)
diff --git a/share/cmake-3.6/Modules/FindThreads.cmake b/share/cmake-3.6/Modules/FindThreads.cmake
deleted file mode 100644
index 719dace..0000000
--- a/share/cmake-3.6/Modules/FindThreads.cmake
+++ /dev/null
@@ -1,235 +0,0 @@
-#.rst:
-# FindThreads
-# -----------
-#
-# This module determines the thread library of the system.
-#
-# The following variables are set
-#
-# ::
-#
-#   CMAKE_THREAD_LIBS_INIT     - the thread library
-#   CMAKE_USE_SPROC_INIT       - are we using sproc?
-#   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
-#
-# The following import target is created
-#
-# ::
-#
-#   Threads::Threads
-#
-# For systems with multiple thread libraries, caller can set
-#
-# ::
-#
-#   CMAKE_THREAD_PREFER_PTHREAD
-#
-# If the use of the -pthread compiler and linker flag is preferred then the
-# caller can set
-#
-# ::
-#
-#   THREADS_PREFER_PTHREAD_FLAG
-#
-# Please note that 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.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-# Copyright 2011-2015 Rolf Eike Beer <eike@sf-mail.de>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include (CheckLibraryExists)
-include (CheckSymbolExists)
-set(Threads_FOUND FALSE)
-set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
-set(CMAKE_REQUIRED_QUIET ${Threads_FIND_QUIETLY})
-
-if(CMAKE_C_COMPILER_LOADED)
-  include (CheckIncludeFile)
-elseif(CMAKE_CXX_COMPILER_LOADED)
-  include (CheckIncludeFileCXX)
-else()
-  message(FATAL_ERROR "FindThreads only works if either C or CXX language is enabled")
-endif()
-
-# Do we have sproc?
-if(CMAKE_SYSTEM_NAME MATCHES IRIX AND NOT CMAKE_THREAD_PREFER_PTHREAD)
-  include (CheckIncludeFiles)
-  CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h"  CMAKE_HAVE_SPROC_H)
-endif()
-
-# Internal helper macro.
-# Do NOT even think about using it outside of this file!
-macro(_check_threads_lib LIBNAME FUNCNAME VARNAME)
-  if(NOT Threads_FOUND)
-     CHECK_LIBRARY_EXISTS(${LIBNAME} ${FUNCNAME} "" ${VARNAME})
-     if(${VARNAME})
-       set(CMAKE_THREAD_LIBS_INIT "-l${LIBNAME}")
-       set(CMAKE_HAVE_THREADS_LIBRARY 1)
-       set(Threads_FOUND TRUE)
-     endif()
-  endif ()
-endmacro()
-
-# Internal helper macro.
-# Do NOT even think about using it outside of this file!
-macro(_check_pthreads_flag)
-  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")
-      if(CMAKE_C_COMPILER_LOADED)
-        set(_threads_src ${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c)
-      elseif(CMAKE_CXX_COMPILER_LOADED)
-        set(_threads_src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindThreads/CheckForPthreads.cxx)
-        configure_file(${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c "${_threads_src}" COPYONLY)
-      endif()
-      try_run(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
-        ${CMAKE_BINARY_DIR}
-        ${_threads_src}
-        CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
-        COMPILE_OUTPUT_VARIABLE OUTPUT)
-      unset(_threads_src)
-
-      if(THREADS_HAVE_PTHREAD_ARG)
-        if(THREADS_PTHREAD_ARG STREQUAL "2")
-          set(Threads_FOUND TRUE)
-          message(STATUS "Check if compiler accepts -pthread - yes")
-        else()
-          message(STATUS "Check if compiler accepts -pthread - no")
-          file(APPEND
-            ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-            "Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n")
-        endif()
-      else()
-        message(STATUS "Check if compiler accepts -pthread - 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")
-      endif()
-
-    endif()
-
-    if(THREADS_HAVE_PTHREAD_ARG)
-      set(Threads_FOUND TRUE)
-      set(CMAKE_THREAD_LIBS_INIT "-pthread")
-    endif()
-  endif()
-endmacro()
-
-if(CMAKE_HAVE_SPROC_H AND NOT CMAKE_THREAD_PREFER_PTHREAD)
-  # We have sproc
-  set(CMAKE_USE_SPROC_INIT 1)
-else()
-  # Do we have pthreads?
-  if(CMAKE_C_COMPILER_LOADED)
-    CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
-  else()
-    CHECK_INCLUDE_FILE_CXX("pthread.h" CMAKE_HAVE_PTHREAD_H)
-  endif()
-  if(CMAKE_HAVE_PTHREAD_H)
-
-    #
-    # We have pthread.h
-    # Let's check for the library now.
-    #
-    set(CMAKE_HAVE_THREADS_LIBRARY)
-    if(NOT THREADS_HAVE_PTHREAD_ARG)
-      # Check if pthread functions are in normal C library
-      CHECK_SYMBOL_EXISTS(pthread_create pthread.h CMAKE_HAVE_LIBC_CREATE)
-      if(CMAKE_HAVE_LIBC_CREATE)
-        set(CMAKE_THREAD_LIBS_INIT "")
-        set(CMAKE_HAVE_THREADS_LIBRARY 1)
-        set(Threads_FOUND TRUE)
-      else()
-
-        # Check for -pthread first if enabled. This is the recommended
-        # way, but not backwards compatible as one must also pass -pthread
-        # as compiler flag then.
-        if (THREADS_PREFER_PTHREAD_FLAG)
-           _check_pthreads_flag()
-        endif ()
-
-        _check_threads_lib(pthreads pthread_create CMAKE_HAVE_PTHREADS_CREATE)
-        _check_threads_lib(pthread  pthread_create CMAKE_HAVE_PTHREAD_CREATE)
-        if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
-            # On sun also check for -lthread
-            _check_threads_lib(thread thr_create CMAKE_HAVE_THR_CREATE)
-        endif()
-      endif()
-    endif()
-
-    _check_pthreads_flag()
-  endif()
-endif()
-
-if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE)
-  set(CMAKE_USE_PTHREADS_INIT 1)
-  set(Threads_FOUND TRUE)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "Windows")
-  set(CMAKE_USE_WIN32_THREADS_INIT 1)
-  set(Threads_FOUND TRUE)
-endif()
-
-if(CMAKE_USE_PTHREADS_INIT)
-  if(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
-    # Use libcma if it exists and can be used.  It provides more
-    # symbols than the plain pthread library.  CMA threads
-    # have actually been deprecated:
-    #   http://docs.hp.com/en/B3920-90091/ch12s03.html#d0e11395
-    #   http://docs.hp.com/en/947/d8.html
-    # but we need to maintain compatibility here.
-    # The CMAKE_HP_PTHREADS setting actually indicates whether CMA threads
-    # are available.
-    CHECK_LIBRARY_EXISTS(cma pthread_attr_create "" CMAKE_HAVE_HP_CMA)
-    if(CMAKE_HAVE_HP_CMA)
-      set(CMAKE_THREAD_LIBS_INIT "-lcma")
-      set(CMAKE_HP_PTHREADS_INIT 1)
-      set(Threads_FOUND TRUE)
-    endif()
-    set(CMAKE_USE_PTHREADS_INIT 1)
-  endif()
-
-  if(CMAKE_SYSTEM MATCHES "OSF1-V")
-    set(CMAKE_USE_PTHREADS_INIT 0)
-    set(CMAKE_THREAD_LIBS_INIT )
-  endif()
-
-  if(CMAKE_SYSTEM MATCHES "CYGWIN_NT")
-    set(CMAKE_USE_PTHREADS_INIT 1)
-    set(Threads_FOUND TRUE)
-    set(CMAKE_THREAD_LIBS_INIT )
-    set(CMAKE_USE_WIN32_THREADS_INIT 0)
-  endif()
-endif()
-
-set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND)
-
-if(THREADS_FOUND AND NOT TARGET Threads::Threads)
-  add_library(Threads::Threads INTERFACE IMPORTED)
-
-  if(THREADS_HAVE_PTHREAD_ARG)
-    set_property(TARGET Threads::Threads PROPERTY INTERFACE_COMPILE_OPTIONS "-pthread")
-  endif()
-
-  if(CMAKE_THREAD_LIBS_INIT)
-    set_property(TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindUnixCommands.cmake b/share/cmake-3.6/Modules/FindUnixCommands.cmake
deleted file mode 100644
index 869ba38..0000000
--- a/share/cmake-3.6/Modules/FindUnixCommands.cmake
+++ /dev/null
@@ -1,103 +0,0 @@
-#.rst:
-# FindUnixCommands
-# ----------------
-#
-# Find Unix commands, including the ones from Cygwin
-#
-# This module looks for the Unix commands bash, cp, gzip, mv, rm, and tar
-# and stores the result in the variables BASH, CP, GZIP, MV, RM, and TAR.
-
-#=============================================================================
-# Copyright 2001-2014 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
-
-find_program(BASH
-  bash
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-mark_as_advanced(
-  BASH
-)
-
-find_program(CP
-  cp
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-mark_as_advanced(
-  CP
-)
-
-find_program(GZIP
-  gzip
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-mark_as_advanced(
-  GZIP
-)
-
-find_program(MV
-  mv
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-mark_as_advanced(
-  MV
-)
-
-find_program(RM
-  rm
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-mark_as_advanced(
-  RM
-)
-
-find_program(TAR
-  NAMES
-  tar
-  gtar
-  PATH
-  ${CYGWIN_INSTALL_PATH}/bin
-  /bin
-  /usr/bin
-  /usr/local/bin
-  /sbin
-)
-mark_as_advanced(
-  TAR
-)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(UnixCommands
-  REQUIRED_VARS BASH CP GZIP MV RM TAR
-)
diff --git a/share/cmake-3.6/Modules/FindWget.cmake b/share/cmake-3.6/Modules/FindWget.cmake
deleted file mode 100644
index b303b40..0000000
--- a/share/cmake-3.6/Modules/FindWget.cmake
+++ /dev/null
@@ -1,43 +0,0 @@
-#.rst:
-# FindWget
-# --------
-#
-# Find wget
-#
-# This module looks for wget.  This module defines the following values:
-#
-# ::
-#
-#   WGET_EXECUTABLE: the full path to the wget tool.
-#   WGET_FOUND: True if wget has been found.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
-
-find_program(WGET_EXECUTABLE
-  wget
-  ${CYGWIN_INSTALL_PATH}/bin
-)
-
-# handle the QUIETLY and REQUIRED arguments and set WGET_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Wget DEFAULT_MSG WGET_EXECUTABLE)
-
-mark_as_advanced( WGET_EXECUTABLE )
-
-# WGET option is deprecated.
-# use WGET_EXECUTABLE instead.
-set (WGET ${WGET_EXECUTABLE} )
diff --git a/share/cmake-3.6/Modules/FindWish.cmake b/share/cmake-3.6/Modules/FindWish.cmake
deleted file mode 100644
index df301b4..0000000
--- a/share/cmake-3.6/Modules/FindWish.cmake
+++ /dev/null
@@ -1,94 +0,0 @@
-#.rst:
-# FindWish
-# --------
-#
-# Find wish installation
-#
-# This module finds if TCL is installed and determines where the include
-# files and libraries are.  It also determines what the name of the
-# library is.  This code sets the following variables:
-#
-# ::
-#
-#   TK_WISH = the path to the wish executable
-#
-#
-#
-# if UNIX is defined, then it will look for the cygwin version first
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(UNIX)
-  find_program(TK_WISH cygwish80 )
-endif()
-
-get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
-get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
-
-get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-
-get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-
-get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-
-set(TCLTK_POSSIBLE_BIN_PATHS
-  "${TCL_INCLUDE_PATH_PARENT}/bin"
-  "${TK_INCLUDE_PATH_PARENT}/bin"
-  "${TCL_LIBRARY_PATH_PARENT}/bin"
-  "${TK_LIBRARY_PATH_PARENT}/bin"
-  "${TCL_TCLSH_PATH_PARENT}/bin"
-  )
-
-if(WIN32)
-  get_filename_component(
-    ActiveTcl_CurrentVersion
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
-    NAME)
-  set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
-    )
-endif()
-
-set(TK_WISH_NAMES
-  wish
-  wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
-  wish86 wish8.6
-  wish85 wish8.5
-  wish84 wish8.4
-  wish83 wish8.3
-  wish82 wish8.2
-  wish80 wish8.0
-  )
-
-find_program(TK_WISH
-  NAMES ${TK_WISH_NAMES}
-  HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
-  )
-
-mark_as_advanced(TK_WISH)
diff --git a/share/cmake-3.6/Modules/FindX11.cmake b/share/cmake-3.6/Modules/FindX11.cmake
deleted file mode 100644
index 90c1499..0000000
--- a/share/cmake-3.6/Modules/FindX11.cmake
+++ /dev/null
@@ -1,512 +0,0 @@
-#.rst:
-# FindX11
-# -------
-#
-# Find X11 installation
-#
-# Try to find X11 on UNIX systems. The following values are defined
-#
-# ::
-#
-#   X11_FOUND        - True if X11 is available
-#   X11_INCLUDE_DIR  - include directories to use X11
-#   X11_LIBRARIES    - link against these to use X11
-#
-# and also the following more fine grained variables:
-#
-# ::
-#
-#   X11_ICE_INCLUDE_PATH,          X11_ICE_LIB,        X11_ICE_FOUND
-#   X11_SM_INCLUDE_PATH,           X11_SM_LIB,         X11_SM_FOUND
-#   X11_X11_INCLUDE_PATH,          X11_X11_LIB
-#   X11_Xaccessrules_INCLUDE_PATH,                     X11_Xaccess_FOUND
-#   X11_Xaccessstr_INCLUDE_PATH,                       X11_Xaccess_FOUND
-#   X11_Xau_INCLUDE_PATH,          X11_Xau_LIB,        X11_Xau_FOUND
-#   X11_Xcomposite_INCLUDE_PATH,   X11_Xcomposite_LIB, X11_Xcomposite_FOUND
-#   X11_Xcursor_INCLUDE_PATH,      X11_Xcursor_LIB,    X11_Xcursor_FOUND
-#   X11_Xdamage_INCLUDE_PATH,      X11_Xdamage_LIB,    X11_Xdamage_FOUND
-#   X11_Xdmcp_INCLUDE_PATH,        X11_Xdmcp_LIB,      X11_Xdmcp_FOUND
-#   X11_Xext_LIB,       X11_Xext_FOUND
-#   X11_dpms_INCLUDE_PATH,         (in X11_Xext_LIB),  X11_dpms_FOUND
-#   X11_XShm_INCLUDE_PATH,         (in X11_Xext_LIB),  X11_XShm_FOUND
-#   X11_Xshape_INCLUDE_PATH,       (in X11_Xext_LIB),  X11_Xshape_FOUND
-#   X11_xf86misc_INCLUDE_PATH,     X11_Xxf86misc_LIB,  X11_xf86misc_FOUND
-#   X11_xf86vmode_INCLUDE_PATH,    X11_Xxf86vm_LIB     X11_xf86vmode_FOUND
-#   X11_Xfixes_INCLUDE_PATH,       X11_Xfixes_LIB,     X11_Xfixes_FOUND
-#   X11_Xft_INCLUDE_PATH,          X11_Xft_LIB,        X11_Xft_FOUND
-#   X11_Xi_INCLUDE_PATH,           X11_Xi_LIB,         X11_Xi_FOUND
-#   X11_Xinerama_INCLUDE_PATH,     X11_Xinerama_LIB,   X11_Xinerama_FOUND
-#   X11_Xinput_INCLUDE_PATH,       X11_Xinput_LIB,     X11_Xinput_FOUND
-#   X11_Xkb_INCLUDE_PATH,                              X11_Xkb_FOUND
-#   X11_Xkblib_INCLUDE_PATH,                           X11_Xkb_FOUND
-#   X11_Xkbfile_INCLUDE_PATH,      X11_Xkbfile_LIB,    X11_Xkbfile_FOUND
-#   X11_Xmu_INCLUDE_PATH,          X11_Xmu_LIB,        X11_Xmu_FOUND
-#   X11_Xpm_INCLUDE_PATH,          X11_Xpm_LIB,        X11_Xpm_FOUND
-#   X11_XTest_INCLUDE_PATH,        X11_XTest_LIB,      X11_XTest_FOUND
-#   X11_Xrandr_INCLUDE_PATH,       X11_Xrandr_LIB,     X11_Xrandr_FOUND
-#   X11_Xrender_INCLUDE_PATH,      X11_Xrender_LIB,    X11_Xrender_FOUND
-#   X11_Xscreensaver_INCLUDE_PATH, X11_Xscreensaver_LIB, X11_Xscreensaver_FOUND
-#   X11_Xt_INCLUDE_PATH,           X11_Xt_LIB,         X11_Xt_FOUND
-#   X11_Xutil_INCLUDE_PATH,                            X11_Xutil_FOUND
-#   X11_Xv_INCLUDE_PATH,           X11_Xv_LIB,         X11_Xv_FOUND
-#   X11_XSync_INCLUDE_PATH,        (in X11_Xext_LIB),  X11_XSync_FOUND
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (UNIX)
-  set(X11_FOUND 0)
-  # X11 is never a framework and some header files may be
-  # found in tcl on the mac
-  set(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
-  set(CMAKE_FIND_FRAMEWORK NEVER)
-  set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
-  set(CMAKE_REQUIRED_QUIET ${X11_FIND_QUIETLY})
-  set(X11_INC_SEARCH_PATH
-    /usr/pkg/xorg/include
-    /usr/X11R6/include
-    /usr/X11R7/include
-    /usr/include/X11
-    /usr/openwin/include
-    /usr/openwin/share/include
-    /opt/graphics/OpenGL/include
-    /opt/X11/include
-  )
-
-  set(X11_LIB_SEARCH_PATH
-    /usr/pkg/xorg/lib
-    /usr/X11R6/lib
-    /usr/X11R7/lib
-    /usr/openwin/lib
-    /opt/X11/lib
-  )
-
-  find_path(X11_X11_INCLUDE_PATH X11/X.h                             ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xlib_INCLUDE_PATH X11/Xlib.h                         ${X11_INC_SEARCH_PATH})
-
-  # Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
-  # variable (which doesn't need to match the include file name).
-
-  # Solaris lacks XKBrules.h, so we should skip kxkbd there.
-  find_path(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h                       ${X11_INC_SEARCH_PATH})
-  find_path(X11_SM_INCLUDE_PATH X11/SM/SM.h                          ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h  ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h      ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xau_INCLUDE_PATH X11/Xauth.h                         ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h  ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h           ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h        ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h                       ${X11_INC_SEARCH_PATH})
-  find_path(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h              ${X11_INC_SEARCH_PATH})
-  find_path(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h      ${X11_INC_SEARCH_PATH})
-  find_path(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h    ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h          ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h                       ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h              ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h      ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h          ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h                ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h                     ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xkbfile_INCLUDE_PATH X11/extensions/XKBfile.h        ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xmu_INCLUDE_PATH X11/Xmu/Xmu.h                       ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xpm_INCLUDE_PATH X11/xpm.h                           ${X11_INC_SEARCH_PATH})
-  find_path(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h            ${X11_INC_SEARCH_PATH})
-  find_path(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h              ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h          ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h        ${X11_INC_SEARCH_PATH})
-  find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h              ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h           ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xutil_INCLUDE_PATH X11/Xutil.h                       ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xt_INCLUDE_PATH X11/Intrinsic.h                      ${X11_INC_SEARCH_PATH})
-  find_path(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h               ${X11_INC_SEARCH_PATH})
-  find_path(X11_XSync_INCLUDE_PATH X11/extensions/sync.h             ${X11_INC_SEARCH_PATH})
-
-
-  find_library(X11_X11_LIB X11               ${X11_LIB_SEARCH_PATH})
-
-  # Find additional X libraries. Keep list sorted by library name.
-  find_library(X11_ICE_LIB ICE               ${X11_LIB_SEARCH_PATH})
-  find_library(X11_SM_LIB SM                 ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xau_LIB Xau               ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xcursor_LIB Xcursor       ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xdamage_LIB Xdamage       ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xdmcp_LIB Xdmcp           ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xext_LIB Xext             ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xfixes_LIB Xfixes         ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xft_LIB Xft               ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xi_LIB Xi                 ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xinerama_LIB Xinerama     ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xinput_LIB Xi             ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xkbfile_LIB xkbfile       ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xmu_LIB Xmu               ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xpm_LIB Xpm               ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xrandr_LIB Xrandr         ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xrender_LIB Xrender       ${X11_LIB_SEARCH_PATH})
-  find_library(X11_XRes_LIB XRes             ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xscreensaver_LIB Xss      ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xt_LIB Xt                 ${X11_LIB_SEARCH_PATH})
-  find_library(X11_XTest_LIB Xtst            ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xv_LIB Xv                 ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xxf86misc_LIB Xxf86misc   ${X11_LIB_SEARCH_PATH})
-  find_library(X11_Xxf86vm_LIB Xxf86vm       ${X11_LIB_SEARCH_PATH})
-
-  set(X11_LIBRARY_DIR "")
-  if(X11_X11_LIB)
-    get_filename_component(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
-  endif()
-
-  set(X11_INCLUDE_DIR) # start with empty list
-  if(X11_X11_INCLUDE_PATH)
-    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_X11_INCLUDE_PATH})
-  endif()
-
-  if(X11_Xlib_INCLUDE_PATH)
-    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xlib_INCLUDE_PATH})
-  endif()
-
-  if(X11_Xutil_INCLUDE_PATH)
-    set(X11_Xutil_FOUND TRUE)
-    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xutil_INCLUDE_PATH})
-  endif()
-
-  if(X11_Xshape_INCLUDE_PATH)
-    set(X11_Xshape_FOUND TRUE)
-    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xshape_INCLUDE_PATH})
-  endif()
-
-  set(X11_LIBRARIES) # start with empty list
-  if(X11_X11_LIB)
-    set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_X11_LIB})
-  endif()
-
-  if(X11_Xext_LIB)
-    set(X11_Xext_FOUND TRUE)
-    set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xext_LIB})
-  endif()
-
-  if(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
-    set(X11_Xt_FOUND TRUE)
-  endif()
-
-  if(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
-    set(X11_Xft_FOUND TRUE)
-    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xft_INCLUDE_PATH})
-  endif()
-
-  if(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
-    set(X11_Xv_FOUND TRUE)
-    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xv_INCLUDE_PATH})
-  endif()
-
-  if (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
-    set(X11_Xau_FOUND TRUE)
-  endif ()
-
-  if (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
-      set(X11_Xdmcp_FOUND TRUE)
-      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdmcp_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
-      set(X11_Xaccess_FOUND TRUE)
-      set(X11_Xaccess_INCLUDE_PATH ${X11_Xaccessstr_INCLUDE_PATH})
-      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xaccess_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
-      set(X11_Xpm_FOUND TRUE)
-      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xpm_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
-     set(X11_Xcomposite_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcomposite_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
-     set(X11_Xdamage_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdamage_INCLUDE_PATH})
-  endif ()
-
-  if (X11_XShm_INCLUDE_PATH)
-     set(X11_XShm_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XShm_INCLUDE_PATH})
-  endif ()
-
-  if (X11_XTest_INCLUDE_PATH AND X11_XTest_LIB)
-      set(X11_XTest_FOUND TRUE)
-      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XTest_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
-     set(X11_Xi_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xi_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
-     set(X11_Xinerama_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinerama_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
-     set(X11_Xfixes_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xfixes_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
-     set(X11_Xrender_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrender_INCLUDE_PATH})
-  endif ()
-
-  if (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
-     set(X11_XRes_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XRes_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
-     set(X11_Xrandr_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH})
-  endif ()
-
-  if (X11_xf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
-     set(X11_xf86misc_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86misc_INCLUDE_PATH})
-  endif ()
-
-  if (X11_xf86vmode_INCLUDE_PATH AND X11_Xxf86vm_LIB)
-     set(X11_xf86vmode_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86vmode_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
-     set(X11_Xcursor_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcursor_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xscreensaver_INCLUDE_PATH AND X11_Xscreensaver_LIB)
-     set(X11_Xscreensaver_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xscreensaver_INCLUDE_PATH})
-  endif ()
-
-  if (X11_dpms_INCLUDE_PATH)
-     set(X11_dpms_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_dpms_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
-     set(X11_Xkb_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkb_INCLUDE_PATH} )
-  endif ()
-
-  if (X11_Xkbfile_INCLUDE_PATH AND X11_Xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
-     set(X11_Xkbfile_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkbfile_INCLUDE_PATH} )
-  endif ()
-
-  if (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
-     set(X11_Xmu_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xmu_INCLUDE_PATH})
-  endif ()
-
-  if (X11_Xinput_INCLUDE_PATH AND X11_Xinput_LIB)
-     set(X11_Xinput_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinput_INCLUDE_PATH})
-  endif ()
-
-  if (X11_XSync_INCLUDE_PATH)
-     set(X11_XSync_FOUND TRUE)
-     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XSync_INCLUDE_PATH})
-  endif ()
-
-  if(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
-     set(X11_ICE_FOUND TRUE)
-  endif()
-
-  if(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
-     set(X11_SM_FOUND TRUE)
-  endif()
-
-  # Most of the X11 headers will be in the same directories, avoid
-  # creating a huge list of duplicates.
-  if (X11_INCLUDE_DIR)
-     list(REMOVE_DUPLICATES X11_INCLUDE_DIR)
-  endif ()
-
-  # Deprecated variable for backwards compatibility with CMake 1.4
-  if (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
-    set(X11_FOUND 1)
-  endif ()
-
-  if(X11_FOUND)
-    include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
-    include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
-
-    # Translated from an autoconf-generated configure script.
-    # See libs.m4 in autoconf's m4 directory.
-    if($ENV{ISC} MATCHES "^yes$")
-      set(X11_X_EXTRA_LIBS -lnsl_s -linet)
-    else()
-      set(X11_X_EXTRA_LIBS "")
-
-      # See if XOpenDisplay in X11 works by itself.
-      CHECK_LIBRARY_EXISTS("${X11_LIBRARIES}" "XOpenDisplay" "${X11_LIBRARY_DIR}" X11_LIB_X11_SOLO)
-      if(NOT X11_LIB_X11_SOLO)
-        # Find library needed for dnet_ntoa.
-        CHECK_LIBRARY_EXISTS("dnet" "dnet_ntoa" "" X11_LIB_DNET_HAS_DNET_NTOA)
-        if (X11_LIB_DNET_HAS_DNET_NTOA)
-          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet)
-        else ()
-          CHECK_LIBRARY_EXISTS("dnet_stub" "dnet_ntoa" "" X11_LIB_DNET_STUB_HAS_DNET_NTOA)
-          if (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
-            set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet_stub)
-          endif ()
-        endif ()
-      endif()
-
-      # Find library needed for gethostbyname.
-      CHECK_FUNCTION_EXISTS("gethostbyname" CMAKE_HAVE_GETHOSTBYNAME)
-      if(NOT CMAKE_HAVE_GETHOSTBYNAME)
-        CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
-        if (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
-          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lnsl)
-        else ()
-          CHECK_LIBRARY_EXISTS("bsd" "gethostbyname" "" CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
-          if (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
-            set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lbsd)
-          endif ()
-        endif ()
-      endif()
-
-      # Find library needed for connect.
-      CHECK_FUNCTION_EXISTS("connect" CMAKE_HAVE_CONNECT)
-      if(NOT CMAKE_HAVE_CONNECT)
-        CHECK_LIBRARY_EXISTS("socket" "connect" "" CMAKE_LIB_SOCKET_HAS_CONNECT)
-        if (CMAKE_LIB_SOCKET_HAS_CONNECT)
-          set (X11_X_EXTRA_LIBS -lsocket ${X11_X_EXTRA_LIBS})
-        endif ()
-      endif()
-
-      # Find library needed for remove.
-      CHECK_FUNCTION_EXISTS("remove" CMAKE_HAVE_REMOVE)
-      if(NOT CMAKE_HAVE_REMOVE)
-        CHECK_LIBRARY_EXISTS("posix" "remove" "" CMAKE_LIB_POSIX_HAS_REMOVE)
-        if (CMAKE_LIB_POSIX_HAS_REMOVE)
-          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lposix)
-        endif ()
-      endif()
-
-      # Find library needed for shmat.
-      CHECK_FUNCTION_EXISTS("shmat" CMAKE_HAVE_SHMAT)
-      if(NOT CMAKE_HAVE_SHMAT)
-        CHECK_LIBRARY_EXISTS("ipc" "shmat" "" CMAKE_LIB_IPS_HAS_SHMAT)
-        if (CMAKE_LIB_IPS_HAS_SHMAT)
-          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lipc)
-        endif ()
-      endif()
-    endif()
-
-    if (X11_ICE_FOUND)
-      CHECK_LIBRARY_EXISTS("ICE" "IceConnectionNumber" "${X11_LIBRARY_DIR}"
-                            CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
-      if(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
-        set (X11_X_PRE_LIBS ${X11_ICE_LIB})
-        if(X11_SM_LIB)
-          set (X11_X_PRE_LIBS ${X11_SM_LIB} ${X11_X_PRE_LIBS})
-        endif()
-      endif()
-    endif ()
-
-    # Build the final list of libraries.
-    set(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
-
-    include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
-    FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
-      "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
-  else ()
-    if (X11_FIND_REQUIRED)
-      message(FATAL_ERROR "Could not find X11")
-    endif ()
-  endif ()
-
-  mark_as_advanced(
-    X11_X11_INCLUDE_PATH
-    X11_X11_LIB
-    X11_Xext_LIB
-    X11_Xau_LIB
-    X11_Xau_INCLUDE_PATH
-    X11_Xlib_INCLUDE_PATH
-    X11_Xutil_INCLUDE_PATH
-    X11_Xcomposite_INCLUDE_PATH
-    X11_Xcomposite_LIB
-    X11_Xaccess_INCLUDE_PATH
-    X11_Xfixes_LIB
-    X11_Xfixes_INCLUDE_PATH
-    X11_Xrandr_LIB
-    X11_Xrandr_INCLUDE_PATH
-    X11_Xdamage_LIB
-    X11_Xdamage_INCLUDE_PATH
-    X11_Xrender_LIB
-    X11_Xrender_INCLUDE_PATH
-    X11_XRes_LIB
-    X11_XRes_INCLUDE_PATH
-    X11_Xxf86misc_LIB
-    X11_xf86misc_INCLUDE_PATH
-    X11_Xxf86vm_LIB
-    X11_xf86vmode_INCLUDE_PATH
-    X11_Xi_LIB
-    X11_Xi_INCLUDE_PATH
-    X11_Xinerama_LIB
-    X11_Xinerama_INCLUDE_PATH
-    X11_XTest_LIB
-    X11_XTest_INCLUDE_PATH
-    X11_Xcursor_LIB
-    X11_Xcursor_INCLUDE_PATH
-    X11_dpms_INCLUDE_PATH
-    X11_Xt_LIB
-    X11_Xt_INCLUDE_PATH
-    X11_Xdmcp_LIB
-    X11_LIBRARIES
-    X11_Xaccessrules_INCLUDE_PATH
-    X11_Xaccessstr_INCLUDE_PATH
-    X11_Xdmcp_INCLUDE_PATH
-    X11_Xkb_INCLUDE_PATH
-    X11_Xkblib_INCLUDE_PATH
-    X11_Xkbfile_INCLUDE_PATH
-    X11_Xkbfile_LIB
-    X11_Xmu_INCLUDE_PATH
-    X11_Xmu_LIB
-    X11_Xscreensaver_INCLUDE_PATH
-    X11_Xscreensaver_LIB
-    X11_Xpm_INCLUDE_PATH
-    X11_Xpm_LIB
-    X11_Xinput_LIB
-    X11_Xinput_INCLUDE_PATH
-    X11_Xft_LIB
-    X11_Xft_INCLUDE_PATH
-    X11_Xshape_INCLUDE_PATH
-    X11_Xv_LIB
-    X11_Xv_INCLUDE_PATH
-    X11_XShm_INCLUDE_PATH
-    X11_ICE_LIB
-    X11_ICE_INCLUDE_PATH
-    X11_SM_LIB
-    X11_SM_INCLUDE_PATH
-    X11_XSync_INCLUDE_PATH
-  )
-  set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
-  set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
-endif ()
-
-# X11_FIND_REQUIRED_<component> could be checked too
diff --git a/share/cmake-3.6/Modules/FindXCTest.cmake b/share/cmake-3.6/Modules/FindXCTest.cmake
deleted file mode 100644
index 805a58c..0000000
--- a/share/cmake-3.6/Modules/FindXCTest.cmake
+++ /dev/null
@@ -1,200 +0,0 @@
-#[=======================================================================[.rst:
-FindXCTest
-----------
-
-Functions to help creating and executing XCTest bundles.
-
-An XCTest bundle is a CFBundle with a special product-type
-and bundle extension. The Mac Developer Library provides more
-information in the `Testing with Xcode`_ document.
-
-.. _Testing with Xcode: http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/
-
-Module Functions
-^^^^^^^^^^^^^^^^
-
-.. command:: xctest_add_bundle
-
-  The ``xctest_add_bundle`` function creates a XCTest bundle named
-  <target> which will test the target <testee>. Supported target types
-  for testee are Frameworks and App Bundles::
-
-    xctest_add_bundle(
-      <target>  # Name of the XCTest bundle
-      <testee>  # Target name of the testee
-      )
-
-.. command:: xctest_add_test
-
-  The ``xctest_add_test`` function adds an XCTest bundle to the
-  project to be run by :manual:`ctest(1)`. The test will be named
-  <name> and tests <bundle>::
-
-    xctest_add_test(
-      <name>    # Test name
-      <bundle>  # Target name of XCTest bundle
-      )
-
-Module Variables
-^^^^^^^^^^^^^^^^
-
-The following variables are set by including this module:
-
-.. variable:: XCTest_FOUND
-
-  True if the XCTest Framework and executable were found.
-
-.. variable:: XCTest_EXECUTABLE
-
-  The path to the xctest command line tool used to execute XCTest bundles.
-
-.. variable:: XCTest_INCLUDE_DIRS
-
-  The directory containing the XCTest Framework headers.
-
-.. variable:: XCTest_LIBRARIES
-
-  The location of the XCTest Framework.
-
-#]=======================================================================]
-
-#=============================================================================
-# Copyright 2015 Gregor Jasny
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_path(XCTest_INCLUDE_DIR
-  NAMES "XCTest/XCTest.h"
-  DOC "XCTest include directory")
-mark_as_advanced(XCTest_INCLUDE_DIR)
-
-find_library(XCTest_LIBRARY
-  NAMES XCTest
-  DOC "XCTest Framework library")
-mark_as_advanced(XCTest_LIBRARY)
-
-execute_process(
-  COMMAND xcrun --find xctest
-  OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
-  ERROR_VARIABLE _xcrun_err)
-if(_xcrun_out)
-  set(XCTest_EXECUTABLE "${_xcrun_out}" CACHE FILEPATH "XCTest executable")
-  mark_as_advanced(XCTest_EXECUTABLE)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(XCTest
-  FOUND_VAR XCTest_FOUND
-  REQUIRED_VARS XCTest_LIBRARY XCTest_INCLUDE_DIR XCTest_EXECUTABLE)
-
-if(XCTest_FOUND)
-  set(XCTest_INCLUDE_DIRS "${XCTest_INCLUDE_DIR}")
-  set(XCTest_LIBRARIES "${XCTest_LIBRARY}")
-endif(XCTest_FOUND)
-
-
-function(xctest_add_bundle target testee)
-  if(NOT XCTest_FOUND)
-    message(FATAL_ERROR "XCTest is required to create a XCTest Bundle.")
-  endif(NOT XCTest_FOUND)
-
-  if(NOT CMAKE_OSX_SYSROOT)
-    message(FATAL_ERROR "Adding XCTest bundles requires CMAKE_OSX_SYSROOT to be set.")
-  endif()
-
-  add_library(${target} MODULE ${ARGN})
-
-  set_target_properties(${target} PROPERTIES
-    BUNDLE TRUE
-    XCTEST TRUE
-    XCTEST_TESTEE ${testee})
-
-  target_link_libraries(${target} PRIVATE "-framework Foundation")
-  target_link_libraries(${target} PRIVATE ${XCTest_LIBRARIES})
-  target_include_directories(${target} PRIVATE ${XCTest_INCLUDE_DIRS})
-
-  # retrieve testee target type
-  if(NOT TARGET ${testee})
-    message(FATAL_ERROR "${testee} is not a target.")
-  endif()
-  get_property(_testee_type TARGET ${testee} PROPERTY TYPE)
-  get_property(_testee_framework TARGET ${testee} PROPERTY FRAMEWORK)
-  get_property(_testee_macosx_bundle TARGET ${testee} PROPERTY MACOSX_BUNDLE)
-
-  if(_testee_type STREQUAL "SHARED_LIBRARY" AND _testee_framework)
-    # testee is a Framework
-    target_link_libraries(${target} PRIVATE ${testee})
-
-  elseif(_testee_type STREQUAL "EXECUTABLE" AND _testee_macosx_bundle)
-    # testee is an App Bundle
-    add_dependencies(${target} ${testee})
-    if(XCODE)
-      set_target_properties(${target} PROPERTIES
-        XCODE_ATTRIBUTE_BUNDLE_LOADER "$(TEST_HOST)"
-        XCODE_ATTRIBUTE_TEST_HOST "$<TARGET_FILE:${testee}>")
-      if(NOT XCODE_VERSION VERSION_LESS 7.3)
-        set_target_properties(${target} PROPERTIES
-          LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:${testee}>/../PlugIns")
-      endif()
-    else(XCODE)
-      target_link_libraries(${target}
-        PRIVATE -bundle_loader $<TARGET_FILE:${testee}>)
-    endif(XCODE)
-
-  else()
-    message(FATAL_ERROR "Testee ${testee} is of unsupported type.")
-  endif()
-endfunction(xctest_add_bundle)
-
-
-function(xctest_add_test name bundle)
-  if(NOT XCTest_EXECUTABLE)
-    message(FATAL_ERROR "XCTest executable is required to register a test.")
-  endif()
-
-  # check that bundle is a XCTest Bundle
-
-  if(NOT TARGET ${bundle})
-    message(FATAL_ERROR "${bundle} is not a target.")
-  endif(NOT TARGET ${bundle})
-
-  get_property(_test_type TARGET ${bundle} PROPERTY TYPE)
-  get_property(_test_bundle TARGET ${bundle} PROPERTY BUNDLE)
-  get_property(_test_xctest TARGET ${bundle} PROPERTY XCTEST)
-
-  if(NOT _test_type STREQUAL "MODULE_LIBRARY"
-       OR NOT _test_xctest OR NOT _test_bundle)
-    message(FATAL_ERROR "Test ${bundle} is not an XCTest Bundle")
-  endif()
-
-  # get and check testee properties
-
-  get_property(_testee TARGET ${bundle} PROPERTY XCTEST_TESTEE)
-  if(NOT TARGET ${_testee})
-    message(FATAL_ERROR "${_testee} is not a target.")
-  endif()
-
-  get_property(_testee_type TARGET ${_testee} PROPERTY TYPE)
-  get_property(_testee_framework TARGET ${_testee} PROPERTY FRAMEWORK)
-
-  # register test
-
-  add_test(
-    NAME ${name}
-    COMMAND ${XCTest_EXECUTABLE} $<TARGET_LINKER_FILE_DIR:${bundle}>/../..)
-
-  # point loader to testee in case rpath is disabled
-
-  if(_testee_type STREQUAL "SHARED_LIBRARY" AND _testee_framework)
-    set_property(TEST ${name} APPEND PROPERTY
-      ENVIRONMENT DYLD_FRAMEWORK_PATH=$<TARGET_LINKER_FILE_DIR:${_testee}>/..)
-  endif()
-endfunction(xctest_add_test)
diff --git a/share/cmake-3.6/Modules/FindXMLRPC.cmake b/share/cmake-3.6/Modules/FindXMLRPC.cmake
deleted file mode 100644
index 1491754..0000000
--- a/share/cmake-3.6/Modules/FindXMLRPC.cmake
+++ /dev/null
@@ -1,159 +0,0 @@
-#.rst:
-# FindXMLRPC
-# ----------
-#
-# Find xmlrpc
-#
-# Find the native XMLRPC headers and libraries.
-#
-# ::
-#
-#   XMLRPC_INCLUDE_DIRS      - where to find xmlrpc.h, etc.
-#   XMLRPC_LIBRARIES         - List of libraries when using xmlrpc.
-#   XMLRPC_FOUND             - True if xmlrpc found.
-#
-# XMLRPC modules may be specified as components for this find module.
-# Modules may be listed by running "xmlrpc-c-config".  Modules include:
-#
-# ::
-#
-#   c++            C++ wrapper code
-#   libwww-client  libwww-based client
-#   cgi-server     CGI-based server
-#   abyss-server   ABYSS-based server
-#
-# Typical usage:
-#
-# ::
-#
-#   find_package(XMLRPC REQUIRED libwww-client)
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# First find the config script from which to obtain other values.
-find_program(XMLRPC_C_CONFIG NAMES xmlrpc-c-config)
-
-# Check whether we found anything.
-if(XMLRPC_C_CONFIG)
-  set(XMLRPC_FOUND 1)
-else()
-  set(XMLRPC_FOUND 0)
-endif()
-
-# Lookup the include directories needed for the components requested.
-if(XMLRPC_FOUND)
-  # Use the newer EXECUTE_PROCESS command if it is available.
-  if(COMMAND EXECUTE_PROCESS)
-    execute_process(
-      COMMAND ${XMLRPC_C_CONFIG} ${XMLRPC_FIND_COMPONENTS} --cflags
-      OUTPUT_VARIABLE XMLRPC_C_CONFIG_CFLAGS
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      RESULT_VARIABLE XMLRPC_C_CONFIG_RESULT
-      )
-  else()
-    exec_program(${XMLRPC_C_CONFIG} ARGS "${XMLRPC_FIND_COMPONENTS} --cflags"
-      OUTPUT_VARIABLE XMLRPC_C_CONFIG_CFLAGS
-      RETURN_VALUE XMLRPC_C_CONFIG_RESULT
-      )
-  endif()
-
-  # Parse the include flags.
-  if("${XMLRPC_C_CONFIG_RESULT}" STREQUAL "0")
-    # Convert the compile flags to a CMake list.
-    string(REGEX REPLACE " +" ";"
-      XMLRPC_C_CONFIG_CFLAGS "${XMLRPC_C_CONFIG_CFLAGS}")
-
-    # Look for -I options.
-    set(XMLRPC_INCLUDE_DIRS)
-    foreach(flag ${XMLRPC_C_CONFIG_CFLAGS})
-      if("${flag}" MATCHES "^-I(.+)")
-        file(TO_CMAKE_PATH "${CMAKE_MATCH_1}" DIR)
-        list(APPEND XMLRPC_INCLUDE_DIRS "${DIR}")
-      endif()
-    endforeach()
-  else()
-    message("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
-    set(XMLRPC_FOUND 0)
-  endif()
-endif()
-
-# Lookup the libraries needed for the components requested.
-if(XMLRPC_FOUND)
-  # Use the newer EXECUTE_PROCESS command if it is available.
-  if(COMMAND EXECUTE_PROCESS)
-    execute_process(
-      COMMAND ${XMLRPC_C_CONFIG} ${XMLRPC_FIND_COMPONENTS} --libs
-      OUTPUT_VARIABLE XMLRPC_C_CONFIG_LIBS
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      RESULT_VARIABLE XMLRPC_C_CONFIG_RESULT
-      )
-  else()
-    exec_program(${XMLRPC_C_CONFIG} ARGS "${XMLRPC_FIND_COMPONENTS} --libs"
-      OUTPUT_VARIABLE XMLRPC_C_CONFIG_LIBS
-      RETURN_VALUE XMLRPC_C_CONFIG_RESULT
-      )
-  endif()
-
-  # Parse the library names and directories.
-  if("${XMLRPC_C_CONFIG_RESULT}" STREQUAL "0")
-    string(REGEX REPLACE " +" ";"
-      XMLRPC_C_CONFIG_LIBS "${XMLRPC_C_CONFIG_LIBS}")
-
-    # Look for -L flags for directories and -l flags for library names.
-    set(XMLRPC_LIBRARY_DIRS)
-    set(XMLRPC_LIBRARY_NAMES)
-    foreach(flag ${XMLRPC_C_CONFIG_LIBS})
-      if("${flag}" MATCHES "^-L(.+)")
-        file(TO_CMAKE_PATH "${CMAKE_MATCH_1}" DIR)
-        list(APPEND XMLRPC_LIBRARY_DIRS "${DIR}")
-      elseif("${flag}" MATCHES "^-l(.+)")
-        list(APPEND XMLRPC_LIBRARY_NAMES "${CMAKE_MATCH_1}")
-      endif()
-    endforeach()
-
-    # Search for each library needed using the directories given.
-    foreach(name ${XMLRPC_LIBRARY_NAMES})
-      # Look for this library.
-      find_library(XMLRPC_${name}_LIBRARY
-        NAMES ${name}
-        HINTS ${XMLRPC_LIBRARY_DIRS}
-        )
-      mark_as_advanced(XMLRPC_${name}_LIBRARY)
-
-      # If any library is not found then the whole package is not found.
-      if(NOT XMLRPC_${name}_LIBRARY)
-        set(XMLRPC_FOUND 0)
-      endif()
-
-      # Build an ordered list of all the libraries needed.
-      set(XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES} "${XMLRPC_${name}_LIBRARY}")
-    endforeach()
-  else()
-    message("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
-    set(XMLRPC_FOUND 0)
-  endif()
-endif()
-
-# Report the results.
-if(NOT XMLRPC_FOUND)
-  set(XMLRPC_DIR_MESSAGE
-    "XMLRPC was not found. Make sure the entries XMLRPC_* are set.")
-  if(NOT XMLRPC_FIND_QUIETLY)
-    message(STATUS "${XMLRPC_DIR_MESSAGE}")
-  else()
-    if(XMLRPC_FIND_REQUIRED)
-      message(FATAL_ERROR "${XMLRPC_DIR_MESSAGE}")
-    endif()
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindXalanC.cmake b/share/cmake-3.6/Modules/FindXalanC.cmake
deleted file mode 100644
index 016b7aa..0000000
--- a/share/cmake-3.6/Modules/FindXalanC.cmake
+++ /dev/null
@@ -1,162 +0,0 @@
-#.rst:
-# FindXalanC
-# -----------
-#
-# Find the Apache Xalan-C++ XSL transform processor headers and libraries.
-#
-# Imported targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` targets:
-#
-# ``XalanC::XalanC``
-#   The Xalan-C++ ``xalan-c`` library, if found.
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project:
-#
-# ``XalanC_FOUND``
-#   true if the Xalan headers and libraries were found
-# ``XalanC_VERSION``
-#   Xalan release version
-# ``XalanC_INCLUDE_DIRS``
-#   the directory containing the Xalan headers; note
-#   ``XercesC_INCLUDE_DIRS`` is also required
-# ``XalanC_LIBRARIES``
-#   Xalan libraries to be linked; note ``XercesC_LIBRARIES`` is also
-#   required
-#
-# Cache variables
-# ^^^^^^^^^^^^^^^
-#
-# The following cache variables may also be set:
-#
-# ``XalanC_INCLUDE_DIR``
-#   the directory containing the Xalan headers
-# ``XalanC_LIBRARY``
-#   the Xalan library
-
-# Written by Roger Leigh <rleigh@codelibre.net>
-
-#=============================================================================
-# Copyright 2016 University of Dundee
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(_XalanC_GET_VERSION  version_hdr)
-    file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XALAN_VERSION_.*")
-    if(_contents)
-        string(REGEX REPLACE "[^*]*#define XALAN_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XalanC_MAJOR "${_contents}")
-        string(REGEX REPLACE "[^*]*#define XALAN_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XalanC_MINOR "${_contents}")
-        string(REGEX REPLACE "[^*]*#define XALAN_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XalanC_PATCH "${_contents}")
-
-        if(NOT XalanC_MAJOR MATCHES "^[0-9]+$")
-            message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_MAJOR!")
-        endif()
-        if(NOT XalanC_MINOR MATCHES "^[0-9]+$")
-            message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_MINOR!")
-        endif()
-        if(NOT XalanC_PATCH MATCHES "^[0-9]+$")
-            message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_REVISION!")
-        endif()
-
-        set(XalanC_VERSION "${XalanC_MAJOR}.${XalanC_MINOR}.${XalanC_PATCH}" PARENT_SCOPE)
-        set(XalanC_VERSION_MAJOR "${XalanC_MAJOR}" PARENT_SCOPE)
-        set(XalanC_VERSION_MINOR "${XalanC_MINOR}" PARENT_SCOPE)
-        set(XalanC_VERSION_PATCH "${XalanC_PATCH}" PARENT_SCOPE)
-    else()
-        message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information")
-    endif()
-endfunction()
-
-# Find include directory
-find_path(XalanC_INCLUDE_DIR
-          NAMES "xalanc/XalanTransformer/XalanTransformer.hpp"
-          DOC "Xalan-C++ include directory")
-mark_as_advanced(XalanC_INCLUDE_DIR)
-
-if(XalanC_INCLUDE_DIR)
-  _XalanC_GET_VERSION("${XalanC_INCLUDE_DIR}/xalanc/Include/XalanVersion.hpp")
-endif()
-
-if(NOT XalanC_LIBRARY)
-  # Find all XalanC libraries
-  find_library(XalanC_LIBRARY_RELEASE
-               NAMES "Xalan-C" "xalan-c"
-                     "Xalan-C_${XalanC_VERSION_MAJOR}"
-                     "Xalan-C_${XalanC_VERSION_MAJOR}_${XalanC_VERSION_MINOR}"
-               DOC "Xalan-C++ libraries (release)")
-  find_library(XalanC_LIBRARY_DEBUG
-               NAMES "Xalan-CD" "xalan-cd"
-                     "Xalan-C_${XalanC_VERSION_MAJOR}D"
-                     "Xalan-C_${XalanC_VERSION_MAJOR}_${XalanC_VERSION_MINOR}D"
-               DOC "Xalan-C++ libraries (debug)")
-  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-  select_library_configurations(XalanC)
-  mark_as_advanced(XalanC_LIBRARY_RELEASE XalanC_LIBRARY_DEBUG)
-endif()
-
-unset(XalanC_VERSION_MAJOR)
-unset(XalanC_VERSION_MINOR)
-unset(XalanC_VERSION_PATCH)
-
-unset(XalanC_XERCESC_REQUIRED)
-if(XalanC_FIND_REQUIRED)
-  set(XalanC_XERCESC_REQUIRED REQUIRED)
-endif()
-find_package(XercesC ${XalanC_XERCESC_REQUIRED})
-unset(XalanC_XERCESC_REQUIRED)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(XalanC
-                                  FOUND_VAR XalanC_FOUND
-                                  REQUIRED_VARS XalanC_LIBRARY
-                                                XalanC_INCLUDE_DIR
-                                                XalanC_VERSION
-                                                XercesC_FOUND
-                                  VERSION_VAR XalanC_VERSION
-                                  FAIL_MESSAGE "Failed to find XalanC")
-
-if(XalanC_FOUND)
-  set(XalanC_INCLUDE_DIRS "${XalanC_INCLUDE_DIR}" ${XercesC_INCLUDE_DIRS})
-  set(XalanC_LIBRARIES "${XalanC_LIBRARY}" ${XercesC_LIBRARIES})
-
-  # For header-only libraries
-  if(NOT TARGET XalanC::XalanC)
-    add_library(XalanC::XalanC UNKNOWN IMPORTED)
-    if(XalanC_INCLUDE_DIRS)
-      set_target_properties(XalanC::XalanC PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${XalanC_INCLUDE_DIRS}")
-    endif()
-    if(EXISTS "${XalanC_LIBRARY}")
-      set_target_properties(XalanC::XalanC PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
-        IMPORTED_LOCATION "${XalanC_LIBRARY}")
-    endif()
-    if(EXISTS "${XalanC_LIBRARY_DEBUG}")
-      set_property(TARGET XalanC::XalanC APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS DEBUG)
-      set_target_properties(XalanC::XalanC PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
-        IMPORTED_LOCATION_DEBUG "${XalanC_LIBRARY_DEBUG}")
-    endif()
-    if(EXISTS "${XalanC_LIBRARY_RELEASE}")
-      set_property(TARGET XalanC::XalanC APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS RELEASE)
-      set_target_properties(XalanC::XalanC PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
-        IMPORTED_LOCATION_RELEASE "${XalanC_LIBRARY_RELEASE}")
-    endif()
-    set_target_properties(XalanC::XalanC PROPERTIES INTERFACE_LINK_LIBRARIES XercesC::XercesC)
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindXercesC.cmake b/share/cmake-3.6/Modules/FindXercesC.cmake
deleted file mode 100644
index a4b80e5..0000000
--- a/share/cmake-3.6/Modules/FindXercesC.cmake
+++ /dev/null
@@ -1,140 +0,0 @@
-#.rst:
-# FindXercesC
-# -----------
-#
-# Find the Apache Xerces-C++ validating XML parser headers and libraries.
-#
-# Imported targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following :prop_tgt:`IMPORTED` targets:
-#
-# ``XercesC::XercesC``
-#   The Xerces-C++ ``xerces-c`` library, if found.
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module will set the following variables in your project:
-#
-# ``XercesC_FOUND``
-#   true if the Xerces headers and libraries were found
-# ``XercesC_VERSION``
-#   Xerces release version
-# ``XercesC_INCLUDE_DIRS``
-#   the directory containing the Xerces headers
-# ``XercesC_LIBRARIES``
-#   Xerces libraries to be linked
-#
-# Cache variables
-# ^^^^^^^^^^^^^^^
-#
-# The following cache variables may also be set:
-#
-# ``XercesC_INCLUDE_DIR``
-#   the directory containing the Xerces headers
-# ``XercesC_LIBRARY``
-#   the Xerces library
-
-# Written by Roger Leigh <rleigh@codelibre.net>
-
-#=============================================================================
-# Copyright 2014-2015 University of Dundee
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(_XercesC_GET_VERSION  version_hdr)
-    file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XERCES_VERSION_.*")
-    if(_contents)
-        string(REGEX REPLACE ".*#define XERCES_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XercesC_MAJOR "${_contents}")
-        string(REGEX REPLACE ".*#define XERCES_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XercesC_MINOR "${_contents}")
-        string(REGEX REPLACE ".*#define XERCES_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XercesC_PATCH "${_contents}")
-
-        if(NOT XercesC_MAJOR MATCHES "^[0-9]+$")
-            message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MAJOR!")
-        endif()
-        if(NOT XercesC_MINOR MATCHES "^[0-9]+$")
-            message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MINOR!")
-        endif()
-        if(NOT XercesC_PATCH MATCHES "^[0-9]+$")
-            message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_REVISION!")
-        endif()
-
-        set(XercesC_VERSION "${XercesC_MAJOR}.${XercesC_MINOR}.${XercesC_PATCH}" PARENT_SCOPE)
-    else()
-        message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information")
-    endif()
-endfunction()
-
-# Find include directory
-find_path(XercesC_INCLUDE_DIR
-          NAMES "xercesc/util/PlatformUtils.hpp"
-          DOC "Xerces-C++ include directory")
-mark_as_advanced(XercesC_INCLUDE_DIR)
-
-if(NOT XercesC_LIBRARY)
-  # Find all XercesC libraries
-  find_library(XercesC_LIBRARY_RELEASE
-               NAMES "xerces-c" "xerces-c_3"
-               DOC "Xerces-C++ libraries (release)")
-  find_library(XercesC_LIBRARY_DEBUG
-               NAMES "xerces-cd" "xerces-c_3D" "xerces-c_3_1D"
-               DOC "Xerces-C++ libraries (debug)")
-  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-  select_library_configurations(XercesC)
-  mark_as_advanced(XercesC_LIBRARY_RELEASE XercesC_LIBRARY_DEBUG)
-endif()
-
-if(XercesC_INCLUDE_DIR)
-  _XercesC_GET_VERSION("${XercesC_INCLUDE_DIR}/xercesc/util/XercesVersion.hpp")
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(XercesC
-                                  FOUND_VAR XercesC_FOUND
-                                  REQUIRED_VARS XercesC_LIBRARY
-                                                XercesC_INCLUDE_DIR
-                                                XercesC_VERSION
-                                  VERSION_VAR XercesC_VERSION
-                                  FAIL_MESSAGE "Failed to find XercesC")
-
-if(XercesC_FOUND)
-  set(XercesC_INCLUDE_DIRS "${XercesC_INCLUDE_DIR}")
-  set(XercesC_LIBRARIES "${XercesC_LIBRARY}")
-
-  # For header-only libraries
-  if(NOT TARGET XercesC::XercesC)
-    add_library(XercesC::XercesC UNKNOWN IMPORTED)
-    if(XercesC_INCLUDE_DIRS)
-      set_target_properties(XercesC::XercesC PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${XercesC_INCLUDE_DIRS}")
-    endif()
-    if(EXISTS "${XercesC_LIBRARY}")
-      set_target_properties(XercesC::XercesC PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
-        IMPORTED_LOCATION "${XercesC_LIBRARY}")
-    endif()
-    if(EXISTS "${XercesC_LIBRARY_DEBUG}")
-      set_property(TARGET XercesC::XercesC APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS DEBUG)
-      set_target_properties(XercesC::XercesC PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
-        IMPORTED_LOCATION_DEBUG "${XercesC_LIBRARY_DEBUG}")
-    endif()
-    if(EXISTS "${XercesC_LIBRARY_RELEASE}")
-      set_property(TARGET XercesC::XercesC APPEND PROPERTY
-        IMPORTED_CONFIGURATIONS RELEASE)
-      set_target_properties(XercesC::XercesC PROPERTIES
-        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
-        IMPORTED_LOCATION_RELEASE "${XercesC_LIBRARY_RELEASE}")
-    endif()
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FindZLIB.cmake b/share/cmake-3.6/Modules/FindZLIB.cmake
deleted file mode 100644
index a57f450..0000000
--- a/share/cmake-3.6/Modules/FindZLIB.cmake
+++ /dev/null
@@ -1,158 +0,0 @@
-#.rst:
-# FindZLIB
-# --------
-#
-# Find the native ZLIB includes and library.
-#
-# IMPORTED Targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines :prop_tgt:`IMPORTED` target ``ZLIB::ZLIB``, if
-# ZLIB has been found.
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following variables:
-#
-# ::
-#
-#   ZLIB_INCLUDE_DIRS   - where to find zlib.h, etc.
-#   ZLIB_LIBRARIES      - List of libraries when using zlib.
-#   ZLIB_FOUND          - True if zlib found.
-#
-# ::
-#
-#   ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
-#   ZLIB_VERSION_MAJOR  - The major version of zlib
-#   ZLIB_VERSION_MINOR  - The minor version of zlib
-#   ZLIB_VERSION_PATCH  - The patch version of zlib
-#   ZLIB_VERSION_TWEAK  - The tweak version of zlib
-#
-# Backward Compatibility
-# ^^^^^^^^^^^^^^^^^^^^^^
-#
-# The following variable are provided for backward compatibility
-#
-# ::
-#
-#   ZLIB_MAJOR_VERSION  - The major version of zlib
-#   ZLIB_MINOR_VERSION  - The minor version of zlib
-#   ZLIB_PATCH_VERSION  - The patch version of zlib
-#
-# Hints
-# ^^^^^
-#
-# A user may set ``ZLIB_ROOT`` to a zlib installation root to tell this
-# module where to look.
-
-#=============================================================================
-# Copyright 2001-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(_ZLIB_SEARCHES)
-
-# Search ZLIB_ROOT first if it is set.
-if(ZLIB_ROOT)
-  set(_ZLIB_SEARCH_ROOT PATHS ${ZLIB_ROOT} NO_DEFAULT_PATH)
-  list(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_ROOT)
-endif()
-
-# Normal search.
-set(_ZLIB_SEARCH_NORMAL
-  PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]"
-        "$ENV{PROGRAMFILES}/zlib"
-  )
-list(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_NORMAL)
-
-set(ZLIB_NAMES z zlib zdll zlib1)
-set(ZLIB_NAMES_DEBUG zlibd zlibd1)
-
-# Try each search configuration.
-foreach(search ${_ZLIB_SEARCHES})
-  find_path(ZLIB_INCLUDE_DIR NAMES zlib.h ${${search}} PATH_SUFFIXES include)
-endforeach()
-
-# Allow ZLIB_LIBRARY to be set manually, as the location of the zlib library
-if(NOT ZLIB_LIBRARY)
-  foreach(search ${_ZLIB_SEARCHES})
-    find_library(ZLIB_LIBRARY_RELEASE NAMES ${ZLIB_NAMES} ${${search}} PATH_SUFFIXES lib)
-    find_library(ZLIB_LIBRARY_DEBUG NAMES ${ZLIB_NAMES_DEBUG} ${${search}} PATH_SUFFIXES lib)
-  endforeach()
-
-  include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
-  select_library_configurations(ZLIB)
-endif()
-
-unset(ZLIB_NAMES)
-unset(ZLIB_NAMES_DEBUG)
-
-mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-
-if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
-    file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
-
-    string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
-    string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR  "${ZLIB_H}")
-    string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
-    set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
-
-    # only append a TWEAK version if it exists:
-    set(ZLIB_VERSION_TWEAK "")
-    if( "${ZLIB_H}" MATCHES "ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+)")
-        set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
-        set(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
-    endif()
-
-    set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
-    set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
-    set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
-                                       VERSION_VAR ZLIB_VERSION_STRING)
-
-if(ZLIB_FOUND)
-    set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
-
-    if(NOT ZLIB_LIBRARIES)
-      set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
-    endif()
-
-    if(NOT TARGET ZLIB::ZLIB)
-      add_library(ZLIB::ZLIB UNKNOWN IMPORTED)
-      set_target_properties(ZLIB::ZLIB PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIRS}")
-
-      if(ZLIB_LIBRARY_RELEASE)
-        set_property(TARGET ZLIB::ZLIB APPEND PROPERTY
-          IMPORTED_CONFIGURATIONS RELEASE)
-        set_target_properties(ZLIB::ZLIB PROPERTIES
-          IMPORTED_LOCATION_RELEASE "${ZLIB_LIBRARY_RELEASE}")
-      endif()
-
-      if(ZLIB_LIBRARY_DEBUG)
-        set_property(TARGET ZLIB::ZLIB APPEND PROPERTY
-          IMPORTED_CONFIGURATIONS DEBUG)
-        set_target_properties(ZLIB::ZLIB PROPERTIES
-          IMPORTED_LOCATION_DEBUG "${ZLIB_LIBRARY_DEBUG}")
-      endif()
-
-      if(NOT ZLIB_LIBRARY_RELEASE AND NOT ZLIB_LIBRARY_DEBUG)
-        set_property(TARGET ZLIB::ZLIB APPEND PROPERTY
-          IMPORTED_LOCATION "${ZLIB_LIBRARY}")
-      endif()
-    endif()
-endif()
diff --git a/share/cmake-3.6/Modules/Findosg.cmake b/share/cmake-3.6/Modules/Findosg.cmake
deleted file mode 100644
index 5ab2846..0000000
--- a/share/cmake-3.6/Modules/Findosg.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-#.rst:
-# Findosg
-# -------
-#
-#
-#
-#
-#
-# NOTE: It is highly recommended that you use the new
-# FindOpenSceneGraph.cmake introduced in CMake 2.6.3 and not use this
-# Find module directly.
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osg This module defines
-#
-# OSG_FOUND - Was the Osg found? OSG_INCLUDE_DIR - Where to find the
-# headers OSG_LIBRARIES - The libraries to link against for the OSG (use
-# this)
-#
-# OSG_LIBRARY - The OSG library OSG_LIBRARY_DEBUG - The OSG debug
-# library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgUtil/SceneView>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSG osg/PositionAttitudeTransform)
-OSG_FIND_LIBRARY(OSG osg)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osg DEFAULT_MSG OSG_LIBRARY OSG_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgAnimation.cmake b/share/cmake-3.6/Modules/FindosgAnimation.cmake
deleted file mode 100644
index 403e68e..0000000
--- a/share/cmake-3.6/Modules/FindosgAnimation.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgAnimation
-# ----------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgAnimation This module defines
-#
-# OSGANIMATION_FOUND - Was osgAnimation found? OSGANIMATION_INCLUDE_DIR
-# - Where to find the headers OSGANIMATION_LIBRARIES - The libraries to
-# link against for the OSG (use this)
-#
-# OSGANIMATION_LIBRARY - The OSG library OSGANIMATION_LIBRARY_DEBUG -
-# The OSG debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgAnimation/Animation>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGANIMATION osgAnimation/Animation)
-OSG_FIND_LIBRARY(OSGANIMATION osgAnimation)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgAnimation DEFAULT_MSG
-    OSGANIMATION_LIBRARY OSGANIMATION_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgDB.cmake b/share/cmake-3.6/Modules/FindosgDB.cmake
deleted file mode 100644
index 0e5bdef..0000000
--- a/share/cmake-3.6/Modules/FindosgDB.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgDB
-# ---------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgDB This module defines
-#
-# OSGDB_FOUND - Was osgDB found? OSGDB_INCLUDE_DIR - Where to find the
-# headers OSGDB_LIBRARIES - The libraries to link against for the osgDB
-# (use this)
-#
-# OSGDB_LIBRARY - The osgDB library OSGDB_LIBRARY_DEBUG - The osgDB
-# debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgDB/DatabasePager>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGDB osgDB/DatabasePager)
-OSG_FIND_LIBRARY(OSGDB osgDB)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgDB DEFAULT_MSG
-    OSGDB_LIBRARY OSGDB_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgFX.cmake b/share/cmake-3.6/Modules/FindosgFX.cmake
deleted file mode 100644
index 7b2cb76..0000000
--- a/share/cmake-3.6/Modules/FindosgFX.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgFX
-# ---------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgFX This module defines
-#
-# OSGFX_FOUND - Was osgFX found? OSGFX_INCLUDE_DIR - Where to find the
-# headers OSGFX_LIBRARIES - The libraries to link against for the osgFX
-# (use this)
-#
-# OSGFX_LIBRARY - The osgFX library OSGFX_LIBRARY_DEBUG - The osgFX
-# debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgFX/BumpMapping>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGFX osgFX/BumpMapping)
-OSG_FIND_LIBRARY(OSGFX osgFX)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgFX DEFAULT_MSG
-    OSGFX_LIBRARY OSGFX_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgGA.cmake b/share/cmake-3.6/Modules/FindosgGA.cmake
deleted file mode 100644
index 2e80ff2..0000000
--- a/share/cmake-3.6/Modules/FindosgGA.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgGA
-# ---------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgGA This module defines
-#
-# OSGGA_FOUND - Was osgGA found? OSGGA_INCLUDE_DIR - Where to find the
-# headers OSGGA_LIBRARIES - The libraries to link against for the osgGA
-# (use this)
-#
-# OSGGA_LIBRARY - The osgGA library OSGGA_LIBRARY_DEBUG - The osgGA
-# debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgGA/FlightManipulator>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGGA osgGA/FlightManipulator)
-OSG_FIND_LIBRARY(OSGGA osgGA)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgGA DEFAULT_MSG
-    OSGGA_LIBRARY OSGGA_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgIntrospection.cmake b/share/cmake-3.6/Modules/FindosgIntrospection.cmake
deleted file mode 100644
index 1b52a6a..0000000
--- a/share/cmake-3.6/Modules/FindosgIntrospection.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-#.rst:
-# FindosgIntrospection
-# --------------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgINTROSPECTION This module defines
-#
-# OSGINTROSPECTION_FOUND - Was osgIntrospection found?
-# OSGINTROSPECTION_INCLUDE_DIR - Where to find the headers
-# OSGINTROSPECTION_LIBRARIES - The libraries to link for
-# osgIntrospection (use this)
-#
-# OSGINTROSPECTION_LIBRARY - The osgIntrospection library
-# OSGINTROSPECTION_LIBRARY_DEBUG - The osgIntrospection debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgIntrospection/Reflection>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGINTROSPECTION osgIntrospection/Reflection)
-OSG_FIND_LIBRARY(OSGINTROSPECTION osgIntrospection)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgIntrospection DEFAULT_MSG
-    OSGINTROSPECTION_LIBRARY OSGINTROSPECTION_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgManipulator.cmake b/share/cmake-3.6/Modules/FindosgManipulator.cmake
deleted file mode 100644
index 6f54082..0000000
--- a/share/cmake-3.6/Modules/FindosgManipulator.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-#.rst:
-# FindosgManipulator
-# ------------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgManipulator This module defines
-#
-# OSGMANIPULATOR_FOUND - Was osgManipulator found?
-# OSGMANIPULATOR_INCLUDE_DIR - Where to find the headers
-# OSGMANIPULATOR_LIBRARIES - The libraries to link for osgManipulator
-# (use this)
-#
-# OSGMANIPULATOR_LIBRARY - The osgManipulator library
-# OSGMANIPULATOR_LIBRARY_DEBUG - The osgManipulator debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgManipulator/TrackballDragger>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGMANIPULATOR osgManipulator/TrackballDragger)
-OSG_FIND_LIBRARY(OSGMANIPULATOR osgManipulator)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgManipulator DEFAULT_MSG
-    OSGMANIPULATOR_LIBRARY OSGMANIPULATOR_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgParticle.cmake b/share/cmake-3.6/Modules/FindosgParticle.cmake
deleted file mode 100644
index 82e9a13..0000000
--- a/share/cmake-3.6/Modules/FindosgParticle.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgParticle
-# ---------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgParticle This module defines
-#
-# OSGPARTICLE_FOUND - Was osgParticle found? OSGPARTICLE_INCLUDE_DIR -
-# Where to find the headers OSGPARTICLE_LIBRARIES - The libraries to
-# link for osgParticle (use this)
-#
-# OSGPARTICLE_LIBRARY - The osgParticle library
-# OSGPARTICLE_LIBRARY_DEBUG - The osgParticle debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgParticle/FireEffect>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGPARTICLE osgParticle/FireEffect)
-OSG_FIND_LIBRARY(OSGPARTICLE osgParticle)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgParticle DEFAULT_MSG
-    OSGPARTICLE_LIBRARY OSGPARTICLE_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgPresentation.cmake b/share/cmake-3.6/Modules/FindosgPresentation.cmake
deleted file mode 100644
index 1cd57b3..0000000
--- a/share/cmake-3.6/Modules/FindosgPresentation.cmake
+++ /dev/null
@@ -1,57 +0,0 @@
-#.rst:
-# FindosgPresentation
-# -------------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgPresentation This module defines
-#
-# OSGPRESENTATION_FOUND - Was osgPresentation found?
-# OSGPRESENTATION_INCLUDE_DIR - Where to find the headers
-# OSGPRESENTATION_LIBRARIES - The libraries to link for osgPresentation
-# (use this)
-#
-# OSGPRESENTATION_LIBRARY - The osgPresentation library
-# OSGPRESENTATION_LIBRARY_DEBUG - The osgPresentation debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.  Modified to work with osgPresentation by Robert
-# Osfield, January 2012.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgPresentation/SlideEventHandler>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGPRESENTATION osgPresentation/SlideEventHandler)
-OSG_FIND_LIBRARY(OSGPRESENTATION osgPresentation)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgPresentation DEFAULT_MSG
-    OSGPRESENTATION_LIBRARY OSGPRESENTATION_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgProducer.cmake b/share/cmake-3.6/Modules/FindosgProducer.cmake
deleted file mode 100644
index ad4902b..0000000
--- a/share/cmake-3.6/Modules/FindosgProducer.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgProducer
-# ---------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgProducer This module defines
-#
-# OSGPRODUCER_FOUND - Was osgProducer found? OSGPRODUCER_INCLUDE_DIR -
-# Where to find the headers OSGPRODUCER_LIBRARIES - The libraries to
-# link for osgProducer (use this)
-#
-# OSGPRODUCER_LIBRARY - The osgProducer library
-# OSGPRODUCER_LIBRARY_DEBUG - The osgProducer debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgProducer/OsgSceneHandler>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGPRODUCER osgProducer/OsgSceneHandler)
-OSG_FIND_LIBRARY(OSGPRODUCER osgProducer)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgProducer DEFAULT_MSG
-    OSGPRODUCER_LIBRARY OSGPRODUCER_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgQt.cmake b/share/cmake-3.6/Modules/FindosgQt.cmake
deleted file mode 100644
index b5c1718..0000000
--- a/share/cmake-3.6/Modules/FindosgQt.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgQt
-# ---------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgQt This module defines
-#
-# OSGQT_FOUND - Was osgQt found? OSGQT_INCLUDE_DIR - Where to find the
-# headers OSGQT_LIBRARIES - The libraries to link for osgQt (use this)
-#
-# OSGQT_LIBRARY - The osgQt library OSGQT_LIBRARY_DEBUG - The osgQt
-# debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.  Modified to work with osgQt by Robert Osfield,
-# January 2012.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgQt/GraphicsWindowQt>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGQT osgQt/GraphicsWindowQt)
-OSG_FIND_LIBRARY(OSGQT osgQt)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgQt DEFAULT_MSG
-    OSGQT_LIBRARY OSGQT_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgShadow.cmake b/share/cmake-3.6/Modules/FindosgShadow.cmake
deleted file mode 100644
index b0d22e7..0000000
--- a/share/cmake-3.6/Modules/FindosgShadow.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgShadow
-# -------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgShadow This module defines
-#
-# OSGSHADOW_FOUND - Was osgShadow found? OSGSHADOW_INCLUDE_DIR - Where
-# to find the headers OSGSHADOW_LIBRARIES - The libraries to link for
-# osgShadow (use this)
-#
-# OSGSHADOW_LIBRARY - The osgShadow library OSGSHADOW_LIBRARY_DEBUG -
-# The osgShadow debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgShadow/ShadowTexture>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGSHADOW osgShadow/ShadowTexture)
-OSG_FIND_LIBRARY(OSGSHADOW osgShadow)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgShadow DEFAULT_MSG
-    OSGSHADOW_LIBRARY OSGSHADOW_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgSim.cmake b/share/cmake-3.6/Modules/FindosgSim.cmake
deleted file mode 100644
index ce088dc..0000000
--- a/share/cmake-3.6/Modules/FindosgSim.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgSim
-# ----------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgSim This module defines
-#
-# OSGSIM_FOUND - Was osgSim found? OSGSIM_INCLUDE_DIR - Where to find
-# the headers OSGSIM_LIBRARIES - The libraries to link for osgSim (use
-# this)
-#
-# OSGSIM_LIBRARY - The osgSim library OSGSIM_LIBRARY_DEBUG - The osgSim
-# debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgSim/ImpostorSprite>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGSIM osgSim/ImpostorSprite)
-OSG_FIND_LIBRARY(OSGSIM osgSim)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgSim DEFAULT_MSG
-    OSGSIM_LIBRARY OSGSIM_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgTerrain.cmake b/share/cmake-3.6/Modules/FindosgTerrain.cmake
deleted file mode 100644
index bfde773..0000000
--- a/share/cmake-3.6/Modules/FindosgTerrain.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgTerrain
-# --------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgTerrain This module defines
-#
-# OSGTERRAIN_FOUND - Was osgTerrain found? OSGTERRAIN_INCLUDE_DIR -
-# Where to find the headers OSGTERRAIN_LIBRARIES - The libraries to link
-# for osgTerrain (use this)
-#
-# OSGTERRAIN_LIBRARY - The osgTerrain library OSGTERRAIN_LIBRARY_DEBUG -
-# The osgTerrain debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgTerrain/Terrain>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGTERRAIN osgTerrain/Terrain)
-OSG_FIND_LIBRARY(OSGTERRAIN osgTerrain)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgTerrain DEFAULT_MSG
-    OSGTERRAIN_LIBRARY OSGTERRAIN_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgText.cmake b/share/cmake-3.6/Modules/FindosgText.cmake
deleted file mode 100644
index 32cd115..0000000
--- a/share/cmake-3.6/Modules/FindosgText.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgText
-# -----------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgText This module defines
-#
-# OSGTEXT_FOUND - Was osgText found? OSGTEXT_INCLUDE_DIR - Where to find
-# the headers OSGTEXT_LIBRARIES - The libraries to link for osgText (use
-# this)
-#
-# OSGTEXT_LIBRARY - The osgText library OSGTEXT_LIBRARY_DEBUG - The
-# osgText debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgText/Text>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGTEXT osgText/Text)
-OSG_FIND_LIBRARY(OSGTEXT osgText)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgText DEFAULT_MSG
-    OSGTEXT_LIBRARY OSGTEXT_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgUtil.cmake b/share/cmake-3.6/Modules/FindosgUtil.cmake
deleted file mode 100644
index 9797425..0000000
--- a/share/cmake-3.6/Modules/FindosgUtil.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgUtil
-# -----------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgUtil This module defines
-#
-# OSGUTIL_FOUND - Was osgUtil found? OSGUTIL_INCLUDE_DIR - Where to find
-# the headers OSGUTIL_LIBRARIES - The libraries to link for osgUtil (use
-# this)
-#
-# OSGUTIL_LIBRARY - The osgUtil library OSGUTIL_LIBRARY_DEBUG - The
-# osgUtil debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgUtil/SceneView>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGUTIL osgUtil/SceneView)
-OSG_FIND_LIBRARY(OSGUTIL osgUtil)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgUtil DEFAULT_MSG
-    OSGUTIL_LIBRARY OSGUTIL_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgViewer.cmake b/share/cmake-3.6/Modules/FindosgViewer.cmake
deleted file mode 100644
index b355530..0000000
--- a/share/cmake-3.6/Modules/FindosgViewer.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgViewer
-# -------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgViewer This module defines
-#
-# OSGVIEWER_FOUND - Was osgViewer found? OSGVIEWER_INCLUDE_DIR - Where
-# to find the headers OSGVIEWER_LIBRARIES - The libraries to link for
-# osgViewer (use this)
-#
-# OSGVIEWER_LIBRARY - The osgViewer library OSGVIEWER_LIBRARY_DEBUG -
-# The osgViewer debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgViewer/Viewer>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGVIEWER osgViewer/Viewer)
-OSG_FIND_LIBRARY(OSGVIEWER osgViewer)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgViewer DEFAULT_MSG
-    OSGVIEWER_LIBRARY OSGVIEWER_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgVolume.cmake b/share/cmake-3.6/Modules/FindosgVolume.cmake
deleted file mode 100644
index 8d3ad6c..0000000
--- a/share/cmake-3.6/Modules/FindosgVolume.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-#.rst:
-# FindosgVolume
-# -------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgVolume This module defines
-#
-# OSGVOLUME_FOUND - Was osgVolume found? OSGVOLUME_INCLUDE_DIR - Where
-# to find the headers OSGVOLUME_LIBRARIES - The libraries to link for
-# osgVolume (use this)
-#
-# OSGVOLUME_LIBRARY - The osgVolume library OSGVOLUME_LIBRARY_DEBUG -
-# The osgVolume debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# Created by Eric Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgVolume/Volume>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGVOLUME osgVolume/Volume)
-OSG_FIND_LIBRARY(OSGVOLUME osgVolume)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgVolume DEFAULT_MSG
-    OSGVOLUME_LIBRARY OSGVOLUME_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/FindosgWidget.cmake b/share/cmake-3.6/Modules/FindosgWidget.cmake
deleted file mode 100644
index ec3c3bc..0000000
--- a/share/cmake-3.6/Modules/FindosgWidget.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-#.rst:
-# FindosgWidget
-# -------------
-#
-#
-#
-# This is part of the Findosg* suite used to find OpenSceneGraph
-# components.  Each component is separate and you must opt in to each
-# module.  You must also opt into OpenGL and OpenThreads (and Producer
-# if needed) as these modules won't do it for you.  This is to allow you
-# control over your own system piece by piece in case you need to opt
-# out of certain components or change the Find behavior for a particular
-# module (perhaps because the default FindOpenGL.cmake module doesn't
-# work with your system as an example).  If you want to use a more
-# convenient module that includes everything, use the
-# FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
-# Locate osgWidget This module defines
-#
-# OSGWIDGET_FOUND - Was osgWidget found? OSGWIDGET_INCLUDE_DIR - Where
-# to find the headers OSGWIDGET_LIBRARIES - The libraries to link for
-# osgWidget (use this)
-#
-# OSGWIDGET_LIBRARY - The osgWidget library OSGWIDGET_LIBRARY_DEBUG -
-# The osgWidget debug library
-#
-# $OSGDIR is an environment variable that would correspond to the
-# ./configure --prefix=$OSGDIR used in building osg.
-#
-# FindosgWidget.cmake tweaked from Findosg* suite as created by Eric
-# Wing.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Header files are presumed to be included like
-# #include <osg/PositionAttitudeTransform>
-# #include <osgWidget/Widget>
-
-include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
-OSG_FIND_PATH   (OSGWIDGET osgWidget/Widget)
-OSG_FIND_LIBRARY(OSGWIDGET osgWidget)
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(osgWidget DEFAULT_MSG
-    OSGWIDGET_LIBRARY OSGWIDGET_INCLUDE_DIR)
diff --git a/share/cmake-3.6/Modules/Findosg_functions.cmake b/share/cmake-3.6/Modules/Findosg_functions.cmake
deleted file mode 100644
index d10fae9..0000000
--- a/share/cmake-3.6/Modules/Findosg_functions.cmake
+++ /dev/null
@@ -1,118 +0,0 @@
-#.rst:
-# Findosg_functions
-# -----------------
-#
-#
-#
-#
-#
-# This CMake file contains two macros to assist with searching for OSG
-# libraries and nodekits.  Please see FindOpenSceneGraph.cmake for full
-# documentation.
-
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2009-2012 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# OSG_FIND_PATH
-#
-function(OSG_FIND_PATH module header)
-   string(TOUPPER ${module} module_uc)
-
-   # Try the user's environment request before anything else.
-   find_path(${module_uc}_INCLUDE_DIR ${header}
-       HINTS
-            ENV ${module_uc}_DIR
-            ENV OSG_DIR
-            ENV OSGDIR
-            ENV OSG_ROOT
-            ${${module_uc}_DIR}
-            ${OSG_DIR}
-       PATH_SUFFIXES include
-       PATHS
-            /sw # Fink
-            /opt/local # DarwinPorts
-            /opt/csw # Blastwave
-            /opt
-            /usr/freeware
-   )
-endfunction()
-
-
-#
-# OSG_FIND_LIBRARY
-#
-function(OSG_FIND_LIBRARY module library)
-   string(TOUPPER ${module} module_uc)
-
-   find_library(${module_uc}_LIBRARY
-       NAMES ${library}
-       HINTS
-            ENV ${module_uc}_DIR
-            ENV OSG_DIR
-            ENV OSGDIR
-            ENV OSG_ROOT
-            ${${module_uc}_DIR}
-            ${OSG_DIR}
-       PATH_SUFFIXES lib
-       PATHS
-            /sw # Fink
-            /opt/local # DarwinPorts
-            /opt/csw # Blastwave
-            /opt
-            /usr/freeware
-   )
-
-   find_library(${module_uc}_LIBRARY_DEBUG
-       NAMES ${library}d
-       HINTS
-            ENV ${module_uc}_DIR
-            ENV OSG_DIR
-            ENV OSGDIR
-            ENV OSG_ROOT
-            ${${module_uc}_DIR}
-            ${OSG_DIR}
-       PATH_SUFFIXES lib
-       PATHS
-            /sw # Fink
-            /opt/local # DarwinPorts
-            /opt/csw # Blastwave
-            /opt
-            /usr/freeware
-    )
-
-   if(NOT ${module_uc}_LIBRARY_DEBUG)
-      # They don't have a debug library
-      set(${module_uc}_LIBRARY_DEBUG ${${module_uc}_LIBRARY} PARENT_SCOPE)
-      set(${module_uc}_LIBRARIES ${${module_uc}_LIBRARY} PARENT_SCOPE)
-   else()
-      # They really have a FOO_LIBRARY_DEBUG
-      set(${module_uc}_LIBRARIES
-          optimized ${${module_uc}_LIBRARY}
-          debug ${${module_uc}_LIBRARY_DEBUG}
-          PARENT_SCOPE
-      )
-   endif()
-endfunction()
-
-#
-# OSG_MARK_AS_ADVANCED
-# Just a convenience function for calling MARK_AS_ADVANCED
-#
-function(OSG_MARK_AS_ADVANCED _module)
-   string(TOUPPER ${_module} _module_UC)
-   mark_as_advanced(${_module_UC}_INCLUDE_DIR)
-   mark_as_advanced(${_module_UC}_LIBRARY)
-   mark_as_advanced(${_module_UC}_LIBRARY_DEBUG)
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindwxWidgets.cmake b/share/cmake-3.6/Modules/FindwxWidgets.cmake
deleted file mode 100644
index 8c07e6c..0000000
--- a/share/cmake-3.6/Modules/FindwxWidgets.cmake
+++ /dev/null
@@ -1,1132 +0,0 @@
-#.rst:
-# FindwxWidgets
-# -------------
-#
-# Find a wxWidgets (a.k.a., wxWindows) installation.
-#
-# This module finds if wxWidgets is installed and selects a default
-# configuration to use.  wxWidgets is a modular library.  To specify the
-# modules that you will use, you need to name them as components to the
-# package:
-#
-# find_package(wxWidgets COMPONENTS core base ...)
-#
-# There are two search branches: a windows style and a unix style.  For
-# windows, the following variables are searched for and set to defaults
-# in case of multiple choices.  Change them if the defaults are not
-# desired (i.e., these are the only variables you should change to
-# select a configuration):
-#
-# ::
-#
-#   wxWidgets_ROOT_DIR      - Base wxWidgets directory
-#                             (e.g., C:/wxWidgets-2.6.3).
-#   wxWidgets_LIB_DIR       - Path to wxWidgets libraries
-#                             (e.g., C:/wxWidgets-2.6.3/lib/vc_lib).
-#   wxWidgets_CONFIGURATION - Configuration to use
-#                             (e.g., msw, mswd, mswu, mswunivud, etc.)
-#   wxWidgets_EXCLUDE_COMMON_LIBRARIES
-#                           - Set to TRUE to exclude linking of
-#                             commonly required libs (e.g., png tiff
-#                             jpeg zlib regex expat).
-#
-#
-#
-# For unix style it uses the wx-config utility.  You can select between
-# debug/release, unicode/ansi, universal/non-universal, and
-# static/shared in the QtDialog or ccmake interfaces by turning ON/OFF
-# the following variables:
-#
-# ::
-#
-#   wxWidgets_USE_DEBUG
-#   wxWidgets_USE_UNICODE
-#   wxWidgets_USE_UNIVERSAL
-#   wxWidgets_USE_STATIC
-#
-#
-#
-# There is also a wxWidgets_CONFIG_OPTIONS variable for all other
-# options that need to be passed to the wx-config utility.  For example,
-# to use the base toolkit found in the /usr/local path, set the variable
-# (before calling the FIND_PACKAGE command) as such:
-#
-# ::
-#
-#   set(wxWidgets_CONFIG_OPTIONS --toolkit=base --prefix=/usr)
-#
-#
-#
-# The following are set after the configuration is done for both windows
-# and unix style:
-#
-# ::
-#
-#   wxWidgets_FOUND            - Set to TRUE if wxWidgets was found.
-#   wxWidgets_INCLUDE_DIRS     - Include directories for WIN32
-#                                i.e., where to find "wx/wx.h" and
-#                                "wx/setup.h"; possibly empty for unices.
-#   wxWidgets_LIBRARIES        - Path to the wxWidgets libraries.
-#   wxWidgets_LIBRARY_DIRS     - compile time link dirs, useful for
-#                                rpath on UNIX. Typically an empty string
-#                                in WIN32 environment.
-#   wxWidgets_DEFINITIONS      - Contains defines required to compile/link
-#                                against WX, e.g. WXUSINGDLL
-#   wxWidgets_DEFINITIONS_DEBUG- Contains defines required to compile/link
-#                                against WX debug builds, e.g. __WXDEBUG__
-#   wxWidgets_CXX_FLAGS        - Include dirs and compiler flags for
-#                                unices, empty on WIN32. Essentially
-#                                "`wx-config --cxxflags`".
-#   wxWidgets_USE_FILE         - Convenience include file.
-#
-#
-#
-# Sample usage:
-#
-# ::
-#
-#    # Note that for MinGW users the order of libs is important!
-#    find_package(wxWidgets COMPONENTS net gl core base)
-#    if(wxWidgets_FOUND)
-#      include(${wxWidgets_USE_FILE})
-#      # and for each of your dependent executable/library targets:
-#      target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
-#    endif()
-#
-#
-#
-# If wxWidgets is required (i.e., not an optional part):
-#
-# ::
-#
-#    find_package(wxWidgets REQUIRED net gl core base)
-#    include(${wxWidgets_USE_FILE})
-#    # and for each of your dependent executable/library targets:
-#    target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2007-2009 Miguel A. Figueroa-Villanueva <miguelf at ieee dot org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# FIXME: check this and provide a correct sample usage...
-#        Remember to connect back to the upper text.
-# Sample usage with monolithic wx build:
-#
-#   find_package(wxWidgets COMPONENTS mono)
-#   ...
-
-# NOTES
-#
-# This module has been tested on the WIN32 platform with wxWidgets
-# 2.6.2, 2.6.3, and 2.5.3. However, it has been designed to
-# easily extend support to all possible builds, e.g., static/shared,
-# debug/release, unicode, universal, multilib/monolithic, etc..
-#
-# If you want to use the module and your build type is not supported
-# out-of-the-box, please contact me to exchange information on how
-# your system is setup and I'll try to add support for it.
-#
-# AUTHOR
-#
-# Miguel A. Figueroa-Villanueva (miguelf at ieee dot org).
-# Jan Woetzel (jw at mip.informatik.uni-kiel.de).
-#
-# Based on previous works of:
-# Jan Woetzel (FindwxWindows.cmake),
-# Jorgen Bodde and Jerry Fath (FindwxWin.cmake).
-
-# TODO/ideas
-#
-# (1) Option/Setting to use all available wx libs
-# In contrast to expert developer who lists the
-# minimal set of required libs in wxWidgets_USE_LIBS
-# there is the newbie user:
-#   - who just wants to link against WX with more 'magic'
-#   - doesn't know the internal structure of WX or how it was built,
-#     in particular if it is monolithic or not
-#   - want to link against all available WX libs
-# Basically, the intent here is to mimic what wx-config would do by
-# default (i.e., `wx-config --libs`).
-#
-# Possible solution:
-#   Add a reserved keyword "std" that initializes to what wx-config
-# would default to. If the user has not set the wxWidgets_USE_LIBS,
-# default to "std" instead of "base core" as it is now. To implement
-# "std" will basically boil down to a FOR_EACH lib-FOUND, but maybe
-# checking whether a minimal set was found.
-
-
-# FIXME: This and all the DBG_MSG calls should be removed after the
-# module stabilizes.
-#
-# Helper macro to control the debugging output globally. There are
-# two versions for controlling how verbose your output should be.
-macro(DBG_MSG _MSG)
-#  message(STATUS
-#    "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
-endmacro()
-macro(DBG_MSG_V _MSG)
-#  message(STATUS
-#    "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
-endmacro()
-
-# Clear return values in case the module is loaded more than once.
-set(wxWidgets_FOUND FALSE)
-set(wxWidgets_INCLUDE_DIRS "")
-set(wxWidgets_LIBRARIES    "")
-set(wxWidgets_LIBRARY_DIRS "")
-set(wxWidgets_CXX_FLAGS    "")
-
-# DEPRECATED: This is a patch to support the DEPRECATED use of
-# wxWidgets_USE_LIBS.
-#
-# If wxWidgets_USE_LIBS is set:
-# - if using <components>, then override wxWidgets_USE_LIBS
-# - else set wxWidgets_FIND_COMPONENTS to wxWidgets_USE_LIBS
-if(wxWidgets_USE_LIBS AND NOT wxWidgets_FIND_COMPONENTS)
-  set(wxWidgets_FIND_COMPONENTS ${wxWidgets_USE_LIBS})
-endif()
-DBG_MSG("wxWidgets_FIND_COMPONENTS : ${wxWidgets_FIND_COMPONENTS}")
-
-# Add the convenience use file if available.
-#
-# Get dir of this file which may reside in:
-# - CMAKE_MAKE_ROOT/Modules on CMake installation
-# - CMAKE_MODULE_PATH if user prefers his own specialized version
-set(wxWidgets_USE_FILE "")
-get_filename_component(
-  wxWidgets_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
-# Prefer an existing customized version, but the user might override
-# the FindwxWidgets module and not the UsewxWidgets one.
-if(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
-  set(wxWidgets_USE_FILE
-    "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
-else()
-  set(wxWidgets_USE_FILE UsewxWidgets)
-endif()
-
-#=====================================================================
-# Determine whether unix or win32 paths should be used
-#=====================================================================
-if(WIN32 AND NOT CYGWIN AND NOT MSYS AND NOT CMAKE_CROSSCOMPILING)
-  set(wxWidgets_FIND_STYLE "win32")
-else()
-  set(wxWidgets_FIND_STYLE "unix")
-endif()
-
-#=====================================================================
-# WIN32_FIND_STYLE
-#=====================================================================
-if(wxWidgets_FIND_STYLE STREQUAL "win32")
-  # Useful common wx libs needed by almost all components.
-  set(wxWidgets_COMMON_LIBRARIES png tiff jpeg zlib regex expat)
-
-  # DEPRECATED: Use find_package(wxWidgets COMPONENTS mono) instead.
-  if(NOT wxWidgets_FIND_COMPONENTS)
-    if(wxWidgets_USE_MONOLITHIC)
-      set(wxWidgets_FIND_COMPONENTS mono)
-    else()
-      set(wxWidgets_FIND_COMPONENTS core base) # this is default
-    endif()
-  endif()
-
-  # Add the common (usually required libs) unless
-  # wxWidgets_EXCLUDE_COMMON_LIBRARIES has been set.
-  if(NOT wxWidgets_EXCLUDE_COMMON_LIBRARIES)
-    list(APPEND wxWidgets_FIND_COMPONENTS
-      ${wxWidgets_COMMON_LIBRARIES})
-  endif()
-
-  #-------------------------------------------------------------------
-  # WIN32: Helper MACROS
-  #-------------------------------------------------------------------
-  #
-  # Get filename components for a configuration. For example,
-  #   if _CONFIGURATION = mswunivud, then _UNV=univ, _UCD=u _DBG=d
-  #   if _CONFIGURATION = mswu,      then _UNV="",   _UCD=u _DBG=""
-  #
-  macro(WX_GET_NAME_COMPONENTS _CONFIGURATION _UNV _UCD _DBG)
-    string(REGEX MATCH "univ" ${_UNV} "${_CONFIGURATION}")
-    string(REGEX REPLACE "msw.*(u)[d]*$" "u" ${_UCD} "${_CONFIGURATION}")
-    if(${_UCD} STREQUAL ${_CONFIGURATION})
-      set(${_UCD} "")
-    endif()
-    string(REGEX MATCH "d$" ${_DBG} "${_CONFIGURATION}")
-  endmacro()
-
-  #
-  # Find libraries associated to a configuration.
-  #
-  macro(WX_FIND_LIBS _UNV _UCD _DBG)
-    DBG_MSG_V("m_unv = ${_UNV}")
-    DBG_MSG_V("m_ucd = ${_UCD}")
-    DBG_MSG_V("m_dbg = ${_DBG}")
-
-    # FIXME: What if both regex libs are available. regex should be
-    # found outside the loop and only wx${LIB}${_UCD}${_DBG}.
-    # Find wxWidgets common libraries.
-    foreach(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
-      find_library(WX_${LIB}${_DBG}
-        NAMES
-        wx${LIB}${_UCD}${_DBG} # for regex
-        wx${LIB}${_DBG}
-        PATHS ${WX_LIB_DIR}
-        NO_DEFAULT_PATH
-        )
-      mark_as_advanced(WX_${LIB}${_DBG})
-    endforeach()
-
-    # Find wxWidgets multilib base libraries.
-    find_library(WX_base${_DBG}
-      NAMES
-      wxbase31${_UCD}${_DBG}
-      wxbase30${_UCD}${_DBG}
-      wxbase29${_UCD}${_DBG}
-      wxbase28${_UCD}${_DBG}
-      wxbase27${_UCD}${_DBG}
-      wxbase26${_UCD}${_DBG}
-      wxbase25${_UCD}${_DBG}
-      PATHS ${WX_LIB_DIR}
-      NO_DEFAULT_PATH
-      )
-    mark_as_advanced(WX_base${_DBG})
-    foreach(LIB net odbc xml)
-      find_library(WX_${LIB}${_DBG}
-        NAMES
-        wxbase31${_UCD}${_DBG}_${LIB}
-        wxbase30${_UCD}${_DBG}_${LIB}
-        wxbase29${_UCD}${_DBG}_${LIB}
-        wxbase28${_UCD}${_DBG}_${LIB}
-        wxbase27${_UCD}${_DBG}_${LIB}
-        wxbase26${_UCD}${_DBG}_${LIB}
-        wxbase25${_UCD}${_DBG}_${LIB}
-        PATHS ${WX_LIB_DIR}
-        NO_DEFAULT_PATH
-        )
-      mark_as_advanced(WX_${LIB}${_DBG})
-    endforeach()
-
-    # Find wxWidgets monolithic library.
-    find_library(WX_mono${_DBG}
-      NAMES
-      wxmsw${_UNV}31${_UCD}${_DBG}
-      wxmsw${_UNV}30${_UCD}${_DBG}
-      wxmsw${_UNV}29${_UCD}${_DBG}
-      wxmsw${_UNV}28${_UCD}${_DBG}
-      wxmsw${_UNV}27${_UCD}${_DBG}
-      wxmsw${_UNV}26${_UCD}${_DBG}
-      wxmsw${_UNV}25${_UCD}${_DBG}
-      PATHS ${WX_LIB_DIR}
-      NO_DEFAULT_PATH
-      )
-    mark_as_advanced(WX_mono${_DBG})
-
-    # Find wxWidgets multilib libraries.
-    foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
-                stc ribbon propgrid webview)
-      find_library(WX_${LIB}${_DBG}
-        NAMES
-        wxmsw${_UNV}31${_UCD}${_DBG}_${LIB}
-        wxmsw${_UNV}30${_UCD}${_DBG}_${LIB}
-        wxmsw${_UNV}29${_UCD}${_DBG}_${LIB}
-        wxmsw${_UNV}28${_UCD}${_DBG}_${LIB}
-        wxmsw${_UNV}27${_UCD}${_DBG}_${LIB}
-        wxmsw${_UNV}26${_UCD}${_DBG}_${LIB}
-        wxmsw${_UNV}25${_UCD}${_DBG}_${LIB}
-        PATHS ${WX_LIB_DIR}
-        NO_DEFAULT_PATH
-        )
-      mark_as_advanced(WX_${LIB}${_DBG})
-    endforeach()
-  endmacro()
-
-  #
-  # Clear all library paths, so that FIND_LIBRARY refinds them.
-  #
-  # Clear a lib, reset its found flag, and mark as advanced.
-  macro(WX_CLEAR_LIB _LIB)
-    set(${_LIB} "${_LIB}-NOTFOUND" CACHE FILEPATH "Cleared." FORCE)
-    set(${_LIB}_FOUND FALSE)
-    mark_as_advanced(${_LIB})
-  endmacro()
-  # Clear all debug or release library paths (arguments are "d" or "").
-  macro(WX_CLEAR_ALL_LIBS _DBG)
-    # Clear wxWidgets common libraries.
-    foreach(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
-      WX_CLEAR_LIB(WX_${LIB}${_DBG})
-    endforeach()
-
-    # Clear wxWidgets multilib base libraries.
-    WX_CLEAR_LIB(WX_base${_DBG})
-    foreach(LIB net odbc xml)
-      WX_CLEAR_LIB(WX_${LIB}${_DBG})
-    endforeach()
-
-    # Clear wxWidgets monolithic library.
-    WX_CLEAR_LIB(WX_mono${_DBG})
-
-    # Clear wxWidgets multilib libraries.
-    foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
-                webview stc ribbon propgrid)
-      WX_CLEAR_LIB(WX_${LIB}${_DBG})
-    endforeach()
-  endmacro()
-  # Clear all wxWidgets debug libraries.
-  macro(WX_CLEAR_ALL_DBG_LIBS)
-    WX_CLEAR_ALL_LIBS("d")
-  endmacro()
-  # Clear all wxWidgets release libraries.
-  macro(WX_CLEAR_ALL_REL_LIBS)
-    WX_CLEAR_ALL_LIBS("")
-  endmacro()
-
-  #
-  # Set the wxWidgets_LIBRARIES variable.
-  # Also, Sets output variable wxWidgets_FOUND to FALSE if it fails.
-  #
-  macro(WX_SET_LIBRARIES _LIBS _DBG)
-    DBG_MSG_V("Looking for ${${_LIBS}}")
-    if(WX_USE_REL_AND_DBG)
-      foreach(LIB ${${_LIBS}})
-        DBG_MSG_V("Searching for ${LIB} and ${LIB}d")
-        DBG_MSG_V("WX_${LIB}  : ${WX_${LIB}}")
-        DBG_MSG_V("WX_${LIB}d : ${WX_${LIB}d}")
-        if(WX_${LIB} AND WX_${LIB}d)
-          DBG_MSG_V("Found ${LIB} and ${LIB}d")
-          list(APPEND wxWidgets_LIBRARIES
-            debug ${WX_${LIB}d} optimized ${WX_${LIB}}
-            )
-        else()
-          DBG_MSG_V("- not found due to missing WX_${LIB}=${WX_${LIB}} or WX_${LIB}d=${WX_${LIB}d}")
-          set(wxWidgets_FOUND FALSE)
-        endif()
-      endforeach()
-    else()
-      foreach(LIB ${${_LIBS}})
-        DBG_MSG_V("Searching for ${LIB}${_DBG}")
-        DBG_MSG_V("WX_${LIB}${_DBG} : ${WX_${LIB}${_DBG}}")
-        if(WX_${LIB}${_DBG})
-          DBG_MSG_V("Found ${LIB}${_DBG}")
-          list(APPEND wxWidgets_LIBRARIES ${WX_${LIB}${_DBG}})
-        else()
-          DBG_MSG_V(
-            "- not found due to missing WX_${LIB}${_DBG}=${WX_${LIB}${_DBG}}")
-          set(wxWidgets_FOUND FALSE)
-        endif()
-      endforeach()
-    endif()
-
-    DBG_MSG_V("OpenGL")
-    list(FIND ${_LIBS} gl WX_USE_GL)
-    if(NOT WX_USE_GL EQUAL -1)
-      DBG_MSG_V("- is required.")
-      list(APPEND wxWidgets_LIBRARIES opengl32 glu32)
-    endif()
-
-    list(APPEND wxWidgets_LIBRARIES winmm comctl32 rpcrt4 wsock32)
-  endmacro()
-
-  #-------------------------------------------------------------------
-  # WIN32: Start actual work.
-  #-------------------------------------------------------------------
-
-  # Look for an installation tree.
-  find_path(wxWidgets_ROOT_DIR
-    NAMES include/wx/wx.h
-    PATHS
-      ENV wxWidgets_ROOT_DIR
-      ENV WXWIN
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]"  # WX 2.6.x
-      C:/
-      D:/
-      ENV ProgramFiles
-    PATH_SUFFIXES
-      wxWidgets-3.0.2
-      wxWidgets-3.0.1
-      wxWidgets-3.0.0
-      wxWidgets-2.9.5
-      wxWidgets-2.9.4
-      wxWidgets-2.9.3
-      wxWidgets-2.9.2
-      wxWidgets-2.9.1
-      wxWidgets-2.9.0
-      wxWidgets-2.8.9
-      wxWidgets-2.8.8
-      wxWidgets-2.8.7
-      wxWidgets-2.8.6
-      wxWidgets-2.8.5
-      wxWidgets-2.8.4
-      wxWidgets-2.8.3
-      wxWidgets-2.8.2
-      wxWidgets-2.8.1
-      wxWidgets-2.8.0
-      wxWidgets-2.7.4
-      wxWidgets-2.7.3
-      wxWidgets-2.7.2
-      wxWidgets-2.7.1
-      wxWidgets-2.7.0
-      wxWidgets-2.7.0-1
-      wxWidgets-2.6.4
-      wxWidgets-2.6.3
-      wxWidgets-2.6.2
-      wxWidgets-2.6.1
-      wxWidgets-2.5.4
-      wxWidgets-2.5.3
-      wxWidgets-2.5.2
-      wxWidgets-2.5.1
-      wxWidgets
-    DOC "wxWidgets base/installation directory"
-    )
-
-  # If wxWidgets_ROOT_DIR changed, clear lib dir.
-  if(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
-    set(WX_ROOT_DIR ${wxWidgets_ROOT_DIR}
-        CACHE INTERNAL "wxWidgets_ROOT_DIR")
-    set(wxWidgets_LIB_DIR "wxWidgets_LIB_DIR-NOTFOUND"
-        CACHE PATH "Cleared." FORCE)
-  endif()
-
-  if(WX_ROOT_DIR)
-    # Select one default tree inside the already determined wx tree.
-    # Prefer static/shared order usually consistent with build
-    # settings.
-    if(MINGW)
-      set(WX_LIB_DIR_PREFIX gcc)
-    elseif(CMAKE_CL_64)
-      set(WX_LIB_DIR_PREFIX vc_x64)
-    else()
-      set(WX_LIB_DIR_PREFIX vc)
-    endif()
-    if(BUILD_SHARED_LIBS)
-      find_path(wxWidgets_LIB_DIR
-        NAMES
-          msw/wx/setup.h
-          mswd/wx/setup.h
-          mswu/wx/setup.h
-          mswud/wx/setup.h
-          mswuniv/wx/setup.h
-          mswunivd/wx/setup.h
-          mswunivu/wx/setup.h
-          mswunivud/wx/setup.h
-        PATHS
-        ${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll   # prefer shared
-        ${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib
-        DOC "Path to wxWidgets libraries"
-        NO_DEFAULT_PATH
-        )
-    else()
-      find_path(wxWidgets_LIB_DIR
-        NAMES
-          msw/wx/setup.h
-          mswd/wx/setup.h
-          mswu/wx/setup.h
-          mswud/wx/setup.h
-          mswuniv/wx/setup.h
-          mswunivd/wx/setup.h
-          mswunivu/wx/setup.h
-          mswunivud/wx/setup.h
-        PATHS
-        ${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib   # prefer static
-        ${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll
-        DOC "Path to wxWidgets libraries"
-        NO_DEFAULT_PATH
-        )
-    endif()
-
-    # If wxWidgets_LIB_DIR changed, clear all libraries.
-    if(NOT WX_LIB_DIR STREQUAL wxWidgets_LIB_DIR)
-      set(WX_LIB_DIR ${wxWidgets_LIB_DIR} CACHE INTERNAL "wxWidgets_LIB_DIR")
-      WX_CLEAR_ALL_DBG_LIBS()
-      WX_CLEAR_ALL_REL_LIBS()
-    endif()
-
-    if(WX_LIB_DIR)
-      # If building shared libs, define WXUSINGDLL to use dllimport.
-      if(WX_LIB_DIR MATCHES "[dD][lL][lL]")
-        set(wxWidgets_DEFINITIONS WXUSINGDLL)
-        DBG_MSG_V("detected SHARED/DLL tree WX_LIB_DIR=${WX_LIB_DIR}")
-      endif()
-
-      # Search for available configuration types.
-      foreach(CFG mswunivud mswunivd mswud mswd mswunivu mswuniv mswu msw)
-        set(WX_${CFG}_FOUND FALSE)
-        if(EXISTS ${WX_LIB_DIR}/${CFG})
-          list(APPEND WX_CONFIGURATION_LIST ${CFG})
-          set(WX_${CFG}_FOUND TRUE)
-          set(WX_CONFIGURATION ${CFG})
-        endif()
-      endforeach()
-      DBG_MSG_V("WX_CONFIGURATION_LIST=${WX_CONFIGURATION_LIST}")
-
-      if(WX_CONFIGURATION)
-        set(wxWidgets_FOUND TRUE)
-
-        # If the selected configuration wasn't found force the default
-        # one. Otherwise, use it but still force a refresh for
-        # updating the doc string with the current list of available
-        # configurations.
-        if(NOT WX_${wxWidgets_CONFIGURATION}_FOUND)
-          set(wxWidgets_CONFIGURATION ${WX_CONFIGURATION} CACHE STRING
-            "Set wxWidgets configuration (${WX_CONFIGURATION_LIST})" FORCE)
-        else()
-          set(wxWidgets_CONFIGURATION ${wxWidgets_CONFIGURATION} CACHE STRING
-            "Set wxWidgets configuration (${WX_CONFIGURATION_LIST})" FORCE)
-        endif()
-
-        # If release config selected, and both release/debug exist.
-        if(WX_${wxWidgets_CONFIGURATION}d_FOUND)
-          option(wxWidgets_USE_REL_AND_DBG
-            "Use release and debug configurations?" TRUE)
-          set(WX_USE_REL_AND_DBG ${wxWidgets_USE_REL_AND_DBG})
-        else()
-          # If the option exists (already in cache), force it false.
-          if(wxWidgets_USE_REL_AND_DBG)
-            set(wxWidgets_USE_REL_AND_DBG FALSE CACHE BOOL
-              "No ${wxWidgets_CONFIGURATION}d found." FORCE)
-          endif()
-          set(WX_USE_REL_AND_DBG FALSE)
-        endif()
-
-        # Get configuration parameters from the name.
-        WX_GET_NAME_COMPONENTS(${wxWidgets_CONFIGURATION} UNV UCD DBG)
-
-        # Set wxWidgets lib setup include directory.
-        if(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h)
-          set(wxWidgets_INCLUDE_DIRS
-            ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION})
-        else()
-          DBG_MSG("wxWidgets_FOUND FALSE because ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h does not exists.")
-          set(wxWidgets_FOUND FALSE)
-        endif()
-
-        # Set wxWidgets main include directory.
-        if(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h)
-          list(APPEND wxWidgets_INCLUDE_DIRS ${WX_ROOT_DIR}/include)
-        else()
-          DBG_MSG("wxWidgets_FOUND FALSE because WX_ROOT_DIR=${WX_ROOT_DIR} has no ${WX_ROOT_DIR}/include/wx/wx.h")
-          set(wxWidgets_FOUND FALSE)
-        endif()
-
-        # Find wxWidgets libraries.
-        WX_FIND_LIBS("${UNV}" "${UCD}" "${DBG}")
-        if(WX_USE_REL_AND_DBG)
-          WX_FIND_LIBS("${UNV}" "${UCD}" "d")
-        endif()
-
-        # Settings for requested libs (i.e., include dir, libraries, etc.).
-        WX_SET_LIBRARIES(wxWidgets_FIND_COMPONENTS "${DBG}")
-
-        # Add necessary definitions for unicode builds
-        if("${UCD}" STREQUAL "u")
-          list(APPEND wxWidgets_DEFINITIONS UNICODE _UNICODE)
-        endif()
-
-        # Add necessary definitions for debug builds
-        set(wxWidgets_DEFINITIONS_DEBUG _DEBUG __WXDEBUG__)
-
-      endif()
-    endif()
-  endif()
-
-#=====================================================================
-# UNIX_FIND_STYLE
-#=====================================================================
-else()
-  if(wxWidgets_FIND_STYLE STREQUAL "unix")
-    #-----------------------------------------------------------------
-    # UNIX: Helper MACROS
-    #-----------------------------------------------------------------
-    #
-    # Set the default values based on "wx-config --selected-config".
-    #
-    macro(WX_CONFIG_SELECT_GET_DEFAULT)
-      execute_process(
-        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
-          ${wxWidgets_CONFIG_OPTIONS} --selected-config
-        OUTPUT_VARIABLE _wx_selected_config
-        RESULT_VARIABLE _wx_result
-        ERROR_QUIET
-        )
-      if(_wx_result EQUAL 0)
-        foreach(_opt_name debug static unicode universal)
-          string(TOUPPER ${_opt_name} _upper_opt_name)
-          if(_wx_selected_config MATCHES "${_opt_name}")
-            set(wxWidgets_DEFAULT_${_upper_opt_name} ON)
-          else()
-            set(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
-          endif()
-        endforeach()
-      else()
-        foreach(_upper_opt_name DEBUG STATIC UNICODE UNIVERSAL)
-          set(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
-        endforeach()
-      endif()
-    endmacro()
-
-    #
-    # Query a boolean configuration option to determine if the system
-    # has both builds available. If so, provide the selection option
-    # to the user.
-    #
-    macro(WX_CONFIG_SELECT_QUERY_BOOL _OPT_NAME _OPT_HELP)
-      execute_process(
-        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
-          ${wxWidgets_CONFIG_OPTIONS} --${_OPT_NAME}=yes
-        RESULT_VARIABLE _wx_result_yes
-        OUTPUT_QUIET
-        ERROR_QUIET
-        )
-      execute_process(
-        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
-          ${wxWidgets_CONFIG_OPTIONS} --${_OPT_NAME}=no
-        RESULT_VARIABLE _wx_result_no
-        OUTPUT_QUIET
-        ERROR_QUIET
-        )
-      string(TOUPPER ${_OPT_NAME} _UPPER_OPT_NAME)
-      if(_wx_result_yes EQUAL 0 AND _wx_result_no EQUAL 0)
-        option(wxWidgets_USE_${_UPPER_OPT_NAME}
-          ${_OPT_HELP} ${wxWidgets_DEFAULT_${_UPPER_OPT_NAME}})
-      else()
-        # If option exists (already in cache), force to available one.
-        if(DEFINED wxWidgets_USE_${_UPPER_OPT_NAME})
-          if(_wx_result_yes EQUAL 0)
-            set(wxWidgets_USE_${_UPPER_OPT_NAME} ON  CACHE BOOL ${_OPT_HELP} FORCE)
-          else()
-            set(wxWidgets_USE_${_UPPER_OPT_NAME} OFF CACHE BOOL ${_OPT_HELP} FORCE)
-          endif()
-        endif()
-      endif()
-    endmacro()
-
-    #
-    # Set wxWidgets_SELECT_OPTIONS to wx-config options for selecting
-    # among multiple builds.
-    #
-    macro(WX_CONFIG_SELECT_SET_OPTIONS)
-      set(wxWidgets_SELECT_OPTIONS ${wxWidgets_CONFIG_OPTIONS})
-      foreach(_opt_name debug static unicode universal)
-        string(TOUPPER ${_opt_name} _upper_opt_name)
-        if(DEFINED wxWidgets_USE_${_upper_opt_name})
-          if(wxWidgets_USE_${_upper_opt_name})
-            list(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=yes)
-          else()
-            list(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=no)
-          endif()
-        endif()
-      endforeach()
-    endmacro()
-
-    #-----------------------------------------------------------------
-    # UNIX: Start actual work.
-    #-----------------------------------------------------------------
-    # Support cross-compiling, only search in the target platform.
-    find_program(wxWidgets_CONFIG_EXECUTABLE
-      NAMES wx-config wx-config-3.1 wx-config-3.0 wx-config-2.9 wx-config-2.8
-      DOC "Location of wxWidgets library configuration provider binary (wx-config)."
-      ONLY_CMAKE_FIND_ROOT_PATH
-      )
-
-    if(wxWidgets_CONFIG_EXECUTABLE)
-      set(wxWidgets_FOUND TRUE)
-
-      # get defaults based on "wx-config --selected-config"
-      WX_CONFIG_SELECT_GET_DEFAULT()
-
-      # for each option: if both builds are available, provide option
-      WX_CONFIG_SELECT_QUERY_BOOL(debug "Use debug build?")
-      WX_CONFIG_SELECT_QUERY_BOOL(unicode "Use unicode build?")
-      WX_CONFIG_SELECT_QUERY_BOOL(universal "Use universal build?")
-      WX_CONFIG_SELECT_QUERY_BOOL(static "Link libraries statically?")
-
-      # process selection to set wxWidgets_SELECT_OPTIONS
-      WX_CONFIG_SELECT_SET_OPTIONS()
-      DBG_MSG("wxWidgets_SELECT_OPTIONS=${wxWidgets_SELECT_OPTIONS}")
-
-      # run the wx-config program to get cxxflags
-      execute_process(
-        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
-          ${wxWidgets_SELECT_OPTIONS} --cxxflags
-        OUTPUT_VARIABLE wxWidgets_CXX_FLAGS
-        RESULT_VARIABLE RET
-        ERROR_QUIET
-        )
-      if(RET EQUAL 0)
-        string(STRIP "${wxWidgets_CXX_FLAGS}" wxWidgets_CXX_FLAGS)
-        separate_arguments(wxWidgets_CXX_FLAGS)
-
-        DBG_MSG_V("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
-
-        # parse definitions from cxxflags;
-        #   drop -D* from CXXFLAGS and the -D prefix
-        string(REGEX MATCHALL "-D[^;]+"
-          wxWidgets_DEFINITIONS  "${wxWidgets_CXX_FLAGS}")
-        string(REGEX REPLACE "-D[^;]+(;|$)" ""
-          wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
-        string(REGEX REPLACE ";$" ""
-          wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
-        string(REPLACE "-D" ""
-          wxWidgets_DEFINITIONS "${wxWidgets_DEFINITIONS}")
-
-        # parse include dirs from cxxflags; drop -I prefix
-        string(REGEX MATCHALL "-I[^;]+"
-          wxWidgets_INCLUDE_DIRS "${wxWidgets_CXX_FLAGS}")
-        string(REGEX REPLACE "-I[^;]+;" ""
-          wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
-        string(REPLACE "-I" ""
-          wxWidgets_INCLUDE_DIRS "${wxWidgets_INCLUDE_DIRS}")
-
-        DBG_MSG_V("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
-        DBG_MSG_V("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
-        DBG_MSG_V("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
-
-      else()
-        set(wxWidgets_FOUND FALSE)
-        DBG_MSG_V(
-          "${wxWidgets_CONFIG_EXECUTABLE} --cxxflags FAILED with RET=${RET}")
-      endif()
-
-      # run the wx-config program to get the libs
-      # - NOTE: wx-config doesn't verify that the libs requested exist
-      #         it just produces the names. Maybe a TRY_COMPILE would
-      #         be useful here...
-      string(REPLACE ";" ","
-        wxWidgets_FIND_COMPONENTS "${wxWidgets_FIND_COMPONENTS}")
-      execute_process(
-        COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
-          ${wxWidgets_SELECT_OPTIONS} --libs ${wxWidgets_FIND_COMPONENTS}
-        OUTPUT_VARIABLE wxWidgets_LIBRARIES
-        RESULT_VARIABLE RET
-        ERROR_QUIET
-        )
-      if(RET EQUAL 0)
-        string(STRIP "${wxWidgets_LIBRARIES}" wxWidgets_LIBRARIES)
-        separate_arguments(wxWidgets_LIBRARIES)
-        string(REPLACE "-framework;" "-framework "
-          wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
-        string(REPLACE "-arch;" "-arch "
-          wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
-        string(REPLACE "-isysroot;" "-isysroot "
-          wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
-
-        # extract linkdirs (-L) for rpath (i.e., LINK_DIRECTORIES)
-        string(REGEX MATCHALL "-L[^;]+"
-          wxWidgets_LIBRARY_DIRS "${wxWidgets_LIBRARIES}")
-        string(REPLACE "-L" ""
-          wxWidgets_LIBRARY_DIRS "${wxWidgets_LIBRARY_DIRS}")
-
-        DBG_MSG_V("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
-        DBG_MSG_V("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
-
-      else()
-        set(wxWidgets_FOUND FALSE)
-        DBG_MSG("${wxWidgets_CONFIG_EXECUTABLE} --libs ${wxWidgets_FIND_COMPONENTS} FAILED with RET=${RET}")
-      endif()
-    endif()
-
-    # When using wx-config in MSYS, the include paths are UNIX style paths which may or may
-    # not work correctly depending on you MSYS/MinGW configuration.  CMake expects native
-    # paths internally.
-    if(wxWidgets_FOUND AND MSYS)
-      find_program(_cygpath_exe cygpath ONLY_CMAKE_FIND_ROOT_PATH)
-      DBG_MSG_V("_cygpath_exe:  ${_cygpath_exe}")
-      if(_cygpath_exe)
-        set(_tmp_path "")
-        foreach(_path ${wxWidgets_INCLUDE_DIRS})
-          execute_process(
-            COMMAND cygpath -w ${_path}
-            OUTPUT_VARIABLE _native_path
-            RESULT_VARIABLE _retv
-            OUTPUT_STRIP_TRAILING_WHITESPACE
-            ERROR_QUIET
-            )
-          if(_retv EQUAL 0)
-            file(TO_CMAKE_PATH ${_native_path} _native_path)
-            DBG_MSG_V("Path ${_path} converted to ${_native_path}")
-            set(_tmp_path "${_tmp_path} ${_native_path}")
-          endif()
-        endforeach()
-        DBG_MSG("Setting wxWidgets_INCLUDE_DIRS = ${_tmp_path}")
-        set(wxWidgets_INCLUDE_DIRS ${_tmp_path})
-        separate_arguments(wxWidgets_INCLUDE_DIRS)
-        list(REMOVE_ITEM wxWidgets_INCLUDE_DIRS "")
-      endif()
-      unset(_cygpath_exe CACHE)
-    endif()
-
-#=====================================================================
-# Neither UNIX_FIND_STYLE, nor WIN32_FIND_STYLE
-#=====================================================================
-  else()
-    if(NOT wxWidgets_FIND_QUIETLY)
-      message(STATUS
-        "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): \n"
-        "  Platform unknown/unsupported. It's neither WIN32 nor UNIX "
-        "find style."
-        )
-    endif()
-  endif()
-endif()
-
-# Check if a specfic version was requested by find_package().
-if(wxWidgets_FOUND)
-  find_file(_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
-  dbg_msg("_filename:  ${_filename}")
-
-  if(NOT _filename)
-    message(FATAL_ERROR "wxWidgets wx/version.h file not found in ${wxWidgets_INCLUDE_DIRS}.")
-  endif()
-
-  file(READ ${_filename} _wx_version_h)
-
-  string(REGEX REPLACE "^(.*\n)?#define +wxMAJOR_VERSION +([0-9]+).*"
-    "\\2" wxWidgets_VERSION_MAJOR "${_wx_version_h}" )
-  string(REGEX REPLACE "^(.*\n)?#define +wxMINOR_VERSION +([0-9]+).*"
-    "\\2" wxWidgets_VERSION_MINOR "${_wx_version_h}" )
-  string(REGEX REPLACE "^(.*\n)?#define +wxRELEASE_NUMBER +([0-9]+).*"
-    "\\2" wxWidgets_VERSION_PATCH "${_wx_version_h}" )
-  set(wxWidgets_VERSION_STRING
-    "${wxWidgets_VERSION_MAJOR}.${wxWidgets_VERSION_MINOR}.${wxWidgets_VERSION_PATCH}" )
-  dbg_msg("wxWidgets_VERSION_STRING:    ${wxWidgets_VERSION_STRING}")
-endif()
-
-# Debug output:
-DBG_MSG("wxWidgets_FOUND           : ${wxWidgets_FOUND}")
-DBG_MSG("wxWidgets_INCLUDE_DIRS    : ${wxWidgets_INCLUDE_DIRS}")
-DBG_MSG("wxWidgets_LIBRARY_DIRS    : ${wxWidgets_LIBRARY_DIRS}")
-DBG_MSG("wxWidgets_LIBRARIES       : ${wxWidgets_LIBRARIES}")
-DBG_MSG("wxWidgets_CXX_FLAGS       : ${wxWidgets_CXX_FLAGS}")
-DBG_MSG("wxWidgets_USE_FILE        : ${wxWidgets_USE_FILE}")
-
-#=====================================================================
-#=====================================================================
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-find_package_handle_standard_args(wxWidgets
-  REQUIRED_VARS wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS
-  VERSION_VAR   wxWidgets_VERSION_STRING
-  )
-
-#=====================================================================
-# Macros for use in wxWidgets apps.
-# - This module will not fail to find wxWidgets based on the code
-#   below. Hence, it's required to check for validity of:
-#
-# wxWidgets_wxrc_EXECUTABLE
-#=====================================================================
-
-# Resource file compiler.
-find_program(wxWidgets_wxrc_EXECUTABLE wxrc
-  ${wxWidgets_ROOT_DIR}/utils/wxrc/vc_msw
-  DOC "Location of wxWidgets resource file compiler binary (wxrc)"
-  )
-
-#
-# WX_SPLIT_ARGUMENTS_ON(<keyword> <left> <right> <arg1> <arg2> ...)
-#
-# Sets <left> and <right> to contain arguments to the left and right,
-# respectively, of <keyword>.
-#
-# Example usage:
-#  function(WXWIDGETS_ADD_RESOURCES outfiles)
-#    WX_SPLIT_ARGUMENTS_ON(OPTIONS wxrc_files wxrc_options ${ARGN})
-#    ...
-#  endfunction()
-#
-#  WXWIDGETS_ADD_RESOURCES(sources ${xrc_files} OPTIONS -e -o file.C)
-#
-# NOTE: This is a generic piece of code that should be renamed to
-# SPLIT_ARGUMENTS_ON and put in a file serving the same purpose as
-# FindPackageStandardArgs.cmake. At the time of this writing
-# FindQt4.cmake has a QT4_EXTRACT_OPTIONS, which I basically copied
-# here a bit more generalized. So, there are already two find modules
-# using this approach.
-#
-function(WX_SPLIT_ARGUMENTS_ON _keyword _leftvar _rightvar)
-  # FIXME: Document that the input variables will be cleared.
-  #list(APPEND ${_leftvar}  "")
-  #list(APPEND ${_rightvar} "")
-  set(${_leftvar}  "")
-  set(${_rightvar} "")
-
-  set(_doing_right FALSE)
-  foreach(element ${ARGN})
-    if("${element}" STREQUAL "${_keyword}")
-      set(_doing_right TRUE)
-    else()
-      if(_doing_right)
-        list(APPEND ${_rightvar} "${element}")
-      else()
-        list(APPEND ${_leftvar} "${element}")
-      endif()
-    endif()
-  endforeach()
-
-  set(${_leftvar}  ${${_leftvar}}  PARENT_SCOPE)
-  set(${_rightvar} ${${_rightvar}} PARENT_SCOPE)
-endfunction()
-
-#
-# WX_GET_DEPENDENCIES_FROM_XML(
-#   <depends>
-#   <match_pattern>
-#   <clean_pattern>
-#   <xml_contents>
-#   <depends_path>
-#   )
-#
-# FIXME: Add documentation here...
-#
-function(WX_GET_DEPENDENCIES_FROM_XML
-    _depends
-    _match_patt
-    _clean_patt
-    _xml_contents
-    _depends_path
-    )
-
-  string(REGEX MATCHALL
-    ${_match_patt}
-    dep_file_list
-    "${${_xml_contents}}"
-    )
-  foreach(dep_file ${dep_file_list})
-    string(REGEX REPLACE ${_clean_patt} "" dep_file "${dep_file}")
-
-    # make the file have an absolute path
-    if(NOT IS_ABSOLUTE "${dep_file}")
-      set(dep_file "${${_depends_path}}/${dep_file}")
-    endif()
-
-    # append file to dependency list
-    list(APPEND ${_depends} "${dep_file}")
-  endforeach()
-
-  set(${_depends} ${${_depends}} PARENT_SCOPE)
-endfunction()
-
-#
-# WXWIDGETS_ADD_RESOURCES(<sources> <xrc_files>
-#                         OPTIONS <options> [NO_CPP_CODE])
-#
-# Adds a custom command for resource file compilation of the
-# <xrc_files> and appends the output files to <sources>.
-#
-# Example usages:
-#   WXWIDGETS_ADD_RESOURCES(sources xrc/main_frame.xrc)
-#   WXWIDGETS_ADD_RESOURCES(sources ${xrc_files} OPTIONS -e -o altname.cxx)
-#
-function(WXWIDGETS_ADD_RESOURCES _outfiles)
-  WX_SPLIT_ARGUMENTS_ON(OPTIONS rc_file_list rc_options ${ARGN})
-
-  # Parse files for dependencies.
-  set(rc_file_list_abs "")
-  set(rc_depends       "")
-  foreach(rc_file ${rc_file_list})
-    get_filename_component(depends_path ${rc_file} PATH)
-
-    get_filename_component(rc_file_abs ${rc_file} ABSOLUTE)
-    list(APPEND rc_file_list_abs "${rc_file_abs}")
-
-    # All files have absolute paths or paths relative to the location
-    # of the rc file.
-    file(READ "${rc_file_abs}" rc_file_contents)
-
-    # get bitmap/bitmap2 files
-    WX_GET_DEPENDENCIES_FROM_XML(
-      rc_depends
-      "<bitmap[^<]+"
-      "^<bitmap[^>]*>"
-      rc_file_contents
-      depends_path
-      )
-
-    # get url files
-    WX_GET_DEPENDENCIES_FROM_XML(
-      rc_depends
-      "<url[^<]+"
-      "^<url[^>]*>"
-      rc_file_contents
-      depends_path
-      )
-
-    # get wxIcon files
-    WX_GET_DEPENDENCIES_FROM_XML(
-      rc_depends
-      "<object[^>]*class=\"wxIcon\"[^<]+"
-      "^<object[^>]*>"
-      rc_file_contents
-      depends_path
-      )
-  endforeach()
-
-  #
-  # Parse options.
-  #
-  # If NO_CPP_CODE option specified, then produce .xrs file rather
-  # than a .cpp file (i.e., don't add the default --cpp-code option).
-  list(FIND rc_options NO_CPP_CODE index)
-  if(index EQUAL -1)
-    list(APPEND rc_options --cpp-code)
-    # wxrc's default output filename for cpp code.
-    set(outfile resource.cpp)
-  else()
-    list(REMOVE_AT rc_options ${index})
-    # wxrc's default output filename for xrs file.
-    set(outfile resource.xrs)
-  endif()
-
-  # Get output name for use in ADD_CUSTOM_COMMAND.
-  # - short option scanning
-  list(FIND rc_options -o index)
-  if(NOT index EQUAL -1)
-    math(EXPR filename_index "${index} + 1")
-    list(GET rc_options ${filename_index} outfile)
-    #list(REMOVE_AT rc_options ${index} ${filename_index})
-  endif()
-  # - long option scanning
-  string(REGEX MATCH "--output=[^;]*" outfile_opt "${rc_options}")
-  if(outfile_opt)
-    string(REPLACE "--output=" "" outfile "${outfile_opt}")
-  endif()
-  #string(REGEX REPLACE "--output=[^;]*;?" "" rc_options "${rc_options}")
-  #string(REGEX REPLACE ";$" "" rc_options "${rc_options}")
-
-  if(NOT IS_ABSOLUTE "${outfile}")
-    set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
-  endif()
-  add_custom_command(
-    OUTPUT "${outfile}"
-    COMMAND ${wxWidgets_wxrc_EXECUTABLE} ${rc_options} ${rc_file_list_abs}
-    DEPENDS ${rc_file_list_abs} ${rc_depends}
-    )
-
-  # Add generated header to output file list.
-  list(FIND rc_options -e short_index)
-  list(FIND rc_options --extra-cpp-code long_index)
-  if(NOT short_index EQUAL -1 OR NOT long_index EQUAL -1)
-    get_filename_component(outfile_ext ${outfile} EXT)
-    string(REPLACE "${outfile_ext}" ".h" outfile_header "${outfile}")
-    list(APPEND ${_outfiles} "${outfile_header}")
-    set_source_files_properties(
-      "${outfile_header}" PROPERTIES GENERATED TRUE
-      )
-  endif()
-
-  # Add generated file to output file list.
-  list(APPEND ${_outfiles} "${outfile}")
-
-  set(${_outfiles} ${${_outfiles}} PARENT_SCOPE)
-endfunction()
diff --git a/share/cmake-3.6/Modules/FindwxWindows.cmake b/share/cmake-3.6/Modules/FindwxWindows.cmake
deleted file mode 100644
index 6e441c3..0000000
--- a/share/cmake-3.6/Modules/FindwxWindows.cmake
+++ /dev/null
@@ -1,737 +0,0 @@
-#.rst:
-# FindwxWindows
-# -------------
-#
-# Find wxWindows (wxWidgets) installation
-#
-# This module finds if wxWindows/wxWidgets is installed and determines
-# where the include files and libraries are.  It also determines what
-# the name of the library is.  Please note this file is DEPRECATED and
-# replaced by FindwxWidgets.cmake.  This code sets the following
-# variables:
-#
-# ::
-#
-#   WXWINDOWS_FOUND     = system has WxWindows
-#   WXWINDOWS_LIBRARIES = path to the wxWindows libraries
-#                         on Unix/Linux with additional
-#                         linker flags from
-#                         "wx-config --libs"
-#   CMAKE_WXWINDOWS_CXX_FLAGS  = Compiler flags for wxWindows,
-#                                essentially "`wx-config --cxxflags`"
-#                                on Linux
-#   WXWINDOWS_INCLUDE_DIR      = where to find "wx/wx.h" and "wx/setup.h"
-#   WXWINDOWS_LINK_DIRECTORIES = link directories, useful for rpath on
-#                                 Unix
-#   WXWINDOWS_DEFINITIONS      = extra defines
-#
-#
-#
-# OPTIONS If you need OpenGL support please
-#
-# ::
-#
-#   set(WXWINDOWS_USE_GL 1)
-#
-# in your CMakeLists.txt *before* you include this file.
-#
-# ::
-#
-#   HAVE_ISYSTEM      - true required to replace -I by -isystem on g++
-#
-#
-#
-# For convenience include Use_wxWindows.cmake in your project's
-# CMakeLists.txt using
-# include(${CMAKE_CURRENT_LIST_DIR}/Use_wxWindows.cmake).
-#
-# USAGE
-#
-# ::
-#
-#   set(WXWINDOWS_USE_GL 1)
-#   find_package(wxWindows)
-#
-#
-#
-# NOTES wxWidgets 2.6.x is supported for monolithic builds e.g.
-# compiled in wx/build/msw dir as:
-#
-# ::
-#
-#   nmake -f makefile.vc BUILD=debug SHARED=0 USE_OPENGL=1 MONOLITHIC=1
-#
-#
-#
-# DEPRECATED
-#
-# ::
-#
-#   CMAKE_WX_CAN_COMPILE
-#   WXWINDOWS_LIBRARY
-#   CMAKE_WX_CXX_FLAGS
-#   WXWINDOWS_INCLUDE_PATH
-#
-#
-#
-# AUTHOR Jan Woetzel <http://www.mip.informatik.uni-kiel.de/~jw>
-# (07/2003-01/2006)
-
-#=============================================================================
-# Copyright 2000-2009 Kitware, Inc.
-# Copyright 2003-2006 Jan Woetzel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# ------------------------------------------------------------------
-#
-# -removed OPTION for CMAKE_WXWINDOWS_USE_GL. Force the developer to SET it before calling this.
-# -major update for wx 2.6.2 and monolithic build option. (10/2005)
-#
-# STATUS
-# tested with:
-#  cmake 1.6.7, Linux (Suse 7.3), wxWindows 2.4.0, gcc 2.95
-#  cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.0, gcc 3.3
-#  cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.1-patch1,  gcc 3.3
-#  cmake 1.6.7, MS Windows XP home, wxWindows 2.4.1, MS Visual Studio .net 7 2002 (static build)
-#  cmake 2.0.5 on Windows XP and Suse Linux 9.2
-#  cmake 2.0.6 on Windows XP and Suse Linux 9.2, wxWidgets 2.6.2 MONOLITHIC build
-#  cmake 2.2.2 on Windows XP, MS Visual Studio .net 2003 7.1 wxWidgets 2.6.2 MONOLITHIC build
-#
-# TODO
-#  -OPTION for unicode builds
-#  -further testing of DLL linking under MS WIN32
-#  -better support for non-monolithic builds
-#
-
-
-if(WIN32)
-  set(WIN32_STYLE_FIND 1)
-endif()
-if(MINGW)
-  set(WIN32_STYLE_FIND 0)
-  set(UNIX_STYLE_FIND 1)
-endif()
-if(UNIX)
-  set(UNIX_STYLE_FIND 1)
-endif()
-
-
-if(WIN32_STYLE_FIND)
-
-  ## ######################################################################
-  ##
-  ## Windows specific:
-  ##
-  ## candidates for root/base directory of wxwindows
-  ## should have subdirs include and lib containing include/wx/wx.h
-  ## fix the root dir to avoid mixing of headers/libs from different
-  ## versions/builds:
-
-  ## WX supports monolithic and multiple smaller libs (since 2.5.x), we prefer monolithic for now.
-  ## monolithic = WX is built as a single big library
-  ## e.g. compile on WIN32 as  "nmake -f makefile.vc MONOLITHIC=1 BUILD=debug SHARED=0 USE_OPENGL=1" (JW)
-  option(WXWINDOWS_USE_MONOLITHIC "Use monolithic build of WX??" ON)
-  mark_as_advanced(WXWINDOWS_USE_MONOLITHIC)
-
-  ## GL libs used?
-  option(WXWINDOWS_USE_GL "Use Wx with GL support(glcanvas)?" ON)
-  mark_as_advanced(WXWINDOWS_USE_GL)
-
-
-  ## avoid mixing of headers and libs between multiple installed WX versions,
-  ## select just one tree here:
-  find_path(WXWINDOWS_ROOT_DIR  include/wx/wx.h
-    HINTS
-      ENV WXWIN
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]"  ## WX 2.6.x
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]"  ## WX 2.4.x
-    PATHS
-      C:/wxWidgets-2.6.2
-      D:/wxWidgets-2.6.2
-      C:/wxWidgets-2.6.1
-      D:/wxWidgets-2.6.1
-      C:/wxWindows-2.4.2
-      D:/wxWindows-2.4.2
-  )
-  # message("DBG found WXWINDOWS_ROOT_DIR: ${WXWINDOWS_ROOT_DIR}")
-
-
-  ## find libs for combination of static/shared with release/debug
-  ## be careful if you add something here,
-  ## avoid mixing of headers and libs of different wx versions,
-  ## there may be multiple WX versions installed.
-  set (WXWINDOWS_POSSIBLE_LIB_PATHS
-    "${WXWINDOWS_ROOT_DIR}/lib"
-    )
-
-  ## monolithic?
-  if (WXWINDOWS_USE_MONOLITHIC)
-
-    find_library(WXWINDOWS_STATIC_LIBRARY
-      NAMES wx wxmsw wxmsw26
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static release build library" )
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY
-      NAMES wxd wxmswd wxmsw26d
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug build library" )
-
-    find_library(WXWINDOWS_SHARED_LIBRARY
-      NAMES wxmsw26 wxmsw262 wxmsw24 wxmsw242 wxmsw241 wxmsw240 wx23_2 wx22_9
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows shared release build library" )
-
-    find_library(WXWINDOWS_SHARED_DEBUG_LIBRARY
-      NAMES wxmsw26d wxmsw262d wxmsw24d wxmsw241d wxmsw240d wx23_2d wx22_9d
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows shared debug build library " )
-
-
-    ##
-    ## required for WXWINDOWS_USE_GL
-    ## gl lib is always build separate:
-    ##
-    find_library(WXWINDOWS_STATIC_LIBRARY_GL
-      NAMES wx_gl wxmsw_gl wxmsw26_gl
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static release build GL library" )
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
-      NAMES wxd_gl wxmswd_gl wxmsw26d_gl
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug build GL library" )
-
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
-      NAMES wxpngd
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug png library" )
-
-    find_library(WXWINDOWS_STATIC_LIBRARY_PNG
-      NAMES wxpng
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static png library" )
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
-      NAMES wxtiffd
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug tiff library" )
-
-    find_library(WXWINDOWS_STATIC_LIBRARY_TIFF
-      NAMES wxtiff
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static tiff library" )
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
-      NAMES wxjpegd  wxjpgd
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug jpeg library" )
-
-    find_library(WXWINDOWS_STATIC_LIBRARY_JPEG
-      NAMES wxjpeg wxjpg
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static jpeg library" )
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
-      NAMES wxzlibd
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug zlib library" )
-
-    find_library(WXWINDOWS_STATIC_LIBRARY_ZLIB
-      NAMES wxzlib
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static zib library" )
-
-    find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
-      NAMES wxregexd
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static debug regex library" )
-
-    find_library(WXWINDOWS_STATIC_LIBRARY_REGEX
-      NAMES wxregex
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows static regex library" )
-
-
-
-    ## untested:
-    find_library(WXWINDOWS_SHARED_LIBRARY_GL
-      NAMES wx_gl wxmsw_gl wxmsw26_gl
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows shared release build GL library" )
-
-    find_library(WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
-      NAMES wxd_gl wxmswd_gl wxmsw26d_gl
-      PATHS
-      "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
-      ${WXWINDOWS_POSSIBLE_LIB_PATHS}
-      DOC "wxWindows shared debug build GL library" )
-
-
-  else ()
-    ## WX is built as multiple small pieces libraries instead of monolithic
-
-    ## DEPECATED (jw) replaced by more general WXWINDOWS_USE_MONOLITHIC ON/OFF
-    # option(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
-
-    ## HACK: This is very dirty.
-    ## because the libs of a particular version are explicitly listed
-    ## and NOT searched/verified.
-    ## TODO:  Really search for each lib, then decide for
-    ## monolithic x debug x shared x GL (=16 combinations) for at least 18 libs
-    ## -->  about 288 combinations
-    ## thus we need a different approach so solve this correctly ...
-
-    message(STATUS "Warning: You are trying to use wxWidgets without monolithic build (WXWINDOWS_SEPARATE_LIBS_BUILD). This is a HACK, libraries are not verified! (JW).")
-
-    set(WXWINDOWS_STATIC_LIBS ${WXWINDOWS_STATIC_LIBS}
-      wxbase26
-      wxbase26_net
-      wxbase26_odbc
-      wxbase26_xml
-      wxmsw26_adv
-      wxmsw26_core
-      wxmsw26_dbgrid
-      wxmsw26_gl
-      wxmsw26_html
-      wxmsw26_media
-      wxmsw26_qa
-      wxmsw26_xrc
-      wxexpat
-      wxjpeg
-      wxpng
-      wxregex
-      wxtiff
-      wxzlib
-      comctl32
-      rpcrt4
-      wsock32
-      )
-    ## HACK: feed in to optimized / debug libraries if both were FOUND.
-    set(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
-      wxbase26d
-      wxbase26d_net
-      wxbase26d_odbc
-      wxbase26d_xml
-      wxmsw26d_adv
-      wxmsw26d_core
-      wxmsw26d_dbgrid
-      wxmsw26d_gl
-      wxmsw26d_html
-      wxmsw26d_media
-      wxmsw26d_qa
-      wxmsw26d_xrc
-      wxexpatd
-      wxjpegd
-      wxpngd
-      wxregexd
-      wxtiffd
-      wxzlibd
-      comctl32
-      rpcrt4
-      wsock32
-      )
-  endif ()
-
-
-  ##
-  ## now we should have found all WX libs available on the system.
-  ## let the user decide which of the available onse to use.
-  ##
-
-  ## if there is at least one shared lib available
-  ## let user choose whether to use shared or static wxwindows libs
-  if(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
-    ## default value OFF because wxWindows MSVS default build is static
-    option(WXWINDOWS_USE_SHARED_LIBS
-      "Use shared versions (dll) of wxWindows libraries?" OFF)
-    mark_as_advanced(WXWINDOWS_USE_SHARED_LIBS)
-  endif()
-
-  ## add system libraries wxwindows always seems to depend on
-  set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-    comctl32
-    rpcrt4
-    wsock32
-    )
-
-  if (NOT WXWINDOWS_USE_SHARED_LIBS)
-    set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-      ##  these ones dont seem required, in particular  ctl3d32 is not neccesary (Jan Woetzel 07/2003)
-      #   ctl3d32
-      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB}   optimized ${WXWINDOWS_STATIC_LIBRARY_ZLIB}
-      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX}  optimized ${WXWINDOWS_STATIC_LIBRARY_REGEX}
-      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG}    optimized ${WXWINDOWS_STATIC_LIBRARY_PNG}
-      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG}   optimized ${WXWINDOWS_STATIC_LIBRARY_JPEG}
-      debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF}   optimized ${WXWINDOWS_STATIC_LIBRARY_TIFF}
-      )
-  endif ()
-
-  ## opengl/glu: TODO/FIXME: better use FindOpenGL.cmake here
-  ## assume release versions of glu an dopengl, here.
-  if (WXWINDOWS_USE_GL)
-    set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-      opengl32
-      glu32 )
-  endif ()
-
-  ##
-  ## select between use of  shared or static wxWindows lib then set libs to use
-  ## for debug and optimized build.  so the user can switch between debug and
-  ## release build e.g. within MS Visual Studio without running cmake with a
-  ## different build directory again.
-  ##
-  ## then add the build specific include dir for wx/setup.h
-  ##
-
-  if(WXWINDOWS_USE_SHARED_LIBS)
-    ##message("DBG wxWindows use shared lib selected.")
-    ## assume that both builds use the same setup(.h) for simplicity
-
-    ## shared: both wx (debug and release) found?
-    ## assume that both builds use the same setup(.h) for simplicity
-    if(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
-      ##message("DBG wx shared: debug and optimized found.")
-      find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
-        ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
-        ${WXWINDOWS_ROOT_DIR}/lib/mswdll
-        ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd
-        ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
-      set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-        debug     ${WXWINDOWS_SHARED_DEBUG_LIBRARY}
-        optimized ${WXWINDOWS_SHARED_LIBRARY} )
-      if (WXWINDOWS_USE_GL)
-        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-          debug     ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL}
-          optimized ${WXWINDOWS_SHARED_LIBRARY_GL} )
-      endif ()
-    endif()
-
-    ## shared: only debug wx lib found?
-    if(WXWINDOWS_SHARED_DEBUG_LIBRARY)
-      if(NOT WXWINDOWS_SHARED_LIBRARY)
-        ##message("DBG wx shared: debug (but no optimized) found.")
-        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
-          ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
-          ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd  )
-        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-          ${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
-        if (WXWINDOWS_USE_GL)
-          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-            ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
-        endif ()
-      endif()
-    endif()
-
-    ## shared: only release wx lib found?
-    if(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
-      if(WXWINDOWS_SHARED_LIBRARY)
-        ##message("DBG wx shared: optimized (but no debug) found.")
-        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
-          ${WXWINDOWS_ROOT_DIR}/lib/mswdll
-          ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw  )
-        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-          ${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
-        if (WXWINDOWS_USE_GL)
-          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-            ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
-        endif ()
-      endif()
-    endif()
-
-    ## shared: none found?
-    if(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
-      if(NOT WXWINDOWS_SHARED_LIBRARY)
-        message(STATUS
-          "No shared wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
-      endif()
-    endif()
-
-    #########################################################################################
-  else()
-
-    ##jw: DEPRECATED if(NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
-
-    ## static: both wx (debug and release) found?
-    ## assume that both builds use the same setup(.h) for simplicity
-    if(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
-      ##message("DBG wx static: debug and optimized found.")
-      find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
-        ${WXWINDOWS_ROOT_DIR}/lib/mswd
-        ${WXWINDOWS_ROOT_DIR}/lib/msw
-        ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd
-        ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
-      set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-        debug     ${WXWINDOWS_STATIC_DEBUG_LIBRARY}
-        optimized ${WXWINDOWS_STATIC_LIBRARY} )
-      if (WXWINDOWS_USE_GL)
-        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-          debug     ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL}
-          optimized ${WXWINDOWS_STATIC_LIBRARY_GL} )
-      endif ()
-    endif()
-
-    ## static: only debug wx lib found?
-    if(WXWINDOWS_STATIC_DEBUG_LIBRARY)
-      if(NOT WXWINDOWS_STATIC_LIBRARY)
-        ##message("DBG wx static: debug (but no optimized) found.")
-        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
-          ${WXWINDOWS_ROOT_DIR}/lib/mswd
-          ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd  )
-        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-          ${WXWINDOWS_STATIC_DEBUG_LIBRARY} )
-        if (WXWINDOWS_USE_GL)
-          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-            ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL} )
-        endif ()
-      endif()
-    endif()
-
-    ## static: only release wx lib found?
-    if(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
-      if(WXWINDOWS_STATIC_LIBRARY)
-        ##message("DBG wx static: optimized (but no debug) found.")
-        find_path(WXWINDOWS_INCLUDE_DIR_SETUPH  wx/setup.h
-          ${WXWINDOWS_ROOT_DIR}/lib/msw
-          ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
-        set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-          ${WXWINDOWS_STATIC_LIBRARY} )
-        if (WXWINDOWS_USE_GL)
-          set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
-            ${WXWINDOWS_STATIC_LIBRARY_GL} )
-        endif ()
-      endif()
-    endif()
-
-    ## static: none found?
-    if(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
-      if(NOT WXWINDOWS_STATIC_LIBRARY)
-        message(STATUS
-          "No static wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
-      endif()
-    endif()
-  endif()
-
-
-  ## not neccessary in wxWindows 2.4.1 and 2.6.2
-  ## but it may fix a previous bug, see
-  ## http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?8:mss:37574:200305:mpdioeneabobmgjenoap
-  option(WXWINDOWS_SET_DEFINITIONS "Set additional defines for wxWindows" OFF)
-  mark_as_advanced(WXWINDOWS_SET_DEFINITIONS)
-  if (WXWINDOWS_SET_DEFINITIONS)
-    set(WXWINDOWS_DEFINITIONS "-DWINVER=0x400")
-  else ()
-    # clear:
-    set(WXWINDOWS_DEFINITIONS "")
-  endif ()
-
-
-
-  ## Find the include directories for wxwindows
-  ## the first, build specific for wx/setup.h was determined before.
-  ## add inc dir for general for "wx/wx.h"
-  find_path(WXWINDOWS_INCLUDE_DIR  wx/wx.h
-    "${WXWINDOWS_ROOT_DIR}/include" )
-  ## append the build specific include dir for wx/setup.h:
-  if (WXWINDOWS_INCLUDE_DIR_SETUPH)
-    set(WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${WXWINDOWS_INCLUDE_DIR_SETUPH} )
-  endif ()
-
-
-
-  mark_as_advanced(
-    WXWINDOWS_ROOT_DIR
-    WXWINDOWS_INCLUDE_DIR
-    WXWINDOWS_INCLUDE_DIR_SETUPH
-    WXWINDOWS_STATIC_LIBRARY
-    WXWINDOWS_STATIC_LIBRARY_GL
-    WXWINDOWS_STATIC_DEBUG_LIBRARY
-    WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
-    WXWINDOWS_STATIC_LIBRARY_ZLIB
-    WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
-    WXWINDOWS_STATIC_LIBRARY_REGEX
-    WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
-    WXWINDOWS_STATIC_LIBRARY_PNG
-    WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
-    WXWINDOWS_STATIC_LIBRARY_JPEG
-    WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
-    WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
-    WXWINDOWS_STATIC_LIBRARY_TIFF
-    WXWINDOWS_SHARED_LIBRARY
-    WXWINDOWS_SHARED_DEBUG_LIBRARY
-    WXWINDOWS_SHARED_LIBRARY_GL
-    WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
-    )
-
-
-else()
-
-  if (UNIX_STYLE_FIND)
-    ## ######################################################################
-    ##
-    ## UNIX/Linux specific:
-    ##
-    ## use backquoted wx-config to query and set flags and libs:
-    ## 06/2003 Jan Woetzel
-    ##
-
-    option(WXWINDOWS_USE_SHARED_LIBS "Use shared versions (.so) of wxWindows libraries" ON)
-    mark_as_advanced(WXWINDOWS_USE_SHARED_LIBS)
-
-    # JW removed option and force the develper th SET it.
-    # option(WXWINDOWS_USE_GL "use wxWindows with GL support (use additional
-    # --gl-libs for wx-config)?" OFF)
-
-    # wx-config should be in your path anyhow, usually no need to set WXWIN or
-    # search in ../wx or ../../wx
-    find_program(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE wx-config
-      HINTS
-        ENV WXWIN
-        $ENV{WXWIN}/bin
-      PATHS
-      ../wx/bin
-      ../../wx/bin )
-
-    # check whether wx-config was found:
-    if(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
-
-      # use shared/static wx lib?
-      # remember: always link shared to use systems GL etc. libs (no static
-      # linking, just link *against* static .a libs)
-      if(WXWINDOWS_USE_SHARED_LIBS)
-        set(WX_CONFIG_ARGS_LIBS "--libs")
-      else()
-        set(WX_CONFIG_ARGS_LIBS "--static --libs")
-      endif()
-
-      # do we need additionial wx GL stuff like GLCanvas ?
-      if(WXWINDOWS_USE_GL)
-        set(WX_CONFIG_ARGS_LIBS "${WX_CONFIG_ARGS_LIBS} --gl-libs" )
-      endif()
-      ##message("DBG: WX_CONFIG_ARGS_LIBS=${WX_CONFIG_ARGS_LIBS}===")
-
-      # set CXXFLAGS to be fed into CMAKE_CXX_FLAGS by the user:
-      if (HAVE_ISYSTEM) # does the compiler support -isystem ?
-              if (NOT APPLE) # -isystem seem sto be unsuppored on Mac
-                if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
-            if (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
-              set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
-            else()
-              set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags`")
-            endif()
-                endif()
-              endif ()
-      endif ()
-      ##message("DBG: for compilation:
-      ##CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS}===")
-
-      # keep the back-quoted string for clarity
-      set(WXWINDOWS_LIBRARIES "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} ${WX_CONFIG_ARGS_LIBS}`")
-      ##message("DBG2: for linking:
-      ##WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}===")
-
-      # evaluate wx-config output to separate linker flags and linkdirs for
-      # rpath:
-      exec_program(${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
-        ARGS ${WX_CONFIG_ARGS_LIBS}
-        OUTPUT_VARIABLE WX_CONFIG_LIBS )
-
-      ## extract linkdirs (-L) for rpath
-      ## use regular expression to match wildcard equivalent "-L*<endchar>"
-      ## with <endchar> is a space or a semicolon
-      string(REGEX MATCHALL "[-][L]([^ ;])+" WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX "${WX_CONFIG_LIBS}" )
-      # message("DBG  WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX=${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX}")
-
-      ## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
-      ## replace -L by ; because the separator seems to be lost otherwise (bug or
-      ## feature?)
-      if(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
-        string(REGEX REPLACE "[-][L]" ";" WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX} )
-        # message("DBG  WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}")
-      endif()
-
-
-      ## replace space separated string by semicolon separated vector to make it
-      ## work with LINK_DIRECTORIES
-      separate_arguments(WXWINDOWS_LINK_DIRECTORIES)
-
-      mark_as_advanced(
-        CMAKE_WXWINDOWS_CXX_FLAGS
-        WXWINDOWS_INCLUDE_DIR
-        WXWINDOWS_LIBRARIES
-        CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE
-        )
-
-
-      ## we really need wx-config...
-    else()
-      message(STATUS "Cannot find wx-config anywhere on the system. Please put the file into your path or specify it in CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE.")
-      mark_as_advanced(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
-    endif()
-
-
-
-  else()
-    message(STATUS "FindwxWindows.cmake:  Platform unknown/unsupported by FindwxWindows.cmake. It's neither WIN32 nor UNIX")
-  endif()
-endif()
-
-
-if(WXWINDOWS_LIBRARIES)
-  if(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
-    ## found all we need.
-    set(WXWINDOWS_FOUND 1)
-
-    ## set deprecated variables for backward compatibility:
-    set(CMAKE_WX_CAN_COMPILE   ${WXWINDOWS_FOUND})
-    set(WXWINDOWS_LIBRARY     ${WXWINDOWS_LIBRARIES})
-    set(WXWINDOWS_INCLUDE_PATH ${WXWINDOWS_INCLUDE_DIR})
-    set(WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES})
-    set(CMAKE_WX_CXX_FLAGS     ${CMAKE_WXWINDOWS_CXX_FLAGS})
-
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/FortranCInterface.cmake b/share/cmake-3.6/Modules/FortranCInterface.cmake
deleted file mode 100644
index c12dd4c..0000000
--- a/share/cmake-3.6/Modules/FortranCInterface.cmake
+++ /dev/null
@@ -1,401 +0,0 @@
-#[=======================================================================[.rst:
-FortranCInterface
------------------
-
-Fortran/C Interface Detection
-
-This module automatically detects the API by which C and Fortran
-languages interact.
-
-Module Variables
-^^^^^^^^^^^^^^^^
-
-Variables that indicate if the mangling is found:
-
-``FortranCInterface_GLOBAL_FOUND``
-  Global subroutines and functions.
-
-``FortranCInterface_MODULE_FOUND``
-  Module subroutines and functions (declared by "MODULE PROCEDURE").
-
-This module also provides the following variables to specify
-the detected mangling, though a typical use case does not need
-to reference them and can use the `Module Functions`_ below.
-
-``FortranCInterface_GLOBAL_PREFIX``
-  Prefix for a global symbol without an underscore.
-
-``FortranCInterface_GLOBAL_SUFFIX``
-  Suffix for a global symbol without an underscore.
-
-``FortranCInterface_GLOBAL_CASE``
-  The case for a global symbol without an underscore,
-  either ``UPPER`` or ``LOWER``.
-
-``FortranCInterface_GLOBAL__PREFIX``
-  Prefix for a global symbol with an underscore.
-
-``FortranCInterface_GLOBAL__SUFFIX``
-  Suffix for a global symbol with an underscore.
-
-``FortranCInterface_GLOBAL__CASE``
-  The case for a global symbol with an underscore,
-  either ``UPPER`` or ``LOWER``.
-
-``FortranCInterface_MODULE_PREFIX``
-  Prefix for a module symbol without an underscore.
-
-``FortranCInterface_MODULE_MIDDLE``
-  Middle of a module symbol without an underscore that appears
-  between the name of the module and the name of the symbol.
-
-``FortranCInterface_MODULE_SUFFIX``
-  Suffix for a module symbol without an underscore.
-
-``FortranCInterface_MODULE_CASE``
-  The case for a module symbol without an underscore,
-  either ``UPPER`` or ``LOWER``.
-
-``FortranCInterface_MODULE__PREFIX``
-  Prefix for a module symbol with an underscore.
-
-``FortranCInterface_MODULE__MIDDLE``
-  Middle of a module symbol with an underscore that appears
-  between the name of the module and the name of the symbol.
-
-``FortranCInterface_MODULE__SUFFIX``
-  Suffix for a module symbol with an underscore.
-
-``FortranCInterface_MODULE__CASE``
-  The case for a module symbol with an underscore,
-  either ``UPPER`` or ``LOWER``.
-
-Module Functions
-^^^^^^^^^^^^^^^^
-
-.. command:: FortranCInterface_HEADER
-
-  The ``FortranCInterface_HEADER`` function is provided to generate a
-  C header file containing macros to mangle symbol names::
-
-    FortranCInterface_HEADER(<file>
-                             [MACRO_NAMESPACE <macro-ns>]
-                             [SYMBOL_NAMESPACE <ns>]
-                             [SYMBOLS [<module>:]<function> ...])
-
-  It generates in ``<file>`` definitions of the following macros::
-
-     #define FortranCInterface_GLOBAL (name,NAME) ...
-     #define FortranCInterface_GLOBAL_(name,NAME) ...
-     #define FortranCInterface_MODULE (mod,name, MOD,NAME) ...
-     #define FortranCInterface_MODULE_(mod,name, MOD,NAME) ...
-
-  These macros mangle four categories of Fortran symbols, respectively:
-
-  * Global symbols without '_': ``call mysub()``
-  * Global symbols with '_'   : ``call my_sub()``
-  * Module symbols without '_': ``use mymod; call mysub()``
-  * Module symbols with '_'   : ``use mymod; call my_sub()``
-
-  If mangling for a category is not known, its macro is left undefined.
-  All macros require raw names in both lower case and upper case.
-
-  The options are:
-
-  ``MACRO_NAMESPACE``
-    Replace the default ``FortranCInterface_`` prefix with a given
-    namespace ``<macro-ns>``.
-
-  ``SYMBOLS``
-    List symbols to mangle automatically with C preprocessor definitions::
-
-      <function>          ==> #define <ns><function> ...
-      <module>:<function> ==> #define <ns><module>_<function> ...
-
-    If the mangling for some symbol is not known then no preprocessor
-    definition is created, and a warning is displayed.
-
-  ``SYMBOL_NAMESPACE``
-    Prefix all preprocessor definitions generated by the ``SYMBOLS``
-    option with a given namespace ``<ns>``.
-
-.. command:: FortranCInterface_VERIFY
-
-  The ``FortranCInterface_VERIFY`` function is provided to verify
-  that the Fortran and C/C++ compilers work together::
-
-    FortranCInterface_VERIFY([CXX] [QUIET])
-
-  It tests whether a simple test executable using Fortran and C (and C++
-  when the CXX option is given) compiles and links successfully.  The
-  result is stored in the cache entry ``FortranCInterface_VERIFIED_C``
-  (or ``FortranCInterface_VERIFIED_CXX`` if ``CXX`` is given) as a boolean.
-  If the check fails and ``QUIET`` is not given the function terminates with a
-  fatal error message describing the problem.  The purpose of this check
-  is to stop a build early for incompatible compiler combinations.  The
-  test is built in the ``Release`` configuration.
-
-Example Usage
-^^^^^^^^^^^^^
-
-.. code-block:: cmake
-
-   include(FortranCInterface)
-   FortranCInterface_HEADER(FC.h MACRO_NAMESPACE "FC_")
-
-This creates a "FC.h" header that defines mangling macros ``FC_GLOBAL()``,
-``FC_GLOBAL_()``, ``FC_MODULE()``, and ``FC_MODULE_()``.
-
-.. code-block:: cmake
-
-   include(FortranCInterface)
-   FortranCInterface_HEADER(FCMangle.h
-                            MACRO_NAMESPACE "FC_"
-                            SYMBOL_NAMESPACE "FC_"
-                            SYMBOLS mysub mymod:my_sub)
-
-This creates a "FCMangle.h" header that defines the same ``FC_*()``
-mangling macros as the previous example plus preprocessor symbols
-``FC_mysub`` and ``FC_mymod_my_sub``.
-
-Additional Manglings
-^^^^^^^^^^^^^^^^^^^^
-
-FortranCInterface is aware of possible ``GLOBAL`` and ``MODULE`` manglings
-for many Fortran compilers, but it also provides an interface to specify
-new possible manglings.  Set the variables::
-
-   FortranCInterface_GLOBAL_SYMBOLS
-   FortranCInterface_MODULE_SYMBOLS
-
-before including FortranCInterface to specify manglings of the symbols
-``MySub``, ``My_Sub``, ``MyModule:MySub``, and ``My_Module:My_Sub``.
-For example, the code:
-
-.. code-block:: cmake
-
-   set(FortranCInterface_GLOBAL_SYMBOLS mysub_ my_sub__ MYSUB_)
-     #                                  ^^^^^  ^^^^^^   ^^^^^
-   set(FortranCInterface_MODULE_SYMBOLS
-       __mymodule_MOD_mysub __my_module_MOD_my_sub)
-     #   ^^^^^^^^     ^^^^^   ^^^^^^^^^     ^^^^^^
-   include(FortranCInterface)
-
-tells FortranCInterface to try given ``GLOBAL`` and ``MODULE`` manglings.
-(The carets point at raw symbol names for clarity in this example but
-are not needed.)
-#]=======================================================================]
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#-----------------------------------------------------------------------------
-# Execute at most once in a project.
-if(FortranCInterface_SOURCE_DIR)
-  return()
-endif()
-
-cmake_policy(PUSH)
-cmake_policy(SET CMP0007 NEW)
-
-#-----------------------------------------------------------------------------
-# Verify that C and Fortran are available.
-foreach(lang C Fortran)
-  if(NOT CMAKE_${lang}_COMPILER_LOADED)
-    message(FATAL_ERROR
-      "FortranCInterface requires the ${lang} language to be enabled.")
-  endif()
-endforeach()
-
-#-----------------------------------------------------------------------------
-set(FortranCInterface_SOURCE_DIR ${CMAKE_ROOT}/Modules/FortranCInterface)
-
-# MinGW's make tool does not always like () in the path
-if("${CMAKE_GENERATOR}" MATCHES "MinGW" AND
-    "${FortranCInterface_SOURCE_DIR}" MATCHES "[()]")
-  file(COPY ${FortranCInterface_SOURCE_DIR}/
-    DESTINATION ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterfaceMinGW)
-  set(FortranCInterface_SOURCE_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterfaceMinGW)
-endif()
-
-# Create the interface detection project if it does not exist.
-if(NOT FortranCInterface_BINARY_DIR)
-  set(FortranCInterface_BINARY_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterface)
-  include(${FortranCInterface_SOURCE_DIR}/Detect.cmake)
-endif()
-
-# Load the detection results.
-include(${FortranCInterface_BINARY_DIR}/Output.cmake)
-
-#-----------------------------------------------------------------------------
-function(FortranCInterface_HEADER file)
-  # Parse arguments.
-  if(IS_ABSOLUTE "${file}")
-    set(FILE "${file}")
-  else()
-    set(FILE "${CMAKE_CURRENT_BINARY_DIR}/${file}")
-  endif()
-  set(MACRO_NAMESPACE "FortranCInterface_")
-  set(SYMBOL_NAMESPACE)
-  set(SYMBOLS)
-  set(doing)
-  foreach(arg ${ARGN})
-    if("x${arg}" MATCHES "^x(SYMBOLS|SYMBOL_NAMESPACE|MACRO_NAMESPACE)$")
-      set(doing "${arg}")
-    elseif("x${doing}" MATCHES "^x(SYMBOLS)$")
-      list(APPEND "${doing}" "${arg}")
-    elseif("x${doing}" MATCHES "^x(SYMBOL_NAMESPACE|MACRO_NAMESPACE)$")
-      set("${doing}" "${arg}")
-      set(doing)
-    else()
-      message(AUTHOR_WARNING "Unknown argument: \"${arg}\"")
-    endif()
-  endforeach()
-
-  # Generate macro definitions.
-  set(HEADER_CONTENT)
-  set(_desc_GLOBAL  "/* Mangling for Fortran global symbols without underscores. */")
-  set(_desc_GLOBAL_ "/* Mangling for Fortran global symbols with underscores. */")
-  set(_desc_MODULE  "/* Mangling for Fortran module symbols without underscores. */")
-  set(_desc_MODULE_ "/* Mangling for Fortran module symbols with underscores. */")
-  foreach(macro GLOBAL GLOBAL_ MODULE MODULE_)
-    if(FortranCInterface_${macro}_MACRO)
-      set(HEADER_CONTENT "${HEADER_CONTENT}
-${_desc_${macro}}
-#define ${MACRO_NAMESPACE}${macro}${FortranCInterface_${macro}_MACRO}
-")
-    endif()
-  endforeach()
-
-  # Generate symbol mangling definitions.
-  if(SYMBOLS)
-    set(HEADER_CONTENT "${HEADER_CONTENT}
-/*--------------------------------------------------------------------------*/
-/* Mangle some symbols automatically.                                       */
-")
-  endif()
-  foreach(f ${SYMBOLS})
-    if("${f}" MATCHES ":")
-      # Module symbol name.  Parse "<module>:<function>" syntax.
-      string(REPLACE ":" ";" pieces "${f}")
-      list(GET pieces 0 module)
-      list(GET pieces 1 function)
-      string(TOUPPER "${module}" m_upper)
-      string(TOLOWER "${module}" m_lower)
-      string(TOUPPER "${function}" f_upper)
-      string(TOLOWER "${function}" f_lower)
-      if("${function}" MATCHES "_")
-        set(form "_")
-      else()
-        set(form "")
-      endif()
-      if(FortranCInterface_MODULE${form}_MACRO)
-        set(HEADER_CONTENT "${HEADER_CONTENT}#define ${SYMBOL_NAMESPACE}${module}_${function} ${MACRO_NAMESPACE}MODULE${form}(${m_lower},${f_lower}, ${m_upper},${f_upper})\n")
-      else()
-        message(AUTHOR_WARNING "No FortranCInterface mangling known for ${f}")
-      endif()
-    else()
-      # Global symbol name.
-      if("${f}" MATCHES "_")
-        set(form "_")
-      else()
-        set(form "")
-      endif()
-      string(TOUPPER "${f}" f_upper)
-      string(TOLOWER "${f}" f_lower)
-      if(FortranCInterface_GLOBAL${form}_MACRO)
-        set(HEADER_CONTENT "${HEADER_CONTENT}#define ${SYMBOL_NAMESPACE}${f} ${MACRO_NAMESPACE}GLOBAL${form}(${f_lower}, ${f_upper})\n")
-      else()
-        message(AUTHOR_WARNING "No FortranCInterface mangling known for ${f}")
-      endif()
-    endif()
-  endforeach()
-
-  # Store the content.
-  configure_file(${FortranCInterface_SOURCE_DIR}/Macro.h.in ${FILE} @ONLY)
-endfunction()
-
-function(FortranCInterface_VERIFY)
-  # Check arguments.
-
-  set(lang C)
-  set(quiet 0)
-  set(verify_cxx 0)
-  foreach(arg ${ARGN})
-    if("${arg}" STREQUAL "QUIET")
-      set(quiet 1)
-    elseif("${arg}" STREQUAL "CXX")
-      set(lang CXX)
-      set(verify_cxx 1)
-    else()
-      message(FATAL_ERROR
-        "FortranCInterface_VERIFY - called with unknown argument:\n  ${arg}")
-    endif()
-  endforeach()
-
-  if(NOT CMAKE_${lang}_COMPILER_LOADED)
-    message(FATAL_ERROR
-      "FortranCInterface_VERIFY(${lang}) requires ${lang} to be enabled.")
-  endif()
-
-  # Build the verification project if not yet built.
-  if(NOT DEFINED FortranCInterface_VERIFIED_${lang})
-    set(_desc "Verifying Fortran/${lang} Compiler Compatibility")
-    message(STATUS "${_desc}")
-
-    # Build a sample project which reports symbols.
-    set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
-    try_compile(FortranCInterface_VERIFY_${lang}_COMPILED
-      ${FortranCInterface_BINARY_DIR}/Verify${lang}
-      ${FortranCInterface_SOURCE_DIR}/Verify
-      VerifyFortranC
-      CMAKE_FLAGS -DVERIFY_CXX=${verify_cxx}
-                  -DCMAKE_VERBOSE_MAKEFILE=ON
-                 "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
-                 "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}"
-                 "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
-                 "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
-                 "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}"
-                 "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
-      OUTPUT_VARIABLE _output)
-    file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}")
-
-    # Report results.
-    if(FortranCInterface_VERIFY_${lang}_COMPILED)
-      message(STATUS "${_desc} - 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")
-      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")
-    endif()
-    unset(FortranCInterface_VERIFY_${lang}_COMPILED CACHE)
-  endif()
-
-  # Error if compilers are incompatible.
-  if(NOT FortranCInterface_VERIFIED_${lang} AND NOT quiet)
-    file(READ "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" _output)
-    string(REPLACE "\n" "\n  " _output "${_output}")
-    message(FATAL_ERROR
-      "The Fortran compiler:\n  ${CMAKE_Fortran_COMPILER}\n"
-      "and the ${lang} compiler:\n  ${CMAKE_${lang}_COMPILER}\n"
-      "failed to compile a simple test project using both languages.  "
-      "The output was:\n  ${_output}")
-  endif()
-endfunction()
-
-# Restore including context policies.
-cmake_policy(POP)
diff --git a/share/cmake-3.6/Modules/FortranCInterface/CMakeLists.txt b/share/cmake-3.6/Modules/FortranCInterface/CMakeLists.txt
deleted file mode 100644
index 721a262..0000000
--- a/share/cmake-3.6/Modules/FortranCInterface/CMakeLists.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-
-cmake_minimum_required(VERSION ${CMAKE_VERSION})
-project(FortranCInterface C Fortran)
-include(${FortranCInterface_BINARY_DIR}/Input.cmake OPTIONAL)
-
-# Check if the C compiler supports '$' in identifiers.
-include(CheckCSourceCompiles)
-check_c_source_compiles("
-extern int dollar$(void);
-int main() { return 0; }
-" C_SUPPORTS_DOLLAR)
-
-# List manglings of global symbol names to try.
-set(global_symbols
-  my_sub    # VisualAge
-  my_sub_   # GNU, Intel, HP, SunPro, MIPSpro
-  my_sub__  # GNU g77
-  MY_SUB    # Intel on Windows
-  mysub     # VisualAge
-  mysub_    # GNU, Intel, HP, SunPro, MIPSpro
-  MYSUB     # Intel on Windows
-  ${FortranCInterface_GLOBAL_SYMBOLS}
-  )
-list(REMOVE_DUPLICATES global_symbols)
-
-# List manglings of module symbol names to try.
-set(module_symbols
-  __my_module_MOD_my_sub  # GNU 4.3
-  __my_module_NMOD_my_sub # VisualAge
-  __my_module__my_sub     # GNU 4.2
-  __mymodule_MOD_mysub    # GNU 4.3
-  __mymodule_NMOD_mysub   # VisualAge
-  __mymodule__mysub       # GNU 4.2
-  my_module$my_sub        # HP
-  my_module_mp_my_sub_    # Intel
-  MY_MODULE_mp_MY_SUB     # Intel on Windows
-  my_module_my_sub_       # PGI
-  my_module_MP_my_sub     # NAG
-  mymodule$mysub          # HP
-  mymodule_mp_mysub_      # Intel
-  MYMODULE_mp_MYSUB       # Intel on Windows
-  mymodule_mysub_         # PGI
-  mymodule_MP_mysub       # NAG
-  ${FortranCInterface_MODULE_SYMBOLS}
-  )
-list(REMOVE_DUPLICATES module_symbols)
-
-# Note that some compiler manglings cannot be invoked from C:
-#   MIPSpro uses "MY_SUB.in.MY_MODULE"
-#   SunPro uses "my_module.my_sub_"
-#   PathScale uses "MY_SUB.in.MY_MODULE"
-
-# Add module symbols only with Fortran90.
-if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
-  set(myfort_modules mymodule.f90 my_module.f90)
-  set(call_mod call_mod.f90)
-  set_property(SOURCE main.F PROPERTY COMPILE_DEFINITIONS CALL_MOD)
-else()
-  set(module_symbols)
-endif()
-
-# Generate C symbol sources.
-set(symbol_sources)
-if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(PathScale|Cray)$")
-  # Provide mymodule_ and my_module_ init symbols because:
-  #  - PGI Fortran uses module init symbols
-  # but not for:
-  #  - PathScale Fortran uses module init symbols but module symbols
-  #    use '.in.' so we cannot provide them anyway.
-  #  - Cray Fortran >= 7.3.2 uses module init symbols but module symbols
-  #    use 'mysub$mymodule_' so we cannot provide them anyway.
-  list(APPEND symbol_sources mymodule_.c my_module_.c)
-endif()
-foreach(symbol IN LISTS global_symbols module_symbols)
-  # Skip symbols with '$' if C cannot handle them.
-  if(C_SUPPORTS_DOLLAR OR NOT "${symbol}" MATCHES "\\$")
-    if("${symbol}" MATCHES "SUB")
-      set(upper "-UPPER")
-    else()
-      set(upper)
-    endif()
-    string(REPLACE "$" "S" name "${symbol}")
-    set(source ${CMAKE_CURRENT_BINARY_DIR}/symbols/${name}${upper}.c)
-    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/symbol.c.in ${source} @ONLY)
-    list(APPEND symbol_sources ${source})
-  endif()
-endforeach()
-
-# Provide symbols through Fortran.
-add_library(myfort STATIC mysub.f my_sub.f ${myfort_modules})
-
-# Provide symbols through C but fall back to Fortran.
-add_library(symbols STATIC ${symbol_sources})
-target_link_libraries(symbols myfort)
-
-# Require symbols through Fortran.
-add_executable(FortranCInterface main.F call_sub.f ${call_mod})
-target_link_libraries(FortranCInterface symbols)
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Detect.cmake b/share/cmake-3.6/Modules/FortranCInterface/Detect.cmake
deleted file mode 100644
index bee7dae..0000000
--- a/share/cmake-3.6/Modules/FortranCInterface/Detect.cmake
+++ /dev/null
@@ -1,182 +0,0 @@
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-
-configure_file(${FortranCInterface_SOURCE_DIR}/Input.cmake.in
-               ${FortranCInterface_BINARY_DIR}/Input.cmake @ONLY)
-
-# Detect the Fortran/C interface on the first run or when the
-# configuration changes.
-if(${FortranCInterface_BINARY_DIR}/Input.cmake
-    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
-    OR ${FortranCInterface_SOURCE_DIR}/Output.cmake.in
-    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
-    OR ${FortranCInterface_SOURCE_DIR}/CMakeLists.txt
-    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
-    OR ${CMAKE_CURRENT_LIST_FILE}
-    IS_NEWER_THAN ${FortranCInterface_BINARY_DIR}/Output.cmake
-    )
-  message(STATUS "Detecting Fortran/C Interface")
-else()
-  return()
-endif()
-
-# Invalidate verification results.
-unset(FortranCInterface_VERIFIED_C CACHE)
-unset(FortranCInterface_VERIFIED_CXX CACHE)
-
-set(_result)
-
-# Build a sample project which reports symbols.
-try_compile(FortranCInterface_COMPILED
-  ${FortranCInterface_BINARY_DIR}
-  ${FortranCInterface_SOURCE_DIR}
-  FortranCInterface
-  CMAKE_FLAGS
-    "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
-    "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
-  OUTPUT_VARIABLE FortranCInterface_OUTPUT)
-set(FortranCInterface_COMPILED ${FortranCInterface_COMPILED})
-unset(FortranCInterface_COMPILED CACHE)
-
-# Locate the sample project executable.
-if(FortranCInterface_COMPILED)
-  find_program(FortranCInterface_EXE
-    NAMES FortranCInterface${CMAKE_EXECUTABLE_SUFFIX}
-    PATHS ${FortranCInterface_BINARY_DIR} ${FortranCInterface_BINARY_DIR}/Debug
-    NO_DEFAULT_PATH
-    )
-  set(FortranCInterface_EXE ${FortranCInterface_EXE})
-  unset(FortranCInterface_EXE CACHE)
-else()
-  set(_result "Failed to compile")
-  set(FortranCInterface_EXE)
-  file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-    "Fortran/C interface test project failed with the following output:\n"
-    "${FortranCInterface_OUTPUT}\n")
-endif()
-
-# Load symbols from INFO:symbol[] strings in the executable.
-set(FortranCInterface_SYMBOLS)
-if(FortranCInterface_EXE)
-  file(STRINGS "${FortranCInterface_EXE}" _info_strings
-    LIMIT_COUNT 8 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
-  foreach(info ${_info_strings})
-    if("${info}" MATCHES "INFO:symbol\\[([^]]*)\\]")
-      list(APPEND FortranCInterface_SYMBOLS ${CMAKE_MATCH_1})
-    endif()
-  endforeach()
-elseif(NOT _result)
-  set(_result "Failed to load sample executable")
-endif()
-
-set(_case_mysub "LOWER")
-set(_case_my_sub "LOWER")
-set(_case_MYSUB "UPPER")
-set(_case_MY_SUB "UPPER")
-set(_global_regex  "^(_*)(mysub|MYSUB)([_$]*)$")
-set(_global__regex "^(_*)(my_sub|MY_SUB)([_$]*)$")
-set(_module_regex  "^(_*)(mymodule|MYMODULE)([A-Za-z_$]*)(mysub|MYSUB)([_$]*)$")
-set(_module__regex "^(_*)(my_module|MY_MODULE)([A-Za-z_$]*)(my_sub|MY_SUB)([_$]*)$")
-
-# Parse the symbol names.
-foreach(symbol ${FortranCInterface_SYMBOLS})
-  foreach(form "" "_")
-    # Look for global symbols.
-    string(REGEX REPLACE "${_global_${form}regex}"
-                         "\\1;\\2;\\3" pieces "${symbol}")
-    list(LENGTH pieces len)
-    if(len EQUAL 3)
-      set(FortranCInterface_GLOBAL_${form}SYMBOL "${symbol}")
-      list(GET pieces 0 FortranCInterface_GLOBAL_${form}PREFIX)
-      list(GET pieces 1 name)
-      list(GET pieces 2 FortranCInterface_GLOBAL_${form}SUFFIX)
-      set(FortranCInterface_GLOBAL_${form}CASE "${_case_${name}}")
-    endif()
-
-    # Look for module symbols.
-    string(REGEX REPLACE "${_module_${form}regex}"
-                         "\\1;\\2;\\3;\\4;\\5" pieces "${symbol}")
-    list(LENGTH pieces len)
-    if(len EQUAL 5)
-      set(FortranCInterface_MODULE_${form}SYMBOL "${symbol}")
-      list(GET pieces 0 FortranCInterface_MODULE_${form}PREFIX)
-      list(GET pieces 1 module)
-      list(GET pieces 2 FortranCInterface_MODULE_${form}MIDDLE)
-      list(GET pieces 3 name)
-      list(GET pieces 4 FortranCInterface_MODULE_${form}SUFFIX)
-      set(FortranCInterface_MODULE_${form}CASE "${_case_${name}}")
-    endif()
-  endforeach()
-endforeach()
-
-# Construct mangling macro definitions.
-set(_name_LOWER "name")
-set(_name_UPPER "NAME")
-foreach(form "" "_")
-  if(FortranCInterface_GLOBAL_${form}SYMBOL)
-    if(FortranCInterface_GLOBAL_${form}PREFIX)
-      set(_prefix "${FortranCInterface_GLOBAL_${form}PREFIX}##")
-    else()
-      set(_prefix "")
-    endif()
-    if(FortranCInterface_GLOBAL_${form}SUFFIX)
-      set(_suffix "##${FortranCInterface_GLOBAL_${form}SUFFIX}")
-    else()
-      set(_suffix "")
-    endif()
-    set(_name "${_name_${FortranCInterface_GLOBAL_${form}CASE}}")
-    set(FortranCInterface_GLOBAL${form}_MACRO
-      "(name,NAME) ${_prefix}${_name}${_suffix}")
-  endif()
-  if(FortranCInterface_MODULE_${form}SYMBOL)
-    if(FortranCInterface_MODULE_${form}PREFIX)
-      set(_prefix "${FortranCInterface_MODULE_${form}PREFIX}##")
-    else()
-      set(_prefix "")
-    endif()
-    if(FortranCInterface_MODULE_${form}SUFFIX)
-      set(_suffix "##${FortranCInterface_MODULE_${form}SUFFIX}")
-    else()
-      set(_suffix "")
-    endif()
-    set(_name "${_name_${FortranCInterface_MODULE_${form}CASE}}")
-    set(_middle "##${FortranCInterface_MODULE_${form}MIDDLE}##")
-    set(FortranCInterface_MODULE${form}_MACRO
-      "(mod_name,name, mod_NAME,NAME) ${_prefix}mod_${_name}${_middle}${_name}${_suffix}")
-  endif()
-endforeach()
-
-# Summarize what is available.
-foreach(scope GLOBAL MODULE)
-  if(FortranCInterface_${scope}_SYMBOL AND
-      FortranCInterface_${scope}__SYMBOL)
-    set(FortranCInterface_${scope}_FOUND 1)
-  else()
-    set(FortranCInterface_${scope}_FOUND 0)
-  endif()
-endforeach()
-
-# Record the detection results.
-configure_file(${FortranCInterface_SOURCE_DIR}/Output.cmake.in
-               ${FortranCInterface_BINARY_DIR}/Output.cmake @ONLY)
-file(APPEND ${FortranCInterface_BINARY_DIR}/Output.cmake "\n")
-
-# Report the results.
-if(FortranCInterface_GLOBAL_FOUND)
-  if(FortranCInterface_MODULE_FOUND)
-    set(_result "Found GLOBAL and MODULE mangling")
-  else()
-    set(_result "Found GLOBAL but not MODULE mangling")
-  endif()
-elseif(NOT _result)
-  set(_result "Failed to recognize symbols")
-endif()
-message(STATUS "Detecting Fortran/C Interface - ${_result}")
diff --git a/share/cmake-3.6/Modules/FortranCInterface/Verify/CMakeLists.txt b/share/cmake-3.6/Modules/FortranCInterface/Verify/CMakeLists.txt
deleted file mode 100644
index cde3c53..0000000
--- a/share/cmake-3.6/Modules/FortranCInterface/Verify/CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-
-cmake_minimum_required(VERSION ${CMAKE_VERSION})
-project(VerifyFortranC C Fortran)
-
-option(VERIFY_CXX "Whether to verify C++ and Fortran" OFF)
-if(VERIFY_CXX)
-  enable_language(CXX)
-  set(VerifyCXX VerifyCXX.cxx)
-  add_definitions(-DVERIFY_CXX)
-endif()
-
-include(FortranCInterface)
-
-FortranCInterface_HEADER(VerifyFortran.h SYMBOLS VerifyFortran)
-include_directories(${VerifyFortranC_BINARY_DIR})
-
-add_library(VerifyFortran STATIC VerifyFortran.f)
-add_executable(VerifyFortranC main.c VerifyC.c ${VerifyCXX})
-target_link_libraries(VerifyFortranC VerifyFortran)
-
-if(NOT VERIFY_CXX)
-  # The entry point (main) is defined in C; link with the C compiler.
-  set_property(TARGET VerifyFortranC PROPERTY LINKER_LANGUAGE C)
-endif()
diff --git a/share/cmake-3.6/Modules/GNUInstallDirs.cmake b/share/cmake-3.6/Modules/GNUInstallDirs.cmake
deleted file mode 100644
index b42084e..0000000
--- a/share/cmake-3.6/Modules/GNUInstallDirs.cmake
+++ /dev/null
@@ -1,354 +0,0 @@
-#.rst:
-# GNUInstallDirs
-# --------------
-#
-# Define GNU standard installation directories
-#
-# Provides install directory variables as defined by the
-# `GNU Coding Standards`_.
-#
-# .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
-#
-# Result Variables
-# ^^^^^^^^^^^^^^^^
-#
-# Inclusion of this module defines the following variables:
-#
-# ``CMAKE_INSTALL_<dir>``
-#
-#   Destination for files of a given type.  This value may be passed to
-#   the ``DESTINATION`` options of :command:`install` commands for the
-#   corresponding file type.
-#
-# ``CMAKE_INSTALL_FULL_<dir>``
-#
-#   The absolute path generated from the corresponding ``CMAKE_INSTALL_<dir>``
-#   value.  If the value is not already an absolute path, an absolute path
-#   is constructed typically by prepending the value of the
-#   :variable:`CMAKE_INSTALL_PREFIX` variable.  However, there are some
-#   `special cases`_ as documented below.
-#
-# where ``<dir>`` is one of:
-#
-# ``BINDIR``
-#   user executables (``bin``)
-# ``SBINDIR``
-#   system admin executables (``sbin``)
-# ``LIBEXECDIR``
-#   program executables (``libexec``)
-# ``SYSCONFDIR``
-#   read-only single-machine data (``etc``)
-# ``SHAREDSTATEDIR``
-#   modifiable architecture-independent data (``com``)
-# ``LOCALSTATEDIR``
-#   modifiable single-machine data (``var``)
-# ``LIBDIR``
-#   object code libraries (``lib`` or ``lib64``
-#   or ``lib/<multiarch-tuple>`` on Debian)
-# ``INCLUDEDIR``
-#   C header files (``include``)
-# ``OLDINCLUDEDIR``
-#   C header files for non-gcc (``/usr/include``)
-# ``DATAROOTDIR``
-#   read-only architecture-independent data root (``share``)
-# ``DATADIR``
-#   read-only architecture-independent data (``DATAROOTDIR``)
-# ``INFODIR``
-#   info documentation (``DATAROOTDIR/info``)
-# ``LOCALEDIR``
-#   locale-dependent data (``DATAROOTDIR/locale``)
-# ``MANDIR``
-#   man documentation (``DATAROOTDIR/man``)
-# ``DOCDIR``
-#   documentation root (``DATAROOTDIR/doc/PROJECT_NAME``)
-#
-# If the includer does not define a value the above-shown default will be
-# used and the value will appear in the cache for editing by the user.
-#
-# Special Cases
-# ^^^^^^^^^^^^^
-#
-# The following values of :variable:`CMAKE_INSTALL_PREFIX` are special:
-#
-# ``/``
-#
-#   For ``<dir>`` other than the ``SYSCONFDIR`` and ``LOCALSTATEDIR``,
-#   the value of ``CMAKE_INSTALL_<dir>`` is prefixed with ``usr/`` if
-#   it is not user-specified as an absolute path.  For example, the
-#   ``INCLUDEDIR`` value ``include`` becomes ``usr/include``.
-#   This is required by the `GNU Coding Standards`_, which state:
-#
-#     When building the complete GNU system, the prefix will be empty
-#     and ``/usr`` will be a symbolic link to ``/``.
-#
-# ``/usr``
-#
-#   For ``<dir>`` equal to ``SYSCONFDIR`` or ``LOCALSTATEDIR``, the
-#   ``CMAKE_INSTALL_FULL_<dir>`` is computed by prepending just ``/``
-#   to the value of ``CMAKE_INSTALL_<dir>`` if it is not user-specified
-#   as an absolute path.  For example, the ``SYSCONFDIR`` value ``etc``
-#   becomes ``/etc``.  This is required by the `GNU Coding Standards`_.
-#
-# ``/opt/...``
-#
-#   For ``<dir>`` equal to ``SYSCONFDIR`` or ``LOCALSTATEDIR``, the
-#   ``CMAKE_INSTALL_FULL_<dir>`` is computed by *appending* the prefix
-#   to the value of ``CMAKE_INSTALL_<dir>`` if it is not user-specified
-#   as an absolute path.  For example, the ``SYSCONFDIR`` value ``etc``
-#   becomes ``/etc/opt/...``.  This is defined by the
-#   `Filesystem Hierarchy Standard`_.
-#
-# .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
-
-#=============================================================================
-# Copyright 2015 Alex Turbov <i.zaufi@gmail.com>
-# Copyright 2011 Nikita Krupen'ko <krnekit@gmail.com>
-# Copyright 2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Installation directories
-#
-if(NOT DEFINED CMAKE_INSTALL_BINDIR)
-  set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_SBINDIR)
-  set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR)
-  set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR)
-  set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR)
-  set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR)
-  set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)")
-endif()
-
-# We check if the variable was manually set and not cached, in order to
-# allow projects to set the values as normal variables before including
-# GNUInstallDirs to avoid having the entries cached or user-editable. It
-# replaces the "if(NOT DEFINED CMAKE_INSTALL_XXX)" checks in all the
-# other cases.
-# If CMAKE_INSTALL_LIBDIR is defined, if _libdir_set is false, then the
-# variable is a normal one, otherwise it is a cache one.
-get_property(_libdir_set CACHE CMAKE_INSTALL_LIBDIR PROPERTY TYPE SET)
-if(NOT DEFINED CMAKE_INSTALL_LIBDIR OR (_libdir_set
-    AND DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX
-    AND NOT "${_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX}" STREQUAL "${CMAKE_INSTALL_PREFIX}"))
-  # If CMAKE_INSTALL_LIBDIR is not defined, it is always executed.
-  # Otherwise:
-  #  * if _libdir_set is false it is not executed (meaning that it is
-  #    not a cache variable)
-  #  * if _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX is not defined it is
-  #    not executed
-  #  * if _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX and
-  #    CMAKE_INSTALL_PREFIX are the same string it is not executed.
-  #    _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX is updated after the
-  #    execution, of this part of code, therefore at the next inclusion
-  #    of the file, CMAKE_INSTALL_LIBDIR is defined, and the 2 strings
-  #    are equal, meaning that the if is not executed the code the
-  #    second time.
-
-  set(_LIBDIR_DEFAULT "lib")
-  # Override this default 'lib' with 'lib64' iff:
-  #  - we are on Linux system but NOT cross-compiling
-  #  - we are NOT on debian
-  #  - we are on a 64 bits system
-  # reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
-  # For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
-  # CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
-  # and CMAKE_INSTALL_PREFIX is "/usr"
-  # See http://wiki.debian.org/Multiarch
-  if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX)
-    set(__LAST_LIBDIR_DEFAULT "lib")
-    # __LAST_LIBDIR_DEFAULT is the default value that we compute from
-    # _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX, not a cache entry for
-    # the value that was last used as the default.
-    # This value is used to figure out whether the user changed the
-    # CMAKE_INSTALL_LIBDIR value manually, or if the value was the
-    # default one. When CMAKE_INSTALL_PREFIX changes, the value is
-    # updated to the new default, unless the user explicitly changed it.
-  endif()
-  if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
-      AND NOT CMAKE_CROSSCOMPILING)
-    if (EXISTS "/etc/debian_version") # is this a debian system ?
-      if(CMAKE_LIBRARY_ARCHITECTURE)
-        if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
-          set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
-        endif()
-        if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX
-            AND "${_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
-          set(__LAST_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
-        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()
-        endif()
-      endif()
-    endif()
-  endif()
-  if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
-    set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})")
-  elseif(DEFINED __LAST_LIBDIR_DEFAULT
-      AND "${__LAST_LIBDIR_DEFAULT}" STREQUAL "${CMAKE_INSTALL_LIBDIR}")
-    set_property(CACHE CMAKE_INSTALL_LIBDIR PROPERTY VALUE "${_LIBDIR_DEFAULT}")
-  endif()
-endif()
-# Save for next run
-set(_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE INTERNAL "CMAKE_INSTALL_PREFIX during last run")
-unset(_libdir_set)
-unset(__LAST_LIBDIR_DEFAULT)
-
-
-if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
-  set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR)
-  set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)")
-endif()
-
-if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR)
-  set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)")
-endif()
-
-#-----------------------------------------------------------------------------
-# Values whose defaults are relative to DATAROOTDIR.  Store empty values in
-# the cache and store the defaults in local variables if the cache values are
-# not set explicitly.  This auto-updates the defaults as DATAROOTDIR changes.
-
-if(NOT CMAKE_INSTALL_DATADIR)
-  set(CMAKE_INSTALL_DATADIR "" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)")
-  set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}")
-endif()
-
-if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
-  if(NOT CMAKE_INSTALL_INFODIR)
-    set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (info)")
-    set(CMAKE_INSTALL_INFODIR "info")
-  endif()
-
-  if(NOT CMAKE_INSTALL_MANDIR)
-    set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (man)")
-    set(CMAKE_INSTALL_MANDIR "man")
-  endif()
-else()
-  if(NOT CMAKE_INSTALL_INFODIR)
-    set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (DATAROOTDIR/info)")
-    set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info")
-  endif()
-
-  if(NOT CMAKE_INSTALL_MANDIR)
-    set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (DATAROOTDIR/man)")
-    set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man")
-  endif()
-endif()
-
-if(NOT CMAKE_INSTALL_LOCALEDIR)
-  set(CMAKE_INSTALL_LOCALEDIR "" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)")
-  set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
-endif()
-
-if(NOT CMAKE_INSTALL_DOCDIR)
-  set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)")
-  set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}")
-endif()
-
-#-----------------------------------------------------------------------------
-
-mark_as_advanced(
-  CMAKE_INSTALL_BINDIR
-  CMAKE_INSTALL_SBINDIR
-  CMAKE_INSTALL_LIBEXECDIR
-  CMAKE_INSTALL_SYSCONFDIR
-  CMAKE_INSTALL_SHAREDSTATEDIR
-  CMAKE_INSTALL_LOCALSTATEDIR
-  CMAKE_INSTALL_LIBDIR
-  CMAKE_INSTALL_INCLUDEDIR
-  CMAKE_INSTALL_OLDINCLUDEDIR
-  CMAKE_INSTALL_DATAROOTDIR
-  CMAKE_INSTALL_DATADIR
-  CMAKE_INSTALL_INFODIR
-  CMAKE_INSTALL_LOCALEDIR
-  CMAKE_INSTALL_MANDIR
-  CMAKE_INSTALL_DOCDIR
-  )
-
-# Result directories
-#
-foreach(dir
-    BINDIR
-    SBINDIR
-    LIBEXECDIR
-    SYSCONFDIR
-    SHAREDSTATEDIR
-    LOCALSTATEDIR
-    LIBDIR
-    INCLUDEDIR
-    OLDINCLUDEDIR
-    DATAROOTDIR
-    DATADIR
-    INFODIR
-    LOCALEDIR
-    MANDIR
-    DOCDIR
-    )
-  if(NOT IS_ABSOLUTE "${CMAKE_INSTALL_${dir}}")
-    # Handle special cases:
-    # - CMAKE_INSTALL_PREFIX == /
-    # - CMAKE_INSTALL_PREFIX == /usr
-    # - CMAKE_INSTALL_PREFIX == /opt/...
-    if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/")
-      if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR")
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}")
-      else()
-        if (NOT "${CMAKE_INSTALL_${dir}}" MATCHES "^usr/")
-          set(CMAKE_INSTALL_${dir} "usr/${CMAKE_INSTALL_${dir}}")
-        endif()
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}")
-      endif()
-    elseif("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
-      if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR")
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}")
-      else()
-        set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
-      endif()
-    elseif("${CMAKE_INSTALL_PREFIX}" MATCHES "^/opt/.*")
-      if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR")
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}${CMAKE_INSTALL_PREFIX}")
-      else()
-        set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
-      endif()
-    else()
-      set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
-    endif()
-  else()
-    set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}")
-  endif()
-endforeach()
diff --git a/share/cmake-3.6/Modules/GenerateExportHeader.cmake b/share/cmake-3.6/Modules/GenerateExportHeader.cmake
deleted file mode 100644
index 6389d30..0000000
--- a/share/cmake-3.6/Modules/GenerateExportHeader.cmake
+++ /dev/null
@@ -1,409 +0,0 @@
-#.rst:
-# GenerateExportHeader
-# --------------------
-#
-# Function for generation of export macros for libraries
-#
-# This module provides the function GENERATE_EXPORT_HEADER().
-#
-# The ``GENERATE_EXPORT_HEADER`` function can be used to generate a file
-# suitable for preprocessor inclusion which contains EXPORT macros to be
-# used in library classes::
-#
-#    GENERATE_EXPORT_HEADER( LIBRARY_TARGET
-#              [BASE_NAME <base_name>]
-#              [EXPORT_MACRO_NAME <export_macro_name>]
-#              [EXPORT_FILE_NAME <export_file_name>]
-#              [DEPRECATED_MACRO_NAME <deprecated_macro_name>]
-#              [NO_EXPORT_MACRO_NAME <no_export_macro_name>]
-#              [STATIC_DEFINE <static_define>]
-#              [NO_DEPRECATED_MACRO_NAME <no_deprecated_macro_name>]
-#              [DEFINE_NO_DEPRECATED]
-#              [PREFIX_NAME <prefix_name>]
-#    )
-#
-#
-# The target properties :prop_tgt:`CXX_VISIBILITY_PRESET <<LANG>_VISIBILITY_PRESET>`
-# and :prop_tgt:`VISIBILITY_INLINES_HIDDEN` can be used to add the appropriate
-# compile flags for targets.  See the documentation of those target properties,
-# and the convenience variables
-# :variable:`CMAKE_CXX_VISIBILITY_PRESET <CMAKE_<LANG>_VISIBILITY_PRESET>` and
-# :variable:`CMAKE_VISIBILITY_INLINES_HIDDEN`.
-#
-# By default ``GENERATE_EXPORT_HEADER()`` generates macro names in a file
-# name determined by the name of the library.  This means that in the
-# simplest case, users of ``GenerateExportHeader`` will be equivalent to:
-#
-# .. code-block:: cmake
-#
-#    set(CMAKE_CXX_VISIBILITY_PRESET hidden)
-#    set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
-#    add_library(somelib someclass.cpp)
-#    generate_export_header(somelib)
-#    install(TARGETS somelib DESTINATION ${LIBRARY_INSTALL_DIR})
-#    install(FILES
-#     someclass.h
-#     ${PROJECT_BINARY_DIR}/somelib_export.h DESTINATION ${INCLUDE_INSTALL_DIR}
-#    )
-#
-#
-# And in the ABI header files:
-#
-# .. code-block:: c++
-#
-#    #include "somelib_export.h"
-#    class SOMELIB_EXPORT SomeClass {
-#      ...
-#    };
-#
-#
-# The CMake fragment will generate a file in the
-# ``${CMAKE_CURRENT_BINARY_DIR}`` called ``somelib_export.h`` containing the
-# macros ``SOMELIB_EXPORT``, ``SOMELIB_NO_EXPORT``, ``SOMELIB_DEPRECATED``,
-# ``SOMELIB_DEPRECATED_EXPORT`` and ``SOMELIB_DEPRECATED_NO_EXPORT``.  The
-# resulting file should be installed with other headers in the library.
-#
-# The ``BASE_NAME`` argument can be used to override the file name and the
-# names used for the macros:
-#
-# .. code-block:: cmake
-#
-#    add_library(somelib someclass.cpp)
-#    generate_export_header(somelib
-#      BASE_NAME other_name
-#    )
-#
-#
-# Generates a file called ``other_name_export.h`` containing the macros
-# ``OTHER_NAME_EXPORT``, ``OTHER_NAME_NO_EXPORT`` and ``OTHER_NAME_DEPRECATED``
-# etc.
-#
-# The ``BASE_NAME`` may be overridden by specifiying other options in the
-# function.  For example:
-#
-# .. code-block:: cmake
-#
-#    add_library(somelib someclass.cpp)
-#    generate_export_header(somelib
-#      EXPORT_MACRO_NAME OTHER_NAME_EXPORT
-#    )
-#
-#
-# creates the macro ``OTHER_NAME_EXPORT`` instead of ``SOMELIB_EXPORT``, but
-# other macros and the generated file name is as default:
-#
-# .. code-block:: cmake
-#
-#    add_library(somelib someclass.cpp)
-#    generate_export_header(somelib
-#      DEPRECATED_MACRO_NAME KDE_DEPRECATED
-#    )
-#
-#
-# creates the macro ``KDE_DEPRECATED`` instead of ``SOMELIB_DEPRECATED``.
-#
-# If ``LIBRARY_TARGET`` is a static library, macros are defined without
-# values.
-#
-# If the same sources are used to create both a shared and a static
-# library, the uppercased symbol ``${BASE_NAME}_STATIC_DEFINE`` should be
-# used when building the static library:
-#
-# .. code-block:: cmake
-#
-#    add_library(shared_variant SHARED ${lib_SRCS})
-#    add_library(static_variant ${lib_SRCS})
-#    generate_export_header(shared_variant BASE_NAME libshared_and_static)
-#    set_target_properties(static_variant PROPERTIES
-#      COMPILE_FLAGS -DLIBSHARED_AND_STATIC_STATIC_DEFINE)
-#
-# This will cause the export macros to expand to nothing when building
-# the static library.
-#
-# If ``DEFINE_NO_DEPRECATED`` is specified, then a macro
-# ``${BASE_NAME}_NO_DEPRECATED`` will be defined This macro can be used to
-# remove deprecated code from preprocessor output:
-#
-# .. code-block:: cmake
-#
-#    option(EXCLUDE_DEPRECATED "Exclude deprecated parts of the library" FALSE)
-#    if (EXCLUDE_DEPRECATED)
-#      set(NO_BUILD_DEPRECATED DEFINE_NO_DEPRECATED)
-#    endif()
-#    generate_export_header(somelib ${NO_BUILD_DEPRECATED})
-#
-#
-# And then in somelib:
-#
-# .. code-block:: c++
-#
-#    class SOMELIB_EXPORT SomeClass
-#    {
-#    public:
-#    #ifndef SOMELIB_NO_DEPRECATED
-#      SOMELIB_DEPRECATED void oldMethod();
-#    #endif
-#    };
-#
-# .. code-block:: c++
-#
-#    #ifndef SOMELIB_NO_DEPRECATED
-#    void SomeClass::oldMethod() {  }
-#    #endif
-#
-#
-# If ``PREFIX_NAME`` is specified, the argument will be used as a prefix to
-# all generated macros.
-#
-# For example:
-#
-# .. code-block:: cmake
-#
-#    generate_export_header(somelib PREFIX_NAME VTK_)
-#
-# Generates the macros ``VTK_SOMELIB_EXPORT`` etc.
-#
-# ::
-#
-#    ADD_COMPILER_EXPORT_FLAGS( [<output_variable>] )
-#
-# The ``ADD_COMPILER_EXPORT_FLAGS`` function adds ``-fvisibility=hidden`` to
-# :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>` if supported, and is a no-op
-# on Windows which does not need extra compiler flags for exporting support.
-# You may optionally pass a single argument to ``ADD_COMPILER_EXPORT_FLAGS``
-# that will be populated with the ``CXX_FLAGS`` required to enable visibility
-# support for the compiler/architecture in use.
-#
-# This function is deprecated.  Set the target properties
-# :prop_tgt:`CXX_VISIBILITY_PRESET <<LANG>_VISIBILITY_PRESET>` and
-# :prop_tgt:`VISIBILITY_INLINES_HIDDEN` instead.
-
-#=============================================================================
-# Copyright 2011 Stephen Kelly <steveire@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CMakeParseArguments)
-include(CheckCXXCompilerFlag)
-
-# TODO: Install this macro separately?
-macro(_check_cxx_compiler_attribute _ATTRIBUTE _RESULT)
-  check_cxx_source_compiles("${_ATTRIBUTE} int somefunc() { return 0; }
-    int main() { return somefunc();}" ${_RESULT}
-  )
-endmacro()
-
-macro(_test_compiler_hidden_visibility)
-
-  if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2")
-    set(GCC_TOO_OLD TRUE)
-  elseif(CMAKE_COMPILER_IS_GNUC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.2")
-    set(GCC_TOO_OLD TRUE)
-  elseif(CMAKE_CXX_COMPILER_ID MATCHES Intel AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0")
-    set(_INTEL_TOO_OLD TRUE)
-  endif()
-
-  # Exclude XL here because it misinterprets -fvisibility=hidden even though
-  # the check_cxx_compiler_flag passes
-  if(NOT GCC_TOO_OLD
-      AND NOT _INTEL_TOO_OLD
-      AND NOT WIN32
-      AND NOT CYGWIN
-      AND NOT CMAKE_CXX_COMPILER_ID MATCHES XL
-      AND NOT CMAKE_CXX_COMPILER_ID MATCHES PGI
-      AND NOT CMAKE_CXX_COMPILER_ID MATCHES Watcom)
-    check_cxx_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY)
-    check_cxx_compiler_flag(-fvisibility-inlines-hidden
-      COMPILER_HAS_HIDDEN_INLINE_VISIBILITY)
-    option(USE_COMPILER_HIDDEN_VISIBILITY
-      "Use HIDDEN visibility support if available." ON)
-    mark_as_advanced(USE_COMPILER_HIDDEN_VISIBILITY)
-  endif()
-endmacro()
-
-macro(_test_compiler_has_deprecated)
-  # NOTE:  Some Embarcadero compilers silently compile __declspec(deprecated)
-  # without error, but this is not a documented feature and the attribute does
-  # not actually generate any warnings.
-  if(CMAKE_CXX_COMPILER_ID MATCHES Borland
-      OR CMAKE_CXX_COMPILER_ID MATCHES Embarcadero
-      OR CMAKE_CXX_COMPILER_ID MATCHES HP
-      OR GCC_TOO_OLD
-      OR CMAKE_CXX_COMPILER_ID MATCHES PGI
-      OR CMAKE_CXX_COMPILER_ID MATCHES Watcom)
-    set(COMPILER_HAS_DEPRECATED "" CACHE INTERNAL
-      "Compiler support for a deprecated attribute")
-  else()
-    _check_cxx_compiler_attribute("__attribute__((__deprecated__))"
-      COMPILER_HAS_DEPRECATED_ATTR)
-    if(COMPILER_HAS_DEPRECATED_ATTR)
-      set(COMPILER_HAS_DEPRECATED "${COMPILER_HAS_DEPRECATED_ATTR}"
-        CACHE INTERNAL "Compiler support for a deprecated attribute")
-    else()
-      _check_cxx_compiler_attribute("__declspec(deprecated)"
-        COMPILER_HAS_DEPRECATED)
-    endif()
-  endif()
-endmacro()
-
-get_filename_component(_GENERATE_EXPORT_HEADER_MODULE_DIR
-  "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-macro(_DO_SET_MACRO_VALUES TARGET_LIBRARY)
-  set(DEFINE_DEPRECATED)
-  set(DEFINE_EXPORT)
-  set(DEFINE_IMPORT)
-  set(DEFINE_NO_EXPORT)
-
-  if (COMPILER_HAS_DEPRECATED_ATTR)
-    set(DEFINE_DEPRECATED "__attribute__ ((__deprecated__))")
-  elseif(COMPILER_HAS_DEPRECATED)
-    set(DEFINE_DEPRECATED "__declspec(deprecated)")
-  endif()
-
-  get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
-
-  if(NOT ${type} STREQUAL "STATIC_LIBRARY")
-    if(WIN32 OR CYGWIN)
-      set(DEFINE_EXPORT "__declspec(dllexport)")
-      set(DEFINE_IMPORT "__declspec(dllimport)")
-    elseif(COMPILER_HAS_HIDDEN_VISIBILITY AND USE_COMPILER_HIDDEN_VISIBILITY)
-      set(DEFINE_EXPORT "__attribute__((visibility(\"default\")))")
-      set(DEFINE_IMPORT "__attribute__((visibility(\"default\")))")
-      set(DEFINE_NO_EXPORT "__attribute__((visibility(\"hidden\")))")
-    endif()
-  endif()
-endmacro()
-
-macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
-  # Option overrides
-  set(options DEFINE_NO_DEPRECATED)
-  set(oneValueArgs PREFIX_NAME BASE_NAME EXPORT_MACRO_NAME EXPORT_FILE_NAME
-    DEPRECATED_MACRO_NAME NO_EXPORT_MACRO_NAME STATIC_DEFINE
-    NO_DEPRECATED_MACRO_NAME)
-  set(multiValueArgs)
-
-  cmake_parse_arguments(_GEH "${options}" "${oneValueArgs}" "${multiValueArgs}"
-    ${ARGN})
-
-  set(BASE_NAME "${TARGET_LIBRARY}")
-
-  if(_GEH_BASE_NAME)
-    set(BASE_NAME ${_GEH_BASE_NAME})
-  endif()
-
-  string(TOUPPER ${BASE_NAME} BASE_NAME_UPPER)
-  string(TOLOWER ${BASE_NAME} BASE_NAME_LOWER)
-
-  # Default options
-  set(EXPORT_MACRO_NAME "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_EXPORT")
-  set(NO_EXPORT_MACRO_NAME "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_NO_EXPORT")
-  set(EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME_LOWER}_export.h")
-  set(DEPRECATED_MACRO_NAME "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_DEPRECATED")
-  set(STATIC_DEFINE "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_STATIC_DEFINE")
-  set(NO_DEPRECATED_MACRO_NAME
-    "${_GEH_PREFIX_NAME}${BASE_NAME_UPPER}_NO_DEPRECATED")
-
-  if(_GEH_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to GENERATE_EXPORT_HEADER(): \"${_GEH_UNPARSED_ARGUMENTS}\"")
-  endif()
-
-  if(_GEH_EXPORT_MACRO_NAME)
-    set(EXPORT_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_EXPORT_MACRO_NAME})
-  endif()
-  string(MAKE_C_IDENTIFIER ${EXPORT_MACRO_NAME} EXPORT_MACRO_NAME)
-  if(_GEH_EXPORT_FILE_NAME)
-    if(IS_ABSOLUTE ${_GEH_EXPORT_FILE_NAME})
-      set(EXPORT_FILE_NAME ${_GEH_EXPORT_FILE_NAME})
-    else()
-      set(EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/${_GEH_EXPORT_FILE_NAME}")
-    endif()
-  endif()
-  if(_GEH_DEPRECATED_MACRO_NAME)
-    set(DEPRECATED_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_DEPRECATED_MACRO_NAME})
-  endif()
-  string(MAKE_C_IDENTIFIER ${DEPRECATED_MACRO_NAME} DEPRECATED_MACRO_NAME)
-  if(_GEH_NO_EXPORT_MACRO_NAME)
-    set(NO_EXPORT_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_NO_EXPORT_MACRO_NAME})
-  endif()
-  string(MAKE_C_IDENTIFIER ${NO_EXPORT_MACRO_NAME} NO_EXPORT_MACRO_NAME)
-  if(_GEH_STATIC_DEFINE)
-    set(STATIC_DEFINE ${_GEH_PREFIX_NAME}${_GEH_STATIC_DEFINE})
-  endif()
-  string(MAKE_C_IDENTIFIER ${STATIC_DEFINE} STATIC_DEFINE)
-
-  if(_GEH_DEFINE_NO_DEPRECATED)
-    set(DEFINE_NO_DEPRECATED 1)
-  else()
-    set(DEFINE_NO_DEPRECATED 0)
-  endif()
-
-  if(_GEH_NO_DEPRECATED_MACRO_NAME)
-    set(NO_DEPRECATED_MACRO_NAME
-      ${_GEH_PREFIX_NAME}${_GEH_NO_DEPRECATED_MACRO_NAME})
-  endif()
-  string(MAKE_C_IDENTIFIER ${NO_DEPRECATED_MACRO_NAME} NO_DEPRECATED_MACRO_NAME)
-
-  set(INCLUDE_GUARD_NAME "${EXPORT_MACRO_NAME}_H")
-
-  get_target_property(EXPORT_IMPORT_CONDITION ${TARGET_LIBRARY} DEFINE_SYMBOL)
-
-  if(NOT EXPORT_IMPORT_CONDITION)
-    set(EXPORT_IMPORT_CONDITION ${TARGET_LIBRARY}_EXPORTS)
-  endif()
-  string(MAKE_C_IDENTIFIER ${EXPORT_IMPORT_CONDITION} EXPORT_IMPORT_CONDITION)
-
-  configure_file("${_GENERATE_EXPORT_HEADER_MODULE_DIR}/exportheader.cmake.in"
-    "${EXPORT_FILE_NAME}" @ONLY)
-endmacro()
-
-function(GENERATE_EXPORT_HEADER TARGET_LIBRARY)
-  get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
-  if(NOT ${type} STREQUAL "STATIC_LIBRARY"
-      AND NOT ${type} STREQUAL "SHARED_LIBRARY"
-      AND NOT ${type} STREQUAL "OBJECT_LIBRARY"
-      AND NOT ${type} STREQUAL "MODULE_LIBRARY")
-    message(WARNING "This macro can only be used with libraries")
-    return()
-  endif()
-  _test_compiler_hidden_visibility()
-  _test_compiler_has_deprecated()
-  _do_set_macro_values(${TARGET_LIBRARY})
-  _do_generate_export_header(${TARGET_LIBRARY} ${ARGN})
-endfunction()
-
-function(add_compiler_export_flags)
-  if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
-    message(DEPRECATION "The add_compiler_export_flags function is obsolete. Use the CXX_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties instead.")
-  endif()
-
-  _test_compiler_hidden_visibility()
-  _test_compiler_has_deprecated()
-
-  if(NOT (USE_COMPILER_HIDDEN_VISIBILITY AND COMPILER_HAS_HIDDEN_VISIBILITY))
-    # Just return if there are no flags to add.
-    return()
-  endif()
-
-  set (EXTRA_FLAGS "-fvisibility=hidden")
-
-  if(COMPILER_HAS_HIDDEN_INLINE_VISIBILITY)
-    set (EXTRA_FLAGS "${EXTRA_FLAGS} -fvisibility-inlines-hidden")
-  endif()
-
-  # Either return the extra flags needed in the supplied argument, or to the
-  # CMAKE_CXX_FLAGS if no argument is supplied.
-  if(ARGC GREATER 0)
-    set(${ARGV0} "${EXTRA_FLAGS}" PARENT_SCOPE)
-  else()
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS}" PARENT_SCOPE)
-  endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/GetPrerequisites.cmake b/share/cmake-3.6/Modules/GetPrerequisites.cmake
deleted file mode 100644
index 375349f..0000000
--- a/share/cmake-3.6/Modules/GetPrerequisites.cmake
+++ /dev/null
@@ -1,1018 +0,0 @@
-#.rst:
-# GetPrerequisites
-# ----------------
-#
-# Functions to analyze and list executable file prerequisites.
-#
-# This module provides functions to list the .dll, .dylib or .so files
-# that an executable or shared library file depends on.  (Its
-# prerequisites.)
-#
-# It uses various tools to obtain the list of required shared library
-# files:
-#
-# ::
-#
-#    dumpbin (Windows)
-#    objdump (MinGW on Windows)
-#    ldd (Linux/Unix)
-#    otool (Mac OSX)
-#
-# The following functions are provided by this module:
-#
-# ::
-#
-#    get_prerequisites
-#    list_prerequisites
-#    list_prerequisites_by_glob
-#    gp_append_unique
-#    is_file_executable
-#    gp_item_default_embedded_path
-#      (projects can override with gp_item_default_embedded_path_override)
-#    gp_resolve_item
-#      (projects can override with gp_resolve_item_override)
-#    gp_resolved_file_type
-#      (projects can override with gp_resolved_file_type_override)
-#    gp_file_type
-#
-# Requires CMake 2.6 or greater because it uses function, break, return
-# and PARENT_SCOPE.
-#
-# ::
-#
-#   GET_PREREQUISITES(<target> <prerequisites_var> <exclude_system> <recurse>
-#                     <exepath> <dirs> [<rpaths>])
-#
-# Get the list of shared library files required by <target>.  The list
-# in the variable named <prerequisites_var> should be empty on first
-# entry to this function.  On exit, <prerequisites_var> will contain the
-# list of required shared library files.
-#
-# <target> is the full path to an executable file.  <prerequisites_var>
-# is the name of a CMake variable to contain the results.
-# <exclude_system> must be 0 or 1 indicating whether to include or
-# exclude "system" prerequisites.  If <recurse> is set to 1 all
-# prerequisites will be found recursively, if set to 0 only direct
-# prerequisites are listed.  <exepath> is the path to the top level
-# executable used for @executable_path replacment on the Mac.  <dirs> is
-# a list of paths where libraries might be found: these paths are
-# searched first when a target without any path info is given.  Then
-# standard system locations are also searched: PATH, Framework
-# locations, /usr/lib...
-#
-# ::
-#
-#   LIST_PREREQUISITES(<target> [<recurse> [<exclude_system> [<verbose>]]])
-#
-# Print a message listing the prerequisites of <target>.
-#
-# <target> is the name of a shared library or executable target or the
-# full path to a shared library or executable file.  If <recurse> is set
-# to 1 all prerequisites will be found recursively, if set to 0 only
-# direct prerequisites are listed.  <exclude_system> must be 0 or 1
-# indicating whether to include or exclude "system" prerequisites.  With
-# <verbose> set to 0 only the full path names of the prerequisites are
-# printed, set to 1 extra informatin will be displayed.
-#
-# ::
-#
-#   LIST_PREREQUISITES_BY_GLOB(<glob_arg> <glob_exp>)
-#
-# Print the prerequisites of shared library and executable files
-# matching a globbing pattern.  <glob_arg> is GLOB or GLOB_RECURSE and
-# <glob_exp> is a globbing expression used with "file(GLOB" or
-# "file(GLOB_RECURSE" to retrieve a list of matching files.  If a
-# matching file is executable, its prerequisites are listed.
-#
-# Any additional (optional) arguments provided are passed along as the
-# optional arguments to the list_prerequisites calls.
-#
-# ::
-#
-#   GP_APPEND_UNIQUE(<list_var> <value>)
-#
-# Append <value> to the list variable <list_var> only if the value is
-# not already in the list.
-#
-# ::
-#
-#   IS_FILE_EXECUTABLE(<file> <result_var>)
-#
-# Return 1 in <result_var> if <file> is a binary executable, 0
-# otherwise.
-#
-# ::
-#
-#   GP_ITEM_DEFAULT_EMBEDDED_PATH(<item> <default_embedded_path_var>)
-#
-# Return the path that others should refer to the item by when the item
-# is embedded inside a bundle.
-#
-# Override on a per-project basis by providing a project-specific
-# gp_item_default_embedded_path_override function.
-#
-# ::
-#
-#   GP_RESOLVE_ITEM(<context> <item> <exepath> <dirs> <resolved_item_var>
-#                   [<rpaths>])
-#
-# Resolve an item into an existing full path file.
-#
-# Override on a per-project basis by providing a project-specific
-# gp_resolve_item_override function.
-#
-# ::
-#
-#   GP_RESOLVED_FILE_TYPE(<original_file> <file> <exepath> <dirs> <type_var>
-#                         [<rpaths>])
-#
-# Return the type of <file> with respect to <original_file>.  String
-# describing type of prerequisite is returned in variable named
-# <type_var>.
-#
-# Use <exepath> and <dirs> if necessary to resolve non-absolute <file>
-# values -- but only for non-embedded items.
-#
-# Possible types are:
-#
-# ::
-#
-#    system
-#    local
-#    embedded
-#    other
-#
-# Override on a per-project basis by providing a project-specific
-# gp_resolved_file_type_override function.
-#
-# ::
-#
-#   GP_FILE_TYPE(<original_file> <file> <type_var>)
-#
-# Return the type of <file> with respect to <original_file>.  String
-# describing type of prerequisite is returned in variable named
-# <type_var>.
-#
-# Possible types are:
-#
-# ::
-#
-#    system
-#    local
-#    embedded
-#    other
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(gp_append_unique list_var value)
-  set(contains 0)
-
-  foreach(item ${${list_var}})
-    if(item STREQUAL "${value}")
-      set(contains 1)
-      break()
-    endif()
-  endforeach()
-
-  if(NOT contains)
-    set(${list_var} ${${list_var}} "${value}" PARENT_SCOPE)
-  endif()
-endfunction()
-
-
-function(is_file_executable file result_var)
-  #
-  # A file is not executable until proven otherwise:
-  #
-  set(${result_var} 0 PARENT_SCOPE)
-
-  get_filename_component(file_full "${file}" ABSOLUTE)
-  string(TOLOWER "${file_full}" file_full_lower)
-
-  # If file name ends in .exe on Windows, *assume* executable:
-  #
-  if(WIN32 AND NOT UNIX)
-    if("${file_full_lower}" MATCHES "\\.exe$")
-      set(${result_var} 1 PARENT_SCOPE)
-      return()
-    endif()
-
-    # A clause could be added here that uses output or return value of dumpbin
-    # to determine ${result_var}. In 99%+? practical cases, the exe name
-    # match will be sufficient...
-    #
-  endif()
-
-  # Use the information returned from the Unix shell command "file" to
-  # determine if ${file_full} should be considered an executable file...
-  #
-  # If the file command's output contains "executable" and does *not* contain
-  # "text" then it is likely an executable suitable for prerequisite analysis
-  # via the get_prerequisites macro.
-  #
-  if(UNIX)
-    if(NOT file_cmd)
-      find_program(file_cmd "file")
-      mark_as_advanced(file_cmd)
-    endif()
-
-    if(file_cmd)
-      execute_process(COMMAND "${file_cmd}" "${file_full}"
-        RESULT_VARIABLE file_rv
-        OUTPUT_VARIABLE file_ov
-        ERROR_VARIABLE file_ev
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        )
-      if(NOT file_rv STREQUAL "0")
-        message(FATAL_ERROR "${file_cmd} failed: ${file_rv}\n${file_ev}")
-      endif()
-
-      # Replace the name of the file in the output with a placeholder token
-      # (the string " _file_full_ ") so that just in case the path name of
-      # the file contains the word "text" or "executable" we are not fooled
-      # into thinking "the wrong thing" because the file name matches the
-      # other 'file' command output we are looking for...
-      #
-      string(REPLACE "${file_full}" " _file_full_ " file_ov "${file_ov}")
-      string(TOLOWER "${file_ov}" file_ov)
-
-      #message(STATUS "file_ov='${file_ov}'")
-      if("${file_ov}" MATCHES "executable")
-        #message(STATUS "executable!")
-        if("${file_ov}" MATCHES "text")
-          #message(STATUS "but text, so *not* a binary executable!")
-        else()
-          set(${result_var} 1 PARENT_SCOPE)
-          return()
-        endif()
-      endif()
-
-      # Also detect position independent executables on Linux,
-      # where "file" gives "shared object ... (uses shared libraries)"
-      if("${file_ov}" MATCHES "shared object.*\(uses shared libs\)")
-        set(${result_var} 1 PARENT_SCOPE)
-        return()
-      endif()
-
-      # "file" version 5.22 does not print "(used shared libraries)"
-      # but uses "interpreter"
-      if("${file_ov}" MATCHES "shared object.*interpreter")
-        set(${result_var} 1 PARENT_SCOPE)
-        return()
-      endif()
-
-    else()
-      message(STATUS "warning: No 'file' command, skipping execute_process...")
-    endif()
-  endif()
-endfunction()
-
-
-function(gp_item_default_embedded_path item default_embedded_path_var)
-
-  # On Windows and Linux, "embed" prerequisites in the same directory
-  # as the executable by default:
-  #
-  set(path "@executable_path")
-  set(overridden 0)
-
-  # On the Mac, relative to the executable depending on the type
-  # of the thing we are embedding:
-  #
-  if(APPLE)
-    #
-    # The assumption here is that all executables in the bundle will be
-    # in same-level-directories inside the bundle. The parent directory
-    # of an executable inside the bundle should be MacOS or a sibling of
-    # MacOS and all embedded paths returned from here will begin with
-    # "@executable_path/../" and will work from all executables in all
-    # such same-level-directories inside the bundle.
-    #
-
-    # By default, embed things right next to the main bundle executable:
-    #
-    set(path "@executable_path/../../Contents/MacOS")
-
-    # Embed .dylibs right next to the main bundle executable:
-    #
-    if(item MATCHES "\\.dylib$")
-      set(path "@executable_path/../MacOS")
-      set(overridden 1)
-    endif()
-
-    # Embed frameworks in the embedded "Frameworks" directory (sibling of MacOS):
-    #
-    if(NOT overridden)
-      if(item MATCHES "[^/]+\\.framework/")
-        set(path "@executable_path/../Frameworks")
-        set(overridden 1)
-      endif()
-    endif()
-  endif()
-
-  # Provide a hook so that projects can override the default embedded location
-  # of any given library by whatever logic they choose:
-  #
-  if(COMMAND gp_item_default_embedded_path_override)
-    gp_item_default_embedded_path_override("${item}" path)
-  endif()
-
-  set(${default_embedded_path_var} "${path}" PARENT_SCOPE)
-endfunction()
-
-
-function(gp_resolve_item context item exepath dirs resolved_item_var)
-  set(resolved 0)
-  set(resolved_item "${item}")
-  if(ARGC GREATER 5)
-    set(rpaths "${ARGV5}")
-  else()
-    set(rpaths "")
-  endif()
-
-  # Is it already resolved?
-  #
-  if(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
-    set(resolved 1)
-  endif()
-
-  if(NOT resolved)
-    if(item MATCHES "^@executable_path")
-      #
-      # @executable_path references are assumed relative to exepath
-      #
-      string(REPLACE "@executable_path" "${exepath}" ri "${item}")
-      get_filename_component(ri "${ri}" ABSOLUTE)
-
-      if(EXISTS "${ri}")
-        #message(STATUS "info: embedded item exists (${ri})")
-        set(resolved 1)
-        set(resolved_item "${ri}")
-      else()
-        message(STATUS "warning: embedded item does not exist '${ri}'")
-      endif()
-    endif()
-  endif()
-
-  if(NOT resolved)
-    if(item MATCHES "^@loader_path")
-      #
-      # @loader_path references are assumed relative to the
-      # PATH of the given "context" (presumably another library)
-      #
-      get_filename_component(contextpath "${context}" PATH)
-      string(REPLACE "@loader_path" "${contextpath}" ri "${item}")
-      get_filename_component(ri "${ri}" ABSOLUTE)
-
-      if(EXISTS "${ri}")
-        #message(STATUS "info: embedded item exists (${ri})")
-        set(resolved 1)
-        set(resolved_item "${ri}")
-      else()
-        message(STATUS "warning: embedded item does not exist '${ri}'")
-      endif()
-    endif()
-  endif()
-
-  if(NOT resolved)
-    if(item MATCHES "^@rpath")
-      #
-      # @rpath references are relative to the paths built into the binaries with -rpath
-      # We handle this case like we do for other Unixes
-      #
-      string(REPLACE "@rpath/" "" norpath_item "${item}")
-
-      set(ri "ri-NOTFOUND")
-      find_file(ri "${norpath_item}" ${exepath} ${dirs} ${rpaths} NO_DEFAULT_PATH)
-      if(ri)
-        #message(STATUS "info: 'find_file' in exepath/dirs/rpaths (${ri})")
-        set(resolved 1)
-        set(resolved_item "${ri}")
-        set(ri "ri-NOTFOUND")
-      endif()
-
-    endif()
-  endif()
-
-  if(NOT resolved)
-    set(ri "ri-NOTFOUND")
-    find_file(ri "${item}" ${exepath} ${dirs} NO_DEFAULT_PATH)
-    find_file(ri "${item}" ${exepath} ${dirs} /usr/lib)
-    if(ri)
-      #message(STATUS "info: 'find_file' in exepath/dirs (${ri})")
-      set(resolved 1)
-      set(resolved_item "${ri}")
-      set(ri "ri-NOTFOUND")
-    endif()
-  endif()
-
-  if(NOT resolved)
-    if(item MATCHES "[^/]+\\.framework/")
-      set(fw "fw-NOTFOUND")
-      find_file(fw "${item}"
-        "~/Library/Frameworks"
-        "/Library/Frameworks"
-        "/System/Library/Frameworks"
-      )
-      if(fw)
-        #message(STATUS "info: 'find_file' found framework (${fw})")
-        set(resolved 1)
-        set(resolved_item "${fw}")
-        set(fw "fw-NOTFOUND")
-      endif()
-    endif()
-  endif()
-
-  # Using find_program on Windows will find dll files that are in the PATH.
-  # (Converting simple file names into full path names if found.)
-  #
-  if(WIN32 AND NOT UNIX)
-  if(NOT resolved)
-    set(ri "ri-NOTFOUND")
-    find_program(ri "${item}" PATHS "${exepath};${dirs}" NO_DEFAULT_PATH)
-    find_program(ri "${item}" PATHS "${exepath};${dirs}")
-    if(ri)
-      #message(STATUS "info: 'find_program' in exepath/dirs (${ri})")
-      set(resolved 1)
-      set(resolved_item "${ri}")
-      set(ri "ri-NOTFOUND")
-    endif()
-  endif()
-  endif()
-
-  # Provide a hook so that projects can override item resolution
-  # by whatever logic they choose:
-  #
-  if(COMMAND gp_resolve_item_override)
-    gp_resolve_item_override("${context}" "${item}" "${exepath}" "${dirs}" resolved_item resolved)
-  endif()
-
-  if(NOT resolved)
-    message(STATUS "
-warning: cannot resolve item '${item}'
-
-  possible problems:
-    need more directories?
-    need to use InstallRequiredSystemLibraries?
-    run in install tree instead of build tree?
-")
-#    message(STATUS "
-#******************************************************************************
-#warning: cannot resolve item '${item}'
-#
-#  possible problems:
-#    need more directories?
-#    need to use InstallRequiredSystemLibraries?
-#    run in install tree instead of build tree?
-#
-#    context='${context}'
-#    item='${item}'
-#    exepath='${exepath}'
-#    dirs='${dirs}'
-#    resolved_item_var='${resolved_item_var}'
-#******************************************************************************
-#")
-  endif()
-
-  set(${resolved_item_var} "${resolved_item}" PARENT_SCOPE)
-endfunction()
-
-
-function(gp_resolved_file_type original_file file exepath dirs type_var)
-  if(ARGC GREATER 5)
-    set(rpaths "${ARGV5}")
-  else()
-    set(rpaths "")
-  endif()
-  #message(STATUS "**")
-
-  if(NOT IS_ABSOLUTE "${original_file}")
-    message(STATUS "warning: gp_resolved_file_type expects absolute full path for first arg original_file")
-  endif()
-  get_filename_component(original_file "${original_file}" ABSOLUTE) # canonicalize path
-
-  set(is_embedded 0)
-  set(is_local 0)
-  set(is_system 0)
-
-  set(resolved_file "${file}")
-
-  if("${file}" MATCHES "^@(executable|loader)_path")
-    set(is_embedded 1)
-  endif()
-
-  if(NOT is_embedded)
-    if(NOT IS_ABSOLUTE "${file}")
-      gp_resolve_item("${original_file}" "${file}" "${exepath}" "${dirs}" resolved_file "${rpaths}")
-    endif()
-    get_filename_component(resolved_file "${resolved_file}" ABSOLUTE) # canonicalize path
-
-    string(TOLOWER "${original_file}" original_lower)
-    string(TOLOWER "${resolved_file}" lower)
-
-    if(UNIX)
-      if(resolved_file MATCHES "^(/lib/|/lib32/|/lib64/|/usr/lib/|/usr/lib32/|/usr/lib64/|/usr/X11R6/|/usr/bin/)")
-        set(is_system 1)
-      endif()
-    endif()
-
-    if(APPLE)
-      if(resolved_file MATCHES "^(/System/Library/|/usr/lib/)")
-        set(is_system 1)
-      endif()
-    endif()
-
-    if(WIN32)
-      string(TOLOWER "$ENV{SystemRoot}" sysroot)
-      file(TO_CMAKE_PATH "${sysroot}" sysroot)
-
-      string(TOLOWER "$ENV{windir}" windir)
-      file(TO_CMAKE_PATH "${windir}" windir)
-
-      if(lower MATCHES "^(api-ms-win-|${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*msvc[^/]+dll)")
-        set(is_system 1)
-      endif()
-
-      if(UNIX)
-        # if cygwin, we can get the properly formed windows paths from cygpath
-        find_program(CYGPATH_EXECUTABLE cygpath)
-
-        if(CYGPATH_EXECUTABLE)
-          execute_process(COMMAND ${CYGPATH_EXECUTABLE} -W
-                          RESULT_VARIABLE env_rv
-                          OUTPUT_VARIABLE env_windir
-                          ERROR_VARIABLE env_ev
-                          OUTPUT_STRIP_TRAILING_WHITESPACE)
-          if(NOT env_rv STREQUAL "0")
-            message(FATAL_ERROR "${CYGPATH_EXECUTABLE} -W failed: ${env_rv}\n${env_ev}")
-          endif()
-          execute_process(COMMAND ${CYGPATH_EXECUTABLE} -S
-                          RESULT_VARIABLE env_rv
-                          OUTPUT_VARIABLE env_sysdir
-                          ERROR_VARIABLE env_ev
-                          OUTPUT_STRIP_TRAILING_WHITESPACE)
-          if(NOT env_rv STREQUAL "0")
-            message(FATAL_ERROR "${CYGPATH_EXECUTABLE} -S failed: ${env_rv}\n${env_ev}")
-          endif()
-          string(TOLOWER "${env_windir}" windir)
-          string(TOLOWER "${env_sysdir}" sysroot)
-
-          if(lower MATCHES "^(api-ms-win-|${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*msvc[^/]+dll)")
-            set(is_system 1)
-          endif()
-        endif()
-      endif()
-    endif()
-
-    if(NOT is_system)
-      get_filename_component(original_path "${original_lower}" PATH)
-      get_filename_component(path "${lower}" PATH)
-      if(original_path STREQUAL path)
-        set(is_local 1)
-      else()
-        string(LENGTH "${original_path}/" original_length)
-        string(LENGTH "${lower}" path_length)
-        if(${path_length} GREATER ${original_length})
-          string(SUBSTRING "${lower}" 0 ${original_length} path)
-          if("${original_path}/" STREQUAL path)
-            set(is_embedded 1)
-          endif()
-        endif()
-      endif()
-    endif()
-  endif()
-
-  # Return type string based on computed booleans:
-  #
-  set(type "other")
-
-  if(is_system)
-    set(type "system")
-  elseif(is_embedded)
-    set(type "embedded")
-  elseif(is_local)
-    set(type "local")
-  endif()
-
-  #message(STATUS "gp_resolved_file_type: '${file}' '${resolved_file}'")
-  #message(STATUS "                type: '${type}'")
-
-  if(NOT is_embedded)
-    if(NOT IS_ABSOLUTE "${resolved_file}")
-      if(lower MATCHES "^msvc[^/]+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")
-      endif()
-    endif()
-  endif()
-
-  # Provide a hook so that projects can override the decision on whether a
-  # library belongs to the system or not by whatever logic they choose:
-  #
-  if(COMMAND gp_resolved_file_type_override)
-    gp_resolved_file_type_override("${resolved_file}" type)
-  endif()
-
-  set(${type_var} "${type}" PARENT_SCOPE)
-
-  #message(STATUS "**")
-endfunction()
-
-
-function(gp_file_type original_file file type_var)
-  if(NOT IS_ABSOLUTE "${original_file}")
-    message(STATUS "warning: gp_file_type expects absolute full path for first arg original_file")
-  endif()
-
-  get_filename_component(exepath "${original_file}" PATH)
-
-  set(type "")
-  gp_resolved_file_type("${original_file}" "${file}" "${exepath}" "" type)
-
-  set(${type_var} "${type}" PARENT_SCOPE)
-endfunction()
-
-
-function(get_prerequisites target prerequisites_var exclude_system recurse exepath dirs)
-  set(verbose 0)
-  set(eol_char "E")
-  if(ARGC GREATER 6)
-    set(rpaths "${ARGV6}")
-  else()
-    set(rpaths "")
-  endif()
-
-  if(NOT IS_ABSOLUTE "${target}")
-    message("warning: target '${target}' is not absolute...")
-  endif()
-
-  if(NOT EXISTS "${target}")
-    message("warning: target '${target}' does not exist...")
-  endif()
-
-  set(gp_cmd_paths ${gp_cmd_paths}
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0;InstallDir]/../../VC/bin"
-    "$ENV{VS140COMNTOOLS}/../../VC/bin"
-    "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0;InstallDir]/../../VC/bin"
-    "$ENV{VS120COMNTOOLS}/../../VC/bin"
-    "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;InstallDir]/../../VC/bin"
-    "$ENV{VS110COMNTOOLS}/../../VC/bin"
-    "C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;InstallDir]/../../VC/bin"
-    "$ENV{VS100COMNTOOLS}/../../VC/bin"
-    "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/bin"
-    "$ENV{VS90COMNTOOLS}/../../VC/bin"
-    "C:/Program Files/Microsoft Visual Studio 9.0/VC/bin"
-    "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/bin"
-    "$ENV{VS80COMNTOOLS}/../../VC/bin"
-    "C:/Program Files/Microsoft Visual Studio 8/VC/BIN"
-    "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/BIN"
-    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1;InstallDir]/../../VC7/bin"
-    "$ENV{VS71COMNTOOLS}/../../VC7/bin"
-    "C:/Program Files/Microsoft Visual Studio .NET 2003/VC7/BIN"
-    "C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/VC7/BIN"
-    "/usr/local/bin"
-    "/usr/bin"
-    )
-
-  # <setup-gp_tool-vars>
-  #
-  # Try to choose the right tool by default. Caller can set gp_tool prior to
-  # calling this function to force using a different tool.
-  #
-  if(NOT gp_tool)
-    set(gp_tool "ldd")
-
-    if(APPLE)
-      set(gp_tool "otool")
-    endif()
-
-    if(WIN32 AND NOT UNIX) # This is how to check for cygwin, har!
-      find_program(gp_dumpbin "dumpbin" PATHS ${gp_cmd_paths})
-      if(gp_dumpbin)
-        set(gp_tool "dumpbin")
-      else() # Try harder. Maybe we're on MinGW
-        set(gp_tool "objdump")
-      endif()
-    endif()
-  endif()
-
-  find_program(gp_cmd ${gp_tool} PATHS ${gp_cmd_paths})
-
-  if(NOT gp_cmd)
-    message(STATUS "warning: could not find '${gp_tool}' - cannot analyze prerequisites...")
-    return()
-  endif()
-
-  set(gp_cmd_maybe_filter)      # optional command to pre-filter gp_tool results
-
-  if(gp_tool STREQUAL "ldd")
-    set(gp_cmd_args "")
-    set(gp_regex "^[\t ]*[^\t ]+ => ([^\t\(]+) .*${eol_char}$")
-    set(gp_regex_error "not found${eol_char}$")
-    set(gp_regex_fallback "^[\t ]*([^\t ]+) => ([^\t ]+).*${eol_char}$")
-    set(gp_regex_cmp_count 1)
-  elseif(gp_tool STREQUAL "otool")
-    set(gp_cmd_args "-L")
-    set(gp_regex "^\t([^\t]+) \\(compatibility version ([0-9]+.[0-9]+.[0-9]+), current version ([0-9]+.[0-9]+.[0-9]+)\\)${eol_char}$")
-    set(gp_regex_error "")
-    set(gp_regex_fallback "")
-    set(gp_regex_cmp_count 3)
-  elseif(gp_tool STREQUAL "dumpbin")
-    set(gp_cmd_args "/dependents")
-    set(gp_regex "^    ([^ ].*[Dd][Ll][Ll])${eol_char}$")
-    set(gp_regex_error "")
-    set(gp_regex_fallback "")
-    set(gp_regex_cmp_count 1)
-  elseif(gp_tool STREQUAL "objdump")
-    set(gp_cmd_args "-p")
-    set(gp_regex "^\t*DLL Name: (.*\\.[Dd][Ll][Ll])${eol_char}$")
-    set(gp_regex_error "")
-    set(gp_regex_fallback "")
-    set(gp_regex_cmp_count 1)
-    # objdump generaates copious output so we create a grep filter to pre-filter results
-    find_program(gp_grep_cmd grep)
-    if(gp_grep_cmd)
-      set(gp_cmd_maybe_filter COMMAND ${gp_grep_cmd} "^[[:blank:]]*DLL Name: ")
-    endif()
-  else()
-    message(STATUS "warning: gp_tool='${gp_tool}' is an unknown tool...")
-    message(STATUS "CMake function get_prerequisites needs more code to handle '${gp_tool}'")
-    message(STATUS "Valid gp_tool values are dumpbin, ldd, objdump and otool.")
-    return()
-  endif()
-
-
-  if(gp_tool STREQUAL "dumpbin")
-    # When running dumpbin, it also needs the "Common7/IDE" directory in the
-    # PATH. It will already be in the PATH if being run from a Visual Studio
-    # command prompt. Add it to the PATH here in case we are running from a
-    # different command prompt.
-    #
-    get_filename_component(gp_cmd_dir "${gp_cmd}" PATH)
-    get_filename_component(gp_cmd_dlls_dir "${gp_cmd_dir}/../../Common7/IDE" ABSOLUTE)
-    # Use cmake paths as a user may have a PATH element ending with a backslash.
-    # This will escape the list delimiter and create havoc!
-    if(EXISTS "${gp_cmd_dlls_dir}")
-      # only add to the path if it is not already in the path
-      set(gp_found_cmd_dlls_dir 0)
-      file(TO_CMAKE_PATH "$ENV{PATH}" env_path)
-      foreach(gp_env_path_element ${env_path})
-        if(gp_env_path_element STREQUAL gp_cmd_dlls_dir)
-          set(gp_found_cmd_dlls_dir 1)
-        endif()
-      endforeach()
-
-      if(NOT gp_found_cmd_dlls_dir)
-        file(TO_NATIVE_PATH "${gp_cmd_dlls_dir}" gp_cmd_dlls_dir)
-        set(ENV{PATH} "$ENV{PATH};${gp_cmd_dlls_dir}")
-      endif()
-    endif()
-  endif()
-  #
-  # </setup-gp_tool-vars>
-
-  if(gp_tool STREQUAL "ldd")
-    set(old_ld_env "$ENV{LD_LIBRARY_PATH}")
-    set(new_ld_env "${exepath}")
-    foreach(dir ${dirs})
-      set(new_ld_env "${new_ld_env}:${dir}")
-    endforeach()
-    set(ENV{LD_LIBRARY_PATH} "${new_ld_env}:$ENV{LD_LIBRARY_PATH}")
-  endif()
-
-
-  # Track new prerequisites at each new level of recursion. Start with an
-  # empty list at each level:
-  #
-  set(unseen_prereqs)
-
-  # Run gp_cmd on the target:
-  #
-  execute_process(
-    COMMAND ${gp_cmd} ${gp_cmd_args} ${target}
-    ${gp_cmd_maybe_filter}
-    RESULT_VARIABLE gp_rv
-    OUTPUT_VARIABLE gp_cmd_ov
-    ERROR_VARIABLE gp_ev
-    )
-  if(NOT gp_rv STREQUAL "0")
-    if(gp_tool STREQUAL "dumpbin")
-      # dumpbin error messages seem to go to stdout
-      message(FATAL_ERROR "${gp_cmd} failed: ${gp_rv}\n${gp_ev}\n${gp_cmd_ov}")
-    else()
-      message(FATAL_ERROR "${gp_cmd} failed: ${gp_rv}\n${gp_ev}")
-    endif()
-  endif()
-
-  if(gp_tool STREQUAL "ldd")
-    set(ENV{LD_LIBRARY_PATH} "${old_ld_env}")
-  endif()
-
-  if(verbose)
-    message(STATUS "<RawOutput cmd='${gp_cmd} ${gp_cmd_args} ${target}'>")
-    message(STATUS "gp_cmd_ov='${gp_cmd_ov}'")
-    message(STATUS "</RawOutput>")
-  endif()
-
-  get_filename_component(target_dir "${target}" PATH)
-
-  # Convert to a list of lines:
-  #
-  string(REPLACE ";" "\\;" candidates "${gp_cmd_ov}")
-  string(REPLACE "\n" "${eol_char};" candidates "${candidates}")
-
-  # check for install id and remove it from list, since otool -L can include a
-  # reference to itself
-  set(gp_install_id)
-  if(gp_tool STREQUAL "otool")
-    execute_process(
-      COMMAND otool -D ${target}
-      RESULT_VARIABLE otool_rv
-      OUTPUT_VARIABLE gp_install_id_ov
-      ERROR_VARIABLE otool_ev
-      )
-    if(NOT otool_rv STREQUAL "0")
-      message(FATAL_ERROR "otool -D failed: ${otool_rv}\n${otool_ev}")
-    endif()
-    # second line is install name
-    string(REGEX REPLACE ".*:\n" "" gp_install_id "${gp_install_id_ov}")
-    if(gp_install_id)
-      # trim
-      string(REGEX MATCH "[^\n ].*[^\n ]" gp_install_id "${gp_install_id}")
-      #message("INSTALL ID is \"${gp_install_id}\"")
-    endif()
-  endif()
-
-  # Analyze each line for file names that match the regular expression:
-  #
-  foreach(candidate ${candidates})
-  if("${candidate}" MATCHES "${gp_regex}")
-
-    # Extract information from each candidate:
-    if(gp_regex_error AND "${candidate}" MATCHES "${gp_regex_error}")
-      string(REGEX REPLACE "${gp_regex_fallback}" "\\1" raw_item "${candidate}")
-    else()
-      string(REGEX REPLACE "${gp_regex}" "\\1" raw_item "${candidate}")
-    endif()
-
-    if(gp_regex_cmp_count GREATER 1)
-      string(REGEX REPLACE "${gp_regex}" "\\2" raw_compat_version "${candidate}")
-      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" compat_major_version "${raw_compat_version}")
-      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" compat_minor_version "${raw_compat_version}")
-      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" compat_patch_version "${raw_compat_version}")
-    endif()
-
-    if(gp_regex_cmp_count GREATER 2)
-      string(REGEX REPLACE "${gp_regex}" "\\3" raw_current_version "${candidate}")
-      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" current_major_version "${raw_current_version}")
-      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" current_minor_version "${raw_current_version}")
-      string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" current_patch_version "${raw_current_version}")
-    endif()
-
-    # Use the raw_item as the list entries returned by this function. Use the
-    # gp_resolve_item function to resolve it to an actual full path file if
-    # necessary.
-    #
-    set(item "${raw_item}")
-
-    # Add each item unless it is excluded:
-    #
-    set(add_item 1)
-
-    if(item STREQUAL gp_install_id)
-      set(add_item 0)
-    endif()
-
-    if(add_item AND ${exclude_system})
-      set(type "")
-      gp_resolved_file_type("${target}" "${item}" "${exepath}" "${dirs}" type "${rpaths}")
-
-      if(type STREQUAL "system")
-        set(add_item 0)
-      endif()
-    endif()
-
-    if(add_item)
-      list(LENGTH ${prerequisites_var} list_length_before_append)
-      gp_append_unique(${prerequisites_var} "${item}")
-      list(LENGTH ${prerequisites_var} list_length_after_append)
-
-      if(${recurse})
-        # If item was really added, this is the first time we have seen it.
-        # Add it to unseen_prereqs so that we can recursively add *its*
-        # prerequisites...
-        #
-        # But first: resolve its name to an absolute full path name such
-        # that the analysis tools can simply accept it as input.
-        #
-        if(NOT list_length_before_append EQUAL list_length_after_append)
-          gp_resolve_item("${target}" "${item}" "${exepath}" "${dirs}" resolved_item "${rpaths}")
-          set(unseen_prereqs ${unseen_prereqs} "${resolved_item}")
-        endif()
-      endif()
-    endif()
-  else()
-    if(verbose)
-      message(STATUS "ignoring non-matching line: '${candidate}'")
-    endif()
-  endif()
-  endforeach()
-
-  list(LENGTH ${prerequisites_var} prerequisites_var_length)
-  if(prerequisites_var_length GREATER 0)
-    list(SORT ${prerequisites_var})
-  endif()
-  if(${recurse})
-    set(more_inputs ${unseen_prereqs})
-    foreach(input ${more_inputs})
-      get_prerequisites("${input}" ${prerequisites_var} ${exclude_system} ${recurse} "${exepath}" "${dirs}" "${rpaths}")
-    endforeach()
-  endif()
-
-  set(${prerequisites_var} ${${prerequisites_var}} PARENT_SCOPE)
-endfunction()
-
-
-function(list_prerequisites target)
-  if(ARGC GREATER 1 AND NOT "${ARGV1}" STREQUAL "")
-    set(all "${ARGV1}")
-  else()
-    set(all 1)
-  endif()
-
-  if(ARGC GREATER 2 AND NOT "${ARGV2}" STREQUAL "")
-    set(exclude_system "${ARGV2}")
-  else()
-    set(exclude_system 0)
-  endif()
-
-  if(ARGC GREATER 3 AND NOT "${ARGV3}" STREQUAL "")
-    set(verbose "${ARGV3}")
-  else()
-    set(verbose 0)
-  endif()
-
-  set(count 0)
-  set(count_str "")
-  set(print_count "${verbose}")
-  set(print_prerequisite_type "${verbose}")
-  set(print_target "${verbose}")
-  set(type_str "")
-
-  get_filename_component(exepath "${target}" PATH)
-
-  set(prereqs "")
-  get_prerequisites("${target}" prereqs ${exclude_system} ${all} "${exepath}" "")
-
-  if(print_target)
-    message(STATUS "File '${target}' depends on:")
-  endif()
-
-  foreach(d ${prereqs})
-    math(EXPR count "${count} + 1")
-
-    if(print_count)
-      set(count_str "${count}. ")
-    endif()
-
-    if(print_prerequisite_type)
-      gp_file_type("${target}" "${d}" type)
-      set(type_str " (${type})")
-    endif()
-
-    message(STATUS "${count_str}${d}${type_str}")
-  endforeach()
-endfunction()
-
-
-function(list_prerequisites_by_glob glob_arg glob_exp)
-  message(STATUS "=============================================================================")
-  message(STATUS "List prerequisites of executables matching ${glob_arg} '${glob_exp}'")
-  message(STATUS "")
-  file(${glob_arg} file_list ${glob_exp})
-  foreach(f ${file_list})
-    is_file_executable("${f}" is_f_executable)
-    if(is_f_executable)
-      message(STATUS "=============================================================================")
-      list_prerequisites("${f}" ${ARGN})
-      message(STATUS "")
-    endif()
-  endforeach()
-endfunction()
diff --git a/share/cmake-3.6/Modules/ITKCompatibility.cmake b/share/cmake-3.6/Modules/ITKCompatibility.cmake
deleted file mode 100644
index ca2d69b..0000000
--- a/share/cmake-3.6/Modules/ITKCompatibility.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# work around an old bug in ITK prior to verison 3.0
-set(TIFF_RIGHT_VERSION 1)
-
diff --git a/share/cmake-3.6/Modules/InstallRequiredSystemLibraries.cmake b/share/cmake-3.6/Modules/InstallRequiredSystemLibraries.cmake
deleted file mode 100644
index aa84077..0000000
--- a/share/cmake-3.6/Modules/InstallRequiredSystemLibraries.cmake
+++ /dev/null
@@ -1,528 +0,0 @@
-#.rst:
-# InstallRequiredSystemLibraries
-# ------------------------------
-#
-# Include this module to search for compiler-provided system runtime
-# libraries and add install rules for them.  Some optional variables
-# may be set prior to including the module to adjust behavior:
-#
-# ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS``
-#   Specify additional runtime libraries that may not be detected.
-#   After inclusion any detected libraries will be appended to this.
-#
-# ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP``
-#   Set to TRUE to skip calling the :command:`install(PROGRAMS)` command to
-#   allow the includer to specify its own install rule, using the value of
-#   ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS`` to get the list of libraries.
-#
-# ``CMAKE_INSTALL_DEBUG_LIBRARIES``
-#   Set to TRUE to install the debug runtime libraries when available
-#   with MSVC tools.
-#
-# ``CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY``
-#   Set to TRUE to install only the debug runtime libraries with MSVC
-#   tools even if the release runtime libraries are also available.
-#
-# ``CMAKE_INSTALL_UCRT_LIBRARIES``
-#   Set to TRUE to install the Windows Universal CRT libraries for
-#   app-local deployment.  This is meaningful only with MSVC from
-#   Visual Studio 2015 or higher.
-#
-# ``CMAKE_INSTALL_MFC_LIBRARIES``
-#   Set to TRUE to install the MSVC MFC runtime libraries.
-#
-# ``CMAKE_INSTALL_OPENMP_LIBRARIES``
-#   Set to TRUE to install the MSVC OpenMP runtime libraries
-#
-# ``CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION``
-#   Specify the :command:`install(PROGRAMS)` command ``DESTINATION``
-#   option.  If not specified, the default is ``bin`` on Windows
-#   and ``lib`` elsewhere.
-#
-# ``CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS``
-#   Set to TRUE to disable warnings about required library files that
-#   do not exist.  (For example, Visual Studio Express editions may
-#   not provide the redistributable files.)
-#
-# ``CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT``
-#   Specify the :command:`install(PROGRAMS)` command ``COMPONENT``
-#   option.  If not specified, no such option will be used.
-
-#=============================================================================
-# Copyright 2006-2015 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(MSVC)
-  file(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
-
-  if(CMAKE_CL_64)
-    if(MSVC_VERSION GREATER 1599)
-      # VS 10 and later:
-      set(CMAKE_MSVC_ARCH x64)
-    else()
-      # VS 9 and earlier:
-      set(CMAKE_MSVC_ARCH amd64)
-    endif()
-  else()
-    set(CMAKE_MSVC_ARCH x86)
-  endif()
-
-  get_filename_component(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)
-  get_filename_component(base_dir "${devenv_dir}/../.." ABSOLUTE)
-
-  if(MSVC70)
-    set(__install__libs
-      "${SYSTEMROOT}/system32/msvcp70.dll"
-      "${SYSTEMROOT}/system32/msvcr70.dll"
-      )
-  endif()
-
-  if(MSVC71)
-    set(__install__libs
-      "${SYSTEMROOT}/system32/msvcp71.dll"
-      "${SYSTEMROOT}/system32/msvcr71.dll"
-      )
-  endif()
-
-  if(MSVC80)
-    # Find the runtime library redistribution directory.
-    get_filename_component(msvc_install_dir
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]" ABSOLUTE)
-    find_path(MSVC80_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
-      PATHS
-        "${msvc_install_dir}/../../VC/redist"
-        "${base_dir}/VC/redist"
-      )
-    mark_as_advanced(MSVC80_REDIST_DIR)
-    set(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT")
-
-    # Install the manifest that allows DLLs to be loaded from the
-    # directory containing the executable.
-    if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-      set(__install__libs
-        "${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
-        "${MSVC80_CRT_DIR}/msvcm80.dll"
-        "${MSVC80_CRT_DIR}/msvcp80.dll"
-        "${MSVC80_CRT_DIR}/msvcr80.dll"
-        )
-    else()
-      set(__install__libs)
-    endif()
-
-    if(CMAKE_INSTALL_DEBUG_LIBRARIES)
-      set(MSVC80_CRT_DIR
-        "${MSVC80_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugCRT")
-      set(__install__libs ${__install__libs}
-        "${MSVC80_CRT_DIR}/Microsoft.VC80.DebugCRT.manifest"
-        "${MSVC80_CRT_DIR}/msvcm80d.dll"
-        "${MSVC80_CRT_DIR}/msvcp80d.dll"
-        "${MSVC80_CRT_DIR}/msvcr80d.dll"
-        )
-    endif()
-  endif()
-
-  if(MSVC90)
-    # Find the runtime library redistribution directory.
-    get_filename_component(msvc_install_dir
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]" ABSOLUTE)
-    get_filename_component(msvc_express_install_dir
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]" ABSOLUTE)
-    find_path(MSVC90_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
-      PATHS
-        "${msvc_install_dir}/../../VC/redist"
-        "${msvc_express_install_dir}/../../VC/redist"
-        "${base_dir}/VC/redist"
-      )
-    mark_as_advanced(MSVC90_REDIST_DIR)
-    set(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
-
-    # Install the manifest that allows DLLs to be loaded from the
-    # directory containing the executable.
-    if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-      set(__install__libs
-        "${MSVC90_CRT_DIR}/Microsoft.VC90.CRT.manifest"
-        "${MSVC90_CRT_DIR}/msvcm90.dll"
-        "${MSVC90_CRT_DIR}/msvcp90.dll"
-        "${MSVC90_CRT_DIR}/msvcr90.dll"
-        )
-    else()
-      set(__install__libs)
-    endif()
-
-    if(CMAKE_INSTALL_DEBUG_LIBRARIES)
-      set(MSVC90_CRT_DIR
-        "${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
-      set(__install__libs ${__install__libs}
-        "${MSVC90_CRT_DIR}/Microsoft.VC90.DebugCRT.manifest"
-        "${MSVC90_CRT_DIR}/msvcm90d.dll"
-        "${MSVC90_CRT_DIR}/msvcp90d.dll"
-        "${MSVC90_CRT_DIR}/msvcr90d.dll"
-        )
-    endif()
-  endif()
-
-  macro(MSVCRT_FILES_FOR_VERSION version)
-    set(v "${version}")
-
-    # Find the runtime library redistribution directory.
-    get_filename_component(msvc_install_dir
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${v}.0;InstallDir]" ABSOLUTE)
-    set(programfilesx86 "ProgramFiles(x86)")
-    find_path(MSVC${v}_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.CRT
-      PATHS
-        "${msvc_install_dir}/../../VC/redist"
-        "${base_dir}/VC/redist"
-        "$ENV{ProgramFiles}/Microsoft Visual Studio ${v}.0/VC/redist"
-        "$ENV{${programfilesx86}}/Microsoft Visual Studio ${v}.0/VC/redist"
-      )
-    mark_as_advanced(MSVC${v}_REDIST_DIR)
-    set(MSVC${v}_CRT_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.CRT")
-
-    if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-      set(__install__libs
-        "${MSVC${v}_CRT_DIR}/msvcp${v}0.dll"
-        )
-      if(NOT v VERSION_LESS 14)
-        list(APPEND __install__libs "${MSVC${v}_CRT_DIR}/vcruntime${v}0.dll")
-      else()
-        list(APPEND __install__libs "${MSVC${v}_CRT_DIR}/msvcr${v}0.dll")
-      endif()
-    else()
-      set(__install__libs)
-    endif()
-
-    if(CMAKE_INSTALL_DEBUG_LIBRARIES)
-      set(MSVC${v}_CRT_DIR
-        "${MSVC${v}_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.DebugCRT")
-      set(__install__libs ${__install__libs}
-        "${MSVC${v}_CRT_DIR}/msvcp${v}0d.dll"
-        )
-      if(NOT v VERSION_LESS 14)
-        list(APPEND __install__libs "${MSVC${v}_CRT_DIR}/vcruntime${v}0d.dll")
-      else()
-        list(APPEND __install__libs "${MSVC${v}_CRT_DIR}/msvcr${v}0d.dll")
-      endif()
-    endif()
-
-    if(CMAKE_INSTALL_UCRT_LIBRARIES AND NOT v VERSION_LESS 14)
-      # Find the Windows Universal CRT redistribution directory.
-      get_filename_component(windows_kits_dir
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots;KitsRoot10]" ABSOLUTE)
-      set(programfilesx86 "ProgramFiles(x86)")
-      find_path(WINDOWS_KITS_REDIST_DIR NAMES ucrt/DLLs/${CMAKE_MSVC_ARCH}/ucrtbase.dll
-        PATHS
-        "${windows_kits_dir}/Redist"
-        "$ENV{ProgramFiles}/Windows Kits/10/Redist"
-        "$ENV{${programfilesx86}}/Windows Kits/10/Redist"
-        )
-      mark_as_advanced(WINDOWS_KITS_REDIST_DIR)
-
-      # Glob the list of UCRT DLLs.
-      file(GLOB __ucrt_dlls "${WINDOWS_KITS_REDIST_DIR}/ucrt/DLLs/${CMAKE_MSVC_ARCH}/*.dll")
-      list(APPEND __install__libs ${__ucrt_dlls})
-    endif()
-  endmacro()
-
-  if(MSVC10)
-    MSVCRT_FILES_FOR_VERSION(10)
-  endif()
-
-  if(MSVC11)
-    MSVCRT_FILES_FOR_VERSION(11)
-  endif()
-
-  if(MSVC12)
-    MSVCRT_FILES_FOR_VERSION(12)
-  endif()
-
-  if(MSVC14)
-    MSVCRT_FILES_FOR_VERSION(14)
-  endif()
-
-  if(CMAKE_INSTALL_MFC_LIBRARIES)
-    if(MSVC70)
-      set(__install__libs ${__install__libs}
-        "${SYSTEMROOT}/system32/mfc70.dll"
-        )
-    endif()
-
-    if(MSVC71)
-      set(__install__libs ${__install__libs}
-        "${SYSTEMROOT}/system32/mfc71.dll"
-        )
-    endif()
-
-    if(MSVC80)
-      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
-        set(MSVC80_MFC_DIR
-          "${MSVC80_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugMFC")
-        set(__install__libs ${__install__libs}
-          "${MSVC80_MFC_DIR}/Microsoft.VC80.DebugMFC.manifest"
-          "${MSVC80_MFC_DIR}/mfc80d.dll"
-          "${MSVC80_MFC_DIR}/mfc80ud.dll"
-          "${MSVC80_MFC_DIR}/mfcm80d.dll"
-          "${MSVC80_MFC_DIR}/mfcm80ud.dll"
-          )
-      endif()
-
-      set(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFC")
-      # Install the manifest that allows DLLs to be loaded from the
-      # directory containing the executable.
-      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-        set(__install__libs ${__install__libs}
-          "${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
-          "${MSVC80_MFC_DIR}/mfc80.dll"
-          "${MSVC80_MFC_DIR}/mfc80u.dll"
-          "${MSVC80_MFC_DIR}/mfcm80.dll"
-          "${MSVC80_MFC_DIR}/mfcm80u.dll"
-          )
-      endif()
-
-      # include the language dll's for vs8 as well as the actuall dll's
-      set(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFCLOC")
-      # Install the manifest that allows DLLs to be loaded from the
-      # directory containing the executable.
-      set(__install__libs ${__install__libs}
-        "${MSVC80_MFCLOC_DIR}/Microsoft.VC80.MFCLOC.manifest"
-        "${MSVC80_MFCLOC_DIR}/mfc80chs.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80cht.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80enu.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80esp.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80deu.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80fra.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80ita.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80jpn.dll"
-        "${MSVC80_MFCLOC_DIR}/mfc80kor.dll"
-        )
-    endif()
-
-    if(MSVC90)
-      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
-        set(MSVC90_MFC_DIR
-          "${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugMFC")
-        set(__install__libs ${__install__libs}
-          "${MSVC90_MFC_DIR}/Microsoft.VC90.DebugMFC.manifest"
-          "${MSVC90_MFC_DIR}/mfc90d.dll"
-          "${MSVC90_MFC_DIR}/mfc90ud.dll"
-          "${MSVC90_MFC_DIR}/mfcm90d.dll"
-          "${MSVC90_MFC_DIR}/mfcm90ud.dll"
-          )
-      endif()
-
-      set(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFC")
-      # Install the manifest that allows DLLs to be loaded from the
-      # directory containing the executable.
-      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-        set(__install__libs ${__install__libs}
-          "${MSVC90_MFC_DIR}/Microsoft.VC90.MFC.manifest"
-          "${MSVC90_MFC_DIR}/mfc90.dll"
-          "${MSVC90_MFC_DIR}/mfc90u.dll"
-          "${MSVC90_MFC_DIR}/mfcm90.dll"
-          "${MSVC90_MFC_DIR}/mfcm90u.dll"
-          )
-      endif()
-
-      # include the language dll's for vs9 as well as the actuall dll's
-      set(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFCLOC")
-      # Install the manifest that allows DLLs to be loaded from the
-      # directory containing the executable.
-      set(__install__libs ${__install__libs}
-        "${MSVC90_MFCLOC_DIR}/Microsoft.VC90.MFCLOC.manifest"
-        "${MSVC90_MFCLOC_DIR}/mfc90chs.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90cht.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90enu.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90esp.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90deu.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90fra.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90ita.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90jpn.dll"
-        "${MSVC90_MFCLOC_DIR}/mfc90kor.dll"
-        )
-    endif()
-
-    macro(MFC_FILES_FOR_VERSION version)
-      set(v "${version}")
-
-      # Multi-Byte Character Set versions of MFC are available as optional
-      # addon since Visual Studio 12.  So for version 12 or higher, check
-      # whether they are available and exclude them if they are not.
-
-      if(CMAKE_INSTALL_DEBUG_LIBRARIES)
-        set(MSVC${v}_MFC_DIR
-          "${MSVC${v}_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.DebugMFC")
-        set(__install__libs ${__install__libs}
-          "${MSVC${v}_MFC_DIR}/mfc${v}0ud.dll"
-          "${MSVC${v}_MFC_DIR}/mfcm${v}0ud.dll"
-          )
-        if("${v}" LESS 12 OR EXISTS "${MSVC${v}_MFC_DIR}/mfc${v}0d.dll")
-          set(__install__libs ${__install__libs}
-            "${MSVC${v}_MFC_DIR}/mfc${v}0d.dll"
-            "${MSVC${v}_MFC_DIR}/mfcm${v}0d.dll"
-          )
-        endif()
-      endif()
-
-      set(MSVC${v}_MFC_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.MFC")
-      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-        set(__install__libs ${__install__libs}
-          "${MSVC${v}_MFC_DIR}/mfc${v}0u.dll"
-          "${MSVC${v}_MFC_DIR}/mfcm${v}0u.dll"
-          )
-        if("${v}" LESS 12 OR EXISTS "${MSVC${v}_MFC_DIR}/mfc${v}0.dll")
-          set(__install__libs ${__install__libs}
-            "${MSVC${v}_MFC_DIR}/mfc${v}0.dll"
-            "${MSVC${v}_MFC_DIR}/mfcm${v}0.dll"
-          )
-        endif()
-      endif()
-
-      # include the language dll's as well as the actuall dll's
-      set(MSVC${v}_MFCLOC_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.MFCLOC")
-      set(__install__libs ${__install__libs}
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0chs.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0cht.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0deu.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0enu.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0esn.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0fra.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0ita.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0jpn.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0kor.dll"
-        "${MSVC${v}_MFCLOC_DIR}/mfc${v}0rus.dll"
-        )
-    endmacro()
-
-    if(MSVC10)
-      MFC_FILES_FOR_VERSION(10)
-    endif()
-
-    if(MSVC11)
-      MFC_FILES_FOR_VERSION(11)
-    endif()
-
-    if(MSVC12)
-      MFC_FILES_FOR_VERSION(12)
-    endif()
-
-    if(MSVC14)
-      MFC_FILES_FOR_VERSION(14)
-    endif()
-  endif()
-
-  # MSVC 8 was the first version with OpenMP
-  # Furthermore, there is no debug version of this
-  if(CMAKE_INSTALL_OPENMP_LIBRARIES)
-    macro(OPENMP_FILES_FOR_VERSION version_a version_b)
-      set(va "${version_a}")
-      set(vb "${version_b}")
-      set(MSVC${va}_OPENMP_DIR "${MSVC${va}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${vb}.OPENMP")
-
-      if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
-        set(__install__libs ${__install__libs}
-          "${MSVC${va}_OPENMP_DIR}/vcomp${vb}.dll")
-      endif()
-    endmacro()
-
-    if(MSVC80)
-      OPENMP_FILES_FOR_VERSION(80 80)
-    endif()
-    if(MSVC90)
-      OPENMP_FILES_FOR_VERSION(90 90)
-    endif()
-    if(MSVC10)
-      OPENMP_FILES_FOR_VERSION(10 100)
-    endif()
-    if(MSVC11)
-      OPENMP_FILES_FOR_VERSION(11 110)
-    endif()
-    if(MSVC12)
-      OPENMP_FILES_FOR_VERSION(12 120)
-    endif()
-    if(MSVC14)
-      OPENMP_FILES_FOR_VERSION(14 140)
-    endif()
-  endif()
-
-  foreach(lib
-      ${__install__libs}
-      )
-    if(EXISTS ${lib})
-      set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
-        ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
-    else()
-      if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
-        message(WARNING "system runtime library file does not exist: '${lib}'")
-        # This warning indicates an incomplete Visual Studio installation
-        # or a bug somewhere above here in this file.
-        # If you would like to avoid this warning, fix the real problem, or
-        # set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS before including
-        # this file.
-      endif()
-    endif()
-  endforeach()
-endif()
-
-if(WATCOM)
-  get_filename_component( CompilerPath ${CMAKE_C_COMPILER} PATH )
-  if(CMAKE_C_COMPILER_VERSION)
-    set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
-  else()
-    set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
-  endif()
-  string(REGEX MATCHALL "[0-9]+" _watcom_version_list "${_compiler_version}")
-  list(GET _watcom_version_list 0 _watcom_major)
-  list(GET _watcom_version_list 1 _watcom_minor)
-  set( __install__libs
-    ${CompilerPath}/clbr${_watcom_major}${_watcom_minor}.dll
-    ${CompilerPath}/mt7r${_watcom_major}${_watcom_minor}.dll
-    ${CompilerPath}/plbr${_watcom_major}${_watcom_minor}.dll )
-  foreach(lib
-      ${__install__libs}
-      )
-    if(EXISTS ${lib})
-      set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
-        ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
-    else()
-      if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
-        message(WARNING "system runtime library file does not exist: '${lib}'")
-        # This warning indicates an incomplete Watcom installation
-        # or a bug somewhere above here in this file.
-        # If you would like to avoid this warning, fix the real problem, or
-        # set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS before including
-        # this file.
-      endif()
-    endif()
-  endforeach()
-endif()
-
-
-# Include system runtime libraries in the installation if any are
-# specified by CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS.
-if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
-  if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
-    if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
-      if(WIN32)
-        set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION bin)
-      else()
-        set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
-      endif()
-    endif()
-    if(CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT)
-      set(_CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT
-        COMPONENT ${CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT})
-    endif()
-    install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
-      DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION}
-      ${_CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT}
-      )
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/Internal/FeatureTesting.cmake b/share/cmake-3.6/Modules/Internal/FeatureTesting.cmake
deleted file mode 100644
index 86b89b2..0000000
--- a/share/cmake-3.6/Modules/Internal/FeatureTesting.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-
-macro(record_compiler_features lang compile_flags feature_list)
-  include("${CMAKE_ROOT}/Modules/Compiler/${CMAKE_${lang}_COMPILER_ID}-${lang}-FeatureTests.cmake" OPTIONAL)
-
-  string(TOLOWER ${lang} lang_lc)
-  file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin")
-  file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}" "
-  const char features[] = {\"\\n\"\n")
-
-  get_property(known_features GLOBAL PROPERTY CMAKE_${lang}_KNOWN_FEATURES)
-
-  foreach(feature ${known_features})
-    if (_cmake_feature_test_${feature})
-      if (${_cmake_feature_test_${feature}} STREQUAL 1)
-        set(_feature_condition "\"1\" ")
-      else()
-        set(_feature_condition "#if ${_cmake_feature_test_${feature}}\n\"1\"\n#else\n\"0\"\n#endif\n")
-      endif()
-      file(APPEND "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}" "\"${lang}_FEATURE:\"\n${_feature_condition}\"${feature}\\n\"\n")
-    endif()
-  endforeach()
-  file(APPEND "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}"
-    "\n};\n\nint main(int argc, char** argv) { (void)argv; return features[argc]; }\n")
-
-  try_compile(CMAKE_${lang}_FEATURE_TEST
-    ${CMAKE_BINARY_DIR} "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.${lang_lc}"
-    COMPILE_DEFINITIONS "${compile_flags}"
-    OUTPUT_VARIABLE _output
-    COPY_FILE "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin"
-    COPY_FILE_ERROR _copy_error
-    )
-  if(CMAKE_${lang}_FEATURE_TEST AND NOT _copy_error)
-    set(_result 0)
-  else()
-    set(_result 255)
-  endif()
-  unset(CMAKE_${lang}_FEATURE_TEST CACHE)
-
-  if (_result EQUAL 0)
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-      "\n\nDetecting ${lang} [${compile_flags}] compiler features compiled with the following output:\n${_output}\n\n")
-    if(EXISTS "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin")
-      file(STRINGS "${CMAKE_BINARY_DIR}/CMakeFiles/feature_tests.bin"
-        features REGEX "${lang}_FEATURE:.*")
-      foreach(info ${features})
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-          "    Feature record: ${info}\n")
-        string(REPLACE "${lang}_FEATURE:" "" info ${info})
-        string(SUBSTRING ${info} 0 1 has_feature)
-        if(has_feature)
-          string(REGEX REPLACE "^1" "" feature ${info})
-          list(APPEND ${feature_list} ${feature})
-        endif()
-      endforeach()
-    endif()
-  else()
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-      "Detecting ${lang} [${compile_flags}] compiler features failed to compile with the following output:\n${_output}\n${_copy_error}\n\n")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/KDE3Macros.cmake b/share/cmake-3.6/Modules/KDE3Macros.cmake
deleted file mode 100644
index 07864f5..0000000
--- a/share/cmake-3.6/Modules/KDE3Macros.cmake
+++ /dev/null
@@ -1,410 +0,0 @@
-#
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# See FindKDE3.cmake for documentation.
-#
-# this file contains the following macros:
-# KDE3_ADD_DCOP_SKELS
-# KDE3_ADD_DCOP_STUBS
-# KDE3_ADD_MOC_FILES
-# KDE3_ADD_UI_FILES
-# KDE3_ADD_KCFG_FILES
-# KDE3_AUTOMOC
-# KDE3_INSTALL_LIBTOOL_FILE
-# KDE3_CREATE_FINAL_FILE
-# KDE3_ADD_KPART
-# KDE3_ADD_KDEINIT_EXECUTABLE
-# KDE3_ADD_EXECUTABLE
-
-
-#neundorf@kde.org
-
-include(AddFileDependencies)
-
-#create the kidl and skeletion file for dcop stuff
-#usage: KDE_ADD_COP_SKELS(foo_SRCS ${dcop_headers})
-macro(KDE3_ADD_DCOP_SKELS _sources)
-   foreach (_current_FILE ${ARGN})
-
-      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
-      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
-
-      set(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp)
-      set(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
-
-      if (NOT HAVE_${_basename}_KIDL_RULE)
-         set(HAVE_${_basename}_KIDL_RULE ON)
-
-          add_custom_command(OUTPUT ${_kidl}
-          COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
-          ARGS ${_tmp_FILE} > ${_kidl}
-          DEPENDS ${_tmp_FILE}
-         )
-
-       endif ()
-
-      if (NOT HAVE_${_basename}_SKEL_RULE)
-        set(HAVE_${_basename}_SKEL_RULE ON)
-
-       add_custom_command(OUTPUT ${_skel}
-          COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
-          ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl}
-          DEPENDS ${_kidl}
-          )
-
-      endif ()
-
-      set(${_sources} ${${_sources}} ${_skel})
-
-   endforeach ()
-
-endmacro()
-
-
-macro(KDE3_ADD_DCOP_STUBS _sources)
-   foreach (_current_FILE ${ARGN})
-
-      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
-
-      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
-
-      set(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.cpp)
-      set(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
-
-      if (NOT HAVE_${_basename}_KIDL_RULE)
-        set(HAVE_${_basename}_KIDL_RULE ON)
-
-
-        add_custom_command(OUTPUT ${_kidl}
-           COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
-           ARGS ${_tmp_FILE} > ${_kidl}
-           DEPENDS ${_tmp_FILE}
-           )
-
-      endif ()
-
-
-      if (NOT HAVE_${_basename}_STUB_RULE)
-        set(HAVE_${_basename}_STUB_RULE ON)
-
-        add_custom_command(OUTPUT ${_stub_CPP}
-           COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
-           ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl}
-           DEPENDS ${_kidl}
-         )
-
-      endif ()
-
-      set(${_sources} ${${_sources}} ${_stub_CPP})
-
-   endforeach ()
-
-endmacro()
-
-
-macro(KDE3_ADD_KCFG_FILES _sources)
-   foreach (_current_FILE ${ARGN})
-
-      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
-
-      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
-
-      file(READ ${_tmp_FILE} _contents)
-      string(REGEX REPLACE "^(.*\n)?File=([^\n]+)\n.*$" "\\2"  _kcfg_FILE "${_contents}")
-
-      set(_src_FILE    ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
-      set(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
-
-      add_custom_command(OUTPUT ${_src_FILE}
-         COMMAND ${KDE3_KCFGC_EXECUTABLE}
-         ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} ${_tmp_FILE}
-         DEPENDS ${_tmp_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} )
-
-      set(${_sources} ${${_sources}} ${_src_FILE})
-
-   endforeach ()
-
-endmacro()
-
-
-#create the moc files and add them to the list of sources
-#usage: KDE_ADD_MOC_FILES(foo_SRCS ${moc_headers})
-macro(KDE3_ADD_MOC_FILES _sources)
-   foreach (_current_FILE ${ARGN})
-
-      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
-
-      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
-      set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
-
-      add_custom_command(OUTPUT ${_moc}
-         COMMAND ${QT_MOC_EXECUTABLE}
-         ARGS ${_tmp_FILE} -o ${_moc}
-         DEPENDS ${_tmp_FILE}
-      )
-
-      set(${_sources} ${${_sources}} ${_moc})
-
-   endforeach ()
-endmacro()
-
-
-get_filename_component( KDE3_MODULE_DIR  ${CMAKE_CURRENT_LIST_FILE} PATH)
-
-#create the implementation files from the ui files and add them to the list of sources
-#usage: KDE_ADD_UI_FILES(foo_SRCS ${ui_files})
-macro(KDE3_ADD_UI_FILES _sources )
-   foreach (_current_FILE ${ARGN})
-
-      get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
-
-      get_filename_component(_basename ${_tmp_FILE} NAME_WE)
-      set(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
-      set(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
-      set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
-
-      add_custom_command(OUTPUT ${_header}
-         COMMAND ${QT_UIC_EXECUTABLE}
-         ARGS  -L ${KDE3_LIB_DIR}/kde3/plugins/designer -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
-         DEPENDS ${_tmp_FILE}
-      )
-
-      add_custom_command(OUTPUT ${_src}
-         COMMAND ${CMAKE_COMMAND}
-         ARGS
-         -DKDE_UIC_PLUGIN_DIR:FILEPATH=${KDE3_LIB_DIR}/kde3/plugins/designer
-         -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE}
-         -DKDE_UIC_FILE:FILEPATH=${_tmp_FILE}
-         -DKDE_UIC_CPP_FILE:FILEPATH=${_src}
-         -DKDE_UIC_H_FILE:FILEPATH=${_header}
-         -P ${KDE3_MODULE_DIR}/kde3uic.cmake
-         DEPENDS ${_header}
-      )
-
-      add_custom_command(OUTPUT ${_moc}
-         COMMAND ${QT_MOC_EXECUTABLE}
-         ARGS ${_header} -o ${_moc}
-         DEPENDS ${_header}
-      )
-
-      set(${_sources} ${${_sources}} ${_src} ${_moc} )
-
-   endforeach ()
-endmacro()
-
-
-macro(KDE3_AUTOMOC)
-   set(_matching_FILES )
-   foreach (_current_FILE ${ARGN})
-
-      get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
-
-      # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
-      # here. this is required to make bouic work correctly:
-      # we need to add generated .cpp files to the sources (to compile them),
-      # but we cannot let automoc handle them, as the .cpp files don't exist yet when
-      # cmake is run for the very first time on them -> however the .cpp files might
-      # exist at a later run. at that time we need to skip them, so that we don't add two
-      # different rules for the same moc file
-      get_source_file_property(_skip ${_abs_FILE} SKIP_AUTOMOC)
-
-      if (EXISTS ${_abs_FILE} AND NOT _skip)
-
-         file(STRINGS ${_abs_FILE} _match REGEX "#include +[^ ]+\\.moc[\">]")
-
-         get_filename_component(_abs_PATH ${_abs_FILE} PATH)
-
-         foreach (_current_MOC_INC IN LISTS _match)
-            string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
-
-            get_filename_component(_basename ${_current_MOC} NAME_WE)
-#            set(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
-            set(_header ${_abs_PATH}/${_basename}.h)
-            set(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
-
-            add_custom_command(OUTPUT ${_moc}
-               COMMAND ${QT_MOC_EXECUTABLE}
-               ARGS ${_header} -o ${_moc}
-               DEPENDS ${_header}
-            )
-
-            ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
-
-         endforeach ()
-         unset(_match)
-         unset(_header)
-         unset(_moc)
-      endif ()
-   endforeach ()
-endmacro()
-
-# only used internally by KDE3_INSTALL_ICONS
-macro (_KDE3_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME)
-
-   # if the string doesn't match the pattern, the result is the full string, so all three have the same content
-   if (NOT ${_group} STREQUAL ${_install_NAME} )
-      set(_icon_GROUP "actions")
-
-      if (${_group} STREQUAL "mime")
-         set(_icon_GROUP  "mimetypes")
-      endif ()
-
-      if (${_group} STREQUAL "filesys")
-         set(_icon_GROUP  "filesystems")
-      endif ()
-
-      if (${_group} STREQUAL "device")
-         set(_icon_GROUP  "devices")
-      endif ()
-
-      if (${_group} STREQUAL "app")
-         set(_icon_GROUP  "apps")
-      endif ()
-
-      if (${_group} STREQUAL "action")
-         set(_icon_GROUP  "actions")
-      endif ()
-
-#      message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" )
-   install(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} )
-   endif ()
-
-endmacro ()
-
-
-macro (KDE3_INSTALL_ICONS _theme )
-   set(_defaultpath "${CMAKE_INSTALL_PREFIX}/share/icons")
-   # first the png icons
-   file(GLOB _icons *.png)
-   foreach (_current_ICON ${_icons} )
-      string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size  "${_current_ICON}")
-      string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}")
-      string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name  "${_current_ICON}")
-      _KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake
-         ${_defaultpath}/${_theme}/${_size}x${_size}
-         ${_group} ${_current_ICON} ${_name})
-   endforeach ()
-
-   # and now the svg icons
-   file(GLOB _icons *.svgz)
-   foreach (_current_ICON ${_icons} )
-      string(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}")
-      string(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}")
-      _KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake
-                                 ${_defaultpath}/${_theme}/scalable
-                                 ${_group} ${_current_ICON} ${_name})
-   endforeach ()
-
-endmacro ()
-
-macro(KDE3_INSTALL_LIBTOOL_FILE _target)
-   get_target_property(_target_location ${_target} LOCATION)
-
-   get_filename_component(_laname ${_target_location} NAME_WE)
-   get_filename_component(_soname ${_target_location} NAME)
-   set(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la)
-
-   file(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n")
-   file(APPEND ${_laname} "# The name that we can dlopen(3).\n")
-   file(APPEND ${_laname} "dlname='${_soname}'\n")
-   file(APPEND ${_laname} "# Names of this library\n")
-   if(CYGWIN)
-     file(APPEND ${_laname} "library_names='${_soname}'\n")
-   else()
-     file(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n")
-   endif()
-   file(APPEND ${_laname} "# The name of the static archive\n")
-   file(APPEND ${_laname} "old_library=''\n")
-   file(APPEND ${_laname} "# Libraries that this one depends upon.\n")
-   file(APPEND ${_laname} "dependency_libs=''\n")
-#   file(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n")
-   file(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n")
-   file(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n")
-   file(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n")
-   file(APPEND ${_laname} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n")
-   file(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
-   file(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/lib/kde3'\n")
-
-   install_files(${KDE3_LIBTOOL_DIR} FILES ${_laname})
-endmacro()
-
-
-macro(KDE3_CREATE_FINAL_FILE _filename)
-   file(WRITE ${_filename} "//autogenerated file\n")
-   foreach (_current_FILE ${ARGN})
-      file(APPEND ${_filename} "#include \"${_current_FILE}\"\n")
-   endforeach ()
-
-endmacro()
-
-
-# option(KDE3_ENABLE_FINAL "Enable final all-in-one compilation")
-option(KDE3_BUILD_TESTS  "Build the tests")
-
-
-macro(KDE3_ADD_KPART _target_NAME _with_PREFIX)
-#is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, otherwise SET the prefix empty
-   if (${_with_PREFIX} STREQUAL "WITH_PREFIX")
-      set(_first_SRC)
-   else ()
-      set(_first_SRC ${_with_PREFIX})
-   endif ()
-
-#    if (KDE3_ENABLE_FINAL)
-#       KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN})
-#       add_library(${_target_NAME} MODULE  ${_target_NAME}_final.cpp)
-#    else ()
-   add_library(${_target_NAME} MODULE ${_first_SRC} ${ARGN})
-#    endif ()
-
-   if(_first_SRC)
-      set_target_properties(${_target_NAME} PROPERTIES PREFIX "")
-   endif()
-
-   KDE3_INSTALL_LIBTOOL_FILE(${_target_NAME})
-
-endmacro()
-
-
-macro(KDE3_ADD_KDEINIT_EXECUTABLE _target_NAME )
-
-#    if (KDE3_ENABLE_FINAL)
-#       KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
-#       add_library(kdeinit_${_target_NAME} SHARED  ${_target_NAME}_final.cpp)
-#    else ()
-   add_library(kdeinit_${_target_NAME} SHARED ${ARGN} )
-#    endif ()
-
-   configure_file(${KDE3_MODULE_DIR}/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
-
-   add_executable( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
-   target_link_libraries( ${_target_NAME} kdeinit_${_target_NAME} )
-
-endmacro()
-
-
-macro(KDE3_ADD_EXECUTABLE _target_NAME )
-
-#    if (KDE3_ENABLE_FINAL)
-#       KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
-#       add_executable(${_target_NAME} ${_target_NAME}_final.cpp)
-#    else ()
-   add_executable(${_target_NAME} ${ARGN} )
-#    endif ()
-
-endmacro()
-
-
diff --git a/share/cmake-3.6/Modules/MacroAddFileDependencies.cmake b/share/cmake-3.6/Modules/MacroAddFileDependencies.cmake
deleted file mode 100644
index 38df1d3..0000000
--- a/share/cmake-3.6/Modules/MacroAddFileDependencies.cmake
+++ /dev/null
@@ -1,39 +0,0 @@
-#.rst:
-# MacroAddFileDependencies
-# ------------------------
-#
-# MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...)
-#
-# Using the macro MACRO_ADD_FILE_DEPENDENCIES() is discouraged.  There
-# are usually better ways to specify the correct dependencies.
-#
-# MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...) is just a
-# convenience wrapper around the OBJECT_DEPENDS source file property.
-# You can just use set_property(SOURCE <file> APPEND PROPERTY
-# OBJECT_DEPENDS depend_files) instead.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro (MACRO_ADD_FILE_DEPENDENCIES _file)
-
-   get_source_file_property(_deps ${_file} OBJECT_DEPENDS)
-   if (_deps)
-      set(_deps ${_deps} ${ARGN})
-   else ()
-      set(_deps ${ARGN})
-   endif ()
-
-   set_source_files_properties(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
-
-endmacro ()
diff --git a/share/cmake-3.6/Modules/MatlabTestsRedirect.cmake b/share/cmake-3.6/Modules/MatlabTestsRedirect.cmake
deleted file mode 100644
index 77b7afe..0000000
--- a/share/cmake-3.6/Modules/MatlabTestsRedirect.cmake
+++ /dev/null
@@ -1,91 +0,0 @@
-# This is an undocumented internal helper for the FindMatlab
-# module ``matlab_add_unit_test`` command.
-
-#=============================================================================
-# Copyright 2014-2015 Raffi Enficiaud, Max Planck Society
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-# Usage: cmake
-#   -Dtest_timeout=180
-#   -Doutput_directory=
-#   -Dadditional_paths=""
-#   -Dno_unittest_framework=""
-#   -DMatlab_PROGRAM=matlab_exe_location
-#   -DMatlab_ADDITIONNAL_STARTUP_OPTIONS=""
-#   -Dtest_name=name_of_the_test
-#   -Dcmd_to_run_before_test=""
-#   -Dunittest_file_to_run
-#   -P FindMatlab_TestsRedirect.cmake
-
-set(Matlab_UNIT_TESTS_CMD -nosplash -nojvm -nodesktop -nodisplay ${Matlab_ADDITIONNAL_STARTUP_OPTIONS})
-if(WIN32)
-  set(Matlab_UNIT_TESTS_CMD ${Matlab_UNIT_TESTS_CMD} -wait)
-endif()
-
-if(NOT test_timeout)
-  set(test_timeout 180)
-endif()
-
-if(NOT cmd_to_run_before_test)
-  set(cmd_to_run_before_test)
-endif()
-
-get_filename_component(unittest_file_directory   "${unittest_file_to_run}" DIRECTORY)
-get_filename_component(unittest_file_to_run_name "${unittest_file_to_run}" NAME_WE)
-
-set(concat_string '${unittest_file_directory}')
-foreach(s IN LISTS additional_paths)
-  if(NOT "${s}" STREQUAL "")
-    set(concat_string "${concat_string}, '${s}'")
-  endif()
-endforeach()
-
-set(unittest_to_run "runtests('${unittest_file_to_run_name}'), exit(max([ans(1,:).Failed]))")
-if(no_unittest_framework)
-  set(unittest_to_run "try, ${unittest_file_to_run_name}, catch err, disp('An exception has been thrown during the execution'), disp(err), disp(err.stack), exit(1), end, exit(0)")
-endif()
-
-set(Matlab_SCRIPT_TO_RUN
-    "addpath(${concat_string}), path, ${cmd_to_run_before_test}, ${unittest_to_run}"
-   )
-
-set(Matlab_LOG_FILE "${output_directory}/${test_name}.log")
-
-set(devnull)
-if(UNIX)
-  set(devnull INPUT_FILE /dev/null)
-elseif(WIN32)
-  set(devnull INPUT_FILE NUL)
-endif()
-
-execute_process(
-  COMMAND "${Matlab_PROGRAM}" ${Matlab_UNIT_TESTS_CMD} -logfile "${test_name}.log" -r "${Matlab_SCRIPT_TO_RUN}"
-  RESULT_VARIABLE res
-  TIMEOUT ${test_timeout}
-  OUTPUT_QUIET # we do not want the output twice
-  WORKING_DIRECTORY "${output_directory}"
-  ${devnull}
-  )
-
-if(NOT EXISTS ${Matlab_LOG_FILE})
-  message( FATAL_ERROR "[MATLAB] ERROR: cannot find the log file ${Matlab_LOG_FILE}")
-endif()
-
-# print the output in any case.
-file(READ ${Matlab_LOG_FILE} matlab_log_content)
-message("Matlab test ${name_of_the_test} output:\n${matlab_log_content}") # if we put FATAL_ERROR here, the file is indented.
-
-
-if(NOT (res EQUAL 0))
-  message( FATAL_ERROR "[MATLAB] TEST FAILED" )
-endif()
diff --git a/share/cmake-3.6/Modules/NSIS.template.in b/share/cmake-3.6/Modules/NSIS.template.in
deleted file mode 100644
index 1ef3d28..0000000
--- a/share/cmake-3.6/Modules/NSIS.template.in
+++ /dev/null
@@ -1,979 +0,0 @@
-; CPack install script designed for a nmake build
-
-;--------------------------------
-; You must define these values
-
-  !define VERSION "@CPACK_PACKAGE_VERSION@"
-  !define PATCH  "@CPACK_PACKAGE_VERSION_PATCH@"
-  !define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
-
-;--------------------------------
-;Variables
-
-  Var MUI_TEMP
-  Var STARTMENU_FOLDER
-  Var SV_ALLUSERS
-  Var START_MENU
-  Var DO_NOT_ADD_TO_PATH
-  Var ADD_TO_PATH_ALL_USERS
-  Var ADD_TO_PATH_CURRENT_USER
-  Var INSTALL_DESKTOP
-  Var IS_DEFAULT_INSTALLDIR
-;--------------------------------
-;Include Modern UI
-
-  !include "MUI.nsh"
-
-  ;Default installation folder
-  InstallDir "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
-
-;--------------------------------
-;General
-
-  ;Name and file
-  Name "@CPACK_NSIS_PACKAGE_NAME@"
-  OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
-
-  ;Set compression
-  SetCompressor @CPACK_NSIS_COMPRESSOR@
-
-  ;Require administrator access
-  RequestExecutionLevel admin
-
-@CPACK_NSIS_DEFINES@
-
-  !include Sections.nsh
-
-;--- Component support macros: ---
-; The code for the add/remove functionality is from:
-;   http://nsis.sourceforge.net/Add/Remove_Functionality
-; It has been modified slightly and extended to provide
-; inter-component dependencies.
-Var AR_SecFlags
-Var AR_RegFlags
-@CPACK_NSIS_SECTION_SELECTED_VARS@
-
-; Loads the "selected" flag for the section named SecName into the
-; variable VarName.
-!macro LoadSectionSelectedIntoVar SecName VarName
- SectionGetFlags ${${SecName}} $${VarName}
- IntOp $${VarName} $${VarName} & ${SF_SELECTED}  ;Turn off all other bits
-!macroend
-
-; Loads the value of a variable... can we get around this?
-!macro LoadVar VarName
-  IntOp $R0 0 + $${VarName}
-!macroend
-
-; Sets the value of a variable
-!macro StoreVar VarName IntValue
-  IntOp $${VarName} 0 + ${IntValue}
-!macroend
-
-!macro InitSection SecName
-  ;  This macro reads component installed flag from the registry and
-  ;changes checked state of the section on the components page.
-  ;Input: section index constant name specified in Section command.
-
-  ClearErrors
-  ;Reading component status from registry
-  ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed"
-  IfErrors "default_${SecName}"
-    ;Status will stay default if registry value not found
-    ;(component was never installed)
-  IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
-  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading default section flags
-  IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE  ;Turn lowest (enabled) bit off
-  IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags      ;Change lowest bit
-
-  ; Note whether this component was installed before
-  !insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
-  IntOp $R0 $AR_RegFlags & $AR_RegFlags
-
-  ;Writing modified flags
-  SectionSetFlags ${${SecName}} $AR_SecFlags
-
- "default_${SecName}:"
- !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
-!macroend
-
-!macro FinishSection SecName
-  ;  This macro reads section flag set by user and removes the section
-  ;if it is not selected.
-  ;Then it writes component installed flag to registry
-  ;Input: section index constant name specified in Section command.
-
-  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading section flags
-  ;Checking lowest bit:
-  IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
-  IntCmp $AR_SecFlags 1 "leave_${SecName}"
-    ;Section is not selected:
-    ;Calling Section uninstall macro and writing zero installed flag
-    !insertmacro "Remove_${${SecName}}"
-    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
-  "Installed" 0
-    Goto "exit_${SecName}"
-
- "leave_${SecName}:"
-    ;Section is selected:
-    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
-  "Installed" 1
-
- "exit_${SecName}:"
-!macroend
-
-!macro RemoveSection_CPack SecName
-  ;  This macro is used to call section's Remove_... macro
-  ;from the uninstaller.
-  ;Input: section index constant name specified in Section command.
-
-  !insertmacro "Remove_${${SecName}}"
-!macroend
-
-; Determine whether the selection of SecName changed
-!macro MaybeSelectionChanged SecName
-  !insertmacro LoadVar ${SecName}_selected
-  SectionGetFlags ${${SecName}} $R1
-  IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
-
-  ; See if the status has changed:
-  IntCmp $R0 $R1 "${SecName}_unchanged"
-  !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
-
-  IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
-  !insertmacro "Deselect_required_by_${SecName}"
-  goto "${SecName}_unchanged"
-
-  "${SecName}_was_selected:"
-  !insertmacro "Select_${SecName}_depends"
-
-  "${SecName}_unchanged:"
-!macroend
-;--- End of Add/Remove macros ---
-
-;--------------------------------
-;Interface Settings
-
-  !define MUI_HEADERIMAGE
-  !define MUI_ABORTWARNING
-
-;--------------------------------
-; path functions
-
-!verbose 3
-!include "WinMessages.NSH"
-!verbose 4
-
-;----------------------------------------
-; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
-;----------------------------------------
-!verbose 3
-!include "WinMessages.NSH"
-!verbose 4
-;====================================================
-; get_NT_environment
-;     Returns: the selected environment
-;     Output : head of the stack
-;====================================================
-!macro select_NT_profile UN
-Function ${UN}select_NT_profile
-   StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
-      DetailPrint "Selected environment for all users"
-      Push "all"
-      Return
-   environment_single:
-      DetailPrint "Selected environment for current user only."
-      Push "current"
-      Return
-FunctionEnd
-!macroend
-!insertmacro select_NT_profile ""
-!insertmacro select_NT_profile "un."
-;----------------------------------------------------
-!define NT_current_env 'HKCU "Environment"'
-!define NT_all_env     'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
-
-!ifndef WriteEnvStr_RegKey
-  !ifdef ALL_USERS
-    !define WriteEnvStr_RegKey \
-       'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
-  !else
-    !define WriteEnvStr_RegKey 'HKCU "Environment"'
-  !endif
-!endif
-
-; AddToPath - Adds the given dir to the search path.
-;        Input - head of the stack
-;        Note - Win9x systems requires reboot
-
-Function AddToPath
-  Exch $0
-  Push $1
-  Push $2
-  Push $3
-
-  # don't add if the path doesn't exist
-  IfFileExists "$0\*.*" "" AddToPath_done
-
-  ReadEnvStr $1 PATH
-  ; if the path is too long for a NSIS variable NSIS will return a 0
-  ; length string.  If we find that, then warn and skip any path
-  ; modification as it will trash the existing path.
-  StrLen $2 $1
-  IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
-    CheckPathLength_ShowPathWarning:
-    Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
-    Goto AddToPath_done
-  CheckPathLength_Done:
-  Push "$1;"
-  Push "$0;"
-  Call StrStr
-  Pop $2
-  StrCmp $2 "" "" AddToPath_done
-  Push "$1;"
-  Push "$0\;"
-  Call StrStr
-  Pop $2
-  StrCmp $2 "" "" AddToPath_done
-  GetFullPathName /SHORT $3 $0
-  Push "$1;"
-  Push "$3;"
-  Call StrStr
-  Pop $2
-  StrCmp $2 "" "" AddToPath_done
-  Push "$1;"
-  Push "$3\;"
-  Call StrStr
-  Pop $2
-  StrCmp $2 "" "" AddToPath_done
-
-  Call IsNT
-  Pop $1
-  StrCmp $1 1 AddToPath_NT
-    ; Not on NT
-    StrCpy $1 $WINDIR 2
-    FileOpen $1 "$1\autoexec.bat" a
-    FileSeek $1 -1 END
-    FileReadByte $1 $2
-    IntCmp $2 26 0 +2 +2 # DOS EOF
-      FileSeek $1 -1 END # write over EOF
-    FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
-    FileClose $1
-    SetRebootFlag true
-    Goto AddToPath_done
-
-  AddToPath_NT:
-    StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
-      ReadRegStr $1 ${NT_current_env} "PATH"
-      Goto DoTrim
-    ReadAllKey:
-      ReadRegStr $1 ${NT_all_env} "PATH"
-    DoTrim:
-    StrCmp $1 "" AddToPath_NTdoIt
-      Push $1
-      Call Trim
-      Pop $1
-      StrCpy $0 "$1;$0"
-    AddToPath_NTdoIt:
-      StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
-        WriteRegExpandStr ${NT_current_env} "PATH" $0
-        Goto DoSend
-      WriteAllKey:
-        WriteRegExpandStr ${NT_all_env} "PATH" $0
-      DoSend:
-      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
-
-  AddToPath_done:
-    Pop $3
-    Pop $2
-    Pop $1
-    Pop $0
-FunctionEnd
-
-
-; RemoveFromPath - Remove a given dir from the path
-;     Input: head of the stack
-
-Function un.RemoveFromPath
-  Exch $0
-  Push $1
-  Push $2
-  Push $3
-  Push $4
-  Push $5
-  Push $6
-
-  IntFmt $6 "%c" 26 # DOS EOF
-
-  Call un.IsNT
-  Pop $1
-  StrCmp $1 1 unRemoveFromPath_NT
-    ; Not on NT
-    StrCpy $1 $WINDIR 2
-    FileOpen $1 "$1\autoexec.bat" r
-    GetTempFileName $4
-    FileOpen $2 $4 w
-    GetFullPathName /SHORT $0 $0
-    StrCpy $0 "SET PATH=%PATH%;$0"
-    Goto unRemoveFromPath_dosLoop
-
-    unRemoveFromPath_dosLoop:
-      FileRead $1 $3
-      StrCpy $5 $3 1 -1 # read last char
-      StrCmp $5 $6 0 +2 # if DOS EOF
-        StrCpy $3 $3 -1 # remove DOS EOF so we can compare
-      StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
-      StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
-      StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
-      StrCmp $3 "" unRemoveFromPath_dosLoopEnd
-      FileWrite $2 $3
-      Goto unRemoveFromPath_dosLoop
-      unRemoveFromPath_dosLoopRemoveLine:
-        SetRebootFlag true
-        Goto unRemoveFromPath_dosLoop
-
-    unRemoveFromPath_dosLoopEnd:
-      FileClose $2
-      FileClose $1
-      StrCpy $1 $WINDIR 2
-      Delete "$1\autoexec.bat"
-      CopyFiles /SILENT $4 "$1\autoexec.bat"
-      Delete $4
-      Goto unRemoveFromPath_done
-
-  unRemoveFromPath_NT:
-    StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
-      ReadRegStr $1 ${NT_current_env} "PATH"
-      Goto unDoTrim
-    unReadAllKey:
-      ReadRegStr $1 ${NT_all_env} "PATH"
-    unDoTrim:
-    StrCpy $5 $1 1 -1 # copy last char
-    StrCmp $5 ";" +2 # if last char != ;
-      StrCpy $1 "$1;" # append ;
-    Push $1
-    Push "$0;"
-    Call un.StrStr ; Find `$0;` in $1
-    Pop $2 ; pos of our dir
-    StrCmp $2 "" unRemoveFromPath_done
-      ; else, it is in path
-      # $0 - path to add
-      # $1 - path var
-      StrLen $3 "$0;"
-      StrLen $4 $2
-      StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
-      StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
-      StrCpy $3 $5$6
-
-      StrCpy $5 $3 1 -1 # copy last char
-      StrCmp $5 ";" 0 +2 # if last char == ;
-        StrCpy $3 $3 -1 # remove last char
-
-      StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
-        WriteRegExpandStr ${NT_current_env} "PATH" $3
-        Goto unDoSend
-      unWriteAllKey:
-        WriteRegExpandStr ${NT_all_env} "PATH" $3
-      unDoSend:
-      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
-
-  unRemoveFromPath_done:
-    Pop $6
-    Pop $5
-    Pop $4
-    Pop $3
-    Pop $2
-    Pop $1
-    Pop $0
-FunctionEnd
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Uninstall sutff
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-###########################################
-#            Utility Functions            #
-###########################################
-
-;====================================================
-; IsNT - Returns 1 if the current system is NT, 0
-;        otherwise.
-;     Output: head of the stack
-;====================================================
-; IsNT
-; no input
-; output, top of the stack = 1 if NT or 0 if not
-;
-; Usage:
-;   Call IsNT
-;   Pop $R0
-;  ($R0 at this point is 1 or 0)
-
-!macro IsNT un
-Function ${un}IsNT
-  Push $0
-  ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
-  StrCmp $0 "" 0 IsNT_yes
-  ; we are not NT.
-  Pop $0
-  Push 0
-  Return
-
-  IsNT_yes:
-    ; NT!!!
-    Pop $0
-    Push 1
-FunctionEnd
-!macroend
-!insertmacro IsNT ""
-!insertmacro IsNT "un."
-
-; StrStr
-; input, top of stack = string to search for
-;        top of stack-1 = string to search in
-; output, top of stack (replaces with the portion of the string remaining)
-; modifies no other variables.
-;
-; Usage:
-;   Push "this is a long ass string"
-;   Push "ass"
-;   Call StrStr
-;   Pop $R0
-;  ($R0 at this point is "ass string")
-
-!macro StrStr un
-Function ${un}StrStr
-Exch $R1 ; st=haystack,old$R1, $R1=needle
-  Exch    ; st=old$R1,haystack
-  Exch $R2 ; st=old$R1,old$R2, $R2=haystack
-  Push $R3
-  Push $R4
-  Push $R5
-  StrLen $R3 $R1
-  StrCpy $R4 0
-  ; $R1=needle
-  ; $R2=haystack
-  ; $R3=len(needle)
-  ; $R4=cnt
-  ; $R5=tmp
-  loop:
-    StrCpy $R5 $R2 $R3 $R4
-    StrCmp $R5 $R1 done
-    StrCmp $R5 "" done
-    IntOp $R4 $R4 + 1
-    Goto loop
-done:
-  StrCpy $R1 $R2 "" $R4
-  Pop $R5
-  Pop $R4
-  Pop $R3
-  Pop $R2
-  Exch $R1
-FunctionEnd
-!macroend
-!insertmacro StrStr ""
-!insertmacro StrStr "un."
-
-Function Trim ; Added by Pelaca
-	Exch $R1
-	Push $R2
-Loop:
-	StrCpy $R2 "$R1" 1 -1
-	StrCmp "$R2" " " RTrim
-	StrCmp "$R2" "$\n" RTrim
-	StrCmp "$R2" "$\r" RTrim
-	StrCmp "$R2" ";" RTrim
-	GoTo Done
-RTrim:
-	StrCpy $R1 "$R1" -1
-	Goto Loop
-Done:
-	Pop $R2
-	Exch $R1
-FunctionEnd
-
-Function ConditionalAddToRegisty
-  Pop $0
-  Pop $1
-  StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
-    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" \
-    "$1" "$0"
-    ;MessageBox MB_OK "Set Registry: '$1' to '$0'"
-    DetailPrint "Set install registry entry: '$1' to '$0'"
-  ConditionalAddToRegisty_EmptyString:
-FunctionEnd
-
-;--------------------------------
-
-!ifdef CPACK_USES_DOWNLOAD
-Function DownloadFile
-    IfFileExists $INSTDIR\* +2
-    CreateDirectory $INSTDIR
-    Pop $0
-
-    ; Skip if already downloaded
-    IfFileExists $INSTDIR\$0 0 +2
-    Return
-
-    StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
-
-  try_again:
-    NSISdl::download "$1/$0" "$INSTDIR\$0"
-
-    Pop $1
-    StrCmp $1 "success" success
-    StrCmp $1 "Cancelled" cancel
-    MessageBox MB_OK "Download failed: $1"
-  cancel:
-    Return
-  success:
-FunctionEnd
-!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@
-@CPACK_NSIS_INSTALLER_MUI_WELCOMEFINISH_CODE@
-@CPACK_NSIS_INSTALLER_MUI_UNWELCOMEFINISH_CODE@
-@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
-@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
-
-;--------------------------------
-;Pages
-  !insertmacro MUI_PAGE_WELCOME
-
-  !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
-  Page custom InstallOptionsPage
-  !insertmacro MUI_PAGE_DIRECTORY
-
-  ;Start Menu Folder Page Configuration
-  !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
-  !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
-  !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-  !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
-
-  @CPACK_NSIS_PAGE_COMPONENTS@
-
-  !insertmacro MUI_PAGE_INSTFILES
-  !insertmacro MUI_PAGE_FINISH
-
-  !insertmacro MUI_UNPAGE_CONFIRM
-  !insertmacro MUI_UNPAGE_INSTFILES
-
-;--------------------------------
-;Languages
-
-  !insertmacro MUI_LANGUAGE "English" ;first language is the default language
-  !insertmacro MUI_LANGUAGE "Albanian"
-  !insertmacro MUI_LANGUAGE "Arabic"
-  !insertmacro MUI_LANGUAGE "Basque"
-  !insertmacro MUI_LANGUAGE "Belarusian"
-  !insertmacro MUI_LANGUAGE "Bosnian"
-  !insertmacro MUI_LANGUAGE "Breton"
-  !insertmacro MUI_LANGUAGE "Bulgarian"
-  !insertmacro MUI_LANGUAGE "Croatian"
-  !insertmacro MUI_LANGUAGE "Czech"
-  !insertmacro MUI_LANGUAGE "Danish"
-  !insertmacro MUI_LANGUAGE "Dutch"
-  !insertmacro MUI_LANGUAGE "Estonian"
-  !insertmacro MUI_LANGUAGE "Farsi"
-  !insertmacro MUI_LANGUAGE "Finnish"
-  !insertmacro MUI_LANGUAGE "French"
-  !insertmacro MUI_LANGUAGE "German"
-  !insertmacro MUI_LANGUAGE "Greek"
-  !insertmacro MUI_LANGUAGE "Hebrew"
-  !insertmacro MUI_LANGUAGE "Hungarian"
-  !insertmacro MUI_LANGUAGE "Icelandic"
-  !insertmacro MUI_LANGUAGE "Indonesian"
-  !insertmacro MUI_LANGUAGE "Irish"
-  !insertmacro MUI_LANGUAGE "Italian"
-  !insertmacro MUI_LANGUAGE "Japanese"
-  !insertmacro MUI_LANGUAGE "Korean"
-  !insertmacro MUI_LANGUAGE "Kurdish"
-  !insertmacro MUI_LANGUAGE "Latvian"
-  !insertmacro MUI_LANGUAGE "Lithuanian"
-  !insertmacro MUI_LANGUAGE "Luxembourgish"
-  !insertmacro MUI_LANGUAGE "Macedonian"
-  !insertmacro MUI_LANGUAGE "Malay"
-  !insertmacro MUI_LANGUAGE "Mongolian"
-  !insertmacro MUI_LANGUAGE "Norwegian"
-  !insertmacro MUI_LANGUAGE "Polish"
-  !insertmacro MUI_LANGUAGE "Portuguese"
-  !insertmacro MUI_LANGUAGE "PortugueseBR"
-  !insertmacro MUI_LANGUAGE "Romanian"
-  !insertmacro MUI_LANGUAGE "Russian"
-  !insertmacro MUI_LANGUAGE "Serbian"
-  !insertmacro MUI_LANGUAGE "SerbianLatin"
-  !insertmacro MUI_LANGUAGE "SimpChinese"
-  !insertmacro MUI_LANGUAGE "Slovak"
-  !insertmacro MUI_LANGUAGE "Slovenian"
-  !insertmacro MUI_LANGUAGE "Spanish"
-  !insertmacro MUI_LANGUAGE "Swedish"
-  !insertmacro MUI_LANGUAGE "Thai"
-  !insertmacro MUI_LANGUAGE "TradChinese"
-  !insertmacro MUI_LANGUAGE "Turkish"
-  !insertmacro MUI_LANGUAGE "Ukrainian"
-  !insertmacro MUI_LANGUAGE "Welsh"
-
-
-;--------------------------------
-;Reserve Files
-
-  ;These files should be inserted before other files in the data block
-  ;Keep these lines before any File command
-  ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
-
-  ReserveFile "NSIS.InstallOptions.ini"
-  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
-
-;--------------------------------
-;Installer Sections
-
-Section "-Core installation"
-  ;Use the entire tree produced by the INSTALL target.  Keep the
-  ;list of directories here in sync with the RMDir commands below.
-  SetOutPath "$INSTDIR"
-  @CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@
-  @CPACK_NSIS_FULL_INSTALL@
-
-  ;Store installation folder
-  WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
-
-  ;Create uninstaller
-  WriteUninstaller "$INSTDIR\Uninstall.exe"
-  Push "DisplayName"
-  Push "@CPACK_NSIS_DISPLAY_NAME@"
-  Call ConditionalAddToRegisty
-  Push "DisplayVersion"
-  Push "@CPACK_PACKAGE_VERSION@"
-  Call ConditionalAddToRegisty
-  Push "Publisher"
-  Push "@CPACK_PACKAGE_VENDOR@"
-  Call ConditionalAddToRegisty
-  Push "UninstallString"
-  Push "$INSTDIR\Uninstall.exe"
-  Call ConditionalAddToRegisty
-  Push "NoRepair"
-  Push "1"
-  Call ConditionalAddToRegisty
-
-  !ifdef CPACK_NSIS_ADD_REMOVE
-  ;Create add/remove functionality
-  Push "ModifyPath"
-  Push "$INSTDIR\AddRemove.exe"
-  Call ConditionalAddToRegisty
-  !else
-  Push "NoModify"
-  Push "1"
-  Call ConditionalAddToRegisty
-  !endif
-
-  ; Optional registration
-  Push "DisplayIcon"
-  Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
-  Call ConditionalAddToRegisty
-  Push "HelpLink"
-  Push "@CPACK_NSIS_HELP_LINK@"
-  Call ConditionalAddToRegisty
-  Push "URLInfoAbout"
-  Push "@CPACK_NSIS_URL_INFO_ABOUT@"
-  Call ConditionalAddToRegisty
-  Push "Contact"
-  Push "@CPACK_NSIS_CONTACT@"
-  Call ConditionalAddToRegisty
-  !insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-
-  ;Create shortcuts
-  CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
-@CPACK_NSIS_CREATE_ICONS@
-@CPACK_NSIS_CREATE_ICONS_EXTRA@
-  CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
-
-  ;Read a value from an InstallOptions INI file
-  !insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
-  !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
-  !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
-
-  ; Write special uninstall registry entries
-  Push "StartMenu"
-  Push "$STARTMENU_FOLDER"
-  Call ConditionalAddToRegisty
-  Push "DoNotAddToPath"
-  Push "$DO_NOT_ADD_TO_PATH"
-  Call ConditionalAddToRegisty
-  Push "AddToPathAllUsers"
-  Push "$ADD_TO_PATH_ALL_USERS"
-  Call ConditionalAddToRegisty
-  Push "AddToPathCurrentUser"
-  Push "$ADD_TO_PATH_CURRENT_USER"
-  Call ConditionalAddToRegisty
-  Push "InstallToDesktop"
-  Push "$INSTALL_DESKTOP"
-  Call ConditionalAddToRegisty
-
-  !insertmacro MUI_STARTMENU_WRITE_END
-
-@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
-
-SectionEnd
-
-Section "-Add to path"
-  Push $INSTDIR\bin
-  StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
-  StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
-    Call AddToPath
-  doNotAddToPath:
-SectionEnd
-
-;--------------------------------
-; Create custom pages
-Function InstallOptionsPage
-  !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
-  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
-
-FunctionEnd
-
-;--------------------------------
-; determine admin versus local install
-Function un.onInit
-
-  ClearErrors
-  UserInfo::GetName
-  IfErrors noLM
-  Pop $0
-  UserInfo::GetAccountType
-  Pop $1
-  StrCmp $1 "Admin" 0 +3
-    SetShellVarContext all
-    ;MessageBox MB_OK 'User "$0" is in the Admin group'
-    Goto done
-  StrCmp $1 "Power" 0 +3
-    SetShellVarContext all
-    ;MessageBox MB_OK 'User "$0" is in the Power Users group'
-    Goto done
-
-  noLM:
-    ;Get installation folder from registry if available
-
-  done:
-
-FunctionEnd
-
-;--- Add/Remove callback functions: ---
-!macro SectionList MacroName
-  ;This macro used to perform operation on multiple sections.
-  ;List all of your components in following manner here.
-@CPACK_NSIS_COMPONENT_SECTION_LIST@
-!macroend
-
-Section -FinishComponents
-  ;Removes unselected components and writes component status to registry
-  !insertmacro SectionList "FinishSection"
-
-!ifdef CPACK_NSIS_ADD_REMOVE
-  ; Get the name of the installer executable
-  System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
-  StrCpy $R3 $R0
-
-  ; Strip off the last 13 characters, to see if we have AddRemove.exe
-  StrLen $R1 $R0
-  IntOp $R1 $R0 - 13
-  StrCpy $R2 $R0 13 $R1
-  StrCmp $R2 "AddRemove.exe" addremove_installed
-
-  ; We're not running AddRemove.exe, so install it
-  CopyFiles $R3 $INSTDIR\AddRemove.exe
-
-  addremove_installed:
-!endif
-SectionEnd
-;--- End of Add/Remove callback functions ---
-
-;--------------------------------
-; Component dependencies
-Function .onSelChange
-  !insertmacro SectionList MaybeSelectionChanged
-FunctionEnd
-
-;--------------------------------
-;Uninstaller Section
-
-Section "Uninstall"
-  ReadRegStr $START_MENU SHCTX \
-   "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu"
-  ;MessageBox MB_OK "Start menu is in: $START_MENU"
-  ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
-    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "DoNotAddToPath"
-  ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
-    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathAllUsers"
-  ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
-    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathCurrentUser"
-  ;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
-  ReadRegStr $INSTALL_DESKTOP SHCTX \
-    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "InstallToDesktop"
-  ;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
-
-@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
-
-  ;Remove files we installed.
-  ;Keep the list of directories here in sync with the File commands above.
-@CPACK_NSIS_DELETE_FILES@
-@CPACK_NSIS_DELETE_DIRECTORIES@
-
-!ifdef CPACK_NSIS_ADD_REMOVE
-  ;Remove the add/remove program
-  Delete "$INSTDIR\AddRemove.exe"
-!endif
-
-  ;Remove the uninstaller itself.
-  Delete "$INSTDIR\Uninstall.exe"
-  DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
-
-  ;Remove the installation directory if it is empty.
-  RMDir "$INSTDIR"
-
-  ; Remove the registry entries.
-  DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
-
-  ; Removes all optional components
-  !insertmacro SectionList "RemoveSection_CPack"
-
-  !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
-
-  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
-@CPACK_NSIS_DELETE_ICONS@
-@CPACK_NSIS_DELETE_ICONS_EXTRA@
-
-  ;Delete empty start menu parent diretories
-  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
-
-  startMenuDeleteLoop:
-    ClearErrors
-    RMDir $MUI_TEMP
-    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-
-    IfErrors startMenuDeleteLoopDone
-
-    StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
-  startMenuDeleteLoopDone:
-
-  ; If the user changed the shortcut, then untinstall may not work. This should
-  ; try to fix it.
-  StrCpy $MUI_TEMP "$START_MENU"
-  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
-@CPACK_NSIS_DELETE_ICONS_EXTRA@
-
-  ;Delete empty start menu parent diretories
-  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
-
-  secondStartMenuDeleteLoop:
-    ClearErrors
-    RMDir $MUI_TEMP
-    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-
-    IfErrors secondStartMenuDeleteLoopDone
-
-    StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
-  secondStartMenuDeleteLoopDone:
-
-  DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
-
-  Push $INSTDIR\bin
-  StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
-    Call un.RemoveFromPath
-  doNotRemoveFromPath:
-SectionEnd
-
-;--------------------------------
-; determine admin versus local install
-; Is install for "AllUsers" or "JustMe"?
-; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
-; This function is used for the very first "custom page" of the installer.
-; This custom page does not show up visibly, but it executes prior to the
-; first visible page and sets up $INSTDIR properly...
-; Choose different default installation folder based on SV_ALLUSERS...
-; "Program Files" for AllUsers, "My Documents" for JustMe...
-
-Function .onInit
-  StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
-
-  ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString"
-  StrCmp $0 "" inst
-
-  MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
-  "@CPACK_NSIS_PACKAGE_NAME@ is already installed. $\n$\nDo you want to uninstall the old version before installing the new one?" \
-  IDYES uninst IDNO inst
-  Abort
-
-;Run the uninstaller
-uninst:
-  ClearErrors
-  StrLen $2 "\Uninstall.exe"
-  StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
-  ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file
-
-  IfErrors uninst_failed inst
-uninst_failed:
-  MessageBox MB_OK|MB_ICONSTOP "Uninstall failed."
-  Abort
-
-
-inst:
-  ; Reads components status for registry
-  !insertmacro SectionList "InitSection"
-
-  ; check to see if /D has been used to change
-  ; the install directory by comparing it to the
-  ; install directory that is expected to be the
-  ; default
-  StrCpy $IS_DEFAULT_INSTALLDIR 0
-  StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
-    StrCpy $IS_DEFAULT_INSTALLDIR 1
-
-  StrCpy $SV_ALLUSERS "JustMe"
-  ; if default install dir then change the default
-  ; if it is installed for JustMe
-  StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
-    StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
-
-  ClearErrors
-  UserInfo::GetName
-  IfErrors noLM
-  Pop $0
-  UserInfo::GetAccountType
-  Pop $1
-  StrCmp $1 "Admin" 0 +4
-    SetShellVarContext all
-    ;MessageBox MB_OK 'User "$0" is in the Admin group'
-    StrCpy $SV_ALLUSERS "AllUsers"
-    Goto done
-  StrCmp $1 "Power" 0 +4
-    SetShellVarContext all
-    ;MessageBox MB_OK 'User "$0" is in the Power Users group'
-    StrCpy $SV_ALLUSERS "AllUsers"
-    Goto done
-
-  noLM:
-    StrCpy $SV_ALLUSERS "AllUsers"
-    ;Get installation folder from registry if available
-
-  done:
-  StrCmp $SV_ALLUSERS "AllUsers" 0 +3
-    StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
-      StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
-
-  StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
-    !insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
-
-  noOptionsPage:
-FunctionEnd
diff --git a/share/cmake-3.6/Modules/Platform/AIX-GNU-CXX.cmake b/share/cmake-3.6/Modules/Platform/AIX-GNU-CXX.cmake
deleted file mode 100644
index ec8e83f..0000000
--- a/share/cmake-3.6/Modules/Platform/AIX-GNU-CXX.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-include(Platform/AIX-GNU)
-__aix_compiler_gnu(CXX)
diff --git a/share/cmake-3.6/Modules/Platform/AIX-GNU.cmake b/share/cmake-3.6/Modules/Platform/AIX-GNU.cmake
deleted file mode 100644
index d6f5331..0000000
--- a/share/cmake-3.6/Modules/Platform/AIX-GNU.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__AIX_COMPILER_GNU)
-  return()
-endif()
-set(__AIX_COMPILER_GNU 1)
-
-#
-# By default, runtime linking is enabled. All shared objects specified on the command line
-# will be listed, even if there are no symbols referenced, in the output file.
-set (CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,-brtl")
-set (CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,-brtl")
-set (CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-brtl")
-
-
-macro(__aix_compiler_gnu lang)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-blibpath:")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS} -Wl,-G,-bnoipath")
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-bexpall")
-  set(CMAKE_${lang}_USE_IMPLICIT_LINK_DIRECTORIES_IN_RUNTIME_PATH 1)
-
-  set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/AIX-XL-C.cmake b/share/cmake-3.6/Modules/Platform/AIX-XL-C.cmake
deleted file mode 100644
index 5e437fa..0000000
--- a/share/cmake-3.6/Modules/Platform/AIX-XL-C.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-include(Platform/AIX-XL)
-__aix_compiler_xl(C)
diff --git a/share/cmake-3.6/Modules/Platform/AIX-XL-CXX.cmake b/share/cmake-3.6/Modules/Platform/AIX-XL-CXX.cmake
deleted file mode 100644
index ef38a5f..0000000
--- a/share/cmake-3.6/Modules/Platform/AIX-XL-CXX.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-include(Platform/AIX-XL)
-__aix_compiler_xl(CXX)
diff --git a/share/cmake-3.6/Modules/Platform/AIX-XL.cmake b/share/cmake-3.6/Modules/Platform/AIX-XL.cmake
deleted file mode 100644
index 5470441..0000000
--- a/share/cmake-3.6/Modules/Platform/AIX-XL.cmake
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__AIX_COMPILER_XL)
-  return()
-endif()
-set(__AIX_COMPILER_XL 1)
-
-#
-# By default, runtime linking is enabled. All shared objects specified on the command line
-# will be listed, even if there are no symbols referenced, in the output file.
-set(CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,-brtl")
-set(CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,-brtl")
-set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-brtl")
-
-
-macro(__aix_compiler_xl lang)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-blibpath:")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-G -Wl,-bnoipath")  # -shared
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-bexpall")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS " ")
-  set(CMAKE_SHARED_MODULE_${lang}_FLAGS  " ")
-
-  set(CMAKE_${lang}_LINK_FLAGS "-Wl,-bnoipath")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/ARTOS-GNU-C.cmake b/share/cmake-3.6/Modules/Platform/ARTOS-GNU-C.cmake
deleted file mode 100644
index 967d0e7..0000000
--- a/share/cmake-3.6/Modules/Platform/ARTOS-GNU-C.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-# Define ARTOS to select proper behaviour and tell preprocessor to accept C++ style comments.
-set(CMAKE_C_FLAGS_INIT "-DARTOS -Xp -+")
-# ac doesn't support -g properly and doesn't support the normal gcc optimization options. Just use the defaults set by ac.
-set(CMAKE_C_FLAGS_DEBUG_INIT "")
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-DNDEBUG")
-set(CMAKE_C_FLAGS_RELEASE_INIT "-DNDEBUG")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-DNDEBUG")
-# Most projects expect the stdio functions to be available.
-set(CMAKE_C_STANDARD_LIBRARIES_INIT "stdio.a")
diff --git a/share/cmake-3.6/Modules/Platform/Android.cmake b/share/cmake-3.6/Modules/Platform/Android.cmake
deleted file mode 100644
index 1bdad04..0000000
--- a/share/cmake-3.6/Modules/Platform/Android.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-include(Platform/Linux)
-
-# Android has soname, but binary names must end in ".so" so we cannot append
-# a version number.  Also we cannot portably represent symlinks on the host.
-set(CMAKE_PLATFORM_NO_VERSIONED_SONAME 1)
-
-# Android reportedly ignores RPATH, and we cannot predict the install
-# location anyway.
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
-
-# Nsight Tegra Visual Studio Edition takes care of
-# prefixing library names with '-l'.
-if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android")
-  set(CMAKE_LINK_LIBRARY_FLAG "")
-endif()
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-base.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-base.cmake
deleted file mode 100644
index c0241e1..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-base.cmake
+++ /dev/null
@@ -1,125 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# BlueGeneP base platform file.
-#
-# NOTE: Do not set your platform to "BlueGeneP-base".  This file is included
-# by the real platform files.  Use one of these two platforms instead:
-#
-#     BlueGeneP-dynamic  For dynamically linked builds
-#     BlueGeneP-static   For statically linked builds
-#
-# This platform file tries its best to adhere to the behavior of the MPI
-# compiler wrappers included with the latest BG/P drivers.
-#
-
-
-#
-# For BGP builds, we're cross compiling, but we don't want to re-root things
-# (e.g. with CMAKE_FIND_ROOT_PATH) because users may have libraries anywhere on
-# the shared filesystems, and this may lie outside the root.  Instead, we set the
-# system directories so that the various system BGP CNK library locations are
-# searched first.  This is not the clearest thing in the world, given IBM's driver
-# layout, but this should cover all the standard ones.
-#
-set(CMAKE_SYSTEM_LIBRARY_PATH
-  /bgsys/drivers/ppcfloor/comm/default/lib                # default comm layer (used by mpi compiler wrappers)
-  /bgsys/drivers/ppcfloor/comm/sys/lib                    # DCMF, other lower-level comm libraries
-  /bgsys/drivers/ppcfloor/runtime/SPI                     # other low-level stuff
-  /bgsys/drivers/ppcfloor/gnu-linux/lib                   # CNK python installation directory
-  /bgsys/drivers/ppcfloor/gnu-linux/powerpc-bgp-linux/lib # CNK Linux image -- standard runtime libs, pthread, etc.
-)
-
-#
-# This adds directories that find commands should specifically ignore for cross compiles.
-# Most of these directories are the includeand lib directories for the frontend on BG/P systems.
-# Not ignoring these can cause things like FindX11 to find a frontend PPC version mistakenly.
-# We use this on BG instead of re-rooting because backend libraries are typically strewn about
-# the filesystem, and we can't re-root ALL backend libraries to a single place.
-#
-set(CMAKE_SYSTEM_IGNORE_PATH
-  /lib             /lib64             /include
-  /usr/lib         /usr/lib64         /usr/include
-  /usr/local/lib   /usr/local/lib64   /usr/local/include
-  /usr/X11/lib     /usr/X11/lib64     /usr/X11/include
-  /usr/lib/X11     /usr/lib64/X11     /usr/include/X11
-  /usr/X11R6/lib   /usr/X11R6/lib64   /usr/X11R6/include
-  /usr/X11R7/lib   /usr/X11R7/lib64   /usr/X11R7/include
-)
-
-#
-# Indicate that this is a unix-like system
-#
-set(UNIX 1)
-
-#
-# Library prefixes, suffixes, extra libs.
-#
-set(CMAKE_LINK_LIBRARY_SUFFIX "")
-set(CMAKE_STATIC_LIBRARY_PREFIX "lib")     # lib
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")      # .a
-
-set(CMAKE_SHARED_LIBRARY_PREFIX "lib")     # lib
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")     # .so
-set(CMAKE_EXECUTABLE_SUFFIX "")            # .exe
-set(CMAKE_DL_LIBS "dl")
-
-#
-# This macro needs to be called for dynamic library support.  Unfortunately on BGP,
-# We can't support both static and dynamic links in the same platform file.  The
-# dynamic link platform file needs to call this explicitly to set up dynamic linking.
-#
-macro(__BlueGeneP_set_dynamic_flags compiler_id lang)
-  if (${compiler_id} STREQUAL XL)
-    # Flags for XL compilers if we explicitly detected XL
-    set(CMAKE_${lang}_COMPILE_OPTIONS_PIC            "-qpic")
-    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE            "-qpie")
-    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-qpic")
-    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-qmkshrobj -qnostaticlink")
-    set(BGP_${lang}_DYNAMIC_EXE_FLAGS                "-qnostaticlink -qnostaticlink=libgcc")
-  else()
-    # Assume flags for GNU compilers (if the ID is GNU *or* anything else).
-    set(CMAKE_${lang}_COMPILE_OPTIONS_PIC            "-fPIC")
-    set(CMAKE_${lang}_COMPILE_OPTIONS_PIE            "-fPIE")
-    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-fPIC")
-    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-shared")
-    set(BGP_${lang}_DYNAMIC_EXE_FLAGS                "-dynamic")
-  endif()
-
-  # Both toolchains use the GNU linker on BG/P, so these options are shared.
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG      "-Wl,-rpath,")
-  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_${lang}_FLAG   "-Wl,-rpath-link,")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG       "-Wl,-soname,")
-  set(CMAKE_EXE_EXPORTS_${lang}_FLAG                 "-Wl,--export-dynamic")
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS        "")  # +s, flag for exe link to use shared lib
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP  ":") # : or empty
-
-  set(BGP_${lang}_DEFAULT_EXE_FLAGS
-    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGP_${lang}_DYNAMIC_EXE_FLAGS} ${BGP_${lang}_DEFAULT_EXE_FLAGS}")
-endmacro()
-
-#
-# This macro needs to be called for static builds.  Right now it just adds -Wl,-relax
-# to the link line.
-#
-macro(__BlueGeneP_set_static_flags compiler_id lang)
-  set(BGP_${lang}_DEFAULT_EXE_FLAGS
-    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGP_${lang}_DEFAULT_EXE_FLAGS}")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
deleted file mode 100644
index bd4696b..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_dynamic_flags(GNU C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
deleted file mode 100644
index 9c995dc..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_dynamic_flags(GNU CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
deleted file mode 100644
index 19d6be8..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_dynamic_flags(GNU Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
deleted file mode 100644
index 2dbbbc0..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_dynamic_flags(XL C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
deleted file mode 100644
index 2bc5127..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_dynamic_flags(XL CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
deleted file mode 100644
index 59da63d..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_dynamic_flags(XL Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic.cmake
deleted file mode 100644
index 8f96f2f..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-dynamic.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(Platform/BlueGeneP-base)
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-C.cmake
deleted file mode 100644
index 412a7a3..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_static_flags(GNU C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
deleted file mode 100644
index 418f0d8..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_static_flags(GNU CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
deleted file mode 100644
index 119195b..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_static_flags(GNU Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-C.cmake
deleted file mode 100644
index 1f20959..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_static_flags(XL C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
deleted file mode 100644
index f027a53..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_static_flags(XL CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
deleted file mode 100644
index 778d4bd..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneP_set_static_flags(XL Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneP-static.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneP-static.cmake
deleted file mode 100644
index c4f5f21..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneP-static.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(Platform/BlueGeneP-base)
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-base.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-base.cmake
deleted file mode 100644
index 9372166..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-base.cmake
+++ /dev/null
@@ -1,177 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# Blue Gene/Q base platform file.
-#
-# NOTE: Do not set your platform to "BlueGeneQ-base".  This file is
-# included by the real platform files.  Use one of these two platforms
-# instead:
-#
-#     BlueGeneQ-dynamic  For dynamically linked executables
-#     BlueGeneQ-static   For statically linked executables
-#
-# The platform you choose doesn't affect whether or not you can build
-# shared or static libraries -- it ONLY changs whether exeuatbles are linked
-# statically or dynamically.
-#
-# This platform file tries its best to adhere to the behavior of the MPI
-# compiler wrappers included with the latest BG/P drivers.
-#
-
-#
-# This adds directories that find commands should specifically ignore
-# for cross compiles.  Most of these directories are the includeand
-# lib directories for the frontend on BG/P systems.  Not ignoring
-# these can cause things like FindX11 to find a frontend PPC version
-# mistakenly.  We use this on BG instead of re-rooting because backend
-# libraries are typically strewn about the filesystem, and we can't
-# re-root ALL backend libraries to a single place.
-#
-set(CMAKE_SYSTEM_IGNORE_PATH
-  /lib             /lib64             /include
-  /usr/lib         /usr/lib64         /usr/include
-  /usr/local/lib   /usr/local/lib64   /usr/local/include
-  /usr/X11/lib     /usr/X11/lib64     /usr/X11/include
-  /usr/lib/X11     /usr/lib64/X11     /usr/include/X11
-  /usr/X11R6/lib   /usr/X11R6/lib64   /usr/X11R6/include
-  /usr/X11R7/lib   /usr/X11R7/lib64   /usr/X11R7/include
-)
-
-#
-# Indicate that this is a unix-like system
-#
-set(UNIX 1)
-
-#
-# Library prefixes, suffixes, extra libs.
-#
-set(CMAKE_LINK_LIBRARY_SUFFIX "")
-set(CMAKE_STATIC_LIBRARY_PREFIX "lib")     # lib
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")      # .a
-
-set(CMAKE_SHARED_LIBRARY_PREFIX "lib")     # lib
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")     # .so
-set(CMAKE_EXECUTABLE_SUFFIX "")            # .exe
-
-set(CMAKE_DL_LIBS "dl")
-
-#
-# BG/Q supports dynamic libraries regardless of whether we're building
-# static or dynamic *executables*.
-#
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-
-#
-# For BGQ builds, we're cross compiling, but we don't want to re-root things
-# (e.g. with CMAKE_FIND_ROOT_PATH) because users may have libraries anywhere on
-# the shared filesystems, and this may lie outside the root.  Instead, we set the
-# system directories so that the various system BG CNK library locations are
-# searched first.  This is not the clearest thing in the world, given IBM's driver
-# layout, but this should cover all the standard ones.
-#
-macro(__BlueGeneQ_common_setup compiler_id lang)
-  # Need to use the version of the comm lib compiled with the right compiler.
-  set(__BlueGeneQ_commlib_dir gcc)
-  if (${compiler_id} STREQUAL XL)
-    set(__BlueGeneQ_commlib_dir xl)
-  endif()
-
-  set(CMAKE_SYSTEM_LIBRARY_PATH
-    /bgsys/drivers/ppcfloor/comm/default/lib                    # default comm layer (used by mpi compiler wrappers)
-    /bgsys/drivers/ppcfloor/comm/${__BlueGeneQ_commlib_dir}/lib # PAMI, other lower-level comm libraries
-    /bgsys/drivers/ppcfloor/gnu-linux/lib                       # CNK python installation directory
-    /bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/lib   # CNK Linux image -- standard runtime libs, pthread, etc.
-    )
-
-  # Add all the system include paths.
-  set(CMAKE_SYSTEM_INCLUDE_PATH
-    /bgsys/drivers/ppcfloor/comm/sys/include
-    /bgsys/drivers/ppcfloor/
-    /bgsys/drivers/ppcfloor/spi/include
-    /bgsys/drivers/ppcfloor/spi/include/kernel/cnk
-    /bgsys/drivers/ppcfloor/comm/${__BlueGeneQ_commlib_dir}/include
-    )
-
-  # Ensure that the system directories are included with the regular compilers, as users will expect this
-  # to do the same thing as the MPI compilers, which add these flags.
-  set(BGQ_SYSTEM_INCLUDES "")
-  foreach(dir ${CMAKE_SYSTEM_INCLUDE_PATH})
-    set(BGQ_SYSTEM_INCLUDES "${BGQ_SYSTEM_INCLUDES} -I${dir}")
-  endforeach()
-  set(CMAKE_C_COMPILE_OBJECT   "<CMAKE_C_COMPILER>   <DEFINES> ${BGQ_SYSTEM_INCLUDES} <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-  set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> ${BGQ_SYSTEM_INCLUDES} <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-
-  #
-  # Code below does setup for shared libraries.  That this is done
-  # regardless of whether the platform is static or dynamic -- you can make
-  # shared libraries even if you intend to make static executables, you just
-  # can't make a dynamic executable if you use the static platform file.
-  #
-  if (${compiler_id} STREQUAL XL)
-    # Flags for XL compilers if we explicitly detected XL
-    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-qpic")
-    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-qmkshrobj -qnostaticlink")
-  else()
-    # Assume flags for GNU compilers (if the ID is GNU *or* anything else).
-    set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS           "-fPIC")
-    set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS    "-shared")
-  endif()
-
-  # Both toolchains use the GNU linker on BG/P, so these options are shared.
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG      "-Wl,-rpath,")
-  set(CMAKE_SHARED_LIBRARY_RPATH_LINK_${lang}_FLAG   "-Wl,-rpath-link,")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG       "-Wl,-soname,")
-  set(CMAKE_EXE_EXPORTS_${lang}_FLAG                 "-Wl,--export-dynamic")
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS        "")  # +s, flag for exe link to use shared lib
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP  ":") # : or empty
-
-endmacro()
-
-#
-# This macro needs to be called for dynamic library support.  Unfortunately on BG,
-# We can't support both static and dynamic links in the same platform file.  The
-# dynamic link platform file needs to call this explicitly to set up dynamic linking.
-#
-macro(__BlueGeneQ_setup_dynamic compiler_id lang)
-  __BlueGeneQ_common_setup(${compiler_id} ${lang})
-
-  if (${compiler_id} STREQUAL XL)
-    set(BGQ_${lang}_DYNAMIC_EXE_FLAGS "-qnostaticlink -qnostaticlink=libgcc")
-  else()
-    set(BGQ_${lang}_DYNAMIC_EXE_FLAGS "-dynamic")
-  endif()
-
-  # For dynamic executables, need to provide special BG/Q arguments.
-  set(BGQ_${lang}_DEFAULT_EXE_FLAGS
-    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGQ_${lang}_DYNAMIC_EXE_FLAGS} ${BGQ_${lang}_DEFAULT_EXE_FLAGS}")
-endmacro()
-
-#
-# This macro needs to be called for static builds.  Right now it just adds -Wl,-relax
-# to the link line.
-#
-macro(__BlueGeneQ_setup_static compiler_id lang)
-  __BlueGeneQ_common_setup(${compiler_id} ${lang})
-
-  # For static executables, use default link settings.
-  set(BGQ_${lang}_DEFAULT_EXE_FLAGS
-    "<FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> -Wl,-relax ${BGQ_${lang}_DEFAULT_EXE_FLAGS}")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
deleted file mode 100644
index 102ac80..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_dynamic(GNU C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
deleted file mode 100644
index cd8ab24..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_dynamic(GNU CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
deleted file mode 100644
index c029f0f..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_dynamic(GNU Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
deleted file mode 100644
index 0077313..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_dynamic(XL C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
deleted file mode 100644
index 0f43cb2..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_dynamic(XL CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
deleted file mode 100644
index 12e446e..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_dynamic(XL Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic.cmake
deleted file mode 100644
index 0283900..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-dynamic.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(Platform/BlueGeneQ-base)
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
deleted file mode 100644
index 70c84ba..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_static(GNU C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
deleted file mode 100644
index 8f991de..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_static(GNU CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
deleted file mode 100644
index 24dd9e7..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_static(GNU Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-C.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-C.cmake
deleted file mode 100644
index 5555a68..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-C.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_static(XL C)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
deleted file mode 100644
index 07c3c3d..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_static(XL CXX)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
deleted file mode 100644
index 6f99933..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-__BlueGeneQ_setup_static(XL Fortran)
diff --git a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static.cmake b/share/cmake-3.6/Modules/Platform/BlueGeneQ-static.cmake
deleted file mode 100644
index 30b530d..0000000
--- a/share/cmake-3.6/Modules/Platform/BlueGeneQ-static.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2010 Todd Gamblin <tgamblin@llnl.gov>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(Platform/BlueGeneQ-base)
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN-GNU.cmake b/share/cmake-3.6/Modules/Platform/CYGWIN-GNU.cmake
deleted file mode 100644
index 1a46c10..0000000
--- a/share/cmake-3.6/Modules/Platform/CYGWIN-GNU.cmake
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__CYGWIN_COMPILER_GNU)
-  return()
-endif()
-set(__CYGWIN_COMPILER_GNU 1)
-
-# TODO: Is -Wl,--enable-auto-import now always default?
-set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--enable-auto-import")
-set(CMAKE_CREATE_WIN32_EXE  "-mwindows")
-
-set(CMAKE_GNULD_IMAGE_VERSION
-  "-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
-set(CMAKE_GENERATOR_RC windres)
-macro(__cygwin_compiler_gnu lang)
-  # Binary link rules.
-  set(CMAKE_${lang}_CREATE_SHARED_MODULE
-    "<CMAKE_${lang}_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_${lang}_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    "<CMAKE_${lang}_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
-
-   # No -fPIC on cygwin
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
-
-  # Initialize C link type selection flags.  These flags are used when
-  # building a shared library, shared module, or executable that links
-  # to other libraries to select whether to use the static or shared
-  # versions of the libraries.
-  foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-    set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
-    set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
-  endforeach()
-
-  set(CMAKE_EXE_EXPORTS_${lang}_FLAG "-Wl,--export-all-symbols")
-  # TODO: Is -Wl,--enable-auto-import now always default?
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS} -Wl,--enable-auto-import")
-  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS}")
-
-  if(NOT CMAKE_RC_COMPILER_INIT)
-    set(CMAKE_RC_COMPILER_INIT windres)
-  endif()
-
-  enable_language(RC)
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/CYGWIN.cmake b/share/cmake-3.6/Modules/Platform/CYGWIN.cmake
deleted file mode 100644
index 22816e7..0000000
--- a/share/cmake-3.6/Modules/Platform/CYGWIN.cmake
+++ /dev/null
@@ -1,64 +0,0 @@
-if("${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS "2.8.3.20101214")
-  set(__USE_CMAKE_LEGACY_CYGWIN_WIN32 1)
-endif()
-if(NOT DEFINED WIN32)
-  set(WIN32 0)
-  if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32)
-    if(NOT DEFINED CMAKE_LEGACY_CYGWIN_WIN32
-        AND DEFINED ENV{CMAKE_LEGACY_CYGWIN_WIN32})
-      set(CMAKE_LEGACY_CYGWIN_WIN32 $ENV{CMAKE_LEGACY_CYGWIN_WIN32})
-    endif()
-    if(CMAKE_LEGACY_CYGWIN_WIN32)
-      message(STATUS "Defining WIN32 under Cygwin due to CMAKE_LEGACY_CYGWIN_WIN32")
-      set(WIN32 1)
-    elseif("x${CMAKE_LEGACY_CYGWIN_WIN32}" STREQUAL "x")
-      message(WARNING "CMake no longer defines WIN32 on Cygwin!"
-        "\n"
-        "(1) If you are just trying to build this project, ignore this warning "
-        "or quiet it by setting CMAKE_LEGACY_CYGWIN_WIN32=0 in your environment or "
-        "in the CMake cache.  "
-        "If later configuration or build errors occur then this project may "
-        "have been written under the assumption that Cygwin is WIN32.  "
-        "In that case, set CMAKE_LEGACY_CYGWIN_WIN32=1 instead."
-        "\n"
-        "(2) If you are developing this project, add the line\n"
-        "  set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required\n"
-        "at the top of your top-level CMakeLists.txt file or set the minimum "
-        "required version of CMake to 2.8.4 or higher.  "
-        "Then teach your project to build on Cygwin without WIN32.")
-    endif()
-  elseif(DEFINED CMAKE_LEGACY_CYGWIN_WIN32)
-    message(AUTHOR_WARNING "CMAKE_LEGACY_CYGWIN_WIN32 ignored because\n"
-      "  cmake_minimum_required(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})\n"
-      "is at least 2.8.4.")
-  endif()
-endif()
-if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32)
-  # Pass WIN32 legacy setting to scripts.
-  if(WIN32)
-    set(ENV{CMAKE_LEGACY_CYGWIN_WIN32} 1)
-  else()
-    set(ENV{CMAKE_LEGACY_CYGWIN_WIN32} 0)
-  endif()
-  unset(__USE_CMAKE_LEGACY_CYGWIN_WIN32)
-endif()
-
-set(CYGWIN 1)
-
-set(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
-set(CMAKE_SHARED_MODULE_PREFIX "cyg")
-set(CMAKE_SHARED_MODULE_SUFFIX ".dll")
-set(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
-set(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
-set(CMAKE_EXECUTABLE_SUFFIX ".exe")          # .exe
-# Modules have a different default prefix that shared libs.
-set(CMAKE_MODULE_EXISTS 1)
-
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a")
-
-# Shared libraries on cygwin can be named with their version number.
-set(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1)
-
-include(Platform/UnixPaths)
diff --git a/share/cmake-3.6/Modules/Platform/CrayLinuxEnvironment.cmake b/share/cmake-3.6/Modules/Platform/CrayLinuxEnvironment.cmake
deleted file mode 100644
index 97771a2..0000000
--- a/share/cmake-3.6/Modules/Platform/CrayLinuxEnvironment.cmake
+++ /dev/null
@@ -1,143 +0,0 @@
-# Compute Node Linux doesn't quite work the same as native Linux so all of this
-# needs to be custom.  We use the variables defined through Cray's environment
-# modules to set up the right paths for things.
-
-set(UNIX 1)
-
-if(DEFINED ENV{CRAYOS_VERSION})
-  set(CMAKE_SYSTEM_VERSION "$ENV{CRAYOS_VERSION}")
-elseif(DEFINED ENV{XTOS_VERSION})
-  set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}")
-else()
-  message(FATAL_ERROR "Neither the CRAYOS_VERSION or XTOS_VERSION environment variables are defined.  This platform file should be used inside the Cray Linux Environment for targeting compute nodes (NIDs)")
-endif()
-
-# Guard against multiple messages
-if(NOT __CrayLinuxEnvironment_message)
-  set(__CrayLinuxEnvironment_message 1)
-  message(STATUS "Cray Linux Environment ${CMAKE_SYSTEM_VERSION}")
-endif()
-
-# All cray systems are x86 CPUs and have been for quite some time
-# Note: this may need to change in the future with 64-bit ARM
-set(CMAKE_SYSTEM_PROCESSOR "x86_64")
-
-set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
-set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-
-# Don't override shared lib support if it's already been set and possibly
-# overridden elsewhere by the CrayPrgEnv module
-if(NOT CMAKE_FIND_LIBRARY_SUFFIXES)
-  set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
-  set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
-endif()
-
-set(CMAKE_DL_LIBS dl)
-
-# Note: Much of this is pulled from UnixPaths.cmake but adjusted to the Cray
-# environment accordingly
-
-# Get the install directory of the running cmake to the search directories
-# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
-get_filename_component(__cmake_install_dir "${CMAKE_ROOT}" PATH)
-get_filename_component(__cmake_install_dir "${__cmake_install_dir}" PATH)
-
-# Note: Some Cray's have the SYSROOT_DIR variable defined, pointing to a copy
-# of the NIDs userland.  If so, then we'll use it.  Otherwise, just assume
-# the userland from the login node is ok
-
-# List common installation prefixes.  These will be used for all
-# search types.
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-  # Standard
-  $ENV{SYSROOT_DIR}/usr/local $ENV{SYSROOT_DIR}/usr $ENV{SYSROOT_DIR}/
-
-  # CMake install location
-  "${__cmake_install_dir}"
-  )
-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-    # Project install destination.
-    "${CMAKE_INSTALL_PREFIX}"
-  )
-  if(CMAKE_STAGING_PREFIX)
-    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-      # User-supplied staging prefix.
-      "${CMAKE_STAGING_PREFIX}"
-    )
-  endif()
-endif()
-
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
-  $ENV{SYSROOT_DIR}/usr/include
-  $ENV{SYSROOT_DIR}/usr/include/X11
-)
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
-  $ENV{SYSROOT_DIR}/usr/local/lib64
-  $ENV{SYSROOT_DIR}/usr/lib64
-  $ENV{SYSROOT_DIR}/lib64
-)
-list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
-  $ENV{SYSROOT_DIR}/usr/local/lib64
-  $ENV{SYSROOT_DIR}/usr/lib64
-  $ENV{SYSROOT_DIR}/lib64
-)
-
-# Compute the intersection of several lists
-function(__cray_list_intersect OUTPUT INPUT0)
-  if(ARGC EQUAL 2)
-    list(APPEND ${OUTPUT} ${${INPUT0}})
-  else()
-    foreach(I IN LISTS ${INPUT0})
-      set(__is_common 1)
-      foreach(L IN LISTS ARGN)
-        list(FIND ${L} "${I}" __idx)
-        if(__idx EQUAL -1)
-          set(__is_common 0)
-          break()
-        endif()
-      endforeach()
-      if(__is_common)
-        list(APPEND ${OUTPUT}  "${I}")
-      endif()
-    endforeach()
-  endif()
-  set(${OUTPUT} ${${OUTPUT}} PARENT_SCOPE)
-endfunction()
-
-macro(__list_clean_dupes var)
-  if(${var})
-    list(REMOVE_DUPLICATES ${var})
-  endif()
-endmacro()
-
-get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES)
-set(__cray_inc_path_vars)
-set(__cray_lib_path_vars)
-foreach(__lang IN LISTS __langs)
-  list(APPEND __cray_inc_path_vars CMAKE_${__lang}_IMPLICIT_INCLUDE_DIRECTORIES)
-  list(APPEND __cray_lib_path_vars CMAKE_${__lang}_IMPLICIT_LINK_DIRECTORIES)
-endforeach()
-if(__cray_inc_path_vars)
-  __cray_list_intersect(__cray_implicit_include_dirs ${__cray_inc_path_vars})
-  if(__cray_implicit_include_dirs)
-    list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${__cray_implicit_include_dirs})
-  endif()
-endif()
-if(__cray_lib_path_vars)
-  __cray_list_intersect(__cray_implicit_library_dirs ${__cray_lib_path_vars})
-  if(__cray_implicit_library_dirs)
-    list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${__cray_implicit_library_dirs})
-  endif()
-endif()
-__list_clean_dupes(CMAKE_SYSTEM_PREFIX_PATH)
-__list_clean_dupes(CMAKE_SYSTEM_INCLUDE_PATH)
-__list_clean_dupes(CMAKE_SYSTEM_LIBRARY_PATH)
-__list_clean_dupes(CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES)
-
-# Enable use of lib64 search path variants by default.
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Absoft-Fortran.cmake b/share/cmake-3.6/Modules/Platform/Darwin-Absoft-Fortran.cmake
deleted file mode 100644
index dc62b0d..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-Absoft-Fortran.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-#=============================================================================
-# Copyright 2011 Kitware, Inc.
-# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(CMAKE_Fortran_VERBOSE_FLAG "-X -v") # Runs gcc under the hood.
-
-set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
-set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-CXX.cmake b/share/cmake-3.6/Modules/Platform/Darwin-CXX.cmake
deleted file mode 100644
index bf37f79..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-CXX.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-if(NOT CMAKE_CXX_COMPILER_NAMES)
-  set(CMAKE_CXX_COMPILER_NAMES c++)
-endif()
-
-# Exclude C++ compilers differing from C compiler only by case
-# because this platform may have a case-insensitive filesystem.
-set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Clang.cmake b/share/cmake-3.6/Modules/Platform/Darwin-Clang.cmake
deleted file mode 100644
index 61a5e0c..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-Clang.cmake
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__DARWIN_COMPILER_CLANG)
-  return()
-endif()
-set(__DARWIN_COMPILER_CLANG 1)
-
-macro(__darwin_compiler_clang lang)
-  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
-  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
-  set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
-  set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
-  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.2)
-    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-GNU-Fortran.cmake b/share/cmake-3.6/Modules/Platform/Darwin-GNU-Fortran.cmake
deleted file mode 100644
index 6724f9b..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-GNU-Fortran.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
-#=============================================================================
-# Copyright 2009 Kitware, Inc.
-# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(Platform/Darwin-GNU)
-__darwin_compiler_gnu(Fortran)
-cmake_gnu_set_sysroot_flag(Fortran)
-cmake_gnu_set_osx_deployment_target_flag(Fortran)
-
-set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
-set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-GNU.cmake b/share/cmake-3.6/Modules/Platform/Darwin-GNU.cmake
deleted file mode 100644
index 87d1d23..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-GNU.cmake
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__DARWIN_COMPILER_GNU)
-  return()
-endif()
-set(__DARWIN_COMPILER_GNU 1)
-
-macro(__darwin_compiler_gnu lang)
-  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
-  # GNU does not have -shared on OS X
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
-  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
-
-  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.3)
-    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
-  endif()
-endmacro()
-
-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}")
-    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")
-      set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
-    else()
-      message(STATUS "Checking whether ${_doc} - no")
-      set(CMAKE_${lang}_SYSROOT_FLAG "")
-    endif()
-    set(CMAKE_${lang}_SYSROOT_FLAG_CODE "set(CMAKE_${lang}_SYSROOT_FLAG \"${CMAKE_${lang}_SYSROOT_FLAG}\")")
-  endif()
-endmacro()
-
-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}")
-    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")
-      set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
-    else()
-      message(STATUS "Checking whether ${_doc} - 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}\")")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Initialize.cmake b/share/cmake-3.6/Modules/Platform/Darwin-Initialize.cmake
deleted file mode 100644
index 91c2cf3..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-Initialize.cmake
+++ /dev/null
@@ -1,145 +0,0 @@
-# Ask xcode-select where to find /Developer or fall back to ancient location.
-execute_process(COMMAND xcode-select -print-path
-  OUTPUT_VARIABLE _stdout
-  OUTPUT_STRIP_TRAILING_WHITESPACE
-  ERROR_VARIABLE _stderr
-  RESULT_VARIABLE _failed)
-if(NOT _failed AND IS_DIRECTORY ${_stdout})
-  set(OSX_DEVELOPER_ROOT ${_stdout})
-elseif(IS_DIRECTORY "/Developer")
-  set(OSX_DEVELOPER_ROOT "/Developer")
-else()
-  set(OSX_DEVELOPER_ROOT "")
-endif()
-
-execute_process(COMMAND sw_vers -productVersion
-  OUTPUT_VARIABLE CURRENT_OSX_VERSION
-  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-# Save CMAKE_OSX_ARCHITECTURES from the environment.
-set(CMAKE_OSX_ARCHITECTURES "$ENV{CMAKE_OSX_ARCHITECTURES}" CACHE STRING
-  "Build architectures for OSX")
-
-#----------------------------------------------------------------------------
-# _CURRENT_OSX_VERSION - as a two-component string: 10.5, 10.6, ...
-#
-string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*$" "\\1"
-  _CURRENT_OSX_VERSION "${CURRENT_OSX_VERSION}")
-
-#----------------------------------------------------------------------------
-# CMAKE_OSX_DEPLOYMENT_TARGET
-
-# Set cache variable - end user may change this during ccmake or cmake-gui configure.
-if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3)
-  set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING
-    "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")
-endif()
-
-#----------------------------------------------------------------------------
-# CMAKE_OSX_SYSROOT
-
-if(CMAKE_OSX_SYSROOT)
-  # Use the existing value without further computation to choose a default.
-  set(_CMAKE_OSX_SYSROOT_DEFAULT "${CMAKE_OSX_SYSROOT}")
-elseif(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND
-        (NOT "x$ENV{SDKROOT}" MATCHES "/" OR IS_DIRECTORY "$ENV{SDKROOT}"))
-  # Use the value of SDKROOT from the environment.
-  set(_CMAKE_OSX_SYSROOT_DEFAULT "$ENV{SDKROOT}")
-elseif("${CMAKE_GENERATOR}" MATCHES Xcode
-       OR CMAKE_OSX_DEPLOYMENT_TARGET
-       OR CMAKE_OSX_ARCHITECTURES MATCHES "[^;]"
-       OR NOT EXISTS "/usr/include/sys/types.h")
-  # Find installed SDKs in either Xcode-4.3+ or pre-4.3 SDKs directory.
-  set(_CMAKE_OSX_SDKS_DIR "")
-  if(OSX_DEVELOPER_ROOT)
-    foreach(d Platforms/MacOSX.platform/Developer/SDKs SDKs)
-      file(GLOB _CMAKE_OSX_SDKS ${OSX_DEVELOPER_ROOT}/${d}/*)
-      if(_CMAKE_OSX_SDKS)
-        set(_CMAKE_OSX_SDKS_DIR ${OSX_DEVELOPER_ROOT}/${d})
-        break()
-      endif()
-    endforeach()
-  endif()
-
-  if(_CMAKE_OSX_SDKS_DIR)
-    # Select SDK for current OSX version accounting for the known
-    # specially named SDKs.
-    set(_CMAKE_OSX_SDKS_VER_SUFFIX_10.4 "u")
-    set(_CMAKE_OSX_SDKS_VER_SUFFIX_10.3 ".9")
-
-    # find the latest SDK
-    set(_CMAKE_OSX_LATEST_SDK_VERSION "0.0")
-    file(GLOB _CMAKE_OSX_SDKS RELATIVE "${_CMAKE_OSX_SDKS_DIR}" "${_CMAKE_OSX_SDKS_DIR}/MacOSX*.sdk")
-    foreach(_SDK ${_CMAKE_OSX_SDKS})
-      if(_SDK MATCHES "MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk" AND CMAKE_MATCH_1 VERSION_GREATER ${_CMAKE_OSX_LATEST_SDK_VERSION})
-        set(_CMAKE_OSX_LATEST_SDK_VERSION "${CMAKE_MATCH_1}")
-      endif()
-    endforeach()
-
-    # pick an SDK that works
-    set(_CMAKE_OSX_SYSROOT_DEFAULT)
-    foreach(ver ${CMAKE_OSX_DEPLOYMENT_TARGET}
-                ${_CURRENT_OSX_VERSION}
-                ${_CMAKE_OSX_LATEST_SDK_VERSION})
-      set(_CMAKE_OSX_DEPLOYMENT_TARGET ${ver})
-      set(_CMAKE_OSX_SDKS_VER ${_CMAKE_OSX_DEPLOYMENT_TARGET}${_CMAKE_OSX_SDKS_VER_SUFFIX_${_CMAKE_OSX_DEPLOYMENT_TARGET}})
-      set(_CMAKE_OSX_SYSROOT_CHECK "${_CMAKE_OSX_SDKS_DIR}/MacOSX${_CMAKE_OSX_SDKS_VER}.sdk")
-      if(IS_DIRECTORY "${_CMAKE_OSX_SYSROOT_CHECK}")
-        set(_CMAKE_OSX_SYSROOT_DEFAULT "${_CMAKE_OSX_SYSROOT_CHECK}")
-        break()
-      endif()
-    endforeach()
-
-    if(NOT CMAKE_OSX_DEPLOYMENT_TARGET AND _CURRENT_OSX_VERSION VERSION_LESS _CMAKE_OSX_DEPLOYMENT_TARGET)
-      set(CMAKE_OSX_DEPLOYMENT_TARGET ${_CURRENT_OSX_VERSION} CACHE STRING
-        "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value." FORCE)
-    endif()
-  else()
-    # Assume developer files are in root (such as Xcode 4.5 command-line tools).
-    set(_CMAKE_OSX_SYSROOT_DEFAULT "")
-  endif()
-endif()
-
-# Set cache variable - end user may change this during ccmake or cmake-gui configure.
-# Choose the type based on the current value.
-set(_CMAKE_OSX_SYSROOT_TYPE STRING)
-foreach(v CMAKE_OSX_SYSROOT _CMAKE_OSX_SYSROOT_DEFAULT)
-  if("x${${v}}" MATCHES "/")
-    set(_CMAKE_OSX_SYSROOT_TYPE PATH)
-    break()
-  endif()
-endforeach()
-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.
-set(_CMAKE_OSX_SYSROOT_ORIG "${CMAKE_OSX_SYSROOT}")
-set(_CMAKE_OSX_SYSROOT_PATH "")
-if(CMAKE_OSX_SYSROOT)
-  if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")
-    # This is a path to the SDK.  Make sure it exists.
-    if(NOT IS_DIRECTORY "${CMAKE_OSX_SYSROOT}")
-      message(WARNING "Ignoring CMAKE_OSX_SYSROOT value:\n ${CMAKE_OSX_SYSROOT}\n"
-        "because the directory does not exist.")
-      set(CMAKE_OSX_SYSROOT "")
-      set(_CMAKE_OSX_SYSROOT_ORIG "")
-    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}")
-      # For non-Xcode generators use the path.
-      if(NOT "${CMAKE_GENERATOR}" MATCHES "Xcode")
-        set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}")
-      endif()
-    endif()
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Intel-Fortran.cmake b/share/cmake-3.6/Modules/Platform/Darwin-Intel-Fortran.cmake
deleted file mode 100644
index a604bb6..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-Intel-Fortran.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-#=============================================================================
-# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(Platform/Darwin-Intel)
-__darwin_compiler_intel(Fortran)
-
-set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
-set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-Intel.cmake b/share/cmake-3.6/Modules/Platform/Darwin-Intel.cmake
deleted file mode 100644
index 42f1154..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-Intel.cmake
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2014 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__DARWIN_COMPILER_INTEL)
-  return()
-endif()
-set(__DARWIN_COMPILER_INTEL 1)
-
-macro(__darwin_compiler_intel lang)
-  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
-  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
-
-  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0)
-    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-NAG-Fortran.cmake b/share/cmake-3.6/Modules/Platform/Darwin-NAG-Fortran.cmake
deleted file mode 100644
index e3ac9b5..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-NAG-Fortran.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(CMAKE_Fortran_VERBOSE_FLAG "-Wl,-v") # Runs gcc under the hood.
-
-# Need -fpp explicitly on case-insensitive filesystem.
-set(CMAKE_Fortran_COMPILE_OBJECT
-  "<CMAKE_Fortran_COMPILER> -fpp -o <OBJECT> <DEFINES> <INCLUDES> <FLAGS> -c <SOURCE>")
-
-set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-Wl,-compatibility_version -Wl,")
-set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-Wl,-current_version -Wl,")
-set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-Wl,-shared")
-set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-Wl,-install_name -Wl,")
-set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
-  "<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG><TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-XL-C.cmake b/share/cmake-3.6/Modules/Platform/Darwin-XL-C.cmake
deleted file mode 100644
index 42e94a9..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-XL-C.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
-set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle")
-
-# Enable shared library versioning.
-set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-install_name")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin-XL-CXX.cmake b/share/cmake-3.6/Modules/Platform/Darwin-XL-CXX.cmake
deleted file mode 100644
index 65c76f8..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin-XL-CXX.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
-set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "-bundle")
-
-# Enable shared library versioning.
-set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-install_name")
diff --git a/share/cmake-3.6/Modules/Platform/Darwin.cmake b/share/cmake-3.6/Modules/Platform/Darwin.cmake
deleted file mode 100644
index bb085ac..0000000
--- a/share/cmake-3.6/Modules/Platform/Darwin.cmake
+++ /dev/null
@@ -1,241 +0,0 @@
-set(APPLE 1)
-
-# Darwin versions:
-#   6.x == Mac OSX 10.2 (Jaguar)
-#   7.x == Mac OSX 10.3 (Panther)
-#   8.x == Mac OSX 10.4 (Tiger)
-#   9.x == Mac OSX 10.5 (Leopard)
-#  10.x == Mac OSX 10.6 (Snow Leopard)
-#  11.x == Mac OSX 10.7 (Lion)
-#  12.x == Mac OSX 10.8 (Mountain Lion)
-string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
-string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
-
-# Do not use the "-Wl,-search_paths_first" flag with the OSX 10.2 compiler.
-# Done this way because it is too early to do a TRY_COMPILE.
-if(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
-  set(HAVE_FLAG_SEARCH_PATHS_FIRST 0)
-  if("${DARWIN_MAJOR_VERSION}" GREATER 6)
-    set(HAVE_FLAG_SEARCH_PATHS_FIRST 1)
-  endif()
-endif()
-# More desirable, but does not work:
-  #include(CheckCXXCompilerFlag)
-  #CHECK_CXX_COMPILER_FLAG("-Wl,-search_paths_first" HAVE_FLAG_SEARCH_PATHS_FIRST)
-
-set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
-set(CMAKE_SHARED_MODULE_PREFIX "lib")
-set(CMAKE_SHARED_MODULE_SUFFIX ".so")
-set(CMAKE_MODULE_EXISTS 1)
-set(CMAKE_DL_LIBS "")
-
-# Enable rpath support for 10.5 and greater where it is known to work.
-if("${DARWIN_MAJOR_VERSION}" GREATER 8)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-endif()
-
-set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
-set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
-set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
-set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
-
-set(CMAKE_C_LINK_FLAGS "-Wl,-headerpad_max_install_names")
-set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names")
-
-if(HAVE_FLAG_SEARCH_PATHS_FIRST)
-  set(CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
-  set(CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
-endif()
-
-set(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
-set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names")
-set(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
-set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a")
-
-# hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree
-# (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache
-# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
-# hardcode CMAKE_INSTALL_NAME_TOOL here to install_name_tool, so it behaves as it did before, Alex
-if(NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
-  find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool)
-  mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
-endif()
-
-# Make sure the combination of SDK and Deployment Target are allowed
-if(CMAKE_OSX_DEPLOYMENT_TARGET)
-  if("${_CMAKE_OSX_SYSROOT_PATH}" MATCHES "/MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk")
-    set(_sdk_ver "${CMAKE_MATCH_1}")
-  elseif("${_CMAKE_OSX_SYSROOT_ORIG}" MATCHES "^macosx([0-9]+\\.[0-9]+)$")
-    set(_sdk_ver "${CMAKE_MATCH_1}")
-  elseif("${_CMAKE_OSX_SYSROOT_ORIG}" STREQUAL "/")
-    set(_sdk_ver "${_CURRENT_OSX_VERSION}")
-  else()
-    message(FATAL_ERROR
-      "CMAKE_OSX_DEPLOYMENT_TARGET is '${CMAKE_OSX_DEPLOYMENT_TARGET}' "
-      "but CMAKE_OSX_SYSROOT:\n \"${_CMAKE_OSX_SYSROOT_ORIG}\"\n"
-      "is not set to a MacOSX SDK with a recognized version.  "
-      "Either set CMAKE_OSX_SYSROOT to a valid SDK or set "
-      "CMAKE_OSX_DEPLOYMENT_TARGET to empty.")
-  endif()
-  if(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER "${_sdk_ver}")
-    message(FATAL_ERROR
-      "CMAKE_OSX_DEPLOYMENT_TARGET (${CMAKE_OSX_DEPLOYMENT_TARGET}) "
-      "is greater than CMAKE_OSX_SYSROOT SDK:\n ${_CMAKE_OSX_SYSROOT_ORIG}\n"
-      "Please set CMAKE_OSX_DEPLOYMENT_TARGET to ${_sdk_ver} or lower.")
-  endif()
-endif()
-
-# Enable shared library versioning.
-set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
-
-# Xcode does not support -isystem yet.
-if(XCODE)
-  set(CMAKE_INCLUDE_SYSTEM_FLAG_C)
-  set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
-endif()
-
-if("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
-  # Need to list dependent shared libraries on link line.  When building
-  # with -isysroot (for universal binaries), the linker always looks for
-  # dependent libraries under the sysroot.  Listing them on the link
-  # line works around the problem.
-  set(CMAKE_LINK_DEPENDENT_LIBRARY_FILES 1)
-endif()
-
-set(CMAKE_C_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS -w)
-set(CMAKE_CXX_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS -w)
-set(CMAKE_C_CREATE_SHARED_LIBRARY
-  "<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-set(CMAKE_CXX_CREATE_SHARED_LIBRARY
-  "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
-  "<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-
-set(CMAKE_CXX_CREATE_SHARED_MODULE
-      "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-
-set(CMAKE_C_CREATE_SHARED_MODULE
-      "<CMAKE_C_COMPILER>  <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-
-set(CMAKE_Fortran_CREATE_SHARED_MODULE
-      "<CMAKE_Fortran_COMPILER>  <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-
-set(CMAKE_C_CREATE_MACOSX_FRAMEWORK
-      "<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-set(CMAKE_CXX_CREATE_MACOSX_FRAMEWORK
-      "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-
-# Set default framework search path flag for languages known to use a
-# preprocessor that may find headers in frameworks.
-set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F)
-set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F)
-set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F)
-
-# default to searching for frameworks first
-if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
-  set(CMAKE_FIND_FRAMEWORK FIRST)
-endif()
-
-# Older OS X linkers do not report their framework search path
-# with -v but "man ld" documents the following locations.
-set(CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
-  ${_CMAKE_OSX_SYSROOT_PATH}/Library/Frameworks
-  ${_CMAKE_OSX_SYSROOT_PATH}/System/Library/Frameworks
-  )
-if(_CMAKE_OSX_SYSROOT_PATH)
-  # Treat some paths as implicit so we do not override the SDK versions.
-  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
-    /System/Library/Frameworks)
-endif()
-if("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
-  # Older OS X tools had more implicit paths.
-  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
-    ${_CMAKE_OSX_SYSROOT_PATH}/Network/Library/Frameworks)
-endif()
-
-# set up the default search directories for frameworks
-set(CMAKE_SYSTEM_FRAMEWORK_PATH
-  ~/Library/Frameworks
-  )
-if(_CMAKE_OSX_SYSROOT_PATH)
-  list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
-    ${_CMAKE_OSX_SYSROOT_PATH}/Library/Frameworks
-    ${_CMAKE_OSX_SYSROOT_PATH}/Network/Library/Frameworks
-    ${_CMAKE_OSX_SYSROOT_PATH}/System/Library/Frameworks
-    )
-  # add platform developer framework path if exists
-  foreach(_path
-    # Xcode 6
-    ${_CMAKE_OSX_SYSROOT_PATH}/../../Library/Frameworks
-    # Xcode 5 iOS
-    ${_CMAKE_OSX_SYSROOT_PATH}/Developer/Library/Frameworks
-    # Xcode 5 OSX
-    ${_CMAKE_OSX_SYSROOT_PATH}/../../../../../Library/Frameworks
-    )
-    get_filename_component(_abolute_path "${_path}" ABSOLUTE)
-    if(EXISTS "${_abolute_path}")
-      list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH "${_abolute_path}")
-      break()
-    endif()
-  endforeach()
-endif()
-list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
-  /Library/Frameworks
-  /Network/Library/Frameworks
-  /System/Library/Frameworks)
-
-# Warn about known system mis-configuration case.
-if(CMAKE_OSX_SYSROOT)
-  get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
-  if(NOT _IN_TC AND
-     NOT IS_SYMLINK "${CMAKE_OSX_SYSROOT}/Library/Frameworks"
-     AND IS_SYMLINK "${CMAKE_OSX_SYSROOT}/Library/Frameworks/Frameworks")
-    message(WARNING "The SDK Library/Frameworks path\n"
-      " ${CMAKE_OSX_SYSROOT}/Library/Frameworks\n"
-      "is not set up correctly on this system.  "
-      "This is known to occur when installing Xcode 3.2.6:\n"
-      " http://bugs.python.org/issue14018\n"
-      "The problem may cause build errors that report missing system frameworks.  "
-      "Fix your SDK symlinks to resolve this issue and avoid this warning."
-      )
-  endif()
-endif()
-
-# default to searching for application bundles first
-if(NOT DEFINED CMAKE_FIND_APPBUNDLE)
-  set(CMAKE_FIND_APPBUNDLE FIRST)
-endif()
-# set up the default search directories for application bundles
-set(_apps_paths)
-foreach(_path
-  "~/Applications"
-  "/Applications"
-  "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+
-  "${OSX_DEVELOPER_ROOT}/Applications"    # pre-4.3
-  )
-  get_filename_component(_apps "${_path}" ABSOLUTE)
-  if(EXISTS "${_apps}")
-    list(APPEND _apps_paths "${_apps}")
-  endif()
-endforeach()
-if(_apps_paths)
-  list(REMOVE_DUPLICATES _apps_paths)
-endif()
-set(CMAKE_SYSTEM_APPBUNDLE_PATH
-  ${_apps_paths})
-unset(_apps_paths)
-
-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)
-    list(APPEND CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES ${_CMAKE_OSX_SYSROOT_PATH}/usr/include)
-  endforeach()
-endif()
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-  /sw        # Fink
-  /opt/local # MacPorts
-  )
diff --git a/share/cmake-3.6/Modules/Platform/GHS-MULTI-Initialize.cmake b/share/cmake-3.6/Modules/Platform/GHS-MULTI-Initialize.cmake
deleted file mode 100644
index 6e6b4ff..0000000
--- a/share/cmake-3.6/Modules/Platform/GHS-MULTI-Initialize.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#=============================================================================
-# Copyright 2015 Geoffrey Viola <geoffrey.viola@asirobots.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#Setup Greenhills MULTI specific compilation information
-
-if (NOT GHS_INT_DIRECTORY)
-  #Assume the C:/ghs/int#### directory that is latest is preferred
-  set(GHS_EXPECTED_ROOT "C:/ghs")
-  if (EXISTS ${GHS_EXPECTED_ROOT})
-    FILE(GLOB GHS_CANDIDATE_INT_DIRS RELATIVE
-      ${GHS_EXPECTED_ROOT} ${GHS_EXPECTED_ROOT}/*)
-    string(REGEX MATCHALL  "int[0-9][0-9][0-9][0-9]" GHS_CANDIDATE_INT_DIRS
-      ${GHS_CANDIDATE_INT_DIRS})
-    if (GHS_CANDIDATE_INT_DIRS)
-      list(SORT GHS_CANDIDATE_INT_DIRS)
-      list(GET GHS_CANDIDATE_INT_DIRS -1 GHS_INT_DIRECTORY)
-      string(CONCAT GHS_INT_DIRECTORY ${GHS_EXPECTED_ROOT} "/"
-        ${GHS_INT_DIRECTORY})
-    endif ()
-  endif ()
-
-  #Try to look for known registry values
-  if (NOT GHS_INT_DIRECTORY)
-    find_path(GHS_INT_DIRECTORY INTEGRITY.ld PATHS
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\GreenHillsSoftware6433c345;InstallLocation]" #int1122
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\GreenHillsSoftware289b6625;InstallLocation]" #int1104
-      )
-  endif ()
-
-  set(GHS_INT_DIRECTORY ${GHS_INT_DIRECTORY} CACHE PATH
-    "Path to integrity directory")
-endif ()
-
-set(GHS_OS_DIR ${GHS_INT_DIRECTORY} CACHE PATH "OS directory")
-set(GHS_PRIMARY_TARGET "arm_integrity.tgt" CACHE STRING "target for compilation")
-set(GHS_BSP_NAME "simarm" CACHE STRING "BSP name")
-set(GHS_CUSTOMIZATION "" CACHE FILEPATH "optional GHS customization")
-mark_as_advanced(GHS_CUSTOMIZATION)
-set(GHS_GPJ_MACROS "" CACHE STRING "optional GHS macros generated in the .gpjs for legacy reasons")
-mark_as_advanced(GHS_GPJ_MACROS)
diff --git a/share/cmake-3.6/Modules/Platform/GHS-MULTI.cmake b/share/cmake-3.6/Modules/Platform/GHS-MULTI.cmake
deleted file mode 100644
index 211cf3e..0000000
--- a/share/cmake-3.6/Modules/Platform/GHS-MULTI.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#=============================================================================
-# Copyright 2015 Geoffrey Viola <geoffrey.viola@asirobots.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-
-if(__GHSMULTI)
-  return()
-endif()
-set(__GHSMULTI 1)
-
-set(GHSMULTI 1)
-
-set(CMAKE_FIND_LIBRARY_PREFIXES "")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
-
-include(Platform/WindowsPaths)
diff --git a/share/cmake-3.6/Modules/Platform/GNUtoMS_lib.bat.in b/share/cmake-3.6/Modules/Platform/GNUtoMS_lib.bat.in
deleted file mode 100644
index 2da920a..0000000
--- a/share/cmake-3.6/Modules/Platform/GNUtoMS_lib.bat.in
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off

-call "@CMAKE_GNUtoMS_BAT@"

-lib /machine:"@CMAKE_GNUtoMS_ARCH@" %*

diff --git a/share/cmake-3.6/Modules/Platform/Generic-ADSP-C.cmake b/share/cmake-3.6/Modules/Platform/Generic-ADSP-C.cmake
deleted file mode 100644
index 4b9ed9d..0000000
--- a/share/cmake-3.6/Modules/Platform/Generic-ADSP-C.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-
-include(Platform/Generic-ADSP-Common)
-
-
-set(CMAKE_C_OUTPUT_EXTENSION ".doj")
-
-set(CMAKE_C_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_C_FLAGS_MINSIZEREL_INIT "")
-set(CMAKE_C_FLAGS_RELEASE_INIT "")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "")
-
-set(CMAKE_C_CREATE_STATIC_LIBRARY
-    "<CMAKE_C_COMPILER> -build-lib -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <TARGET> <CMAKE_C_LINK_FLAGS> <OBJECTS>")
-
-set(CMAKE_C_LINK_EXECUTABLE
-    "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-
-set(CMAKE_C_CREATE_SHARED_LIBRARY)
-set(CMAKE_C_CREATE_MODULE_LIBRARY)
-
diff --git a/share/cmake-3.6/Modules/Platform/Generic-ADSP-CXX.cmake b/share/cmake-3.6/Modules/Platform/Generic-ADSP-CXX.cmake
deleted file mode 100644
index 9673aef..0000000
--- a/share/cmake-3.6/Modules/Platform/Generic-ADSP-CXX.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-include(Platform/Generic-ADSP-Common)
-
-set(CMAKE_CXX_OUTPUT_EXTENSION ".doj")
-
-set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "")
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "")
-
-set(CMAKE_CXX_CREATE_STATIC_LIBRARY
-     "<CMAKE_CXX_COMPILER> -build-lib -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <TARGET> <CMAKE_CXX_LINK_FLAGS> <OBJECTS>")
-
-set(CMAKE_CXX_LINK_EXECUTABLE
-     "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-
-set(CMAKE_CXX_CREATE_SHARED_LIBRARY)
-set(CMAKE_CXX_CREATE_MODULE_LIBRARY)
-
diff --git a/share/cmake-3.6/Modules/Platform/Generic-SDCC-C.cmake b/share/cmake-3.6/Modules/Platform/Generic-SDCC-C.cmake
deleted file mode 100644
index a1ca812..0000000
--- a/share/cmake-3.6/Modules/Platform/Generic-SDCC-C.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-
-# 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:
-# cmake -DCMAKE_C_COMPILER=sdcc -DCMAKE_SYSTEM_NAME=Generic <dir...>
-# Since sdcc doesn't support C++, C++ support should be disabled in the
-# CMakeLists.txt using the project() command:
-# project(my_project C)
-
-set(CMAKE_STATIC_LIBRARY_PREFIX "")
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
-set(CMAKE_SHARED_LIBRARY_PREFIX "")          # lib
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".lib")          # .so
-set(CMAKE_IMPORT_LIBRARY_PREFIX )
-set(CMAKE_IMPORT_LIBRARY_SUFFIX )
-set(CMAKE_EXECUTABLE_SUFFIX ".ihx")          # intel hex file
-set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
-set(CMAKE_DL_LIBS "")
-
-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
-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)
-  set(CMAKE_C_FLAGS_INIT "-mmcs51 --model-small")
-endif()
-
-if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
-  set (CMAKE_EXE_LINKER_FLAGS_INIT --model-small)
-endif()
-
-# compile a C file into an object file
-set(CMAKE_C_COMPILE_OBJECT  "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-
-# link object files to an executable
-set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <OBJECTS> --out-fmt-ihx -o  <TARGET> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>")
-
-# needs sdcc 2.7.0 + sddclib from cvs
-set(CMAKE_C_CREATE_STATIC_LIBRARY
-      "\"${CMAKE_COMMAND}\" -E remove <TARGET>"
-      "<CMAKE_AR> -a <TARGET> <LINK_FLAGS> <OBJECTS> ")
-
-# not supported by sdcc
-set(CMAKE_C_CREATE_SHARED_LIBRARY "")
-set(CMAKE_C_CREATE_MODULE_LIBRARY "")
-
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-GNU-CXX.cmake b/share/cmake-3.6/Modules/Platform/HP-UX-GNU-CXX.cmake
deleted file mode 100644
index 689bed0..0000000
--- a/share/cmake-3.6/Modules/Platform/HP-UX-GNU-CXX.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-include(Platform/HP-UX-GNU)
-__hpux_compiler_gnu(CXX)
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-GNU.cmake b/share/cmake-3.6/Modules/Platform/HP-UX-GNU.cmake
deleted file mode 100644
index 6c71784..0000000
--- a/share/cmake-3.6/Modules/Platform/HP-UX-GNU.cmake
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__HPUX_COMPILER_GNU)
-  return()
-endif()
-set(__HPUX_COMPILER_GNU 1)
-
-macro(__hpux_compiler_gnu lang)
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS} -Wl,-E,-b,+nodefaultrpath")
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-E")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,+b")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,+h")
-
-  set(CMAKE_${lang}_LINK_FLAGS "-Wl,+s,+nodefaultrpath")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-HP-CXX.cmake b/share/cmake-3.6/Modules/Platform/HP-UX-HP-CXX.cmake
deleted file mode 100644
index 6d90191..0000000
--- a/share/cmake-3.6/Modules/Platform/HP-UX-HP-CXX.cmake
+++ /dev/null
@@ -1,14 +0,0 @@
-include(Platform/HP-UX-HP)
-__hpux_compiler_hp(CXX)
-
-set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
-  "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE>"
-  "mv `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.s <ASSEMBLY_SOURCE>"
-  "rm -f `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.o"
-  )
-
-set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "+O3 -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE_INIT "+O2 -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g")
diff --git a/share/cmake-3.6/Modules/Platform/HP-UX-HP.cmake b/share/cmake-3.6/Modules/Platform/HP-UX-HP.cmake
deleted file mode 100644
index 3935c31..0000000
--- a/share/cmake-3.6/Modules/Platform/HP-UX-HP.cmake
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__HPUX_COMPILER_HP)
-  return()
-endif()
-set(__HPUX_COMPILER_HP 1)
-
-macro(__hpux_compiler_hp lang)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "+Z")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "+Z")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-Wl,-E,+nodefaultrpath -b -L/usr/lib")
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,-E")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,+b")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,+h")
-
-  set(CMAKE_${lang}_FLAGS_INIT "")
-
-  set(CMAKE_${lang}_LINK_FLAGS "-Wl,+s,+nodefaultrpath")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-GNU.cmake b/share/cmake-3.6/Modules/Platform/Linux-GNU.cmake
deleted file mode 100644
index 0e254c6..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux-GNU.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#=============================================================================
-# Copyright 2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__LINUX_COMPILER_GNU)
-  return()
-endif()
-set(__LINUX_COMPILER_GNU 1)
-
-macro(__linux_compiler_gnu lang)
-  # We pass this for historical reasons.  Projects may have
-  # executables that use dlopen but do not set ENABLE_EXPORTS.
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Intel-Fortran.cmake b/share/cmake-3.6/Modules/Platform/Linux-Intel-Fortran.cmake
deleted file mode 100644
index 0c9523c..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux-Intel-Fortran.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-include(Platform/Linux-Intel)
-__linux_compiler_intel(Fortran)
-set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS} -nofor_main")
-set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "")
diff --git a/share/cmake-3.6/Modules/Platform/Linux-Intel.cmake b/share/cmake-3.6/Modules/Platform/Linux-Intel.cmake
deleted file mode 100644
index 20fddb4..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux-Intel.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__LINUX_COMPILER_INTEL)
-  return()
-endif()
-set(__LINUX_COMPILER_INTEL 1)
-
-if(NOT XIAR)
-  set(_intel_xiar_hints)
-  foreach(lang C CXX Fortran)
-    if(IS_ABSOLUTE "${CMAKE_${lang}_COMPILER}")
-      get_filename_component(_hint "${CMAKE_${lang}_COMPILER}" PATH)
-      list(APPEND _intel_xiar_hints ${_hint})
-    endif()
-  endforeach()
-  find_program(XIAR NAMES xiar HINTS ${_intel_xiar_hints})
-  mark_as_advanced(XIAR)
-endif()
-
-macro(__linux_compiler_intel lang)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-
-  # We pass this for historical reasons.  Projects may have
-  # executables that use dlopen but do not set ENABLE_EXPORTS.
-  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic")
-
-  if(XIAR)
-    # INTERPROCEDURAL_OPTIMIZATION
-    set(CMAKE_${lang}_COMPILE_OPTIONS_IPO -ipo)
-    set(CMAKE_${lang}_CREATE_STATIC_LIBRARY_IPO
-      "${XIAR} cr <TARGET> <LINK_FLAGS> <OBJECTS> "
-      "${XIAR} -s <TARGET> ")
-  endif()
-
-  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0)
-    set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PGI.cmake b/share/cmake-3.6/Modules/Platform/Linux-PGI.cmake
deleted file mode 100644
index baa2248..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux-PGI.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__LINUX_COMPILER_PGI)
-  return()
-endif()
-set(__LINUX_COMPILER_PGI 1)
-
-macro(__linux_compiler_pgi lang)
-  # Shared library compile and link flags.
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-PathScale.cmake b/share/cmake-3.6/Modules/Platform/Linux-PathScale.cmake
deleted file mode 100644
index d230ab2..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux-PathScale.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__LINUX_COMPILER_PATHSCALE)
-  return()
-endif()
-set(__LINUX_COMPILER_PATHSCALE 1)
-
-macro(__linux_compiler_pathscale lang)
-  # Shared library compile and link flags.
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Linux-TinyCC-C.cmake b/share/cmake-3.6/Modules/Platform/Linux-TinyCC-C.cmake
deleted file mode 100644
index f78e708..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux-TinyCC-C.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")
-set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "")
-set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-soname ")
diff --git a/share/cmake-3.6/Modules/Platform/Linux.cmake b/share/cmake-3.6/Modules/Platform/Linux.cmake
deleted file mode 100644
index e40a74f..0000000
--- a/share/cmake-3.6/Modules/Platform/Linux.cmake
+++ /dev/null
@@ -1,57 +0,0 @@
-set(CMAKE_DL_LIBS "dl")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
-set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
-
-# Shared libraries with no builtin soname may not be linked safely by
-# specifying the file path.
-set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
-
-# Initialize C link type selection flags.  These flags are used when
-# building a shared library, shared module, or executable that links
-# to other libraries to select whether to use the static or shared
-# versions of the libraries.
-foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-  set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
-  set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-endforeach()
-
-# Debian policy requires that shared libraries be installed without
-# executable permission.  Fedora policy requires that shared libraries
-# be installed with the executable permission.  Since the native tools
-# create shared libraries with execute permission in the first place a
-# reasonable policy seems to be to install with execute permission by
-# default.  In order to support debian packages we provide an option
-# here.  The option default is based on the current distribution, but
-# packagers can set it explicitly on the command line.
-if(DEFINED CMAKE_INSTALL_SO_NO_EXE)
-  # Store the decision variable in the cache.  This preserves any
-  # setting the user provides on the command line.
-  set(CMAKE_INSTALL_SO_NO_EXE "${CMAKE_INSTALL_SO_NO_EXE}" CACHE INTERNAL
-    "Install .so files without execute permission.")
-else()
-  # Store the decision variable as an internal cache entry to avoid
-  # checking the platform every time.  This option is advanced enough
-  # that only package maintainers should need to adjust it.  They are
-  # capable of providing a setting on the command line.
-  if(EXISTS "/etc/debian_version")
-    set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
-      "Install .so files without execute permission.")
-  else()
-    set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
-      "Install .so files without execute permission.")
-  endif()
-endif()
-
-# Match multiarch library directory names.
-set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
-
-include(Platform/UnixPaths)
-
-# Debian has lib64 paths only for compatibility so they should not be
-# searched.
-if(NOT CMAKE_CROSSCOMPILING AND EXISTS "/etc/debian_version")
-  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-endif()
diff --git a/share/cmake-3.6/Modules/Platform/OpenBSD.cmake b/share/cmake-3.6/Modules/Platform/OpenBSD.cmake
deleted file mode 100644
index 7ac6c7e..0000000
--- a/share/cmake-3.6/Modules/Platform/OpenBSD.cmake
+++ /dev/null
@@ -1,38 +0,0 @@
-include(Platform/NetBSD)
-
-# On OpenBSD, the compile time linker does not share it's configuration with
-# the runtime linker.  This will extract the library search paths from the
-# system's ld.so.hints file which will allow CMake to set the appropriate
-# -rpath-link flags
-if(NOT CMAKE_PLATFORM_RUNTIME_PATH)
-  execute_process(COMMAND /sbin/ldconfig -r
-                  OUTPUT_VARIABLE LDCONFIG_HINTS
-                  ERROR_QUIET)
-  string(REGEX REPLACE ".*search\\ directories:\\ ([^\n]*).*" "\\1"
-         LDCONFIG_HINTS "${LDCONFIG_HINTS}")
-  string(REPLACE ":" ";"
-         CMAKE_PLATFORM_RUNTIME_PATH
-         "${LDCONFIG_HINTS}")
-endif()
-
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_OPENBSD_VERSIONING 1)
-
-# OpenBSD has no multilib
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-
-# OpenBSD policy requires that shared libraries be installed without
-# executable permission.
-set(CMAKE_INSTALL_SO_NO_EXE 1)
-
-if($ENV{LOCALBASE})
-  set(OPENBSD_LOCALBASE $ENV{LOCALBASE})
-else()
-  set(OPENBSD_LOCALBASE /usr/local)
-endif()
-if($ENV{X11BASE})
-  set(OPENBSD_X11BASE $ENV{X11BASE})
-else()
-  set(OPENBSD_X11BASE /usr/X11R6)
-endif()
-
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${OPENBSD_LOCALBASE})
diff --git a/share/cmake-3.6/Modules/Platform/SCO_SV.cmake b/share/cmake-3.6/Modules/Platform/SCO_SV.cmake
deleted file mode 100644
index ddd9600..0000000
--- a/share/cmake-3.6/Modules/Platform/SCO_SV.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-set(CMAKE_DL_LIBS "")
-include(Platform/UnixPaths)
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-GNU.cmake b/share/cmake-3.6/Modules/Platform/SunOS-GNU.cmake
deleted file mode 100644
index 7169056..0000000
--- a/share/cmake-3.6/Modules/Platform/SunOS-GNU.cmake
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__SUNOS_COMPILER_GNU)
-  return()
-endif()
-set(__SUNOS_COMPILER_GNU 1)
-
-macro(__sunos_compiler_gnu lang)
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-R")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,-h")
-
-  # Initialize C link type selection flags.  These flags are used when
-  # building a shared library, shared module, or executable that links
-  # to other libraries to select whether to use the static or shared
-  # versions of the libraries.
-  foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-    set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
-    set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
-  endforeach()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/SunOS-PathScale.cmake b/share/cmake-3.6/Modules/Platform/SunOS-PathScale.cmake
deleted file mode 100644
index 1afe56a..0000000
--- a/share/cmake-3.6/Modules/Platform/SunOS-PathScale.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#=============================================================================
-# Copyright 2016 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__SUNOS_COMPILER_PATHSCALE)
-  return()
-endif()
-set(__SUNOS_COMPILER_PATHSCALE 1)
-
-macro(__sunos_compiler_pathscale lang)
-  # Shared library compile and link flags.
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
-  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,-R")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,-h")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/SunOS.cmake b/share/cmake-3.6/Modules/Platform/SunOS.cmake
deleted file mode 100644
index 58398c0..0000000
--- a/share/cmake-3.6/Modules/Platform/SunOS.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-if(CMAKE_SYSTEM MATCHES "SunOS-4")
-   set(CMAKE_C_COMPILE_OPTIONS_PIC "-PIC")
-   set(CMAKE_C_COMPILE_OPTIONS_PIE "-PIE")
-   set(CMAKE_SHARED_LIBRARY_C_FLAGS "-PIC")
-   set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r")
-   set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-R")
-   set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-endif()
-
-include(Platform/UnixPaths)
-
-# The Sun linker needs to find transitive shared library dependencies
-# in the -L path.
-set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
-
-# Shared libraries with no builtin soname may not be linked safely by
-# specifying the file path.
-set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
diff --git a/share/cmake-3.6/Modules/Platform/UnixPaths.cmake b/share/cmake-3.6/Modules/Platform/UnixPaths.cmake
deleted file mode 100644
index 20ee1d1..0000000
--- a/share/cmake-3.6/Modules/Platform/UnixPaths.cmake
+++ /dev/null
@@ -1,97 +0,0 @@
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Block multiple inclusion because "CMakeCInformation.cmake" includes
-# "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module
-# "CMakeSystemSpecificInformation.cmake" already included it.
-# The extra inclusion is a work-around documented next to the include()
-# call, so this can be removed when the work-around is removed.
-if(__UNIX_PATHS_INCLUDED)
-  return()
-endif()
-set(__UNIX_PATHS_INCLUDED 1)
-
-set(UNIX 1)
-
-# also add the install directory of the running cmake to the search directories
-# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
-get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
-get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
-
-# List common installation prefixes.  These will be used for all
-# search types.
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-  # Standard
-  /usr/local /usr /
-
-  # CMake install location
-  "${_CMAKE_INSTALL_DIR}"
-  )
-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-    # Project install destination.
-    "${CMAKE_INSTALL_PREFIX}"
-  )
-  if(CMAKE_STAGING_PREFIX)
-    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-      # User-supplied staging prefix.
-      "${CMAKE_STAGING_PREFIX}"
-    )
-  endif()
-endif()
-
-# List common include file locations not under the common prefixes.
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
-  # Windows API on Cygwin
-  /usr/include/w32api
-
-  # X11
-  /usr/X11R6/include /usr/include/X11
-
-  # Other
-  /usr/pkg/include
-  /opt/csw/include /opt/include
-  /usr/openwin/include
-  )
-
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
-  # Windows API on Cygwin
-  /usr/lib/w32api
-
-  # X11
-  /usr/X11R6/lib /usr/lib/X11
-
-  # Other
-  /usr/pkg/lib
-  /opt/csw/lib /opt/lib
-  /usr/openwin/lib
-  )
-
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
-  /usr/pkg/bin
-  )
-
-list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
-  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
-  )
-
-list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
-  /usr/include
-  )
-list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
-  /usr/include
-  )
-
-# Enable use of lib64 search path variants by default.
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
diff --git a/share/cmake-3.6/Modules/Platform/Windows-CXX.cmake b/share/cmake-3.6/Modules/Platform/Windows-CXX.cmake
deleted file mode 100644
index bf37f79..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-CXX.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-if(NOT CMAKE_CXX_COMPILER_NAMES)
-  set(CMAKE_CXX_COMPILER_NAMES c++)
-endif()
-
-# Exclude C++ compilers differing from C compiler only by case
-# because this platform may have a case-insensitive filesystem.
-set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Clang-CXX.cmake b/share/cmake-3.6/Modules/Platform/Windows-Clang-CXX.cmake
deleted file mode 100644
index 2c3688a..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-Clang-CXX.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-include(Platform/Windows-Clang)
-__windows_compiler_clang(CXX)
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Clang.cmake b/share/cmake-3.6/Modules/Platform/Windows-Clang.cmake
deleted file mode 100644
index da19a3d..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-Clang.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#=============================================================================
-# Copyright 2001-2013 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__WINDOWS_CLANG)
-  return()
-endif()
-set(__WINDOWS_CLANG 1)
-
-if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
-    OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
-  include(Platform/Windows-MSVC)
-  macro(__windows_compiler_clang lang)
-    __windows_compiler_msvc(${lang})
-  endmacro()
-else()
-  include(Platform/Windows-GNU)
-  macro(__windows_compiler_clang lang)
-    __windows_compiler_gnu(${lang})
-  endmacro()
-endif()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Embarcadero.cmake b/share/cmake-3.6/Modules/Platform/Windows-Embarcadero.cmake
deleted file mode 100644
index 102e3a6..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-Embarcadero.cmake
+++ /dev/null
@@ -1,141 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__WINDOWS_EMBARCADERO)
-  return()
-endif()
-set(__WINDOWS_EMBARCADERO 1)
-
-set(BORLAND 1)
-
-if("${CMAKE_${_lang}_COMPILER_VERSION}" VERSION_LESS 6.30)
-  # Borland target type flags (bcc32 -h -t):
-  set(_tW "-tW")       # -tW  GUI App         (implies -U__CONSOLE__)
-  set(_tC "-tWC")      # -tWC Console App     (implies -D__CONSOLE__=1)
-  set(_tD "-tWD")      # -tWD Build a DLL     (implies -D__DLL__=1 -D_DLL=1)
-  set(_tM "-tWM")      # -tWM Enable threads  (implies -D__MT__=1 -D_MT=1)
-  set(_tR "-tWR -tW-") # -tWR Use DLL runtime (implies -D_RTLDLL, and '-tW' too!!)
-  # Notes:
-  #  - The flags affect linking so we pass them to the linker.
-  #  - The flags affect preprocessing so we pass them to the compiler.
-  #  - Since '-tWR' implies '-tW' we use '-tWR -tW-' instead.
-  #  - Since '-tW-' disables '-tWD' we use '-tWR -tW- -tWD' for DLLs.
-else()
-  set(EMBARCADERO 1)
-  set(_tC "-tC") # Target is a console application
-  set(_tD "-tD") # Target is a shared library
-  set(_tM "-tM") # Target is multi-threaded
-  set(_tR "-tR") # Target uses the dynamic RTL
-  set(_tW "-tW") # Target is a Windows application
-endif()
-set(_COMPILE_C "-c")
-set(_COMPILE_CXX "-P -c")
-
-set(CMAKE_LIBRARY_PATH_FLAG "-L")
-set(CMAKE_LINK_LIBRARY_FLAG "")
-
-set(CMAKE_FIND_LIBRARY_SUFFIXES "-bcc.lib" ".lib")
-
-# uncomment these out to debug makefiles
-#set(CMAKE_START_TEMP_FILE "")
-#set(CMAKE_END_TEMP_FILE "")
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
-# Borland cannot handle + in the file name, so mangle object file name
-set (CMAKE_MANGLE_OBJECT_FILE_NAMES "ON")
-
-# extra flags for a win32 exe
-set(CMAKE_CREATE_WIN32_EXE "${_tW}" )
-# extra flags for a console app
-set(CMAKE_CREATE_CONSOLE_EXE "${_tC}" )
-
-set (CMAKE_BUILD_TYPE Debug CACHE STRING
-     "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
-
-set (CMAKE_EXE_LINKER_FLAGS_INIT "${_tM} -lS:1048576 -lSc:4098 -lH:1048576 -lHc:8192 ")
-set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-v")
-set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-v")
-set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-
-# The Borland link tool does not support multiple concurrent
-# invocations within a single working directory.
-if(NOT DEFINED CMAKE_JOB_POOL_LINK)
-  set(CMAKE_JOB_POOL_LINK BCC32LinkPool)
-  get_property(_bccjp GLOBAL PROPERTY JOB_POOLS)
-  if(NOT _bccjp MATCHES "BCC32LinkPool=")
-      set_property(GLOBAL APPEND PROPERTY JOB_POOLS BCC32LinkPool=1)
-  endif()
-  unset(_bccjp)
-endif()
-
-macro(__embarcadero_language lang)
-  set(CMAKE_${lang}_COMPILE_OPTIONS_DLL "${_tD}") # Note: This variable is a ';' separated list
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "${_tD}") # ... while this is a space separated string.
-  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1)
-
-  # compile a source file into an object file
-  # place <DEFINES> outside the response file because Borland refuses
-  # to parse quotes from the response file.
-  set(CMAKE_${lang}_COMPILE_OBJECT
-    "<CMAKE_${lang}_COMPILER> ${_tR} -DWIN32 <DEFINES> <INCLUDES> <FLAGS> -o<OBJECT> ${_COMPILE_${lang}} <SOURCE>"
-    )
-
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> ${_tR} -e<TARGET> <LINK_FLAGS> <FLAGS> ${CMAKE_START_TEMP_FILE} <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
-    # "implib -c -w <TARGET_IMPLIB> <TARGET>"
-    )
-
-  # place <DEFINES> outside the response file because Borland refuses
-  # to parse quotes from the response file.
-  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
-    "cpp32 -DWIN32 <DEFINES> <INCLUDES> <FLAGS> -o<PREPROCESSED_SOURCE> ${_COMPILE_${lang}} <SOURCE>"
-    )
-  # Borland >= 5.6 allows -P option for cpp32, <= 5.5 does not
-
-  # Create a module library.
-  set(CMAKE_${lang}_CREATE_SHARED_MODULE
-    "<CMAKE_${lang}_COMPILER> ${_tR} ${_tD} ${CMAKE_START_TEMP_FILE}-e<TARGET> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
-    )
-
-  # Create an import library for another target.
-  set(CMAKE_${lang}_CREATE_IMPORT_LIBRARY
-    "implib -c -w <TARGET_IMPLIB> <TARGET>"
-    )
-
-  # Create a shared library.
-  # First create a module and then its import library.
-  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    ${CMAKE_${lang}_CREATE_SHARED_MODULE}
-    ${CMAKE_${lang}_CREATE_IMPORT_LIBRARY}
-    )
-
-  # create a static library
-  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
-    "tlib ${CMAKE_START_TEMP_FILE}/p512 <LINK_FLAGS> /a <TARGET_QUOTED> <OBJECTS>${CMAKE_END_TEMP_FILE}"
-    )
-
-  # Initial configuration flags.
-  set(CMAKE_${lang}_FLAGS_INIT "${_tM}")
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-Od -v")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-O1 -DNDEBUG")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-Od")
-  set(CMAKE_${lang}_STANDARD_LIBRARIES_INIT "import32.lib")
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-GNU.cmake b/share/cmake-3.6/Modules/Platform/Windows-GNU.cmake
deleted file mode 100644
index d8a423e..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-GNU.cmake
+++ /dev/null
@@ -1,200 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__WINDOWS_GNU)
-  return()
-endif()
-set(__WINDOWS_GNU 1)
-
-set(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
-set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
-set(CMAKE_SHARED_MODULE_PREFIX  "lib")
-set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-
-set(CMAKE_EXECUTABLE_SUFFIX     ".exe")
-set(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
-set(CMAKE_SHARED_MODULE_SUFFIX  ".dll")
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-
-if(MSYS OR MINGW)
-  set(CMAKE_EXTRA_LINK_EXTENSIONS ".lib") # MinGW can also link to a MS .lib
-endif()
-
-if(MINGW)
-  set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-  set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".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()
-
-set(CMAKE_DL_LIBS "")
-set(CMAKE_LIBRARY_PATH_FLAG "-L")
-set(CMAKE_LINK_LIBRARY_FLAG "-l")
-set(CMAKE_LINK_DEF_FILE_FLAG "") # Empty string: passing the file is enough
-set(CMAKE_LINK_LIBRARY_SUFFIX "")
-set(CMAKE_CREATE_WIN32_EXE  "-mwindows")
-
-set(CMAKE_GNULD_IMAGE_VERSION
-  "-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
-
-# Check if GNU ld is too old to support @FILE syntax.
-set(__WINDOWS_GNU_LD_RESPONSE 1)
-execute_process(COMMAND ld -v OUTPUT_VARIABLE _help ERROR_VARIABLE _help)
-if("${_help}" MATCHES "GNU ld .* 2\\.1[1-6]")
-  set(__WINDOWS_GNU_LD_RESPONSE 0)
-endif()
-
-if(NOT CMAKE_GENERATOR_RC AND CMAKE_GENERATOR MATCHES "Unix Makefiles")
-  set(CMAKE_GENERATOR_RC windres)
-endif()
-
-macro(__windows_compiler_gnu lang)
-
-  if(MSYS OR MINGW)
-    # Create archiving rules to support large object file lists for static libraries.
-    set(CMAKE_${lang}_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")
-    set(CMAKE_${lang}_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
-    set(CMAKE_${lang}_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-
-    # Initialize C link type selection flags.  These flags are used when
-    # building a shared library, shared module, or executable that links
-    # to other libraries to select whether to use the static or shared
-    # versions of the libraries.
-    foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
-      set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
-      set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
-    endforeach()
-  endif()
-
-  # No -fPIC on Windows
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "")
-  set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
-
-  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS ${__WINDOWS_GNU_LD_RESPONSE})
-  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_LIBRARIES ${__WINDOWS_GNU_LD_RESPONSE})
-  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1)
-
-  # We prefer "@" for response files but it is not supported by gcc 3.
-  execute_process(COMMAND ${CMAKE_${lang}_COMPILER} --version OUTPUT_VARIABLE _ver ERROR_VARIABLE _ver)
-  if("${_ver}" MATCHES "\\(GCC\\) 3\\.")
-    if("${lang}" STREQUAL "Fortran")
-      # The GNU Fortran compiler reports an error:
-      #   no input files; unwilling to write output files
-      # when the response file is passed with "-Wl,@".
-      set(CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 0)
-    else()
-      # Use "-Wl,@" to pass the response file to the linker.
-      set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-Wl,@")
-    endif()
-    # The GNU 3.x compilers do not support response files (only linkers).
-    set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 0)
-    # Link libraries are generated only for the front-end.
-    set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
-  else()
-    # Use "@" to pass the response file to the front-end.
-    set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "@")
-  endif()
-
-  # Binary link rules.
-  set(CMAKE_${lang}_CREATE_SHARED_MODULE
-    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_MODULE_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
-
-  list(APPEND CMAKE_${lang}_ABI_FILES "Platform/Windows-GNU-${lang}-ABI")
-
-  # Support very long lists of object files.
-  # TODO: check for which gcc versions this is still needed, not needed for gcc >= 4.4.
-  # Ninja generator doesn't support this work around.
-  if("${CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG}" STREQUAL "@" AND NOT CMAKE_GENERATOR MATCHES "Ninja")
-    foreach(rule CREATE_SHARED_MODULE CREATE_SHARED_LIBRARY LINK_EXECUTABLE)
-      # The gcc/collect2/ld toolchain does not use response files
-      # internally so we cannot pass long object lists.  Instead pass
-      # the object file list in a response file to the archiver to put
-      # them in a temporary archive.  Hand the archive to the linker.
-      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_AR> cr <OBJECT_DIR>/objects.a <OBJECTS>"
-        "${CMAKE_${lang}_${rule}}"
-        )
-    endforeach()
-  endif()
-
-  if(NOT CMAKE_RC_COMPILER_INIT AND NOT CMAKE_GENERATOR_RC)
-    set(CMAKE_RC_COMPILER_INIT windres)
-  endif()
-
-  enable_language(RC)
-endmacro()
-
-macro(__windows_compiler_gnu_abi lang)
-  if(CMAKE_NO_GNUtoMS)
-    set(CMAKE_GNUtoMS 0)
-  else()
-    option(CMAKE_GNUtoMS "Convert GNU import libraries to MS format (requires Visual Studio)" OFF)
-  endif()
-
-  if(CMAKE_GNUtoMS AND NOT CMAKE_GNUtoMS_LIB)
-    # Find MS development environment setup script for this architecture.
-    if("${CMAKE_SIZEOF_VOID_P}" EQUAL 4)
-      find_program(CMAKE_GNUtoMS_VCVARS NAMES vcvars32.bat
-        DOC "Visual Studio vcvars32.bat"
-        PATHS
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VC;ProductDir]/bin"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VC;ProductDir]/bin"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/bin"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VC;ProductDir]/bin"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/bin"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC;ProductDir]/bin"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Setup\\Microsoft Visual C++;ProductDir]/bin"
-        )
-      set(CMAKE_GNUtoMS_ARCH x86)
-    elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
-      find_program(CMAKE_GNUtoMS_VCVARS NAMES vcvars64.bat vcvarsamd64.bat
-        DOC "Visual Studio vcvarsamd64.bat"
-        PATHS
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VC;ProductDir]/bin/amd64"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VC;ProductDir]/bin/amd64"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/bin/amd64"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VC;ProductDir]/bin/amd64"
-        "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/bin/amd64"
-        )
-      set(CMAKE_GNUtoMS_ARCH amd64)
-    endif()
-    set_property(CACHE CMAKE_GNUtoMS_VCVARS PROPERTY ADVANCED 1)
-    if(CMAKE_GNUtoMS_VCVARS)
-      # Create helper script to run lib.exe from MS environment.
-      string(REPLACE "/" "\\" CMAKE_GNUtoMS_BAT "${CMAKE_GNUtoMS_VCVARS}")
-      set(CMAKE_GNUtoMS_LIB ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeGNUtoMS_lib.bat)
-      configure_file(${CMAKE_ROOT}/Modules/Platform/GNUtoMS_lib.bat.in ${CMAKE_GNUtoMS_LIB})
-    else()
-      message(WARNING "Disabling CMAKE_GNUtoMS option because CMAKE_GNUtoMS_VCVARS is not set.")
-      set(CMAKE_GNUtoMS 0)
-    endif()
-  endif()
-
-  if(CMAKE_GNUtoMS)
-    # Teach CMake how to create a MS import library at link time.
-    set(CMAKE_${lang}_GNUtoMS_RULE " -Wl,--output-def,<TARGET_NAME>.def"
-      "<CMAKE_COMMAND> -Dlib=\"${CMAKE_GNUtoMS_LIB}\" -Ddef=<TARGET_NAME>.def -Ddll=<TARGET> -Dimp=<TARGET_IMPLIB> -P \"${CMAKE_ROOT}/Modules/Platform/GNUtoMS_lib.cmake\""
-      )
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Intel-Fortran.cmake b/share/cmake-3.6/Modules/Platform/Windows-Intel-Fortran.cmake
deleted file mode 100644
index 1b93db8..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-Intel-Fortran.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-include(Platform/Windows-Intel)
-set(CMAKE_BUILD_TYPE_INIT Debug)
-set(_COMPILE_Fortran " /fpp")
-set(CMAKE_Fortran_MODDIR_FLAG "-module:")
-set(CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
-__windows_compiler_intel(Fortran)
-set (CMAKE_Fortran_FLAGS_INIT "/W1 /nologo /fpp /libs:dll /threads")
-set (CMAKE_Fortran_FLAGS_DEBUG_INIT "/Od /debug:full /dbglibs")
-set (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/O1 /DNDEBUG")
-set (CMAKE_Fortran_FLAGS_RELEASE_INIT "/O2 /DNDEBUG")
-set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/O2 /debug:full /DNDEBUG")
diff --git a/share/cmake-3.6/Modules/Platform/Windows-Intel.cmake b/share/cmake-3.6/Modules/Platform/Windows-Intel.cmake
deleted file mode 100644
index 34e6b37..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-Intel.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#=============================================================================
-# Copyright 2002-2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__WINDOWS_INTEL)
-  return()
-endif()
-set(__WINDOWS_INTEL 1)
-
-include(Platform/Windows-MSVC)
-macro(__windows_compiler_intel lang)
-  __windows_compiler_msvc(${lang})
-  string(REPLACE "<CMAKE_LINKER> /lib" "lib" CMAKE_${lang}_CREATE_STATIC_LIBRARY "${CMAKE_${lang}_CREATE_STATIC_LIBRARY}")
-  foreach(rule CREATE_SHARED_LIBRARY CREATE_SHARED_MODULE LINK_EXECUTABLE)
-    string(REPLACE "<CMAKE_LINKER>" "xilink" CMAKE_${lang}_${rule} "${CMAKE_${lang}_${rule}}")
-  endforeach()
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-MSVC.cmake b/share/cmake-3.6/Modules/Platform/Windows-MSVC.cmake
deleted file mode 100644
index 6c254ed..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-MSVC.cmake
+++ /dev/null
@@ -1,328 +0,0 @@
-
-#=============================================================================
-# Copyright 2001-2012 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This module is shared by multiple languages; use include blocker.
-if(__WINDOWS_MSVC)
-  return()
-endif()
-set(__WINDOWS_MSVC 1)
-
-set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
-set(CMAKE_LINK_LIBRARY_FLAG "")
-set(MSVC 1)
-
-# hack: if a new cmake (which uses CMAKE_LINKER) runs on an old build tree
-# (where link was hardcoded) and where CMAKE_LINKER isn't in the cache
-# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
-# hardcode CMAKE_LINKER here to link, so it behaves as it did before, Alex
-if(NOT DEFINED CMAKE_LINKER)
-   set(CMAKE_LINKER link)
-endif()
-
-if(CMAKE_VERBOSE_MAKEFILE)
-  set(CMAKE_CL_NOLOGO)
-else()
-  set(CMAKE_CL_NOLOGO "/nologo")
-endif()
-
-if(CMAKE_SYSTEM_NAME STREQUAL "WindowsCE")
-  set(CMAKE_CREATE_WIN32_EXE "/entry:WinMainCRTStartup")
-  set(CMAKE_CREATE_CONSOLE_EXE "/entry:mainACRTStartup")
-  set(_PLATFORM_LINK_FLAGS " /subsystem:windowsce")
-else()
-  set(CMAKE_CREATE_WIN32_EXE "/subsystem:windows")
-  set(CMAKE_CREATE_CONSOLE_EXE "/subsystem:console")
-  set(_PLATFORM_LINK_FLAGS "")
-endif()
-
-set(CMAKE_SUPPORT_WINDOWS_EXPORT_ALL_SYMBOLS 1)
-if(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
-  set (CMAKE_NO_BUILD_TYPE 1)
-endif()
-
-if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
-  set(MSVC_IDE 1)
-else()
-  set(MSVC_IDE 0)
-endif()
-
-if(NOT MSVC_VERSION)
-  if(CMAKE_C_SIMULATE_VERSION)
-    set(_compiler_version ${CMAKE_C_SIMULATE_VERSION})
-  elseif(CMAKE_CXX_SIMULATE_VERSION)
-    set(_compiler_version ${CMAKE_CXX_SIMULATE_VERSION})
-  elseif(CMAKE_Fortran_SIMULATE_VERSION)
-    set(_compiler_version ${CMAKE_Fortran_SIMULATE_VERSION})
-  elseif(CMAKE_C_COMPILER_VERSION)
-    set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
-  else()
-    set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
-  endif()
-  if("${_compiler_version}" MATCHES "^([0-9]+)\\.([0-9]+)")
-    math(EXPR MSVC_VERSION "${CMAKE_MATCH_1}*100 + ${CMAKE_MATCH_2}")
-  else()
-    message(FATAL_ERROR "MSVC compiler version not detected properly: ${_compiler_version}")
-  endif()
-
-  set(MSVC10)
-  set(MSVC11)
-  set(MSVC12)
-  set(MSVC14)
-  set(MSVC60)
-  set(MSVC70)
-  set(MSVC71)
-  set(MSVC80)
-  set(MSVC90)
-  set(CMAKE_COMPILER_2005)
-  set(CMAKE_COMPILER_SUPPORTS_PDBTYPE)
-  if(NOT "${_compiler_version}" VERSION_LESS 19)
-    set(MSVC14 1)
-  elseif(NOT "${_compiler_version}" VERSION_LESS 18)
-    set(MSVC12 1)
-  elseif(NOT "${_compiler_version}" VERSION_LESS 17)
-    set(MSVC11 1)
-  elseif(NOT  "${_compiler_version}" VERSION_LESS 16)
-    set(MSVC10 1)
-  elseif(NOT  "${_compiler_version}" VERSION_LESS 15)
-    set(MSVC90 1)
-  elseif(NOT  "${_compiler_version}" VERSION_LESS 14)
-    set(MSVC80 1)
-    set(CMAKE_COMPILER_2005 1)
-  elseif(NOT  "${_compiler_version}" VERSION_LESS 13.10)
-    set(MSVC71 1)
-  elseif(NOT  "${_compiler_version}" VERSION_LESS 13)
-    set(MSVC70 1)
-  else()
-    set(MSVC60 1)
-    set(CMAKE_COMPILER_SUPPORTS_PDBTYPE 1)
-  endif()
-endif()
-
-if(MSVC_C_ARCHITECTURE_ID MATCHES 64 OR MSVC_CXX_ARCHITECTURE_ID MATCHES 64)
-  set(CMAKE_CL_64 1)
-else()
-  set(CMAKE_CL_64 0)
-endif()
-if(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
-  set(CMAKE_CL_64 1)
-endif()
-
-if("${MSVC_VERSION}" GREATER 1599)
-  set(MSVC_INCREMENTAL_DEFAULT ON)
-endif()
-
-# default to Debug builds
-set(CMAKE_BUILD_TYPE_INIT Debug)
-
-# Compute an architecture family from the architecture id.
-foreach(lang C CXX)
-  set(_MSVC_${lang}_ARCHITECTURE_FAMILY "${MSVC_${lang}_ARCHITECTURE_ID}")
-  if(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^ARM")
-    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "ARM")
-  elseif(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^SH")
-    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "SHx")
-  endif()
-endforeach()
-
-if(WINCE)
-  foreach(lang C CXX)
-    string(TOUPPER "${_MSVC_${lang}_ARCHITECTURE_FAMILY}" _MSVC_${lang}_ARCHITECTURE_FAMILY_UPPER)
-  endforeach()
-
-  if("${CMAKE_SYSTEM_VERSION}" MATCHES "^([0-9]+)\\.([0-9]+)")
-    math(EXPR _CE_VERSION "${CMAKE_MATCH_1}*100 + ${CMAKE_MATCH_2}")
-  elseif("${CMAKE_SYSTEM_VERSION}" STREQUAL "")
-    set(_CE_VERSION "500")
-  else()
-    message(FATAL_ERROR "Invalid Windows CE version: ${CMAKE_SYSTEM_VERSION}")
-  endif()
-
-  set(_PLATFORM_DEFINES "/D_WIN32_WCE=0x${_CE_VERSION} /DUNDER_CE /DWINCE")
-  set(_PLATFORM_DEFINES_C " /D${_MSVC_C_ARCHITECTURE_FAMILY} /D_${_MSVC_C_ARCHITECTURE_FAMILY_UPPER}_")
-  set(_PLATFORM_DEFINES_CXX " /D${_MSVC_CXX_ARCHITECTURE_FAMILY} /D_${_MSVC_CXX_ARCHITECTURE_FAMILY_UPPER}_")
-
-  set(_RTC1 "")
-  set(_FLAGS_C "")
-  set(_FLAGS_CXX " /GR /EHsc")
-
-  foreach(lang C CXX)
-    if(_MSVC_${lang}_ARCHITECTURE_FAMILY STREQUAL "ARM")
-      set(_PLATFORM_DEFINES_${lang} "${_PLATFORM_DEFINES_${lang}} /D${MSVC_${lang}_ARCHITECTURE_ID}")
-      if(MSVC_${lang}_ARCHITECTURE_ID MATCHES "^ARMV([45])I$")
-        set(_FLAGS_${lang} "${_FLAGS_${lang}} /QRarch${CMAKE_MATCH_1}T")
-      endif()
-    endif()
-  endforeach()
-
-  set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
-  set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
-
-  if (MSVC_VERSION LESS 1600)
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT} corelibc.lib")
-  endif ()
-elseif(WINDOWS_PHONE OR WINDOWS_STORE)
-  set(_PLATFORM_DEFINES "/DWIN32")
-  set(_FLAGS_C " /DUNICODE /D_UNICODE")
-  set(_FLAGS_CXX " /DUNICODE /D_UNICODE /GR /EHsc")
-  if(WINDOWS_STORE AND MSVC_VERSION GREATER 1899)
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "WindowsApp.lib")
-  elseif(WINDOWS_PHONE)
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib")
-  elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
-  else()
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib")
-  endif()
-else()
-  set(_PLATFORM_DEFINES "/DWIN32")
-
-  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_.*")
-      # Clang/C2 in MSVC14 Update 1 seems to not support -fsantinize (yet?)
-      # set(_RTC1 "-fsantinize=memory,safe-stack")
-      set(_FLAGS_CXX " -frtti -fexceptions")
-    else()
-      set(_RTC1 "/RTC1")
-      set(_FLAGS_CXX " /GR /EHsc")
-    endif()
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib")
-  else()
-    set(_RTC1 "/GZ")
-    set(_FLAGS_CXX " /GR /GX")
-    set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib")
-  endif()
-
-  if(MSVC_VERSION LESS 1310)
-    set(_FLAGS_C   " /Zm1000${_FLAGS_C}")
-    set(_FLAGS_CXX " /Zm1000${_FLAGS_CXX}")
-  endif()
-endif()
-
-set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
-
-# executable linker flags
-set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
-# set the machine type
-if(MSVC_C_ARCHITECTURE_ID)
-  if(MSVC_C_ARCHITECTURE_ID MATCHES "^ARMV.I")
-    set(_MACHINE_ARCH_FLAG "/machine:THUMB")
-  elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM")
-    set(_MACHINE_ARCH_FLAG "/machine:ARM")
-  else()
-    set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
-  endif()
-elseif(MSVC_CXX_ARCHITECTURE_ID)
-  if(MSVC_CXX_ARCHITECTURE_ID MATCHES "^ARMV.I")
-    set(_MACHINE_ARCH_FLAG "/machine:THUMB")
-  elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
-    set(_MACHINE_ARCH_FLAG "/machine:ARM")
-  else()
-    set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
-  endif()
-elseif(MSVC_Fortran_ARCHITECTURE_ID)
-  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
-endif()
-set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} ${_MACHINE_ARCH_FLAG}")
-set(CMAKE_STATIC_LINKER_FLAGS_INIT "${CMAKE_STATIC_LINKER_FLAGS_INIT} ${_MACHINE_ARCH_FLAG}")
-unset(_MACHINE_ARCH_FLAG)
-
-# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
-# on versions that support it
-set( MSVC_INCREMENTAL_YES_FLAG "")
-if(NOT WINDOWS_PHONE AND NOT WINDOWS_STORE)
-  if(NOT MSVC_INCREMENTAL_DEFAULT)
-    set( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:YES")
-  else()
-    set(  MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL" )
-  endif()
-endif()
-
-if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
-  set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
-  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
-else ()
-  set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
-  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
-endif ()
-# for release and minsize release default to no incremental linking
-set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT "/INCREMENTAL:NO")
-set(CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "/INCREMENTAL:NO")
-
-# copy the EXE_LINKER flags to SHARED and MODULE linker flags
-# shared linker flags
-set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
-# module linker flags
-set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
-
-macro(__windows_compiler_msvc lang)
-  if(NOT MSVC_VERSION LESS 1400)
-    # for 2005 make sure the manifest is put in the dll with mt
-    set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
-    set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
-  endif()
-  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    "${_CMAKE_VS_LINK_DLL}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-
-  set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
-  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY  "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
-
-  set(CMAKE_${lang}_COMPILE_OBJECT
-    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <INCLUDES> <FLAGS> /Fo<OBJECT> /Fd<TARGET_COMPILE_PDB>${_FS_${lang}} -c <SOURCE>${CMAKE_END_TEMP_FILE}")
-  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
-    "<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
-  set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE
-    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <INCLUDES> <FLAGS> /FoNUL /FAs /Fa<ASSEMBLY_SOURCE> /c <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "${_CMAKE_VS_LINK_EXE}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
-
-  if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
-    # note: MSVC 14 2015 Update 1 sets -fno-ms-compatibility by default, but this does not allow one to compile many projects
-    # that include MS's own headers. CMake itself is affected project too.
-    set(CMAKE_${lang}_FLAGS_INIT "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} -fms-extensions -fms-compatibility -D_WINDOWS -Wall${_FLAGS_${lang}}")
-    set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-D_DEBUG /MDd -gline-tables-only -fno-inline -O0 ${_RTC1}")
-    set(CMAKE_${lang}_FLAGS_RELEASE_INIT "/MD -O2 -DNDEBUG")
-    set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "/MD -gline-tables-only -O2 -fno-inline -DNDEBUG")
-    set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/MD -DNDEBUG") # TODO: Add '-Os' once VS generator maps it properly for Clang
-  else()
-    set(CMAKE_${lang}_FLAGS_INIT "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} /D_WINDOWS /W3${_FLAGS_${lang}}")
-    set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od ${_RTC1}")
-    set(CMAKE_${lang}_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /DNDEBUG")
-    set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /DNDEBUG")
-    set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /DNDEBUG")
-  endif()
-  set(CMAKE_${lang}_LINKER_SUPPORTS_PDB ON)
-  set(CMAKE_NINJA_DEPTYPE_${lang} msvc)
-
-  if(NOT CMAKE_RC_COMPILER_INIT)
-    set(CMAKE_RC_COMPILER_INIT rc)
-  endif()
-  if(NOT CMAKE_RC_FLAGS_INIT)
-    set(CMAKE_RC_FLAGS_INIT "${_PLATFORM_DEFINES} ${_PLATFORM_DEFINES_${lang}}")
-  endif()
-
-  enable_language(RC)
-  set(CMAKE_NINJA_CMCLDEPS_RC 1)
-endmacro()
diff --git a/share/cmake-3.6/Modules/Platform/Windows-NMcl.cmake b/share/cmake-3.6/Modules/Platform/Windows-NMcl.cmake
deleted file mode 100644
index 7add0b0..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-NMcl.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-# this is for the numega compiler which is really a front
-# end for visual studio, but adds memory checking code.
-
-include(Platform/Windows-cl)
diff --git a/share/cmake-3.6/Modules/Platform/Windows-df.cmake b/share/cmake-3.6/Modules/Platform/Windows-df.cmake
deleted file mode 100644
index b31cb11..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-df.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-# compiler support for fortran CVF compiler on windows
-
-set(CMAKE_WINDOWS_OBJECT_PATH 1)
-set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
-set(CMAKE_LINK_LIBRARY_FLAG "")
-set(WIN32 1)
-if(CMAKE_VERBOSE_MAKEFILE)
-  set(CMAKE_CL_NOLOGO)
-else()
-  set(CMAKE_CL_NOLOGO "/nologo")
-endif()
-
-set(CMAKE_Fortran_MODDIR_FLAG "-module:")
-
-set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
- "link ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE}  /out:<TARGET> /dll  <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-
-set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
-
-# create a C++ static library
-set(CMAKE_Fortran_CREATE_STATIC_LIBRARY  "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
-
-# compile a C++ file into an object file
-set(CMAKE_Fortran_COMPILE_OBJECT
-    "<CMAKE_Fortran_COMPILER>  ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /object:<OBJECT> <FLAGS> /compile_only <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-set(CMAKE_Fortran_LINK_EXECUTABLE
-    "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /exe:<TARGET> <OBJECTS> /link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
-
-set(CMAKE_CREATE_WIN32_EXE /winapp)
-set(CMAKE_CREATE_CONSOLE_EXE )
-
-if(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
-  set (CMAKE_NO_BUILD_TYPE 1)
-endif()
-# does the compiler support pdbtype and is it the newer compiler
-
-set(CMAKE_BUILD_TYPE_INIT Debug)
-set (CMAKE_Fortran_FLAGS_INIT "")
-set (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
-set (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/Optimize:2 /Define:NDEBUG")
-set (CMAKE_Fortran_FLAGS_RELEASE_INIT "/Optimize:1 /Define:NDEBUG")
-set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/Optimize:1 /debug:full /Define:NDEBUG")
-
-set (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
-
-# executable linker flags
-set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
-set (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
-if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
-  set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
-  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
-else ()
-  set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
-  set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
-endif ()
-
-set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
diff --git a/share/cmake-3.6/Modules/Platform/Windows-wcl386.cmake b/share/cmake-3.6/Modules/Platform/Windows-wcl386.cmake
deleted file mode 100644
index 3bc5444..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows-wcl386.cmake
+++ /dev/null
@@ -1,119 +0,0 @@
-set(CMAKE_LIBRARY_PATH_FLAG "libpath ")
-set(CMAKE_LINK_LIBRARY_FLAG "library ")
-set(CMAKE_LINK_LIBRARY_FILE_FLAG "library")
-
-if(CMAKE_VERBOSE_MAKEFILE)
-  set(CMAKE_WCL_QUIET)
-  set(CMAKE_WLINK_QUIET)
-  set(CMAKE_LIB_QUIET)
-else()
-  set(CMAKE_WCL_QUIET "-zq")
-  set(CMAKE_WLINK_QUIET "option quiet")
-  set(CMAKE_LIB_QUIET "-q")
-endif()
-
-set(CMAKE_EXE_LINKER_FLAGS_INIT)
-set(CMAKE_CREATE_WIN32_EXE "system nt_win" )
-set(CMAKE_CREATE_CONSOLE_EXE "system nt" )
-set(CMAKE_SHARED_LINKER_FLAGS_INIT "system nt_dll")
-set(CMAKE_MODULE_LINKER_FLAGS_INIT "system nt_dll")
-foreach(type SHARED MODULE EXE)
-  set(CMAKE_${type}_LINKER_FLAGS_DEBUG_INIT "debug all opt map")
-  set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO_INIT "debug all opt map")
-endforeach()
-
-set(CMAKE_C_COMPILE_OPTIONS_DLL "-bd") # Note: This variable is a ';' separated list
-set(CMAKE_SHARED_LIBRARY_C_FLAGS "-bd") # ... while this is a space separated string.
-
-set(CMAKE_RC_COMPILER "rc" )
-
-set(CMAKE_BUILD_TYPE_INIT Debug)
-
-# single/multi-threaded                 /-bm
-# static/DLL run-time libraries         /-br
-# default is setup for multi-threaded + DLL run-time libraries
-set (CMAKE_C_FLAGS_INIT "-bt=nt -w3 -dWIN32 -br -bm")
-set (CMAKE_CXX_FLAGS_INIT "-bt=nt -xs -w3 -dWIN32 -br -bm")
-foreach(lang C CXX)
-  set (CMAKE_${lang}_FLAGS_DEBUG_INIT "-d2")
-  set (CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-s -os -d0 -dNDEBUG")
-  set (CMAKE_${lang}_FLAGS_RELEASE_INIT "-s -ot -d0 -dNDEBUG")
-  set (CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-s -ot -d1 -dNDEBUG")
-endforeach()
-
-foreach(type CREATE_SHARED_LIBRARY CREATE_SHARED_MODULE LINK_EXECUTABLE)
-  set(CMAKE_C_${type}_USE_WATCOM_QUOTE 1)
-  set(CMAKE_CXX_${type}_USE_WATCOM_QUOTE 1)
-endforeach()
-
-set(CMAKE_C_CREATE_IMPORT_LIBRARY
-  "wlib -c -q -n -b <TARGET_IMPLIB> +<TARGET_QUOTED>")
-set(CMAKE_CXX_CREATE_IMPORT_LIBRARY ${CMAKE_C_CREATE_IMPORT_LIBRARY})
-
-set(CMAKE_C_LINK_EXECUTABLE
-    "wlink ${CMAKE_START_TEMP_FILE} ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-
-
-set(CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE})
-
-# compile a C++ file into an object file
-set(CMAKE_CXX_COMPILE_OBJECT
-    "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<OBJECT> -c -cc++ <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-# compile a C file into an object file
-set(CMAKE_C_COMPILE_OBJECT
-    "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<OBJECT> -c -cc <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-# preprocess a C source file
-set(CMAKE_C_CREATE_PREPROCESSED_SOURCE
-    "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<PREPROCESSED_SOURCE> -pl -cc <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-# preprocess a C++ source file
-set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE
-    "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo<PREPROCESSED_SOURCE> -pl -cc++ <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-set(CMAKE_CXX_CREATE_SHARED_LIBRARY
- "wlink ${CMAKE_START_TEMP_FILE} ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> option implib=<TARGET_IMPLIB> file {<OBJECTS>} <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-string(REPLACE " option implib=<TARGET_IMPLIB>" ""
-  CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-
-# create a C shared library
-set(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
-
-# create a C shared module
-set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_MODULE})
-
-# create a C++ static library
-set(CMAKE_CXX_CREATE_STATIC_LIBRARY  "wlib ${CMAKE_LIB_QUIET} -c -n -b <TARGET_QUOTED> <LINK_FLAGS> <OBJECTS> ")
-
-# create a C static library
-set(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})
-
-if(NOT _CMAKE_WATCOM_VERSION)
-  set(_CMAKE_WATCOM_VERSION 1)
-  if(CMAKE_C_COMPILER_VERSION)
-    set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
-    set(_compiler_id ${CMAKE_C_COMPILER_ID})
-  else()
-    set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
-    set(_compiler_id ${CMAKE_CXX_COMPILER_ID})
-  endif()
-  set(WATCOM16)
-  set(WATCOM17)
-  set(WATCOM18)
-  set(WATCOM19)
-  if("${_compiler_id}" STREQUAL "OpenWatcom")
-    if("${_compiler_version}" VERSION_LESS 1.7)
-      set(WATCOM16 1)
-    endif()
-    if("${_compiler_version}" VERSION_EQUAL 1.7)
-      set(WATCOM17 1)
-    endif()
-    if("${_compiler_version}" VERSION_EQUAL 1.8)
-      set(WATCOM18 1)
-    endif()
-    if("${_compiler_version}" VERSION_EQUAL 1.9)
-      set(WATCOM19 1)
-    endif()
-  endif()
-endif()
diff --git a/share/cmake-3.6/Modules/Platform/Windows.cmake b/share/cmake-3.6/Modules/Platform/Windows.cmake
deleted file mode 100644
index 9a937a7..0000000
--- a/share/cmake-3.6/Modules/Platform/Windows.cmake
+++ /dev/null
@@ -1,44 +0,0 @@
-set(WIN32 1)
-
-if(CMAKE_SYSTEM_NAME STREQUAL "WindowsCE")
-  set(WINCE 1)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone")
-  set(WINDOWS_PHONE 1)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
-  set(WINDOWS_STORE 1)
-endif()
-
-set(CMAKE_STATIC_LIBRARY_PREFIX "")
-set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
-set(CMAKE_SHARED_LIBRARY_PREFIX "")          # lib
-set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")          # .so
-set(CMAKE_IMPORT_LIBRARY_PREFIX "")
-set(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
-set(CMAKE_EXECUTABLE_SUFFIX ".exe")          # .exe
-set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
-set(CMAKE_DL_LIBS "")
-
-set(CMAKE_FIND_LIBRARY_PREFIXES "")
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
-
-# for borland make long command lines are redirected to a file
-# with the following syntax, see Windows-bcc32.cmake for use
-if(CMAKE_GENERATOR MATCHES "Borland")
-  set(CMAKE_START_TEMP_FILE "@&&|\n")
-  set(CMAKE_END_TEMP_FILE "\n|")
-endif()
-
-# for nmake make long command lines are redirected to a file
-# with the following syntax, see Windows-bcc32.cmake for use
-if(CMAKE_GENERATOR MATCHES "NMake")
-  set(CMAKE_START_TEMP_FILE "@<<\n")
-  set(CMAKE_END_TEMP_FILE "\n<<")
-endif()
-
-include(Platform/WindowsPaths)
-
-# uncomment these out to debug nmake and borland makefiles
-#set(CMAKE_START_TEMP_FILE "")
-#set(CMAKE_END_TEMP_FILE "")
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
diff --git a/share/cmake-3.6/Modules/Platform/WindowsPaths.cmake b/share/cmake-3.6/Modules/Platform/WindowsPaths.cmake
deleted file mode 100644
index eafa8fa..0000000
--- a/share/cmake-3.6/Modules/Platform/WindowsPaths.cmake
+++ /dev/null
@@ -1,102 +0,0 @@
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Block multiple inclusion because "CMakeCInformation.cmake" includes
-# "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module
-# "CMakeSystemSpecificInformation.cmake" already included it.
-# The extra inclusion is a work-around documented next to the include()
-# call, so this can be removed when the work-around is removed.
-if(__WINDOWS_PATHS_INCLUDED)
-  return()
-endif()
-set(__WINDOWS_PATHS_INCLUDED 1)
-
-# Add the program-files folder(s) to the list of installation
-# prefixes.
-#
-# Windows 64-bit Binary:
-#   ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
-#   ENV{ProgramFiles} = [C:\Program Files]
-#   ENV{ProgramW6432} = [C:\Program Files] or <not set>
-#
-# Windows 32-bit Binary on 64-bit Windows:
-#   ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
-#   ENV{ProgramFiles} = [C:\Program Files (x86)]
-#   ENV{ProgramW6432} = [C:\Program Files]
-set(_programfiles "")
-foreach(v "ProgramW6432" "ProgramFiles" "ProgramFiles(x86)")
-  if(DEFINED "ENV{${v}}")
-    file(TO_CMAKE_PATH "$ENV{${v}}" _env_programfiles)
-    list(APPEND _programfiles "${_env_programfiles}")
-    unset(_env_programfiles)
-  endif()
-endforeach()
-if(DEFINED "ENV{SystemDrive}")
-  foreach(d "Program Files" "Program Files (x86)")
-    if(EXISTS "$ENV{SystemDrive}/${d}")
-      list(APPEND _programfiles "$ENV{SystemDrive}/${d}")
-    endif()
-  endforeach()
-endif()
-if(_programfiles)
-  list(REMOVE_DUPLICATES _programfiles)
-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${_programfiles})
-endif()
-unset(_programfiles)
-
-# Add the CMake install location.
-get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
-get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
-
-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
-  # Add other locations.
-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-    # Project install destination.
-    "${CMAKE_INSTALL_PREFIX}"
-    )
-  if (CMAKE_STAGING_PREFIX)
-    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-      # User-supplied staging prefix.
-      "${CMAKE_STAGING_PREFIX}"
-    )
-  endif()
-endif()
-
-if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
-  # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
-endif()
-
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
-  )
-
-# mingw can also link against dlls which can also be in /bin, so list this too
-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
-  list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
-    "${CMAKE_INSTALL_PREFIX}/bin"
-  )
-  if (CMAKE_STAGING_PREFIX)
-    list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
-      "${CMAKE_STAGING_PREFIX}/bin"
-    )
-  endif()
-endif()
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
-  "${_CMAKE_INSTALL_DIR}/bin"
-  /bin
-  )
-
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
-  )
diff --git a/share/cmake-3.6/Modules/ProcessorCount.cmake b/share/cmake-3.6/Modules/ProcessorCount.cmake
deleted file mode 100644
index 2c5d5ae..0000000
--- a/share/cmake-3.6/Modules/ProcessorCount.cmake
+++ /dev/null
@@ -1,244 +0,0 @@
-#.rst:
-# ProcessorCount
-# --------------
-#
-# ProcessorCount(var)
-#
-# Determine the number of processors/cores and save value in ${var}
-#
-# Sets the variable named ${var} to the number of physical cores
-# available on the machine if the information can be determined.
-# Otherwise it is set to 0.  Currently this functionality is implemented
-# for AIX, cygwin, FreeBSD, HPUX, IRIX, Linux, Mac OS X, QNX, Sun and
-# Windows.
-#
-# This function is guaranteed to return a positive integer (>=1) if it
-# succeeds.  It returns 0 if there's a problem determining the processor
-# count.
-#
-# Example use, in a ctest -S dashboard script:
-#
-# ::
-#
-#    include(ProcessorCount)
-#    ProcessorCount(N)
-#    if(NOT N EQUAL 0)
-#      set(CTEST_BUILD_FLAGS -j${N})
-#      set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
-#    endif()
-#
-#
-#
-# This function is intended to offer an approximation of the value of
-# the number of compute cores available on the current machine, such
-# that you may use that value for parallel building and parallel
-# testing.  It is meant to help utilize as much of the machine as seems
-# reasonable.  Of course, knowledge of what else might be running on the
-# machine simultaneously should be used when deciding whether to request
-# a machine's full capacity all for yourself.
-
-# A more reliable way might be to compile a small C program that uses the CPUID
-# instruction, but that again requires compiler support or compiling assembler
-# code.
-
-#=============================================================================
-# Copyright 2010-2011 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-function(ProcessorCount var)
-  # Unknown:
-  set(count 0)
-
-  if(WIN32)
-    # Windows:
-    set(count "$ENV{NUMBER_OF_PROCESSORS}")
-    #message("ProcessorCount: WIN32, trying environment variable")
-  endif()
-
-  if(NOT count)
-    # Mac, FreeBSD, OpenBSD (systems with sysctl):
-    find_program(ProcessorCount_cmd_sysctl sysctl
-      PATHS /usr/sbin /sbin)
-    mark_as_advanced(ProcessorCount_cmd_sysctl)
-    if(ProcessorCount_cmd_sysctl)
-      execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE count)
-      #message("ProcessorCount: trying sysctl '${ProcessorCount_cmd_sysctl}'")
-    endif()
-  endif()
-
-  if(NOT count)
-    # Linux (systems with getconf):
-    find_program(ProcessorCount_cmd_getconf getconf)
-    mark_as_advanced(ProcessorCount_cmd_getconf)
-    if(ProcessorCount_cmd_getconf)
-      execute_process(COMMAND ${ProcessorCount_cmd_getconf} _NPROCESSORS_ONLN
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE count)
-      #message("ProcessorCount: trying getconf '${ProcessorCount_cmd_getconf}'")
-    endif()
-  endif()
-
-  if(NOT count)
-    # HPUX (systems with machinfo):
-    find_program(ProcessorCount_cmd_machinfo machinfo
-      PATHS /usr/contrib/bin)
-    mark_as_advanced(ProcessorCount_cmd_machinfo)
-    if(ProcessorCount_cmd_machinfo)
-      execute_process(COMMAND ${ProcessorCount_cmd_machinfo}
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE machinfo_output)
-      string(REGEX MATCHALL "Number of CPUs = ([0-9]+)" procs "${machinfo_output}")
-      set(count "${CMAKE_MATCH_1}")
-      if(NOT count)
-        string(REGEX MATCHALL "([0-9]+) logical processors" procs "${machinfo_output}")
-        set(count "${CMAKE_MATCH_1}")
-      endif()
-      #message("ProcessorCount: trying machinfo '${ProcessorCount_cmd_machinfo}'")
-    else()
-      find_program(ProcessorCount_cmd_mpsched mpsched)
-      mark_as_advanced(ProcessorCount_cmd_mpsched)
-      if(ProcessorCount_cmd_mpsched)
-        execute_process(COMMAND ${ProcessorCount_cmd_mpsched} -s
-          OUTPUT_QUIET
-          ERROR_STRIP_TRAILING_WHITESPACE
-          ERROR_VARIABLE mpsched_output)
-        string(REGEX MATCHALL "Processor Count *: *([0-9]+)" procs "${mpsched_output}")
-        set(count "${CMAKE_MATCH_1}")
-        #message("ProcessorCount: trying mpsched -s '${ProcessorCount_cmd_mpsched}'")
-      endif()
-    endif()
-  endif()
-
-  if(NOT count)
-    # IRIX (systems with hinv):
-    find_program(ProcessorCount_cmd_hinv hinv
-      PATHS /sbin)
-    mark_as_advanced(ProcessorCount_cmd_hinv)
-    if(ProcessorCount_cmd_hinv)
-      execute_process(COMMAND ${ProcessorCount_cmd_hinv}
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE hinv_output)
-      string(REGEX MATCHALL "([0-9]+) .* Processors" procs "${hinv_output}")
-      set(count "${CMAKE_MATCH_1}")
-      #message("ProcessorCount: trying hinv '${ProcessorCount_cmd_hinv}'")
-    endif()
-  endif()
-
-  if(NOT count)
-    # AIX (systems with lsconf):
-    find_program(ProcessorCount_cmd_lsconf lsconf
-      PATHS /usr/sbin)
-    mark_as_advanced(ProcessorCount_cmd_lsconf)
-    if(ProcessorCount_cmd_lsconf)
-      execute_process(COMMAND ${ProcessorCount_cmd_lsconf}
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE lsconf_output)
-      string(REGEX MATCHALL "Number Of Processors: ([0-9]+)" procs "${lsconf_output}")
-      set(count "${CMAKE_MATCH_1}")
-      #message("ProcessorCount: trying lsconf '${ProcessorCount_cmd_lsconf}'")
-    endif()
-  endif()
-
-  if(NOT count)
-    # QNX (systems with pidin):
-    find_program(ProcessorCount_cmd_pidin pidin)
-    mark_as_advanced(ProcessorCount_cmd_pidin)
-    if(ProcessorCount_cmd_pidin)
-      execute_process(COMMAND ${ProcessorCount_cmd_pidin} info
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE pidin_output)
-      string(REGEX MATCHALL "Processor[0-9]+: " procs "${pidin_output}")
-      list(LENGTH procs count)
-      #message("ProcessorCount: trying pidin '${ProcessorCount_cmd_pidin}'")
-    endif()
-  endif()
-
-  if(NOT count)
-    # Sun (systems where psrinfo tool is available)
-    find_program(ProcessorCount_cmd_psrinfo psrinfo PATHS /usr/sbin /sbin)
-    mark_as_advanced(ProcessorCount_cmd_psrinfo)
-    if (ProcessorCount_cmd_psrinfo)
-      execute_process(COMMAND ${ProcessorCount_cmd_psrinfo} -p -v
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE psrinfo_output)
-      string(REGEX MATCH "([0-9]+) virtual processor" procs "${psrinfo_output}")
-      set(count "${CMAKE_MATCH_1}")
-      #message("ProcessorCount: trying psrinfo -p -v '${ProcessorCount_cmd_prvinfo}'")
-    else()
-      # Sun (systems where uname -X emits "NumCPU" in its output):
-      find_program(ProcessorCount_cmd_uname uname)
-      mark_as_advanced(ProcessorCount_cmd_uname)
-      if(ProcessorCount_cmd_uname)
-        execute_process(COMMAND ${ProcessorCount_cmd_uname} -X
-          ERROR_QUIET
-          OUTPUT_STRIP_TRAILING_WHITESPACE
-          OUTPUT_VARIABLE uname_X_output)
-        string(REGEX MATCHALL "NumCPU = ([0-9]+)" procs "${uname_X_output}")
-        set(count "${CMAKE_MATCH_1}")
-        #message("ProcessorCount: trying uname -X '${ProcessorCount_cmd_uname}'")
-      endif()
-    endif()
-  endif()
-
-  # Execute this code when all previously attempted methods return empty
-  # output:
-  #
-  if(NOT count)
-    # Systems with /proc/cpuinfo:
-    set(cpuinfo_file /proc/cpuinfo)
-    if(EXISTS "${cpuinfo_file}")
-      file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$")
-      list(LENGTH procs count)
-      #message("ProcessorCount: trying cpuinfo '${cpuinfo_file}'")
-    endif()
-  endif()
-
-  if(NOT count)
-    # Haiku
-    find_program(ProcessorCount_cmd_sysinfo sysinfo)
-    if(ProcessorCount_cmd_sysinfo)
-      execute_process(COMMAND ${ProcessorCount_cmd_sysinfo}
-        ERROR_QUIET
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE sysinfo_X_output)
-      string(REGEX MATCHALL "\nCPU #[0-9]+:" procs "\n${sysinfo_X_output}")
-      list(LENGTH procs count)
-      #message("ProcessorCount: trying sysinfo '${ProcessorCount_cmd_sysinfo}'")
-    endif()
-  endif()
-
-  # Since cygwin builds of CMake do not define WIN32 anymore, but they still
-  # run on Windows, and will still have this env var defined:
-  #
-  if(NOT count)
-    set(count "$ENV{NUMBER_OF_PROCESSORS}")
-    #message("ProcessorCount: last fallback, trying environment variable")
-  endif()
-
-  # Ensure an integer return (avoid inadvertently returning an empty string
-  # or an error string)... If it's not a decimal integer, return 0:
-  #
-  if(NOT count MATCHES "^[0-9]+$")
-    set(count 0)
-  endif()
-
-  set(${var} ${count} PARENT_SCOPE)
-endfunction()
diff --git a/share/cmake-3.6/Modules/Qt4ConfigDependentSettings.cmake b/share/cmake-3.6/Modules/Qt4ConfigDependentSettings.cmake
deleted file mode 100644
index 03fb844..0000000
--- a/share/cmake-3.6/Modules/Qt4ConfigDependentSettings.cmake
+++ /dev/null
@@ -1,301 +0,0 @@
-#.rst:
-# Qt4ConfigDependentSettings
-# --------------------------
-#
-#
-#
-# This file is included by FindQt4.cmake, don't include it directly.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-###############################################
-#
-#       configuration/system dependent settings
-#
-###############################################
-
-# find dependencies for some Qt modules
-# when doing builds against a static Qt, they are required
-# when doing builds against a shared Qt, they are not required
-# if a user needs the dependencies, and they couldn't be found, they can set
-# the variables themselves.
-
-set(QT_QTGUI_LIB_DEPENDENCIES "")
-set(QT_QTCORE_LIB_DEPENDENCIES "")
-set(QT_QTNETWORK_LIB_DEPENDENCIES "")
-set(QT_QTOPENGL_LIB_DEPENDENCIES "")
-set(QT_QTDBUS_LIB_DEPENDENCIES "")
-set(QT_QTHELP_LIB_DEPENDENCIES ${QT_QTCLUCENE_LIBRARY})
-
-
-if(Q_WS_WIN)
-  # On Windows, qconfig.pri has "shared" for shared library builds
-  if(NOT QT_CONFIG MATCHES "shared")
-    set(QT_IS_STATIC 1)
-  endif()
-else()
-  # On other platforms, check file extension to know if its static
-  if(QT_QTCORE_LIBRARY_RELEASE)
-    get_filename_component(qtcore_lib_ext "${QT_QTCORE_LIBRARY_RELEASE}" EXT)
-    if("${qtcore_lib_ext}" STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}")
-      set(QT_IS_STATIC 1)
-    endif()
-  endif()
-  if(QT_QTCORE_LIBRARY_DEBUG)
-    get_filename_component(qtcore_lib_ext "${QT_QTCORE_LIBRARY_DEBUG}" EXT)
-    if(${qtcore_lib_ext} STREQUAL ${CMAKE_STATIC_LIBRARY_SUFFIX})
-      set(QT_IS_STATIC 1)
-    endif()
-  endif()
-endif()
-
-# build using shared Qt needs -DQT_DLL on Windows
-if(Q_WS_WIN  AND  NOT QT_IS_STATIC)
-  set(QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_DLL)
-endif()
-
-if(NOT QT_IS_STATIC)
-  return()
-endif()
-
-# QtOpenGL dependencies
-find_package(OpenGL)
-set (QT_QTOPENGL_LIB_DEPENDENCIES ${OPENGL_glu_LIBRARY} ${OPENGL_gl_LIBRARY})
-
-
-## system png
-if(QT_QCONFIG MATCHES "system-png")
-  find_package(PNG)
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${PNG_LIBRARY})
-endif()
-
-## system jpeg
-if(QT_QCONFIG MATCHES "system-jpeg")
-  find_package(JPEG)
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${JPEG_LIBRARIES})
-endif()
-
-## system tiff
-if(QT_QCONFIG MATCHES "system-tiff")
-  find_package(TIFF)
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${TIFF_LIBRARIES})
-endif()
-
-## system mng
-if(QT_QCONFIG MATCHES "system-mng")
-  find_library(MNG_LIBRARY NAMES mng)
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${MNG_LIBRARY})
-endif()
-
-# for X11, get X11 library directory
-if(Q_WS_X11)
-  find_package(X11)
-endif()
-
-
-## X11 SM
-if(QT_QCONFIG MATCHES "x11sm")
-  if(X11_SM_LIB AND X11_ICE_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_SM_LIB} ${X11_ICE_LIB})
-  endif()
-endif()
-
-
-## Xi
-if(QT_QCONFIG MATCHES "tablet")
-  if(X11_Xi_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xi_LIB})
-  endif()
-endif()
-
-
-## Xrender
-if(QT_QCONFIG MATCHES "xrender")
-  if(X11_Xrender_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrender_LIB})
-  endif()
-endif()
-
-
-## Xrandr
-if(QT_QCONFIG MATCHES "xrandr")
-  if(X11_Xrandr_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrandr_LIB})
-  endif()
-endif()
-
-
-## Xcursor
-if(QT_QCONFIG MATCHES "xcursor")
-  if(X11_Xcursor_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xcursor_LIB})
-  endif()
-endif()
-
-
-## Xinerama
-if(QT_QCONFIG MATCHES "xinerama")
-  if(X11_Xinerama_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xinerama_LIB})
-  endif()
-endif()
-
-
-## Xfixes
-if(QT_QCONFIG MATCHES "xfixes")
-  if(X11_Xfixes_LIB)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xfixes_LIB})
-  endif()
-endif()
-
-
-## fontconfig
-if(QT_QCONFIG MATCHES "fontconfig")
-  find_library(QT_FONTCONFIG_LIBRARY NAMES fontconfig)
-  mark_as_advanced(QT_FONTCONFIG_LIBRARY)
-  if(QT_FONTCONFIG_LIBRARY)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY})
-  endif()
-endif()
-
-
-## system-freetype
-if(QT_QCONFIG MATCHES "system-freetype")
-  find_package(Freetype)
-  if(FREETYPE_LIBRARIES)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${FREETYPE_LIBRARIES})
-  endif()
-endif()
-
-
-## system-zlib
-if(QT_QCONFIG MATCHES "system-zlib")
-  find_package(ZLIB)
-  set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${ZLIB_LIBRARIES})
-endif()
-
-
-## openssl
-if(NOT Q_WS_WIN)
-  set(_QT_NEED_OPENSSL 0)
-  if(QT_VERSION_MINOR LESS 4 AND QT_QCONFIG MATCHES "openssl")
-    set(_QT_NEED_OPENSSL 1)
-  endif()
-  if(QT_VERSION_MINOR GREATER 3 AND QT_QCONFIG MATCHES "openssl-linked")
-    set(_QT_NEED_OPENSSL 1)
-  endif()
-  if(_QT_NEED_OPENSSL)
-    find_package(OpenSSL)
-    if(OPENSSL_LIBRARIES)
-      set(QT_QTNETWORK_LIB_DEPENDENCIES ${QT_QTNETWORK_LIB_DEPENDENCIES} ${OPENSSL_LIBRARIES})
-    endif()
-  endif()
-endif()
-
-
-## dbus
-if(QT_QCONFIG MATCHES "dbus")
-
-  find_library(QT_DBUS_LIBRARY NAMES dbus-1 )
-  if(QT_DBUS_LIBRARY)
-    set(QT_QTDBUS_LIB_DEPENDENCIES ${QT_QTDBUS_LIB_DEPENDENCIES} ${QT_DBUS_LIBRARY})
-  endif()
-  mark_as_advanced(QT_DBUS_LIBRARY)
-
-endif()
-
-
-## glib
-if(QT_QCONFIG MATCHES "glib")
-
-  # Qt 4.2.0+ uses glib-2.0
-  find_library(QT_GLIB_LIBRARY NAMES glib-2.0 )
-  find_library(QT_GTHREAD_LIBRARY NAMES gthread-2.0 )
-  mark_as_advanced(QT_GLIB_LIBRARY)
-  mark_as_advanced(QT_GTHREAD_LIBRARY)
-
-  if(QT_GLIB_LIBRARY AND QT_GTHREAD_LIBRARY)
-    set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
-        ${QT_GTHREAD_LIBRARY} ${QT_GLIB_LIBRARY})
-  endif()
-
-
-  # Qt 4.5+ also links to gobject-2.0
-  if(QT_VERSION_MINOR GREATER 4)
-     find_library(QT_GOBJECT_LIBRARY NAMES gobject-2.0 PATHS ${_glib_query_output} )
-     mark_as_advanced(QT_GOBJECT_LIBRARY)
-
-     if(QT_GOBJECT_LIBRARY)
-       set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
-           ${QT_GOBJECT_LIBRARY})
-     endif()
-  endif()
-
-endif()
-
-
-## clock-monotonic, just see if we need to link with rt
-if(QT_QCONFIG MATCHES "clock-monotonic")
-  set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
-  set(CMAKE_REQUIRED_LIBRARIES rt)
-  CHECK_SYMBOL_EXISTS(_POSIX_TIMERS "unistd.h;time.h" QT_POSIX_TIMERS)
-  set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
-  if(QT_POSIX_TIMERS)
-    find_library(QT_RT_LIBRARY NAMES rt)
-    mark_as_advanced(QT_RT_LIBRARY)
-    if(QT_RT_LIBRARY)
-      set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY})
-    endif()
-  endif()
-endif()
-
-
-if(Q_WS_X11)
-  # X11 libraries Qt always depends on
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xext_LIB} ${X11_X11_LIB})
-
-  set(CMAKE_THREAD_PREFER_PTHREAD 1)
-  find_package(Threads)
-  if(CMAKE_USE_PTHREADS_INIT)
-    set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_THREAD_LIBS_INIT})
-  endif()
-
-  set (QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_DL_LIBS})
-
-endif()
-
-
-if(Q_WS_WIN)
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} imm32 winmm)
-  set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ws2_32)
-endif()
-
-
-if(Q_WS_MAC)
-  set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework Carbon")
-
-  # Qt 4.0, 4.1, 4.2 use QuickTime
-  if(QT_VERSION_MINOR LESS 3)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework QuickTime")
-  endif()
-
-  # Qt 4.2+ use AppKit
-  if(QT_VERSION_MINOR GREATER 1)
-    set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework AppKit")
-  endif()
-
-  set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} "-framework ApplicationServices")
-endif()
-
diff --git a/share/cmake-3.6/Modules/Qt4Macros.cmake b/share/cmake-3.6/Modules/Qt4Macros.cmake
deleted file mode 100644
index 3b0a6cc..0000000
--- a/share/cmake-3.6/Modules/Qt4Macros.cmake
+++ /dev/null
@@ -1,515 +0,0 @@
-#.rst:
-# Qt4Macros
-# ---------
-#
-#
-#
-# This file is included by FindQt4.cmake, don't include it directly.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-######################################
-#
-#       Macros for building Qt files
-#
-######################################
-
-
-macro (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options _qt4_target)
-  set(${_qt4_files})
-  set(${_qt4_options})
-  set(_QT4_DOING_OPTIONS FALSE)
-  set(_QT4_DOING_TARGET FALSE)
-  foreach(_currentArg ${ARGN})
-    if ("x${_currentArg}" STREQUAL "xOPTIONS")
-      set(_QT4_DOING_OPTIONS TRUE)
-    elseif ("x${_currentArg}" STREQUAL "xTARGET")
-      set(_QT4_DOING_TARGET TRUE)
-    else ()
-      if(_QT4_DOING_TARGET)
-        set(${_qt4_target} "${_currentArg}")
-      elseif(_QT4_DOING_OPTIONS)
-        list(APPEND ${_qt4_options} "${_currentArg}")
-      else()
-        list(APPEND ${_qt4_files} "${_currentArg}")
-      endif()
-    endif ()
-  endforeach()
-endmacro ()
-
-
-# macro used to create the names of output files preserving relative dirs
-macro (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
-  string(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
-  string(LENGTH ${infile} _infileLength)
-  set(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
-  if(_infileLength GREATER _binlength)
-    string(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
-    if(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
-      file(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
-    else()
-      file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
-    endif()
-  else()
-    file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
-  endif()
-  if(WIN32 AND rel MATCHES "^([a-zA-Z]):(.*)$") # absolute path
-    set(rel "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
-  endif()
-  set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
-  string(REPLACE ".." "__" _outfile ${_outfile})
-  get_filename_component(outpath ${_outfile} PATH)
-  get_filename_component(_outfile ${_outfile} NAME_WE)
-  file(MAKE_DIRECTORY ${outpath})
-  set(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
-endmacro ()
-
-
-macro (QT4_GET_MOC_FLAGS _moc_flags)
-  set(${_moc_flags})
-  get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
-
-  foreach(_current ${_inc_DIRS})
-    if("${_current}" MATCHES "\\.framework/?$")
-      string(REGEX REPLACE "/[^/]+\\.framework" "" framework_path "${_current}")
-      set(${_moc_flags} ${${_moc_flags}} "-F${framework_path}")
-    else()
-      set(${_moc_flags} ${${_moc_flags}} "-I${_current}")
-    endif()
-  endforeach()
-
-  get_directory_property(_defines COMPILE_DEFINITIONS)
-  foreach(_current ${_defines})
-    set(${_moc_flags} ${${_moc_flags}} "-D${_current}")
-  endforeach()
-
-  if(Q_WS_WIN)
-    set(${_moc_flags} ${${_moc_flags}} -DWIN32)
-  endif()
-
-endmacro()
-
-
-# helper macro to set up a moc rule
-function (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target)
-  # For Windows, create a parameters file to work around command line length limit
-  # Pass the parameters in a file.  Set the working directory to
-  # be that containing the parameters file and reference it by
-  # just the file name.  This is necessary because the moc tool on
-  # MinGW builds does not seem to handle spaces in the path to the
-  # file given with the @ syntax.
-  get_filename_component(_moc_outfile_name "${outfile}" NAME)
-  get_filename_component(_moc_outfile_dir "${outfile}" PATH)
-  if(_moc_outfile_dir)
-    set(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
-  endif()
-  set (_moc_parameters_file ${outfile}_parameters)
-  set (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
-  string (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
-
-  if(moc_target)
-    set (_moc_parameters_file ${_moc_parameters_file}$<$<BOOL:$<CONFIGURATION>>:_$<CONFIGURATION>>)
-    set(targetincludes "$<TARGET_PROPERTY:${moc_target},INCLUDE_DIRECTORIES>")
-    set(targetdefines "$<TARGET_PROPERTY:${moc_target},COMPILE_DEFINITIONS>")
-
-    set(targetincludes "$<$<BOOL:${targetincludes}>:-I$<JOIN:${targetincludes},\n-I>\n>")
-    set(targetdefines "$<$<BOOL:${targetdefines}>:-D$<JOIN:${targetdefines},\n-D>\n>")
-
-    file (GENERATE
-      OUTPUT ${_moc_parameters_file}
-      CONTENT "${targetdefines}${targetincludes}${_moc_parameters}\n"
-    )
-
-    set(targetincludes)
-    set(targetdefines)
-  else()
-    set(CMAKE_CONFIGURABLE_FILE_CONTENT "${_moc_parameters}")
-    configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
-                   "${_moc_parameters_file}" @ONLY)
-  endif()
-
-  set(_moc_extra_parameters_file @${_moc_parameters_file})
-  add_custom_command(OUTPUT ${outfile}
-                      COMMAND Qt4::moc ${_moc_extra_parameters_file}
-                      DEPENDS ${infile} ${_moc_parameters_file}
-                      ${_moc_working_dir}
-                      VERBATIM)
-endfunction ()
-
-
-macro (QT4_GENERATE_MOC infile outfile )
-# get include dirs and flags
-   QT4_GET_MOC_FLAGS(moc_flags)
-   get_filename_component(abs_infile ${infile} ABSOLUTE)
-   set(_outfile "${outfile}")
-   if(NOT IS_ABSOLUTE "${outfile}")
-     set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
-   endif()
-
-   if (${ARGC} GREATER 3 AND "x${ARGV2}" STREQUAL "xTARGET")
-      set(moc_target ${ARGV3})
-   endif()
-   QT4_CREATE_MOC_COMMAND(${abs_infile} ${_outfile} "${moc_flags}" "" "${moc_target}")
-   set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC TRUE)  # dont run automoc on this file
-endmacro ()
-
-
-# QT4_WRAP_CPP(outfiles inputfile ... )
-
-macro (QT4_WRAP_CPP outfiles )
-  # get include dirs
-  QT4_GET_MOC_FLAGS(moc_flags)
-  QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
-
-  foreach (it ${moc_files})
-    get_filename_component(it ${it} ABSOLUTE)
-    QT4_MAKE_OUTPUT_FILE(${it} moc_ cxx outfile)
-    QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
-    set(${outfiles} ${${outfiles}} ${outfile})
-  endforeach()
-
-endmacro ()
-
-
-# QT4_WRAP_UI(outfiles inputfile ... )
-
-macro (QT4_WRAP_UI outfiles )
-  QT4_EXTRACT_OPTIONS(ui_files ui_options ui_target ${ARGN})
-
-  foreach (it ${ui_files})
-    get_filename_component(outfile ${it} NAME_WE)
-    get_filename_component(infile ${it} ABSOLUTE)
-    set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
-    add_custom_command(OUTPUT ${outfile}
-      COMMAND Qt4::uic
-      ARGS ${ui_options} -o ${outfile} ${infile}
-      MAIN_DEPENDENCY ${infile} VERBATIM)
-    set(${outfiles} ${${outfiles}} ${outfile})
-  endforeach ()
-
-endmacro ()
-
-
-# QT4_ADD_RESOURCES(outfiles inputfile ... )
-
-macro (QT4_ADD_RESOURCES outfiles )
-  QT4_EXTRACT_OPTIONS(rcc_files rcc_options rcc_target ${ARGN})
-
-  foreach (it ${rcc_files})
-    get_filename_component(outfilename ${it} NAME_WE)
-    get_filename_component(infile ${it} ABSOLUTE)
-    get_filename_component(rc_path ${infile} PATH)
-    set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
-
-    set(_RC_DEPENDS)
-    if(EXISTS "${infile}")
-      #  parse file for dependencies
-      #  all files are absolute paths or relative to the location of the qrc file
-      file(READ "${infile}" _RC_FILE_CONTENTS)
-      string(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
-      foreach(_RC_FILE ${_RC_FILES})
-        string(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
-        if(NOT IS_ABSOLUTE "${_RC_FILE}")
-          set(_RC_FILE "${rc_path}/${_RC_FILE}")
-        endif()
-        set(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
-      endforeach()
-      unset(_RC_FILES)
-      unset(_RC_FILE_CONTENTS)
-      # Since this cmake macro is doing the dependency scanning for these files,
-      # let's make a configured file and add it as a dependency so cmake is run
-      # again when dependencies need to be recomputed.
-      QT4_MAKE_OUTPUT_FILE("${infile}" "" "qrc.depends" out_depends)
-      configure_file("${infile}" "${out_depends}" COPYONLY)
-    else()
-      # The .qrc file does not exist (yet). Let's add a dependency and hope
-      # that it will be generated later
-      set(out_depends)
-    endif()
-
-    add_custom_command(OUTPUT ${outfile}
-      COMMAND Qt4::rcc
-      ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
-      MAIN_DEPENDENCY ${infile}
-      DEPENDS ${_RC_DEPENDS} "${out_depends}" VERBATIM)
-    set(${outfiles} ${${outfiles}} ${outfile})
-  endforeach ()
-
-endmacro ()
-
-
-macro(QT4_ADD_DBUS_INTERFACE _sources _interface _basename)
-  get_filename_component(_infile ${_interface} ABSOLUTE)
-  set(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
-  set(_impl   "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
-  set(_moc    "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
-
-  get_source_file_property(_nonamespace ${_interface} NO_NAMESPACE)
-  if(_nonamespace)
-    set(_params -N -m)
-  else()
-    set(_params -m)
-  endif()
-
-  get_source_file_property(_classname ${_interface} CLASSNAME)
-  if(_classname)
-    set(_params ${_params} -c ${_classname})
-  endif()
-
-  get_source_file_property(_include ${_interface} INCLUDE)
-  if(_include)
-    set(_params ${_params} -i ${_include})
-  endif()
-
-  add_custom_command(OUTPUT "${_impl}" "${_header}"
-      COMMAND Qt4::qdbusxml2cpp ${_params} -p ${_basename} ${_infile}
-      DEPENDS ${_infile} VERBATIM)
-
-  set_source_files_properties("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
-
-  QT4_GENERATE_MOC("${_header}" "${_moc}")
-
-  list(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
-  MACRO_ADD_FILE_DEPENDENCIES("${_impl}" "${_moc}")
-
-endmacro()
-
-
-macro(QT4_ADD_DBUS_INTERFACES _sources)
-  foreach (_current_FILE ${ARGN})
-    get_filename_component(_infile ${_current_FILE} ABSOLUTE)
-    get_filename_component(_basename ${_current_FILE} NAME)
-    # get the part before the ".xml" suffix
-    string(TOLOWER ${_basename} _basename)
-    string(REGEX REPLACE "(.*\\.)?([^\\.]+)\\.xml" "\\2" _basename ${_basename})
-    QT4_ADD_DBUS_INTERFACE(${_sources} ${_infile} ${_basename}interface)
-  endforeach ()
-endmacro()
-
-
-macro(QT4_GENERATE_DBUS_INTERFACE _header) # _customName OPTIONS -some -options )
-  QT4_EXTRACT_OPTIONS(_customName _qt4_dbus_options _qt4_dbus_target ${ARGN})
-
-  get_filename_component(_in_file ${_header} ABSOLUTE)
-  get_filename_component(_basename ${_header} NAME_WE)
-
-  if (_customName)
-    if (IS_ABSOLUTE ${_customName})
-      get_filename_component(_containingDir ${_customName} PATH)
-      if (NOT EXISTS ${_containingDir})
-        file(MAKE_DIRECTORY "${_containingDir}")
-      endif()
-      set(_target ${_customName})
-    else()
-      set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_customName})
-    endif()
-  else ()
-    set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.xml)
-  endif ()
-
-  add_custom_command(OUTPUT ${_target}
-      COMMAND Qt4::qdbuscpp2xml ${_qt4_dbus_options} ${_in_file} -o ${_target}
-      DEPENDS ${_in_file} VERBATIM
-  )
-endmacro()
-
-
-macro(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass) # _optionalBasename _optionalClassName)
-  get_filename_component(_infile ${_xml_file} ABSOLUTE)
-
-  unset(_optionalBasename)
-  if(${ARGC} GREATER 4)
-    set(_optionalBasename "${ARGV4}")
-  endif()
-  if (_optionalBasename)
-    set(_basename ${_optionalBasename} )
-  else ()
-    string(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile})
-    string(TOLOWER ${_basename} _basename)
-  endif ()
-
-  unset(_optionalClassName)
-  if(${ARGC} GREATER 5)
-    set(_optionalClassName "${ARGV5}")
-  endif()
-  set(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
-  set(_impl   "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
-  set(_moc    "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
-
-  if(_optionalClassName)
-    add_custom_command(OUTPUT "${_impl}" "${_header}"
-       COMMAND Qt4::qdbusxml2cpp -m -a ${_basename} -c ${_optionalClassName} -i ${_include} -l ${_parentClass} ${_infile}
-       DEPENDS ${_infile} VERBATIM
-    )
-  else()
-    add_custom_command(OUTPUT "${_impl}" "${_header}"
-       COMMAND Qt4::qdbusxml2cpp -m -a ${_basename} -i ${_include} -l ${_parentClass} ${_infile}
-       DEPENDS ${_infile} VERBATIM
-     )
-  endif()
-
-  QT4_GENERATE_MOC("${_header}" "${_moc}")
-  set_source_files_properties("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
-  MACRO_ADD_FILE_DEPENDENCIES("${_impl}" "${_moc}")
-
-  list(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
-endmacro()
-
-
-macro(QT4_AUTOMOC)
-  if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
-    message(DEPRECATION "The qt4_automoc macro is obsolete. Use the CMAKE_AUTOMOC feature instead.")
-  endif()
-  QT4_GET_MOC_FLAGS(_moc_INCS)
-
-  set(_matching_FILES )
-  foreach (_current_FILE ${ARGN})
-
-    get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
-    # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
-    # This is required to make uic work correctly:
-    # we need to add generated .cpp files to the sources (to compile them),
-    # but we cannot let automoc handle them, as the .cpp files don't exist yet when
-    # cmake is run for the very first time on them -> however the .cpp files might
-    # exist at a later run. at that time we need to skip them, so that we don't add two
-    # different rules for the same moc file
-    get_source_file_property(_skip ${_abs_FILE} SKIP_AUTOMOC)
-
-    if ( NOT _skip AND EXISTS ${_abs_FILE} )
-
-      file(READ ${_abs_FILE} _contents)
-
-      get_filename_component(_abs_PATH ${_abs_FILE} PATH)
-
-      string(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match "${_contents}")
-      if(_match)
-        foreach (_current_MOC_INC ${_match})
-          string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
-
-          get_filename_component(_basename ${_current_MOC} NAME_WE)
-          if(EXISTS ${_abs_PATH}/${_basename}.hpp)
-            set(_header ${_abs_PATH}/${_basename}.hpp)
-          else()
-            set(_header ${_abs_PATH}/${_basename}.h)
-          endif()
-          set(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
-          QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "" "")
-          MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
-        endforeach ()
-      endif()
-    endif ()
-  endforeach ()
-endmacro()
-
-
-macro(QT4_CREATE_TRANSLATION _qm_files)
-   QT4_EXTRACT_OPTIONS(_lupdate_files _lupdate_options _lupdate_target ${ARGN})
-   set(_my_sources)
-   set(_my_dirs)
-   set(_my_tsfiles)
-   set(_ts_pro)
-   foreach (_file ${_lupdate_files})
-     get_filename_component(_ext ${_file} EXT)
-     get_filename_component(_abs_FILE ${_file} ABSOLUTE)
-     if(_ext MATCHES "ts")
-       list(APPEND _my_tsfiles ${_abs_FILE})
-     else()
-       if(NOT _ext)
-         list(APPEND _my_dirs ${_abs_FILE})
-       else()
-         list(APPEND _my_sources ${_abs_FILE})
-       endif()
-     endif()
-   endforeach()
-   foreach(_ts_file ${_my_tsfiles})
-     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)
-       set(_ts_pro ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lupdate.pro)
-       set(_pro_srcs)
-       foreach(_pro_src ${_my_sources})
-         set(_pro_srcs "${_pro_srcs} \\\n  \"${_pro_src}\"")
-       endforeach()
-       set(_pro_includes)
-       get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
-       list(REMOVE_DUPLICATES _inc_DIRS)
-       foreach(_pro_include ${_inc_DIRS})
-         get_filename_component(_abs_include "${_pro_include}" ABSOLUTE)
-         set(_pro_includes "${_pro_includes} \\\n  \"${_abs_include}\"")
-       endforeach()
-       file(WRITE ${_ts_pro} "SOURCES =${_pro_srcs}\nINCLUDEPATH =${_pro_includes}\n")
-     endif()
-     add_custom_command(OUTPUT ${_ts_file}
-        COMMAND Qt4::lupdate
-        ARGS ${_lupdate_options} ${_ts_pro} ${_my_dirs} -ts ${_ts_file}
-        DEPENDS ${_my_sources} ${_ts_pro} VERBATIM)
-   endforeach()
-   QT4_ADD_TRANSLATION(${_qm_files} ${_my_tsfiles})
-endmacro()
-
-
-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_source_file_property(output_location ${_abs_FILE} OUTPUT_LOCATION)
-    if(output_location)
-      file(MAKE_DIRECTORY "${output_location}")
-      set(qm "${output_location}/${qm}.qm")
-    else()
-      set(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
-    endif()
-
-    add_custom_command(OUTPUT ${qm}
-       COMMAND Qt4::lrelease
-       ARGS ${_abs_FILE} -qm ${qm}
-       DEPENDS ${_abs_FILE} VERBATIM
-    )
-    set(${_qm_files} ${${_qm_files}} ${qm})
-  endforeach ()
-endmacro()
-
-function(qt4_use_modules _target _link_type)
-  if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
-    message(DEPRECATION "The qt4_use_modules function is obsolete. Use target_link_libraries with IMPORTED targets instead.")
-  endif()
-  if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE")
-    set(modules ${ARGN})
-    set(link_type ${_link_type})
-  else()
-    set(modules ${_link_type} ${ARGN})
-  endif()
-  foreach(_module ${modules})
-    string(TOUPPER ${_module} _ucmodule)
-    set(_targetPrefix QT_QT${_ucmodule})
-    if (_ucmodule STREQUAL QAXCONTAINER OR _ucmodule STREQUAL QAXSERVER)
-      if (NOT QT_Q${_ucmodule}_FOUND)
-        message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
-      endif()
-      set(_targetPrefix QT_Q${_ucmodule})
-    else()
-      if (NOT QT_QT${_ucmodule}_FOUND)
-        message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
-      endif()
-      if ("${_ucmodule}" STREQUAL "MAIN")
-        message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
-      endif()
-    endif()
-    target_link_libraries(${_target} ${link_type} ${${_targetPrefix}_LIBRARIES})
-    set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${${_targetPrefix}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
-    set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${${_targetPrefix}_COMPILE_DEFINITIONS})
-  endforeach()
-endfunction()
diff --git a/share/cmake-3.6/Modules/SelectLibraryConfigurations.cmake b/share/cmake-3.6/Modules/SelectLibraryConfigurations.cmake
deleted file mode 100644
index d710856..0000000
--- a/share/cmake-3.6/Modules/SelectLibraryConfigurations.cmake
+++ /dev/null
@@ -1,81 +0,0 @@
-#.rst:
-# SelectLibraryConfigurations
-# ---------------------------
-#
-#
-#
-# select_library_configurations( basename )
-#
-# This macro takes a library base name as an argument, and will choose
-# good values for basename_LIBRARY, basename_LIBRARIES,
-# basename_LIBRARY_DEBUG, and basename_LIBRARY_RELEASE depending on what
-# has been found and set.  If only basename_LIBRARY_RELEASE is defined,
-# basename_LIBRARY will be set to the release value, and
-# basename_LIBRARY_DEBUG will be set to basename_LIBRARY_DEBUG-NOTFOUND.
-# If only basename_LIBRARY_DEBUG is defined, then basename_LIBRARY will
-# take the debug value, and basename_LIBRARY_RELEASE will be set to
-# basename_LIBRARY_RELEASE-NOTFOUND.
-#
-# If the generator supports configuration types, then basename_LIBRARY
-# and basename_LIBRARIES will be set with debug and optimized flags
-# specifying the library to be used for the given configuration.  If no
-# build type has been set or the generator in use does not support
-# configuration types, then basename_LIBRARY and basename_LIBRARIES will
-# take only the release value, or the debug value if the release one is
-# not set.
-
-#=============================================================================
-# Copyright 2009 Will Dicharry <wdicharry@stellarscience.com>
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# This macro was adapted from the FindQt4 CMake module and is maintained by Will
-# Dicharry <wdicharry@stellarscience.com>.
-
-macro( select_library_configurations basename )
-    if(NOT ${basename}_LIBRARY_RELEASE)
-        set(${basename}_LIBRARY_RELEASE "${basename}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library.")
-    endif()
-    if(NOT ${basename}_LIBRARY_DEBUG)
-        set(${basename}_LIBRARY_DEBUG "${basename}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library.")
-    endif()
-
-    if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND
-           NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE AND
-           ( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE ) )
-        # if the generator supports configuration types or CMAKE_BUILD_TYPE
-        # is set, then set optimized and debug options.
-        set( ${basename}_LIBRARY "" )
-        foreach( _libname IN LISTS ${basename}_LIBRARY_RELEASE )
-            list( APPEND ${basename}_LIBRARY optimized "${_libname}" )
-        endforeach()
-        foreach( _libname IN LISTS ${basename}_LIBRARY_DEBUG )
-            list( APPEND ${basename}_LIBRARY debug "${_libname}" )
-        endforeach()
-    elseif( ${basename}_LIBRARY_RELEASE )
-        set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
-    elseif( ${basename}_LIBRARY_DEBUG )
-        set( ${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG} )
-    else()
-        set( ${basename}_LIBRARY "${basename}_LIBRARY-NOTFOUND")
-    endif()
-
-    set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" )
-
-    if( ${basename}_LIBRARY )
-        set( ${basename}_FOUND TRUE )
-    endif()
-
-    mark_as_advanced( ${basename}_LIBRARY_RELEASE
-        ${basename}_LIBRARY_DEBUG
-    )
-endmacro()
diff --git a/share/cmake-3.6/Modules/Squish4RunTestCase.bat b/share/cmake-3.6/Modules/Squish4RunTestCase.bat
deleted file mode 100644
index ad1cc8c..0000000
--- a/share/cmake-3.6/Modules/Squish4RunTestCase.bat
+++ /dev/null
@@ -1,24 +0,0 @@
-set SQUISHSERVER=%1
-set SQUISHRUNNER=%2
-set TESTSUITE=%3
-set TESTCASE=%4
-set AUT=%5
-set AUTDIR=%6
-set SETTINGSGROUP=%7
-
-%SQUISHSERVER% --stop
-
-echo "Adding AUT... %SQUISHSERVER% --config addAUT %AUT% %AUTDIR%"
-%SQUISHSERVER% --config addAUT "%AUT%" "%AUTDIR%"
-
-echo "Starting the squish server... %SQUISHSERVER%"
-start /B %SQUISHSERVER%
-
-echo "Running the test case...%SQUISHRUNNER% --testsuite %TESTSUITE% --testcase %TESTCASE%"
-%SQUISHRUNNER% --testsuite "%TESTSUITE%" --testcase "%TESTCASE%"
-set returnValue=%ERRORLEVEL%
-
-echo "Stopping the squish server... %SQUISHSERVER% --stop"
-%SQUISHSERVER% --stop
-
-exit /B %returnValue%
diff --git a/share/cmake-3.6/Modules/SquishTestScript.cmake b/share/cmake-3.6/Modules/SquishTestScript.cmake
deleted file mode 100644
index d648749..0000000
--- a/share/cmake-3.6/Modules/SquishTestScript.cmake
+++ /dev/null
@@ -1,95 +0,0 @@
-#.rst:
-# SquishTestScript
-# ----------------
-#
-#
-#
-#
-#
-# This script launches a GUI test using Squish.  You should not call the
-# script directly; instead, you should access it via the SQUISH_ADD_TEST
-# macro that is defined in FindSquish.cmake.
-#
-# This script starts the Squish server, launches the test on the client,
-# and finally stops the squish server.  If any of these steps fail
-# (including if the tests do not pass) then a fatal error is raised.
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# print out the variable that we are using
-message(STATUS "squish_aut='${squish_aut}'")
-message(STATUS "squish_aut_dir='${squish_aut_dir}'")
-
-message(STATUS "squish_version='${squish_version}'")
-message(STATUS "squish_server_executable='${squish_server_executable}'")
-message(STATUS "squish_client_executable='${squish_client_executable}'")
-message(STATUS "squish_libqtdir ='${squish_libqtdir}'")
-message(STATUS "squish_test_suite='${squish_test_suite}'")
-message(STATUS "squish_test_case='${squish_test_case}'")
-message(STATUS "squish_wrapper='${squish_wrapper}'")
-message(STATUS "squish_env_vars='${squish_env_vars}'")
-message(STATUS "squish_module_dir='${squish_module_dir}'")
-message(STATUS "squish_settingsgroup='${squish_settingsgroup}'")
-message(STATUS "squish_pre_command='${squish_pre_command}'")
-message(STATUS "squish_post_command='${squish_post_command}'")
-
-# parse enviornment variables
-foreach(i ${squish_env_vars})
-  message(STATUS "parsing env var key/value pair ${i}")
-  string(REGEX MATCH "([^=]*)=(.*)" squish_env_name ${i})
-  message(STATUS "key=${CMAKE_MATCH_1}")
-  message(STATUS "value=${CMAKE_MATCH_2}")
-  set ( ENV{${CMAKE_MATCH_1}} ${CMAKE_MATCH_2} )
-endforeach()
-
-if (QT4_INSTALLED)
-  # record Qt lib directory
-  set ( ENV{${SQUISH_LIBQTDIR}} ${squish_libqtdir} )
-endif ()
-
-if(squish_pre_command)
-  message(STATUS "Executing pre command: ${squish_pre_command}")
-  execute_process(COMMAND "${squish_pre_command}")
-endif()
-
-# run the test
-if("${squish_version}" STREQUAL "4")
-  if (WIN32)
-    execute_process(COMMAND ${squish_module_dir}/Squish4RunTestCase.bat ${squish_server_executable} ${squish_client_executable} ${squish_test_suite} ${squish_test_case} ${squish_aut} ${squish_aut_dir} ${squish_settingsgroup}
-                    RESULT_VARIABLE test_rv )
-  elseif(UNIX)
-    execute_process(COMMAND ${squish_module_dir}/Squish4RunTestCase.sh ${squish_server_executable} ${squish_client_executable} ${squish_test_suite} ${squish_test_case} ${squish_aut} ${squish_aut_dir} ${squish_settingsgroup}
-                    RESULT_VARIABLE test_rv )
-  endif ()
-
-else()
-
-  if (WIN32)
-    execute_process(COMMAND ${squish_module_dir}/SquishRunTestCase.bat ${squish_server_executable} ${squish_client_executable} ${squish_test_case} ${squish_wrapper} ${squish_aut}
-                    RESULT_VARIABLE test_rv )
-  elseif(UNIX)
-    execute_process(COMMAND ${squish_module_dir}/SquishRunTestCase.sh ${squish_server_executable} ${squish_client_executable} ${squish_test_case} ${squish_wrapper} ${squish_aut}
-                    RESULT_VARIABLE test_rv )
-  endif ()
-endif()
-
-if(squish_post_command)
-  message(STATUS "Executing post command: ${squish_post_command}")
-  execute_process(COMMAND "${squish_post_command}")
-endif()
-
-# check for an error with running the test
-if(NOT "${test_rv}" STREQUAL "0")
-  message(FATAL_ERROR "Error running Squish test")
-endif()
diff --git a/share/cmake-3.6/Modules/SystemInformation.cmake b/share/cmake-3.6/Modules/SystemInformation.cmake
deleted file mode 100644
index fa85071..0000000
--- a/share/cmake-3.6/Modules/SystemInformation.cmake
+++ /dev/null
@@ -1,103 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2010 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-cmake_minimum_required(VERSION ${CMAKE_VERSION})
-project(DumpInformation)
-
-# first get the standard information for th platform
-include_directories("This does not exists")
-get_directory_property(incl INCLUDE_DIRECTORIES)
-set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
-
-configure_file("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
-
-
-file(APPEND "${RESULT_FILE}"
-  "\n=================================================================\n")
-file(APPEND "${RESULT_FILE}"
-  "=== VARIABLES\n")
-file(APPEND "${RESULT_FILE}"
-  "=================================================================\n")
-get_cmake_property(res VARIABLES)
-foreach(var ${res})
-  file(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
-endforeach()
-
-file(APPEND "${RESULT_FILE}"
-  "\n=================================================================\n")
-file(APPEND "${RESULT_FILE}"
-  "=== COMMANDS\n")
-file(APPEND "${RESULT_FILE}"
-  "=================================================================\n")
-get_cmake_property(res COMMANDS)
-foreach(var ${res})
-  file(APPEND "${RESULT_FILE}" "${var}\n")
-endforeach()
-
-file(APPEND "${RESULT_FILE}"
-  "\n=================================================================\n")
-file(APPEND "${RESULT_FILE}"
-  "=== MACROS\n")
-file(APPEND "${RESULT_FILE}"
-  "=================================================================\n")
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
-get_cmake_property(res MACROS)
-foreach(var ${res})
-  file(APPEND "${RESULT_FILE}" "${var}\n")
-endforeach()
-
-file(APPEND "${RESULT_FILE}"
-  "\n=================================================================\n")
-file(APPEND "${RESULT_FILE}"
-  "=== OTHER\n")
-file(APPEND "${RESULT_FILE}"
-  "=================================================================\n")
-get_directory_property(res INCLUDE_DIRECTORIES)
-foreach(var ${res})
-  file(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
-endforeach()
-
-get_directory_property(res LINK_DIRECTORIES)
-foreach(var ${res})
-  file(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
-endforeach()
-
-get_directory_property(res INCLUDE_REGULAR_EXPRESSION)
-file(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
-
-# include other files if they are present, such as when run from within the
-# binary tree
-macro(DUMP_FILE THE_FILE)
-  if (EXISTS "${THE_FILE}")
-    file(APPEND "${RESULT_FILE}"
-      "\n=================================================================\n")
-    file(APPEND "${RESULT_FILE}"
-      "=== ${THE_FILE}\n")
-    file(APPEND "${RESULT_FILE}"
-      "=================================================================\n")
-
-    file(READ "${THE_FILE}" FILE_CONTENTS LIMIT 50000)
-    file(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
-  endif ()
-endmacro()
-
-DUMP_FILE("../CMakeCache.txt")
-DUMP_FILE("../CMakeFiles/CMakeOutput.log")
-DUMP_FILE("../CMakeFiles/CMakeError.log")
-DUMP_FILE("../CMakeFiles/CMakeSystem.cmake")
-
-foreach (EXTRA_FILE ${EXTRA_DUMP_FILES})
-  DUMP_FILE("${EXTRA_FILE}")
-endforeach ()
-
diff --git a/share/cmake-3.6/Modules/TestBigEndian.cmake b/share/cmake-3.6/Modules/TestBigEndian.cmake
deleted file mode 100644
index fdc3adb..0000000
--- a/share/cmake-3.6/Modules/TestBigEndian.cmake
+++ /dev/null
@@ -1,119 +0,0 @@
-#.rst:
-# TestBigEndian
-# -------------
-#
-# Define macro to determine endian type
-#
-# Check if the system is big endian or little endian
-#
-# ::
-#
-#   TEST_BIG_ENDIAN(VARIABLE)
-#   VARIABLE - variable to store the result to
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-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")
-
-    include(CheckTypeSize)
-
-    CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT)
-    if(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
-      message(STATUS "Using unsigned short")
-      set(CMAKE_16BIT_TYPE "unsigned short")
-    else()
-      CHECK_TYPE_SIZE("unsigned int"   CMAKE_SIZEOF_UNSIGNED_INT)
-      if(CMAKE_SIZEOF_UNSIGNED_INT)
-        message(STATUS "Using unsigned int")
-        set(CMAKE_16BIT_TYPE "unsigned int")
-
-      else()
-
-        CHECK_TYPE_SIZE("unsigned long"  CMAKE_SIZEOF_UNSIGNED_LONG)
-        if(CMAKE_SIZEOF_UNSIGNED_LONG)
-          message(STATUS "Using unsigned long")
-          set(CMAKE_16BIT_TYPE "unsigned long")
-        else()
-          message(FATAL_ERROR "no suitable type found")
-        endif()
-
-      endif()
-
-    endif()
-
-
-    configure_file("${CMAKE_ROOT}/Modules/TestEndianess.c.in"
-                   "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
-                   @ONLY)
-
-     file(READ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
-          TEST_ENDIANESS_FILE_CONTENT)
-
-     try_compile(HAVE_${VARIABLE}
-      "${CMAKE_BINARY_DIR}"
-      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
-      OUTPUT_VARIABLE OUTPUT
-      COPY_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin" )
-
-      if(HAVE_${VARIABLE})
-
-        file(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
-            CMAKE_TEST_ENDIANESS_STRINGS_LE LIMIT_COUNT 1 REGEX "THIS IS LITTLE ENDIAN")
-
-        file(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
-            CMAKE_TEST_ENDIANESS_STRINGS_BE LIMIT_COUNT 1 REGEX "THIS IS BIG ENDIAN")
-
-        # on mac, if there are universal binaries built both will be true
-        # return the result depending on the machine on which cmake runs
-        if(CMAKE_TEST_ENDIANESS_STRINGS_BE  AND  CMAKE_TEST_ENDIANESS_STRINGS_LE)
-          if(CMAKE_SYSTEM_PROCESSOR MATCHES powerpc)
-            set(CMAKE_TEST_ENDIANESS_STRINGS_BE TRUE)
-            set(CMAKE_TEST_ENDIANESS_STRINGS_LE FALSE)
-          else()
-            set(CMAKE_TEST_ENDIANESS_STRINGS_BE FALSE)
-            set(CMAKE_TEST_ENDIANESS_STRINGS_LE TRUE)
-          endif()
-          message(STATUS "TEST_BIG_ENDIAN found different results, consider setting CMAKE_OSX_ARCHITECTURES or CMAKE_TRY_COMPILE_OSX_ARCHITECTURES to one or no architecture !")
-        endif()
-
-        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")
-        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")
-        endif()
-
-        if(NOT CMAKE_TEST_ENDIANESS_STRINGS_BE  AND  NOT CMAKE_TEST_ENDIANESS_STRINGS_LE)
-          message(SEND_ERROR "TEST_BIG_ENDIAN found no result!")
-        endif()
-
-        file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-          "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")
-        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})
-      endif()
-  endif()
-endmacro()
-
-
diff --git a/share/cmake-3.6/Modules/TestCXXAcceptsFlag.cmake b/share/cmake-3.6/Modules/TestCXXAcceptsFlag.cmake
deleted file mode 100644
index c814187..0000000
--- a/share/cmake-3.6/Modules/TestCXXAcceptsFlag.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-#.rst:
-# TestCXXAcceptsFlag
-# ------------------
-#
-# Deprecated.  See :module:`CheckCXXCompilerFlag`.
-#
-# Check if the CXX compiler accepts a flag.
-#
-# .. code-block:: cmake
-#
-#  CHECK_CXX_ACCEPTS_FLAG(<flags> <variable>)
-#
-# ``<flags>``
-#  the flags to try
-# ``<variable>``
-#  variable to store the result
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-macro(CHECK_CXX_ACCEPTS_FLAG FLAGS  VARIABLE)
-  if(NOT DEFINED ${VARIABLE})
-    message(STATUS "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")
-      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")
-      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")
-    endif()
-  endif()
-endmacro()
diff --git a/share/cmake-3.6/Modules/TestForANSIForScope.cmake b/share/cmake-3.6/Modules/TestForANSIForScope.cmake
deleted file mode 100644
index 78fff9f..0000000
--- a/share/cmake-3.6/Modules/TestForANSIForScope.cmake
+++ /dev/null
@@ -1,52 +0,0 @@
-#.rst:
-# TestForANSIForScope
-# -------------------
-#
-# Check for ANSI for scope support
-#
-# Check if the compiler restricts the scope of variables declared in a
-# for-init-statement to the loop body.
-#
-# ::
-#
-#   CMAKE_NO_ANSI_FOR_SCOPE - holds result
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT DEFINED CMAKE_ANSI_FOR_SCOPE)
-  message(STATUS "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")
-    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")
-    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
-      "Determining if the CXX compiler understands ansi for scopes failed with "
-      "the following output:\n${OUTPUT}\n\n")
-  endif ()
-endif()
-
-
-
-
-
diff --git a/share/cmake-3.6/Modules/TestForANSIStreamHeaders.cmake b/share/cmake-3.6/Modules/TestForANSIStreamHeaders.cmake
deleted file mode 100644
index c13000b..0000000
--- a/share/cmake-3.6/Modules/TestForANSIStreamHeaders.cmake
+++ /dev/null
@@ -1,42 +0,0 @@
-#.rst:
-# TestForANSIStreamHeaders
-# ------------------------
-#
-# Test for compiler support of ANSI stream headers iostream, etc.
-#
-# check if the compiler supports the standard ANSI iostream header
-# (without the .h)
-#
-# ::
-#
-#   CMAKE_NO_ANSI_STREAM_HEADERS - defined by the results
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CheckIncludeFileCXX.cmake)
-
-if(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
-  CHECK_INCLUDE_FILE_CXX(iostream CMAKE_ANSI_STREAM_HEADERS)
-  if (CMAKE_ANSI_STREAM_HEADERS)
-    set (CMAKE_NO_ANSI_STREAM_HEADERS 0 CACHE INTERNAL
-         "Does the compiler support headers like iostream.")
-  else ()
-    set (CMAKE_NO_ANSI_STREAM_HEADERS 1 CACHE INTERNAL
-       "Does the compiler support headers like iostream.")
-  endif ()
-
-  mark_as_advanced(CMAKE_NO_ANSI_STREAM_HEADERS)
-endif()
-
-
diff --git a/share/cmake-3.6/Modules/TestForSSTREAM.cmake b/share/cmake-3.6/Modules/TestForSSTREAM.cmake
deleted file mode 100644
index fe18ea2..0000000
--- a/share/cmake-3.6/Modules/TestForSSTREAM.cmake
+++ /dev/null
@@ -1,50 +0,0 @@
-#.rst:
-# TestForSSTREAM
-# --------------
-#
-# Test for compiler support of ANSI sstream header
-#
-# check if the compiler supports the standard ANSI sstream header
-#
-# ::
-#
-#   CMAKE_NO_ANSI_STRING_STREAM - defined by the results
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT DEFINED CMAKE_HAS_ANSI_STRING_STREAM)
-  message(STATUS "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")
-    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")
-    set (CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL
-       "Does the compiler support sstream")
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-      "Determining if the CXX compiler has sstream failed with "
-      "the following output:\n${OUTPUT}\n\n")
-  endif ()
-endif()
-
-
-
-
diff --git a/share/cmake-3.6/Modules/TestForSTDNamespace.cmake b/share/cmake-3.6/Modules/TestForSTDNamespace.cmake
deleted file mode 100644
index 0d90774..0000000
--- a/share/cmake-3.6/Modules/TestForSTDNamespace.cmake
+++ /dev/null
@@ -1,50 +0,0 @@
-#.rst:
-# TestForSTDNamespace
-# -------------------
-#
-# Test for std:: namespace support
-#
-# check if the compiler supports std:: on stl classes
-#
-# ::
-#
-#   CMAKE_NO_STD_NAMESPACE - defined by the results
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(NOT DEFINED CMAKE_STD_NAMESPACE)
-  message(STATUS "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")
-    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")
-    set (CMAKE_NO_STD_NAMESPACE 1 CACHE INTERNAL
-       "Does the compiler support std::.")
-    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-      "Determining if the CXX compiler has std namespace failed with "
-      "the following output:\n${OUTPUT}\n\n")
-  endif ()
-endif()
-
-
-
-
diff --git a/share/cmake-3.6/Modules/UseEcos.cmake b/share/cmake-3.6/Modules/UseEcos.cmake
deleted file mode 100644
index 3bd92ca..0000000
--- a/share/cmake-3.6/Modules/UseEcos.cmake
+++ /dev/null
@@ -1,245 +0,0 @@
-#.rst:
-# UseEcos
-# -------
-#
-# This module defines variables and macros required to build eCos application.
-#
-# This file contains the following macros:
-# ECOS_ADD_INCLUDE_DIRECTORIES() - add the eCos include dirs
-# ECOS_ADD_EXECUTABLE(name source1 ...  sourceN ) - create an eCos
-# executable ECOS_ADJUST_DIRECTORY(VAR source1 ...  sourceN ) - adjusts
-# the path of the source files and puts the result into VAR
-#
-# Macros for selecting the toolchain: ECOS_USE_ARM_ELF_TOOLS() - enable
-# the ARM ELF toolchain for the directory where it is called
-# ECOS_USE_I386_ELF_TOOLS() - enable the i386 ELF toolchain for the
-# directory where it is called ECOS_USE_PPC_EABI_TOOLS() - enable the
-# PowerPC toolchain for the directory where it is called
-#
-# It contains the following variables: ECOS_DEFINITIONS
-# ECOSCONFIG_EXECUTABLE ECOS_CONFIG_FILE - defaults to ecos.ecc, if your
-# eCos configuration file has a different name, adjust this variable for
-# internal use only:
-#
-# ::
-#
-#   ECOS_ADD_TARGET_LIB
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# first check that ecosconfig is available
-find_program(ECOSCONFIG_EXECUTABLE NAMES ecosconfig)
-if(NOT ECOSCONFIG_EXECUTABLE)
-   message(SEND_ERROR "ecosconfig was not found. Either include it in the system path or set it manually using ccmake.")
-else()
-   message(STATUS "Found ecosconfig: ${ECOSCONFIG_EXECUTABLE}")
-endif()
-
-# check that ECOS_REPOSITORY is set correctly
-if (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db)
-   message(SEND_ERROR "The environment variable ECOS_REPOSITORY is not set correctly. Set it to the directory which contains the file ecos.db")
-else ()
-   message(STATUS "ECOS_REPOSITORY is set to $ENV{ECOS_REPOSITORY}")
-endif ()
-
-# check that tclsh (coming with TCL) is available, otherwise ecosconfig doesn't work
-find_package(Tclsh)
-if (NOT TCL_TCLSH)
-   message(SEND_ERROR "The TCL tclsh was not found. Please install TCL, it is required for building eCos applications.")
-else ()
-   message(STATUS "tlcsh found: ${TCL_TCLSH}")
-endif ()
-
-#add the globale include-diretories
-#usage: ECOS_ADD_INCLUDE_DIRECTORIES()
-macro(ECOS_ADD_INCLUDE_DIRECTORIES)
-#check for ProjectSources.txt one level higher
-   if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt)
-      include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
-   else ()
-      include_directories(${CMAKE_CURRENT_SOURCE_DIR}/)
-   endif ()
-
-#the ecos include directory
-   include_directories(${CMAKE_CURRENT_BINARY_DIR}/ecos/install/include/)
-
-endmacro()
-
-
-#we want to compile for the xscale processor, in this case the following macro has to be called
-#usage: ECOS_USE_ARM_ELF_TOOLS()
-macro (ECOS_USE_ARM_ELF_TOOLS)
-   set(CMAKE_CXX_COMPILER "arm-elf-c++")
-   set(CMAKE_COMPILER_IS_GNUCXX 1)
-   set(CMAKE_C_COMPILER "arm-elf-gcc")
-   set(CMAKE_AR "arm-elf-ar")
-   set(CMAKE_RANLIB "arm-elf-ranlib")
-#for linking
-   set(ECOS_LD_MCPU "-mcpu=xscale")
-#for compiling
-   add_definitions(-mcpu=xscale -mapcs-frame)
-#for the obj-tools
-   set(ECOS_ARCH_PREFIX "arm-elf-")
-endmacro ()
-
-#usage: ECOS_USE_PPC_EABI_TOOLS()
-macro (ECOS_USE_PPC_EABI_TOOLS)
-   set(CMAKE_CXX_COMPILER "powerpc-eabi-c++")
-   set(CMAKE_COMPILER_IS_GNUCXX 1)
-   set(CMAKE_C_COMPILER "powerpc-eabi-gcc")
-   set(CMAKE_AR "powerpc-eabi-ar")
-   set(CMAKE_RANLIB "powerpc-eabi-ranlib")
-#for linking
-   set(ECOS_LD_MCPU "")
-#for compiling
-   add_definitions()
-#for the obj-tools
-   set(ECOS_ARCH_PREFIX "powerpc-eabi-")
-endmacro ()
-
-#usage: ECOS_USE_I386_ELF_TOOLS()
-macro (ECOS_USE_I386_ELF_TOOLS)
-   set(CMAKE_CXX_COMPILER "i386-elf-c++")
-   set(CMAKE_COMPILER_IS_GNUCXX 1)
-   set(CMAKE_C_COMPILER "i386-elf-gcc")
-   set(CMAKE_AR "i386-elf-ar")
-   set(CMAKE_RANLIB "i386-elf-ranlib")
-#for linking
-   set(ECOS_LD_MCPU "")
-#for compiling
-   add_definitions()
-#for the obj-tools
-   set(ECOS_ARCH_PREFIX "i386-elf-")
-endmacro ()
-
-
-#since the actual sources are located one level upwards
-#a "../" has to be prepended in front of every source file
-#call the following macro to achieve this, the first parameter
-#is the name of the new list of source files with adjusted paths,
-#followed by all source files
-#usage: ECOS_ADJUST_DIRECTORY(adjusted_SRCS ${my_srcs})
-macro(ECOS_ADJUST_DIRECTORY _target_FILES )
-   foreach (_current_FILE ${ARGN})
-      get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
-      if (NOT ${_abs_FILE} STREQUAL ${_current_FILE})
-         get_filename_component(_abs_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${_current_FILE} ABSOLUTE)
-      endif ()
-      list(APPEND ${_target_FILES} ${_abs_FILE})
-   endforeach ()
-endmacro()
-
-# the default ecos config file name
-# maybe in future also out-of-source builds may be possible
-set(ECOS_CONFIG_FILE ecos.ecc)
-
-#creates the dependency from all source files on the ecos target.ld,
-#adds the command for compiling ecos
-macro(ECOS_ADD_TARGET_LIB)
-# when building out-of-source, create the ecos/ subdir
-    if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos)
-        file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ecos)
-    endif()
-
-#sources depend on target.ld
-   set_source_files_properties(
-      ${ARGN}
-      PROPERTIES
-      OBJECT_DEPENDS
-      ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
-   )
-
-   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
-      COMMAND sh -c \"make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos || exit -1\; if [ -e ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld ] \; then touch ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld\; fi\"
-      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
-   )
-
-   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
-      COMMAND sh -c \" cd ${CMAKE_CURRENT_BINARY_DIR}/ecos\; ${ECOSCONFIG_EXECUTABLE} --config=${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} tree || exit -1\;\"
-      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE}
-   )
-
-   add_custom_target( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS  ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile )
-endmacro()
-
-# get the directory of the current file, used later on in the file
-get_filename_component( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
-
-#macro for creating an executable ecos application
-#the first parameter is the name of the executable,
-#the second is the list of all source files (where the path
-#has been adjusted beforehand by calling ECOS_ADJUST_DIRECTORY()
-#usage: ECOS_ADD_EXECUTABLE(my_app ${adjusted_SRCS})
-macro(ECOS_ADD_EXECUTABLE _exe_NAME )
-   #definitions, valid for all ecos projects
-   #the optimization and "-g" for debugging has to be enabled
-   #in the project-specific CMakeLists.txt
-   add_definitions(-D__ECOS__=1 -D__ECOS=1)
-   set(ECOS_DEFINITIONS -Wall -Wno-long-long -pipe -fno-builtin)
-
-#the executable depends on ecos target.ld
-   ECOS_ADD_TARGET_LIB(${ARGN})
-
-# when using nmake makefiles, the custom buildtype supresses the default cl.exe flags
-# and the rules for creating objects are adjusted for gcc
-   set(CMAKE_BUILD_TYPE CUSTOM_ECOS_BUILD)
-   set(CMAKE_C_COMPILE_OBJECT     "<CMAKE_C_COMPILER>   <FLAGS> -o <OBJECT> -c <SOURCE>")
-   set(CMAKE_CXX_COMPILE_OBJECT   "<CMAKE_CXX_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>")
-# special link commands for ecos-executables
-   set(CMAKE_CXX_LINK_EXECUTABLE  "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS>  -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib  -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
-   set(CMAKE_C_LINK_EXECUTABLE    "<CMAKE_C_COMPILER>   <CMAKE_C_LINK_FLAGS>   <OBJECTS>  -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib  -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
-# some strict compiler flags
-   set (CMAKE_C_FLAGS "-Wstrict-prototypes")
-   set (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions")
-
-   add_executable(${_exe_NAME} ${ARGN})
-   set_target_properties(${_exe_NAME} PROPERTIES SUFFIX ".elf")
-
-#create a binary file
-   add_custom_command(
-      TARGET ${_exe_NAME}
-      POST_BUILD
-      COMMAND ${ECOS_ARCH_PREFIX}objcopy
-      ARGS -O binary ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin
-   )
-
-#and an srec file
-   add_custom_command(
-      TARGET ${_exe_NAME}
-      POST_BUILD
-      COMMAND ${ECOS_ARCH_PREFIX}objcopy
-      ARGS -O srec ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec
-   )
-
-#add the created files to the clean-files
-   set_directory_properties(
-      PROPERTIES
-       ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst;"
-   )
-
-   add_custom_target(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake  )
-   add_custom_target(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-   add_dependencies (ecosclean normalclean)
-
-
-   add_custom_target( listing
-      COMMAND echo -e   \"\\n--- Symbols sorted by address ---\\n\" > ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
-      COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -n ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
-      COMMAND echo -e \"\\n--- Symbols sorted by size ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
-      COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -r --size-sort ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
-      COMMAND echo -e \"\\n--- Full assembly listing ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
-      COMMAND ${ECOS_ARCH_PREFIX}objdump -S -x -d -C ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst )
-
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/UseJava.cmake b/share/cmake-3.6/Modules/UseJava.cmake
deleted file mode 100644
index 7b3416e..0000000
--- a/share/cmake-3.6/Modules/UseJava.cmake
+++ /dev/null
@@ -1,1290 +0,0 @@
-#.rst:
-# UseJava
-# -------
-#
-# Use Module for Java
-#
-# This file provides functions for Java.  It is assumed that
-# FindJava.cmake has already been loaded.  See FindJava.cmake for
-# information on how to load Java into your CMake project.
-#
-# ::
-#
-#  add_jar(target_name
-#          [SOURCES] source1 [source2 ...] [resource1 ...]
-#          [INCLUDE_JARS jar1 [jar2 ...]]
-#          [ENTRY_POINT entry]
-#          [VERSION version]
-#          [OUTPUT_NAME name]
-#          [OUTPUT_DIR dir]
-#          )
-#
-# This command creates a <target_name>.jar.  It compiles the given
-# source files (source) and adds the given resource files (resource) to
-# the jar file.  Source files can be java files or listing files
-# (prefixed by '@').  If only resource files are given then just a jar file
-# is created.  The list of include jars are added to the classpath when
-# compiling the java sources and also to the dependencies of the target.
-# INCLUDE_JARS also accepts other target names created by add_jar.  For
-# backwards compatibility, jar files listed as sources are ignored (as
-# they have been since the first version of this module).
-#
-# The default OUTPUT_DIR can also be changed by setting the variable
-# CMAKE_JAVA_TARGET_OUTPUT_DIR.
-#
-# Additional instructions:
-#
-# ::
-#
-#    To add compile flags to the target you can set these flags with
-#    the following variable:
-#
-#
-#
-# ::
-#
-#        set(CMAKE_JAVA_COMPILE_FLAGS -nowarn)
-#
-#
-#
-# ::
-#
-#    To add a path or a jar file to the class path you can do this
-#    with the CMAKE_JAVA_INCLUDE_PATH variable.
-#
-#
-#
-# ::
-#
-#        set(CMAKE_JAVA_INCLUDE_PATH /usr/share/java/shibboleet.jar)
-#
-#
-#
-# ::
-#
-#    To use a different output name for the target you can set it with:
-#
-#
-#
-# ::
-#
-#        add_jar(foobar foobar.java OUTPUT_NAME shibboleet.jar)
-#
-#
-#
-# ::
-#
-#    To use a different output directory than CMAKE_CURRENT_BINARY_DIR
-#    you can set it with:
-#
-#
-#
-# ::
-#
-#        add_jar(foobar foobar.java OUTPUT_DIR ${PROJECT_BINARY_DIR}/bin)
-#
-#
-#
-# ::
-#
-#    To define an entry point in your jar you can set it with the ENTRY_POINT
-#    named argument:
-#
-#
-#
-# ::
-#
-#        add_jar(example ENTRY_POINT com/examples/MyProject/Main)
-#
-#
-#
-# ::
-#
-#    To define a custom manifest for the jar, you can set it with the manifest
-#    named argument:
-#
-#
-#
-# ::
-#
-#        add_jar(example MANIFEST /path/to/manifest)
-#
-#
-#
-# ::
-#
-#    To add a VERSION to the target output name you can set it using
-#    the VERSION named argument to add_jar. This will create a jar file with the
-#    name shibboleet-1.0.0.jar and will create a symlink shibboleet.jar
-#    pointing to the jar with the version information.
-#
-#
-#
-# ::
-#
-#        add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
-#
-#
-#
-# ::
-#
-#     If the target is a JNI library, utilize the following commands to
-#     create a JNI symbolic link:
-#
-#
-#
-# ::
-#
-#        set(CMAKE_JNI_TARGET TRUE)
-#        add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
-#        install_jar(shibboleet ${LIB_INSTALL_DIR}/shibboleet)
-#        install_jni_symlink(shibboleet ${JAVA_LIB_INSTALL_DIR})
-#
-#
-#
-# ::
-#
-#     If a single target needs to produce more than one jar from its
-#     java source code, to prevent the accumulation of duplicate class
-#     files in subsequent jars, set/reset CMAKE_JAR_CLASSES_PREFIX prior
-#     to calling the add_jar() function:
-#
-#
-#
-# ::
-#
-#        set(CMAKE_JAR_CLASSES_PREFIX com/redhat/foo)
-#        add_jar(foo foo.java)
-#
-#
-#
-# ::
-#
-#        set(CMAKE_JAR_CLASSES_PREFIX com/redhat/bar)
-#        add_jar(bar bar.java)
-#
-#
-#
-# Target Properties:
-#
-# ::
-#
-#    The add_jar() function sets some target properties. You can get these
-#    properties with the
-#       get_property(TARGET <target_name> PROPERTY <propery_name>)
-#    command.
-#
-#
-#
-# ::
-#
-#    INSTALL_FILES      The files which should be installed. This is used by
-#                       install_jar().
-#    JNI_SYMLINK        The JNI symlink which should be installed.
-#                       This is used by install_jni_symlink().
-#    JAR_FILE           The location of the jar file so that you can include
-#                       it.
-#    CLASSDIR           The directory where the class files can be found. For
-#                       example to use them with javah.
-#
-# ::
-#
-#  find_jar(<VAR>
-#           name | NAMES name1 [name2 ...]
-#           [PATHS path1 [path2 ... ENV var]]
-#           [VERSIONS version1 [version2]]
-#           [DOC "cache documentation string"]
-#           )
-#
-# This command is used to find a full path to the named jar.  A cache
-# entry named by <VAR> is created to stor the result of this command.
-# If the full path to a jar is found the result is stored in the
-# variable and the search will not repeated unless the variable is
-# cleared.  If nothing is found, the result will be <VAR>-NOTFOUND, and
-# the search will be attempted again next time find_jar is invoked with
-# the same variable.  The name of the full path to a file that is
-# searched for is specified by the names listed after NAMES argument.
-# Additional search locations can be specified after the PATHS argument.
-# If you require special a version of a jar file you can specify it with
-# the VERSIONS argument.  The argument after DOC will be used for the
-# documentation string in the cache.
-#
-# ::
-#
-#  install_jar(target_name destination)
-#  install_jar(target_name DESTINATION destination [COMPONENT component])
-#
-# This command installs the TARGET_NAME files to the given DESTINATION.
-# It should be called in the same scope as add_jar() or it will fail.
-#
-# ::
-#
-#  install_jni_symlink(target_name destination)
-#  install_jni_symlink(target_name DESTINATION destination [COMPONENT component])
-#
-# This command installs the TARGET_NAME JNI symlinks to the given
-# DESTINATION.  It should be called in the same scope as add_jar() or it
-# will fail.
-#
-# ::
-#
-#  create_javadoc(<VAR>
-#                 PACKAGES pkg1 [pkg2 ...]
-#                 [SOURCEPATH <sourcepath>]
-#                 [CLASSPATH <classpath>]
-#                 [INSTALLPATH <install path>]
-#                 [DOCTITLE "the documentation title"]
-#                 [WINDOWTITLE "the title of the document"]
-#                 [AUTHOR TRUE|FALSE]
-#                 [USE TRUE|FALSE]
-#                 [VERSION TRUE|FALSE]
-#                 )
-#
-# Create java documentation based on files or packages.  For more
-# details please read the javadoc manpage.
-#
-# There are two main signatures for create_javadoc.  The first signature
-# works with package names on a path with source files:
-#
-# ::
-#
-#    Example:
-#    create_javadoc(my_example_doc
-#      PACKAGES com.exmaple.foo com.example.bar
-#      SOURCEPATH "${CMAKE_CURRENT_SOURCE_DIR}"
-#      CLASSPATH ${CMAKE_JAVA_INCLUDE_PATH}
-#      WINDOWTITLE "My example"
-#      DOCTITLE "<h1>My example</h1>"
-#      AUTHOR TRUE
-#      USE TRUE
-#      VERSION TRUE
-#    )
-#
-#
-#
-# The second signature for create_javadoc works on a given list of
-# files.
-#
-# ::
-#
-#    create_javadoc(<VAR>
-#                   FILES file1 [file2 ...]
-#                   [CLASSPATH <classpath>]
-#                   [INSTALLPATH <install path>]
-#                   [DOCTITLE "the documentation title"]
-#                   [WINDOWTITLE "the title of the document"]
-#                   [AUTHOR TRUE|FALSE]
-#                   [USE TRUE|FALSE]
-#                   [VERSION TRUE|FALSE]
-#                  )
-#
-#
-#
-# Example:
-#
-# ::
-#
-#    create_javadoc(my_example_doc
-#      FILES ${example_SRCS}
-#      CLASSPATH ${CMAKE_JAVA_INCLUDE_PATH}
-#      WINDOWTITLE "My example"
-#      DOCTITLE "<h1>My example</h1>"
-#      AUTHOR TRUE
-#      USE TRUE
-#      VERSION TRUE
-#    )
-#
-#
-#
-# Both signatures share most of the options.  These options are the same
-# as what you can find in the javadoc manpage.  Please look at the
-# manpage for CLASSPATH, DOCTITLE, WINDOWTITLE, AUTHOR, USE and VERSION.
-#
-# The documentation will be by default installed to
-#
-# ::
-#
-#    ${CMAKE_INSTALL_PREFIX}/share/javadoc/<VAR>
-#
-#
-#
-# if you don't set the INSTALLPATH.
-#
-# ::
-#
-#  create_javah(TARGET <target>
-#               GENERATED_FILES <VAR>
-#               CLASSES <class>...
-#               [CLASSPATH <classpath>...]
-#               [DEPENDS <depend>...]
-#               [OUTPUT_NAME <path>|OUTPUT_DIR <path>]
-#               )
-#
-# Create C header files from java classes. These files provide the connective glue
-# that allow your Java and C code to interact.
-#
-# There are two main signatures for create_javah.  The first signature
-# returns generated files through variable specified by GENERATED_FILES option:
-#
-# ::
-#
-#    Example:
-#    Create_javah(GENERATED_FILES files_headers
-#      CLASSES org.cmake.HelloWorld
-#      CLASSPATH hello.jar
-#    )
-#
-#
-#
-# The second signature for create_javah creates a target which encapsulates
-# header files generation.
-#
-# ::
-#
-#    Example:
-#    Create_javah(TARGET target_headers
-#      CLASSES org.cmake.HelloWorld
-#      CLASSPATH hello.jar
-#    )
-#
-#
-#
-# Both signatures share same options.
-#
-#  ``CLASSES <class>...``
-#    Specifies Java classes used to generate headers.
-#
-#  ``CLASSPATH <classpath>...``
-#    Specifies various paths to look up classes. Here .class files, jar files or targets
-#    created by command add_jar can be used.
-#
-#  ``DEPENDS <depend>...``
-#    Targets on which the javah target depends
-#
-#  ``OUTPUT_NAME <path>``
-#    Concatenates the resulting header files for all the classes listed by option CLASSES
-#    into <path>. Same behavior as option '-o' of javah tool.
-#
-#  ``OUTPUT_DIR <path>``
-#    Sets the directory where the header files will be generated. Same behavior as option
-#    '-d' of javah tool. If not specified, ${CMAKE_CURRENT_BINARY_DIR} is used as output directory.
-
-#=============================================================================
-# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
-# Copyright 2010-2011 Andreas schneider <asn@redhat.com>
-# Copyright 2010-2013 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-
-function (__java_copy_file src dest comment)
-    add_custom_command(
-        OUTPUT  ${dest}
-        COMMAND ${CMAKE_COMMAND} -E copy_if_different
-        ARGS    ${src}
-                ${dest}
-        DEPENDS ${src}
-        COMMENT ${comment})
-endfunction ()
-
-# define helper scripts
-set(_JAVA_CLASS_FILELIST_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaClassFilelist.cmake)
-set(_JAVA_SYMLINK_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaSymlinks.cmake)
-
-function(add_jar _TARGET_NAME)
-
-    cmake_parse_arguments(_add_jar
-      ""
-      "VERSION;OUTPUT_DIR;OUTPUT_NAME;ENTRY_POINT;MANIFEST"
-      "SOURCES;INCLUDE_JARS"
-      ${ARGN}
-    )
-
-    # In CMake < 2.8.12, add_jar used variables which were set prior to calling
-    # add_jar for customizing the behavior of add_jar. In order to be backwards
-    # compatible, check if any of those variables are set, and use them to
-    # initialize values of the named arguments. (Giving the corresponding named
-    # argument will override the value set here.)
-    #
-    # New features should use named arguments only.
-    if(NOT DEFINED _add_jar_VERSION AND DEFINED CMAKE_JAVA_TARGET_VERSION)
-        set(_add_jar_VERSION "${CMAKE_JAVA_TARGET_VERSION}")
-    endif()
-    if(NOT DEFINED _add_jar_OUTPUT_DIR AND DEFINED CMAKE_JAVA_TARGET_OUTPUT_DIR)
-        set(_add_jar_OUTPUT_DIR "${CMAKE_JAVA_TARGET_OUTPUT_DIR}")
-    endif()
-    if(NOT DEFINED _add_jar_OUTPUT_NAME AND DEFINED CMAKE_JAVA_TARGET_OUTPUT_NAME)
-        set(_add_jar_OUTPUT_NAME "${CMAKE_JAVA_TARGET_OUTPUT_NAME}")
-        # reset
-        set(CMAKE_JAVA_TARGET_OUTPUT_NAME)
-    endif()
-    if(NOT DEFINED _add_jar_ENTRY_POINT AND DEFINED CMAKE_JAVA_JAR_ENTRY_POINT)
-        set(_add_jar_ENTRY_POINT "${CMAKE_JAVA_JAR_ENTRY_POINT}")
-    endif()
-
-    set(_JAVA_SOURCE_FILES ${_add_jar_SOURCES} ${_add_jar_UNPARSED_ARGUMENTS})
-
-    if (NOT DEFINED _add_jar_OUTPUT_DIR)
-        set(_add_jar_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
-    endif()
-
-    if (_add_jar_ENTRY_POINT)
-        set(_ENTRY_POINT_OPTION e)
-        set(_ENTRY_POINT_VALUE ${_add_jar_ENTRY_POINT})
-    endif ()
-
-    if (_add_jar_MANIFEST)
-        set(_MANIFEST_OPTION m)
-        get_filename_component (_MANIFEST_VALUE "${_add_jar_MANIFEST}" ABSOLUTE)
-    endif ()
-
-    if (LIBRARY_OUTPUT_PATH)
-        set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH})
-    else ()
-        set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${_add_jar_OUTPUT_DIR})
-    endif ()
-
-    set(CMAKE_JAVA_INCLUDE_PATH
-        ${CMAKE_JAVA_INCLUDE_PATH}
-        ${CMAKE_CURRENT_SOURCE_DIR}
-        ${CMAKE_JAVA_OBJECT_OUTPUT_PATH}
-        ${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 ${CMAKE_JAVA_INCLUDE_PATH})
-       set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
-    endforeach()
-
-    set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
-
-    set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
-    if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
-        set(_JAVA_TARGET_OUTPUT_NAME "${_add_jar_OUTPUT_NAME}-${_add_jar_VERSION}.jar")
-        set(_JAVA_TARGET_OUTPUT_LINK "${_add_jar_OUTPUT_NAME}.jar")
-    elseif (_add_jar_VERSION)
-        set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}-${_add_jar_VERSION}.jar")
-        set(_JAVA_TARGET_OUTPUT_LINK "${_TARGET_NAME}.jar")
-    elseif (_add_jar_OUTPUT_NAME)
-        set(_JAVA_TARGET_OUTPUT_NAME "${_add_jar_OUTPUT_NAME}.jar")
-    endif ()
-
-    set(_JAVA_CLASS_FILES)
-    set(_JAVA_COMPILE_FILES)
-    set(_JAVA_COMPILE_FILELISTS)
-    set(_JAVA_DEPENDS)
-    set(_JAVA_COMPILE_DEPENDS)
-    set(_JAVA_RESOURCE_FILES)
-    set(_JAVA_RESOURCE_FILES_RELATIVE)
-    foreach(_JAVA_SOURCE_FILE ${_JAVA_SOURCE_FILES})
-        get_filename_component(_JAVA_EXT ${_JAVA_SOURCE_FILE} EXT)
-        get_filename_component(_JAVA_FILE ${_JAVA_SOURCE_FILE} NAME_WE)
-        get_filename_component(_JAVA_PATH ${_JAVA_SOURCE_FILE} PATH)
-        get_filename_component(_JAVA_FULL ${_JAVA_SOURCE_FILE} ABSOLUTE)
-
-        if (_JAVA_SOURCE_FILE MATCHES "^@(.+)$")
-            get_filename_component(_JAVA_FULL ${CMAKE_MATCH_1} ABSOLUTE)
-            list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
-
-        elseif (_JAVA_EXT MATCHES ".java")
-            file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${_add_jar_OUTPUT_DIR} ${_JAVA_FULL})
-            file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
-            string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
-            string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
-            if (${_BIN_LEN} LESS ${_SRC_LEN})
-                set(_JAVA_REL_PATH ${_JAVA_REL_BINARY_PATH})
-            else ()
-                set(_JAVA_REL_PATH ${_JAVA_REL_SOURCE_PATH})
-            endif ()
-            get_filename_component(_JAVA_REL_PATH ${_JAVA_REL_PATH} PATH)
-
-            list(APPEND _JAVA_COMPILE_FILES ${_JAVA_SOURCE_FILE})
-            set(_JAVA_CLASS_FILE "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_REL_PATH}/${_JAVA_FILE}.class")
-            set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES} ${_JAVA_CLASS_FILE})
-
-        elseif (_JAVA_EXT MATCHES ".jar"
-                OR _JAVA_EXT MATCHES ".war"
-                OR _JAVA_EXT MATCHES ".ear"
-                OR _JAVA_EXT MATCHES ".sar")
-            # Ignored for backward compatibility
-
-        elseif (_JAVA_EXT STREQUAL "")
-            list(APPEND CMAKE_JAVA_INCLUDE_PATH ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}} ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}_CLASSPATH})
-            list(APPEND _JAVA_DEPENDS ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}})
-
-        else ()
-            __java_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/${_JAVA_SOURCE_FILE}
-                             ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE}
-                             "Copying ${_JAVA_SOURCE_FILE} to the build directory")
-            list(APPEND _JAVA_RESOURCE_FILES ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE})
-            list(APPEND _JAVA_RESOURCE_FILES_RELATIVE ${_JAVA_SOURCE_FILE})
-        endif ()
-    endforeach()
-
-    foreach(_JAVA_INCLUDE_JAR ${_add_jar_INCLUDE_JARS})
-        if (TARGET ${_JAVA_INCLUDE_JAR})
-            get_target_property(_JAVA_JAR_PATH ${_JAVA_INCLUDE_JAR} JAR_FILE)
-            if (_JAVA_JAR_PATH)
-                set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_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_INCLUDE_JAR})
-            else ()
-                message(SEND_ERROR "add_jar: INCLUDE_JARS target ${_JAVA_INCLUDE_JAR} is not a jar")
-            endif ()
-        else ()
-            set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_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}")
-        endif ()
-    endforeach()
-
-    # create an empty java_class_filelist
-    if (NOT EXISTS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist)
-        file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist "")
-    endif()
-
-    if (_JAVA_COMPILE_FILES OR _JAVA_COMPILE_FILELISTS)
-        set (_JAVA_SOURCES_FILELISTS)
-
-        if (_JAVA_COMPILE_FILES)
-            # Create the list of files to compile.
-            set(_JAVA_SOURCES_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_sources)
-            string(REPLACE ";" "\"\n\"" _JAVA_COMPILE_STRING "\"${_JAVA_COMPILE_FILES}\"")
-            file(WRITE ${_JAVA_SOURCES_FILE} ${_JAVA_COMPILE_STRING})
-            list (APPEND _JAVA_SOURCES_FILELISTS "@${_JAVA_SOURCES_FILE}")
-        endif()
-        if (_JAVA_COMPILE_FILELISTS)
-            foreach (_JAVA_FILELIST IN LISTS _JAVA_COMPILE_FILELISTS)
-                list (APPEND _JAVA_SOURCES_FILELISTS "@${_JAVA_FILELIST}")
-            endforeach()
-        endif()
-
-        # Compile the java files and create a list of class files
-        add_custom_command(
-            # NOTE: this command generates an artificial dependency file
-            OUTPUT ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
-            COMMAND ${Java_JAVAC_EXECUTABLE}
-                ${CMAKE_JAVA_COMPILE_FLAGS}
-                -classpath "${CMAKE_JAVA_INCLUDE_PATH_FINAL}"
-                -d ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
-                ${_JAVA_SOURCES_FILELISTS}
-            COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
-            DEPENDS ${_JAVA_COMPILE_FILES} ${_JAVA_COMPILE_FILELISTS} ${_JAVA_COMPILE_DEPENDS}
-            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-            COMMENT "Building Java objects for ${_TARGET_NAME}.jar"
-        )
-        add_custom_command(
-            OUTPUT ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
-            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}
-            DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
-            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-        )
-    endif ()
-
-    # create the jar file
-    set(_JAVA_JAR_OUTPUT_PATH
-      ${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_NAME})
-    if (CMAKE_JNI_TARGET)
-        add_custom_command(
-            OUTPUT ${_JAVA_JAR_OUTPUT_PATH}
-            COMMAND ${Java_JAR_EXECUTABLE}
-                -cf${_ENTRY_POINT_OPTION}${_MANIFEST_OPTION} ${_JAVA_JAR_OUTPUT_PATH} ${_ENTRY_POINT_VALUE} ${_MANIFEST_VALUE}
-                ${_JAVA_RESOURCE_FILES_RELATIVE} @java_class_filelist
-            COMMAND ${CMAKE_COMMAND}
-                -D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
-                -D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_TARGET_OUTPUT_NAME}
-                -D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
-                -P ${_JAVA_SYMLINK_SCRIPT}
-            COMMAND ${CMAKE_COMMAND}
-                -D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
-                -D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_JAR_OUTPUT_PATH}
-                -D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
-                -P ${_JAVA_SYMLINK_SCRIPT}
-            DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
-            WORKING_DIRECTORY ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
-            COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}"
-        )
-    else ()
-        add_custom_command(
-            OUTPUT ${_JAVA_JAR_OUTPUT_PATH}
-            COMMAND ${Java_JAR_EXECUTABLE}
-                -cf${_ENTRY_POINT_OPTION}${_MANIFEST_OPTION} ${_JAVA_JAR_OUTPUT_PATH} ${_ENTRY_POINT_VALUE} ${_MANIFEST_VALUE}
-                ${_JAVA_RESOURCE_FILES_RELATIVE} @java_class_filelist
-            COMMAND ${CMAKE_COMMAND}
-                -D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
-                -D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_TARGET_OUTPUT_NAME}
-                -D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
-                -P ${_JAVA_SYMLINK_SCRIPT}
-            WORKING_DIRECTORY ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
-            DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
-            COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}"
-        )
-    endif ()
-
-    # Add the target and make sure we have the latest resource files.
-    add_custom_target(${_TARGET_NAME} ALL DEPENDS ${_JAVA_JAR_OUTPUT_PATH})
-
-    set_property(
-        TARGET
-            ${_TARGET_NAME}
-        PROPERTY
-            INSTALL_FILES
-                ${_JAVA_JAR_OUTPUT_PATH}
-    )
-
-    if (_JAVA_TARGET_OUTPUT_LINK)
-        set_property(
-            TARGET
-                ${_TARGET_NAME}
-            PROPERTY
-                INSTALL_FILES
-                    ${_JAVA_JAR_OUTPUT_PATH}
-                    ${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
-        )
-
-        if (CMAKE_JNI_TARGET)
-            set_property(
-                TARGET
-                    ${_TARGET_NAME}
-                PROPERTY
-                    JNI_SYMLINK
-                        ${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
-            )
-        endif ()
-    endif ()
-
-    set_property(
-        TARGET
-            ${_TARGET_NAME}
-        PROPERTY
-            JAR_FILE
-                ${_JAVA_JAR_OUTPUT_PATH}
-    )
-
-    set_property(
-        TARGET
-            ${_TARGET_NAME}
-        PROPERTY
-            CLASSDIR
-                ${CMAKE_JAVA_CLASS_OUTPUT_PATH}
-    )
-
-endfunction()
-
-function(INSTALL_JAR _TARGET_NAME)
-    if (ARGC EQUAL 2)
-      set (_DESTINATION ${ARGV1})
-    else()
-      cmake_parse_arguments(_install_jar
-        ""
-        "DESTINATION;COMPONENT"
-        ""
-        ${ARGN})
-      if (_install_jar_DESTINATION)
-        set (_DESTINATION ${_install_jar_DESTINATION})
-      else()
-        message(SEND_ERROR "install_jar: ${_TARGET_NAME}: DESTINATION must be specified.")
-      endif()
-
-      if (_install_jar_COMPONENT)
-        set (_COMPONENT COMPONENT ${_install_jar_COMPONENT})
-      endif()
-    endif()
-
-    get_property(__FILES
-        TARGET
-            ${_TARGET_NAME}
-        PROPERTY
-            INSTALL_FILES
-    )
-
-    if (__FILES)
-        install(
-            FILES
-                ${__FILES}
-            DESTINATION
-                ${_DESTINATION}
-            ${_COMPONENT}
-        )
-    else ()
-        message(SEND_ERROR "install_jar: The target ${_TARGET_NAME} is not known in this scope.")
-    endif ()
-endfunction()
-
-function(INSTALL_JNI_SYMLINK _TARGET_NAME)
-    if (ARGC EQUAL 2)
-      set (_DESTINATION ${ARGV1})
-    else()
-      cmake_parse_arguments(_install_jni_symlink
-        ""
-        "DESTINATION;COMPONENT"
-        ""
-        ${ARGN})
-      if (_install_jni_symlink_DESTINATION)
-        set (_DESTINATION ${_install_jni_symlink_DESTINATION})
-      else()
-        message(SEND_ERROR "install_jni_symlink: ${_TARGET_NAME}: DESTINATION must be specified.")
-      endif()
-
-      if (_install_jni_symlink_COMPONENT)
-        set (_COMPONENT COMPONENT ${_install_jni_symlink_COMPONENT})
-      endif()
-    endif()
-
-    get_property(__SYMLINK
-        TARGET
-            ${_TARGET_NAME}
-        PROPERTY
-            JNI_SYMLINK
-    )
-
-    if (__SYMLINK)
-        install(
-            FILES
-                ${__SYMLINK}
-            DESTINATION
-                ${_DESTINATION}
-            ${_COMPONENT}
-        )
-    else ()
-        message(SEND_ERROR "install_jni_symlink: The target ${_TARGET_NAME} is not known in this scope.")
-    endif ()
-endfunction()
-
-function (find_jar VARIABLE)
-    set(_jar_names)
-    set(_jar_files)
-    set(_jar_versions)
-    set(_jar_paths
-        /usr/share/java/
-        /usr/local/share/java/
-        ${Java_JAR_PATHS})
-    set(_jar_doc "NOTSET")
-
-    set(_state "name")
-
-    foreach (arg ${ARGN})
-        if (${_state} STREQUAL "name")
-            if (${arg} STREQUAL "VERSIONS")
-                set(_state "versions")
-            elseif (${arg} STREQUAL "NAMES")
-                set(_state "names")
-            elseif (${arg} STREQUAL "PATHS")
-                set(_state "paths")
-            elseif (${arg} STREQUAL "DOC")
-                set(_state "doc")
-            else ()
-                set(_jar_names ${arg})
-                if (_jar_doc STREQUAL "NOTSET")
-                    set(_jar_doc "Finding ${arg} jar")
-                endif ()
-            endif ()
-        elseif (${_state} STREQUAL "versions")
-            if (${arg} STREQUAL "NAMES")
-                set(_state "names")
-            elseif (${arg} STREQUAL "PATHS")
-                set(_state "paths")
-            elseif (${arg} STREQUAL "DOC")
-                set(_state "doc")
-            else ()
-                set(_jar_versions ${_jar_versions} ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "names")
-            if (${arg} STREQUAL "VERSIONS")
-                set(_state "versions")
-            elseif (${arg} STREQUAL "PATHS")
-                set(_state "paths")
-            elseif (${arg} STREQUAL "DOC")
-                set(_state "doc")
-            else ()
-                set(_jar_names ${_jar_names} ${arg})
-                if (_jar_doc STREQUAL "NOTSET")
-                    set(_jar_doc "Finding ${arg} jar")
-                endif ()
-            endif ()
-        elseif (${_state} STREQUAL "paths")
-            if (${arg} STREQUAL "VERSIONS")
-                set(_state "versions")
-            elseif (${arg} STREQUAL "NAMES")
-                set(_state "names")
-            elseif (${arg} STREQUAL "DOC")
-                set(_state "doc")
-            else ()
-                set(_jar_paths ${_jar_paths} ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "doc")
-            if (${arg} STREQUAL "VERSIONS")
-                set(_state "versions")
-            elseif (${arg} STREQUAL "NAMES")
-                set(_state "names")
-            elseif (${arg} STREQUAL "PATHS")
-                set(_state "paths")
-            else ()
-                set(_jar_doc ${arg})
-            endif ()
-        endif ()
-    endforeach ()
-
-    if (NOT _jar_names)
-        message(FATAL_ERROR "find_jar: No name to search for given")
-    endif ()
-
-    foreach (jar_name ${_jar_names})
-        foreach (version ${_jar_versions})
-            set(_jar_files ${_jar_files} ${jar_name}-${version}.jar)
-        endforeach ()
-        set(_jar_files ${_jar_files} ${jar_name}.jar)
-    endforeach ()
-
-    find_file(${VARIABLE}
-        NAMES   ${_jar_files}
-        PATHS   ${_jar_paths}
-        DOC     ${_jar_doc}
-        NO_DEFAULT_PATH)
-endfunction ()
-
-function(create_javadoc _target)
-    set(_javadoc_packages)
-    set(_javadoc_files)
-    set(_javadoc_sourcepath)
-    set(_javadoc_classpath)
-    set(_javadoc_installpath "${CMAKE_INSTALL_PREFIX}/share/javadoc")
-    set(_javadoc_doctitle)
-    set(_javadoc_windowtitle)
-    set(_javadoc_author FALSE)
-    set(_javadoc_version FALSE)
-    set(_javadoc_use FALSE)
-
-    set(_state "package")
-
-    foreach (arg ${ARGN})
-        if (${_state} STREQUAL "package")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_packages ${arg})
-                set(_state "packages")
-            endif ()
-        elseif (${_state} STREQUAL "packages")
-            if (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                list(APPEND _javadoc_packages ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "files")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                list(APPEND _javadoc_files ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "sourcepath")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                list(APPEND _javadoc_sourcepath ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "classpath")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                list(APPEND _javadoc_classpath ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "installpath")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_installpath ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "doctitle")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_doctitle ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "windowtitle")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_windowtitle ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "author")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_author ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "use")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_use ${arg})
-            endif ()
-        elseif (${_state} STREQUAL "version")
-            if (${arg} STREQUAL "PACKAGES")
-                set(_state "packages")
-            elseif (${arg} STREQUAL "FILES")
-                set(_state "files")
-            elseif (${arg} STREQUAL "SOURCEPATH")
-                set(_state "sourcepath")
-            elseif (${arg} STREQUAL "CLASSPATH")
-                set(_state "classpath")
-            elseif (${arg} STREQUAL "INSTALLPATH")
-                set(_state "installpath")
-            elseif (${arg} STREQUAL "DOCTITLE")
-                set(_state "doctitle")
-            elseif (${arg} STREQUAL "WINDOWTITLE")
-                set(_state "windowtitle")
-            elseif (${arg} STREQUAL "AUTHOR")
-                set(_state "author")
-            elseif (${arg} STREQUAL "USE")
-                set(_state "use")
-            elseif (${arg} STREQUAL "VERSION")
-                set(_state "version")
-            else ()
-                set(_javadoc_version ${arg})
-            endif ()
-        endif ()
-    endforeach ()
-
-    set(_javadoc_builddir ${CMAKE_CURRENT_BINARY_DIR}/javadoc/${_target})
-    set(_javadoc_options -d ${_javadoc_builddir})
-
-    if (_javadoc_sourcepath)
-        set(_start TRUE)
-        foreach(_path ${_javadoc_sourcepath})
-            if (_start)
-                set(_sourcepath ${_path})
-                set(_start FALSE)
-            else ()
-                set(_sourcepath ${_sourcepath}:${_path})
-            endif ()
-        endforeach()
-        set(_javadoc_options ${_javadoc_options} -sourcepath ${_sourcepath})
-    endif ()
-
-    if (_javadoc_classpath)
-        set(_start TRUE)
-        foreach(_path ${_javadoc_classpath})
-            if (_start)
-                set(_classpath ${_path})
-                set(_start FALSE)
-            else ()
-                set(_classpath ${_classpath}:${_path})
-            endif ()
-        endforeach()
-        set(_javadoc_options ${_javadoc_options} -classpath "${_classpath}")
-    endif ()
-
-    if (_javadoc_doctitle)
-        set(_javadoc_options ${_javadoc_options} -doctitle '${_javadoc_doctitle}')
-    endif ()
-
-    if (_javadoc_windowtitle)
-        set(_javadoc_options ${_javadoc_options} -windowtitle '${_javadoc_windowtitle}')
-    endif ()
-
-    if (_javadoc_author)
-        set(_javadoc_options ${_javadoc_options} -author)
-    endif ()
-
-    if (_javadoc_use)
-        set(_javadoc_options ${_javadoc_options} -use)
-    endif ()
-
-    if (_javadoc_version)
-        set(_javadoc_options ${_javadoc_options} -version)
-    endif ()
-
-    add_custom_target(${_target}_javadoc ALL
-        COMMAND ${Java_JAVADOC_EXECUTABLE} ${_javadoc_options}
-                            ${_javadoc_files}
-                            ${_javadoc_packages}
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    )
-
-    install(
-        DIRECTORY ${_javadoc_builddir}
-        DESTINATION ${_javadoc_installpath}
-    )
-endfunction()
-
-function (create_javah)
-    cmake_parse_arguments(_create_javah
-      ""
-      "TARGET;GENERATED_FILES;OUTPUT_NAME;OUTPUT_DIR"
-      "CLASSES;CLASSPATH;DEPENDS"
-      ${ARGN})
-
-    # ckeck parameters
-    if (NOT _create_javah_TARGET AND NOT _create_javah_GENERATED_FILES)
-      message (FATAL_ERROR "create_javah: TARGET or GENERATED_FILES must be specified.")
-    endif()
-    if (_create_javah_OUTPUT_NAME AND _create_javah_OUTPUT_DIR)
-      message (FATAL_ERROR "create_javah: OUTPUT_NAME and OUTPUT_DIR are mutually exclusive.")
-    endif()
-
-    if (NOT _create_javah_CLASSES)
-      message (FATAL_ERROR "create_javah: CLASSES is a required parameter.")
-    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)
-
-    if (_create_javah_CLASSPATH)
-      # CLASSPATH can specify directories, jar files or targets created with add_jar command
-      set (_classpath)
-      foreach (_path IN LISTS _create_javah_CLASSPATH)
-        if (TARGET ${_path})
-          get_target_property (_jar_path ${_path} JAR_FILE)
-          if (_jar_path)
-            list (APPEND _classpath "${_jar_path}")
-            list (APPEND _create_javah_DEPENDS "${_path}")
-          else()
-            message(SEND_ERROR "create_javah: CLASSPATH target ${_path} is not a jar.")
-          endif()
-        elseif (EXISTS "${_path}")
-          list (APPEND _classpath "${_path}")
-          if (NOT IS_DIRECTORY "${_path}")
-            list (APPEND _create_javah_DEPENDS "${_path}")
-          endif()
-        else()
-          message(SEND_ERROR "create_javah: CLASSPATH entry ${_path} does not exist.")
-        endif()
-      endforeach()
-      string (REPLACE ";" "${_classpath_sep}" _classpath "${_classpath}")
-      list (APPEND _javah_options -classpath "${_classpath}")
-    endif()
-
-    if (_create_javah_OUTPUT_DIR)
-      list (APPEND _javah_options -d "${_create_javah_OUTPUT_DIR}")
-    endif()
-
-    if (_create_javah_OUTPUT_NAME)
-      list (APPEND _javah_options -o "${_create_javah_OUTPUT_NAME}")
-      set (_output_files "${_create_javah_OUTPUT_NAME}")
-
-      get_filename_component (_create_javah_OUTPUT_DIR "${_create_javah_OUTPUT_NAME}" DIRECTORY)
-      get_filename_component (_create_javah_OUTPUT_DIR "${_create_javah_OUTPUT_DIR}" ABSOLUTE)
-    endif()
-
-    if (NOT _create_javah_OUTPUT_DIR)
-      set (_create_javah_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
-    endif()
-
-    if (NOT _create_javah_OUTPUT_NAME)
-      # compute output names
-      foreach (_class IN LISTS _create_javah_CLASSES)
-        string (REPLACE "." "_" _c_header "${_class}")
-        set (_c_header  "${_create_javah_OUTPUT_DIR}/${_c_header}.h")
-        list (APPEND _output_files "${_c_header}")
-      endforeach()
-    endif()
-
-    # finalize custom command arguments
-    if (_create_javah_DEPENDS)
-      list (INSERT _create_javah_DEPENDS 0 DEPENDS)
-    endif()
-
-    add_custom_command (OUTPUT ${_output_files}
-      COMMAND "${Java_JAVAH_EXECUTABLE}" ${_javah_options} -jni ${_create_javah_CLASSES}
-      ${_create_javah_DEPENDS}
-      WORKING_DIRECTORY ${_create_javah_OUTPUT_DIR}
-      COMMENT "Building C header files from classes...")
-
-    if (_create_javah_TARGET)
-      add_custom_target (${_create_javah_TARGET} ALL DEPENDS ${_output_files})
-    endif()
-    if (_create_javah_GENERATED_FILES)
-      set (${_create_javah_GENERATED_FILES} ${_output_files} PARENT_SCOPE)
-    endif()
-endfunction()
diff --git a/share/cmake-3.6/Modules/UseJavaClassFilelist.cmake b/share/cmake-3.6/Modules/UseJavaClassFilelist.cmake
deleted file mode 100644
index e8e6f01..0000000
--- a/share/cmake-3.6/Modules/UseJavaClassFilelist.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-#.rst:
-# UseJavaClassFilelist
-# --------------------
-#
-#
-#
-#
-#
-# This script create a list of compiled Java class files to be added to
-# a jar file.  This avoids including cmake files which get created in
-# the binary directory.
-
-#=============================================================================
-# Copyright 2010-2011 Andreas schneider <asn@redhat.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
-    if (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
-
-        set(_JAVA_GLOBBED_FILES)
-        if (CMAKE_JAR_CLASSES_PREFIX)
-            foreach(JAR_CLASS_PREFIX ${CMAKE_JAR_CLASSES_PREFIX})
-                message(STATUS "JAR_CLASS_PREFIX: ${JAR_CLASS_PREFIX}")
-
-                file(GLOB_RECURSE _JAVA_GLOBBED_TMP_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${JAR_CLASS_PREFIX}/*.class")
-                if (_JAVA_GLOBBED_TMP_FILES)
-                    list(APPEND _JAVA_GLOBBED_FILES ${_JAVA_GLOBBED_TMP_FILES})
-                endif ()
-            endforeach()
-        else()
-            file(GLOB_RECURSE _JAVA_GLOBBED_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/*.class")
-        endif ()
-
-        set(_JAVA_CLASS_FILES)
-        # file(GLOB_RECURSE foo RELATIVE) is broken so we need this.
-        foreach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES})
-            file(RELATIVE_PATH _JAVA_CLASS_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH} ${_JAVA_GLOBBED_FILE})
-            set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n)
-        endforeach()
-
-        # write to file
-        file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist ${_JAVA_CLASS_FILES})
-
-    else ()
-        message(SEND_ERROR "FATAL: Java class output path doesn't exist")
-    endif ()
-else ()
-    message(SEND_ERROR "FATAL: Can't find CMAKE_JAVA_CLASS_OUTPUT_PATH")
-endif ()
diff --git a/share/cmake-3.6/Modules/UseJavaSymlinks.cmake b/share/cmake-3.6/Modules/UseJavaSymlinks.cmake
deleted file mode 100644
index 90ffdd5..0000000
--- a/share/cmake-3.6/Modules/UseJavaSymlinks.cmake
+++ /dev/null
@@ -1,38 +0,0 @@
-#.rst:
-# UseJavaSymlinks
-# ---------------
-#
-#
-#
-#
-#
-# Helper script for UseJava.cmake
-
-#=============================================================================
-# Copyright 2010-2011 Andreas schneider <asn@redhat.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if (UNIX AND _JAVA_TARGET_OUTPUT_LINK)
-    if (_JAVA_TARGET_OUTPUT_NAME)
-        find_program(LN_EXECUTABLE
-            NAMES
-                ln
-        )
-
-        execute_process(
-            COMMAND ${LN_EXECUTABLE} -sf "${_JAVA_TARGET_OUTPUT_NAME}" "${_JAVA_TARGET_OUTPUT_LINK}"
-            WORKING_DIRECTORY ${_JAVA_TARGET_DIR}
-        )
-    else ()
-        message(SEND_ERROR "FATAL: Can't find _JAVA_TARGET_OUTPUT_NAME")
-    endif ()
-endif ()
diff --git a/share/cmake-3.6/Modules/UsePkgConfig.cmake b/share/cmake-3.6/Modules/UsePkgConfig.cmake
deleted file mode 100644
index 6a38502..0000000
--- a/share/cmake-3.6/Modules/UsePkgConfig.cmake
+++ /dev/null
@@ -1,84 +0,0 @@
-#.rst:
-# UsePkgConfig
-# ------------
-#
-# Obsolete pkg-config module for CMake, use FindPkgConfig instead.
-#
-#
-#
-# This module defines the following macro:
-#
-# PKGCONFIG(package includedir libdir linkflags cflags)
-#
-# Calling PKGCONFIG will fill the desired information into the 4 given
-# arguments, e.g.  PKGCONFIG(libart-2.0 LIBART_INCLUDE_DIR
-# LIBART_LINK_DIR LIBART_LINK_FLAGS LIBART_CFLAGS) if pkg-config was NOT
-# found or the specified software package doesn't exist, the variable
-# will be empty when the function returns, otherwise they will contain
-# the respective information
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_program(PKGCONFIG_EXECUTABLE NAMES pkg-config )
-
-macro(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
-  message(STATUS
-    "WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig")
-# reset the variables at the beginning
-  set(${_include_DIR})
-  set(${_link_DIR})
-  set(${_link_FLAGS})
-  set(${_cflags})
-
-  # if pkg-config has been found
-  if(PKGCONFIG_EXECUTABLE)
-
-    exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
-
-    # and if the package of interest also exists for pkg-config, then get the information
-    if(NOT _return_VALUE)
-
-      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir
-        OUTPUT_VARIABLE ${_include_DIR} )
-      string(REGEX REPLACE "[\r\n]" " " ${_include_DIR} "${${_include_DIR}}")
-
-
-      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir
-        OUTPUT_VARIABLE ${_link_DIR} )
-      string(REGEX REPLACE "[\r\n]" " " ${_link_DIR} "${${_link_DIR}}")
-
-      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs
-        OUTPUT_VARIABLE ${_link_FLAGS} )
-      string(REGEX REPLACE "[\r\n]" " " ${_link_FLAGS} "${${_link_FLAGS}}")
-
-      exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags
-        OUTPUT_VARIABLE ${_cflags} )
-      string(REGEX REPLACE "[\r\n]" " " ${_cflags} "${${_cflags}}")
-
-    else()
-
-      message(STATUS "PKGCONFIG() indicates that ${_package} is not installed (install the package which contains ${_package}.pc if you want to support this feature)")
-
-    endif()
-
-  # if pkg-config has NOT been found, INFORM the user
-  else()
-
-    message(STATUS "WARNING: PKGCONFIG() indicates that the tool pkg-config has not been found on your system. You should install it.")
-
-  endif()
-
-endmacro()
-
-mark_as_advanced(PKGCONFIG_EXECUTABLE)
diff --git a/share/cmake-3.6/Modules/UseQt4.cmake b/share/cmake-3.6/Modules/UseQt4.cmake
deleted file mode 100644
index cba22af..0000000
--- a/share/cmake-3.6/Modules/UseQt4.cmake
+++ /dev/null
@@ -1,117 +0,0 @@
-#.rst:
-# UseQt4
-# ------
-#
-# Use Module for QT4
-#
-# Sets up C and C++ to use Qt 4.  It is assumed that FindQt.cmake has
-# already been loaded.  See FindQt.cmake for information on how to load
-# Qt 4 into your CMake project.
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-add_definitions(${QT_DEFINITIONS})
-set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
-
-if(QT_INCLUDE_DIRS_NO_SYSTEM)
-  include_directories(${QT_INCLUDE_DIR})
-else(QT_INCLUDE_DIRS_NO_SYSTEM)
-  include_directories(SYSTEM ${QT_INCLUDE_DIR})
-endif(QT_INCLUDE_DIRS_NO_SYSTEM)
-
-set(QT_LIBRARIES "")
-set(QT_LIBRARIES_PLUGINS "")
-
-if (QT_USE_QTMAIN)
-  if (Q_WS_WIN)
-    set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
-  endif ()
-endif ()
-
-if(QT_DONT_USE_QTGUI)
-  set(QT_USE_QTGUI 0)
-else()
-  set(QT_USE_QTGUI 1)
-endif()
-
-if(QT_DONT_USE_QTCORE)
-  set(QT_USE_QTCORE 0)
-else()
-  set(QT_USE_QTCORE 1)
-endif()
-
-if (QT_USE_QT3SUPPORT)
-  add_definitions(-DQT3_SUPPORT)
-endif ()
-
-# list dependent modules, so dependent libraries are added
-set(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
-set(QT_QTSVG_MODULE_DEPENDS QTGUI QTCORE)
-set(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE)
-set(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
-if(QT_QTDBUS_FOUND)
-  set(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE)
-else()
-  set(QT_PHONON_MODULE_DEPENDS QTGUI QTCORE)
-endif()
-set(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE)
-set(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE)
-set(QT_QAXCONTAINER_MODULE_DEPENDS QTGUI QTCORE)
-set(QT_QAXSERVER_MODULE_DEPENDS QTGUI QTCORE)
-set(QT_QTSCRIPTTOOLS_MODULE_DEPENDS QTGUI QTCORE)
-set(QT_QTWEBKIT_MODULE_DEPENDS QTXMLPATTERNS QTGUI QTCORE)
-set(QT_QTDECLARATIVE_MODULE_DEPENDS QTSCRIPT QTSVG QTSQL QTXMLPATTERNS QTGUI QTCORE)
-set(QT_QTMULTIMEDIA_MODULE_DEPENDS QTGUI QTCORE)
-set(QT_QTOPENGL_MODULE_DEPENDS QTGUI QTCORE)
-set(QT_QTSCRIPT_MODULE_DEPENDS QTCORE)
-set(QT_QTGUI_MODULE_DEPENDS QTCORE)
-set(QT_QTTEST_MODULE_DEPENDS QTCORE)
-set(QT_QTXML_MODULE_DEPENDS QTCORE)
-set(QT_QTSQL_MODULE_DEPENDS QTCORE)
-set(QT_QTNETWORK_MODULE_DEPENDS QTCORE)
-
-# Qt modules  (in order of dependence)
-foreach(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
-               QAXSERVER QAXCONTAINER QTDECLARATIVE QTSCRIPT QTSVG QTUITOOLS QTHELP
-               QTWEBKIT PHONON QTSCRIPTTOOLS QTMULTIMEDIA QTXMLPATTERNS QTGUI QTTEST
-               QTDBUS QTXML QTSQL QTNETWORK QTCORE)
-
-  if (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
-    if (QT_${module}_FOUND)
-      if(QT_USE_${module})
-        string(REPLACE "QT" "" qt_module_def "${module}")
-        add_definitions(-DQT_${qt_module_def}_LIB)
-        if(QT_INCLUDE_DIRS_NO_SYSTEM)
-          include_directories(${QT_${module}_INCLUDE_DIR})
-        else(QT_INCLUDE_DIRS_NO_SYSTEM)
-          include_directories(SYSTEM ${QT_${module}_INCLUDE_DIR})
-        endif(QT_INCLUDE_DIRS_NO_SYSTEM)
-      endif()
-      if(QT_USE_${module} OR QT_IS_STATIC)
-        set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIBRARY})
-      endif()
-      set(QT_LIBRARIES_PLUGINS ${QT_LIBRARIES_PLUGINS} ${QT_${module}_PLUGINS})
-      if(QT_IS_STATIC)
-        set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIB_DEPENDENCIES})
-      endif()
-      foreach(depend_module ${QT_${module}_MODULE_DEPENDS})
-        set(QT_USE_${depend_module}_DEPENDS 1)
-      endforeach()
-    else ()
-      message("Qt ${module} library not found.")
-    endif ()
-  endif ()
-
-endforeach()
-
diff --git a/share/cmake-3.6/Modules/UseSWIG.cmake b/share/cmake-3.6/Modules/UseSWIG.cmake
deleted file mode 100644
index d757f65..0000000
--- a/share/cmake-3.6/Modules/UseSWIG.cmake
+++ /dev/null
@@ -1,303 +0,0 @@
-#.rst:
-# UseSWIG
-# -------
-#
-# Defines the following macros for use with SWIG:
-#
-# ::
-#
-#    SWIG_ADD_MODULE(name language [ files ])
-#      - Define swig module with given name and specified language
-#    SWIG_LINK_LIBRARIES(name [ libraries ])
-#      - Link libraries to swig module
-#
-# Source files properties on module files can be set before the invocation
-# of the SWIG_ADD_MODULE macro to specify special behavior of SWIG.
-#
-# The source file property CPLUSPLUS calls SWIG in c++ mode, e.g.::
-#
-#    set_property(SOURCE mymod.i PROPERTY CPLUSPLUS ON)
-#    swig_add_module(mymod python mymod.i)
-#
-# The source file property SWIG_FLAGS adds custom flags to the SWIG executable.
-#
-# The source-file property SWIG_MODULE_NAME have to be provided to specify the actual
-# import name of the module in the target language if it cannot be scanned automatically
-# from source or different from the module file basename.::
-#
-#    set_property(SOURCE mymod.i PROPERTY SWIG_MODULE_NAME mymod_realname)
-#
-# To get the name of the swig module target library, use: ${SWIG_MODULE_${name}_REAL_NAME}.
-#
-# Also some variables can be set to specify special behavior of SWIG.
-#
-# CMAKE_SWIG_FLAGS can be used to add special flags to all swig calls.
-#
-# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify
-# where to write all the swig generated module (swig -outdir option)
-#
-# The name-specific variable SWIG_MODULE_<name>_EXTRA_DEPS may be used to specify extra
-# dependencies for the generated modules.
-#
-# If the source file generated by swig need some special flag you can use::
-#
-#    set_source_files_properties( ${swig_generated_file_fullname}
-#                                 PROPERTIES COMPILE_FLAGS "-bla")
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2009 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-set(SWIG_CXX_EXTENSION "cxx")
-set(SWIG_EXTRA_LIBRARIES "")
-
-set(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py")
-
-#
-# For given swig module initialize variables associated with it
-#
-macro(SWIG_MODULE_INITIALIZE name language)
-  string(TOUPPER "${language}" swig_uppercase_language)
-  string(TOLOWER "${language}" swig_lowercase_language)
-  set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}")
-  set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}")
-
-  set(SWIG_MODULE_${name}_REAL_NAME "${name}")
-  if (";${CMAKE_SWIG_FLAGS};" MATCHES ";-noproxy;")
-    set (SWIG_MODULE_${name}_NOPROXY TRUE)
-  endif ()
-  if("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xUNKNOWN")
-    message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
-  elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xPYTHON" AND NOT SWIG_MODULE_${name}_NOPROXY)
-    # swig will produce a module.py containing an 'import _modulename' statement,
-    # which implies having a corresponding _modulename.so (*NIX), _modulename.pyd (Win32),
-    # unless the -noproxy flag is used
-    set(SWIG_MODULE_${name}_REAL_NAME "_${name}")
-  elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xPERL")
-    set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
-  elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xCSHARP")
-    # This makes sure that the name used in the generated DllImport
-    # matches the library name created by CMake
-    set(SWIG_MODULE_${name}_EXTRA_FLAGS "-dllimport;${name}")
-  endif()
-endmacro()
-
-#
-# For a given language, input file, and output file, determine extra files that
-# will be generated. This is internal swig macro.
-#
-
-macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
-  set(${outfiles} "")
-  get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename
-    ${infile} SWIG_MODULE_NAME)
-  if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
-
-    # try to get module name from "%module foo" syntax
-    if ( EXISTS ${infile} )
-      file ( STRINGS ${infile} _MODULE_NAME REGEX "[ ]*%module[ ]*[a-zA-Z0-9_]+.*" )
-    endif ()
-    if ( _MODULE_NAME )
-      string ( REGEX REPLACE "[ ]*%module[ ]*([a-zA-Z0-9_]+).*" "\\1" _MODULE_NAME "${_MODULE_NAME}" )
-      set(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${_MODULE_NAME}")
-
-    else ()
-      # try to get module name from "%module (options=...) foo" syntax
-      if ( EXISTS ${infile} )
-        file ( STRINGS ${infile} _MODULE_NAME REGEX "[ ]*%module[ ]*\\(.*\\)[ ]*[a-zA-Z0-9_]+.*" )
-      endif ()
-      if ( _MODULE_NAME )
-        string ( REGEX REPLACE "[ ]*%module[ ]*\\(.*\\)[ ]*([a-zA-Z0-9_]+).*" "\\1" _MODULE_NAME "${_MODULE_NAME}" )
-        set(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${_MODULE_NAME}")
-
-      else ()
-        # fallback to file basename
-        get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename ${infile} NAME_WE)
-      endif ()
-    endif ()
-
-  endif()
-  foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSION})
-    set(${outfiles} ${${outfiles}}
-      "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}.${it}")
-  endforeach()
-endmacro()
-
-#
-# Take swig (*.i) file and add proper custom commands for it
-#
-macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
-  set(swig_full_infile ${infile})
-  get_filename_component(swig_source_file_name_we "${infile}" NAME_WE)
-  get_source_file_property(swig_source_file_generated ${infile} GENERATED)
-  get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS)
-  get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS)
-  if("${swig_source_file_flags}" STREQUAL "NOTFOUND")
-    set(swig_source_file_flags "")
-  endif()
-  get_filename_component(swig_source_file_fullname "${infile}" ABSOLUTE)
-
-  # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir
-  if(CMAKE_SWIG_OUTDIR)
-    set(swig_outdir ${CMAKE_SWIG_OUTDIR})
-  else()
-    set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR})
-  endif()
-  if (NOT SWIG_MODULE_${name}_NOPROXY)
-    SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
-      swig_extra_generated_files
-      "${swig_outdir}"
-      "${swig_source_file_fullname}")
-  endif()
-  set(swig_generated_file_fullname
-    "${swig_outdir}/${swig_source_file_name_we}")
-  # add the language into the name of the file (i.e. TCL_wrap)
-  # this allows for the same .i file to be wrapped into different languages
-  set(swig_generated_file_fullname
-    "${swig_generated_file_fullname}${SWIG_MODULE_${name}_LANGUAGE}_wrap")
-
-  if(swig_source_file_cplusplus)
-    set(swig_generated_file_fullname
-      "${swig_generated_file_fullname}.${SWIG_CXX_EXTENSION}")
-  else()
-    set(swig_generated_file_fullname
-      "${swig_generated_file_fullname}.c")
-  endif()
-
-  #message("Full path to source file: ${swig_source_file_fullname}")
-  #message("Full path to the output file: ${swig_generated_file_fullname}")
-  get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES)
-  list(REMOVE_DUPLICATES cmake_include_directories)
-  set(swig_include_dirs)
-  foreach(it ${cmake_include_directories})
-    set(swig_include_dirs ${swig_include_dirs} "-I${it}")
-  endforeach()
-
-  set(swig_special_flags)
-  # default is c, so add c++ flag if it is c++
-  if(swig_source_file_cplusplus)
-    set(swig_special_flags ${swig_special_flags} "-c++")
-  endif()
-  set(swig_extra_flags)
-  if(SWIG_MODULE_${name}_EXTRA_FLAGS)
-    set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
-  endif()
-  add_custom_command(
-    OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files}
-    # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir)
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir}
-    COMMAND "${SWIG_EXECUTABLE}"
-    ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
-    ${swig_source_file_flags}
-    ${CMAKE_SWIG_FLAGS}
-    -outdir ${swig_outdir}
-    ${swig_special_flags}
-    ${swig_extra_flags}
-    ${swig_include_dirs}
-    -o "${swig_generated_file_fullname}"
-    "${swig_source_file_fullname}"
-    MAIN_DEPENDENCY "${swig_source_file_fullname}"
-    DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS}
-    COMMENT "Swig source")
-  set_source_files_properties("${swig_generated_file_fullname}" ${swig_extra_generated_files}
-    PROPERTIES GENERATED 1)
-  set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files})
-endmacro()
-
-#
-# Create Swig module
-#
-macro(SWIG_ADD_MODULE name language)
-  SWIG_MODULE_INITIALIZE(${name} ${language})
-  set(swig_dot_i_sources)
-  set(swig_other_sources)
-  foreach(it ${ARGN})
-    if(${it} MATCHES "\\.i$")
-      set(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
-    else()
-      set(swig_other_sources ${swig_other_sources} "${it}")
-    endif()
-  endforeach()
-
-  set(swig_generated_sources)
-  foreach(it ${swig_dot_i_sources})
-    SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it})
-    set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}")
-  endforeach()
-  get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
-  set_directory_properties(PROPERTIES
-    ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}")
-  add_library(${SWIG_MODULE_${name}_REAL_NAME}
-    MODULE
-    ${swig_generated_sources}
-    ${swig_other_sources})
-  set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES NO_SONAME ON)
-  string(TOLOWER "${language}" swig_lowercase_language)
-  if ("${swig_lowercase_language}" STREQUAL "octave")
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".oct")
-  elseif ("${swig_lowercase_language}" STREQUAL "go")
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
-  elseif ("${swig_lowercase_language}" STREQUAL "java")
-    if (APPLE)
-        # In java you want:
-        #      System.loadLibrary("LIBRARY");
-        # then JNI will look for a library whose name is platform dependent, namely
-        #   MacOS  : libLIBRARY.jnilib
-        #   Windows: LIBRARY.dll
-        #   Linux  : libLIBRARY.so
-        set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
-      endif ()
-  elseif ("${swig_lowercase_language}" STREQUAL "lua")
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
-  elseif ("${swig_lowercase_language}" STREQUAL "python")
-    # this is only needed for the python case where a _modulename.so is generated
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
-    # Python extension modules on Windows must have the extension ".pyd"
-    # instead of ".dll" as of Python 2.5.  Older python versions do support
-    # this suffix.
-    # http://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000
-    # <quote>
-    # Windows: .dll is no longer supported as a filename extension for extension modules.
-    # .pyd is now the only filename extension that will be searched for.
-    # </quote>
-    if(WIN32 AND NOT CYGWIN)
-      set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd")
-    endif()
-  elseif ("${swig_lowercase_language}" STREQUAL "r")
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
-  elseif ("${swig_lowercase_language}" STREQUAL "ruby")
-    # In ruby you want:
-    #      require 'LIBRARY'
-    # then ruby will look for a library whose name is platform dependent, namely
-    #   MacOS  : LIBRARY.bundle
-    #   Windows: LIBRARY.dll
-    #   Linux  : LIBRARY.so
-    set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
-    if (APPLE)
-      set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".bundle")
-    endif ()
-  endif ()
-endmacro()
-
-#
-# Like TARGET_LINK_LIBRARIES but for swig modules
-#
-macro(SWIG_LINK_LIBRARIES name)
-  if(SWIG_MODULE_${name}_REAL_NAME)
-    target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN})
-  else()
-    message(SEND_ERROR "Cannot find Swig library \"${name}\".")
-  endif()
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/Use_wxWindows.cmake b/share/cmake-3.6/Modules/Use_wxWindows.cmake
deleted file mode 100644
index d3025ac..0000000
--- a/share/cmake-3.6/Modules/Use_wxWindows.cmake
+++ /dev/null
@@ -1,79 +0,0 @@
-#.rst:
-# Use_wxWindows
-# -------------
-#
-#
-#
-#
-# This convenience include finds if wxWindows is installed and set the
-# appropriate libs, incdirs, flags etc.  author Jan Woetzel <jw -at-
-# mip.informatik.uni-kiel.de> (07/2003)
-#
-# USAGE:
-#
-# ::
-#
-#    just include Use_wxWindows.cmake
-#    in your projects CMakeLists.txt
-#
-# include( ${CMAKE_MODULE_PATH}/Use_wxWindows.cmake)
-#
-# ::
-#
-#    if you are sure you need GL then
-#
-# set(WXWINDOWS_USE_GL 1)
-#
-# ::
-#
-#    *before* you include this file.
-
-#=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
-# Copyright 2003      Jan Woetzel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# -----------------------------------------------------
-# 16.Feb.2004: changed INCLUDE to FIND_PACKAGE to read from users own non-system CMAKE_MODULE_PATH (Jan Woetzel JW)
-# 07/2006: rewrite as FindwxWidgets.cmake, kept for backward compatibility JW
-
-message(STATUS "Use_wxWindows.cmake is DEPRECATED. \n"
-"Please use find_package(wxWidgets) and include(${wxWidgets_USE_FILE}) instead. (JW)")
-
-
-# ------------------------
-
-find_package( wxWindows )
-
-if(WXWINDOWS_FOUND)
-
-#message("DBG Use_wxWindows.cmake:  WXWINDOWS_INCLUDE_DIR=${WXWINDOWS_INCLUDE_DIR} WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}     WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}  CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS} WXWINDOWS_DEFINITIONS=${WXWINDOWS_DEFINITIONS}")
-
- if(WXWINDOWS_INCLUDE_DIR)
-    include_directories(${WXWINDOWS_INCLUDE_DIR})
-  endif()
- if(WXWINDOWS_LINK_DIRECTORIES)
-    link_directories(${WXWINDOWS_LINK_DIRECTORIES})
-  endif()
-  if(WXWINDOWS_LIBRARIES)
-    link_libraries(${WXWINDOWS_LIBRARIES})
-  endif()
-  if (CMAKE_WXWINDOWS_CXX_FLAGS)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_WXWINDOWS_CXX_FLAGS}")
-  endif()
-  if(WXWINDOWS_DEFINITIONS)
-    add_definitions(${WXWINDOWS_DEFINITIONS})
-  endif()
-else()
-  message(SEND_ERROR "wxWindows not found by Use_wxWindows.cmake")
-endif()
-
diff --git a/share/cmake-3.6/Modules/UsewxWidgets.cmake b/share/cmake-3.6/Modules/UsewxWidgets.cmake
deleted file mode 100644
index b3633a6..0000000
--- a/share/cmake-3.6/Modules/UsewxWidgets.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-#.rst:
-# UsewxWidgets
-# ------------
-#
-# Convenience include for using wxWidgets library.
-#
-# Determines if wxWidgets was FOUND and sets the appropriate libs,
-# incdirs, flags, etc.  INCLUDE_DIRECTORIES and LINK_DIRECTORIES are
-# called.
-#
-# USAGE
-#
-# ::
-#
-#   # Note that for MinGW users the order of libs is important!
-#   find_package(wxWidgets REQUIRED net gl core base)
-#   include(${wxWidgets_USE_FILE})
-#   # and for each of your dependent executable/library targets:
-#   target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
-#
-#
-#
-# DEPRECATED
-#
-# ::
-#
-#   LINK_LIBRARIES is not called in favor of adding dependencies per target.
-#
-#
-#
-# AUTHOR
-#
-# ::
-#
-#   Jan Woetzel <jw -at- mip.informatik.uni-kiel.de>
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2006      Jan Woetzel
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# debug message and logging.
-# comment these out for distribution
-if    (NOT LOGFILE )
-  #  set(LOGFILE "${PROJECT_BINARY_DIR}/CMakeOutput.log")
-endif ()
-macro(MSG _MSG)
-  #  file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}):   ${_MSG}\n")
-  #  message(STATUS "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
-endmacro()
-
-
-MSG("wxWidgets_FOUND=${wxWidgets_FOUND}")
-if   (wxWidgets_FOUND)
-  if   (wxWidgets_INCLUDE_DIRS)
-    if(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
-      include_directories(${wxWidgets_INCLUDE_DIRS})
-    else()
-      include_directories(SYSTEM ${wxWidgets_INCLUDE_DIRS})
-    endif()
-    MSG("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
-  endif()
-
-  if   (wxWidgets_LIBRARY_DIRS)
-    link_directories(${wxWidgets_LIBRARY_DIRS})
-    MSG("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
-  endif()
-
-  if   (wxWidgets_DEFINITIONS)
-    set_property(DIRECTORY APPEND
-      PROPERTY COMPILE_DEFINITIONS ${wxWidgets_DEFINITIONS})
-    MSG("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
-  endif()
-
-  if   (wxWidgets_DEFINITIONS_DEBUG)
-    set_property(DIRECTORY APPEND
-      PROPERTY COMPILE_DEFINITIONS_DEBUG ${wxWidgets_DEFINITIONS_DEBUG})
-    MSG("wxWidgets_DEFINITIONS_DEBUG=${wxWidgets_DEFINITIONS_DEBUG}")
-  endif()
-
-  if   (wxWidgets_CXX_FLAGS)
-    # Flags are expected to be a string here, not a list.
-    string(REPLACE ";" " " wxWidgets_CXX_FLAGS_str "${wxWidgets_CXX_FLAGS}")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS_str}")
-    MSG("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS_str}")
-    unset(wxWidgets_CXX_FLAGS_str)
-  endif()
-
-  # DEPRECATED JW
-  # just for backward compatibility: add deps to all targets
-  # library projects better use advanced find_package(wxWidgets) directly.
-  #if(wxWidgets_LIBRARIES)
-  #  link_libraries(${wxWidgets_LIBRARIES})
-  #  # BUG: str too long:  MSG("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
-  #  if(LOGFILE)
-  #    file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}):   ${wxWidgets_LIBRARIES}\n")
-  #  endif()
-  #endif()
-
-else ()
-  message("wxWidgets requested but not found.")
-endif()
diff --git a/share/cmake-3.6/Modules/VTKCompatibility.cmake b/share/cmake-3.6/Modules/VTKCompatibility.cmake
deleted file mode 100644
index b33bf2e..0000000
--- a/share/cmake-3.6/Modules/VTKCompatibility.cmake
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-if(APPLE)
-  set(CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY}")
-  set(CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE}")
-  string( REGEX REPLACE "CMAKE_C_COMPILER"
-    CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_MODULE
-    "${CMAKE_CXX_CREATE_SHARED_MODULE}")
-  string( REGEX REPLACE "CMAKE_C_COMPILER"
-    CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_LIBRARY
-    "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-endif()
-
-set(VTKFTGL_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/ftgl"
-  CACHE INTERNAL "")
-set(VTKFREETYPE_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/freetype"
-  CACHE INTERNAL "")
-set(VTKFTGL_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/ftgl"
-  CACHE INTERNAL "")
-set(VTKFREETYPE_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/freetype"
-  CACHE INTERNAL "")
-
-set(VTK_GLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glext.h"
-  CACHE FILEPATH
-  "Location of the OpenGL extensions header file (glext.h).")
-set(VTK_GLXEXT_FILE
-  "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glxext.h" CACHE FILEPATH
-  "Location of the GLX extensions header file (glxext.h).")
-set(VTK_WGLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/wglext.h"
-  CACHE FILEPATH
-  "Location of the WGL extensions header file (wglext.h).")
-
-# work around an old bug in VTK
-set(TIFF_RIGHT_VERSION 1)
-
-# for very old VTK (versions prior to 4.2)
-macro(SOURCE_FILES)
-  message (FATAL_ERROR "You are trying to build a very old version of VTK (prior to VTK 4.2). To do this you need to use CMake 2.0 as it was the last version of CMake to support VTK 4.0.")
-endmacro()
-
diff --git a/share/cmake-3.6/Modules/WriteBasicConfigVersionFile.cmake b/share/cmake-3.6/Modules/WriteBasicConfigVersionFile.cmake
deleted file mode 100644
index bf55eb9..0000000
--- a/share/cmake-3.6/Modules/WriteBasicConfigVersionFile.cmake
+++ /dev/null
@@ -1,61 +0,0 @@
-#.rst:
-# WriteBasicConfigVersionFile
-# ---------------------------
-#
-#
-#
-# ::
-#
-#   WRITE_BASIC_CONFIG_VERSION_FILE( filename
-#     [VERSION major.minor.patch]
-#     COMPATIBILITY (AnyNewerVersion|SameMajorVersion)
-#     )
-#
-#
-#
-# Deprecated, see WRITE_BASIC_PACKAGE_VERSION_FILE(), it is identical.
-
-#=============================================================================
-# Copyright 2008-2011 Alexander Neundorf, <neundorf@kde.org>
-# Copyright 2004-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(CMakeParseArguments)
-
-function(WRITE_BASIC_CONFIG_VERSION_FILE _filename)
-
-  set(options )
-  set(oneValueArgs VERSION COMPATIBILITY )
-  set(multiValueArgs )
-
-  cmake_parse_arguments(CVF "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
-
-  if(CVF_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unknown keywords given to WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_UNPARSED_ARGUMENTS}\"")
-  endif()
-
-  set(versionTemplateFile "${CMAKE_ROOT}/Modules/BasicConfigVersion-${CVF_COMPATIBILITY}.cmake.in")
-  if(NOT EXISTS "${versionTemplateFile}")
-    message(FATAL_ERROR "Bad COMPATIBILITY value used for WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_COMPATIBILITY}\"")
-  endif()
-
-  if("${CVF_VERSION}" STREQUAL "")
-    if ("${PROJECT_VERSION}" STREQUAL "")
-      message(FATAL_ERROR "No VERSION specified for WRITE_BASIC_CONFIG_VERSION_FILE()")
-    else()
-      set(CVF_VERSION "${PROJECT_VERSION}")
-    endif()
-  endif()
-
-  configure_file("${versionTemplateFile}" "${_filename}" @ONLY)
-
-endfunction()
diff --git a/share/cmake-3.6/Modules/WriteCompilerDetectionHeader.cmake b/share/cmake-3.6/Modules/WriteCompilerDetectionHeader.cmake
deleted file mode 100644
index 2669a84..0000000
--- a/share/cmake-3.6/Modules/WriteCompilerDetectionHeader.cmake
+++ /dev/null
@@ -1,665 +0,0 @@
-#.rst:
-# WriteCompilerDetectionHeader
-# ----------------------------
-#
-# This module provides the function write_compiler_detection_header().
-#
-# The ``WRITE_COMPILER_DETECTION_HEADER`` function can be used to generate
-# a file suitable for preprocessor inclusion which contains macros to be
-# used in source code::
-#
-#    write_compiler_detection_header(
-#              FILE <file>
-#              PREFIX <prefix>
-#              [OUTPUT_FILES_VAR <output_files_var> OUTPUT_DIR <output_dir>]
-#              COMPILERS <compiler> [...]
-#              FEATURES <feature> [...]
-#              [VERSION <version>]
-#              [PROLOG <prolog>]
-#              [EPILOG <epilog>]
-#    )
-#
-# The ``write_compiler_detection_header`` function generates the
-# file ``<file>`` with macros which all have the prefix ``<prefix>``.
-#
-# By default, all content is written directly to the ``<file>``.  The
-# ``OUTPUT_FILES_VAR`` may be specified to cause the compiler-specific
-# content to be written to separate files.  The separate files are then
-# available in the ``<output_files_var>`` and may be consumed by the caller
-# for installation for example.  The ``OUTPUT_DIR`` specifies a relative
-# path from the main ``<file>`` to the compiler-specific files. For example:
-#
-# .. code-block:: cmake
-#
-#    write_compiler_detection_header(
-#      FILE climbingstats_compiler_detection.h
-#      PREFIX ClimbingStats
-#      OUTPUT_FILES_VAR support_files
-#      OUTPUT_DIR compilers
-#      COMPILERS GNU Clang MSVC Intel
-#      FEATURES cxx_variadic_templates
-#    )
-#    install(FILES
-#      ${CMAKE_CURRENT_BINARY_DIR}/climbingstats_compiler_detection.h
-#      DESTINATION include
-#    )
-#    install(FILES
-#      ${support_files}
-#      DESTINATION include/compilers
-#    )
-#
-#
-# ``VERSION`` may be used to specify the API version to be generated.
-# Future versions of CMake may introduce alternative APIs.  A given
-# API is selected by any ``<version>`` value greater than or equal
-# to the version of CMake that introduced the given API and less
-# than the version of CMake that introduced its succeeding API.
-# The value of the :variable:`CMAKE_MINIMUM_REQUIRED_VERSION`
-# variable is used if no explicit version is specified.
-# (As of CMake version |release| there is only one API version.)
-#
-# ``PROLOG`` may be specified as text content to write at the start of the
-# header. ``EPILOG`` may be specified as text content to write at the end
-# of the header
-#
-# At least one ``<compiler>`` and one ``<feature>`` must be listed.  Compilers
-# which are known to CMake, but not specified are detected and a preprocessor
-# ``#error`` is generated for them.  A preprocessor macro matching
-# ``<PREFIX>_COMPILER_IS_<compiler>`` is generated for each compiler
-# known to CMake to contain the value ``0`` or ``1``.
-#
-# Possible compiler identifiers are documented with the
-# :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
-# Available features in this version of CMake are listed in the
-# :prop_gbl:`CMAKE_C_KNOWN_FEATURES` and
-# :prop_gbl:`CMAKE_CXX_KNOWN_FEATURES` global properties.
-#
-# See the :manual:`cmake-compile-features(7)` manual for information on
-# compile features.
-#
-# Feature Test Macros
-# ===================
-#
-# For each compiler, a preprocessor macro is generated matching
-# ``<PREFIX>_COMPILER_IS_<compiler>`` which has the content either ``0``
-# or ``1``, depending on the compiler in use. Preprocessor macros for
-# compiler version components are generated matching
-# ``<PREFIX>_COMPILER_VERSION_MAJOR`` ``<PREFIX>_COMPILER_VERSION_MINOR``
-# and ``<PREFIX>_COMPILER_VERSION_PATCH`` containing decimal values
-# for the corresponding compiler version components, if defined.
-#
-# A preprocessor test is generated based on the compiler version
-# denoting whether each feature is enabled.  A preprocessor macro
-# matching ``<PREFIX>_COMPILER_<FEATURE>``, where ``<FEATURE>`` is the
-# upper-case ``<feature>`` name, is generated to contain the value
-# ``0`` or ``1`` depending on whether the compiler in use supports the
-# feature:
-#
-# .. code-block:: cmake
-#
-#    write_compiler_detection_header(
-#      FILE climbingstats_compiler_detection.h
-#      PREFIX ClimbingStats
-#      COMPILERS GNU Clang AppleClang MSVC Intel
-#      FEATURES cxx_variadic_templates
-#    )
-#
-# .. code-block:: c++
-#
-#    #if ClimbingStats_COMPILER_CXX_VARIADIC_TEMPLATES
-#    template<typename... T>
-#    void someInterface(T t...) { /* ... */ }
-#    #else
-#    // Compatibility versions
-#    template<typename T1>
-#    void someInterface(T1 t1) { /* ... */ }
-#    template<typename T1, typename T2>
-#    void someInterface(T1 t1, T2 t2) { /* ... */ }
-#    template<typename T1, typename T2, typename T3>
-#    void someInterface(T1 t1, T2 t2, T3 t3) { /* ... */ }
-#    #endif
-#
-# Symbol Macros
-# =============
-#
-# Some additional symbol-defines are created for particular features for
-# use as symbols which may be conditionally defined empty:
-#
-# .. code-block:: c++
-#
-#    class MyClass ClimbingStats_FINAL
-#    {
-#        ClimbingStats_CONSTEXPR int someInterface() { return 42; }
-#    };
-#
-# The ``ClimbingStats_FINAL`` macro will expand to ``final`` if the
-# compiler (and its flags) support the ``cxx_final`` feature, and the
-# ``ClimbingStats_CONSTEXPR`` macro will expand to ``constexpr``
-# if ``cxx_constexpr`` is supported.
-#
-# The following features generate corresponding symbol defines:
-#
-# ========================== =================================== =================
-#         Feature                          Define                      Symbol
-# ========================== =================================== =================
-# ``c_restrict``              ``<PREFIX>_RESTRICT``               ``restrict``
-# ``cxx_constexpr``           ``<PREFIX>_CONSTEXPR``              ``constexpr``
-# ``cxx_deleted_functions``   ``<PREFIX>_DELETED_FUNCTION``       ``= delete``
-# ``cxx_extern_templates``    ``<PREFIX>_EXTERN_TEMPLATE``        ``extern``
-# ``cxx_final``               ``<PREFIX>_FINAL``                  ``final``
-# ``cxx_noexcept``            ``<PREFIX>_NOEXCEPT``               ``noexcept``
-# ``cxx_noexcept``            ``<PREFIX>_NOEXCEPT_EXPR(X)``       ``noexcept(X)``
-# ``cxx_override``            ``<PREFIX>_OVERRIDE``               ``override``
-# ========================== =================================== =================
-#
-# Compatibility Implementation Macros
-# ===================================
-#
-# Some features are suitable for wrapping in a macro with a backward
-# compatibility implementation if the compiler does not support the feature.
-#
-# When the ``cxx_static_assert`` feature is not provided by the compiler,
-# a compatibility implementation is available via the
-# ``<PREFIX>_STATIC_ASSERT(COND)`` and
-# ``<PREFIX>_STATIC_ASSERT_MSG(COND, MSG)`` function-like macros. The macros
-# expand to ``static_assert`` where that compiler feature is available, and
-# to a compatibility implementation otherwise. In the first form, the
-# condition is stringified in the message field of ``static_assert``.  In
-# the second form, the message ``MSG`` is passed to the message field of
-# ``static_assert``, or ignored if using the backward compatibility
-# implementation.
-#
-# The ``cxx_attribute_deprecated`` feature provides a macro definition
-# ``<PREFIX>_DEPRECATED``, which expands to either the standard
-# ``[[deprecated]]`` attribute or a compiler-specific decorator such
-# as ``__attribute__((__deprecated__))`` used by GNU compilers.
-#
-# The ``cxx_alignas`` feature provides a macro definition
-# ``<PREFIX>_ALIGNAS`` which expands to either the standard ``alignas``
-# decorator or a compiler-specific decorator such as
-# ``__attribute__ ((__aligned__))`` used by GNU compilers.
-#
-# The ``cxx_alignof`` feature provides a macro definition
-# ``<PREFIX>_ALIGNOF`` which expands to either the standard ``alignof``
-# decorator or a compiler-specific decorator such as ``__alignof__``
-# used by GNU compilers.
-#
-# ============================= ================================ =====================
-#           Feature                          Define                     Symbol
-# ============================= ================================ =====================
-# ``cxx_alignas``                ``<PREFIX>_ALIGNAS``             ``alignas``
-# ``cxx_alignof``                ``<PREFIX>_ALIGNOF``             ``alignof``
-# ``cxx_nullptr``                ``<PREFIX>_NULLPTR``             ``nullptr``
-# ``cxx_static_assert``          ``<PREFIX>_STATIC_ASSERT``       ``static_assert``
-# ``cxx_static_assert``          ``<PREFIX>_STATIC_ASSERT_MSG``   ``static_assert``
-# ``cxx_attribute_deprecated``   ``<PREFIX>_DEPRECATED``          ``[[deprecated]]``
-# ``cxx_attribute_deprecated``   ``<PREFIX>_DEPRECATED_MSG``      ``[[deprecated]]``
-# ``cxx_thread_local``           ``<PREFIX>_THREAD_LOCAL``        ``thread_local``
-# ============================= ================================ =====================
-#
-# A use-case which arises with such deprecation macros is the deprecation
-# of an entire library.  In that case, all public API in the library may
-# be decorated with the ``<PREFIX>_DEPRECATED`` macro.  This results in
-# very noisy build output when building the library itself, so the macro
-# may be may be defined to empty in that case when building the deprecated
-# library:
-#
-# .. code-block:: cmake
-#
-#   add_library(compat_support ${srcs})
-#   target_compile_definitions(compat_support
-#     PRIVATE
-#       CompatSupport_DEPRECATED=
-#   )
-
-#=============================================================================
-# Copyright 2014 Stephen Kelly <steveire@gmail.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/CMakeCompilerIdDetection.cmake)
-
-function(_load_compiler_variables CompilerId lang)
-  include("${CMAKE_ROOT}/Modules/Compiler/${CompilerId}-${lang}-FeatureTests.cmake" OPTIONAL)
-  set(_cmake_oldestSupported_${CompilerId} ${_cmake_oldestSupported} PARENT_SCOPE)
-  foreach(feature ${ARGN})
-    set(_cmake_feature_test_${CompilerId}_${feature} ${_cmake_feature_test_${feature}} PARENT_SCOPE)
-  endforeach()
-  include("${CMAKE_ROOT}/Modules/Compiler/${CompilerId}-${lang}-DetermineCompiler.cmake" OPTIONAL
-      RESULT_VARIABLE determinedCompiler)
-  if (NOT determinedCompiler)
-    include("${CMAKE_ROOT}/Modules/Compiler/${CompilerId}-DetermineCompiler.cmake" OPTIONAL)
-  endif()
-  set(_compiler_id_version_compute_${CompilerId} ${_compiler_id_version_compute} PARENT_SCOPE)
-endfunction()
-
-function(write_compiler_detection_header
-    file_keyword file_arg
-    prefix_keyword prefix_arg
-    )
-  if (NOT "x${file_keyword}" STREQUAL "xFILE")
-    message(FATAL_ERROR "write_compiler_detection_header: FILE parameter missing.")
-  endif()
-  if (NOT "x${prefix_keyword}" STREQUAL "xPREFIX")
-    message(FATAL_ERROR "write_compiler_detection_header: PREFIX parameter missing.")
-  endif()
-  set(options)
-  set(oneValueArgs VERSION EPILOG PROLOG OUTPUT_FILES_VAR OUTPUT_DIR)
-  set(multiValueArgs COMPILERS FEATURES)
-  cmake_parse_arguments(_WCD "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-
-  if (NOT _WCD_COMPILERS)
-    message(FATAL_ERROR "Invalid arguments.  write_compiler_detection_header requires at least one compiler.")
-  endif()
-  if (NOT _WCD_FEATURES)
-    message(FATAL_ERROR "Invalid arguments.  write_compiler_detection_header requires at least one feature.")
-  endif()
-
-  if(_WCD_UNPARSED_ARGUMENTS)
-    message(FATAL_ERROR "Unparsed arguments: ${_WCD_UNPARSED_ARGUMENTS}")
-  endif()
-
-  if (prefix_arg STREQUAL "")
-    message(FATAL_ERROR "A prefix must be specified")
-  endif()
-  string(MAKE_C_IDENTIFIER ${prefix_arg} cleaned_prefix)
-  if (NOT prefix_arg STREQUAL cleaned_prefix)
-    message(FATAL_ERROR "The prefix must be a valid C identifier.")
-  endif()
-
-  if(NOT _WCD_VERSION)
-    set(_WCD_VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})
-  endif()
-  set(_min_version 3.1.0) # Version which introduced this function
-  if (_WCD_VERSION VERSION_LESS _min_version)
-    set(err "VERSION compatibility for write_compiler_detection_header is set to ${_WCD_VERSION}, which is too low.")
-    set(err "${err}  It must be set to at least ${_min_version}.  ")
-    set(err "${err}  Either set the VERSION parameter to the write_compiler_detection_header function, or update")
-    set(err "${err} your minimum required CMake version with the cmake_minimum_required command.")
-    message(FATAL_ERROR "${err}")
-  endif()
-
-  if(_WCD_OUTPUT_FILES_VAR)
-    if(NOT _WCD_OUTPUT_DIR)
-      message(FATAL_ERROR "If OUTPUT_FILES_VAR is specified, then OUTPUT_DIR must also be specified.")
-    endif()
-  endif()
-  if(_WCD_OUTPUT_DIR)
-    if(NOT _WCD_OUTPUT_FILES_VAR)
-      message(FATAL_ERROR "If OUTPUT_DIR is specified, then OUTPUT_FILES_VAR must also be specified.")
-    endif()
-    get_filename_component(main_file_dir ${file_arg} DIRECTORY)
-    if (NOT IS_ABSOLUTE ${main_file_dir})
-      set(main_file_dir "${CMAKE_CURRENT_BINARY_DIR}/${main_file_dir}")
-    endif()
-    if (NOT IS_ABSOLUTE ${_WCD_OUTPUT_DIR})
-      set(_WCD_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${_WCD_OUTPUT_DIR}")
-    endif()
-    get_filename_component(out_file_dir ${_WCD_OUTPUT_DIR} ABSOLUTE)
-    string(FIND ${out_file_dir} ${main_file_dir} idx)
-    if (NOT idx EQUAL 0)
-      message(FATAL_ERROR "The compiler-specific output directory must be within the same directory as the main file.")
-    endif()
-
-    if (main_file_dir STREQUAL out_file_dir)
-      unset(_WCD_OUTPUT_DIR)
-    else()
-      string(REPLACE "${main_file_dir}/" "" _WCD_OUTPUT_DIR "${out_file_dir}/")
-    endif()
-  endif()
-
-  set(compilers
-    GNU
-    Clang
-    AppleClang
-    MSVC
-    SunPro
-    Intel
-  )
-
-  set(_hex_compilers ADSP Borland Embarcadero SunPro)
-
-  foreach(_comp ${_WCD_COMPILERS})
-    list(FIND compilers ${_comp} idx)
-    if (idx EQUAL -1)
-      message(FATAL_ERROR "Unsupported compiler ${_comp}.")
-    endif()
-    if (NOT _need_hex_conversion)
-      list(FIND _hex_compilers ${_comp} idx)
-      if (NOT idx EQUAL -1)
-        set(_need_hex_conversion TRUE)
-      endif()
-    endif()
-  endforeach()
-
-  set(file_content "
-// This is a generated file. Do not edit!
-
-#ifndef ${prefix_arg}_COMPILER_DETECTION_H
-#define ${prefix_arg}_COMPILER_DETECTION_H
-")
-
-  if (_WCD_PROLOG)
-    set(file_content "${file_content}\n${_WCD_PROLOG}\n")
-  endif()
-
-  if (_need_hex_conversion)
-    set(file_content "${file_content}
-#define ${prefix_arg}_DEC(X) (X)
-#define ${prefix_arg}_HEX(X) ( \\
-    ((X)>>28 & 0xF) * 10000000 + \\
-    ((X)>>24 & 0xF) *  1000000 + \\
-    ((X)>>20 & 0xF) *   100000 + \\
-    ((X)>>16 & 0xF) *    10000 + \\
-    ((X)>>12 & 0xF) *     1000 + \\
-    ((X)>>8  & 0xF) *      100 + \\
-    ((X)>>4  & 0xF) *       10 + \\
-    ((X)     & 0xF) \\
-    )\n")
-  endif()
-
-  foreach(feature ${_WCD_FEATURES})
-    if (feature MATCHES "^cxx_")
-      list(APPEND _langs CXX)
-      list(APPEND CXX_features ${feature})
-    elseif (feature MATCHES "^c_")
-      list(APPEND _langs C)
-      list(APPEND C_features ${feature})
-    else()
-      message(FATAL_ERROR "Unsupported feature ${feature}.")
-    endif()
-  endforeach()
-  list(REMOVE_DUPLICATES _langs)
-
-  if(_WCD_OUTPUT_FILES_VAR)
-    get_filename_component(main_file_name ${file_arg} NAME)
-    set(compiler_file_content_
-"#ifndef ${prefix_arg}_COMPILER_DETECTION_H
-#  error This file may only be included from ${main_file_name}
-#endif\n")
-  endif()
-
-  foreach(_lang ${_langs})
-    set(target_compilers)
-    foreach(compiler ${_WCD_COMPILERS})
-      _load_compiler_variables(${compiler} ${_lang} ${${_lang}_features})
-      if(_cmake_oldestSupported_${compiler})
-        list(APPEND target_compilers ${compiler})
-      endif()
-    endforeach()
-
-    get_property(known_features GLOBAL PROPERTY CMAKE_${_lang}_KNOWN_FEATURES)
-    foreach(feature ${${_lang}_features})
-      list(FIND known_features ${feature} idx)
-      if (idx EQUAL -1)
-        message(FATAL_ERROR "Unsupported feature ${feature}.")
-      endif()
-    endforeach()
-
-    if(_lang STREQUAL CXX)
-      set(file_content "${file_content}\n#ifdef __cplusplus\n")
-    else()
-      set(file_content "${file_content}\n#ifndef __cplusplus\n")
-    endif()
-
-    compiler_id_detection(ID_CONTENT ${_lang} PREFIX ${prefix_arg}_
-      ID_DEFINE
-    )
-
-    set(file_content "${file_content}${ID_CONTENT}\n")
-
-    set(pp_if "if")
-    foreach(compiler ${target_compilers})
-      set(file_content "${file_content}\n#  ${pp_if} ${prefix_arg}_COMPILER_IS_${compiler}\n")
-
-      if(_WCD_OUTPUT_FILES_VAR)
-        set(compile_file_name "${_WCD_OUTPUT_DIR}${prefix_arg}_COMPILER_INFO_${compiler}_${_lang}.h")
-        set(file_content "${file_content}\n#    include \"${compile_file_name}\"\n")
-      endif()
-
-      if(_WCD_OUTPUT_FILES_VAR)
-        set(compiler_file_content compiler_file_content_${compiler}_${_lang})
-      else()
-        set(compiler_file_content file_content)
-      endif()
-
-      set(${compiler_file_content} "${${compiler_file_content}}
-#    if !(${_cmake_oldestSupported_${compiler}})
-#      error Unsupported compiler version
-#    endif\n")
-
-      set(PREFIX ${prefix_arg}_)
-      if (_need_hex_conversion)
-        set(MACRO_DEC ${prefix_arg}_DEC)
-        set(MACRO_HEX ${prefix_arg}_HEX)
-      else()
-        set(MACRO_DEC)
-        set(MACRO_HEX)
-      endif()
-      string(CONFIGURE "${_compiler_id_version_compute_${compiler}}" VERSION_BLOCK @ONLY)
-      set(${compiler_file_content} "${${compiler_file_content}}${VERSION_BLOCK}\n")
-      set(PREFIX)
-      set(MACRO_DEC)
-      set(MACRO_HEX)
-
-      set(pp_if "elif")
-      foreach(feature ${${_lang}_features})
-        string(TOUPPER ${feature} feature_upper)
-        set(feature_PP "COMPILER_${feature_upper}")
-        set(_define_item "\n#    define ${prefix_arg}_${feature_PP} 0\n")
-        if (_cmake_feature_test_${compiler}_${feature} STREQUAL "1")
-          set(_define_item "\n#    define ${prefix_arg}_${feature_PP} 1\n")
-        elseif (_cmake_feature_test_${compiler}_${feature})
-          set(_define_item "\n#      define ${prefix_arg}_${feature_PP} 0\n")
-          set(_define_item "\n#    if ${_cmake_feature_test_${compiler}_${feature}}\n#      define ${prefix_arg}_${feature_PP} 1\n#    else${_define_item}#    endif\n")
-        endif()
-        set(${compiler_file_content} "${${compiler_file_content}}${_define_item}")
-      endforeach()
-    endforeach()
-    if(pp_if STREQUAL "elif")
-      set(file_content "${file_content}
-#  else
-#    error Unsupported compiler
-#  endif\n")
-    endif()
-    foreach(feature ${${_lang}_features})
-      string(TOUPPER ${feature} feature_upper)
-      set(feature_PP "COMPILER_${feature_upper}")
-      set(def_name ${prefix_arg}_${feature_PP})
-      if (feature STREQUAL c_restrict)
-        set(def_value "${prefix_arg}_RESTRICT")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} restrict
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_constexpr)
-        set(def_value "${prefix_arg}_CONSTEXPR")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} constexpr
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_final)
-        set(def_value "${prefix_arg}_FINAL")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} final
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_override)
-        set(def_value "${prefix_arg}_OVERRIDE")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} override
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_static_assert)
-        set(def_value "${prefix_arg}_STATIC_ASSERT(X)")
-        set(def_value_msg "${prefix_arg}_STATIC_ASSERT_MSG(X, MSG)")
-        set(static_assert_struct "template<bool> struct ${prefix_arg}StaticAssert;\ntemplate<> struct ${prefix_arg}StaticAssert<true>{};\n")
-        set(def_standard "#    define ${def_value} static_assert(X, #X)\n#    define ${def_value_msg} static_assert(X, MSG)")
-        set(def_alternative "${static_assert_struct}#    define ${def_value} sizeof(${prefix_arg}StaticAssert<X>)\n#    define ${def_value_msg} sizeof(${prefix_arg}StaticAssert<X>)")
-        set(file_content "${file_content}#  if ${def_name}\n${def_standard}\n#  else\n${def_alternative}\n#  endif\n\n")
-      endif()
-      if (feature STREQUAL cxx_alignas)
-        set(def_value "${prefix_arg}_ALIGNAS(X)")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} alignas(X)
-#  elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang || ${prefix_arg}_COMPILER_IS_AppleClang
-#    define ${def_value} __attribute__ ((__aligned__(X)))
-#  elif ${prefix_arg}_COMPILER_IS_MSVC
-#    define ${def_value} __declspec(align(X))
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_alignof)
-        set(def_value "${prefix_arg}_ALIGNOF(X)")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} alignof(X)
-#  elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang || ${prefix_arg}_COMPILER_IS_AppleClang
-#    define ${def_value} __alignof__(X)
-#  elif ${prefix_arg}_COMPILER_IS_MSVC
-#    define ${def_value} __alignof(X)
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_deleted_functions)
-        set(def_value "${prefix_arg}_DELETED_FUNCTION")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} = delete
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_extern_templates)
-        set(def_value "${prefix_arg}_EXTERN_TEMPLATE")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} extern
-#  else
-#    define ${def_value}
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_noexcept)
-        set(def_value "${prefix_arg}_NOEXCEPT")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} noexcept
-#    define ${def_value}_EXPR(X) noexcept(X)
-#  else
-#    define ${def_value}
-#    define ${def_value}_EXPR(X)
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_nullptr)
-        set(def_value "${prefix_arg}_NULLPTR")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} nullptr
-#  else
-#    define ${def_value} 0
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_thread_local)
-        set(def_value "${prefix_arg}_THREAD_LOCAL")
-        set(file_content "${file_content}
-#  if ${def_name}
-#    define ${def_value} thread_local
-#  elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang || ${prefix_arg}_COMPILER_IS_AppleClang
-#    define ${def_value} __thread
-#  elif ${prefix_arg}_COMPILER_IS_MSVC
-#    define ${def_value} __declspec(thread)
-#  else
-// ${def_value} not defined for this configuration.
-#  endif
-\n")
-      endif()
-      if (feature STREQUAL cxx_attribute_deprecated)
-        set(def_name ${prefix_arg}_${feature_PP})
-        set(def_value "${prefix_arg}_DEPRECATED")
-        set(file_content "${file_content}
-#  ifndef ${def_value}
-#    if ${def_name}
-#      define ${def_value} [[deprecated]]
-#      define ${def_value}_MSG(MSG) [[deprecated(MSG)]]
-#    elif ${prefix_arg}_COMPILER_IS_GNU || ${prefix_arg}_COMPILER_IS_Clang
-#      define ${def_value} __attribute__((__deprecated__))
-#      define ${def_value}_MSG(MSG) __attribute__((__deprecated__(MSG)))
-#    elif ${prefix_arg}_COMPILER_IS_MSVC
-#      define ${def_value} __declspec(deprecated)
-#      define ${def_value}_MSG(MSG) __declspec(deprecated(MSG))
-#    else
-#      define ${def_value}
-#      define ${def_value}_MSG(MSG)
-#    endif
-#  endif
-\n")
-      endif()
-    endforeach()
-
-    set(file_content "${file_content}#endif\n")
-
-  endforeach()
-
-  if(_WCD_OUTPUT_FILES_VAR)
-    foreach(compiler ${_WCD_COMPILERS})
-      foreach(_lang ${_langs})
-        if(compiler_file_content_${compiler}_${_lang})
-          set(CMAKE_CONFIGURABLE_FILE_CONTENT "${compiler_file_content_}")
-          set(CMAKE_CONFIGURABLE_FILE_CONTENT "${CMAKE_CONFIGURABLE_FILE_CONTENT}${compiler_file_content_${compiler}_${_lang}}")
-
-          set(compile_file_name "${_WCD_OUTPUT_DIR}${prefix_arg}_COMPILER_INFO_${compiler}_${_lang}.h")
-          set(full_path "${main_file_dir}/${compile_file_name}")
-          list(APPEND ${_WCD_OUTPUT_FILES_VAR} ${full_path})
-          configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
-            "${full_path}"
-            @ONLY
-          )
-        endif()
-      endforeach()
-    endforeach()
-    set(${_WCD_OUTPUT_FILES_VAR} ${${_WCD_OUTPUT_FILES_VAR}} PARENT_SCOPE)
-  endif()
-
-  if (_WCD_EPILOG)
-    set(file_content "${file_content}\n${_WCD_EPILOG}\n")
-  endif()
-  set(file_content "${file_content}\n#endif")
-
-  set(CMAKE_CONFIGURABLE_FILE_CONTENT ${file_content})
-  configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
-    "${file_arg}"
-    @ONLY
-  )
-endfunction()
diff --git a/share/cmake-3.6/Modules/ecos_clean.cmake b/share/cmake-3.6/Modules/ecos_clean.cmake
deleted file mode 100644
index 37a1f93..0000000
--- a/share/cmake-3.6/Modules/ecos_clean.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-file(GLOB _files ${ECOS_DIR}/*)
-
-# remove all directories, which consist of lower-case letters only
-# this skips e.g. CVS/ and .subversion/
-foreach(_entry ${_files})
-   if(IS_DIRECTORY ${_entry})
-      get_filename_component(dir ${_entry} NAME)
-      if(${dir} MATCHES "^[a-z]+$")
-         file(REMOVE_RECURSE ${_entry})
-      endif()
-   endif()
-endforeach()
diff --git a/share/cmake-3.6/Modules/exportheader.cmake.in b/share/cmake-3.6/Modules/exportheader.cmake.in
deleted file mode 100644
index 7cfbcbd..0000000
--- a/share/cmake-3.6/Modules/exportheader.cmake.in
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef @INCLUDE_GUARD_NAME@
-#define @INCLUDE_GUARD_NAME@
-
-#ifdef @STATIC_DEFINE@
-#  define @EXPORT_MACRO_NAME@
-#  define @NO_EXPORT_MACRO_NAME@
-#else
-#  ifndef @EXPORT_MACRO_NAME@
-#    ifdef @EXPORT_IMPORT_CONDITION@
-        /* We are building this library */
-#      define @EXPORT_MACRO_NAME@ @DEFINE_EXPORT@
-#    else
-        /* We are using this library */
-#      define @EXPORT_MACRO_NAME@ @DEFINE_IMPORT@
-#    endif
-#  endif
-
-#  ifndef @NO_EXPORT_MACRO_NAME@
-#    define @NO_EXPORT_MACRO_NAME@ @DEFINE_NO_EXPORT@
-#  endif
-#endif
-
-#ifndef @DEPRECATED_MACRO_NAME@
-#  define @DEPRECATED_MACRO_NAME@ @DEFINE_DEPRECATED@
-#endif
-
-#ifndef @DEPRECATED_MACRO_NAME@_EXPORT
-#  define @DEPRECATED_MACRO_NAME@_EXPORT @EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@
-#endif
-
-#ifndef @DEPRECATED_MACRO_NAME@_NO_EXPORT
-#  define @DEPRECATED_MACRO_NAME@_NO_EXPORT @NO_EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@
-#endif
-
-#if @DEFINE_NO_DEPRECATED@ /* DEFINE_NO_DEPRECATED */
-#  ifndef @NO_DEPRECATED_MACRO_NAME@
-#    define @NO_DEPRECATED_MACRO_NAME@
-#  endif
-#endif
-
-#endif
diff --git a/share/cmake-3.6/Modules/kde3uic.cmake b/share/cmake-3.6/Modules/kde3uic.cmake
deleted file mode 100644
index 4ad364b..0000000
--- a/share/cmake-3.6/Modules/kde3uic.cmake
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# used internally by KDE3Macros.cmake
-# neundorf@kde.org
-
-
-execute_process(COMMAND ${KDE_UIC_EXECUTABLE}
-   -L ${KDE_UIC_PLUGIN_DIR} -nounload -tr tr2i18n
-   -impl ${KDE_UIC_H_FILE}
-   ${KDE_UIC_FILE}
-   OUTPUT_VARIABLE _uic_CONTENTS
-   ERROR_QUIET
-  )
-
-string(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
-string(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
-
-file(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n")
-file(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}")
-
diff --git a/share/cmake-3.6/Templates/TestDriver.cxx.in b/share/cmake-3.6/Templates/TestDriver.cxx.in
deleted file mode 100644
index ffa6999..0000000
--- a/share/cmake-3.6/Templates/TestDriver.cxx.in
+++ /dev/null
@@ -1,165 +0,0 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#if defined(_MSC_VER)
-# pragma warning(disable:4996) /* deprecation */
-#endif
-
-@CMAKE_TESTDRIVER_EXTRA_INCLUDES@
-
-
-/* Forward declare test functions. */
-@CMAKE_FORWARD_DECLARE_TESTS@
-
-/* Create map.  */
-
-typedef int (*MainFuncPointer)(int , char*[]);
-typedef struct
-{
-  const char* name;
-  MainFuncPointer func;
-} functionMapEntry;
-
-static functionMapEntry cmakeGeneratedFunctionMapEntries[] = {
-  @CMAKE_FUNCTION_TABLE_ENTIRES@
-  {0,0}
-};
-
-/* Allocate and create a lowercased copy of string
-   (note that it has to be free'd manually) */
-
-static char* lowercase(const char *string)
-{
-  char *new_string, *p;
-
-#ifdef __cplusplus
-  new_string = static_cast<char *>(malloc(sizeof(char) *
-    static_cast<size_t>(strlen(string) + 1)));
-#else
-  new_string = (char *)(malloc(sizeof(char) * (size_t)(strlen(string) + 1)));
-#endif
-
-  if (!new_string)
-    {
-    return 0;
-    }
-  strcpy(new_string, string);
-  p = new_string;
-  while (*p != 0)
-    {
-#ifdef __cplusplus
-    *p = static_cast<char>(tolower(*p));
-#else
-    *p = (char)(tolower(*p));
-#endif
-
-    ++p;
-    }
-  return new_string;
-}
-
-int main(int ac, char *av[])
-{
-  int i, NumTests, testNum = 0, partial_match;
-  char *arg, *test_name;
-  int count;
-  int testToRun = -1;
-
-  @CMAKE_TESTDRIVER_ARGVC_FUNCTION@
-
-  for(count =0; cmakeGeneratedFunctionMapEntries[count].name != 0; count++)
-    {
-    }
-  NumTests = count;
-  /* If no test name was given */
-  /* process command line with user function.  */
-  if (ac < 2)
-    {
-    /* Ask for a test.  */
-    printf("Available tests:\n");
-    for (i =0; i < NumTests; ++i)
-      {
-      printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name);
-      }
-    printf("To run a test, enter the test number: ");
-    fflush(stdout);
-    if( scanf("%d", &testNum) != 1 )
-      {
-      printf("Couldn't parse that input as a number\n");
-      return -1;
-      }
-    if (testNum >= NumTests)
-      {
-      printf("%3d is an invalid test number.\n", testNum);
-      return -1;
-      }
-    testToRun = testNum;
-    ac--;
-    av++;
-    }
-  partial_match = 0;
-  arg = 0;
-  /* If partial match is requested.  */
-  if(testToRun == -1 && ac > 1)
-    {
-    partial_match = (strcmp(av[1], "-R") == 0) ? 1 : 0;
-    }
-  if (partial_match && ac < 3)
-    {
-    printf("-R needs an additional parameter.\n");
-    return -1;
-    }
-  if(testToRun == -1)
-    {
-    arg = lowercase(av[1 + partial_match]);
-    }
-  for (i =0; i < NumTests && testToRun == -1; ++i)
-    {
-    test_name = lowercase(cmakeGeneratedFunctionMapEntries[i].name);
-    if (partial_match && strstr(test_name, arg) != NULL)
-      {
-      testToRun = i;
-      ac -=2;
-      av += 2;
-      }
-    else if (!partial_match && strcmp(test_name, arg) == 0)
-      {
-      testToRun = i;
-      ac--;
-      av++;
-      }
-    free(test_name);
-    }
-  if(arg)
-    {
-    free(arg);
-    }
-  if(testToRun != -1)
-    {
-    int result;
-@CMAKE_TESTDRIVER_BEFORE_TESTMAIN@
-    if (testToRun < 0 || testToRun >= NumTests)
-      {
-      printf(
-        "testToRun was modified by TestDriver code to an invalid value: %3d.\n",
-        testNum);
-      return -1;
-      }
-    result = (*cmakeGeneratedFunctionMapEntries[testToRun].func)(ac, av);
-@CMAKE_TESTDRIVER_AFTER_TESTMAIN@
-    return result;
-    }
-
-
-  /* Nothing was run, display the test names.  */
-  printf("Available tests:\n");
-  for (i =0; i < NumTests; ++i)
-    {
-    printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name);
-    }
-  printf("Failed: %s is an invalid test name.\n", av[1]);
-
-  return -1;
-}
diff --git a/share/cmake-3.6/Templates/cygwin-package.sh.in b/share/cmake-3.6/Templates/cygwin-package.sh.in
deleted file mode 100755
index 69b6c0f..0000000
--- a/share/cmake-3.6/Templates/cygwin-package.sh.in
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/sh
-
-# this is a sample shell script used for building a cmake
-# based project for a cygwin setup package.
-
-# get the current directory
-TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
-
-# create build directory
-mkdirs()
-{
-  (
-  mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
-  )
-}
-
-# cd into
-# untar source tree and apply patch
-prep()
-{
-  (
-  cd "$TOP_DIR" &&
-  tar xvfj @CPACK_PACKAGE_FILE_NAME@.tar.bz2
-  patch -p0 < "@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.patch" &&
-  mkdirs
-  )
-}
-
-# configure the build tree in .build directory
-# of the source tree
-conf()
-{
-  (
-  cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
-  cmake ..
-  )
-}
-
-# build the package in the .build directory
-build()
-{
-  (
-  cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
-  make &&
-  make test
-  )
-}
-
-# clean the build tree
-clean()
-{
-  (
-  cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
-  make clean
-  )
-}
-
-# create the package
-pkg()
-{
-  (
-  cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
-  cpack &&
-  mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR"
-  )
-}
-
-# create the source package
-spkg()
-{
- (
-  cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
-  cpack --config  CPackSourceConfig.cmake &&
-  mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR"
-  )
-}
-
-# clean up
-finish()
-{
-  (
-  rm -rf "@CPACK_PACKAGE_FILE_NAME@"
-  )
-}
-
-case $1 in
-  prep)         prep    ; STATUS=$? ;;
-  mkdirs)       mkdirs  ; STATUS=$? ;;
-  conf)         conf    ; STATUS=$? ;;
-  build)        build   ; STATUS=$? ;;
-  clean)        clean   ; STATUS=$? ;;
-  package)      pkg     ; STATUS=$? ;;
-  pkg)          pkg     ; STATUS=$? ;;
-  src-package)  spkg    ; STATUS=$? ;;
-  spkg)         spkg    ; STATUS=$? ;;
-  finish)       finish  ; STATUS=$? ;;
-  all) (
-       prep && conf && build && pkg && spkg && finish ;
-       STATUS=$?
-       ) ;;
-  *) echo "Error: bad argument (all or one of these: prep mkdirs conf build clean package pkg src-package spkg finish)" ; exit 1 ;;
-esac
-exit ${STATUS}
diff --git a/share/cmake-3.6/completions/cmake b/share/cmake-3.6/completions/cmake
deleted file mode 100644
index 6061129..0000000
--- a/share/cmake-3.6/completions/cmake
+++ /dev/null
@@ -1,163 +0,0 @@
-# bash completion for cmake(1)                             -*- shell-script -*-
-
-_cmake()
-{
-    local cur prev words cword split=false
-    if type -t _init_completion >/dev/null; then
-        _init_completion -n = || return
-    else
-        # manual initialization for older bash completion versions
-        COMPREPLY=()
-        cur="${COMP_WORDS[COMP_CWORD]}"
-        prev="${COMP_WORDS[COMP_CWORD-1]}"
-    fi
-
-    # Workaround for options like -DCMAKE_BUILD_TYPE=Release
-    local prefix=
-    if [[ $cur == -D* ]]; then
-        prev=-D
-        prefix=-D
-        cur="${cur#-D}"
-    elif [[ $cur == -U* ]]; then
-        prev=-U
-        prefix=-U
-        cur="${cur#-U}"
-    fi
-
-    case "$prev" in
-        -D)
-            if [[ $cur == *=* ]]; then
-            # complete values for variables
-                local var type value
-                var="${cur%%[:=]*}"
-                value="${cur#*=}"
-
-                if [[ $cur == CMAKE_BUILD_TYPE* ]]; then # most widely used case
-                    COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
-                        MinSizeRel' -- "$value" ) )
-                    return
-                fi
-
-                if [[ $cur == *:* ]]; then
-                    type="${cur#*:}"
-                    type="${type%%=*}"
-                else # get type from cache if it's not set explicitly
-                    type=$( cmake -LA -N 2>/dev/null | grep "$var:" \
-                        2>/dev/null )
-                    type="${type#*:}"
-                    type="${type%%=*}"
-                fi
-                case "$type" in
-                    FILEPATH)
-                        cur="$value"
-                        _filedir
-                        return
-                        ;;
-                    PATH)
-                        cur="$value"
-                        _filedir -d
-                        return
-                        ;;
-                    BOOL)
-                        COMPREPLY=( $( compgen -W 'ON OFF TRUE FALSE' -- \
-                            "$value" ) )
-                        return
-                        ;;
-                    STRING|INTERNAL)
-                        # no completion available
-                        return
-                        ;;
-                esac
-            elif [[ $cur == *:* ]]; then
-            # complete types
-                local type="${cur#*:}"
-                COMPREPLY=( $( compgen -W 'FILEPATH PATH STRING BOOL INTERNAL'\
-                    -S = -- "$type" ) )
-                compopt -o nospace
-            else
-            # complete variable names
-                COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 |
-                    cut -f1 -d: )' -P "$prefix" -- "$cur" ) )
-                compopt -o nospace
-            fi
-            return
-            ;;
-        -U)
-            COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 |
-                cut -f1 -d: )' -P "$prefix" -- "$cur" ) )
-            return
-            ;;
-    esac
-
-    _split_longopt && split=true
-
-    case "$prev" in
-        -C|-P|--graphviz|--system-information)
-            _filedir
-            return
-            ;;
-        --build)
-            _filedir -d
-            return
-            ;;
-        -E)
-            COMPREPLY=( $( compgen -W "$( cmake -E help |& sed -n \
-                '/^  /{s|^  \([^ ]\{1,\}\) .*$|\1|;p}' 2>/dev/null )" \
-                -- "$cur" ) )
-            return
-            ;;
-        -G)
-            local IFS=$'\n'
-            local quoted
-            printf -v quoted %q "$cur"
-            COMPREPLY=( $( compgen -W '$( cmake --help 2>/dev/null | sed -n \
-                -e "1,/^Generators/d" \
-                -e "/^  *[^ =]/{s|^ *\([^=]*[^ =]\).*$|\1|;s| |\\\\ |g;p}" \
-                2>/dev/null )' -- "$quoted" ) )
-            return
-            ;;
-        --help-command)
-            COMPREPLY=( $( compgen -W '$( cmake --help-command-list 2>/dev/null|
-                grep -v "^cmake version " )' -- "$cur" ) )
-            return
-            ;;
-        --help-manual)
-            COMPREPLY=( $( compgen -W '$( cmake --help-manual-list 2>/dev/null|
-                grep -v "^cmake version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
-            return
-            ;;
-        --help-module)
-            COMPREPLY=( $( compgen -W '$( cmake --help-module-list 2>/dev/null|
-                grep -v "^cmake version " )' -- "$cur" ) )
-            return
-            ;;
-         --help-policy)
-            COMPREPLY=( $( compgen -W '$( cmake --help-policy-list 2>/dev/null |
-                grep -v "^cmake version " )' -- "$cur" ) )
-            return
-            ;;
-         --help-property)
-            COMPREPLY=( $( compgen -W '$( cmake --help-property-list \
-                2>/dev/null | grep -v "^cmake version " )' -- "$cur" ) )
-            return
-            ;;
-         --help-variable)
-            COMPREPLY=( $( compgen -W '$( cmake --help-variable-list \
-                2>/dev/null | grep -v "^cmake version " )' -- "$cur" ) )
-            return
-            ;;
-    esac
-
-    $split && return
-
-    if [[ "$cur" == -* ]]; then
-        COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
-        [[ $COMPREPLY == *= ]] && compopt -o nospace
-        [[ $COMPREPLY ]] && return
-    fi
-
-    _filedir
-} &&
-complete -F _cmake cmake
-
-# ex: ts=4 sw=4 et filetype=sh
diff --git a/share/cmake-3.6/editors/emacs/cmake-mode.el b/share/cmake-3.6/editors/emacs/cmake-mode.el
deleted file mode 100644
index 20def8b..0000000
--- a/share/cmake-3.6/editors/emacs/cmake-mode.el
+++ /dev/null
@@ -1,401 +0,0 @@
-;;; cmake-mode.el --- major-mode for editing CMake sources
-
-;=============================================================================
-; CMake - Cross Platform Makefile Generator
-; Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
-;
-; Distributed under the OSI-approved BSD License (the "License");
-; see accompanying file Copyright.txt for details.
-;
-; This software is distributed WITHOUT ANY WARRANTY; without even the
-; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-; See the License for more information.
-;=============================================================================
-
-;------------------------------------------------------------------------------
-
-;;; Commentary:
-
-;; Provides syntax highlighting and indentation for CMakeLists.txt and
-;; *.cmake source files.
-;;
-;; Add this code to your .emacs file to use the mode:
-;;
-;;  (setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path))
-;;  (require 'cmake-mode)
-
-;------------------------------------------------------------------------------
-
-;;; Code:
-;;
-;; cmake executable variable used to run cmake --help-command
-;; on commands in cmake-mode
-;;
-;; cmake-command-help Written by James Bigler
-;;
-
-(defcustom cmake-mode-cmake-executable "cmake"
-  "*The name of the cmake executable.
-
-This can be either absolute or looked up in $PATH.  You can also
-set the path with these commands:
- (setenv \"PATH\" (concat (getenv \"PATH\") \";C:\\\\Program Files\\\\CMake 2.8\\\\bin\"))
- (setenv \"PATH\" (concat (getenv \"PATH\") \":/usr/local/cmake/bin\"))"
-  :type 'file
-  :group 'cmake)
-
-;; Keywords
-(defconst cmake-keywords-block-open '("IF" "MACRO" "FOREACH" "ELSE" "ELSEIF" "WHILE" "FUNCTION"))
-(defconst cmake-keywords-block-close '("ENDIF" "ENDFOREACH" "ENDMACRO" "ELSE" "ELSEIF" "ENDWHILE" "ENDFUNCTION"))
-(defconst cmake-keywords
-  (let ((kwds (append cmake-keywords-block-open cmake-keywords-block-close nil)))
-    (delete-dups kwds)))
-
-;; Regular expressions used by line indentation function.
-;;
-(defconst cmake-regex-blank "^[ \t]*$")
-(defconst cmake-regex-comment "#.*")
-(defconst cmake-regex-paren-left "(")
-(defconst cmake-regex-paren-right ")")
-(defconst cmake-regex-argument-quoted
-  (rx ?\" (* (or (not (any ?\" ?\\)) (and ?\\ anything))) ?\"))
-(defconst cmake-regex-argument-unquoted
-  (rx (or (not (any space "()#\"\\\n")) (and ?\\ nonl))
-      (* (or (not (any space "()#\\\n")) (and ?\\ nonl)))))
-(defconst cmake-regex-token
-  (rx-to-string `(group (or (regexp ,cmake-regex-comment)
-                            ?( ?)
-                            (regexp ,cmake-regex-argument-unquoted)
-                            (regexp ,cmake-regex-argument-quoted)))))
-(defconst cmake-regex-indented
-  (rx-to-string `(and bol (* (group (or (regexp ,cmake-regex-token) (any space ?\n)))))))
-(defconst cmake-regex-block-open
-  (rx-to-string `(and symbol-start (or ,@(append cmake-keywords-block-open
-                                        (mapcar 'downcase cmake-keywords-block-open))) symbol-end)))
-(defconst cmake-regex-block-close
-  (rx-to-string `(and symbol-start (or ,@(append cmake-keywords-block-close
-                                        (mapcar 'downcase cmake-keywords-block-close))) symbol-end)))
-(defconst cmake-regex-close
-  (rx-to-string `(and bol (* space) (regexp ,cmake-regex-block-close)
-                      (* space) (regexp ,cmake-regex-paren-left))))
-
-;------------------------------------------------------------------------------
-
-;; Line indentation helper functions
-
-(defun cmake-line-starts-inside-string ()
-  "Determine whether the beginning of the current line is in a string."
-  (save-excursion
-    (beginning-of-line)
-    (let ((parse-end (point)))
-      (goto-char (point-min))
-      (nth 3 (parse-partial-sexp (point) parse-end))
-      )
-    )
-  )
-
-(defun cmake-find-last-indented-line ()
-  "Move to the beginning of the last line that has meaningful indentation."
-  (let ((point-start (point))
-        region)
-    (forward-line -1)
-    (setq region (buffer-substring-no-properties (point) point-start))
-    (while (and (not (bobp))
-                (or (looking-at cmake-regex-blank)
-                    (cmake-line-starts-inside-string)
-                    (not (and (string-match cmake-regex-indented region)
-                              (= (length region) (match-end 0))))))
-      (forward-line -1)
-      (setq region (buffer-substring-no-properties (point) point-start))
-      )
-    )
-  )
-
-;------------------------------------------------------------------------------
-
-;;
-;; Line indentation function.
-;;
-(defun cmake-indent ()
-  "Indent current line as CMake code."
-  (interactive)
-  (unless (cmake-line-starts-inside-string)
-    (if (bobp)
-        (cmake-indent-line-to 0)
-      (let (cur-indent)
-        (save-excursion
-          (beginning-of-line)
-          (let ((point-start (point))
-                (case-fold-search t)  ;; case-insensitive
-                token)
-            ; Search back for the last indented line.
-            (cmake-find-last-indented-line)
-            ; Start with the indentation on this line.
-            (setq cur-indent (current-indentation))
-            ; Search forward counting tokens that adjust indentation.
-            (while (re-search-forward cmake-regex-token point-start t)
-              (setq token (match-string 0))
-              (when (or (string-match (concat "^" cmake-regex-paren-left "$") token)
-                        (and (string-match cmake-regex-block-open token)
-                             (looking-at (concat "[ \t]*" cmake-regex-paren-left))))
-                (setq cur-indent (+ cur-indent cmake-tab-width)))
-              (when (string-match (concat "^" cmake-regex-paren-right "$") token)
-                (setq cur-indent (- cur-indent cmake-tab-width)))
-              )
-            (goto-char point-start)
-            ;; If next token closes the block, decrease indentation
-            (when (looking-at cmake-regex-close)
-              (setq cur-indent (- cur-indent cmake-tab-width))
-              )
-            )
-          )
-        ; Indent this line by the amount selected.
-        (cmake-indent-line-to (max cur-indent 0))
-        )
-      )
-    )
-  )
-
-(defun cmake-point-in-indendation ()
-  (string-match "^[ \\t]*$" (buffer-substring (point-at-bol) (point))))
-
-(defun cmake-indent-line-to (column)
-  "Indent the current line to COLUMN.
-If point is within the existing indentation it is moved to the end of
-the indentation.  Otherwise it retains the same position on the line"
-  (if (cmake-point-in-indendation)
-      (indent-line-to column)
-    (save-excursion (indent-line-to column))))
-
-;------------------------------------------------------------------------------
-
-;;
-;; Helper functions for buffer
-;;
-(defun cmake-unscreamify-buffer ()
-  "Convert all CMake commands to lowercase in buffer."
-  (interactive)
-  (save-excursion
-    (goto-char (point-min))
-    (while (re-search-forward "^\\([ \t]*\\)\\_<\\(\\(?:\\w\\|\\s_\\)+\\)\\_>\\([ \t]*(\\)" nil t)
-      (replace-match
-       (concat
-        (match-string 1)
-        (downcase (match-string 2))
-        (match-string 3))
-       t))
-    )
-  )
-
-;------------------------------------------------------------------------------
-
-;;
-;; Keyword highlighting regex-to-face map.
-;;
-(defconst cmake-font-lock-keywords
-  `((,(rx-to-string `(and symbol-start
-                          (or ,@cmake-keywords
-                              ,@(mapcar #'downcase cmake-keywords))
-                          symbol-end))
-     . font-lock-keyword-face)
-    (,(rx symbol-start (group (+ (or word (syntax symbol)))) (* blank) ?\()
-     1 font-lock-function-name-face)
-    (,(rx "${" (group (+(any alnum "-_+/."))) "}")
-     1 font-lock-variable-name-face t)
-    )
-  "Highlighting expressions for CMake mode.")
-
-;------------------------------------------------------------------------------
-
-;; Syntax table for this mode.
-(defvar cmake-mode-syntax-table nil
-  "Syntax table for CMake mode.")
-(or cmake-mode-syntax-table
-    (setq cmake-mode-syntax-table
-          (let ((table (make-syntax-table)))
-            (modify-syntax-entry ?\(  "()" table)
-            (modify-syntax-entry ?\)  ")(" table)
-            (modify-syntax-entry ?# "<" table)
-            (modify-syntax-entry ?\n ">" table)
-            (modify-syntax-entry ?$ "'" table)
-            table)))
-
-;;
-;; User hook entry point.
-;;
-(defvar cmake-mode-hook nil)
-
-;;
-;; Indentation increment.
-;;
-(defcustom cmake-tab-width 2
-  "Number of columns to indent cmake blocks"
-  :type 'integer)
-
-;------------------------------------------------------------------------------
-
-;; For compatibility with Emacs < 24
-(defalias 'cmake--parent-mode
-  (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
-
-;;------------------------------------------------------------------------------
-;; Mode definition.
-;;
-;;;###autoload
-(define-derived-mode cmake-mode cmake--parent-mode "CMake"
-  "Major mode for editing CMake source files."
-
-  ; Setup font-lock mode.
-  (set (make-local-variable 'font-lock-defaults) '(cmake-font-lock-keywords))
-  ; Setup indentation function.
-  (set (make-local-variable 'indent-line-function) 'cmake-indent)
-  ; Setup comment syntax.
-  (set (make-local-variable 'comment-start) "#"))
-
-; Help mode starts here
-
-
-;;;###autoload
-(defun cmake-command-run (type &optional topic buffer)
-  "Runs the command cmake with the arguments specified.  The
-optional argument topic will be appended to the argument list."
-  (interactive "s")
-  (let* ((bufname (if buffer buffer (concat "*CMake" type (if topic "-") topic "*")))
-         (buffer  (if (get-buffer bufname) (get-buffer bufname) (generate-new-buffer bufname)))
-         (command (concat cmake-mode-cmake-executable " " type " " topic))
-         ;; Turn of resizing of mini-windows for shell-command.
-         (resize-mini-windows nil)
-         )
-    (shell-command command buffer)
-    (save-selected-window
-      (select-window (display-buffer buffer 'not-this-window))
-      (cmake-mode)
-      (toggle-read-only t))
-    )
-  )
-
-;;;###autoload
-(defun cmake-help-list-commands ()
-  "Prints out a list of the cmake commands."
-  (interactive)
-  (cmake-command-run "--help-command-list")
-  )
-
-(defvar cmake-commands '() "List of available topics for --help-command.")
-(defvar cmake-help-command-history nil "Command read history.")
-(defvar cmake-modules '() "List of available topics for --help-module.")
-(defvar cmake-help-module-history nil "Module read history.")
-(defvar cmake-variables '() "List of available topics for --help-variable.")
-(defvar cmake-help-variable-history nil "Variable read history.")
-(defvar cmake-properties '() "List of available topics for --help-property.")
-(defvar cmake-help-property-history nil "Property read history.")
-(defvar cmake-help-complete-history nil "Complete help read history.")
-(defvar cmake-string-to-list-symbol
-  '(("command" cmake-commands cmake-help-command-history)
-    ("module" cmake-modules cmake-help-module-history)
-    ("variable"  cmake-variables cmake-help-variable-history)
-    ("property" cmake-properties cmake-help-property-history)
-    ))
-
-(defun cmake-get-list (listname)
-  "If the value of LISTVAR is nil, run cmake --help-LISTNAME-list
-and store the result as a list in LISTVAR."
-  (let ((listvar (car (cdr (assoc listname cmake-string-to-list-symbol)))))
-    (if (not (symbol-value listvar))
-        (let ((temp-buffer-name "*CMake Temporary*"))
-          (save-window-excursion
-            (cmake-command-run (concat "--help-" listname "-list") nil temp-buffer-name)
-            (with-current-buffer temp-buffer-name
-              ; FIXME: Ignore first line if it is "cmake version ..." from CMake < 3.0.
-              (set listvar (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n" t)))))
-      (symbol-value listvar)
-      ))
-  )
-
-(require 'thingatpt)
-(defun cmake-symbol-at-point ()
-  (let ((symbol (symbol-at-point)))
-    (and (not (null symbol))
-         (symbol-name symbol))))
-
-(defun cmake-help-type (type)
-  (let* ((default-entry (cmake-symbol-at-point))
-         (history (car (cdr (cdr (assoc type cmake-string-to-list-symbol)))))
-         (input (completing-read
-                 (format "CMake %s: " type) ; prompt
-                 (cmake-get-list type) ; completions
-                 nil ; predicate
-                 t   ; require-match
-                 default-entry ; initial-input
-                 history
-                 )))
-    (if (string= input "")
-        (error "No argument given")
-      input))
-  )
-
-;;;###autoload
-(defun cmake-help-command ()
-  "Prints out the help message for the command the cursor is on."
-  (interactive)
-  (cmake-command-run "--help-command" (cmake-help-type "command") "*CMake Help*"))
-
-;;;###autoload
-(defun cmake-help-module ()
-  "Prints out the help message for the module the cursor is on."
-  (interactive)
-  (cmake-command-run "--help-module" (cmake-help-type "module") "*CMake Help*"))
-
-;;;###autoload
-(defun cmake-help-variable ()
-  "Prints out the help message for the variable the cursor is on."
-  (interactive)
-  (cmake-command-run "--help-variable" (cmake-help-type "variable") "*CMake Help*"))
-
-;;;###autoload
-(defun cmake-help-property ()
-  "Prints out the help message for the property the cursor is on."
-  (interactive)
-  (cmake-command-run "--help-property" (cmake-help-type "property") "*CMake Help*"))
-
-;;;###autoload
-(defun cmake-help ()
-  "Queries for any of the four available help topics and prints out the approriate page."
-  (interactive)
-  (let* ((default-entry (cmake-symbol-at-point))
-         (command-list (cmake-get-list "command"))
-         (variable-list (cmake-get-list "variable"))
-         (module-list (cmake-get-list "module"))
-         (property-list (cmake-get-list "property"))
-         (all-words (append command-list variable-list module-list property-list))
-         (input (completing-read
-                 "CMake command/module/variable/property: " ; prompt
-                 all-words ; completions
-                 nil ; predicate
-                 t   ; require-match
-                 default-entry ; initial-input
-                 'cmake-help-complete-history
-                 )))
-    (if (string= input "")
-        (error "No argument given")
-      (if (member input command-list)
-          (cmake-command-run "--help-command" input "*CMake Help*")
-        (if (member input variable-list)
-            (cmake-command-run "--help-variable" input "*CMake Help*")
-          (if (member input module-list)
-              (cmake-command-run "--help-module" input "*CMake Help*")
-            (if (member input property-list)
-                (cmake-command-run "--help-property" input "*CMake Help*")
-              (error "Not a know help topic.") ; this really should not happen
-              ))))))
-  )
-
-;;;###autoload
-(progn
-  (add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode))
-  (add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode)))
-
-; This file provides cmake-mode.
-(provide 'cmake-mode)
-
-;;; cmake-mode.el ends here
diff --git a/share/cmake-3.6/editors/vim/cmake-help.vim b/share/cmake-3.6/editors/vim/cmake-help.vim
deleted file mode 100644
index 17cfa83..0000000
--- a/share/cmake-3.6/editors/vim/cmake-help.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-nmap ,hc :call OpenCmakeHelp()<CR>
-
-function! OpenCmakeHelp()
-    let s = getline( '.' )
-    let i = col( '.' ) - 1
-    while i > 0 && strpart( s, i, 1 ) =~ '[A-Za-z0-9_]'
-        let i = i - 1
-    endwhile
-    while i < col('$') && strpart( s, i, 1 ) !~ '[A-Za-z0-9_]'
-        let i = i + 1
-    endwhile
-    let start = match( s, '[A-Za-z0-9_]\+', i )
-    let end = matchend( s, '[A-Za-z0-9_]\+', i )
-    let ident = strpart( s, start, end - start )
-    execute "vertical new"
-    execute "%!cmake --help-command ".ident
-    set nomodified
-    set readonly
-endfunction
-
-autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in nmap <F1> :call OpenCmakeHelp()<CR>
diff --git a/share/cmake-3.6/editors/vim/cmake-indent.vim b/share/cmake-3.6/editors/vim/cmake-indent.vim
deleted file mode 100644
index fa088e4..0000000
--- a/share/cmake-3.6/editors/vim/cmake-indent.vim
+++ /dev/null
@@ -1,93 +0,0 @@
-" =============================================================================
-"
-"   Program:   CMake - Cross-Platform Makefile Generator
-"   Module:    $RCSfile$
-"   Language:  VIM
-"   Date:      $Date$
-"   Version:   $Revision$
-"
-" =============================================================================
-
-" Vim indent file
-" Language:     CMake (ft=cmake)
-" Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
-" Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
-" Last Change:  $Date$
-" Version:      $Revision$
-"
-" Licence:      The CMake license applies to this file. See
-"               https://cmake.org/licensing
-"               This implies that distribution with Vim is allowed
-
-if exists("b:did_indent")
-  finish
-endif
-let b:did_indent = 1
-
-setlocal indentexpr=CMakeGetIndent(v:lnum)
-setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
-
-" Only define the function once.
-if exists("*CMakeGetIndent")
-  finish
-endif
-
-fun! CMakeGetIndent(lnum)
-  let this_line = getline(a:lnum)
-
-  " Find a non-blank line above the current line.
-  let lnum = a:lnum
-  let lnum = prevnonblank(lnum - 1)
-  let previous_line = getline(lnum)
-
-  " Hit the start of the file, use zero indent.
-  if lnum == 0
-    return 0
-  endif
-
-  let ind = indent(lnum)
-
-  let or = '\|'
-  " Regular expressions used by line indentation function.
-  let cmake_regex_comment = '#.*'
-  let cmake_regex_identifier = '[A-Za-z][A-Za-z0-9_]*'
-  let cmake_regex_quoted = '"\([^"\\]\|\\.\)*"'
-  let cmake_regex_arguments = '\(' . cmake_regex_quoted .
-                    \       or . '\$(' . cmake_regex_identifier . ')' .
-                    \       or . '[^()\\#"]' . or . '\\.' . '\)*'
-
-  let cmake_indent_comment_line = '^\s*' . cmake_regex_comment
-  let cmake_indent_blank_regex = '^\s*$'
-  let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier .
-                    \           '\s*(' . cmake_regex_arguments .
-                    \           '\(' . cmake_regex_comment . '\)\?$'
-
-  let cmake_indent_close_regex = '^' . cmake_regex_arguments .
-                    \            ')\s*' .
-                    \            '\(' . cmake_regex_comment . '\)\?$'
-
-  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*('
-  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*('
-
-  " Add
-  if previous_line =~? cmake_indent_comment_line " Handle comments
-    let ind = ind
-  else
-    if previous_line =~? cmake_indent_begin_regex
-      let ind = ind + &sw
-    endif
-    if previous_line =~? cmake_indent_open_regex
-      let ind = ind + &sw
-    endif
-  endif
-
-  " Subtract
-  if this_line =~? cmake_indent_end_regex
-    let ind = ind - &sw
-  endif
-  if previous_line =~? cmake_indent_close_regex
-    let ind = ind - &sw
-  endif
-
-  return ind
-endfun
diff --git a/share/cmake-3.6/editors/vim/cmake-syntax.vim b/share/cmake-3.6/editors/vim/cmake-syntax.vim
deleted file mode 100644
index 624a8c4..0000000
--- a/share/cmake-3.6/editors/vim/cmake-syntax.vim
+++ /dev/null
@@ -1,89 +0,0 @@
-" =============================================================================
-"
-"   Program:   CMake - Cross-Platform Makefile Generator
-"   Module:    $RCSfile$
-"   Language:  VIM
-"   Date:      $Date$
-"   Version:   $Revision$
-"
-" =============================================================================
-
-" Vim syntax file
-" Language:     CMake
-" Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
-" Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
-" Last Change:  $Date$
-" Version:      $Revision$
-"
-" Licence:      The CMake license applies to this file. See
-"               https://cmake.org/licensing
-"               This implies that distribution with Vim is allowed
-
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
-  finish
-endif
-
-syn case ignore
-syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
-syn region cmakeComment start="#" end="$" contains=cmakeTodo
-syn region cmakeRegistry start=/\[/ end=/]/
-            \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped
-syn region cmakeVariableValue start=/\${/ end=/}/
-            \ contained oneline contains=CONTAINED,cmakeTodo
-syn region cmakeEnvironment start=/\$ENV{/ end=/}/
-            \ contained oneline contains=CONTAINED,cmakeTodo
-syn region cmakeString start=/"/ end=/"/
-            \ contains=CONTAINED,cmakeTodo,cmakeOperators
-syn region cmakeArguments start=/(/ end=/)/
-            \ contains=ALLBUT,cmakeArguments,cmakeTodo
-syn keyword cmakeSystemVariables
-            \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
-syn keyword cmakeOperators
-            \ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
-            \ contained
-syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
-           \ nextgroup=cmakeArguments
-
-" The keywords are generated as:  cmake --help-command-list | tr "\n" " " | tr "[:lower:]" "[:upper:]"
-syn keyword cmakeStatement
-            \ ADD_COMPILE_OPTIONS ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BREAK BUILD_COMMAND BUILD_NAME CMAKE_HOST_SYSTEM_INFORMATION CMAKE_MINIMUM_REQUIRED CMAKE_POLICY CONFIGURE_FILE CREATE_TEST_SOURCELIST CTEST_BUILD CTEST_CONFIGURE CTEST_COVERAGE CTEST_EMPTY_BINARY_DIRECTORY CTEST_MEMCHECK CTEST_READ_CUSTOM_FILES CTEST_RUN_SCRIPT CTEST_SLEEP CTEST_START CTEST_SUBMIT CTEST_TEST CTEST_UPDATE CTEST_UPLOAD DEFINE_PROPERTY ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_PROPERTY GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS RETURN SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_PROPERTY SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_COMPILE_DEFINITIONS TARGET_COMPILE_FEATURES TARGET_COMPILE_OPTIONS TARGET_INCLUDE_DIRECTORIES TARGET_LINK_LIBRARIES TARGET_SOURCES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VARIABLE_WATCH WHILE WRITE_FILE
-            \ nextgroup=cmakeArguments
-syn keyword cmakeTodo
-            \ TODO FIXME XXX
-            \ contained
-
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_cmake_syntax_inits")
-  if version < 508
-    let did_cmake_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink cmakeStatement Statement
-  HiLink cmakeComment Comment
-  HiLink cmakeString String
-  HiLink cmakeVariableValue Type
-  HiLink cmakeRegistry Underlined
-  HiLink cmakeArguments Identifier
-  HiLink cmakeArgument Constant
-  HiLink cmakeEnvironment Special
-  HiLink cmakeOperators Operator
-  HiLink cmakeMacro PreProc
-  HiLink cmakeError Error
-  HiLink cmakeTodo TODO
-  HiLink cmakeEscaped Special
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "cmake"
-
-"EOF"
diff --git a/share/cmake-3.6/include/cmCPluginAPI.h b/share/cmake-3.6/include/cmCPluginAPI.h
deleted file mode 100644
index 4d9a9a7..0000000
--- a/share/cmake-3.6/include/cmCPluginAPI.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/*============================================================================
-  CMake - Cross Platform Makefile Generator
-  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
-
-  Distributed under the OSI-approved BSD License (the "License");
-  see accompanying file Copyright.txt for details.
-
-  This software is distributed WITHOUT ANY WARRANTY; without even the
-  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the License for more information.
-============================================================================*/
-/* This header file defines the API that loadable commands can use. In many
-   of these commands C++ instances of cmMakefile of cmSourceFile are passed
-   in as arguments or returned. In these cases they are passed as a void *
-   argument. In the function prototypes mf is used to represent a makefile
-   and sf is used to represent a source file. The functions are grouped
-   loosely into four groups 1) Utility 2) cmMakefile 3) cmSourceFile 4)
-   cmSystemTools. Within each grouping functions are listed alphabetically */
-/*=========================================================================*/
-#ifndef cmCPluginAPI_h
-#define cmCPluginAPI_h
-
-#define CMAKE_VERSION_MAJOR 2
-#define CMAKE_VERSION_MINOR 5
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __WATCOMC__
-#define CCONV __cdecl
-#else
-#define CCONV
-#endif
-/*=========================================================================
-this is the structure of function entry points that a plugin may call. This
-structure must be kept in sync with the static decaled at the bottom of
-cmCPLuginAPI.cxx
-=========================================================================*/
-typedef struct
-{
-  /*=========================================================================
-  Here we define the set of functions that a plugin may call. The first goup
-  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
-     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 */
-  int(CCONV* GetTotalArgumentSize)(int argc, char** argv);
-  /* 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
-     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 */
-  void(CCONV* SetError)(void* info, const char* err);
-
-  /*=========================================================================
-  The following functions all directly map to methods in the cmMakefile
-  class. See cmMakefile.h for descriptions of what each method does. All of
-  these methods take the void * makefile pointer as their first argument.
-  =========================================================================*/
-  void(CCONV* AddCacheDefinition)(void* mf, const char* name,
-                                  const char* value, const char* doc,
-                                  int cachetype);
-  void(CCONV* AddCustomCommand)(void* mf, const char* source,
-                                const char* command, int numArgs,
-                                const char** args, int numDepends,
-                                const char** depends, int numOutputs,
-                                const char** outputs, const char* target);
-  void(CCONV* AddDefineFlag)(void* mf, const char* definition);
-  void(CCONV* AddDefinition)(void* mf, const char* name, const char* value);
-  void(CCONV* AddExecutable)(void* mf, const char* exename, int numSrcs,
-                             const char** srcs, int win32);
-  void(CCONV* AddLibrary)(void* mf, const char* libname, int shared,
-                          int numSrcs, const char** srcs);
-  void(CCONV* AddLinkDirectoryForTarget)(void* mf, const char* tgt,
-                                         const char* d);
-  void(CCONV* AddLinkLibraryForTarget)(void* mf, const char* tgt,
-                                       const char* libname, int libtype);
-  void(CCONV* AddUtilityCommand)(void* mf, const char* utilityName,
-                                 const char* command, const char* arguments,
-                                 int all, int numDepends, const char** depends,
-                                 int numOutputs, const char** outputs);
-  int(CCONV* CommandExists)(void* mf, const char* name);
-  int(CCONV* ExecuteCommand)(void* mf, const char* name, int numArgs,
-                             const char** args);
-  void(CCONV* ExpandSourceListArguments)(void* mf, int argc, const char** argv,
-                                         int* resArgc, char*** resArgv,
-                                         unsigned int startArgumentIndex);
-  char*(CCONV* ExpandVariablesInString)(void* mf, const char* source,
-                                        int escapeQuotes, int atOnly);
-  unsigned int(CCONV* GetCacheMajorVersion)(void* mf);
-  unsigned int(CCONV* GetCacheMinorVersion)(void* mf);
-  const char*(CCONV* GetCurrentDirectory)(void* mf);
-  const char*(CCONV* GetCurrentOutputDirectory)(void* mf);
-  const char*(CCONV* GetDefinition)(void* mf, const char* def);
-  const char*(CCONV* GetHomeDirectory)(void* mf);
-  const char*(CCONV* GetHomeOutputDirectory)(void* mf);
-  unsigned int(CCONV* GetMajorVersion)(void* mf);
-  unsigned int(CCONV* GetMinorVersion)(void* mf);
-  const char*(CCONV* GetProjectName)(void* mf);
-  const char*(CCONV* GetStartDirectory)(void* mf);
-  const char*(CCONV* GetStartOutputDirectory)(void* mf);
-  int(CCONV* IsOn)(void* mf, const char* name);
-
-  /*=========================================================================
-  The following functions are designed to operate or manipulate
-  cmSourceFiles. Please see cmSourceFile.h for additional information on many
-  of these methods. Some of these methods are in cmMakefile.h.
-  =========================================================================*/
-  void*(CCONV* AddSource)(void* mf, void* sf);
-  void*(CCONV* CreateSourceFile)();
-  void(CCONV* DestroySourceFile)(void* sf);
-  void*(CCONV* GetSource)(void* mf, const char* sourceName);
-  void(CCONV* SourceFileAddDepend)(void* sf, const char* depend);
-  const char*(CCONV* SourceFileGetProperty)(void* sf, const char* prop);
-  int(CCONV* SourceFileGetPropertyAsBool)(void* sf, const char* prop);
-  const char*(CCONV* SourceFileGetSourceName)(void* sf);
-  const char*(CCONV* SourceFileGetFullPath)(void* sf);
-  void(CCONV* SourceFileSetName)(void* sf, const char* name, const char* dir,
-                                 int numSourceExtensions,
-                                 const char** sourceExtensions,
-                                 int numHeaderExtensions,
-                                 const char** headerExtensions);
-  void(CCONV* SourceFileSetName2)(void* sf, const char* name, const char* dir,
-                                  const char* ext, int headerFileOnly);
-  void(CCONV* SourceFileSetProperty)(void* sf, const char* prop,
-                                     const char* value);
-
-  /*=========================================================================
-  The following methods are from cmSystemTools.h see that file for specific
-  documentation on each method.
-  =========================================================================*/
-  char*(CCONV* Capitalized)(const char*);
-  void(CCONV* CopyFileIfDifferent)(const char* f1, const char* f2);
-  char*(CCONV* GetFilenameWithoutExtension)(const char*);
-  char*(CCONV* GetFilenamePath)(const char*);
-  void(CCONV* RemoveFile)(const char* f1);
-  void(CCONV* Free)(void*);
-
-  /*=========================================================================
-    The following are new functions added after 1.6
-  =========================================================================*/
-  void(CCONV* AddCustomCommandToOutput)(void* mf, const char* output,
-                                        const char* command, int numArgs,
-                                        const char** args,
-                                        const char* main_dependency,
-                                        int numDepends, const char** depends);
-  void(CCONV* AddCustomCommandToTarget)(void* mf, const char* target,
-                                        const char* command, int numArgs,
-                                        const char** args, int commandType);
-
-  /* display status information */
-  void(CCONV* DisplaySatus)(void* info, const char* message);
-
-  /* new functions added after 2.4 */
-  void*(CCONV* CreateNewSourceFile)(void* mf);
-  void(CCONV* DefineSourceFileProperty)(void* mf, const char* name,
-                                        const char* briefDocs,
-                                        const char* longDocs, int chained);
-
-  /* this is the end of the C function stub API structure */
-} cmCAPI;
-
-/*=========================================================================
-CM_PLUGIN_EXPORT should be used by plugins
-=========================================================================*/
-#ifdef _WIN32
-#define CM_PLUGIN_EXPORT __declspec(dllexport)
-#else
-#define CM_PLUGIN_EXPORT
-#endif
-
-/*=========================================================================
-define the different types of cache entries, see cmCacheManager.h for more
-information
-=========================================================================*/
-#define CM_CACHE_BOOL 0
-#define CM_CACHE_PATH 1
-#define CM_CACHE_FILEPATH 2
-#define CM_CACHE_STRING 3
-#define CM_CACHE_INTERNAL 4
-#define CM_CACHE_STATIC 5
-
-/*=========================================================================
-define the different types of compiles a library may be
-=========================================================================*/
-#define CM_LIBRARY_GENERAL 0
-#define CM_LIBRARY_DEBUG 1
-#define CM_LIBRARY_OPTIMIZED 2
-
-/*=========================================================================
-define the different types of custom commands for a target
-=========================================================================*/
-#define CM_PRE_BUILD 0
-#define CM_PRE_LINK 1
-#define CM_POST_BUILD 2
-
-/*=========================================================================
-Finally we define the key data structures and function prototypes
-=========================================================================*/
-typedef const char*(CCONV* CM_DOC_FUNCTION)();
-typedef int(CCONV* CM_INITIAL_PASS_FUNCTION)(void* info, void* mf, int argc,
-                                             char* []);
-typedef void(CCONV* CM_FINAL_PASS_FUNCTION)(void* info, void* mf);
-typedef void(CCONV* CM_DESTRUCTOR_FUNCTION)(void* info);
-
-typedef struct
-{
-  unsigned long reserved1; /* Reserved for future use.  DO NOT USE.  */
-  unsigned long reserved2; /* Reserved for future use.  DO NOT USE.  */
-  cmCAPI* CAPI;
-  int m_Inherited; /* this ivar is no longer used in CMake 2.2 or later */
-  CM_INITIAL_PASS_FUNCTION InitialPass;
-  CM_FINAL_PASS_FUNCTION FinalPass;
-  CM_DESTRUCTOR_FUNCTION Destructor;
-  CM_DOC_FUNCTION GetTerseDocumentation;
-  CM_DOC_FUNCTION GetFullDocumentation;
-  const char* Name;
-  char* Error;
-  void* ClientData;
-} cmLoadedCommandInfo;
-
-typedef void(CCONV* CM_INIT_FUNCTION)(cmLoadedCommandInfo*);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/source.properties b/source.properties
index 14ee5d0..62d96bd 100644
--- a/source.properties
+++ b/source.properties
@@ -1,3 +1,3 @@
-Pkg.Revision=3.6.4111459
-Pkg.Desc=CMake 3.6.4111459
-Pkg.Path=cmake;3.6.4111459
+Pkg.Revision=3.10.2
+Pkg.Path=cmake;3.10.2.5078762
+Pkg.Desc=CMake 3.10.2.5078762